vendor: 78 bytes, lines 1-3
1/******/ (() => { // webpackBootstrap 2/******/ var __webpack_modules__ = ({ 3
vendor: 387,171 bytes, lines 4-10072
4/***/ "./node_modules/@johmun/vue-tags-input/dist/vue-tags-input.js": 5/*!********************************************************************!*\ 6 !*** ./node_modules/@johmun/vue-tags-input/dist/vue-tags-input.js ***! 7 \********************************************************************/ 8/***/ ((module) => { 9 10!function(A,t){ true?module.exports=t():0}(window,function(){return function(A){var t={};function e(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return A[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=A,e.c=t,e.d=function(A,t,n){e.o(A,t)||Object.defineProperty(A,t,{enumerable:!0,get:n})},e.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},e.t=function(A,t){if(1&t&&(A=e(A)),8&t)return A;if(4&t&&"object"==typeof A&&A&&A.__esModule)return A;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:A}),2&t&&"string"!=typeof A)for(var i in A)e.d(n,i,function(t){return A[t]}.bind(null,i));return n},e.n=function(A){var t=A&&A.__esModule?function(){return A.default}:function(){return A};return e.d(t,"a",t),t},e.o=function(A,t){return Object.prototype.hasOwnProperty.call(A,t)},e.p="/dist/",e(e.s=6)}([function(A,t,e){var n=e(8);"string"==typeof n&&(n=[[A.i,n,""]]),n.locals&&(A.exports=n.locals);(0,e(4).default)("7ec05f6c",n,!1,{})},function(A,t,e){var n=e(10);"string"==typeof n&&(n=[[A.i,n,""]]),n.locals&&(A.exports=n.locals);(0,e(4).default)("3453d19d",n,!1,{})},function(A,t,e){"use strict";A.exports=function(A){var t=[];return t.toString=function(){return this.map(function(t){var e=function(A,t){var e=A[1]||"",n=A[3];if(!n)return e;if(t&&"function"==typeof btoa){var i=(r=n,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */"),a=n.sources.map(function(A){return"/*# sourceURL="+n.sourceRoot+A+" */"});return[e].concat(a).concat([i]).join("\n")}var r;return[e].join("\n")}(t,A);return t[2]?"@media "+t[2]+"{"+e+"}":e}).join("")},t.i=function(A,e){"string"==typeof A&&(A=[[null,A,""]]);for(var n={},i=0;i<this.length;i++){var a=this[i][0];null!=a&&(n[a]=!0)}for(i=0;i<A.length;i++){var r=A[i];null!=r[0]&&n[r[0]]||(e&&!r[2]?r[2]=e:e&&(r[2]="("+r[2]+") and ("+e+")"),t.push(r))}},t}},function(A,t){A.exports="data:application/vnd.ms-fontobject;base64,aAUAAMQEAAABAAIAAAAAAAAAAAAAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAUdPJHwAAAAAAAAAAAAAAAAAAAAAAAA4AaQBjAG8AbQBvAG8AbgAAAA4AUgBlAGcAdQBsAGEAcgAAABYAVgBlAHIAcwBpAG8AbgAgADEALgAwAAAADgBpAGMAbwBtAG8AbwBuAAAAAAAAAQAAAAsAgAADADBPUy8yDxIFrAAAALwAAABgY21hcBdW0okAAAEcAAAAVGdhc3AAAAAQAAABcAAAAAhnbHlmpZ+jMAAAAXgAAAD8aGVhZA/FmAgAAAJ0AAAANmhoZWEHgAPIAAACrAAAACRobXR4EgABvgAAAtAAAAAcbG9jYQCSAOIAAALsAAAAEG1heHAACQAfAAAC/AAAACBuYW1lmUoJ+wAAAxwAAAGGcG9zdAADAAAAAASkAAAAIAADA4ABkAAFAAACmQLMAAAAjwKZAswAAAHrADMBCQAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAOkCA8D/wABAA8AAQAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAMAAAAcAAMAAQAAABwABAA4AAAACgAIAAIAAgABACDpAv/9//8AAAAAACDpAP/9//8AAf/jFwQAAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAVgEBA74CgQAcAAABMhceARcWFwcmJy4BJyYjIgYHFyERFzY3PgE3NgIWSkNDbykpF2QQIB9VMzQ5P3AtnP6AmB0iIkspKAJVFxhSODlCIDMrKz4REislmgGAmhkVFBwICAABANYAgQMqAtUACwAAAQcXBycHJzcnNxc3Ayru7jzu7jzu7jzu7gKZ7u487u487u487u4AAQCSAIEDgAK9AAUAACUBFwEnNwGAAcQ8/gDuPPkBxDz+AO48AAAAAAEAAAAAAAAfydNRXw889QALBAAAAAAA1nUqGwAAAADWdSobAAAAAAO+AtUAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAA74AAQAAAAAAAAAAAAAAAAAAAAcEAAAAAAAAAAAAAAACAAAABAAAVgQAANYEAACSAAAAAAAKABQAHgBQAGoAfgABAAAABwAdAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEABwAAAAEAAAAAAAIABwBgAAEAAAAAAAMABwA2AAEAAAAAAAQABwB1AAEAAAAAAAUACwAVAAEAAAAAAAYABwBLAAEAAAAAAAoAGgCKAAMAAQQJAAEADgAHAAMAAQQJAAIADgBnAAMAAQQJAAMADgA9AAMAAQQJAAQADgB8AAMAAQQJAAUAFgAgAAMAAQQJAAYADgBSAAMAAQQJAAoANACkaWNvbW9vbgBpAGMAbwBtAG8AbwBuVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwaWNvbW9vbgBpAGMAbwBtAG8AbwBuaWNvbW9vbgBpAGMAbwBtAG8AbwBuUmVndWxhcgBSAGUAZwB1AGwAYQByaWNvbW9vbgBpAGMAbwBtAG8AbwBuRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="},function(A,t,e){"use strict";function n(A,t){for(var e=[],n={},i=0;i<t.length;i++){var a=t[i],r=a[0],o={id:A+":"+i,css:a[1],media:a[2],sourceMap:a[3]};n[r]?n[r].parts.push(o):e.push(n[r]={id:r,parts:[o]})}return e}e.r(t),e.d(t,"default",function(){return g});var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var a={},r=i&&(document.head||document.getElementsByTagName("head")[0]),o=null,s=0,u=!1,c=function(){},d=null,l="data-vue-ssr-id",p="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function g(A,t,e,i){u=e,d=i||{};var r=n(A,t);return f(r),function(t){for(var e=[],i=0;i<r.length;i++){var o=r[i];(s=a[o.id]).refs--,e.push(s)}t?f(r=n(A,t)):r=[];for(i=0;i<e.length;i++){var s;if(0===(s=e[i]).refs){for(var u=0;u<s.parts.length;u++)s.parts[u]();delete a[s.id]}}}}function f(A){for(var t=0;t<A.length;t++){var e=A[t],n=a[e.id];if(n){n.refs++;for(var i=0;i<n.parts.length;i++)n.parts[i](e.parts[i]);for(;i<e.parts.length;i++)n.parts.push(v(e.parts[i]));n.parts.length>e.parts.length&&(n.parts.length=e.parts.length)}else{var r=[];for(i=0;i<e.parts.length;i++)r.push(v(e.parts[i]));a[e.id]={id:e.id,refs:1,parts:r}}}}function B(){var A=document.createElement("style");return A.type="text/css",r.appendChild(A),A}function v(A){var t,e,n=document.querySelector("style["+l+'~="'+A.id+'"]');if(n){if(u)return c;n.parentNode.removeChild(n)}if(p){var i=s++;n=o||(o=B()),t=C.bind(null,n,i,!1),e=C.bind(null,n,i,!0)}else n=B(),t=function(A,t){var e=t.css,n=t.media,i=t.sourceMap;n&&A.setAttribute("media",n);d.ssrId&&A.setAttribute(l,t.id);i&&(e+="\n/*# sourceURL="+i.sources[0]+" */",e+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");if(A.styleSheet)A.styleSheet.cssText=e;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(e))}}.bind(null,n),e=function(){n.parentNode.removeChild(n)};return t(A),function(n){if(n){if(n.css===A.css&&n.media===A.media&&n.sourceMap===A.sourceMap)return;t(A=n)}else e()}}var m,h=(m=[],function(A,t){return m[A]=t,m.filter(Boolean).join("\n")});function C(A,t,e,n){var i=e?"":n.css;if(A.styleSheet)A.styleSheet.cssText=h(t,i);else{var a=document.createTextNode(i),r=A.childNodes;r[t]&&A.removeChild(r[t]),r.length?A.insertBefore(a,r[t]):A.appendChild(a)}}},function(A,t,e){"use strict";var n=Array.isArray,i=Object.keys,a=Object.prototype.hasOwnProperty;A.exports=function A(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){var r,o,s,u=n(t),c=n(e);if(u&&c){if((o=t.length)!=e.length)return!1;for(r=o;0!=r--;)if(!A(t[r],e[r]))return!1;return!0}if(u!=c)return!1;var d=t instanceof Date,l=e instanceof Date;if(d!=l)return!1;if(d&&l)return t.getTime()==e.getTime();var p=t instanceof RegExp,g=e instanceof RegExp;if(p!=g)return!1;if(p&&g)return t.toString()==e.toString();var f=i(t);if((o=f.length)!==i(e).length)return!1;for(r=o;0!=r--;)if(!a.call(e,f[r]))return!1;for(r=o;0!=r--;)if(!A(t[s=f[r]],e[s]))return!1;return!0}return t!=t&&e!=e}},function(A,t,e){A.exports=e(14)},function(A,t,e){"use strict";var n=e(0);e.n(n).a},function(A,t,e){(A.exports=e(2)(!0)).push([A.i,".ti-tag-input[data-v-108f4f13] {\n background-color: transparent;\n color: inherit;\n border: none;\n padding: 0px;\n margin: 0px;\n display: flex;\n top: 0px;\n position: absolute;\n width: 100%;\n line-height: inherit;\n}\n.ti-tag-input[data-v-108f4f13]::-ms-clear {\n display: none;\n}\ninput[data-v-108f4f13]:focus {\n outline: none;\n}\ninput[disabled][data-v-108f4f13] {\n background-color: transparent;\n}\n","",{version:3,sources:["C:/Users/johan/dev/vue-tags-input/vue-tags-input/C:/Users/johan/dev/vue-tags-input/vue-tags-input/tag-input.vue"],names:[],mappings:"AAAA;EACE,8BAA8B;EAC9B,eAAe;EACf,aAAa;EACb,aAAa;EACb,YAAY;EACZ,cAAc;EACd,SAAS;EACT,mBAAmB;EACnB,YAAY;EACZ,qBAAqB;CAAE;AAEzB;EACE,cAAc;CAAE;AAElB;EACE,cAAc;CAAE;AAElB;EACE,8BAA8B;CAAE",file:"tag-input.vue?vue&type=style&index=0&id=108f4f13&lang=css&scoped=true&",sourcesContent:[".ti-tag-input {\n background-color: transparent;\n color: inherit;\n border: none;\n padding: 0px;\n margin: 0px;\n display: flex;\n top: 0px;\n position: absolute;\n width: 100%;\n line-height: inherit; }\n\n.ti-tag-input::-ms-clear {\n display: none; }\n\ninput:focus {\n outline: none; }\n\ninput[disabled] {\n background-color: transparent; }\n"],sourceRoot:""}])},function(A,t,e){"use strict";var n=e(1);e.n(n).a},function(A,t,e){t=A.exports=e(2)(!0);var n=e(11),i=n(e(3)),a=n(e(3)+"#iefix"),r=n(e(12)),o=n(e(13));t.push([A.i,"@font-face {\n font-family: 'icomoon';\n src: url("+i+");\n src: url("+a+') format("embedded-opentype"), url('+r+') format("truetype"), url('+o+') format("woff");\n font-weight: normal;\n font-style: normal;\n}\n[class^="ti-icon-"][data-v-61d92e31], [class*=" ti-icon-"][data-v-61d92e31] {\n font-family: \'icomoon\' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.ti-icon-check[data-v-61d92e31]:before {\n content: "\\e902";\n}\n.ti-icon-close[data-v-61d92e31]:before {\n content: "\\e901";\n}\n.ti-icon-undo[data-v-61d92e31]:before {\n content: "\\e900";\n}\nul[data-v-61d92e31] {\n margin: 0px;\n padding: 0px;\n list-style-type: none;\n}\n*[data-v-61d92e31], *[data-v-61d92e31]:before, *[data-v-61d92e31]:after {\n box-sizing: border-box;\n}\ninput[data-v-61d92e31]:focus {\n outline: none;\n}\ninput[disabled][data-v-61d92e31] {\n background-color: transparent;\n}\n.vue-tags-input[data-v-61d92e31] {\n max-width: 450px;\n position: relative;\n background-color: #fff;\n}\ndiv.vue-tags-input.disabled[data-v-61d92e31] {\n opacity: 0.5;\n}\ndiv.vue-tags-input.disabled *[data-v-61d92e31] {\n cursor: default;\n}\n.ti-input[data-v-61d92e31] {\n border: 1px solid #ccc;\n display: flex;\n padding: 4px;\n flex-wrap: wrap;\n}\n.ti-tags[data-v-61d92e31] {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n line-height: 1em;\n}\n.ti-tag[data-v-61d92e31] {\n background-color: #5C6BC0;\n color: #fff;\n border-radius: 2px;\n display: flex;\n padding: 3px 5px;\n margin: 2px;\n font-size: .85em;\n}\n.ti-tag[data-v-61d92e31]:focus {\n outline: none;\n}\n.ti-tag .ti-content[data-v-61d92e31] {\n display: flex;\n align-items: center;\n}\n.ti-tag .ti-tag-center[data-v-61d92e31] {\n position: relative;\n}\n.ti-tag span[data-v-61d92e31] {\n line-height: .85em;\n}\n.ti-tag span.ti-hidden[data-v-61d92e31] {\n padding-left: 14px;\n visibility: hidden;\n height: 0px;\n white-space: pre;\n}\n.ti-tag .ti-actions[data-v-61d92e31] {\n margin-left: 2px;\n display: flex;\n align-items: center;\n font-size: 1.15em;\n}\n.ti-tag .ti-actions i[data-v-61d92e31] {\n cursor: pointer;\n}\n.ti-tag[data-v-61d92e31]:last-child {\n margin-right: 4px;\n}\n.ti-tag.ti-invalid[data-v-61d92e31], .ti-tag.ti-tag.ti-deletion-mark[data-v-61d92e31] {\n background-color: #e54d42;\n}\n.ti-new-tag-input-wrapper[data-v-61d92e31] {\n display: flex;\n flex: 1 0 auto;\n padding: 3px 5px;\n margin: 2px;\n font-size: .85em;\n}\n.ti-new-tag-input-wrapper input[data-v-61d92e31] {\n flex: 1 0 auto;\n min-width: 100px;\n border: none;\n padding: 0px;\n margin: 0px;\n}\n.ti-new-tag-input[data-v-61d92e31] {\n line-height: initial;\n}\n.ti-autocomplete[data-v-61d92e31] {\n border: 1px solid #ccc;\n border-top: none;\n position: absolute;\n width: 100%;\n background-color: #fff;\n z-index: 20;\n}\n.ti-item > div[data-v-61d92e31] {\n cursor: pointer;\n padding: 3px 6px;\n width: 100%;\n}\n.ti-selected-item[data-v-61d92e31] {\n background-color: #5C6BC0;\n color: #fff;\n}\n',"",{version:3,sources:["C:/Users/johan/dev/vue-tags-input/vue-tags-input/C:/Users/johan/dev/vue-tags-input/vue-tags-input/vue-tags-input.scss"],names:[],mappings:"AAAA;EACE,uBAAuB;EACvB,mCAA8C;EAC9C,+JAAuM;EACvM,oBAAoB;EACpB,mBAAmB;CAAE;AAEvB;EACE,kCAAkC;EAClC,YAAY;EACZ,mBAAmB;EACnB,oBAAoB;EACpB,qBAAqB;EACrB,qBAAqB;EACrB,eAAe;EACf,oCAAoC;EACpC,mCAAmC;CAAE;AAEvC;EACE,iBAAiB;CAAE;AAErB;EACE,iBAAiB;CAAE;AAErB;EACE,iBAAiB;CAAE;AAErB;EACE,YAAY;EACZ,aAAa;EACb,sBAAsB;CAAE;AAE1B;EACE,uBAAuB;CAAE;AAE3B;EACE,cAAc;CAAE;AAElB;EACE,8BAA8B;CAAE;AAElC;EACE,iBAAiB;EACjB,mBAAmB;EACnB,uBAAuB;CAAE;AAE3B;EACE,aAAa;CAAE;AACf;IACE,gBAAgB;CAAE;AAEtB;EACE,uBAAuB;EACvB,cAAc;EACd,aAAa;EACb,gBAAgB;CAAE;AAEpB;EACE,cAAc;EACd,gBAAgB;EAChB,YAAY;EACZ,iBAAiB;CAAE;AAErB;EACE,0BAA0B;EAC1B,YAAY;EACZ,mBAAmB;EACnB,cAAc;EACd,iBAAiB;EACjB,YAAY;EACZ,iBAAiB;CAAE;AACnB;IACE,cAAc;CAAE;AAClB;IACE,cAAc;IACd,oBAAoB;CAAE;AACxB;IACE,mBAAmB;CAAE;AACvB;IACE,mBAAmB;CAAE;AACvB;IACE,mBAAmB;IACnB,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;CAAE;AACrB;IACE,iBAAiB;IACjB,cAAc;IACd,oBAAoB;IACpB,kBAAkB;CAAE;AACpB;MACE,gBAAgB;CAAE;AACtB;IACE,kBAAkB;CAAE;AACtB;IACE,0BAA0B;CAAE;AAEhC;EACE,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,YAAY;EACZ,iBAAiB;CAAE;AACnB;IACE,eAAe;IACf,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,YAAY;CAAE;AAElB;EACE,qBAAqB;CAAE;AAEzB;EACE,uBAAuB;EACvB,iBAAiB;EACjB,mBAAmB;EACnB,YAAY;EACZ,uBAAuB;EACvB,YAAY;CAAE;AAEhB;EACE,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;CAAE;AAEhB;EACE,0BAA0B;EAC1B,YAAY;CAAE",file:"vue-tags-input.scss?vue&type=style&index=0&id=61d92e31&lang=scss&scoped=true&",sourcesContent:['@font-face {\n font-family: \'icomoon\';\n src: url("./assets/fonts/icomoon.eot?7grlse");\n src: url("./assets/fonts/icomoon.eot?7grlse#iefix") format("embedded-opentype"), url("./assets/fonts/icomoon.ttf?7grlse") format("truetype"), url("./assets/fonts/icomoon.woff?7grlse") format("woff");\n font-weight: normal;\n font-style: normal; }\n\n[class^="ti-icon-"], [class*=" ti-icon-"] {\n font-family: \'icomoon\' !important;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n.ti-icon-check:before {\n content: "\\e902"; }\n\n.ti-icon-close:before {\n content: "\\e901"; }\n\n.ti-icon-undo:before {\n content: "\\e900"; }\n\nul {\n margin: 0px;\n padding: 0px;\n list-style-type: none; }\n\n*, *:before, *:after {\n box-sizing: border-box; }\n\ninput:focus {\n outline: none; }\n\ninput[disabled] {\n background-color: transparent; }\n\n.vue-tags-input {\n max-width: 450px;\n position: relative;\n background-color: #fff; }\n\ndiv.vue-tags-input.disabled {\n opacity: 0.5; }\n div.vue-tags-input.disabled * {\n cursor: default; }\n\n.ti-input {\n border: 1px solid #ccc;\n display: flex;\n padding: 4px;\n flex-wrap: wrap; }\n\n.ti-tags {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n line-height: 1em; }\n\n.ti-tag {\n background-color: #5C6BC0;\n color: #fff;\n border-radius: 2px;\n display: flex;\n padding: 3px 5px;\n margin: 2px;\n font-size: .85em; }\n .ti-tag:focus {\n outline: none; }\n .ti-tag .ti-content {\n display: flex;\n align-items: center; }\n .ti-tag .ti-tag-center {\n position: relative; }\n .ti-tag span {\n line-height: .85em; }\n .ti-tag span.ti-hidden {\n padding-left: 14px;\n visibility: hidden;\n height: 0px;\n white-space: pre; }\n .ti-tag .ti-actions {\n margin-left: 2px;\n display: flex;\n align-items: center;\n font-size: 1.15em; }\n .ti-tag .ti-actions i {\n cursor: pointer; }\n .ti-tag:last-child {\n margin-right: 4px; }\n .ti-tag.ti-invalid, .ti-tag.ti-tag.ti-deletion-mark {\n background-color: #e54d42; }\n\n.ti-new-tag-input-wrapper {\n display: flex;\n flex: 1 0 auto;\n padding: 3px 5px;\n margin: 2px;\n font-size: .85em; }\n .ti-new-tag-input-wrapper input {\n flex: 1 0 auto;\n min-width: 100px;\n border: none;\n padding: 0px;\n margin: 0px; }\n\n.ti-new-tag-input {\n line-height: initial; }\n\n.ti-autocomplete {\n border: 1px solid #ccc;\n border-top: none;\n position: absolute;\n width: 100%;\n background-color: #fff;\n z-index: 20; }\n\n.ti-item > div {\n cursor: pointer;\n padding: 3px 6px;\n width: 100%; }\n\n.ti-selected-item {\n background-color: #5C6BC0;\n color: #fff; }\n'],sourceRoot:""}])},function(A,t,e){"use strict";A.exports=function(A){return"string"!=typeof A?A:(/^['"].*['"]$/.test(A)&&(A=A.slice(1,-1)),/["'() \t\n]/.test(A)?'"'+A.replace(/"/g,'\\"').replace(/\n/g,"\\n")+'"':A)}},function(A,t){A.exports="data:font/ttf;base64,AAEAAAALAIAAAwAwT1MvMg8SBawAAAC8AAAAYGNtYXAXVtKJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZqWfozAAAAF4AAAA/GhlYWQPxZgIAAACdAAAADZoaGVhB4ADyAAAAqwAAAAkaG10eBIAAb4AAALQAAAAHGxvY2EAkgDiAAAC7AAAABBtYXhwAAkAHwAAAvwAAAAgbmFtZZlKCfsAAAMcAAABhnBvc3QAAwAAAAAEpAAAACAAAwOAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6QL//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAFYBAQO+AoEAHAAAATIXHgEXFhcHJicuAScmIyIGBxchERc2Nz4BNzYCFkpDQ28pKRdkECAfVTM0OT9wLZz+gJgdIiJLKSgCVRcYUjg5QiAzKys+ERIrJZoBgJoZFRQcCAgAAQDWAIEDKgLVAAsAAAEHFwcnByc3JzcXNwMq7u487u487u487u4Cme7uPO7uPO7uPO7uAAEAkgCBA4ACvQAFAAAlARcBJzcBgAHEPP4A7jz5AcQ8/gDuPAAAAAABAAAAAAAAH8nTUV8PPPUACwQAAAAAANZ1KhsAAAAA1nUqGwAAAAADvgLVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAO+AAEAAAAAAAAAAAAAAAAAAAAHBAAAAAAAAAAAAAAAAgAAAAQAAFYEAADWBAAAkgAAAAAACgAUAB4AUABqAH4AAQAAAAcAHQABAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGljb21vb24AaQBjAG8AbQBvAG8AblZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGljb21vb24AaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AblJlZ3VsYXIAUgBlAGcAdQBsAGEAcmljb21vb24AaQBjAG8AbQBvAG8AbkZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="},function(A,t){A.exports="data:font/woff;base64,d09GRgABAAAAAAUQAAsAAAAABMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIFrGNtYXAAAAFoAAAAVAAAAFQXVtKJZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAAPwAAAD8pZ+jMGhlYWQAAALAAAAANgAAADYPxZgIaGhlYQAAAvgAAAAkAAAAJAeAA8hobXR4AAADHAAAABwAAAAcEgABvmxvY2EAAAM4AAAAEAAAABAAkgDibWF4cAAAA0gAAAAgAAAAIAAJAB9uYW1lAAADaAAAAYYAAAGGmUoJ+3Bvc3QAAATwAAAAIAAAACAAAwAAAAMDgAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6QIDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOkC//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQBWAQEDvgKBABwAAAEyFx4BFxYXByYnLgEnJiMiBgcXIREXNjc+ATc2AhZKQ0NvKSkXZBAgH1UzNDk/cC2c/oCYHSIiSykoAlUXGFI4OUIgMysrPhESKyWaAYCaGRUUHAgIAAEA1gCBAyoC1QALAAABBxcHJwcnNyc3FzcDKu7uPO7uPO7uPO7uApnu7jzu7jzu7jzu7gABAJIAgQOAAr0ABQAAJQEXASc3AYABxDz+AO48+QHEPP4A7jwAAAAAAQAAAAAAAB/J01FfDzz1AAsEAAAAAADWdSobAAAAANZ1KhsAAAAAA74C1QAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADvgABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABWBAAA1gQAAJIAAAAAAAoAFAAeAFAAagB+AAEAAAAHAB0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAHAAAAAQAAAAAAAgAHAGAAAQAAAAAAAwAHADYAAQAAAAAABAAHAHUAAQAAAAAABQALABUAAQAAAAAABgAHAEsAAQAAAAAACgAaAIoAAwABBAkAAQAOAAcAAwABBAkAAgAOAGcAAwABBAkAAwAOAD0AAwABBAkABAAOAHwAAwABBAkABQAWACAAAwABBAkABgAOAFIAAwABBAkACgA0AKRpY29tb29uAGkAYwBvAG0AbwBvAG5WZXJzaW9uIDEuMABWAGUAcgBzAGkAbwBuACAAMQAuADBpY29tb29uAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG5SZWd1bGFyAFIAZQBnAHUAbABhAHJpY29tb29uAGkAYwBvAG0AbwBvAG5Gb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"},function(A,t,e){"use strict";e.r(t);var n=function(){var A=this,t=A.$createElement,e=A._self._c||t;return e("div",{staticClass:"vue-tags-input",class:[{"ti-disabled":A.disabled},{"ti-focus":A.focused}]},[e("div",{staticClass:"ti-input"},[A.tagsCopy?e("ul",{staticClass:"ti-tags"},[A._l(A.tagsCopy,function(t,n){return e("li",{key:n,staticClass:"ti-tag",class:[{"ti-editing":A.tagsEditStatus[n]},t.tiClasses,t.classes,{"ti-deletion-mark":A.isMarked(n)}],style:t.style,attrs:{tabindex:"0"},on:{click:function(e){return A.$emit("tag-clicked",{tag:t,index:n})}}},[e("div",{staticClass:"ti-content"},[A.$scopedSlots["tag-left"]?e("div",{staticClass:"ti-tag-left"},[A._t("tag-left",null,{tag:t,index:n,edit:A.tagsEditStatus[n],performSaveEdit:A.performSaveTag,performDelete:A.performDeleteTag,performCancelEdit:A.cancelEdit,performOpenEdit:A.performEditTag,deletionMark:A.isMarked(n)})],2):A._e(),A._v(" "),e("div",{ref:"tagCenter",refInFor:!0,staticClass:"ti-tag-center"},[A.$scopedSlots["tag-center"]?A._e():e("span",{class:{"ti-hidden":A.tagsEditStatus[n]},on:{click:function(t){return A.performEditTag(n)}}},[A._v(A._s(t.text))]),A._v(" "),A.$scopedSlots["tag-center"]?A._e():e("tag-input",{attrs:{scope:{edit:A.tagsEditStatus[n],maxlength:A.maxlength,tag:t,index:n,validateTag:A.createChangedTag,performCancelEdit:A.cancelEdit,performSaveEdit:A.performSaveTag}}}),A._v(" "),A._t("tag-center",null,{tag:t,index:n,maxlength:A.maxlength,edit:A.tagsEditStatus[n],performSaveEdit:A.performSaveTag,performDelete:A.performDeleteTag,performCancelEdit:A.cancelEdit,validateTag:A.createChangedTag,performOpenEdit:A.performEditTag,deletionMark:A.isMarked(n)})],2),A._v(" "),A.$scopedSlots["tag-right"]?e("div",{staticClass:"ti-tag-right"},[A._t("tag-right",null,{tag:t,index:n,edit:A.tagsEditStatus[n],performSaveEdit:A.performSaveTag,performDelete:A.performDeleteTag,performCancelEdit:A.cancelEdit,performOpenEdit:A.performEditTag,deletionMark:A.isMarked(n)})],2):A._e()]),A._v(" "),e("div",{staticClass:"ti-actions"},[A.$scopedSlots["tag-actions"]?A._e():e("i",{directives:[{name:"show",rawName:"v-show",value:A.tagsEditStatus[n],expression:"tagsEditStatus[index]"}],staticClass:"ti-icon-undo",on:{click:function(t){return A.cancelEdit(n)}}}),A._v(" "),A.$scopedSlots["tag-actions"]?A._e():e("i",{directives:[{name:"show",rawName:"v-show",value:!A.tagsEditStatus[n],expression:"!tagsEditStatus[index]"}],staticClass:"ti-icon-close",on:{click:function(t){return A.performDeleteTag(n)}}}),A._v(" "),A.$scopedSlots["tag-actions"]?A._t("tag-actions",null,{tag:t,index:n,edit:A.tagsEditStatus[n],performSaveEdit:A.performSaveTag,performDelete:A.performDeleteTag,performCancelEdit:A.cancelEdit,performOpenEdit:A.performEditTag,deletionMark:A.isMarked(n)}):A._e()],2)])}),A._v(" "),e("li",{staticClass:"ti-new-tag-input-wrapper"},[e("input",A._b({ref:"newTagInput",staticClass:"ti-new-tag-input",class:[A.createClasses(A.newTag,A.tags,A.validation,A.isDuplicate)],attrs:{placeholder:A.placeholder,maxlength:A.maxlength,disabled:A.disabled,type:"text",size:"1"},domProps:{value:A.newTag},on:{keydown:[function(t){return A.performAddTags(A.filteredAutocompleteItems[A.selectedItem]||A.newTag,t)},function(t){return t.type.indexOf("key")||8===t.keyCode?A.invokeDelete(t):null},function(t){return t.type.indexOf("key")||9===t.keyCode?A.performBlur(t):null},function(t){return t.type.indexOf("key")||38===t.keyCode?A.selectItem(t,"before"):null},function(t){return t.type.indexOf("key")||40===t.keyCode?A.selectItem(t,"after"):null}],paste:A.addTagsFromPaste,input:A.updateNewTag,blur:function(t){return A.$emit("blur",t)},focus:function(t){A.focused=!0,A.$emit("focus",t)},click:function(t){!A.addOnlyFromAutocomplete&&(A.selectedItem=null)}}},"input",A.$attrs,!1))])],2):A._e()]),A._v(" "),A._t("between-elements"),A._v(" "),A.autocompleteOpen?e("div",{staticClass:"ti-autocomplete",on:{mouseout:function(t){A.selectedItem=null}}},[A._t("autocomplete-header"),A._v(" "),e("ul",A._l(A.filteredAutocompleteItems,function(t,n){return e("li",{key:n,staticClass:"ti-item",class:[t.tiClasses,t.classes,{"ti-selected-item":A.isSelected(n)}],style:t.style,on:{mouseover:function(t){!A.disabled&&(A.selectedItem=n)}}},[A.$scopedSlots["autocomplete-item"]?A._t("autocomplete-item",null,{item:t,index:n,performAdd:function(t){return A.performAddTags(t,void 0,"autocomplete")},selected:A.isSelected(n)}):e("div",{on:{click:function(e){return A.performAddTags(t,void 0,"autocomplete")}}},[A._v("\n "+A._s(t.text)+"\n ")])],2)}),0),A._v(" "),A._t("autocomplete-footer")],2):A._e()],2)};n._withStripped=!0;var i=e(5),a=e.n(i),r=function(A){return JSON.parse(JSON.stringify(A))},o=function(A,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],n=arguments.length>3?arguments[3]:void 0;void 0===A.text&&(A={text:A});var i=function(A,t){return t.filter(function(t){var e=A.text;return"string"==typeof t.rule?!new RegExp(t.rule).test(e):t.rule instanceof RegExp?!t.rule.test(e):"[object Function]"==={}.toString.call(t.rule)?t.rule(A):void 0}).map(function(A){return A.classes})}(A,e),a=function(A,t){for(var e=0;e<A.length;){if(t(A[e],e,A))return e;e++}return-1}(t,function(t){return t===A}),o=r(t),s=-1!==a?o.splice(a,1)[0]:r(A);return(n?n(o,s):-1!==o.map(function(A){return A.text}).indexOf(s.text))&&i.push("ti-duplicate"),0===i.length?i.push("ti-valid"):i.push("ti-invalid"),i},s=function(A){void 0===A.text&&(A={text:A});for(var t=r(A),e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++)n[i-1]=arguments[i];return t.tiClasses=o.apply(void 0,[A].concat(n)),t},u=function(A){for(var t=arguments.length,e=new Array(t>1?t-1:0),n=1;n<t;n++)e[n-1]=arguments[n];return A.map(function(t){return s.apply(void 0,[t,A].concat(e))})},c=function(){var A=this,t=A.$createElement,e=A._self._c||t;return A.scope.edit?e("input",{directives:[{name:"model",rawName:"v-model",value:A.scope.tag.text,expression:"scope.tag.text"}],staticClass:"ti-tag-input",attrs:{maxlength:A.scope.maxlength,type:"text",size:"1"},domProps:{value:A.scope.tag.text},on:{input:[function(t){t.target.composing||A.$set(A.scope.tag,"text",t.target.value)},function(t){return A.scope.validateTag(A.scope.index,t)}],blur:function(t){return A.scope.performCancelEdit(A.scope.index)},keydown:function(t){return A.scope.performSaveEdit(A.scope.index,t)}}}):A._e()};c._withStripped=!0;var d={name:"TagInput",props:{scope:{type:Object}}};e(7);function l(A,t,e,n,i,a,r,o){var s,u="function"==typeof A?A.options:A;if(t&&(u.render=t,u.staticRenderFns=e,u._compiled=!0),n&&(u.functional=!0),a&&(u._scopeId="data-v-"+a),r?(s=function(A){(A=A||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(A=__VUE_SSR_CONTEXT__),i&&i.call(this,A),A&&A._registeredComponents&&A._registeredComponents.add(r)},u._ssrRegister=s):i&&(s=o?function(){i.call(this,this.$root.$options.shadowRoot)}:i),s)if(u.functional){u._injectStyles=s;var c=u.render;u.render=function(A,t){return s.call(t),c(A,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,s):[s]}return{exports:A,options:u}}var p=l(d,c,[],!1,null,"108f4f13",null);p.options.__file="vue-tags-input/tag-input.vue";var g=p.exports,f=function(A){return!A.some(function(A){var t=!A.text;t&&console.warn('Missing property "text"',A);var e=!1;return A.classes&&(e="string"!=typeof A.classes),e&&console.warn('Property "classes" must be type of string',A),t||e})},B=function(A){return!A.some(function(A){if("number"==typeof A){var t=isFinite(A)&&Math.floor(A)===A;return t||console.warn("Only numerics are allowed for this prop. Found:",A),!t}if("string"==typeof A){var e=/\W|[a-z]|!\d/i.test(A);return e||console.warn("Only alpha strings are allowed for this prop. Found:",A),!e}return console.warn("Only numeric and string values are allowed. Found:",A),!1})},v={value:{type:String,default:"",required:!0},tags:{type:Array,default:function(){return[]},validator:f},autocompleteItems:{type:Array,default:function(){return[]},validator:f},allowEditTags:{type:Boolean,default:!1},autocompleteFilterDuplicates:{default:!0,type:Boolean},addOnlyFromAutocomplete:{type:Boolean,default:!1},autocompleteMinLength:{type:Number,default:1},autocompleteAlwaysOpen:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:"Add Tag"},addOnKey:{type:Array,default:function(){return[13]},validator:B},saveOnKey:{type:Array,default:function(){return[13]},validator:B},maxTags:{type:Number},maxlength:{type:Number},validation:{type:Array,default:function(){return[]},validator:function(A){return!A.some(function(A){var t=!A.rule;t&&console.warn('Property "rule" is missing',A);var e=A.rule&&("string"==typeof A.rule||A.rule instanceof RegExp||"[object Function]"==={}.toString.call(A.rule));e||console.warn("A rule must be type of string, RegExp or function. Found:",JSON.stringify(A.rule));var n=!A.classes;n&&console.warn('Property "classes" is missing',A);var i=A.type&&"string"!=typeof A.type;return i&&console.warn('Property "type" must be type of string. Found:',A),!e||t||n||i})}},separators:{type:Array,default:function(){return[";"]},validator:function(A){return!A.some(function(A){var t="string"!=typeof A;return t&&console.warn("Separators must be type of string. Found:",A),t})}},avoidAddingDuplicates:{type:Boolean,default:!0},addOnBlur:{type:Boolean,default:!0},isDuplicate:{type:Function,default:null},addFromPaste:{type:Boolean,default:!0},deleteOnBackspace:{default:!0,type:Boolean}};function m(A){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A})(A)}var h={name:"VueTagsInput",components:{TagInput:g},props:v,data:function(){return{newTag:null,tagsCopy:null,tagsEditStatus:null,deletionMark:null,deletionMarkTime:null,selectedItem:null,focused:null}},computed:{autocompleteOpen:function(){return!!this.autocompleteAlwaysOpen||null!==this.newTag&&this.newTag.length>=this.autocompleteMinLength&&this.filteredAutocompleteItems.length>0&&this.focused},filteredAutocompleteItems:function(){var A=this,t=this.autocompleteItems.map(function(t){return s(t,A.tags,A.validation,A.isDuplicate)});return this.autocompleteFilterDuplicates?t.filter(this.duplicateFilter):t}},methods:{createClasses:o,getSelectedIndex:function(A){var t=this.filteredAutocompleteItems,e=this.selectedItem,n=t.length-1;if(0!==t.length)return null===e?0:"before"===A&&0===e?n:"after"===A&&e===n?0:"after"===A?e+1:e-1},selectDefaultItem:function(){this.addOnlyFromAutocomplete&&this.filteredAutocompleteItems.length>0?this.selectedItem=0:this.selectedItem=null},selectItem:function(A,t){A.preventDefault(),this.selectedItem=this.getSelectedIndex(t)},isSelected:function(A){return this.selectedItem===A},isMarked:function(A){return this.deletionMark===A},invokeDelete:function(){var A=this;if(this.deleteOnBackspace&&!(this.newTag.length>0)){var t=this.tagsCopy.length-1;null===this.deletionMark?(this.deletionMarkTime=setTimeout(function(){return A.deletionMark=null},1e3),this.deletionMark=t):this.performDeleteTag(t)}},addTagsFromPaste:function(){var A=this;this.addFromPaste&&setTimeout(function(){return A.performAddTags(A.newTag)},10)},performEditTag:function(A){var t=this;this.allowEditTags&&(this._events["before-editing-tag"]||this.editTag(A),this.$emit("before-editing-tag",{index:A,tag:this.tagsCopy[A],editTag:function(){return t.editTag(A)}}))},editTag:function(A){this.allowEditTags&&(this.toggleEditMode(A),this.focus(A))},toggleEditMode:function(A){this.allowEditTags&&!this.disabled&&this.$set(this.tagsEditStatus,A,!this.tagsEditStatus[A])},createChangedTag:function(A,t){var e=this.tagsCopy[A];e.text=t?t.target.value:this.tagsCopy[A].text,this.$set(this.tagsCopy,A,s(e,this.tagsCopy,this.validation,this.isDuplicate))},focus:function(A){var t=this;this.$nextTick(function(){var e=t.$refs.tagCenter[A].querySelector("input.ti-tag-input");e&&e.focus()})},quote:function(A){return A.replace(/([()[{*+.$^\\|?])/g,"\\$1")},cancelEdit:function(A){this.tags[A]&&(this.tagsCopy[A]=r(s(this.tags[A],this.tags,this.validation,this.isDuplicate)),this.$set(this.tagsEditStatus,A,!1))},hasForbiddingAddRule:function(A){var t=this;return A.some(function(A){var e=t.validation.find(function(t){return A===t.classes});return!!e&&e.disableAdd})},createTagTexts:function(A){var t=this,e=new RegExp(this.separators.map(function(A){return t.quote(A)}).join("|"));return A.split(e).map(function(A){return{text:A}})},performDeleteTag:function(A){var t=this;this._events["before-deleting-tag"]||this.deleteTag(A),this.$emit("before-deleting-tag",{index:A,tag:this.tagsCopy[A],deleteTag:function(){return t.deleteTag(A)}})},deleteTag:function(A){this.disabled||(this.deletionMark=null,clearTimeout(this.deletionMarkTime),this.tagsCopy.splice(A,1),this._events["update:tags"]&&this.$emit("update:tags",this.tagsCopy),this.$emit("tags-changed",this.tagsCopy))},noTriggerKey:function(A,t){var e=-1!==this[t].indexOf(A.keyCode)||-1!==this[t].indexOf(A.key);return e&&A.preventDefault(),!e},performAddTags:function(A,t,e){var n=this;if(!(this.disabled||t&&this.noTriggerKey(t,"addOnKey"))){var i=[];"object"===m(A)&&(i=[A]),"string"==typeof A&&(i=this.createTagTexts(A)),(i=i.filter(function(A){return A.text.trim().length>0})).forEach(function(A){A=s(A,n.tags,n.validation,n.isDuplicate),n._events["before-adding-tag"]||n.addTag(A,e),n.$emit("before-adding-tag",{tag:A,addTag:function(){return n.addTag(A,e)}})})}},duplicateFilter:function(A){return this.isDuplicate?!this.isDuplicate(this.tagsCopy,A):!this.tagsCopy.find(function(t){return t.text===A.text})},addTag:function(A){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"new-tag-input",n=this.filteredAutocompleteItems.map(function(A){return A.text});this.addOnlyFromAutocomplete&&-1===n.indexOf(A.text)||this.$nextTick(function(){return t.maxTags&&t.maxTags<=t.tagsCopy.length?t.$emit("max-tags-reached",A):t.avoidAddingDuplicates&&!t.duplicateFilter(A)?t.$emit("adding-duplicate",A):void(t.hasForbiddingAddRule(A.tiClasses)||(t.$emit("input",""),t.tagsCopy.push(A),t._events["update:tags"]&&t.$emit("update:tags",t.tagsCopy),"autocomplete"===e&&t.$refs.newTagInput.focus(),t.$emit("tags-changed",t.tagsCopy)))})},performSaveTag:function(A,t){var e=this,n=this.tagsCopy[A];this.disabled||t&&this.noTriggerKey(t,"addOnKey")||0!==n.text.trim().length&&(this._events["before-saving-tag"]||this.saveTag(A,n),this.$emit("before-saving-tag",{index:A,tag:n,saveTag:function(){return e.saveTag(A,n)}}))},saveTag:function(A,t){if(this.avoidAddingDuplicates){var e=r(this.tagsCopy),n=e.splice(A,1)[0];if(this.isDuplicate?this.isDuplicate(e,n):-1!==e.map(function(A){return A.text}).indexOf(n.text))return this.$emit("saving-duplicate",t)}this.hasForbiddingAddRule(t.tiClasses)||(this.$set(this.tagsCopy,A,t),this.toggleEditMode(A),this._events["update:tags"]&&this.$emit("update:tags",this.tagsCopy),this.$emit("tags-changed",this.tagsCopy))},tagsEqual:function(){var A=this;return!this.tagsCopy.some(function(t,e){return!a()(t,A.tags[e])})},updateNewTag:function(A){var t=A.target.value;this.newTag=t,this.$emit("input",t)},initTags:function(){this.tagsCopy=u(this.tags,this.validation,this.isDuplicate),this.tagsEditStatus=r(this.tags).map(function(){return!1}),this._events["update:tags"]&&!this.tagsEqual()&&this.$emit("update:tags",this.tagsCopy)},blurredOnClick:function(A){this.$el.contains(A.target)||this.$el.contains(document.activeElement)||this.performBlur(A)},performBlur:function(){this.addOnBlur&&this.focused&&this.performAddTags(this.newTag),this.focused=!1}},watch:{value:function(A){this.addOnlyFromAutocomplete||(this.selectedItem=null),this.newTag=A},tags:{handler:function(){this.initTags()},deep:!0},autocompleteOpen:"selectDefaultItem"},created:function(){this.newTag=this.value,this.initTags()},mounted:function(){this.selectDefaultItem(),document.addEventListener("click",this.blurredOnClick)},destroyed:function(){document.removeEventListener("click",this.blurredOnClick)}},C=(e(9),l(h,n,[],!1,null,"61d92e31",null));C.options.__file="vue-tags-input/vue-tags-input.vue";var E=C.exports;e.d(t,"VueTagsInput",function(){return E}),e.d(t,"createClasses",function(){return o}),e.d(t,"createTag",function(){return s}),e.d(t,"createTags",function(){return u}),e.d(t,"TagInput",function(){return g}),E.install=function(A){return A.component(E.name,E)},"undefined"!=typeof window&&window.Vue&&window.Vue.use(E);t.default=E}])}); 11//# sourceMappingURL=vue-tags-input.js.map 12 13/***/ }), 14 15/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=script&lang=js&": 16/*!***************************************************************************************************************************************************************************************************************!*\ 17 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=script&lang=js& ***! 18 \***************************************************************************************************************************************************************************************************************/ 19/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 20 21"use strict"; 22__webpack_require__.r(__webpack_exports__); 23/* harmony export */ __webpack_require__.d(__webpack_exports__, { 24/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 25/* harmony export */ }); 26/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 27 props: ['main', 'original', 'type', 'title', 'dir', 'hidden', 'btn', 'texte', 'admin', 'abo_id'], 28 components: {}, 29 data: function data() { 30 return { 31 url: location.protocol + "//" + location.host + "/", 32 change: false, 33 btnClass: this.btn ? this.btn : 'btn-warning btn-xs', 34 btnText: this.texte ? this.texte : 'Mettre à jour', 35 direction: this.dir ? this.dir : 'right', 36 showing: this.hidden ? false : true, 37 changed: false, 38 id: Math.random(), 39 update_detail: '', 40 adresse_update: this.original ? this.original : null 41 }; 42 }, 43 mounted: function mounted() { 44 console.log('Component mounted.'); 45 this.$forceUpdate(); 46 this.fetch(this.adresse_update.id); 47 this.adresse_update.type = this.type; 48 }, 49 computed: { 50 path: function path() { 51 if (this.type == 4 || this.type == 5) { 52 return this.url + 'vue/adresse/createOrUpdateFacturation'; 53 } 54 return this.url + 'vue/adresse/updateAdresse'; 55 }, 56 isDefault: function isDefault() { 57 return this.main.id == this.original.id; 58 } 59 }, 60 methods: { 61 show: function show() { 62 this.$modal.show('update-modal' + this.id); 63 }, 64 hide: function hide() { 65 this.$modal.hide('update-modal' + this.id); 66 }, 67 fetch: function fetch(id) { 68 var self = this; 69 axios.get(self.url + 'vue/adresse/getAdresseDetail/' + id, {}).then(function (response) { 70 self.update_detail = response.data; 71 console.log(self.update_detail); 72 })["catch"](function (error) { 73 console.log(error); 74 }); 75 }, 76 update: function update() { 77 var self = this; 78 axios.post(this.path, this.adresse_update).then(function (response) { 79 self.adresse_update = response.data; 80 self.fetch(self.adresse_update.id); 81 self.hide(); 82 })["catch"](function (error) { 83 console.log(error); 84 }); 85 }, 86 remove: function remove() { 87 var self = this; 88 axios.post(this.url + "vue/adresse/deleteAdresse", { 89 id: this.adresse_update.id, 90 abo_id: this.abo_id 91 }).then(function (response) { 92 if (response.data.result == true) { 93 location.reload(); 94 } 95 })["catch"](function (error) { 96 console.log(error); 97 }); 98 } 99 } 100}); 101 102/***/ }), 103 104/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=script&lang=js&": 105/*!**********************************************************************************************************************************************************************************************************!*\ 106 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=script&lang=js& ***! 107 \**********************************************************************************************************************************************************************************************************/ 108/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 109 110"use strict"; 111__webpack_require__.r(__webpack_exports__); 112/* harmony export */ __webpack_require__.d(__webpack_exports__, { 113/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 114/* harmony export */ }); 115/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js"); 116/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_0__); 117 118var id = 1; 119/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 120 props: ['composantes'], 121 name: "articlesComponentsList", 122 display: "Table", 123 order: 0, 124 components: { 125 draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_0___default()) 126 }, 127 data: function data() { 128 return { 129 enabled: true, 130 list: this.composantes, 131 dragging: false 132 }; 133 }, 134 computed: { 135 draggingInfo: function draggingInfo() { 136 return this.dragging ? "under drag" : ""; 137 } 138 }, 139 methods: { 140 choosePosition: function choosePosition(e) { 141 axios.post('/admin/loi/articles/position', { 142 old_pos: e.oldIndex, 143 new_pos: e.newIndex, 144 numero: this.list[e.newIndex].numero, 145 id: this.list[e.newIndex].id, 146 loi_id: this.list[e.newIndex].loi_id 147 }).then(function (response) { 148 window.console.log(response.data); 149 })["catch"](function (error) { 150 window.console.log(error); 151 }); 152 } 153 } 154}); 155 156/***/ }), 157 158/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Build.vue?vue&type=script&lang=js&": 159/*!*******************************************************************************************************************************************************************************************************!*\ 160 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Build.vue?vue&type=script&lang=js& ***! 161 \*******************************************************************************************************************************************************************************************************/ 162/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 163 164"use strict"; 165__webpack_require__.r(__webpack_exports__); 166/* harmony export */ __webpack_require__.d(__webpack_exports__, { 167/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 168/* harmony export */ }); 169/* harmony import */ var _CreateBloc_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateBloc.vue */ "./resources/assets/js/components/CreateBloc.vue"); 170 171/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 172 props: ['campagne', '_token', 'url', 'blocs', 'site', 'newsletter'], 173 data: function data() { 174 return { 175 type: null, 176 title: '' 177 }; 178 }, 179 computed: { 180 isNormal: function isNormal() { 181 return this.type == 1 || this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 ? true : false; 182 }, 183 isModel: function isModel() { 184 return this.type == 5 || this.type == 7 || this.type == 8 || this.type == 9 || this.type == 11 ? true : false; 185 } 186 }, 187 components: { 188 'create-bloc': _CreateBloc_vue__WEBPACK_IMPORTED_MODULE_0__["default"] 189 }, 190 methods: { 191 selectBloc: function selectBloc(bloc) { 192 this.type = bloc.id; 193 this.title = bloc.titre; 194 }, 195 cancel: function cancel() { 196 this.type = null; 197 this.title = ''; 198 } 199 } 200}); 201 202/***/ }), 203 204/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=script&lang=js&": 205/*!*****************************************************************************************************************************************************************************************************************!*\ 206 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=script&lang=js& ***! 207 \*****************************************************************************************************************************************************************************************************************/ 208/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 209 210"use strict"; 211__webpack_require__.r(__webpack_exports__); 212/* harmony export */ __webpack_require__.d(__webpack_exports__, { 213/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 214/* harmony export */ }); 215/* harmony import */ var _partials_ImageNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./partials/ImageNewsletter.vue */ "./resources/assets/js/components/partials/ImageNewsletter.vue"); 216var _props$components$dat; 217function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 218function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } 219function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } 220function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } 221 222/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_props$components$dat = { 223 props: ['type', 'campagne', '_token', 'url', 'title', 'model', 'site', 'mode'], 224 components: { 225 'image-newsletter': _partials_ImageNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__["default"] 226 }, 227 data: function data() { 228 return { 229 create: { 230 titre: '', 231 contenu: '' 232 }, 233 content: {}, 234 image: null, 235 uploadImage: null, 236 categories: [], 237 categorie: null, 238 isEdit: false, 239 isImage: null, 240 hash: null 241 }; 242 }, 243 computed: { 244 widthTable: function widthTable() { 245 return this.type == 1 || this.type == 2 || this.type == 6 ? '560' : '375'; 246 }, 247 hasText: function hasText() { 248 return this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 ? true : false; 249 }, 250 align: function align() { 251 return this.type == 1 ? 'text-align:center;' : 'text-align:left;'; 252 }, 253 imgcategorie: function imgcategorie() { 254 if (this.model) { 255 return this.model.model.categorie.path; 256 } 257 if (this.categorie) { 258 return this.categorie.path; 259 } 260 return ''; 261 }, 262 action: function action() { 263 if (this.mode == 'edit') { 264 return this.url + '/' + this.content.id; 265 } 266 if (this.mode == 'create') { 267 return this.url; 268 } 269 } 270 } 271}, _defineProperty(_props$components$dat, "components", {}), _defineProperty(_props$components$dat, "mounted", function mounted() { 272 this.initialize(); 273}), _defineProperty(_props$components$dat, "methods", { 274 makeHash: function makeHash() { 275 this.hash = Math.random().toString(36).substring(7); 276 }, 277 initialize: function initialize() { 278 this.makeHash(); 279 if (this.type == 10) { 280 this.getCategories(); 281 this.categorie = this.model ? this.model.categorie : null; 282 } 283 this.content = this.model ? this.model : this.create; 284 this.isEdit = !this.content ? true : false; 285 if (!this.model) { 286 this.isImage = true; 287 } 288 this.$nextTick(function () { 289 var self = this; 290 $('.redactorBuild_' + self.hash).redactor({ 291 minHeight: '180px', 292 maxHeight: '370px', 293 removeEmpty: ['strong', 'em', 'span', 'p'], 294 lang: 'fr', 295 plugins: ['imagemanager', 'filemanager', 'fontsize', 'fontcolor', 'alignment'], 296 fileUpload: 'admin/uploadRedactor?_token=' + $('meta[name="_token"]').attr('content'), 297 imageUpload: 'admin/uploadRedactor?_token=' + $('meta[name="_token"]').attr('content'), 298 imageManagerJson: 'admin/imageJson?_token=' + $('meta[name="_token"]').attr('content'), 299 fileManagerJson: 'admin/fileJson?_token=' + $('meta[name="_token"]').attr('content'), 300 imageResizable: true, 301 imagePosition: true, 302 formatting: ['h1', 'h2', 'h3', 'p', 'blockquote'], 303 callbacks: { 304 focus: function focus(e) { 305 var text = this.source.getCode(); 306 self.content.contenu = this.source.getCode(); 307 }, 308 enter: function enter(e) { 309 return !(window.event && window.event.keyCode == 13 && window.event.keyCode == 46); 310 } 311 } 312 }); 313 }); 314 }, 315 getCategories: function getCategories() { 316 var self = this; 317 axios.get('admin/ajax/categories/' + self.site).then(function (response) { 318 self.categories = response.data; 319 self.categorie = self.model ? self.content.model.categorie : null; 320 })["catch"](function (error) { 321 console.log(error); 322 }); 323 }, 324 imageUploadedUpdate: function imageUploadedUpdate(value) { 325 this.uploadImage = value; 326 }, 327 editMode: function editMode(model) { 328 this.isEdit = true; 329 this.isImage = true; 330 }, 331 close: function close() { 332 this.isEdit = false; 333 this.isImage = false; 334 this.initialize(); 335 if (this.mode == 'create') { 336 this.model = null; 337 this.$emit('cancel', this.cancel); 338 } 339 }, 340 deleteContent: function deleteContent(model) { 341 this.$emit('deleteContent', model); 342 } 343}), _props$components$dat); 344 345/***/ }), 346 347/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=script&lang=js&": 348/*!***********************************************************************************************************************************************************************************************************************!*\ 349 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=script&lang=js& ***! 350 \***********************************************************************************************************************************************************************************************************************/ 351/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 352 353"use strict"; 354__webpack_require__.r(__webpack_exports__); 355/* harmony export */ __webpack_require__.d(__webpack_exports__, { 356/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 357/* harmony export */ }); 358/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js"); 359/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_0__); 360 361/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 362 props: ['type', 'campagne', '_token', 'url', 'site', 'title', 'content', 'mode', 'newsletter'], 363 components: { 364 draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_0___default()) 365 }, 366 data: function data() { 367 return { 368 choosen: [], 369 categorie: null, 370 categories: [], 371 breves: [], 372 lists: [], 373 isEdit: false 374 }; 375 }, 376 computed: { 377 prepared: function prepared() { 378 var arr = []; 379 _.each(this.choosen, function (o) { 380 arr.push(_.pick(o, 'id')); 381 }); 382 return arr; 383 }, 384 action: function action() { 385 if (this.mode == 'edit') { 386 return this.url + '/' + this.content.id; 387 } 388 if (this.mode == 'create') { 389 return this.url; 390 } 391 } 392 }, 393 mounted: function mounted() { 394 this.getCategories(); 395 this.initialize(); 396 }, 397 methods: { 398 initialize: function initialize() { 399 this.choosen = this.content.model.choosen || []; 400 this.lists = this.content.model.breves || []; 401 this.categorie = this.content.model.categorie; 402 this.getBrevesCategories(); 403 }, 404 getCategories: function getCategories() { 405 var self = this; 406 axios.get('admin/ajax/categories/' + self.site).then(function (response) { 407 self.categories = response.data; 408 self.lists.push(self.categories); 409 self.categorie = self.content ? self.content.model.categorie : null; 410 })["catch"](function (error) { 411 console.log(error); 412 }); 413 }, 414 getBrevesCategories: function getBrevesCategories() { 415 var self = this; 416 if (self.categorie && self.categorie.id) { 417 // Récupérer les brèves de cette catégorie 418 axios.post("admin/ajax/categorie/brevesCategories", { 419 id: self.categorie.id 420 }).then(function (response) { 421 self.breves = response.data; 422 })["catch"](function (error) { 423 console.log(error); 424 }); 425 } 426 }, 427 updateModel: function updateModel() { 428 this.getBrevesCategories(); 429 }, 430 editMode: function editMode(model) { 431 this.isEdit = true; 432 }, 433 close: function close() { 434 this.isEdit = false; 435 this.initialize(); 436 }, 437 deleteContent: function deleteContent(model) { 438 this.$emit('deleteContent', model); 439 } 440 } 441}); 442 443/***/ }), 444 445/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=script&lang=js&": 446/*!**********************************************************************************************************************************************************************************************************************!*\ 447 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=script&lang=js& ***! 448 \**********************************************************************************************************************************************************************************************************************/ 449/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 450 451"use strict"; 452__webpack_require__.r(__webpack_exports__); 453/* harmony export */ __webpack_require__.d(__webpack_exports__, { 454/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 455/* harmony export */ }); 456/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js"); 457/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_0__); 458 459/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 460 props: ['type', 'campagne', '_token', 'url', 'site', 'title', 'content', 'mode', 'newsletter'], 461 components: { 462 draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_0___default()) 463 }, 464 data: function data() { 465 return { 466 choosen: [], 467 categorie: null, 468 categories: [], 469 arrets: [], 470 lists: [], 471 isEdit: false 472 }; 473 }, 474 computed: { 475 prepared: function prepared() { 476 var arr = []; 477 _.each(this.choosen, function (o) { 478 arr.push(_.pick(o, 'id')); 479 }); 480 return arr; 481 }, 482 action: function action() { 483 if (this.mode == 'edit') { 484 return this.url + '/' + this.content.id; 485 } 486 if (this.mode == 'create') { 487 return this.url; 488 } 489 } 490 }, 491 mounted: function mounted() { 492 this.getCategories(); 493 this.initialize(); 494 }, 495 methods: { 496 initialize: function initialize() { 497 this.choosen = this.content.model.choosen; 498 this.lists = this.content.model.arrets; 499 this.categorie = this.content.model.categorie; 500 this.getArretsCategories(); 501 }, 502 getCategories: function getCategories() { 503 var self = this; 504 axios.get('admin/ajax/categories/' + self.site).then(function (response) { 505 self.categories = response.data; 506 self.lists.push(self.categories); 507 self.categorie = self.content ? self.content.model.categorie : null; 508 })["catch"](function (error) { 509 console.log(error); 510 }); 511 }, 512 getArretsCategories: function getArretsCategories() { 513 var self = this; 514 axios.post("admin/ajax/categorie/categoriearrets", { 515 id: self.categorie.id 516 }).then(function (response) { 517 self.arrets = response.data; 518 })["catch"](function (error) { 519 console.log(error); 520 }); 521 }, 522 updateModel: function updateModel() { 523 this.getArretsCategories(); 524 }, 525 editMode: function editMode(model) { 526 this.isEdit = true; 527 }, 528 close: function close() { 529 this.isEdit = false; 530 this.initialize(); 531 }, 532 deleteContent: function deleteContent(model) { 533 this.$emit('deleteContent', model); 534 } 535 } 536}); 537 538/***/ }), 539 540/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=script&lang=js&": 541/*!***********************************************************************************************************************************************************************************************************************!*\ 542 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=script&lang=js& ***! 543 \***********************************************************************************************************************************************************************************************************************/ 544/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 545 546"use strict"; 547__webpack_require__.r(__webpack_exports__); 548/* harmony export */ __webpack_require__.d(__webpack_exports__, { 549/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 550/* harmony export */ }); 551/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js"); 552/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_0__); 553/* harmony import */ var _partials_AnalyseNewsletter_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./partials/AnalyseNewsletter.vue */ "./resources/assets/js/components/partials/AnalyseNewsletter.vue"); 554 555 556/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 557 props: ['type', 'campagne', '_token', 'url', 'site', 'title', 'content', 'mode', 'newsletter'], 558 components: { 559 draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_0___default()), 560 'analyse-newsletter': _partials_AnalyseNewsletter_vue__WEBPACK_IMPORTED_MODULE_1__["default"] 561 }, 562 data: function data() { 563 return { 564 model: null, 565 choosen: [], 566 categorie: null, 567 categories: [], 568 arrets: [], 569 models: [], 570 lists: [], 571 isEdit: false 572 }; 573 }, 574 computed: { 575 route: function route() { 576 if (this.type == 5) { 577 return "admin/ajax/arrets/" + this.site; 578 } 579 if (this.type == 8) { 580 return "admin/ajax/product"; 581 } 582 if (this.type == 9) { 583 return "admin/ajax/colloque"; 584 } 585 }, 586 selected: function selected() { 587 if (this.type == 5) { 588 this.content.arret; 589 } 590 if (this.type == 8) { 591 this.content.product; 592 } 593 if (this.type == 9) { 594 this.content.colloque; 595 } 596 }, 597 action: function action() { 598 if (this.mode == 'edit') { 599 return this.url + '/' + this.content.id; 600 } 601 if (this.mode == 'create') { 602 return this.url; 603 } 604 }, 605 prepared: function prepared() { 606 var arr = []; 607 _.each(this.choosen, function (o) { 608 arr.push(_.pick(o, 'id')); 609 }); 610 return arr; 611 } 612 }, 613 watch: { 614 type: function type(val) { 615 this.models = []; 616 this.getModels(this.route); 617 } 618 }, 619 mounted: function mounted() { 620 this.getModels(this.route); 621 this.getCategories(); 622 this.initialize(); 623 }, 624 methods: { 625 initialize: function initialize() { 626 this.model = this.content ? this.content.model : null; 627 this.isEdit = !this.content ? true : false; 628 }, 629 getModels: function getModels(route) { 630 var self = this; 631 axios.get(route).then(function (response) { 632 self.models = response.data; 633 })["catch"](function (error) { 634 console.log(error); 635 }); 636 }, 637 getCategories: function getCategories() { 638 var self = this; 639 axios.get('admin/ajax/categories/' + self.site).then(function (response) { 640 self.categories = response.data; 641 self.lists.push(self.categories); 642 })["catch"](function (error) { 643 console.log(error); 644 }); 645 }, 646 getArretsCategories: function getArretsCategories() { 647 var self = this; 648 axios.post("admin/ajax/categorie/categoriearrets", { 649 id: self.categorie.id 650 }).then(function (response) { 651 self.arrets = response.data; 652 })["catch"](function (error) { 653 console.log(error); 654 }); 655 }, 656 updateModel: function updateModel() { 657 this.getArretsCategories(); 658 }, 659 editMode: function editMode(model) { 660 this.isEdit = true; 661 }, 662 close: function close() { 663 this.isEdit = false; 664 this.initialize(); 665 if (this.mode == 'create') { 666 this.model = null; 667 this.$emit('cancel', this.cancel); 668 } 669 }, 670 deleteContent: function deleteContent(model) { 671 //this.$emit('deleteContent', model); 672 } 673 } 674}); 675 676/***/ }), 677 678/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=script&lang=js&": 679/*!****************************************************************************************************************************************************************************************************************!*\ 680 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=script&lang=js& ***! 681 \****************************************************************************************************************************************************************************************************************/ 682/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 683 684"use strict"; 685__webpack_require__.r(__webpack_exports__); 686/* harmony export */ __webpack_require__.d(__webpack_exports__, { 687/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 688/* harmony export */ }); 689/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 690 props: ['choix'], 691 components: {}, 692 data: function data() { 693 return { 694 choices: this.choix ? this.choix : [] 695 }; 696 }, 697 mounted: function mounted() { 698 console.log('Component mounted.'); 699 }, 700 methods: { 701 add: function add() { 702 this.choices.push(['option']); 703 }, 704 remove: function remove() { 705 this.choices.splice(-1); 706 } 707 } 708}); 709 710/***/ }), 711 712/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=script&lang=js&": 713/*!************************************************************************************************************************************************************************************************************!*\ 714 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=script&lang=js& ***! 715 \************************************************************************************************************************************************************************************************************/ 716/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 717 718"use strict"; 719__webpack_require__.r(__webpack_exports__); 720/* harmony export */ __webpack_require__.d(__webpack_exports__, { 721/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 722/* harmony export */ }); 723/* harmony import */ var _partials_ImageNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./partials/ImageNewsletter.vue */ "./resources/assets/js/components/partials/ImageNewsletter.vue"); 724/* harmony import */ var _blocs_Arret_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blocs/Arret.vue */ "./resources/assets/js/components/blocs/Arret.vue"); 725/* harmony import */ var _blocs_TextContent_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blocs/TextContent.vue */ "./resources/assets/js/components/blocs/TextContent.vue"); 726/* harmony import */ var _blocs_ModelContent_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blocs/ModelContent.vue */ "./resources/assets/js/components/blocs/ModelContent.vue"); 727/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js"); 728/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_4__); 729 730 731 732 733 734/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 735 props: ['type', 'campagne', 'newsletter', '_token', 'url', 'title', 'site'], 736 components: { 737 'image-newsletter': _partials_ImageNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__["default"], 738 'arret': _blocs_Arret_vue__WEBPACK_IMPORTED_MODULE_1__["default"], 739 'text-content': _blocs_TextContent_vue__WEBPACK_IMPORTED_MODULE_2__["default"], 740 'model-content': _blocs_ModelContent_vue__WEBPACK_IMPORTED_MODULE_3__["default"], 741 draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_4___default()) 742 }, 743 data: function data() { 744 return { 745 newbloc: { 746 titre: '', 747 contenu: '', 748 image: null, 749 lien: location.protocol + "//" + location.host + "/" 750 }, 751 uploadImage: null, 752 models: [], 753 errors: [], 754 arrets: [], 755 choosen: [], 756 selected: null, 757 model: null, 758 hash: null 759 }; 760 }, 761 watch: { 762 // whenever question changes, this function will run 763 type: function type(newType, oldType) { 764 this.initialize(); 765 }, 766 selected: function selected(newSelected, oldSelected) { 767 this.getSingle(); 768 if (this.type == 7) { 769 this.getArrets(); 770 } 771 if (this.type == 11) { 772 this.getBreves(); 773 } 774 } 775 }, 776 computed: { 777 widthTable: function widthTable() { 778 return this.type == 1 || this.type == 2 || this.type == 6 ? '560' : '375'; 779 }, 780 hasText: function hasText() { 781 return this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 ? true : false; 782 }, 783 hasTitle: function hasTitle() { 784 return this.type == 1 || this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 || this.type == 11 ? true : false; 785 }, 786 hasImage: function hasImage() { 787 return this.type == 1 || this.type == 2 || this.type == 3 || this.type == 4 ? true : false; 788 }, 789 align: function align() { 790 return this.type == 1 ? 'text-align:center;' : 'text-align:left;'; 791 }, 792 path: function path() { 793 if (this.type == 5) { 794 return 'arret'; 795 } 796 if (this.type == 7 || this.type == 10 || this.type == 11) { 797 return 'categorie'; 798 } 799 if (this.type == 8) { 800 return 'product'; 801 } 802 if (this.type == 9) { 803 return 'colloque'; 804 } 805 if (this.type == 12) { 806 return 'analyse'; 807 } 808 return null; 809 }, 810 action: function action() { 811 return this.url; 812 }, 813 color: function color() { 814 return this.newsletter.color; 815 }, 816 droptitles: function droptitles() { 817 return _.orderBy(this.models, 'title'); 818 } 819 }, 820 mounted: function mounted() { 821 this.initialize(); 822 }, 823 methods: { 824 checkMove: function checkMove(evt) { 825 this.errors = []; 826 }, 827 checkCreateNewsletterBlocForm: function checkCreateNewsletterBlocForm(e) { 828 // Validation spécifique pour le type 12 (Chronique) 829 if (this.type == 12) { 830 if (this.selected) { 831 return true; 832 } else { 833 this.errors = []; 834 this.errors.push('Veuillez choisir une chronique.'); 835 e.preventDefault(); 836 return false; 837 } 838 } 839 840 // Validation pour les types drag & drop (7, 11) 841 if (this.type != 7 && this.type != 11 || this.choosen.length > 0) { 842 return true; 843 } 844 this.errors = []; 845 if (!this.choosen.length > 0) { 846 this.errors.push(this.type == 11 ? 'Veuillez choisir au moins une brève.' : 'Veuillez choisir au moins un arrêt.'); 847 } 848 e.preventDefault(); 849 }, 850 makeHash: function makeHash() { 851 this.hash = Math.random().toString(36).substring(7); 852 }, 853 initialize: function initialize() { 854 // remove all content 855 this.newbloc.titre = ''; 856 this.newbloc.contenu = ''; 857 this.model = null; 858 this.arrets = []; 859 860 // initialize textarea and get list of models 861 this.makeHash(); 862 this.getModels(); 863 this.$nextTick(function () { 864 var self = this; 865 $('.redactorBuild_' + self.hash).redactor({ 866 minHeight: '180px', 867 maxHeight: '370px', 868 removeEmpty: ['strong', 'em', 'span', 'p'], 869 lang: 'fr', 870 plugins: ['imagemanager', 'filemanager', 'fontsize', 'fontcolor', 'alignment'], 871 fileUpload: 'admin/uploadRedactor?_token=' + $('meta[name="_token"]').attr('content'), 872 imageUpload: 'admin/uploadRedactor?_token=' + $('meta[name="_token"]').attr('content'), 873 imageManagerJson: 'admin/imageJson?_token=' + $('meta[name="_token"]').attr('content'), 874 fileManagerJson: 'admin/fileJson?_token=' + $('meta[name="_token"]').attr('content'), 875 imageResizable: true, 876 imagePosition: true, 877 linkNewTab: true, 878 formatting: ['h1', 'h2', 'h3', 'p', 'blockquote'], 879 callbacks: { 880 blur: function blur(e) { 881 self.newbloc.contenu = this.source.getCode(); 882 }, 883 enter: function enter(e) { 884 return !(window.event && window.event.keyCode == 13 && window.event.keyCode == 46); 885 } 886 } 887 }); 888 }); 889 }, 890 getModels: function getModels() { 891 var self = this; 892 if (this.path) { 893 // Cas spécial pour les chroniques (type 12) - utiliser la route spéciale 894 if (this.type == 12) { 895 axios.get('admin/ajax/analyses/chroniques/' + (self.site || null)).then(function (response) { 896 self.models = response.data; 897 })["catch"](function (error) { 898 console.log(error); 899 self.models = []; 900 }); 901 } else { 902 axios.get('admin/ajax/list/' + this.path + '/' + self.site).then(function (response) { 903 self.models = response.data; 904 })["catch"](function (error) { 905 console.log(error); 906 }); 907 } 908 } else { 909 this.models = []; 910 } 911 }, 912 getArrets: function getArrets() { 913 var self = this; 914 if (this.selected) { 915 axios.get('admin/ajax/categoriearrets/' + this.selected).then(function (response) { 916 self.arrets = response.data; 917 })["catch"](function (error) { 918 console.log(error); 919 }); 920 } else { 921 this.arrets = []; 922 } 923 }, 924 getBreves: function getBreves() { 925 var self = this; 926 if (this.selected) { 927 axios.post('admin/ajax/categorie/brevesCategories', { 928 id: self.selected 929 }).then(function (response) { 930 self.arrets = response.data; 931 })["catch"](function (error) { 932 console.log(error); 933 }); 934 } else { 935 this.arrets = []; 936 } 937 }, 938 getSingle: function getSingle() { 939 var self = this; 940 if (this.path) { 941 axios.get('admin/ajax/single/' + this.path + '/' + self.selected).then(function (response) { 942 self.model = response.data; 943 })["catch"](function (error) { 944 console.log(error); 945 }); 946 } else { 947 this.model = null; 948 } 949 }, 950 imageUploadedUpdate: function imageUploadedUpdate(value) { 951 this.uploadImage = value; 952 }, 953 close: function close() { 954 this.isEdit = false; 955 this.isImage = false; 956 this.initialize(); 957 this.$emit('cancel', this.cancel); 958 } 959 } 960}); 961 962/***/ }), 963 964/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=script&lang=js&": 965/*!***********************************************************************************************************************************************************************************************************!*\ 966 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=script&lang=js& ***! 967 \***********************************************************************************************************************************************************************************************************/ 968/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 969 970"use strict"; 971__webpack_require__.r(__webpack_exports__); 972/* harmony export */ __webpack_require__.d(__webpack_exports__, { 973/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 974/* harmony export */ }); 975/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 976 props: ['user'], 977 data: function data() { 978 return {}; 979 }, 980 beforeMount: function beforeMount() { 981 this.getData(); 982 }, 983 methods: { 984 getData: function getData() { 985 this.detenteur = this.user; 986 } 987 } 988}); 989 990/***/ }), 991 992/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=script&lang=js&": 993/*!**********************************************************************************************************************************************************************************************************!*\ 994 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=script&lang=js& ***! 995 \**********************************************************************************************************************************************************************************************************/ 996/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 997 998"use strict"; 999__webpack_require__.r(__webpack_exports__); 1000/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1001/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1002/* harmony export */ }); 1003/* harmony import */ var _blocs_Arret_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./blocs/Arret.vue */ "./resources/assets/js/components/blocs/Arret.vue"); 1004/* harmony import */ var _blocs_TextContent_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blocs/TextContent.vue */ "./resources/assets/js/components/blocs/TextContent.vue"); 1005/* harmony import */ var _blocs_ModelContent_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blocs/ModelContent.vue */ "./resources/assets/js/components/blocs/ModelContent.vue"); 1006/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js"); 1007/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_3__); 1008 1009 1010 1011 1012/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1013 props: ['bloc', 'campagne', 'newsletter', 'type', '_token', 'url', 'site'], 1014 components: { 1015 'arret': _blocs_Arret_vue__WEBPACK_IMPORTED_MODULE_0__["default"], 1016 'text-content': _blocs_TextContent_vue__WEBPACK_IMPORTED_MODULE_1__["default"], 1017 'model-content': _blocs_ModelContent_vue__WEBPACK_IMPORTED_MODULE_2__["default"], 1018 draggable: (vuedraggable__WEBPACK_IMPORTED_MODULE_3___default()) 1019 }, 1020 data: function data() { 1021 return { 1022 newbloc: { 1023 titre: this.bloc.titre, 1024 contenu: this.bloc.contenu, 1025 filename: this.bloc.image, 1026 path: this.bloc.path, 1027 lien: this.bloc.lien 1028 }, 1029 visible: false, 1030 activ: true, 1031 models: [], 1032 errors: [], 1033 selected: null, 1034 hash: null, 1035 model: null, 1036 uploadImage: null, 1037 arrets: this.bloc.model && this.bloc.model.listearrets ? this.bloc.model.listearrets : [], 1038 choosen: this.bloc.model && this.bloc.model.choosen ? this.bloc.model.choosen : [] 1039 }; 1040 }, 1041 watch: {}, 1042 computed: { 1043 bloc_id: function bloc_id() { 1044 return 'bloc_' + this.bloc.id; 1045 }, 1046 action: function action() { 1047 return this.url + '/' + this.bloc.id; 1048 ; 1049 }, 1050 path: function path() { 1051 if (this.type == 5) { 1052 return 'arret'; 1053 } 1054 if (this.type == 7 || this.type == 10 || this.type == 11) { 1055 return 'categorie'; 1056 } 1057 if (this.type == 8) { 1058 return 'product'; 1059 } 1060 if (this.type == 9) { 1061 return 'colloque'; 1062 } 1063 if (this.type == 12) { 1064 return 'analyse'; 1065 } 1066 return null; 1067 }, 1068 hasTitle: function hasTitle() { 1069 return this.type == 1 || this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 || this.type == 11 ? true : false; 1070 }, 1071 hasText: function hasText() { 1072 return this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 ? true : false; 1073 }, 1074 hasImage: function hasImage() { 1075 return this.type == 1 || this.type == 2 || this.type == 3 || this.type == 4 ? true : false; 1076 }, 1077 uniqueid: function uniqueid() { 1078 if (this.type == 5) { 1079 return this.bloc.arret_id; 1080 } 1081 if (this.type == 7 || this.type == 10 || this.type == 11) { 1082 return this.bloc.categorie_id || (this.bloc.model && this.bloc.model.categorie ? this.bloc.model.categorie.id : null); 1083 } 1084 if (this.type == 8) { 1085 return this.bloc.product_id; 1086 } 1087 if (this.type == 9) { 1088 return this.bloc.colloque_id; 1089 } 1090 if (this.type == 12) { 1091 return this.bloc.analyse_id; 1092 } 1093 return null; 1094 }, 1095 color: function color() { 1096 return this.newsletter.color; 1097 } 1098 }, 1099 mounted: function mounted() { 1100 this.initialize(); 1101 this.makeHash(); 1102 }, 1103 methods: { 1104 checkMove: function checkMove(evt) { 1105 this.errors = []; 1106 }, 1107 checkEditNewsletterBlockForm: function checkEditNewsletterBlockForm(e) { 1108 if (this.type != 7 && this.type != 11 || this.choosen.length > 0) { 1109 return true; 1110 } 1111 this.errors = []; 1112 if (!this.choosen.length > 0) { 1113 this.errors.push(this.type == 11 ? 'Veuillez choisir au moins une brève.' : 'Veuillez choisir au moins un arrêt.'); 1114 } 1115 e.preventDefault(); 1116 }, 1117 makeVisible: function makeVisible() { 1118 this.visible = this.visible ? false : true; 1119 this.activ = this.visible ? false : true; 1120 this.selected = this.uniqueid ? this.uniqueid : null; 1121 if (this.visible) { 1122 this.hideOriginal(); 1123 } else { 1124 this.showOriginal(); 1125 } 1126 this.$nextTick(function () { 1127 var self = this; 1128 $('.redactorBuild_' + self.hash).redactor({ 1129 minHeight: '180px', 1130 maxHeight: '370px', 1131 removeEmpty: ['strong', 'em', 'span', 'p'], 1132 lang: 'fr', 1133 plugins: ['imagemanager', 'filemanager', 'fontsize', 'fontcolor', 'alignment'], 1134 fileUpload: 'admin/uploadRedactor?_token=' + $('meta[name="_token"]').attr('content'), 1135 imageUpload: 'admin/uploadRedactor?_token=' + $('meta[name="_token"]').attr('content'), 1136 imageManagerJson: 'admin/imageJson?_token=' + $('meta[name="_token"]').attr('content'), 1137 fileManagerJson: 'admin/fileJson?_token=' + $('meta[name="_token"]').attr('content'), 1138 imageResizable: true, 1139 imagePosition: true, 1140 linkNewTab: true, 1141 formatting: ['h1', 'h2', 'h3', 'p', 'blockquote'], 1142 callbacks: { 1143 blur: function blur(e) { 1144 self.newbloc.contenu = this.source.getCode(); 1145 }, 1146 enter: function enter(e) { 1147 return !(window.event && window.event.keyCode == 13 && window.event.keyCode == 46); 1148 } 1149 } 1150 }); 1151 }); 1152 }, 1153 hideOriginal: function hideOriginal() { 1154 this.$nextTick(function () { 1155 $('#' + this.bloc_id).hide(); 1156 $('#btn' + this.bloc_id).hide(); 1157 }); 1158 }, 1159 showOriginal: function showOriginal() { 1160 this.$nextTick(function () { 1161 $('#' + this.bloc_id).show(); 1162 $('#btn' + this.bloc_id).show(); 1163 }); 1164 }, 1165 makeHash: function makeHash() { 1166 this.hash = Math.random().toString(36).substring(7); 1167 }, 1168 initialize: function initialize() { 1169 this.getSingle(); 1170 this.getModels(); 1171 }, 1172 getModels: function getModels() { 1173 var self = this; 1174 if (this.path) { 1175 // Cas spécial pour les chroniques (type 12) - utiliser la route spéciale 1176 if (this.type == 12) { 1177 axios.get('admin/ajax/analyses/chroniques/' + (self.site || null)).then(function (response) { 1178 self.models = response.data; 1179 })["catch"](function (error) { 1180 console.log(error); 1181 self.models = []; 1182 }); 1183 } else { 1184 axios.get('admin/ajax/list/' + this.path + '/' + self.site).then(function (response) { 1185 self.models = response.data; 1186 })["catch"](function (error) { 1187 console.log(error); 1188 }); 1189 } 1190 } else { 1191 this.models = []; 1192 } 1193 }, 1194 getArrets: function getArrets() { 1195 var self = this; 1196 if (this.selected) { 1197 axios.get('admin/ajax/categoriearrets/' + this.selected).then(function (response) { 1198 self.arrets = response.data; 1199 })["catch"](function (error) { 1200 console.log(error); 1201 }); 1202 } else { 1203 this.arrets = this.bloc.model && this.bloc.model.listearrets ? this.bloc.model.listearrets : []; 1204 } 1205 }, 1206 getBreves: function getBreves() { 1207 var self = this; 1208 if (this.selected) { 1209 axios.post('admin/ajax/categorie/brevesCategories', { 1210 id: self.selected 1211 }).then(function (response) { 1212 self.arrets = response.data; 1213 })["catch"](function (error) { 1214 console.log(error); 1215 }); 1216 } else { 1217 this.arrets = this.bloc.model && this.bloc.model.listearrets ? this.bloc.model.listearrets : []; 1218 } 1219 }, 1220 getSingle: function getSingle() { 1221 var self = this; 1222 if (this.path) { 1223 var id = this.selected ? this.selected : this.uniqueid; 1224 if (id) { 1225 axios.get('admin/ajax/single/' + this.path + '/' + id).then(function (response) { 1226 self.model = response.data; 1227 })["catch"](function (error) { 1228 console.log(error); 1229 }); 1230 } 1231 } else { 1232 this.model = null; 1233 } 1234 }, 1235 imageUploadedUpdate: function imageUploadedUpdate(value) { 1236 this.uploadImage = value; 1237 }, 1238 close: function close() { 1239 this.makeVisible(); 1240 } 1241 } 1242}); 1243 1244/***/ }), 1245 1246/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBuild.vue?vue&type=script&lang=js&": 1247/*!***********************************************************************************************************************************************************************************************************!*\ 1248 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBuild.vue?vue&type=script&lang=js& ***! 1249 \***********************************************************************************************************************************************************************************************************/ 1250/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1251 1252"use strict"; 1253__webpack_require__.r(__webpack_exports__); 1254/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1255/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1256/* harmony export */ }); 1257/* harmony import */ var _BuildNewsletterModels_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BuildNewsletterModels.vue */ "./resources/assets/js/components/BuildNewsletterModels.vue"); 1258/* harmony import */ var _BuildNewsletter_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BuildNewsletter.vue */ "./resources/assets/js/components/BuildNewsletter.vue"); 1259/* harmony import */ var _BuildNewsletterGroup_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BuildNewsletterGroup.vue */ "./resources/assets/js/components/BuildNewsletterGroup.vue"); 1260/* harmony import */ var _BuildNewsletterBreves_vue__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BuildNewsletterBreves.vue */ "./resources/assets/js/components/BuildNewsletterBreves.vue"); 1261 1262 1263 1264 1265/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1266 props: ['campagne', '_token', 'url', 'site', 'contents', 'newsletter'], 1267 data: function data() { 1268 return { 1269 list: [] 1270 }; 1271 }, 1272 computed: {}, 1273 components: { 1274 'build-newsletter': _BuildNewsletter_vue__WEBPACK_IMPORTED_MODULE_1__["default"], 1275 'build-newsletter-models': _BuildNewsletterModels_vue__WEBPACK_IMPORTED_MODULE_0__["default"], 1276 'build-newsletter-group': _BuildNewsletterGroup_vue__WEBPACK_IMPORTED_MODULE_2__["default"], 1277 'build-newsletter-breves': _BuildNewsletterBreves_vue__WEBPACK_IMPORTED_MODULE_3__["default"] 1278 }, 1279 mounted: function mounted() { 1280 this.initialize(); 1281 }, 1282 methods: { 1283 initialize: function initialize() { 1284 this.list = this.contents; 1285 }, 1286 deleteContentBloc: function deleteContentBloc(content) {} 1287 } 1288}); 1289 1290/***/ }), 1291 1292/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=script&lang=js&": 1293/*!*********************************************************************************************************************************************************************************************************!*\ 1294 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=script&lang=js& ***! 1295 \*********************************************************************************************************************************************************************************************************/ 1296/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1297 1298"use strict"; 1299__webpack_require__.r(__webpack_exports__); 1300/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1301/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1302/* harmony export */ }); 1303/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1304 props: ['endroit', 'adresses'], 1305 data: function data() { 1306 return { 1307 list: [], 1308 map: '<span class="text-danger">il n\'existe pas de carte</span>', 1309 name: '', 1310 adresse: '' 1311 }; 1312 }, 1313 computed: { 1314 computedEndroit: function computedEndroit() { 1315 return this.endroit; 1316 } 1317 }, 1318 beforeMount: function beforeMount() { 1319 this.selected = this.endroit; 1320 this.getAdresses(); 1321 this.updateAdresse(); 1322 }, 1323 methods: { 1324 getAdresses: function getAdresses() { 1325 this.list = this.adresses; 1326 }, 1327 makeAdresse: function makeAdresse(location) { 1328 this.name = location.name; 1329 this.adresse = location.adresse; 1330 if (location.map) { 1331 this.map = '<img style="max-width:100%;" src="files/colloques/cartes/' + location.map + '" alt="Carte">'; 1332 } 1333 }, 1334 updateAdresse: function updateAdresse() { 1335 var self = this; 1336 axios.post('/admin/location/colloque', { 1337 id: this.selected 1338 }).then(function (response) { 1339 self.makeAdresse(response.data.location); 1340 })["catch"](function (error) { 1341 console.log(error); 1342 }); 1343 } 1344 } 1345}); 1346 1347/***/ }), 1348 1349/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=script&lang=js&": 1350/*!********************************************************************************************************************************************************************************************************************!*\ 1351 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=script&lang=js& ***! 1352 \********************************************************************************************************************************************************************************************************************/ 1353/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1354 1355"use strict"; 1356__webpack_require__.r(__webpack_exports__); 1357/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1358/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1359/* harmony export */ }); 1360/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1361 props: ['livraison', 'facturation', 'main'], 1362 data: function data() { 1363 return { 1364 url: location.protocol + "//" + location.host + "/", 1365 change: false, 1366 changed: false, 1367 livraison_detail: '', 1368 facturation_detail: '', 1369 id: this.facturation ? this.facturation.id : null, 1370 adresse_livraison: this.livraison ? this.livraison : null, 1371 adresse_facturation: this.facturation ? this.facturation : null 1372 }; 1373 }, 1374 mounted: function mounted() { 1375 console.log('Component mounted.'); 1376 this.$forceUpdate(); 1377 this.fetchLivraison(this.adresse_livraison.id); 1378 this.fetchFacturation(this.adresse_facturation.id); 1379 }, 1380 methods: { 1381 open: function open() { 1382 this.change = this.change ? false : true; 1383 this.$nextTick(function () { 1384 var self = this; 1385 $('html, body').animate({ 1386 scrollTop: $('#billing-form').offset().top 1387 }, 600); 1388 }); 1389 }, 1390 fetchLivraison: function fetchLivraison(id) { 1391 var self = this; 1392 axios.get(self.url + 'admin/adresse/getAdresseDetail/' + id, {}).then(function (response) { 1393 //console.log(response.data); 1394 self.livraison_detail = response.data; 1395 })["catch"](function (error) { 1396 console.log(error); 1397 }); 1398 }, 1399 fetchFacturation: function fetchFacturation(id) { 1400 var self = this; 1401 axios.get(self.url + 'admin/adresse/getAdresseDetail/' + id, {}).then(function (response) { 1402 // console.log(response.data); 1403 self.facturation_detail = response.data; 1404 console.log(self.facturation_detail); 1405 })["catch"](function (error) { 1406 console.log(error); 1407 }); 1408 }, 1409 update: function update() { 1410 console.log('update'); 1411 var self = this; 1412 axios.post(self.url + 'admin/adresse/createOrUpdateFacturation', this.facturation).then(function (response) { 1413 self.adresse_facturation = response.data; 1414 self.fetchFacturation(self.adresse_facturation.id); 1415 $('html, body').animate({ 1416 scrollTop: $('#inscriptionForm').offset().top 1417 }, 600); 1418 self.change = false; 1419 self.changed = true; 1420 setTimeout(function () { 1421 self.changed = false; 1422 }, 3000); 1423 })["catch"](function (error) { 1424 console.log(error); 1425 }); 1426 } 1427 } 1428}); 1429 1430/***/ }), 1431 1432/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=script&lang=js&": 1433/*!***************************************************************************************************************************************************************************************************************!*\ 1434 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=script&lang=js& ***! 1435 \***************************************************************************************************************************************************************************************************************/ 1436/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1437 1438"use strict"; 1439__webpack_require__.r(__webpack_exports__); 1440/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1441/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1442/* harmony export */ }); 1443/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1444 props: ['selected', 'checked', 'operator', 'terms', 'checkeddeleted'], 1445 data: function data() { 1446 return { 1447 types: [{ 1448 'name': 'Compte utilisateur', 1449 'value': 'user' 1450 }, { 1451 'name': 'Adresse', 1452 'value': 'adresse' 1453 }], 1454 searchTerms: this.terms, 1455 columns: { 1456 user: [{ 1457 'name': 'Nom', 1458 'label': 'last_name' 1459 }, { 1460 'name': 'Prénom', 1461 'label': 'first_name' 1462 }, { 1463 'name': 'Email', 1464 'label': 'email' 1465 }, { 1466 'name': 'Entreprise', 1467 'label': 'company' 1468 }], 1469 adresse: [{ 1470 'name': 'Nom', 1471 'label': 'last_name' 1472 }, { 1473 'name': 'Prénom', 1474 'label': 'first_name' 1475 }, { 1476 'name': 'Email', 1477 'label': 'email' 1478 }, { 1479 'name': 'Entreprise', 1480 'label': 'company' 1481 }, { 1482 'name': 'Adresse ', 1483 'label': 'adresse ' 1484 }, { 1485 'name': 'NPA', 1486 'label': 'npa' 1487 }, { 1488 'name': 'Ville', 1489 'label': 'ville' 1490 }] 1491 } 1492 }; 1493 }, 1494 computed: { 1495 choosencolumns: function choosencolumns() { 1496 return this.columns[this.selected]; 1497 } 1498 }, 1499 components: {}, 1500 mounted: function mounted() {}, 1501 methods: { 1502 addTerm: function addTerm() { 1503 this.searchTerms.push({ 1504 'column': 'first_name', 1505 'value': ' ' 1506 }); 1507 }, 1508 removeTerm: function removeTerm(term) { 1509 this.searchTerms.splice(term, 1); 1510 }, 1511 updateType: function updateType() {} 1512 } 1513}); 1514 1515/***/ }), 1516 1517/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Generate.vue?vue&type=script&lang=js&": 1518/*!**********************************************************************************************************************************************************************************************************!*\ 1519 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Generate.vue?vue&type=script&lang=js& ***! 1520 \**********************************************************************************************************************************************************************************************************/ 1521/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1522 1523"use strict"; 1524__webpack_require__.r(__webpack_exports__); 1525/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1526/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1527/* harmony export */ }); 1528/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1529 props: ['order', 'path'], 1530 data: function data() { 1531 return { 1532 link: null, 1533 loading: false, 1534 isVisible: true 1535 }; 1536 }, 1537 computed: { 1538 computedOrder: function computedOrder() { 1539 return this.order; 1540 }, 1541 computedPath: function computedPath() { 1542 return this.path; 1543 } 1544 }, 1545 methods: { 1546 generate: function generate() { 1547 this.loading = true; 1548 this.isVisible = false; 1549 var self = this; 1550 axios.post('/admin/' + this.path + '/generate', { 1551 id: this.order 1552 }).then(function (response) { 1553 console.log(response.data); 1554 // set data on vm 1555 self.link = response.data.link; 1556 self.loading = false; 1557 self.isVisible = true; 1558 })["catch"](function (error) { 1559 console.log(error); 1560 }); 1561 } 1562 } 1563}); 1564 1565/***/ }), 1566 1567/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=script&lang=js&": 1568/*!***************************************************************************************************************************************************************************************************************!*\ 1569 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=script&lang=js& ***! 1570 \***************************************************************************************************************************************************************************************************************/ 1571/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1572 1573"use strict"; 1574__webpack_require__.r(__webpack_exports__); 1575/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1576/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1577/* harmony export */ }); 1578/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1579 props: ['inputname', 'id', 'wrapper'], 1580 data: function data() { 1581 return { 1582 path: 'files/uploads', 1583 files: [], 1584 chosen: false, 1585 filename: '', 1586 loading: false 1587 }; 1588 }, 1589 computed: {}, 1590 mounted: function mounted() { 1591 this.getFiles(); 1592 var self = this; 1593 this.$nextTick(function () { 1594 Dropzone.autoDiscover = false; 1595 if ($('#dropzone_' + this.id).length) { 1596 var myDropzone = new Dropzone("#dropzone_" + this.id, { 1597 url: "admin/upload", 1598 dictDefaultMessage: " Ajouter un fichier", 1599 dictRemoveFile: "OK", 1600 thumbnailWidth: 100, 1601 thumbnailHeight: 80, 1602 addRemoveLinks: true 1603 }); 1604 myDropzone.on('sending', function (file, xhr, formData) { 1605 formData.append('path', self.path); 1606 formData.append('_token', $("meta[name='_token']").attr('content')); 1607 }); 1608 myDropzone.on("success", function (file, response) { 1609 console.log(response.filename); 1610 self.addFile(response.filename); 1611 }); 1612 } 1613 }); 1614 }, 1615 methods: { 1616 getFiles: function getFiles() { 1617 this.loading = true; 1618 var self = this; 1619 axios.post('/admin/getfiles', { 1620 path: this.path, 1621 flat: true 1622 }).then(function (response) { 1623 self.files = response.data.files; 1624 self.loading = false; 1625 })["catch"](function (error) { 1626 console.log(error); 1627 }); 1628 }, 1629 deleteFile: function deleteFile(path) { 1630 var self = this; 1631 axios.post('/admin/files/delete', { 1632 path: path 1633 }).then(function (response) { 1634 var answer = confirm('Voulez-vous vraiment supprimer ' + path + ' ?'); 1635 if (answer) { 1636 self.files.splice(self.files.indexOf(path), 1); 1637 } 1638 })["catch"](function (error) { 1639 console.log(error); 1640 }); 1641 }, 1642 chosenFile: function chosenFile(path) { 1643 this.filename = path; 1644 this.chosen = true; 1645 this.$emit('imageChoosen', this.filename); 1646 $('#myModal_' + this.id).modal('hide'); 1647 }, 1648 addFile: function addFile(file) { 1649 this.files.push(file); 1650 }, 1651 removeFile: function removeFile() { 1652 this.filename = null; 1653 this.chosen = false; 1654 }, 1655 isActive: function isActive(path) { 1656 return this.directory === path ? true : false; 1657 }, 1658 isImage: function isImage(filename) { 1659 var get_ext = filename.split('.').reverse(); 1660 var exts = ['jpg', 'jpeg', 'png', 'gif']; 1661 return $.inArray(get_ext[0].toLowerCase(), exts) > -1 ? true : false; 1662 } 1663 } 1664}); 1665 1666/***/ }), 1667 1668/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=script&lang=js&": 1669/*!***************************************************************************************************************************************************************************************************************!*\ 1670 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=script&lang=js& ***! 1671 \***************************************************************************************************************************************************************************************************************/ 1672/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1673 1674"use strict"; 1675__webpack_require__.r(__webpack_exports__); 1676/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1677/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1678/* harmony export */ }); 1679/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1680 props: ['site', 'years', 'categories', 'slug'], 1681 data: function data() { 1682 return { 1683 list: [], 1684 annees: [], 1685 blocs: [], 1686 checked: [], 1687 loading: false, 1688 display: 0, 1689 url: location.protocol + "//" + location.host + "/" 1690 }; 1691 }, 1692 computed: { 1693 computedSite: function computedSite() { 1694 return this.site; 1695 } 1696 }, 1697 mounted: function mounted() { 1698 this.getCategories(); 1699 this.getAnnees(); 1700 var self = this; 1701 this.loading = true; 1702 this.changed([], []); 1703 this.$nextTick(function () { 1704 var self = this; 1705 $('#chosen-select-app').chosen(); 1706 $("#chosen-select-app").chosen().change(function (evt, params) { 1707 var categories = $(this).val(); 1708 var years = self.checked ? self.checked : null; 1709 self.changed(categories, years); 1710 }); 1711 }); 1712 }, 1713 methods: { 1714 filterYears: function filterYears() { 1715 var categories = $('#chosen-select-app').val(); 1716 var years = this.checked ? this.checked : null; 1717 this.changed(categories, years); 1718 }, 1719 getCategories: function getCategories() { 1720 this.list = this.categories; 1721 }, 1722 getAnnees: function getAnnees() { 1723 this.annees = this.years; 1724 }, 1725 updateArrets: function updateArrets(arrets) { 1726 this.blocs = arrets; 1727 }, 1728 changed: function changed(selected, checked) { 1729 this.loading = true; 1730 var self = this; 1731 axios.post('/vue/arrets', { 1732 site: this.site, 1733 categories: selected, 1734 years: checked, 1735 display: this.display 1736 }).then(function (response) { 1737 setTimeout(function () { 1738 self.updateArrets(response.data.arrets); 1739 self.loading = false; 1740 }, 500); 1741 })["catch"](function (error) { 1742 console.log(error); 1743 }); 1744 } 1745 } 1746}); 1747 1748/***/ }), 1749 1750/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=script&lang=js&": 1751/*!******************************************************************************************************************************************************************************************************************!*\ 1752 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=script&lang=js& ***! 1753 \******************************************************************************************************************************************************************************************************************/ 1754/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1755 1756"use strict"; 1757__webpack_require__.r(__webpack_exports__); 1758/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1759/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1760/* harmony export */ }); 1761/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1762 props: ['type', 'chosen_id'], 1763 data: function data() { 1764 return { 1765 chosen: { 1766 civilite: '', 1767 name: '', 1768 company: '', 1769 adresse: '', 1770 cp: '', 1771 npa: '', 1772 ville: '', 1773 user_id: null 1774 }, 1775 hasChosen: false, 1776 noResult: false, 1777 searching: false 1778 }; 1779 }, 1780 mounted: function mounted() { 1781 if (this.chosen_id) { 1782 this.fetch(); 1783 } 1784 this.$nextTick(function () { 1785 var self = this; 1786 $(".search-adresse-autocomplete_" + this.type).keypress(function (e) { 1787 var code = e.keyCode ? e.keyCode : e.which; 1788 if (code == 13) { 1789 //Enter keycode 1790 return false; 1791 } 1792 }); 1793 $(".search-adresse-autocomplete_" + this.type).blur(function () { 1794 if ($(this).val() === '') { 1795 self.noResult = false; 1796 } 1797 }); 1798 $(".search-adresse-autocomplete_" + this.type).autocomplete({ 1799 source: base_url + 'vue/autocomplete', 1800 minLength: 2, 1801 search: function search(event, ui) { 1802 self.searching = true; 1803 }, 1804 select: function select(event, ui) { 1805 self.chosen = ui.item.user; 1806 self.hasChosen = true; 1807 self.searching = false; 1808 self.noResult = false; 1809 console.log(ui.item.user); 1810 return false; 1811 }, 1812 response: function response(event, ui) { 1813 if (ui.content.length === 0) { 1814 self.searching = false; 1815 self.noResult = true; 1816 } 1817 }, 1818 change: function change(event, ui) { 1819 console.log($(this).val()); 1820 self.searching = false; 1821 if ($(this).val() === '') { 1822 self.noResult = false; 1823 } 1824 } 1825 }).autocomplete("instance")._renderItem = function (ul, item) { 1826 return $("<li>").append("<a>" + item.label + "<span>" + item.desc + "</span><span>" + item.company + "</span></a>").appendTo(ul); 1827 }; 1828 }); 1829 }, 1830 methods: { 1831 remove: function remove() { 1832 this.hasChosen = false; 1833 this.chosen = { 1834 civilite: '', 1835 name: '', 1836 company: '', 1837 adresse: '', 1838 cp: '', 1839 npa: '', 1840 ville: '', 1841 user_id: null 1842 }; 1843 this.user_id = null; 1844 }, 1845 updateOptions: function updateOptions(options) { 1846 this.options = options; 1847 }, 1848 fetch: function fetch() { 1849 var self = this; 1850 axios.get('admin/user/getUser/' + this.chosen_id, {}).then(function (response) { 1851 console.log(response.data); 1852 self.chosen = response.data; 1853 self.hasChosen = true; 1854 self.noResult = false; 1855 })["catch"](function (error) { 1856 console.log(error); 1857 }); 1858 } 1859 } 1860}); 1861 1862/***/ }), 1863 1864/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=script&lang=js&": 1865/*!*****************************************************************************************************************************************************************************************************!*\ 1866 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=script&lang=js& ***! 1867 \*****************************************************************************************************************************************************************************************************/ 1868/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1869 1870"use strict"; 1871__webpack_require__.r(__webpack_exports__); 1872/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1873/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1874/* harmony export */ }); 1875/* harmony import */ var vue_select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue-select */ "./node_modules/vue-select/dist/vue-select.js"); 1876/* harmony import */ var vue_select__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vue_select__WEBPACK_IMPORTED_MODULE_0__); 1877/* harmony import */ var vue_select_dist_vue_select_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-select/dist/vue-select.css */ "./node_modules/vue-select/dist/vue-select.css"); 1878 1879 1880/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1881 props: ['lois', 'dispositions', 'arret_id', 'site_id'], 1882 computed: {}, 1883 components: { 1884 'vSelect': (vue_select__WEBPACK_IMPORTED_MODULE_0___default()) 1885 }, 1886 data: function data() { 1887 return { 1888 loading: false, 1889 newLoi: { 1890 name: "", 1891 sigle: "", 1892 droit: 1, 1893 site_id: this.site_id 1894 }, 1895 newDisposition: { 1896 arret_id: this.arret_id, 1897 loi: null, 1898 numero: "", 1899 alinea: "", 1900 chiffre: "", 1901 lettre: "" 1902 }, 1903 listLois: [], 1904 listDispositions: [], 1905 arretId: this.arret_id, 1906 addLoi: false, 1907 selected: null 1908 }; 1909 }, 1910 mounted: function mounted() { 1911 this.getItems(); 1912 }, 1913 methods: { 1914 getItems: function getItems() { 1915 this.listLois = this.lois; 1916 this.listDispositions = this.dispositions; 1917 }, 1918 what: function what(val) {}, 1919 showAddLoi: function showAddLoi() { 1920 this.addLoi = true; 1921 }, 1922 updateLois: function updateLois(lois) { 1923 this.listLois = lois; 1924 }, 1925 addNewLoi: function addNewLoi() { 1926 var self = this; 1927 console.log(JSON.stringify(self.newLoi)); 1928 axios.post('/admin/loi', self.newLoi).then(function (response) { 1929 console.log(JSON.stringify(response)); 1930 self.updateLois(response.data.lois); 1931 self.addLoi = false; 1932 })["catch"](function (error) { 1933 console.log(error); 1934 }); 1935 }, 1936 addNewDisposition: function addNewDisposition() { 1937 var self = this; 1938 this.loading = true; 1939 console.log(JSON.stringify(self.newDisposition)); 1940 axios.post('/admin/loi-article/storeAjax', self.newDisposition).then(function (response) { 1941 self.newDisposition = { 1942 arret_id: self.arretId, 1943 loi: null, 1944 numero: "", 1945 alinea: "", 1946 chiffre: "", 1947 lettre: "" 1948 }; 1949 console.log(self.selected); 1950 self.selected = null; 1951 self.updateDispositions(response.data.dispositions); 1952 self.loading = false; 1953 })["catch"](function (error) { 1954 console.log(error.response.data); 1955 alert('Erreur:' + error.response.data.message); 1956 }); 1957 }, 1958 updateDispositions: function updateDispositions(dispositions) { 1959 this.listDispositions = dispositions; 1960 }, 1961 removeDisposition: function removeDisposition(id) { 1962 var self = this; 1963 this.loading = true; 1964 axios.post('/admin/loi-article/' + id, { 1965 '_method': 'DELETE' 1966 }).then(function (response) { 1967 self.updateDispositions(response.data.dispositions); 1968 self.loading = false; 1969 })["catch"](function (error) { 1970 console.log(error); 1971 }); 1972 } 1973 } 1974}); 1975 1976/***/ }), 1977 1978/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=script&lang=js&": 1979/*!*********************************************************************************************************************************************************************************************************!*\ 1980 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=script&lang=js& ***! 1981 \*********************************************************************************************************************************************************************************************************/ 1982/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 1983 1984"use strict"; 1985__webpack_require__.r(__webpack_exports__); 1986/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1987/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1988/* harmony export */ }); 1989/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 1990 props: ['name', 'thumbs', 'input', 'id', 'root'], 1991 data: function data() { 1992 return { 1993 directories: [], 1994 path: 'files/uploads', 1995 url: location.protocol + "//" + location.host + "/", 1996 files: [], 1997 chosen: false, 1998 filename: '', 1999 directory: '', 2000 loading: false 2001 }; 2002 }, 2003 computed: { 2004 displayPath: function displayPath(path) { 2005 return this.thumbs.indexOf(this.directory) === 0 ? '/thumbs' : ''; 2006 } 2007 }, 2008 mounted: function mounted() { 2009 this.getDirectories(); 2010 var self = this; 2011 this.$nextTick(function () { 2012 var myDropzone = new Dropzone("#dropzone_" + this.id, { 2013 url: "admin/upload", 2014 dictDefaultMessage: " Ajouter un fichier", 2015 dictRemoveFile: "Enlever", 2016 thumbnailWidth: 100, 2017 thumbnailHeight: 80, 2018 addRemoveLinks: true 2019 }); 2020 myDropzone.on('sending', function (file, xhr, formData) { 2021 formData.append('path', self.path); 2022 formData.append('_token', $("meta[name='_token']").attr('content')); 2023 }); 2024 myDropzone.on("success", function (file) { 2025 self.addFile(file); 2026 }); 2027 }); 2028 }, 2029 methods: { 2030 getDirectories: function getDirectories() { 2031 var self = this; 2032 axios.get('/admin/gettree').then(function (response) { 2033 self.directories = response.data.directories; 2034 })["catch"](function (error) { 2035 console.log(error); 2036 }); 2037 }, 2038 chosenFolder: function chosenFolder(path) { 2039 this.loading = true; 2040 this.directory = path.replace("files/", ""); 2041 this.files = null; 2042 var self = this; 2043 axios.post('/admin/getfiles', { 2044 path: path 2045 }).then(function (response) { 2046 self.files = response.data.files; 2047 self.path = path; 2048 self.$nextTick(function () { 2049 self.loading = false; 2050 }); 2051 })["catch"](function (error) { 2052 console.log(error); 2053 }); 2054 }, 2055 deleteFile: function deleteFile(path) { 2056 var self = this; 2057 axios.post('/admin/files/delete', { 2058 path: path 2059 }).then(function (response) { 2060 var answer = confirm('Voulez-vous vraiment supprimer ' + path + ' ?'); 2061 if (answer) { 2062 self.files.splice(self.files.indexOf(path), 1); 2063 } 2064 })["catch"](function (error) { 2065 console.log(error); 2066 }); 2067 }, 2068 chosenFile: function chosenFile(path) { 2069 this.filename = path; 2070 this.chosen = true; 2071 $('#myModal_' + this.id).modal('hide'); 2072 }, 2073 addFile: function addFile(file) { 2074 this.files.push(file.name); 2075 }, 2076 removeFile: function removeFile() { 2077 this.filename = null; 2078 this.chosen = false; 2079 }, 2080 isActive: function isActive(path) { 2081 return this.directory === path ? true : false; 2082 }, 2083 isImage: function isImage(filename) { 2084 var get_ext = filename.split('.').reverse(); 2085 var exts = ['jpg', 'jpeg', 'png', 'gif']; 2086 return $.inArray(get_ext[0].toLowerCase(), exts) > -1 ? true : false; 2087 }, 2088 nom: function nom(fullPath) { 2089 return fullPath.replace(/^.*[\\\/]/, ''); 2090 } 2091 } 2092}); 2093 2094/***/ }), 2095 2096/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=script&lang=js&": 2097/*!************************************************************************************************************************************************************************************************************!*\ 2098 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=script&lang=js& ***! 2099 \************************************************************************************************************************************************************************************************************/ 2100/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2101 2102"use strict"; 2103__webpack_require__.r(__webpack_exports__); 2104/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2105/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2106/* harmony export */ }); 2107/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2108 props: ['occurrences', 'locations', 'colloque', 'prices'], 2109 data: function data() { 2110 return { 2111 list: [], 2112 loc: [], 2113 prix: [], 2114 nouveau: { 2115 title: '', 2116 lieux_id: '', 2117 starting_at: '', 2118 capacite_salle: '', 2119 colloque_id: this.colloque, 2120 prices: [] 2121 }, 2122 add: false, 2123 errors: [] 2124 }; 2125 }, 2126 beforeMount: function beforeMount() { 2127 this.getOccurrences(); 2128 this.getLocations(); 2129 this.getPrices(); 2130 }, 2131 methods: { 2132 edit: function edit(occurence) { 2133 this.list[occurence.id].state = true; 2134 this.$nextTick(function () { 2135 $.fn.datepicker.dates['fr'] = { 2136 days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'], 2137 daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'], 2138 daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'], 2139 months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'], 2140 monthsShort: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc'], 2141 today: "Aujourd'hui", 2142 clear: "Clear" 2143 }; 2144 $('.datePickerApp').datepicker({ 2145 format: 'yyyy-mm-dd', 2146 language: 'fr' 2147 }).on('changeDate', function (ev) { 2148 occurence.starting_at = ev.target.value; 2149 }); 2150 }); 2151 }, 2152 "delete": function _delete(occurence) { 2153 this.list[occurence.id].state = false; 2154 }, 2155 getOccurrences: function getOccurrences() { 2156 this.list = this.occurrences; 2157 this.$nextTick(function () { 2158 $.fn.datepicker.dates['fr'] = { 2159 days: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'], 2160 daysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'], 2161 daysMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'], 2162 months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'], 2163 monthsShort: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc'], 2164 today: "Aujourd'hui", 2165 clear: "Clear" 2166 }; 2167 var self = this; 2168 $('.datePickerNew').datepicker({ 2169 format: 'yyyy-mm-dd', 2170 language: 'fr' 2171 }).on('changeDate', function (ev) { 2172 self.nouveau.starting_at = ev.target.value; 2173 }); 2174 }); 2175 }, 2176 getLocations: function getLocations() { 2177 this.loc = this.locations; 2178 }, 2179 getPrices: function getPrices() { 2180 this.prix = this.prices; 2181 }, 2182 updateOccurrences: function updateOccurrences(occurrences) { 2183 this.list = occurrences; 2184 }, 2185 checkForm: function checkForm() { 2186 if (this.nouveau.title && this.nouveau.lieux_id && this.nouveau.starting_at && this.nouveau.capacite_salle) return true; 2187 this.errors = []; 2188 if (!this.nouveau.title) this.errors.push("Titre requis."); 2189 if (!this.nouveau.lieux_id) this.errors.push("Lieu requis."); 2190 if (!this.nouveau.starting_at) this.errors.push("Date requise."); 2191 if (!this.nouveau.capacite_salle) this.errors.push("Capacité requise."); 2192 return false; 2193 }, 2194 ajouterOccurence: function ajouterOccurence() { 2195 if (this.checkForm()) { 2196 var self = this; 2197 axios.post('/vue/occurrence', { 2198 occurrence: this.nouveau 2199 }).then(function (response) { 2200 self.updateOccurrences(response.data.occurrences); 2201 self.resetform(); 2202 })["catch"](function (error) { 2203 console.log(error); 2204 }); 2205 } 2206 }, 2207 ajouter: function ajouter() { 2208 this.add = true; 2209 }, 2210 resetform: function resetform() { 2211 this.add = false; 2212 this.nouveau = { 2213 title: '', 2214 lieux_id: '', 2215 starting_at: '', 2216 capacite_salle: '', 2217 colloque_id: this.colloque, 2218 prices: [] 2219 }; 2220 }, 2221 save: function save(occurence) { 2222 var occurrence = this.list[occurence.id]; 2223 var self = this; 2224 axios.post('/vue/occurrence/' + occurrence.id, { 2225 occurrence: occurrence, 2226 '_method': 'put' 2227 }).then(function (response) { 2228 self.updateOccurrences(response.data.occurrences); 2229 })["catch"](function (error) { 2230 console.log(error); 2231 }); 2232 }, 2233 deleteOccurrence: function deleteOccurrence(occurence) { 2234 var model = this.list[occurence.id]; 2235 var self = this; 2236 axios.post('/vue/occurrence/' + model.id, { 2237 '_method': 'DELETE' 2238 }).then(function (response) { 2239 self.updateOccurrences(response.data.occurrences); 2240 })["catch"](function (error) { 2241 console.log(error); 2242 }); 2243 } 2244 } 2245}); 2246 2247/***/ }), 2248 2249/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=script&lang=js&": 2250/*!**************************************************************************************************************************************************************************************************************!*\ 2251 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=script&lang=js& ***! 2252 \**************************************************************************************************************************************************************************************************************/ 2253/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2254 2255"use strict"; 2256__webpack_require__.r(__webpack_exports__); 2257/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2258/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2259/* harmony export */ }); 2260/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2261 props: ['organisateur', 'adresses'], 2262 data: function data() { 2263 return { 2264 list: [], 2265 logo: '<span class="text-danger">il n\'existe pas de logo</span>', 2266 name: '', 2267 adresse: '' 2268 }; 2269 }, 2270 computed: { 2271 computedEndroit: function computedEndroit() { 2272 return this.organisateur; 2273 } 2274 }, 2275 beforeMount: function beforeMount() { 2276 this.selected = this.organisateur; 2277 this.getAdresses(); 2278 this.updateAdresse(); 2279 }, 2280 methods: { 2281 getAdresses: function getAdresses() { 2282 this.list = this.adresses; 2283 }, 2284 makeAdresse: function makeAdresse(organisateur) { 2285 this.name = organisateur.name; 2286 this.adresse = organisateur.adresse; 2287 if (organisateur.logo) { 2288 this.logo = '<img style="max-width:100%;max-height:100px;" src="files/logos/' + organisateur.logo + '" alt="Logo">'; 2289 } 2290 }, 2291 updateAdresse: function updateAdresse() { 2292 var self = this; 2293 axios.post('/admin/organisateur/colloque', { 2294 id: this.selected 2295 }).then(function (response) { 2296 self.makeAdresse(response.data.organisateur); 2297 })["catch"](function (error) { 2298 console.log(error); 2299 }); 2300 } 2301 } 2302}); 2303 2304/***/ }), 2305 2306/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ProductSelect.vue?vue&type=script&lang=js&": 2307/*!***************************************************************************************************************************************************************************************************************!*\ 2308 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ProductSelect.vue?vue&type=script&lang=js& ***! 2309 \***************************************************************************************************************************************************************************************************************/ 2310/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2311 2312"use strict"; 2313__webpack_require__.r(__webpack_exports__); 2314/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2315/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2316/* harmony export */ }); 2317/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2318 props: ['products', 'old'], 2319 data: function data() { 2320 return { 2321 choosen: [{ 2322 products: null, 2323 qty: null, 2324 rabais: null, 2325 price: null, 2326 gratuit: null 2327 }] 2328 }; 2329 }, 2330 mounted: function mounted() { 2331 console.log('Component mounted.'); 2332 this.init(); 2333 }, 2334 methods: { 2335 init: function init() { 2336 this.$nextTick(function () { 2337 var self = this; 2338 $('.chosen-select').chosen({ 2339 templateSelection: function templateSelection(data, container) { 2340 // Add custom attributes to the <option> tag for the selected option 2341 $(data.element).attr('data-index', data.index); 2342 return data.text; 2343 } 2344 }); 2345 $('.chosen-select').on('change', function (e) { 2346 var data = $(this).val(); 2347 var index = $(this).attr('data-index'); 2348 // hide error 2349 $('#error_' + index).hide(); 2350 2351 // put selected product in choosen 2352 self.choosen[index].products = data; 2353 var qty = self.choosen[index].qty; 2354 2355 // check 2356 if (qty > 0) { 2357 self.check(index); 2358 } 2359 console.log(self.choosen[index].products); 2360 }); 2361 }); 2362 }, 2363 add: function add() { 2364 this.choosen.push({ 2365 products: null, 2366 qty: null, 2367 rabais: null, 2368 price: null, 2369 gratuit: null 2370 }); 2371 this.init(); 2372 }, 2373 remove: function remove() { 2374 this.choosen.splice(-1); 2375 }, 2376 hide: function hide(index) { 2377 $('#error_' + index).hide(); 2378 }, 2379 check: function check(index) { 2380 var id = this.choosen[index].products; 2381 var qty = this.choosen[index].qty; 2382 var self = this; 2383 axios.post('/admin/stock/qty', { 2384 id: id, 2385 qty: qty 2386 }).then(function (response) { 2387 if (response.data.result === 0) { 2388 $('#error_' + index).show(); 2389 } else { 2390 $('#error_' + index).hide(); 2391 } 2392 })["catch"](function (error) { 2393 console.log(error); 2394 }); 2395 } 2396 } 2397}); 2398 2399/***/ }), 2400 2401/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=script&lang=js&": 2402/*!*************************************************************************************************************************************************************************************************************!*\ 2403 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=script&lang=js& ***! 2404 \*************************************************************************************************************************************************************************************************************/ 2405/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2406 2407"use strict"; 2408__webpack_require__.r(__webpack_exports__); 2409/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2410/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2411/* harmony export */ }); 2412/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2413 props: ['avis'], 2414 data: function data() { 2415 return { 2416 rows: this.avis, 2417 updated: false, 2418 path: location.protocol + "//" + location.host + "/admin/avis/" 2419 }; 2420 }, 2421 mounted: function mounted() { 2422 console.log('Component mounted.'); 2423 }, 2424 methods: { 2425 archive: function archive(question) { 2426 var self = this; 2427 axios.post(this.path + 'updateAjax', { 2428 id: question.id 2429 }).then(function (response) { 2430 if (response.data) { 2431 self.updated = true; 2432 //self.rows = response.data; 2433 question["class"] = 1; 2434 setTimeout(function () { 2435 self.updated = false; 2436 question.hidden = 1; 2437 }, 1000); 2438 } 2439 })["catch"](function (error) { 2440 console.log(error); 2441 }); 2442 }, 2443 remove: function remove(question) { 2444 var self = this; 2445 axios.post(this.path + 'deleteAjax', { 2446 id: question.id 2447 }).then(function (response) { 2448 self.rows = response.data; 2449 })["catch"](function (error) { 2450 console.log(error); 2451 }); 2452 } 2453 } 2454}); 2455 2456/***/ }), 2457 2458/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=script&lang=js&": 2459/*!********************************************************************************************************************************************************************************************************!*\ 2460 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=script&lang=js& ***! 2461 \********************************************************************************************************************************************************************************************************/ 2462/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2463 2464"use strict"; 2465__webpack_require__.r(__webpack_exports__); 2466/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2467/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2468/* harmony export */ }); 2469/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2470 props: ['colloque_id', 'user'], 2471 data: function data() { 2472 return { 2473 searchQuery: "", 2474 searchResult: false, 2475 message: '', 2476 value: '', 2477 isValid: null, 2478 isInvalid: null, 2479 rabais_id: null, 2480 url: location.protocol + "//" + location.host + "/" 2481 }; 2482 }, 2483 computed: { 2484 valideValue: function valideValue() { 2485 return this.searchResult.result ? 'Valide' : 'Ce rabais n\'est pas valide'; 2486 } 2487 }, 2488 methods: { 2489 apply: function apply() { 2490 var self = this; 2491 axios.get(this.url + 'vue/rabais/' + this.user.id + '/' + this.colloque_id).then(function (response) { 2492 self.searchResult = response.data; 2493 self.message = self.searchResult.message; 2494 self.value = self.searchResult.value; 2495 if (self.searchResult.result) { 2496 self.isValid = true; 2497 self.isInvalid = false; 2498 self.rabais_id = response.data.rabais; 2499 } else { 2500 self.isInvalid = true; 2501 self.isValid = false; 2502 } 2503 }); 2504 } 2505 } 2506}); 2507 2508/***/ }), 2509 2510/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rappel.vue?vue&type=script&lang=js&": 2511/*!********************************************************************************************************************************************************************************************************!*\ 2512 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rappel.vue?vue&type=script&lang=js& ***! 2513 \********************************************************************************************************************************************************************************************************/ 2514/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2515 2516"use strict"; 2517__webpack_require__.r(__webpack_exports__); 2518/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2519/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2520/* harmony export */ }); 2521/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2522 props: ['item', 'rappels', 'path'], 2523 data: function data() { 2524 return { 2525 list: [], 2526 loading: true, 2527 isVisible: true, 2528 toPrint: false 2529 }; 2530 }, 2531 computed: { 2532 computedOrder: function computedOrder() { 2533 return this.item; 2534 }, 2535 computedNumber: function computedNumber() { 2536 return 'makeRappel_' + this.item; 2537 } 2538 }, 2539 mounted: function mounted() { 2540 this.getRappels(); 2541 this.loading = false; 2542 }, 2543 methods: { 2544 getButtonId: function getButtonId() { 2545 return 'makeRappel_' + this.item; 2546 }, 2547 getRappels: function getRappels() { 2548 this.list = this.rappels; 2549 }, 2550 updateRappels: function updateRappels(rappels) { 2551 this.list = rappels; 2552 }, 2553 generate: function generate(e) { 2554 this.loading = true; 2555 this.isVisible = false; 2556 e.preventDefault(); 2557 var print = this.toPrint ? 1 : null; 2558 var self = this; 2559 axios.post('/admin/' + this.path + '/rappel/generate', { 2560 id: this.item, 2561 print: print 2562 }).then(function (response) { 2563 //small delay for pdf generation completion 2564 setTimeout(function () { 2565 self.updateRappels(response.data.rappels); 2566 self.loading = false; 2567 }, 500); 2568 })["catch"](function (error) { 2569 console.log(error); 2570 }); 2571 }, 2572 remove: function remove(id) { 2573 this.loading = true; 2574 var self = this; 2575 axios.post('/admin/' + this.path + '/rappel/' + id, { 2576 item: this.item, 2577 '_method': 'DELETE' 2578 }).then(function (response) { 2579 console.log(response); 2580 self.updateRappels(response.data.rappels); 2581 self.loading = false; 2582 })["catch"](function (error) { 2583 console.log(error); 2584 }); 2585 } 2586 } 2587}); 2588 2589/***/ }), 2590 2591/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Tags.vue?vue&type=script&lang=js&": 2592/*!******************************************************************************************************************************************************************************************************!*\ 2593 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Tags.vue?vue&type=script&lang=js& ***! 2594 \******************************************************************************************************************************************************************************************************/ 2595/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2596 2597"use strict"; 2598__webpack_require__.r(__webpack_exports__); 2599/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2600/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2601/* harmony export */ }); 2602/* harmony import */ var _johmun_vue_tags_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @johmun/vue-tags-input */ "./node_modules/@johmun/vue-tags-input/dist/vue-tags-input.js"); 2603/* harmony import */ var _johmun_vue_tags_input__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_johmun_vue_tags_input__WEBPACK_IMPORTED_MODULE_0__); 2604 2605/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2606 props: ['tags'], 2607 components: { 2608 VueTagsInput: (_johmun_vue_tags_input__WEBPACK_IMPORTED_MODULE_0___default()) 2609 }, 2610 data: function data() { 2611 return { 2612 tag: '', 2613 tags: [], 2614 autocompleteItems: [{ 2615 text: 'Spain' 2616 }, { 2617 text: 'France' 2618 }, { 2619 text: 'USA' 2620 }, { 2621 text: 'Germany' 2622 }, { 2623 text: 'China' 2624 }] 2625 }; 2626 } 2627}); 2628 2629/***/ }), 2630 2631/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=script&lang=js&": 2632/*!**************************************************************************************************************************************************************************************************************************!*\ 2633 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=script&lang=js& ***! 2634 \**************************************************************************************************************************************************************************************************************************/ 2635/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2636 2637"use strict"; 2638__webpack_require__.r(__webpack_exports__); 2639/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2640/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2641/* harmony export */ }); 2642/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2643 props: ['type', 'chosen_id', 'fullwidth', 'order_id', 'abo_id'], 2644 data: function data() { 2645 return { 2646 chosen: { 2647 civilite: '', 2648 name: '', 2649 company: '', 2650 adresse: '', 2651 cp: '', 2652 npa: '', 2653 ville: '', 2654 user_id: null, 2655 facturation_adresse: { 2656 adresse_id: null, 2657 civilite: '', 2658 name: '', 2659 company: '', 2660 adresse: '', 2661 cp: '', 2662 npa: '', 2663 ville: '' 2664 }, 2665 livraison_adresse: { 2666 adresse_id: null, 2667 civilite: '', 2668 name: '', 2669 company: '', 2670 adresse: '', 2671 cp: '', 2672 npa: '', 2673 ville: '' 2674 }, 2675 adresses: [] 2676 }, 2677 facturation_adresse_id: '', 2678 hasChosen: false, 2679 noResult: false, 2680 searching: false, 2681 showChooseFacturation: false, 2682 showChooseLivraison: false, 2683 showDisplayAdresses: true 2684 }; 2685 }, 2686 mounted: function mounted() { 2687 if (this.chosen_id) { 2688 this.fetch(); 2689 } 2690 if (!this.fullwidth) { 2691 this.fullwidth = false; 2692 } 2693 this.$nextTick(function () { 2694 var self = this; 2695 $(".search-adresse-autocomplete_" + this.type).keypress(function (e) { 2696 var code = e.keyCode ? e.keyCode : e.which; 2697 if (code == 13) { 2698 //Enter keycode 2699 return false; 2700 } 2701 }); 2702 $(".search-adresse-autocomplete_" + this.type).blur(function () { 2703 if ($(this).val() === '') { 2704 self.noResult = false; 2705 } 2706 }); 2707 $(".search-adresse-autocomplete_" + this.type).autocomplete({ 2708 source: base_url + 'vue/autocomplete', 2709 minLength: 2, 2710 search: function search(event, ui) { 2711 self.searching = true; 2712 }, 2713 select: function select(event, ui) { 2714 self.chosen = ui.item.user; 2715 self.chosen.facturation_adresse = ui.item.adresse_facturation; 2716 self.chosen.livraison_adresse = ui.item.adresse_livraison; 2717 self.chosen.adresses = ui.item.adresses; 2718 self.hasChosen = true; 2719 self.searching = false; 2720 self.noResult = false; 2721 self.facturation_adresse_id = ui.item.adresse_facturation.adresse_id; 2722 console.log(ui.item.user); 2723 return false; 2724 }, 2725 response: function response(event, ui) { 2726 if (ui.content.length === 0) { 2727 self.searching = false; 2728 self.noResult = true; 2729 } 2730 }, 2731 change: function change(event, ui) { 2732 console.log($(this).val()); 2733 self.searching = false; 2734 if ($(this).val() === '') { 2735 self.noResult = false; 2736 } 2737 } 2738 }).autocomplete("instance")._renderItem = function (ul, item) { 2739 return $("<li>").append("<a>" + item.label + "<span>" + item.desc + "</span><span>" + item.company + "</span></a>").appendTo(ul); 2740 }; 2741 }); 2742 }, 2743 methods: { 2744 remove: function remove() { 2745 this.hasChosen = false; 2746 this.chosen = { 2747 civilite: '', 2748 name: '', 2749 company: '', 2750 adresse: '', 2751 cp: '', 2752 npa: '', 2753 ville: '', 2754 user_id: null, 2755 facturation_adresse: null, 2756 livraison_adresse: null 2757 }; 2758 this.user_id = null; 2759 }, 2760 changeFacturation: function changeFacturation() { 2761 this.showChooseFacturation = true; 2762 this.showDisplayAdresses = false; 2763 }, 2764 changeLivraison: function changeLivraison() { 2765 this.showChooseLivraison = true; 2766 this.showDisplayAdresses = false; 2767 }, 2768 choisirFacturation: function choisirFacturation(adresseIndex) { 2769 this.showDisplayAdresses = true; 2770 this.chosen.facturation_adresse = this.chosen.adresses[adresseIndex]; 2771 this.facturation_adresse_id = this.chosen.facturation_adresse.adresse_id; 2772 this.showChooseFacturation = false; 2773 }, 2774 choisirLivraison: function choisirLivraison(adresseIndex) { 2775 this.showDisplayAdresses = true; 2776 this.chosen.livraison_adresse = this.chosen.adresses[adresseIndex]; 2777 this.showChooseLivraison = false; 2778 }, 2779 updateOptions: function updateOptions(options) { 2780 this.options = options; 2781 }, 2782 fetch: function fetch() { 2783 var self = this; 2784 if (!this.order_id && !this.abo_id) { 2785 axios.get('admin/user/getUser/' + this.chosen_id, {}).then(function (response) { 2786 console.log(response.data); 2787 self.chosen = response.data; 2788 self.hasChosen = true; 2789 self.noResult = false; 2790 self.chosen.facturation_adresse = response.data.adresse_facturation; 2791 self.chosen.livraison_adresse = response.data.adresse_livraison; 2792 self.chosen.adresses = response.data.adresses; 2793 })["catch"](function (error) { 2794 console.log(error); 2795 }); 2796 } else { 2797 if (!this.abo_id) { 2798 axios.get('admin/user/getUserOrder/' + this.chosen_id + '/' + this.order_id, {}).then(function (response) { 2799 console.log(response.data); 2800 self.chosen = response.data; 2801 self.hasChosen = true; 2802 self.noResult = false; 2803 self.chosen.facturation_adresse = response.data.adresse_facturation; 2804 self.chosen.livraison_adresse = response.data.adresse_livraison; 2805 self.chosen.adresses = response.data.adresses; 2806 })["catch"](function (error) { 2807 console.log(error); 2808 }); 2809 } else { 2810 axios.get('admin/user/getUserAbo/' + this.chosen_id + '/' + this.abo_id, {}).then(function (response) { 2811 console.log(response.data); 2812 self.chosen = response.data; 2813 self.hasChosen = true; 2814 self.noResult = false; 2815 self.chosen.facturation_adresse = response.data.adresse_facturation; 2816 self.chosen.livraison_adresse = response.data.adresse_livraison; 2817 self.chosen.adresses = response.data.adresses; 2818 })["catch"](function (error) { 2819 console.log(error); 2820 }); 2821 } 2822 } 2823 } 2824 } 2825}); 2826 2827/***/ }), 2828 2829/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/Arret.vue?vue&type=script&lang=js&": 2830/*!*************************************************************************************************************************************************************************************************************!*\ 2831 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/Arret.vue?vue&type=script&lang=js& ***! 2832 \*************************************************************************************************************************************************************************************************************/ 2833/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2834 2835"use strict"; 2836__webpack_require__.r(__webpack_exports__); 2837/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2838/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2839/* harmony export */ }); 2840/* harmony import */ var _partials_AnalyseNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../partials/AnalyseNewsletter.vue */ "./resources/assets/js/components/partials/AnalyseNewsletter.vue"); 2841 2842/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2843 props: ['arret', 'newsletter'], 2844 components: { 2845 'analyse-newsletter': _partials_AnalyseNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__["default"] 2846 }, 2847 data: function data() { 2848 return {}; 2849 } 2850}); 2851 2852/***/ }), 2853 2854/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/ModelContent.vue?vue&type=script&lang=js&": 2855/*!********************************************************************************************************************************************************************************************************************!*\ 2856 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/ModelContent.vue?vue&type=script&lang=js& ***! 2857 \********************************************************************************************************************************************************************************************************************/ 2858/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2859 2860"use strict"; 2861__webpack_require__.r(__webpack_exports__); 2862/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2863/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2864/* harmony export */ }); 2865/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2866 props: ['model', 'type', 'color', 'newbloc'], 2867 data: function data() { 2868 return {}; 2869 }, 2870 computed: { 2871 style: function style() { 2872 return this.model.style + 'background:' + this.color; 2873 } 2874 }, 2875 methods: {} 2876}); 2877 2878/***/ }), 2879 2880/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/TextContent.vue?vue&type=script&lang=js&": 2881/*!*******************************************************************************************************************************************************************************************************************!*\ 2882 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/TextContent.vue?vue&type=script&lang=js& ***! 2883 \*******************************************************************************************************************************************************************************************************************/ 2884/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2885 2886"use strict"; 2887__webpack_require__.r(__webpack_exports__); 2888/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2889/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2890/* harmony export */ }); 2891/* harmony import */ var _partials_ImageNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../partials/ImageNewsletter.vue */ "./resources/assets/js/components/partials/ImageNewsletter.vue"); 2892 2893/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2894 props: ['newbloc', 'categorie', 'type'], 2895 components: { 2896 'image-newsletter': _partials_ImageNewsletter_vue__WEBPACK_IMPORTED_MODULE_0__["default"] 2897 }, 2898 computed: { 2899 widthTable: function widthTable() { 2900 return this.type == 1 || this.type == 2 || this.type == 6 ? '560' : '375'; 2901 }, 2902 hasText: function hasText() { 2903 return this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 ? true : false; 2904 }, 2905 hasTitle: function hasTitle() { 2906 return this.type == 1 || this.type == 2 || this.type == 3 || this.type == 4 || this.type == 6 || this.type == 10 ? true : false; 2907 }, 2908 align: function align() { 2909 return this.type == 1 ? 'text-align:center;' : 'text-align:left;'; 2910 }, 2911 imgcategorie: function imgcategorie() { 2912 return this.categorie ? this.categorie.path : ''; 2913 }, 2914 hasImage: function hasImage() { 2915 return this.newbloc.filename ? this.newbloc.path + '/' + this.newbloc.filename : null; 2916 }, 2917 linkurl: function linkurl() { 2918 return this.newbloc.link ? this.newbloc.link : location.protocol + "//" + location.host + "/"; 2919 } 2920 }, 2921 data: function data() { 2922 return { 2923 isImage: null, 2924 hash: null 2925 }; 2926 }, 2927 mounted: function mounted() { 2928 this.makeHash(); 2929 }, 2930 methods: { 2931 imageUploadedUpdate: function imageUploadedUpdate(value) { 2932 this.$emit('imageUploaded', value); 2933 }, 2934 makeHash: function makeHash() { 2935 this.hash = Math.random().toString(36).substring(7); 2936 } 2937 } 2938}); 2939 2940/***/ }), 2941 2942/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=script&lang=js&": 2943/*!****************************************************************************************************************************************************************************************************************************!*\ 2944 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=script&lang=js& ***! 2945 \****************************************************************************************************************************************************************************************************************************/ 2946/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2947 2948"use strict"; 2949__webpack_require__.r(__webpack_exports__); 2950/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2951/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2952/* harmony export */ }); 2953/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2954 props: ['arret', 'analyses', 'title'], 2955 data: function data() { 2956 return {}; 2957 }, 2958 mounted: function mounted() { 2959 this.initialize(); 2960 }, 2961 methods: { 2962 initialize: function initialize() {} 2963 } 2964}); 2965 2966/***/ }), 2967 2968/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=script&lang=js&": 2969/*!**************************************************************************************************************************************************************************************************************************!*\ 2970 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=script&lang=js& ***! 2971 \**************************************************************************************************************************************************************************************************************************/ 2972/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 2973 2974"use strict"; 2975__webpack_require__.r(__webpack_exports__); 2976/* harmony export */ __webpack_require__.d(__webpack_exports__, { 2977/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 2978/* harmony export */ }); 2979/* harmony import */ var _ImageUploader_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../ImageUploader.vue */ "./resources/assets/js/components/ImageUploader.vue"); 2980 2981/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ 2982 props: ['model', 'type', 'visible', 'filename', 'id', 'link'], 2983 data: function data() { 2984 return { 2985 isRemoved: false, 2986 image: null, 2987 imageName: '', 2988 uploadImage: null, 2989 big: 'http://www.placehold.it/560x200/EFEFEF/AAAAAA&text=image', 2990 small: 'http://www.placehold.it/130x140/EFEFEF/AAAAAA&text=image', 2991 hash: null 2992 }; 2993 }, 2994 components: { 2995 'image-uploader': _ImageUploader_vue__WEBPACK_IMPORTED_MODULE_0__["default"] 2996 }, 2997 mounted: function mounted() { 2998 this.initialize(); 2999 this.iframe(); 3000 }, 3001 computed: { 3002 size: function size() { 3003 return this.type == 3 || this.type == 4 ? this.small : this.big; 3004 }, 3005 sizeImage: function sizeImage() { 3006 return this.type == 3 || this.type == 4 ? '130px' : '560px'; 3007 } 3008 }, 3009 methods: { 3010 imageChoosenSelect: function imageChoosenSelect(filename) { 3011 var lastURLSegment = filename.substr(filename.lastIndexOf('/') + 1); 3012 this.image = filename; 3013 this.uploadImage = lastURLSegment; 3014 this.$emit('imageUploaded', this.uploadImage); 3015 }, 3016 makeHash: function makeHash() { 3017 this.hash = Math.random().toString(36).substring(7); 3018 }, 3019 iframe: function iframe() { 3020 this.$nextTick(function () { 3021 var self = this; 3022 $('#' + this.id).change(function () { 3023 var image = $(this).val(); 3024 var lastURLSegment = image.substr(image.lastIndexOf('/') + 1); 3025 self.image = image; 3026 self.uploadImage = lastURLSegment; 3027 self.$emit('imageUploaded', self.uploadImage); 3028 console.log(lastURLSegment); 3029 }); 3030 }); 3031 }, 3032 initialize: function initialize() { 3033 this.image = this.filename ? this.filename : null; 3034 }, 3035 onFileChange: function onFileChange(e) { 3036 var files = e.target.files || e.dataTransfer.files; 3037 if (!files.length) return; 3038 this.createImage(files[0]); 3039 }, 3040 createImage: function createImage(file) { 3041 var reader = new FileReader(); 3042 var vm = this; 3043 reader.onload = function (e) { 3044 vm.image = e.target.result; 3045 vm.imageName = file.name; 3046 vm.upload(); 3047 }; 3048 reader.readAsDataURL(file); 3049 }, 3050 remove: function remove() { 3051 this.image = null; 3052 this.isRemoved = true; 3053 }, 3054 cancel: function cancel() { 3055 this.image = this.filename ? this.filename : null; 3056 this.isRemoved = false; 3057 this.iframe(); 3058 }, 3059 newSelected: function newSelected() { 3060 this.iframe(); 3061 }, 3062 upload: function upload() { 3063 var _this = this; 3064 axios.post('/admin/uploadNewsletter', { 3065 image: this.image, 3066 name: this.imageName 3067 }).then(function (response) { 3068 _this.uploadImage = response.data.name; 3069 _this.$emit('imageUploaded', _this.uploadImage); 3070 }); 3071 } 3072 } 3073}); 3074 3075/***/ }), 3076 3077/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=template&id=44f721b1&": 3078/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\ 3079 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=template&id=44f721b1& ***! 3080 \**************************************************************************************************************************************************************************************************************************************************************************************************/ 3081/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3082 3083"use strict"; 3084__webpack_require__.r(__webpack_exports__); 3085/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3086/* harmony export */ render: () => (/* binding */ render), 3087/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 3088/* harmony export */ }); 3089var render = function render() { 3090 var _vm = this, 3091 _c = _vm._self._c; 3092 return _c("div", { 3093 staticClass: "adresse_update" 3094 }, [_vm.showing ? _c("div", [_vm.title ? _c("h5", [_c("div", { 3095 domProps: { 3096 innerHTML: _vm._s(_vm.title) 3097 } 3098 })]) : _vm._e(), _vm._v(" "), _c("div", { 3099 staticClass: "adresse-wrapper", 3100 domProps: { 3101 innerHTML: _vm._s(_vm.update_detail) 3102 } 3103 })]) : _vm._e(), _vm._v(" "), _c("div", { 3104 "class": "text-" + _vm.direction 3105 }, [_c("button", { 3106 "class": "btn " + _vm.btnClass, 3107 attrs: { 3108 type: "button" 3109 }, 3110 on: { 3111 click: _vm.show 3112 } 3113 }, [_vm._v(_vm._s(_vm.btnText))]), _vm._v(" "), _c("button", { 3114 directives: [{ 3115 name: "show", 3116 rawName: "v-show", 3117 value: _vm.type == 5 && _vm.admin == 1, 3118 expression: "type == 5 && admin == 1" 3119 }], 3120 staticClass: "btn btn-danger btn-sm", 3121 on: { 3122 click: function click($event) { 3123 $event.preventDefault(); 3124 return _vm.remove.apply(null, arguments); 3125 } 3126 } 3127 }, [_vm._v("x")])]), _vm._v(" "), _c("modal", { 3128 attrs: { 3129 name: "update-modal" + _vm.id, 3130 adaptive: true, 3131 scrollable: true, 3132 reset: true, 3133 height: "auto" 3134 } 3135 }, [_c("div", { 3136 staticClass: "adresse-update-wrapper" 3137 }, [_c("h4", [_c("div", { 3138 domProps: { 3139 innerHTML: _vm._s(_vm.title) 3140 } 3141 }), _vm._v(" "), _c("cite", { 3142 staticClass: "text-danger pull-right", 3143 staticStyle: { 3144 color: "red" 3145 } 3146 }, [_c("small", [_vm._v("* Champs requis")])])]), _vm._v(" "), _c("div", { 3147 staticClass: "adresse-update" 3148 }, [_c("div", { 3149 staticClass: "row" 3150 }, [_c("div", { 3151 staticClass: "col-md-6" 3152 }, [_c("label", { 3153 staticClass: "control-label", 3154 attrs: { 3155 "for": "" 3156 } 3157 }, [_vm._v("Titre")]), _vm._v(" "), _c("select", { 3158 directives: [{ 3159 name: "model", 3160 rawName: "v-model", 3161 value: _vm.adresse_update.civilite_id, 3162 expression: "adresse_update.civilite_id" 3163 }], 3164 staticClass: "form-control", 3165 staticStyle: { 3166 "margin-bottom": "10px" 3167 }, 3168 attrs: { 3169 name: "civilite_id", 3170 required: "" 3171 }, 3172 on: { 3173 change: function change($event) { 3174 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 3175 return o.selected; 3176 }).map(function (o) { 3177 var val = "_value" in o ? o._value : o.value; 3178 return val; 3179 }); 3180 _vm.$set(_vm.adresse_update, "civilite_id", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 3181 } 3182 } 3183 }, [_c("option", { 3184 attrs: { 3185 value: "4" 3186 } 3187 }), _vm._v(" "), _c("option", { 3188 attrs: { 3189 value: "1" 3190 } 3191 }, [_vm._v("Monsieur")]), _vm._v(" "), _c("option", { 3192 attrs: { 3193 value: "2" 3194 } 3195 }, [_vm._v("Madame")]), _vm._v(" "), _c("option", { 3196 attrs: { 3197 value: "3" 3198 } 3199 }, [_vm._v("Me")])])])]), _vm._v(" "), _c("div", { 3200 staticClass: "row" 3201 }, [_c("div", { 3202 staticClass: "col-md-6" 3203 }, [_c("label", { 3204 staticClass: "control-label", 3205 attrs: { 3206 "for": "" 3207 } 3208 }, [_vm._v("Prénom "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 3209 directives: [{ 3210 name: "model", 3211 rawName: "v-model", 3212 value: _vm.adresse_update.first_name, 3213 expression: "adresse_update.first_name" 3214 }], 3215 staticClass: "form-control", 3216 attrs: { 3217 required: "", 3218 name: "first_name", 3219 id: "first_name", 3220 type: "text" 3221 }, 3222 domProps: { 3223 value: _vm.adresse_update.first_name 3224 }, 3225 on: { 3226 input: function input($event) { 3227 if ($event.target.composing) return; 3228 _vm.$set(_vm.adresse_update, "first_name", $event.target.value); 3229 } 3230 } 3231 })]), _vm._v(" "), _c("div", { 3232 staticClass: "col-md-6" 3233 }, [_c("label", { 3234 staticClass: "control-label", 3235 attrs: { 3236 "for": "" 3237 } 3238 }, [_vm._v("Nom "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 3239 directives: [{ 3240 name: "model", 3241 rawName: "v-model", 3242 value: _vm.adresse_update.last_name, 3243 expression: "adresse_update.last_name" 3244 }], 3245 staticClass: "form-control", 3246 attrs: { 3247 required: "", 3248 name: "last_name", 3249 id: "last_name", 3250 type: "text" 3251 }, 3252 domProps: { 3253 value: _vm.adresse_update.last_name 3254 }, 3255 on: { 3256 input: function input($event) { 3257 if ($event.target.composing) return; 3258 _vm.$set(_vm.adresse_update, "last_name", $event.target.value); 3259 } 3260 } 3261 })])]), _vm._v(" "), _c("div", { 3262 staticClass: "row" 3263 }, [_c("div", { 3264 staticClass: "col-md-6" 3265 }, [_c("label", { 3266 staticClass: "control-label", 3267 attrs: { 3268 "for": "" 3269 } 3270 }, [_vm._v("Entreprise")]), _vm._v(" "), _c("input", { 3271 directives: [{ 3272 name: "model", 3273 rawName: "v-model", 3274 value: _vm.adresse_update.company, 3275 expression: "adresse_update.company" 3276 }], 3277 staticClass: "form-control", 3278 attrs: { 3279 name: "company", 3280 type: "text" 3281 }, 3282 domProps: { 3283 value: _vm.adresse_update.company 3284 }, 3285 on: { 3286 input: function input($event) { 3287 if ($event.target.composing) return; 3288 _vm.$set(_vm.adresse_update, "company", $event.target.value); 3289 } 3290 } 3291 })])]), _vm._v(" "), _c("div", { 3292 staticClass: "row" 3293 }, [_c("div", { 3294 staticClass: "col-md-12" 3295 }, [_c("label", { 3296 staticClass: "control-label", 3297 attrs: { 3298 "for": "" 3299 } 3300 }, [_vm._v("Adresse "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 3301 directives: [{ 3302 name: "model", 3303 rawName: "v-model", 3304 value: _vm.adresse_update.adresse, 3305 expression: "adresse_update.adresse" 3306 }], 3307 staticClass: "form-control", 3308 attrs: { 3309 required: "", 3310 id: "adresse", 3311 name: "adresse", 3312 type: "text" 3313 }, 3314 domProps: { 3315 value: _vm.adresse_update.adresse 3316 }, 3317 on: { 3318 input: function input($event) { 3319 if ($event.target.composing) return; 3320 _vm.$set(_vm.adresse_update, "adresse", $event.target.value); 3321 } 3322 } 3323 })])]), _vm._v(" "), _c("div", { 3324 staticClass: "row" 3325 }, [_c("div", { 3326 staticClass: "col-md-4" 3327 }, [_c("label", { 3328 staticClass: "control-label", 3329 attrs: { 3330 "for": "" 3331 } 3332 }, [_vm._v("CP")]), _vm._v(" "), _c("input", { 3333 directives: [{ 3334 name: "model", 3335 rawName: "v-model", 3336 value: _vm.adresse_update.cp, 3337 expression: "adresse_update.cp" 3338 }], 3339 staticClass: "form-control", 3340 attrs: { 3341 id: "cp", 3342 name: "cp", 3343 type: "text" 3344 }, 3345 domProps: { 3346 value: _vm.adresse_update.cp 3347 }, 3348 on: { 3349 input: function input($event) { 3350 if ($event.target.composing) return; 3351 _vm.$set(_vm.adresse_update, "cp", $event.target.value); 3352 } 3353 } 3354 })]), _vm._v(" "), _c("div", { 3355 staticClass: "col-md-8" 3356 }, [_c("label", { 3357 staticClass: "control-label", 3358 attrs: { 3359 "for": "" 3360 } 3361 }, [_vm._v("Complément d'adresse")]), _vm._v(" "), _c("input", { 3362 directives: [{ 3363 name: "model", 3364 rawName: "v-model", 3365 value: _vm.adresse_update.complement, 3366 expression: "adresse_update.complement" 3367 }], 3368 staticClass: "form-control", 3369 attrs: { 3370 id: "complement", 3371 name: "complement", 3372 type: "text" 3373 }, 3374 domProps: { 3375 value: _vm.adresse_update.complement 3376 }, 3377 on: { 3378 input: function input($event) { 3379 if ($event.target.composing) return; 3380 _vm.$set(_vm.adresse_update, "complement", $event.target.value); 3381 } 3382 } 3383 })])]), _vm._v(" "), _c("div", { 3384 staticClass: "row" 3385 }, [_c("div", { 3386 staticClass: "col-md-4" 3387 }, [_c("label", { 3388 staticClass: "control-label", 3389 attrs: { 3390 "for": "" 3391 } 3392 }, [_vm._v("NPA "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 3393 directives: [{ 3394 name: "model", 3395 rawName: "v-model", 3396 value: _vm.adresse_update.npa, 3397 expression: "adresse_update.npa" 3398 }], 3399 staticClass: "form-control", 3400 attrs: { 3401 id: "npa", 3402 name: "npa", 3403 type: "text" 3404 }, 3405 domProps: { 3406 value: _vm.adresse_update.npa 3407 }, 3408 on: { 3409 input: function input($event) { 3410 if ($event.target.composing) return; 3411 _vm.$set(_vm.adresse_update, "npa", $event.target.value); 3412 } 3413 } 3414 })]), _vm._v(" "), _c("div", { 3415 staticClass: "col-md-8" 3416 }, [_c("label", { 3417 staticClass: "control-label", 3418 attrs: { 3419 "for": "" 3420 } 3421 }, [_vm._v("Ville "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 3422 directives: [{ 3423 name: "model", 3424 rawName: "v-model", 3425 value: _vm.adresse_update.ville, 3426 expression: "adresse_update.ville" 3427 }], 3428 staticClass: "form-control", 3429 attrs: { 3430 id: "ville", 3431 name: "ville", 3432 type: "text" 3433 }, 3434 domProps: { 3435 value: _vm.adresse_update.ville 3436 }, 3437 on: { 3438 input: function input($event) { 3439 if ($event.target.composing) return; 3440 _vm.$set(_vm.adresse_update, "ville", $event.target.value); 3441 } 3442 } 3443 })])]), _vm._v(" "), _c("div", { 3444 staticClass: "row" 3445 }, [_c("div", { 3446 staticClass: "col-md-6" 3447 }, [_c("label", { 3448 staticClass: "control-label", 3449 attrs: { 3450 "for": "" 3451 } 3452 }, [_vm._v("Pays")]), _vm._v(" "), _c("select", { 3453 directives: [{ 3454 name: "model", 3455 rawName: "v-model", 3456 value: _vm.adresse_update.pays_id, 3457 expression: "adresse_update.pays_id" 3458 }], 3459 staticClass: "form-control", 3460 attrs: { 3461 disabled: "", 3462 name: "pays_id" 3463 }, 3464 on: { 3465 change: function change($event) { 3466 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 3467 return o.selected; 3468 }).map(function (o) { 3469 var val = "_value" in o ? o._value : o.value; 3470 return val; 3471 }); 3472 _vm.$set(_vm.adresse_update, "pays_id", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 3473 } 3474 } 3475 }, [_c("option", { 3476 attrs: { 3477 value: "208" 3478 } 3479 }, [_vm._v("Suisse")])])])]), _vm._v(" "), _c("div", { 3480 staticClass: "row", 3481 staticStyle: { 3482 "margin-top": "25px" 3483 } 3484 }, [_c("div", { 3485 staticClass: "col-md-6" 3486 }, [_c("hr"), _vm._v(" "), _c("button", { 3487 staticClass: "btn btn-default", 3488 attrs: { 3489 type: "button" 3490 }, 3491 on: { 3492 click: function click($event) { 3493 $event.preventDefault(); 3494 return _vm.hide.apply(null, arguments); 3495 } 3496 } 3497 }, [_vm._v("Annuler")])]), _vm._v(" "), _c("div", { 3498 staticClass: "col-md-6 text-right" 3499 }, [_c("hr"), _vm._v(" "), _c("button", { 3500 staticClass: "btn btn-primary", 3501 attrs: { 3502 type: "button" 3503 }, 3504 on: { 3505 click: function click($event) { 3506 $event.preventDefault(); 3507 return _vm.update.apply(null, arguments); 3508 } 3509 } 3510 }, [_vm._v("Mettre à jour")])])])])])])], 1); 3511}; 3512var staticRenderFns = []; 3513render._withStripped = true; 3514 3515 3516/***/ }), 3517 3518/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=template&id=59e03618&scoped=true&": 3519/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\ 3520 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=template&id=59e03618&scoped=true& ***! 3521 \*********************************************************************************************************************************************************************************************************************************************************************************************************/ 3522/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3523 3524"use strict"; 3525__webpack_require__.r(__webpack_exports__); 3526/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3527/* harmony export */ render: () => (/* binding */ render), 3528/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 3529/* harmony export */ }); 3530var render = function render() { 3531 var _vm = this, 3532 _c = _vm._self._c; 3533 return _c("div", [_c("table", { 3534 staticClass: "table", 3535 staticStyle: { 3536 "margin-bottom": "0px" 3537 } 3538 }, [_vm._m(0), _vm._v(" "), _c("draggable", { 3539 staticClass: "selects", 3540 attrs: { 3541 tag: "tbody" 3542 }, 3543 on: { 3544 end: _vm.choosePosition 3545 }, 3546 model: { 3547 value: _vm.list, 3548 callback: function callback($$v) { 3549 _vm.list = $$v; 3550 }, 3551 expression: "list" 3552 } 3553 }, _vm._l(_vm.list, function (item) { 3554 return _c("tr", { 3555 key: item.id 3556 }, [_c("td", { 3557 attrs: { 3558 scope: "row" 3559 } 3560 }, [_c("a", { 3561 staticClass: "btn btn-sky btn-sm", 3562 attrs: { 3563 href: "/admin/loi/" + item.loi_id + "/article/" + item.numero + "/edit/" + item.id 3564 } 3565 }, [_vm._v("éditer")])]), _vm._v(" "), _c("td", [_vm._v(_vm._s(item.alinea))]), _vm._v(" "), _c("td", [_vm._v(_vm._s(item.chiffre))]), _vm._v(" "), _c("td", [_vm._v(_vm._s(item.lettre))]), _vm._v(" "), _c("td", { 3566 domProps: { 3567 innerHTML: _vm._s(item.content) 3568 } 3569 }), _vm._v(" "), _c("td", { 3570 staticClass: "text-right" 3571 }, [_c("a", { 3572 staticClass: "btn btn-danger btn-sm deleteAction", 3573 attrs: { 3574 href: "/admin/loi/" + item.loi_id + "/article/" + item.numero + "/delete/" + item.id 3575 } 3576 }, [_vm._v("x")])])]); 3577 }), 0)], 1)]); 3578}; 3579var staticRenderFns = [function () { 3580 var _vm = this, 3581 _c = _vm._self._c; 3582 return _c("thead", [_c("tr", [_c("th", { 3583 staticClass: "col-sm-1" 3584 }, [_vm._v("Action")]), _vm._v(" "), _c("th", { 3585 staticClass: "col-sm-1 no-sort" 3586 }, [_vm._v("Alinéa")]), _vm._v(" "), _c("th", { 3587 staticClass: "col-sm-1 no-sort" 3588 }, [_vm._v("Chiffre")]), _vm._v(" "), _c("th", { 3589 staticClass: "col-sm-1 no-sort" 3590 }, [_vm._v("Lettre")]), _vm._v(" "), _c("th", { 3591 staticClass: "col-sm-7 no-sort" 3592 }, [_vm._v("Contenu")]), _vm._v(" "), _c("th", { 3593 staticClass: "col-sm-1 no-sort" 3594 })])]); 3595}]; 3596render._withStripped = true; 3597 3598 3599/***/ }), 3600 3601/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Build.vue?vue&type=template&id=18393072&": 3602/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\ 3603 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Build.vue?vue&type=template&id=18393072& ***! 3604 \******************************************************************************************************************************************************************************************************************************************************************************************/ 3605/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3606 3607"use strict"; 3608__webpack_require__.r(__webpack_exports__); 3609/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3610/* harmony export */ render: () => (/* binding */ render), 3611/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 3612/* harmony export */ }); 3613var render = function render() { 3614 var _vm = this, 3615 _c = _vm._self._c; 3616 return _c("div", [_vm.type ? _c("div", [_c("create-bloc", { 3617 attrs: { 3618 mode: "create", 3619 site: _vm.site, 3620 title: _vm.title, 3621 type: _vm.type, 3622 campagne: _vm.campagne, 3623 newsletter: _vm.newsletter, 3624 _token: _vm._token, 3625 url: _vm.url 3626 }, 3627 on: { 3628 cancel: _vm.cancel 3629 } 3630 })], 1) : _vm._e(), _vm._v(" "), _c("div", { 3631 staticClass: "row" 3632 }, [_c("div", { 3633 staticClass: "col-md-5" 3634 }, [_c("div", { 3635 staticClass: "component-menu", 3636 attrs: { 3637 id: "componant" 3638 } 3639 }, [_c("h5", [_vm._v("Composants")]), _vm._v(" "), _c("div", { 3640 staticClass: "component-bloc" 3641 }, _vm._l(_vm.blocs, function (bloc) { 3642 return _c("a", { 3643 staticClass: "blocEdit", 3644 on: { 3645 click: function click($event) { 3646 return _vm.selectBloc(bloc); 3647 } 3648 } 3649 }, [_c("img", { 3650 attrs: { 3651 src: "newsletter/blocs/" + bloc.image, 3652 alt: bloc.titre 3653 } 3654 }), _c("span", [_vm._v(_vm._s(bloc.titre))])]); 3655 }), 0)])])])]); 3656}; 3657var staticRenderFns = []; 3658render._withStripped = true; 3659 3660 3661/***/ }), 3662 3663/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=template&id=59cdc560&": 3664/*!****************************************************************************************************************************************************************************************************************************************************************************************************!*\ 3665 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=template&id=59cdc560& ***! 3666 \****************************************************************************************************************************************************************************************************************************************************************************************************/ 3667/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 3668 3669"use strict"; 3670__webpack_require__.r(__webpack_exports__); 3671/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3672/* harmony export */ render: () => (/* binding */ render), 3673/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 3674/* harmony export */ }); 3675var render = function render() { 3676 var _vm = this, 3677 _c = _vm._self._c; 3678 return _c("div", [_c("div", { 3679 staticClass: "row" 3680 }, [_c("div", { 3681 staticClass: "col-md-7", 3682 attrs: { 3683 id: "StyleNewsletterCreate" 3684 } 3685 }, [_c("div", { 3686 staticClass: "row", 3687 staticStyle: { 3688 "margin-bottom": "10px" 3689 } 3690 }, [_c("div", { 3691 staticClass: "col-md-10" 3692 }), _vm._v(" "), _c("div", { 3693 staticClass: "col-md-2" 3694 }, [_vm.content && _vm.mode == "edit" ? _c("div", { 3695 staticStyle: { 3696 "margin-bottom": "5px" 3697 } 3698 }, [_vm.model && !_vm.isEdit ? _c("button", { 3699 staticClass: "btn btn-xs btn-warning pull-left", 3700 on: { 3701 click: function click($event) { 3702 return _vm.editMode(_vm.content); 3703 } 3704 } 3705 }, [_vm._v("éditer")]) : _vm._e(), _vm._v(" "), _vm.model && !_vm.isEdit ? _c("form", { 3706 staticClass: "pull-right", 3707 attrs: { 3708 method: "post", 3709 action: _vm.action 3710 } 3711 }, [_c("input", { 3712 attrs: { 3713 name: "_token", 3714 type: "hidden" 3715 }, 3716 domProps: { 3717 value: _vm._token 3718 } 3719 }), _vm._v(" "), _c("input", { 3720 attrs: { 3721 type: "hidden", 3722 name: "_method", 3723 value: "DELETE" 3724 } 3725 }), _vm._v(" "), _c("input", { 3726 attrs: { 3727 type: "hidden", 3728 name: "id" 3729 }, 3730 domProps: { 3731 value: _vm.model.id 3732 } 3733 }), _vm._v(" "), _c("input", { 3734 attrs: { 3735 type: "hidden", 3736 name: "campagne_id" 3737 }, 3738 domProps: { 3739 value: _vm.campagne.id 3740 } 3741 }), _vm._v(" "), _c("button", { 3742 staticClass: "btn btn-xs btn-danger deleteNewsAction", 3743 attrs: { 3744 type: "submit", 3745 "data-id": _vm.model.id, 3746 "data-action": _vm.model.titre 3747 } 3748 }, [_vm._v("x")])]) : _vm._e()]) : _vm._e()])]), _vm._v(" "), _c("table", { 3749 staticClass: "resetTable", 3750 attrs: { 3751 border: "0", 3752 width: "560", 3753 align: "center", 3754 cellpadding: "0", 3755 cellspacing: "0" 3756 } 3757 }, [_c("tr", [_vm.type == 4 ? _c("td", { 3758 staticClass: "resetMarge", 3759 attrs: { 3760 valign: "top", 3761 align: "center", 3762 width: "160" 3763 } 3764 }, [_c("image-newsletter", { 3765 attrs: { 3766 visible: _vm.isImage, 3767 mode: _vm.mode, 3768 type: _vm.type, 3769 model: _vm.model 3770 }, 3771 on: { 3772 imageUploaded: _vm.imageUploadedUpdate 3773 } 3774 })], 1) : _vm._e(), _vm._v(" "), _vm.type == 4 ? _c("td", { 3775 staticClass: "resetMarge", 3776 attrs: { 3777 width: "25" 3778 } 3779 }) : _vm._e(), _vm._v(" "), _c("td", { 3780 staticClass: "resetMarge contentForm", 3781 attrs: { 3782 valign: "top", 3783 width: _vm.widthTable 3784 } 3785 }, [_vm.type == 1 || _vm.type == 2 ? _c("image-newsletter", { 3786 attrs: { 3787 visible: _vm.isImage, 3788 mode: _vm.mode, 3789 type: _vm.type, 3790 model: _vm.model 3791 }, 3792 on: { 3793 imageUploaded: _vm.imageUploadedUpdate 3794 } 3795 }) : _vm._e(), _vm._v(" "), _c("h3", { 3796 style: _vm.align, 3797 domProps: { 3798 innerHTML: _vm._s(_vm.content.titre) 3799 } 3800 }), _vm._v(" "), _vm.hasText ? _c("div", { 3801 domProps: { 3802 innerHTML: _vm._s(_vm.content.contenu) 3803 } 3804 }) : _vm._e()], 1), _vm._v(" "), _vm.type == 3 || _vm.type == 10 ? _c("td", { 3805 staticClass: "resetMarge", 3806 attrs: { 3807 width: "25" 3808 } 3809 }) : _vm._e(), _vm._v(" "), _vm.type == 3 || _vm.type == 10 ? _c("td", { 3810 staticClass: "resetMarge", 3811 attrs: { 3812 valign: "top", 3813 align: "center", 3814 width: "160" 3815 } 3816 }, [_vm.type == 3 ? _c("image-newsletter", { 3817 attrs: { 3818 visible: _vm.isImage, 3819 mode: _vm.mode, 3820 type: _vm.type, 3821 model: _vm.model 3822 }, 3823 on: { 3824 imageUploaded: _vm.imageUploadedUpdate 3825 } 3826 }) : _vm._e(), _vm._v(" "), _vm.type == 10 || _vm.categorie ? _c("img", { 3827 staticClass: "img-responsive", 3828 attrs: { 3829 src: _vm.imgcategorie 3830 } 3831 }) : _vm._e()], 1) : _vm._e()])])]), _vm._v(" "), _c("div", { 3832 directives: [{ 3833 name: "show", 3834 rawName: "v-show", 3835 value: _vm.isEdit || _vm.mode == "create", 3836 expression: "isEdit || mode == 'create'" 3837 }], 3838 staticClass: "col-md-5 edit_bloc_form" 3839 }, [_c("form", { 3840 attrs: { 3841 name: "blocForm newsletterForm", 3842 method: "post", 3843 action: _vm.action 3844 } 3845 }, [_c("input", { 3846 attrs: { 3847 name: "_token", 3848 type: "hidden" 3849 }, 3850 domProps: { 3851 value: _vm._token 3852 } 3853 }), _vm._v(" "), _vm.mode == "edit" ? _c("input", { 3854 attrs: { 3855 type: "hidden", 3856 name: "_method", 3857 value: "PUT" 3858 } 3859 }) : _vm._e(), _vm._v(" "), _c("div", { 3860 staticClass: "panel panel-success" 3861 }, [_c("div", { 3862 staticClass: "panel-body" 3863 }, [_c("h3", [_vm._v(_vm._s(_vm.title))]), _vm._v(" "), _vm.type == 10 ? _c("div", [_c("select", { 3864 directives: [{ 3865 name: "model", 3866 rawName: "v-model", 3867 value: _vm.categorie, 3868 expression: "categorie" 3869 }], 3870 staticClass: "form-control form-required required", 3871 attrs: { 3872 name: "id" 3873 }, 3874 on: { 3875 change: function change($event) { 3876 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 3877 return o.selected; 3878 }).map(function (o) { 3879 var val = "_value" in o ? o._value : o.value; 3880 return val; 3881 }); 3882 _vm.categorie = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 3883 } 3884 } 3885 }, [!_vm.categorie ? _c("option", { 3886 attrs: { 3887 disabled: "" 3888 }, 3889 domProps: { 3890 value: null 3891 } 3892 }, [_vm._v("Sélectionner catégorie")]) : _vm._e(), _vm._v(" "), _vm._l(_vm.categories, function (categorie) { 3893 return _c("option", { 3894 domProps: { 3895 value: categorie 3896 } 3897 }, [_vm._v(_vm._s(categorie.title))]); 3898 })], 2), _c("br")]) : _vm._e(), _vm._v(" "), _c("div", { 3899 staticClass: "form-group" 3900 }, [_c("label", [_vm._v("Titre")]), _vm._v(" "), _c("input", { 3901 directives: [{ 3902 name: "model", 3903 rawName: "v-model", 3904 value: _vm.content.titre, 3905 expression: "content.titre" 3906 }], 3907 staticClass: "form-control", 3908 attrs: { 3909 type: "text", 3910 required: "", 3911 name: "titre" 3912 }, 3913 domProps: { 3914 value: _vm.content.titre 3915 }, 3916 on: { 3917 input: function input($event) { 3918 if ($event.target.composing) return; 3919 _vm.$set(_vm.content, "titre", $event.target.value); 3920 } 3921 } 3922 })]), _vm._v(" "), _vm.hasText ? _c("div", { 3923 staticClass: "form-group" 3924 }, [_c("label", [_vm._v("Texte")]), _vm._v(" "), _c("textarea", { 3925 directives: [{ 3926 name: "model", 3927 rawName: "v-model", 3928 value: _vm.content.contenu, 3929 expression: "content.contenu" 3930 }], 3931 "class": "form-control redactorBuild_" + _vm.hash, 3932 attrs: { 3933 required: "", 3934 name: "contenu", 3935 rows: "10" 3936 }, 3937 domProps: { 3938 value: _vm.content.contenu 3939 }, 3940 on: { 3941 input: function input($event) { 3942 if ($event.target.composing) return; 3943 _vm.$set(_vm.content, "contenu", $event.target.value); 3944 } 3945 } 3946 }, [_vm._v(_vm._s(_vm.content.contenu))])]) : _vm._e(), _vm._v(" "), _c("div", { 3947 staticClass: "form-group" 3948 }, [_c("div", { 3949 staticClass: "btn-group" 3950 }, [_vm.uploadImage ? _c("input", { 3951 attrs: { 3952 type: "hidden", 3953 name: "image" 3954 }, 3955 domProps: { 3956 value: _vm.uploadImage 3957 } 3958 }) : _vm._e(), _vm._v(" "), _vm.categorie ? _c("input", { 3959 attrs: { 3960 type: "hidden", 3961 name: "image" 3962 }, 3963 domProps: { 3964 value: _vm.categorie.image 3965 } 3966 }) : _vm._e(), _vm._v(" "), _c("input", { 3967 attrs: { 3968 type: "hidden", 3969 name: "type_id" 3970 }, 3971 domProps: { 3972 value: _vm.type 3973 } 3974 }), _vm._v(" "), _c("input", { 3975 attrs: { 3976 type: "hidden", 3977 name: "campagne" 3978 }, 3979 domProps: { 3980 value: _vm.campagne.id 3981 } 3982 }), _vm._v(" "), _vm.model ? _c("input", { 3983 attrs: { 3984 type: "hidden", 3985 name: "id" 3986 }, 3987 domProps: { 3988 value: _vm.model.id 3989 } 3990 }) : _vm._e(), _vm._v(" "), _vm.categorie ? _c("input", { 3991 attrs: { 3992 type: "hidden", 3993 name: "categorie_id" 3994 }, 3995 domProps: { 3996 value: _vm.categorie.id 3997 } 3998 }) : _vm._e(), _vm._v(" "), _c("button", { 3999 staticClass: "btn btn-sm btn-success", 4000 attrs: { 4001 type: "submit" 4002 } 4003 }, [_vm._v("Envoyer")]), _vm._v(" "), _c("button", { 4004 staticClass: "btn btn-sm btn-default cancelCreate", 4005 attrs: { 4006 type: "button" 4007 }, 4008 on: { 4009 submit: function submit($event) { 4010 $event.preventDefault(); 4011 }, 4012 click: _vm.close 4013 } 4014 }, [_vm._v("Annuler")])])])])])])])])]); 4015}; 4016var staticRenderFns = []; 4017render._withStripped = true; 4018 4019 4020/***/ }), 4021 4022/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=template&id=eab99d22&": 4023/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\ 4024 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=template&id=eab99d22& ***! 4025 \**********************************************************************************************************************************************************************************************************************************************************************************************************/ 4026/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 4027 4028"use strict"; 4029__webpack_require__.r(__webpack_exports__); 4030/* harmony export */ __webpack_require__.d(__webpack_exports__, { 4031/* harmony export */ render: () => (/* binding */ render), 4032/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 4033/* harmony export */ }); 4034var render = function render() { 4035 var _vm = this, 4036 _c = _vm._self._c; 4037 return _c("div", [_c("div", { 4038 staticClass: "row" 4039 }, [_c("div", { 4040 staticClass: "col-md-7", 4041 attrs: { 4042 id: "StyleNewsletterCreate" 4043 } 4044 }, [_c("div", { 4045 staticClass: "btn-group pull-right" 4046 }, [!_vm.isEdit ? _c("form", { 4047 attrs: { 4048 method: "post", 4049 action: _vm.action 4050 } 4051 }, [_c("input", { 4052 attrs: { 4053 name: "_token", 4054 type: "hidden" 4055 }, 4056 domProps: { 4057 value: _vm._token 4058 } 4059 }), _vm._v(" "), _c("input", { 4060 attrs: { 4061 type: "hidden", 4062 name: "_method", 4063 value: "DELETE" 4064 } 4065 }), _vm._v(" "), _c("input", { 4066 attrs: { 4067 type: "hidden", 4068 name: "id" 4069 }, 4070 domProps: { 4071 value: _vm.content.id 4072 } 4073 }), _vm._v(" "), _c("input", { 4074 attrs: { 4075 type: "hidden", 4076 name: "campagne_id" 4077 }, 4078 domProps: { 4079 value: _vm.campagne.id 4080 } 4081 }), _vm._v(" "), !_vm.isEdit ? _c("button", { 4082 staticClass: "btn btn-xs btn-warning", 4083 attrs: { 4084 type: "button" 4085 }, 4086 on: { 4087 click: function click($event) { 4088 return _vm.editMode(_vm.content); 4089 } 4090 } 4091 }, [_vm._v("éditer")]) : _vm._e(), _vm._v(" "), _c("button", { 4092 staticClass: "btn btn-xs btn-danger deleteNewsAction", 4093 attrs: { 4094 type: "submit", 4095 "data-id": _vm.content.id, 4096 "data-action": "Breves" 4097 } 4098 }, [_vm._v("x")])]) : _vm._e()]), _vm._v(" "), _vm.categorie ? _c("table", { 4099 staticClass: "tableReset", 4100 attrs: { 4101 border: "0", 4102 width: "560", 4103 align: "center", 4104 cellpadding: "0", 4105 cellspacing: "0" 4106 } 4107 }, [_vm._m(0), _vm._v(" "), _c("tr", [_c("td", { 4108 staticClass: "resetMarge contentForm", 4109 attrs: { 4110 width: "400", 4111 align: "left", 4112 valign: "top" 4113 } 4114 }, [_c("h3", { 4115 staticClass: "mainTitle", 4116 staticStyle: { 4117 "text-align": "left", 4118 "font-family": "sans-serif" 4119 } 4120 }, [_vm._v(_vm._s(_vm.content.titre && _vm.content.titre.trim() ? _vm.content.titre : _vm.categorie.title))])]), _vm._v(" "), _c("td", { 4121 staticClass: "resetMarge", 4122 attrs: { 4123 valign: "top", 4124 align: "center", 4125 width: "160" 4126 } 4127 }, [_c("div", [_c("img", { 4128 attrs: { 4129 width: "130", 4130 border: "0", 4131 alt: _vm.categorie.title, 4132 src: _vm.content.model.image + "/" + _vm.categorie.image 4133 } 4134 })])])]), _vm._v(" "), _vm._m(1)]) : _vm._e(), _vm._v(" "), _vm._l(_vm.lists, function (breve) { 4135 return _c("div", [_c("table", { 4136 staticClass: "resetTable", 4137 attrs: { 4138 border: "0", 4139 width: "560", 4140 align: "center", 4141 cellpadding: "0", 4142 cellspacing: "0" 4143 } 4144 }, [_vm._m(2, true), _vm._v(" "), breve ? _c("tr", [_c("td", { 4145 staticClass: "resetMarge contentForm", 4146 attrs: { 4147 valign: "top", 4148 width: "375" 4149 } 4150 }, [_c("h3", [_vm._v(_vm._s(breve.title))]), _vm._v(" "), _c("p", { 4151 staticClass: "abstract" 4152 }, [_vm._v(_vm._s(breve["abstract"]))]), _vm._v(" "), _c("div", { 4153 staticClass: "content", 4154 domProps: { 4155 innerHTML: _vm._s(breve.content) 4156 } 4157 }), _vm._v(" "), _c("p", [_c("a", { 4158 "class": breve["class"], 4159 attrs: { 4160 target: "_blank", 4161 href: breve.link 4162 } 4163 }, [_vm._v(_vm._s(breve.message))])])]), _vm._v(" "), _c("td", { 4164 staticClass: "resetMarge", 4165 attrs: { 4166 width: "25" 4167 } 4168 }), _vm._v(" "), _c("td", { 4169 staticClass: "resetMarge", 4170 attrs: { 4171 valign: "top", 4172 align: "center", 4173 width: "160" 4174 } 4175 }, _vm._l(breve.images, function (image) { 4176 return image.id != _vm.categorie.id ? _c("div", [_c("a", { 4177 attrs: { 4178 target: "_blank", 4179 href: image.link 4180 } 4181 }, [_c("img", { 4182 attrs: { 4183 width: "130", 4184 border: "0", 4185 alt: image.title, 4186 src: image.image 4187 } 4188 })]), _vm._v(" "), !_vm.newsletter.hide_title ? _c("p", { 4189 staticStyle: { 4190 "text-align": "center !important" 4191 } 4192 }, [_vm._v(_vm._s(image.title))]) : _vm._e()]) : _vm._e(); 4193 }), 0)]) : _vm._e(), _vm._v(" "), _vm._m(3, true)])]); 4194 })], 2), _vm._v(" "), _c("div", { 4195 directives: [{ 4196 name: "show", 4197 rawName: "v-show", 4198 value: _vm.isEdit, 4199 expression: "isEdit" 4200 }], 4201 staticClass: "col-md-5" 4202 }, [_c("form", { 4203 staticClass: "form-horizontal", 4204 attrs: { 4205 name: "blocForm newsletterForm", 4206 method: "post", 4207 action: _vm.url + "/" + _vm.content.id 4208 } 4209 }, [_c("input", { 4210 attrs: { 4211 name: "_token", 4212 type: "hidden" 4213 }, 4214 domProps: { 4215 value: _vm._token 4216 } 4217 }), _vm._v(" "), _c("input", { 4218 attrs: { 4219 type: "hidden", 4220 name: "_method", 4221 value: "PUT" 4222 } 4223 }), _vm._v(" "), _c("div", { 4224 staticClass: "panel panel-success" 4225 }, [_c("div", { 4226 staticClass: "panel-body" 4227 }, [_c("h3", [_vm._v(_vm._s(_vm.title))]), _vm._v(" "), _c("select", { 4228 directives: [{ 4229 name: "model", 4230 rawName: "v-model", 4231 value: _vm.categorie, 4232 expression: "categorie" 4233 }], 4234 staticClass: "form-control form-required required", 4235 attrs: { 4236 name: "id" 4237 }, 4238 on: { 4239 change: [function ($event) { 4240 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 4241 return o.selected; 4242 }).map(function (o) { 4243 var val = "_value" in o ? o._value : o.value; 4244 return val; 4245 }); 4246 _vm.categorie = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 4247 }, _vm.updateModel] 4248 } 4249 }, [_c("option", { 4250 attrs: { 4251 disabled: "" 4252 }, 4253 domProps: { 4254 value: null 4255 } 4256 }, [_vm._v("Sélectionner un thème")]), _vm._v(" "), _vm._l(_vm.categories, function (categorie) { 4257 return _c("option", { 4258 domProps: { 4259 value: categorie.id 4260 } 4261 }, [_vm._v(_vm._s(categorie.title))]); 4262 })], 2), _c("br"), _vm._v(" "), _c("div", { 4263 staticClass: "form-group" 4264 }, [_c("label", [_vm._v("Titre alternatif")]), _vm._v(" "), _c("input", { 4265 directives: [{ 4266 name: "model", 4267 rawName: "v-model", 4268 value: _vm.content.titre, 4269 expression: "content.titre" 4270 }], 4271 staticClass: "form-control", 4272 attrs: { 4273 type: "text", 4274 name: "titre" 4275 }, 4276 domProps: { 4277 value: _vm.content.titre 4278 }, 4279 on: { 4280 input: function input($event) { 4281 if ($event.target.composing) return; 4282 _vm.$set(_vm.content, "titre", $event.target.value); 4283 } 4284 } 4285 })]), _vm._v(" "), _c("div", { 4286 staticClass: "row drag" 4287 }, [_c("div", { 4288 staticClass: "col-md-6" 4289 }, [_c("label", [_vm._v("Brèves disponibles")]), _vm._v(" "), _c("draggable", { 4290 staticClass: "dragArea", 4291 attrs: { 4292 options: { 4293 group: "breve" 4294 } 4295 }, 4296 model: { 4297 value: _vm.breves, 4298 callback: function callback($$v) { 4299 _vm.breves = $$v; 4300 }, 4301 expression: "breves" 4302 } 4303 }, _vm._l(_vm.breves, function (element) { 4304 return _c("div", { 4305 key: element.id 4306 }, [_vm._v(_vm._s(element.reference))]); 4307 }), 0)], 1), _vm._v(" "), _c("div", { 4308 staticClass: "col-md-6" 4309 }, [_c("label", [_vm._v("Brèves sélectionnées")]), _vm._v(" "), _c("draggable", { 4310 staticClass: "dragArea", 4311 attrs: { 4312 options: { 4313 group: "breve" 4314 } 4315 }, 4316 model: { 4317 value: _vm.choosen, 4318 callback: function callback($$v) { 4319 _vm.choosen = $$v; 4320 }, 4321 expression: "choosen" 4322 } 4323 }, _vm._l(_vm.choosen, function (element) { 4324 return _c("div", { 4325 key: element.id 4326 }, [_vm._v(_vm._s(element.reference))]); 4327 }), 0)], 1)]), _vm._v(" "), _c("div", { 4328 staticClass: "btn-group" 4329 }, [_c("input", { 4330 attrs: { 4331 type: "hidden", 4332 name: "type_id" 4333 }, 4334 domProps: { 4335 value: _vm.type 4336 } 4337 }), _vm._v(" "), _c("input", { 4338 attrs: { 4339 type: "hidden", 4340 name: "campagne" 4341 }, 4342 domProps: { 4343 value: _vm.campagne.id 4344 } 4345 }), _vm._v(" "), _vm.categorie ? _c("input", { 4346 attrs: { 4347 type: "hidden", 4348 name: "categorie_id" 4349 }, 4350 domProps: { 4351 value: _vm.categorie.id 4352 } 4353 }) : _vm._e(), _vm._v(" "), _c("input", { 4354 attrs: { 4355 type: "hidden", 4356 name: "groupe_id" 4357 }, 4358 domProps: { 4359 value: _vm.content.groupe_id 4360 } 4361 }), _vm._v(" "), _vm._l(_vm.choosen, function (chose) { 4362 return _c("input", { 4363 attrs: { 4364 type: "hidden", 4365 name: "breves[]" 4366 }, 4367 domProps: { 4368 value: chose.id 4369 } 4370 }); 4371 }), _vm._v(" "), _c("input", { 4372 attrs: { 4373 type: "hidden", 4374 name: "id" 4375 }, 4376 domProps: { 4377 value: _vm.content.id 4378 } 4379 }), _vm._v(" "), _c("button", { 4380 staticClass: "btn btn-sm btn-success", 4381 attrs: { 4382 type: "submit" 4383 } 4384 }, [_vm._v("Envoyer")]), _vm._v(" "), _c("button", { 4385 staticClass: "btn btn-sm btn-default cancelCreate", 4386 attrs: { 4387 type: "button" 4388 }, 4389 on: { 4390 click: _vm.close 4391 } 4392 }, [_vm._v("Annuler")])], 2)])])])])])]); 4393}; 4394var staticRenderFns = [function () { 4395 var _vm = this, 4396 _c = _vm._self._c; 4397 return _c("tr", { 4398 attrs: { 4399 bgcolor: "ffffff" 4400 } 4401 }, [_c("td", { 4402 attrs: { 4403 height: "15" 4404 } 4405 })]); 4406}, function () { 4407 var _vm = this, 4408 _c = _vm._self._c; 4409 return _c("tr", { 4410 attrs: { 4411 bgcolor: "ffffff" 4412 } 4413 }, [_c("td", { 4414 attrs: { 4415 height: "15" 4416 } 4417 })]); 4418}, function () { 4419 var _vm = this, 4420 _c = _vm._self._c; 4421 return _c("tr", { 4422 attrs: { 4423 bgcolor: "ffffff" 4424 } 4425 }, [_c("td", { 4426 attrs: { 4427 height: "5" 4428 } 4429 })]); 4430}, function () { 4431 var _vm = this, 4432 _c = _vm._self._c; 4433 return _c("tr", { 4434 attrs: { 4435 bgcolor: "ffffff" 4436 } 4437 }, [_c("td", { 4438 attrs: { 4439 height: "5" 4440 } 4441 })]); 4442}]; 4443render._withStripped = true; 4444 4445 4446/***/ }), 4447 4448/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf&": 4449/*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\ 4450 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf& ***! 4451 \*********************************************************************************************************************************************************************************************************************************************************************************************************/ 4452/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 4453 4454"use strict"; 4455__webpack_require__.r(__webpack_exports__); 4456/* harmony export */ __webpack_require__.d(__webpack_exports__, { 4457/* harmony export */ render: () => (/* binding */ render), 4458/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 4459/* harmony export */ }); 4460var render = function render() { 4461 var _vm = this, 4462 _c = _vm._self._c; 4463 return _c("div", [_c("div", { 4464 staticClass: "row" 4465 }, [_c("div", { 4466 staticClass: "col-md-7", 4467 attrs: { 4468 id: "StyleNewsletterCreate" 4469 } 4470 }, [_c("div", { 4471 staticClass: "btn-group pull-right" 4472 }, [!_vm.isEdit ? _c("form", { 4473 attrs: { 4474 method: "post", 4475 action: _vm.action 4476 } 4477 }, [_c("input", { 4478 attrs: { 4479 name: "_token", 4480 type: "hidden" 4481 }, 4482 domProps: { 4483 value: _vm._token 4484 } 4485 }), _vm._v(" "), _c("input", { 4486 attrs: { 4487 type: "hidden", 4488 name: "_method", 4489 value: "DELETE" 4490 } 4491 }), _vm._v(" "), _c("input", { 4492 attrs: { 4493 type: "hidden", 4494 name: "id" 4495 }, 4496 domProps: { 4497 value: _vm.content.id 4498 } 4499 }), _vm._v(" "), _c("input", { 4500 attrs: { 4501 type: "hidden", 4502 name: "campagne_id" 4503 }, 4504 domProps: { 4505 value: _vm.campagne.id 4506 } 4507 }), _vm._v(" "), !_vm.isEdit ? _c("button", { 4508 staticClass: "btn btn-xs btn-warning", 4509 attrs: { 4510 type: "button" 4511 }, 4512 on: { 4513 click: function click($event) { 4514 return _vm.editMode(_vm.content); 4515 } 4516 } 4517 }, [_vm._v("éditer")]) : _vm._e(), _vm._v(" "), _c("button", { 4518 staticClass: "btn btn-xs btn-danger deleteNewsAction", 4519 attrs: { 4520 type: "submit", 4521 "data-id": _vm.content.id, 4522 "data-action": "Groupe" 4523 } 4524 }, [_vm._v("x")])]) : _vm._e()]), _vm._v(" "), _vm.categorie ? _c("table", { 4525 staticClass: "tableReset", 4526 attrs: { 4527 border: "0", 4528 width: "560", 4529 align: "center", 4530 cellpadding: "0", 4531 cellspacing: "0" 4532 } 4533 }, [_vm._m(0), _vm._v(" "), _c("tr", [_c("td", { 4534 staticClass: "resetMarge contentForm", 4535 attrs: { 4536 width: "400", 4537 align: "left", 4538 valign: "top" 4539 } 4540 }, [_c("h3", { 4541 staticClass: "mainTitle", 4542 staticStyle: { 4543 "text-align": "left", 4544 "font-family": "sans-serif" 4545 } 4546 }, [_vm._v(_vm._s(_vm.content.titre && _vm.content.titre.trim() ? _vm.content.titre : _vm.categorie.title))])]), _vm._v(" "), _c("td", { 4547 staticClass: "resetMarge", 4548 attrs: { 4549 valign: "top", 4550 align: "center", 4551 width: "160" 4552 } 4553 }, [_c("div", [_c("img", { 4554 attrs: { 4555 width: "130", 4556 border: "0", 4557 alt: _vm.categorie.title, 4558 src: _vm.content.model.image + "/" + _vm.categorie.image 4559 } 4560 })])])]), _vm._v(" "), _vm._m(1)]) : _vm._e(), _vm._v(" "), _vm._l(_vm.lists, function (arret) { 4561 return _c("div", [_c("table", { 4562 staticClass: "resetTable", 4563 attrs: { 4564 border: "0", 4565 width: "560", 4566 align: "center", 4567 cellpadding: "0", 4568 cellspacing: "0" 4569 } 4570 }, [_vm._m(2, true), _vm._v(" "), arret ? _c("tr", [_c("td", { 4571 staticClass: "resetMarge contentForm", 4572 attrs: { 4573 valign: "top", 4574 width: "375" 4575 } 4576 }, [_c("h3", [_vm._v(_vm._s(arret.dumois ? "Arrêt du mois : " : "") + _vm._s(arret.title))]), _vm._v(" "), _c("p", { 4577 staticClass: "abstract" 4578 }, [_vm._v(_vm._s(arret["abstract"]))]), _vm._v(" "), _c("div", { 4579 staticClass: "content", 4580 domProps: { 4581 innerHTML: _vm._s(arret.content) 4582 } 4583 }), _vm._v(" "), _c("p", [_c("a", { 4584 "class": arret["class"], 4585 attrs: { 4586 target: "_blank", 4587 href: arret.link 4588 } 4589 }, [_vm._v(_vm._s(arret.message))])])]), _vm._v(" "), _c("td", { 4590 staticClass: "resetMarge", 4591 attrs: { 4592 width: "25" 4593 } 4594 }), _vm._v(" "), _c("td", { 4595 staticClass: "resetMarge", 4596 attrs: { 4597 valign: "top", 4598 align: "center", 4599 width: "160" 4600 } 4601 }, _vm._l(arret.images, function (image) { 4602 return image.id != _vm.categorie.id ? _c("div", [_c("a", { 4603 attrs: { 4604 target: "_blank", 4605 href: image.link 4606 } 4607 }, [_c("img", { 4608 attrs: { 4609 width: "130", 4610 border: "0", 4611 alt: image.title, 4612 src: image.image 4613 } 4614 })]), _vm._v(" "), !_vm.newsletter.hide_title ? _c("p", { 4615 staticStyle: { 4616 "text-align": "center !important" 4617 } 4618 }, [_vm._v(_vm._s(image.title))]) : _vm._e()]) : _vm._e(); 4619 }), 0)]) : _vm._e(), _vm._v(" "), _vm._m(3, true)])]); 4620 })], 2), _vm._v(" "), _c("div", { 4621 directives: [{ 4622 name: "show", 4623 rawName: "v-show", 4624 value: _vm.isEdit, 4625 expression: "isEdit" 4626 }], 4627 staticClass: "col-md-5" 4628 }, [_c("form", { 4629 staticClass: "form-horizontal", 4630 attrs: { 4631 name: "blocForm newsletterForm", 4632 method: "post", 4633 action: _vm.url + "/" + _vm.content.id 4634 } 4635 }, [_c("input", { 4636 attrs: { 4637 name: "_token", 4638 type: "hidden" 4639 }, 4640 domProps: { 4641 value: _vm._token 4642 } 4643 }), _vm._v(" "), _c("input", { 4644 attrs: { 4645 type: "hidden", 4646 name: "_method", 4647 value: "PUT" 4648 } 4649 }), _vm._v(" "), _c("div", { 4650 staticClass: "panel panel-success" 4651 }, [_c("div", { 4652 staticClass: "panel-body" 4653 }, [_c("h3", [_vm._v(_vm._s(_vm.title))]), _vm._v(" "), _c("select", { 4654 directives: [{ 4655 name: "model", 4656 rawName: "v-model", 4657 value: _vm.categorie, 4658 expression: "categorie" 4659 }], 4660 staticClass: "form-control form-required required", 4661 attrs: { 4662 name: "id" 4663 }, 4664 on: { 4665 change: [function ($event) { 4666 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 4667 return o.selected; 4668 }).map(function (o) { 4669 var val = "_value" in o ? o._value : o.value; 4670 return val; 4671 }); 4672 _vm.categorie = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 4673 }, _vm.updateModel] 4674 } 4675 }, [_c("option", { 4676 attrs: { 4677 disabled: "" 4678 }, 4679 domProps: { 4680 value: null 4681 } 4682 }, [_vm._v("Sélectionner")]), _vm._v(" "), _vm._l(_vm.categories, function (categorie) { 4683 return _c("option", { 4684 domProps: { 4685 value: categorie.id 4686 } 4687 }, [_vm._v(_vm._s(categorie.title))]); 4688 })], 2), _c("br"), _vm._v(" "), _c("div", { 4689 staticClass: "form-group" 4690 }, [_c("label", [_vm._v("Titre alternatif")]), _vm._v(" "), _c("input", { 4691 directives: [{ 4692 name: "model", 4693 rawName: "v-model", 4694 value: _vm.content.titre, 4695 expression: "content.titre" 4696 }], 4697 staticClass: "form-control", 4698 attrs: { 4699 type: "text", 4700 name: "titre" 4701 }, 4702 domProps: { 4703 value: _vm.content.titre 4704 }, 4705 on: { 4706 input: function input($event) { 4707 if ($event.target.composing) return; 4708 _vm.$set(_vm.content, "titre", $event.target.value); 4709 } 4710 } 4711 })]), _vm._v(" "), _c("div", { 4712 staticClass: "row drag" 4713 }, [_c("div", { 4714 staticClass: "col-md-6" 4715 }, [_c("draggable", { 4716 staticClass: "dragArea", 4717 attrs: { 4718 options: { 4719 group: "arret" 4720 } 4721 }, 4722 model: { 4723 value: _vm.arrets, 4724 callback: function callback($$v) { 4725 _vm.arrets = $$v; 4726 }, 4727 expression: "arrets" 4728 } 4729 }, _vm._l(_vm.arrets, function (element) { 4730 return _c("div", { 4731 key: element.id 4732 }, [_vm._v(_vm._s(element.reference))]); 4733 }), 0)], 1), _vm._v(" "), _c("div", { 4734 staticClass: "col-md-6" 4735 }, [_c("draggable", { 4736 staticClass: "dragArea", 4737 attrs: { 4738 options: { 4739 group: "arret" 4740 } 4741 }, 4742 model: { 4743 value: _vm.choosen, 4744 callback: function callback($$v) { 4745 _vm.choosen = $$v; 4746 }, 4747 expression: "choosen" 4748 } 4749 }, _vm._l(_vm.choosen, function (element) { 4750 return _c("div", { 4751 key: element.id 4752 }, [_vm._v(_vm._s(element.reference))]); 4753 }), 0)], 1)]), _vm._v(" "), _c("div", { 4754 staticClass: "btn-group" 4755 }, [_c("input", { 4756 attrs: { 4757 type: "hidden", 4758 name: "type_id" 4759 }, 4760 domProps: { 4761 value: _vm.type 4762 } 4763 }), _vm._v(" "), _c("input", { 4764 attrs: { 4765 type: "hidden", 4766 name: "campagne" 4767 }, 4768 domProps: { 4769 value: _vm.campagne.id 4770 } 4771 }), _vm._v(" "), _vm.categorie ? _c("input", { 4772 attrs: { 4773 type: "hidden", 4774 name: "categorie_id" 4775 }, 4776 domProps: { 4777 value: _vm.categorie.id 4778 } 4779 }) : _vm._e(), _vm._v(" "), _c("input", { 4780 attrs: { 4781 type: "hidden", 4782 name: "groupe_id" 4783 }, 4784 domProps: { 4785 value: _vm.content.groupe_id 4786 } 4787 }), _vm._v(" "), _vm._l(_vm.choosen, function (chose) { 4788 return _c("input", { 4789 attrs: { 4790 type: "hidden", 4791 name: "arrets[]" 4792 }, 4793 domProps: { 4794 value: chose.id 4795 } 4796 }); 4797 }), _vm._v(" "), _c("input", { 4798 attrs: { 4799 type: "hidden", 4800 name: "id" 4801 }, 4802 domProps: { 4803 value: _vm.content.id 4804 } 4805 }), _vm._v(" "), _c("button", { 4806 staticClass: "btn btn-sm btn-success", 4807 attrs: { 4808 type: "submit" 4809 } 4810 }, [_vm._v("Envoyer")]), _vm._v(" "), _c("button", { 4811 staticClass: "btn btn-sm btn-default cancelCreate", 4812 attrs: { 4813 type: "button" 4814 }, 4815 on: { 4816 click: _vm.close 4817 } 4818 }, [_vm._v("Annuler")])], 2)])])])])])]); 4819}; 4820var staticRenderFns = [function () { 4821 var _vm = this, 4822 _c = _vm._self._c; 4823 return _c("tr", { 4824 attrs: { 4825 bgcolor: "ffffff" 4826 } 4827 }, [_c("td", { 4828 attrs: { 4829 height: "15" 4830 } 4831 })]); 4832}, function () { 4833 var _vm = this, 4834 _c = _vm._self._c; 4835 return _c("tr", { 4836 attrs: { 4837 bgcolor: "ffffff" 4838 } 4839 }, [_c("td", { 4840 attrs: { 4841 height: "15" 4842 } 4843 })]); 4844}, function () { 4845 var _vm = this, 4846 _c = _vm._self._c; 4847 return _c("tr", { 4848 attrs: { 4849 bgcolor: "ffffff" 4850 } 4851 }, [_c("td", { 4852 attrs: { 4853 height: "5" 4854 } 4855 })]); 4856}, function () { 4857 var _vm = this, 4858 _c = _vm._self._c; 4859 return _c("tr", { 4860 attrs: { 4861 bgcolor: "ffffff" 4862 } 4863 }, [_c("td", { 4864 attrs: { 4865 height: "5" 4866 } 4867 })]); 4868}]; 4869render._withStripped = true; 4870 4871 4872/***/ }), 4873 4874/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=template&id=6dc490ea&": 4875/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\ 4876 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=template&id=6dc490ea& ***! 4877 \**********************************************************************************************************************************************************************************************************************************************************************************************************/ 4878/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 4879 4880"use strict"; 4881__webpack_require__.r(__webpack_exports__); 4882/* harmony export */ __webpack_require__.d(__webpack_exports__, { 4883/* harmony export */ render: () => (/* binding */ render), 4884/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 4885/* harmony export */ }); 4886var render = function render() { 4887 var _vm = this, 4888 _c = _vm._self._c; 4889 return _c("div", [_c("div", { 4890 staticClass: "row" 4891 }, [_c("div", { 4892 staticClass: "col-md-7", 4893 attrs: { 4894 id: "StyleNewsletterCreate" 4895 } 4896 }, [_vm.mode == "edit" ? _c("div", { 4897 staticClass: "btn-group pull-right", 4898 staticStyle: { 4899 "margin-bottom": "5px" 4900 } 4901 }, [_vm.model && !_vm.isEdit ? _c("form", { 4902 attrs: { 4903 method: "post", 4904 action: _vm.action 4905 } 4906 }, [_c("input", { 4907 attrs: { 4908 name: "_token", 4909 type: "hidden" 4910 }, 4911 domProps: { 4912 value: _vm._token 4913 } 4914 }), _vm._v(" "), _c("input", { 4915 attrs: { 4916 type: "hidden", 4917 name: "_method", 4918 value: "DELETE" 4919 } 4920 }), _vm._v(" "), _c("input", { 4921 attrs: { 4922 type: "hidden", 4923 name: "id" 4924 }, 4925 domProps: { 4926 value: _vm.content.id 4927 } 4928 }), _vm._v(" "), _c("input", { 4929 attrs: { 4930 type: "hidden", 4931 name: "campagne_id" 4932 }, 4933 domProps: { 4934 value: _vm.campagne.id 4935 } 4936 }), _vm._v(" "), _vm.model && !_vm.isEdit ? _c("button", { 4937 staticClass: "btn btn-xs btn-warning", 4938 attrs: { 4939 type: "button" 4940 }, 4941 on: { 4942 click: function click($event) { 4943 return _vm.editMode(_vm.model); 4944 } 4945 } 4946 }, [_vm._v("éditer")]) : _vm._e(), _vm._v(" "), _c("button", { 4947 staticClass: "btn btn-xs btn-danger deleteNewsAction", 4948 attrs: { 4949 type: "submit", 4950 "data-id": _vm.content.id, 4951 "data-action": _vm.model.title 4952 } 4953 }, [_vm._v("x")])]) : _vm._e()]) : _vm._e(), _vm._v(" "), _vm.model && _vm.type == 5 && _vm.newsletter.display == "top" ? _c("analyse-newsletter", { 4954 attrs: { 4955 title: _vm.newsletter.comment_title, 4956 arret: _vm.model, 4957 analyses: _vm.model.analyses 4958 } 4959 }) : _vm._e(), _vm._v(" "), _c("table", { 4960 staticClass: "resetTable", 4961 attrs: { 4962 border: "0", 4963 width: "560", 4964 align: "center", 4965 cellpadding: "0", 4966 cellspacing: "0" 4967 } 4968 }, [_vm.model ? _c("tr", [_c("td", { 4969 staticClass: "resetMarge contentForm", 4970 attrs: { 4971 valign: "top", 4972 width: "375" 4973 } 4974 }, [_c("h3", [_vm._v(_vm._s(_vm.model.dumois ? "Arrêt du mois : " : "") + _vm._s(_vm.model.title))]), _vm._v(" "), _c("p", { 4975 staticClass: "abstract" 4976 }, [_vm._v(_vm._s(_vm.model["abstract"]))]), _vm._v(" "), _c("div", { 4977 staticClass: "content", 4978 domProps: { 4979 innerHTML: _vm._s(_vm.model.content) 4980 } 4981 }), _vm._v(" "), _c("p", [_c("a", { 4982 "class": _vm.model["class"], 4983 attrs: { 4984 target: "_blank", 4985 href: _vm.model.link 4986 } 4987 }, [_vm._v(_vm._s(_vm.model.message))])])]), _vm._v(" "), _c("td", { 4988 staticClass: "resetMarge", 4989 attrs: { 4990 width: "25" 4991 } 4992 }), _vm._v(" "), _c("td", { 4993 staticClass: "resetMarge", 4994 attrs: { 4995 valign: "top", 4996 align: "center", 4997 width: "160" 4998 } 4999 }, _vm._l(_vm.model.images, function (image) { 5000 return _c("div", [_c("a", { 5001 attrs: { 5002 target: "_blank", 5003 href: image.link 5004 } 5005 }, [_c("img", { 5006 attrs: { 5007 width: "130", 5008 border: "0", 5009 alt: image.title, 5010 src: image.image 5011 } 5012 })]), _vm._v(" "), !_vm.newsletter.hide_title ? _c("p", { 5013 staticStyle: { 5014 "text-align": "center !important" 5015 } 5016 }, [_vm._v(_vm._s(image.title))]) : _vm._e()]); 5017 }), 0)]) : _vm._e()]), _vm._v(" "), _vm.model && _vm.type == 5 && _vm.newsletter.display == "bottom" ? _c("analyse-newsletter", { 5018 attrs: { 5019 title: _vm.newsletter.comment_title, 5020 arret: _vm.model, 5021 analyses: _vm.model.analyses 5022 } 5023 }) : _vm._e()], 1), _vm._v(" "), _c("div", { 5024 directives: [{ 5025 name: "show", 5026 rawName: "v-show", 5027 value: _vm.isEdit || _vm.mode == "create", 5028 expression: "isEdit || mode == 'create'" 5029 }], 5030 staticClass: "col-md-5" 5031 }, [_c("form", { 5032 staticClass: "form-horizontal", 5033 attrs: { 5034 name: "blocForm newsletterForm", 5035 method: "post", 5036 action: _vm.action 5037 } 5038 }, [_c("input", { 5039 attrs: { 5040 name: "_token", 5041 type: "hidden" 5042 }, 5043 domProps: { 5044 value: _vm._token 5045 } 5046 }), _vm._v(" "), _vm.mode == "edit" ? _c("input", { 5047 attrs: { 5048 type: "hidden", 5049 name: "_method", 5050 value: "PUT" 5051 } 5052 }) : _vm._e(), _vm._v(" "), _c("div", { 5053 staticClass: "panel panel-success" 5054 }, [_c("div", { 5055 staticClass: "panel-body" 5056 }, [_c("h3", [_vm._v(_vm._s(_vm.title))]), _vm._v(" "), _vm.type == 7 ? _c("div", [_c("select", { 5057 directives: [{ 5058 name: "model", 5059 rawName: "v-model", 5060 value: _vm.categorie, 5061 expression: "categorie" 5062 }], 5063 staticClass: "form-control form-required required", 5064 attrs: { 5065 name: "id" 5066 }, 5067 on: { 5068 change: [function ($event) { 5069 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 5070 return o.selected; 5071 }).map(function (o) { 5072 var val = "_value" in o ? o._value : o.value; 5073 return val; 5074 }); 5075 _vm.categorie = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 5076 }, _vm.updateModel] 5077 } 5078 }, [!_vm.categorie ? _c("option", { 5079 attrs: { 5080 disabled: "" 5081 }, 5082 domProps: { 5083 value: null 5084 } 5085 }, [_vm._v("Sélectionner catégorie")]) : _vm._e(), _vm._v(" "), _vm._l(_vm.categories, function (categorie) { 5086 return _c("option", { 5087 domProps: { 5088 value: categorie 5089 } 5090 }, [_vm._v(_vm._s(categorie.title))]); 5091 })], 2), _c("br"), _vm._v(" "), _c("div", { 5092 staticClass: "row drag" 5093 }, [_c("div", { 5094 staticClass: "col-md-6" 5095 }, [_c("draggable", { 5096 staticClass: "dragArea", 5097 attrs: { 5098 options: { 5099 group: "arret" 5100 } 5101 }, 5102 model: { 5103 value: _vm.arrets, 5104 callback: function callback($$v) { 5105 _vm.arrets = $$v; 5106 }, 5107 expression: "arrets" 5108 } 5109 }, _vm._l(_vm.arrets, function (element) { 5110 return _c("div", { 5111 key: element.id 5112 }, [_vm._v(_vm._s(element.reference))]); 5113 }), 0)], 1), _vm._v(" "), _c("div", { 5114 staticClass: "col-md-6" 5115 }, [_c("draggable", { 5116 staticClass: "dragArea", 5117 attrs: { 5118 options: { 5119 group: "arret" 5120 } 5121 }, 5122 model: { 5123 value: _vm.choosen, 5124 callback: function callback($$v) { 5125 _vm.choosen = $$v; 5126 }, 5127 expression: "choosen" 5128 } 5129 }, _vm._l(_vm.choosen, function (element) { 5130 return _c("div", { 5131 key: element.id 5132 }, [_vm._v(_vm._s(element.reference))]); 5133 }), 0)], 1)])]) : _vm._e(), _vm._v(" "), _vm.type != 7 ? _c("div", [_c("select", { 5134 directives: [{ 5135 name: "model", 5136 rawName: "v-model", 5137 value: _vm.model, 5138 expression: "model" 5139 }], 5140 staticClass: "form-control form-required required", 5141 attrs: { 5142 name: "id" 5143 }, 5144 on: { 5145 change: [function ($event) { 5146 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 5147 return o.selected; 5148 }).map(function (o) { 5149 var val = "_value" in o ? o._value : o.value; 5150 return val; 5151 }); 5152 _vm.model = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 5153 }, _vm.updateModel] 5154 } 5155 }, [!_vm.model ? _c("option", { 5156 attrs: { 5157 disabled: "" 5158 }, 5159 domProps: { 5160 value: null 5161 } 5162 }, [_vm._v("Sélectionner")]) : _vm._e(), _vm._v(" "), _vm._l(_vm.models, function (model) { 5163 return _c("option", { 5164 domProps: { 5165 value: model 5166 } 5167 }, [_vm._v(_vm._s(model.title))]); 5168 })], 2), _c("br")]) : _vm._e(), _vm._v(" "), _c("div", { 5169 staticClass: "btn-group" 5170 }, [_c("input", { 5171 attrs: { 5172 type: "hidden", 5173 name: "type_id" 5174 }, 5175 domProps: { 5176 value: _vm.type 5177 } 5178 }), _vm._v(" "), _c("input", { 5179 attrs: { 5180 type: "hidden", 5181 name: "campagne" 5182 }, 5183 domProps: { 5184 value: _vm.campagne.id 5185 } 5186 }), _vm._v(" "), _vm.type == 7 && _vm.categorie ? _c("input", { 5187 attrs: { 5188 type: "hidden", 5189 name: "categorie_id" 5190 }, 5191 domProps: { 5192 value: _vm.categorie.id 5193 } 5194 }) : _vm._e(), _vm._v(" "), _vm.model ? _c("div", [_vm.type == 5 ? _c("input", { 5195 attrs: { 5196 type: "hidden", 5197 name: "arret_id" 5198 }, 5199 domProps: { 5200 value: _vm.model.id 5201 } 5202 }) : _vm._e(), _vm._v(" "), _vm.type == 8 ? _c("input", { 5203 attrs: { 5204 type: "hidden", 5205 name: "product_id" 5206 }, 5207 domProps: { 5208 value: _vm.model.id 5209 } 5210 }) : _vm._e(), _vm._v(" "), _vm.type == 9 ? _c("input", { 5211 attrs: { 5212 type: "hidden", 5213 name: "colloque_id" 5214 }, 5215 domProps: { 5216 value: _vm.model.id 5217 } 5218 }) : _vm._e()]) : _vm._e(), _vm._v(" "), _vm.type == 7 ? _c("div", _vm._l(_vm.choosen, function (chose) { 5219 return _c("input", { 5220 attrs: { 5221 type: "hidden", 5222 name: "arrets[]" 5223 }, 5224 domProps: { 5225 value: chose.id 5226 } 5227 }); 5228 }), 0) : _vm._e(), _vm._v(" "), _c("button", { 5229 staticClass: "btn btn-sm btn-success", 5230 attrs: { 5231 type: "submit" 5232 } 5233 }, [_vm._v("Envoyer")]), _vm._v(" "), _c("button", { 5234 staticClass: "btn btn-sm btn-default cancelCreate", 5235 attrs: { 5236 type: "button" 5237 }, 5238 on: { 5239 click: _vm.close 5240 } 5241 }, [_vm._v("Annuler")])])])])])])])]); 5242}; 5243var staticRenderFns = []; 5244render._withStripped = true; 5245 5246 5247/***/ }), 5248 5249/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=template&id=6b689aae&": 5250/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\ 5251 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=template&id=6b689aae& ***! 5252 \***************************************************************************************************************************************************************************************************************************************************************************************************/ 5253/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 5254 5255"use strict"; 5256__webpack_require__.r(__webpack_exports__); 5257/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5258/* harmony export */ render: () => (/* binding */ render), 5259/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 5260/* harmony export */ }); 5261var render = function render() { 5262 var _vm = this, 5263 _c = _vm._self._c; 5264 return _c("div", { 5265 staticClass: "form-group" 5266 }, [_vm._m(0), _vm._v(" "), _c("p", [_c("button", { 5267 staticClass: "btn btn-primary", 5268 attrs: { 5269 type: "button" 5270 }, 5271 on: { 5272 click: _vm.add 5273 } 5274 }, [_c("i", { 5275 staticClass: "fa fa-plus" 5276 }), _vm._v(" ajouter une option")])]), _vm._v(" "), _vm._l(_vm.choices, function (item, index) { 5277 return _c("div", { 5278 staticClass: "choix-input" 5279 }, [_c("input", { 5280 staticClass: "form-control", 5281 attrs: { 5282 type: "text", 5283 name: "conference[choices][" + index + "]" 5284 }, 5285 domProps: { 5286 value: item 5287 } 5288 }), _vm._v(" "), _c("button", { 5289 staticClass: "btn btn-danger", 5290 attrs: { 5291 type: "button" 5292 }, 5293 on: { 5294 click: _vm.remove 5295 } 5296 }, [_c("i", { 5297 staticClass: "fa fa-minus" 5298 })])]); 5299 })], 2); 5300}; 5301var staticRenderFns = [function () { 5302 var _vm = this, 5303 _c = _vm._self._c; 5304 return _c("label", [_c("strong", [_vm._v("Options")])]); 5305}]; 5306render._withStripped = true; 5307 5308 5309/***/ }), 5310 5311/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=template&id=2af8719e&": 5312/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\ 5313 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=template&id=2af8719e& ***! 5314 \***********************************************************************************************************************************************************************************************************************************************************************************************/ 5315/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 5316 5317"use strict"; 5318__webpack_require__.r(__webpack_exports__); 5319/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5320/* harmony export */ render: () => (/* binding */ render), 5321/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 5322/* harmony export */ }); 5323var render = function render() { 5324 var _vm = this, 5325 _c = _vm._self._c; 5326 return _c("div", [_c("div", { 5327 staticClass: "row" 5328 }, [_c("div", { 5329 staticClass: "col-md-7", 5330 attrs: { 5331 id: "StyleNewsletterCreate" 5332 } 5333 }, [_vm.type == 5 && _vm.model ? _c("arret", { 5334 attrs: { 5335 newsletter: _vm.newsletter, 5336 arret: _vm.model 5337 } 5338 }) : _vm._e(), _vm._v(" "), _vm.hasTitle && _vm.type != 7 ? _c("text-content", { 5339 attrs: { 5340 newbloc: _vm.newbloc, 5341 categorie: _vm.model, 5342 type: _vm.type 5343 }, 5344 on: { 5345 imageUploaded: _vm.imageUploadedUpdate 5346 } 5347 }) : _vm._e(), _vm._v(" "), _vm.type != 5 && _vm.type != 10 && _vm.model ? _c("model-content", { 5348 attrs: { 5349 color: _vm.color, 5350 type: _vm.type, 5351 model: _vm.model, 5352 newbloc: _vm.newbloc 5353 } 5354 }) : _vm._e()], 1), _vm._v(" "), _c("div", { 5355 staticClass: "col-md-5 create_bloc_form" 5356 }, [_c("form", { 5357 attrs: { 5358 name: "blocForm newsletterForm", 5359 method: "post", 5360 action: _vm.action 5361 }, 5362 on: { 5363 submit: _vm.checkCreateNewsletterBlocForm 5364 } 5365 }, [_c("input", { 5366 attrs: { 5367 name: "_token", 5368 type: "hidden" 5369 }, 5370 domProps: { 5371 value: _vm._token 5372 } 5373 }), _vm._v(" "), _c("div", { 5374 staticClass: "panel panel-success" 5375 }, [_c("div", { 5376 staticClass: "panel-body" 5377 }, [_c("h3", [_vm._v(_vm._s(_vm.title))]), _vm._v(" "), _vm.type == 10 || _vm.type == 5 || _vm.type == 9 || _vm.type == 8 || _vm.type == 7 || _vm.type == 11 || _vm.type == 12 ? _c("div", [_c("select", { 5378 directives: [{ 5379 name: "model", 5380 rawName: "v-model", 5381 value: _vm.selected, 5382 expression: "selected" 5383 }], 5384 staticClass: "form-control form-required required", 5385 attrs: { 5386 name: "model_id" 5387 }, 5388 on: { 5389 change: [function ($event) { 5390 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 5391 return o.selected; 5392 }).map(function (o) { 5393 var val = "_value" in o ? o._value : o.value; 5394 return val; 5395 }); 5396 _vm.selected = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 5397 }, function ($event) { 5398 return _vm.getSingle(_vm.selected); 5399 }] 5400 } 5401 }, [!_vm.selected ? _c("option", { 5402 attrs: { 5403 disabled: "" 5404 }, 5405 domProps: { 5406 value: null 5407 } 5408 }, [_vm._v("Sélectionner")]) : _vm._e(), _vm._v(" "), _vm._l(_vm.droptitles, function (model) { 5409 return _c("option", { 5410 domProps: { 5411 value: model.id 5412 } 5413 }, [_vm._v(_vm._s(model.title))]); 5414 })], 2), _c("br")]) : _vm._e(), _vm._v(" "), _vm.hasTitle ? _c("div", { 5415 staticClass: "form-group" 5416 }, [_c("label", [_vm._v("Titre")]), _vm._v(" "), _c("input", { 5417 directives: [{ 5418 name: "model", 5419 rawName: "v-model", 5420 value: _vm.newbloc.titre, 5421 expression: "newbloc.titre" 5422 }], 5423 staticClass: "form-control", 5424 attrs: { 5425 type: "text", 5426 required: "", 5427 name: "titre" 5428 }, 5429 domProps: { 5430 value: _vm.newbloc.titre 5431 }, 5432 on: { 5433 input: function input($event) { 5434 if ($event.target.composing) return; 5435 _vm.$set(_vm.newbloc, "titre", $event.target.value); 5436 } 5437 } 5438 })]) : _vm._e(), _vm._v(" "), _vm.hasImage ? _c("div", { 5439 staticClass: "form-group" 5440 }, [_c("label", [_vm._v("Ajouter un lien sur l'image")]), _vm._v(" "), _c("input", { 5441 directives: [{ 5442 name: "model", 5443 rawName: "v-model", 5444 value: _vm.newbloc.lien, 5445 expression: "newbloc.lien" 5446 }], 5447 staticClass: "form-control", 5448 attrs: { 5449 type: "text", 5450 value: "", 5451 name: "lien" 5452 }, 5453 domProps: { 5454 value: _vm.newbloc.lien 5455 }, 5456 on: { 5457 input: function input($event) { 5458 if ($event.target.composing) return; 5459 _vm.$set(_vm.newbloc, "lien", $event.target.value); 5460 } 5461 } 5462 })]) : _vm._e(), _vm._v(" "), _vm.hasText ? _c("div", { 5463 staticClass: "form-group" 5464 }, [_c("label", [_vm._v("Texte")]), _vm._v(" "), _c("textarea", { 5465 directives: [{ 5466 name: "model", 5467 rawName: "v-model", 5468 value: _vm.newbloc.contenu, 5469 expression: "newbloc.contenu" 5470 }], 5471 "class": "form-control redactorBuild_" + _vm.hash, 5472 attrs: { 5473 required: "", 5474 name: "contenu", 5475 rows: "10" 5476 }, 5477 domProps: { 5478 value: _vm.newbloc.contenu 5479 }, 5480 on: { 5481 input: function input($event) { 5482 if ($event.target.composing) return; 5483 _vm.$set(_vm.newbloc, "contenu", $event.target.value); 5484 } 5485 } 5486 }, [_vm._v(_vm._s(_vm.newbloc.contenu))])]) : _vm._e(), _vm._v(" "), _vm.type == 7 || _vm.type == 11 ? _c("div", { 5487 staticClass: "row drag" 5488 }, [_c("div", { 5489 staticClass: "col-md-6" 5490 }, [_c("draggable", { 5491 staticClass: "dragArea", 5492 attrs: { 5493 options: { 5494 group: _vm.type == 11 ? "breve" : "arret" 5495 }, 5496 move: _vm.checkMove 5497 }, 5498 model: { 5499 value: _vm.arrets, 5500 callback: function callback($$v) { 5501 _vm.arrets = $$v; 5502 }, 5503 expression: "arrets" 5504 } 5505 }, _vm._l(_vm.arrets, function (element) { 5506 return _c("div", { 5507 key: element.id 5508 }, [_vm._v(_vm._s(element.reference))]); 5509 }), 0)], 1), _vm._v(" "), _c("div", { 5510 staticClass: "col-md-6" 5511 }, [_c("draggable", { 5512 staticClass: "dragArea", 5513 attrs: { 5514 options: { 5515 group: _vm.type == 11 ? "breve" : "arret" 5516 }, 5517 move: _vm.checkMove 5518 }, 5519 model: { 5520 value: _vm.choosen, 5521 callback: function callback($$v) { 5522 _vm.choosen = $$v; 5523 }, 5524 expression: "choosen" 5525 } 5526 }, _vm._l(_vm.choosen, function (element) { 5527 return _c("div", { 5528 key: element.id 5529 }, [_vm._v(_vm._s(element.reference))]); 5530 }), 0)], 1)]) : _vm._e(), _vm._v(" "), _vm.errors.length ? _c("p", [_c("ul", _vm._l(_vm.errors, function (error) { 5531 return _c("li", { 5532 staticClass: "newsletterGroupError" 5533 }, [_vm._v(_vm._s(error))]); 5534 }), 0)]) : _vm._e(), _vm._v(" "), _c("div", { 5535 staticClass: "form-group" 5536 }, [_c("div", { 5537 staticClass: "btn-group" 5538 }, [_vm.uploadImage ? _c("input", { 5539 attrs: { 5540 type: "hidden", 5541 name: "image" 5542 }, 5543 domProps: { 5544 value: _vm.uploadImage 5545 } 5546 }) : _vm._e(), _vm._v(" "), _vm.model && _vm.path == "categorie" ? _c("input", { 5547 attrs: { 5548 type: "hidden", 5549 name: "image" 5550 }, 5551 domProps: { 5552 value: _vm.model.image 5553 } 5554 }) : _vm._e(), _vm._v(" "), _c("input", { 5555 attrs: { 5556 type: "hidden", 5557 name: "type_id" 5558 }, 5559 domProps: { 5560 value: _vm.type 5561 } 5562 }), _vm._v(" "), _c("input", { 5563 attrs: { 5564 type: "hidden", 5565 name: "campagne" 5566 }, 5567 domProps: { 5568 value: _vm.campagne.id 5569 } 5570 }), _vm._v(" "), _vm.model ? _c("input", { 5571 attrs: { 5572 type: "hidden", 5573 name: _vm.path + "_id" 5574 }, 5575 domProps: { 5576 value: _vm.model.id 5577 } 5578 }) : _vm._e(), _vm._v(" "), _vm._l(_vm.choosen, function (chose) { 5579 return _c("input", { 5580 attrs: { 5581 type: "hidden", 5582 name: _vm.type == 11 ? "breves[]" : "arrets[]" 5583 }, 5584 domProps: { 5585 value: chose.id 5586 } 5587 }); 5588 }), _vm._v(" "), _c("button", { 5589 staticClass: "btn btn-sm btn-success", 5590 attrs: { 5591 type: "submit" 5592 } 5593 }, [_vm._v("Envoyer")]), _vm._v(" "), _c("button", { 5594 staticClass: "btn btn-sm btn-default cancelCreate", 5595 attrs: { 5596 type: "button" 5597 }, 5598 on: { 5599 submit: function submit($event) { 5600 $event.preventDefault(); 5601 }, 5602 click: _vm.close 5603 } 5604 }, [_vm._v("Annuler")])], 2)])])])])])])]); 5605}; 5606var staticRenderFns = []; 5607render._withStripped = true; 5608 5609 5610/***/ }), 5611 5612/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=template&id=6b67ecba&": 5613/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\ 5614 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=template&id=6b67ecba& ***! 5615 \**********************************************************************************************************************************************************************************************************************************************************************************************/ 5616/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 5617 5618"use strict"; 5619__webpack_require__.r(__webpack_exports__); 5620/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5621/* harmony export */ render: () => (/* binding */ render), 5622/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 5623/* harmony export */ }); 5624var render = function render() { 5625 var _vm = this, 5626 _c = _vm._self._c; 5627 return _c("div", { 5628 staticClass: "mt-15" 5629 }, [_c("p", [_c("strong", [_vm._v(_vm._s(_vm.detenteur.civilite))])]), _vm._v(" "), _c("p", [_c("a", { 5630 attrs: { 5631 href: "admin/user/" + _vm.detenteur.id 5632 } 5633 }, [_vm._v(_vm._s(_vm.detenteur.name))])]), _vm._v(" "), _c("p", [_vm._v(_vm._s(_vm.detenteur.email))])]); 5634}; 5635var staticRenderFns = []; 5636render._withStripped = true; 5637 5638 5639/***/ }), 5640 5641/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=template&id=5945d1ff&": 5642/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\ 5643 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=template&id=5945d1ff& ***! 5644 \*********************************************************************************************************************************************************************************************************************************************************************************************/ 5645/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 5646 5647"use strict"; 5648__webpack_require__.r(__webpack_exports__); 5649/* harmony export */ __webpack_require__.d(__webpack_exports__, { 5650/* harmony export */ render: () => (/* binding */ render), 5651/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 5652/* harmony export */ }); 5653var render = function render() { 5654 var _vm = this, 5655 _c = _vm._self._c; 5656 return _c("div", [_c("div", { 5657 directives: [{ 5658 name: "show", 5659 rawName: "v-show", 5660 value: _vm.activ, 5661 expression: "activ" 5662 }], 5663 staticClass: "pull-right", 5664 staticStyle: { 5665 "margin-top": "5px" 5666 } 5667 }, [_c("form", { 5668 staticClass: "pull-right", 5669 attrs: { 5670 method: "post", 5671 action: _vm.action 5672 } 5673 }, [_c("input", { 5674 attrs: { 5675 name: "_token", 5676 type: "hidden" 5677 }, 5678 domProps: { 5679 value: _vm._token 5680 } 5681 }), _vm._v(" "), _c("input", { 5682 attrs: { 5683 type: "hidden", 5684 name: "_method", 5685 value: "DELETE" 5686 } 5687 }), _vm._v(" "), _c("input", { 5688 attrs: { 5689 type: "hidden", 5690 name: "id" 5691 }, 5692 domProps: { 5693 value: _vm.bloc.id 5694 } 5695 }), _vm._v(" "), _c("input", { 5696 attrs: { 5697 type: "hidden", 5698 name: "campagne_id" 5699 }, 5700 domProps: { 5701 value: _vm.campagne.id 5702 } 5703 }), _vm._v(" "), _c("button", { 5704 staticClass: "btn btn-xs btn-danger deleteNewsAction", 5705 attrs: { 5706 type: "submit", 5707 "data-id": _vm.bloc.id, 5708 "data-action": _vm.bloc.titre 5709 } 5710 }, [_vm._v("x")])]), _vm._v(" "), _c("button", { 5711 staticClass: "btn btn-info btn-xs", 5712 attrs: { 5713 id: "btn" + _vm.bloc_id, 5714 type: "button" 5715 }, 5716 on: { 5717 click: _vm.makeVisible 5718 } 5719 }, [_vm._v("editer")])]), _vm._v(" "), _vm.type == 5 && _vm.model && _vm.visible ? _c("arret", { 5720 staticClass: "paddingUp", 5721 attrs: { 5722 newsletter: _vm.newsletter, 5723 arret: _vm.model 5724 } 5725 }) : _vm._e(), _vm._v(" "), _vm.hasTitle && _vm.visible && _vm.type != 7 && _vm.type != 11 ? _c("text-content", { 5726 staticClass: "paddingUp", 5727 attrs: { 5728 newbloc: _vm.newbloc, 5729 categorie: _vm.model, 5730 type: _vm.type 5731 }, 5732 on: { 5733 imageUploaded: _vm.imageUploadedUpdate 5734 } 5735 }) : _vm._e(), _vm._v(" "), !_vm.hasTitle && _vm.model && _vm.visible && _vm.type != 5 && _vm.type != 10 && _vm.type != 7 && _vm.type != 11 || (_vm.type == 7 || _vm.type == 11) && _vm.model && _vm.visible ? _c("model-content", { 5736 staticClass: "paddingUp", 5737 attrs: { 5738 color: _vm.color, 5739 model: _vm.model, 5740 type: _vm.type, 5741 newbloc: _vm.newbloc 5742 } 5743 }) : _vm._e(), _vm._v(" "), _vm.visible ? _c("div", { 5744 staticClass: "wrapper-bloc-edit" 5745 }, [_c("div", { 5746 staticClass: "edit_bloc_form" 5747 }, [_c("form", { 5748 attrs: { 5749 name: "blocForm newsletterForm", 5750 method: "post", 5751 action: _vm.action 5752 }, 5753 on: { 5754 submit: _vm.checkEditNewsletterBlockForm 5755 } 5756 }, [_c("input", { 5757 attrs: { 5758 type: "hidden", 5759 name: "_method", 5760 value: "PUT" 5761 } 5762 }), _vm._v(" "), _c("input", { 5763 attrs: { 5764 name: "_token", 5765 type: "hidden" 5766 }, 5767 domProps: { 5768 value: _vm._token 5769 } 5770 }), _vm._v(" "), _c("div", { 5771 staticClass: "panel panel-warning" 5772 }, [_c("div", { 5773 staticClass: "panel-body" 5774 }, [_vm.type == 10 || _vm.type == 5 || _vm.type == 9 || _vm.type == 8 || _vm.type == 7 || _vm.type == 11 || _vm.type == 12 ? _c("div", [_c("select", { 5775 directives: [{ 5776 name: "model", 5777 rawName: "v-model", 5778 value: _vm.selected, 5779 expression: "selected" 5780 }], 5781 staticClass: "form-control form-required required", 5782 attrs: { 5783 disabled: _vm.type == 7 || _vm.type == 11, 5784 name: _vm.type == 12 ? "analyse_id" : "model_id" 5785 }, 5786 on: { 5787 change: [function ($event) { 5788 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 5789 return o.selected; 5790 }).map(function (o) { 5791 var val = "_value" in o ? o._value : o.value; 5792 return val; 5793 }); 5794 _vm.selected = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 5795 }, function ($event) { 5796 return _vm.getSingle(_vm.selected); 5797 }] 5798 } 5799 }, [!_vm.selected ? _c("option", { 5800 attrs: { 5801 disabled: "" 5802 }, 5803 domProps: { 5804 value: null 5805 } 5806 }, [_vm._v("Sélectionner")]) : _vm._e(), _vm._v(" "), _vm._l(_vm.models, function (model) { 5807 return _c("option", { 5808 domProps: { 5809 value: model.id 5810 } 5811 }, [_vm._v(_vm._s(model.title))]); 5812 })], 2), _c("br")]) : _vm._e(), _vm._v(" "), _vm.hasTitle ? _c("div", { 5813 staticClass: "form-group" 5814 }, [_c("label", [_vm._v("Titre")]), _vm._v(" "), _c("input", { 5815 directives: [{ 5816 name: "model", 5817 rawName: "v-model", 5818 value: _vm.newbloc.titre, 5819 expression: "newbloc.titre" 5820 }], 5821 staticClass: "form-control", 5822 attrs: { 5823 type: "text", 5824 required: _vm.type != 11, 5825 name: "titre" 5826 }, 5827 domProps: { 5828 value: _vm.newbloc.titre 5829 }, 5830 on: { 5831 input: function input($event) { 5832 if ($event.target.composing) return; 5833 _vm.$set(_vm.newbloc, "titre", $event.target.value); 5834 } 5835 } 5836 })]) : _vm._e(), _vm._v(" "), _vm.hasImage ? _c("div", { 5837 staticClass: "form-group" 5838 }, [_c("label", [_vm._v("Ajouter un lien sur l'image")]), _vm._v(" "), _c("input", { 5839 directives: [{ 5840 name: "model", 5841 rawName: "v-model", 5842 value: _vm.newbloc.lien, 5843 expression: "newbloc.lien" 5844 }], 5845 staticClass: "form-control", 5846 attrs: { 5847 type: "text", 5848 value: "", 5849 name: "lien" 5850 }, 5851 domProps: { 5852 value: _vm.newbloc.lien 5853 }, 5854 on: { 5855 input: function input($event) { 5856 if ($event.target.composing) return; 5857 _vm.$set(_vm.newbloc, "lien", $event.target.value); 5858 } 5859 } 5860 })]) : _vm._e(), _vm._v(" "), _vm.hasText ? _c("div", { 5861 staticClass: "form-group" 5862 }, [_c("label", [_vm._v("Texte")]), _vm._v(" "), _c("textarea", { 5863 directives: [{ 5864 name: "model", 5865 rawName: "v-model", 5866 value: _vm.newbloc.contenu, 5867 expression: "newbloc.contenu" 5868 }], 5869 "class": "form-control redactorBuild_" + _vm.hash, 5870 attrs: { 5871 required: "", 5872 name: "contenu", 5873 rows: "10" 5874 }, 5875 domProps: { 5876 value: _vm.newbloc.contenu 5877 }, 5878 on: { 5879 input: function input($event) { 5880 if ($event.target.composing) return; 5881 _vm.$set(_vm.newbloc, "contenu", $event.target.value); 5882 } 5883 } 5884 }, [_vm._v(_vm._s(_vm.newbloc.contenu))])]) : _vm._e(), _vm._v(" "), _vm.type == 7 || _vm.type == 11 ? _c("div", { 5885 staticClass: "row drag" 5886 }, [_c("div", { 5887 staticClass: "col-md-6" 5888 }, [_c("draggable", { 5889 staticClass: "dragArea", 5890 attrs: { 5891 options: { 5892 group: _vm.type == 11 ? "breve" : "arret" 5893 }, 5894 move: _vm.checkMove 5895 }, 5896 model: { 5897 value: _vm.arrets, 5898 callback: function callback($$v) { 5899 _vm.arrets = $$v; 5900 }, 5901 expression: "arrets" 5902 } 5903 }, _vm._l(_vm.arrets, function (element) { 5904 return _c("div", { 5905 key: element.id 5906 }, [_vm._v(_vm._s(element.reference))]); 5907 }), 0)], 1), _vm._v(" "), _c("div", { 5908 staticClass: "col-md-6" 5909 }, [_c("draggable", { 5910 staticClass: "dragArea", 5911 attrs: { 5912 options: { 5913 group: _vm.type == 11 ? "breve" : "arret" 5914 }, 5915 move: _vm.checkMove 5916 }, 5917 model: { 5918 value: _vm.choosen, 5919 callback: function callback($$v) { 5920 _vm.choosen = $$v; 5921 }, 5922 expression: "choosen" 5923 } 5924 }, _vm._l(_vm.choosen, function (element) { 5925 return _c("div", { 5926 key: element.id 5927 }, [_vm._v(_vm._s(element.reference))]); 5928 }), 0)], 1)]) : _vm._e(), _vm._v(" "), _vm.errors.length ? _c("p", [_c("ul", _vm._l(_vm.errors, function (error) { 5929 return _c("li", { 5930 staticClass: "newsletterGroupError" 5931 }, [_vm._v(_vm._s(error))]); 5932 }), 0)]) : _vm._e()]), _vm._v(" "), _c("div", { 5933 staticClass: "panel-footer" 5934 }, [_c("div", { 5935 staticClass: "btn-group" 5936 }, [_vm.uploadImage ? _c("input", { 5937 attrs: { 5938 type: "hidden", 5939 name: "image" 5940 }, 5941 domProps: { 5942 value: _vm.uploadImage 5943 } 5944 }) : _vm._e(), _vm._v(" "), _c("input", { 5945 attrs: { 5946 type: "hidden", 5947 name: "id" 5948 }, 5949 domProps: { 5950 value: _vm.bloc.id 5951 } 5952 }), _vm._v(" "), _c("input", { 5953 attrs: { 5954 type: "hidden", 5955 name: "type_id" 5956 }, 5957 domProps: { 5958 value: _vm.type 5959 } 5960 }), _vm._v(" "), _c("input", { 5961 attrs: { 5962 type: "hidden", 5963 name: "campagne" 5964 }, 5965 domProps: { 5966 value: _vm.campagne.id 5967 } 5968 }), _vm._v(" "), _c("input", { 5969 attrs: { 5970 type: "hidden", 5971 name: "groupe_id" 5972 }, 5973 domProps: { 5974 value: _vm.bloc.groupe_id 5975 } 5976 }), _vm._v(" "), _vm.model ? _c("input", { 5977 attrs: { 5978 type: "hidden", 5979 name: _vm.path + "_id" 5980 }, 5981 domProps: { 5982 value: _vm.selected 5983 } 5984 }) : _vm._e(), _vm._v(" "), _vm.type == 10 ? _c("input", { 5985 attrs: { 5986 type: "hidden", 5987 name: "image" 5988 }, 5989 domProps: { 5990 value: _vm.model.image 5991 } 5992 }) : _vm._e(), _vm._v(" "), _vm._l(_vm.choosen, function (chose) { 5993 return _c("input", { 5994 attrs: { 5995 type: "hidden", 5996 name: _vm.type == 11 ? "breves[]" : "arrets[]" 5997 }, 5998 domProps: { 5999 value: chose.id 6000 } 6001 }); 6002 }), _vm._v(" "), _c("button", { 6003 staticClass: "btn btn-sm btn-warning", 6004 attrs: { 6005 type: "submit" 6006 } 6007 }, [_vm._v("Envoyer")]), _vm._v(" "), _c("button", { 6008 staticClass: "btn btn-sm btn-default cancelCreate", 6009 attrs: { 6010 type: "button" 6011 }, 6012 on: { 6013 submit: function submit($event) { 6014 $event.preventDefault(); 6015 }, 6016 click: _vm.makeVisible 6017 } 6018 }, [_vm._v("Annuler")])], 2)])])])])]) : _vm._e()], 1); 6019}; 6020var staticRenderFns = []; 6021render._withStripped = true; 6022 6023 6024/***/ }), 6025 6026/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBuild.vue?vue&type=template&id=4b2d7c5d&": 6027/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\ 6028 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBuild.vue?vue&type=template&id=4b2d7c5d& ***! 6029 \**********************************************************************************************************************************************************************************************************************************************************************************************/ 6030/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 6031 6032"use strict"; 6033__webpack_require__.r(__webpack_exports__); 6034/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6035/* harmony export */ render: () => (/* binding */ render), 6036/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 6037/* harmony export */ }); 6038var render = function render() { 6039 var _vm = this, 6040 _c = _vm._self._c; 6041 return _c("div", [_vm.list ? _c("div", _vm._l(_vm.list, function (content) { 6042 return _c("div", [content.type_content == "model" ? _c("build-newsletter-models", { 6043 attrs: { 6044 type: content.type_id, 6045 site: _vm.site, 6046 newsletter: _vm.newsletter, 6047 mode: "edit", 6048 content: content, 6049 campagne: _vm.campagne, 6050 _token: _vm._token, 6051 url: _vm.url 6052 }, 6053 on: { 6054 deleteContent: _vm.deleteContentBloc 6055 } 6056 }) : _vm._e(), _vm._v(" "), content.type_content == "group" && content.type_id == 7 ? _c("build-newsletter-group", { 6057 attrs: { 6058 type: content.type_id, 6059 site: _vm.site, 6060 newsletter: _vm.newsletter, 6061 mode: "edit", 6062 content: content, 6063 campagne: _vm.campagne, 6064 _token: _vm._token, 6065 url: _vm.url 6066 }, 6067 on: { 6068 deleteContent: _vm.deleteContentBloc 6069 } 6070 }) : _vm._e(), _vm._v(" "), content.type_content == "group" && content.type_id == 11 ? _c("build-newsletter-breves", { 6071 attrs: { 6072 type: content.type_id, 6073 site: _vm.site, 6074 newsletter: _vm.newsletter, 6075 mode: "edit", 6076 content: content, 6077 campagne: _vm.campagne, 6078 _token: _vm._token, 6079 url: _vm.url 6080 }, 6081 on: { 6082 deleteContent: _vm.deleteContentBloc 6083 } 6084 }) : _vm._e(), _vm._v(" "), content.type_content == "content" ? _c("build-newsletter", { 6085 attrs: { 6086 type: content.type_id, 6087 site: _vm.site, 6088 mode: "edit", 6089 model: content, 6090 campagne: _vm.campagne, 6091 _token: _vm._token, 6092 url: _vm.url 6093 }, 6094 on: { 6095 deleteContent: _vm.deleteContentBloc 6096 } 6097 }) : _vm._e()], 1); 6098 }), 0) : _vm._e()]); 6099}; 6100var staticRenderFns = []; 6101render._withStripped = true; 6102 6103 6104/***/ }), 6105 6106/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=template&id=64c873c8&": 6107/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\ 6108 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=template&id=64c873c8& ***! 6109 \********************************************************************************************************************************************************************************************************************************************************************************************/ 6110/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 6111 6112"use strict"; 6113__webpack_require__.r(__webpack_exports__); 6114/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6115/* harmony export */ render: () => (/* binding */ render), 6116/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 6117/* harmony export */ }); 6118var render = function render() { 6119 var _vm = this, 6120 _c = _vm._self._c; 6121 return _c("div", [_c("div", { 6122 staticClass: "choixAdresse" 6123 }, [_c("select", { 6124 directives: [{ 6125 name: "model", 6126 rawName: "v-model", 6127 value: _vm.selected, 6128 expression: "selected" 6129 }], 6130 staticClass: "form-control form-required required", 6131 attrs: { 6132 name: "location_id" 6133 }, 6134 on: { 6135 change: [function ($event) { 6136 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 6137 return o.selected; 6138 }).map(function (o) { 6139 var val = "_value" in o ? o._value : o.value; 6140 return val; 6141 }); 6142 _vm.selected = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 6143 }, _vm.updateAdresse] 6144 } 6145 }, _vm._l(_vm.list, function (adresse) { 6146 return _c("option", { 6147 domProps: { 6148 value: adresse.id 6149 } 6150 }, [_vm._v(_vm._s(adresse.name))]); 6151 }), 0)]), _vm._v(" "), _c("div", { 6152 staticClass: "thumbnail thumbnail-colloque" 6153 }, [_c("div", { 6154 staticClass: "row" 6155 }, [_c("div", { 6156 staticClass: "col-md-3", 6157 domProps: { 6158 innerHTML: _vm._s(_vm.map) 6159 } 6160 }), _vm._v(" "), _c("div", { 6161 staticClass: "col-md-8" 6162 }, [_c("h4", { 6163 domProps: { 6164 innerHTML: _vm._s(_vm.name) 6165 } 6166 }), _vm._v(" "), _c("p", { 6167 domProps: { 6168 innerHTML: _vm._s(_vm.adresse) 6169 } 6170 })])])])]); 6171}; 6172var staticRenderFns = []; 6173render._withStripped = true; 6174 6175 6176/***/ }), 6177 6178/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=template&id=4d29797a&": 6179/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\ 6180 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=template&id=4d29797a& ***! 6181 \*******************************************************************************************************************************************************************************************************************************************************************************************************/ 6182/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 6183 6184"use strict"; 6185__webpack_require__.r(__webpack_exports__); 6186/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6187/* harmony export */ render: () => (/* binding */ render), 6188/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 6189/* harmony export */ }); 6190var render = function render() { 6191 var _vm = this, 6192 _c = _vm._self._c; 6193 return _c("div", [_c("div", { 6194 staticClass: "adresse-verify" 6195 }, [_c("address", { 6196 attrs: { 6197 id: "userAdresse" 6198 } 6199 }, [_c("h5", [_vm._v("Adresse indiqué sur bon")]), _vm._v(" "), _c("div", { 6200 domProps: { 6201 innerHTML: _vm._s(_vm.livraison_detail) 6202 } 6203 })]), _vm._v(" "), _c("address", { 6204 attrs: { 6205 id: "userFacturation" 6206 } 6207 }, [_c("h5", [_vm._v("Adresse indiqué sur facture")]), _vm._v(" "), _c("div", { 6208 domProps: { 6209 innerHTML: _vm._s(_vm.facturation_detail) 6210 } 6211 })]), _vm._v(" "), _vm._m(0)]), _vm._v(" "), _c("address", { 6212 staticStyle: { 6213 position: "relative" 6214 } 6215 }, [_vm.changed ? _c("div", { 6216 staticClass: "text-success", 6217 staticStyle: { 6218 position: "absolute", 6219 top: "25px" 6220 } 6221 }, [_vm._v("Adresse mise à jour"), _c("i", { 6222 staticClass: "fa fa-check" 6223 })]) : _vm._e(), _vm._v(" "), _c("div", [_c("button", { 6224 staticClass: "text-danger", 6225 staticStyle: { 6226 padding: "0", 6227 "margin-bottom": "5px" 6228 }, 6229 attrs: { 6230 type: "button" 6231 }, 6232 on: { 6233 click: _vm.open 6234 } 6235 }, [_c("i", { 6236 staticClass: "fa fa-undo" 6237 }), _vm._v("\n Changer l'adresse de facturation "), _c("i", { 6238 staticClass: "fa fa-caret-down" 6239 })])]), _vm._v(" "), _c("transition", { 6240 attrs: { 6241 name: "slide", 6242 mode: "out-in" 6243 } 6244 }, [_vm.change ? _c("div", { 6245 staticClass: "billing-form-update", 6246 attrs: { 6247 id: "billing-form" 6248 } 6249 }, [_c("h4", [_vm._v("Adresse de facturation "), _c("cite", { 6250 staticClass: "text-danger pull-right", 6251 staticStyle: { 6252 color: "red" 6253 } 6254 }, [_c("small", [_vm._v("* Champs requis")])])]), _vm._v(" "), _vm.change ? _c("ul", { 6255 staticClass: "billing-form" 6256 }, [_c("li", { 6257 staticClass: "form-group" 6258 }, [_c("div", { 6259 staticClass: "col-md-6" 6260 }, [_c("label", { 6261 staticClass: "control-label", 6262 attrs: { 6263 "for": "" 6264 } 6265 }, [_vm._v("Titre")]), _vm._v(" "), _c("select", { 6266 directives: [{ 6267 name: "model", 6268 rawName: "v-model", 6269 value: _vm.facturation.civilite_id, 6270 expression: "facturation.civilite_id" 6271 }], 6272 staticClass: "form-control", 6273 attrs: { 6274 name: "civilite_id", 6275 required: "" 6276 }, 6277 on: { 6278 change: function change($event) { 6279 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 6280 return o.selected; 6281 }).map(function (o) { 6282 var val = "_value" in o ? o._value : o.value; 6283 return val; 6284 }); 6285 _vm.$set(_vm.facturation, "civilite_id", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 6286 } 6287 } 6288 }, [_c("option", { 6289 attrs: { 6290 value: "4" 6291 } 6292 }), _vm._v(" "), _c("option", { 6293 attrs: { 6294 value: "1" 6295 } 6296 }, [_vm._v("Monsieur")]), _vm._v(" "), _c("option", { 6297 attrs: { 6298 value: "2" 6299 } 6300 }, [_vm._v("Madame")]), _vm._v(" "), _c("option", { 6301 attrs: { 6302 value: "3" 6303 } 6304 }, [_vm._v("Me")])])])]), _vm._v(" "), _c("li", { 6305 staticClass: "form-group" 6306 }, [_c("div", { 6307 staticClass: "col-md-6" 6308 }, [_c("label", { 6309 staticClass: "control-label", 6310 attrs: { 6311 "for": "" 6312 } 6313 }, [_vm._v("Prénom "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 6314 directives: [{ 6315 name: "model", 6316 rawName: "v-model", 6317 value: _vm.facturation.first_name, 6318 expression: "facturation.first_name" 6319 }], 6320 staticClass: "form-control", 6321 attrs: { 6322 required: "", 6323 name: "first_name", 6324 id: "first_name", 6325 type: "text" 6326 }, 6327 domProps: { 6328 value: _vm.facturation.first_name 6329 }, 6330 on: { 6331 input: function input($event) { 6332 if ($event.target.composing) return; 6333 _vm.$set(_vm.facturation, "first_name", $event.target.value); 6334 } 6335 } 6336 })]), _vm._v(" "), _c("div", { 6337 staticClass: "col-md-6" 6338 }, [_c("label", { 6339 staticClass: "control-label", 6340 attrs: { 6341 "for": "" 6342 } 6343 }, [_vm._v("Nom "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 6344 directives: [{ 6345 name: "model", 6346 rawName: "v-model", 6347 value: _vm.facturation.last_name, 6348 expression: "facturation.last_name" 6349 }], 6350 staticClass: "form-control", 6351 attrs: { 6352 required: "", 6353 name: "last_name", 6354 id: "last_name", 6355 type: "text" 6356 }, 6357 domProps: { 6358 value: _vm.facturation.last_name 6359 }, 6360 on: { 6361 input: function input($event) { 6362 if ($event.target.composing) return; 6363 _vm.$set(_vm.facturation, "last_name", $event.target.value); 6364 } 6365 } 6366 })])]), _vm._v(" "), _c("li", { 6367 staticClass: "form-group" 6368 }, [_c("div", { 6369 staticClass: "col-md-6" 6370 }, [_c("label", { 6371 staticClass: "control-label", 6372 attrs: { 6373 "for": "" 6374 } 6375 }, [_vm._v("Entreprise")]), _vm._v(" "), _c("input", { 6376 directives: [{ 6377 name: "model", 6378 rawName: "v-model", 6379 value: _vm.facturation.company, 6380 expression: "facturation.company" 6381 }], 6382 staticClass: "form-control", 6383 attrs: { 6384 name: "company", 6385 type: "text" 6386 }, 6387 domProps: { 6388 value: _vm.facturation.company 6389 }, 6390 on: { 6391 input: function input($event) { 6392 if ($event.target.composing) return; 6393 _vm.$set(_vm.facturation, "company", $event.target.value); 6394 } 6395 } 6396 })])]), _vm._v(" "), _c("li", { 6397 staticClass: "form-group" 6398 }, [_c("div", { 6399 staticClass: "col-md-12" 6400 }, [_c("label", { 6401 staticClass: "control-label", 6402 attrs: { 6403 "for": "" 6404 } 6405 }, [_vm._v("Adresse "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 6406 directives: [{ 6407 name: "model", 6408 rawName: "v-model", 6409 value: _vm.facturation.adresse, 6410 expression: "facturation.adresse" 6411 }], 6412 staticClass: "form-control", 6413 attrs: { 6414 required: "", 6415 id: "adresse", 6416 name: "adresse", 6417 type: "text" 6418 }, 6419 domProps: { 6420 value: _vm.facturation.adresse 6421 }, 6422 on: { 6423 input: function input($event) { 6424 if ($event.target.composing) return; 6425 _vm.$set(_vm.facturation, "adresse", $event.target.value); 6426 } 6427 } 6428 })])]), _vm._v(" "), _c("li", { 6429 staticClass: "form-group" 6430 }, [_c("div", { 6431 staticClass: "col-md-4" 6432 }, [_c("label", { 6433 staticClass: "control-label", 6434 attrs: { 6435 "for": "" 6436 } 6437 }, [_vm._v("CP")]), _vm._v(" "), _c("input", { 6438 directives: [{ 6439 name: "model", 6440 rawName: "v-model", 6441 value: _vm.facturation.cp, 6442 expression: "facturation.cp" 6443 }], 6444 staticClass: "form-control", 6445 attrs: { 6446 id: "cp", 6447 name: "cp", 6448 type: "text" 6449 }, 6450 domProps: { 6451 value: _vm.facturation.cp 6452 }, 6453 on: { 6454 input: function input($event) { 6455 if ($event.target.composing) return; 6456 _vm.$set(_vm.facturation, "cp", $event.target.value); 6457 } 6458 } 6459 })]), _vm._v(" "), _c("div", { 6460 staticClass: "col-md-8" 6461 }, [_c("label", { 6462 staticClass: "control-label", 6463 attrs: { 6464 "for": "" 6465 } 6466 }, [_vm._v("Complément d'adresse")]), _vm._v(" "), _c("input", { 6467 directives: [{ 6468 name: "model", 6469 rawName: "v-model", 6470 value: _vm.facturation.complement, 6471 expression: "facturation.complement" 6472 }], 6473 staticClass: "form-control", 6474 attrs: { 6475 id: "complement", 6476 name: "complement", 6477 type: "text" 6478 }, 6479 domProps: { 6480 value: _vm.facturation.complement 6481 }, 6482 on: { 6483 input: function input($event) { 6484 if ($event.target.composing) return; 6485 _vm.$set(_vm.facturation, "complement", $event.target.value); 6486 } 6487 } 6488 })])]), _vm._v(" "), _c("li", { 6489 staticClass: "form-group" 6490 }, [_c("div", { 6491 staticClass: "col-md-4" 6492 }, [_c("label", { 6493 staticClass: "control-label", 6494 attrs: { 6495 "for": "" 6496 } 6497 }, [_vm._v("NPA "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 6498 directives: [{ 6499 name: "model", 6500 rawName: "v-model", 6501 value: _vm.facturation.npa, 6502 expression: "facturation.npa" 6503 }], 6504 staticClass: "form-control", 6505 attrs: { 6506 id: "npa", 6507 name: "npa", 6508 type: "text" 6509 }, 6510 domProps: { 6511 value: _vm.facturation.npa 6512 }, 6513 on: { 6514 input: function input($event) { 6515 if ($event.target.composing) return; 6516 _vm.$set(_vm.facturation, "npa", $event.target.value); 6517 } 6518 } 6519 })]), _vm._v(" "), _c("div", { 6520 staticClass: "col-md-8" 6521 }, [_c("label", { 6522 staticClass: "control-label", 6523 attrs: { 6524 "for": "" 6525 } 6526 }, [_vm._v("Ville "), _c("sup", [_vm._v("*")])]), _vm._v(" "), _c("input", { 6527 directives: [{ 6528 name: "model", 6529 rawName: "v-model", 6530 value: _vm.facturation.ville, 6531 expression: "facturation.ville" 6532 }], 6533 staticClass: "form-control", 6534 attrs: { 6535 id: "ville", 6536 name: "ville", 6537 type: "text" 6538 }, 6539 domProps: { 6540 value: _vm.facturation.ville 6541 }, 6542 on: { 6543 input: function input($event) { 6544 if ($event.target.composing) return; 6545 _vm.$set(_vm.facturation, "ville", $event.target.value); 6546 } 6547 } 6548 })])]), _vm._v(" "), _c("li", { 6549 staticClass: "form-group" 6550 }, [_c("div", { 6551 staticClass: "col-md-6" 6552 }, [_c("label", { 6553 staticClass: "control-label", 6554 attrs: { 6555 "for": "" 6556 } 6557 }, [_vm._v("Pays")]), _vm._v(" "), _c("select", { 6558 directives: [{ 6559 name: "model", 6560 rawName: "v-model", 6561 value: _vm.facturation.pays_id, 6562 expression: "facturation.pays_id" 6563 }], 6564 staticClass: "form-control", 6565 attrs: { 6566 disabled: "", 6567 name: "pays_id" 6568 }, 6569 on: { 6570 change: function change($event) { 6571 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 6572 return o.selected; 6573 }).map(function (o) { 6574 var val = "_value" in o ? o._value : o.value; 6575 return val; 6576 }); 6577 _vm.$set(_vm.facturation, "pays_id", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 6578 } 6579 } 6580 }, [_c("option", { 6581 attrs: { 6582 value: "208" 6583 } 6584 }, [_vm._v("Suisse")])])])]), _vm._v(" "), _c("li", [_c("div", { 6585 staticClass: "form-group" 6586 }, [_c("div", { 6587 staticClass: "col-md-12 text-right" 6588 }, [_c("hr"), _vm._v(" "), _c("input", { 6589 attrs: { 6590 name: "type", 6591 value: "4", 6592 type: "hidden" 6593 } 6594 }), _vm._v(" "), _c("input", { 6595 attrs: { 6596 name: "user_id", 6597 type: "hidden" 6598 }, 6599 domProps: { 6600 value: _vm.livraison.user_id 6601 } 6602 }), _vm._v(" "), _vm.id != _vm.main ? _c("input", { 6603 attrs: { 6604 name: "id", 6605 type: "hidden" 6606 }, 6607 domProps: { 6608 value: _vm.id 6609 } 6610 }) : _vm._e(), _vm._v(" "), _c("button", { 6611 staticClass: "btn btn-primary", 6612 attrs: { 6613 type: "button" 6614 }, 6615 on: { 6616 click: function click($event) { 6617 $event.preventDefault(); 6618 return _vm.update.apply(null, arguments); 6619 } 6620 } 6621 }, [_vm._v("Mettre à jour")])])])])]) : _vm._e()]) : _vm._e()])], 1)]); 6622}; 6623var staticRenderFns = [function () { 6624 var _vm = this, 6625 _c = _vm._self._c; 6626 return _c("div", [_c("div", { 6627 staticClass: "form-group" 6628 }, [_c("label", { 6629 staticClass: "control-label", 6630 attrs: { 6631 "for": "reference_no" 6632 } 6633 }, [_vm._v("N° référence")]), _vm._v(" "), _c("input", { 6634 staticClass: "form-control", 6635 attrs: { 6636 name: "reference_no", 6637 id: "reference_no", 6638 type: "text", 6639 placeholder: "Optionnel" 6640 } 6641 })]), _vm._v(" "), _c("div", { 6642 staticClass: "form-group" 6643 }, [_c("label", { 6644 staticClass: "control-label", 6645 attrs: { 6646 "for": "transaction_no" 6647 } 6648 }, [_vm._v("N° commande")]), _vm._v(" "), _c("input", { 6649 staticClass: "form-control", 6650 attrs: { 6651 name: "transaction_no", 6652 id: "transaction_no", 6653 type: "text", 6654 placeholder: "Optionnel" 6655 } 6656 })])]); 6657}]; 6658render._withStripped = true; 6659 6660 6661/***/ }), 6662 6663/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=template&id=15ac0c20&": 6664/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\ 6665 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=template&id=15ac0c20& ***! 6666 \**************************************************************************************************************************************************************************************************************************************************************************************************/ 6667/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 6668 6669"use strict"; 6670__webpack_require__.r(__webpack_exports__); 6671/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6672/* harmony export */ render: () => (/* binding */ render), 6673/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 6674/* harmony export */ }); 6675var render = function render() { 6676 var _vm = this, 6677 _c = _vm._self._c; 6678 return _c("div", [_c("div", { 6679 staticClass: "row" 6680 }, [_c("div", { 6681 staticClass: "col-md-2" 6682 }, [_c("div", { 6683 staticClass: "form-group" 6684 }, [_c("label", { 6685 staticClass: "control-label" 6686 }, [_vm._v("Rechercher")]), _vm._v(" "), _c("select", { 6687 directives: [{ 6688 name: "model", 6689 rawName: "v-model", 6690 value: _vm.selected, 6691 expression: "selected" 6692 }], 6693 staticClass: "form-control", 6694 attrs: { 6695 name: "type" 6696 }, 6697 on: { 6698 change: [function ($event) { 6699 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 6700 return o.selected; 6701 }).map(function (o) { 6702 var val = "_value" in o ? o._value : o.value; 6703 return val; 6704 }); 6705 _vm.selected = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 6706 }, _vm.updateType] 6707 } 6708 }, _vm._l(_vm.types, function (type) { 6709 return _c("option", { 6710 domProps: { 6711 value: type.value 6712 } 6713 }, [_vm._v(_vm._s(type.name))]); 6714 }), 0)])]), _vm._v(" "), _c("div", { 6715 staticClass: "col-md-2" 6716 }, [_c("div", { 6717 staticClass: "form-group" 6718 }, [_c("label", { 6719 staticClass: "control-label" 6720 }, [_vm._v("Grouper par")]), _vm._v(" "), _c("div", { 6721 staticClass: "checkbox" 6722 }, [_c("label", [_c("input", { 6723 directives: [{ 6724 name: "model", 6725 rawName: "v-model", 6726 value: _vm.checked, 6727 expression: "checked" 6728 }], 6729 attrs: { 6730 name: "group", 6731 type: "radio", 6732 value: "id" 6733 }, 6734 domProps: { 6735 checked: _vm._q(_vm.checked, "id") 6736 }, 6737 on: { 6738 change: function change($event) { 6739 _vm.checked = "id"; 6740 } 6741 } 6742 }), _vm._v("  Ne pas grouper")])]), _vm._v(" "), _c("div", { 6743 staticClass: "checkbox" 6744 }, [_c("label", [_c("input", { 6745 directives: [{ 6746 name: "model", 6747 rawName: "v-model", 6748 value: _vm.checked, 6749 expression: "checked" 6750 }], 6751 attrs: { 6752 name: "group", 6753 type: "radio", 6754 value: "email" 6755 }, 6756 domProps: { 6757 checked: _vm._q(_vm.checked, "email") 6758 }, 6759 on: { 6760 change: function change($event) { 6761 _vm.checked = "email"; 6762 } 6763 } 6764 }), _vm._v("  Même email")])]), _vm._v(" "), _c("div", { 6765 staticClass: "checkbox" 6766 }, [_c("label", [_c("input", { 6767 directives: [{ 6768 name: "model", 6769 rawName: "v-model", 6770 value: _vm.checked, 6771 expression: "checked" 6772 }], 6773 attrs: { 6774 name: "group", 6775 type: "radio", 6776 value: "last_name" 6777 }, 6778 domProps: { 6779 checked: _vm._q(_vm.checked, "last_name") 6780 }, 6781 on: { 6782 change: function change($event) { 6783 _vm.checked = "last_name"; 6784 } 6785 } 6786 }), _vm._v("  Même Nom")])])])]), _vm._v(" "), _c("div", { 6787 staticClass: "col-md-2" 6788 }, [_c("div", { 6789 staticClass: "form-group" 6790 }, [_c("label", { 6791 staticClass: "control-label" 6792 }, [_vm._v("Afficher les adresses supprimées")]), _vm._v(" "), _c("div", { 6793 staticClass: "checkbox" 6794 }, [_c("label", [_c("input", { 6795 directives: [{ 6796 name: "model", 6797 rawName: "v-model", 6798 value: _vm.checkeddeleted, 6799 expression: "checkeddeleted" 6800 }], 6801 attrs: { 6802 required: "", 6803 name: "deletedaddresses", 6804 type: "radio", 6805 value: "yes" 6806 }, 6807 domProps: { 6808 checked: _vm._q(_vm.checkeddeleted, "yes") 6809 }, 6810 on: { 6811 change: function change($event) { 6812 _vm.checkeddeleted = "yes"; 6813 } 6814 } 6815 }), _vm._v("  Oui")])]), _vm._v(" "), _c("div", { 6816 staticClass: "checkbox" 6817 }, [_c("label", [_c("input", { 6818 directives: [{ 6819 name: "model", 6820 rawName: "v-model", 6821 value: _vm.checkeddeleted, 6822 expression: "checkeddeleted" 6823 }], 6824 attrs: { 6825 required: "", 6826 name: "deletedaddresses", 6827 type: "radio", 6828 value: "no" 6829 }, 6830 domProps: { 6831 checked: _vm._q(_vm.checkeddeleted, "no") 6832 }, 6833 on: { 6834 change: function change($event) { 6835 _vm.checkeddeleted = "no"; 6836 } 6837 } 6838 }), _vm._v("  Non")])])])]), _vm._v(" "), _c("div", { 6839 staticClass: "col-md-3" 6840 }, [_c("p", [_c("button", { 6841 staticClass: "btn btn-xs btn-success", 6842 attrs: { 6843 type: "button" 6844 }, 6845 on: { 6846 click: _vm.addTerm 6847 } 6848 }, [_c("i", { 6849 staticClass: "fa fa-plus" 6850 }), _vm._v("  terme de recherche")])]), _vm._v(" "), _vm._l(_vm.searchTerms, function (term, index) { 6851 return _c("div", { 6852 staticClass: "row" 6853 }, [_c("div", { 6854 staticClass: "col-md-1" 6855 }, [_c("button", { 6856 staticClass: "btn btn-xs btn-danger", 6857 attrs: { 6858 type: "button" 6859 }, 6860 on: { 6861 click: function click($event) { 6862 return _vm.removeTerm(index); 6863 } 6864 } 6865 }, [_c("i", { 6866 staticClass: "fa fa-minus" 6867 })])]), _vm._v(" "), _c("div", { 6868 staticClass: "col-md-4" 6869 }, [_c("select", { 6870 directives: [{ 6871 name: "model", 6872 rawName: "v-model", 6873 value: term.column, 6874 expression: "term.column" 6875 }], 6876 staticClass: "form-control", 6877 attrs: { 6878 name: "columns[" + index + "]" 6879 }, 6880 on: { 6881 change: function change($event) { 6882 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 6883 return o.selected; 6884 }).map(function (o) { 6885 var val = "_value" in o ? o._value : o.value; 6886 return val; 6887 }); 6888 _vm.$set(term, "column", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 6889 } 6890 } 6891 }, _vm._l(_vm.choosencolumns, function (column) { 6892 return _c("option", { 6893 domProps: { 6894 value: column.label 6895 } 6896 }, [_vm._v(_vm._s(column.name))]); 6897 }), 0)]), _vm._v(" "), _c("div", { 6898 staticClass: "col-md-7" 6899 }, [_c("input", { 6900 directives: [{ 6901 name: "model", 6902 rawName: "v-model", 6903 value: term.value, 6904 expression: "term.value" 6905 }], 6906 staticClass: "form-control", 6907 attrs: { 6908 type: "text", 6909 name: "terms[" + index + "]", 6910 placeholder: "Recherche..." 6911 }, 6912 domProps: { 6913 value: term.value 6914 }, 6915 on: { 6916 input: function input($event) { 6917 if ($event.target.composing) return; 6918 _vm.$set(term, "value", $event.target.value); 6919 } 6920 } 6921 })])]); 6922 }), _vm._v(" "), _c("div", { 6923 staticClass: "form-group form-group-border" 6924 }, [_c("div", { 6925 staticClass: "checkbox" 6926 }, [_c("label", [_c("input", { 6927 directives: [{ 6928 name: "model", 6929 rawName: "v-model", 6930 value: _vm.operator, 6931 expression: "operator" 6932 }], 6933 attrs: { 6934 name: "operator", 6935 type: "radio", 6936 value: "and" 6937 }, 6938 domProps: { 6939 checked: _vm._q(_vm.operator, "and") 6940 }, 6941 on: { 6942 change: function change($event) { 6943 _vm.operator = "and"; 6944 } 6945 } 6946 }), _vm._v("  \n Et "), _c("span", { 6947 staticClass: "text-muted" 6948 }, [_vm._v("(tous les termes doivent correspondre)")])])]), _vm._v(" "), _c("div", { 6949 staticClass: "checkbox" 6950 }, [_c("label", [_c("input", { 6951 directives: [{ 6952 name: "model", 6953 rawName: "v-model", 6954 value: _vm.operator, 6955 expression: "operator" 6956 }], 6957 attrs: { 6958 name: "operator", 6959 type: "radio", 6960 value: "or" 6961 }, 6962 domProps: { 6963 checked: _vm._q(_vm.operator, "or") 6964 }, 6965 on: { 6966 change: function change($event) { 6967 _vm.operator = "or"; 6968 } 6969 } 6970 }), _vm._v("  \n Ou "), _c("span", { 6971 staticClass: "text-muted" 6972 }, [_vm._v("(chaque terme séparément)")])])])])], 2), _vm._v(" "), _vm._m(0), _vm._v(" "), _vm._m(1)])]); 6973}; 6974var staticRenderFns = [function () { 6975 var _vm = this, 6976 _c = _vm._self._c; 6977 return _c("div", { 6978 staticClass: "col-md-1" 6979 }, [_c("label", { 6980 staticClass: "control-label" 6981 }, [_vm._v(" ")]), _c("br"), _vm._v(" "), _c("button", { 6982 staticClass: "btn btn-info", 6983 attrs: { 6984 type: "submit" 6985 } 6986 }, [_vm._v("Recherche")])]); 6987}, function () { 6988 var _vm = this, 6989 _c = _vm._self._c; 6990 return _c("div", { 6991 staticClass: "col-md-2" 6992 }, [_c("p", [_c("strong", [_c("span", { 6993 staticClass: "text-danger" 6994 }, [_vm._v("La recherche se fait sur les champs existant pour chaque type:"), _c("br")])]), _vm._v(" "), _c("strong", [_vm._v("Comptes utilisateurs: ")]), _vm._v(" Nom, prénom, email, entreprise"), _c("br"), _vm._v(" "), _c("strong", [_vm._v("Adresses: ")]), _vm._v(" Nom, prénom, email, entreprise, adresse, NPA, ville\n ")])]); 6995}]; 6996render._withStripped = true; 6997 6998 6999/***/ }), 7000 7001/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Generate.vue?vue&type=template&id=4ff2cc2c&": 7002/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\ 7003 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Generate.vue?vue&type=template&id=4ff2cc2c& ***! 7004 \*********************************************************************************************************************************************************************************************************************************************************************************************/ 7005/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 7006 7007"use strict"; 7008__webpack_require__.r(__webpack_exports__); 7009/* harmony export */ __webpack_require__.d(__webpack_exports__, { 7010/* harmony export */ render: () => (/* binding */ render), 7011/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 7012/* harmony export */ }); 7013var render = function render() { 7014 var _vm = this, 7015 _c = _vm._self._c; 7016 return _c("div", [_vm.link ? _c("a", { 7017 staticClass: "btn btn-default btn-sm", 7018 attrs: { 7019 href: _vm.link, 7020 target: "_blank" 7021 } 7022 }, [_vm._v("Facture en pdf")]) : _vm._e(), _vm._v(" "), _c("i", { 7023 directives: [{ 7024 name: "show", 7025 rawName: "v-show", 7026 value: _vm.loading, 7027 expression: "loading" 7028 }], 7029 staticClass: "fa fa-spinner fa-spin" 7030 }), _vm._v(" "), !_vm.link ? _c("button", { 7031 directives: [{ 7032 name: "show", 7033 rawName: "v-show", 7034 value: _vm.isVisible, 7035 expression: "isVisible" 7036 }], 7037 staticClass: "btn btn-inverse btn-sm", 7038 on: { 7039 click: _vm.generate 7040 } 7041 }, [_vm._v("Générer")]) : _vm._e()]); 7042}; 7043var staticRenderFns = []; 7044render._withStripped = true; 7045 7046 7047/***/ }), 7048 7049/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true&": 7050/*!**************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 7051 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true& ***! 7052 \**************************************************************************************************************************************************************************************************************************************************************************************************************/ 7053/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 7054 7055"use strict"; 7056__webpack_require__.r(__webpack_exports__); 7057/* harmony export */ __webpack_require__.d(__webpack_exports__, { 7058/* harmony export */ render: () => (/* binding */ render), 7059/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 7060/* harmony export */ }); 7061var render = function render() { 7062 var _vm = this, 7063 _c = _vm._self._c; 7064 return _c("div", [_c("button", { 7065 staticClass: "btn btn-primary btn-xs", 7066 attrs: { 7067 type: "button", 7068 "data-toggle": "modal", 7069 "data-target": "#myModal_" + _vm.id 7070 }, 7071 on: { 7072 click: function click($event) { 7073 return _vm.getFiles(); 7074 } 7075 } 7076 }, [_vm._v("Choisir un fichier")]), _vm._v(" "), _c("div", { 7077 attrs: { 7078 id: "bs-modal" 7079 } 7080 }, [_c("div", { 7081 staticClass: "modal fade", 7082 attrs: { 7083 id: "myModal_" + _vm.id, 7084 tabindex: "-1", 7085 role: "dialog", 7086 "aria-labelledby": "myModalLabel" 7087 } 7088 }, [_c("div", { 7089 staticClass: "modal-dialog", 7090 attrs: { 7091 role: "document" 7092 } 7093 }, [_c("div", { 7094 staticClass: "modal-content" 7095 }, [_vm._m(0), _vm._v(" "), _c("div", { 7096 staticClass: "modal-body" 7097 }, [_c("div", { 7098 staticClass: "row" 7099 }, [_c("div", { 7100 staticClass: "col-md-2" 7101 }, [_c("div", { 7102 staticClass: "dropzone", 7103 attrs: { 7104 id: "dropzone_" + _vm.id 7105 } 7106 })]), _vm._v(" "), _c("div", { 7107 staticClass: "col-md-10" 7108 }, [_c("div", { 7109 staticClass: "build-manager" 7110 }, [_vm.files ? _c("div", { 7111 staticClass: "build-wrapper-gallery" 7112 }, _vm._l(_vm.files, function (file) { 7113 return _c("div", { 7114 staticClass: "file-item-build" 7115 }, [_c("div", { 7116 staticClass: "file-image-build" 7117 }, [_vm.isImage(file) ? _c("img", { 7118 attrs: { 7119 src: _vm.path + "/" + file, 7120 alt: "image" 7121 } 7122 }) : _vm._e(), _vm._v(" "), !_vm.isImage(file) ? _c("img", { 7123 attrs: { 7124 height: "105px", 7125 src: "images/text.svg", 7126 alt: "image" 7127 } 7128 }) : _vm._e()]), _vm._v(" "), _c("div", [!_vm.isImage(file) ? _c("p", [_vm._v(_vm._s(file))]) : _vm._e()]), _vm._v(" "), _c("div", { 7129 staticClass: "action-build" 7130 }, [_c("button", { 7131 staticClass: "btn btn-xs btn-info btn-file-item", 7132 on: { 7133 click: function click($event) { 7134 return _vm.chosenFile(_vm.path + "/" + file); 7135 } 7136 } 7137 }, [_vm._v("Choisir")]), _vm._v(" "), _c("button", { 7138 staticClass: "btn btn-xs btn-danger", 7139 on: { 7140 click: function click($event) { 7141 return _vm.deleteFile(_vm.path + "/" + file); 7142 } 7143 } 7144 }, [_vm._v("x")])])]); 7145 }), 0) : _vm._e(), _vm._v(" "), _c("p", { 7146 directives: [{ 7147 name: "show", 7148 rawName: "v-show", 7149 value: _vm.loading, 7150 expression: "loading" 7151 }], 7152 staticClass: "loading" 7153 }, [_c("i", { 7154 staticClass: "fa fa-spinner fa-spin" 7155 })])])])])]), _vm._v(" "), _vm._m(1)])])])]), _vm._v(" "), _vm.chosen && _vm.filename && !_vm.wrapper ? _c("input", { 7156 staticClass: "file-choosen", 7157 attrs: { 7158 id: _vm.id, 7159 type: "hidden", 7160 name: _vm.inputname 7161 }, 7162 domProps: { 7163 value: _vm.filename 7164 } 7165 }) : _vm._e(), _vm._v(" "), _vm.chosen && _vm.filename && _vm.wrapper ? _c("div", { 7166 staticClass: "file-choosen-wrapper" 7167 }, [_c("input", { 7168 staticClass: "file-choosen", 7169 attrs: { 7170 type: "hidden", 7171 name: _vm.inputname 7172 }, 7173 domProps: { 7174 value: _vm.filename 7175 } 7176 }), _vm._v(" "), _vm.isImage(_vm.filename) ? _c("img", { 7177 staticClass: "file-choosen file-image thumbnail", 7178 attrs: { 7179 src: _vm.filename, 7180 alt: "image" 7181 } 7182 }) : _vm._e(), _vm._v(" "), !_vm.isImage(_vm.filename) ? _c("a", { 7183 staticClass: "file-choosen", 7184 attrs: { 7185 target: "_blank", 7186 href: _vm.filename 7187 } 7188 }, [_vm._v(_vm._s(_vm.filename))]) : _vm._e(), _vm._v(" "), _c("button", { 7189 staticClass: "btn btn-xs btn-danger", 7190 on: { 7191 click: function click($event) { 7192 return _vm.removeFile(); 7193 } 7194 } 7195 }, [_vm._v("x")])]) : _vm._e()]); 7196}; 7197var staticRenderFns = [function () { 7198 var _vm = this, 7199 _c = _vm._self._c; 7200 return _c("div", { 7201 staticClass: "modal-header" 7202 }, [_c("button", { 7203 staticClass: "close", 7204 attrs: { 7205 type: "button", 7206 "data-dismiss": "modal", 7207 "aria-label": "Close" 7208 } 7209 }, [_c("span", { 7210 attrs: { 7211 "aria-hidden": "true" 7212 } 7213 }, [_vm._v("Ã")])]), _vm._v(" "), _c("h4", { 7214 staticClass: "modal-title", 7215 attrs: { 7216 id: "myModalLabel" 7217 } 7218 }, [_vm._v("Choisir un fichier")])]); 7219}, function () { 7220 var _vm = this, 7221 _c = _vm._self._c; 7222 return _c("div", { 7223 staticClass: "modal-footer" 7224 }, [_c("button", { 7225 staticClass: "btn btn-default", 7226 attrs: { 7227 type: "button", 7228 "data-dismiss": "modal" 7229 } 7230 }, [_vm._v("Fermer")])]); 7231}]; 7232render._withStripped = true; 7233 7234 7235/***/ }), 7236 7237/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=template&id=b3b09bb4&": 7238/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\ 7239 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=template&id=b3b09bb4& ***! 7240 \**************************************************************************************************************************************************************************************************************************************************************************************************/ 7241/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 7242 7243"use strict"; 7244__webpack_require__.r(__webpack_exports__); 7245/* harmony export */ __webpack_require__.d(__webpack_exports__, { 7246/* harmony export */ render: () => (/* binding */ render), 7247/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 7248/* harmony export */ }); 7249var render = function render() { 7250 var _vm = this, 7251 _c = _vm._self._c; 7252 return _c("div", [_c("div", { 7253 staticClass: "row" 7254 }, [_c("div", { 7255 staticClass: "col-md-8" 7256 }, [_c("h3", { 7257 staticClass: "line" 7258 }, [_vm._v("Jurisprudence")]), _vm._v(" "), _c("p", { 7259 directives: [{ 7260 name: "show", 7261 rawName: "v-show", 7262 value: _vm.loading, 7263 expression: "loading" 7264 }], 7265 attrs: { 7266 id: "loader-app" 7267 } 7268 }, [_c("i", { 7269 staticClass: "fa fa-spinner fa-spin" 7270 })]), _vm._v(" "), _vm.blocs.length === 0 ? _c("p", { 7271 directives: [{ 7272 name: "show", 7273 rawName: "v-show", 7274 value: !_vm.loading, 7275 expression: "!loading" 7276 }], 7277 staticClass: "text-danger" 7278 }, [_c("i", { 7279 staticClass: "fa fa-exclamation-triangle" 7280 }), _vm._v("  Aucun arrêt pour cette recherche")]) : _vm._e(), _vm._v(" "), _c("section", { 7281 directives: [{ 7282 name: "show", 7283 rawName: "v-show", 7284 value: !_vm.loading, 7285 expression: "!loading" 7286 }] 7287 }, _vm._l(_vm.blocs, function (arret) { 7288 return _c("article", { 7289 staticClass: "row" 7290 }, [_c("div", { 7291 staticClass: "col-md-9" 7292 }, [_c("div", { 7293 staticClass: "post" 7294 }, [_c("div", { 7295 staticClass: "post-title" 7296 }, [_c("h3", [_vm._v(_vm._s(arret.title))]), _vm._v(" "), _c("p", { 7297 staticClass: "text-abstract-app" 7298 }, [_vm._v(_vm._s(arret["abstract"]))])]), _vm._v(" "), _c("div", { 7299 staticClass: "post-entry" 7300 }, [_c("div", { 7301 domProps: { 7302 innerHTML: _vm._s(arret.pub_text) 7303 } 7304 }), _vm._v(" "), arret.filename ? _c("a", { 7305 attrs: { 7306 target: "_blank", 7307 href: arret.filename 7308 } 7309 }, [_vm._v("Télécharger en pdf   "), _c("i", { 7310 staticClass: "fa fa-file-pdf-o" 7311 })]) : _vm._e(), _vm._v(" "), _vm._l(arret.analyses, function (analyse) { 7312 return _c("div", { 7313 staticClass: "analyse-app" 7314 }, [_c("div", { 7315 staticClass: "well well-app" 7316 }, [_c("h3", [_vm._v("Analyse de " + _vm._s(analyse.auteurs))]), _vm._v(" "), _c("p", { 7317 staticClass: "text-muted" 7318 }, [_vm._v(_vm._s(analyse.date))]), _vm._v(" "), _c("p", { 7319 staticClass: "text-abstract-app" 7320 }, [_vm._v(_vm._s(analyse["abstract"]))]), _vm._v(" "), analyse.filename ? _c("a", { 7321 attrs: { 7322 target: "_blank", 7323 href: analyse.filename 7324 } 7325 }, [_vm._v("Télécharger en pdf   "), _c("i", { 7326 staticClass: "fa fa-file-pdf-o" 7327 })]) : _vm._e()])]); 7328 })], 2)])]), _vm._v(" "), _c("div", { 7329 staticClass: "col-md-3" 7330 }, _vm._l(arret.categories, function (cat) { 7331 return _c("div", { 7332 staticClass: "list-cat-app" 7333 }, [_c("img", { 7334 attrs: { 7335 width: "130", 7336 alt: cat.title, 7337 src: _vm.url + "files/pictos/" + cat.image 7338 } 7339 }), _vm._v(" "), _c("p", [_c("small", [_vm._v(_vm._s(cat.title))])])]); 7340 }), 0)]); 7341 }), 0)]), _vm._v(" "), _c("div", { 7342 staticClass: "col-md-4" 7343 }, [_c("div", { 7344 staticClass: "sidebar-app fixed" 7345 }, [_c("a", { 7346 staticClass: "btn btn-default btn-block", 7347 attrs: { 7348 href: _vm.url + _vm.slug 7349 } 7350 }, [_c("i", { 7351 staticClass: "fa fa-arrow-circle-left" 7352 }), _vm._v("  Retour accueil")]), _vm._v(" "), _c("div", { 7353 staticClass: "widget clear" 7354 }, [_vm._m(0), _vm._v(" "), _c("p", [_c("input", { 7355 directives: [{ 7356 name: "model", 7357 rawName: "v-model", 7358 value: _vm.display, 7359 expression: "display" 7360 }], 7361 attrs: { 7362 type: "checkbox", 7363 name: "display" 7364 }, 7365 domProps: { 7366 checked: Array.isArray(_vm.display) ? _vm._i(_vm.display, null) > -1 : _vm.display 7367 }, 7368 on: { 7369 change: [function ($event) { 7370 var $$a = _vm.display, 7371 $$el = $event.target, 7372 $$c = $$el.checked ? true : false; 7373 if (Array.isArray($$a)) { 7374 var $$v = null, 7375 $$i = _vm._i($$a, $$v); 7376 if ($$el.checked) { 7377 $$i < 0 && (_vm.display = $$a.concat([$$v])); 7378 } else { 7379 $$i > -1 && (_vm.display = $$a.slice(0, $$i).concat($$a.slice($$i + 1))); 7380 } 7381 } else { 7382 _vm.display = $$c; 7383 } 7384 }, _vm.filterYears] 7385 } 7386 }), _vm._v(" "), _c("label", [_vm._v("Que les arrêts avec analyses")])])]), _vm._v(" "), _c("div", { 7387 staticClass: "widget categories clear" 7388 }, [_vm._m(1), _vm._v(" "), _c("select", { 7389 staticClass: "chosen-select category", 7390 staticStyle: { 7391 width: "100%" 7392 }, 7393 attrs: { 7394 id: "chosen-select-app", 7395 "data-placeholder": "Choisir une ou plusieurs catégories", 7396 multiple: "" 7397 } 7398 }, _vm._l(_vm.list, function (categorie) { 7399 return _c("option", { 7400 domProps: { 7401 value: categorie.id 7402 } 7403 }, [_vm._v(_vm._s(categorie.title))]); 7404 }), 0)]), _vm._v(" "), _c("div", { 7405 staticClass: "widget years clear" 7406 }, [_vm._m(2), _vm._v(" "), _vm._l(_vm.annees, function (annee) { 7407 return _c("p", [_c("input", { 7408 directives: [{ 7409 name: "model", 7410 rawName: "v-model", 7411 value: _vm.checked, 7412 expression: "checked" 7413 }], 7414 attrs: { 7415 type: "checkbox" 7416 }, 7417 domProps: { 7418 value: annee, 7419 checked: Array.isArray(_vm.checked) ? _vm._i(_vm.checked, annee) > -1 : _vm.checked 7420 }, 7421 on: { 7422 change: [function ($event) { 7423 var $$a = _vm.checked, 7424 $$el = $event.target, 7425 $$c = $$el.checked ? true : false; 7426 if (Array.isArray($$a)) { 7427 var $$v = annee, 7428 $$i = _vm._i($$a, $$v); 7429 if ($$el.checked) { 7430 $$i < 0 && (_vm.checked = $$a.concat([$$v])); 7431 } else { 7432 $$i > -1 && (_vm.checked = $$a.slice(0, $$i).concat($$a.slice($$i + 1))); 7433 } 7434 } else { 7435 _vm.checked = $$c; 7436 } 7437 }, _vm.filterYears] 7438 } 7439 }), _vm._v(" "), _c("label", { 7440 attrs: { 7441 "for": annee 7442 } 7443 }, [_vm._v("Paru en " + _vm._s(annee))])]); 7444 })], 2)])])])]); 7445}; 7446var staticRenderFns = [function () { 7447 var _vm = this, 7448 _c = _vm._self._c; 7449 return _c("h3", { 7450 staticClass: "title" 7451 }, [_c("i", { 7452 staticClass: "icon-tasks" 7453 }), _vm._v("  Affichage")]); 7454}, function () { 7455 var _vm = this, 7456 _c = _vm._self._c; 7457 return _c("h3", { 7458 staticClass: "title" 7459 }, [_c("i", { 7460 staticClass: "icon-tasks" 7461 }), _vm._v("  Catégories")]); 7462}, function () { 7463 var _vm = this, 7464 _c = _vm._self._c; 7465 return _c("h3", { 7466 staticClass: "title" 7467 }, [_c("i", { 7468 staticClass: "icon-calendar" 7469 }), _vm._v("  Années")]); 7470}]; 7471render._withStripped = true; 7472 7473 7474/***/ }), 7475 7476/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=template&id=78b91edd&": 7477/*!*****************************************************************************************************************************************************************************************************************************************************************************************************!*\ 7478 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=template&id=78b91edd& ***! 7479 \*****************************************************************************************************************************************************************************************************************************************************************************************************/ 7480/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 7481 7482"use strict"; 7483__webpack_require__.r(__webpack_exports__); 7484/* harmony export */ __webpack_require__.d(__webpack_exports__, { 7485/* harmony export */ render: () => (/* binding */ render), 7486/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 7487/* harmony export */ }); 7488var render = function render() { 7489 var _vm = this, 7490 _c = _vm._self._c; 7491 return _c("div", [_c("div", { 7492 directives: [{ 7493 name: "show", 7494 rawName: "v-show", 7495 value: !_vm.hasChosen, 7496 expression: "!hasChosen" 7497 }], 7498 staticClass: "input-group" 7499 }, [_c("span", { 7500 staticClass: "input-group-addon" 7501 }, [_c("img", { 7502 directives: [{ 7503 name: "show", 7504 rawName: "v-show", 7505 value: _vm.searching, 7506 expression: "searching" 7507 }], 7508 attrs: { 7509 height: "15px", 7510 src: "images/default.svg" 7511 } 7512 })]), _vm._v(" "), _c("input", { 7513 "class": "search-input form-control search-adresse-autocomplete_" + _vm.type, 7514 attrs: { 7515 placeholder: "Chercher...", 7516 type: "text" 7517 } 7518 }), _vm._v(" "), _c("span", { 7519 staticClass: "input-group-addon", 7520 staticStyle: { 7521 border: "none", 7522 background: "#fff", 7523 width: "100px" 7524 } 7525 }, [_c("span", { 7526 directives: [{ 7527 name: "show", 7528 rawName: "v-show", 7529 value: _vm.noResult, 7530 expression: "noResult" 7531 }], 7532 staticClass: "empty-text text-danger pull-right" 7533 }, [_vm._v("Aucun résultat")])])]), _vm._v(" "), _vm.hasChosen ? _c("div", { 7534 staticClass: "choice-adresse autocomplete-bloc" 7535 }, [_c("input", { 7536 attrs: { 7537 name: _vm.type, 7538 type: "hidden" 7539 }, 7540 domProps: { 7541 value: _vm.chosen.user_id 7542 } 7543 }), _vm._v(" "), _c("div", { 7544 staticClass: "panel panel-primary" 7545 }, [_c("div", { 7546 staticClass: "panel-body panel-colloque", 7547 staticStyle: { 7548 display: "flex", 7549 "flex-direction": "column", 7550 "justify-content": "space-between", 7551 "min-height": "120px" 7552 } 7553 }, [_c("div", [_c("span", { 7554 staticClass: "no-adresse" 7555 }, [_vm._v(_vm._s(_vm.chosen.user_id))]), _vm._v(" "), _vm.chosen.civilite ? _c("span", [_vm._v(_vm._s(_vm.chosen.civilite))]) : _vm._e(), _vm._v(" "), _c("span", [_c("a", { 7556 attrs: { 7557 target: "_blank", 7558 href: "admin/user/" + _vm.chosen.user_id 7559 } 7560 }, [_vm._v(_vm._s(_vm.chosen.name))])]), _vm._v(" "), _vm.chosen.company && _vm.chosen.company != _vm.chosen.name ? _c("span", [_vm._v(_vm._s(_vm.chosen.company))]) : _vm._e(), _vm._v(" "), _vm.chosen.cp ? _c("span", [_vm._v(_vm._s(_vm.chosen.cp))]) : _vm._e(), _vm._v(" "), _vm.chosen.complement ? _c("span", [_vm._v(_vm._s(_vm.chosen.complement))]) : _vm._e(), _vm._v(" "), _c("span", [_vm._v(_vm._s(_vm.chosen.adresse))]), _vm._v(" "), _c("span", [_vm._v(_vm._s(_vm.chosen.npa) + " " + _vm._s(_vm.chosen.ville))])]), _vm._v(" "), _c("div", [_c("button", { 7561 staticClass: "btn btn-warning btn-xs pull-right", 7562 attrs: { 7563 type: "button" 7564 }, 7565 on: { 7566 click: function click($event) { 7567 $event.preventDefault(); 7568 return _vm.remove.apply(null, arguments); 7569 } 7570 } 7571 }, [_vm._v("changer")])])])])]) : _vm._e()]); 7572}; 7573var staticRenderFns = []; 7574render._withStripped = true; 7575 7576 7577/***/ }), 7578 7579/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=template&id=032b94df&": 7580/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\ 7581 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=template&id=032b94df& ***! 7582 \****************************************************************************************************************************************************************************************************************************************************************************************/ 7583/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 7584 7585"use strict"; 7586__webpack_require__.r(__webpack_exports__); 7587/* harmony export */ __webpack_require__.d(__webpack_exports__, { 7588/* harmony export */ render: () => (/* binding */ render), 7589/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 7590/* harmony export */ }); 7591var render = function render() { 7592 var _vm = this, 7593 _c = _vm._self._c; 7594 return _c("div", [_c("ul", { 7595 staticClass: "dispositions" 7596 }, [_vm._l(_vm.listDispositions, function (disposition) { 7597 return !_vm.loading ? _c("li", [_c("div", { 7598 staticClass: "row" 7599 }, [_c("div", { 7600 staticClass: "col-md-10" 7601 }, [_vm._v("\n " + _vm._s(disposition.numero) + " " + _vm._s(disposition.alinea) + " " + _vm._s(disposition.chiffre) + " " + _vm._s(disposition.lettre) + " " + _vm._s(disposition.sigle) + "\n ")]), _vm._v(" "), _c("div", { 7602 staticClass: "col-md-2 text-right" 7603 }, [_c("button", { 7604 staticClass: "btn btn-danger btn-xs", 7605 attrs: { 7606 type: "button" 7607 }, 7608 on: { 7609 click: function click($event) { 7610 return _vm.removeDisposition(disposition.id); 7611 } 7612 } 7613 }, [_vm._v("x")])])])]) : _vm._e(); 7614 }), _vm._v(" "), _vm.loading ? _c("li", [_c("i", { 7615 staticClass: "fa fa-spinner" 7616 })]) : _vm._e()], 2), _vm._v(" "), _c("div", { 7617 staticClass: "terms" 7618 }, [_c("div", { 7619 staticClass: "row" 7620 }, [_c("div", { 7621 staticClass: "col-md-8 dropdown-vue" 7622 }, [_c("label", { 7623 staticClass: "control-label" 7624 }, [_vm._v("Loi")]), _vm._v(" "), _c("v-select", { 7625 attrs: { 7626 options: _vm.listLois, 7627 input: _vm.what 7628 }, 7629 model: { 7630 value: _vm.newDisposition.loi, 7631 callback: function callback($$v) { 7632 _vm.$set(_vm.newDisposition, "loi", $$v); 7633 }, 7634 expression: "newDisposition.loi" 7635 } 7636 })], 1)]), _vm._v(" "), _vm.addLoi ? _c("div", { 7637 staticClass: "row", 7638 staticStyle: { 7639 "margin-top": "10px", 7640 "margin-bottom": "10px" 7641 } 7642 }, [_c("div", { 7643 staticClass: "col-md-2" 7644 }, [_c("input", { 7645 directives: [{ 7646 name: "model", 7647 rawName: "v-model", 7648 value: _vm.newLoi.sigle, 7649 expression: "newLoi.sigle" 7650 }], 7651 staticClass: "form-control", 7652 attrs: { 7653 type: "text", 7654 value: "", 7655 placeholder: "sigle" 7656 }, 7657 domProps: { 7658 value: _vm.newLoi.sigle 7659 }, 7660 on: { 7661 input: function input($event) { 7662 if ($event.target.composing) return; 7663 _vm.$set(_vm.newLoi, "sigle", $event.target.value); 7664 } 7665 } 7666 })]), _vm._v(" "), _c("div", { 7667 staticClass: "col-md-3" 7668 }, [_c("select", { 7669 directives: [{ 7670 name: "model", 7671 rawName: "v-model", 7672 value: _vm.newLoi.droit, 7673 expression: "newLoi.droit" 7674 }], 7675 staticClass: "form-control", 7676 attrs: { 7677 name: "droit" 7678 }, 7679 on: { 7680 change: function change($event) { 7681 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 7682 return o.selected; 7683 }).map(function (o) { 7684 var val = "_value" in o ? o._value : o.value; 7685 return val; 7686 }); 7687 _vm.$set(_vm.newLoi, "droit", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 7688 } 7689 } 7690 }, [_c("option", { 7691 attrs: { 7692 value: "1" 7693 } 7694 }, [_vm._v("Droit fédéral")]), _vm._v(" "), _c("option", { 7695 attrs: { 7696 value: "2" 7697 } 7698 }, [_vm._v("Droit cantonal")]), _vm._v(" "), _c("option", { 7699 attrs: { 7700 value: "3" 7701 } 7702 }, [_vm._v("Droit international")])])]), _vm._v(" "), _c("div", { 7703 staticClass: "col-md-7" 7704 }, [_c("div", { 7705 staticClass: "input-group" 7706 }, [_c("input", { 7707 directives: [{ 7708 name: "model", 7709 rawName: "v-model", 7710 value: _vm.newLoi.name, 7711 expression: "newLoi.name" 7712 }], 7713 staticClass: "form-control", 7714 attrs: { 7715 type: "text", 7716 value: "", 7717 placeholder: "Nom" 7718 }, 7719 domProps: { 7720 value: _vm.newLoi.name 7721 }, 7722 on: { 7723 input: function input($event) { 7724 if ($event.target.composing) return; 7725 _vm.$set(_vm.newLoi, "name", $event.target.value); 7726 } 7727 } 7728 }), _vm._v(" "), _c("input", { 7729 directives: [{ 7730 name: "model", 7731 rawName: "v-model", 7732 value: _vm.newLoi.site_id, 7733 expression: "newLoi.site_id" 7734 }], 7735 staticClass: "form-control", 7736 attrs: { 7737 type: "hidden", 7738 value: "newLoi.site_id" 7739 }, 7740 domProps: { 7741 value: _vm.newLoi.site_id 7742 }, 7743 on: { 7744 input: function input($event) { 7745 if ($event.target.composing) return; 7746 _vm.$set(_vm.newLoi, "site_id", $event.target.value); 7747 } 7748 } 7749 }), _vm._v(" "), _c("span", { 7750 staticClass: "input-group-btn" 7751 }, [_c("button", { 7752 staticClass: "btn btn-success", 7753 attrs: { 7754 type: "button" 7755 }, 7756 on: { 7757 click: function click($event) { 7758 $event.preventDefault(); 7759 return _vm.addNewLoi.apply(null, arguments); 7760 } 7761 } 7762 }, [_vm._v("créer")])])])])]) : _vm._e(), _vm._v(" "), _c("br"), _vm._v(" "), _c("div", { 7763 staticClass: "row" 7764 }, [_c("div", { 7765 staticClass: "col-md-2" 7766 }, [_c("input", { 7767 directives: [{ 7768 name: "model", 7769 rawName: "v-model", 7770 value: _vm.newDisposition.arret_id, 7771 expression: "newDisposition.arret_id" 7772 }], 7773 staticClass: "form-control", 7774 attrs: { 7775 name: "arret_id", 7776 type: "hidden" 7777 }, 7778 domProps: { 7779 value: _vm.newDisposition.arret_id 7780 }, 7781 on: { 7782 input: function input($event) { 7783 if ($event.target.composing) return; 7784 _vm.$set(_vm.newDisposition, "arret_id", $event.target.value); 7785 } 7786 } 7787 }), _vm._v(" "), _c("input", { 7788 directives: [{ 7789 name: "model", 7790 rawName: "v-model", 7791 value: _vm.newDisposition.numero, 7792 expression: "newDisposition.numero" 7793 }], 7794 staticClass: "form-control", 7795 attrs: { 7796 name: "numero", 7797 type: "text", 7798 placeholder: "Article" 7799 }, 7800 domProps: { 7801 value: _vm.newDisposition.numero 7802 }, 7803 on: { 7804 input: function input($event) { 7805 if ($event.target.composing) return; 7806 _vm.$set(_vm.newDisposition, "numero", $event.target.value); 7807 } 7808 } 7809 })]), _vm._v(" "), _c("div", { 7810 staticClass: "col-md-2" 7811 }, [_c("input", { 7812 directives: [{ 7813 name: "model", 7814 rawName: "v-model", 7815 value: _vm.newDisposition.alinea, 7816 expression: "newDisposition.alinea" 7817 }], 7818 staticClass: "form-control", 7819 attrs: { 7820 name: "alinea", 7821 type: "text", 7822 placeholder: "Alinea" 7823 }, 7824 domProps: { 7825 value: _vm.newDisposition.alinea 7826 }, 7827 on: { 7828 input: function input($event) { 7829 if ($event.target.composing) return; 7830 _vm.$set(_vm.newDisposition, "alinea", $event.target.value); 7831 } 7832 } 7833 })]), _vm._v(" "), _c("div", { 7834 staticClass: "col-md-2" 7835 }, [_c("input", { 7836 directives: [{ 7837 name: "model", 7838 rawName: "v-model", 7839 value: _vm.newDisposition.chiffre, 7840 expression: "newDisposition.chiffre" 7841 }], 7842 staticClass: "form-control", 7843 attrs: { 7844 name: "chiffre", 7845 type: "text", 7846 placeholder: "Chiffre" 7847 }, 7848 domProps: { 7849 value: _vm.newDisposition.chiffre 7850 }, 7851 on: { 7852 input: function input($event) { 7853 if ($event.target.composing) return; 7854 _vm.$set(_vm.newDisposition, "chiffre", $event.target.value); 7855 } 7856 } 7857 })]), _vm._v(" "), _c("div", { 7858 staticClass: "col-md-2" 7859 }, [_c("input", { 7860 directives: [{ 7861 name: "model", 7862 rawName: "v-model", 7863 value: _vm.newDisposition.lettre, 7864 expression: "newDisposition.lettre" 7865 }], 7866 staticClass: "form-control", 7867 attrs: { 7868 name: "lettre", 7869 type: "text", 7870 placeholder: "Lettre" 7871 }, 7872 domProps: { 7873 value: _vm.newDisposition.lettre 7874 }, 7875 on: { 7876 input: function input($event) { 7877 if ($event.target.composing) return; 7878 _vm.$set(_vm.newDisposition, "lettre", $event.target.value); 7879 } 7880 } 7881 })]), _vm._v(" "), _c("div", { 7882 staticClass: "col-md-2" 7883 }, [_c("button", { 7884 staticClass: "btn btn-info", 7885 attrs: { 7886 type: "button" 7887 }, 7888 on: { 7889 click: function click($event) { 7890 $event.preventDefault(); 7891 return _vm.addNewDisposition.apply(null, arguments); 7892 } 7893 } 7894 }, [_vm._v("Ajouter")])])])])]); 7895}; 7896var staticRenderFns = []; 7897render._withStripped = true; 7898 7899 7900/***/ }), 7901 7902/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=template&id=439d8d46&scoped=true&": 7903/*!********************************************************************************************************************************************************************************************************************************************************************************************************!*\ 7904 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=template&id=439d8d46&scoped=true& ***! 7905 \********************************************************************************************************************************************************************************************************************************************************************************************************/ 7906/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 7907 7908"use strict"; 7909__webpack_require__.r(__webpack_exports__); 7910/* harmony export */ __webpack_require__.d(__webpack_exports__, { 7911/* harmony export */ render: () => (/* binding */ render), 7912/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 7913/* harmony export */ }); 7914var render = function render() { 7915 var _vm = this, 7916 _c = _vm._self._c; 7917 return _c("div", [_c("div", { 7918 attrs: { 7919 id: "bs-modal" 7920 } 7921 }, [_c("div", { 7922 staticClass: "modal fade", 7923 attrs: { 7924 id: "myModal_" + _vm.id, 7925 tabindex: "-1", 7926 role: "dialog", 7927 "aria-labelledby": "myModalLabel" 7928 } 7929 }, [_c("div", { 7930 staticClass: "modal-dialog", 7931 attrs: { 7932 role: "document" 7933 } 7934 }, [_c("div", { 7935 staticClass: "modal-content" 7936 }, [_vm._m(0), _vm._v(" "), _c("div", { 7937 staticClass: "modal-body" 7938 }, [_c("div", { 7939 staticClass: "row" 7940 }, [_c("div", { 7941 staticClass: "col-md-2" 7942 }, [_c("div", { 7943 attrs: { 7944 id: "treeMenu" 7945 } 7946 }, [_c("div", { 7947 staticClass: "tree" 7948 }, [_c("div", { 7949 attrs: { 7950 id: "fileManagerTree" 7951 } 7952 }, [_c("ul", _vm._l(_vm.directories, function (directorie, index) { 7953 return _c("li", { 7954 "class": { 7955 active: _vm.isActive(index) 7956 } 7957 }, [_c("button", { 7958 staticClass: "node", 7959 attrs: { 7960 type: "button" 7961 }, 7962 on: { 7963 click: function click($event) { 7964 $event.stopPropagation(); 7965 return _vm.chosenFolder("files/" + index); 7966 } 7967 } 7968 }, [_c("i", { 7969 staticClass: "fa fa-folder-o" 7970 }), _vm._v("  " + _vm._s(index))]), _vm._v(" "), _c("ul", _vm._l(directorie, function (folder, second) { 7971 return _c("li", { 7972 "class": { 7973 active: _vm.isActive(second) 7974 } 7975 }, [_c("button", { 7976 staticClass: "node", 7977 attrs: { 7978 type: "button" 7979 }, 7980 on: { 7981 click: function click($event) { 7982 $event.stopPropagation(); 7983 return _vm.chosenFolder("files/" + index + "/" + second); 7984 } 7985 } 7986 }, [_c("i", { 7987 staticClass: "fa fa-folder-o" 7988 }), _vm._v("  " + _vm._s(second))])]); 7989 }), 0)]); 7990 }), 0)])]), _vm._v(" "), _c("div", { 7991 staticClass: "dropzone", 7992 attrs: { 7993 id: "dropzone_" + _vm.id 7994 } 7995 }), _vm._v(" "), _vm._m(1)])]), _vm._v(" "), _c("div", { 7996 staticClass: "col-md-10" 7997 }, [_c("p", { 7998 directives: [{ 7999 name: "show", 8000 rawName: "v-show", 8001 value: _vm.loading, 8002 expression: "loading" 8003 }], 8004 staticClass: "loading" 8005 }, [_c("i", { 8006 staticClass: "fa fa-spinner fa-spin" 8007 })]), _vm._v(" "), _c("div", { 8008 directives: [{ 8009 name: "show", 8010 rawName: "v-show", 8011 value: !_vm.loading, 8012 expression: "!loading" 8013 }], 8014 attrs: { 8015 id: "fileManager", 8016 "data-path": "files/uploads" 8017 } 8018 }, [!_vm.files ? _c("p", [_vm._v("Aucun fichier à ce niveau")]) : _vm._e(), _vm._v(" "), _vm._l(_vm.files, function (row, index) { 8019 return _vm.files ? _c("div", [_c("p", { 8020 staticClass: "mt-10" 8021 }, [_c("strong", [_vm._v(_vm._s(index))])]), _vm._v(" "), _c("div", { 8022 staticClass: "gallery-wrapper" 8023 }, _vm._l(row, function (file) { 8024 return _c("div", { 8025 staticClass: "file-item" 8026 }, [_c("button", { 8027 staticClass: "btn btn-xs btn-danger", 8028 on: { 8029 click: function click($event) { 8030 return _vm.deleteFile(file); 8031 } 8032 } 8033 }, [_vm._v("x")]), _vm._v(" "), _vm.isImage(file) ? _c("img", { 8034 attrs: { 8035 src: file, 8036 alt: "image" 8037 }, 8038 on: { 8039 click: function click($event) { 8040 return _vm.chosenFile(file); 8041 } 8042 } 8043 }) : _vm._e(), _vm._v(" "), !_vm.isImage(file) ? _c("img", { 8044 attrs: { 8045 src: "images/text.svg", 8046 alt: "image" 8047 }, 8048 on: { 8049 click: function click($event) { 8050 return _vm.chosenFile(file); 8051 } 8052 } 8053 }) : _vm._e(), _vm._v(" "), _c("p", [_vm._v(_vm._s(_vm.nom(file)))])]); 8054 }), 0)]) : _vm._e(); 8055 })], 2)])])]), _vm._v(" "), _vm._m(2)])])])]), _vm._v(" "), _vm.chosen && _vm.filename ? _c("div", { 8056 staticClass: "file-choosen-wrapper" 8057 }, [_c("input", { 8058 staticClass: "file-choosen", 8059 attrs: { 8060 type: "hidden", 8061 name: _vm.name 8062 }, 8063 domProps: { 8064 value: _vm.filename 8065 } 8066 }), _vm._v(" "), _vm.isImage(_vm.filename) ? _c("img", { 8067 staticClass: "file-choosen file-image thumbnail", 8068 attrs: { 8069 src: _vm.root + _vm.filename, 8070 alt: "image" 8071 } 8072 }) : _vm._e(), _vm._v(" "), !_vm.isImage(_vm.filename) ? _c("a", { 8073 staticClass: "file-choosen", 8074 attrs: { 8075 target: "_blank", 8076 href: _vm.root + _vm.filename 8077 } 8078 }, [_vm._v(_vm._s(_vm.filename))]) : _vm._e(), _vm._v(" "), _c("button", { 8079 staticClass: "btn btn-xs btn-danger", 8080 on: { 8081 click: function click($event) { 8082 return _vm.removeFile(); 8083 } 8084 } 8085 }, [_vm._v("x")])]) : _vm._e()]); 8086}; 8087var staticRenderFns = [function () { 8088 var _vm = this, 8089 _c = _vm._self._c; 8090 return _c("div", { 8091 staticClass: "modal-header manager-modal" 8092 }, [_c("button", { 8093 staticClass: "close", 8094 attrs: { 8095 type: "button", 8096 "data-dismiss": "modal", 8097 "aria-label": "Close" 8098 } 8099 }, [_c("span", { 8100 attrs: { 8101 "aria-hidden": "true" 8102 } 8103 }, [_vm._v("Ã")])]), _vm._v(" "), _c("h4", { 8104 staticClass: "modal-title", 8105 attrs: { 8106 id: "myModalLabel" 8107 } 8108 }, [_vm._v("Choisir un fichier")])]); 8109}, function () { 8110 var _vm = this, 8111 _c = _vm._self._c; 8112 return _c("p", { 8113 staticClass: "dropmessage" 8114 }, [_c("i", [_vm._v("Les fichiers sont téléchargé dans le dossier en cours, sinon si aucun n'est choisi le dossier par défault sera uploads")])]); 8115}, function () { 8116 var _vm = this, 8117 _c = _vm._self._c; 8118 return _c("div", { 8119 staticClass: "modal-footer" 8120 }, [_c("button", { 8121 staticClass: "btn btn-default", 8122 attrs: { 8123 type: "button", 8124 "data-dismiss": "modal" 8125 } 8126 }, [_vm._v("Fermer")])]); 8127}]; 8128render._withStripped = true; 8129 8130 8131/***/ }), 8132 8133/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=template&id=41d4e6c8&": 8134/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\ 8135 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=template&id=41d4e6c8& ***! 8136 \***********************************************************************************************************************************************************************************************************************************************************************************************/ 8137/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 8138 8139"use strict"; 8140__webpack_require__.r(__webpack_exports__); 8141/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8142/* harmony export */ render: () => (/* binding */ render), 8143/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 8144/* harmony export */ }); 8145var render = function render() { 8146 var _vm = this, 8147 _c = _vm._self._c; 8148 return _c("div", [_c("div", { 8149 staticClass: "text-right" 8150 }, [_c("div", { 8151 staticClass: "btn-pull", 8152 staticStyle: { 8153 "margin-bottom": "10px" 8154 } 8155 }, [_c("a", { 8156 directives: [{ 8157 name: "show", 8158 rawName: "v-show", 8159 value: !_vm.add, 8160 expression: "!add" 8161 }], 8162 staticClass: "btn btn-sm btn-success", 8163 on: { 8164 click: _vm.ajouter 8165 } 8166 }, [_vm._v("Ajouter")]), _vm._v(" "), _c("a", { 8167 directives: [{ 8168 name: "show", 8169 rawName: "v-show", 8170 value: _vm.add, 8171 expression: "add" 8172 }], 8173 staticClass: "btn btn-sm btn-default", 8174 on: { 8175 click: _vm.resetform 8176 } 8177 }, [_vm._v("Fermer")])])]), _vm._v(" "), _c("ul", { 8178 staticClass: "list-group" 8179 }, [_c("li", { 8180 directives: [{ 8181 name: "show", 8182 rawName: "v-show", 8183 value: _vm.add, 8184 expression: "add" 8185 }], 8186 staticClass: "list-group-item", 8187 attrs: { 8188 id: "addOccurrence" 8189 } 8190 }, [_c("div", { 8191 staticClass: "row" 8192 }, [_c("div", { 8193 staticClass: "col-md-12" 8194 }, [_c("div", { 8195 staticClass: "form-group-item" 8196 }, [_vm._m(0), _vm._v(" "), _c("p", [_c("input", { 8197 directives: [{ 8198 name: "model", 8199 rawName: "v-model", 8200 value: _vm.nouveau.title, 8201 expression: "nouveau.title" 8202 }], 8203 staticClass: "form-control", 8204 attrs: { 8205 autocomplete: "off", 8206 name: "title", 8207 type: "text" 8208 }, 8209 domProps: { 8210 value: _vm.nouveau.title 8211 }, 8212 on: { 8213 input: function input($event) { 8214 if ($event.target.composing) return; 8215 _vm.$set(_vm.nouveau, "title", $event.target.value); 8216 } 8217 } 8218 })])])])]), _vm._v(" "), _c("div", { 8219 staticClass: "row" 8220 }, [_c("div", { 8221 staticClass: "col-md-8" 8222 }, [_c("div", { 8223 staticClass: "form-group-item" 8224 }, [_vm._m(1), _vm._v(" "), _c("select", { 8225 directives: [{ 8226 name: "model", 8227 rawName: "v-model", 8228 value: _vm.nouveau.lieux_id, 8229 expression: "nouveau.lieux_id" 8230 }], 8231 staticClass: "form-control form-required required", 8232 attrs: { 8233 name: "lieux_id" 8234 }, 8235 on: { 8236 change: function change($event) { 8237 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 8238 return o.selected; 8239 }).map(function (o) { 8240 var val = "_value" in o ? o._value : o.value; 8241 return val; 8242 }); 8243 _vm.$set(_vm.nouveau, "lieux_id", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 8244 } 8245 } 8246 }, [_c("option", { 8247 attrs: { 8248 value: "" 8249 } 8250 }, [_vm._v("Choix")]), _vm._v(" "), _vm._l(_vm.loc, function (location) { 8251 return _c("option", { 8252 attrs: { 8253 autocomplete: "off" 8254 }, 8255 domProps: { 8256 value: location.id 8257 } 8258 }, [_vm._v(_vm._s(location.name))]); 8259 })], 2)]), _vm._v(" "), _c("div", { 8260 staticClass: "form-group-item" 8261 }, [_vm._m(2), _vm._v(" "), _c("select", { 8262 directives: [{ 8263 name: "model", 8264 rawName: "v-model", 8265 value: _vm.nouveau.prices, 8266 expression: "nouveau.prices" 8267 }], 8268 staticClass: "form-control", 8269 staticStyle: { 8270 height: "80px" 8271 }, 8272 attrs: { 8273 multiple: "" 8274 }, 8275 on: { 8276 change: function change($event) { 8277 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 8278 return o.selected; 8279 }).map(function (o) { 8280 var val = "_value" in o ? o._value : o.value; 8281 return val; 8282 }); 8283 _vm.$set(_vm.nouveau, "prices", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 8284 } 8285 } 8286 }, [_c("option", { 8287 attrs: { 8288 value: "" 8289 } 8290 }, [_vm._v("Choix")]), _vm._v(" "), _vm._l(_vm.prix, function (price) { 8291 return _c("option", { 8292 domProps: { 8293 value: price.id 8294 } 8295 }, [_vm._v("\n " + _vm._s(price.description) + "\n ")]); 8296 })], 2)])]), _vm._v(" "), _c("div", { 8297 staticClass: "col-md-4" 8298 }, [_c("div", { 8299 staticClass: "form-group-item" 8300 }, [_vm._m(3), _vm._v(" "), _c("input", { 8301 directives: [{ 8302 name: "model", 8303 rawName: "v-model", 8304 value: _vm.nouveau.starting_at, 8305 expression: "nouveau.starting_at" 8306 }], 8307 staticClass: "form-control datePickerNew", 8308 attrs: { 8309 name: "starting_at", 8310 autocomplete: "off" 8311 }, 8312 domProps: { 8313 value: _vm.nouveau.starting_at 8314 }, 8315 on: { 8316 input: function input($event) { 8317 if ($event.target.composing) return; 8318 _vm.$set(_vm.nouveau, "starting_at", $event.target.value); 8319 } 8320 } 8321 })]), _vm._v(" "), _c("div", { 8322 staticClass: "form-group-item" 8323 }, [_vm._m(4), _vm._v(" "), _c("input", { 8324 directives: [{ 8325 name: "model", 8326 rawName: "v-model", 8327 value: _vm.nouveau.capacite_salle, 8328 expression: "nouveau.capacite_salle" 8329 }], 8330 staticClass: "form-control", 8331 attrs: { 8332 autocomplete: "off", 8333 name: "capacite_salle", 8334 type: "text" 8335 }, 8336 domProps: { 8337 value: _vm.nouveau.capacite_salle 8338 }, 8339 on: { 8340 input: function input($event) { 8341 if ($event.target.composing) return; 8342 _vm.$set(_vm.nouveau, "capacite_salle", $event.target.value); 8343 } 8344 } 8345 })])])]), _vm._v(" "), _c("p", { 8346 staticClass: "text-right margBottom" 8347 }, [_c("a", { 8348 staticClass: "btn btn-sm btn-primary", 8349 on: { 8350 click: _vm.ajouterOccurence 8351 } 8352 }, [_vm._v("Envoyer")])]), _vm._v(" "), _vm.errors.length ? _c("div", [_c("b", [_vm._v("Il manque des informations:")]), _vm._v(" "), _c("ul", _vm._l(_vm.errors, function (error) { 8353 return _c("li", [_vm._v(_vm._s(error))]); 8354 }), 0)]) : _vm._e()]), _vm._v(" "), _vm._l(_vm.list, function (occurrence) { 8355 return _c("li", { 8356 staticClass: "list-group-item" 8357 }, [_c("div", { 8358 staticClass: "row" 8359 }, [_c("div", { 8360 staticClass: "col-md-12" 8361 }, [_c("div", { 8362 staticClass: "btn-group pull-right" 8363 }, [_c("a", { 8364 directives: [{ 8365 name: "show", 8366 rawName: "v-show", 8367 value: !occurrence.state, 8368 expression: "!occurrence.state" 8369 }], 8370 staticClass: "btn btn-xs btn-info", 8371 on: { 8372 click: function click($event) { 8373 return _vm.edit(occurrence); 8374 } 8375 } 8376 }, [_vm._v("éditer")]), _vm._v(" "), _c("a", { 8377 directives: [{ 8378 name: "show", 8379 rawName: "v-show", 8380 value: !occurrence.state, 8381 expression: "!occurrence.state" 8382 }], 8383 staticClass: "btn btn-xs btn-danger", 8384 on: { 8385 click: function click($event) { 8386 return _vm.deleteOccurrence(occurrence); 8387 } 8388 } 8389 }, [_c("i", { 8390 staticClass: "fa fa-times" 8391 })]), _vm._v(" "), _c("a", { 8392 directives: [{ 8393 name: "show", 8394 rawName: "v-show", 8395 value: occurrence.state, 8396 expression: "occurrence.state" 8397 }], 8398 staticClass: "btn btn-xs btn-primary", 8399 on: { 8400 click: function click($event) { 8401 return _vm.save(occurrence); 8402 } 8403 } 8404 }, [_vm._v("sauvegarder")])])])]), _vm._v(" "), _c("div", { 8405 staticClass: "row" 8406 }, [_c("div", { 8407 staticClass: "col-md-12" 8408 }, [_c("div", { 8409 staticClass: "form-group-item" 8410 }, [_vm._m(5, true), _vm._v(" "), !occurrence.state ? _c("p", [_vm._v(_vm._s(occurrence.title))]) : _vm._e(), _vm._v(" "), occurrence.state ? _c("p", [_c("input", { 8411 directives: [{ 8412 name: "model", 8413 rawName: "v-model", 8414 value: occurrence.title, 8415 expression: "occurrence.title" 8416 }], 8417 staticClass: "form-control", 8418 attrs: { 8419 name: "title", 8420 type: "text" 8421 }, 8422 domProps: { 8423 value: occurrence.title 8424 }, 8425 on: { 8426 input: function input($event) { 8427 if ($event.target.composing) return; 8428 _vm.$set(occurrence, "title", $event.target.value); 8429 } 8430 } 8431 })]) : _vm._e()])])]), _vm._v(" "), _c("div", { 8432 staticClass: "row" 8433 }, [_c("div", { 8434 staticClass: "col-md-8" 8435 }, [_c("div", { 8436 staticClass: "form-group-item" 8437 }, [_vm._m(6, true), _vm._v(" "), !occurrence.state ? _c("p", [_vm._v(_vm._s(occurrence.lieux))]) : _vm._e(), _vm._v(" "), occurrence.state ? _c("p", [_c("select", { 8438 directives: [{ 8439 name: "model", 8440 rawName: "v-model", 8441 value: occurrence.lieux_id, 8442 expression: "occurrence.lieux_id" 8443 }], 8444 staticClass: "form-control form-required required", 8445 attrs: { 8446 required: "", 8447 name: "lieux_id" 8448 }, 8449 on: { 8450 change: function change($event) { 8451 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 8452 return o.selected; 8453 }).map(function (o) { 8454 var val = "_value" in o ? o._value : o.value; 8455 return val; 8456 }); 8457 _vm.$set(occurrence, "lieux_id", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 8458 } 8459 } 8460 }, [_c("option", { 8461 attrs: { 8462 value: "" 8463 } 8464 }, [_vm._v("Choix")]), _vm._v(" "), _vm._l(_vm.loc, function (location) { 8465 return _c("option", { 8466 domProps: { 8467 selected: occurrence.lieux_id == location.id ? "true" : "false", 8468 value: location.id 8469 } 8470 }, [_vm._v("\n " + _vm._s(location.name) + "\n ")]); 8471 })], 2)]) : _vm._e()]), _vm._v(" "), _c("div", { 8472 staticClass: "form-group-item" 8473 }, [_vm._m(7, true), _vm._v(" "), !occurrence.state ? _c("p", [_vm._v("\n " + _vm._s(occurrence.prices_names) + "\n ")]) : _vm._e(), _vm._v(" "), occurrence.state ? _c("p", [_c("select", { 8474 directives: [{ 8475 name: "model", 8476 rawName: "v-model", 8477 value: occurrence.prices, 8478 expression: "occurrence.prices" 8479 }], 8480 staticClass: "form-control", 8481 staticStyle: { 8482 height: "80px" 8483 }, 8484 attrs: { 8485 multiple: "" 8486 }, 8487 on: { 8488 change: function change($event) { 8489 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 8490 return o.selected; 8491 }).map(function (o) { 8492 var val = "_value" in o ? o._value : o.value; 8493 return val; 8494 }); 8495 _vm.$set(occurrence, "prices", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 8496 } 8497 } 8498 }, [_c("option", { 8499 attrs: { 8500 value: "" 8501 } 8502 }, [_vm._v("Choix")]), _vm._v(" "), _vm._l(_vm.prix, function (price) { 8503 return _c("option", { 8504 domProps: { 8505 value: price.id 8506 } 8507 }, [_vm._v("\n " + _vm._s(price.description) + "\n ")]); 8508 })], 2)]) : _vm._e()])]), _vm._v(" "), _c("div", { 8509 staticClass: "col-md-4" 8510 }, [_c("div", { 8511 staticClass: "form-group-item" 8512 }, [_vm._m(8, true), _vm._v(" "), !occurrence.state ? _c("p", [_vm._v(_vm._s(occurrence.starting_at))]) : _vm._e(), _vm._v(" "), occurrence.state ? _c("p", [_c("input", { 8513 directives: [{ 8514 name: "model", 8515 rawName: "v-model", 8516 value: occurrence.starting_at, 8517 expression: "occurrence.starting_at" 8518 }], 8519 staticClass: "form-control datePickerApp", 8520 attrs: { 8521 name: "starting_at" 8522 }, 8523 domProps: { 8524 value: occurrence.starting_at 8525 }, 8526 on: { 8527 input: function input($event) { 8528 if ($event.target.composing) return; 8529 _vm.$set(occurrence, "starting_at", $event.target.value); 8530 } 8531 } 8532 })]) : _vm._e()]), _vm._v(" "), _c("div", { 8533 staticClass: "form-group-item" 8534 }, [_vm._m(9, true), _vm._v(" "), !occurrence.state ? _c("p", [_vm._v(_vm._s(occurrence.capacite_salle))]) : _vm._e(), _vm._v(" "), occurrence.state ? _c("p", [_c("input", { 8535 directives: [{ 8536 name: "model", 8537 rawName: "v-model", 8538 value: occurrence.capacite_salle, 8539 expression: "occurrence.capacite_salle" 8540 }], 8541 staticClass: "form-control", 8542 attrs: { 8543 name: "capacite_salle", 8544 type: "text" 8545 }, 8546 domProps: { 8547 value: occurrence.capacite_salle 8548 }, 8549 on: { 8550 input: function input($event) { 8551 if ($event.target.composing) return; 8552 _vm.$set(occurrence, "capacite_salle", $event.target.value); 8553 } 8554 } 8555 })]) : _vm._e()])])])]); 8556 })], 2)]); 8557}; 8558var staticRenderFns = [function () { 8559 var _vm = this, 8560 _c = _vm._self._c; 8561 return _c("label", [_c("strong", [_vm._v("Titre")])]); 8562}, function () { 8563 var _vm = this, 8564 _c = _vm._self._c; 8565 return _c("label", [_c("strong", [_vm._v("Lieu")])]); 8566}, function () { 8567 var _vm = this, 8568 _c = _vm._self._c; 8569 return _c("label", [_c("strong", [_vm._v("Prix")])]); 8570}, function () { 8571 var _vm = this, 8572 _c = _vm._self._c; 8573 return _c("label", [_c("strong", [_vm._v("Date")])]); 8574}, function () { 8575 var _vm = this, 8576 _c = _vm._self._c; 8577 return _c("label", [_c("strong", [_vm._v("Capacité")])]); 8578}, function () { 8579 var _vm = this, 8580 _c = _vm._self._c; 8581 return _c("label", [_c("strong", [_vm._v("Titre")])]); 8582}, function () { 8583 var _vm = this, 8584 _c = _vm._self._c; 8585 return _c("label", [_c("strong", [_vm._v("Lieu")])]); 8586}, function () { 8587 var _vm = this, 8588 _c = _vm._self._c; 8589 return _c("label", [_c("strong", [_vm._v("Prix")])]); 8590}, function () { 8591 var _vm = this, 8592 _c = _vm._self._c; 8593 return _c("label", [_c("strong", [_vm._v("Date")])]); 8594}, function () { 8595 var _vm = this, 8596 _c = _vm._self._c; 8597 return _c("label", [_c("strong", [_vm._v("Capacité")])]); 8598}]; 8599render._withStripped = true; 8600 8601 8602/***/ }), 8603 8604/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=template&id=21c99a4b&": 8605/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\ 8606 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=template&id=21c99a4b& ***! 8607 \*************************************************************************************************************************************************************************************************************************************************************************************************/ 8608/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 8609 8610"use strict"; 8611__webpack_require__.r(__webpack_exports__); 8612/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8613/* harmony export */ render: () => (/* binding */ render), 8614/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 8615/* harmony export */ }); 8616var render = function render() { 8617 var _vm = this, 8618 _c = _vm._self._c; 8619 return _c("div", [_c("div", { 8620 staticClass: "choixAdresse" 8621 }, [_c("select", { 8622 directives: [{ 8623 name: "model", 8624 rawName: "v-model", 8625 value: _vm.selected, 8626 expression: "selected" 8627 }], 8628 staticClass: "form-control form-required required", 8629 attrs: { 8630 name: "adresse_id" 8631 }, 8632 on: { 8633 change: [function ($event) { 8634 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 8635 return o.selected; 8636 }).map(function (o) { 8637 var val = "_value" in o ? o._value : o.value; 8638 return val; 8639 }); 8640 _vm.selected = $event.target.multiple ? $$selectedVal : $$selectedVal[0]; 8641 }, _vm.updateAdresse] 8642 } 8643 }, _vm._l(_vm.list, function (adresse) { 8644 return _c("option", { 8645 domProps: { 8646 value: adresse.id 8647 } 8648 }, [_vm._v(_vm._s(adresse.name))]); 8649 }), 0)]), _vm._v(" "), _c("div", { 8650 staticClass: "thumbnail thumbnail-colloque" 8651 }, [_c("div", { 8652 staticClass: "row" 8653 }, [_c("div", { 8654 staticClass: "col-md-3", 8655 domProps: { 8656 innerHTML: _vm._s(_vm.logo) 8657 } 8658 }), _vm._v(" "), _c("div", { 8659 staticClass: "col-md-8" 8660 }, [_c("h4", { 8661 domProps: { 8662 innerHTML: _vm._s(_vm.name) 8663 } 8664 }), _vm._v(" "), _c("p", { 8665 domProps: { 8666 innerHTML: _vm._s(_vm.adresse) 8667 } 8668 })])])])]); 8669}; 8670var staticRenderFns = []; 8671render._withStripped = true; 8672 8673 8674/***/ }), 8675 8676/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ProductSelect.vue?vue&type=template&id=2fb718a4&": 8677/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\ 8678 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ProductSelect.vue?vue&type=template&id=2fb718a4& ***! 8679 \**************************************************************************************************************************************************************************************************************************************************************************************************/ 8680/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 8681 8682"use strict"; 8683__webpack_require__.r(__webpack_exports__); 8684/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8685/* harmony export */ render: () => (/* binding */ render), 8686/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 8687/* harmony export */ }); 8688var render = function render() { 8689 var _vm = this, 8690 _c = _vm._self._c; 8691 return _c("div", [_vm._l(_vm.choosen, function (row, index) { 8692 return _c("fieldset", { 8693 staticClass: "field_clone_order", 8694 attrs: { 8695 id: "" 8696 } 8697 }, [_c("div", { 8698 staticClass: "row" 8699 }, [_c("div", { 8700 staticClass: "col-lg-6 col-md-5 col-xs-12" 8701 }, [_c("label", { 8702 staticStyle: { 8703 display: "block" 8704 } 8705 }, [_vm._v("Produit")]), _vm._v(" "), _c("select", { 8706 directives: [{ 8707 name: "model", 8708 rawName: "v-model", 8709 value: row.products, 8710 expression: "row.products" 8711 }], 8712 staticClass: "chosen-select form-control", 8713 attrs: { 8714 name: "order[products][" + index + "]", 8715 "data-index": index, 8716 "data-placeholder": "produits" 8717 }, 8718 on: { 8719 change: function change($event) { 8720 var $$selectedVal = Array.prototype.filter.call($event.target.options, function (o) { 8721 return o.selected; 8722 }).map(function (o) { 8723 var val = "_value" in o ? o._value : o.value; 8724 return val; 8725 }); 8726 _vm.$set(row, "products", $event.target.multiple ? $$selectedVal : $$selectedVal[0]); 8727 } 8728 } 8729 }, [_c("option", { 8730 attrs: { 8731 value: "" 8732 } 8733 }, [_vm._v("Choix")]), _vm._v(" "), _vm._l(_vm.products, function (product) { 8734 return _c("option", { 8735 domProps: { 8736 value: product.id 8737 } 8738 }, [_vm._v(_vm._s(product.title))]); 8739 })], 2)]), _vm._v(" "), _c("div", { 8740 staticClass: "col-lg-1 col-md-2 col-xs-12" 8741 }, [_c("label", [_vm._v("Quantité")]), _vm._v(" "), _c("input", { 8742 directives: [{ 8743 name: "model", 8744 rawName: "v-model", 8745 value: row.qty, 8746 expression: "row.qty" 8747 }], 8748 staticClass: "form-control", 8749 attrs: { 8750 required: "", 8751 type: "number", 8752 value: "", 8753 name: "order[qty][" + index + "]" 8754 }, 8755 domProps: { 8756 value: row.qty 8757 }, 8758 on: { 8759 change: function change($event) { 8760 return _vm.check(index); 8761 }, 8762 blur: function blur($event) { 8763 return _vm.hide(index); 8764 }, 8765 input: function input($event) { 8766 if ($event.target.composing) return; 8767 _vm.$set(row, "qty", $event.target.value); 8768 } 8769 } 8770 }), _vm._v(" "), _c("span", { 8771 staticStyle: { 8772 display: "none", 8773 "font-size": "10px", 8774 color: "red" 8775 }, 8776 attrs: { 8777 id: "error_" + index 8778 } 8779 }, [_vm._v("Plus assez de stock")])]), _vm._v(" "), _c("div", { 8780 staticClass: "col-lg-1 col-md-2 col-xs-12" 8781 }, [_c("label", [_vm._v("Rabais")]), _vm._v(" "), _c("div", { 8782 staticClass: "input-group" 8783 }, [_c("input", { 8784 directives: [{ 8785 name: "model", 8786 rawName: "v-model", 8787 value: row.rabais, 8788 expression: "row.rabais" 8789 }], 8790 staticClass: "form-control", 8791 attrs: { 8792 value: "", 8793 type: "text", 8794 name: "order[rabais][" + index + "]" 8795 }, 8796 domProps: { 8797 value: row.rabais 8798 }, 8799 on: { 8800 input: function input($event) { 8801 if ($event.target.composing) return; 8802 _vm.$set(row, "rabais", $event.target.value); 8803 } 8804 } 8805 }), _vm._v(" "), _c("span", { 8806 staticClass: "input-group-addon" 8807 }, [_vm._v("%")])])]), _vm._v(" "), _c("div", { 8808 staticClass: "col-lg-1 col-md-2 col-xs-12" 8809 }, [_c("label", [_vm._v("Prix spécial")]), _vm._v(" "), _c("div", { 8810 staticClass: "input-group" 8811 }, [_c("input", { 8812 directives: [{ 8813 name: "model", 8814 rawName: "v-model", 8815 value: row.price, 8816 expression: "row.price" 8817 }], 8818 staticClass: "form-control", 8819 attrs: { 8820 value: "", 8821 type: "text", 8822 name: "order[price][" + index + "]" 8823 }, 8824 domProps: { 8825 value: row.price 8826 }, 8827 on: { 8828 input: function input($event) { 8829 if ($event.target.composing) return; 8830 _vm.$set(row, "price", $event.target.value); 8831 } 8832 } 8833 }), _vm._v(" "), _c("span", { 8834 staticClass: "input-group-addon" 8835 }, [_vm._v("CHF")])])]), _vm._v(" "), _c("div", { 8836 staticClass: "col-lg-2 col-md-1 col-xs-12" 8837 }, [_c("label"), _vm._v(" "), _c("div", { 8838 staticClass: "checkbox" 8839 }, [_c("label", [_c("input", { 8840 directives: [{ 8841 name: "model", 8842 rawName: "v-model", 8843 value: row.gratuit, 8844 expression: "row.gratuit" 8845 }], 8846 attrs: { 8847 type: "checkbox", 8848 name: "order[gratuit][" + index + "]", 8849 value: "1" 8850 }, 8851 domProps: { 8852 checked: Array.isArray(row.gratuit) ? _vm._i(row.gratuit, "1") > -1 : row.gratuit 8853 }, 8854 on: { 8855 change: function change($event) { 8856 var $$a = row.gratuit, 8857 $$el = $event.target, 8858 $$c = $$el.checked ? true : false; 8859 if (Array.isArray($$a)) { 8860 var $$v = "1", 8861 $$i = _vm._i($$a, $$v); 8862 if ($$el.checked) { 8863 $$i < 0 && _vm.$set(row, "gratuit", $$a.concat([$$v])); 8864 } else { 8865 $$i > -1 && _vm.$set(row, "gratuit", $$a.slice(0, $$i).concat($$a.slice($$i + 1))); 8866 } 8867 } else { 8868 _vm.$set(row, "gratuit", $$c); 8869 } 8870 } 8871 } 8872 }), _vm._v(" Livre gratuit")])])]), _vm._v(" "), _vm._m(0, true)])]); 8873 }), _vm._v(" "), _c("button", { 8874 on: { 8875 click: _vm.add 8876 } 8877 }), _vm._v(" "), _c("p", [_c("button", { 8878 staticClass: "btn btn-sm btn-default", 8879 attrs: { 8880 type: "button" 8881 }, 8882 on: { 8883 click: _vm.add 8884 } 8885 }, [_c("i", { 8886 staticClass: "fa fa-plus-circle" 8887 }), _vm._v("  Ajouter un produit")])])], 2); 8888}; 8889var staticRenderFns = [function () { 8890 var _vm = this, 8891 _c = _vm._self._c; 8892 return _c("div", { 8893 staticClass: "col-lg-1 col-md-1 col-xs-12 text-right" 8894 }, [_c("label", [_vm._v(" ")]), _c("p", [_c("a", { 8895 staticClass: "btn btn-danger btn-sm remove_order", 8896 attrs: { 8897 href: "#" 8898 } 8899 }, [_vm._v("x")])])]); 8900}]; 8901render._withStripped = true; 8902 8903 8904/***/ }), 8905 8906/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=template&id=4b44fdad&": 8907/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\ 8908 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=template&id=4b44fdad& ***! 8909 \************************************************************************************************************************************************************************************************************************************************************************************************/ 8910/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 8911 8912"use strict"; 8913__webpack_require__.r(__webpack_exports__); 8914/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8915/* harmony export */ render: () => (/* binding */ render), 8916/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 8917/* harmony export */ }); 8918var render = function render() { 8919 var _vm = this, 8920 _c = _vm._self._c; 8921 return _c("div", _vm._l(_vm.rows, function (question) { 8922 return _c("div", { 8923 directives: [{ 8924 name: "show", 8925 rawName: "v-show", 8926 value: !question.hidden, 8927 expression: "!question.hidden" 8928 }], 8929 "class": "row row-avis mb-20 row-question " + (question["class"] ? "row-hidden" : "") 8930 }, [_c("div", { 8931 staticClass: "col-md-1" 8932 }, [_c("a", { 8933 staticClass: "btn btn-sky btn-sm", 8934 attrs: { 8935 href: _vm.path + question.id 8936 } 8937 }, [_c("i", { 8938 staticClass: "fa fa-edit" 8939 })])]), _vm._v(" "), _c("div", { 8940 staticClass: "col-md-6" 8941 }, [_c("strong", { 8942 domProps: { 8943 innerHTML: _vm._s(question.question_simple) 8944 } 8945 })]), _vm._v(" "), _c("div", { 8946 staticClass: "col-md-3" 8947 }, [_vm._v(_vm._s(question.type_name))]), _vm._v(" "), _c("div", { 8948 staticClass: "col-md-2 text-right" 8949 }, [_c("button", { 8950 staticClass: "btn btn-orange btn-sm", 8951 on: { 8952 click: function click($event) { 8953 return _vm.archive(question); 8954 } 8955 } 8956 }, [_vm._v("Cacher")]), _vm._v(" "), _c("button", { 8957 staticClass: "btn btn-danger btn-sm ml-2", 8958 on: { 8959 click: function click($event) { 8960 return _vm.remove(question); 8961 } 8962 } 8963 }, [_c("i", { 8964 staticClass: "fa fa-times" 8965 })])])]); 8966 }), 0); 8967}; 8968var staticRenderFns = []; 8969render._withStripped = true; 8970 8971 8972/***/ }), 8973 8974/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=template&id=26ef0d4f&": 8975/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\ 8976 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=template&id=26ef0d4f& ***! 8977 \*******************************************************************************************************************************************************************************************************************************************************************************************/ 8978/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 8979 8980"use strict"; 8981__webpack_require__.r(__webpack_exports__); 8982/* harmony export */ __webpack_require__.d(__webpack_exports__, { 8983/* harmony export */ render: () => (/* binding */ render), 8984/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 8985/* harmony export */ }); 8986var render = function render() { 8987 var _vm = this, 8988 _c = _vm._self._c; 8989 return _c("div", { 8990 staticClass: "rabais" 8991 }, [_c("div", { 8992 staticClass: "colloque-coupon" 8993 }, [_c("label", { 8994 staticClass: "rabais-info" 8995 }, [_c("strong", [_vm._v("Votre rabais")]), _vm._v(" "), _vm.isValid ? _c("span", { 8996 staticClass: "text-success" 8997 }, [_vm._v(_vm._s(_vm.value))]) : _vm._e()]), _vm._v(" "), _c("div", { 8998 staticClass: "input-group" 8999 }, [_vm.isValid ? _c("span", { 9000 staticClass: "input-group-addon input-group-addon-valid" 9001 }, [_c("i", { 9002 staticClass: "fa fa-check text-success" 9003 })]) : _vm._e(), _vm._v(" "), _c("input", { 9004 directives: [{ 9005 name: "model", 9006 rawName: "v-model", 9007 value: _vm.searchQuery, 9008 expression: "searchQuery" 9009 }], 9010 staticClass: "form-control", 9011 attrs: { 9012 type: "text", 9013 name: "rabais", 9014 placeholder: "XYZ" 9015 }, 9016 domProps: { 9017 value: _vm.searchQuery 9018 }, 9019 on: { 9020 input: function input($event) { 9021 if ($event.target.composing) return; 9022 _vm.searchQuery = $event.target.value; 9023 } 9024 } 9025 }), _vm._v(" "), _c("span", { 9026 staticClass: "input-group-btn" 9027 }, [_c("button", { 9028 staticClass: "btn btn-default", 9029 attrs: { 9030 type: "button" 9031 }, 9032 on: { 9033 click: _vm.apply 9034 } 9035 }, [_vm._v("Appliquer")])])]), _vm._v(" "), _vm.isValid ? _c("div", [_c("input", { 9036 attrs: { 9037 type: "hidden", 9038 name: "rabais_id" 9039 }, 9040 domProps: { 9041 value: _vm.rabais_id 9042 } 9043 })]) : _vm._e(), _vm._v(" "), _vm.isInvalid ? _c("span", { 9044 staticClass: "invalid text-danger" 9045 }, [_c("i", { 9046 staticClass: "fa fa-exclamation-triangle text-danger" 9047 }), _vm._v("  " + _vm._s(_vm.message))]) : _vm._e()])]); 9048}; 9049var staticRenderFns = []; 9050render._withStripped = true; 9051 9052 9053/***/ }), 9054 9055/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rappel.vue?vue&type=template&id=30f21966&": 9056/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\ 9057 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rappel.vue?vue&type=template&id=30f21966& ***! 9058 \*******************************************************************************************************************************************************************************************************************************************************************************************/ 9059/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9060 9061"use strict"; 9062__webpack_require__.r(__webpack_exports__); 9063/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9064/* harmony export */ render: () => (/* binding */ render), 9065/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 9066/* harmony export */ }); 9067var render = function render() { 9068 var _vm = this, 9069 _c = _vm._self._c; 9070 return _c("div", [_c("div", { 9071 staticClass: "row" 9072 }, [_c("div", { 9073 staticClass: "col-md-3" 9074 }, [_c("form", [_c("button", { 9075 staticClass: "btn btn-brown btn-sm", 9076 attrs: { 9077 id: _vm.getButtonId() 9078 }, 9079 on: { 9080 click: _vm.generate 9081 } 9082 }, [_vm._v("Générer")])])]), _vm._v(" "), _c("div", { 9083 staticClass: "col-md-7" 9084 }, [_c("ol", _vm._l(_vm.list, function (rappel) { 9085 return _c("li", { 9086 staticClass: "rappel-item" 9087 }, [_c("a", { 9088 staticClass: "text-primary", 9089 attrs: { 9090 href: rappel.doc_rappel, 9091 target: "_blank" 9092 } 9093 }, [_vm._v("\n " + _vm._s(rappel.date) + " "), !rappel.doc_rappel ? _c("small", { 9094 staticClass: "text-muted" 9095 }, [_vm._v("pdf non crée")]) : _vm._e()]), _vm._v(" "), _c("button", { 9096 staticClass: "btn btn-danger btn-xs pull-right", 9097 on: { 9098 click: function click($event) { 9099 return _vm.remove(rappel.id); 9100 } 9101 } 9102 }, [_c("i", { 9103 staticClass: "fa fa-times" 9104 })]), _vm._v(" "), _c("div", { 9105 staticClass: "clearfix" 9106 })]); 9107 }), 0), _vm._v(" "), _c("i", { 9108 directives: [{ 9109 name: "show", 9110 rawName: "v-show", 9111 value: _vm.loading, 9112 expression: "loading" 9113 }], 9114 staticClass: "fa fa-spinner fa-spin" 9115 })]), _vm._v(" "), _c("div", { 9116 staticClass: "col-md-2" 9117 }, [_vm.path == "inscription" ? _c("ol", { 9118 staticStyle: { 9119 "margin-left": "5px", 9120 "padding-left": "3px" 9121 } 9122 }, _vm._l(_vm.list, function (rappel) { 9123 return _c("li", { 9124 staticClass: "rappel-item" 9125 }, [_c("a", { 9126 staticClass: "btn btn-default btn-xs", 9127 attrs: { 9128 href: "admin/inscription/rappel/" + rappel.id, 9129 target: "_blank" 9130 } 9131 }, [_vm._v(" + BV")])]); 9132 }), 0) : _vm._e(), _vm._v(" "), _vm.path == "abonnement" ? _c("ol", { 9133 staticStyle: { 9134 "margin-left": "5px", 9135 "padding-left": "3px" 9136 } 9137 }, _vm._l(_vm.list, function (rappel) { 9138 return _c("li", { 9139 staticClass: "rappel-item" 9140 }, [_c("a", { 9141 staticClass: "btn btn-default btn-xs", 9142 attrs: { 9143 href: "admin/rappel/show/" + rappel.id, 9144 target: "_blank" 9145 } 9146 }, [_vm._v(" + BV")])]); 9147 }), 0) : _vm._e()])])]); 9148}; 9149var staticRenderFns = []; 9150render._withStripped = true; 9151 9152 9153/***/ }), 9154 9155/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Tags.vue?vue&type=template&id=8609bf60&": 9156/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\ 9157 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Tags.vue?vue&type=template&id=8609bf60& ***! 9158 \*****************************************************************************************************************************************************************************************************************************************************************************************/ 9159/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9160 9161"use strict"; 9162__webpack_require__.r(__webpack_exports__); 9163/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9164/* harmony export */ render: () => (/* binding */ render), 9165/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 9166/* harmony export */ }); 9167var render = function render() { 9168 var _vm = this, 9169 _c = _vm._self._c; 9170 return _c("div", [_c("vue-tags-input", { 9171 attrs: { 9172 tags: _vm.tags 9173 }, 9174 on: { 9175 "tags-changed": function tagsChanged(newTags) { 9176 return _vm.tags = newTags; 9177 } 9178 }, 9179 model: { 9180 value: _vm.tag, 9181 callback: function callback($$v) { 9182 _vm.tag = $$v; 9183 }, 9184 expression: "tag" 9185 } 9186 })], 1); 9187}; 9188var staticRenderFns = []; 9189render._withStripped = true; 9190 9191 9192/***/ }), 9193 9194/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce&": 9195/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 9196 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce& ***! 9197 \*************************************************************************************************************************************************************************************************************************************************************************************************************/ 9198/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9199 9200"use strict"; 9201__webpack_require__.r(__webpack_exports__); 9202/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9203/* harmony export */ render: () => (/* binding */ render), 9204/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 9205/* harmony export */ }); 9206var render = function render() { 9207 var _vm = this, 9208 _c = _vm._self._c; 9209 return _c("div", [_c("div", { 9210 directives: [{ 9211 name: "show", 9212 rawName: "v-show", 9213 value: !_vm.hasChosen, 9214 expression: "!hasChosen" 9215 }], 9216 staticClass: "input-group" 9217 }, [_c("span", { 9218 staticClass: "input-group-addon" 9219 }, [_c("img", { 9220 directives: [{ 9221 name: "show", 9222 rawName: "v-show", 9223 value: _vm.searching, 9224 expression: "searching" 9225 }], 9226 attrs: { 9227 height: "15px", 9228 src: "images/default.svg" 9229 } 9230 })]), _vm._v(" "), _c("input", { 9231 "class": "search-input form-control search-adresse-autocomplete_" + _vm.type, 9232 attrs: { 9233 placeholder: "Chercher...", 9234 type: "text" 9235 } 9236 }), _vm._v(" "), _c("span", { 9237 staticClass: "input-group-addon", 9238 staticStyle: { 9239 border: "none", 9240 background: "#fff", 9241 width: "100px" 9242 } 9243 }, [_c("span", { 9244 directives: [{ 9245 name: "show", 9246 rawName: "v-show", 9247 value: _vm.noResult, 9248 expression: "noResult" 9249 }], 9250 staticClass: "empty-text text-danger pull-right" 9251 }, [_vm._v("Aucun résultat")])])]), _vm._v(" "), _vm.hasChosen ? _c("div", { 9252 staticClass: "choice-adresse autocomplete-bloc row" 9253 }, [_c("div", { 9254 staticClass: "col-md-12", 9255 staticStyle: { 9256 padding: "0" 9257 } 9258 }, [_c("div", { 9259 staticClass: "panel panel-primary", 9260 "class": { 9261 "col-md-12": _vm.fullwidth, 9262 "col-md-8": !_vm.fullwidth 9263 }, 9264 staticStyle: { 9265 "margin-bottom": "10px" 9266 } 9267 }, [_vm._v("\n\t\t\t\t\tUtilisateur\n\t \t"), _c("input", { 9268 attrs: { 9269 name: _vm.type, 9270 type: "hidden" 9271 }, 9272 domProps: { 9273 value: _vm.chosen.user_id 9274 } 9275 }), _vm._v(" "), _c("div", { 9276 staticClass: "panel-body panel-colloque", 9277 staticStyle: { 9278 display: "flex", 9279 "flex-direction": "column", 9280 "justify-content": "space-between", 9281 "min-height": "120px" 9282 } 9283 }, [_c("span", { 9284 staticClass: "no-adresse" 9285 }, [_vm._v(_vm._s(_vm.chosen.user_id))]), _vm._v(" "), _c("span", [_c("a", { 9286 attrs: { 9287 target: "_blank", 9288 href: "admin/user/" + _vm.chosen.user_id 9289 } 9290 }, [_vm._v(_vm._s(_vm.chosen.name))])]), _vm._v(" "), _c("div", [_c("button", { 9291 staticClass: "btn btn-warning btn-xs pull-right", 9292 attrs: { 9293 type: "button" 9294 }, 9295 on: { 9296 click: function click($event) { 9297 $event.preventDefault(); 9298 return _vm.remove.apply(null, arguments); 9299 } 9300 } 9301 }, [_vm._v("changer")])])])])]), _vm._v(" "), _vm.showChooseFacturation ? _c("div", { 9302 staticClass: "col-md-12", 9303 staticStyle: { 9304 padding: "0" 9305 } 9306 }, [_vm._m(0), _vm._v(" "), _vm._l(_vm.chosen.adresses, function (adresse, adresse_id) { 9307 return _c("div", { 9308 staticClass: "panel panel-primary col-md-4" 9309 }, [_c("div", { 9310 staticClass: "panel-body panel-colloque", 9311 staticStyle: { 9312 display: "flex", 9313 "flex-direction": "column", 9314 "justify-content": "space-between", 9315 "min-height": "120px" 9316 }, 9317 attrs: { 9318 id: "facturation_index_".adresse_id 9319 } 9320 }, [_c("div", [_c("span", { 9321 staticClass: "no-adresse" 9322 }, [_vm._v(_vm._s(adresse.adresse_id))]), _vm._v(" "), adresse.civilite ? _c("span", [_vm._v(_vm._s(adresse.civilite))]) : _vm._e(), _vm._v(" "), _c("span", [_c("a", { 9323 attrs: { 9324 target: "_blank", 9325 href: "admin/adresse/" + adresse.adresse_id 9326 } 9327 }, [_vm._v(_vm._s(adresse.name))])]), _vm._v(" "), adresse.company && adresse.company != adresse.name ? _c("span", [_vm._v(_vm._s(adresse.company))]) : _vm._e(), _vm._v(" "), adresse.cp ? _c("span", [_vm._v(_vm._s(adresse.cp))]) : _vm._e(), _vm._v(" "), adresse.complement ? _c("span", [_vm._v(_vm._s(adresse.complement))]) : _vm._e(), _vm._v(" "), _c("span", [_vm._v(_vm._s(adresse.adresse))]), _vm._v(" "), _c("span", [_vm._v(_vm._s(adresse.npa) + " " + _vm._s(adresse.ville))])]), _vm._v(" "), _c("div", [_c("button", { 9328 staticClass: "btn btn-warning btn-xs pull-right", 9329 attrs: { 9330 type: "button" 9331 }, 9332 on: { 9333 click: function click($event) { 9334 $event.preventDefault(); 9335 return _vm.choisirFacturation(adresse_id); 9336 } 9337 } 9338 }, [_vm._v("choisir")])])])]); 9339 })], 2) : _vm._e(), _vm._v(" "), _vm.showChooseLivraison ? _c("div", { 9340 staticClass: "col-md-12", 9341 staticStyle: { 9342 padding: "0" 9343 } 9344 }, [_vm._m(1), _vm._v(" "), _vm._l(_vm.chosen.adresses, function (adresse, adresse_id) { 9345 return _c("div", { 9346 staticClass: "panel panel-primary col-md-4" 9347 }, [_c("div", { 9348 staticClass: "panel-body panel-colloque", 9349 staticStyle: { 9350 display: "flex", 9351 "flex-direction": "column", 9352 "justify-content": "space-between", 9353 "min-height": "120px" 9354 }, 9355 attrs: { 9356 id: "livraison_index_".adresse_id 9357 } 9358 }, [_c("div", [_c("span", { 9359 staticClass: "no-adresse" 9360 }, [_vm._v(_vm._s(adresse.adresse_id))]), _vm._v(" "), adresse.civilite ? _c("span", [_vm._v(_vm._s(adresse.civilite))]) : _vm._e(), _vm._v(" "), _c("span", [_c("a", { 9361 attrs: { 9362 target: "_blank", 9363 href: "admin/adresse/" + adresse.adresse_id 9364 } 9365 }, [_vm._v(_vm._s(adresse.name))])]), _vm._v(" "), adresse.company && adresse.company != adresse.name ? _c("span", [_vm._v(_vm._s(adresse.company))]) : _vm._e(), _vm._v(" "), adresse.cp ? _c("span", [_vm._v(_vm._s(adresse.cp))]) : _vm._e(), _vm._v(" "), adresse.complement ? _c("span", [_vm._v(_vm._s(adresse.complement))]) : _vm._e(), _vm._v(" "), _c("span", [_vm._v(_vm._s(adresse.adresse))]), _vm._v(" "), _c("span", [_vm._v(_vm._s(adresse.npa) + " " + _vm._s(adresse.ville))])]), _vm._v(" "), _c("div", [_c("button", { 9366 staticClass: "btn btn-warning btn-xs pull-right", 9367 attrs: { 9368 type: "button" 9369 }, 9370 on: { 9371 click: function click($event) { 9372 $event.preventDefault(); 9373 return _vm.choisirLivraison(adresse_id); 9374 } 9375 } 9376 }, [_vm._v("choisir")])])])]); 9377 })], 2) : _vm._e(), _vm._v(" "), _vm.showDisplayAdresses ? _c("div", { 9378 staticClass: "col-md-12", 9379 staticStyle: { 9380 padding: "0" 9381 } 9382 }, [_c("div", { 9383 staticClass: "panel panel-primary", 9384 "class": { 9385 "col-md-6": _vm.fullwidth, 9386 "col-md-4": !_vm.fullwidth 9387 }, 9388 staticStyle: { 9389 "margin-bottom": "0", 9390 "padding-bottom": "0" 9391 } 9392 }, [_vm._v("\n\t \tAdresse de facturation\n\t \t"), _c("input", { 9393 attrs: { 9394 name: "adresse_facturation_id", 9395 type: "hidden" 9396 }, 9397 domProps: { 9398 value: _vm.chosen.facturation_adresse.adresse_id 9399 } 9400 }), _vm._v(" "), _c("div", { 9401 staticClass: "panel-body panel-colloque", 9402 staticStyle: { 9403 display: "flex", 9404 "flex-direction": "column", 9405 "justify-content": "space-between", 9406 "min-height": "120px" 9407 } 9408 }, [_c("div", _vm._b({}, "div", _vm.chosen.facturation_adresse, false), [_c("span", { 9409 staticClass: "no-adresse", 9410 domProps: { 9411 textContent: _vm._s(_vm.facturation_adresse_id) 9412 } 9413 }), _vm._v(" "), _vm.chosen.facturation_adresse.civilite ? _c("span", { 9414 domProps: { 9415 textContent: _vm._s(_vm.chosen.facturation_adresse.civilite) 9416 } 9417 }) : _vm._e(), _vm._v(" "), _c("span", [_c("a", { 9418 attrs: { 9419 target: "_blank", 9420 href: "admin/adresse/" + _vm.chosen.facturation_adresse.adresse_id 9421 } 9422 }, [_vm._v(_vm._s(_vm.chosen.facturation_adresse.name))])]), _vm._v(" "), _vm.chosen.facturation_adresse.company && _vm.chosen.facturation_adresse.company != _vm.chosen.facturation_adresse.name ? _c("span", [_vm._v(_vm._s(_vm.chosen.facturation_adresse.company))]) : _vm._e(), _vm._v(" "), _vm.chosen.facturation_adresse.cp ? _c("span", [_vm._v(_vm._s(_vm.chosen.facturation_adresse.cp))]) : _vm._e(), _vm._v(" "), _vm.chosen.facturation_adresse.complement ? _c("span", [_vm._v(_vm._s(_vm.chosen.facturation_adresse.complement))]) : _vm._e(), _vm._v(" "), _c("span", [_vm._v(_vm._s(_vm.chosen.facturation_adresse.adresse))]), _vm._v(" "), _c("span", [_vm._v(_vm._s(_vm.chosen.facturation_adresse.npa) + " " + _vm._s(_vm.chosen.facturation_adresse.ville))])]), _vm._v(" "), _c("div", [_c("button", { 9423 staticClass: "btn btn-warning btn-xs pull-right", 9424 attrs: { 9425 type: "button" 9426 }, 9427 on: { 9428 click: function click($event) { 9429 $event.preventDefault(); 9430 return _vm.changeFacturation.apply(null, arguments); 9431 } 9432 } 9433 }, [_vm._v("changer")])])])]), _vm._v(" "), _c("div", { 9434 staticClass: "panel panel-primary", 9435 "class": { 9436 "col-md-6": _vm.fullwidth, 9437 "col-md-4": !_vm.fullwidth 9438 }, 9439 staticStyle: { 9440 "margin-bottom": "0", 9441 "padding-bottom": "0" 9442 } 9443 }, [_vm._v("\n\t \tAdresse de livraison\n\t \t"), _c("input", { 9444 attrs: { 9445 name: "adresse_livraison_id", 9446 type: "hidden" 9447 }, 9448 domProps: { 9449 value: _vm.chosen.livraison_adresse.adresse_id 9450 } 9451 }), _vm._v(" "), _c("div", { 9452 staticClass: "panel-body panel-colloque", 9453 staticStyle: { 9454 display: "flex", 9455 "flex-direction": "column", 9456 "justify-content": "space-between", 9457 "min-height": "120px" 9458 } 9459 }, [_c("div", _vm._b({}, "div", _vm.chosen.livraison_adresse, false), [_c("span", { 9460 staticClass: "no-adresse" 9461 }, [_vm._v(_vm._s(_vm.chosen.livraison_adresse.adresse_id))]), _vm._v(" "), _vm.chosen.livraison_adresse.civilite ? _c("span", [_vm._v(_vm._s(_vm.chosen.livraison_adresse.civilite))]) : _vm._e(), _vm._v(" "), _c("span", [_c("a", { 9462 attrs: { 9463 target: "_blank", 9464 href: "admin/adresse/" + _vm.chosen.livraison_adresse.adresse_id 9465 } 9466 }, [_vm._v(_vm._s(_vm.chosen.livraison_adresse.name))])]), _vm._v(" "), _vm.chosen.livraison_adresse.company && _vm.chosen.livraison_adresse.company != _vm.chosen.livraison_adresse.name ? _c("span", [_vm._v(_vm._s(_vm.chosen.livraison_adresse.company))]) : _vm._e(), _vm._v(" "), _vm.chosen.livraison_adresse.cp ? _c("span", [_vm._v(_vm._s(_vm.chosen.livraison_adresse.cp))]) : _vm._e(), _vm._v(" "), _vm.chosen.livraison_adresse.complement ? _c("span", [_vm._v(_vm._s(_vm.chosen.livraison_adresse.complement))]) : _vm._e(), _vm._v(" "), _c("span", [_vm._v(_vm._s(_vm.chosen.livraison_adresse.adresse))]), _vm._v(" "), _c("span", [_vm._v(_vm._s(_vm.chosen.livraison_adresse.npa) + " " + _vm._s(_vm.chosen.livraison_adresse.ville))])]), _vm._v(" "), _c("div", [_c("button", { 9467 staticClass: "btn btn-warning btn-xs pull-right", 9468 attrs: { 9469 type: "button" 9470 }, 9471 on: { 9472 click: function click($event) { 9473 $event.preventDefault(); 9474 return _vm.changeLivraison.apply(null, arguments); 9475 } 9476 } 9477 }, [_vm._v("changer")])])])])]) : _vm._e()]) : _vm._e()]); 9478}; 9479var staticRenderFns = [function () { 9480 var _vm = this, 9481 _c = _vm._self._c; 9482 return _c("div", [_c("strong", [_vm._v("Choix de l'adresse de facturation")])]); 9483}, function () { 9484 var _vm = this, 9485 _c = _vm._self._c; 9486 return _c("div", [_c("strong", [_vm._v("Choix de l'adresse de livraison")])]); 9487}]; 9488render._withStripped = true; 9489 9490 9491/***/ }), 9492 9493/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/Arret.vue?vue&type=template&id=7d680d22&": 9494/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\ 9495 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/Arret.vue?vue&type=template&id=7d680d22& ***! 9496 \************************************************************************************************************************************************************************************************************************************************************************************************/ 9497/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9498 9499"use strict"; 9500__webpack_require__.r(__webpack_exports__); 9501/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9502/* harmony export */ render: () => (/* binding */ render), 9503/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 9504/* harmony export */ }); 9505var render = function render() { 9506 var _vm = this, 9507 _c = _vm._self._c; 9508 return _c("div", [_vm.newsletter.display == "top" ? _c("analyse-newsletter", { 9509 attrs: { 9510 title: _vm.newsletter.comment_title, 9511 arret: _vm.arret, 9512 analyses: _vm.arret.analyses 9513 } 9514 }) : _vm._e(), _vm._v(" "), _c("table", { 9515 staticClass: "resetTable", 9516 attrs: { 9517 border: "0", 9518 width: "560", 9519 align: "center", 9520 cellpadding: "0", 9521 cellspacing: "0" 9522 } 9523 }, [_c("tr", [_c("td", { 9524 staticClass: "resetMarge contentForm", 9525 attrs: { 9526 valign: "top", 9527 width: "375" 9528 } 9529 }, [_c("h3", { 9530 staticStyle: { 9531 "text-align": "left", 9532 "font-family": "sans-serif" 9533 } 9534 }, [_vm._v(_vm._s(_vm.arret.dumois ? "Arrêt du mois : " : "") + _vm._s(_vm.arret.title))]), _vm._v(" "), _c("p", { 9535 staticClass: "abstract" 9536 }, [_vm._v(_vm._s(_vm.arret["abstract"]))]), _vm._v(" "), _c("div", { 9537 staticClass: "content", 9538 domProps: { 9539 innerHTML: _vm._s(_vm.arret.content) 9540 } 9541 }), _vm._v(" "), _c("p", [_c("a", { 9542 "class": _vm.arret["class"], 9543 attrs: { 9544 target: "_blank", 9545 href: _vm.arret.link 9546 } 9547 }, [_vm._v(_vm._s(_vm.arret.message))])])]), _vm._v(" "), _c("td", { 9548 staticClass: "resetMarge", 9549 attrs: { 9550 width: "25" 9551 } 9552 }), _vm._v(" "), _c("td", { 9553 staticClass: "resetMarge", 9554 attrs: { 9555 valign: "top", 9556 align: "center", 9557 width: "160" 9558 } 9559 }, _vm._l(_vm.arret.images, function (image) { 9560 return _c("div", [_c("a", { 9561 attrs: { 9562 target: "_blank", 9563 href: image.link 9564 } 9565 }, [_c("img", { 9566 attrs: { 9567 width: "130", 9568 border: "0", 9569 alt: image.title, 9570 src: image.image 9571 } 9572 })]), _vm._v(" "), !_vm.newsletter.hide_title ? _c("p", { 9573 staticStyle: { 9574 "text-align": "center !important", 9575 margin: "0px 0px 5px", 9576 padding: "0px" 9577 } 9578 }, [_vm._v(_vm._s(image.title))]) : _vm._e()]); 9579 }), 0)])]), _vm._v(" "), _vm.newsletter.display == "bottom" ? _c("analyse-newsletter", { 9580 attrs: { 9581 title: _vm.newsletter.comment_title, 9582 arret: _vm.arret, 9583 analyses: _vm.arret.analyses 9584 } 9585 }) : _vm._e()], 1); 9586}; 9587var staticRenderFns = []; 9588render._withStripped = true; 9589 9590 9591/***/ }), 9592 9593/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/ModelContent.vue?vue&type=template&id=734949c1&": 9594/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\ 9595 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/ModelContent.vue?vue&type=template&id=734949c1& ***! 9596 \*******************************************************************************************************************************************************************************************************************************************************************************************************/ 9597/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9598 9599"use strict"; 9600__webpack_require__.r(__webpack_exports__); 9601/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9602/* harmony export */ render: () => (/* binding */ render), 9603/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 9604/* harmony export */ }); 9605var render = function render() { 9606 var _vm = this, 9607 _c = _vm._self._c; 9608 return _c("div", [_c("table", { 9609 staticClass: "resetTable", 9610 attrs: { 9611 border: "0", 9612 width: "560", 9613 align: "center", 9614 cellpadding: "0", 9615 cellspacing: "0" 9616 } 9617 }, [_vm.model ? _c("tr", [_c("td", { 9618 staticClass: "resetMarge contentForm", 9619 attrs: { 9620 valign: "top", 9621 width: "375" 9622 } 9623 }, [_vm.type == 12 ? _c("div", [_vm.model.surtitle ? _c("div", { 9624 staticStyle: { 9625 "font-size": "12px", 9626 "font-weight": "bold", 9627 color: "#666", 9628 margin: "5px 0" 9629 } 9630 }, [_vm._v(_vm._s(_vm.model.surtitle))]) : _vm._e(), _vm._v(" "), _c("h3", { 9631 staticStyle: { 9632 "font-size": "14px", 9633 "font-weight": "bold" 9634 } 9635 }, [_c("a", { 9636 staticStyle: { 9637 color: "#000", 9638 "text-decoration": "none", 9639 "font-size": "14px", 9640 "font-weight": "bold" 9641 }, 9642 attrs: { 9643 href: _vm.model.link 9644 } 9645 }, [_vm._v(_vm._s(_vm.model.title))])]), _vm._v(" "), _vm.model.authors && _vm.model.authors.length > 0 ? _c("div", { 9646 style: "font-size: 14px; font-weight: bold; color: " + _vm.color + "; padding-bottom: 10px;" 9647 }, _vm._l(_vm.model.authors, function (author, index) { 9648 return _c("span", { 9649 key: author.name 9650 }, [index > 0 ? _c("span", [_vm._v(", ")]) : _vm._e(), _vm._v(_vm._s(author.name) + "\n ")]); 9651 }), 0) : _vm._e(), _vm._v(" "), _c("div", { 9652 style: "border: 3px solid " + _vm.color + "; padding: 10px; margin-bottom: 10px;" 9653 }, [_c("div", { 9654 staticClass: "content", 9655 domProps: { 9656 innerHTML: _vm._s(_vm.model.content) 9657 } 9658 })]), _vm._v(" "), _c("p", [_c("a", { 9659 style: "color: " + _vm.color + "; text-decoration: underline; font-size: 14px; font-weight: bold;", 9660 attrs: { 9661 href: _vm.model.link 9662 } 9663 }, [_vm._v(_vm._s(_vm.model.message))])])]) : _c("div", [_c("h3", [_vm._v(_vm._s((_vm.type == 7 || _vm.type == 11) && _vm.newbloc && _vm.newbloc.titre && _vm.newbloc.titre.trim() ? _vm.newbloc.titre : _vm.model.title))]), _vm._v(" "), _c("p", { 9664 staticClass: "abstract" 9665 }, [_vm._v(_vm._s(_vm.model["abstract"]))]), _vm._v(" "), _c("span", { 9666 domProps: { 9667 innerHTML: _vm._s(_vm.model.more) 9668 } 9669 }), _vm._v(" "), _c("div", { 9670 staticClass: "content", 9671 domProps: { 9672 innerHTML: _vm._s(_vm.model.content) 9673 } 9674 }), _vm._v(" "), _c("p", [_c("a", { 9675 "class": _vm.model["class"], 9676 style: _vm.style, 9677 attrs: { 9678 target: "_blank", 9679 href: _vm.model.link 9680 } 9681 }, [_vm._v(_vm._s(_vm.model.message))])])])]), _vm._v(" "), _c("td", { 9682 staticClass: "resetMarge", 9683 attrs: { 9684 width: "25" 9685 } 9686 }), _vm._v(" "), _c("td", { 9687 staticClass: "resetMarge", 9688 attrs: { 9689 valign: "top", 9690 align: "center", 9691 width: "160" 9692 } 9693 }, [_vm._l(_vm.model.images, function (image) { 9694 return _c("div", [_c("a", { 9695 attrs: { 9696 target: "_blank", 9697 href: image.link 9698 } 9699 }, [_c("img", { 9700 attrs: { 9701 width: "130", 9702 border: "0", 9703 alt: image.title, 9704 src: image.image 9705 } 9706 })])]); 9707 }), _vm._v(" "), _vm.type == 7 ? _c("img", { 9708 staticClass: "img-responsive", 9709 attrs: { 9710 src: _vm.model.path 9711 } 9712 }) : _vm._e()], 2)]) : _vm._e()])]); 9713}; 9714var staticRenderFns = []; 9715render._withStripped = true; 9716 9717 9718/***/ }), 9719 9720/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/TextContent.vue?vue&type=template&id=8dea9c2a&": 9721/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\ 9722 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/TextContent.vue?vue&type=template&id=8dea9c2a& ***! 9723 \******************************************************************************************************************************************************************************************************************************************************************************************************/ 9724/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9725 9726"use strict"; 9727__webpack_require__.r(__webpack_exports__); 9728/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9729/* harmony export */ render: () => (/* binding */ render), 9730/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 9731/* harmony export */ }); 9732var render = function render() { 9733 var _vm = this, 9734 _c = _vm._self._c; 9735 return _c("div", [_c("table", { 9736 staticClass: "resetTable", 9737 attrs: { 9738 border: "0", 9739 width: "560", 9740 align: "center", 9741 cellpadding: "0", 9742 cellspacing: "0" 9743 } 9744 }, [_c("tr", [_vm.type == 4 ? _c("td", { 9745 staticClass: "resetMarge", 9746 attrs: { 9747 valign: "top", 9748 align: "center", 9749 width: "160" 9750 } 9751 }, [_c("image-newsletter", { 9752 attrs: { 9753 link: _vm.linkurl, 9754 filename: _vm.hasImage, 9755 visible: 1, 9756 id: _vm.hash, 9757 type: _vm.type 9758 }, 9759 on: { 9760 imageUploaded: _vm.imageUploadedUpdate 9761 } 9762 })], 1) : _vm._e(), _vm._v(" "), _vm.type == 4 ? _c("td", { 9763 staticClass: "resetMarge", 9764 attrs: { 9765 width: "25" 9766 } 9767 }) : _vm._e(), _vm._v(" "), _c("td", { 9768 staticClass: "resetMarge contentForm", 9769 attrs: { 9770 valign: "top", 9771 width: _vm.widthTable 9772 } 9773 }, [_vm.type == 1 || _vm.type == 2 ? _c("image-newsletter", { 9774 attrs: { 9775 link: _vm.linkurl, 9776 filename: _vm.hasImage, 9777 visible: 1, 9778 id: _vm.hash, 9779 type: _vm.type 9780 }, 9781 on: { 9782 imageUploaded: _vm.imageUploadedUpdate 9783 } 9784 }) : _vm._e(), _vm._v(" "), _c("h3", { 9785 staticClass: "mainTitle", 9786 staticStyle: { 9787 "text-align": "left", 9788 "font-family": "sans-serif" 9789 }, 9790 domProps: { 9791 innerHTML: _vm._s(_vm.newbloc.titre) 9792 } 9793 }), _vm._v(" "), _c("div", { 9794 domProps: { 9795 innerHTML: _vm._s(_vm.newbloc.contenu) 9796 } 9797 })], 1), _vm._v(" "), _vm.type == 3 || _vm.type == 10 ? _c("td", { 9798 staticClass: "resetMarge", 9799 attrs: { 9800 width: "25" 9801 } 9802 }) : _vm._e(), _vm._v(" "), _vm.type == 3 || _vm.type == 10 ? _c("td", { 9803 staticClass: "resetMarge", 9804 attrs: { 9805 valign: "top", 9806 align: "center", 9807 width: "160" 9808 } 9809 }, [_vm.type == 3 ? _c("image-newsletter", { 9810 attrs: { 9811 link: _vm.linkurl, 9812 filename: _vm.hasImage, 9813 visible: 1, 9814 id: _vm.hash, 9815 type: _vm.type 9816 }, 9817 on: { 9818 imageUploaded: _vm.imageUploadedUpdate 9819 } 9820 }) : _vm._e(), _vm._v(" "), _vm.categorie ? _c("img", { 9821 staticClass: "img-responsive", 9822 attrs: { 9823 src: _vm.imgcategorie 9824 } 9825 }) : _vm._e()], 1) : _vm._e()])])]); 9826}; 9827var staticRenderFns = []; 9828render._withStripped = true; 9829 9830 9831/***/ }), 9832 9833/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=template&id=a932f0f4&": 9834/*!***************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 9835 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=template&id=a932f0f4& ***! 9836 \***************************************************************************************************************************************************************************************************************************************************************************************************************/ 9837/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 9838 9839"use strict"; 9840__webpack_require__.r(__webpack_exports__); 9841/* harmony export */ __webpack_require__.d(__webpack_exports__, { 9842/* harmony export */ render: () => (/* binding */ render), 9843/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 9844/* harmony export */ }); 9845var render = function render() { 9846 var _vm = this, 9847 _c = _vm._self._c; 9848 return _c("div", [_c("table", { 9849 staticClass: "resetTable", 9850 attrs: { 9851 border: "0", 9852 width: "560", 9853 align: "center", 9854 cellpadding: "0", 9855 cellspacing: "0" 9856 } 9857 }, [_c("tr", { 9858 attrs: { 9859 align: "center" 9860 } 9861 }, [_c("td", { 9862 staticClass: "resetMarge" 9863 }, _vm._l(_vm.analyses, function (analyse) { 9864 return _c("table", { 9865 staticClass: "tableReset contentForm", 9866 attrs: { 9867 border: "0", 9868 width: "560", 9869 align: "center", 9870 cellpadding: "0", 9871 cellspacing: "0" 9872 } 9873 }, [_c("tr", [_c("td", { 9874 staticClass: "resetMarge contentForm", 9875 attrs: { 9876 valign: "top", 9877 align: "center", 9878 width: "375" 9879 } 9880 }, [_c("h3", { 9881 staticStyle: { 9882 "text-align": "left", 9883 "font-family": "sans-serif" 9884 } 9885 }, [_vm._v("\n " + _vm._s(_vm.title) + " de l'arrêt " + _vm._s(_vm.arret.reference) + "\n ")]), _vm._v(" "), _vm._l(analyse.auteurs, function (author) { 9886 return _c("table", { 9887 staticClass: "resetTable", 9888 attrs: { 9889 border: "0", 9890 width: "375", 9891 align: "left", 9892 cellpadding: "0", 9893 cellspacing: "0" 9894 } 9895 }, [_c("tr", [_c("td", { 9896 staticClass: "resetMarge", 9897 attrs: { 9898 valign: "top", 9899 width: "60" 9900 } 9901 }, [_c("img", { 9902 staticStyle: { 9903 width: "60px" 9904 }, 9905 attrs: { 9906 width: "60", 9907 border: "0", 9908 alt: author.name, 9909 src: author.author_photo 9910 } 9911 })]), _vm._v(" "), _c("td", { 9912 staticClass: "resetMarge", 9913 attrs: { 9914 valign: "top", 9915 width: "10" 9916 } 9917 }), _vm._v(" "), _c("td", { 9918 staticClass: "resetMarge", 9919 attrs: { 9920 valign: "top", 9921 width: "305" 9922 } 9923 }, [_c("h3", [_vm._v(_vm._s(author.name))]), _vm._v(" "), _c("p", { 9924 domProps: { 9925 innerHTML: _vm._s(author.occupation) 9926 } 9927 })])]), _vm._v(" "), _vm._m(0, true)]); 9928 }), _vm._v(" "), _c("p", { 9929 staticClass: "abstract" 9930 }, [_vm._v(_vm._s(analyse["abstract"]))]), _vm._v(" "), _vm._m(1, true)], 2), _vm._v(" "), _c("td", { 9931 staticClass: "resetMarge", 9932 attrs: { 9933 width: "25" 9934 } 9935 }), _vm._v(" "), _c("td", { 9936 staticClass: "resetMarge", 9937 attrs: { 9938 align: "center", 9939 valign: "top", 9940 width: "160" 9941 } 9942 }, [_c("a", { 9943 attrs: { 9944 target: "_blank", 9945 href: "#" 9946 } 9947 }, [_c("img", { 9948 staticStyle: { 9949 "max-width": "130px" 9950 }, 9951 attrs: { 9952 border: "0", 9953 alt: "Analyses", 9954 src: analyse.path 9955 } 9956 })])])]), _vm._v(" "), _vm._m(2, true)]); 9957 }), 0)])])]); 9958}; 9959var staticRenderFns = [function () { 9960 var _vm = this, 9961 _c = _vm._self._c; 9962 return _c("tr", { 9963 attrs: { 9964 bgcolor: "ffffff" 9965 } 9966 }, [_c("td", { 9967 attrs: { 9968 colspan: "3", 9969 height: "15" 9970 } 9971 })]); 9972}, function () { 9973 var _vm = this, 9974 _c = _vm._self._c; 9975 return _c("p", [_c("a", { 9976 attrs: { 9977 href: "#" 9978 } 9979 }, [_vm._v("Télécharger en pdf")])]); 9980}, function () { 9981 var _vm = this, 9982 _c = _vm._self._c; 9983 return _c("tr", { 9984 attrs: { 9985 bgcolor: "ffffff" 9986 } 9987 }, [_c("td", { 9988 attrs: { 9989 colspan: "3", 9990 height: "25" 9991 } 9992 })]); 9993}]; 9994render._withStripped = true; 9995 9996 9997/***/ }), 9998 9999/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=template&id=980be224&": 10000/*!*************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 10001 !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=template&id=980be224& ***! 10002 \*************************************************************************************************************************************************************************************************************************************************************************************************************/ 10003/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 10004 10005"use strict"; 10006__webpack_require__.r(__webpack_exports__); 10007/* harmony export */ __webpack_require__.d(__webpack_exports__, { 10008/* harmony export */ render: () => (/* binding */ render), 10009/* harmony export */ staticRenderFns: () => (/* binding */ staticRenderFns) 10010/* harmony export */ }); 10011var render = function render() { 10012 var _vm = this, 10013 _c = _vm._self._c; 10014 return _c("div", [!_vm.image && _vm.visible ? _c("div", { 10015 staticClass: "upload-btn-wrapper" 10016 }, [_c("image-uploader", { 10017 attrs: { 10018 wrapper: false, 10019 id: _vm.id, 10020 name: "file" 10021 }, 10022 on: { 10023 imageChoosen: _vm.imageChoosenSelect 10024 } 10025 })], 1) : _vm._e(), _vm._v(" "), !_vm.image && _vm.visible ? _c("div", { 10026 staticClass: "upload-btn-wrapper" 10027 }, [_c("button", { 10028 staticClass: "btn btn-info btn-xs" 10029 }, [_vm._v("Télécharger image")]), _vm._v(" "), _c("input", { 10030 staticClass: "form-control", 10031 attrs: { 10032 type: "file" 10033 }, 10034 on: { 10035 change: _vm.onFileChange 10036 } 10037 })]) : _vm._e(), _vm._v(" "), _c("div", { 10038 staticClass: "responsive-newsletter" 10039 }, [_vm.image ? _c("div", [_c("a", { 10040 attrs: { 10041 href: _vm.link 10042 } 10043 }, [_c("img", { 10044 staticClass: "img-responsive", 10045 attrs: { 10046 width: _vm.sizeImage, 10047 src: _vm.image 10048 } 10049 })])]) : _vm._e(), _vm._v(" "), !_vm.image ? _c("div", [_c("img", { 10050 attrs: { 10051 src: _vm.size 10052 } 10053 })]) : _vm._e()]), _vm._v(" "), _vm.visible ? _c("div", { 10054 staticClass: "btn-remove" 10055 }, [_vm.image ? _c("button", { 10056 staticClass: "btn btn-success btn-xs", 10057 on: { 10058 click: _vm.remove 10059 } 10060 }, [_vm._v("Changer l'image")]) : _vm._e(), _vm._v(" "), _vm.isRemoved ? _c("button", { 10061 staticClass: "btn btn-danger btn-xs", 10062 on: { 10063 click: _vm.cancel 10064 } 10065 }, [_vm._v("Annuler")]) : _vm._e()]) : _vm._e()]); 10066}; 10067var staticRenderFns = []; 10068render._withStripped = true; 10069 10070 10071/***/ }), 10072
10073/***/ "./resources/assets/js/bootstrap.js": 10074/*!******************************************!*\ 10075 !*** ./resources/assets/js/bootstrap.js ***! 10076 \******************************************/ 10077/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { 10078 10079window._ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); 10080 10081/** 10082 * We'll load jQuery and the Bootstrap jQuery plugin which provides support 10083 * for JavaScript based Bootstrap features such as modals and tabs. This 10084 * code may be modified to fit the specific needs of your application. 10085 */ 10086 10087/*try { 10088 window.$ = window.jQuery = require('jquery'); 10089 10090 require('bootstrap-sass'); 10091 } catch (e) {}*/ 10092 10093/** 10094 * We'll load the axios HTTP library which allows us to easily issue requests 10095 * to our Laravel back-end. This library automatically handles sending the 10096 * CSRF token as a header based on the value of the "XSRF" token cookie. 10097 */ 10098 10099window.axios = __webpack_require__(/*! axios */ "./node_modules/axios/dist/browser/axios.cjs"); 10100window.axios.defaults.headers.common['X-CSRF-TOKEN'] = window.Laravel.csrfToken; 10101window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 10102 10103/** 10104 * Echo exposes an expressive API for subscribing to channels and listening 10105 * for events that are broadcast by Laravel. Echo and event broadcasting 10106 * allows your team to easily build robust real-time web applications. 10107 */ 10108 10109// import Echo from 'laravel-echo' 10110 10111// window.Pusher = require('pusher-js'); 10112 10113// window.Echo = new Echo({ 10114// broadcaster: 'pusher', 10115// key: 'your-pusher-key' 10116// }); 10117 10118/***/ }), 10119
vendor: 4,178 bytes, lines 10120-10280
10120/***/ "./node_modules/base64-js/index.js": 10121/*!*****************************************!*\ 10122 !*** ./node_modules/base64-js/index.js ***! 10123 \*****************************************/ 10124/***/ ((__unused_webpack_module, exports) => { 10125 10126"use strict"; 10127 10128 10129exports.byteLength = byteLength 10130exports.toByteArray = toByteArray 10131exports.fromByteArray = fromByteArray 10132 10133var lookup = [] 10134var revLookup = [] 10135var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array 10136 10137var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' 10138for (var i = 0, len = code.length; i < len; ++i) { 10139 lookup[i] = code[i] 10140 revLookup[code.charCodeAt(i)] = i 10141} 10142 10143// Support decoding URL-safe base64 strings, as Node.js does. 10144// See: https://en.wikipedia.org/wiki/Base64#URL_applications 10145revLookup['-'.charCodeAt(0)] = 62 10146revLookup['_'.charCodeAt(0)] = 63 10147 10148function getLens (b64) { 10149 var len = b64.length 10150 10151 if (len % 4 > 0) { 10152 throw new Error('Invalid string. Length must be a multiple of 4') 10153 } 10154 10155 // Trim off extra bytes after placeholder bytes are found 10156 // See: https://github.com/beatgammit/base64-js/issues/42 10157 var validLen = b64.indexOf('=') 10158 if (validLen === -1) validLen = len 10159 10160 var placeHoldersLen = validLen === len 10161 ? 0 10162 : 4 - (validLen % 4) 10163 10164 return [validLen, placeHoldersLen] 10165} 10166 10167// base64 is 4/3 + up to two characters of the original data 10168function byteLength (b64) { 10169 var lens = getLens(b64) 10170 var validLen = lens[0] 10171 var placeHoldersLen = lens[1] 10172 return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen 10173} 10174 10175function _byteLength (b64, validLen, placeHoldersLen) { 10176 return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen 10177} 10178 10179function toByteArray (b64) { 10180 var tmp 10181 var lens = getLens(b64) 10182 var validLen = lens[0] 10183 var placeHoldersLen = lens[1] 10184 10185 var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) 10186 10187 var curByte = 0 10188 10189 // if there are placeholders, only get up to the last complete 4 chars 10190 var len = placeHoldersLen > 0 10191 ? validLen - 4 10192 : validLen 10193 10194 var i 10195 for (i = 0; i < len; i += 4) { 10196 tmp = 10197 (revLookup[b64.charCodeAt(i)] << 18) | 10198 (revLookup[b64.charCodeAt(i + 1)] << 12) | 10199 (revLookup[b64.charCodeAt(i + 2)] << 6) | 10200 revLookup[b64.charCodeAt(i + 3)] 10201 arr[curByte++] = (tmp >> 16) & 0xFF 10202 arr[curByte++] = (tmp >> 8) & 0xFF 10203 arr[curByte++] = tmp & 0xFF 10204 } 10205 10206 if (placeHoldersLen === 2) { 10207 tmp = 10208 (revLookup[b64.charCodeAt(i)] << 2) | 10209 (revLookup[b64.charCodeAt(i + 1)] >> 4) 10210 arr[curByte++] = tmp & 0xFF 10211 } 10212 10213 if (placeHoldersLen === 1) { 10214 tmp = 10215 (revLookup[b64.charCodeAt(i)] << 10) | 10216 (revLookup[b64.charCodeAt(i + 1)] << 4) | 10217 (revLookup[b64.charCodeAt(i + 2)] >> 2) 10218 arr[curByte++] = (tmp >> 8) & 0xFF 10219 arr[curByte++] = tmp & 0xFF 10220 } 10221 10222 return arr 10223} 10224 10225function tripletToBase64 (num) { 10226 return lookup[num >> 18 & 0x3F] + 10227 lookup[num >> 12 & 0x3F] + 10228 lookup[num >> 6 & 0x3F] + 10229 lookup[num & 0x3F] 10230} 10231 10232function encodeChunk (uint8, start, end) { 10233 var tmp 10234 var output = [] 10235 for (var i = start; i < end; i += 3) { 10236 tmp = 10237 ((uint8[i] << 16) & 0xFF0000) + 10238 ((uint8[i + 1] << 8) & 0xFF00) + 10239 (uint8[i + 2] & 0xFF) 10240 output.push(tripletToBase64(tmp)) 10241 } 10242 return output.join('') 10243} 10244 10245function fromByteArray (uint8) { 10246 var tmp 10247 var len = uint8.length 10248 var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes 10249 var parts = [] 10250 var maxChunkLength = 16383 // must be multiple of 3 10251 10252 // go through the array every three bytes, we'll deal with trailing stuff later 10253 for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { 10254 parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) 10255 } 10256 10257 // pad the end with zeros, but make sure to not forget the extra bytes 10258 if (extraBytes === 1) { 10259 tmp = uint8[len - 1] 10260 parts.push( 10261 lookup[tmp >> 2] + 10262 lookup[(tmp << 4) & 0x3F] + 10263 '==' 10264 ) 10265 } else if (extraBytes === 2) { 10266 tmp = (uint8[len - 2] << 8) + uint8[len - 1] 10267 parts.push( 10268 lookup[tmp >> 10] + 10269 lookup[(tmp >> 4) & 0x3F] + 10270 lookup[(tmp << 2) & 0x3F] + 10271 '=' 10272 ) 10273 } 10274 10275 return parts.join('') 10276} 10277 10278 10279/***/ }), 10280
vendor: 49,030 bytes, lines 10281-12080
10281/***/ "./node_modules/buffer/index.js": 10282/*!**************************************!*\ 10283 !*** ./node_modules/buffer/index.js ***! 10284 \**************************************/ 10285/***/ ((__unused_webpack_module, exports, __webpack_require__) => { 10286 10287"use strict"; 10288/*! 10289 * The buffer module from node.js, for the browser. 10290 * 10291 * @author Feross Aboukhadijeh <http://feross.org> 10292 * @license MIT 10293 */ 10294/* eslint-disable no-proto */ 10295 10296 10297 10298var base64 = __webpack_require__(/*! base64-js */ "./node_modules/base64-js/index.js") 10299var ieee754 = __webpack_require__(/*! ieee754 */ "./node_modules/ieee754/index.js") 10300var isArray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js") 10301 10302exports.Buffer = Buffer 10303exports.SlowBuffer = SlowBuffer 10304exports.INSPECT_MAX_BYTES = 50 10305 10306/** 10307 * If `Buffer.TYPED_ARRAY_SUPPORT`: 10308 * === true Use Uint8Array implementation (fastest) 10309 * === false Use Object implementation (most compatible, even IE6) 10310 * 10311 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, 10312 * Opera 11.6+, iOS 4.2+. 10313 * 10314 * Due to various browser bugs, sometimes the Object implementation will be used even 10315 * when the browser supports typed arrays. 10316 * 10317 * Note: 10318 * 10319 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, 10320 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. 10321 * 10322 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. 10323 * 10324 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of 10325 * incorrect length in some situations. 10326 10327 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they 10328 * get the Object implementation, which is slower but behaves correctly. 10329 */ 10330Buffer.TYPED_ARRAY_SUPPORT = __webpack_require__.g.TYPED_ARRAY_SUPPORT !== undefined 10331 ? __webpack_require__.g.TYPED_ARRAY_SUPPORT 10332 : typedArraySupport() 10333 10334/* 10335 * Export kMaxLength after typed array support is determined. 10336 */ 10337exports.kMaxLength = kMaxLength() 10338 10339function typedArraySupport () { 10340 try { 10341 var arr = new Uint8Array(1) 10342 arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} 10343 return arr.foo() === 42 && // typed array instances can be augmented 10344 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` 10345 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` 10346 } catch (e) { 10347 return false 10348 } 10349} 10350 10351function kMaxLength () { 10352 return Buffer.TYPED_ARRAY_SUPPORT 10353 ? 0x7fffffff 10354 : 0x3fffffff 10355} 10356 10357function createBuffer (that, length) { 10358 if (kMaxLength() < length) { 10359 throw new RangeError('Invalid typed array length') 10360 } 10361 if (Buffer.TYPED_ARRAY_SUPPORT) { 10362 // Return an augmented `Uint8Array` instance, for best performance 10363 that = new Uint8Array(length) 10364 that.__proto__ = Buffer.prototype 10365 } else { 10366 // Fallback: Return an object instance of the Buffer class 10367 if (that === null) { 10368 that = new Buffer(length) 10369 } 10370 that.length = length 10371 } 10372 10373 return that 10374} 10375 10376/** 10377 * The Buffer constructor returns instances of `Uint8Array` that have their 10378 * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of 10379 * `Uint8Array`, so the returned instances will have all the node `Buffer` methods 10380 * and the `Uint8Array` methods. Square bracket notation works as expected -- it 10381 * returns a single octet. 10382 * 10383 * The `Uint8Array` prototype remains unmodified. 10384 */ 10385 10386function Buffer (arg, encodingOrOffset, length) { 10387 if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { 10388 return new Buffer(arg, encodingOrOffset, length) 10389 } 10390 10391 // Common case. 10392 if (typeof arg === 'number') { 10393 if (typeof encodingOrOffset === 'string') { 10394 throw new Error( 10395 'If encoding is specified then the first argument must be a string' 10396 ) 10397 } 10398 return allocUnsafe(this, arg) 10399 } 10400 return from(this, arg, encodingOrOffset, length) 10401} 10402 10403Buffer.poolSize = 8192 // not used by this implementation 10404 10405// TODO: Legacy, not needed anymore. Remove in next major version. 10406Buffer._augment = function (arr) { 10407 arr.__proto__ = Buffer.prototype 10408 return arr 10409} 10410 10411function from (that, value, encodingOrOffset, length) { 10412 if (typeof value === 'number') { 10413 throw new TypeError('"value" argument must not be a number') 10414 } 10415 10416 if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { 10417 return fromArrayBuffer(that, value, encodingOrOffset, length) 10418 } 10419 10420 if (typeof value === 'string') { 10421 return fromString(that, value, encodingOrOffset) 10422 } 10423 10424 return fromObject(that, value) 10425} 10426 10427/** 10428 * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError 10429 * if value is a number. 10430 * Buffer.from(str[, encoding]) 10431 * Buffer.from(array) 10432 * Buffer.from(buffer) 10433 * Buffer.from(arrayBuffer[, byteOffset[, length]]) 10434 **/ 10435Buffer.from = function (value, encodingOrOffset, length) { 10436 return from(null, value, encodingOrOffset, length) 10437} 10438 10439if (Buffer.TYPED_ARRAY_SUPPORT) { 10440 Buffer.prototype.__proto__ = Uint8Array.prototype 10441 Buffer.__proto__ = Uint8Array 10442 if (typeof Symbol !== 'undefined' && Symbol.species && 10443 Buffer[Symbol.species] === Buffer) { 10444 // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 10445 Object.defineProperty(Buffer, Symbol.species, { 10446 value: null, 10447 configurable: true 10448 }) 10449 } 10450} 10451 10452function assertSize (size) { 10453 if (typeof size !== 'number') { 10454 throw new TypeError('"size" argument must be a number') 10455 } else if (size < 0) { 10456 throw new RangeError('"size" argument must not be negative') 10457 } 10458} 10459 10460function alloc (that, size, fill, encoding) { 10461 assertSize(size) 10462 if (size <= 0) { 10463 return createBuffer(that, size) 10464 } 10465 if (fill !== undefined) { 10466 // Only pay attention to encoding if it's a string. This 10467 // prevents accidentally sending in a number that would 10468 // be interpretted as a start offset. 10469 return typeof encoding === 'string' 10470 ? createBuffer(that, size).fill(fill, encoding) 10471 : createBuffer(that, size).fill(fill) 10472 } 10473 return createBuffer(that, size) 10474} 10475 10476/** 10477 * Creates a new filled Buffer instance. 10478 * alloc(size[, fill[, encoding]]) 10479 **/ 10480Buffer.alloc = function (size, fill, encoding) { 10481 return alloc(null, size, fill, encoding) 10482} 10483 10484function allocUnsafe (that, size) { 10485 assertSize(size) 10486 that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) 10487 if (!Buffer.TYPED_ARRAY_SUPPORT) { 10488 for (var i = 0; i < size; ++i) { 10489 that[i] = 0 10490 } 10491 } 10492 return that 10493} 10494 10495/** 10496 * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. 10497 * */ 10498Buffer.allocUnsafe = function (size) { 10499 return allocUnsafe(null, size) 10500} 10501/** 10502 * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. 10503 */ 10504Buffer.allocUnsafeSlow = function (size) { 10505 return allocUnsafe(null, size) 10506} 10507 10508function fromString (that, string, encoding) { 10509 if (typeof encoding !== 'string' || encoding === '') { 10510 encoding = 'utf8' 10511 } 10512 10513 if (!Buffer.isEncoding(encoding)) { 10514 throw new TypeError('"encoding" must be a valid string encoding') 10515 } 10516 10517 var length = byteLength(string, encoding) | 0 10518 that = createBuffer(that, length) 10519 10520 var actual = that.write(string, encoding) 10521 10522 if (actual !== length) { 10523 // Writing a hex string, for example, that contains invalid characters will 10524 // cause everything after the first invalid character to be ignored. (e.g. 10525 // 'abxxcd' will be treated as 'ab') 10526 that = that.slice(0, actual) 10527 } 10528 10529 return that 10530} 10531 10532function fromArrayLike (that, array) { 10533 var length = array.length < 0 ? 0 : checked(array.length) | 0 10534 that = createBuffer(that, length) 10535 for (var i = 0; i < length; i += 1) { 10536 that[i] = array[i] & 255 10537 } 10538 return that 10539} 10540 10541function fromArrayBuffer (that, array, byteOffset, length) { 10542 array.byteLength // this throws if `array` is not a valid ArrayBuffer 10543 10544 if (byteOffset < 0 || array.byteLength < byteOffset) { 10545 throw new RangeError('\'offset\' is out of bounds') 10546 } 10547 10548 if (array.byteLength < byteOffset + (length || 0)) { 10549 throw new RangeError('\'length\' is out of bounds') 10550 } 10551 10552 if (byteOffset === undefined && length === undefined) { 10553 array = new Uint8Array(array) 10554 } else if (length === undefined) { 10555 array = new Uint8Array(array, byteOffset) 10556 } else { 10557 array = new Uint8Array(array, byteOffset, length) 10558 } 10559 10560 if (Buffer.TYPED_ARRAY_SUPPORT) { 10561 // Return an augmented `Uint8Array` instance, for best performance 10562 that = array 10563 that.__proto__ = Buffer.prototype 10564 } else { 10565 // Fallback: Return an object instance of the Buffer class 10566 that = fromArrayLike(that, array) 10567 } 10568 return that 10569} 10570 10571function fromObject (that, obj) { 10572 if (Buffer.isBuffer(obj)) { 10573 var len = checked(obj.length) | 0 10574 that = createBuffer(that, len) 10575 10576 if (that.length === 0) { 10577 return that 10578 } 10579 10580 obj.copy(that, 0, 0, len) 10581 return that 10582 } 10583 10584 if (obj) { 10585 if ((typeof ArrayBuffer !== 'undefined' && 10586 obj.buffer instanceof ArrayBuffer) || 'length' in obj) { 10587 if (typeof obj.length !== 'number' || isnan(obj.length)) { 10588 return createBuffer(that, 0) 10589 } 10590 return fromArrayLike(that, obj) 10591 } 10592 10593 if (obj.type === 'Buffer' && isArray(obj.data)) { 10594 return fromArrayLike(that, obj.data) 10595 } 10596 } 10597 10598 throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') 10599} 10600 10601function checked (length) { 10602 // Note: cannot use `length < kMaxLength()` here because that fails when 10603 // length is NaN (which is otherwise coerced to zero.) 10604 if (length >= kMaxLength()) { 10605 throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 10606 'size: 0x' + kMaxLength().toString(16) + ' bytes') 10607 } 10608 return length | 0 10609} 10610 10611function SlowBuffer (length) { 10612 if (+length != length) { // eslint-disable-line eqeqeq 10613 length = 0 10614 } 10615 return Buffer.alloc(+length) 10616} 10617 10618Buffer.isBuffer = function isBuffer (b) { 10619 return !!(b != null && b._isBuffer) 10620} 10621 10622Buffer.compare = function compare (a, b) { 10623 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { 10624 throw new TypeError('Arguments must be Buffers') 10625 } 10626 10627 if (a === b) return 0 10628 10629 var x = a.length 10630 var y = b.length 10631 10632 for (var i = 0, len = Math.min(x, y); i < len; ++i) { 10633 if (a[i] !== b[i]) { 10634 x = a[i] 10635 y = b[i] 10636 break 10637 } 10638 } 10639 10640 if (x < y) return -1 10641 if (y < x) return 1 10642 return 0 10643} 10644 10645Buffer.isEncoding = function isEncoding (encoding) { 10646 switch (String(encoding).toLowerCase()) { 10647 case 'hex': 10648 case 'utf8': 10649 case 'utf-8': 10650 case 'ascii': 10651 case 'latin1': 10652 case 'binary': 10653 case 'base64': 10654 case 'ucs2': 10655 case 'ucs-2': 10656 case 'utf16le': 10657 case 'utf-16le': 10658 return true 10659 default: 10660 return false 10661 } 10662} 10663 10664Buffer.concat = function concat (list, length) { 10665 if (!isArray(list)) { 10666 throw new TypeError('"list" argument must be an Array of Buffers') 10667 } 10668 10669 if (list.length === 0) { 10670 return Buffer.alloc(0) 10671 } 10672 10673 var i 10674 if (length === undefined) { 10675 length = 0 10676 for (i = 0; i < list.length; ++i) { 10677 length += list[i].length 10678 } 10679 } 10680 10681 var buffer = Buffer.allocUnsafe(length) 10682 var pos = 0 10683 for (i = 0; i < list.length; ++i) { 10684 var buf = list[i] 10685 if (!Buffer.isBuffer(buf)) { 10686 throw new TypeError('"list" argument must be an Array of Buffers') 10687 } 10688 buf.copy(buffer, pos) 10689 pos += buf.length 10690 } 10691 return buffer 10692} 10693 10694function byteLength (string, encoding) { 10695 if (Buffer.isBuffer(string)) { 10696 return string.length 10697 } 10698 if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && 10699 (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { 10700 return string.byteLength 10701 } 10702 if (typeof string !== 'string') { 10703 string = '' + string 10704 } 10705 10706 var len = string.length 10707 if (len === 0) return 0 10708 10709 // Use a for loop to avoid recursion 10710 var loweredCase = false 10711 for (;;) { 10712 switch (encoding) { 10713 case 'ascii': 10714 case 'latin1': 10715 case 'binary': 10716 return len 10717 case 'utf8': 10718 case 'utf-8': 10719 case undefined: 10720 return utf8ToBytes(string).length 10721 case 'ucs2': 10722 case 'ucs-2': 10723 case 'utf16le': 10724 case 'utf-16le': 10725 return len * 2 10726 case 'hex': 10727 return len >>> 1 10728 case 'base64': 10729 return base64ToBytes(string).length 10730 default: 10731 if (loweredCase) return utf8ToBytes(string).length // assume utf8 10732 encoding = ('' + encoding).toLowerCase() 10733 loweredCase = true 10734 } 10735 } 10736} 10737Buffer.byteLength = byteLength 10738 10739function slowToString (encoding, start, end) { 10740 var loweredCase = false 10741 10742 // No need to verify that "this.length <= MAX_UINT32" since it's a read-only 10743 // property of a typed array. 10744 10745 // This behaves neither like String nor Uint8Array in that we set start/end 10746 // to their upper/lower bounds if the value passed is out of range. 10747 // undefined is handled specially as per ECMA-262 6th Edition, 10748 // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. 10749 if (start === undefined || start < 0) { 10750 start = 0 10751 } 10752 // Return early if start > this.length. Done here to prevent potential uint32 10753 // coercion fail below. 10754 if (start > this.length) { 10755 return '' 10756 } 10757 10758 if (end === undefined || end > this.length) { 10759 end = this.length 10760 } 10761 10762 if (end <= 0) { 10763 return '' 10764 } 10765 10766 // Force coersion to uint32. This will also coerce falsey/NaN values to 0. 10767 end >>>= 0 10768 start >>>= 0 10769 10770 if (end <= start) { 10771 return '' 10772 } 10773 10774 if (!encoding) encoding = 'utf8' 10775 10776 while (true) { 10777 switch (encoding) { 10778 case 'hex': 10779 return hexSlice(this, start, end) 10780 10781 case 'utf8': 10782 case 'utf-8': 10783 return utf8Slice(this, start, end) 10784 10785 case 'ascii': 10786 return asciiSlice(this, start, end) 10787 10788 case 'latin1': 10789 case 'binary': 10790 return latin1Slice(this, start, end) 10791 10792 case 'base64': 10793 return base64Slice(this, start, end) 10794 10795 case 'ucs2': 10796 case 'ucs-2': 10797 case 'utf16le': 10798 case 'utf-16le': 10799 return utf16leSlice(this, start, end) 10800 10801 default: 10802 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) 10803 encoding = (encoding + '').toLowerCase() 10804 loweredCase = true 10805 } 10806 } 10807} 10808 10809// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect 10810// Buffer instances. 10811Buffer.prototype._isBuffer = true 10812 10813function swap (b, n, m) { 10814 var i = b[n] 10815 b[n] = b[m] 10816 b[m] = i 10817} 10818 10819Buffer.prototype.swap16 = function swap16 () { 10820 var len = this.length 10821 if (len % 2 !== 0) { 10822 throw new RangeError('Buffer size must be a multiple of 16-bits') 10823 } 10824 for (var i = 0; i < len; i += 2) { 10825 swap(this, i, i + 1) 10826 } 10827 return this 10828} 10829 10830Buffer.prototype.swap32 = function swap32 () { 10831 var len = this.length 10832 if (len % 4 !== 0) { 10833 throw new RangeError('Buffer size must be a multiple of 32-bits') 10834 } 10835 for (var i = 0; i < len; i += 4) { 10836 swap(this, i, i + 3) 10837 swap(this, i + 1, i + 2) 10838 } 10839 return this 10840} 10841 10842Buffer.prototype.swap64 = function swap64 () { 10843 var len = this.length 10844 if (len % 8 !== 0) { 10845 throw new RangeError('Buffer size must be a multiple of 64-bits') 10846 } 10847 for (var i = 0; i < len; i += 8) { 10848 swap(this, i, i + 7) 10849 swap(this, i + 1, i + 6) 10850 swap(this, i + 2, i + 5) 10851 swap(this, i + 3, i + 4) 10852 } 10853 return this 10854} 10855 10856Buffer.prototype.toString = function toString () { 10857 var length = this.length | 0 10858 if (length === 0) return '' 10859 if (arguments.length === 0) return utf8Slice(this, 0, length) 10860 return slowToString.apply(this, arguments) 10861} 10862 10863Buffer.prototype.equals = function equals (b) { 10864 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') 10865 if (this === b) return true 10866 return Buffer.compare(this, b) === 0 10867} 10868 10869Buffer.prototype.inspect = function inspect () { 10870 var str = '' 10871 var max = exports.INSPECT_MAX_BYTES 10872 if (this.length > 0) { 10873 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') 10874 if (this.length > max) str += ' ... ' 10875 } 10876 return '<Buffer ' + str + '>' 10877} 10878 10879Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { 10880 if (!Buffer.isBuffer(target)) { 10881 throw new TypeError('Argument must be a Buffer') 10882 } 10883 10884 if (start === undefined) { 10885 start = 0 10886 } 10887 if (end === undefined) { 10888 end = target ? target.length : 0 10889 } 10890 if (thisStart === undefined) { 10891 thisStart = 0 10892 } 10893 if (thisEnd === undefined) { 10894 thisEnd = this.length 10895 } 10896 10897 if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { 10898 throw new RangeError('out of range index') 10899 } 10900 10901 if (thisStart >= thisEnd && start >= end) { 10902 return 0 10903 } 10904 if (thisStart >= thisEnd) { 10905 return -1 10906 } 10907 if (start >= end) { 10908 return 1 10909 } 10910 10911 start >>>= 0 10912 end >>>= 0 10913 thisStart >>>= 0 10914 thisEnd >>>= 0 10915 10916 if (this === target) return 0 10917 10918 var x = thisEnd - thisStart 10919 var y = end - start 10920 var len = Math.min(x, y) 10921 10922 var thisCopy = this.slice(thisStart, thisEnd) 10923 var targetCopy = target.slice(start, end) 10924 10925 for (var i = 0; i < len; ++i) { 10926 if (thisCopy[i] !== targetCopy[i]) { 10927 x = thisCopy[i] 10928 y = targetCopy[i] 10929 break 10930 } 10931 } 10932 10933 if (x < y) return -1 10934 if (y < x) return 1 10935 return 0 10936} 10937 10938// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, 10939// OR the last index of `val` in `buffer` at offset <= `byteOffset`. 10940// 10941// Arguments: 10942// - buffer - a Buffer to search 10943// - val - a string, Buffer, or number 10944// - byteOffset - an index into `buffer`; will be clamped to an int32 10945// - encoding - an optional encoding, relevant is val is a string 10946// - dir - true for indexOf, false for lastIndexOf 10947function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { 10948 // Empty buffer means no match 10949 if (buffer.length === 0) return -1 10950 10951 // Normalize byteOffset 10952 if (typeof byteOffset === 'string') { 10953 encoding = byteOffset 10954 byteOffset = 0 10955 } else if (byteOffset > 0x7fffffff) { 10956 byteOffset = 0x7fffffff 10957 } else if (byteOffset < -0x80000000) { 10958 byteOffset = -0x80000000 10959 } 10960 byteOffset = +byteOffset // Coerce to Number. 10961 if (isNaN(byteOffset)) { 10962 // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer 10963 byteOffset = dir ? 0 : (buffer.length - 1) 10964 } 10965 10966 // Normalize byteOffset: negative offsets start from the end of the buffer 10967 if (byteOffset < 0) byteOffset = buffer.length + byteOffset 10968 if (byteOffset >= buffer.length) { 10969 if (dir) return -1 10970 else byteOffset = buffer.length - 1 10971 } else if (byteOffset < 0) { 10972 if (dir) byteOffset = 0 10973 else return -1 10974 } 10975 10976 // Normalize val 10977 if (typeof val === 'string') { 10978 val = Buffer.from(val, encoding) 10979 } 10980 10981 // Finally, search either indexOf (if dir is true) or lastIndexOf 10982 if (Buffer.isBuffer(val)) { 10983 // Special case: looking for empty string/buffer always fails 10984 if (val.length === 0) { 10985 return -1 10986 } 10987 return arrayIndexOf(buffer, val, byteOffset, encoding, dir) 10988 } else if (typeof val === 'number') { 10989 val = val & 0xFF // Search for a byte value [0-255] 10990 if (Buffer.TYPED_ARRAY_SUPPORT && 10991 typeof Uint8Array.prototype.indexOf === 'function') { 10992 if (dir) { 10993 return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) 10994 } else { 10995 return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) 10996 } 10997 } 10998 return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) 10999 } 11000 11001 throw new TypeError('val must be string, number or Buffer') 11002} 11003 11004function arrayIndexOf (arr, val, byteOffset, encoding, dir) { 11005 var indexSize = 1 11006 var arrLength = arr.length 11007 var valLength = val.length 11008 11009 if (encoding !== undefined) { 11010 encoding = String(encoding).toLowerCase() 11011 if (encoding === 'ucs2' || encoding === 'ucs-2' || 11012 encoding === 'utf16le' || encoding === 'utf-16le') { 11013 if (arr.length < 2 || val.length < 2) { 11014 return -1 11015 } 11016 indexSize = 2 11017 arrLength /= 2 11018 valLength /= 2 11019 byteOffset /= 2 11020 } 11021 } 11022 11023 function read (buf, i) { 11024 if (indexSize === 1) { 11025 return buf[i] 11026 } else { 11027 return buf.readUInt16BE(i * indexSize) 11028 } 11029 } 11030 11031 var i 11032 if (dir) { 11033 var foundIndex = -1 11034 for (i = byteOffset; i < arrLength; i++) { 11035 if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { 11036 if (foundIndex === -1) foundIndex = i 11037 if (i - foundIndex + 1 === valLength) return foundIndex * indexSize 11038 } else { 11039 if (foundIndex !== -1) i -= i - foundIndex 11040 foundIndex = -1 11041 } 11042 } 11043 } else { 11044 if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength 11045 for (i = byteOffset; i >= 0; i--) { 11046 var found = true 11047 for (var j = 0; j < valLength; j++) { 11048 if (read(arr, i + j) !== read(val, j)) { 11049 found = false 11050 break 11051 } 11052 } 11053 if (found) return i 11054 } 11055 } 11056 11057 return -1 11058} 11059 11060Buffer.prototype.includes = function includes (val, byteOffset, encoding) { 11061 return this.indexOf(val, byteOffset, encoding) !== -1 11062} 11063 11064Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { 11065 return bidirectionalIndexOf(this, val, byteOffset, encoding, true) 11066} 11067 11068Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { 11069 return bidirectionalIndexOf(this, val, byteOffset, encoding, false) 11070} 11071 11072function hexWrite (buf, string, offset, length) { 11073 offset = Number(offset) || 0 11074 var remaining = buf.length - offset 11075 if (!length) { 11076 length = remaining 11077 } else { 11078 length = Number(length) 11079 if (length > remaining) { 11080 length = remaining 11081 } 11082 } 11083 11084 // must be an even number of digits 11085 var strLen = string.length 11086 if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') 11087 11088 if (length > strLen / 2) { 11089 length = strLen / 2 11090 } 11091 for (var i = 0; i < length; ++i) { 11092 var parsed = parseInt(string.substr(i * 2, 2), 16) 11093 if (isNaN(parsed)) return i 11094 buf[offset + i] = parsed 11095 } 11096 return i 11097} 11098 11099function utf8Write (buf, string, offset, length) { 11100 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) 11101} 11102 11103function asciiWrite (buf, string, offset, length) { 11104 return blitBuffer(asciiToBytes(string), buf, offset, length) 11105} 11106 11107function latin1Write (buf, string, offset, length) { 11108 return asciiWrite(buf, string, offset, length) 11109} 11110 11111function base64Write (buf, string, offset, length) { 11112 return blitBuffer(base64ToBytes(string), buf, offset, length) 11113} 11114 11115function ucs2Write (buf, string, offset, length) { 11116 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) 11117} 11118 11119Buffer.prototype.write = function write (string, offset, length, encoding) { 11120 // Buffer#write(string) 11121 if (offset === undefined) { 11122 encoding = 'utf8' 11123 length = this.length 11124 offset = 0 11125 // Buffer#write(string, encoding) 11126 } else if (length === undefined && typeof offset === 'string') { 11127 encoding = offset 11128 length = this.length 11129 offset = 0 11130 // Buffer#write(string, offset[, length][, encoding]) 11131 } else if (isFinite(offset)) { 11132 offset = offset | 0 11133 if (isFinite(length)) { 11134 length = length | 0 11135 if (encoding === undefined) encoding = 'utf8' 11136 } else { 11137 encoding = length 11138 length = undefined 11139 } 11140 // legacy write(string, encoding, offset, length) - remove in v0.13 11141 } else { 11142 throw new Error( 11143 'Buffer.write(string, encoding, offset[, length]) is no longer supported' 11144 ) 11145 } 11146 11147 var remaining = this.length - offset 11148 if (length === undefined || length > remaining) length = remaining 11149 11150 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { 11151 throw new RangeError('Attempt to write outside buffer bounds') 11152 } 11153 11154 if (!encoding) encoding = 'utf8' 11155 11156 var loweredCase = false 11157 for (;;) { 11158 switch (encoding) { 11159 case 'hex': 11160 return hexWrite(this, string, offset, length) 11161 11162 case 'utf8': 11163 case 'utf-8': 11164 return utf8Write(this, string, offset, length) 11165 11166 case 'ascii': 11167 return asciiWrite(this, string, offset, length) 11168 11169 case 'latin1': 11170 case 'binary': 11171 return latin1Write(this, string, offset, length) 11172 11173 case 'base64': 11174 // Warning: maxLength not taken into account in base64Write 11175 return base64Write(this, string, offset, length) 11176 11177 case 'ucs2': 11178 case 'ucs-2': 11179 case 'utf16le': 11180 case 'utf-16le': 11181 return ucs2Write(this, string, offset, length) 11182 11183 default: 11184 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) 11185 encoding = ('' + encoding).toLowerCase() 11186 loweredCase = true 11187 } 11188 } 11189} 11190 11191Buffer.prototype.toJSON = function toJSON () { 11192 return { 11193 type: 'Buffer', 11194 data: Array.prototype.slice.call(this._arr || this, 0) 11195 } 11196} 11197 11198function base64Slice (buf, start, end) { 11199 if (start === 0 && end === buf.length) { 11200 return base64.fromByteArray(buf) 11201 } else { 11202 return base64.fromByteArray(buf.slice(start, end)) 11203 } 11204} 11205 11206function utf8Slice (buf, start, end) { 11207 end = Math.min(buf.length, end) 11208 var res = [] 11209 11210 var i = start 11211 while (i < end) { 11212 var firstByte = buf[i] 11213 var codePoint = null 11214 var bytesPerSequence = (firstByte > 0xEF) ? 4 11215 : (firstByte > 0xDF) ? 3 11216 : (firstByte > 0xBF) ? 2 11217 : 1 11218 11219 if (i + bytesPerSequence <= end) { 11220 var secondByte, thirdByte, fourthByte, tempCodePoint 11221 11222 switch (bytesPerSequence) { 11223 case 1: 11224 if (firstByte < 0x80) { 11225 codePoint = firstByte 11226 } 11227 break 11228 case 2: 11229 secondByte = buf[i + 1] 11230 if ((secondByte & 0xC0) === 0x80) { 11231 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) 11232 if (tempCodePoint > 0x7F) { 11233 codePoint = tempCodePoint 11234 } 11235 } 11236 break 11237 case 3: 11238 secondByte = buf[i + 1] 11239 thirdByte = buf[i + 2] 11240 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { 11241 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) 11242 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { 11243 codePoint = tempCodePoint 11244 } 11245 } 11246 break 11247 case 4: 11248 secondByte = buf[i + 1] 11249 thirdByte = buf[i + 2] 11250 fourthByte = buf[i + 3] 11251 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { 11252 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) 11253 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { 11254 codePoint = tempCodePoint 11255 } 11256 } 11257 } 11258 } 11259 11260 if (codePoint === null) { 11261 // we did not generate a valid codePoint so insert a 11262 // replacement char (U+FFFD) and advance only 1 byte 11263 codePoint = 0xFFFD 11264 bytesPerSequence = 1 11265 } else if (codePoint > 0xFFFF) { 11266 // encode to utf16 (surrogate pair dance) 11267 codePoint -= 0x10000 11268 res.push(codePoint >>> 10 & 0x3FF | 0xD800) 11269 codePoint = 0xDC00 | codePoint & 0x3FF 11270 } 11271 11272 res.push(codePoint) 11273 i += bytesPerSequence 11274 } 11275 11276 return decodeCodePointsArray(res) 11277} 11278 11279// Based on http://stackoverflow.com/a/22747272/680742, the browser with 11280// the lowest limit is Chrome, with 0x10000 args. 11281// We go 1 magnitude less, for safety 11282var MAX_ARGUMENTS_LENGTH = 0x1000 11283 11284function decodeCodePointsArray (codePoints) { 11285 var len = codePoints.length 11286 if (len <= MAX_ARGUMENTS_LENGTH) { 11287 return String.fromCharCode.apply(String, codePoints) // avoid extra slice() 11288 } 11289 11290 // Decode in chunks to avoid "call stack size exceeded". 11291 var res = '' 11292 var i = 0 11293 while (i < len) { 11294 res += String.fromCharCode.apply( 11295 String, 11296 codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) 11297 ) 11298 } 11299 return res 11300} 11301 11302function asciiSlice (buf, start, end) { 11303 var ret = '' 11304 end = Math.min(buf.length, end) 11305 11306 for (var i = start; i < end; ++i) { 11307 ret += String.fromCharCode(buf[i] & 0x7F) 11308 } 11309 return ret 11310} 11311 11312function latin1Slice (buf, start, end) { 11313 var ret = '' 11314 end = Math.min(buf.length, end) 11315 11316 for (var i = start; i < end; ++i) { 11317 ret += String.fromCharCode(buf[i]) 11318 } 11319 return ret 11320} 11321 11322function hexSlice (buf, start, end) { 11323 var len = buf.length 11324 11325 if (!start || start < 0) start = 0 11326 if (!end || end < 0 || end > len) end = len 11327 11328 var out = '' 11329 for (var i = start; i < end; ++i) { 11330 out += toHex(buf[i]) 11331 } 11332 return out 11333} 11334 11335function utf16leSlice (buf, start, end) { 11336 var bytes = buf.slice(start, end) 11337 var res = '' 11338 for (var i = 0; i < bytes.length; i += 2) { 11339 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) 11340 } 11341 return res 11342} 11343 11344Buffer.prototype.slice = function slice (start, end) { 11345 var len = this.length 11346 start = ~~start 11347 end = end === undefined ? len : ~~end 11348 11349 if (start < 0) { 11350 start += len 11351 if (start < 0) start = 0 11352 } else if (start > len) { 11353 start = len 11354 } 11355 11356 if (end < 0) { 11357 end += len 11358 if (end < 0) end = 0 11359 } else if (end > len) { 11360 end = len 11361 } 11362 11363 if (end < start) end = start 11364 11365 var newBuf 11366 if (Buffer.TYPED_ARRAY_SUPPORT) { 11367 newBuf = this.subarray(start, end) 11368 newBuf.__proto__ = Buffer.prototype 11369 } else { 11370 var sliceLen = end - start 11371 newBuf = new Buffer(sliceLen, undefined) 11372 for (var i = 0; i < sliceLen; ++i) { 11373 newBuf[i] = this[i + start] 11374 } 11375 } 11376 11377 return newBuf 11378} 11379 11380/* 11381 * Need to make sure that buffer isn't trying to write out of bounds. 11382 */ 11383function checkOffset (offset, ext, length) { 11384 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') 11385 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') 11386} 11387 11388Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { 11389 offset = offset | 0 11390 byteLength = byteLength | 0 11391 if (!noAssert) checkOffset(offset, byteLength, this.length) 11392 11393 var val = this[offset] 11394 var mul = 1 11395 var i = 0 11396 while (++i < byteLength && (mul *= 0x100)) { 11397 val += this[offset + i] * mul 11398 } 11399 11400 return val 11401} 11402 11403Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { 11404 offset = offset | 0 11405 byteLength = byteLength | 0 11406 if (!noAssert) { 11407 checkOffset(offset, byteLength, this.length) 11408 } 11409 11410 var val = this[offset + --byteLength] 11411 var mul = 1 11412 while (byteLength > 0 && (mul *= 0x100)) { 11413 val += this[offset + --byteLength] * mul 11414 } 11415 11416 return val 11417} 11418 11419Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { 11420 if (!noAssert) checkOffset(offset, 1, this.length) 11421 return this[offset] 11422} 11423 11424Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { 11425 if (!noAssert) checkOffset(offset, 2, this.length) 11426 return this[offset] | (this[offset + 1] << 8) 11427} 11428 11429Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { 11430 if (!noAssert) checkOffset(offset, 2, this.length) 11431 return (this[offset] << 8) | this[offset + 1] 11432} 11433 11434Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { 11435 if (!noAssert) checkOffset(offset, 4, this.length) 11436 11437 return ((this[offset]) | 11438 (this[offset + 1] << 8) | 11439 (this[offset + 2] << 16)) + 11440 (this[offset + 3] * 0x1000000) 11441} 11442 11443Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { 11444 if (!noAssert) checkOffset(offset, 4, this.length) 11445 11446 return (this[offset] * 0x1000000) + 11447 ((this[offset + 1] << 16) | 11448 (this[offset + 2] << 8) | 11449 this[offset + 3]) 11450} 11451 11452Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { 11453 offset = offset | 0 11454 byteLength = byteLength | 0 11455 if (!noAssert) checkOffset(offset, byteLength, this.length) 11456 11457 var val = this[offset] 11458 var mul = 1 11459 var i = 0 11460 while (++i < byteLength && (mul *= 0x100)) { 11461 val += this[offset + i] * mul 11462 } 11463 mul *= 0x80 11464 11465 if (val >= mul) val -= Math.pow(2, 8 * byteLength) 11466 11467 return val 11468} 11469 11470Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { 11471 offset = offset | 0 11472 byteLength = byteLength | 0 11473 if (!noAssert) checkOffset(offset, byteLength, this.length) 11474 11475 var i = byteLength 11476 var mul = 1 11477 var val = this[offset + --i] 11478 while (i > 0 && (mul *= 0x100)) { 11479 val += this[offset + --i] * mul 11480 } 11481 mul *= 0x80 11482 11483 if (val >= mul) val -= Math.pow(2, 8 * byteLength) 11484 11485 return val 11486} 11487 11488Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { 11489 if (!noAssert) checkOffset(offset, 1, this.length) 11490 if (!(this[offset] & 0x80)) return (this[offset]) 11491 return ((0xff - this[offset] + 1) * -1) 11492} 11493 11494Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { 11495 if (!noAssert) checkOffset(offset, 2, this.length) 11496 var val = this[offset] | (this[offset + 1] << 8) 11497 return (val & 0x8000) ? val | 0xFFFF0000 : val 11498} 11499 11500Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { 11501 if (!noAssert) checkOffset(offset, 2, this.length) 11502 var val = this[offset + 1] | (this[offset] << 8) 11503 return (val & 0x8000) ? val | 0xFFFF0000 : val 11504} 11505 11506Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { 11507 if (!noAssert) checkOffset(offset, 4, this.length) 11508 11509 return (this[offset]) | 11510 (this[offset + 1] << 8) | 11511 (this[offset + 2] << 16) | 11512 (this[offset + 3] << 24) 11513} 11514 11515Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { 11516 if (!noAssert) checkOffset(offset, 4, this.length) 11517 11518 return (this[offset] << 24) | 11519 (this[offset + 1] << 16) | 11520 (this[offset + 2] << 8) | 11521 (this[offset + 3]) 11522} 11523 11524Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { 11525 if (!noAssert) checkOffset(offset, 4, this.length) 11526 return ieee754.read(this, offset, true, 23, 4) 11527} 11528 11529Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { 11530 if (!noAssert) checkOffset(offset, 4, this.length) 11531 return ieee754.read(this, offset, false, 23, 4) 11532} 11533 11534Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { 11535 if (!noAssert) checkOffset(offset, 8, this.length) 11536 return ieee754.read(this, offset, true, 52, 8) 11537} 11538 11539Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { 11540 if (!noAssert) checkOffset(offset, 8, this.length) 11541 return ieee754.read(this, offset, false, 52, 8) 11542} 11543 11544function checkInt (buf, value, offset, ext, max, min) { 11545 if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') 11546 if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') 11547 if (offset + ext > buf.length) throw new RangeError('Index out of range') 11548} 11549 11550Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { 11551 value = +value 11552 offset = offset | 0 11553 byteLength = byteLength | 0 11554 if (!noAssert) { 11555 var maxBytes = Math.pow(2, 8 * byteLength) - 1 11556 checkInt(this, value, offset, byteLength, maxBytes, 0) 11557 } 11558 11559 var mul = 1 11560 var i = 0 11561 this[offset] = value & 0xFF 11562 while (++i < byteLength && (mul *= 0x100)) { 11563 this[offset + i] = (value / mul) & 0xFF 11564 } 11565 11566 return offset + byteLength 11567} 11568 11569Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { 11570 value = +value 11571 offset = offset | 0 11572 byteLength = byteLength | 0 11573 if (!noAssert) { 11574 var maxBytes = Math.pow(2, 8 * byteLength) - 1 11575 checkInt(this, value, offset, byteLength, maxBytes, 0) 11576 } 11577 11578 var i = byteLength - 1 11579 var mul = 1 11580 this[offset + i] = value & 0xFF 11581 while (--i >= 0 && (mul *= 0x100)) { 11582 this[offset + i] = (value / mul) & 0xFF 11583 } 11584 11585 return offset + byteLength 11586} 11587 11588Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { 11589 value = +value 11590 offset = offset | 0 11591 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) 11592 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) 11593 this[offset] = (value & 0xff) 11594 return offset + 1 11595} 11596 11597function objectWriteUInt16 (buf, value, offset, littleEndian) { 11598 if (value < 0) value = 0xffff + value + 1 11599 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { 11600 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> 11601 (littleEndian ? i : 1 - i) * 8 11602 } 11603} 11604 11605Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { 11606 value = +value 11607 offset = offset | 0 11608 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) 11609 if (Buffer.TYPED_ARRAY_SUPPORT) { 11610 this[offset] = (value & 0xff) 11611 this[offset + 1] = (value >>> 8) 11612 } else { 11613 objectWriteUInt16(this, value, offset, true) 11614 } 11615 return offset + 2 11616} 11617 11618Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { 11619 value = +value 11620 offset = offset | 0 11621 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) 11622 if (Buffer.TYPED_ARRAY_SUPPORT) { 11623 this[offset] = (value >>> 8) 11624 this[offset + 1] = (value & 0xff) 11625 } else { 11626 objectWriteUInt16(this, value, offset, false) 11627 } 11628 return offset + 2 11629} 11630 11631function objectWriteUInt32 (buf, value, offset, littleEndian) { 11632 if (value < 0) value = 0xffffffff + value + 1 11633 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { 11634 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff 11635 } 11636} 11637 11638Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { 11639 value = +value 11640 offset = offset | 0 11641 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) 11642 if (Buffer.TYPED_ARRAY_SUPPORT) { 11643 this[offset + 3] = (value >>> 24) 11644 this[offset + 2] = (value >>> 16) 11645 this[offset + 1] = (value >>> 8) 11646 this[offset] = (value & 0xff) 11647 } else { 11648 objectWriteUInt32(this, value, offset, true) 11649 } 11650 return offset + 4 11651} 11652 11653Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { 11654 value = +value 11655 offset = offset | 0 11656 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) 11657 if (Buffer.TYPED_ARRAY_SUPPORT) { 11658 this[offset] = (value >>> 24) 11659 this[offset + 1] = (value >>> 16) 11660 this[offset + 2] = (value >>> 8) 11661 this[offset + 3] = (value & 0xff) 11662 } else { 11663 objectWriteUInt32(this, value, offset, false) 11664 } 11665 return offset + 4 11666} 11667 11668Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { 11669 value = +value 11670 offset = offset | 0 11671 if (!noAssert) { 11672 var limit = Math.pow(2, 8 * byteLength - 1) 11673 11674 checkInt(this, value, offset, byteLength, limit - 1, -limit) 11675 } 11676 11677 var i = 0 11678 var mul = 1 11679 var sub = 0 11680 this[offset] = value & 0xFF 11681 while (++i < byteLength && (mul *= 0x100)) { 11682 if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { 11683 sub = 1 11684 } 11685 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF 11686 } 11687 11688 return offset + byteLength 11689} 11690 11691Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { 11692 value = +value 11693 offset = offset | 0 11694 if (!noAssert) { 11695 var limit = Math.pow(2, 8 * byteLength - 1) 11696 11697 checkInt(this, value, offset, byteLength, limit - 1, -limit) 11698 } 11699 11700 var i = byteLength - 1 11701 var mul = 1 11702 var sub = 0 11703 this[offset + i] = value & 0xFF 11704 while (--i >= 0 && (mul *= 0x100)) { 11705 if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { 11706 sub = 1 11707 } 11708 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF 11709 } 11710 11711 return offset + byteLength 11712} 11713 11714Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { 11715 value = +value 11716 offset = offset | 0 11717 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) 11718 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) 11719 if (value < 0) value = 0xff + value + 1 11720 this[offset] = (value & 0xff) 11721 return offset + 1 11722} 11723 11724Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { 11725 value = +value 11726 offset = offset | 0 11727 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) 11728 if (Buffer.TYPED_ARRAY_SUPPORT) { 11729 this[offset] = (value & 0xff) 11730 this[offset + 1] = (value >>> 8) 11731 } else { 11732 objectWriteUInt16(this, value, offset, true) 11733 } 11734 return offset + 2 11735} 11736 11737Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { 11738 value = +value 11739 offset = offset | 0 11740 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) 11741 if (Buffer.TYPED_ARRAY_SUPPORT) { 11742 this[offset] = (value >>> 8) 11743 this[offset + 1] = (value & 0xff) 11744 } else { 11745 objectWriteUInt16(this, value, offset, false) 11746 } 11747 return offset + 2 11748} 11749 11750Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { 11751 value = +value 11752 offset = offset | 0 11753 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) 11754 if (Buffer.TYPED_ARRAY_SUPPORT) { 11755 this[offset] = (value & 0xff) 11756 this[offset + 1] = (value >>> 8) 11757 this[offset + 2] = (value >>> 16) 11758 this[offset + 3] = (value >>> 24) 11759 } else { 11760 objectWriteUInt32(this, value, offset, true) 11761 } 11762 return offset + 4 11763} 11764 11765Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { 11766 value = +value 11767 offset = offset | 0 11768 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) 11769 if (value < 0) value = 0xffffffff + value + 1 11770 if (Buffer.TYPED_ARRAY_SUPPORT) { 11771 this[offset] = (value >>> 24) 11772 this[offset + 1] = (value >>> 16) 11773 this[offset + 2] = (value >>> 8) 11774 this[offset + 3] = (value & 0xff) 11775 } else { 11776 objectWriteUInt32(this, value, offset, false) 11777 } 11778 return offset + 4 11779} 11780 11781function checkIEEE754 (buf, value, offset, ext, max, min) { 11782 if (offset + ext > buf.length) throw new RangeError('Index out of range') 11783 if (offset < 0) throw new RangeError('Index out of range') 11784} 11785 11786function writeFloat (buf, value, offset, littleEndian, noAssert) { 11787 if (!noAssert) { 11788 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) 11789 } 11790 ieee754.write(buf, value, offset, littleEndian, 23, 4) 11791 return offset + 4 11792} 11793 11794Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { 11795 return writeFloat(this, value, offset, true, noAssert) 11796} 11797 11798Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { 11799 return writeFloat(this, value, offset, false, noAssert) 11800} 11801 11802function writeDouble (buf, value, offset, littleEndian, noAssert) { 11803 if (!noAssert) { 11804 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) 11805 } 11806 ieee754.write(buf, value, offset, littleEndian, 52, 8) 11807 return offset + 8 11808} 11809 11810Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { 11811 return writeDouble(this, value, offset, true, noAssert) 11812} 11813 11814Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { 11815 return writeDouble(this, value, offset, false, noAssert) 11816} 11817 11818// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) 11819Buffer.prototype.copy = function copy (target, targetStart, start, end) { 11820 if (!start) start = 0 11821 if (!end && end !== 0) end = this.length 11822 if (targetStart >= target.length) targetStart = target.length 11823 if (!targetStart) targetStart = 0 11824 if (end > 0 && end < start) end = start 11825 11826 // Copy 0 bytes; we're done 11827 if (end === start) return 0 11828 if (target.length === 0 || this.length === 0) return 0 11829 11830 // Fatal error conditions 11831 if (targetStart < 0) { 11832 throw new RangeError('targetStart out of bounds') 11833 } 11834 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') 11835 if (end < 0) throw new RangeError('sourceEnd out of bounds') 11836 11837 // Are we oob? 11838 if (end > this.length) end = this.length 11839 if (target.length - targetStart < end - start) { 11840 end = target.length - targetStart + start 11841 } 11842 11843 var len = end - start 11844 var i 11845 11846 if (this === target && start < targetStart && targetStart < end) { 11847 // descending copy from end 11848 for (i = len - 1; i >= 0; --i) { 11849 target[i + targetStart] = this[i + start] 11850 } 11851 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { 11852 // ascending copy from start 11853 for (i = 0; i < len; ++i) { 11854 target[i + targetStart] = this[i + start] 11855 } 11856 } else { 11857 Uint8Array.prototype.set.call( 11858 target, 11859 this.subarray(start, start + len), 11860 targetStart 11861 ) 11862 } 11863 11864 return len 11865} 11866 11867// Usage: 11868// buffer.fill(number[, offset[, end]]) 11869// buffer.fill(buffer[, offset[, end]]) 11870// buffer.fill(string[, offset[, end]][, encoding]) 11871Buffer.prototype.fill = function fill (val, start, end, encoding) { 11872 // Handle string cases: 11873 if (typeof val === 'string') { 11874 if (typeof start === 'string') { 11875 encoding = start 11876 start = 0 11877 end = this.length 11878 } else if (typeof end === 'string') { 11879 encoding = end 11880 end = this.length 11881 } 11882 if (val.length === 1) { 11883 var code = val.charCodeAt(0) 11884 if (code < 256) { 11885 val = code 11886 } 11887 } 11888 if (encoding !== undefined && typeof encoding !== 'string') { 11889 throw new TypeError('encoding must be a string') 11890 } 11891 if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { 11892 throw new TypeError('Unknown encoding: ' + encoding) 11893 } 11894 } else if (typeof val === 'number') { 11895 val = val & 255 11896 } 11897 11898 // Invalid ranges are not set to a default, so can range check early. 11899 if (start < 0 || this.length < start || this.length < end) { 11900 throw new RangeError('Out of range index') 11901 } 11902 11903 if (end <= start) { 11904 return this 11905 } 11906 11907 start = start >>> 0 11908 end = end === undefined ? this.length : end >>> 0 11909 11910 if (!val) val = 0 11911 11912 var i 11913 if (typeof val === 'number') { 11914 for (i = start; i < end; ++i) { 11915 this[i] = val 11916 } 11917 } else { 11918 var bytes = Buffer.isBuffer(val) 11919 ? val 11920 : utf8ToBytes(new Buffer(val, encoding).toString()) 11921 var len = bytes.length 11922 for (i = 0; i < end - start; ++i) { 11923 this[i + start] = bytes[i % len] 11924 } 11925 } 11926 11927 return this 11928} 11929 11930// HELPER FUNCTIONS 11931// ================ 11932 11933var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g 11934 11935function base64clean (str) { 11936 // Node strips out invalid characters like \n and \t from the string, base64-js does not 11937 str = stringtrim(str).replace(INVALID_BASE64_RE, '') 11938 // Node converts strings with length < 2 to '' 11939 if (str.length < 2) return '' 11940 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not 11941 while (str.length % 4 !== 0) { 11942 str = str + '=' 11943 } 11944 return str 11945} 11946 11947function stringtrim (str) { 11948 if (str.trim) return str.trim() 11949 return str.replace(/^\s+|\s+$/g, '') 11950} 11951 11952function toHex (n) { 11953 if (n < 16) return '0' + n.toString(16) 11954 return n.toString(16) 11955} 11956 11957function utf8ToBytes (string, units) { 11958 units = units || Infinity 11959 var codePoint 11960 var length = string.length 11961 var leadSurrogate = null 11962 var bytes = [] 11963 11964 for (var i = 0; i < length; ++i) { 11965 codePoint = string.charCodeAt(i) 11966 11967 // is surrogate component 11968 if (codePoint > 0xD7FF && codePoint < 0xE000) { 11969 // last char was a lead 11970 if (!leadSurrogate) { 11971 // no lead yet 11972 if (codePoint > 0xDBFF) { 11973 // unexpected trail 11974 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 11975 continue 11976 } else if (i + 1 === length) { 11977 // unpaired lead 11978 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 11979 continue 11980 } 11981 11982 // valid lead 11983 leadSurrogate = codePoint 11984 11985 continue 11986 } 11987 11988 // 2 leads in a row 11989 if (codePoint < 0xDC00) { 11990 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 11991 leadSurrogate = codePoint 11992 continue 11993 } 11994 11995 // valid surrogate pair 11996 codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 11997 } else if (leadSurrogate) { 11998 // valid bmp char, but last char was a lead 11999 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) 12000 } 12001 12002 leadSurrogate = null 12003 12004 // encode utf8 12005 if (codePoint < 0x80) { 12006 if ((units -= 1) < 0) break 12007 bytes.push(codePoint) 12008 } else if (codePoint < 0x800) { 12009 if ((units -= 2) < 0) break 12010 bytes.push( 12011 codePoint >> 0x6 | 0xC0, 12012 codePoint & 0x3F | 0x80 12013 ) 12014 } else if (codePoint < 0x10000) { 12015 if ((units -= 3) < 0) break 12016 bytes.push( 12017 codePoint >> 0xC | 0xE0, 12018 codePoint >> 0x6 & 0x3F | 0x80, 12019 codePoint & 0x3F | 0x80 12020 ) 12021 } else if (codePoint < 0x110000) { 12022 if ((units -= 4) < 0) break 12023 bytes.push( 12024 codePoint >> 0x12 | 0xF0, 12025 codePoint >> 0xC & 0x3F | 0x80, 12026 codePoint >> 0x6 & 0x3F | 0x80, 12027 codePoint & 0x3F | 0x80 12028 ) 12029 } else { 12030 throw new Error('Invalid code point') 12031 } 12032 } 12033 12034 return bytes 12035} 12036 12037function asciiToBytes (str) { 12038 var byteArray = [] 12039 for (var i = 0; i < str.length; ++i) { 12040 // Node's code seems to be doing this and not & 0x7F.. 12041 byteArray.push(str.charCodeAt(i) & 0xFF) 12042 } 12043 return byteArray 12044} 12045 12046function utf16leToBytes (str, units) { 12047 var c, hi, lo 12048 var byteArray = [] 12049 for (var i = 0; i < str.length; ++i) { 12050 if ((units -= 2) < 0) break 12051 12052 c = str.charCodeAt(i) 12053 hi = c >> 8 12054 lo = c % 256 12055 byteArray.push(lo) 12056 byteArray.push(hi) 12057 } 12058 12059 return byteArray 12060} 12061 12062function base64ToBytes (str) { 12063 return base64.toByteArray(base64clean(str)) 12064} 12065 12066function blitBuffer (src, dst, offset, length) { 12067 for (var i = 0; i < length; ++i) { 12068 if ((i + offset >= dst.length) || (i >= src.length)) break 12069 dst[i + offset] = src[i] 12070 } 12071 return i 12072} 12073 12074function isnan (val) { 12075 return val !== val // eslint-disable-line no-self-compare 12076} 12077 12078 12079/***/ }), 12080
vendor: 517 bytes, lines 12081-12095
12081/***/ "./node_modules/es6-promise/auto.js": 12082/*!******************************************!*\ 12083 !*** ./node_modules/es6-promise/auto.js ***! 12084 \******************************************/ 12085/***/ ((module, __unused_webpack_exports, __webpack_require__) => { 12086 12087"use strict"; 12088// This file can be required in Browserify and Node.js for automatic polyfill 12089// To use it: require('es6-promise/auto'); 12090 12091module.exports = (__webpack_require__(/*! ./ */ "./node_modules/es6-promise/dist/es6-promise.js").polyfill)(); 12092 12093 12094/***/ }), 12095
vendor: 29,490 bytes, lines 12096-13279
12096/***/ "./node_modules/es6-promise/dist/es6-promise.js": 12097/*!******************************************************!*\ 12098 !*** ./node_modules/es6-promise/dist/es6-promise.js ***! 12099 \******************************************************/ 12100/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 12101 12102/* provided dependency */ var process = __webpack_require__(/*! process/browser.js */ "./node_modules/process/browser.js"); 12103/*! 12104 * @overview es6-promise - a tiny implementation of Promises/A+. 12105 * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) 12106 * @license Licensed under MIT license 12107 * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE 12108 * @version v4.2.8+1e68dce6 12109 */ 12110 12111(function (global, factory) { 12112 true ? module.exports = factory() : 12113 0; 12114}(this, (function () { 'use strict'; 12115 12116function objectOrFunction(x) { 12117 var type = typeof x; 12118 return x !== null && (type === 'object' || type === 'function'); 12119} 12120 12121function isFunction(x) { 12122 return typeof x === 'function'; 12123} 12124 12125 12126 12127var _isArray = void 0; 12128if (Array.isArray) { 12129 _isArray = Array.isArray; 12130} else { 12131 _isArray = function (x) { 12132 return Object.prototype.toString.call(x) === '[object Array]'; 12133 }; 12134} 12135 12136var isArray = _isArray; 12137 12138var len = 0; 12139var vertxNext = void 0; 12140var customSchedulerFn = void 0; 12141 12142var asap = function asap(callback, arg) { 12143 queue[len] = callback; 12144 queue[len + 1] = arg; 12145 len += 2; 12146 if (len === 2) { 12147 // If len is 2, that means that we need to schedule an async flush. 12148 // If additional callbacks are queued before the queue is flushed, they 12149 // will be processed by this flush that we are scheduling. 12150 if (customSchedulerFn) { 12151 customSchedulerFn(flush); 12152 } else { 12153 scheduleFlush(); 12154 } 12155 } 12156}; 12157 12158function setScheduler(scheduleFn) { 12159 customSchedulerFn = scheduleFn; 12160} 12161 12162function setAsap(asapFn) { 12163 asap = asapFn; 12164} 12165 12166var browserWindow = typeof window !== 'undefined' ? window : undefined; 12167var browserGlobal = browserWindow || {}; 12168var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; 12169var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; 12170 12171// test for web worker but not in IE10 12172var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; 12173 12174// node 12175function useNextTick() { 12176 // node version 0.10.x displays a deprecation warning when nextTick is used recursively 12177 // see https://github.com/cujojs/when/issues/410 for details 12178 return function () { 12179 return process.nextTick(flush); 12180 }; 12181} 12182 12183// vertx 12184function useVertxTimer() { 12185 if (typeof vertxNext !== 'undefined') { 12186 return function () { 12187 vertxNext(flush); 12188 }; 12189 } 12190 12191 return useSetTimeout(); 12192} 12193 12194function useMutationObserver() { 12195 var iterations = 0; 12196 var observer = new BrowserMutationObserver(flush); 12197 var node = document.createTextNode(''); 12198 observer.observe(node, { characterData: true }); 12199 12200 return function () { 12201 node.data = iterations = ++iterations % 2; 12202 }; 12203} 12204 12205// web worker 12206function useMessageChannel() { 12207 var channel = new MessageChannel(); 12208 channel.port1.onmessage = flush; 12209 return function () { 12210 return channel.port2.postMessage(0); 12211 }; 12212} 12213 12214function useSetTimeout() { 12215 // Store setTimeout reference so es6-promise will be unaffected by 12216 // other code modifying setTimeout (like sinon.useFakeTimers()) 12217 var globalSetTimeout = setTimeout; 12218 return function () { 12219 return globalSetTimeout(flush, 1); 12220 }; 12221} 12222 12223var queue = new Array(1000); 12224function flush() { 12225 for (var i = 0; i < len; i += 2) { 12226 var callback = queue[i]; 12227 var arg = queue[i + 1]; 12228 12229 callback(arg); 12230 12231 queue[i] = undefined; 12232 queue[i + 1] = undefined; 12233 } 12234 12235 len = 0; 12236} 12237 12238function attemptVertx() { 12239 try { 12240 var vertx = Function('return this')().require('vertx'); 12241 vertxNext = vertx.runOnLoop || vertx.runOnContext; 12242 return useVertxTimer(); 12243 } catch (e) { 12244 return useSetTimeout(); 12245 } 12246} 12247 12248var scheduleFlush = void 0; 12249// Decide what async method to use to triggering processing of queued callbacks: 12250if (isNode) { 12251 scheduleFlush = useNextTick(); 12252} else if (BrowserMutationObserver) { 12253 scheduleFlush = useMutationObserver(); 12254} else if (isWorker) { 12255 scheduleFlush = useMessageChannel(); 12256} else if (browserWindow === undefined && "function" === 'function') { 12257 scheduleFlush = attemptVertx(); 12258} else { 12259 scheduleFlush = useSetTimeout(); 12260} 12261 12262function then(onFulfillment, onRejection) { 12263 var parent = this; 12264 12265 var child = new this.constructor(noop); 12266 12267 if (child[PROMISE_ID] === undefined) { 12268 makePromise(child); 12269 } 12270 12271 var _state = parent._state; 12272 12273 12274 if (_state) { 12275 var callback = arguments[_state - 1]; 12276 asap(function () { 12277 return invokeCallback(_state, child, callback, parent._result); 12278 }); 12279 } else { 12280 subscribe(parent, child, onFulfillment, onRejection); 12281 } 12282 12283 return child; 12284} 12285 12286/** 12287 `Promise.resolve` returns a promise that will become resolved with the 12288 passed `value`. It is shorthand for the following: 12289 12290 ```javascript 12291 let promise = new Promise(function(resolve, reject){ 12292 resolve(1); 12293 }); 12294 12295 promise.then(function(value){ 12296 // value === 1 12297 }); 12298 ``` 12299 12300 Instead of writing the above, your code now simply becomes the following: 12301 12302 ```javascript 12303 let promise = Promise.resolve(1); 12304 12305 promise.then(function(value){ 12306 // value === 1 12307 }); 12308 ``` 12309 12310 @method resolve 12311 @static 12312 @param {Any} value value that the returned promise will be resolved with 12313 Useful for tooling. 12314 @return {Promise} a promise that will become fulfilled with the given 12315 `value` 12316*/ 12317function resolve$1(object) { 12318 /*jshint validthis:true */ 12319 var Constructor = this; 12320 12321 if (object && typeof object === 'object' && object.constructor === Constructor) { 12322 return object; 12323 } 12324 12325 var promise = new Constructor(noop); 12326 resolve(promise, object); 12327 return promise; 12328} 12329 12330var PROMISE_ID = Math.random().toString(36).substring(2); 12331 12332function noop() {} 12333 12334var PENDING = void 0; 12335var FULFILLED = 1; 12336var REJECTED = 2; 12337 12338function selfFulfillment() { 12339 return new TypeError("You cannot resolve a promise with itself"); 12340} 12341 12342function cannotReturnOwn() { 12343 return new TypeError('A promises callback cannot return that same promise.'); 12344} 12345 12346function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { 12347 try { 12348 then$$1.call(value, fulfillmentHandler, rejectionHandler); 12349 } catch (e) { 12350 return e; 12351 } 12352} 12353 12354function handleForeignThenable(promise, thenable, then$$1) { 12355 asap(function (promise) { 12356 var sealed = false; 12357 var error = tryThen(then$$1, thenable, function (value) { 12358 if (sealed) { 12359 return; 12360 } 12361 sealed = true; 12362 if (thenable !== value) { 12363 resolve(promise, value); 12364 } else { 12365 fulfill(promise, value); 12366 } 12367 }, function (reason) { 12368 if (sealed) { 12369 return; 12370 } 12371 sealed = true; 12372 12373 reject(promise, reason); 12374 }, 'Settle: ' + (promise._label || ' unknown promise')); 12375 12376 if (!sealed && error) { 12377 sealed = true; 12378 reject(promise, error); 12379 } 12380 }, promise); 12381} 12382 12383function handleOwnThenable(promise, thenable) { 12384 if (thenable._state === FULFILLED) { 12385 fulfill(promise, thenable._result); 12386 } else if (thenable._state === REJECTED) { 12387 reject(promise, thenable._result); 12388 } else { 12389 subscribe(thenable, undefined, function (value) { 12390 return resolve(promise, value); 12391 }, function (reason) { 12392 return reject(promise, reason); 12393 }); 12394 } 12395} 12396 12397function handleMaybeThenable(promise, maybeThenable, then$$1) { 12398 if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { 12399 handleOwnThenable(promise, maybeThenable); 12400 } else { 12401 if (then$$1 === undefined) { 12402 fulfill(promise, maybeThenable); 12403 } else if (isFunction(then$$1)) { 12404 handleForeignThenable(promise, maybeThenable, then$$1); 12405 } else { 12406 fulfill(promise, maybeThenable); 12407 } 12408 } 12409} 12410 12411function resolve(promise, value) { 12412 if (promise === value) { 12413 reject(promise, selfFulfillment()); 12414 } else if (objectOrFunction(value)) { 12415 var then$$1 = void 0; 12416 try { 12417 then$$1 = value.then; 12418 } catch (error) { 12419 reject(promise, error); 12420 return; 12421 } 12422 handleMaybeThenable(promise, value, then$$1); 12423 } else { 12424 fulfill(promise, value); 12425 } 12426} 12427 12428function publishRejection(promise) { 12429 if (promise._onerror) { 12430 promise._onerror(promise._result); 12431 } 12432 12433 publish(promise); 12434} 12435 12436function fulfill(promise, value) { 12437 if (promise._state !== PENDING) { 12438 return; 12439 } 12440 12441 promise._result = value; 12442 promise._state = FULFILLED; 12443 12444 if (promise._subscribers.length !== 0) { 12445 asap(publish, promise); 12446 } 12447} 12448 12449function reject(promise, reason) { 12450 if (promise._state !== PENDING) { 12451 return; 12452 } 12453 promise._state = REJECTED; 12454 promise._result = reason; 12455 12456 asap(publishRejection, promise); 12457} 12458 12459function subscribe(parent, child, onFulfillment, onRejection) { 12460 var _subscribers = parent._subscribers; 12461 var length = _subscribers.length; 12462 12463 12464 parent._onerror = null; 12465 12466 _subscribers[length] = child; 12467 _subscribers[length + FULFILLED] = onFulfillment; 12468 _subscribers[length + REJECTED] = onRejection; 12469 12470 if (length === 0 && parent._state) { 12471 asap(publish, parent); 12472 } 12473} 12474 12475function publish(promise) { 12476 var subscribers = promise._subscribers; 12477 var settled = promise._state; 12478 12479 if (subscribers.length === 0) { 12480 return; 12481 } 12482 12483 var child = void 0, 12484 callback = void 0, 12485 detail = promise._result; 12486 12487 for (var i = 0; i < subscribers.length; i += 3) { 12488 child = subscribers[i]; 12489 callback = subscribers[i + settled]; 12490 12491 if (child) { 12492 invokeCallback(settled, child, callback, detail); 12493 } else { 12494 callback(detail); 12495 } 12496 } 12497 12498 promise._subscribers.length = 0; 12499} 12500 12501function invokeCallback(settled, promise, callback, detail) { 12502 var hasCallback = isFunction(callback), 12503 value = void 0, 12504 error = void 0, 12505 succeeded = true; 12506 12507 if (hasCallback) { 12508 try { 12509 value = callback(detail); 12510 } catch (e) { 12511 succeeded = false; 12512 error = e; 12513 } 12514 12515 if (promise === value) { 12516 reject(promise, cannotReturnOwn()); 12517 return; 12518 } 12519 } else { 12520 value = detail; 12521 } 12522 12523 if (promise._state !== PENDING) { 12524 // noop 12525 } else if (hasCallback && succeeded) { 12526 resolve(promise, value); 12527 } else if (succeeded === false) { 12528 reject(promise, error); 12529 } else if (settled === FULFILLED) { 12530 fulfill(promise, value); 12531 } else if (settled === REJECTED) { 12532 reject(promise, value); 12533 } 12534} 12535 12536function initializePromise(promise, resolver) { 12537 try { 12538 resolver(function resolvePromise(value) { 12539 resolve(promise, value); 12540 }, function rejectPromise(reason) { 12541 reject(promise, reason); 12542 }); 12543 } catch (e) { 12544 reject(promise, e); 12545 } 12546} 12547 12548var id = 0; 12549function nextId() { 12550 return id++; 12551} 12552 12553function makePromise(promise) { 12554 promise[PROMISE_ID] = id++; 12555 promise._state = undefined; 12556 promise._result = undefined; 12557 promise._subscribers = []; 12558} 12559 12560function validationError() { 12561 return new Error('Array Methods must be provided an Array'); 12562} 12563 12564var Enumerator = function () { 12565 function Enumerator(Constructor, input) { 12566 this._instanceConstructor = Constructor; 12567 this.promise = new Constructor(noop); 12568 12569 if (!this.promise[PROMISE_ID]) { 12570 makePromise(this.promise); 12571 } 12572 12573 if (isArray(input)) { 12574 this.length = input.length; 12575 this._remaining = input.length; 12576 12577 this._result = new Array(this.length); 12578 12579 if (this.length === 0) { 12580 fulfill(this.promise, this._result); 12581 } else { 12582 this.length = this.length || 0; 12583 this._enumerate(input); 12584 if (this._remaining === 0) { 12585 fulfill(this.promise, this._result); 12586 } 12587 } 12588 } else { 12589 reject(this.promise, validationError()); 12590 } 12591 } 12592 12593 Enumerator.prototype._enumerate = function _enumerate(input) { 12594 for (var i = 0; this._state === PENDING && i < input.length; i++) { 12595 this._eachEntry(input[i], i); 12596 } 12597 }; 12598 12599 Enumerator.prototype._eachEntry = function _eachEntry(entry, i) { 12600 var c = this._instanceConstructor; 12601 var resolve$$1 = c.resolve; 12602 12603 12604 if (resolve$$1 === resolve$1) { 12605 var _then = void 0; 12606 var error = void 0; 12607 var didError = false; 12608 try { 12609 _then = entry.then; 12610 } catch (e) { 12611 didError = true; 12612 error = e; 12613 } 12614 12615 if (_then === then && entry._state !== PENDING) { 12616 this._settledAt(entry._state, i, entry._result); 12617 } else if (typeof _then !== 'function') { 12618 this._remaining--; 12619 this._result[i] = entry; 12620 } else if (c === Promise$1) { 12621 var promise = new c(noop); 12622 if (didError) { 12623 reject(promise, error); 12624 } else { 12625 handleMaybeThenable(promise, entry, _then); 12626 } 12627 this._willSettleAt(promise, i); 12628 } else { 12629 this._willSettleAt(new c(function (resolve$$1) { 12630 return resolve$$1(entry); 12631 }), i); 12632 } 12633 } else { 12634 this._willSettleAt(resolve$$1(entry), i); 12635 } 12636 }; 12637 12638 Enumerator.prototype._settledAt = function _settledAt(state, i, value) { 12639 var promise = this.promise; 12640 12641 12642 if (promise._state === PENDING) { 12643 this._remaining--; 12644 12645 if (state === REJECTED) { 12646 reject(promise, value); 12647 } else { 12648 this._result[i] = value; 12649 } 12650 } 12651 12652 if (this._remaining === 0) { 12653 fulfill(promise, this._result); 12654 } 12655 }; 12656 12657 Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) { 12658 var enumerator = this; 12659 12660 subscribe(promise, undefined, function (value) { 12661 return enumerator._settledAt(FULFILLED, i, value); 12662 }, function (reason) { 12663 return enumerator._settledAt(REJECTED, i, reason); 12664 }); 12665 }; 12666 12667 return Enumerator; 12668}(); 12669 12670/** 12671 `Promise.all` accepts an array of promises, and returns a new promise which 12672 is fulfilled with an array of fulfillment values for the passed promises, or 12673 rejected with the reason of the first passed promise to be rejected. It casts all 12674 elements of the passed iterable to promises as it runs this algorithm. 12675 12676 Example: 12677 12678 ```javascript 12679 let promise1 = resolve(1); 12680 let promise2 = resolve(2); 12681 let promise3 = resolve(3); 12682 let promises = [ promise1, promise2, promise3 ]; 12683 12684 Promise.all(promises).then(function(array){ 12685 // The array here would be [ 1, 2, 3 ]; 12686 }); 12687 ``` 12688 12689 If any of the `promises` given to `all` are rejected, the first promise 12690 that is rejected will be given as an argument to the returned promises's 12691 rejection handler. For example: 12692 12693 Example: 12694 12695 ```javascript 12696 let promise1 = resolve(1); 12697 let promise2 = reject(new Error("2")); 12698 let promise3 = reject(new Error("3")); 12699 let promises = [ promise1, promise2, promise3 ]; 12700 12701 Promise.all(promises).then(function(array){ 12702 // Code here never runs because there are rejected promises! 12703 }, function(error) { 12704 // error.message === "2" 12705 }); 12706 ``` 12707 12708 @method all 12709 @static 12710 @param {Array} entries array of promises 12711 @param {String} label optional string for labeling the promise. 12712 Useful for tooling. 12713 @return {Promise} promise that is fulfilled when all `promises` have been 12714 fulfilled, or rejected if any of them become rejected. 12715 @static 12716*/ 12717function all(entries) { 12718 return new Enumerator(this, entries).promise; 12719} 12720 12721/** 12722 `Promise.race` returns a new promise which is settled in the same way as the 12723 first passed promise to settle. 12724 12725 Example: 12726 12727 ```javascript 12728 let promise1 = new Promise(function(resolve, reject){ 12729 setTimeout(function(){ 12730 resolve('promise 1'); 12731 }, 200); 12732 }); 12733 12734 let promise2 = new Promise(function(resolve, reject){ 12735 setTimeout(function(){ 12736 resolve('promise 2'); 12737 }, 100); 12738 }); 12739 12740 Promise.race([promise1, promise2]).then(function(result){ 12741 // result === 'promise 2' because it was resolved before promise1 12742 // was resolved. 12743 }); 12744 ``` 12745 12746 `Promise.race` is deterministic in that only the state of the first 12747 settled promise matters. For example, even if other promises given to the 12748 `promises` array argument are resolved, but the first settled promise has 12749 become rejected before the other promises became fulfilled, the returned 12750 promise will become rejected: 12751 12752 ```javascript 12753 let promise1 = new Promise(function(resolve, reject){ 12754 setTimeout(function(){ 12755 resolve('promise 1'); 12756 }, 200); 12757 }); 12758 12759 let promise2 = new Promise(function(resolve, reject){ 12760 setTimeout(function(){ 12761 reject(new Error('promise 2')); 12762 }, 100); 12763 }); 12764 12765 Promise.race([promise1, promise2]).then(function(result){ 12766 // Code here never runs 12767 }, function(reason){ 12768 // reason.message === 'promise 2' because promise 2 became rejected before 12769 // promise 1 became fulfilled 12770 }); 12771 ``` 12772 12773 An example real-world use case is implementing timeouts: 12774 12775 ```javascript 12776 Promise.race([ajax('foo.json'), timeout(5000)]) 12777 ``` 12778 12779 @method race 12780 @static 12781 @param {Array} promises array of promises to observe 12782 Useful for tooling. 12783 @return {Promise} a promise which settles in the same way as the first passed 12784 promise to settle. 12785*/ 12786function race(entries) { 12787 /*jshint validthis:true */ 12788 var Constructor = this; 12789 12790 if (!isArray(entries)) { 12791 return new Constructor(function (_, reject) { 12792 return reject(new TypeError('You must pass an array to race.')); 12793 }); 12794 } else { 12795 return new Constructor(function (resolve, reject) { 12796 var length = entries.length; 12797 for (var i = 0; i < length; i++) { 12798 Constructor.resolve(entries[i]).then(resolve, reject); 12799 } 12800 }); 12801 } 12802} 12803 12804/** 12805 `Promise.reject` returns a promise rejected with the passed `reason`. 12806 It is shorthand for the following: 12807 12808 ```javascript 12809 let promise = new Promise(function(resolve, reject){ 12810 reject(new Error('WHOOPS')); 12811 }); 12812 12813 promise.then(function(value){ 12814 // Code here doesn't run because the promise is rejected! 12815 }, function(reason){ 12816 // reason.message === 'WHOOPS' 12817 }); 12818 ``` 12819 12820 Instead of writing the above, your code now simply becomes the following: 12821 12822 ```javascript 12823 let promise = Promise.reject(new Error('WHOOPS')); 12824 12825 promise.then(function(value){ 12826 // Code here doesn't run because the promise is rejected! 12827 }, function(reason){ 12828 // reason.message === 'WHOOPS' 12829 }); 12830 ``` 12831 12832 @method reject 12833 @static 12834 @param {Any} reason value that the returned promise will be rejected with. 12835 Useful for tooling. 12836 @return {Promise} a promise rejected with the given `reason`. 12837*/ 12838function reject$1(reason) { 12839 /*jshint validthis:true */ 12840 var Constructor = this; 12841 var promise = new Constructor(noop); 12842 reject(promise, reason); 12843 return promise; 12844} 12845 12846function needsResolver() { 12847 throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); 12848} 12849 12850function needsNew() { 12851 throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); 12852} 12853 12854/** 12855 Promise objects represent the eventual result of an asynchronous operation. The 12856 primary way of interacting with a promise is through its `then` method, which 12857 registers callbacks to receive either a promise's eventual value or the reason 12858 why the promise cannot be fulfilled. 12859 12860 Terminology 12861 ----------- 12862 12863 - `promise` is an object or function with a `then` method whose behavior conforms to this specification. 12864 - `thenable` is an object or function that defines a `then` method. 12865 - `value` is any legal JavaScript value (including undefined, a thenable, or a promise). 12866 - `exception` is a value that is thrown using the throw statement. 12867 - `reason` is a value that indicates why a promise was rejected. 12868 - `settled` the final resting state of a promise, fulfilled or rejected. 12869 12870 A promise can be in one of three states: pending, fulfilled, or rejected. 12871 12872 Promises that are fulfilled have a fulfillment value and are in the fulfilled 12873 state. Promises that are rejected have a rejection reason and are in the 12874 rejected state. A fulfillment value is never a thenable. 12875 12876 Promises can also be said to *resolve* a value. If this value is also a 12877 promise, then the original promise's settled state will match the value's 12878 settled state. So a promise that *resolves* a promise that rejects will 12879 itself reject, and a promise that *resolves* a promise that fulfills will 12880 itself fulfill. 12881 12882 12883 Basic Usage: 12884 ------------ 12885 12886 ```js 12887 let promise = new Promise(function(resolve, reject) { 12888 // on success 12889 resolve(value); 12890 12891 // on failure 12892 reject(reason); 12893 }); 12894 12895 promise.then(function(value) { 12896 // on fulfillment 12897 }, function(reason) { 12898 // on rejection 12899 }); 12900 ``` 12901 12902 Advanced Usage: 12903 --------------- 12904 12905 Promises shine when abstracting away asynchronous interactions such as 12906 `XMLHttpRequest`s. 12907 12908 ```js 12909 function getJSON(url) { 12910 return new Promise(function(resolve, reject){ 12911 let xhr = new XMLHttpRequest(); 12912 12913 xhr.open('GET', url); 12914 xhr.onreadystatechange = handler; 12915 xhr.responseType = 'json'; 12916 xhr.setRequestHeader('Accept', 'application/json'); 12917 xhr.send(); 12918 12919 function handler() { 12920 if (this.readyState === this.DONE) { 12921 if (this.status === 200) { 12922 resolve(this.response); 12923 } else { 12924 reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']')); 12925 } 12926 } 12927 }; 12928 }); 12929 } 12930 12931 getJSON('/posts.json').then(function(json) { 12932 // on fulfillment 12933 }, function(reason) { 12934 // on rejection 12935 }); 12936 ``` 12937 12938 Unlike callbacks, promises are great composable primitives. 12939 12940 ```js 12941 Promise.all([ 12942 getJSON('/posts'), 12943 getJSON('/comments') 12944 ]).then(function(values){ 12945 values[0] // => postsJSON 12946 values[1] // => commentsJSON 12947 12948 return values; 12949 }); 12950 ``` 12951 12952 @class Promise 12953 @param {Function} resolver 12954 Useful for tooling. 12955 @constructor 12956*/ 12957 12958var Promise$1 = function () { 12959 function Promise(resolver) { 12960 this[PROMISE_ID] = nextId(); 12961 this._result = this._state = undefined; 12962 this._subscribers = []; 12963 12964 if (noop !== resolver) { 12965 typeof resolver !== 'function' && needsResolver(); 12966 this instanceof Promise ? initializePromise(this, resolver) : needsNew(); 12967 } 12968 } 12969 12970 /** 12971 The primary way of interacting with a promise is through its `then` method, 12972 which registers callbacks to receive either a promise's eventual value or the 12973 reason why the promise cannot be fulfilled. 12974 ```js 12975 findUser().then(function(user){ 12976 // user is available 12977 }, function(reason){ 12978 // user is unavailable, and you are given the reason why 12979 }); 12980 ``` 12981 Chaining 12982 -------- 12983 The return value of `then` is itself a promise. This second, 'downstream' 12984 promise is resolved with the return value of the first promise's fulfillment 12985 or rejection handler, or rejected if the handler throws an exception. 12986 ```js 12987 findUser().then(function (user) { 12988 return user.name; 12989 }, function (reason) { 12990 return 'default name'; 12991 }).then(function (userName) { 12992 // If `findUser` fulfilled, `userName` will be the user's name, otherwise it 12993 // will be `'default name'` 12994 }); 12995 findUser().then(function (user) { 12996 throw new Error('Found user, but still unhappy'); 12997 }, function (reason) { 12998 throw new Error('`findUser` rejected and we're unhappy'); 12999 }).then(function (value) { 13000 // never reached 13001 }, function (reason) { 13002 // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'. 13003 // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'. 13004 }); 13005 ``` 13006 If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream. 13007 ```js 13008 findUser().then(function (user) { 13009 throw new PedagogicalException('Upstream error'); 13010 }).then(function (value) { 13011 // never reached 13012 }).then(function (value) { 13013 // never reached 13014 }, function (reason) { 13015 // The `PedgagocialException` is propagated all the way down to here 13016 }); 13017 ``` 13018 Assimilation 13019 ------------ 13020 Sometimes the value you want to propagate to a downstream promise can only be 13021 retrieved asynchronously. This can be achieved by returning a promise in the 13022 fulfillment or rejection handler. The downstream promise will then be pending 13023 until the returned promise is settled. This is called *assimilation*. 13024 ```js 13025 findUser().then(function (user) { 13026 return findCommentsByAuthor(user); 13027 }).then(function (comments) { 13028 // The user's comments are now available 13029 }); 13030 ``` 13031 If the assimliated promise rejects, then the downstream promise will also reject. 13032 ```js 13033 findUser().then(function (user) { 13034 return findCommentsByAuthor(user); 13035 }).then(function (comments) { 13036 // If `findCommentsByAuthor` fulfills, we'll have the value here 13037 }, function (reason) { 13038 // If `findCommentsByAuthor` rejects, we'll have the reason here 13039 }); 13040 ``` 13041 Simple Example 13042 -------------- 13043 Synchronous Example 13044 ```javascript 13045 let result; 13046 try { 13047 result = findResult(); 13048 // success 13049 } catch(reason) { 13050 // failure 13051 } 13052 ``` 13053 Errback Example 13054 ```js 13055 findResult(function(result, err){ 13056 if (err) { 13057 // failure 13058 } else { 13059 // success 13060 } 13061 }); 13062 ``` 13063 Promise Example; 13064 ```javascript 13065 findResult().then(function(result){ 13066 // success 13067 }, function(reason){ 13068 // failure 13069 }); 13070 ``` 13071 Advanced Example 13072 -------------- 13073 Synchronous Example 13074 ```javascript 13075 let author, books; 13076 try { 13077 author = findAuthor(); 13078 books = findBooksByAuthor(author); 13079 // success 13080 } catch(reason) { 13081 // failure 13082 } 13083 ``` 13084 Errback Example 13085 ```js 13086 function foundBooks(books) { 13087 } 13088 function failure(reason) { 13089 } 13090 findAuthor(function(author, err){ 13091 if (err) { 13092 failure(err); 13093 // failure 13094 } else { 13095 try { 13096 findBoooksByAuthor(author, function(books, err) { 13097 if (err) { 13098 failure(err); 13099 } else { 13100 try { 13101 foundBooks(books); 13102 } catch(reason) { 13103 failure(reason); 13104 } 13105 } 13106 }); 13107 } catch(error) { 13108 failure(err); 13109 } 13110 // success 13111 } 13112 }); 13113 ``` 13114 Promise Example; 13115 ```javascript 13116 findAuthor(). 13117 then(findBooksByAuthor). 13118 then(function(books){ 13119 // found books 13120 }).catch(function(reason){ 13121 // something went wrong 13122 }); 13123 ``` 13124 @method then 13125 @param {Function} onFulfilled 13126 @param {Function} onRejected 13127 Useful for tooling. 13128 @return {Promise} 13129 */ 13130 13131 /** 13132 `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same 13133 as the catch block of a try/catch statement. 13134 ```js 13135 function findAuthor(){ 13136 throw new Error('couldn't find that author'); 13137 } 13138 // synchronous 13139 try { 13140 findAuthor(); 13141 } catch(reason) { 13142 // something went wrong 13143 } 13144 // async with promises 13145 findAuthor().catch(function(reason){ 13146 // something went wrong 13147 }); 13148 ``` 13149 @method catch 13150 @param {Function} onRejection 13151 Useful for tooling. 13152 @return {Promise} 13153 */ 13154 13155 13156 Promise.prototype.catch = function _catch(onRejection) { 13157 return this.then(null, onRejection); 13158 }; 13159 13160 /** 13161 `finally` will be invoked regardless of the promise's fate just as native 13162 try/catch/finally behaves 13163 13164 Synchronous example: 13165 13166 ```js 13167 findAuthor() { 13168 if (Math.random() > 0.5) { 13169 throw new Error(); 13170 } 13171 return new Author(); 13172 } 13173 13174 try { 13175 return findAuthor(); // succeed or fail 13176 } catch(error) { 13177 return findOtherAuther(); 13178 } finally { 13179 // always runs 13180 // doesn't affect the return value 13181 } 13182 ``` 13183 13184 Asynchronous example: 13185 13186 ```js 13187 findAuthor().catch(function(reason){ 13188 return findOtherAuther(); 13189 }).finally(function(){ 13190 // author was either found, or not 13191 }); 13192 ``` 13193 13194 @method finally 13195 @param {Function} callback 13196 @return {Promise} 13197 */ 13198 13199 13200 Promise.prototype.finally = function _finally(callback) { 13201 var promise = this; 13202 var constructor = promise.constructor; 13203 13204 if (isFunction(callback)) { 13205 return promise.then(function (value) { 13206 return constructor.resolve(callback()).then(function () { 13207 return value; 13208 }); 13209 }, function (reason) { 13210 return constructor.resolve(callback()).then(function () { 13211 throw reason; 13212 }); 13213 }); 13214 } 13215 13216 return promise.then(callback, callback); 13217 }; 13218 13219 return Promise; 13220}(); 13221 13222Promise$1.prototype.then = then; 13223Promise$1.all = all; 13224Promise$1.race = race; 13225Promise$1.resolve = resolve$1; 13226Promise$1.reject = reject$1; 13227Promise$1._setScheduler = setScheduler; 13228Promise$1._setAsap = setAsap; 13229Promise$1._asap = asap; 13230 13231/*global self*/ 13232function polyfill() { 13233 var local = void 0; 13234 13235 if (typeof __webpack_require__.g !== 'undefined') { 13236 local = __webpack_require__.g; 13237 } else if (typeof self !== 'undefined') { 13238 local = self; 13239 } else { 13240 try { 13241 local = Function('return this')(); 13242 } catch (e) { 13243 throw new Error('polyfill failed because global object is unavailable in this environment'); 13244 } 13245 } 13246 13247 var P = local.Promise; 13248 13249 if (P) { 13250 var promiseToString = null; 13251 try { 13252 promiseToString = Object.prototype.toString.call(P.resolve()); 13253 } catch (e) { 13254 // silently ignored 13255 } 13256 13257 if (promiseToString === '[object Promise]' && !P.cast) { 13258 return; 13259 } 13260 } 13261 13262 local.Promise = Promise$1; 13263} 13264 13265// Strange compat.. 13266Promise$1.polyfill = polyfill; 13267Promise$1.Promise = Promise$1; 13268 13269return Promise$1; 13270 13271}))); 13272 13273 13274 13275//# sourceMappingURL=es6-promise.map 13276 13277 13278/***/ }), 13279
vendor: 2,390 bytes, lines 13280-13374
13280/***/ "./node_modules/ieee754/index.js": 13281/*!***************************************!*\ 13282 !*** ./node_modules/ieee754/index.js ***! 13283 \***************************************/ 13284/***/ ((__unused_webpack_module, exports) => { 13285 13286/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ 13287exports.read = function (buffer, offset, isLE, mLen, nBytes) { 13288 var e, m 13289 var eLen = (nBytes * 8) - mLen - 1 13290 var eMax = (1 << eLen) - 1 13291 var eBias = eMax >> 1 13292 var nBits = -7 13293 var i = isLE ? (nBytes - 1) : 0 13294 var d = isLE ? -1 : 1 13295 var s = buffer[offset + i] 13296 13297 i += d 13298 13299 e = s & ((1 << (-nBits)) - 1) 13300 s >>= (-nBits) 13301 nBits += eLen 13302 for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} 13303 13304 m = e & ((1 << (-nBits)) - 1) 13305 e >>= (-nBits) 13306 nBits += mLen 13307 for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} 13308 13309 if (e === 0) { 13310 e = 1 - eBias 13311 } else if (e === eMax) { 13312 return m ? NaN : ((s ? -1 : 1) * Infinity) 13313 } else { 13314 m = m + Math.pow(2, mLen) 13315 e = e - eBias 13316 } 13317 return (s ? -1 : 1) * m * Math.pow(2, e - mLen) 13318} 13319 13320exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { 13321 var e, m, c 13322 var eLen = (nBytes * 8) - mLen - 1 13323 var eMax = (1 << eLen) - 1 13324 var eBias = eMax >> 1 13325 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) 13326 var i = isLE ? 0 : (nBytes - 1) 13327 var d = isLE ? 1 : -1 13328 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 13329 13330 value = Math.abs(value) 13331 13332 if (isNaN(value) || value === Infinity) { 13333 m = isNaN(value) ? 1 : 0 13334 e = eMax 13335 } else { 13336 e = Math.floor(Math.log(value) / Math.LN2) 13337 if (value * (c = Math.pow(2, -e)) < 1) { 13338 e-- 13339 c *= 2 13340 } 13341 if (e + eBias >= 1) { 13342 value += rt / c 13343 } else { 13344 value += rt * Math.pow(2, 1 - eBias) 13345 } 13346 if (value * c >= 2) { 13347 e++ 13348 c /= 2 13349 } 13350 13351 if (e + eBias >= eMax) { 13352 m = 0 13353 e = eMax 13354 } else if (e + eBias >= 1) { 13355 m = ((value * c) - 1) * Math.pow(2, mLen) 13356 e = e + eBias 13357 } else { 13358 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) 13359 e = 0 13360 } 13361 } 13362 13363 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} 13364 13365 e = (e << mLen) | m 13366 eLen += mLen 13367 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} 13368 13369 buffer[offset + i - d] |= s * 128 13370} 13371 13372 13373/***/ }), 13374
vendor: 87,165 bytes, lines 13375-13989
13375/***/ "./node_modules/isarray/index.js": 13376/*!***************************************!*\ 13377 !*** ./node_modules/isarray/index.js ***! 13378 \***************************************/ 13379/***/ ((module) => { 13380 13381var toString = {}.toString; 13382 13383module.exports = Array.isArray || function (arr) { 13384 return toString.call(arr) == '[object Array]'; 13385}; 13386 13387 13388/***/ }), 13389 13390/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-select/dist/vue-select.css": 13391/*!**************************************************************************************************************************************************************************************************************!*\ 13392 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-select/dist/vue-select.css ***! 13393 \**************************************************************************************************************************************************************************************************************/ 13394/***/ ((module, __webpack_exports__, __webpack_require__) => { 13395 13396"use strict"; 13397__webpack_require__.r(__webpack_exports__); 13398/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13399/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13400/* harmony export */ }); 13401/* harmony import */ var _laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13402/* harmony import */ var _laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13403// Imports 13404 13405var ___CSS_LOADER_EXPORT___ = _laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13406// Module 13407___CSS_LOADER_EXPORT___.push([module.id, ":root{--vs-colors--lightest:rgba(60,60,60,0.26);--vs-colors--light:rgba(60,60,60,0.5);--vs-colors--dark:#333;--vs-colors--darkest:rgba(0,0,0,0.15);--vs-search-input-color:inherit;--vs-search-input-bg:#fff;--vs-search-input-placeholder-color:inherit;--vs-font-size:1rem;--vs-line-height:1.4;--vs-state-disabled-bg:#f8f8f8;--vs-state-disabled-color:var(--vs-colors--light);--vs-state-disabled-controls-color:var(--vs-colors--light);--vs-state-disabled-cursor:not-allowed;--vs-border-color:var(--vs-colors--lightest);--vs-border-width:1px;--vs-border-style:solid;--vs-border-radius:4px;--vs-actions-padding:4px 6px 0 3px;--vs-controls-color:var(--vs-colors--light);--vs-controls-size:1;--vs-controls--deselect-text-shadow:0 1px 0 #fff;--vs-selected-bg:#f0f0f0;--vs-selected-color:var(--vs-colors--dark);--vs-selected-border-color:var(--vs-border-color);--vs-selected-border-style:var(--vs-border-style);--vs-selected-border-width:var(--vs-border-width);--vs-dropdown-bg:#fff;--vs-dropdown-color:inherit;--vs-dropdown-z-index:1000;--vs-dropdown-min-width:160px;--vs-dropdown-max-height:350px;--vs-dropdown-box-shadow:0px 3px 6px 0px var(--vs-colors--darkest);--vs-dropdown-option-bg:#000;--vs-dropdown-option-color:var(--vs-dropdown-color);--vs-dropdown-option-padding:3px 20px;--vs-dropdown-option--active-bg:#5897fb;--vs-dropdown-option--active-color:#fff;--vs-dropdown-option--deselect-bg:#fb5858;--vs-dropdown-option--deselect-color:#fff;--vs-transition-timing-function:cubic-bezier(1,-0.115,0.975,0.855);--vs-transition-duration:150ms}.v-select{font-family:inherit;position:relative}.v-select,.v-select *{box-sizing:border-box}:root{--vs-transition-timing-function:cubic-bezier(1,0.5,0.8,1);--vs-transition-duration:0.15s}@keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vs__fade-enter-active,.vs__fade-leave-active{pointer-events:none;transition:opacity var(--vs-transition-duration) var(--vs-transition-timing-function)}.vs__fade-enter,.vs__fade-leave-to{opacity:0}:root{--vs-disabled-bg:var(--vs-state-disabled-bg);--vs-disabled-color:var(--vs-state-disabled-color);--vs-disabled-cursor:var(--vs-state-disabled-cursor)}.vs--disabled .vs__clear,.vs--disabled .vs__dropdown-toggle,.vs--disabled .vs__open-indicator,.vs--disabled .vs__search,.vs--disabled .vs__selected{background-color:var(--vs-disabled-bg);cursor:var(--vs-disabled-cursor)}.v-select[dir=rtl] .vs__actions{padding:0 3px 0 6px}.v-select[dir=rtl] .vs__clear{margin-left:6px;margin-right:0}.v-select[dir=rtl] .vs__deselect{margin-left:0;margin-right:2px}.v-select[dir=rtl] .vs__dropdown-menu{text-align:right}.vs__dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--vs-search-input-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:var(--vs-border-radius);display:flex;padding:0 0 4px;white-space:normal}.vs__selected-options{display:flex;flex-basis:100%;flex-grow:1;flex-wrap:wrap;padding:0 2px;position:relative}.vs__actions{align-items:center;display:flex;padding:var(--vs-actions-padding)}.vs--searchable .vs__dropdown-toggle{cursor:text}.vs--unsearchable .vs__dropdown-toggle{cursor:pointer}.vs--open .vs__dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.vs__open-indicator{fill:var(--vs-controls-color);transform:scale(var(--vs-controls-size));transition:transform var(--vs-transition-duration) var(--vs-transition-timing-function);transition-timing-function:var(--vs-transition-timing-function)}.vs--open .vs__open-indicator{transform:rotate(180deg) scale(var(--vs-controls-size))}.vs--loading .vs__open-indicator{opacity:0}.vs__clear{fill:var(--vs-controls-color);background-color:transparent;border:0;cursor:pointer;margin-right:8px;padding:0}.vs__dropdown-menu{background:var(--vs-dropdown-bg);border:var(--vs-border-width) var(--vs-border-style) var(--vs-border-color);border-radius:0 0 var(--vs-border-radius) var(--vs-border-radius);border-top-style:none;box-shadow:var(--vs-dropdown-box-shadow);box-sizing:border-box;color:var(--vs-dropdown-color);display:block;left:0;list-style:none;margin:0;max-height:var(--vs-dropdown-max-height);min-width:var(--vs-dropdown-min-width);overflow-y:auto;padding:5px 0;position:absolute;text-align:left;top:calc(100% - var(--vs-border-width));width:100%;z-index:var(--vs-dropdown-z-index)}.vs__no-options{text-align:center}.vs__dropdown-option{clear:both;color:var(--vs-dropdown-option-color);cursor:pointer;display:block;line-height:1.42857143;padding:var(--vs-dropdown-option-padding);white-space:nowrap}.vs__dropdown-option--highlight{background:var(--vs-dropdown-option--active-bg);color:var(--vs-dropdown-option--active-color)}.vs__dropdown-option--deselect{background:var(--vs-dropdown-option--deselect-bg);color:var(--vs-dropdown-option--deselect-color)}.vs__dropdown-option--disabled{background:var(--vs-state-disabled-bg);color:var(--vs-state-disabled-color);cursor:var(--vs-state-disabled-cursor)}.vs__selected{align-items:center;background-color:var(--vs-selected-bg);border:var(--vs-selected-border-width) var(--vs-selected-border-style) var(--vs-selected-border-color);border-radius:var(--vs-border-radius);color:var(--vs-selected-color);display:flex;line-height:var(--vs-line-height);margin:4px 2px 0;padding:0 .25em;z-index:0}.vs__deselect{fill:var(--vs-controls-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;cursor:pointer;display:inline-flex;margin-left:4px;padding:0;text-shadow:var(--vs-controls--deselect-text-shadow)}.vs--single .vs__selected{background-color:transparent;border-color:transparent}.vs--single.vs--loading .vs__selected,.vs--single.vs--open .vs__selected{opacity:.4;position:absolute}.vs--single.vs--searching .vs__selected{display:none}.vs__search::-webkit-search-cancel-button{display:none}.vs__search::-ms-clear,.vs__search::-webkit-search-decoration,.vs__search::-webkit-search-results-button,.vs__search::-webkit-search-results-decoration{display:none}.vs__search,.vs__search:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid transparent;border-left:none;box-shadow:none;color:var(--vs-search-input-color);flex-grow:1;font-size:var(--vs-font-size);line-height:var(--vs-line-height);margin:4px 0 0;max-width:100%;outline:none;padding:0 7px;width:0;z-index:1}.vs__search::-moz-placeholder{color:var(--vs-search-input-placeholder-color)}.vs__search::placeholder{color:var(--vs-search-input-placeholder-color)}.vs--unsearchable .vs__search{opacity:1}.vs--unsearchable:not(.vs--disabled) .vs__search{cursor:pointer}.vs--single.vs--searching:not(.vs--open):not(.vs--loading) .vs__search{opacity:.2}.vs__spinner{align-self:center;animation:vSelectSpinner 1.1s linear infinite;border:.9em solid hsla(0,0%,39%,.1);border-left-color:rgba(60,60,60,.45);font-size:5px;opacity:0;overflow:hidden;text-indent:-9999em;transform:translateZ(0) scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));transition:opacity .1s}.vs__spinner,.vs__spinner:after{border-radius:50%;height:5em;transform:scale(var(--vs-controls--spinner-size,var(--vs-controls-size)));width:5em}.vs--loading .vs__spinner{opacity:1}", ""]); 13408// Exports 13409/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13410 13411 13412/***/ }), 13413 13414/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css&": 13415/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13416 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css& ***! 13417 \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13418/***/ ((module, __webpack_exports__, __webpack_require__) => { 13419 13420"use strict"; 13421__webpack_require__.r(__webpack_exports__); 13422/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13423/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13424/* harmony export */ }); 13425/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13426/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13427// Imports 13428 13429var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13430// Module 13431___CSS_LOADER_EXPORT___.push([module.id, "\n.adresse-update{\n padding: 0px;\n background: #fff;\n}\n.adresse-update-wrapper{\n padding: 35px;\n}\n.adresse_update{\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: 120px;\n}\n\n", ""]); 13432// Exports 13433/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13434 13435 13436/***/ }), 13437 13438/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css&": 13439/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13440 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css& ***! 13441 \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13442/***/ ((module, __webpack_exports__, __webpack_require__) => { 13443 13444"use strict"; 13445__webpack_require__.r(__webpack_exports__); 13446/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13447/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13448/* harmony export */ }); 13449/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13450/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13451// Imports 13452 13453var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13454// Module 13455___CSS_LOADER_EXPORT___.push([module.id, "\n.buttons[data-v-59e03618] {\n margin-top: 35px;\n}\n", ""]); 13456// Exports 13457/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13458 13459 13460/***/ }), 13461 13462/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css&": 13463/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13464 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css& ***! 13465 \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13466/***/ ((module, __webpack_exports__, __webpack_require__) => { 13467 13468"use strict"; 13469__webpack_require__.r(__webpack_exports__); 13470/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13471/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13472/* harmony export */ }); 13473/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13474/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13475// Imports 13476 13477var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13478// Module 13479___CSS_LOADER_EXPORT___.push([module.id, "\n#StyleNewsletterCreate{\n margin-top:5px;\n}\n.edit_bloc_form::before{\n color: #85c744;\n content: \"â\";\n display: block;\n font-size: 14px;\n font-weight: bold;\n height: 10px;\n left: -2px;\n position: absolute;\n top: 0px;\n width: 5px;\n}\n.upload-btn-wrapper {\n position: relative;\n overflow: hidden;\n display: inline-block;\n}\n.upload-btn-wrapper input[type=file] {\n font-size: 100px;\n position: absolute;\n left: 0;\n top: 0;\n opacity: 0;\n cursor:pointer;\n}\n.margeUp{\n margin-top:5px;\n}\n", ""]); 13480// Exports 13481/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13482 13483 13484/***/ }), 13485 13486/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css&": 13487/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13488 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css& ***! 13489 \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13490/***/ ((module, __webpack_exports__, __webpack_require__) => { 13491 13492"use strict"; 13493__webpack_require__.r(__webpack_exports__); 13494/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13495/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13496/* harmony export */ }); 13497/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13498/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13499// Imports 13500 13501var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13502// Module 13503___CSS_LOADER_EXPORT___.push([module.id, "\n.dragArea {\n height: 300px;\n margin: 0 0 20px 0;\n padding: 3px;\n overflow: scroll;\n border: 1px solid #ccc;\n border-radius: 3px;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;\n}\n.dragArea div {\n width: 100%;\n height: auto;\n line-height: 18px;\n padding: 5px;\n cursor: pointer;\n box-shadow: 0px 0px 2px 0px rgba(222, 222, 222, 1.0);\n}\n.sortable-ghost {\n\tcolor: #EAEAEA;\n\tbackground-color: #EAEAEA;\n\tborder: 1px dashed #aaa;\n}\n.sortable-chosen:not(.sortable-ghost) {\n\tcolor: #224466;\n\tbackground-color: #2299ff;\n}\n.sortable-drag {\n\tcolor: #449922;\n\tbackground-color: #44ff33;\n}\n", ""]); 13504// Exports 13505/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13506 13507 13508/***/ }), 13509 13510/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css&": 13511/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13512 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css& ***! 13513 \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13514/***/ ((module, __webpack_exports__, __webpack_require__) => { 13515 13516"use strict"; 13517__webpack_require__.r(__webpack_exports__); 13518/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13519/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13520/* harmony export */ }); 13521/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13522/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13523// Imports 13524 13525var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13526// Module 13527___CSS_LOADER_EXPORT___.push([module.id, "\n.dragArea {\n height: 300px;\n margin: 0 0 20px 0;\n padding: 3px;\n overflow: scroll;\n border: 1px solid #ccc;\n border-radius: 3px;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;\n}\n.dragArea div {\n width: 100%;\n height: auto;\n line-height: 18px;\n padding: 5px;\n cursor: pointer;\n box-shadow: 0px 0px 2px 0px rgba(222, 222, 222, 1.0);\n}\n.sortable-ghost {\n\tcolor: #EAEAEA;\n\tbackground-color: #EAEAEA;\n\tborder: 1px dashed #aaa;\n}\n.sortable-chosen:not(.sortable-ghost) {\n\tcolor: #224466;\n\tbackground-color: #2299ff;\n}\n.sortable-drag {\n\tcolor: #449922;\n\tbackground-color: #44ff33;\n}\n", ""]); 13528// Exports 13529/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13530 13531 13532/***/ }), 13533 13534/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css&": 13535/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13536 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css& ***! 13537 \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13538/***/ ((module, __webpack_exports__, __webpack_require__) => { 13539 13540"use strict"; 13541__webpack_require__.r(__webpack_exports__); 13542/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13543/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13544/* harmony export */ }); 13545/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13546/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13547// Imports 13548 13549var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13550// Module 13551___CSS_LOADER_EXPORT___.push([module.id, "\n.dragArea {\n height: 300px;\n margin: 0 0 20px 0;\n padding: 3px;\n overflow: scroll;\n border: 1px solid #ccc;\n border-radius: 3px;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;\n}\n.dragArea div {\n width: 100%;\n height: auto;\n line-height: 18px;\n padding: 5px;\n cursor: pointer;\n box-shadow: 0px 0px 2px 0px rgba(222, 222, 222, 1.0);\n}\n.sortable-ghost {\n\tcolor: #EAEAEA;\n\tbackground-color: #EAEAEA;\n\tborder: 1px dashed #aaa;\n}\n.sortable-chosen:not(.sortable-ghost) {\n\tcolor: #224466;\n\tbackground-color: #2299ff;\n}\n.sortable-drag {\n\tcolor: #449922;\n\tbackground-color: #44ff33;\n}\n", ""]); 13552// Exports 13553/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13554 13555 13556/***/ }), 13557 13558/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css&": 13559/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13560 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css& ***! 13561 \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13562/***/ ((module, __webpack_exports__, __webpack_require__) => { 13563 13564"use strict"; 13565__webpack_require__.r(__webpack_exports__); 13566/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13567/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13568/* harmony export */ }); 13569/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13570/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13571// Imports 13572 13573var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13574// Module 13575___CSS_LOADER_EXPORT___.push([module.id, "\n.choix-input{\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin: 5px 0;\n}\n", ""]); 13576// Exports 13577/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13578 13579 13580/***/ }), 13581 13582/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css&": 13583/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13584 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css& ***! 13585 \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13586/***/ ((module, __webpack_exports__, __webpack_require__) => { 13587 13588"use strict"; 13589__webpack_require__.r(__webpack_exports__); 13590/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13591/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13592/* harmony export */ }); 13593/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13594/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13595// Imports 13596 13597var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13598// Module 13599___CSS_LOADER_EXPORT___.push([module.id, "\n.newsletterGroupError {\n\t\tcolor:red;\n}\n#StyleNewsletterCreate{\n margin-top:5px;\n}\n.create_bloc_form::before{\n color: #85c744;\n content: \"â\";\n display: block;\n font-size: 14px;\n font-weight: bold;\n height: 10px;\n left: -2px;\n position: absolute;\n top: 0px;\n width: 5px;\n}\n.upload-btn-wrapper {\n position: relative;\n overflow: hidden;\n display: inline-block;\n}\n.create_bloc_form{\n margin-left:10px;\n}\n.upload-btn-wrapper input[type=file] {\n font-size: 100px;\n position: absolute;\n left: 0;\n top: 0;\n opacity: 0;\n cursor:pointer;\n}\n.margeUp{\n margin-top:5px;\n}\n.dragArea {\n height: 300px;\n margin: 0 0 20px 0;\n padding: 3px;\n overflow: scroll;\n border: 1px solid #ccc;\n border-radius: 3px;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;\n}\n.dragArea div {\n width: 100%;\n height: auto;\n line-height: 18px;\n padding: 5px;\n cursor: pointer;\n box-shadow: 0px 0px 2px 0px rgba(222, 222, 222, 1.0);\n}\n.sortable-ghost {\n color: #EAEAEA;\n background-color: #EAEAEA;\n border: 1px dashed #aaa;\n}\n.sortable-chosen:not(.sortable-ghost) {\n color: #224466;\n background-color: #2299ff;\n}\n.sortable-drag {\n color: #449922;\n background-color: #44ff33;\n}\n", ""]); 13600// Exports 13601/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13602 13603 13604/***/ }), 13605 13606/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css&": 13607/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13608 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css& ***! 13609 \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13610/***/ ((module, __webpack_exports__, __webpack_require__) => { 13611 13612"use strict"; 13613__webpack_require__.r(__webpack_exports__); 13614/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13615/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13616/* harmony export */ }); 13617/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13618/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13619// Imports 13620 13621var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13622// Module 13623___CSS_LOADER_EXPORT___.push([module.id, "\n.mt-15{\n margin-bottom:15px;\n}\n", ""]); 13624// Exports 13625/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13626 13627 13628/***/ }), 13629 13630/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css&": 13631/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13632 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css& ***! 13633 \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13634/***/ ((module, __webpack_exports__, __webpack_require__) => { 13635 13636"use strict"; 13637__webpack_require__.r(__webpack_exports__); 13638/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13639/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13640/* harmony export */ }); 13641/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13642/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13643// Imports 13644 13645var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13646// Module 13647___CSS_LOADER_EXPORT___.push([module.id, "\n.newsletterGroupError {\n\t\tcolor:red;\n}\n.wrapper-bloc-edit{\n\t position:absolute;\n\t top:0;\n\t left:600px;\n}\n.edit_bloc_form{\n\t width: 640px;\n}\n.edit_bloc_form::before{\n color: #f1c40f;\n content: \"â\";\n display: block;\n font-size: 14px;\n font-weight: bold;\n height: 10px;\n left: -12px;\n position: absolute;\n top: 0px;\n width: 5px;\n}\n.paddingUp{\n padding-top:55px;\n padding-bottom:10px;\n border-bottom:1px solid #f5f5f5;\n}\n.dragArea {\n height: 300px;\n margin: 0 0 20px 0;\n padding: 3px;\n overflow: scroll;\n border: 1px solid #ccc;\n border-radius: 3px;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\n transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;\n}\n.dragArea div {\n width: 100%;\n height: auto;\n line-height: 18px;\n padding: 5px;\n cursor: pointer;\n box-shadow: 0px 0px 2px 0px rgba(222, 222, 222, 1.0);\n}\n.sortable-ghost {\n color: #EAEAEA;\n background-color: #EAEAEA;\n border: 1px dashed #aaa;\n}\n.sortable-chosen:not(.sortable-ghost) {\n color: #224466;\n background-color: #2299ff;\n}\n.sortable-drag {\n color: #449922;\n background-color: #44ff33;\n}\n", ""]); 13648// Exports 13649/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13650 13651 13652/***/ }), 13653 13654/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css&": 13655/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13656 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css& ***! 13657 \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13658/***/ ((module, __webpack_exports__, __webpack_require__) => { 13659 13660"use strict"; 13661__webpack_require__.r(__webpack_exports__); 13662/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13663/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13664/* harmony export */ }); 13665/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13666/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13667// Imports 13668 13669var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13670// Module 13671___CSS_LOADER_EXPORT___.push([module.id, "\n.choixAdresse{\n margin-bottom:10px;\n}\n", ""]); 13672// Exports 13673/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13674 13675 13676/***/ }), 13677 13678/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css&": 13679/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13680 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css& ***! 13681 \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13682/***/ ((module, __webpack_exports__, __webpack_require__) => { 13683 13684"use strict"; 13685__webpack_require__.r(__webpack_exports__); 13686/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13687/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13688/* harmony export */ }); 13689/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13690/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13691// Imports 13692 13693var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13694// Module 13695___CSS_LOADER_EXPORT___.push([module.id, "\n.slide-enter-active, .slide-leave-active {\n transition: opacity .8s ease-in-out, transform .8s ease-in-out;\n}\n.slide-enter, .slide-leave-to {\n opacity: 0;\n transform: translateY(20px);\n}\n", ""]); 13696// Exports 13697/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13698 13699 13700/***/ }), 13701 13702/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css&": 13703/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13704 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css& ***! 13705 \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13706/***/ ((module, __webpack_exports__, __webpack_require__) => { 13707 13708"use strict"; 13709__webpack_require__.r(__webpack_exports__); 13710/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13711/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13712/* harmony export */ }); 13713/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13714/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13715// Imports 13716 13717var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13718// Module 13719___CSS_LOADER_EXPORT___.push([module.id, "\n.max{\n max-height:80px;\n}\n.form-group-border{\n margin-top:20px;\n}\n.form-group-border .checkbox{\n padding-left:0;\n}\n", ""]); 13720// Exports 13721/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13722 13723 13724/***/ }), 13725 13726/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css&": 13727/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13728 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css& ***! 13729 \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13730/***/ ((module, __webpack_exports__, __webpack_require__) => { 13731 13732"use strict"; 13733__webpack_require__.r(__webpack_exports__); 13734/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13735/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13736/* harmony export */ }); 13737/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13738/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13739// Imports 13740 13741var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13742// Module 13743___CSS_LOADER_EXPORT___.push([module.id, "\n.loading[data-v-b62a887c]{\n width:50px;\n margin:40px auto;\n font-size:50px;\n}\n.modal-dialog[data-v-b62a887c]{\n width: 80%;\n min-width:860px;\n}\n.build-manager[data-v-b62a887c] {\n overflow-y: auto;\n max-height: 70vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n align-content: center;\n}\n.build-wrapper-gallery[data-v-b62a887c]{\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n flex-wrap: wrap;\n}\n.file-item-build[data-v-b62a887c]{\n width: 90px;\n height: 135px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n position: relative;\n margin: 15px;\n padding:0;\n background: #fff;\n align-items: center;\n}\n.file-image-build[data-v-b62a887c]{\n width: 90px;\n height: 130px;\n overflow: hidden;\n}\n.file-item-build img[data-v-b62a887c] {\n width: 90px;\n height: auto;\n}\n.file-item-build div p[data-v-b62a887c]{\n margin: 5px 0 0 0;\n padding: 0;\n text-align: center;\n font-size: 12px;\n line-height: 12px;\n word-wrap: anywhere;\n}\n.file-item-build .action-build[data-v-b62a887c]{\n display: flex;\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n padding: 5px;\n background: #f8f8f8;\n}\n\n", ""]); 13744// Exports 13745/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13746 13747 13748/***/ }), 13749 13750/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css&": 13751/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13752 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css& ***! 13753 \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13754/***/ ((module, __webpack_exports__, __webpack_require__) => { 13755 13756"use strict"; 13757__webpack_require__.r(__webpack_exports__); 13758/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13759/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13760/* harmony export */ }); 13761/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13762/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13763// Imports 13764 13765var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13766// Module 13767___CSS_LOADER_EXPORT___.push([module.id, "\n#chosen-select-app{\n z-index:100;\n width: 100% !important; /* or any value that fits your needs */\n}\n#loader-app{\n text-align:center;\n width:100%;\n font-size:30px;\n height:30px;\n line-height:30px;\n}\n\n", ""]); 13768// Exports 13769/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13770 13771 13772/***/ }), 13773 13774/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css&": 13775/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13776 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css& ***! 13777 \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13778/***/ ((module, __webpack_exports__, __webpack_require__) => { 13779 13780"use strict"; 13781__webpack_require__.r(__webpack_exports__); 13782/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13783/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13784/* harmony export */ }); 13785/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13786/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13787// Imports 13788 13789var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13790// Module 13791___CSS_LOADER_EXPORT___.push([module.id, "\n.autocomplete-bloc{\n padding:10px 0;\n margin-top:5px;\n}\n.autocomplete-bloc span{\n display:block;\n}\n.autocomplete-bloc .btn.btn-danger{\n margin-top:8px;\n}\n.empty-text{\n margin-top:5px;\n}\n.no-adresse {\n position: absolute;\n top: 5px;\n right: 5px;\n display: block;\n color: #7b7b7b;\n font-size: 12px;\n border: 1px solid #d4d4d4;\n padding: 3px;\n width:auto;\n text-align: center;\n}\n", ""]); 13792// Exports 13793/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13794 13795 13796/***/ }), 13797 13798/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css&": 13799/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13800 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css& ***! 13801 \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13802/***/ ((module, __webpack_exports__, __webpack_require__) => { 13803 13804"use strict"; 13805__webpack_require__.r(__webpack_exports__); 13806/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13807/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13808/* harmony export */ }); 13809/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13810/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13811// Imports 13812 13813var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13814// Module 13815___CSS_LOADER_EXPORT___.push([module.id, "\n.terms{\n padding:10px;\n margin:5px 0;\n background-color:#f5f5f5;\n}\n.dispositions{\n margin:15px 0 0 0;\n padding:0;\n list-style:none;\n}\n.dispositions li{\n margin-top: 5px;\n margin-bottom: 5px;\n border: 1px solid #ddd;\n padding: 5px;\n}\n.vs__dropdown-toggle {\n background: #fff;\n}\n", ""]); 13816// Exports 13817/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13818 13819 13820/***/ }), 13821 13822/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css&": 13823/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13824 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css& ***! 13825 \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13826/***/ ((module, __webpack_exports__, __webpack_require__) => { 13827 13828"use strict"; 13829__webpack_require__.r(__webpack_exports__); 13830/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13831/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13832/* harmony export */ }); 13833/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13834/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13835// Imports 13836 13837var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13838// Module 13839___CSS_LOADER_EXPORT___.push([module.id, "\n#fileManager[data-v-439d8d46] {\n overflow-y: auto;\n max-height: 70vh;\n}\n.loading[data-v-439d8d46]{\n width:50px;\n margin:40px auto;\n font-size:30px;\n}\n.gallery-wrapper[data-v-439d8d46]{\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n flex-wrap: wrap;\n}\n.file-item[data-v-439d8d46] {\n width: 120px;\n height: 135px;\n position: relative;\n list-style: none;\n margin: 5px;\n padding: 20px 5px 5px 5px;\n background: #fff;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n border: 5px solid transparent;\n overflow-x: hidden;\n}\n.file-item img[data-v-439d8d46] {\n max-width: 120px;\n max-height: 90px;\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n cursor: pointer;\n}\n.file-item p[data-v-439d8d46]{\n margin: 5px 0 0 0;\n padding: 0;\n text-align: center;\n font-size: 12px;\n line-height: 12px;\n word-wrap: anywhere;\n}\n.file-item button[data-v-439d8d46] {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0 5px 2px 5px;\n}\n.tree ul button[data-v-439d8d46] {\n background-color: #428bca;\n border: 1px solid #357ebd;\n color: #ffffff;\n cursor: pointer;\n display: block;\n line-height: 16px;\n padding: 3px 0 3px 10px;\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n}\n.modal-header.manager-modal[data-v-439d8d46] {\n padding:10px 15px;\n border-bottom: 1px solid #e5e5e5;\n min-height: 15px;\n}\n.modal-dialog[data-v-439d8d46] {\n margin-top: 95px;\n}\n", ""]); 13840// Exports 13841/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13842 13843 13844/***/ }), 13845 13846/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css&": 13847/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13848 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css& ***! 13849 \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13850/***/ ((module, __webpack_exports__, __webpack_require__) => { 13851 13852"use strict"; 13853__webpack_require__.r(__webpack_exports__); 13854/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13855/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13856/* harmony export */ }); 13857/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13858/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13859// Imports 13860 13861var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13862// Module 13863___CSS_LOADER_EXPORT___.push([module.id, "\n#addOccurrence{\n margin-bottom:15px;\n}\n.margBottom{\n padding-bottom:5px;\n}\n.list-group-item {\n padding: 8px 15px 8px 15px;\n}\n", ""]); 13864// Exports 13865/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13866 13867 13868/***/ }), 13869 13870/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css&": 13871/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13872 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css& ***! 13873 \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13874/***/ ((module, __webpack_exports__, __webpack_require__) => { 13875 13876"use strict"; 13877__webpack_require__.r(__webpack_exports__); 13878/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13879/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13880/* harmony export */ }); 13881/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13882/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13883// Imports 13884 13885var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13886// Module 13887___CSS_LOADER_EXPORT___.push([module.id, "\n.choixAdresse{\n margin-bottom:10px;\n}\n", ""]); 13888// Exports 13889/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13890 13891 13892/***/ }), 13893 13894/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css&": 13895/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13896 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css& ***! 13897 \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13898/***/ ((module, __webpack_exports__, __webpack_require__) => { 13899 13900"use strict"; 13901__webpack_require__.r(__webpack_exports__); 13902/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13903/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13904/* harmony export */ }); 13905/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13906/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13907// Imports 13908 13909var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13910// Module 13911___CSS_LOADER_EXPORT___.push([module.id, "\n.row-question{\n padding: 2px 0;\n}\n.row-hidden{\n background: #fef3c7;\n transition: all .6s ease;\n}\n.row-avis{\n display: flex;\n align-items: center;\n}\n\n", ""]); 13912// Exports 13913/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13914 13915 13916/***/ }), 13917 13918/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css&": 13919/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13920 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css& ***! 13921 \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13922/***/ ((module, __webpack_exports__, __webpack_require__) => { 13923 13924"use strict"; 13925__webpack_require__.r(__webpack_exports__); 13926/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13927/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13928/* harmony export */ }); 13929/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13930/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13931// Imports 13932 13933var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13934// Module 13935___CSS_LOADER_EXPORT___.push([module.id, "\n.rabais{\n width: 60%;\n}\n.colloque-coupon{\n margin-top: 10px;\n padding: 10px;\n background: #fff;\n width: 100%;\n}\n.rabais-info{\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n.rabais-info strong,\n.rabais-info span{\n display: block;\n}\nspan.invalid{\n color: #a72222;\n display:block;\n padding:7px 0 0 0;\n}\n.rabais-info span.valid{\n color: #18782e;\n}\n.input-group-addon-valid{\n border: none;\n background: #fff;\n}\n\n", ""]); 13936// Exports 13937/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13938 13939 13940/***/ }), 13941 13942/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css&": 13943/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13944 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css& ***! 13945 \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13946/***/ ((module, __webpack_exports__, __webpack_require__) => { 13947 13948"use strict"; 13949__webpack_require__.r(__webpack_exports__); 13950/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13951/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13952/* harmony export */ }); 13953/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13954/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13955// Imports 13956 13957var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13958// Module 13959___CSS_LOADER_EXPORT___.push([module.id, "\n.autocomplete-bloc{\n padding:10px 0;\n margin-top:5px;\n}\n.autocomplete-bloc span{\n display:block;\n}\n.autocomplete-bloc .btn.btn-danger{\n margin-top:8px;\n}\n.empty-text{\n margin-top:5px;\n}\n.no-adresse {\n position: absolute;\n top: 5px;\n right: 5px;\n display: block;\n color: #7b7b7b;\n font-size: 12px;\n border: 1px solid #d4d4d4;\n padding: 3px;\n width:auto;\n text-align: center;\n}\n", ""]); 13960// Exports 13961/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13962 13963 13964/***/ }), 13965 13966/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css&": 13967/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 13968 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css& ***! 13969 \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 13970/***/ ((module, __webpack_exports__, __webpack_require__) => { 13971 13972"use strict"; 13973__webpack_require__.r(__webpack_exports__); 13974/* harmony export */ __webpack_require__.d(__webpack_exports__, { 13975/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 13976/* harmony export */ }); 13977/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); 13978/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); 13979// Imports 13980 13981var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); 13982// Module 13983___CSS_LOADER_EXPORT___.push([module.id, "\n.btn-remove{\n margin-bottom: 10px;\n display: block;\n margin-top: 10px;\n}\n.responsive-newsletter{\n margin-bottom: 10px;\n}\n\n", ""]); 13984// Exports 13985/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); 13986 13987 13988/***/ }), 13989
vendor: 1,972 bytes, lines 13990-14065
13990/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js": 13991/*!******************************************************************************!*\ 13992 !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js ***! 13993 \******************************************************************************/ 13994/***/ ((module) => { 13995 13996"use strict"; 13997 13998 13999/* 14000 MIT License http://www.opensource.org/licenses/mit-license.php 14001 Author Tobias Koppers @sokra 14002*/ 14003// css base code, injected by the css-loader 14004// eslint-disable-next-line func-names 14005module.exports = function (cssWithMappingToString) { 14006 var list = []; // return the list of modules as css string 14007 14008 list.toString = function toString() { 14009 return this.map(function (item) { 14010 var content = cssWithMappingToString(item); 14011 14012 if (item[2]) { 14013 return "@media ".concat(item[2], " {").concat(content, "}"); 14014 } 14015 14016 return content; 14017 }).join(""); 14018 }; // import a list of modules into the list 14019 // eslint-disable-next-line func-names 14020 14021 14022 list.i = function (modules, mediaQuery, dedupe) { 14023 if (typeof modules === "string") { 14024 // eslint-disable-next-line no-param-reassign 14025 modules = [[null, modules, ""]]; 14026 } 14027 14028 var alreadyImportedModules = {}; 14029 14030 if (dedupe) { 14031 for (var i = 0; i < this.length; i++) { 14032 // eslint-disable-next-line prefer-destructuring 14033 var id = this[i][0]; 14034 14035 if (id != null) { 14036 alreadyImportedModules[id] = true; 14037 } 14038 } 14039 } 14040 14041 for (var _i = 0; _i < modules.length; _i++) { 14042 var item = [].concat(modules[_i]); 14043 14044 if (dedupe && alreadyImportedModules[item[0]]) { 14045 // eslint-disable-next-line no-continue 14046 continue; 14047 } 14048 14049 if (mediaQuery) { 14050 if (!item[2]) { 14051 item[2] = mediaQuery; 14052 } else { 14053 item[2] = "".concat(mediaQuery, " and ").concat(item[2]); 14054 } 14055 } 14056 14057 list.push(item); 14058 } 14059 }; 14060 14061 return list; 14062}; 14063 14064/***/ }), 14065
vendor: 544,380 bytes, lines 14066-31277
14066/***/ "./node_modules/lodash/lodash.js": 14067/*!***************************************!*\ 14068 !*** ./node_modules/lodash/lodash.js ***! 14069 \***************************************/ 14070/***/ (function(module, exports, __webpack_require__) { 14071 14072/* module decorator */ module = __webpack_require__.nmd(module); 14073var __WEBPACK_AMD_DEFINE_RESULT__;/** 14074 * @license 14075 * Lodash <https://lodash.com/> 14076 * Copyright OpenJS Foundation and other contributors <https://openjsf.org/> 14077 * Released under MIT license <https://lodash.com/license> 14078 * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> 14079 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 14080 */ 14081;(function() { 14082 14083 /** Used as a safe reference for `undefined` in pre-ES5 environments. */ 14084 var undefined; 14085 14086 /** Used as the semantic version number. */ 14087 var VERSION = '4.17.21'; 14088 14089 /** Used as the size to enable large array optimizations. */ 14090 var LARGE_ARRAY_SIZE = 200; 14091 14092 /** Error message constants. */ 14093 var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', 14094 FUNC_ERROR_TEXT = 'Expected a function', 14095 INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; 14096 14097 /** Used to stand-in for `undefined` hash values. */ 14098 var HASH_UNDEFINED = '__lodash_hash_undefined__'; 14099 14100 /** Used as the maximum memoize cache size. */ 14101 var MAX_MEMOIZE_SIZE = 500; 14102 14103 /** Used as the internal argument placeholder. */ 14104 var PLACEHOLDER = '__lodash_placeholder__'; 14105 14106 /** Used to compose bitmasks for cloning. */ 14107 var CLONE_DEEP_FLAG = 1, 14108 CLONE_FLAT_FLAG = 2, 14109 CLONE_SYMBOLS_FLAG = 4; 14110 14111 /** Used to compose bitmasks for value comparisons. */ 14112 var COMPARE_PARTIAL_FLAG = 1, 14113 COMPARE_UNORDERED_FLAG = 2; 14114 14115 /** Used to compose bitmasks for function metadata. */ 14116 var WRAP_BIND_FLAG = 1, 14117 WRAP_BIND_KEY_FLAG = 2, 14118 WRAP_CURRY_BOUND_FLAG = 4, 14119 WRAP_CURRY_FLAG = 8, 14120 WRAP_CURRY_RIGHT_FLAG = 16, 14121 WRAP_PARTIAL_FLAG = 32, 14122 WRAP_PARTIAL_RIGHT_FLAG = 64, 14123 WRAP_ARY_FLAG = 128, 14124 WRAP_REARG_FLAG = 256, 14125 WRAP_FLIP_FLAG = 512; 14126 14127 /** Used as default options for `_.truncate`. */ 14128 var DEFAULT_TRUNC_LENGTH = 30, 14129 DEFAULT_TRUNC_OMISSION = '...'; 14130 14131 /** Used to detect hot functions by number of calls within a span of milliseconds. */ 14132 var HOT_COUNT = 800, 14133 HOT_SPAN = 16; 14134 14135 /** Used to indicate the type of lazy iteratees. */ 14136 var LAZY_FILTER_FLAG = 1, 14137 LAZY_MAP_FLAG = 2, 14138 LAZY_WHILE_FLAG = 3; 14139 14140 /** Used as references for various `Number` constants. */ 14141 var INFINITY = 1 / 0, 14142 MAX_SAFE_INTEGER = 9007199254740991, 14143 MAX_INTEGER = 1.7976931348623157e+308, 14144 NAN = 0 / 0; 14145 14146 /** Used as references for the maximum length and index of an array. */ 14147 var MAX_ARRAY_LENGTH = 4294967295, 14148 MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, 14149 HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; 14150 14151 /** Used to associate wrap methods with their bit flags. */ 14152 var wrapFlags = [ 14153 ['ary', WRAP_ARY_FLAG], 14154 ['bind', WRAP_BIND_FLAG], 14155 ['bindKey', WRAP_BIND_KEY_FLAG], 14156 ['curry', WRAP_CURRY_FLAG], 14157 ['curryRight', WRAP_CURRY_RIGHT_FLAG], 14158 ['flip', WRAP_FLIP_FLAG], 14159 ['partial', WRAP_PARTIAL_FLAG], 14160 ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], 14161 ['rearg', WRAP_REARG_FLAG] 14162 ]; 14163 14164 /** `Object#toString` result references. */ 14165 var argsTag = '[object Arguments]', 14166 arrayTag = '[object Array]', 14167 asyncTag = '[object AsyncFunction]', 14168 boolTag = '[object Boolean]', 14169 dateTag = '[object Date]', 14170 domExcTag = '[object DOMException]', 14171 errorTag = '[object Error]', 14172 funcTag = '[object Function]', 14173 genTag = '[object GeneratorFunction]', 14174 mapTag = '[object Map]', 14175 numberTag = '[object Number]', 14176 nullTag = '[object Null]', 14177 objectTag = '[object Object]', 14178 promiseTag = '[object Promise]', 14179 proxyTag = '[object Proxy]', 14180 regexpTag = '[object RegExp]', 14181 setTag = '[object Set]', 14182 stringTag = '[object String]', 14183 symbolTag = '[object Symbol]', 14184 undefinedTag = '[object Undefined]', 14185 weakMapTag = '[object WeakMap]', 14186 weakSetTag = '[object WeakSet]'; 14187 14188 var arrayBufferTag = '[object ArrayBuffer]', 14189 dataViewTag = '[object DataView]', 14190 float32Tag = '[object Float32Array]', 14191 float64Tag = '[object Float64Array]', 14192 int8Tag = '[object Int8Array]', 14193 int16Tag = '[object Int16Array]', 14194 int32Tag = '[object Int32Array]', 14195 uint8Tag = '[object Uint8Array]', 14196 uint8ClampedTag = '[object Uint8ClampedArray]', 14197 uint16Tag = '[object Uint16Array]', 14198 uint32Tag = '[object Uint32Array]'; 14199 14200 /** Used to match empty string literals in compiled template source. */ 14201 var reEmptyStringLeading = /\b__p \+= '';/g, 14202 reEmptyStringMiddle = /\b(__p \+=) '' \+/g, 14203 reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; 14204 14205 /** Used to match HTML entities and HTML characters. */ 14206 var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, 14207 reUnescapedHtml = /[&<>"']/g, 14208 reHasEscapedHtml = RegExp(reEscapedHtml.source), 14209 reHasUnescapedHtml = RegExp(reUnescapedHtml.source); 14210 14211 /** Used to match template delimiters. */ 14212 var reEscape = /<%-([\s\S]+?)%>/g, 14213 reEvaluate = /<%([\s\S]+?)%>/g, 14214 reInterpolate = /<%=([\s\S]+?)%>/g; 14215 14216 /** Used to match property names within property paths. */ 14217 var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, 14218 reIsPlainProp = /^\w*$/, 14219 rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; 14220 14221 /** 14222 * Used to match `RegExp` 14223 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). 14224 */ 14225 var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, 14226 reHasRegExpChar = RegExp(reRegExpChar.source); 14227 14228 /** Used to match leading whitespace. */ 14229 var reTrimStart = /^\s+/; 14230 14231 /** Used to match a single whitespace character. */ 14232 var reWhitespace = /\s/; 14233 14234 /** Used to match wrap detail comments. */ 14235 var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, 14236 reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, 14237 reSplitDetails = /,? & /; 14238 14239 /** Used to match words composed of alphanumeric characters. */ 14240 var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; 14241 14242 /** 14243 * Used to validate the `validate` option in `_.template` variable. 14244 * 14245 * Forbids characters which could potentially change the meaning of the function argument definition: 14246 * - "()," (modification of function parameters) 14247 * - "=" (default value) 14248 * - "[]{}" (destructuring of function parameters) 14249 * - "/" (beginning of a comment) 14250 * - whitespace 14251 */ 14252 var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; 14253 14254 /** Used to match backslashes in property paths. */ 14255 var reEscapeChar = /\\(\\)?/g; 14256 14257 /** 14258 * Used to match 14259 * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). 14260 */ 14261 var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; 14262 14263 /** Used to match `RegExp` flags from their coerced string values. */ 14264 var reFlags = /\w*$/; 14265 14266 /** Used to detect bad signed hexadecimal string values. */ 14267 var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; 14268 14269 /** Used to detect binary string values. */ 14270 var reIsBinary = /^0b[01]+$/i; 14271 14272 /** Used to detect host constructors (Safari). */ 14273 var reIsHostCtor = /^\[object .+?Constructor\]$/; 14274 14275 /** Used to detect octal string values. */ 14276 var reIsOctal = /^0o[0-7]+$/i; 14277 14278 /** Used to detect unsigned integer values. */ 14279 var reIsUint = /^(?:0|[1-9]\d*)$/; 14280 14281 /** Used to match Latin Unicode letters (excluding mathematical operators). */ 14282 var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; 14283 14284 /** Used to ensure capturing order of template delimiters. */ 14285 var reNoMatch = /($^)/; 14286 14287 /** Used to match unescaped characters in compiled string literals. */ 14288 var reUnescapedString = /['\n\r\u2028\u2029\\]/g; 14289 14290 /** Used to compose unicode character classes. */ 14291 var rsAstralRange = '\\ud800-\\udfff', 14292 rsComboMarksRange = '\\u0300-\\u036f', 14293 reComboHalfMarksRange = '\\ufe20-\\ufe2f', 14294 rsComboSymbolsRange = '\\u20d0-\\u20ff', 14295 rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, 14296 rsDingbatRange = '\\u2700-\\u27bf', 14297 rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', 14298 rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', 14299 rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', 14300 rsPunctuationRange = '\\u2000-\\u206f', 14301 rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', 14302 rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', 14303 rsVarRange = '\\ufe0e\\ufe0f', 14304 rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; 14305 14306 /** Used to compose unicode capture groups. */ 14307 var rsApos = "['\u2019]", 14308 rsAstral = '[' + rsAstralRange + ']', 14309 rsBreak = '[' + rsBreakRange + ']', 14310 rsCombo = '[' + rsComboRange + ']', 14311 rsDigits = '\\d+', 14312 rsDingbat = '[' + rsDingbatRange + ']', 14313 rsLower = '[' + rsLowerRange + ']', 14314 rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', 14315 rsFitz = '\\ud83c[\\udffb-\\udfff]', 14316 rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', 14317 rsNonAstral = '[^' + rsAstralRange + ']', 14318 rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', 14319 rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', 14320 rsUpper = '[' + rsUpperRange + ']', 14321 rsZWJ = '\\u200d'; 14322 14323 /** Used to compose unicode regexes. */ 14324 var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', 14325 rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', 14326 rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', 14327 rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', 14328 reOptMod = rsModifier + '?', 14329 rsOptVar = '[' + rsVarRange + ']?', 14330 rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', 14331 rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', 14332 rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', 14333 rsSeq = rsOptVar + reOptMod + rsOptJoin, 14334 rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, 14335 rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; 14336 14337 /** Used to match apostrophes. */ 14338 var reApos = RegExp(rsApos, 'g'); 14339 14340 /** 14341 * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and 14342 * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). 14343 */ 14344 var reComboMark = RegExp(rsCombo, 'g'); 14345 14346 /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ 14347 var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); 14348 14349 /** Used to match complex or compound words. */ 14350 var reUnicodeWord = RegExp([ 14351 rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', 14352 rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', 14353 rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, 14354 rsUpper + '+' + rsOptContrUpper, 14355 rsOrdUpper, 14356 rsOrdLower, 14357 rsDigits, 14358 rsEmoji 14359 ].join('|'), 'g'); 14360 14361 /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ 14362 var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); 14363 14364 /** Used to detect strings that need a more robust regexp to match words. */ 14365 var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; 14366 14367 /** Used to assign default `context` object properties. */ 14368 var contextProps = [ 14369 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', 14370 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', 14371 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', 14372 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', 14373 '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' 14374 ]; 14375 14376 /** Used to make template sourceURLs easier to identify. */ 14377 var templateCounter = -1; 14378 14379 /** Used to identify `toStringTag` values of typed arrays. */ 14380 var typedArrayTags = {}; 14381 typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = 14382 typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = 14383 typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = 14384 typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = 14385 typedArrayTags[uint32Tag] = true; 14386 typedArrayTags[argsTag] = typedArrayTags[arrayTag] = 14387 typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = 14388 typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = 14389 typedArrayTags[errorTag] = typedArrayTags[funcTag] = 14390 typedArrayTags[mapTag] = typedArrayTags[numberTag] = 14391 typedArrayTags[objectTag] = typedArrayTags[regexpTag] = 14392 typedArrayTags[setTag] = typedArrayTags[stringTag] = 14393 typedArrayTags[weakMapTag] = false; 14394 14395 /** Used to identify `toStringTag` values supported by `_.clone`. */ 14396 var cloneableTags = {}; 14397 cloneableTags[argsTag] = cloneableTags[arrayTag] = 14398 cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = 14399 cloneableTags[boolTag] = cloneableTags[dateTag] = 14400 cloneableTags[float32Tag] = cloneableTags[float64Tag] = 14401 cloneableTags[int8Tag] = cloneableTags[int16Tag] = 14402 cloneableTags[int32Tag] = cloneableTags[mapTag] = 14403 cloneableTags[numberTag] = cloneableTags[objectTag] = 14404 cloneableTags[regexpTag] = cloneableTags[setTag] = 14405 cloneableTags[stringTag] = cloneableTags[symbolTag] = 14406 cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = 14407 cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; 14408 cloneableTags[errorTag] = cloneableTags[funcTag] = 14409 cloneableTags[weakMapTag] = false; 14410 14411 /** Used to map Latin Unicode letters to basic Latin letters. */ 14412 var deburredLetters = { 14413 // Latin-1 Supplement block. 14414 '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', 14415 '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', 14416 '\xc7': 'C', '\xe7': 'c', 14417 '\xd0': 'D', '\xf0': 'd', 14418 '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', 14419 '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', 14420 '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', 14421 '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', 14422 '\xd1': 'N', '\xf1': 'n', 14423 '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', 14424 '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', 14425 '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', 14426 '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', 14427 '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', 14428 '\xc6': 'Ae', '\xe6': 'ae', 14429 '\xde': 'Th', '\xfe': 'th', 14430 '\xdf': 'ss', 14431 // Latin Extended-A block. 14432 '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', 14433 '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', 14434 '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', 14435 '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', 14436 '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', 14437 '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', 14438 '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', 14439 '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', 14440 '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', 14441 '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', 14442 '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', 14443 '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', 14444 '\u0134': 'J', '\u0135': 'j', 14445 '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', 14446 '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', 14447 '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', 14448 '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', 14449 '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', 14450 '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', 14451 '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', 14452 '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', 14453 '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', 14454 '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', 14455 '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', 14456 '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', 14457 '\u0163': 't', '\u0165': 't', '\u0167': 't', 14458 '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', 14459 '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', 14460 '\u0174': 'W', '\u0175': 'w', 14461 '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', 14462 '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', 14463 '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', 14464 '\u0132': 'IJ', '\u0133': 'ij', 14465 '\u0152': 'Oe', '\u0153': 'oe', 14466 '\u0149': "'n", '\u017f': 's' 14467 }; 14468 14469 /** Used to map characters to HTML entities. */ 14470 var htmlEscapes = { 14471 '&': '&', 14472 '<': '<', 14473 '>': '>', 14474 '"': '"', 14475 "'": ''' 14476 }; 14477 14478 /** Used to map HTML entities to characters. */ 14479 var htmlUnescapes = { 14480 '&': '&', 14481 '<': '<', 14482 '>': '>', 14483 '"': '"', 14484 ''': "'" 14485 }; 14486 14487 /** Used to escape characters for inclusion in compiled string literals. */ 14488 var stringEscapes = { 14489 '\\': '\\', 14490 "'": "'", 14491 '\n': 'n', 14492 '\r': 'r', 14493 '\u2028': 'u2028', 14494 '\u2029': 'u2029' 14495 }; 14496 14497 /** Built-in method references without a dependency on `root`. */ 14498 var freeParseFloat = parseFloat, 14499 freeParseInt = parseInt; 14500 14501 /** Detect free variable `global` from Node.js. */ 14502 var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g; 14503 14504 /** Detect free variable `self`. */ 14505 var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 14506 14507 /** Used as a reference to the global object. */ 14508 var root = freeGlobal || freeSelf || Function('return this')(); 14509 14510 /** Detect free variable `exports`. */ 14511 var freeExports = true && exports && !exports.nodeType && exports; 14512 14513 /** Detect free variable `module`. */ 14514 var freeModule = freeExports && "object" == 'object' && module && !module.nodeType && module; 14515 14516 /** Detect the popular CommonJS extension `module.exports`. */ 14517 var moduleExports = freeModule && freeModule.exports === freeExports; 14518 14519 /** Detect free variable `process` from Node.js. */ 14520 var freeProcess = moduleExports && freeGlobal.process; 14521 14522 /** Used to access faster Node.js helpers. */ 14523 var nodeUtil = (function() { 14524 try { 14525 // Use `util.types` for Node.js 10+. 14526 var types = freeModule && freeModule.require && freeModule.require('util').types; 14527 14528 if (types) { 14529 return types; 14530 } 14531 14532 // Legacy `process.binding('util')` for Node.js < 10. 14533 return freeProcess && freeProcess.binding && freeProcess.binding('util'); 14534 } catch (e) {} 14535 }()); 14536 14537 /* Node.js helper references. */ 14538 var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, 14539 nodeIsDate = nodeUtil && nodeUtil.isDate, 14540 nodeIsMap = nodeUtil && nodeUtil.isMap, 14541 nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, 14542 nodeIsSet = nodeUtil && nodeUtil.isSet, 14543 nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; 14544 14545 /*--------------------------------------------------------------------------*/ 14546 14547 /** 14548 * A faster alternative to `Function#apply`, this function invokes `func` 14549 * with the `this` binding of `thisArg` and the arguments of `args`. 14550 * 14551 * @private 14552 * @param {Function} func The function to invoke. 14553 * @param {*} thisArg The `this` binding of `func`. 14554 * @param {Array} args The arguments to invoke `func` with. 14555 * @returns {*} Returns the result of `func`. 14556 */ 14557 function apply(func, thisArg, args) { 14558 switch (args.length) { 14559 case 0: return func.call(thisArg); 14560 case 1: return func.call(thisArg, args[0]); 14561 case 2: return func.call(thisArg, args[0], args[1]); 14562 case 3: return func.call(thisArg, args[0], args[1], args[2]); 14563 } 14564 return func.apply(thisArg, args); 14565 } 14566 14567 /** 14568 * A specialized version of `baseAggregator` for arrays. 14569 * 14570 * @private 14571 * @param {Array} [array] The array to iterate over. 14572 * @param {Function} setter The function to set `accumulator` values. 14573 * @param {Function} iteratee The iteratee to transform keys. 14574 * @param {Object} accumulator The initial aggregated object. 14575 * @returns {Function} Returns `accumulator`. 14576 */ 14577 function arrayAggregator(array, setter, iteratee, accumulator) { 14578 var index = -1, 14579 length = array == null ? 0 : array.length; 14580 14581 while (++index < length) { 14582 var value = array[index]; 14583 setter(accumulator, value, iteratee(value), array); 14584 } 14585 return accumulator; 14586 } 14587 14588 /** 14589 * A specialized version of `_.forEach` for arrays without support for 14590 * iteratee shorthands. 14591 * 14592 * @private 14593 * @param {Array} [array] The array to iterate over. 14594 * @param {Function} iteratee The function invoked per iteration. 14595 * @returns {Array} Returns `array`. 14596 */ 14597 function arrayEach(array, iteratee) { 14598 var index = -1, 14599 length = array == null ? 0 : array.length; 14600 14601 while (++index < length) { 14602 if (iteratee(array[index], index, array) === false) { 14603 break; 14604 } 14605 } 14606 return array; 14607 } 14608 14609 /** 14610 * A specialized version of `_.forEachRight` for arrays without support for 14611 * iteratee shorthands. 14612 * 14613 * @private 14614 * @param {Array} [array] The array to iterate over. 14615 * @param {Function} iteratee The function invoked per iteration. 14616 * @returns {Array} Returns `array`. 14617 */ 14618 function arrayEachRight(array, iteratee) { 14619 var length = array == null ? 0 : array.length; 14620 14621 while (length--) { 14622 if (iteratee(array[length], length, array) === false) { 14623 break; 14624 } 14625 } 14626 return array; 14627 } 14628 14629 /** 14630 * A specialized version of `_.every` for arrays without support for 14631 * iteratee shorthands. 14632 * 14633 * @private 14634 * @param {Array} [array] The array to iterate over. 14635 * @param {Function} predicate The function invoked per iteration. 14636 * @returns {boolean} Returns `true` if all elements pass the predicate check, 14637 * else `false`. 14638 */ 14639 function arrayEvery(array, predicate) { 14640 var index = -1, 14641 length = array == null ? 0 : array.length; 14642 14643 while (++index < length) { 14644 if (!predicate(array[index], index, array)) { 14645 return false; 14646 } 14647 } 14648 return true; 14649 } 14650 14651 /** 14652 * A specialized version of `_.filter` for arrays without support for 14653 * iteratee shorthands. 14654 * 14655 * @private 14656 * @param {Array} [array] The array to iterate over. 14657 * @param {Function} predicate The function invoked per iteration. 14658 * @returns {Array} Returns the new filtered array. 14659 */ 14660 function arrayFilter(array, predicate) { 14661 var index = -1, 14662 length = array == null ? 0 : array.length, 14663 resIndex = 0, 14664 result = []; 14665 14666 while (++index < length) { 14667 var value = array[index]; 14668 if (predicate(value, index, array)) { 14669 result[resIndex++] = value; 14670 } 14671 } 14672 return result; 14673 } 14674 14675 /** 14676 * A specialized version of `_.includes` for arrays without support for 14677 * specifying an index to search from. 14678 * 14679 * @private 14680 * @param {Array} [array] The array to inspect. 14681 * @param {*} target The value to search for. 14682 * @returns {boolean} Returns `true` if `target` is found, else `false`. 14683 */ 14684 function arrayIncludes(array, value) { 14685 var length = array == null ? 0 : array.length; 14686 return !!length && baseIndexOf(array, value, 0) > -1; 14687 } 14688 14689 /** 14690 * This function is like `arrayIncludes` except that it accepts a comparator. 14691 * 14692 * @private 14693 * @param {Array} [array] The array to inspect. 14694 * @param {*} target The value to search for. 14695 * @param {Function} comparator The comparator invoked per element. 14696 * @returns {boolean} Returns `true` if `target` is found, else `false`. 14697 */ 14698 function arrayIncludesWith(array, value, comparator) { 14699 var index = -1, 14700 length = array == null ? 0 : array.length; 14701 14702 while (++index < length) { 14703 if (comparator(value, array[index])) { 14704 return true; 14705 } 14706 } 14707 return false; 14708 } 14709 14710 /** 14711 * A specialized version of `_.map` for arrays without support for iteratee 14712 * shorthands. 14713 * 14714 * @private 14715 * @param {Array} [array] The array to iterate over. 14716 * @param {Function} iteratee The function invoked per iteration. 14717 * @returns {Array} Returns the new mapped array. 14718 */ 14719 function arrayMap(array, iteratee) { 14720 var index = -1, 14721 length = array == null ? 0 : array.length, 14722 result = Array(length); 14723 14724 while (++index < length) { 14725 result[index] = iteratee(array[index], index, array); 14726 } 14727 return result; 14728 } 14729 14730 /** 14731 * Appends the elements of `values` to `array`. 14732 * 14733 * @private 14734 * @param {Array} array The array to modify. 14735 * @param {Array} values The values to append. 14736 * @returns {Array} Returns `array`. 14737 */ 14738 function arrayPush(array, values) { 14739 var index = -1, 14740 length = values.length, 14741 offset = array.length; 14742 14743 while (++index < length) { 14744 array[offset + index] = values[index]; 14745 } 14746 return array; 14747 } 14748 14749 /** 14750 * A specialized version of `_.reduce` for arrays without support for 14751 * iteratee shorthands. 14752 * 14753 * @private 14754 * @param {Array} [array] The array to iterate over. 14755 * @param {Function} iteratee The function invoked per iteration. 14756 * @param {*} [accumulator] The initial value. 14757 * @param {boolean} [initAccum] Specify using the first element of `array` as 14758 * the initial value. 14759 * @returns {*} Returns the accumulated value. 14760 */ 14761 function arrayReduce(array, iteratee, accumulator, initAccum) { 14762 var index = -1, 14763 length = array == null ? 0 : array.length; 14764 14765 if (initAccum && length) { 14766 accumulator = array[++index]; 14767 } 14768 while (++index < length) { 14769 accumulator = iteratee(accumulator, array[index], index, array); 14770 } 14771 return accumulator; 14772 } 14773 14774 /** 14775 * A specialized version of `_.reduceRight` for arrays without support for 14776 * iteratee shorthands. 14777 * 14778 * @private 14779 * @param {Array} [array] The array to iterate over. 14780 * @param {Function} iteratee The function invoked per iteration. 14781 * @param {*} [accumulator] The initial value. 14782 * @param {boolean} [initAccum] Specify using the last element of `array` as 14783 * the initial value. 14784 * @returns {*} Returns the accumulated value. 14785 */ 14786 function arrayReduceRight(array, iteratee, accumulator, initAccum) { 14787 var length = array == null ? 0 : array.length; 14788 if (initAccum && length) { 14789 accumulator = array[--length]; 14790 } 14791 while (length--) { 14792 accumulator = iteratee(accumulator, array[length], length, array); 14793 } 14794 return accumulator; 14795 } 14796 14797 /** 14798 * A specialized version of `_.some` for arrays without support for iteratee 14799 * shorthands. 14800 * 14801 * @private 14802 * @param {Array} [array] The array to iterate over. 14803 * @param {Function} predicate The function invoked per iteration. 14804 * @returns {boolean} Returns `true` if any element passes the predicate check, 14805 * else `false`. 14806 */ 14807 function arraySome(array, predicate) { 14808 var index = -1, 14809 length = array == null ? 0 : array.length; 14810 14811 while (++index < length) { 14812 if (predicate(array[index], index, array)) { 14813 return true; 14814 } 14815 } 14816 return false; 14817 } 14818 14819 /** 14820 * Gets the size of an ASCII `string`. 14821 * 14822 * @private 14823 * @param {string} string The string inspect. 14824 * @returns {number} Returns the string size. 14825 */ 14826 var asciiSize = baseProperty('length'); 14827 14828 /** 14829 * Converts an ASCII `string` to an array. 14830 * 14831 * @private 14832 * @param {string} string The string to convert. 14833 * @returns {Array} Returns the converted array. 14834 */ 14835 function asciiToArray(string) { 14836 return string.split(''); 14837 } 14838 14839 /** 14840 * Splits an ASCII `string` into an array of its words. 14841 * 14842 * @private 14843 * @param {string} The string to inspect. 14844 * @returns {Array} Returns the words of `string`. 14845 */ 14846 function asciiWords(string) { 14847 return string.match(reAsciiWord) || []; 14848 } 14849 14850 /** 14851 * The base implementation of methods like `_.findKey` and `_.findLastKey`, 14852 * without support for iteratee shorthands, which iterates over `collection` 14853 * using `eachFunc`. 14854 * 14855 * @private 14856 * @param {Array|Object} collection The collection to inspect. 14857 * @param {Function} predicate The function invoked per iteration. 14858 * @param {Function} eachFunc The function to iterate over `collection`. 14859 * @returns {*} Returns the found element or its key, else `undefined`. 14860 */ 14861 function baseFindKey(collection, predicate, eachFunc) { 14862 var result; 14863 eachFunc(collection, function(value, key, collection) { 14864 if (predicate(value, key, collection)) { 14865 result = key; 14866 return false; 14867 } 14868 }); 14869 return result; 14870 } 14871 14872 /** 14873 * The base implementation of `_.findIndex` and `_.findLastIndex` without 14874 * support for iteratee shorthands. 14875 * 14876 * @private 14877 * @param {Array} array The array to inspect. 14878 * @param {Function} predicate The function invoked per iteration. 14879 * @param {number} fromIndex The index to search from. 14880 * @param {boolean} [fromRight] Specify iterating from right to left. 14881 * @returns {number} Returns the index of the matched value, else `-1`. 14882 */ 14883 function baseFindIndex(array, predicate, fromIndex, fromRight) { 14884 var length = array.length, 14885 index = fromIndex + (fromRight ? 1 : -1); 14886 14887 while ((fromRight ? index-- : ++index < length)) { 14888 if (predicate(array[index], index, array)) { 14889 return index; 14890 } 14891 } 14892 return -1; 14893 } 14894 14895 /** 14896 * The base implementation of `_.indexOf` without `fromIndex` bounds checks. 14897 * 14898 * @private 14899 * @param {Array} array The array to inspect. 14900 * @param {*} value The value to search for. 14901 * @param {number} fromIndex The index to search from. 14902 * @returns {number} Returns the index of the matched value, else `-1`. 14903 */ 14904 function baseIndexOf(array, value, fromIndex) { 14905 return value === value 14906 ? strictIndexOf(array, value, fromIndex) 14907 : baseFindIndex(array, baseIsNaN, fromIndex); 14908 } 14909 14910 /** 14911 * This function is like `baseIndexOf` except that it accepts a comparator. 14912 * 14913 * @private 14914 * @param {Array} array The array to inspect. 14915 * @param {*} value The value to search for. 14916 * @param {number} fromIndex The index to search from. 14917 * @param {Function} comparator The comparator invoked per element. 14918 * @returns {number} Returns the index of the matched value, else `-1`. 14919 */ 14920 function baseIndexOfWith(array, value, fromIndex, comparator) { 14921 var index = fromIndex - 1, 14922 length = array.length; 14923 14924 while (++index < length) { 14925 if (comparator(array[index], value)) { 14926 return index; 14927 } 14928 } 14929 return -1; 14930 } 14931 14932 /** 14933 * The base implementation of `_.isNaN` without support for number objects. 14934 * 14935 * @private 14936 * @param {*} value The value to check. 14937 * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. 14938 */ 14939 function baseIsNaN(value) { 14940 return value !== value; 14941 } 14942 14943 /** 14944 * The base implementation of `_.mean` and `_.meanBy` without support for 14945 * iteratee shorthands. 14946 * 14947 * @private 14948 * @param {Array} array The array to iterate over. 14949 * @param {Function} iteratee The function invoked per iteration. 14950 * @returns {number} Returns the mean. 14951 */ 14952 function baseMean(array, iteratee) { 14953 var length = array == null ? 0 : array.length; 14954 return length ? (baseSum(array, iteratee) / length) : NAN; 14955 } 14956 14957 /** 14958 * The base implementation of `_.property` without support for deep paths. 14959 * 14960 * @private 14961 * @param {string} key The key of the property to get. 14962 * @returns {Function} Returns the new accessor function. 14963 */ 14964 function baseProperty(key) { 14965 return function(object) { 14966 return object == null ? undefined : object[key]; 14967 }; 14968 } 14969 14970 /** 14971 * The base implementation of `_.propertyOf` without support for deep paths. 14972 * 14973 * @private 14974 * @param {Object} object The object to query. 14975 * @returns {Function} Returns the new accessor function. 14976 */ 14977 function basePropertyOf(object) { 14978 return function(key) { 14979 return object == null ? undefined : object[key]; 14980 }; 14981 } 14982 14983 /** 14984 * The base implementation of `_.reduce` and `_.reduceRight`, without support 14985 * for iteratee shorthands, which iterates over `collection` using `eachFunc`. 14986 * 14987 * @private 14988 * @param {Array|Object} collection The collection to iterate over. 14989 * @param {Function} iteratee The function invoked per iteration. 14990 * @param {*} accumulator The initial value. 14991 * @param {boolean} initAccum Specify using the first or last element of 14992 * `collection` as the initial value. 14993 * @param {Function} eachFunc The function to iterate over `collection`. 14994 * @returns {*} Returns the accumulated value. 14995 */ 14996 function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { 14997 eachFunc(collection, function(value, index, collection) { 14998 accumulator = initAccum 14999 ? (initAccum = false, value) 15000 : iteratee(accumulator, value, index, collection); 15001 }); 15002 return accumulator; 15003 } 15004 15005 /** 15006 * The base implementation of `_.sortBy` which uses `comparer` to define the 15007 * sort order of `array` and replaces criteria objects with their corresponding 15008 * values. 15009 * 15010 * @private 15011 * @param {Array} array The array to sort. 15012 * @param {Function} comparer The function to define sort order. 15013 * @returns {Array} Returns `array`. 15014 */ 15015 function baseSortBy(array, comparer) { 15016 var length = array.length; 15017 15018 array.sort(comparer); 15019 while (length--) { 15020 array[length] = array[length].value; 15021 } 15022 return array; 15023 } 15024 15025 /** 15026 * The base implementation of `_.sum` and `_.sumBy` without support for 15027 * iteratee shorthands. 15028 * 15029 * @private 15030 * @param {Array} array The array to iterate over. 15031 * @param {Function} iteratee The function invoked per iteration. 15032 * @returns {number} Returns the sum. 15033 */ 15034 function baseSum(array, iteratee) { 15035 var result, 15036 index = -1, 15037 length = array.length; 15038 15039 while (++index < length) { 15040 var current = iteratee(array[index]); 15041 if (current !== undefined) { 15042 result = result === undefined ? current : (result + current); 15043 } 15044 } 15045 return result; 15046 } 15047 15048 /** 15049 * The base implementation of `_.times` without support for iteratee shorthands 15050 * or max array length checks. 15051 * 15052 * @private 15053 * @param {number} n The number of times to invoke `iteratee`. 15054 * @param {Function} iteratee The function invoked per iteration. 15055 * @returns {Array} Returns the array of results. 15056 */ 15057 function baseTimes(n, iteratee) { 15058 var index = -1, 15059 result = Array(n); 15060 15061 while (++index < n) { 15062 result[index] = iteratee(index); 15063 } 15064 return result; 15065 } 15066 15067 /** 15068 * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array 15069 * of key-value pairs for `object` corresponding to the property names of `props`. 15070 * 15071 * @private 15072 * @param {Object} object The object to query. 15073 * @param {Array} props The property names to get values for. 15074 * @returns {Object} Returns the key-value pairs. 15075 */ 15076 function baseToPairs(object, props) { 15077 return arrayMap(props, function(key) { 15078 return [key, object[key]]; 15079 }); 15080 } 15081 15082 /** 15083 * The base implementation of `_.trim`. 15084 * 15085 * @private 15086 * @param {string} string The string to trim. 15087 * @returns {string} Returns the trimmed string. 15088 */ 15089 function baseTrim(string) { 15090 return string 15091 ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') 15092 : string; 15093 } 15094 15095 /** 15096 * The base implementation of `_.unary` without support for storing metadata. 15097 * 15098 * @private 15099 * @param {Function} func The function to cap arguments for. 15100 * @returns {Function} Returns the new capped function. 15101 */ 15102 function baseUnary(func) { 15103 return function(value) { 15104 return func(value); 15105 }; 15106 } 15107 15108 /** 15109 * The base implementation of `_.values` and `_.valuesIn` which creates an 15110 * array of `object` property values corresponding to the property names 15111 * of `props`. 15112 * 15113 * @private 15114 * @param {Object} object The object to query. 15115 * @param {Array} props The property names to get values for. 15116 * @returns {Object} Returns the array of property values. 15117 */ 15118 function baseValues(object, props) { 15119 return arrayMap(props, function(key) { 15120 return object[key]; 15121 }); 15122 } 15123 15124 /** 15125 * Checks if a `cache` value for `key` exists. 15126 * 15127 * @private 15128 * @param {Object} cache The cache to query. 15129 * @param {string} key The key of the entry to check. 15130 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 15131 */ 15132 function cacheHas(cache, key) { 15133 return cache.has(key); 15134 } 15135 15136 /** 15137 * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol 15138 * that is not found in the character symbols. 15139 * 15140 * @private 15141 * @param {Array} strSymbols The string symbols to inspect. 15142 * @param {Array} chrSymbols The character symbols to find. 15143 * @returns {number} Returns the index of the first unmatched string symbol. 15144 */ 15145 function charsStartIndex(strSymbols, chrSymbols) { 15146 var index = -1, 15147 length = strSymbols.length; 15148 15149 while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} 15150 return index; 15151 } 15152 15153 /** 15154 * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol 15155 * that is not found in the character symbols. 15156 * 15157 * @private 15158 * @param {Array} strSymbols The string symbols to inspect. 15159 * @param {Array} chrSymbols The character symbols to find. 15160 * @returns {number} Returns the index of the last unmatched string symbol. 15161 */ 15162 function charsEndIndex(strSymbols, chrSymbols) { 15163 var index = strSymbols.length; 15164 15165 while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} 15166 return index; 15167 } 15168 15169 /** 15170 * Gets the number of `placeholder` occurrences in `array`. 15171 * 15172 * @private 15173 * @param {Array} array The array to inspect. 15174 * @param {*} placeholder The placeholder to search for. 15175 * @returns {number} Returns the placeholder count. 15176 */ 15177 function countHolders(array, placeholder) { 15178 var length = array.length, 15179 result = 0; 15180 15181 while (length--) { 15182 if (array[length] === placeholder) { 15183 ++result; 15184 } 15185 } 15186 return result; 15187 } 15188 15189 /** 15190 * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A 15191 * letters to basic Latin letters. 15192 * 15193 * @private 15194 * @param {string} letter The matched letter to deburr. 15195 * @returns {string} Returns the deburred letter. 15196 */ 15197 var deburrLetter = basePropertyOf(deburredLetters); 15198 15199 /** 15200 * Used by `_.escape` to convert characters to HTML entities. 15201 * 15202 * @private 15203 * @param {string} chr The matched character to escape. 15204 * @returns {string} Returns the escaped character. 15205 */ 15206 var escapeHtmlChar = basePropertyOf(htmlEscapes); 15207 15208 /** 15209 * Used by `_.template` to escape characters for inclusion in compiled string literals. 15210 * 15211 * @private 15212 * @param {string} chr The matched character to escape. 15213 * @returns {string} Returns the escaped character. 15214 */ 15215 function escapeStringChar(chr) { 15216 return '\\' + stringEscapes[chr]; 15217 } 15218 15219 /** 15220 * Gets the value at `key` of `object`. 15221 * 15222 * @private 15223 * @param {Object} [object] The object to query. 15224 * @param {string} key The key of the property to get. 15225 * @returns {*} Returns the property value. 15226 */ 15227 function getValue(object, key) { 15228 return object == null ? undefined : object[key]; 15229 } 15230 15231 /** 15232 * Checks if `string` contains Unicode symbols. 15233 * 15234 * @private 15235 * @param {string} string The string to inspect. 15236 * @returns {boolean} Returns `true` if a symbol is found, else `false`. 15237 */ 15238 function hasUnicode(string) { 15239 return reHasUnicode.test(string); 15240 } 15241 15242 /** 15243 * Checks if `string` contains a word composed of Unicode symbols. 15244 * 15245 * @private 15246 * @param {string} string The string to inspect. 15247 * @returns {boolean} Returns `true` if a word is found, else `false`. 15248 */ 15249 function hasUnicodeWord(string) { 15250 return reHasUnicodeWord.test(string); 15251 } 15252 15253 /** 15254 * Converts `iterator` to an array. 15255 * 15256 * @private 15257 * @param {Object} iterator The iterator to convert. 15258 * @returns {Array} Returns the converted array. 15259 */ 15260 function iteratorToArray(iterator) { 15261 var data, 15262 result = []; 15263 15264 while (!(data = iterator.next()).done) { 15265 result.push(data.value); 15266 } 15267 return result; 15268 } 15269 15270 /** 15271 * Converts `map` to its key-value pairs. 15272 * 15273 * @private 15274 * @param {Object} map The map to convert. 15275 * @returns {Array} Returns the key-value pairs. 15276 */ 15277 function mapToArray(map) { 15278 var index = -1, 15279 result = Array(map.size); 15280 15281 map.forEach(function(value, key) { 15282 result[++index] = [key, value]; 15283 }); 15284 return result; 15285 } 15286 15287 /** 15288 * Creates a unary function that invokes `func` with its argument transformed. 15289 * 15290 * @private 15291 * @param {Function} func The function to wrap. 15292 * @param {Function} transform The argument transform. 15293 * @returns {Function} Returns the new function. 15294 */ 15295 function overArg(func, transform) { 15296 return function(arg) { 15297 return func(transform(arg)); 15298 }; 15299 } 15300 15301 /** 15302 * Replaces all `placeholder` elements in `array` with an internal placeholder 15303 * and returns an array of their indexes. 15304 * 15305 * @private 15306 * @param {Array} array The array to modify. 15307 * @param {*} placeholder The placeholder to replace. 15308 * @returns {Array} Returns the new array of placeholder indexes. 15309 */ 15310 function replaceHolders(array, placeholder) { 15311 var index = -1, 15312 length = array.length, 15313 resIndex = 0, 15314 result = []; 15315 15316 while (++index < length) { 15317 var value = array[index]; 15318 if (value === placeholder || value === PLACEHOLDER) { 15319 array[index] = PLACEHOLDER; 15320 result[resIndex++] = index; 15321 } 15322 } 15323 return result; 15324 } 15325 15326 /** 15327 * Converts `set` to an array of its values. 15328 * 15329 * @private 15330 * @param {Object} set The set to convert. 15331 * @returns {Array} Returns the values. 15332 */ 15333 function setToArray(set) { 15334 var index = -1, 15335 result = Array(set.size); 15336 15337 set.forEach(function(value) { 15338 result[++index] = value; 15339 }); 15340 return result; 15341 } 15342 15343 /** 15344 * Converts `set` to its value-value pairs. 15345 * 15346 * @private 15347 * @param {Object} set The set to convert. 15348 * @returns {Array} Returns the value-value pairs. 15349 */ 15350 function setToPairs(set) { 15351 var index = -1, 15352 result = Array(set.size); 15353 15354 set.forEach(function(value) { 15355 result[++index] = [value, value]; 15356 }); 15357 return result; 15358 } 15359 15360 /** 15361 * A specialized version of `_.indexOf` which performs strict equality 15362 * comparisons of values, i.e. `===`. 15363 * 15364 * @private 15365 * @param {Array} array The array to inspect. 15366 * @param {*} value The value to search for. 15367 * @param {number} fromIndex The index to search from. 15368 * @returns {number} Returns the index of the matched value, else `-1`. 15369 */ 15370 function strictIndexOf(array, value, fromIndex) { 15371 var index = fromIndex - 1, 15372 length = array.length; 15373 15374 while (++index < length) { 15375 if (array[index] === value) { 15376 return index; 15377 } 15378 } 15379 return -1; 15380 } 15381 15382 /** 15383 * A specialized version of `_.lastIndexOf` which performs strict equality 15384 * comparisons of values, i.e. `===`. 15385 * 15386 * @private 15387 * @param {Array} array The array to inspect. 15388 * @param {*} value The value to search for. 15389 * @param {number} fromIndex The index to search from. 15390 * @returns {number} Returns the index of the matched value, else `-1`. 15391 */ 15392 function strictLastIndexOf(array, value, fromIndex) { 15393 var index = fromIndex + 1; 15394 while (index--) { 15395 if (array[index] === value) { 15396 return index; 15397 } 15398 } 15399 return index; 15400 } 15401 15402 /** 15403 * Gets the number of symbols in `string`. 15404 * 15405 * @private 15406 * @param {string} string The string to inspect. 15407 * @returns {number} Returns the string size. 15408 */ 15409 function stringSize(string) { 15410 return hasUnicode(string) 15411 ? unicodeSize(string) 15412 : asciiSize(string); 15413 } 15414 15415 /** 15416 * Converts `string` to an array. 15417 * 15418 * @private 15419 * @param {string} string The string to convert. 15420 * @returns {Array} Returns the converted array. 15421 */ 15422 function stringToArray(string) { 15423 return hasUnicode(string) 15424 ? unicodeToArray(string) 15425 : asciiToArray(string); 15426 } 15427 15428 /** 15429 * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace 15430 * character of `string`. 15431 * 15432 * @private 15433 * @param {string} string The string to inspect. 15434 * @returns {number} Returns the index of the last non-whitespace character. 15435 */ 15436 function trimmedEndIndex(string) { 15437 var index = string.length; 15438 15439 while (index-- && reWhitespace.test(string.charAt(index))) {} 15440 return index; 15441 } 15442 15443 /** 15444 * Used by `_.unescape` to convert HTML entities to characters. 15445 * 15446 * @private 15447 * @param {string} chr The matched character to unescape. 15448 * @returns {string} Returns the unescaped character. 15449 */ 15450 var unescapeHtmlChar = basePropertyOf(htmlUnescapes); 15451 15452 /** 15453 * Gets the size of a Unicode `string`. 15454 * 15455 * @private 15456 * @param {string} string The string inspect. 15457 * @returns {number} Returns the string size. 15458 */ 15459 function unicodeSize(string) { 15460 var result = reUnicode.lastIndex = 0; 15461 while (reUnicode.test(string)) { 15462 ++result; 15463 } 15464 return result; 15465 } 15466 15467 /** 15468 * Converts a Unicode `string` to an array. 15469 * 15470 * @private 15471 * @param {string} string The string to convert. 15472 * @returns {Array} Returns the converted array. 15473 */ 15474 function unicodeToArray(string) { 15475 return string.match(reUnicode) || []; 15476 } 15477 15478 /** 15479 * Splits a Unicode `string` into an array of its words. 15480 * 15481 * @private 15482 * @param {string} The string to inspect. 15483 * @returns {Array} Returns the words of `string`. 15484 */ 15485 function unicodeWords(string) { 15486 return string.match(reUnicodeWord) || []; 15487 } 15488 15489 /*--------------------------------------------------------------------------*/ 15490 15491 /** 15492 * Create a new pristine `lodash` function using the `context` object. 15493 * 15494 * @static 15495 * @memberOf _ 15496 * @since 1.1.0 15497 * @category Util 15498 * @param {Object} [context=root] The context object. 15499 * @returns {Function} Returns a new `lodash` function. 15500 * @example 15501 * 15502 * _.mixin({ 'foo': _.constant('foo') }); 15503 * 15504 * var lodash = _.runInContext(); 15505 * lodash.mixin({ 'bar': lodash.constant('bar') }); 15506 * 15507 * _.isFunction(_.foo); 15508 * // => true 15509 * _.isFunction(_.bar); 15510 * // => false 15511 * 15512 * lodash.isFunction(lodash.foo); 15513 * // => false 15514 * lodash.isFunction(lodash.bar); 15515 * // => true 15516 * 15517 * // Create a suped-up `defer` in Node.js. 15518 * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; 15519 */ 15520 var runInContext = (function runInContext(context) { 15521 context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); 15522 15523 /** Built-in constructor references. */ 15524 var Array = context.Array, 15525 Date = context.Date, 15526 Error = context.Error, 15527 Function = context.Function, 15528 Math = context.Math, 15529 Object = context.Object, 15530 RegExp = context.RegExp, 15531 String = context.String, 15532 TypeError = context.TypeError; 15533 15534 /** Used for built-in method references. */ 15535 var arrayProto = Array.prototype, 15536 funcProto = Function.prototype, 15537 objectProto = Object.prototype; 15538 15539 /** Used to detect overreaching core-js shims. */ 15540 var coreJsData = context['__core-js_shared__']; 15541 15542 /** Used to resolve the decompiled source of functions. */ 15543 var funcToString = funcProto.toString; 15544 15545 /** Used to check objects for own properties. */ 15546 var hasOwnProperty = objectProto.hasOwnProperty; 15547 15548 /** Used to generate unique IDs. */ 15549 var idCounter = 0; 15550 15551 /** Used to detect methods masquerading as native. */ 15552 var maskSrcKey = (function() { 15553 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); 15554 return uid ? ('Symbol(src)_1.' + uid) : ''; 15555 }()); 15556 15557 /** 15558 * Used to resolve the 15559 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 15560 * of values. 15561 */ 15562 var nativeObjectToString = objectProto.toString; 15563 15564 /** Used to infer the `Object` constructor. */ 15565 var objectCtorString = funcToString.call(Object); 15566 15567 /** Used to restore the original `_` reference in `_.noConflict`. */ 15568 var oldDash = root._; 15569 15570 /** Used to detect if a method is native. */ 15571 var reIsNative = RegExp('^' + 15572 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') 15573 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' 15574 ); 15575 15576 /** Built-in value references. */ 15577 var Buffer = moduleExports ? context.Buffer : undefined, 15578 Symbol = context.Symbol, 15579 Uint8Array = context.Uint8Array, 15580 allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, 15581 getPrototype = overArg(Object.getPrototypeOf, Object), 15582 objectCreate = Object.create, 15583 propertyIsEnumerable = objectProto.propertyIsEnumerable, 15584 splice = arrayProto.splice, 15585 spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, 15586 symIterator = Symbol ? Symbol.iterator : undefined, 15587 symToStringTag = Symbol ? Symbol.toStringTag : undefined; 15588 15589 var defineProperty = (function() { 15590 try { 15591 var func = getNative(Object, 'defineProperty'); 15592 func({}, '', {}); 15593 return func; 15594 } catch (e) {} 15595 }()); 15596 15597 /** Mocked built-ins. */ 15598 var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, 15599 ctxNow = Date && Date.now !== root.Date.now && Date.now, 15600 ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; 15601 15602 /* Built-in method references for those with the same name as other `lodash` methods. */ 15603 var nativeCeil = Math.ceil, 15604 nativeFloor = Math.floor, 15605 nativeGetSymbols = Object.getOwnPropertySymbols, 15606 nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, 15607 nativeIsFinite = context.isFinite, 15608 nativeJoin = arrayProto.join, 15609 nativeKeys = overArg(Object.keys, Object), 15610 nativeMax = Math.max, 15611 nativeMin = Math.min, 15612 nativeNow = Date.now, 15613 nativeParseInt = context.parseInt, 15614 nativeRandom = Math.random, 15615 nativeReverse = arrayProto.reverse; 15616 15617 /* Built-in method references that are verified to be native. */ 15618 var DataView = getNative(context, 'DataView'), 15619 Map = getNative(context, 'Map'), 15620 Promise = getNative(context, 'Promise'), 15621 Set = getNative(context, 'Set'), 15622 WeakMap = getNative(context, 'WeakMap'), 15623 nativeCreate = getNative(Object, 'create'); 15624 15625 /** Used to store function metadata. */ 15626 var metaMap = WeakMap && new WeakMap; 15627 15628 /** Used to lookup unminified function names. */ 15629 var realNames = {}; 15630 15631 /** Used to detect maps, sets, and weakmaps. */ 15632 var dataViewCtorString = toSource(DataView), 15633 mapCtorString = toSource(Map), 15634 promiseCtorString = toSource(Promise), 15635 setCtorString = toSource(Set), 15636 weakMapCtorString = toSource(WeakMap); 15637 15638 /** Used to convert symbols to primitives and strings. */ 15639 var symbolProto = Symbol ? Symbol.prototype : undefined, 15640 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, 15641 symbolToString = symbolProto ? symbolProto.toString : undefined; 15642 15643 /*------------------------------------------------------------------------*/ 15644 15645 /** 15646 * Creates a `lodash` object which wraps `value` to enable implicit method 15647 * chain sequences. Methods that operate on and return arrays, collections, 15648 * and functions can be chained together. Methods that retrieve a single value 15649 * or may return a primitive value will automatically end the chain sequence 15650 * and return the unwrapped value. Otherwise, the value must be unwrapped 15651 * with `_#value`. 15652 * 15653 * Explicit chain sequences, which must be unwrapped with `_#value`, may be 15654 * enabled using `_.chain`. 15655 * 15656 * The execution of chained methods is lazy, that is, it's deferred until 15657 * `_#value` is implicitly or explicitly called. 15658 * 15659 * Lazy evaluation allows several methods to support shortcut fusion. 15660 * Shortcut fusion is an optimization to merge iteratee calls; this avoids 15661 * the creation of intermediate arrays and can greatly reduce the number of 15662 * iteratee executions. Sections of a chain sequence qualify for shortcut 15663 * fusion if the section is applied to an array and iteratees accept only 15664 * one argument. The heuristic for whether a section qualifies for shortcut 15665 * fusion is subject to change. 15666 * 15667 * Chaining is supported in custom builds as long as the `_#value` method is 15668 * directly or indirectly included in the build. 15669 * 15670 * In addition to lodash methods, wrappers have `Array` and `String` methods. 15671 * 15672 * The wrapper `Array` methods are: 15673 * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` 15674 * 15675 * The wrapper `String` methods are: 15676 * `replace` and `split` 15677 * 15678 * The wrapper methods that support shortcut fusion are: 15679 * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, 15680 * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, 15681 * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` 15682 * 15683 * The chainable wrapper methods are: 15684 * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, 15685 * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, 15686 * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, 15687 * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, 15688 * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, 15689 * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, 15690 * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, 15691 * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, 15692 * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, 15693 * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, 15694 * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, 15695 * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, 15696 * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, 15697 * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, 15698 * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, 15699 * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, 15700 * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, 15701 * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, 15702 * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, 15703 * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, 15704 * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, 15705 * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, 15706 * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, 15707 * `zipObject`, `zipObjectDeep`, and `zipWith` 15708 * 15709 * The wrapper methods that are **not** chainable by default are: 15710 * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, 15711 * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, 15712 * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, 15713 * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, 15714 * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, 15715 * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, 15716 * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, 15717 * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, 15718 * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, 15719 * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, 15720 * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, 15721 * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, 15722 * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, 15723 * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, 15724 * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, 15725 * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, 15726 * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, 15727 * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, 15728 * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, 15729 * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, 15730 * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, 15731 * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, 15732 * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, 15733 * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, 15734 * `upperFirst`, `value`, and `words` 15735 * 15736 * @name _ 15737 * @constructor 15738 * @category Seq 15739 * @param {*} value The value to wrap in a `lodash` instance. 15740 * @returns {Object} Returns the new `lodash` wrapper instance. 15741 * @example 15742 * 15743 * function square(n) { 15744 * return n * n; 15745 * } 15746 * 15747 * var wrapped = _([1, 2, 3]); 15748 * 15749 * // Returns an unwrapped value. 15750 * wrapped.reduce(_.add); 15751 * // => 6 15752 * 15753 * // Returns a wrapped value. 15754 * var squares = wrapped.map(square); 15755 * 15756 * _.isArray(squares); 15757 * // => false 15758 * 15759 * _.isArray(squares.value()); 15760 * // => true 15761 */ 15762 function lodash(value) { 15763 if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { 15764 if (value instanceof LodashWrapper) { 15765 return value; 15766 } 15767 if (hasOwnProperty.call(value, '__wrapped__')) { 15768 return wrapperClone(value); 15769 } 15770 } 15771 return new LodashWrapper(value); 15772 } 15773 15774 /** 15775 * The base implementation of `_.create` without support for assigning 15776 * properties to the created object. 15777 * 15778 * @private 15779 * @param {Object} proto The object to inherit from. 15780 * @returns {Object} Returns the new object. 15781 */ 15782 var baseCreate = (function() { 15783 function object() {} 15784 return function(proto) { 15785 if (!isObject(proto)) { 15786 return {}; 15787 } 15788 if (objectCreate) { 15789 return objectCreate(proto); 15790 } 15791 object.prototype = proto; 15792 var result = new object; 15793 object.prototype = undefined; 15794 return result; 15795 }; 15796 }()); 15797 15798 /** 15799 * The function whose prototype chain sequence wrappers inherit from. 15800 * 15801 * @private 15802 */ 15803 function baseLodash() { 15804 // No operation performed. 15805 } 15806 15807 /** 15808 * The base constructor for creating `lodash` wrapper objects. 15809 * 15810 * @private 15811 * @param {*} value The value to wrap. 15812 * @param {boolean} [chainAll] Enable explicit method chain sequences. 15813 */ 15814 function LodashWrapper(value, chainAll) { 15815 this.__wrapped__ = value; 15816 this.__actions__ = []; 15817 this.__chain__ = !!chainAll; 15818 this.__index__ = 0; 15819 this.__values__ = undefined; 15820 } 15821 15822 /** 15823 * By default, the template delimiters used by lodash are like those in 15824 * embedded Ruby (ERB) as well as ES2015 template strings. Change the 15825 * following template settings to use alternative delimiters. 15826 * 15827 * @static 15828 * @memberOf _ 15829 * @type {Object} 15830 */ 15831 lodash.templateSettings = { 15832 15833 /** 15834 * Used to detect `data` property values to be HTML-escaped. 15835 * 15836 * @memberOf _.templateSettings 15837 * @type {RegExp} 15838 */ 15839 'escape': reEscape, 15840 15841 /** 15842 * Used to detect code to be evaluated. 15843 * 15844 * @memberOf _.templateSettings 15845 * @type {RegExp} 15846 */ 15847 'evaluate': reEvaluate, 15848 15849 /** 15850 * Used to detect `data` property values to inject. 15851 * 15852 * @memberOf _.templateSettings 15853 * @type {RegExp} 15854 */ 15855 'interpolate': reInterpolate, 15856 15857 /** 15858 * Used to reference the data object in the template text. 15859 * 15860 * @memberOf _.templateSettings 15861 * @type {string} 15862 */ 15863 'variable': '', 15864 15865 /** 15866 * Used to import variables into the compiled template. 15867 * 15868 * @memberOf _.templateSettings 15869 * @type {Object} 15870 */ 15871 'imports': { 15872 15873 /** 15874 * A reference to the `lodash` function. 15875 * 15876 * @memberOf _.templateSettings.imports 15877 * @type {Function} 15878 */ 15879 '_': lodash 15880 } 15881 }; 15882 15883 // Ensure wrappers are instances of `baseLodash`. 15884 lodash.prototype = baseLodash.prototype; 15885 lodash.prototype.constructor = lodash; 15886 15887 LodashWrapper.prototype = baseCreate(baseLodash.prototype); 15888 LodashWrapper.prototype.constructor = LodashWrapper; 15889 15890 /*------------------------------------------------------------------------*/ 15891 15892 /** 15893 * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. 15894 * 15895 * @private 15896 * @constructor 15897 * @param {*} value The value to wrap. 15898 */ 15899 function LazyWrapper(value) { 15900 this.__wrapped__ = value; 15901 this.__actions__ = []; 15902 this.__dir__ = 1; 15903 this.__filtered__ = false; 15904 this.__iteratees__ = []; 15905 this.__takeCount__ = MAX_ARRAY_LENGTH; 15906 this.__views__ = []; 15907 } 15908 15909 /** 15910 * Creates a clone of the lazy wrapper object. 15911 * 15912 * @private 15913 * @name clone 15914 * @memberOf LazyWrapper 15915 * @returns {Object} Returns the cloned `LazyWrapper` object. 15916 */ 15917 function lazyClone() { 15918 var result = new LazyWrapper(this.__wrapped__); 15919 result.__actions__ = copyArray(this.__actions__); 15920 result.__dir__ = this.__dir__; 15921 result.__filtered__ = this.__filtered__; 15922 result.__iteratees__ = copyArray(this.__iteratees__); 15923 result.__takeCount__ = this.__takeCount__; 15924 result.__views__ = copyArray(this.__views__); 15925 return result; 15926 } 15927 15928 /** 15929 * Reverses the direction of lazy iteration. 15930 * 15931 * @private 15932 * @name reverse 15933 * @memberOf LazyWrapper 15934 * @returns {Object} Returns the new reversed `LazyWrapper` object. 15935 */ 15936 function lazyReverse() { 15937 if (this.__filtered__) { 15938 var result = new LazyWrapper(this); 15939 result.__dir__ = -1; 15940 result.__filtered__ = true; 15941 } else { 15942 result = this.clone(); 15943 result.__dir__ *= -1; 15944 } 15945 return result; 15946 } 15947 15948 /** 15949 * Extracts the unwrapped value from its lazy wrapper. 15950 * 15951 * @private 15952 * @name value 15953 * @memberOf LazyWrapper 15954 * @returns {*} Returns the unwrapped value. 15955 */ 15956 function lazyValue() { 15957 var array = this.__wrapped__.value(), 15958 dir = this.__dir__, 15959 isArr = isArray(array), 15960 isRight = dir < 0, 15961 arrLength = isArr ? array.length : 0, 15962 view = getView(0, arrLength, this.__views__), 15963 start = view.start, 15964 end = view.end, 15965 length = end - start, 15966 index = isRight ? end : (start - 1), 15967 iteratees = this.__iteratees__, 15968 iterLength = iteratees.length, 15969 resIndex = 0, 15970 takeCount = nativeMin(length, this.__takeCount__); 15971 15972 if (!isArr || (!isRight && arrLength == length && takeCount == length)) { 15973 return baseWrapperValue(array, this.__actions__); 15974 } 15975 var result = []; 15976 15977 outer: 15978 while (length-- && resIndex < takeCount) { 15979 index += dir; 15980 15981 var iterIndex = -1, 15982 value = array[index]; 15983 15984 while (++iterIndex < iterLength) { 15985 var data = iteratees[iterIndex], 15986 iteratee = data.iteratee, 15987 type = data.type, 15988 computed = iteratee(value); 15989 15990 if (type == LAZY_MAP_FLAG) { 15991 value = computed; 15992 } else if (!computed) { 15993 if (type == LAZY_FILTER_FLAG) { 15994 continue outer; 15995 } else { 15996 break outer; 15997 } 15998 } 15999 } 16000 result[resIndex++] = value; 16001 } 16002 return result; 16003 } 16004 16005 // Ensure `LazyWrapper` is an instance of `baseLodash`. 16006 LazyWrapper.prototype = baseCreate(baseLodash.prototype); 16007 LazyWrapper.prototype.constructor = LazyWrapper; 16008 16009 /*------------------------------------------------------------------------*/ 16010 16011 /** 16012 * Creates a hash object. 16013 * 16014 * @private 16015 * @constructor 16016 * @param {Array} [entries] The key-value pairs to cache. 16017 */ 16018 function Hash(entries) { 16019 var index = -1, 16020 length = entries == null ? 0 : entries.length; 16021 16022 this.clear(); 16023 while (++index < length) { 16024 var entry = entries[index]; 16025 this.set(entry[0], entry[1]); 16026 } 16027 } 16028 16029 /** 16030 * Removes all key-value entries from the hash. 16031 * 16032 * @private 16033 * @name clear 16034 * @memberOf Hash 16035 */ 16036 function hashClear() { 16037 this.__data__ = nativeCreate ? nativeCreate(null) : {}; 16038 this.size = 0; 16039 } 16040 16041 /** 16042 * Removes `key` and its value from the hash. 16043 * 16044 * @private 16045 * @name delete 16046 * @memberOf Hash 16047 * @param {Object} hash The hash to modify. 16048 * @param {string} key The key of the value to remove. 16049 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 16050 */ 16051 function hashDelete(key) { 16052 var result = this.has(key) && delete this.__data__[key]; 16053 this.size -= result ? 1 : 0; 16054 return result; 16055 } 16056 16057 /** 16058 * Gets the hash value for `key`. 16059 * 16060 * @private 16061 * @name get 16062 * @memberOf Hash 16063 * @param {string} key The key of the value to get. 16064 * @returns {*} Returns the entry value. 16065 */ 16066 function hashGet(key) { 16067 var data = this.__data__; 16068 if (nativeCreate) { 16069 var result = data[key]; 16070 return result === HASH_UNDEFINED ? undefined : result; 16071 } 16072 return hasOwnProperty.call(data, key) ? data[key] : undefined; 16073 } 16074 16075 /** 16076 * Checks if a hash value for `key` exists. 16077 * 16078 * @private 16079 * @name has 16080 * @memberOf Hash 16081 * @param {string} key The key of the entry to check. 16082 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 16083 */ 16084 function hashHas(key) { 16085 var data = this.__data__; 16086 return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); 16087 } 16088 16089 /** 16090 * Sets the hash `key` to `value`. 16091 * 16092 * @private 16093 * @name set 16094 * @memberOf Hash 16095 * @param {string} key The key of the value to set. 16096 * @param {*} value The value to set. 16097 * @returns {Object} Returns the hash instance. 16098 */ 16099 function hashSet(key, value) { 16100 var data = this.__data__; 16101 this.size += this.has(key) ? 0 : 1; 16102 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; 16103 return this; 16104 } 16105 16106 // Add methods to `Hash`. 16107 Hash.prototype.clear = hashClear; 16108 Hash.prototype['delete'] = hashDelete; 16109 Hash.prototype.get = hashGet; 16110 Hash.prototype.has = hashHas; 16111 Hash.prototype.set = hashSet; 16112 16113 /*------------------------------------------------------------------------*/ 16114 16115 /** 16116 * Creates an list cache object. 16117 * 16118 * @private 16119 * @constructor 16120 * @param {Array} [entries] The key-value pairs to cache. 16121 */ 16122 function ListCache(entries) { 16123 var index = -1, 16124 length = entries == null ? 0 : entries.length; 16125 16126 this.clear(); 16127 while (++index < length) { 16128 var entry = entries[index]; 16129 this.set(entry[0], entry[1]); 16130 } 16131 } 16132 16133 /** 16134 * Removes all key-value entries from the list cache. 16135 * 16136 * @private 16137 * @name clear 16138 * @memberOf ListCache 16139 */ 16140 function listCacheClear() { 16141 this.__data__ = []; 16142 this.size = 0; 16143 } 16144 16145 /** 16146 * Removes `key` and its value from the list cache. 16147 * 16148 * @private 16149 * @name delete 16150 * @memberOf ListCache 16151 * @param {string} key The key of the value to remove. 16152 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 16153 */ 16154 function listCacheDelete(key) { 16155 var data = this.__data__, 16156 index = assocIndexOf(data, key); 16157 16158 if (index < 0) { 16159 return false; 16160 } 16161 var lastIndex = data.length - 1; 16162 if (index == lastIndex) { 16163 data.pop(); 16164 } else { 16165 splice.call(data, index, 1); 16166 } 16167 --this.size; 16168 return true; 16169 } 16170 16171 /** 16172 * Gets the list cache value for `key`. 16173 * 16174 * @private 16175 * @name get 16176 * @memberOf ListCache 16177 * @param {string} key The key of the value to get. 16178 * @returns {*} Returns the entry value. 16179 */ 16180 function listCacheGet(key) { 16181 var data = this.__data__, 16182 index = assocIndexOf(data, key); 16183 16184 return index < 0 ? undefined : data[index][1]; 16185 } 16186 16187 /** 16188 * Checks if a list cache value for `key` exists. 16189 * 16190 * @private 16191 * @name has 16192 * @memberOf ListCache 16193 * @param {string} key The key of the entry to check. 16194 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 16195 */ 16196 function listCacheHas(key) { 16197 return assocIndexOf(this.__data__, key) > -1; 16198 } 16199 16200 /** 16201 * Sets the list cache `key` to `value`. 16202 * 16203 * @private 16204 * @name set 16205 * @memberOf ListCache 16206 * @param {string} key The key of the value to set. 16207 * @param {*} value The value to set. 16208 * @returns {Object} Returns the list cache instance. 16209 */ 16210 function listCacheSet(key, value) { 16211 var data = this.__data__, 16212 index = assocIndexOf(data, key); 16213 16214 if (index < 0) { 16215 ++this.size; 16216 data.push([key, value]); 16217 } else { 16218 data[index][1] = value; 16219 } 16220 return this; 16221 } 16222 16223 // Add methods to `ListCache`. 16224 ListCache.prototype.clear = listCacheClear; 16225 ListCache.prototype['delete'] = listCacheDelete; 16226 ListCache.prototype.get = listCacheGet; 16227 ListCache.prototype.has = listCacheHas; 16228 ListCache.prototype.set = listCacheSet; 16229 16230 /*------------------------------------------------------------------------*/ 16231 16232 /** 16233 * Creates a map cache object to store key-value pairs. 16234 * 16235 * @private 16236 * @constructor 16237 * @param {Array} [entries] The key-value pairs to cache. 16238 */ 16239 function MapCache(entries) { 16240 var index = -1, 16241 length = entries == null ? 0 : entries.length; 16242 16243 this.clear(); 16244 while (++index < length) { 16245 var entry = entries[index]; 16246 this.set(entry[0], entry[1]); 16247 } 16248 } 16249 16250 /** 16251 * Removes all key-value entries from the map. 16252 * 16253 * @private 16254 * @name clear 16255 * @memberOf MapCache 16256 */ 16257 function mapCacheClear() { 16258 this.size = 0; 16259 this.__data__ = { 16260 'hash': new Hash, 16261 'map': new (Map || ListCache), 16262 'string': new Hash 16263 }; 16264 } 16265 16266 /** 16267 * Removes `key` and its value from the map. 16268 * 16269 * @private 16270 * @name delete 16271 * @memberOf MapCache 16272 * @param {string} key The key of the value to remove. 16273 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 16274 */ 16275 function mapCacheDelete(key) { 16276 var result = getMapData(this, key)['delete'](key); 16277 this.size -= result ? 1 : 0; 16278 return result; 16279 } 16280 16281 /** 16282 * Gets the map value for `key`. 16283 * 16284 * @private 16285 * @name get 16286 * @memberOf MapCache 16287 * @param {string} key The key of the value to get. 16288 * @returns {*} Returns the entry value. 16289 */ 16290 function mapCacheGet(key) { 16291 return getMapData(this, key).get(key); 16292 } 16293 16294 /** 16295 * Checks if a map value for `key` exists. 16296 * 16297 * @private 16298 * @name has 16299 * @memberOf MapCache 16300 * @param {string} key The key of the entry to check. 16301 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 16302 */ 16303 function mapCacheHas(key) { 16304 return getMapData(this, key).has(key); 16305 } 16306 16307 /** 16308 * Sets the map `key` to `value`. 16309 * 16310 * @private 16311 * @name set 16312 * @memberOf MapCache 16313 * @param {string} key The key of the value to set. 16314 * @param {*} value The value to set. 16315 * @returns {Object} Returns the map cache instance. 16316 */ 16317 function mapCacheSet(key, value) { 16318 var data = getMapData(this, key), 16319 size = data.size; 16320 16321 data.set(key, value); 16322 this.size += data.size == size ? 0 : 1; 16323 return this; 16324 } 16325 16326 // Add methods to `MapCache`. 16327 MapCache.prototype.clear = mapCacheClear; 16328 MapCache.prototype['delete'] = mapCacheDelete; 16329 MapCache.prototype.get = mapCacheGet; 16330 MapCache.prototype.has = mapCacheHas; 16331 MapCache.prototype.set = mapCacheSet; 16332 16333 /*------------------------------------------------------------------------*/ 16334 16335 /** 16336 * 16337 * Creates an array cache object to store unique values. 16338 * 16339 * @private 16340 * @constructor 16341 * @param {Array} [values] The values to cache. 16342 */ 16343 function SetCache(values) { 16344 var index = -1, 16345 length = values == null ? 0 : values.length; 16346 16347 this.__data__ = new MapCache; 16348 while (++index < length) { 16349 this.add(values[index]); 16350 } 16351 } 16352 16353 /** 16354 * Adds `value` to the array cache. 16355 * 16356 * @private 16357 * @name add 16358 * @memberOf SetCache 16359 * @alias push 16360 * @param {*} value The value to cache. 16361 * @returns {Object} Returns the cache instance. 16362 */ 16363 function setCacheAdd(value) { 16364 this.__data__.set(value, HASH_UNDEFINED); 16365 return this; 16366 } 16367 16368 /** 16369 * Checks if `value` is in the array cache. 16370 * 16371 * @private 16372 * @name has 16373 * @memberOf SetCache 16374 * @param {*} value The value to search for. 16375 * @returns {number} Returns `true` if `value` is found, else `false`. 16376 */ 16377 function setCacheHas(value) { 16378 return this.__data__.has(value); 16379 } 16380 16381 // Add methods to `SetCache`. 16382 SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; 16383 SetCache.prototype.has = setCacheHas; 16384 16385 /*------------------------------------------------------------------------*/ 16386 16387 /** 16388 * Creates a stack cache object to store key-value pairs. 16389 * 16390 * @private 16391 * @constructor 16392 * @param {Array} [entries] The key-value pairs to cache. 16393 */ 16394 function Stack(entries) { 16395 var data = this.__data__ = new ListCache(entries); 16396 this.size = data.size; 16397 } 16398 16399 /** 16400 * Removes all key-value entries from the stack. 16401 * 16402 * @private 16403 * @name clear 16404 * @memberOf Stack 16405 */ 16406 function stackClear() { 16407 this.__data__ = new ListCache; 16408 this.size = 0; 16409 } 16410 16411 /** 16412 * Removes `key` and its value from the stack. 16413 * 16414 * @private 16415 * @name delete 16416 * @memberOf Stack 16417 * @param {string} key The key of the value to remove. 16418 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 16419 */ 16420 function stackDelete(key) { 16421 var data = this.__data__, 16422 result = data['delete'](key); 16423 16424 this.size = data.size; 16425 return result; 16426 } 16427 16428 /** 16429 * Gets the stack value for `key`. 16430 * 16431 * @private 16432 * @name get 16433 * @memberOf Stack 16434 * @param {string} key The key of the value to get. 16435 * @returns {*} Returns the entry value. 16436 */ 16437 function stackGet(key) { 16438 return this.__data__.get(key); 16439 } 16440 16441 /** 16442 * Checks if a stack value for `key` exists. 16443 * 16444 * @private 16445 * @name has 16446 * @memberOf Stack 16447 * @param {string} key The key of the entry to check. 16448 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 16449 */ 16450 function stackHas(key) { 16451 return this.__data__.has(key); 16452 } 16453 16454 /** 16455 * Sets the stack `key` to `value`. 16456 * 16457 * @private 16458 * @name set 16459 * @memberOf Stack 16460 * @param {string} key The key of the value to set. 16461 * @param {*} value The value to set. 16462 * @returns {Object} Returns the stack cache instance. 16463 */ 16464 function stackSet(key, value) { 16465 var data = this.__data__; 16466 if (data instanceof ListCache) { 16467 var pairs = data.__data__; 16468 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { 16469 pairs.push([key, value]); 16470 this.size = ++data.size; 16471 return this; 16472 } 16473 data = this.__data__ = new MapCache(pairs); 16474 } 16475 data.set(key, value); 16476 this.size = data.size; 16477 return this; 16478 } 16479 16480 // Add methods to `Stack`. 16481 Stack.prototype.clear = stackClear; 16482 Stack.prototype['delete'] = stackDelete; 16483 Stack.prototype.get = stackGet; 16484 Stack.prototype.has = stackHas; 16485 Stack.prototype.set = stackSet; 16486 16487 /*------------------------------------------------------------------------*/ 16488 16489 /** 16490 * Creates an array of the enumerable property names of the array-like `value`. 16491 * 16492 * @private 16493 * @param {*} value The value to query. 16494 * @param {boolean} inherited Specify returning inherited property names. 16495 * @returns {Array} Returns the array of property names. 16496 */ 16497 function arrayLikeKeys(value, inherited) { 16498 var isArr = isArray(value), 16499 isArg = !isArr && isArguments(value), 16500 isBuff = !isArr && !isArg && isBuffer(value), 16501 isType = !isArr && !isArg && !isBuff && isTypedArray(value), 16502 skipIndexes = isArr || isArg || isBuff || isType, 16503 result = skipIndexes ? baseTimes(value.length, String) : [], 16504 length = result.length; 16505 16506 for (var key in value) { 16507 if ((inherited || hasOwnProperty.call(value, key)) && 16508 !(skipIndexes && ( 16509 // Safari 9 has enumerable `arguments.length` in strict mode. 16510 key == 'length' || 16511 // Node.js 0.10 has enumerable non-index properties on buffers. 16512 (isBuff && (key == 'offset' || key == 'parent')) || 16513 // PhantomJS 2 has enumerable non-index properties on typed arrays. 16514 (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || 16515 // Skip index properties. 16516 isIndex(key, length) 16517 ))) { 16518 result.push(key); 16519 } 16520 } 16521 return result; 16522 } 16523 16524 /** 16525 * A specialized version of `_.sample` for arrays. 16526 * 16527 * @private 16528 * @param {Array} array The array to sample. 16529 * @returns {*} Returns the random element. 16530 */ 16531 function arraySample(array) { 16532 var length = array.length; 16533 return length ? array[baseRandom(0, length - 1)] : undefined; 16534 } 16535 16536 /** 16537 * A specialized version of `_.sampleSize` for arrays. 16538 * 16539 * @private 16540 * @param {Array} array The array to sample. 16541 * @param {number} n The number of elements to sample. 16542 * @returns {Array} Returns the random elements. 16543 */ 16544 function arraySampleSize(array, n) { 16545 return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); 16546 } 16547 16548 /** 16549 * A specialized version of `_.shuffle` for arrays. 16550 * 16551 * @private 16552 * @param {Array} array The array to shuffle. 16553 * @returns {Array} Returns the new shuffled array. 16554 */ 16555 function arrayShuffle(array) { 16556 return shuffleSelf(copyArray(array)); 16557 } 16558 16559 /** 16560 * This function is like `assignValue` except that it doesn't assign 16561 * `undefined` values. 16562 * 16563 * @private 16564 * @param {Object} object The object to modify. 16565 * @param {string} key The key of the property to assign. 16566 * @param {*} value The value to assign. 16567 */ 16568 function assignMergeValue(object, key, value) { 16569 if ((value !== undefined && !eq(object[key], value)) || 16570 (value === undefined && !(key in object))) { 16571 baseAssignValue(object, key, value); 16572 } 16573 } 16574 16575 /** 16576 * Assigns `value` to `key` of `object` if the existing value is not equivalent 16577 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 16578 * for equality comparisons. 16579 * 16580 * @private 16581 * @param {Object} object The object to modify. 16582 * @param {string} key The key of the property to assign. 16583 * @param {*} value The value to assign. 16584 */ 16585 function assignValue(object, key, value) { 16586 var objValue = object[key]; 16587 if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || 16588 (value === undefined && !(key in object))) { 16589 baseAssignValue(object, key, value); 16590 } 16591 } 16592 16593 /** 16594 * Gets the index at which the `key` is found in `array` of key-value pairs. 16595 * 16596 * @private 16597 * @param {Array} array The array to inspect. 16598 * @param {*} key The key to search for. 16599 * @returns {number} Returns the index of the matched value, else `-1`. 16600 */ 16601 function assocIndexOf(array, key) { 16602 var length = array.length; 16603 while (length--) { 16604 if (eq(array[length][0], key)) { 16605 return length; 16606 } 16607 } 16608 return -1; 16609 } 16610 16611 /** 16612 * Aggregates elements of `collection` on `accumulator` with keys transformed 16613 * by `iteratee` and values set by `setter`. 16614 * 16615 * @private 16616 * @param {Array|Object} collection The collection to iterate over. 16617 * @param {Function} setter The function to set `accumulator` values. 16618 * @param {Function} iteratee The iteratee to transform keys. 16619 * @param {Object} accumulator The initial aggregated object. 16620 * @returns {Function} Returns `accumulator`. 16621 */ 16622 function baseAggregator(collection, setter, iteratee, accumulator) { 16623 baseEach(collection, function(value, key, collection) { 16624 setter(accumulator, value, iteratee(value), collection); 16625 }); 16626 return accumulator; 16627 } 16628 16629 /** 16630 * The base implementation of `_.assign` without support for multiple sources 16631 * or `customizer` functions. 16632 * 16633 * @private 16634 * @param {Object} object The destination object. 16635 * @param {Object} source The source object. 16636 * @returns {Object} Returns `object`. 16637 */ 16638 function baseAssign(object, source) { 16639 return object && copyObject(source, keys(source), object); 16640 } 16641 16642 /** 16643 * The base implementation of `_.assignIn` without support for multiple sources 16644 * or `customizer` functions. 16645 * 16646 * @private 16647 * @param {Object} object The destination object. 16648 * @param {Object} source The source object. 16649 * @returns {Object} Returns `object`. 16650 */ 16651 function baseAssignIn(object, source) { 16652 return object && copyObject(source, keysIn(source), object); 16653 } 16654 16655 /** 16656 * The base implementation of `assignValue` and `assignMergeValue` without 16657 * value checks. 16658 * 16659 * @private 16660 * @param {Object} object The object to modify. 16661 * @param {string} key The key of the property to assign. 16662 * @param {*} value The value to assign. 16663 */ 16664 function baseAssignValue(object, key, value) { 16665 if (key == '__proto__' && defineProperty) { 16666 defineProperty(object, key, { 16667 'configurable': true, 16668 'enumerable': true, 16669 'value': value, 16670 'writable': true 16671 }); 16672 } else { 16673 object[key] = value; 16674 } 16675 } 16676 16677 /** 16678 * The base implementation of `_.at` without support for individual paths. 16679 * 16680 * @private 16681 * @param {Object} object The object to iterate over. 16682 * @param {string[]} paths The property paths to pick. 16683 * @returns {Array} Returns the picked elements. 16684 */ 16685 function baseAt(object, paths) { 16686 var index = -1, 16687 length = paths.length, 16688 result = Array(length), 16689 skip = object == null; 16690 16691 while (++index < length) { 16692 result[index] = skip ? undefined : get(object, paths[index]); 16693 } 16694 return result; 16695 } 16696 16697 /** 16698 * The base implementation of `_.clamp` which doesn't coerce arguments. 16699 * 16700 * @private 16701 * @param {number} number The number to clamp. 16702 * @param {number} [lower] The lower bound. 16703 * @param {number} upper The upper bound. 16704 * @returns {number} Returns the clamped number. 16705 */ 16706 function baseClamp(number, lower, upper) { 16707 if (number === number) { 16708 if (upper !== undefined) { 16709 number = number <= upper ? number : upper; 16710 } 16711 if (lower !== undefined) { 16712 number = number >= lower ? number : lower; 16713 } 16714 } 16715 return number; 16716 } 16717 16718 /** 16719 * The base implementation of `_.clone` and `_.cloneDeep` which tracks 16720 * traversed objects. 16721 * 16722 * @private 16723 * @param {*} value The value to clone. 16724 * @param {boolean} bitmask The bitmask flags. 16725 * 1 - Deep clone 16726 * 2 - Flatten inherited properties 16727 * 4 - Clone symbols 16728 * @param {Function} [customizer] The function to customize cloning. 16729 * @param {string} [key] The key of `value`. 16730 * @param {Object} [object] The parent object of `value`. 16731 * @param {Object} [stack] Tracks traversed objects and their clone counterparts. 16732 * @returns {*} Returns the cloned value. 16733 */ 16734 function baseClone(value, bitmask, customizer, key, object, stack) { 16735 var result, 16736 isDeep = bitmask & CLONE_DEEP_FLAG, 16737 isFlat = bitmask & CLONE_FLAT_FLAG, 16738 isFull = bitmask & CLONE_SYMBOLS_FLAG; 16739 16740 if (customizer) { 16741 result = object ? customizer(value, key, object, stack) : customizer(value); 16742 } 16743 if (result !== undefined) { 16744 return result; 16745 } 16746 if (!isObject(value)) { 16747 return value; 16748 } 16749 var isArr = isArray(value); 16750 if (isArr) { 16751 result = initCloneArray(value); 16752 if (!isDeep) { 16753 return copyArray(value, result); 16754 } 16755 } else { 16756 var tag = getTag(value), 16757 isFunc = tag == funcTag || tag == genTag; 16758 16759 if (isBuffer(value)) { 16760 return cloneBuffer(value, isDeep); 16761 } 16762 if (tag == objectTag || tag == argsTag || (isFunc && !object)) { 16763 result = (isFlat || isFunc) ? {} : initCloneObject(value); 16764 if (!isDeep) { 16765 return isFlat 16766 ? copySymbolsIn(value, baseAssignIn(result, value)) 16767 : copySymbols(value, baseAssign(result, value)); 16768 } 16769 } else { 16770 if (!cloneableTags[tag]) { 16771 return object ? value : {}; 16772 } 16773 result = initCloneByTag(value, tag, isDeep); 16774 } 16775 } 16776 // Check for circular references and return its corresponding clone. 16777 stack || (stack = new Stack); 16778 var stacked = stack.get(value); 16779 if (stacked) { 16780 return stacked; 16781 } 16782 stack.set(value, result); 16783 16784 if (isSet(value)) { 16785 value.forEach(function(subValue) { 16786 result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); 16787 }); 16788 } else if (isMap(value)) { 16789 value.forEach(function(subValue, key) { 16790 result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); 16791 }); 16792 } 16793 16794 var keysFunc = isFull 16795 ? (isFlat ? getAllKeysIn : getAllKeys) 16796 : (isFlat ? keysIn : keys); 16797 16798 var props = isArr ? undefined : keysFunc(value); 16799 arrayEach(props || value, function(subValue, key) { 16800 if (props) { 16801 key = subValue; 16802 subValue = value[key]; 16803 } 16804 // Recursively populate clone (susceptible to call stack limits). 16805 assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); 16806 }); 16807 return result; 16808 } 16809 16810 /** 16811 * The base implementation of `_.conforms` which doesn't clone `source`. 16812 * 16813 * @private 16814 * @param {Object} source The object of property predicates to conform to. 16815 * @returns {Function} Returns the new spec function. 16816 */ 16817 function baseConforms(source) { 16818 var props = keys(source); 16819 return function(object) { 16820 return baseConformsTo(object, source, props); 16821 }; 16822 } 16823 16824 /** 16825 * The base implementation of `_.conformsTo` which accepts `props` to check. 16826 * 16827 * @private 16828 * @param {Object} object The object to inspect. 16829 * @param {Object} source The object of property predicates to conform to. 16830 * @returns {boolean} Returns `true` if `object` conforms, else `false`. 16831 */ 16832 function baseConformsTo(object, source, props) { 16833 var length = props.length; 16834 if (object == null) { 16835 return !length; 16836 } 16837 object = Object(object); 16838 while (length--) { 16839 var key = props[length], 16840 predicate = source[key], 16841 value = object[key]; 16842 16843 if ((value === undefined && !(key in object)) || !predicate(value)) { 16844 return false; 16845 } 16846 } 16847 return true; 16848 } 16849 16850 /** 16851 * The base implementation of `_.delay` and `_.defer` which accepts `args` 16852 * to provide to `func`. 16853 * 16854 * @private 16855 * @param {Function} func The function to delay. 16856 * @param {number} wait The number of milliseconds to delay invocation. 16857 * @param {Array} args The arguments to provide to `func`. 16858 * @returns {number|Object} Returns the timer id or timeout object. 16859 */ 16860 function baseDelay(func, wait, args) { 16861 if (typeof func != 'function') { 16862 throw new TypeError(FUNC_ERROR_TEXT); 16863 } 16864 return setTimeout(function() { func.apply(undefined, args); }, wait); 16865 } 16866 16867 /** 16868 * The base implementation of methods like `_.difference` without support 16869 * for excluding multiple arrays or iteratee shorthands. 16870 * 16871 * @private 16872 * @param {Array} array The array to inspect. 16873 * @param {Array} values The values to exclude. 16874 * @param {Function} [iteratee] The iteratee invoked per element. 16875 * @param {Function} [comparator] The comparator invoked per element. 16876 * @returns {Array} Returns the new array of filtered values. 16877 */ 16878 function baseDifference(array, values, iteratee, comparator) { 16879 var index = -1, 16880 includes = arrayIncludes, 16881 isCommon = true, 16882 length = array.length, 16883 result = [], 16884 valuesLength = values.length; 16885 16886 if (!length) { 16887 return result; 16888 } 16889 if (iteratee) { 16890 values = arrayMap(values, baseUnary(iteratee)); 16891 } 16892 if (comparator) { 16893 includes = arrayIncludesWith; 16894 isCommon = false; 16895 } 16896 else if (values.length >= LARGE_ARRAY_SIZE) { 16897 includes = cacheHas; 16898 isCommon = false; 16899 values = new SetCache(values); 16900 } 16901 outer: 16902 while (++index < length) { 16903 var value = array[index], 16904 computed = iteratee == null ? value : iteratee(value); 16905 16906 value = (comparator || value !== 0) ? value : 0; 16907 if (isCommon && computed === computed) { 16908 var valuesIndex = valuesLength; 16909 while (valuesIndex--) { 16910 if (values[valuesIndex] === computed) { 16911 continue outer; 16912 } 16913 } 16914 result.push(value); 16915 } 16916 else if (!includes(values, computed, comparator)) { 16917 result.push(value); 16918 } 16919 } 16920 return result; 16921 } 16922 16923 /** 16924 * The base implementation of `_.forEach` without support for iteratee shorthands. 16925 * 16926 * @private 16927 * @param {Array|Object} collection The collection to iterate over. 16928 * @param {Function} iteratee The function invoked per iteration. 16929 * @returns {Array|Object} Returns `collection`. 16930 */ 16931 var baseEach = createBaseEach(baseForOwn); 16932 16933 /** 16934 * The base implementation of `_.forEachRight` without support for iteratee shorthands. 16935 * 16936 * @private 16937 * @param {Array|Object} collection The collection to iterate over. 16938 * @param {Function} iteratee The function invoked per iteration. 16939 * @returns {Array|Object} Returns `collection`. 16940 */ 16941 var baseEachRight = createBaseEach(baseForOwnRight, true); 16942 16943 /** 16944 * The base implementation of `_.every` without support for iteratee shorthands. 16945 * 16946 * @private 16947 * @param {Array|Object} collection The collection to iterate over. 16948 * @param {Function} predicate The function invoked per iteration. 16949 * @returns {boolean} Returns `true` if all elements pass the predicate check, 16950 * else `false` 16951 */ 16952 function baseEvery(collection, predicate) { 16953 var result = true; 16954 baseEach(collection, function(value, index, collection) { 16955 result = !!predicate(value, index, collection); 16956 return result; 16957 }); 16958 return result; 16959 } 16960 16961 /** 16962 * The base implementation of methods like `_.max` and `_.min` which accepts a 16963 * `comparator` to determine the extremum value. 16964 * 16965 * @private 16966 * @param {Array} array The array to iterate over. 16967 * @param {Function} iteratee The iteratee invoked per iteration. 16968 * @param {Function} comparator The comparator used to compare values. 16969 * @returns {*} Returns the extremum value. 16970 */ 16971 function baseExtremum(array, iteratee, comparator) { 16972 var index = -1, 16973 length = array.length; 16974 16975 while (++index < length) { 16976 var value = array[index], 16977 current = iteratee(value); 16978 16979 if (current != null && (computed === undefined 16980 ? (current === current && !isSymbol(current)) 16981 : comparator(current, computed) 16982 )) { 16983 var computed = current, 16984 result = value; 16985 } 16986 } 16987 return result; 16988 } 16989 16990 /** 16991 * The base implementation of `_.fill` without an iteratee call guard. 16992 * 16993 * @private 16994 * @param {Array} array The array to fill. 16995 * @param {*} value The value to fill `array` with. 16996 * @param {number} [start=0] The start position. 16997 * @param {number} [end=array.length] The end position. 16998 * @returns {Array} Returns `array`. 16999 */ 17000 function baseFill(array, value, start, end) { 17001 var length = array.length; 17002 17003 start = toInteger(start); 17004 if (start < 0) { 17005 start = -start > length ? 0 : (length + start); 17006 } 17007 end = (end === undefined || end > length) ? length : toInteger(end); 17008 if (end < 0) { 17009 end += length; 17010 } 17011 end = start > end ? 0 : toLength(end); 17012 while (start < end) { 17013 array[start++] = value; 17014 } 17015 return array; 17016 } 17017 17018 /** 17019 * The base implementation of `_.filter` without support for iteratee shorthands. 17020 * 17021 * @private 17022 * @param {Array|Object} collection The collection to iterate over. 17023 * @param {Function} predicate The function invoked per iteration. 17024 * @returns {Array} Returns the new filtered array. 17025 */ 17026 function baseFilter(collection, predicate) { 17027 var result = []; 17028 baseEach(collection, function(value, index, collection) { 17029 if (predicate(value, index, collection)) { 17030 result.push(value); 17031 } 17032 }); 17033 return result; 17034 } 17035 17036 /** 17037 * The base implementation of `_.flatten` with support for restricting flattening. 17038 * 17039 * @private 17040 * @param {Array} array The array to flatten. 17041 * @param {number} depth The maximum recursion depth. 17042 * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. 17043 * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. 17044 * @param {Array} [result=[]] The initial result value. 17045 * @returns {Array} Returns the new flattened array. 17046 */ 17047 function baseFlatten(array, depth, predicate, isStrict, result) { 17048 var index = -1, 17049 length = array.length; 17050 17051 predicate || (predicate = isFlattenable); 17052 result || (result = []); 17053 17054 while (++index < length) { 17055 var value = array[index]; 17056 if (depth > 0 && predicate(value)) { 17057 if (depth > 1) { 17058 // Recursively flatten arrays (susceptible to call stack limits). 17059 baseFlatten(value, depth - 1, predicate, isStrict, result); 17060 } else { 17061 arrayPush(result, value); 17062 } 17063 } else if (!isStrict) { 17064 result[result.length] = value; 17065 } 17066 } 17067 return result; 17068 } 17069 17070 /** 17071 * The base implementation of `baseForOwn` which iterates over `object` 17072 * properties returned by `keysFunc` and invokes `iteratee` for each property. 17073 * Iteratee functions may exit iteration early by explicitly returning `false`. 17074 * 17075 * @private 17076 * @param {Object} object The object to iterate over. 17077 * @param {Function} iteratee The function invoked per iteration. 17078 * @param {Function} keysFunc The function to get the keys of `object`. 17079 * @returns {Object} Returns `object`. 17080 */ 17081 var baseFor = createBaseFor(); 17082 17083 /** 17084 * This function is like `baseFor` except that it iterates over properties 17085 * in the opposite order. 17086 * 17087 * @private 17088 * @param {Object} object The object to iterate over. 17089 * @param {Function} iteratee The function invoked per iteration. 17090 * @param {Function} keysFunc The function to get the keys of `object`. 17091 * @returns {Object} Returns `object`. 17092 */ 17093 var baseForRight = createBaseFor(true); 17094 17095 /** 17096 * The base implementation of `_.forOwn` without support for iteratee shorthands. 17097 * 17098 * @private 17099 * @param {Object} object The object to iterate over. 17100 * @param {Function} iteratee The function invoked per iteration. 17101 * @returns {Object} Returns `object`. 17102 */ 17103 function baseForOwn(object, iteratee) { 17104 return object && baseFor(object, iteratee, keys); 17105 } 17106 17107 /** 17108 * The base implementation of `_.forOwnRight` without support for iteratee shorthands. 17109 * 17110 * @private 17111 * @param {Object} object The object to iterate over. 17112 * @param {Function} iteratee The function invoked per iteration. 17113 * @returns {Object} Returns `object`. 17114 */ 17115 function baseForOwnRight(object, iteratee) { 17116 return object && baseForRight(object, iteratee, keys); 17117 } 17118 17119 /** 17120 * The base implementation of `_.functions` which creates an array of 17121 * `object` function property names filtered from `props`. 17122 * 17123 * @private 17124 * @param {Object} object The object to inspect. 17125 * @param {Array} props The property names to filter. 17126 * @returns {Array} Returns the function names. 17127 */ 17128 function baseFunctions(object, props) { 17129 return arrayFilter(props, function(key) { 17130 return isFunction(object[key]); 17131 }); 17132 } 17133 17134 /** 17135 * The base implementation of `_.get` without support for default values. 17136 * 17137 * @private 17138 * @param {Object} object The object to query. 17139 * @param {Array|string} path The path of the property to get. 17140 * @returns {*} Returns the resolved value. 17141 */ 17142 function baseGet(object, path) { 17143 path = castPath(path, object); 17144 17145 var index = 0, 17146 length = path.length; 17147 17148 while (object != null && index < length) { 17149 object = object[toKey(path[index++])]; 17150 } 17151 return (index && index == length) ? object : undefined; 17152 } 17153 17154 /** 17155 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses 17156 * `keysFunc` and `symbolsFunc` to get the enumerable property names and 17157 * symbols of `object`. 17158 * 17159 * @private 17160 * @param {Object} object The object to query. 17161 * @param {Function} keysFunc The function to get the keys of `object`. 17162 * @param {Function} symbolsFunc The function to get the symbols of `object`. 17163 * @returns {Array} Returns the array of property names and symbols. 17164 */ 17165 function baseGetAllKeys(object, keysFunc, symbolsFunc) { 17166 var result = keysFunc(object); 17167 return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); 17168 } 17169 17170 /** 17171 * The base implementation of `getTag` without fallbacks for buggy environments. 17172 * 17173 * @private 17174 * @param {*} value The value to query. 17175 * @returns {string} Returns the `toStringTag`. 17176 */ 17177 function baseGetTag(value) { 17178 if (value == null) { 17179 return value === undefined ? undefinedTag : nullTag; 17180 } 17181 return (symToStringTag && symToStringTag in Object(value)) 17182 ? getRawTag(value) 17183 : objectToString(value); 17184 } 17185 17186 /** 17187 * The base implementation of `_.gt` which doesn't coerce arguments. 17188 * 17189 * @private 17190 * @param {*} value The value to compare. 17191 * @param {*} other The other value to compare. 17192 * @returns {boolean} Returns `true` if `value` is greater than `other`, 17193 * else `false`. 17194 */ 17195 function baseGt(value, other) { 17196 return value > other; 17197 } 17198 17199 /** 17200 * The base implementation of `_.has` without support for deep paths. 17201 * 17202 * @private 17203 * @param {Object} [object] The object to query. 17204 * @param {Array|string} key The key to check. 17205 * @returns {boolean} Returns `true` if `key` exists, else `false`. 17206 */ 17207 function baseHas(object, key) { 17208 return object != null && hasOwnProperty.call(object, key); 17209 } 17210 17211 /** 17212 * The base implementation of `_.hasIn` without support for deep paths. 17213 * 17214 * @private 17215 * @param {Object} [object] The object to query. 17216 * @param {Array|string} key The key to check. 17217 * @returns {boolean} Returns `true` if `key` exists, else `false`. 17218 */ 17219 function baseHasIn(object, key) { 17220 return object != null && key in Object(object); 17221 } 17222 17223 /** 17224 * The base implementation of `_.inRange` which doesn't coerce arguments. 17225 * 17226 * @private 17227 * @param {number} number The number to check. 17228 * @param {number} start The start of the range. 17229 * @param {number} end The end of the range. 17230 * @returns {boolean} Returns `true` if `number` is in the range, else `false`. 17231 */ 17232 function baseInRange(number, start, end) { 17233 return number >= nativeMin(start, end) && number < nativeMax(start, end); 17234 } 17235 17236 /** 17237 * The base implementation of methods like `_.intersection`, without support 17238 * for iteratee shorthands, that accepts an array of arrays to inspect. 17239 * 17240 * @private 17241 * @param {Array} arrays The arrays to inspect. 17242 * @param {Function} [iteratee] The iteratee invoked per element. 17243 * @param {Function} [comparator] The comparator invoked per element. 17244 * @returns {Array} Returns the new array of shared values. 17245 */ 17246 function baseIntersection(arrays, iteratee, comparator) { 17247 var includes = comparator ? arrayIncludesWith : arrayIncludes, 17248 length = arrays[0].length, 17249 othLength = arrays.length, 17250 othIndex = othLength, 17251 caches = Array(othLength), 17252 maxLength = Infinity, 17253 result = []; 17254 17255 while (othIndex--) { 17256 var array = arrays[othIndex]; 17257 if (othIndex && iteratee) { 17258 array = arrayMap(array, baseUnary(iteratee)); 17259 } 17260 maxLength = nativeMin(array.length, maxLength); 17261 caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) 17262 ? new SetCache(othIndex && array) 17263 : undefined; 17264 } 17265 array = arrays[0]; 17266 17267 var index = -1, 17268 seen = caches[0]; 17269 17270 outer: 17271 while (++index < length && result.length < maxLength) { 17272 var value = array[index], 17273 computed = iteratee ? iteratee(value) : value; 17274 17275 value = (comparator || value !== 0) ? value : 0; 17276 if (!(seen 17277 ? cacheHas(seen, computed) 17278 : includes(result, computed, comparator) 17279 )) { 17280 othIndex = othLength; 17281 while (--othIndex) { 17282 var cache = caches[othIndex]; 17283 if (!(cache 17284 ? cacheHas(cache, computed) 17285 : includes(arrays[othIndex], computed, comparator)) 17286 ) { 17287 continue outer; 17288 } 17289 } 17290 if (seen) { 17291 seen.push(computed); 17292 } 17293 result.push(value); 17294 } 17295 } 17296 return result; 17297 } 17298 17299 /** 17300 * The base implementation of `_.invert` and `_.invertBy` which inverts 17301 * `object` with values transformed by `iteratee` and set by `setter`. 17302 * 17303 * @private 17304 * @param {Object} object The object to iterate over. 17305 * @param {Function} setter The function to set `accumulator` values. 17306 * @param {Function} iteratee The iteratee to transform values. 17307 * @param {Object} accumulator The initial inverted object. 17308 * @returns {Function} Returns `accumulator`. 17309 */ 17310 function baseInverter(object, setter, iteratee, accumulator) { 17311 baseForOwn(object, function(value, key, object) { 17312 setter(accumulator, iteratee(value), key, object); 17313 }); 17314 return accumulator; 17315 } 17316 17317 /** 17318 * The base implementation of `_.invoke` without support for individual 17319 * method arguments. 17320 * 17321 * @private 17322 * @param {Object} object The object to query. 17323 * @param {Array|string} path The path of the method to invoke. 17324 * @param {Array} args The arguments to invoke the method with. 17325 * @returns {*} Returns the result of the invoked method. 17326 */ 17327 function baseInvoke(object, path, args) { 17328 path = castPath(path, object); 17329 object = parent(object, path); 17330 var func = object == null ? object : object[toKey(last(path))]; 17331 return func == null ? undefined : apply(func, object, args); 17332 } 17333 17334 /** 17335 * The base implementation of `_.isArguments`. 17336 * 17337 * @private 17338 * @param {*} value The value to check. 17339 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 17340 */ 17341 function baseIsArguments(value) { 17342 return isObjectLike(value) && baseGetTag(value) == argsTag; 17343 } 17344 17345 /** 17346 * The base implementation of `_.isArrayBuffer` without Node.js optimizations. 17347 * 17348 * @private 17349 * @param {*} value The value to check. 17350 * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. 17351 */ 17352 function baseIsArrayBuffer(value) { 17353 return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; 17354 } 17355 17356 /** 17357 * The base implementation of `_.isDate` without Node.js optimizations. 17358 * 17359 * @private 17360 * @param {*} value The value to check. 17361 * @returns {boolean} Returns `true` if `value` is a date object, else `false`. 17362 */ 17363 function baseIsDate(value) { 17364 return isObjectLike(value) && baseGetTag(value) == dateTag; 17365 } 17366 17367 /** 17368 * The base implementation of `_.isEqual` which supports partial comparisons 17369 * and tracks traversed objects. 17370 * 17371 * @private 17372 * @param {*} value The value to compare. 17373 * @param {*} other The other value to compare. 17374 * @param {boolean} bitmask The bitmask flags. 17375 * 1 - Unordered comparison 17376 * 2 - Partial comparison 17377 * @param {Function} [customizer] The function to customize comparisons. 17378 * @param {Object} [stack] Tracks traversed `value` and `other` objects. 17379 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 17380 */ 17381 function baseIsEqual(value, other, bitmask, customizer, stack) { 17382 if (value === other) { 17383 return true; 17384 } 17385 if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { 17386 return value !== value && other !== other; 17387 } 17388 return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); 17389 } 17390 17391 /** 17392 * A specialized version of `baseIsEqual` for arrays and objects which performs 17393 * deep comparisons and tracks traversed objects enabling objects with circular 17394 * references to be compared. 17395 * 17396 * @private 17397 * @param {Object} object The object to compare. 17398 * @param {Object} other The other object to compare. 17399 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 17400 * @param {Function} customizer The function to customize comparisons. 17401 * @param {Function} equalFunc The function to determine equivalents of values. 17402 * @param {Object} [stack] Tracks traversed `object` and `other` objects. 17403 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 17404 */ 17405 function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { 17406 var objIsArr = isArray(object), 17407 othIsArr = isArray(other), 17408 objTag = objIsArr ? arrayTag : getTag(object), 17409 othTag = othIsArr ? arrayTag : getTag(other); 17410 17411 objTag = objTag == argsTag ? objectTag : objTag; 17412 othTag = othTag == argsTag ? objectTag : othTag; 17413 17414 var objIsObj = objTag == objectTag, 17415 othIsObj = othTag == objectTag, 17416 isSameTag = objTag == othTag; 17417 17418 if (isSameTag && isBuffer(object)) { 17419 if (!isBuffer(other)) { 17420 return false; 17421 } 17422 objIsArr = true; 17423 objIsObj = false; 17424 } 17425 if (isSameTag && !objIsObj) { 17426 stack || (stack = new Stack); 17427 return (objIsArr || isTypedArray(object)) 17428 ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) 17429 : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); 17430 } 17431 if (!(bitmask & COMPARE_PARTIAL_FLAG)) { 17432 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), 17433 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); 17434 17435 if (objIsWrapped || othIsWrapped) { 17436 var objUnwrapped = objIsWrapped ? object.value() : object, 17437 othUnwrapped = othIsWrapped ? other.value() : other; 17438 17439 stack || (stack = new Stack); 17440 return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); 17441 } 17442 } 17443 if (!isSameTag) { 17444 return false; 17445 } 17446 stack || (stack = new Stack); 17447 return equalObjects(object, other, bitmask, customizer, equalFunc, stack); 17448 } 17449 17450 /** 17451 * The base implementation of `_.isMap` without Node.js optimizations. 17452 * 17453 * @private 17454 * @param {*} value The value to check. 17455 * @returns {boolean} Returns `true` if `value` is a map, else `false`. 17456 */ 17457 function baseIsMap(value) { 17458 return isObjectLike(value) && getTag(value) == mapTag; 17459 } 17460 17461 /** 17462 * The base implementation of `_.isMatch` without support for iteratee shorthands. 17463 * 17464 * @private 17465 * @param {Object} object The object to inspect. 17466 * @param {Object} source The object of property values to match. 17467 * @param {Array} matchData The property names, values, and compare flags to match. 17468 * @param {Function} [customizer] The function to customize comparisons. 17469 * @returns {boolean} Returns `true` if `object` is a match, else `false`. 17470 */ 17471 function baseIsMatch(object, source, matchData, customizer) { 17472 var index = matchData.length, 17473 length = index, 17474 noCustomizer = !customizer; 17475 17476 if (object == null) { 17477 return !length; 17478 } 17479 object = Object(object); 17480 while (index--) { 17481 var data = matchData[index]; 17482 if ((noCustomizer && data[2]) 17483 ? data[1] !== object[data[0]] 17484 : !(data[0] in object) 17485 ) { 17486 return false; 17487 } 17488 } 17489 while (++index < length) { 17490 data = matchData[index]; 17491 var key = data[0], 17492 objValue = object[key], 17493 srcValue = data[1]; 17494 17495 if (noCustomizer && data[2]) { 17496 if (objValue === undefined && !(key in object)) { 17497 return false; 17498 } 17499 } else { 17500 var stack = new Stack; 17501 if (customizer) { 17502 var result = customizer(objValue, srcValue, key, object, source, stack); 17503 } 17504 if (!(result === undefined 17505 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) 17506 : result 17507 )) { 17508 return false; 17509 } 17510 } 17511 } 17512 return true; 17513 } 17514 17515 /** 17516 * The base implementation of `_.isNative` without bad shim checks. 17517 * 17518 * @private 17519 * @param {*} value The value to check. 17520 * @returns {boolean} Returns `true` if `value` is a native function, 17521 * else `false`. 17522 */ 17523 function baseIsNative(value) { 17524 if (!isObject(value) || isMasked(value)) { 17525 return false; 17526 } 17527 var pattern = isFunction(value) ? reIsNative : reIsHostCtor; 17528 return pattern.test(toSource(value)); 17529 } 17530 17531 /** 17532 * The base implementation of `_.isRegExp` without Node.js optimizations. 17533 * 17534 * @private 17535 * @param {*} value The value to check. 17536 * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. 17537 */ 17538 function baseIsRegExp(value) { 17539 return isObjectLike(value) && baseGetTag(value) == regexpTag; 17540 } 17541 17542 /** 17543 * The base implementation of `_.isSet` without Node.js optimizations. 17544 * 17545 * @private 17546 * @param {*} value The value to check. 17547 * @returns {boolean} Returns `true` if `value` is a set, else `false`. 17548 */ 17549 function baseIsSet(value) { 17550 return isObjectLike(value) && getTag(value) == setTag; 17551 } 17552 17553 /** 17554 * The base implementation of `_.isTypedArray` without Node.js optimizations. 17555 * 17556 * @private 17557 * @param {*} value The value to check. 17558 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 17559 */ 17560 function baseIsTypedArray(value) { 17561 return isObjectLike(value) && 17562 isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; 17563 } 17564 17565 /** 17566 * The base implementation of `_.iteratee`. 17567 * 17568 * @private 17569 * @param {*} [value=_.identity] The value to convert to an iteratee. 17570 * @returns {Function} Returns the iteratee. 17571 */ 17572 function baseIteratee(value) { 17573 // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. 17574 // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. 17575 if (typeof value == 'function') { 17576 return value; 17577 } 17578 if (value == null) { 17579 return identity; 17580 } 17581 if (typeof value == 'object') { 17582 return isArray(value) 17583 ? baseMatchesProperty(value[0], value[1]) 17584 : baseMatches(value); 17585 } 17586 return property(value); 17587 } 17588 17589 /** 17590 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. 17591 * 17592 * @private 17593 * @param {Object} object The object to query. 17594 * @returns {Array} Returns the array of property names. 17595 */ 17596 function baseKeys(object) { 17597 if (!isPrototype(object)) { 17598 return nativeKeys(object); 17599 } 17600 var result = []; 17601 for (var key in Object(object)) { 17602 if (hasOwnProperty.call(object, key) && key != 'constructor') { 17603 result.push(key); 17604 } 17605 } 17606 return result; 17607 } 17608 17609 /** 17610 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. 17611 * 17612 * @private 17613 * @param {Object} object The object to query. 17614 * @returns {Array} Returns the array of property names. 17615 */ 17616 function baseKeysIn(object) { 17617 if (!isObject(object)) { 17618 return nativeKeysIn(object); 17619 } 17620 var isProto = isPrototype(object), 17621 result = []; 17622 17623 for (var key in object) { 17624 if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { 17625 result.push(key); 17626 } 17627 } 17628 return result; 17629 } 17630 17631 /** 17632 * The base implementation of `_.lt` which doesn't coerce arguments. 17633 * 17634 * @private 17635 * @param {*} value The value to compare. 17636 * @param {*} other The other value to compare. 17637 * @returns {boolean} Returns `true` if `value` is less than `other`, 17638 * else `false`. 17639 */ 17640 function baseLt(value, other) { 17641 return value < other; 17642 } 17643 17644 /** 17645 * The base implementation of `_.map` without support for iteratee shorthands. 17646 * 17647 * @private 17648 * @param {Array|Object} collection The collection to iterate over. 17649 * @param {Function} iteratee The function invoked per iteration. 17650 * @returns {Array} Returns the new mapped array. 17651 */ 17652 function baseMap(collection, iteratee) { 17653 var index = -1, 17654 result = isArrayLike(collection) ? Array(collection.length) : []; 17655 17656 baseEach(collection, function(value, key, collection) { 17657 result[++index] = iteratee(value, key, collection); 17658 }); 17659 return result; 17660 } 17661 17662 /** 17663 * The base implementation of `_.matches` which doesn't clone `source`. 17664 * 17665 * @private 17666 * @param {Object} source The object of property values to match. 17667 * @returns {Function} Returns the new spec function. 17668 */ 17669 function baseMatches(source) { 17670 var matchData = getMatchData(source); 17671 if (matchData.length == 1 && matchData[0][2]) { 17672 return matchesStrictComparable(matchData[0][0], matchData[0][1]); 17673 } 17674 return function(object) { 17675 return object === source || baseIsMatch(object, source, matchData); 17676 }; 17677 } 17678 17679 /** 17680 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. 17681 * 17682 * @private 17683 * @param {string} path The path of the property to get. 17684 * @param {*} srcValue The value to match. 17685 * @returns {Function} Returns the new spec function. 17686 */ 17687 function baseMatchesProperty(path, srcValue) { 17688 if (isKey(path) && isStrictComparable(srcValue)) { 17689 return matchesStrictComparable(toKey(path), srcValue); 17690 } 17691 return function(object) { 17692 var objValue = get(object, path); 17693 return (objValue === undefined && objValue === srcValue) 17694 ? hasIn(object, path) 17695 : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); 17696 }; 17697 } 17698 17699 /** 17700 * The base implementation of `_.merge` without support for multiple sources. 17701 * 17702 * @private 17703 * @param {Object} object The destination object. 17704 * @param {Object} source The source object. 17705 * @param {number} srcIndex The index of `source`. 17706 * @param {Function} [customizer] The function to customize merged values. 17707 * @param {Object} [stack] Tracks traversed source values and their merged 17708 * counterparts. 17709 */ 17710 function baseMerge(object, source, srcIndex, customizer, stack) { 17711 if (object === source) { 17712 return; 17713 } 17714 baseFor(source, function(srcValue, key) { 17715 stack || (stack = new Stack); 17716 if (isObject(srcValue)) { 17717 baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); 17718 } 17719 else { 17720 var newValue = customizer 17721 ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) 17722 : undefined; 17723 17724 if (newValue === undefined) { 17725 newValue = srcValue; 17726 } 17727 assignMergeValue(object, key, newValue); 17728 } 17729 }, keysIn); 17730 } 17731 17732 /** 17733 * A specialized version of `baseMerge` for arrays and objects which performs 17734 * deep merges and tracks traversed objects enabling objects with circular 17735 * references to be merged. 17736 * 17737 * @private 17738 * @param {Object} object The destination object. 17739 * @param {Object} source The source object. 17740 * @param {string} key The key of the value to merge. 17741 * @param {number} srcIndex The index of `source`. 17742 * @param {Function} mergeFunc The function to merge values. 17743 * @param {Function} [customizer] The function to customize assigned values. 17744 * @param {Object} [stack] Tracks traversed source values and their merged 17745 * counterparts. 17746 */ 17747 function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { 17748 var objValue = safeGet(object, key), 17749 srcValue = safeGet(source, key), 17750 stacked = stack.get(srcValue); 17751 17752 if (stacked) { 17753 assignMergeValue(object, key, stacked); 17754 return; 17755 } 17756 var newValue = customizer 17757 ? customizer(objValue, srcValue, (key + ''), object, source, stack) 17758 : undefined; 17759 17760 var isCommon = newValue === undefined; 17761 17762 if (isCommon) { 17763 var isArr = isArray(srcValue), 17764 isBuff = !isArr && isBuffer(srcValue), 17765 isTyped = !isArr && !isBuff && isTypedArray(srcValue); 17766 17767 newValue = srcValue; 17768 if (isArr || isBuff || isTyped) { 17769 if (isArray(objValue)) { 17770 newValue = objValue; 17771 } 17772 else if (isArrayLikeObject(objValue)) { 17773 newValue = copyArray(objValue); 17774 } 17775 else if (isBuff) { 17776 isCommon = false; 17777 newValue = cloneBuffer(srcValue, true); 17778 } 17779 else if (isTyped) { 17780 isCommon = false; 17781 newValue = cloneTypedArray(srcValue, true); 17782 } 17783 else { 17784 newValue = []; 17785 } 17786 } 17787 else if (isPlainObject(srcValue) || isArguments(srcValue)) { 17788 newValue = objValue; 17789 if (isArguments(objValue)) { 17790 newValue = toPlainObject(objValue); 17791 } 17792 else if (!isObject(objValue) || isFunction(objValue)) { 17793 newValue = initCloneObject(srcValue); 17794 } 17795 } 17796 else { 17797 isCommon = false; 17798 } 17799 } 17800 if (isCommon) { 17801 // Recursively merge objects and arrays (susceptible to call stack limits). 17802 stack.set(srcValue, newValue); 17803 mergeFunc(newValue, srcValue, srcIndex, customizer, stack); 17804 stack['delete'](srcValue); 17805 } 17806 assignMergeValue(object, key, newValue); 17807 } 17808 17809 /** 17810 * The base implementation of `_.nth` which doesn't coerce arguments. 17811 * 17812 * @private 17813 * @param {Array} array The array to query. 17814 * @param {number} n The index of the element to return. 17815 * @returns {*} Returns the nth element of `array`. 17816 */ 17817 function baseNth(array, n) { 17818 var length = array.length; 17819 if (!length) { 17820 return; 17821 } 17822 n += n < 0 ? length : 0; 17823 return isIndex(n, length) ? array[n] : undefined; 17824 } 17825 17826 /** 17827 * The base implementation of `_.orderBy` without param guards. 17828 * 17829 * @private 17830 * @param {Array|Object} collection The collection to iterate over. 17831 * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. 17832 * @param {string[]} orders The sort orders of `iteratees`. 17833 * @returns {Array} Returns the new sorted array. 17834 */ 17835 function baseOrderBy(collection, iteratees, orders) { 17836 if (iteratees.length) { 17837 iteratees = arrayMap(iteratees, function(iteratee) { 17838 if (isArray(iteratee)) { 17839 return function(value) { 17840 return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); 17841 } 17842 } 17843 return iteratee; 17844 }); 17845 } else { 17846 iteratees = [identity]; 17847 } 17848 17849 var index = -1; 17850 iteratees = arrayMap(iteratees, baseUnary(getIteratee())); 17851 17852 var result = baseMap(collection, function(value, key, collection) { 17853 var criteria = arrayMap(iteratees, function(iteratee) { 17854 return iteratee(value); 17855 }); 17856 return { 'criteria': criteria, 'index': ++index, 'value': value }; 17857 }); 17858 17859 return baseSortBy(result, function(object, other) { 17860 return compareMultiple(object, other, orders); 17861 }); 17862 } 17863 17864 /** 17865 * The base implementation of `_.pick` without support for individual 17866 * property identifiers. 17867 * 17868 * @private 17869 * @param {Object} object The source object. 17870 * @param {string[]} paths The property paths to pick. 17871 * @returns {Object} Returns the new object. 17872 */ 17873 function basePick(object, paths) { 17874 return basePickBy(object, paths, function(value, path) { 17875 return hasIn(object, path); 17876 }); 17877 } 17878 17879 /** 17880 * The base implementation of `_.pickBy` without support for iteratee shorthands. 17881 * 17882 * @private 17883 * @param {Object} object The source object. 17884 * @param {string[]} paths The property paths to pick. 17885 * @param {Function} predicate The function invoked per property. 17886 * @returns {Object} Returns the new object. 17887 */ 17888 function basePickBy(object, paths, predicate) { 17889 var index = -1, 17890 length = paths.length, 17891 result = {}; 17892 17893 while (++index < length) { 17894 var path = paths[index], 17895 value = baseGet(object, path); 17896 17897 if (predicate(value, path)) { 17898 baseSet(result, castPath(path, object), value); 17899 } 17900 } 17901 return result; 17902 } 17903 17904 /** 17905 * A specialized version of `baseProperty` which supports deep paths. 17906 * 17907 * @private 17908 * @param {Array|string} path The path of the property to get. 17909 * @returns {Function} Returns the new accessor function. 17910 */ 17911 function basePropertyDeep(path) { 17912 return function(object) { 17913 return baseGet(object, path); 17914 }; 17915 } 17916 17917 /** 17918 * The base implementation of `_.pullAllBy` without support for iteratee 17919 * shorthands. 17920 * 17921 * @private 17922 * @param {Array} array The array to modify. 17923 * @param {Array} values The values to remove. 17924 * @param {Function} [iteratee] The iteratee invoked per element. 17925 * @param {Function} [comparator] The comparator invoked per element. 17926 * @returns {Array} Returns `array`. 17927 */ 17928 function basePullAll(array, values, iteratee, comparator) { 17929 var indexOf = comparator ? baseIndexOfWith : baseIndexOf, 17930 index = -1, 17931 length = values.length, 17932 seen = array; 17933 17934 if (array === values) { 17935 values = copyArray(values); 17936 } 17937 if (iteratee) { 17938 seen = arrayMap(array, baseUnary(iteratee)); 17939 } 17940 while (++index < length) { 17941 var fromIndex = 0, 17942 value = values[index], 17943 computed = iteratee ? iteratee(value) : value; 17944 17945 while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { 17946 if (seen !== array) { 17947 splice.call(seen, fromIndex, 1); 17948 } 17949 splice.call(array, fromIndex, 1); 17950 } 17951 } 17952 return array; 17953 } 17954 17955 /** 17956 * The base implementation of `_.pullAt` without support for individual 17957 * indexes or capturing the removed elements. 17958 * 17959 * @private 17960 * @param {Array} array The array to modify. 17961 * @param {number[]} indexes The indexes of elements to remove. 17962 * @returns {Array} Returns `array`. 17963 */ 17964 function basePullAt(array, indexes) { 17965 var length = array ? indexes.length : 0, 17966 lastIndex = length - 1; 17967 17968 while (length--) { 17969 var index = indexes[length]; 17970 if (length == lastIndex || index !== previous) { 17971 var previous = index; 17972 if (isIndex(index)) { 17973 splice.call(array, index, 1); 17974 } else { 17975 baseUnset(array, index); 17976 } 17977 } 17978 } 17979 return array; 17980 } 17981 17982 /** 17983 * The base implementation of `_.random` without support for returning 17984 * floating-point numbers. 17985 * 17986 * @private 17987 * @param {number} lower The lower bound. 17988 * @param {number} upper The upper bound. 17989 * @returns {number} Returns the random number. 17990 */ 17991 function baseRandom(lower, upper) { 17992 return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); 17993 } 17994 17995 /** 17996 * The base implementation of `_.range` and `_.rangeRight` which doesn't 17997 * coerce arguments. 17998 * 17999 * @private 18000 * @param {number} start The start of the range. 18001 * @param {number} end The end of the range. 18002 * @param {number} step The value to increment or decrement by. 18003 * @param {boolean} [fromRight] Specify iterating from right to left. 18004 * @returns {Array} Returns the range of numbers. 18005 */ 18006 function baseRange(start, end, step, fromRight) { 18007 var index = -1, 18008 length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), 18009 result = Array(length); 18010 18011 while (length--) { 18012 result[fromRight ? length : ++index] = start; 18013 start += step; 18014 } 18015 return result; 18016 } 18017 18018 /** 18019 * The base implementation of `_.repeat` which doesn't coerce arguments. 18020 * 18021 * @private 18022 * @param {string} string The string to repeat. 18023 * @param {number} n The number of times to repeat the string. 18024 * @returns {string} Returns the repeated string. 18025 */ 18026 function baseRepeat(string, n) { 18027 var result = ''; 18028 if (!string || n < 1 || n > MAX_SAFE_INTEGER) { 18029 return result; 18030 } 18031 // Leverage the exponentiation by squaring algorithm for a faster repeat. 18032 // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. 18033 do { 18034 if (n % 2) { 18035 result += string; 18036 } 18037 n = nativeFloor(n / 2); 18038 if (n) { 18039 string += string; 18040 } 18041 } while (n); 18042 18043 return result; 18044 } 18045 18046 /** 18047 * The base implementation of `_.rest` which doesn't validate or coerce arguments. 18048 * 18049 * @private 18050 * @param {Function} func The function to apply a rest parameter to. 18051 * @param {number} [start=func.length-1] The start position of the rest parameter. 18052 * @returns {Function} Returns the new function. 18053 */ 18054 function baseRest(func, start) { 18055 return setToString(overRest(func, start, identity), func + ''); 18056 } 18057 18058 /** 18059 * The base implementation of `_.sample`. 18060 * 18061 * @private 18062 * @param {Array|Object} collection The collection to sample. 18063 * @returns {*} Returns the random element. 18064 */ 18065 function baseSample(collection) { 18066 return arraySample(values(collection)); 18067 } 18068 18069 /** 18070 * The base implementation of `_.sampleSize` without param guards. 18071 * 18072 * @private 18073 * @param {Array|Object} collection The collection to sample. 18074 * @param {number} n The number of elements to sample. 18075 * @returns {Array} Returns the random elements. 18076 */ 18077 function baseSampleSize(collection, n) { 18078 var array = values(collection); 18079 return shuffleSelf(array, baseClamp(n, 0, array.length)); 18080 } 18081 18082 /** 18083 * The base implementation of `_.set`. 18084 * 18085 * @private 18086 * @param {Object} object The object to modify. 18087 * @param {Array|string} path The path of the property to set. 18088 * @param {*} value The value to set. 18089 * @param {Function} [customizer] The function to customize path creation. 18090 * @returns {Object} Returns `object`. 18091 */ 18092 function baseSet(object, path, value, customizer) { 18093 if (!isObject(object)) { 18094 return object; 18095 } 18096 path = castPath(path, object); 18097 18098 var index = -1, 18099 length = path.length, 18100 lastIndex = length - 1, 18101 nested = object; 18102 18103 while (nested != null && ++index < length) { 18104 var key = toKey(path[index]), 18105 newValue = value; 18106 18107 if (key === '__proto__' || key === 'constructor' || key === 'prototype') { 18108 return object; 18109 } 18110 18111 if (index != lastIndex) { 18112 var objValue = nested[key]; 18113 newValue = customizer ? customizer(objValue, key, nested) : undefined; 18114 if (newValue === undefined) { 18115 newValue = isObject(objValue) 18116 ? objValue 18117 : (isIndex(path[index + 1]) ? [] : {}); 18118 } 18119 } 18120 assignValue(nested, key, newValue); 18121 nested = nested[key]; 18122 } 18123 return object; 18124 } 18125 18126 /** 18127 * The base implementation of `setData` without support for hot loop shorting. 18128 * 18129 * @private 18130 * @param {Function} func The function to associate metadata with. 18131 * @param {*} data The metadata. 18132 * @returns {Function} Returns `func`. 18133 */ 18134 var baseSetData = !metaMap ? identity : function(func, data) { 18135 metaMap.set(func, data); 18136 return func; 18137 }; 18138 18139 /** 18140 * The base implementation of `setToString` without support for hot loop shorting. 18141 * 18142 * @private 18143 * @param {Function} func The function to modify. 18144 * @param {Function} string The `toString` result. 18145 * @returns {Function} Returns `func`. 18146 */ 18147 var baseSetToString = !defineProperty ? identity : function(func, string) { 18148 return defineProperty(func, 'toString', { 18149 'configurable': true, 18150 'enumerable': false, 18151 'value': constant(string), 18152 'writable': true 18153 }); 18154 }; 18155 18156 /** 18157 * The base implementation of `_.shuffle`. 18158 * 18159 * @private 18160 * @param {Array|Object} collection The collection to shuffle. 18161 * @returns {Array} Returns the new shuffled array. 18162 */ 18163 function baseShuffle(collection) { 18164 return shuffleSelf(values(collection)); 18165 } 18166 18167 /** 18168 * The base implementation of `_.slice` without an iteratee call guard. 18169 * 18170 * @private 18171 * @param {Array} array The array to slice. 18172 * @param {number} [start=0] The start position. 18173 * @param {number} [end=array.length] The end position. 18174 * @returns {Array} Returns the slice of `array`. 18175 */ 18176 function baseSlice(array, start, end) { 18177 var index = -1, 18178 length = array.length; 18179 18180 if (start < 0) { 18181 start = -start > length ? 0 : (length + start); 18182 } 18183 end = end > length ? length : end; 18184 if (end < 0) { 18185 end += length; 18186 } 18187 length = start > end ? 0 : ((end - start) >>> 0); 18188 start >>>= 0; 18189 18190 var result = Array(length); 18191 while (++index < length) { 18192 result[index] = array[index + start]; 18193 } 18194 return result; 18195 } 18196 18197 /** 18198 * The base implementation of `_.some` without support for iteratee shorthands. 18199 * 18200 * @private 18201 * @param {Array|Object} collection The collection to iterate over. 18202 * @param {Function} predicate The function invoked per iteration. 18203 * @returns {boolean} Returns `true` if any element passes the predicate check, 18204 * else `false`. 18205 */ 18206 function baseSome(collection, predicate) { 18207 var result; 18208 18209 baseEach(collection, function(value, index, collection) { 18210 result = predicate(value, index, collection); 18211 return !result; 18212 }); 18213 return !!result; 18214 } 18215 18216 /** 18217 * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which 18218 * performs a binary search of `array` to determine the index at which `value` 18219 * should be inserted into `array` in order to maintain its sort order. 18220 * 18221 * @private 18222 * @param {Array} array The sorted array to inspect. 18223 * @param {*} value The value to evaluate. 18224 * @param {boolean} [retHighest] Specify returning the highest qualified index. 18225 * @returns {number} Returns the index at which `value` should be inserted 18226 * into `array`. 18227 */ 18228 function baseSortedIndex(array, value, retHighest) { 18229 var low = 0, 18230 high = array == null ? low : array.length; 18231 18232 if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { 18233 while (low < high) { 18234 var mid = (low + high) >>> 1, 18235 computed = array[mid]; 18236 18237 if (computed !== null && !isSymbol(computed) && 18238 (retHighest ? (computed <= value) : (computed < value))) { 18239 low = mid + 1; 18240 } else { 18241 high = mid; 18242 } 18243 } 18244 return high; 18245 } 18246 return baseSortedIndexBy(array, value, identity, retHighest); 18247 } 18248 18249 /** 18250 * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` 18251 * which invokes `iteratee` for `value` and each element of `array` to compute 18252 * their sort ranking. The iteratee is invoked with one argument; (value). 18253 * 18254 * @private 18255 * @param {Array} array The sorted array to inspect. 18256 * @param {*} value The value to evaluate. 18257 * @param {Function} iteratee The iteratee invoked per element. 18258 * @param {boolean} [retHighest] Specify returning the highest qualified index. 18259 * @returns {number} Returns the index at which `value` should be inserted 18260 * into `array`. 18261 */ 18262 function baseSortedIndexBy(array, value, iteratee, retHighest) { 18263 var low = 0, 18264 high = array == null ? 0 : array.length; 18265 if (high === 0) { 18266 return 0; 18267 } 18268 18269 value = iteratee(value); 18270 var valIsNaN = value !== value, 18271 valIsNull = value === null, 18272 valIsSymbol = isSymbol(value), 18273 valIsUndefined = value === undefined; 18274 18275 while (low < high) { 18276 var mid = nativeFloor((low + high) / 2), 18277 computed = iteratee(array[mid]), 18278 othIsDefined = computed !== undefined, 18279 othIsNull = computed === null, 18280 othIsReflexive = computed === computed, 18281 othIsSymbol = isSymbol(computed); 18282 18283 if (valIsNaN) { 18284 var setLow = retHighest || othIsReflexive; 18285 } else if (valIsUndefined) { 18286 setLow = othIsReflexive && (retHighest || othIsDefined); 18287 } else if (valIsNull) { 18288 setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); 18289 } else if (valIsSymbol) { 18290 setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); 18291 } else if (othIsNull || othIsSymbol) { 18292 setLow = false; 18293 } else { 18294 setLow = retHighest ? (computed <= value) : (computed < value); 18295 } 18296 if (setLow) { 18297 low = mid + 1; 18298 } else { 18299 high = mid; 18300 } 18301 } 18302 return nativeMin(high, MAX_ARRAY_INDEX); 18303 } 18304 18305 /** 18306 * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without 18307 * support for iteratee shorthands. 18308 * 18309 * @private 18310 * @param {Array} array The array to inspect. 18311 * @param {Function} [iteratee] The iteratee invoked per element. 18312 * @returns {Array} Returns the new duplicate free array. 18313 */ 18314 function baseSortedUniq(array, iteratee) { 18315 var index = -1, 18316 length = array.length, 18317 resIndex = 0, 18318 result = []; 18319 18320 while (++index < length) { 18321 var value = array[index], 18322 computed = iteratee ? iteratee(value) : value; 18323 18324 if (!index || !eq(computed, seen)) { 18325 var seen = computed; 18326 result[resIndex++] = value === 0 ? 0 : value; 18327 } 18328 } 18329 return result; 18330 } 18331 18332 /** 18333 * The base implementation of `_.toNumber` which doesn't ensure correct 18334 * conversions of binary, hexadecimal, or octal string values. 18335 * 18336 * @private 18337 * @param {*} value The value to process. 18338 * @returns {number} Returns the number. 18339 */ 18340 function baseToNumber(value) { 18341 if (typeof value == 'number') { 18342 return value; 18343 } 18344 if (isSymbol(value)) { 18345 return NAN; 18346 } 18347 return +value; 18348 } 18349 18350 /** 18351 * The base implementation of `_.toString` which doesn't convert nullish 18352 * values to empty strings. 18353 * 18354 * @private 18355 * @param {*} value The value to process. 18356 * @returns {string} Returns the string. 18357 */ 18358 function baseToString(value) { 18359 // Exit early for strings to avoid a performance hit in some environments. 18360 if (typeof value == 'string') { 18361 return value; 18362 } 18363 if (isArray(value)) { 18364 // Recursively convert values (susceptible to call stack limits). 18365 return arrayMap(value, baseToString) + ''; 18366 } 18367 if (isSymbol(value)) { 18368 return symbolToString ? symbolToString.call(value) : ''; 18369 } 18370 var result = (value + ''); 18371 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 18372 } 18373 18374 /** 18375 * The base implementation of `_.uniqBy` without support for iteratee shorthands. 18376 * 18377 * @private 18378 * @param {Array} array The array to inspect. 18379 * @param {Function} [iteratee] The iteratee invoked per element. 18380 * @param {Function} [comparator] The comparator invoked per element. 18381 * @returns {Array} Returns the new duplicate free array. 18382 */ 18383 function baseUniq(array, iteratee, comparator) { 18384 var index = -1, 18385 includes = arrayIncludes, 18386 length = array.length, 18387 isCommon = true, 18388 result = [], 18389 seen = result; 18390 18391 if (comparator) { 18392 isCommon = false; 18393 includes = arrayIncludesWith; 18394 } 18395 else if (length >= LARGE_ARRAY_SIZE) { 18396 var set = iteratee ? null : createSet(array); 18397 if (set) { 18398 return setToArray(set); 18399 } 18400 isCommon = false; 18401 includes = cacheHas; 18402 seen = new SetCache; 18403 } 18404 else { 18405 seen = iteratee ? [] : result; 18406 } 18407 outer: 18408 while (++index < length) { 18409 var value = array[index], 18410 computed = iteratee ? iteratee(value) : value; 18411 18412 value = (comparator || value !== 0) ? value : 0; 18413 if (isCommon && computed === computed) { 18414 var seenIndex = seen.length; 18415 while (seenIndex--) { 18416 if (seen[seenIndex] === computed) { 18417 continue outer; 18418 } 18419 } 18420 if (iteratee) { 18421 seen.push(computed); 18422 } 18423 result.push(value); 18424 } 18425 else if (!includes(seen, computed, comparator)) { 18426 if (seen !== result) { 18427 seen.push(computed); 18428 } 18429 result.push(value); 18430 } 18431 } 18432 return result; 18433 } 18434 18435 /** 18436 * The base implementation of `_.unset`. 18437 * 18438 * @private 18439 * @param {Object} object The object to modify. 18440 * @param {Array|string} path The property path to unset. 18441 * @returns {boolean} Returns `true` if the property is deleted, else `false`. 18442 */ 18443 function baseUnset(object, path) { 18444 path = castPath(path, object); 18445 object = parent(object, path); 18446 return object == null || delete object[toKey(last(path))]; 18447 } 18448 18449 /** 18450 * The base implementation of `_.update`. 18451 * 18452 * @private 18453 * @param {Object} object The object to modify. 18454 * @param {Array|string} path The path of the property to update. 18455 * @param {Function} updater The function to produce the updated value. 18456 * @param {Function} [customizer] The function to customize path creation. 18457 * @returns {Object} Returns `object`. 18458 */ 18459 function baseUpdate(object, path, updater, customizer) { 18460 return baseSet(object, path, updater(baseGet(object, path)), customizer); 18461 } 18462 18463 /** 18464 * The base implementation of methods like `_.dropWhile` and `_.takeWhile` 18465 * without support for iteratee shorthands. 18466 * 18467 * @private 18468 * @param {Array} array The array to query. 18469 * @param {Function} predicate The function invoked per iteration. 18470 * @param {boolean} [isDrop] Specify dropping elements instead of taking them. 18471 * @param {boolean} [fromRight] Specify iterating from right to left. 18472 * @returns {Array} Returns the slice of `array`. 18473 */ 18474 function baseWhile(array, predicate, isDrop, fromRight) { 18475 var length = array.length, 18476 index = fromRight ? length : -1; 18477 18478 while ((fromRight ? index-- : ++index < length) && 18479 predicate(array[index], index, array)) {} 18480 18481 return isDrop 18482 ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) 18483 : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); 18484 } 18485 18486 /** 18487 * The base implementation of `wrapperValue` which returns the result of 18488 * performing a sequence of actions on the unwrapped `value`, where each 18489 * successive action is supplied the return value of the previous. 18490 * 18491 * @private 18492 * @param {*} value The unwrapped value. 18493 * @param {Array} actions Actions to perform to resolve the unwrapped value. 18494 * @returns {*} Returns the resolved value. 18495 */ 18496 function baseWrapperValue(value, actions) { 18497 var result = value; 18498 if (result instanceof LazyWrapper) { 18499 result = result.value(); 18500 } 18501 return arrayReduce(actions, function(result, action) { 18502 return action.func.apply(action.thisArg, arrayPush([result], action.args)); 18503 }, result); 18504 } 18505 18506 /** 18507 * The base implementation of methods like `_.xor`, without support for 18508 * iteratee shorthands, that accepts an array of arrays to inspect. 18509 * 18510 * @private 18511 * @param {Array} arrays The arrays to inspect. 18512 * @param {Function} [iteratee] The iteratee invoked per element. 18513 * @param {Function} [comparator] The comparator invoked per element. 18514 * @returns {Array} Returns the new array of values. 18515 */ 18516 function baseXor(arrays, iteratee, comparator) { 18517 var length = arrays.length; 18518 if (length < 2) { 18519 return length ? baseUniq(arrays[0]) : []; 18520 } 18521 var index = -1, 18522 result = Array(length); 18523 18524 while (++index < length) { 18525 var array = arrays[index], 18526 othIndex = -1; 18527 18528 while (++othIndex < length) { 18529 if (othIndex != index) { 18530 result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); 18531 } 18532 } 18533 } 18534 return baseUniq(baseFlatten(result, 1), iteratee, comparator); 18535 } 18536 18537 /** 18538 * This base implementation of `_.zipObject` which assigns values using `assignFunc`. 18539 * 18540 * @private 18541 * @param {Array} props The property identifiers. 18542 * @param {Array} values The property values. 18543 * @param {Function} assignFunc The function to assign values. 18544 * @returns {Object} Returns the new object. 18545 */ 18546 function baseZipObject(props, values, assignFunc) { 18547 var index = -1, 18548 length = props.length, 18549 valsLength = values.length, 18550 result = {}; 18551 18552 while (++index < length) { 18553 var value = index < valsLength ? values[index] : undefined; 18554 assignFunc(result, props[index], value); 18555 } 18556 return result; 18557 } 18558 18559 /** 18560 * Casts `value` to an empty array if it's not an array like object. 18561 * 18562 * @private 18563 * @param {*} value The value to inspect. 18564 * @returns {Array|Object} Returns the cast array-like object. 18565 */ 18566 function castArrayLikeObject(value) { 18567 return isArrayLikeObject(value) ? value : []; 18568 } 18569 18570 /** 18571 * Casts `value` to `identity` if it's not a function. 18572 * 18573 * @private 18574 * @param {*} value The value to inspect. 18575 * @returns {Function} Returns cast function. 18576 */ 18577 function castFunction(value) { 18578 return typeof value == 'function' ? value : identity; 18579 } 18580 18581 /** 18582 * Casts `value` to a path array if it's not one. 18583 * 18584 * @private 18585 * @param {*} value The value to inspect. 18586 * @param {Object} [object] The object to query keys on. 18587 * @returns {Array} Returns the cast property path array. 18588 */ 18589 function castPath(value, object) { 18590 if (isArray(value)) { 18591 return value; 18592 } 18593 return isKey(value, object) ? [value] : stringToPath(toString(value)); 18594 } 18595 18596 /** 18597 * A `baseRest` alias which can be replaced with `identity` by module 18598 * replacement plugins. 18599 * 18600 * @private 18601 * @type {Function} 18602 * @param {Function} func The function to apply a rest parameter to. 18603 * @returns {Function} Returns the new function. 18604 */ 18605 var castRest = baseRest; 18606 18607 /** 18608 * Casts `array` to a slice if it's needed. 18609 * 18610 * @private 18611 * @param {Array} array The array to inspect. 18612 * @param {number} start The start position. 18613 * @param {number} [end=array.length] The end position. 18614 * @returns {Array} Returns the cast slice. 18615 */ 18616 function castSlice(array, start, end) { 18617 var length = array.length; 18618 end = end === undefined ? length : end; 18619 return (!start && end >= length) ? array : baseSlice(array, start, end); 18620 } 18621 18622 /** 18623 * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). 18624 * 18625 * @private 18626 * @param {number|Object} id The timer id or timeout object of the timer to clear. 18627 */ 18628 var clearTimeout = ctxClearTimeout || function(id) { 18629 return root.clearTimeout(id); 18630 }; 18631 18632 /** 18633 * Creates a clone of `buffer`. 18634 * 18635 * @private 18636 * @param {Buffer} buffer The buffer to clone. 18637 * @param {boolean} [isDeep] Specify a deep clone. 18638 * @returns {Buffer} Returns the cloned buffer. 18639 */ 18640 function cloneBuffer(buffer, isDeep) { 18641 if (isDeep) { 18642 return buffer.slice(); 18643 } 18644 var length = buffer.length, 18645 result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); 18646 18647 buffer.copy(result); 18648 return result; 18649 } 18650 18651 /** 18652 * Creates a clone of `arrayBuffer`. 18653 * 18654 * @private 18655 * @param {ArrayBuffer} arrayBuffer The array buffer to clone. 18656 * @returns {ArrayBuffer} Returns the cloned array buffer. 18657 */ 18658 function cloneArrayBuffer(arrayBuffer) { 18659 var result = new arrayBuffer.constructor(arrayBuffer.byteLength); 18660 new Uint8Array(result).set(new Uint8Array(arrayBuffer)); 18661 return result; 18662 } 18663 18664 /** 18665 * Creates a clone of `dataView`. 18666 * 18667 * @private 18668 * @param {Object} dataView The data view to clone. 18669 * @param {boolean} [isDeep] Specify a deep clone. 18670 * @returns {Object} Returns the cloned data view. 18671 */ 18672 function cloneDataView(dataView, isDeep) { 18673 var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; 18674 return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); 18675 } 18676 18677 /** 18678 * Creates a clone of `regexp`. 18679 * 18680 * @private 18681 * @param {Object} regexp The regexp to clone. 18682 * @returns {Object} Returns the cloned regexp. 18683 */ 18684 function cloneRegExp(regexp) { 18685 var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); 18686 result.lastIndex = regexp.lastIndex; 18687 return result; 18688 } 18689 18690 /** 18691 * Creates a clone of the `symbol` object. 18692 * 18693 * @private 18694 * @param {Object} symbol The symbol object to clone. 18695 * @returns {Object} Returns the cloned symbol object. 18696 */ 18697 function cloneSymbol(symbol) { 18698 return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; 18699 } 18700 18701 /** 18702 * Creates a clone of `typedArray`. 18703 * 18704 * @private 18705 * @param {Object} typedArray The typed array to clone. 18706 * @param {boolean} [isDeep] Specify a deep clone. 18707 * @returns {Object} Returns the cloned typed array. 18708 */ 18709 function cloneTypedArray(typedArray, isDeep) { 18710 var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; 18711 return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); 18712 } 18713 18714 /** 18715 * Compares values to sort them in ascending order. 18716 * 18717 * @private 18718 * @param {*} value The value to compare. 18719 * @param {*} other The other value to compare. 18720 * @returns {number} Returns the sort order indicator for `value`. 18721 */ 18722 function compareAscending(value, other) { 18723 if (value !== other) { 18724 var valIsDefined = value !== undefined, 18725 valIsNull = value === null, 18726 valIsReflexive = value === value, 18727 valIsSymbol = isSymbol(value); 18728 18729 var othIsDefined = other !== undefined, 18730 othIsNull = other === null, 18731 othIsReflexive = other === other, 18732 othIsSymbol = isSymbol(other); 18733 18734 if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || 18735 (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || 18736 (valIsNull && othIsDefined && othIsReflexive) || 18737 (!valIsDefined && othIsReflexive) || 18738 !valIsReflexive) { 18739 return 1; 18740 } 18741 if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || 18742 (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || 18743 (othIsNull && valIsDefined && valIsReflexive) || 18744 (!othIsDefined && valIsReflexive) || 18745 !othIsReflexive) { 18746 return -1; 18747 } 18748 } 18749 return 0; 18750 } 18751 18752 /** 18753 * Used by `_.orderBy` to compare multiple properties of a value to another 18754 * and stable sort them. 18755 * 18756 * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, 18757 * specify an order of "desc" for descending or "asc" for ascending sort order 18758 * of corresponding values. 18759 * 18760 * @private 18761 * @param {Object} object The object to compare. 18762 * @param {Object} other The other object to compare. 18763 * @param {boolean[]|string[]} orders The order to sort by for each property. 18764 * @returns {number} Returns the sort order indicator for `object`. 18765 */ 18766 function compareMultiple(object, other, orders) { 18767 var index = -1, 18768 objCriteria = object.criteria, 18769 othCriteria = other.criteria, 18770 length = objCriteria.length, 18771 ordersLength = orders.length; 18772 18773 while (++index < length) { 18774 var result = compareAscending(objCriteria[index], othCriteria[index]); 18775 if (result) { 18776 if (index >= ordersLength) { 18777 return result; 18778 } 18779 var order = orders[index]; 18780 return result * (order == 'desc' ? -1 : 1); 18781 } 18782 } 18783 // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications 18784 // that causes it, under certain circumstances, to provide the same value for 18785 // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 18786 // for more details. 18787 // 18788 // This also ensures a stable sort in V8 and other engines. 18789 // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. 18790 return object.index - other.index; 18791 } 18792 18793 /** 18794 * Creates an array that is the composition of partially applied arguments, 18795 * placeholders, and provided arguments into a single array of arguments. 18796 * 18797 * @private 18798 * @param {Array} args The provided arguments. 18799 * @param {Array} partials The arguments to prepend to those provided. 18800 * @param {Array} holders The `partials` placeholder indexes. 18801 * @params {boolean} [isCurried] Specify composing for a curried function. 18802 * @returns {Array} Returns the new array of composed arguments. 18803 */ 18804 function composeArgs(args, partials, holders, isCurried) { 18805 var argsIndex = -1, 18806 argsLength = args.length, 18807 holdersLength = holders.length, 18808 leftIndex = -1, 18809 leftLength = partials.length, 18810 rangeLength = nativeMax(argsLength - holdersLength, 0), 18811 result = Array(leftLength + rangeLength), 18812 isUncurried = !isCurried; 18813 18814 while (++leftIndex < leftLength) { 18815 result[leftIndex] = partials[leftIndex]; 18816 } 18817 while (++argsIndex < holdersLength) { 18818 if (isUncurried || argsIndex < argsLength) { 18819 result[holders[argsIndex]] = args[argsIndex]; 18820 } 18821 } 18822 while (rangeLength--) { 18823 result[leftIndex++] = args[argsIndex++]; 18824 } 18825 return result; 18826 } 18827 18828 /** 18829 * This function is like `composeArgs` except that the arguments composition 18830 * is tailored for `_.partialRight`. 18831 * 18832 * @private 18833 * @param {Array} args The provided arguments. 18834 * @param {Array} partials The arguments to append to those provided. 18835 * @param {Array} holders The `partials` placeholder indexes. 18836 * @params {boolean} [isCurried] Specify composing for a curried function. 18837 * @returns {Array} Returns the new array of composed arguments. 18838 */ 18839 function composeArgsRight(args, partials, holders, isCurried) { 18840 var argsIndex = -1, 18841 argsLength = args.length, 18842 holdersIndex = -1, 18843 holdersLength = holders.length, 18844 rightIndex = -1, 18845 rightLength = partials.length, 18846 rangeLength = nativeMax(argsLength - holdersLength, 0), 18847 result = Array(rangeLength + rightLength), 18848 isUncurried = !isCurried; 18849 18850 while (++argsIndex < rangeLength) { 18851 result[argsIndex] = args[argsIndex]; 18852 } 18853 var offset = argsIndex; 18854 while (++rightIndex < rightLength) { 18855 result[offset + rightIndex] = partials[rightIndex]; 18856 } 18857 while (++holdersIndex < holdersLength) { 18858 if (isUncurried || argsIndex < argsLength) { 18859 result[offset + holders[holdersIndex]] = args[argsIndex++]; 18860 } 18861 } 18862 return result; 18863 } 18864 18865 /** 18866 * Copies the values of `source` to `array`. 18867 * 18868 * @private 18869 * @param {Array} source The array to copy values from. 18870 * @param {Array} [array=[]] The array to copy values to. 18871 * @returns {Array} Returns `array`. 18872 */ 18873 function copyArray(source, array) { 18874 var index = -1, 18875 length = source.length; 18876 18877 array || (array = Array(length)); 18878 while (++index < length) { 18879 array[index] = source[index]; 18880 } 18881 return array; 18882 } 18883 18884 /** 18885 * Copies properties of `source` to `object`. 18886 * 18887 * @private 18888 * @param {Object} source The object to copy properties from. 18889 * @param {Array} props The property identifiers to copy. 18890 * @param {Object} [object={}] The object to copy properties to. 18891 * @param {Function} [customizer] The function to customize copied values. 18892 * @returns {Object} Returns `object`. 18893 */ 18894 function copyObject(source, props, object, customizer) { 18895 var isNew = !object; 18896 object || (object = {}); 18897 18898 var index = -1, 18899 length = props.length; 18900 18901 while (++index < length) { 18902 var key = props[index]; 18903 18904 var newValue = customizer 18905 ? customizer(object[key], source[key], key, object, source) 18906 : undefined; 18907 18908 if (newValue === undefined) { 18909 newValue = source[key]; 18910 } 18911 if (isNew) { 18912 baseAssignValue(object, key, newValue); 18913 } else { 18914 assignValue(object, key, newValue); 18915 } 18916 } 18917 return object; 18918 } 18919 18920 /** 18921 * Copies own symbols of `source` to `object`. 18922 * 18923 * @private 18924 * @param {Object} source The object to copy symbols from. 18925 * @param {Object} [object={}] The object to copy symbols to. 18926 * @returns {Object} Returns `object`. 18927 */ 18928 function copySymbols(source, object) { 18929 return copyObject(source, getSymbols(source), object); 18930 } 18931 18932 /** 18933 * Copies own and inherited symbols of `source` to `object`. 18934 * 18935 * @private 18936 * @param {Object} source The object to copy symbols from. 18937 * @param {Object} [object={}] The object to copy symbols to. 18938 * @returns {Object} Returns `object`. 18939 */ 18940 function copySymbolsIn(source, object) { 18941 return copyObject(source, getSymbolsIn(source), object); 18942 } 18943 18944 /** 18945 * Creates a function like `_.groupBy`. 18946 * 18947 * @private 18948 * @param {Function} setter The function to set accumulator values. 18949 * @param {Function} [initializer] The accumulator object initializer. 18950 * @returns {Function} Returns the new aggregator function. 18951 */ 18952 function createAggregator(setter, initializer) { 18953 return function(collection, iteratee) { 18954 var func = isArray(collection) ? arrayAggregator : baseAggregator, 18955 accumulator = initializer ? initializer() : {}; 18956 18957 return func(collection, setter, getIteratee(iteratee, 2), accumulator); 18958 }; 18959 } 18960 18961 /** 18962 * Creates a function like `_.assign`. 18963 * 18964 * @private 18965 * @param {Function} assigner The function to assign values. 18966 * @returns {Function} Returns the new assigner function. 18967 */ 18968 function createAssigner(assigner) { 18969 return baseRest(function(object, sources) { 18970 var index = -1, 18971 length = sources.length, 18972 customizer = length > 1 ? sources[length - 1] : undefined, 18973 guard = length > 2 ? sources[2] : undefined; 18974 18975 customizer = (assigner.length > 3 && typeof customizer == 'function') 18976 ? (length--, customizer) 18977 : undefined; 18978 18979 if (guard && isIterateeCall(sources[0], sources[1], guard)) { 18980 customizer = length < 3 ? undefined : customizer; 18981 length = 1; 18982 } 18983 object = Object(object); 18984 while (++index < length) { 18985 var source = sources[index]; 18986 if (source) { 18987 assigner(object, source, index, customizer); 18988 } 18989 } 18990 return object; 18991 }); 18992 } 18993 18994 /** 18995 * Creates a `baseEach` or `baseEachRight` function. 18996 * 18997 * @private 18998 * @param {Function} eachFunc The function to iterate over a collection. 18999 * @param {boolean} [fromRight] Specify iterating from right to left. 19000 * @returns {Function} Returns the new base function. 19001 */ 19002 function createBaseEach(eachFunc, fromRight) { 19003 return function(collection, iteratee) { 19004 if (collection == null) { 19005 return collection; 19006 } 19007 if (!isArrayLike(collection)) { 19008 return eachFunc(collection, iteratee); 19009 } 19010 var length = collection.length, 19011 index = fromRight ? length : -1, 19012 iterable = Object(collection); 19013 19014 while ((fromRight ? index-- : ++index < length)) { 19015 if (iteratee(iterable[index], index, iterable) === false) { 19016 break; 19017 } 19018 } 19019 return collection; 19020 }; 19021 } 19022 19023 /** 19024 * Creates a base function for methods like `_.forIn` and `_.forOwn`. 19025 * 19026 * @private 19027 * @param {boolean} [fromRight] Specify iterating from right to left. 19028 * @returns {Function} Returns the new base function. 19029 */ 19030 function createBaseFor(fromRight) { 19031 return function(object, iteratee, keysFunc) { 19032 var index = -1, 19033 iterable = Object(object), 19034 props = keysFunc(object), 19035 length = props.length; 19036 19037 while (length--) { 19038 var key = props[fromRight ? length : ++index]; 19039 if (iteratee(iterable[key], key, iterable) === false) { 19040 break; 19041 } 19042 } 19043 return object; 19044 }; 19045 } 19046 19047 /** 19048 * Creates a function that wraps `func` to invoke it with the optional `this` 19049 * binding of `thisArg`. 19050 * 19051 * @private 19052 * @param {Function} func The function to wrap. 19053 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 19054 * @param {*} [thisArg] The `this` binding of `func`. 19055 * @returns {Function} Returns the new wrapped function. 19056 */ 19057 function createBind(func, bitmask, thisArg) { 19058 var isBind = bitmask & WRAP_BIND_FLAG, 19059 Ctor = createCtor(func); 19060 19061 function wrapper() { 19062 var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; 19063 return fn.apply(isBind ? thisArg : this, arguments); 19064 } 19065 return wrapper; 19066 } 19067 19068 /** 19069 * Creates a function like `_.lowerFirst`. 19070 * 19071 * @private 19072 * @param {string} methodName The name of the `String` case method to use. 19073 * @returns {Function} Returns the new case function. 19074 */ 19075 function createCaseFirst(methodName) { 19076 return function(string) { 19077 string = toString(string); 19078 19079 var strSymbols = hasUnicode(string) 19080 ? stringToArray(string) 19081 : undefined; 19082 19083 var chr = strSymbols 19084 ? strSymbols[0] 19085 : string.charAt(0); 19086 19087 var trailing = strSymbols 19088 ? castSlice(strSymbols, 1).join('') 19089 : string.slice(1); 19090 19091 return chr[methodName]() + trailing; 19092 }; 19093 } 19094 19095 /** 19096 * Creates a function like `_.camelCase`. 19097 * 19098 * @private 19099 * @param {Function} callback The function to combine each word. 19100 * @returns {Function} Returns the new compounder function. 19101 */ 19102 function createCompounder(callback) { 19103 return function(string) { 19104 return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); 19105 }; 19106 } 19107 19108 /** 19109 * Creates a function that produces an instance of `Ctor` regardless of 19110 * whether it was invoked as part of a `new` expression or by `call` or `apply`. 19111 * 19112 * @private 19113 * @param {Function} Ctor The constructor to wrap. 19114 * @returns {Function} Returns the new wrapped function. 19115 */ 19116 function createCtor(Ctor) { 19117 return function() { 19118 // Use a `switch` statement to work with class constructors. See 19119 // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist 19120 // for more details. 19121 var args = arguments; 19122 switch (args.length) { 19123 case 0: return new Ctor; 19124 case 1: return new Ctor(args[0]); 19125 case 2: return new Ctor(args[0], args[1]); 19126 case 3: return new Ctor(args[0], args[1], args[2]); 19127 case 4: return new Ctor(args[0], args[1], args[2], args[3]); 19128 case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); 19129 case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); 19130 case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); 19131 } 19132 var thisBinding = baseCreate(Ctor.prototype), 19133 result = Ctor.apply(thisBinding, args); 19134 19135 // Mimic the constructor's `return` behavior. 19136 // See https://es5.github.io/#x13.2.2 for more details. 19137 return isObject(result) ? result : thisBinding; 19138 }; 19139 } 19140 19141 /** 19142 * Creates a function that wraps `func` to enable currying. 19143 * 19144 * @private 19145 * @param {Function} func The function to wrap. 19146 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 19147 * @param {number} arity The arity of `func`. 19148 * @returns {Function} Returns the new wrapped function. 19149 */ 19150 function createCurry(func, bitmask, arity) { 19151 var Ctor = createCtor(func); 19152 19153 function wrapper() { 19154 var length = arguments.length, 19155 args = Array(length), 19156 index = length, 19157 placeholder = getHolder(wrapper); 19158 19159 while (index--) { 19160 args[index] = arguments[index]; 19161 } 19162 var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) 19163 ? [] 19164 : replaceHolders(args, placeholder); 19165 19166 length -= holders.length; 19167 if (length < arity) { 19168 return createRecurry( 19169 func, bitmask, createHybrid, wrapper.placeholder, undefined, 19170 args, holders, undefined, undefined, arity - length); 19171 } 19172 var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; 19173 return apply(fn, this, args); 19174 } 19175 return wrapper; 19176 } 19177 19178 /** 19179 * Creates a `_.find` or `_.findLast` function. 19180 * 19181 * @private 19182 * @param {Function} findIndexFunc The function to find the collection index. 19183 * @returns {Function} Returns the new find function. 19184 */ 19185 function createFind(findIndexFunc) { 19186 return function(collection, predicate, fromIndex) { 19187 var iterable = Object(collection); 19188 if (!isArrayLike(collection)) { 19189 var iteratee = getIteratee(predicate, 3); 19190 collection = keys(collection); 19191 predicate = function(key) { return iteratee(iterable[key], key, iterable); }; 19192 } 19193 var index = findIndexFunc(collection, predicate, fromIndex); 19194 return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; 19195 }; 19196 } 19197 19198 /** 19199 * Creates a `_.flow` or `_.flowRight` function. 19200 * 19201 * @private 19202 * @param {boolean} [fromRight] Specify iterating from right to left. 19203 * @returns {Function} Returns the new flow function. 19204 */ 19205 function createFlow(fromRight) { 19206 return flatRest(function(funcs) { 19207 var length = funcs.length, 19208 index = length, 19209 prereq = LodashWrapper.prototype.thru; 19210 19211 if (fromRight) { 19212 funcs.reverse(); 19213 } 19214 while (index--) { 19215 var func = funcs[index]; 19216 if (typeof func != 'function') { 19217 throw new TypeError(FUNC_ERROR_TEXT); 19218 } 19219 if (prereq && !wrapper && getFuncName(func) == 'wrapper') { 19220 var wrapper = new LodashWrapper([], true); 19221 } 19222 } 19223 index = wrapper ? index : length; 19224 while (++index < length) { 19225 func = funcs[index]; 19226 19227 var funcName = getFuncName(func), 19228 data = funcName == 'wrapper' ? getData(func) : undefined; 19229 19230 if (data && isLaziable(data[0]) && 19231 data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && 19232 !data[4].length && data[9] == 1 19233 ) { 19234 wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); 19235 } else { 19236 wrapper = (func.length == 1 && isLaziable(func)) 19237 ? wrapper[funcName]() 19238 : wrapper.thru(func); 19239 } 19240 } 19241 return function() { 19242 var args = arguments, 19243 value = args[0]; 19244 19245 if (wrapper && args.length == 1 && isArray(value)) { 19246 return wrapper.plant(value).value(); 19247 } 19248 var index = 0, 19249 result = length ? funcs[index].apply(this, args) : value; 19250 19251 while (++index < length) { 19252 result = funcs[index].call(this, result); 19253 } 19254 return result; 19255 }; 19256 }); 19257 } 19258 19259 /** 19260 * Creates a function that wraps `func` to invoke it with optional `this` 19261 * binding of `thisArg`, partial application, and currying. 19262 * 19263 * @private 19264 * @param {Function|string} func The function or method name to wrap. 19265 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 19266 * @param {*} [thisArg] The `this` binding of `func`. 19267 * @param {Array} [partials] The arguments to prepend to those provided to 19268 * the new function. 19269 * @param {Array} [holders] The `partials` placeholder indexes. 19270 * @param {Array} [partialsRight] The arguments to append to those provided 19271 * to the new function. 19272 * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. 19273 * @param {Array} [argPos] The argument positions of the new function. 19274 * @param {number} [ary] The arity cap of `func`. 19275 * @param {number} [arity] The arity of `func`. 19276 * @returns {Function} Returns the new wrapped function. 19277 */ 19278 function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { 19279 var isAry = bitmask & WRAP_ARY_FLAG, 19280 isBind = bitmask & WRAP_BIND_FLAG, 19281 isBindKey = bitmask & WRAP_BIND_KEY_FLAG, 19282 isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), 19283 isFlip = bitmask & WRAP_FLIP_FLAG, 19284 Ctor = isBindKey ? undefined : createCtor(func); 19285 19286 function wrapper() { 19287 var length = arguments.length, 19288 args = Array(length), 19289 index = length; 19290 19291 while (index--) { 19292 args[index] = arguments[index]; 19293 } 19294 if (isCurried) { 19295 var placeholder = getHolder(wrapper), 19296 holdersCount = countHolders(args, placeholder); 19297 } 19298 if (partials) { 19299 args = composeArgs(args, partials, holders, isCurried); 19300 } 19301 if (partialsRight) { 19302 args = composeArgsRight(args, partialsRight, holdersRight, isCurried); 19303 } 19304 length -= holdersCount; 19305 if (isCurried && length < arity) { 19306 var newHolders = replaceHolders(args, placeholder); 19307 return createRecurry( 19308 func, bitmask, createHybrid, wrapper.placeholder, thisArg, 19309 args, newHolders, argPos, ary, arity - length 19310 ); 19311 } 19312 var thisBinding = isBind ? thisArg : this, 19313 fn = isBindKey ? thisBinding[func] : func; 19314 19315 length = args.length; 19316 if (argPos) { 19317 args = reorder(args, argPos); 19318 } else if (isFlip && length > 1) { 19319 args.reverse(); 19320 } 19321 if (isAry && ary < length) { 19322 args.length = ary; 19323 } 19324 if (this && this !== root && this instanceof wrapper) { 19325 fn = Ctor || createCtor(fn); 19326 } 19327 return fn.apply(thisBinding, args); 19328 } 19329 return wrapper; 19330 } 19331 19332 /** 19333 * Creates a function like `_.invertBy`. 19334 * 19335 * @private 19336 * @param {Function} setter The function to set accumulator values. 19337 * @param {Function} toIteratee The function to resolve iteratees. 19338 * @returns {Function} Returns the new inverter function. 19339 */ 19340 function createInverter(setter, toIteratee) { 19341 return function(object, iteratee) { 19342 return baseInverter(object, setter, toIteratee(iteratee), {}); 19343 }; 19344 } 19345 19346 /** 19347 * Creates a function that performs a mathematical operation on two values. 19348 * 19349 * @private 19350 * @param {Function} operator The function to perform the operation. 19351 * @param {number} [defaultValue] The value used for `undefined` arguments. 19352 * @returns {Function} Returns the new mathematical operation function. 19353 */ 19354 function createMathOperation(operator, defaultValue) { 19355 return function(value, other) { 19356 var result; 19357 if (value === undefined && other === undefined) { 19358 return defaultValue; 19359 } 19360 if (value !== undefined) { 19361 result = value; 19362 } 19363 if (other !== undefined) { 19364 if (result === undefined) { 19365 return other; 19366 } 19367 if (typeof value == 'string' || typeof other == 'string') { 19368 value = baseToString(value); 19369 other = baseToString(other); 19370 } else { 19371 value = baseToNumber(value); 19372 other = baseToNumber(other); 19373 } 19374 result = operator(value, other); 19375 } 19376 return result; 19377 }; 19378 } 19379 19380 /** 19381 * Creates a function like `_.over`. 19382 * 19383 * @private 19384 * @param {Function} arrayFunc The function to iterate over iteratees. 19385 * @returns {Function} Returns the new over function. 19386 */ 19387 function createOver(arrayFunc) { 19388 return flatRest(function(iteratees) { 19389 iteratees = arrayMap(iteratees, baseUnary(getIteratee())); 19390 return baseRest(function(args) { 19391 var thisArg = this; 19392 return arrayFunc(iteratees, function(iteratee) { 19393 return apply(iteratee, thisArg, args); 19394 }); 19395 }); 19396 }); 19397 } 19398 19399 /** 19400 * Creates the padding for `string` based on `length`. The `chars` string 19401 * is truncated if the number of characters exceeds `length`. 19402 * 19403 * @private 19404 * @param {number} length The padding length. 19405 * @param {string} [chars=' '] The string used as padding. 19406 * @returns {string} Returns the padding for `string`. 19407 */ 19408 function createPadding(length, chars) { 19409 chars = chars === undefined ? ' ' : baseToString(chars); 19410 19411 var charsLength = chars.length; 19412 if (charsLength < 2) { 19413 return charsLength ? baseRepeat(chars, length) : chars; 19414 } 19415 var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); 19416 return hasUnicode(chars) 19417 ? castSlice(stringToArray(result), 0, length).join('') 19418 : result.slice(0, length); 19419 } 19420 19421 /** 19422 * Creates a function that wraps `func` to invoke it with the `this` binding 19423 * of `thisArg` and `partials` prepended to the arguments it receives. 19424 * 19425 * @private 19426 * @param {Function} func The function to wrap. 19427 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 19428 * @param {*} thisArg The `this` binding of `func`. 19429 * @param {Array} partials The arguments to prepend to those provided to 19430 * the new function. 19431 * @returns {Function} Returns the new wrapped function. 19432 */ 19433 function createPartial(func, bitmask, thisArg, partials) { 19434 var isBind = bitmask & WRAP_BIND_FLAG, 19435 Ctor = createCtor(func); 19436 19437 function wrapper() { 19438 var argsIndex = -1, 19439 argsLength = arguments.length, 19440 leftIndex = -1, 19441 leftLength = partials.length, 19442 args = Array(leftLength + argsLength), 19443 fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; 19444 19445 while (++leftIndex < leftLength) { 19446 args[leftIndex] = partials[leftIndex]; 19447 } 19448 while (argsLength--) { 19449 args[leftIndex++] = arguments[++argsIndex]; 19450 } 19451 return apply(fn, isBind ? thisArg : this, args); 19452 } 19453 return wrapper; 19454 } 19455 19456 /** 19457 * Creates a `_.range` or `_.rangeRight` function. 19458 * 19459 * @private 19460 * @param {boolean} [fromRight] Specify iterating from right to left. 19461 * @returns {Function} Returns the new range function. 19462 */ 19463 function createRange(fromRight) { 19464 return function(start, end, step) { 19465 if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { 19466 end = step = undefined; 19467 } 19468 // Ensure the sign of `-0` is preserved. 19469 start = toFinite(start); 19470 if (end === undefined) { 19471 end = start; 19472 start = 0; 19473 } else { 19474 end = toFinite(end); 19475 } 19476 step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); 19477 return baseRange(start, end, step, fromRight); 19478 }; 19479 } 19480 19481 /** 19482 * Creates a function that performs a relational operation on two values. 19483 * 19484 * @private 19485 * @param {Function} operator The function to perform the operation. 19486 * @returns {Function} Returns the new relational operation function. 19487 */ 19488 function createRelationalOperation(operator) { 19489 return function(value, other) { 19490 if (!(typeof value == 'string' && typeof other == 'string')) { 19491 value = toNumber(value); 19492 other = toNumber(other); 19493 } 19494 return operator(value, other); 19495 }; 19496 } 19497 19498 /** 19499 * Creates a function that wraps `func` to continue currying. 19500 * 19501 * @private 19502 * @param {Function} func The function to wrap. 19503 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 19504 * @param {Function} wrapFunc The function to create the `func` wrapper. 19505 * @param {*} placeholder The placeholder value. 19506 * @param {*} [thisArg] The `this` binding of `func`. 19507 * @param {Array} [partials] The arguments to prepend to those provided to 19508 * the new function. 19509 * @param {Array} [holders] The `partials` placeholder indexes. 19510 * @param {Array} [argPos] The argument positions of the new function. 19511 * @param {number} [ary] The arity cap of `func`. 19512 * @param {number} [arity] The arity of `func`. 19513 * @returns {Function} Returns the new wrapped function. 19514 */ 19515 function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { 19516 var isCurry = bitmask & WRAP_CURRY_FLAG, 19517 newHolders = isCurry ? holders : undefined, 19518 newHoldersRight = isCurry ? undefined : holders, 19519 newPartials = isCurry ? partials : undefined, 19520 newPartialsRight = isCurry ? undefined : partials; 19521 19522 bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); 19523 bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); 19524 19525 if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { 19526 bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); 19527 } 19528 var newData = [ 19529 func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, 19530 newHoldersRight, argPos, ary, arity 19531 ]; 19532 19533 var result = wrapFunc.apply(undefined, newData); 19534 if (isLaziable(func)) { 19535 setData(result, newData); 19536 } 19537 result.placeholder = placeholder; 19538 return setWrapToString(result, func, bitmask); 19539 } 19540 19541 /** 19542 * Creates a function like `_.round`. 19543 * 19544 * @private 19545 * @param {string} methodName The name of the `Math` method to use when rounding. 19546 * @returns {Function} Returns the new round function. 19547 */ 19548 function createRound(methodName) { 19549 var func = Math[methodName]; 19550 return function(number, precision) { 19551 number = toNumber(number); 19552 precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); 19553 if (precision && nativeIsFinite(number)) { 19554 // Shift with exponential notation to avoid floating-point issues. 19555 // See [MDN](https://mdn.io/round#Examples) for more details. 19556 var pair = (toString(number) + 'e').split('e'), 19557 value = func(pair[0] + 'e' + (+pair[1] + precision)); 19558 19559 pair = (toString(value) + 'e').split('e'); 19560 return +(pair[0] + 'e' + (+pair[1] - precision)); 19561 } 19562 return func(number); 19563 }; 19564 } 19565 19566 /** 19567 * Creates a set object of `values`. 19568 * 19569 * @private 19570 * @param {Array} values The values to add to the set. 19571 * @returns {Object} Returns the new set. 19572 */ 19573 var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { 19574 return new Set(values); 19575 }; 19576 19577 /** 19578 * Creates a `_.toPairs` or `_.toPairsIn` function. 19579 * 19580 * @private 19581 * @param {Function} keysFunc The function to get the keys of a given object. 19582 * @returns {Function} Returns the new pairs function. 19583 */ 19584 function createToPairs(keysFunc) { 19585 return function(object) { 19586 var tag = getTag(object); 19587 if (tag == mapTag) { 19588 return mapToArray(object); 19589 } 19590 if (tag == setTag) { 19591 return setToPairs(object); 19592 } 19593 return baseToPairs(object, keysFunc(object)); 19594 }; 19595 } 19596 19597 /** 19598 * Creates a function that either curries or invokes `func` with optional 19599 * `this` binding and partially applied arguments. 19600 * 19601 * @private 19602 * @param {Function|string} func The function or method name to wrap. 19603 * @param {number} bitmask The bitmask flags. 19604 * 1 - `_.bind` 19605 * 2 - `_.bindKey` 19606 * 4 - `_.curry` or `_.curryRight` of a bound function 19607 * 8 - `_.curry` 19608 * 16 - `_.curryRight` 19609 * 32 - `_.partial` 19610 * 64 - `_.partialRight` 19611 * 128 - `_.rearg` 19612 * 256 - `_.ary` 19613 * 512 - `_.flip` 19614 * @param {*} [thisArg] The `this` binding of `func`. 19615 * @param {Array} [partials] The arguments to be partially applied. 19616 * @param {Array} [holders] The `partials` placeholder indexes. 19617 * @param {Array} [argPos] The argument positions of the new function. 19618 * @param {number} [ary] The arity cap of `func`. 19619 * @param {number} [arity] The arity of `func`. 19620 * @returns {Function} Returns the new wrapped function. 19621 */ 19622 function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { 19623 var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; 19624 if (!isBindKey && typeof func != 'function') { 19625 throw new TypeError(FUNC_ERROR_TEXT); 19626 } 19627 var length = partials ? partials.length : 0; 19628 if (!length) { 19629 bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); 19630 partials = holders = undefined; 19631 } 19632 ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); 19633 arity = arity === undefined ? arity : toInteger(arity); 19634 length -= holders ? holders.length : 0; 19635 19636 if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { 19637 var partialsRight = partials, 19638 holdersRight = holders; 19639 19640 partials = holders = undefined; 19641 } 19642 var data = isBindKey ? undefined : getData(func); 19643 19644 var newData = [ 19645 func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, 19646 argPos, ary, arity 19647 ]; 19648 19649 if (data) { 19650 mergeData(newData, data); 19651 } 19652 func = newData[0]; 19653 bitmask = newData[1]; 19654 thisArg = newData[2]; 19655 partials = newData[3]; 19656 holders = newData[4]; 19657 arity = newData[9] = newData[9] === undefined 19658 ? (isBindKey ? 0 : func.length) 19659 : nativeMax(newData[9] - length, 0); 19660 19661 if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { 19662 bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); 19663 } 19664 if (!bitmask || bitmask == WRAP_BIND_FLAG) { 19665 var result = createBind(func, bitmask, thisArg); 19666 } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { 19667 result = createCurry(func, bitmask, arity); 19668 } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { 19669 result = createPartial(func, bitmask, thisArg, partials); 19670 } else { 19671 result = createHybrid.apply(undefined, newData); 19672 } 19673 var setter = data ? baseSetData : setData; 19674 return setWrapToString(setter(result, newData), func, bitmask); 19675 } 19676 19677 /** 19678 * Used by `_.defaults` to customize its `_.assignIn` use to assign properties 19679 * of source objects to the destination object for all destination properties 19680 * that resolve to `undefined`. 19681 * 19682 * @private 19683 * @param {*} objValue The destination value. 19684 * @param {*} srcValue The source value. 19685 * @param {string} key The key of the property to assign. 19686 * @param {Object} object The parent object of `objValue`. 19687 * @returns {*} Returns the value to assign. 19688 */ 19689 function customDefaultsAssignIn(objValue, srcValue, key, object) { 19690 if (objValue === undefined || 19691 (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { 19692 return srcValue; 19693 } 19694 return objValue; 19695 } 19696 19697 /** 19698 * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source 19699 * objects into destination objects that are passed thru. 19700 * 19701 * @private 19702 * @param {*} objValue The destination value. 19703 * @param {*} srcValue The source value. 19704 * @param {string} key The key of the property to merge. 19705 * @param {Object} object The parent object of `objValue`. 19706 * @param {Object} source The parent object of `srcValue`. 19707 * @param {Object} [stack] Tracks traversed source values and their merged 19708 * counterparts. 19709 * @returns {*} Returns the value to assign. 19710 */ 19711 function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { 19712 if (isObject(objValue) && isObject(srcValue)) { 19713 // Recursively merge objects and arrays (susceptible to call stack limits). 19714 stack.set(srcValue, objValue); 19715 baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); 19716 stack['delete'](srcValue); 19717 } 19718 return objValue; 19719 } 19720 19721 /** 19722 * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain 19723 * objects. 19724 * 19725 * @private 19726 * @param {*} value The value to inspect. 19727 * @param {string} key The key of the property to inspect. 19728 * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. 19729 */ 19730 function customOmitClone(value) { 19731 return isPlainObject(value) ? undefined : value; 19732 } 19733 19734 /** 19735 * A specialized version of `baseIsEqualDeep` for arrays with support for 19736 * partial deep comparisons. 19737 * 19738 * @private 19739 * @param {Array} array The array to compare. 19740 * @param {Array} other The other array to compare. 19741 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 19742 * @param {Function} customizer The function to customize comparisons. 19743 * @param {Function} equalFunc The function to determine equivalents of values. 19744 * @param {Object} stack Tracks traversed `array` and `other` objects. 19745 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. 19746 */ 19747 function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { 19748 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 19749 arrLength = array.length, 19750 othLength = other.length; 19751 19752 if (arrLength != othLength && !(isPartial && othLength > arrLength)) { 19753 return false; 19754 } 19755 // Check that cyclic values are equal. 19756 var arrStacked = stack.get(array); 19757 var othStacked = stack.get(other); 19758 if (arrStacked && othStacked) { 19759 return arrStacked == other && othStacked == array; 19760 } 19761 var index = -1, 19762 result = true, 19763 seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; 19764 19765 stack.set(array, other); 19766 stack.set(other, array); 19767 19768 // Ignore non-index properties. 19769 while (++index < arrLength) { 19770 var arrValue = array[index], 19771 othValue = other[index]; 19772 19773 if (customizer) { 19774 var compared = isPartial 19775 ? customizer(othValue, arrValue, index, other, array, stack) 19776 : customizer(arrValue, othValue, index, array, other, stack); 19777 } 19778 if (compared !== undefined) { 19779 if (compared) { 19780 continue; 19781 } 19782 result = false; 19783 break; 19784 } 19785 // Recursively compare arrays (susceptible to call stack limits). 19786 if (seen) { 19787 if (!arraySome(other, function(othValue, othIndex) { 19788 if (!cacheHas(seen, othIndex) && 19789 (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { 19790 return seen.push(othIndex); 19791 } 19792 })) { 19793 result = false; 19794 break; 19795 } 19796 } else if (!( 19797 arrValue === othValue || 19798 equalFunc(arrValue, othValue, bitmask, customizer, stack) 19799 )) { 19800 result = false; 19801 break; 19802 } 19803 } 19804 stack['delete'](array); 19805 stack['delete'](other); 19806 return result; 19807 } 19808 19809 /** 19810 * A specialized version of `baseIsEqualDeep` for comparing objects of 19811 * the same `toStringTag`. 19812 * 19813 * **Note:** This function only supports comparing values with tags of 19814 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. 19815 * 19816 * @private 19817 * @param {Object} object The object to compare. 19818 * @param {Object} other The other object to compare. 19819 * @param {string} tag The `toStringTag` of the objects to compare. 19820 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 19821 * @param {Function} customizer The function to customize comparisons. 19822 * @param {Function} equalFunc The function to determine equivalents of values. 19823 * @param {Object} stack Tracks traversed `object` and `other` objects. 19824 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 19825 */ 19826 function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { 19827 switch (tag) { 19828 case dataViewTag: 19829 if ((object.byteLength != other.byteLength) || 19830 (object.byteOffset != other.byteOffset)) { 19831 return false; 19832 } 19833 object = object.buffer; 19834 other = other.buffer; 19835 19836 case arrayBufferTag: 19837 if ((object.byteLength != other.byteLength) || 19838 !equalFunc(new Uint8Array(object), new Uint8Array(other))) { 19839 return false; 19840 } 19841 return true; 19842 19843 case boolTag: 19844 case dateTag: 19845 case numberTag: 19846 // Coerce booleans to `1` or `0` and dates to milliseconds. 19847 // Invalid dates are coerced to `NaN`. 19848 return eq(+object, +other); 19849 19850 case errorTag: 19851 return object.name == other.name && object.message == other.message; 19852 19853 case regexpTag: 19854 case stringTag: 19855 // Coerce regexes to strings and treat strings, primitives and objects, 19856 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring 19857 // for more details. 19858 return object == (other + ''); 19859 19860 case mapTag: 19861 var convert = mapToArray; 19862 19863 case setTag: 19864 var isPartial = bitmask & COMPARE_PARTIAL_FLAG; 19865 convert || (convert = setToArray); 19866 19867 if (object.size != other.size && !isPartial) { 19868 return false; 19869 } 19870 // Assume cyclic values are equal. 19871 var stacked = stack.get(object); 19872 if (stacked) { 19873 return stacked == other; 19874 } 19875 bitmask |= COMPARE_UNORDERED_FLAG; 19876 19877 // Recursively compare objects (susceptible to call stack limits). 19878 stack.set(object, other); 19879 var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); 19880 stack['delete'](object); 19881 return result; 19882 19883 case symbolTag: 19884 if (symbolValueOf) { 19885 return symbolValueOf.call(object) == symbolValueOf.call(other); 19886 } 19887 } 19888 return false; 19889 } 19890 19891 /** 19892 * A specialized version of `baseIsEqualDeep` for objects with support for 19893 * partial deep comparisons. 19894 * 19895 * @private 19896 * @param {Object} object The object to compare. 19897 * @param {Object} other The other object to compare. 19898 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 19899 * @param {Function} customizer The function to customize comparisons. 19900 * @param {Function} equalFunc The function to determine equivalents of values. 19901 * @param {Object} stack Tracks traversed `object` and `other` objects. 19902 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 19903 */ 19904 function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { 19905 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 19906 objProps = getAllKeys(object), 19907 objLength = objProps.length, 19908 othProps = getAllKeys(other), 19909 othLength = othProps.length; 19910 19911 if (objLength != othLength && !isPartial) { 19912 return false; 19913 } 19914 var index = objLength; 19915 while (index--) { 19916 var key = objProps[index]; 19917 if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { 19918 return false; 19919 } 19920 } 19921 // Check that cyclic values are equal. 19922 var objStacked = stack.get(object); 19923 var othStacked = stack.get(other); 19924 if (objStacked && othStacked) { 19925 return objStacked == other && othStacked == object; 19926 } 19927 var result = true; 19928 stack.set(object, other); 19929 stack.set(other, object); 19930 19931 var skipCtor = isPartial; 19932 while (++index < objLength) { 19933 key = objProps[index]; 19934 var objValue = object[key], 19935 othValue = other[key]; 19936 19937 if (customizer) { 19938 var compared = isPartial 19939 ? customizer(othValue, objValue, key, other, object, stack) 19940 : customizer(objValue, othValue, key, object, other, stack); 19941 } 19942 // Recursively compare objects (susceptible to call stack limits). 19943 if (!(compared === undefined 19944 ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) 19945 : compared 19946 )) { 19947 result = false; 19948 break; 19949 } 19950 skipCtor || (skipCtor = key == 'constructor'); 19951 } 19952 if (result && !skipCtor) { 19953 var objCtor = object.constructor, 19954 othCtor = other.constructor; 19955 19956 // Non `Object` object instances with different constructors are not equal. 19957 if (objCtor != othCtor && 19958 ('constructor' in object && 'constructor' in other) && 19959 !(typeof objCtor == 'function' && objCtor instanceof objCtor && 19960 typeof othCtor == 'function' && othCtor instanceof othCtor)) { 19961 result = false; 19962 } 19963 } 19964 stack['delete'](object); 19965 stack['delete'](other); 19966 return result; 19967 } 19968 19969 /** 19970 * A specialized version of `baseRest` which flattens the rest array. 19971 * 19972 * @private 19973 * @param {Function} func The function to apply a rest parameter to. 19974 * @returns {Function} Returns the new function. 19975 */ 19976 function flatRest(func) { 19977 return setToString(overRest(func, undefined, flatten), func + ''); 19978 } 19979 19980 /** 19981 * Creates an array of own enumerable property names and symbols of `object`. 19982 * 19983 * @private 19984 * @param {Object} object The object to query. 19985 * @returns {Array} Returns the array of property names and symbols. 19986 */ 19987 function getAllKeys(object) { 19988 return baseGetAllKeys(object, keys, getSymbols); 19989 } 19990 19991 /** 19992 * Creates an array of own and inherited enumerable property names and 19993 * symbols of `object`. 19994 * 19995 * @private 19996 * @param {Object} object The object to query. 19997 * @returns {Array} Returns the array of property names and symbols. 19998 */ 19999 function getAllKeysIn(object) { 20000 return baseGetAllKeys(object, keysIn, getSymbolsIn); 20001 } 20002 20003 /** 20004 * Gets metadata for `func`. 20005 * 20006 * @private 20007 * @param {Function} func The function to query. 20008 * @returns {*} Returns the metadata for `func`. 20009 */ 20010 var getData = !metaMap ? noop : function(func) { 20011 return metaMap.get(func); 20012 }; 20013 20014 /** 20015 * Gets the name of `func`. 20016 * 20017 * @private 20018 * @param {Function} func The function to query. 20019 * @returns {string} Returns the function name. 20020 */ 20021 function getFuncName(func) { 20022 var result = (func.name + ''), 20023 array = realNames[result], 20024 length = hasOwnProperty.call(realNames, result) ? array.length : 0; 20025 20026 while (length--) { 20027 var data = array[length], 20028 otherFunc = data.func; 20029 if (otherFunc == null || otherFunc == func) { 20030 return data.name; 20031 } 20032 } 20033 return result; 20034 } 20035 20036 /** 20037 * Gets the argument placeholder value for `func`. 20038 * 20039 * @private 20040 * @param {Function} func The function to inspect. 20041 * @returns {*} Returns the placeholder value. 20042 */ 20043 function getHolder(func) { 20044 var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; 20045 return object.placeholder; 20046 } 20047 20048 /** 20049 * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, 20050 * this function returns the custom method, otherwise it returns `baseIteratee`. 20051 * If arguments are provided, the chosen function is invoked with them and 20052 * its result is returned. 20053 * 20054 * @private 20055 * @param {*} [value] The value to convert to an iteratee. 20056 * @param {number} [arity] The arity of the created iteratee. 20057 * @returns {Function} Returns the chosen function or its result. 20058 */ 20059 function getIteratee() { 20060 var result = lodash.iteratee || iteratee; 20061 result = result === iteratee ? baseIteratee : result; 20062 return arguments.length ? result(arguments[0], arguments[1]) : result; 20063 } 20064 20065 /** 20066 * Gets the data for `map`. 20067 * 20068 * @private 20069 * @param {Object} map The map to query. 20070 * @param {string} key The reference key. 20071 * @returns {*} Returns the map data. 20072 */ 20073 function getMapData(map, key) { 20074 var data = map.__data__; 20075 return isKeyable(key) 20076 ? data[typeof key == 'string' ? 'string' : 'hash'] 20077 : data.map; 20078 } 20079 20080 /** 20081 * Gets the property names, values, and compare flags of `object`. 20082 * 20083 * @private 20084 * @param {Object} object The object to query. 20085 * @returns {Array} Returns the match data of `object`. 20086 */ 20087 function getMatchData(object) { 20088 var result = keys(object), 20089 length = result.length; 20090 20091 while (length--) { 20092 var key = result[length], 20093 value = object[key]; 20094 20095 result[length] = [key, value, isStrictComparable(value)]; 20096 } 20097 return result; 20098 } 20099 20100 /** 20101 * Gets the native function at `key` of `object`. 20102 * 20103 * @private 20104 * @param {Object} object The object to query. 20105 * @param {string} key The key of the method to get. 20106 * @returns {*} Returns the function if it's native, else `undefined`. 20107 */ 20108 function getNative(object, key) { 20109 var value = getValue(object, key); 20110 return baseIsNative(value) ? value : undefined; 20111 } 20112 20113 /** 20114 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 20115 * 20116 * @private 20117 * @param {*} value The value to query. 20118 * @returns {string} Returns the raw `toStringTag`. 20119 */ 20120 function getRawTag(value) { 20121 var isOwn = hasOwnProperty.call(value, symToStringTag), 20122 tag = value[symToStringTag]; 20123 20124 try { 20125 value[symToStringTag] = undefined; 20126 var unmasked = true; 20127 } catch (e) {} 20128 20129 var result = nativeObjectToString.call(value); 20130 if (unmasked) { 20131 if (isOwn) { 20132 value[symToStringTag] = tag; 20133 } else { 20134 delete value[symToStringTag]; 20135 } 20136 } 20137 return result; 20138 } 20139 20140 /** 20141 * Creates an array of the own enumerable symbols of `object`. 20142 * 20143 * @private 20144 * @param {Object} object The object to query. 20145 * @returns {Array} Returns the array of symbols. 20146 */ 20147 var getSymbols = !nativeGetSymbols ? stubArray : function(object) { 20148 if (object == null) { 20149 return []; 20150 } 20151 object = Object(object); 20152 return arrayFilter(nativeGetSymbols(object), function(symbol) { 20153 return propertyIsEnumerable.call(object, symbol); 20154 }); 20155 }; 20156 20157 /** 20158 * Creates an array of the own and inherited enumerable symbols of `object`. 20159 * 20160 * @private 20161 * @param {Object} object The object to query. 20162 * @returns {Array} Returns the array of symbols. 20163 */ 20164 var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { 20165 var result = []; 20166 while (object) { 20167 arrayPush(result, getSymbols(object)); 20168 object = getPrototype(object); 20169 } 20170 return result; 20171 }; 20172 20173 /** 20174 * Gets the `toStringTag` of `value`. 20175 * 20176 * @private 20177 * @param {*} value The value to query. 20178 * @returns {string} Returns the `toStringTag`. 20179 */ 20180 var getTag = baseGetTag; 20181 20182 // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. 20183 if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || 20184 (Map && getTag(new Map) != mapTag) || 20185 (Promise && getTag(Promise.resolve()) != promiseTag) || 20186 (Set && getTag(new Set) != setTag) || 20187 (WeakMap && getTag(new WeakMap) != weakMapTag)) { 20188 getTag = function(value) { 20189 var result = baseGetTag(value), 20190 Ctor = result == objectTag ? value.constructor : undefined, 20191 ctorString = Ctor ? toSource(Ctor) : ''; 20192 20193 if (ctorString) { 20194 switch (ctorString) { 20195 case dataViewCtorString: return dataViewTag; 20196 case mapCtorString: return mapTag; 20197 case promiseCtorString: return promiseTag; 20198 case setCtorString: return setTag; 20199 case weakMapCtorString: return weakMapTag; 20200 } 20201 } 20202 return result; 20203 }; 20204 } 20205 20206 /** 20207 * Gets the view, applying any `transforms` to the `start` and `end` positions. 20208 * 20209 * @private 20210 * @param {number} start The start of the view. 20211 * @param {number} end The end of the view. 20212 * @param {Array} transforms The transformations to apply to the view. 20213 * @returns {Object} Returns an object containing the `start` and `end` 20214 * positions of the view. 20215 */ 20216 function getView(start, end, transforms) { 20217 var index = -1, 20218 length = transforms.length; 20219 20220 while (++index < length) { 20221 var data = transforms[index], 20222 size = data.size; 20223 20224 switch (data.type) { 20225 case 'drop': start += size; break; 20226 case 'dropRight': end -= size; break; 20227 case 'take': end = nativeMin(end, start + size); break; 20228 case 'takeRight': start = nativeMax(start, end - size); break; 20229 } 20230 } 20231 return { 'start': start, 'end': end }; 20232 } 20233 20234 /** 20235 * Extracts wrapper details from the `source` body comment. 20236 * 20237 * @private 20238 * @param {string} source The source to inspect. 20239 * @returns {Array} Returns the wrapper details. 20240 */ 20241 function getWrapDetails(source) { 20242 var match = source.match(reWrapDetails); 20243 return match ? match[1].split(reSplitDetails) : []; 20244 } 20245 20246 /** 20247 * Checks if `path` exists on `object`. 20248 * 20249 * @private 20250 * @param {Object} object The object to query. 20251 * @param {Array|string} path The path to check. 20252 * @param {Function} hasFunc The function to check properties. 20253 * @returns {boolean} Returns `true` if `path` exists, else `false`. 20254 */ 20255 function hasPath(object, path, hasFunc) { 20256 path = castPath(path, object); 20257 20258 var index = -1, 20259 length = path.length, 20260 result = false; 20261 20262 while (++index < length) { 20263 var key = toKey(path[index]); 20264 if (!(result = object != null && hasFunc(object, key))) { 20265 break; 20266 } 20267 object = object[key]; 20268 } 20269 if (result || ++index != length) { 20270 return result; 20271 } 20272 length = object == null ? 0 : object.length; 20273 return !!length && isLength(length) && isIndex(key, length) && 20274 (isArray(object) || isArguments(object)); 20275 } 20276 20277 /** 20278 * Initializes an array clone. 20279 * 20280 * @private 20281 * @param {Array} array The array to clone. 20282 * @returns {Array} Returns the initialized clone. 20283 */ 20284 function initCloneArray(array) { 20285 var length = array.length, 20286 result = new array.constructor(length); 20287 20288 // Add properties assigned by `RegExp#exec`. 20289 if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { 20290 result.index = array.index; 20291 result.input = array.input; 20292 } 20293 return result; 20294 } 20295 20296 /** 20297 * Initializes an object clone. 20298 * 20299 * @private 20300 * @param {Object} object The object to clone. 20301 * @returns {Object} Returns the initialized clone. 20302 */ 20303 function initCloneObject(object) { 20304 return (typeof object.constructor == 'function' && !isPrototype(object)) 20305 ? baseCreate(getPrototype(object)) 20306 : {}; 20307 } 20308 20309 /** 20310 * Initializes an object clone based on its `toStringTag`. 20311 * 20312 * **Note:** This function only supports cloning values with tags of 20313 * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. 20314 * 20315 * @private 20316 * @param {Object} object The object to clone. 20317 * @param {string} tag The `toStringTag` of the object to clone. 20318 * @param {boolean} [isDeep] Specify a deep clone. 20319 * @returns {Object} Returns the initialized clone. 20320 */ 20321 function initCloneByTag(object, tag, isDeep) { 20322 var Ctor = object.constructor; 20323 switch (tag) { 20324 case arrayBufferTag: 20325 return cloneArrayBuffer(object); 20326 20327 case boolTag: 20328 case dateTag: 20329 return new Ctor(+object); 20330 20331 case dataViewTag: 20332 return cloneDataView(object, isDeep); 20333 20334 case float32Tag: case float64Tag: 20335 case int8Tag: case int16Tag: case int32Tag: 20336 case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: 20337 return cloneTypedArray(object, isDeep); 20338 20339 case mapTag: 20340 return new Ctor; 20341 20342 case numberTag: 20343 case stringTag: 20344 return new Ctor(object); 20345 20346 case regexpTag: 20347 return cloneRegExp(object); 20348 20349 case setTag: 20350 return new Ctor; 20351 20352 case symbolTag: 20353 return cloneSymbol(object); 20354 } 20355 } 20356 20357 /** 20358 * Inserts wrapper `details` in a comment at the top of the `source` body. 20359 * 20360 * @private 20361 * @param {string} source The source to modify. 20362 * @returns {Array} details The details to insert. 20363 * @returns {string} Returns the modified source. 20364 */ 20365 function insertWrapDetails(source, details) { 20366 var length = details.length; 20367 if (!length) { 20368 return source; 20369 } 20370 var lastIndex = length - 1; 20371 details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; 20372 details = details.join(length > 2 ? ', ' : ' '); 20373 return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); 20374 } 20375 20376 /** 20377 * Checks if `value` is a flattenable `arguments` object or array. 20378 * 20379 * @private 20380 * @param {*} value The value to check. 20381 * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. 20382 */ 20383 function isFlattenable(value) { 20384 return isArray(value) || isArguments(value) || 20385 !!(spreadableSymbol && value && value[spreadableSymbol]); 20386 } 20387 20388 /** 20389 * Checks if `value` is a valid array-like index. 20390 * 20391 * @private 20392 * @param {*} value The value to check. 20393 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 20394 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 20395 */ 20396 function isIndex(value, length) { 20397 var type = typeof value; 20398 length = length == null ? MAX_SAFE_INTEGER : length; 20399 20400 return !!length && 20401 (type == 'number' || 20402 (type != 'symbol' && reIsUint.test(value))) && 20403 (value > -1 && value % 1 == 0 && value < length); 20404 } 20405 20406 /** 20407 * Checks if the given arguments are from an iteratee call. 20408 * 20409 * @private 20410 * @param {*} value The potential iteratee value argument. 20411 * @param {*} index The potential iteratee index or key argument. 20412 * @param {*} object The potential iteratee object argument. 20413 * @returns {boolean} Returns `true` if the arguments are from an iteratee call, 20414 * else `false`. 20415 */ 20416 function isIterateeCall(value, index, object) { 20417 if (!isObject(object)) { 20418 return false; 20419 } 20420 var type = typeof index; 20421 if (type == 'number' 20422 ? (isArrayLike(object) && isIndex(index, object.length)) 20423 : (type == 'string' && index in object) 20424 ) { 20425 return eq(object[index], value); 20426 } 20427 return false; 20428 } 20429 20430 /** 20431 * Checks if `value` is a property name and not a property path. 20432 * 20433 * @private 20434 * @param {*} value The value to check. 20435 * @param {Object} [object] The object to query keys on. 20436 * @returns {boolean} Returns `true` if `value` is a property name, else `false`. 20437 */ 20438 function isKey(value, object) { 20439 if (isArray(value)) { 20440 return false; 20441 } 20442 var type = typeof value; 20443 if (type == 'number' || type == 'symbol' || type == 'boolean' || 20444 value == null || isSymbol(value)) { 20445 return true; 20446 } 20447 return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || 20448 (object != null && value in Object(object)); 20449 } 20450 20451 /** 20452 * Checks if `value` is suitable for use as unique object key. 20453 * 20454 * @private 20455 * @param {*} value The value to check. 20456 * @returns {boolean} Returns `true` if `value` is suitable, else `false`. 20457 */ 20458 function isKeyable(value) { 20459 var type = typeof value; 20460 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') 20461 ? (value !== '__proto__') 20462 : (value === null); 20463 } 20464 20465 /** 20466 * Checks if `func` has a lazy counterpart. 20467 * 20468 * @private 20469 * @param {Function} func The function to check. 20470 * @returns {boolean} Returns `true` if `func` has a lazy counterpart, 20471 * else `false`. 20472 */ 20473 function isLaziable(func) { 20474 var funcName = getFuncName(func), 20475 other = lodash[funcName]; 20476 20477 if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { 20478 return false; 20479 } 20480 if (func === other) { 20481 return true; 20482 } 20483 var data = getData(other); 20484 return !!data && func === data[0]; 20485 } 20486 20487 /** 20488 * Checks if `func` has its source masked. 20489 * 20490 * @private 20491 * @param {Function} func The function to check. 20492 * @returns {boolean} Returns `true` if `func` is masked, else `false`. 20493 */ 20494 function isMasked(func) { 20495 return !!maskSrcKey && (maskSrcKey in func); 20496 } 20497 20498 /** 20499 * Checks if `func` is capable of being masked. 20500 * 20501 * @private 20502 * @param {*} value The value to check. 20503 * @returns {boolean} Returns `true` if `func` is maskable, else `false`. 20504 */ 20505 var isMaskable = coreJsData ? isFunction : stubFalse; 20506 20507 /** 20508 * Checks if `value` is likely a prototype object. 20509 * 20510 * @private 20511 * @param {*} value The value to check. 20512 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. 20513 */ 20514 function isPrototype(value) { 20515 var Ctor = value && value.constructor, 20516 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; 20517 20518 return value === proto; 20519 } 20520 20521 /** 20522 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. 20523 * 20524 * @private 20525 * @param {*} value The value to check. 20526 * @returns {boolean} Returns `true` if `value` if suitable for strict 20527 * equality comparisons, else `false`. 20528 */ 20529 function isStrictComparable(value) { 20530 return value === value && !isObject(value); 20531 } 20532 20533 /** 20534 * A specialized version of `matchesProperty` for source values suitable 20535 * for strict equality comparisons, i.e. `===`. 20536 * 20537 * @private 20538 * @param {string} key The key of the property to get. 20539 * @param {*} srcValue The value to match. 20540 * @returns {Function} Returns the new spec function. 20541 */ 20542 function matchesStrictComparable(key, srcValue) { 20543 return function(object) { 20544 if (object == null) { 20545 return false; 20546 } 20547 return object[key] === srcValue && 20548 (srcValue !== undefined || (key in Object(object))); 20549 }; 20550 } 20551 20552 /** 20553 * A specialized version of `_.memoize` which clears the memoized function's 20554 * cache when it exceeds `MAX_MEMOIZE_SIZE`. 20555 * 20556 * @private 20557 * @param {Function} func The function to have its output memoized. 20558 * @returns {Function} Returns the new memoized function. 20559 */ 20560 function memoizeCapped(func) { 20561 var result = memoize(func, function(key) { 20562 if (cache.size === MAX_MEMOIZE_SIZE) { 20563 cache.clear(); 20564 } 20565 return key; 20566 }); 20567 20568 var cache = result.cache; 20569 return result; 20570 } 20571 20572 /** 20573 * Merges the function metadata of `source` into `data`. 20574 * 20575 * Merging metadata reduces the number of wrappers used to invoke a function. 20576 * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` 20577 * may be applied regardless of execution order. Methods like `_.ary` and 20578 * `_.rearg` modify function arguments, making the order in which they are 20579 * executed important, preventing the merging of metadata. However, we make 20580 * an exception for a safe combined case where curried functions have `_.ary` 20581 * and or `_.rearg` applied. 20582 * 20583 * @private 20584 * @param {Array} data The destination metadata. 20585 * @param {Array} source The source metadata. 20586 * @returns {Array} Returns `data`. 20587 */ 20588 function mergeData(data, source) { 20589 var bitmask = data[1], 20590 srcBitmask = source[1], 20591 newBitmask = bitmask | srcBitmask, 20592 isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); 20593 20594 var isCombo = 20595 ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || 20596 ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || 20597 ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); 20598 20599 // Exit early if metadata can't be merged. 20600 if (!(isCommon || isCombo)) { 20601 return data; 20602 } 20603 // Use source `thisArg` if available. 20604 if (srcBitmask & WRAP_BIND_FLAG) { 20605 data[2] = source[2]; 20606 // Set when currying a bound function. 20607 newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; 20608 } 20609 // Compose partial arguments. 20610 var value = source[3]; 20611 if (value) { 20612 var partials = data[3]; 20613 data[3] = partials ? composeArgs(partials, value, source[4]) : value; 20614 data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; 20615 } 20616 // Compose partial right arguments. 20617 value = source[5]; 20618 if (value) { 20619 partials = data[5]; 20620 data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; 20621 data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; 20622 } 20623 // Use source `argPos` if available. 20624 value = source[7]; 20625 if (value) { 20626 data[7] = value; 20627 } 20628 // Use source `ary` if it's smaller. 20629 if (srcBitmask & WRAP_ARY_FLAG) { 20630 data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); 20631 } 20632 // Use source `arity` if one is not provided. 20633 if (data[9] == null) { 20634 data[9] = source[9]; 20635 } 20636 // Use source `func` and merge bitmasks. 20637 data[0] = source[0]; 20638 data[1] = newBitmask; 20639 20640 return data; 20641 } 20642 20643 /** 20644 * This function is like 20645 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 20646 * except that it includes inherited enumerable properties. 20647 * 20648 * @private 20649 * @param {Object} object The object to query. 20650 * @returns {Array} Returns the array of property names. 20651 */ 20652 function nativeKeysIn(object) { 20653 var result = []; 20654 if (object != null) { 20655 for (var key in Object(object)) { 20656 result.push(key); 20657 } 20658 } 20659 return result; 20660 } 20661 20662 /** 20663 * Converts `value` to a string using `Object.prototype.toString`. 20664 * 20665 * @private 20666 * @param {*} value The value to convert. 20667 * @returns {string} Returns the converted string. 20668 */ 20669 function objectToString(value) { 20670 return nativeObjectToString.call(value); 20671 } 20672 20673 /** 20674 * A specialized version of `baseRest` which transforms the rest array. 20675 * 20676 * @private 20677 * @param {Function} func The function to apply a rest parameter to. 20678 * @param {number} [start=func.length-1] The start position of the rest parameter. 20679 * @param {Function} transform The rest array transform. 20680 * @returns {Function} Returns the new function. 20681 */ 20682 function overRest(func, start, transform) { 20683 start = nativeMax(start === undefined ? (func.length - 1) : start, 0); 20684 return function() { 20685 var args = arguments, 20686 index = -1, 20687 length = nativeMax(args.length - start, 0), 20688 array = Array(length); 20689 20690 while (++index < length) { 20691 array[index] = args[start + index]; 20692 } 20693 index = -1; 20694 var otherArgs = Array(start + 1); 20695 while (++index < start) { 20696 otherArgs[index] = args[index]; 20697 } 20698 otherArgs[start] = transform(array); 20699 return apply(func, this, otherArgs); 20700 }; 20701 } 20702 20703 /** 20704 * Gets the parent value at `path` of `object`. 20705 * 20706 * @private 20707 * @param {Object} object The object to query. 20708 * @param {Array} path The path to get the parent value of. 20709 * @returns {*} Returns the parent value. 20710 */ 20711 function parent(object, path) { 20712 return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); 20713 } 20714 20715 /** 20716 * Reorder `array` according to the specified indexes where the element at 20717 * the first index is assigned as the first element, the element at 20718 * the second index is assigned as the second element, and so on. 20719 * 20720 * @private 20721 * @param {Array} array The array to reorder. 20722 * @param {Array} indexes The arranged array indexes. 20723 * @returns {Array} Returns `array`. 20724 */ 20725 function reorder(array, indexes) { 20726 var arrLength = array.length, 20727 length = nativeMin(indexes.length, arrLength), 20728 oldArray = copyArray(array); 20729 20730 while (length--) { 20731 var index = indexes[length]; 20732 array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; 20733 } 20734 return array; 20735 } 20736 20737 /** 20738 * Gets the value at `key`, unless `key` is "__proto__" or "constructor". 20739 * 20740 * @private 20741 * @param {Object} object The object to query. 20742 * @param {string} key The key of the property to get. 20743 * @returns {*} Returns the property value. 20744 */ 20745 function safeGet(object, key) { 20746 if (key === 'constructor' && typeof object[key] === 'function') { 20747 return; 20748 } 20749 20750 if (key == '__proto__') { 20751 return; 20752 } 20753 20754 return object[key]; 20755 } 20756 20757 /** 20758 * Sets metadata for `func`. 20759 * 20760 * **Note:** If this function becomes hot, i.e. is invoked a lot in a short 20761 * period of time, it will trip its breaker and transition to an identity 20762 * function to avoid garbage collection pauses in V8. See 20763 * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) 20764 * for more details. 20765 * 20766 * @private 20767 * @param {Function} func The function to associate metadata with. 20768 * @param {*} data The metadata. 20769 * @returns {Function} Returns `func`. 20770 */ 20771 var setData = shortOut(baseSetData); 20772 20773 /** 20774 * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). 20775 * 20776 * @private 20777 * @param {Function} func The function to delay. 20778 * @param {number} wait The number of milliseconds to delay invocation. 20779 * @returns {number|Object} Returns the timer id or timeout object. 20780 */ 20781 var setTimeout = ctxSetTimeout || function(func, wait) { 20782 return root.setTimeout(func, wait); 20783 }; 20784 20785 /** 20786 * Sets the `toString` method of `func` to return `string`. 20787 * 20788 * @private 20789 * @param {Function} func The function to modify. 20790 * @param {Function} string The `toString` result. 20791 * @returns {Function} Returns `func`. 20792 */ 20793 var setToString = shortOut(baseSetToString); 20794 20795 /** 20796 * Sets the `toString` method of `wrapper` to mimic the source of `reference` 20797 * with wrapper details in a comment at the top of the source body. 20798 * 20799 * @private 20800 * @param {Function} wrapper The function to modify. 20801 * @param {Function} reference The reference function. 20802 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 20803 * @returns {Function} Returns `wrapper`. 20804 */ 20805 function setWrapToString(wrapper, reference, bitmask) { 20806 var source = (reference + ''); 20807 return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); 20808 } 20809 20810 /** 20811 * Creates a function that'll short out and invoke `identity` instead 20812 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` 20813 * milliseconds. 20814 * 20815 * @private 20816 * @param {Function} func The function to restrict. 20817 * @returns {Function} Returns the new shortable function. 20818 */ 20819 function shortOut(func) { 20820 var count = 0, 20821 lastCalled = 0; 20822 20823 return function() { 20824 var stamp = nativeNow(), 20825 remaining = HOT_SPAN - (stamp - lastCalled); 20826 20827 lastCalled = stamp; 20828 if (remaining > 0) { 20829 if (++count >= HOT_COUNT) { 20830 return arguments[0]; 20831 } 20832 } else { 20833 count = 0; 20834 } 20835 return func.apply(undefined, arguments); 20836 }; 20837 } 20838 20839 /** 20840 * A specialized version of `_.shuffle` which mutates and sets the size of `array`. 20841 * 20842 * @private 20843 * @param {Array} array The array to shuffle. 20844 * @param {number} [size=array.length] The size of `array`. 20845 * @returns {Array} Returns `array`. 20846 */ 20847 function shuffleSelf(array, size) { 20848 var index = -1, 20849 length = array.length, 20850 lastIndex = length - 1; 20851 20852 size = size === undefined ? length : size; 20853 while (++index < size) { 20854 var rand = baseRandom(index, lastIndex), 20855 value = array[rand]; 20856 20857 array[rand] = array[index]; 20858 array[index] = value; 20859 } 20860 array.length = size; 20861 return array; 20862 } 20863 20864 /** 20865 * Converts `string` to a property path array. 20866 * 20867 * @private 20868 * @param {string} string The string to convert. 20869 * @returns {Array} Returns the property path array. 20870 */ 20871 var stringToPath = memoizeCapped(function(string) { 20872 var result = []; 20873 if (string.charCodeAt(0) === 46 /* . */) { 20874 result.push(''); 20875 } 20876 string.replace(rePropName, function(match, number, quote, subString) { 20877 result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); 20878 }); 20879 return result; 20880 }); 20881 20882 /** 20883 * Converts `value` to a string key if it's not a string or symbol. 20884 * 20885 * @private 20886 * @param {*} value The value to inspect. 20887 * @returns {string|symbol} Returns the key. 20888 */ 20889 function toKey(value) { 20890 if (typeof value == 'string' || isSymbol(value)) { 20891 return value; 20892 } 20893 var result = (value + ''); 20894 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 20895 } 20896 20897 /** 20898 * Converts `func` to its source code. 20899 * 20900 * @private 20901 * @param {Function} func The function to convert. 20902 * @returns {string} Returns the source code. 20903 */ 20904 function toSource(func) { 20905 if (func != null) { 20906 try { 20907 return funcToString.call(func); 20908 } catch (e) {} 20909 try { 20910 return (func + ''); 20911 } catch (e) {} 20912 } 20913 return ''; 20914 } 20915 20916 /** 20917 * Updates wrapper `details` based on `bitmask` flags. 20918 * 20919 * @private 20920 * @returns {Array} details The details to modify. 20921 * @param {number} bitmask The bitmask flags. See `createWrap` for more details. 20922 * @returns {Array} Returns `details`. 20923 */ 20924 function updateWrapDetails(details, bitmask) { 20925 arrayEach(wrapFlags, function(pair) { 20926 var value = '_.' + pair[0]; 20927 if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { 20928 details.push(value); 20929 } 20930 }); 20931 return details.sort(); 20932 } 20933 20934 /** 20935 * Creates a clone of `wrapper`. 20936 * 20937 * @private 20938 * @param {Object} wrapper The wrapper to clone. 20939 * @returns {Object} Returns the cloned wrapper. 20940 */ 20941 function wrapperClone(wrapper) { 20942 if (wrapper instanceof LazyWrapper) { 20943 return wrapper.clone(); 20944 } 20945 var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); 20946 result.__actions__ = copyArray(wrapper.__actions__); 20947 result.__index__ = wrapper.__index__; 20948 result.__values__ = wrapper.__values__; 20949 return result; 20950 } 20951 20952 /*------------------------------------------------------------------------*/ 20953 20954 /** 20955 * Creates an array of elements split into groups the length of `size`. 20956 * If `array` can't be split evenly, the final chunk will be the remaining 20957 * elements. 20958 * 20959 * @static 20960 * @memberOf _ 20961 * @since 3.0.0 20962 * @category Array 20963 * @param {Array} array The array to process. 20964 * @param {number} [size=1] The length of each chunk 20965 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 20966 * @returns {Array} Returns the new array of chunks. 20967 * @example 20968 * 20969 * _.chunk(['a', 'b', 'c', 'd'], 2); 20970 * // => [['a', 'b'], ['c', 'd']] 20971 * 20972 * _.chunk(['a', 'b', 'c', 'd'], 3); 20973 * // => [['a', 'b', 'c'], ['d']] 20974 */ 20975 function chunk(array, size, guard) { 20976 if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { 20977 size = 1; 20978 } else { 20979 size = nativeMax(toInteger(size), 0); 20980 } 20981 var length = array == null ? 0 : array.length; 20982 if (!length || size < 1) { 20983 return []; 20984 } 20985 var index = 0, 20986 resIndex = 0, 20987 result = Array(nativeCeil(length / size)); 20988 20989 while (index < length) { 20990 result[resIndex++] = baseSlice(array, index, (index += size)); 20991 } 20992 return result; 20993 } 20994 20995 /** 20996 * Creates an array with all falsey values removed. The values `false`, `null`, 20997 * `0`, `""`, `undefined`, and `NaN` are falsey. 20998 * 20999 * @static 21000 * @memberOf _ 21001 * @since 0.1.0 21002 * @category Array 21003 * @param {Array} array The array to compact. 21004 * @returns {Array} Returns the new array of filtered values. 21005 * @example 21006 * 21007 * _.compact([0, 1, false, 2, '', 3]); 21008 * // => [1, 2, 3] 21009 */ 21010 function compact(array) { 21011 var index = -1, 21012 length = array == null ? 0 : array.length, 21013 resIndex = 0, 21014 result = []; 21015 21016 while (++index < length) { 21017 var value = array[index]; 21018 if (value) { 21019 result[resIndex++] = value; 21020 } 21021 } 21022 return result; 21023 } 21024 21025 /** 21026 * Creates a new array concatenating `array` with any additional arrays 21027 * and/or values. 21028 * 21029 * @static 21030 * @memberOf _ 21031 * @since 4.0.0 21032 * @category Array 21033 * @param {Array} array The array to concatenate. 21034 * @param {...*} [values] The values to concatenate. 21035 * @returns {Array} Returns the new concatenated array. 21036 * @example 21037 * 21038 * var array = [1]; 21039 * var other = _.concat(array, 2, [3], [[4]]); 21040 * 21041 * console.log(other); 21042 * // => [1, 2, 3, [4]] 21043 * 21044 * console.log(array); 21045 * // => [1] 21046 */ 21047 function concat() { 21048 var length = arguments.length; 21049 if (!length) { 21050 return []; 21051 } 21052 var args = Array(length - 1), 21053 array = arguments[0], 21054 index = length; 21055 21056 while (index--) { 21057 args[index - 1] = arguments[index]; 21058 } 21059 return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); 21060 } 21061 21062 /** 21063 * Creates an array of `array` values not included in the other given arrays 21064 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 21065 * for equality comparisons. The order and references of result values are 21066 * determined by the first array. 21067 * 21068 * **Note:** Unlike `_.pullAll`, this method returns a new array. 21069 * 21070 * @static 21071 * @memberOf _ 21072 * @since 0.1.0 21073 * @category Array 21074 * @param {Array} array The array to inspect. 21075 * @param {...Array} [values] The values to exclude. 21076 * @returns {Array} Returns the new array of filtered values. 21077 * @see _.without, _.xor 21078 * @example 21079 * 21080 * _.difference([2, 1], [2, 3]); 21081 * // => [1] 21082 */ 21083 var difference = baseRest(function(array, values) { 21084 return isArrayLikeObject(array) 21085 ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) 21086 : []; 21087 }); 21088 21089 /** 21090 * This method is like `_.difference` except that it accepts `iteratee` which 21091 * is invoked for each element of `array` and `values` to generate the criterion 21092 * by which they're compared. The order and references of result values are 21093 * determined by the first array. The iteratee is invoked with one argument: 21094 * (value). 21095 * 21096 * **Note:** Unlike `_.pullAllBy`, this method returns a new array. 21097 * 21098 * @static 21099 * @memberOf _ 21100 * @since 4.0.0 21101 * @category Array 21102 * @param {Array} array The array to inspect. 21103 * @param {...Array} [values] The values to exclude. 21104 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 21105 * @returns {Array} Returns the new array of filtered values. 21106 * @example 21107 * 21108 * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); 21109 * // => [1.2] 21110 * 21111 * // The `_.property` iteratee shorthand. 21112 * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); 21113 * // => [{ 'x': 2 }] 21114 */ 21115 var differenceBy = baseRest(function(array, values) { 21116 var iteratee = last(values); 21117 if (isArrayLikeObject(iteratee)) { 21118 iteratee = undefined; 21119 } 21120 return isArrayLikeObject(array) 21121 ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) 21122 : []; 21123 }); 21124 21125 /** 21126 * This method is like `_.difference` except that it accepts `comparator` 21127 * which is invoked to compare elements of `array` to `values`. The order and 21128 * references of result values are determined by the first array. The comparator 21129 * is invoked with two arguments: (arrVal, othVal). 21130 * 21131 * **Note:** Unlike `_.pullAllWith`, this method returns a new array. 21132 * 21133 * @static 21134 * @memberOf _ 21135 * @since 4.0.0 21136 * @category Array 21137 * @param {Array} array The array to inspect. 21138 * @param {...Array} [values] The values to exclude. 21139 * @param {Function} [comparator] The comparator invoked per element. 21140 * @returns {Array} Returns the new array of filtered values. 21141 * @example 21142 * 21143 * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; 21144 * 21145 * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); 21146 * // => [{ 'x': 2, 'y': 1 }] 21147 */ 21148 var differenceWith = baseRest(function(array, values) { 21149 var comparator = last(values); 21150 if (isArrayLikeObject(comparator)) { 21151 comparator = undefined; 21152 } 21153 return isArrayLikeObject(array) 21154 ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) 21155 : []; 21156 }); 21157 21158 /** 21159 * Creates a slice of `array` with `n` elements dropped from the beginning. 21160 * 21161 * @static 21162 * @memberOf _ 21163 * @since 0.5.0 21164 * @category Array 21165 * @param {Array} array The array to query. 21166 * @param {number} [n=1] The number of elements to drop. 21167 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 21168 * @returns {Array} Returns the slice of `array`. 21169 * @example 21170 * 21171 * _.drop([1, 2, 3]); 21172 * // => [2, 3] 21173 * 21174 * _.drop([1, 2, 3], 2); 21175 * // => [3] 21176 * 21177 * _.drop([1, 2, 3], 5); 21178 * // => [] 21179 * 21180 * _.drop([1, 2, 3], 0); 21181 * // => [1, 2, 3] 21182 */ 21183 function drop(array, n, guard) { 21184 var length = array == null ? 0 : array.length; 21185 if (!length) { 21186 return []; 21187 } 21188 n = (guard || n === undefined) ? 1 : toInteger(n); 21189 return baseSlice(array, n < 0 ? 0 : n, length); 21190 } 21191 21192 /** 21193 * Creates a slice of `array` with `n` elements dropped from the end. 21194 * 21195 * @static 21196 * @memberOf _ 21197 * @since 3.0.0 21198 * @category Array 21199 * @param {Array} array The array to query. 21200 * @param {number} [n=1] The number of elements to drop. 21201 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 21202 * @returns {Array} Returns the slice of `array`. 21203 * @example 21204 * 21205 * _.dropRight([1, 2, 3]); 21206 * // => [1, 2] 21207 * 21208 * _.dropRight([1, 2, 3], 2); 21209 * // => [1] 21210 * 21211 * _.dropRight([1, 2, 3], 5); 21212 * // => [] 21213 * 21214 * _.dropRight([1, 2, 3], 0); 21215 * // => [1, 2, 3] 21216 */ 21217 function dropRight(array, n, guard) { 21218 var length = array == null ? 0 : array.length; 21219 if (!length) { 21220 return []; 21221 } 21222 n = (guard || n === undefined) ? 1 : toInteger(n); 21223 n = length - n; 21224 return baseSlice(array, 0, n < 0 ? 0 : n); 21225 } 21226 21227 /** 21228 * Creates a slice of `array` excluding elements dropped from the end. 21229 * Elements are dropped until `predicate` returns falsey. The predicate is 21230 * invoked with three arguments: (value, index, array). 21231 * 21232 * @static 21233 * @memberOf _ 21234 * @since 3.0.0 21235 * @category Array 21236 * @param {Array} array The array to query. 21237 * @param {Function} [predicate=_.identity] The function invoked per iteration. 21238 * @returns {Array} Returns the slice of `array`. 21239 * @example 21240 * 21241 * var users = [ 21242 * { 'user': 'barney', 'active': true }, 21243 * { 'user': 'fred', 'active': false }, 21244 * { 'user': 'pebbles', 'active': false } 21245 * ]; 21246 * 21247 * _.dropRightWhile(users, function(o) { return !o.active; }); 21248 * // => objects for ['barney'] 21249 * 21250 * // The `_.matches` iteratee shorthand. 21251 * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); 21252 * // => objects for ['barney', 'fred'] 21253 * 21254 * // The `_.matchesProperty` iteratee shorthand. 21255 * _.dropRightWhile(users, ['active', false]); 21256 * // => objects for ['barney'] 21257 * 21258 * // The `_.property` iteratee shorthand. 21259 * _.dropRightWhile(users, 'active'); 21260 * // => objects for ['barney', 'fred', 'pebbles'] 21261 */ 21262 function dropRightWhile(array, predicate) { 21263 return (array && array.length) 21264 ? baseWhile(array, getIteratee(predicate, 3), true, true) 21265 : []; 21266 } 21267 21268 /** 21269 * Creates a slice of `array` excluding elements dropped from the beginning. 21270 * Elements are dropped until `predicate` returns falsey. The predicate is 21271 * invoked with three arguments: (value, index, array). 21272 * 21273 * @static 21274 * @memberOf _ 21275 * @since 3.0.0 21276 * @category Array 21277 * @param {Array} array The array to query. 21278 * @param {Function} [predicate=_.identity] The function invoked per iteration. 21279 * @returns {Array} Returns the slice of `array`. 21280 * @example 21281 * 21282 * var users = [ 21283 * { 'user': 'barney', 'active': false }, 21284 * { 'user': 'fred', 'active': false }, 21285 * { 'user': 'pebbles', 'active': true } 21286 * ]; 21287 * 21288 * _.dropWhile(users, function(o) { return !o.active; }); 21289 * // => objects for ['pebbles'] 21290 * 21291 * // The `_.matches` iteratee shorthand. 21292 * _.dropWhile(users, { 'user': 'barney', 'active': false }); 21293 * // => objects for ['fred', 'pebbles'] 21294 * 21295 * // The `_.matchesProperty` iteratee shorthand. 21296 * _.dropWhile(users, ['active', false]); 21297 * // => objects for ['pebbles'] 21298 * 21299 * // The `_.property` iteratee shorthand. 21300 * _.dropWhile(users, 'active'); 21301 * // => objects for ['barney', 'fred', 'pebbles'] 21302 */ 21303 function dropWhile(array, predicate) { 21304 return (array && array.length) 21305 ? baseWhile(array, getIteratee(predicate, 3), true) 21306 : []; 21307 } 21308 21309 /** 21310 * Fills elements of `array` with `value` from `start` up to, but not 21311 * including, `end`. 21312 * 21313 * **Note:** This method mutates `array`. 21314 * 21315 * @static 21316 * @memberOf _ 21317 * @since 3.2.0 21318 * @category Array 21319 * @param {Array} array The array to fill. 21320 * @param {*} value The value to fill `array` with. 21321 * @param {number} [start=0] The start position. 21322 * @param {number} [end=array.length] The end position. 21323 * @returns {Array} Returns `array`. 21324 * @example 21325 * 21326 * var array = [1, 2, 3]; 21327 * 21328 * _.fill(array, 'a'); 21329 * console.log(array); 21330 * // => ['a', 'a', 'a'] 21331 * 21332 * _.fill(Array(3), 2); 21333 * // => [2, 2, 2] 21334 * 21335 * _.fill([4, 6, 8, 10], '*', 1, 3); 21336 * // => [4, '*', '*', 10] 21337 */ 21338 function fill(array, value, start, end) { 21339 var length = array == null ? 0 : array.length; 21340 if (!length) { 21341 return []; 21342 } 21343 if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { 21344 start = 0; 21345 end = length; 21346 } 21347 return baseFill(array, value, start, end); 21348 } 21349 21350 /** 21351 * This method is like `_.find` except that it returns the index of the first 21352 * element `predicate` returns truthy for instead of the element itself. 21353 * 21354 * @static 21355 * @memberOf _ 21356 * @since 1.1.0 21357 * @category Array 21358 * @param {Array} array The array to inspect. 21359 * @param {Function} [predicate=_.identity] The function invoked per iteration. 21360 * @param {number} [fromIndex=0] The index to search from. 21361 * @returns {number} Returns the index of the found element, else `-1`. 21362 * @example 21363 * 21364 * var users = [ 21365 * { 'user': 'barney', 'active': false }, 21366 * { 'user': 'fred', 'active': false }, 21367 * { 'user': 'pebbles', 'active': true } 21368 * ]; 21369 * 21370 * _.findIndex(users, function(o) { return o.user == 'barney'; }); 21371 * // => 0 21372 * 21373 * // The `_.matches` iteratee shorthand. 21374 * _.findIndex(users, { 'user': 'fred', 'active': false }); 21375 * // => 1 21376 * 21377 * // The `_.matchesProperty` iteratee shorthand. 21378 * _.findIndex(users, ['active', false]); 21379 * // => 0 21380 * 21381 * // The `_.property` iteratee shorthand. 21382 * _.findIndex(users, 'active'); 21383 * // => 2 21384 */ 21385 function findIndex(array, predicate, fromIndex) { 21386 var length = array == null ? 0 : array.length; 21387 if (!length) { 21388 return -1; 21389 } 21390 var index = fromIndex == null ? 0 : toInteger(fromIndex); 21391 if (index < 0) { 21392 index = nativeMax(length + index, 0); 21393 } 21394 return baseFindIndex(array, getIteratee(predicate, 3), index); 21395 } 21396 21397 /** 21398 * This method is like `_.findIndex` except that it iterates over elements 21399 * of `collection` from right to left. 21400 * 21401 * @static 21402 * @memberOf _ 21403 * @since 2.0.0 21404 * @category Array 21405 * @param {Array} array The array to inspect. 21406 * @param {Function} [predicate=_.identity] The function invoked per iteration. 21407 * @param {number} [fromIndex=array.length-1] The index to search from. 21408 * @returns {number} Returns the index of the found element, else `-1`. 21409 * @example 21410 * 21411 * var users = [ 21412 * { 'user': 'barney', 'active': true }, 21413 * { 'user': 'fred', 'active': false }, 21414 * { 'user': 'pebbles', 'active': false } 21415 * ]; 21416 * 21417 * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); 21418 * // => 2 21419 * 21420 * // The `_.matches` iteratee shorthand. 21421 * _.findLastIndex(users, { 'user': 'barney', 'active': true }); 21422 * // => 0 21423 * 21424 * // The `_.matchesProperty` iteratee shorthand. 21425 * _.findLastIndex(users, ['active', false]); 21426 * // => 2 21427 * 21428 * // The `_.property` iteratee shorthand. 21429 * _.findLastIndex(users, 'active'); 21430 * // => 0 21431 */ 21432 function findLastIndex(array, predicate, fromIndex) { 21433 var length = array == null ? 0 : array.length; 21434 if (!length) { 21435 return -1; 21436 } 21437 var index = length - 1; 21438 if (fromIndex !== undefined) { 21439 index = toInteger(fromIndex); 21440 index = fromIndex < 0 21441 ? nativeMax(length + index, 0) 21442 : nativeMin(index, length - 1); 21443 } 21444 return baseFindIndex(array, getIteratee(predicate, 3), index, true); 21445 } 21446 21447 /** 21448 * Flattens `array` a single level deep. 21449 * 21450 * @static 21451 * @memberOf _ 21452 * @since 0.1.0 21453 * @category Array 21454 * @param {Array} array The array to flatten. 21455 * @returns {Array} Returns the new flattened array. 21456 * @example 21457 * 21458 * _.flatten([1, [2, [3, [4]], 5]]); 21459 * // => [1, 2, [3, [4]], 5] 21460 */ 21461 function flatten(array) { 21462 var length = array == null ? 0 : array.length; 21463 return length ? baseFlatten(array, 1) : []; 21464 } 21465 21466 /** 21467 * Recursively flattens `array`. 21468 * 21469 * @static 21470 * @memberOf _ 21471 * @since 3.0.0 21472 * @category Array 21473 * @param {Array} array The array to flatten. 21474 * @returns {Array} Returns the new flattened array. 21475 * @example 21476 * 21477 * _.flattenDeep([1, [2, [3, [4]], 5]]); 21478 * // => [1, 2, 3, 4, 5] 21479 */ 21480 function flattenDeep(array) { 21481 var length = array == null ? 0 : array.length; 21482 return length ? baseFlatten(array, INFINITY) : []; 21483 } 21484 21485 /** 21486 * Recursively flatten `array` up to `depth` times. 21487 * 21488 * @static 21489 * @memberOf _ 21490 * @since 4.4.0 21491 * @category Array 21492 * @param {Array} array The array to flatten. 21493 * @param {number} [depth=1] The maximum recursion depth. 21494 * @returns {Array} Returns the new flattened array. 21495 * @example 21496 * 21497 * var array = [1, [2, [3, [4]], 5]]; 21498 * 21499 * _.flattenDepth(array, 1); 21500 * // => [1, 2, [3, [4]], 5] 21501 * 21502 * _.flattenDepth(array, 2); 21503 * // => [1, 2, 3, [4], 5] 21504 */ 21505 function flattenDepth(array, depth) { 21506 var length = array == null ? 0 : array.length; 21507 if (!length) { 21508 return []; 21509 } 21510 depth = depth === undefined ? 1 : toInteger(depth); 21511 return baseFlatten(array, depth); 21512 } 21513 21514 /** 21515 * The inverse of `_.toPairs`; this method returns an object composed 21516 * from key-value `pairs`. 21517 * 21518 * @static 21519 * @memberOf _ 21520 * @since 4.0.0 21521 * @category Array 21522 * @param {Array} pairs The key-value pairs. 21523 * @returns {Object} Returns the new object. 21524 * @example 21525 * 21526 * _.fromPairs([['a', 1], ['b', 2]]); 21527 * // => { 'a': 1, 'b': 2 } 21528 */ 21529 function fromPairs(pairs) { 21530 var index = -1, 21531 length = pairs == null ? 0 : pairs.length, 21532 result = {}; 21533 21534 while (++index < length) { 21535 var pair = pairs[index]; 21536 result[pair[0]] = pair[1]; 21537 } 21538 return result; 21539 } 21540 21541 /** 21542 * Gets the first element of `array`. 21543 * 21544 * @static 21545 * @memberOf _ 21546 * @since 0.1.0 21547 * @alias first 21548 * @category Array 21549 * @param {Array} array The array to query. 21550 * @returns {*} Returns the first element of `array`. 21551 * @example 21552 * 21553 * _.head([1, 2, 3]); 21554 * // => 1 21555 * 21556 * _.head([]); 21557 * // => undefined 21558 */ 21559 function head(array) { 21560 return (array && array.length) ? array[0] : undefined; 21561 } 21562 21563 /** 21564 * Gets the index at which the first occurrence of `value` is found in `array` 21565 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 21566 * for equality comparisons. If `fromIndex` is negative, it's used as the 21567 * offset from the end of `array`. 21568 * 21569 * @static 21570 * @memberOf _ 21571 * @since 0.1.0 21572 * @category Array 21573 * @param {Array} array The array to inspect. 21574 * @param {*} value The value to search for. 21575 * @param {number} [fromIndex=0] The index to search from. 21576 * @returns {number} Returns the index of the matched value, else `-1`. 21577 * @example 21578 * 21579 * _.indexOf([1, 2, 1, 2], 2); 21580 * // => 1 21581 * 21582 * // Search from the `fromIndex`. 21583 * _.indexOf([1, 2, 1, 2], 2, 2); 21584 * // => 3 21585 */ 21586 function indexOf(array, value, fromIndex) { 21587 var length = array == null ? 0 : array.length; 21588 if (!length) { 21589 return -1; 21590 } 21591 var index = fromIndex == null ? 0 : toInteger(fromIndex); 21592 if (index < 0) { 21593 index = nativeMax(length + index, 0); 21594 } 21595 return baseIndexOf(array, value, index); 21596 } 21597 21598 /** 21599 * Gets all but the last element of `array`. 21600 * 21601 * @static 21602 * @memberOf _ 21603 * @since 0.1.0 21604 * @category Array 21605 * @param {Array} array The array to query. 21606 * @returns {Array} Returns the slice of `array`. 21607 * @example 21608 * 21609 * _.initial([1, 2, 3]); 21610 * // => [1, 2] 21611 */ 21612 function initial(array) { 21613 var length = array == null ? 0 : array.length; 21614 return length ? baseSlice(array, 0, -1) : []; 21615 } 21616 21617 /** 21618 * Creates an array of unique values that are included in all given arrays 21619 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 21620 * for equality comparisons. The order and references of result values are 21621 * determined by the first array. 21622 * 21623 * @static 21624 * @memberOf _ 21625 * @since 0.1.0 21626 * @category Array 21627 * @param {...Array} [arrays] The arrays to inspect. 21628 * @returns {Array} Returns the new array of intersecting values. 21629 * @example 21630 * 21631 * _.intersection([2, 1], [2, 3]); 21632 * // => [2] 21633 */ 21634 var intersection = baseRest(function(arrays) { 21635 var mapped = arrayMap(arrays, castArrayLikeObject); 21636 return (mapped.length && mapped[0] === arrays[0]) 21637 ? baseIntersection(mapped) 21638 : []; 21639 }); 21640 21641 /** 21642 * This method is like `_.intersection` except that it accepts `iteratee` 21643 * which is invoked for each element of each `arrays` to generate the criterion 21644 * by which they're compared. The order and references of result values are 21645 * determined by the first array. The iteratee is invoked with one argument: 21646 * (value). 21647 * 21648 * @static 21649 * @memberOf _ 21650 * @since 4.0.0 21651 * @category Array 21652 * @param {...Array} [arrays] The arrays to inspect. 21653 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 21654 * @returns {Array} Returns the new array of intersecting values. 21655 * @example 21656 * 21657 * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); 21658 * // => [2.1] 21659 * 21660 * // The `_.property` iteratee shorthand. 21661 * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); 21662 * // => [{ 'x': 1 }] 21663 */ 21664 var intersectionBy = baseRest(function(arrays) { 21665 var iteratee = last(arrays), 21666 mapped = arrayMap(arrays, castArrayLikeObject); 21667 21668 if (iteratee === last(mapped)) { 21669 iteratee = undefined; 21670 } else { 21671 mapped.pop(); 21672 } 21673 return (mapped.length && mapped[0] === arrays[0]) 21674 ? baseIntersection(mapped, getIteratee(iteratee, 2)) 21675 : []; 21676 }); 21677 21678 /** 21679 * This method is like `_.intersection` except that it accepts `comparator` 21680 * which is invoked to compare elements of `arrays`. The order and references 21681 * of result values are determined by the first array. The comparator is 21682 * invoked with two arguments: (arrVal, othVal). 21683 * 21684 * @static 21685 * @memberOf _ 21686 * @since 4.0.0 21687 * @category Array 21688 * @param {...Array} [arrays] The arrays to inspect. 21689 * @param {Function} [comparator] The comparator invoked per element. 21690 * @returns {Array} Returns the new array of intersecting values. 21691 * @example 21692 * 21693 * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; 21694 * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; 21695 * 21696 * _.intersectionWith(objects, others, _.isEqual); 21697 * // => [{ 'x': 1, 'y': 2 }] 21698 */ 21699 var intersectionWith = baseRest(function(arrays) { 21700 var comparator = last(arrays), 21701 mapped = arrayMap(arrays, castArrayLikeObject); 21702 21703 comparator = typeof comparator == 'function' ? comparator : undefined; 21704 if (comparator) { 21705 mapped.pop(); 21706 } 21707 return (mapped.length && mapped[0] === arrays[0]) 21708 ? baseIntersection(mapped, undefined, comparator) 21709 : []; 21710 }); 21711 21712 /** 21713 * Converts all elements in `array` into a string separated by `separator`. 21714 * 21715 * @static 21716 * @memberOf _ 21717 * @since 4.0.0 21718 * @category Array 21719 * @param {Array} array The array to convert. 21720 * @param {string} [separator=','] The element separator. 21721 * @returns {string} Returns the joined string. 21722 * @example 21723 * 21724 * _.join(['a', 'b', 'c'], '~'); 21725 * // => 'a~b~c' 21726 */ 21727 function join(array, separator) { 21728 return array == null ? '' : nativeJoin.call(array, separator); 21729 } 21730 21731 /** 21732 * Gets the last element of `array`. 21733 * 21734 * @static 21735 * @memberOf _ 21736 * @since 0.1.0 21737 * @category Array 21738 * @param {Array} array The array to query. 21739 * @returns {*} Returns the last element of `array`. 21740 * @example 21741 * 21742 * _.last([1, 2, 3]); 21743 * // => 3 21744 */ 21745 function last(array) { 21746 var length = array == null ? 0 : array.length; 21747 return length ? array[length - 1] : undefined; 21748 } 21749 21750 /** 21751 * This method is like `_.indexOf` except that it iterates over elements of 21752 * `array` from right to left. 21753 * 21754 * @static 21755 * @memberOf _ 21756 * @since 0.1.0 21757 * @category Array 21758 * @param {Array} array The array to inspect. 21759 * @param {*} value The value to search for. 21760 * @param {number} [fromIndex=array.length-1] The index to search from. 21761 * @returns {number} Returns the index of the matched value, else `-1`. 21762 * @example 21763 * 21764 * _.lastIndexOf([1, 2, 1, 2], 2); 21765 * // => 3 21766 * 21767 * // Search from the `fromIndex`. 21768 * _.lastIndexOf([1, 2, 1, 2], 2, 2); 21769 * // => 1 21770 */ 21771 function lastIndexOf(array, value, fromIndex) { 21772 var length = array == null ? 0 : array.length; 21773 if (!length) { 21774 return -1; 21775 } 21776 var index = length; 21777 if (fromIndex !== undefined) { 21778 index = toInteger(fromIndex); 21779 index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); 21780 } 21781 return value === value 21782 ? strictLastIndexOf(array, value, index) 21783 : baseFindIndex(array, baseIsNaN, index, true); 21784 } 21785 21786 /** 21787 * Gets the element at index `n` of `array`. If `n` is negative, the nth 21788 * element from the end is returned. 21789 * 21790 * @static 21791 * @memberOf _ 21792 * @since 4.11.0 21793 * @category Array 21794 * @param {Array} array The array to query. 21795 * @param {number} [n=0] The index of the element to return. 21796 * @returns {*} Returns the nth element of `array`. 21797 * @example 21798 * 21799 * var array = ['a', 'b', 'c', 'd']; 21800 * 21801 * _.nth(array, 1); 21802 * // => 'b' 21803 * 21804 * _.nth(array, -2); 21805 * // => 'c'; 21806 */ 21807 function nth(array, n) { 21808 return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; 21809 } 21810 21811 /** 21812 * Removes all given values from `array` using 21813 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 21814 * for equality comparisons. 21815 * 21816 * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` 21817 * to remove elements from an array by predicate. 21818 * 21819 * @static 21820 * @memberOf _ 21821 * @since 2.0.0 21822 * @category Array 21823 * @param {Array} array The array to modify. 21824 * @param {...*} [values] The values to remove. 21825 * @returns {Array} Returns `array`. 21826 * @example 21827 * 21828 * var array = ['a', 'b', 'c', 'a', 'b', 'c']; 21829 * 21830 * _.pull(array, 'a', 'c'); 21831 * console.log(array); 21832 * // => ['b', 'b'] 21833 */ 21834 var pull = baseRest(pullAll); 21835 21836 /** 21837 * This method is like `_.pull` except that it accepts an array of values to remove. 21838 * 21839 * **Note:** Unlike `_.difference`, this method mutates `array`. 21840 * 21841 * @static 21842 * @memberOf _ 21843 * @since 4.0.0 21844 * @category Array 21845 * @param {Array} array The array to modify. 21846 * @param {Array} values The values to remove. 21847 * @returns {Array} Returns `array`. 21848 * @example 21849 * 21850 * var array = ['a', 'b', 'c', 'a', 'b', 'c']; 21851 * 21852 * _.pullAll(array, ['a', 'c']); 21853 * console.log(array); 21854 * // => ['b', 'b'] 21855 */ 21856 function pullAll(array, values) { 21857 return (array && array.length && values && values.length) 21858 ? basePullAll(array, values) 21859 : array; 21860 } 21861 21862 /** 21863 * This method is like `_.pullAll` except that it accepts `iteratee` which is 21864 * invoked for each element of `array` and `values` to generate the criterion 21865 * by which they're compared. The iteratee is invoked with one argument: (value). 21866 * 21867 * **Note:** Unlike `_.differenceBy`, this method mutates `array`. 21868 * 21869 * @static 21870 * @memberOf _ 21871 * @since 4.0.0 21872 * @category Array 21873 * @param {Array} array The array to modify. 21874 * @param {Array} values The values to remove. 21875 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 21876 * @returns {Array} Returns `array`. 21877 * @example 21878 * 21879 * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; 21880 * 21881 * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); 21882 * console.log(array); 21883 * // => [{ 'x': 2 }] 21884 */ 21885 function pullAllBy(array, values, iteratee) { 21886 return (array && array.length && values && values.length) 21887 ? basePullAll(array, values, getIteratee(iteratee, 2)) 21888 : array; 21889 } 21890 21891 /** 21892 * This method is like `_.pullAll` except that it accepts `comparator` which 21893 * is invoked to compare elements of `array` to `values`. The comparator is 21894 * invoked with two arguments: (arrVal, othVal). 21895 * 21896 * **Note:** Unlike `_.differenceWith`, this method mutates `array`. 21897 * 21898 * @static 21899 * @memberOf _ 21900 * @since 4.6.0 21901 * @category Array 21902 * @param {Array} array The array to modify. 21903 * @param {Array} values The values to remove. 21904 * @param {Function} [comparator] The comparator invoked per element. 21905 * @returns {Array} Returns `array`. 21906 * @example 21907 * 21908 * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; 21909 * 21910 * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); 21911 * console.log(array); 21912 * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] 21913 */ 21914 function pullAllWith(array, values, comparator) { 21915 return (array && array.length && values && values.length) 21916 ? basePullAll(array, values, undefined, comparator) 21917 : array; 21918 } 21919 21920 /** 21921 * Removes elements from `array` corresponding to `indexes` and returns an 21922 * array of removed elements. 21923 * 21924 * **Note:** Unlike `_.at`, this method mutates `array`. 21925 * 21926 * @static 21927 * @memberOf _ 21928 * @since 3.0.0 21929 * @category Array 21930 * @param {Array} array The array to modify. 21931 * @param {...(number|number[])} [indexes] The indexes of elements to remove. 21932 * @returns {Array} Returns the new array of removed elements. 21933 * @example 21934 * 21935 * var array = ['a', 'b', 'c', 'd']; 21936 * var pulled = _.pullAt(array, [1, 3]); 21937 * 21938 * console.log(array); 21939 * // => ['a', 'c'] 21940 * 21941 * console.log(pulled); 21942 * // => ['b', 'd'] 21943 */ 21944 var pullAt = flatRest(function(array, indexes) { 21945 var length = array == null ? 0 : array.length, 21946 result = baseAt(array, indexes); 21947 21948 basePullAt(array, arrayMap(indexes, function(index) { 21949 return isIndex(index, length) ? +index : index; 21950 }).sort(compareAscending)); 21951 21952 return result; 21953 }); 21954 21955 /** 21956 * Removes all elements from `array` that `predicate` returns truthy for 21957 * and returns an array of the removed elements. The predicate is invoked 21958 * with three arguments: (value, index, array). 21959 * 21960 * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` 21961 * to pull elements from an array by value. 21962 * 21963 * @static 21964 * @memberOf _ 21965 * @since 2.0.0 21966 * @category Array 21967 * @param {Array} array The array to modify. 21968 * @param {Function} [predicate=_.identity] The function invoked per iteration. 21969 * @returns {Array} Returns the new array of removed elements. 21970 * @example 21971 * 21972 * var array = [1, 2, 3, 4]; 21973 * var evens = _.remove(array, function(n) { 21974 * return n % 2 == 0; 21975 * }); 21976 * 21977 * console.log(array); 21978 * // => [1, 3] 21979 * 21980 * console.log(evens); 21981 * // => [2, 4] 21982 */ 21983 function remove(array, predicate) { 21984 var result = []; 21985 if (!(array && array.length)) { 21986 return result; 21987 } 21988 var index = -1, 21989 indexes = [], 21990 length = array.length; 21991 21992 predicate = getIteratee(predicate, 3); 21993 while (++index < length) { 21994 var value = array[index]; 21995 if (predicate(value, index, array)) { 21996 result.push(value); 21997 indexes.push(index); 21998 } 21999 } 22000 basePullAt(array, indexes); 22001 return result; 22002 } 22003 22004 /** 22005 * Reverses `array` so that the first element becomes the last, the second 22006 * element becomes the second to last, and so on. 22007 * 22008 * **Note:** This method mutates `array` and is based on 22009 * [`Array#reverse`](https://mdn.io/Array/reverse). 22010 * 22011 * @static 22012 * @memberOf _ 22013 * @since 4.0.0 22014 * @category Array 22015 * @param {Array} array The array to modify. 22016 * @returns {Array} Returns `array`. 22017 * @example 22018 * 22019 * var array = [1, 2, 3]; 22020 * 22021 * _.reverse(array); 22022 * // => [3, 2, 1] 22023 * 22024 * console.log(array); 22025 * // => [3, 2, 1] 22026 */ 22027 function reverse(array) { 22028 return array == null ? array : nativeReverse.call(array); 22029 } 22030 22031 /** 22032 * Creates a slice of `array` from `start` up to, but not including, `end`. 22033 * 22034 * **Note:** This method is used instead of 22035 * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are 22036 * returned. 22037 * 22038 * @static 22039 * @memberOf _ 22040 * @since 3.0.0 22041 * @category Array 22042 * @param {Array} array The array to slice. 22043 * @param {number} [start=0] The start position. 22044 * @param {number} [end=array.length] The end position. 22045 * @returns {Array} Returns the slice of `array`. 22046 */ 22047 function slice(array, start, end) { 22048 var length = array == null ? 0 : array.length; 22049 if (!length) { 22050 return []; 22051 } 22052 if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { 22053 start = 0; 22054 end = length; 22055 } 22056 else { 22057 start = start == null ? 0 : toInteger(start); 22058 end = end === undefined ? length : toInteger(end); 22059 } 22060 return baseSlice(array, start, end); 22061 } 22062 22063 /** 22064 * Uses a binary search to determine the lowest index at which `value` 22065 * should be inserted into `array` in order to maintain its sort order. 22066 * 22067 * @static 22068 * @memberOf _ 22069 * @since 0.1.0 22070 * @category Array 22071 * @param {Array} array The sorted array to inspect. 22072 * @param {*} value The value to evaluate. 22073 * @returns {number} Returns the index at which `value` should be inserted 22074 * into `array`. 22075 * @example 22076 * 22077 * _.sortedIndex([30, 50], 40); 22078 * // => 1 22079 */ 22080 function sortedIndex(array, value) { 22081 return baseSortedIndex(array, value); 22082 } 22083 22084 /** 22085 * This method is like `_.sortedIndex` except that it accepts `iteratee` 22086 * which is invoked for `value` and each element of `array` to compute their 22087 * sort ranking. The iteratee is invoked with one argument: (value). 22088 * 22089 * @static 22090 * @memberOf _ 22091 * @since 4.0.0 22092 * @category Array 22093 * @param {Array} array The sorted array to inspect. 22094 * @param {*} value The value to evaluate. 22095 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 22096 * @returns {number} Returns the index at which `value` should be inserted 22097 * into `array`. 22098 * @example 22099 * 22100 * var objects = [{ 'x': 4 }, { 'x': 5 }]; 22101 * 22102 * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); 22103 * // => 0 22104 * 22105 * // The `_.property` iteratee shorthand. 22106 * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); 22107 * // => 0 22108 */ 22109 function sortedIndexBy(array, value, iteratee) { 22110 return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); 22111 } 22112 22113 /** 22114 * This method is like `_.indexOf` except that it performs a binary 22115 * search on a sorted `array`. 22116 * 22117 * @static 22118 * @memberOf _ 22119 * @since 4.0.0 22120 * @category Array 22121 * @param {Array} array The array to inspect. 22122 * @param {*} value The value to search for. 22123 * @returns {number} Returns the index of the matched value, else `-1`. 22124 * @example 22125 * 22126 * _.sortedIndexOf([4, 5, 5, 5, 6], 5); 22127 * // => 1 22128 */ 22129 function sortedIndexOf(array, value) { 22130 var length = array == null ? 0 : array.length; 22131 if (length) { 22132 var index = baseSortedIndex(array, value); 22133 if (index < length && eq(array[index], value)) { 22134 return index; 22135 } 22136 } 22137 return -1; 22138 } 22139 22140 /** 22141 * This method is like `_.sortedIndex` except that it returns the highest 22142 * index at which `value` should be inserted into `array` in order to 22143 * maintain its sort order. 22144 * 22145 * @static 22146 * @memberOf _ 22147 * @since 3.0.0 22148 * @category Array 22149 * @param {Array} array The sorted array to inspect. 22150 * @param {*} value The value to evaluate. 22151 * @returns {number} Returns the index at which `value` should be inserted 22152 * into `array`. 22153 * @example 22154 * 22155 * _.sortedLastIndex([4, 5, 5, 5, 6], 5); 22156 * // => 4 22157 */ 22158 function sortedLastIndex(array, value) { 22159 return baseSortedIndex(array, value, true); 22160 } 22161 22162 /** 22163 * This method is like `_.sortedLastIndex` except that it accepts `iteratee` 22164 * which is invoked for `value` and each element of `array` to compute their 22165 * sort ranking. The iteratee is invoked with one argument: (value). 22166 * 22167 * @static 22168 * @memberOf _ 22169 * @since 4.0.0 22170 * @category Array 22171 * @param {Array} array The sorted array to inspect. 22172 * @param {*} value The value to evaluate. 22173 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 22174 * @returns {number} Returns the index at which `value` should be inserted 22175 * into `array`. 22176 * @example 22177 * 22178 * var objects = [{ 'x': 4 }, { 'x': 5 }]; 22179 * 22180 * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); 22181 * // => 1 22182 * 22183 * // The `_.property` iteratee shorthand. 22184 * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); 22185 * // => 1 22186 */ 22187 function sortedLastIndexBy(array, value, iteratee) { 22188 return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); 22189 } 22190 22191 /** 22192 * This method is like `_.lastIndexOf` except that it performs a binary 22193 * search on a sorted `array`. 22194 * 22195 * @static 22196 * @memberOf _ 22197 * @since 4.0.0 22198 * @category Array 22199 * @param {Array} array The array to inspect. 22200 * @param {*} value The value to search for. 22201 * @returns {number} Returns the index of the matched value, else `-1`. 22202 * @example 22203 * 22204 * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); 22205 * // => 3 22206 */ 22207 function sortedLastIndexOf(array, value) { 22208 var length = array == null ? 0 : array.length; 22209 if (length) { 22210 var index = baseSortedIndex(array, value, true) - 1; 22211 if (eq(array[index], value)) { 22212 return index; 22213 } 22214 } 22215 return -1; 22216 } 22217 22218 /** 22219 * This method is like `_.uniq` except that it's designed and optimized 22220 * for sorted arrays. 22221 * 22222 * @static 22223 * @memberOf _ 22224 * @since 4.0.0 22225 * @category Array 22226 * @param {Array} array The array to inspect. 22227 * @returns {Array} Returns the new duplicate free array. 22228 * @example 22229 * 22230 * _.sortedUniq([1, 1, 2]); 22231 * // => [1, 2] 22232 */ 22233 function sortedUniq(array) { 22234 return (array && array.length) 22235 ? baseSortedUniq(array) 22236 : []; 22237 } 22238 22239 /** 22240 * This method is like `_.uniqBy` except that it's designed and optimized 22241 * for sorted arrays. 22242 * 22243 * @static 22244 * @memberOf _ 22245 * @since 4.0.0 22246 * @category Array 22247 * @param {Array} array The array to inspect. 22248 * @param {Function} [iteratee] The iteratee invoked per element. 22249 * @returns {Array} Returns the new duplicate free array. 22250 * @example 22251 * 22252 * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); 22253 * // => [1.1, 2.3] 22254 */ 22255 function sortedUniqBy(array, iteratee) { 22256 return (array && array.length) 22257 ? baseSortedUniq(array, getIteratee(iteratee, 2)) 22258 : []; 22259 } 22260 22261 /** 22262 * Gets all but the first element of `array`. 22263 * 22264 * @static 22265 * @memberOf _ 22266 * @since 4.0.0 22267 * @category Array 22268 * @param {Array} array The array to query. 22269 * @returns {Array} Returns the slice of `array`. 22270 * @example 22271 * 22272 * _.tail([1, 2, 3]); 22273 * // => [2, 3] 22274 */ 22275 function tail(array) { 22276 var length = array == null ? 0 : array.length; 22277 return length ? baseSlice(array, 1, length) : []; 22278 } 22279 22280 /** 22281 * Creates a slice of `array` with `n` elements taken from the beginning. 22282 * 22283 * @static 22284 * @memberOf _ 22285 * @since 0.1.0 22286 * @category Array 22287 * @param {Array} array The array to query. 22288 * @param {number} [n=1] The number of elements to take. 22289 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 22290 * @returns {Array} Returns the slice of `array`. 22291 * @example 22292 * 22293 * _.take([1, 2, 3]); 22294 * // => [1] 22295 * 22296 * _.take([1, 2, 3], 2); 22297 * // => [1, 2] 22298 * 22299 * _.take([1, 2, 3], 5); 22300 * // => [1, 2, 3] 22301 * 22302 * _.take([1, 2, 3], 0); 22303 * // => [] 22304 */ 22305 function take(array, n, guard) { 22306 if (!(array && array.length)) { 22307 return []; 22308 } 22309 n = (guard || n === undefined) ? 1 : toInteger(n); 22310 return baseSlice(array, 0, n < 0 ? 0 : n); 22311 } 22312 22313 /** 22314 * Creates a slice of `array` with `n` elements taken from the end. 22315 * 22316 * @static 22317 * @memberOf _ 22318 * @since 3.0.0 22319 * @category Array 22320 * @param {Array} array The array to query. 22321 * @param {number} [n=1] The number of elements to take. 22322 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 22323 * @returns {Array} Returns the slice of `array`. 22324 * @example 22325 * 22326 * _.takeRight([1, 2, 3]); 22327 * // => [3] 22328 * 22329 * _.takeRight([1, 2, 3], 2); 22330 * // => [2, 3] 22331 * 22332 * _.takeRight([1, 2, 3], 5); 22333 * // => [1, 2, 3] 22334 * 22335 * _.takeRight([1, 2, 3], 0); 22336 * // => [] 22337 */ 22338 function takeRight(array, n, guard) { 22339 var length = array == null ? 0 : array.length; 22340 if (!length) { 22341 return []; 22342 } 22343 n = (guard || n === undefined) ? 1 : toInteger(n); 22344 n = length - n; 22345 return baseSlice(array, n < 0 ? 0 : n, length); 22346 } 22347 22348 /** 22349 * Creates a slice of `array` with elements taken from the end. Elements are 22350 * taken until `predicate` returns falsey. The predicate is invoked with 22351 * three arguments: (value, index, array). 22352 * 22353 * @static 22354 * @memberOf _ 22355 * @since 3.0.0 22356 * @category Array 22357 * @param {Array} array The array to query. 22358 * @param {Function} [predicate=_.identity] The function invoked per iteration. 22359 * @returns {Array} Returns the slice of `array`. 22360 * @example 22361 * 22362 * var users = [ 22363 * { 'user': 'barney', 'active': true }, 22364 * { 'user': 'fred', 'active': false }, 22365 * { 'user': 'pebbles', 'active': false } 22366 * ]; 22367 * 22368 * _.takeRightWhile(users, function(o) { return !o.active; }); 22369 * // => objects for ['fred', 'pebbles'] 22370 * 22371 * // The `_.matches` iteratee shorthand. 22372 * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); 22373 * // => objects for ['pebbles'] 22374 * 22375 * // The `_.matchesProperty` iteratee shorthand. 22376 * _.takeRightWhile(users, ['active', false]); 22377 * // => objects for ['fred', 'pebbles'] 22378 * 22379 * // The `_.property` iteratee shorthand. 22380 * _.takeRightWhile(users, 'active'); 22381 * // => [] 22382 */ 22383 function takeRightWhile(array, predicate) { 22384 return (array && array.length) 22385 ? baseWhile(array, getIteratee(predicate, 3), false, true) 22386 : []; 22387 } 22388 22389 /** 22390 * Creates a slice of `array` with elements taken from the beginning. Elements 22391 * are taken until `predicate` returns falsey. The predicate is invoked with 22392 * three arguments: (value, index, array). 22393 * 22394 * @static 22395 * @memberOf _ 22396 * @since 3.0.0 22397 * @category Array 22398 * @param {Array} array The array to query. 22399 * @param {Function} [predicate=_.identity] The function invoked per iteration. 22400 * @returns {Array} Returns the slice of `array`. 22401 * @example 22402 * 22403 * var users = [ 22404 * { 'user': 'barney', 'active': false }, 22405 * { 'user': 'fred', 'active': false }, 22406 * { 'user': 'pebbles', 'active': true } 22407 * ]; 22408 * 22409 * _.takeWhile(users, function(o) { return !o.active; }); 22410 * // => objects for ['barney', 'fred'] 22411 * 22412 * // The `_.matches` iteratee shorthand. 22413 * _.takeWhile(users, { 'user': 'barney', 'active': false }); 22414 * // => objects for ['barney'] 22415 * 22416 * // The `_.matchesProperty` iteratee shorthand. 22417 * _.takeWhile(users, ['active', false]); 22418 * // => objects for ['barney', 'fred'] 22419 * 22420 * // The `_.property` iteratee shorthand. 22421 * _.takeWhile(users, 'active'); 22422 * // => [] 22423 */ 22424 function takeWhile(array, predicate) { 22425 return (array && array.length) 22426 ? baseWhile(array, getIteratee(predicate, 3)) 22427 : []; 22428 } 22429 22430 /** 22431 * Creates an array of unique values, in order, from all given arrays using 22432 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 22433 * for equality comparisons. 22434 * 22435 * @static 22436 * @memberOf _ 22437 * @since 0.1.0 22438 * @category Array 22439 * @param {...Array} [arrays] The arrays to inspect. 22440 * @returns {Array} Returns the new array of combined values. 22441 * @example 22442 * 22443 * _.union([2], [1, 2]); 22444 * // => [2, 1] 22445 */ 22446 var union = baseRest(function(arrays) { 22447 return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); 22448 }); 22449 22450 /** 22451 * This method is like `_.union` except that it accepts `iteratee` which is 22452 * invoked for each element of each `arrays` to generate the criterion by 22453 * which uniqueness is computed. Result values are chosen from the first 22454 * array in which the value occurs. The iteratee is invoked with one argument: 22455 * (value). 22456 * 22457 * @static 22458 * @memberOf _ 22459 * @since 4.0.0 22460 * @category Array 22461 * @param {...Array} [arrays] The arrays to inspect. 22462 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 22463 * @returns {Array} Returns the new array of combined values. 22464 * @example 22465 * 22466 * _.unionBy([2.1], [1.2, 2.3], Math.floor); 22467 * // => [2.1, 1.2] 22468 * 22469 * // The `_.property` iteratee shorthand. 22470 * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); 22471 * // => [{ 'x': 1 }, { 'x': 2 }] 22472 */ 22473 var unionBy = baseRest(function(arrays) { 22474 var iteratee = last(arrays); 22475 if (isArrayLikeObject(iteratee)) { 22476 iteratee = undefined; 22477 } 22478 return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); 22479 }); 22480 22481 /** 22482 * This method is like `_.union` except that it accepts `comparator` which 22483 * is invoked to compare elements of `arrays`. Result values are chosen from 22484 * the first array in which the value occurs. The comparator is invoked 22485 * with two arguments: (arrVal, othVal). 22486 * 22487 * @static 22488 * @memberOf _ 22489 * @since 4.0.0 22490 * @category Array 22491 * @param {...Array} [arrays] The arrays to inspect. 22492 * @param {Function} [comparator] The comparator invoked per element. 22493 * @returns {Array} Returns the new array of combined values. 22494 * @example 22495 * 22496 * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; 22497 * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; 22498 * 22499 * _.unionWith(objects, others, _.isEqual); 22500 * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] 22501 */ 22502 var unionWith = baseRest(function(arrays) { 22503 var comparator = last(arrays); 22504 comparator = typeof comparator == 'function' ? comparator : undefined; 22505 return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); 22506 }); 22507 22508 /** 22509 * Creates a duplicate-free version of an array, using 22510 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 22511 * for equality comparisons, in which only the first occurrence of each element 22512 * is kept. The order of result values is determined by the order they occur 22513 * in the array. 22514 * 22515 * @static 22516 * @memberOf _ 22517 * @since 0.1.0 22518 * @category Array 22519 * @param {Array} array The array to inspect. 22520 * @returns {Array} Returns the new duplicate free array. 22521 * @example 22522 * 22523 * _.uniq([2, 1, 2]); 22524 * // => [2, 1] 22525 */ 22526 function uniq(array) { 22527 return (array && array.length) ? baseUniq(array) : []; 22528 } 22529 22530 /** 22531 * This method is like `_.uniq` except that it accepts `iteratee` which is 22532 * invoked for each element in `array` to generate the criterion by which 22533 * uniqueness is computed. The order of result values is determined by the 22534 * order they occur in the array. The iteratee is invoked with one argument: 22535 * (value). 22536 * 22537 * @static 22538 * @memberOf _ 22539 * @since 4.0.0 22540 * @category Array 22541 * @param {Array} array The array to inspect. 22542 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 22543 * @returns {Array} Returns the new duplicate free array. 22544 * @example 22545 * 22546 * _.uniqBy([2.1, 1.2, 2.3], Math.floor); 22547 * // => [2.1, 1.2] 22548 * 22549 * // The `_.property` iteratee shorthand. 22550 * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); 22551 * // => [{ 'x': 1 }, { 'x': 2 }] 22552 */ 22553 function uniqBy(array, iteratee) { 22554 return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; 22555 } 22556 22557 /** 22558 * This method is like `_.uniq` except that it accepts `comparator` which 22559 * is invoked to compare elements of `array`. The order of result values is 22560 * determined by the order they occur in the array.The comparator is invoked 22561 * with two arguments: (arrVal, othVal). 22562 * 22563 * @static 22564 * @memberOf _ 22565 * @since 4.0.0 22566 * @category Array 22567 * @param {Array} array The array to inspect. 22568 * @param {Function} [comparator] The comparator invoked per element. 22569 * @returns {Array} Returns the new duplicate free array. 22570 * @example 22571 * 22572 * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; 22573 * 22574 * _.uniqWith(objects, _.isEqual); 22575 * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] 22576 */ 22577 function uniqWith(array, comparator) { 22578 comparator = typeof comparator == 'function' ? comparator : undefined; 22579 return (array && array.length) ? baseUniq(array, undefined, comparator) : []; 22580 } 22581 22582 /** 22583 * This method is like `_.zip` except that it accepts an array of grouped 22584 * elements and creates an array regrouping the elements to their pre-zip 22585 * configuration. 22586 * 22587 * @static 22588 * @memberOf _ 22589 * @since 1.2.0 22590 * @category Array 22591 * @param {Array} array The array of grouped elements to process. 22592 * @returns {Array} Returns the new array of regrouped elements. 22593 * @example 22594 * 22595 * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); 22596 * // => [['a', 1, true], ['b', 2, false]] 22597 * 22598 * _.unzip(zipped); 22599 * // => [['a', 'b'], [1, 2], [true, false]] 22600 */ 22601 function unzip(array) { 22602 if (!(array && array.length)) { 22603 return []; 22604 } 22605 var length = 0; 22606 array = arrayFilter(array, function(group) { 22607 if (isArrayLikeObject(group)) { 22608 length = nativeMax(group.length, length); 22609 return true; 22610 } 22611 }); 22612 return baseTimes(length, function(index) { 22613 return arrayMap(array, baseProperty(index)); 22614 }); 22615 } 22616 22617 /** 22618 * This method is like `_.unzip` except that it accepts `iteratee` to specify 22619 * how regrouped values should be combined. The iteratee is invoked with the 22620 * elements of each group: (...group). 22621 * 22622 * @static 22623 * @memberOf _ 22624 * @since 3.8.0 22625 * @category Array 22626 * @param {Array} array The array of grouped elements to process. 22627 * @param {Function} [iteratee=_.identity] The function to combine 22628 * regrouped values. 22629 * @returns {Array} Returns the new array of regrouped elements. 22630 * @example 22631 * 22632 * var zipped = _.zip([1, 2], [10, 20], [100, 200]); 22633 * // => [[1, 10, 100], [2, 20, 200]] 22634 * 22635 * _.unzipWith(zipped, _.add); 22636 * // => [3, 30, 300] 22637 */ 22638 function unzipWith(array, iteratee) { 22639 if (!(array && array.length)) { 22640 return []; 22641 } 22642 var result = unzip(array); 22643 if (iteratee == null) { 22644 return result; 22645 } 22646 return arrayMap(result, function(group) { 22647 return apply(iteratee, undefined, group); 22648 }); 22649 } 22650 22651 /** 22652 * Creates an array excluding all given values using 22653 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 22654 * for equality comparisons. 22655 * 22656 * **Note:** Unlike `_.pull`, this method returns a new array. 22657 * 22658 * @static 22659 * @memberOf _ 22660 * @since 0.1.0 22661 * @category Array 22662 * @param {Array} array The array to inspect. 22663 * @param {...*} [values] The values to exclude. 22664 * @returns {Array} Returns the new array of filtered values. 22665 * @see _.difference, _.xor 22666 * @example 22667 * 22668 * _.without([2, 1, 2, 3], 1, 2); 22669 * // => [3] 22670 */ 22671 var without = baseRest(function(array, values) { 22672 return isArrayLikeObject(array) 22673 ? baseDifference(array, values) 22674 : []; 22675 }); 22676 22677 /** 22678 * Creates an array of unique values that is the 22679 * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) 22680 * of the given arrays. The order of result values is determined by the order 22681 * they occur in the arrays. 22682 * 22683 * @static 22684 * @memberOf _ 22685 * @since 2.4.0 22686 * @category Array 22687 * @param {...Array} [arrays] The arrays to inspect. 22688 * @returns {Array} Returns the new array of filtered values. 22689 * @see _.difference, _.without 22690 * @example 22691 * 22692 * _.xor([2, 1], [2, 3]); 22693 * // => [1, 3] 22694 */ 22695 var xor = baseRest(function(arrays) { 22696 return baseXor(arrayFilter(arrays, isArrayLikeObject)); 22697 }); 22698 22699 /** 22700 * This method is like `_.xor` except that it accepts `iteratee` which is 22701 * invoked for each element of each `arrays` to generate the criterion by 22702 * which by which they're compared. The order of result values is determined 22703 * by the order they occur in the arrays. The iteratee is invoked with one 22704 * argument: (value). 22705 * 22706 * @static 22707 * @memberOf _ 22708 * @since 4.0.0 22709 * @category Array 22710 * @param {...Array} [arrays] The arrays to inspect. 22711 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 22712 * @returns {Array} Returns the new array of filtered values. 22713 * @example 22714 * 22715 * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); 22716 * // => [1.2, 3.4] 22717 * 22718 * // The `_.property` iteratee shorthand. 22719 * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); 22720 * // => [{ 'x': 2 }] 22721 */ 22722 var xorBy = baseRest(function(arrays) { 22723 var iteratee = last(arrays); 22724 if (isArrayLikeObject(iteratee)) { 22725 iteratee = undefined; 22726 } 22727 return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); 22728 }); 22729 22730 /** 22731 * This method is like `_.xor` except that it accepts `comparator` which is 22732 * invoked to compare elements of `arrays`. The order of result values is 22733 * determined by the order they occur in the arrays. The comparator is invoked 22734 * with two arguments: (arrVal, othVal). 22735 * 22736 * @static 22737 * @memberOf _ 22738 * @since 4.0.0 22739 * @category Array 22740 * @param {...Array} [arrays] The arrays to inspect. 22741 * @param {Function} [comparator] The comparator invoked per element. 22742 * @returns {Array} Returns the new array of filtered values. 22743 * @example 22744 * 22745 * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; 22746 * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; 22747 * 22748 * _.xorWith(objects, others, _.isEqual); 22749 * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] 22750 */ 22751 var xorWith = baseRest(function(arrays) { 22752 var comparator = last(arrays); 22753 comparator = typeof comparator == 'function' ? comparator : undefined; 22754 return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); 22755 }); 22756 22757 /** 22758 * Creates an array of grouped elements, the first of which contains the 22759 * first elements of the given arrays, the second of which contains the 22760 * second elements of the given arrays, and so on. 22761 * 22762 * @static 22763 * @memberOf _ 22764 * @since 0.1.0 22765 * @category Array 22766 * @param {...Array} [arrays] The arrays to process. 22767 * @returns {Array} Returns the new array of grouped elements. 22768 * @example 22769 * 22770 * _.zip(['a', 'b'], [1, 2], [true, false]); 22771 * // => [['a', 1, true], ['b', 2, false]] 22772 */ 22773 var zip = baseRest(unzip); 22774 22775 /** 22776 * This method is like `_.fromPairs` except that it accepts two arrays, 22777 * one of property identifiers and one of corresponding values. 22778 * 22779 * @static 22780 * @memberOf _ 22781 * @since 0.4.0 22782 * @category Array 22783 * @param {Array} [props=[]] The property identifiers. 22784 * @param {Array} [values=[]] The property values. 22785 * @returns {Object} Returns the new object. 22786 * @example 22787 * 22788 * _.zipObject(['a', 'b'], [1, 2]); 22789 * // => { 'a': 1, 'b': 2 } 22790 */ 22791 function zipObject(props, values) { 22792 return baseZipObject(props || [], values || [], assignValue); 22793 } 22794 22795 /** 22796 * This method is like `_.zipObject` except that it supports property paths. 22797 * 22798 * @static 22799 * @memberOf _ 22800 * @since 4.1.0 22801 * @category Array 22802 * @param {Array} [props=[]] The property identifiers. 22803 * @param {Array} [values=[]] The property values. 22804 * @returns {Object} Returns the new object. 22805 * @example 22806 * 22807 * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); 22808 * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } 22809 */ 22810 function zipObjectDeep(props, values) { 22811 return baseZipObject(props || [], values || [], baseSet); 22812 } 22813 22814 /** 22815 * This method is like `_.zip` except that it accepts `iteratee` to specify 22816 * how grouped values should be combined. The iteratee is invoked with the 22817 * elements of each group: (...group). 22818 * 22819 * @static 22820 * @memberOf _ 22821 * @since 3.8.0 22822 * @category Array 22823 * @param {...Array} [arrays] The arrays to process. 22824 * @param {Function} [iteratee=_.identity] The function to combine 22825 * grouped values. 22826 * @returns {Array} Returns the new array of grouped elements. 22827 * @example 22828 * 22829 * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { 22830 * return a + b + c; 22831 * }); 22832 * // => [111, 222] 22833 */ 22834 var zipWith = baseRest(function(arrays) { 22835 var length = arrays.length, 22836 iteratee = length > 1 ? arrays[length - 1] : undefined; 22837 22838 iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; 22839 return unzipWith(arrays, iteratee); 22840 }); 22841 22842 /*------------------------------------------------------------------------*/ 22843 22844 /** 22845 * Creates a `lodash` wrapper instance that wraps `value` with explicit method 22846 * chain sequences enabled. The result of such sequences must be unwrapped 22847 * with `_#value`. 22848 * 22849 * @static 22850 * @memberOf _ 22851 * @since 1.3.0 22852 * @category Seq 22853 * @param {*} value The value to wrap. 22854 * @returns {Object} Returns the new `lodash` wrapper instance. 22855 * @example 22856 * 22857 * var users = [ 22858 * { 'user': 'barney', 'age': 36 }, 22859 * { 'user': 'fred', 'age': 40 }, 22860 * { 'user': 'pebbles', 'age': 1 } 22861 * ]; 22862 * 22863 * var youngest = _ 22864 * .chain(users) 22865 * .sortBy('age') 22866 * .map(function(o) { 22867 * return o.user + ' is ' + o.age; 22868 * }) 22869 * .head() 22870 * .value(); 22871 * // => 'pebbles is 1' 22872 */ 22873 function chain(value) { 22874 var result = lodash(value); 22875 result.__chain__ = true; 22876 return result; 22877 } 22878 22879 /** 22880 * This method invokes `interceptor` and returns `value`. The interceptor 22881 * is invoked with one argument; (value). The purpose of this method is to 22882 * "tap into" a method chain sequence in order to modify intermediate results. 22883 * 22884 * @static 22885 * @memberOf _ 22886 * @since 0.1.0 22887 * @category Seq 22888 * @param {*} value The value to provide to `interceptor`. 22889 * @param {Function} interceptor The function to invoke. 22890 * @returns {*} Returns `value`. 22891 * @example 22892 * 22893 * _([1, 2, 3]) 22894 * .tap(function(array) { 22895 * // Mutate input array. 22896 * array.pop(); 22897 * }) 22898 * .reverse() 22899 * .value(); 22900 * // => [2, 1] 22901 */ 22902 function tap(value, interceptor) { 22903 interceptor(value); 22904 return value; 22905 } 22906 22907 /** 22908 * This method is like `_.tap` except that it returns the result of `interceptor`. 22909 * The purpose of this method is to "pass thru" values replacing intermediate 22910 * results in a method chain sequence. 22911 * 22912 * @static 22913 * @memberOf _ 22914 * @since 3.0.0 22915 * @category Seq 22916 * @param {*} value The value to provide to `interceptor`. 22917 * @param {Function} interceptor The function to invoke. 22918 * @returns {*} Returns the result of `interceptor`. 22919 * @example 22920 * 22921 * _(' abc ') 22922 * .chain() 22923 * .trim() 22924 * .thru(function(value) { 22925 * return [value]; 22926 * }) 22927 * .value(); 22928 * // => ['abc'] 22929 */ 22930 function thru(value, interceptor) { 22931 return interceptor(value); 22932 } 22933 22934 /** 22935 * This method is the wrapper version of `_.at`. 22936 * 22937 * @name at 22938 * @memberOf _ 22939 * @since 1.0.0 22940 * @category Seq 22941 * @param {...(string|string[])} [paths] The property paths to pick. 22942 * @returns {Object} Returns the new `lodash` wrapper instance. 22943 * @example 22944 * 22945 * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; 22946 * 22947 * _(object).at(['a[0].b.c', 'a[1]']).value(); 22948 * // => [3, 4] 22949 */ 22950 var wrapperAt = flatRest(function(paths) { 22951 var length = paths.length, 22952 start = length ? paths[0] : 0, 22953 value = this.__wrapped__, 22954 interceptor = function(object) { return baseAt(object, paths); }; 22955 22956 if (length > 1 || this.__actions__.length || 22957 !(value instanceof LazyWrapper) || !isIndex(start)) { 22958 return this.thru(interceptor); 22959 } 22960 value = value.slice(start, +start + (length ? 1 : 0)); 22961 value.__actions__.push({ 22962 'func': thru, 22963 'args': [interceptor], 22964 'thisArg': undefined 22965 }); 22966 return new LodashWrapper(value, this.__chain__).thru(function(array) { 22967 if (length && !array.length) { 22968 array.push(undefined); 22969 } 22970 return array; 22971 }); 22972 }); 22973 22974 /** 22975 * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. 22976 * 22977 * @name chain 22978 * @memberOf _ 22979 * @since 0.1.0 22980 * @category Seq 22981 * @returns {Object} Returns the new `lodash` wrapper instance. 22982 * @example 22983 * 22984 * var users = [ 22985 * { 'user': 'barney', 'age': 36 }, 22986 * { 'user': 'fred', 'age': 40 } 22987 * ]; 22988 * 22989 * // A sequence without explicit chaining. 22990 * _(users).head(); 22991 * // => { 'user': 'barney', 'age': 36 } 22992 * 22993 * // A sequence with explicit chaining. 22994 * _(users) 22995 * .chain() 22996 * .head() 22997 * .pick('user') 22998 * .value(); 22999 * // => { 'user': 'barney' } 23000 */ 23001 function wrapperChain() { 23002 return chain(this); 23003 } 23004 23005 /** 23006 * Executes the chain sequence and returns the wrapped result. 23007 * 23008 * @name commit 23009 * @memberOf _ 23010 * @since 3.2.0 23011 * @category Seq 23012 * @returns {Object} Returns the new `lodash` wrapper instance. 23013 * @example 23014 * 23015 * var array = [1, 2]; 23016 * var wrapped = _(array).push(3); 23017 * 23018 * console.log(array); 23019 * // => [1, 2] 23020 * 23021 * wrapped = wrapped.commit(); 23022 * console.log(array); 23023 * // => [1, 2, 3] 23024 * 23025 * wrapped.last(); 23026 * // => 3 23027 * 23028 * console.log(array); 23029 * // => [1, 2, 3] 23030 */ 23031 function wrapperCommit() { 23032 return new LodashWrapper(this.value(), this.__chain__); 23033 } 23034 23035 /** 23036 * Gets the next value on a wrapped object following the 23037 * [iterator protocol](https://mdn.io/iteration_protocols#iterator). 23038 * 23039 * @name next 23040 * @memberOf _ 23041 * @since 4.0.0 23042 * @category Seq 23043 * @returns {Object} Returns the next iterator value. 23044 * @example 23045 * 23046 * var wrapped = _([1, 2]); 23047 * 23048 * wrapped.next(); 23049 * // => { 'done': false, 'value': 1 } 23050 * 23051 * wrapped.next(); 23052 * // => { 'done': false, 'value': 2 } 23053 * 23054 * wrapped.next(); 23055 * // => { 'done': true, 'value': undefined } 23056 */ 23057 function wrapperNext() { 23058 if (this.__values__ === undefined) { 23059 this.__values__ = toArray(this.value()); 23060 } 23061 var done = this.__index__ >= this.__values__.length, 23062 value = done ? undefined : this.__values__[this.__index__++]; 23063 23064 return { 'done': done, 'value': value }; 23065 } 23066 23067 /** 23068 * Enables the wrapper to be iterable. 23069 * 23070 * @name Symbol.iterator 23071 * @memberOf _ 23072 * @since 4.0.0 23073 * @category Seq 23074 * @returns {Object} Returns the wrapper object. 23075 * @example 23076 * 23077 * var wrapped = _([1, 2]); 23078 * 23079 * wrapped[Symbol.iterator]() === wrapped; 23080 * // => true 23081 * 23082 * Array.from(wrapped); 23083 * // => [1, 2] 23084 */ 23085 function wrapperToIterator() { 23086 return this; 23087 } 23088 23089 /** 23090 * Creates a clone of the chain sequence planting `value` as the wrapped value. 23091 * 23092 * @name plant 23093 * @memberOf _ 23094 * @since 3.2.0 23095 * @category Seq 23096 * @param {*} value The value to plant. 23097 * @returns {Object} Returns the new `lodash` wrapper instance. 23098 * @example 23099 * 23100 * function square(n) { 23101 * return n * n; 23102 * } 23103 * 23104 * var wrapped = _([1, 2]).map(square); 23105 * var other = wrapped.plant([3, 4]); 23106 * 23107 * other.value(); 23108 * // => [9, 16] 23109 * 23110 * wrapped.value(); 23111 * // => [1, 4] 23112 */ 23113 function wrapperPlant(value) { 23114 var result, 23115 parent = this; 23116 23117 while (parent instanceof baseLodash) { 23118 var clone = wrapperClone(parent); 23119 clone.__index__ = 0; 23120 clone.__values__ = undefined; 23121 if (result) { 23122 previous.__wrapped__ = clone; 23123 } else { 23124 result = clone; 23125 } 23126 var previous = clone; 23127 parent = parent.__wrapped__; 23128 } 23129 previous.__wrapped__ = value; 23130 return result; 23131 } 23132 23133 /** 23134 * This method is the wrapper version of `_.reverse`. 23135 * 23136 * **Note:** This method mutates the wrapped array. 23137 * 23138 * @name reverse 23139 * @memberOf _ 23140 * @since 0.1.0 23141 * @category Seq 23142 * @returns {Object} Returns the new `lodash` wrapper instance. 23143 * @example 23144 * 23145 * var array = [1, 2, 3]; 23146 * 23147 * _(array).reverse().value() 23148 * // => [3, 2, 1] 23149 * 23150 * console.log(array); 23151 * // => [3, 2, 1] 23152 */ 23153 function wrapperReverse() { 23154 var value = this.__wrapped__; 23155 if (value instanceof LazyWrapper) { 23156 var wrapped = value; 23157 if (this.__actions__.length) { 23158 wrapped = new LazyWrapper(this); 23159 } 23160 wrapped = wrapped.reverse(); 23161 wrapped.__actions__.push({ 23162 'func': thru, 23163 'args': [reverse], 23164 'thisArg': undefined 23165 }); 23166 return new LodashWrapper(wrapped, this.__chain__); 23167 } 23168 return this.thru(reverse); 23169 } 23170 23171 /** 23172 * Executes the chain sequence to resolve the unwrapped value. 23173 * 23174 * @name value 23175 * @memberOf _ 23176 * @since 0.1.0 23177 * @alias toJSON, valueOf 23178 * @category Seq 23179 * @returns {*} Returns the resolved unwrapped value. 23180 * @example 23181 * 23182 * _([1, 2, 3]).value(); 23183 * // => [1, 2, 3] 23184 */ 23185 function wrapperValue() { 23186 return baseWrapperValue(this.__wrapped__, this.__actions__); 23187 } 23188 23189 /*------------------------------------------------------------------------*/ 23190 23191 /** 23192 * Creates an object composed of keys generated from the results of running 23193 * each element of `collection` thru `iteratee`. The corresponding value of 23194 * each key is the number of times the key was returned by `iteratee`. The 23195 * iteratee is invoked with one argument: (value). 23196 * 23197 * @static 23198 * @memberOf _ 23199 * @since 0.5.0 23200 * @category Collection 23201 * @param {Array|Object} collection The collection to iterate over. 23202 * @param {Function} [iteratee=_.identity] The iteratee to transform keys. 23203 * @returns {Object} Returns the composed aggregate object. 23204 * @example 23205 * 23206 * _.countBy([6.1, 4.2, 6.3], Math.floor); 23207 * // => { '4': 1, '6': 2 } 23208 * 23209 * // The `_.property` iteratee shorthand. 23210 * _.countBy(['one', 'two', 'three'], 'length'); 23211 * // => { '3': 2, '5': 1 } 23212 */ 23213 var countBy = createAggregator(function(result, value, key) { 23214 if (hasOwnProperty.call(result, key)) { 23215 ++result[key]; 23216 } else { 23217 baseAssignValue(result, key, 1); 23218 } 23219 }); 23220 23221 /** 23222 * Checks if `predicate` returns truthy for **all** elements of `collection`. 23223 * Iteration is stopped once `predicate` returns falsey. The predicate is 23224 * invoked with three arguments: (value, index|key, collection). 23225 * 23226 * **Note:** This method returns `true` for 23227 * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because 23228 * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of 23229 * elements of empty collections. 23230 * 23231 * @static 23232 * @memberOf _ 23233 * @since 0.1.0 23234 * @category Collection 23235 * @param {Array|Object} collection The collection to iterate over. 23236 * @param {Function} [predicate=_.identity] The function invoked per iteration. 23237 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 23238 * @returns {boolean} Returns `true` if all elements pass the predicate check, 23239 * else `false`. 23240 * @example 23241 * 23242 * _.every([true, 1, null, 'yes'], Boolean); 23243 * // => false 23244 * 23245 * var users = [ 23246 * { 'user': 'barney', 'age': 36, 'active': false }, 23247 * { 'user': 'fred', 'age': 40, 'active': false } 23248 * ]; 23249 * 23250 * // The `_.matches` iteratee shorthand. 23251 * _.every(users, { 'user': 'barney', 'active': false }); 23252 * // => false 23253 * 23254 * // The `_.matchesProperty` iteratee shorthand. 23255 * _.every(users, ['active', false]); 23256 * // => true 23257 * 23258 * // The `_.property` iteratee shorthand. 23259 * _.every(users, 'active'); 23260 * // => false 23261 */ 23262 function every(collection, predicate, guard) { 23263 var func = isArray(collection) ? arrayEvery : baseEvery; 23264 if (guard && isIterateeCall(collection, predicate, guard)) { 23265 predicate = undefined; 23266 } 23267 return func(collection, getIteratee(predicate, 3)); 23268 } 23269 23270 /** 23271 * Iterates over elements of `collection`, returning an array of all elements 23272 * `predicate` returns truthy for. The predicate is invoked with three 23273 * arguments: (value, index|key, collection). 23274 * 23275 * **Note:** Unlike `_.remove`, this method returns a new array. 23276 * 23277 * @static 23278 * @memberOf _ 23279 * @since 0.1.0 23280 * @category Collection 23281 * @param {Array|Object} collection The collection to iterate over. 23282 * @param {Function} [predicate=_.identity] The function invoked per iteration. 23283 * @returns {Array} Returns the new filtered array. 23284 * @see _.reject 23285 * @example 23286 * 23287 * var users = [ 23288 * { 'user': 'barney', 'age': 36, 'active': true }, 23289 * { 'user': 'fred', 'age': 40, 'active': false } 23290 * ]; 23291 * 23292 * _.filter(users, function(o) { return !o.active; }); 23293 * // => objects for ['fred'] 23294 * 23295 * // The `_.matches` iteratee shorthand. 23296 * _.filter(users, { 'age': 36, 'active': true }); 23297 * // => objects for ['barney'] 23298 * 23299 * // The `_.matchesProperty` iteratee shorthand. 23300 * _.filter(users, ['active', false]); 23301 * // => objects for ['fred'] 23302 * 23303 * // The `_.property` iteratee shorthand. 23304 * _.filter(users, 'active'); 23305 * // => objects for ['barney'] 23306 * 23307 * // Combining several predicates using `_.overEvery` or `_.overSome`. 23308 * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); 23309 * // => objects for ['fred', 'barney'] 23310 */ 23311 function filter(collection, predicate) { 23312 var func = isArray(collection) ? arrayFilter : baseFilter; 23313 return func(collection, getIteratee(predicate, 3)); 23314 } 23315 23316 /** 23317 * Iterates over elements of `collection`, returning the first element 23318 * `predicate` returns truthy for. The predicate is invoked with three 23319 * arguments: (value, index|key, collection). 23320 * 23321 * @static 23322 * @memberOf _ 23323 * @since 0.1.0 23324 * @category Collection 23325 * @param {Array|Object} collection The collection to inspect. 23326 * @param {Function} [predicate=_.identity] The function invoked per iteration. 23327 * @param {number} [fromIndex=0] The index to search from. 23328 * @returns {*} Returns the matched element, else `undefined`. 23329 * @example 23330 * 23331 * var users = [ 23332 * { 'user': 'barney', 'age': 36, 'active': true }, 23333 * { 'user': 'fred', 'age': 40, 'active': false }, 23334 * { 'user': 'pebbles', 'age': 1, 'active': true } 23335 * ]; 23336 * 23337 * _.find(users, function(o) { return o.age < 40; }); 23338 * // => object for 'barney' 23339 * 23340 * // The `_.matches` iteratee shorthand. 23341 * _.find(users, { 'age': 1, 'active': true }); 23342 * // => object for 'pebbles' 23343 * 23344 * // The `_.matchesProperty` iteratee shorthand. 23345 * _.find(users, ['active', false]); 23346 * // => object for 'fred' 23347 * 23348 * // The `_.property` iteratee shorthand. 23349 * _.find(users, 'active'); 23350 * // => object for 'barney' 23351 */ 23352 var find = createFind(findIndex); 23353 23354 /** 23355 * This method is like `_.find` except that it iterates over elements of 23356 * `collection` from right to left. 23357 * 23358 * @static 23359 * @memberOf _ 23360 * @since 2.0.0 23361 * @category Collection 23362 * @param {Array|Object} collection The collection to inspect. 23363 * @param {Function} [predicate=_.identity] The function invoked per iteration. 23364 * @param {number} [fromIndex=collection.length-1] The index to search from. 23365 * @returns {*} Returns the matched element, else `undefined`. 23366 * @example 23367 * 23368 * _.findLast([1, 2, 3, 4], function(n) { 23369 * return n % 2 == 1; 23370 * }); 23371 * // => 3 23372 */ 23373 var findLast = createFind(findLastIndex); 23374 23375 /** 23376 * Creates a flattened array of values by running each element in `collection` 23377 * thru `iteratee` and flattening the mapped results. The iteratee is invoked 23378 * with three arguments: (value, index|key, collection). 23379 * 23380 * @static 23381 * @memberOf _ 23382 * @since 4.0.0 23383 * @category Collection 23384 * @param {Array|Object} collection The collection to iterate over. 23385 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23386 * @returns {Array} Returns the new flattened array. 23387 * @example 23388 * 23389 * function duplicate(n) { 23390 * return [n, n]; 23391 * } 23392 * 23393 * _.flatMap([1, 2], duplicate); 23394 * // => [1, 1, 2, 2] 23395 */ 23396 function flatMap(collection, iteratee) { 23397 return baseFlatten(map(collection, iteratee), 1); 23398 } 23399 23400 /** 23401 * This method is like `_.flatMap` except that it recursively flattens the 23402 * mapped results. 23403 * 23404 * @static 23405 * @memberOf _ 23406 * @since 4.7.0 23407 * @category Collection 23408 * @param {Array|Object} collection The collection to iterate over. 23409 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23410 * @returns {Array} Returns the new flattened array. 23411 * @example 23412 * 23413 * function duplicate(n) { 23414 * return [[[n, n]]]; 23415 * } 23416 * 23417 * _.flatMapDeep([1, 2], duplicate); 23418 * // => [1, 1, 2, 2] 23419 */ 23420 function flatMapDeep(collection, iteratee) { 23421 return baseFlatten(map(collection, iteratee), INFINITY); 23422 } 23423 23424 /** 23425 * This method is like `_.flatMap` except that it recursively flattens the 23426 * mapped results up to `depth` times. 23427 * 23428 * @static 23429 * @memberOf _ 23430 * @since 4.7.0 23431 * @category Collection 23432 * @param {Array|Object} collection The collection to iterate over. 23433 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23434 * @param {number} [depth=1] The maximum recursion depth. 23435 * @returns {Array} Returns the new flattened array. 23436 * @example 23437 * 23438 * function duplicate(n) { 23439 * return [[[n, n]]]; 23440 * } 23441 * 23442 * _.flatMapDepth([1, 2], duplicate, 2); 23443 * // => [[1, 1], [2, 2]] 23444 */ 23445 function flatMapDepth(collection, iteratee, depth) { 23446 depth = depth === undefined ? 1 : toInteger(depth); 23447 return baseFlatten(map(collection, iteratee), depth); 23448 } 23449 23450 /** 23451 * Iterates over elements of `collection` and invokes `iteratee` for each element. 23452 * The iteratee is invoked with three arguments: (value, index|key, collection). 23453 * Iteratee functions may exit iteration early by explicitly returning `false`. 23454 * 23455 * **Note:** As with other "Collections" methods, objects with a "length" 23456 * property are iterated like arrays. To avoid this behavior use `_.forIn` 23457 * or `_.forOwn` for object iteration. 23458 * 23459 * @static 23460 * @memberOf _ 23461 * @since 0.1.0 23462 * @alias each 23463 * @category Collection 23464 * @param {Array|Object} collection The collection to iterate over. 23465 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23466 * @returns {Array|Object} Returns `collection`. 23467 * @see _.forEachRight 23468 * @example 23469 * 23470 * _.forEach([1, 2], function(value) { 23471 * console.log(value); 23472 * }); 23473 * // => Logs `1` then `2`. 23474 * 23475 * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { 23476 * console.log(key); 23477 * }); 23478 * // => Logs 'a' then 'b' (iteration order is not guaranteed). 23479 */ 23480 function forEach(collection, iteratee) { 23481 var func = isArray(collection) ? arrayEach : baseEach; 23482 return func(collection, getIteratee(iteratee, 3)); 23483 } 23484 23485 /** 23486 * This method is like `_.forEach` except that it iterates over elements of 23487 * `collection` from right to left. 23488 * 23489 * @static 23490 * @memberOf _ 23491 * @since 2.0.0 23492 * @alias eachRight 23493 * @category Collection 23494 * @param {Array|Object} collection The collection to iterate over. 23495 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23496 * @returns {Array|Object} Returns `collection`. 23497 * @see _.forEach 23498 * @example 23499 * 23500 * _.forEachRight([1, 2], function(value) { 23501 * console.log(value); 23502 * }); 23503 * // => Logs `2` then `1`. 23504 */ 23505 function forEachRight(collection, iteratee) { 23506 var func = isArray(collection) ? arrayEachRight : baseEachRight; 23507 return func(collection, getIteratee(iteratee, 3)); 23508 } 23509 23510 /** 23511 * Creates an object composed of keys generated from the results of running 23512 * each element of `collection` thru `iteratee`. The order of grouped values 23513 * is determined by the order they occur in `collection`. The corresponding 23514 * value of each key is an array of elements responsible for generating the 23515 * key. The iteratee is invoked with one argument: (value). 23516 * 23517 * @static 23518 * @memberOf _ 23519 * @since 0.1.0 23520 * @category Collection 23521 * @param {Array|Object} collection The collection to iterate over. 23522 * @param {Function} [iteratee=_.identity] The iteratee to transform keys. 23523 * @returns {Object} Returns the composed aggregate object. 23524 * @example 23525 * 23526 * _.groupBy([6.1, 4.2, 6.3], Math.floor); 23527 * // => { '4': [4.2], '6': [6.1, 6.3] } 23528 * 23529 * // The `_.property` iteratee shorthand. 23530 * _.groupBy(['one', 'two', 'three'], 'length'); 23531 * // => { '3': ['one', 'two'], '5': ['three'] } 23532 */ 23533 var groupBy = createAggregator(function(result, value, key) { 23534 if (hasOwnProperty.call(result, key)) { 23535 result[key].push(value); 23536 } else { 23537 baseAssignValue(result, key, [value]); 23538 } 23539 }); 23540 23541 /** 23542 * Checks if `value` is in `collection`. If `collection` is a string, it's 23543 * checked for a substring of `value`, otherwise 23544 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 23545 * is used for equality comparisons. If `fromIndex` is negative, it's used as 23546 * the offset from the end of `collection`. 23547 * 23548 * @static 23549 * @memberOf _ 23550 * @since 0.1.0 23551 * @category Collection 23552 * @param {Array|Object|string} collection The collection to inspect. 23553 * @param {*} value The value to search for. 23554 * @param {number} [fromIndex=0] The index to search from. 23555 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. 23556 * @returns {boolean} Returns `true` if `value` is found, else `false`. 23557 * @example 23558 * 23559 * _.includes([1, 2, 3], 1); 23560 * // => true 23561 * 23562 * _.includes([1, 2, 3], 1, 2); 23563 * // => false 23564 * 23565 * _.includes({ 'a': 1, 'b': 2 }, 1); 23566 * // => true 23567 * 23568 * _.includes('abcd', 'bc'); 23569 * // => true 23570 */ 23571 function includes(collection, value, fromIndex, guard) { 23572 collection = isArrayLike(collection) ? collection : values(collection); 23573 fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; 23574 23575 var length = collection.length; 23576 if (fromIndex < 0) { 23577 fromIndex = nativeMax(length + fromIndex, 0); 23578 } 23579 return isString(collection) 23580 ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) 23581 : (!!length && baseIndexOf(collection, value, fromIndex) > -1); 23582 } 23583 23584 /** 23585 * Invokes the method at `path` of each element in `collection`, returning 23586 * an array of the results of each invoked method. Any additional arguments 23587 * are provided to each invoked method. If `path` is a function, it's invoked 23588 * for, and `this` bound to, each element in `collection`. 23589 * 23590 * @static 23591 * @memberOf _ 23592 * @since 4.0.0 23593 * @category Collection 23594 * @param {Array|Object} collection The collection to iterate over. 23595 * @param {Array|Function|string} path The path of the method to invoke or 23596 * the function invoked per iteration. 23597 * @param {...*} [args] The arguments to invoke each method with. 23598 * @returns {Array} Returns the array of results. 23599 * @example 23600 * 23601 * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); 23602 * // => [[1, 5, 7], [1, 2, 3]] 23603 * 23604 * _.invokeMap([123, 456], String.prototype.split, ''); 23605 * // => [['1', '2', '3'], ['4', '5', '6']] 23606 */ 23607 var invokeMap = baseRest(function(collection, path, args) { 23608 var index = -1, 23609 isFunc = typeof path == 'function', 23610 result = isArrayLike(collection) ? Array(collection.length) : []; 23611 23612 baseEach(collection, function(value) { 23613 result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); 23614 }); 23615 return result; 23616 }); 23617 23618 /** 23619 * Creates an object composed of keys generated from the results of running 23620 * each element of `collection` thru `iteratee`. The corresponding value of 23621 * each key is the last element responsible for generating the key. The 23622 * iteratee is invoked with one argument: (value). 23623 * 23624 * @static 23625 * @memberOf _ 23626 * @since 4.0.0 23627 * @category Collection 23628 * @param {Array|Object} collection The collection to iterate over. 23629 * @param {Function} [iteratee=_.identity] The iteratee to transform keys. 23630 * @returns {Object} Returns the composed aggregate object. 23631 * @example 23632 * 23633 * var array = [ 23634 * { 'dir': 'left', 'code': 97 }, 23635 * { 'dir': 'right', 'code': 100 } 23636 * ]; 23637 * 23638 * _.keyBy(array, function(o) { 23639 * return String.fromCharCode(o.code); 23640 * }); 23641 * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } 23642 * 23643 * _.keyBy(array, 'dir'); 23644 * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } 23645 */ 23646 var keyBy = createAggregator(function(result, value, key) { 23647 baseAssignValue(result, key, value); 23648 }); 23649 23650 /** 23651 * Creates an array of values by running each element in `collection` thru 23652 * `iteratee`. The iteratee is invoked with three arguments: 23653 * (value, index|key, collection). 23654 * 23655 * Many lodash methods are guarded to work as iteratees for methods like 23656 * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. 23657 * 23658 * The guarded methods are: 23659 * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, 23660 * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, 23661 * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, 23662 * `template`, `trim`, `trimEnd`, `trimStart`, and `words` 23663 * 23664 * @static 23665 * @memberOf _ 23666 * @since 0.1.0 23667 * @category Collection 23668 * @param {Array|Object} collection The collection to iterate over. 23669 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23670 * @returns {Array} Returns the new mapped array. 23671 * @example 23672 * 23673 * function square(n) { 23674 * return n * n; 23675 * } 23676 * 23677 * _.map([4, 8], square); 23678 * // => [16, 64] 23679 * 23680 * _.map({ 'a': 4, 'b': 8 }, square); 23681 * // => [16, 64] (iteration order is not guaranteed) 23682 * 23683 * var users = [ 23684 * { 'user': 'barney' }, 23685 * { 'user': 'fred' } 23686 * ]; 23687 * 23688 * // The `_.property` iteratee shorthand. 23689 * _.map(users, 'user'); 23690 * // => ['barney', 'fred'] 23691 */ 23692 function map(collection, iteratee) { 23693 var func = isArray(collection) ? arrayMap : baseMap; 23694 return func(collection, getIteratee(iteratee, 3)); 23695 } 23696 23697 /** 23698 * This method is like `_.sortBy` except that it allows specifying the sort 23699 * orders of the iteratees to sort by. If `orders` is unspecified, all values 23700 * are sorted in ascending order. Otherwise, specify an order of "desc" for 23701 * descending or "asc" for ascending sort order of corresponding values. 23702 * 23703 * @static 23704 * @memberOf _ 23705 * @since 4.0.0 23706 * @category Collection 23707 * @param {Array|Object} collection The collection to iterate over. 23708 * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] 23709 * The iteratees to sort by. 23710 * @param {string[]} [orders] The sort orders of `iteratees`. 23711 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. 23712 * @returns {Array} Returns the new sorted array. 23713 * @example 23714 * 23715 * var users = [ 23716 * { 'user': 'fred', 'age': 48 }, 23717 * { 'user': 'barney', 'age': 34 }, 23718 * { 'user': 'fred', 'age': 40 }, 23719 * { 'user': 'barney', 'age': 36 } 23720 * ]; 23721 * 23722 * // Sort by `user` in ascending order and by `age` in descending order. 23723 * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); 23724 * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] 23725 */ 23726 function orderBy(collection, iteratees, orders, guard) { 23727 if (collection == null) { 23728 return []; 23729 } 23730 if (!isArray(iteratees)) { 23731 iteratees = iteratees == null ? [] : [iteratees]; 23732 } 23733 orders = guard ? undefined : orders; 23734 if (!isArray(orders)) { 23735 orders = orders == null ? [] : [orders]; 23736 } 23737 return baseOrderBy(collection, iteratees, orders); 23738 } 23739 23740 /** 23741 * Creates an array of elements split into two groups, the first of which 23742 * contains elements `predicate` returns truthy for, the second of which 23743 * contains elements `predicate` returns falsey for. The predicate is 23744 * invoked with one argument: (value). 23745 * 23746 * @static 23747 * @memberOf _ 23748 * @since 3.0.0 23749 * @category Collection 23750 * @param {Array|Object} collection The collection to iterate over. 23751 * @param {Function} [predicate=_.identity] The function invoked per iteration. 23752 * @returns {Array} Returns the array of grouped elements. 23753 * @example 23754 * 23755 * var users = [ 23756 * { 'user': 'barney', 'age': 36, 'active': false }, 23757 * { 'user': 'fred', 'age': 40, 'active': true }, 23758 * { 'user': 'pebbles', 'age': 1, 'active': false } 23759 * ]; 23760 * 23761 * _.partition(users, function(o) { return o.active; }); 23762 * // => objects for [['fred'], ['barney', 'pebbles']] 23763 * 23764 * // The `_.matches` iteratee shorthand. 23765 * _.partition(users, { 'age': 1, 'active': false }); 23766 * // => objects for [['pebbles'], ['barney', 'fred']] 23767 * 23768 * // The `_.matchesProperty` iteratee shorthand. 23769 * _.partition(users, ['active', false]); 23770 * // => objects for [['barney', 'pebbles'], ['fred']] 23771 * 23772 * // The `_.property` iteratee shorthand. 23773 * _.partition(users, 'active'); 23774 * // => objects for [['fred'], ['barney', 'pebbles']] 23775 */ 23776 var partition = createAggregator(function(result, value, key) { 23777 result[key ? 0 : 1].push(value); 23778 }, function() { return [[], []]; }); 23779 23780 /** 23781 * Reduces `collection` to a value which is the accumulated result of running 23782 * each element in `collection` thru `iteratee`, where each successive 23783 * invocation is supplied the return value of the previous. If `accumulator` 23784 * is not given, the first element of `collection` is used as the initial 23785 * value. The iteratee is invoked with four arguments: 23786 * (accumulator, value, index|key, collection). 23787 * 23788 * Many lodash methods are guarded to work as iteratees for methods like 23789 * `_.reduce`, `_.reduceRight`, and `_.transform`. 23790 * 23791 * The guarded methods are: 23792 * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, 23793 * and `sortBy` 23794 * 23795 * @static 23796 * @memberOf _ 23797 * @since 0.1.0 23798 * @category Collection 23799 * @param {Array|Object} collection The collection to iterate over. 23800 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23801 * @param {*} [accumulator] The initial value. 23802 * @returns {*} Returns the accumulated value. 23803 * @see _.reduceRight 23804 * @example 23805 * 23806 * _.reduce([1, 2], function(sum, n) { 23807 * return sum + n; 23808 * }, 0); 23809 * // => 3 23810 * 23811 * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { 23812 * (result[value] || (result[value] = [])).push(key); 23813 * return result; 23814 * }, {}); 23815 * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) 23816 */ 23817 function reduce(collection, iteratee, accumulator) { 23818 var func = isArray(collection) ? arrayReduce : baseReduce, 23819 initAccum = arguments.length < 3; 23820 23821 return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); 23822 } 23823 23824 /** 23825 * This method is like `_.reduce` except that it iterates over elements of 23826 * `collection` from right to left. 23827 * 23828 * @static 23829 * @memberOf _ 23830 * @since 0.1.0 23831 * @category Collection 23832 * @param {Array|Object} collection The collection to iterate over. 23833 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 23834 * @param {*} [accumulator] The initial value. 23835 * @returns {*} Returns the accumulated value. 23836 * @see _.reduce 23837 * @example 23838 * 23839 * var array = [[0, 1], [2, 3], [4, 5]]; 23840 * 23841 * _.reduceRight(array, function(flattened, other) { 23842 * return flattened.concat(other); 23843 * }, []); 23844 * // => [4, 5, 2, 3, 0, 1] 23845 */ 23846 function reduceRight(collection, iteratee, accumulator) { 23847 var func = isArray(collection) ? arrayReduceRight : baseReduce, 23848 initAccum = arguments.length < 3; 23849 23850 return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); 23851 } 23852 23853 /** 23854 * The opposite of `_.filter`; this method returns the elements of `collection` 23855 * that `predicate` does **not** return truthy for. 23856 * 23857 * @static 23858 * @memberOf _ 23859 * @since 0.1.0 23860 * @category Collection 23861 * @param {Array|Object} collection The collection to iterate over. 23862 * @param {Function} [predicate=_.identity] The function invoked per iteration. 23863 * @returns {Array} Returns the new filtered array. 23864 * @see _.filter 23865 * @example 23866 * 23867 * var users = [ 23868 * { 'user': 'barney', 'age': 36, 'active': false }, 23869 * { 'user': 'fred', 'age': 40, 'active': true } 23870 * ]; 23871 * 23872 * _.reject(users, function(o) { return !o.active; }); 23873 * // => objects for ['fred'] 23874 * 23875 * // The `_.matches` iteratee shorthand. 23876 * _.reject(users, { 'age': 40, 'active': true }); 23877 * // => objects for ['barney'] 23878 * 23879 * // The `_.matchesProperty` iteratee shorthand. 23880 * _.reject(users, ['active', false]); 23881 * // => objects for ['fred'] 23882 * 23883 * // The `_.property` iteratee shorthand. 23884 * _.reject(users, 'active'); 23885 * // => objects for ['barney'] 23886 */ 23887 function reject(collection, predicate) { 23888 var func = isArray(collection) ? arrayFilter : baseFilter; 23889 return func(collection, negate(getIteratee(predicate, 3))); 23890 } 23891 23892 /** 23893 * Gets a random element from `collection`. 23894 * 23895 * @static 23896 * @memberOf _ 23897 * @since 2.0.0 23898 * @category Collection 23899 * @param {Array|Object} collection The collection to sample. 23900 * @returns {*} Returns the random element. 23901 * @example 23902 * 23903 * _.sample([1, 2, 3, 4]); 23904 * // => 2 23905 */ 23906 function sample(collection) { 23907 var func = isArray(collection) ? arraySample : baseSample; 23908 return func(collection); 23909 } 23910 23911 /** 23912 * Gets `n` random elements at unique keys from `collection` up to the 23913 * size of `collection`. 23914 * 23915 * @static 23916 * @memberOf _ 23917 * @since 4.0.0 23918 * @category Collection 23919 * @param {Array|Object} collection The collection to sample. 23920 * @param {number} [n=1] The number of elements to sample. 23921 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 23922 * @returns {Array} Returns the random elements. 23923 * @example 23924 * 23925 * _.sampleSize([1, 2, 3], 2); 23926 * // => [3, 1] 23927 * 23928 * _.sampleSize([1, 2, 3], 4); 23929 * // => [2, 3, 1] 23930 */ 23931 function sampleSize(collection, n, guard) { 23932 if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { 23933 n = 1; 23934 } else { 23935 n = toInteger(n); 23936 } 23937 var func = isArray(collection) ? arraySampleSize : baseSampleSize; 23938 return func(collection, n); 23939 } 23940 23941 /** 23942 * Creates an array of shuffled values, using a version of the 23943 * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). 23944 * 23945 * @static 23946 * @memberOf _ 23947 * @since 0.1.0 23948 * @category Collection 23949 * @param {Array|Object} collection The collection to shuffle. 23950 * @returns {Array} Returns the new shuffled array. 23951 * @example 23952 * 23953 * _.shuffle([1, 2, 3, 4]); 23954 * // => [4, 1, 3, 2] 23955 */ 23956 function shuffle(collection) { 23957 var func = isArray(collection) ? arrayShuffle : baseShuffle; 23958 return func(collection); 23959 } 23960 23961 /** 23962 * Gets the size of `collection` by returning its length for array-like 23963 * values or the number of own enumerable string keyed properties for objects. 23964 * 23965 * @static 23966 * @memberOf _ 23967 * @since 0.1.0 23968 * @category Collection 23969 * @param {Array|Object|string} collection The collection to inspect. 23970 * @returns {number} Returns the collection size. 23971 * @example 23972 * 23973 * _.size([1, 2, 3]); 23974 * // => 3 23975 * 23976 * _.size({ 'a': 1, 'b': 2 }); 23977 * // => 2 23978 * 23979 * _.size('pebbles'); 23980 * // => 7 23981 */ 23982 function size(collection) { 23983 if (collection == null) { 23984 return 0; 23985 } 23986 if (isArrayLike(collection)) { 23987 return isString(collection) ? stringSize(collection) : collection.length; 23988 } 23989 var tag = getTag(collection); 23990 if (tag == mapTag || tag == setTag) { 23991 return collection.size; 23992 } 23993 return baseKeys(collection).length; 23994 } 23995 23996 /** 23997 * Checks if `predicate` returns truthy for **any** element of `collection`. 23998 * Iteration is stopped once `predicate` returns truthy. The predicate is 23999 * invoked with three arguments: (value, index|key, collection). 24000 * 24001 * @static 24002 * @memberOf _ 24003 * @since 0.1.0 24004 * @category Collection 24005 * @param {Array|Object} collection The collection to iterate over. 24006 * @param {Function} [predicate=_.identity] The function invoked per iteration. 24007 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 24008 * @returns {boolean} Returns `true` if any element passes the predicate check, 24009 * else `false`. 24010 * @example 24011 * 24012 * _.some([null, 0, 'yes', false], Boolean); 24013 * // => true 24014 * 24015 * var users = [ 24016 * { 'user': 'barney', 'active': true }, 24017 * { 'user': 'fred', 'active': false } 24018 * ]; 24019 * 24020 * // The `_.matches` iteratee shorthand. 24021 * _.some(users, { 'user': 'barney', 'active': false }); 24022 * // => false 24023 * 24024 * // The `_.matchesProperty` iteratee shorthand. 24025 * _.some(users, ['active', false]); 24026 * // => true 24027 * 24028 * // The `_.property` iteratee shorthand. 24029 * _.some(users, 'active'); 24030 * // => true 24031 */ 24032 function some(collection, predicate, guard) { 24033 var func = isArray(collection) ? arraySome : baseSome; 24034 if (guard && isIterateeCall(collection, predicate, guard)) { 24035 predicate = undefined; 24036 } 24037 return func(collection, getIteratee(predicate, 3)); 24038 } 24039 24040 /** 24041 * Creates an array of elements, sorted in ascending order by the results of 24042 * running each element in a collection thru each iteratee. This method 24043 * performs a stable sort, that is, it preserves the original sort order of 24044 * equal elements. The iteratees are invoked with one argument: (value). 24045 * 24046 * @static 24047 * @memberOf _ 24048 * @since 0.1.0 24049 * @category Collection 24050 * @param {Array|Object} collection The collection to iterate over. 24051 * @param {...(Function|Function[])} [iteratees=[_.identity]] 24052 * The iteratees to sort by. 24053 * @returns {Array} Returns the new sorted array. 24054 * @example 24055 * 24056 * var users = [ 24057 * { 'user': 'fred', 'age': 48 }, 24058 * { 'user': 'barney', 'age': 36 }, 24059 * { 'user': 'fred', 'age': 30 }, 24060 * { 'user': 'barney', 'age': 34 } 24061 * ]; 24062 * 24063 * _.sortBy(users, [function(o) { return o.user; }]); 24064 * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] 24065 * 24066 * _.sortBy(users, ['user', 'age']); 24067 * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] 24068 */ 24069 var sortBy = baseRest(function(collection, iteratees) { 24070 if (collection == null) { 24071 return []; 24072 } 24073 var length = iteratees.length; 24074 if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { 24075 iteratees = []; 24076 } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { 24077 iteratees = [iteratees[0]]; 24078 } 24079 return baseOrderBy(collection, baseFlatten(iteratees, 1), []); 24080 }); 24081 24082 /*------------------------------------------------------------------------*/ 24083 24084 /** 24085 * Gets the timestamp of the number of milliseconds that have elapsed since 24086 * the Unix epoch (1 January 1970 00:00:00 UTC). 24087 * 24088 * @static 24089 * @memberOf _ 24090 * @since 2.4.0 24091 * @category Date 24092 * @returns {number} Returns the timestamp. 24093 * @example 24094 * 24095 * _.defer(function(stamp) { 24096 * console.log(_.now() - stamp); 24097 * }, _.now()); 24098 * // => Logs the number of milliseconds it took for the deferred invocation. 24099 */ 24100 var now = ctxNow || function() { 24101 return root.Date.now(); 24102 }; 24103 24104 /*------------------------------------------------------------------------*/ 24105 24106 /** 24107 * The opposite of `_.before`; this method creates a function that invokes 24108 * `func` once it's called `n` or more times. 24109 * 24110 * @static 24111 * @memberOf _ 24112 * @since 0.1.0 24113 * @category Function 24114 * @param {number} n The number of calls before `func` is invoked. 24115 * @param {Function} func The function to restrict. 24116 * @returns {Function} Returns the new restricted function. 24117 * @example 24118 * 24119 * var saves = ['profile', 'settings']; 24120 * 24121 * var done = _.after(saves.length, function() { 24122 * console.log('done saving!'); 24123 * }); 24124 * 24125 * _.forEach(saves, function(type) { 24126 * asyncSave({ 'type': type, 'complete': done }); 24127 * }); 24128 * // => Logs 'done saving!' after the two async saves have completed. 24129 */ 24130 function after(n, func) { 24131 if (typeof func != 'function') { 24132 throw new TypeError(FUNC_ERROR_TEXT); 24133 } 24134 n = toInteger(n); 24135 return function() { 24136 if (--n < 1) { 24137 return func.apply(this, arguments); 24138 } 24139 }; 24140 } 24141 24142 /** 24143 * Creates a function that invokes `func`, with up to `n` arguments, 24144 * ignoring any additional arguments. 24145 * 24146 * @static 24147 * @memberOf _ 24148 * @since 3.0.0 24149 * @category Function 24150 * @param {Function} func The function to cap arguments for. 24151 * @param {number} [n=func.length] The arity cap. 24152 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 24153 * @returns {Function} Returns the new capped function. 24154 * @example 24155 * 24156 * _.map(['6', '8', '10'], _.ary(parseInt, 1)); 24157 * // => [6, 8, 10] 24158 */ 24159 function ary(func, n, guard) { 24160 n = guard ? undefined : n; 24161 n = (func && n == null) ? func.length : n; 24162 return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); 24163 } 24164 24165 /** 24166 * Creates a function that invokes `func`, with the `this` binding and arguments 24167 * of the created function, while it's called less than `n` times. Subsequent 24168 * calls to the created function return the result of the last `func` invocation. 24169 * 24170 * @static 24171 * @memberOf _ 24172 * @since 3.0.0 24173 * @category Function 24174 * @param {number} n The number of calls at which `func` is no longer invoked. 24175 * @param {Function} func The function to restrict. 24176 * @returns {Function} Returns the new restricted function. 24177 * @example 24178 * 24179 * jQuery(element).on('click', _.before(5, addContactToList)); 24180 * // => Allows adding up to 4 contacts to the list. 24181 */ 24182 function before(n, func) { 24183 var result; 24184 if (typeof func != 'function') { 24185 throw new TypeError(FUNC_ERROR_TEXT); 24186 } 24187 n = toInteger(n); 24188 return function() { 24189 if (--n > 0) { 24190 result = func.apply(this, arguments); 24191 } 24192 if (n <= 1) { 24193 func = undefined; 24194 } 24195 return result; 24196 }; 24197 } 24198 24199 /** 24200 * Creates a function that invokes `func` with the `this` binding of `thisArg` 24201 * and `partials` prepended to the arguments it receives. 24202 * 24203 * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, 24204 * may be used as a placeholder for partially applied arguments. 24205 * 24206 * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" 24207 * property of bound functions. 24208 * 24209 * @static 24210 * @memberOf _ 24211 * @since 0.1.0 24212 * @category Function 24213 * @param {Function} func The function to bind. 24214 * @param {*} thisArg The `this` binding of `func`. 24215 * @param {...*} [partials] The arguments to be partially applied. 24216 * @returns {Function} Returns the new bound function. 24217 * @example 24218 * 24219 * function greet(greeting, punctuation) { 24220 * return greeting + ' ' + this.user + punctuation; 24221 * } 24222 * 24223 * var object = { 'user': 'fred' }; 24224 * 24225 * var bound = _.bind(greet, object, 'hi'); 24226 * bound('!'); 24227 * // => 'hi fred!' 24228 * 24229 * // Bound with placeholders. 24230 * var bound = _.bind(greet, object, _, '!'); 24231 * bound('hi'); 24232 * // => 'hi fred!' 24233 */ 24234 var bind = baseRest(function(func, thisArg, partials) { 24235 var bitmask = WRAP_BIND_FLAG; 24236 if (partials.length) { 24237 var holders = replaceHolders(partials, getHolder(bind)); 24238 bitmask |= WRAP_PARTIAL_FLAG; 24239 } 24240 return createWrap(func, bitmask, thisArg, partials, holders); 24241 }); 24242 24243 /** 24244 * Creates a function that invokes the method at `object[key]` with `partials` 24245 * prepended to the arguments it receives. 24246 * 24247 * This method differs from `_.bind` by allowing bound functions to reference 24248 * methods that may be redefined or don't yet exist. See 24249 * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) 24250 * for more details. 24251 * 24252 * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic 24253 * builds, may be used as a placeholder for partially applied arguments. 24254 * 24255 * @static 24256 * @memberOf _ 24257 * @since 0.10.0 24258 * @category Function 24259 * @param {Object} object The object to invoke the method on. 24260 * @param {string} key The key of the method. 24261 * @param {...*} [partials] The arguments to be partially applied. 24262 * @returns {Function} Returns the new bound function. 24263 * @example 24264 * 24265 * var object = { 24266 * 'user': 'fred', 24267 * 'greet': function(greeting, punctuation) { 24268 * return greeting + ' ' + this.user + punctuation; 24269 * } 24270 * }; 24271 * 24272 * var bound = _.bindKey(object, 'greet', 'hi'); 24273 * bound('!'); 24274 * // => 'hi fred!' 24275 * 24276 * object.greet = function(greeting, punctuation) { 24277 * return greeting + 'ya ' + this.user + punctuation; 24278 * }; 24279 * 24280 * bound('!'); 24281 * // => 'hiya fred!' 24282 * 24283 * // Bound with placeholders. 24284 * var bound = _.bindKey(object, 'greet', _, '!'); 24285 * bound('hi'); 24286 * // => 'hiya fred!' 24287 */ 24288 var bindKey = baseRest(function(object, key, partials) { 24289 var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; 24290 if (partials.length) { 24291 var holders = replaceHolders(partials, getHolder(bindKey)); 24292 bitmask |= WRAP_PARTIAL_FLAG; 24293 } 24294 return createWrap(key, bitmask, object, partials, holders); 24295 }); 24296 24297 /** 24298 * Creates a function that accepts arguments of `func` and either invokes 24299 * `func` returning its result, if at least `arity` number of arguments have 24300 * been provided, or returns a function that accepts the remaining `func` 24301 * arguments, and so on. The arity of `func` may be specified if `func.length` 24302 * is not sufficient. 24303 * 24304 * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, 24305 * may be used as a placeholder for provided arguments. 24306 * 24307 * **Note:** This method doesn't set the "length" property of curried functions. 24308 * 24309 * @static 24310 * @memberOf _ 24311 * @since 2.0.0 24312 * @category Function 24313 * @param {Function} func The function to curry. 24314 * @param {number} [arity=func.length] The arity of `func`. 24315 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 24316 * @returns {Function} Returns the new curried function. 24317 * @example 24318 * 24319 * var abc = function(a, b, c) { 24320 * return [a, b, c]; 24321 * }; 24322 * 24323 * var curried = _.curry(abc); 24324 * 24325 * curried(1)(2)(3); 24326 * // => [1, 2, 3] 24327 * 24328 * curried(1, 2)(3); 24329 * // => [1, 2, 3] 24330 * 24331 * curried(1, 2, 3); 24332 * // => [1, 2, 3] 24333 * 24334 * // Curried with placeholders. 24335 * curried(1)(_, 3)(2); 24336 * // => [1, 2, 3] 24337 */ 24338 function curry(func, arity, guard) { 24339 arity = guard ? undefined : arity; 24340 var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); 24341 result.placeholder = curry.placeholder; 24342 return result; 24343 } 24344 24345 /** 24346 * This method is like `_.curry` except that arguments are applied to `func` 24347 * in the manner of `_.partialRight` instead of `_.partial`. 24348 * 24349 * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic 24350 * builds, may be used as a placeholder for provided arguments. 24351 * 24352 * **Note:** This method doesn't set the "length" property of curried functions. 24353 * 24354 * @static 24355 * @memberOf _ 24356 * @since 3.0.0 24357 * @category Function 24358 * @param {Function} func The function to curry. 24359 * @param {number} [arity=func.length] The arity of `func`. 24360 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 24361 * @returns {Function} Returns the new curried function. 24362 * @example 24363 * 24364 * var abc = function(a, b, c) { 24365 * return [a, b, c]; 24366 * }; 24367 * 24368 * var curried = _.curryRight(abc); 24369 * 24370 * curried(3)(2)(1); 24371 * // => [1, 2, 3] 24372 * 24373 * curried(2, 3)(1); 24374 * // => [1, 2, 3] 24375 * 24376 * curried(1, 2, 3); 24377 * // => [1, 2, 3] 24378 * 24379 * // Curried with placeholders. 24380 * curried(3)(1, _)(2); 24381 * // => [1, 2, 3] 24382 */ 24383 function curryRight(func, arity, guard) { 24384 arity = guard ? undefined : arity; 24385 var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); 24386 result.placeholder = curryRight.placeholder; 24387 return result; 24388 } 24389 24390 /** 24391 * Creates a debounced function that delays invoking `func` until after `wait` 24392 * milliseconds have elapsed since the last time the debounced function was 24393 * invoked. The debounced function comes with a `cancel` method to cancel 24394 * delayed `func` invocations and a `flush` method to immediately invoke them. 24395 * Provide `options` to indicate whether `func` should be invoked on the 24396 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked 24397 * with the last arguments provided to the debounced function. Subsequent 24398 * calls to the debounced function return the result of the last `func` 24399 * invocation. 24400 * 24401 * **Note:** If `leading` and `trailing` options are `true`, `func` is 24402 * invoked on the trailing edge of the timeout only if the debounced function 24403 * is invoked more than once during the `wait` timeout. 24404 * 24405 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred 24406 * until to the next tick, similar to `setTimeout` with a timeout of `0`. 24407 * 24408 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) 24409 * for details over the differences between `_.debounce` and `_.throttle`. 24410 * 24411 * @static 24412 * @memberOf _ 24413 * @since 0.1.0 24414 * @category Function 24415 * @param {Function} func The function to debounce. 24416 * @param {number} [wait=0] The number of milliseconds to delay. 24417 * @param {Object} [options={}] The options object. 24418 * @param {boolean} [options.leading=false] 24419 * Specify invoking on the leading edge of the timeout. 24420 * @param {number} [options.maxWait] 24421 * The maximum time `func` is allowed to be delayed before it's invoked. 24422 * @param {boolean} [options.trailing=true] 24423 * Specify invoking on the trailing edge of the timeout. 24424 * @returns {Function} Returns the new debounced function. 24425 * @example 24426 * 24427 * // Avoid costly calculations while the window size is in flux. 24428 * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); 24429 * 24430 * // Invoke `sendMail` when clicked, debouncing subsequent calls. 24431 * jQuery(element).on('click', _.debounce(sendMail, 300, { 24432 * 'leading': true, 24433 * 'trailing': false 24434 * })); 24435 * 24436 * // Ensure `batchLog` is invoked once after 1 second of debounced calls. 24437 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); 24438 * var source = new EventSource('/stream'); 24439 * jQuery(source).on('message', debounced); 24440 * 24441 * // Cancel the trailing debounced invocation. 24442 * jQuery(window).on('popstate', debounced.cancel); 24443 */ 24444 function debounce(func, wait, options) { 24445 var lastArgs, 24446 lastThis, 24447 maxWait, 24448 result, 24449 timerId, 24450 lastCallTime, 24451 lastInvokeTime = 0, 24452 leading = false, 24453 maxing = false, 24454 trailing = true; 24455 24456 if (typeof func != 'function') { 24457 throw new TypeError(FUNC_ERROR_TEXT); 24458 } 24459 wait = toNumber(wait) || 0; 24460 if (isObject(options)) { 24461 leading = !!options.leading; 24462 maxing = 'maxWait' in options; 24463 maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; 24464 trailing = 'trailing' in options ? !!options.trailing : trailing; 24465 } 24466 24467 function invokeFunc(time) { 24468 var args = lastArgs, 24469 thisArg = lastThis; 24470 24471 lastArgs = lastThis = undefined; 24472 lastInvokeTime = time; 24473 result = func.apply(thisArg, args); 24474 return result; 24475 } 24476 24477 function leadingEdge(time) { 24478 // Reset any `maxWait` timer. 24479 lastInvokeTime = time; 24480 // Start the timer for the trailing edge. 24481 timerId = setTimeout(timerExpired, wait); 24482 // Invoke the leading edge. 24483 return leading ? invokeFunc(time) : result; 24484 } 24485 24486 function remainingWait(time) { 24487 var timeSinceLastCall = time - lastCallTime, 24488 timeSinceLastInvoke = time - lastInvokeTime, 24489 timeWaiting = wait - timeSinceLastCall; 24490 24491 return maxing 24492 ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) 24493 : timeWaiting; 24494 } 24495 24496 function shouldInvoke(time) { 24497 var timeSinceLastCall = time - lastCallTime, 24498 timeSinceLastInvoke = time - lastInvokeTime; 24499 24500 // Either this is the first call, activity has stopped and we're at the 24501 // trailing edge, the system time has gone backwards and we're treating 24502 // it as the trailing edge, or we've hit the `maxWait` limit. 24503 return (lastCallTime === undefined || (timeSinceLastCall >= wait) || 24504 (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); 24505 } 24506 24507 function timerExpired() { 24508 var time = now(); 24509 if (shouldInvoke(time)) { 24510 return trailingEdge(time); 24511 } 24512 // Restart the timer. 24513 timerId = setTimeout(timerExpired, remainingWait(time)); 24514 } 24515 24516 function trailingEdge(time) { 24517 timerId = undefined; 24518 24519 // Only invoke if we have `lastArgs` which means `func` has been 24520 // debounced at least once. 24521 if (trailing && lastArgs) { 24522 return invokeFunc(time); 24523 } 24524 lastArgs = lastThis = undefined; 24525 return result; 24526 } 24527 24528 function cancel() { 24529 if (timerId !== undefined) { 24530 clearTimeout(timerId); 24531 } 24532 lastInvokeTime = 0; 24533 lastArgs = lastCallTime = lastThis = timerId = undefined; 24534 } 24535 24536 function flush() { 24537 return timerId === undefined ? result : trailingEdge(now()); 24538 } 24539 24540 function debounced() { 24541 var time = now(), 24542 isInvoking = shouldInvoke(time); 24543 24544 lastArgs = arguments; 24545 lastThis = this; 24546 lastCallTime = time; 24547 24548 if (isInvoking) { 24549 if (timerId === undefined) { 24550 return leadingEdge(lastCallTime); 24551 } 24552 if (maxing) { 24553 // Handle invocations in a tight loop. 24554 clearTimeout(timerId); 24555 timerId = setTimeout(timerExpired, wait); 24556 return invokeFunc(lastCallTime); 24557 } 24558 } 24559 if (timerId === undefined) { 24560 timerId = setTimeout(timerExpired, wait); 24561 } 24562 return result; 24563 } 24564 debounced.cancel = cancel; 24565 debounced.flush = flush; 24566 return debounced; 24567 } 24568 24569 /** 24570 * Defers invoking the `func` until the current call stack has cleared. Any 24571 * additional arguments are provided to `func` when it's invoked. 24572 * 24573 * @static 24574 * @memberOf _ 24575 * @since 0.1.0 24576 * @category Function 24577 * @param {Function} func The function to defer. 24578 * @param {...*} [args] The arguments to invoke `func` with. 24579 * @returns {number} Returns the timer id. 24580 * @example 24581 * 24582 * _.defer(function(text) { 24583 * console.log(text); 24584 * }, 'deferred'); 24585 * // => Logs 'deferred' after one millisecond. 24586 */ 24587 var defer = baseRest(function(func, args) { 24588 return baseDelay(func, 1, args); 24589 }); 24590 24591 /** 24592 * Invokes `func` after `wait` milliseconds. Any additional arguments are 24593 * provided to `func` when it's invoked. 24594 * 24595 * @static 24596 * @memberOf _ 24597 * @since 0.1.0 24598 * @category Function 24599 * @param {Function} func The function to delay. 24600 * @param {number} wait The number of milliseconds to delay invocation. 24601 * @param {...*} [args] The arguments to invoke `func` with. 24602 * @returns {number} Returns the timer id. 24603 * @example 24604 * 24605 * _.delay(function(text) { 24606 * console.log(text); 24607 * }, 1000, 'later'); 24608 * // => Logs 'later' after one second. 24609 */ 24610 var delay = baseRest(function(func, wait, args) { 24611 return baseDelay(func, toNumber(wait) || 0, args); 24612 }); 24613 24614 /** 24615 * Creates a function that invokes `func` with arguments reversed. 24616 * 24617 * @static 24618 * @memberOf _ 24619 * @since 4.0.0 24620 * @category Function 24621 * @param {Function} func The function to flip arguments for. 24622 * @returns {Function} Returns the new flipped function. 24623 * @example 24624 * 24625 * var flipped = _.flip(function() { 24626 * return _.toArray(arguments); 24627 * }); 24628 * 24629 * flipped('a', 'b', 'c', 'd'); 24630 * // => ['d', 'c', 'b', 'a'] 24631 */ 24632 function flip(func) { 24633 return createWrap(func, WRAP_FLIP_FLAG); 24634 } 24635 24636 /** 24637 * Creates a function that memoizes the result of `func`. If `resolver` is 24638 * provided, it determines the cache key for storing the result based on the 24639 * arguments provided to the memoized function. By default, the first argument 24640 * provided to the memoized function is used as the map cache key. The `func` 24641 * is invoked with the `this` binding of the memoized function. 24642 * 24643 * **Note:** The cache is exposed as the `cache` property on the memoized 24644 * function. Its creation may be customized by replacing the `_.memoize.Cache` 24645 * constructor with one whose instances implement the 24646 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) 24647 * method interface of `clear`, `delete`, `get`, `has`, and `set`. 24648 * 24649 * @static 24650 * @memberOf _ 24651 * @since 0.1.0 24652 * @category Function 24653 * @param {Function} func The function to have its output memoized. 24654 * @param {Function} [resolver] The function to resolve the cache key. 24655 * @returns {Function} Returns the new memoized function. 24656 * @example 24657 * 24658 * var object = { 'a': 1, 'b': 2 }; 24659 * var other = { 'c': 3, 'd': 4 }; 24660 * 24661 * var values = _.memoize(_.values); 24662 * values(object); 24663 * // => [1, 2] 24664 * 24665 * values(other); 24666 * // => [3, 4] 24667 * 24668 * object.a = 2; 24669 * values(object); 24670 * // => [1, 2] 24671 * 24672 * // Modify the result cache. 24673 * values.cache.set(object, ['a', 'b']); 24674 * values(object); 24675 * // => ['a', 'b'] 24676 * 24677 * // Replace `_.memoize.Cache`. 24678 * _.memoize.Cache = WeakMap; 24679 */ 24680 function memoize(func, resolver) { 24681 if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { 24682 throw new TypeError(FUNC_ERROR_TEXT); 24683 } 24684 var memoized = function() { 24685 var args = arguments, 24686 key = resolver ? resolver.apply(this, args) : args[0], 24687 cache = memoized.cache; 24688 24689 if (cache.has(key)) { 24690 return cache.get(key); 24691 } 24692 var result = func.apply(this, args); 24693 memoized.cache = cache.set(key, result) || cache; 24694 return result; 24695 }; 24696 memoized.cache = new (memoize.Cache || MapCache); 24697 return memoized; 24698 } 24699 24700 // Expose `MapCache`. 24701 memoize.Cache = MapCache; 24702 24703 /** 24704 * Creates a function that negates the result of the predicate `func`. The 24705 * `func` predicate is invoked with the `this` binding and arguments of the 24706 * created function. 24707 * 24708 * @static 24709 * @memberOf _ 24710 * @since 3.0.0 24711 * @category Function 24712 * @param {Function} predicate The predicate to negate. 24713 * @returns {Function} Returns the new negated function. 24714 * @example 24715 * 24716 * function isEven(n) { 24717 * return n % 2 == 0; 24718 * } 24719 * 24720 * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); 24721 * // => [1, 3, 5] 24722 */ 24723 function negate(predicate) { 24724 if (typeof predicate != 'function') { 24725 throw new TypeError(FUNC_ERROR_TEXT); 24726 } 24727 return function() { 24728 var args = arguments; 24729 switch (args.length) { 24730 case 0: return !predicate.call(this); 24731 case 1: return !predicate.call(this, args[0]); 24732 case 2: return !predicate.call(this, args[0], args[1]); 24733 case 3: return !predicate.call(this, args[0], args[1], args[2]); 24734 } 24735 return !predicate.apply(this, args); 24736 }; 24737 } 24738 24739 /** 24740 * Creates a function that is restricted to invoking `func` once. Repeat calls 24741 * to the function return the value of the first invocation. The `func` is 24742 * invoked with the `this` binding and arguments of the created function. 24743 * 24744 * @static 24745 * @memberOf _ 24746 * @since 0.1.0 24747 * @category Function 24748 * @param {Function} func The function to restrict. 24749 * @returns {Function} Returns the new restricted function. 24750 * @example 24751 * 24752 * var initialize = _.once(createApplication); 24753 * initialize(); 24754 * initialize(); 24755 * // => `createApplication` is invoked once 24756 */ 24757 function once(func) { 24758 return before(2, func); 24759 } 24760 24761 /** 24762 * Creates a function that invokes `func` with its arguments transformed. 24763 * 24764 * @static 24765 * @since 4.0.0 24766 * @memberOf _ 24767 * @category Function 24768 * @param {Function} func The function to wrap. 24769 * @param {...(Function|Function[])} [transforms=[_.identity]] 24770 * The argument transforms. 24771 * @returns {Function} Returns the new function. 24772 * @example 24773 * 24774 * function doubled(n) { 24775 * return n * 2; 24776 * } 24777 * 24778 * function square(n) { 24779 * return n * n; 24780 * } 24781 * 24782 * var func = _.overArgs(function(x, y) { 24783 * return [x, y]; 24784 * }, [square, doubled]); 24785 * 24786 * func(9, 3); 24787 * // => [81, 6] 24788 * 24789 * func(10, 5); 24790 * // => [100, 10] 24791 */ 24792 var overArgs = castRest(function(func, transforms) { 24793 transforms = (transforms.length == 1 && isArray(transforms[0])) 24794 ? arrayMap(transforms[0], baseUnary(getIteratee())) 24795 : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); 24796 24797 var funcsLength = transforms.length; 24798 return baseRest(function(args) { 24799 var index = -1, 24800 length = nativeMin(args.length, funcsLength); 24801 24802 while (++index < length) { 24803 args[index] = transforms[index].call(this, args[index]); 24804 } 24805 return apply(func, this, args); 24806 }); 24807 }); 24808 24809 /** 24810 * Creates a function that invokes `func` with `partials` prepended to the 24811 * arguments it receives. This method is like `_.bind` except it does **not** 24812 * alter the `this` binding. 24813 * 24814 * The `_.partial.placeholder` value, which defaults to `_` in monolithic 24815 * builds, may be used as a placeholder for partially applied arguments. 24816 * 24817 * **Note:** This method doesn't set the "length" property of partially 24818 * applied functions. 24819 * 24820 * @static 24821 * @memberOf _ 24822 * @since 0.2.0 24823 * @category Function 24824 * @param {Function} func The function to partially apply arguments to. 24825 * @param {...*} [partials] The arguments to be partially applied. 24826 * @returns {Function} Returns the new partially applied function. 24827 * @example 24828 * 24829 * function greet(greeting, name) { 24830 * return greeting + ' ' + name; 24831 * } 24832 * 24833 * var sayHelloTo = _.partial(greet, 'hello'); 24834 * sayHelloTo('fred'); 24835 * // => 'hello fred' 24836 * 24837 * // Partially applied with placeholders. 24838 * var greetFred = _.partial(greet, _, 'fred'); 24839 * greetFred('hi'); 24840 * // => 'hi fred' 24841 */ 24842 var partial = baseRest(function(func, partials) { 24843 var holders = replaceHolders(partials, getHolder(partial)); 24844 return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); 24845 }); 24846 24847 /** 24848 * This method is like `_.partial` except that partially applied arguments 24849 * are appended to the arguments it receives. 24850 * 24851 * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic 24852 * builds, may be used as a placeholder for partially applied arguments. 24853 * 24854 * **Note:** This method doesn't set the "length" property of partially 24855 * applied functions. 24856 * 24857 * @static 24858 * @memberOf _ 24859 * @since 1.0.0 24860 * @category Function 24861 * @param {Function} func The function to partially apply arguments to. 24862 * @param {...*} [partials] The arguments to be partially applied. 24863 * @returns {Function} Returns the new partially applied function. 24864 * @example 24865 * 24866 * function greet(greeting, name) { 24867 * return greeting + ' ' + name; 24868 * } 24869 * 24870 * var greetFred = _.partialRight(greet, 'fred'); 24871 * greetFred('hi'); 24872 * // => 'hi fred' 24873 * 24874 * // Partially applied with placeholders. 24875 * var sayHelloTo = _.partialRight(greet, 'hello', _); 24876 * sayHelloTo('fred'); 24877 * // => 'hello fred' 24878 */ 24879 var partialRight = baseRest(function(func, partials) { 24880 var holders = replaceHolders(partials, getHolder(partialRight)); 24881 return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); 24882 }); 24883 24884 /** 24885 * Creates a function that invokes `func` with arguments arranged according 24886 * to the specified `indexes` where the argument value at the first index is 24887 * provided as the first argument, the argument value at the second index is 24888 * provided as the second argument, and so on. 24889 * 24890 * @static 24891 * @memberOf _ 24892 * @since 3.0.0 24893 * @category Function 24894 * @param {Function} func The function to rearrange arguments for. 24895 * @param {...(number|number[])} indexes The arranged argument indexes. 24896 * @returns {Function} Returns the new function. 24897 * @example 24898 * 24899 * var rearged = _.rearg(function(a, b, c) { 24900 * return [a, b, c]; 24901 * }, [2, 0, 1]); 24902 * 24903 * rearged('b', 'c', 'a') 24904 * // => ['a', 'b', 'c'] 24905 */ 24906 var rearg = flatRest(function(func, indexes) { 24907 return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); 24908 }); 24909 24910 /** 24911 * Creates a function that invokes `func` with the `this` binding of the 24912 * created function and arguments from `start` and beyond provided as 24913 * an array. 24914 * 24915 * **Note:** This method is based on the 24916 * [rest parameter](https://mdn.io/rest_parameters). 24917 * 24918 * @static 24919 * @memberOf _ 24920 * @since 4.0.0 24921 * @category Function 24922 * @param {Function} func The function to apply a rest parameter to. 24923 * @param {number} [start=func.length-1] The start position of the rest parameter. 24924 * @returns {Function} Returns the new function. 24925 * @example 24926 * 24927 * var say = _.rest(function(what, names) { 24928 * return what + ' ' + _.initial(names).join(', ') + 24929 * (_.size(names) > 1 ? ', & ' : '') + _.last(names); 24930 * }); 24931 * 24932 * say('hello', 'fred', 'barney', 'pebbles'); 24933 * // => 'hello fred, barney, & pebbles' 24934 */ 24935 function rest(func, start) { 24936 if (typeof func != 'function') { 24937 throw new TypeError(FUNC_ERROR_TEXT); 24938 } 24939 start = start === undefined ? start : toInteger(start); 24940 return baseRest(func, start); 24941 } 24942 24943 /** 24944 * Creates a function that invokes `func` with the `this` binding of the 24945 * create function and an array of arguments much like 24946 * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). 24947 * 24948 * **Note:** This method is based on the 24949 * [spread operator](https://mdn.io/spread_operator). 24950 * 24951 * @static 24952 * @memberOf _ 24953 * @since 3.2.0 24954 * @category Function 24955 * @param {Function} func The function to spread arguments over. 24956 * @param {number} [start=0] The start position of the spread. 24957 * @returns {Function} Returns the new function. 24958 * @example 24959 * 24960 * var say = _.spread(function(who, what) { 24961 * return who + ' says ' + what; 24962 * }); 24963 * 24964 * say(['fred', 'hello']); 24965 * // => 'fred says hello' 24966 * 24967 * var numbers = Promise.all([ 24968 * Promise.resolve(40), 24969 * Promise.resolve(36) 24970 * ]); 24971 * 24972 * numbers.then(_.spread(function(x, y) { 24973 * return x + y; 24974 * })); 24975 * // => a Promise of 76 24976 */ 24977 function spread(func, start) { 24978 if (typeof func != 'function') { 24979 throw new TypeError(FUNC_ERROR_TEXT); 24980 } 24981 start = start == null ? 0 : nativeMax(toInteger(start), 0); 24982 return baseRest(function(args) { 24983 var array = args[start], 24984 otherArgs = castSlice(args, 0, start); 24985 24986 if (array) { 24987 arrayPush(otherArgs, array); 24988 } 24989 return apply(func, this, otherArgs); 24990 }); 24991 } 24992 24993 /** 24994 * Creates a throttled function that only invokes `func` at most once per 24995 * every `wait` milliseconds. The throttled function comes with a `cancel` 24996 * method to cancel delayed `func` invocations and a `flush` method to 24997 * immediately invoke them. Provide `options` to indicate whether `func` 24998 * should be invoked on the leading and/or trailing edge of the `wait` 24999 * timeout. The `func` is invoked with the last arguments provided to the 25000 * throttled function. Subsequent calls to the throttled function return the 25001 * result of the last `func` invocation. 25002 * 25003 * **Note:** If `leading` and `trailing` options are `true`, `func` is 25004 * invoked on the trailing edge of the timeout only if the throttled function 25005 * is invoked more than once during the `wait` timeout. 25006 * 25007 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred 25008 * until to the next tick, similar to `setTimeout` with a timeout of `0`. 25009 * 25010 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) 25011 * for details over the differences between `_.throttle` and `_.debounce`. 25012 * 25013 * @static 25014 * @memberOf _ 25015 * @since 0.1.0 25016 * @category Function 25017 * @param {Function} func The function to throttle. 25018 * @param {number} [wait=0] The number of milliseconds to throttle invocations to. 25019 * @param {Object} [options={}] The options object. 25020 * @param {boolean} [options.leading=true] 25021 * Specify invoking on the leading edge of the timeout. 25022 * @param {boolean} [options.trailing=true] 25023 * Specify invoking on the trailing edge of the timeout. 25024 * @returns {Function} Returns the new throttled function. 25025 * @example 25026 * 25027 * // Avoid excessively updating the position while scrolling. 25028 * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); 25029 * 25030 * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. 25031 * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); 25032 * jQuery(element).on('click', throttled); 25033 * 25034 * // Cancel the trailing throttled invocation. 25035 * jQuery(window).on('popstate', throttled.cancel); 25036 */ 25037 function throttle(func, wait, options) { 25038 var leading = true, 25039 trailing = true; 25040 25041 if (typeof func != 'function') { 25042 throw new TypeError(FUNC_ERROR_TEXT); 25043 } 25044 if (isObject(options)) { 25045 leading = 'leading' in options ? !!options.leading : leading; 25046 trailing = 'trailing' in options ? !!options.trailing : trailing; 25047 } 25048 return debounce(func, wait, { 25049 'leading': leading, 25050 'maxWait': wait, 25051 'trailing': trailing 25052 }); 25053 } 25054 25055 /** 25056 * Creates a function that accepts up to one argument, ignoring any 25057 * additional arguments. 25058 * 25059 * @static 25060 * @memberOf _ 25061 * @since 4.0.0 25062 * @category Function 25063 * @param {Function} func The function to cap arguments for. 25064 * @returns {Function} Returns the new capped function. 25065 * @example 25066 * 25067 * _.map(['6', '8', '10'], _.unary(parseInt)); 25068 * // => [6, 8, 10] 25069 */ 25070 function unary(func) { 25071 return ary(func, 1); 25072 } 25073 25074 /** 25075 * Creates a function that provides `value` to `wrapper` as its first 25076 * argument. Any additional arguments provided to the function are appended 25077 * to those provided to the `wrapper`. The wrapper is invoked with the `this` 25078 * binding of the created function. 25079 * 25080 * @static 25081 * @memberOf _ 25082 * @since 0.1.0 25083 * @category Function 25084 * @param {*} value The value to wrap. 25085 * @param {Function} [wrapper=identity] The wrapper function. 25086 * @returns {Function} Returns the new function. 25087 * @example 25088 * 25089 * var p = _.wrap(_.escape, function(func, text) { 25090 * return '<p>' + func(text) + '</p>'; 25091 * }); 25092 * 25093 * p('fred, barney, & pebbles'); 25094 * // => '<p>fred, barney, & pebbles</p>' 25095 */ 25096 function wrap(value, wrapper) { 25097 return partial(castFunction(wrapper), value); 25098 } 25099 25100 /*------------------------------------------------------------------------*/ 25101 25102 /** 25103 * Casts `value` as an array if it's not one. 25104 * 25105 * @static 25106 * @memberOf _ 25107 * @since 4.4.0 25108 * @category Lang 25109 * @param {*} value The value to inspect. 25110 * @returns {Array} Returns the cast array. 25111 * @example 25112 * 25113 * _.castArray(1); 25114 * // => [1] 25115 * 25116 * _.castArray({ 'a': 1 }); 25117 * // => [{ 'a': 1 }] 25118 * 25119 * _.castArray('abc'); 25120 * // => ['abc'] 25121 * 25122 * _.castArray(null); 25123 * // => [null] 25124 * 25125 * _.castArray(undefined); 25126 * // => [undefined] 25127 * 25128 * _.castArray(); 25129 * // => [] 25130 * 25131 * var array = [1, 2, 3]; 25132 * console.log(_.castArray(array) === array); 25133 * // => true 25134 */ 25135 function castArray() { 25136 if (!arguments.length) { 25137 return []; 25138 } 25139 var value = arguments[0]; 25140 return isArray(value) ? value : [value]; 25141 } 25142 25143 /** 25144 * Creates a shallow clone of `value`. 25145 * 25146 * **Note:** This method is loosely based on the 25147 * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) 25148 * and supports cloning arrays, array buffers, booleans, date objects, maps, 25149 * numbers, `Object` objects, regexes, sets, strings, symbols, and typed 25150 * arrays. The own enumerable properties of `arguments` objects are cloned 25151 * as plain objects. An empty object is returned for uncloneable values such 25152 * as error objects, functions, DOM nodes, and WeakMaps. 25153 * 25154 * @static 25155 * @memberOf _ 25156 * @since 0.1.0 25157 * @category Lang 25158 * @param {*} value The value to clone. 25159 * @returns {*} Returns the cloned value. 25160 * @see _.cloneDeep 25161 * @example 25162 * 25163 * var objects = [{ 'a': 1 }, { 'b': 2 }]; 25164 * 25165 * var shallow = _.clone(objects); 25166 * console.log(shallow[0] === objects[0]); 25167 * // => true 25168 */ 25169 function clone(value) { 25170 return baseClone(value, CLONE_SYMBOLS_FLAG); 25171 } 25172 25173 /** 25174 * This method is like `_.clone` except that it accepts `customizer` which 25175 * is invoked to produce the cloned value. If `customizer` returns `undefined`, 25176 * cloning is handled by the method instead. The `customizer` is invoked with 25177 * up to four arguments; (value [, index|key, object, stack]). 25178 * 25179 * @static 25180 * @memberOf _ 25181 * @since 4.0.0 25182 * @category Lang 25183 * @param {*} value The value to clone. 25184 * @param {Function} [customizer] The function to customize cloning. 25185 * @returns {*} Returns the cloned value. 25186 * @see _.cloneDeepWith 25187 * @example 25188 * 25189 * function customizer(value) { 25190 * if (_.isElement(value)) { 25191 * return value.cloneNode(false); 25192 * } 25193 * } 25194 * 25195 * var el = _.cloneWith(document.body, customizer); 25196 * 25197 * console.log(el === document.body); 25198 * // => false 25199 * console.log(el.nodeName); 25200 * // => 'BODY' 25201 * console.log(el.childNodes.length); 25202 * // => 0 25203 */ 25204 function cloneWith(value, customizer) { 25205 customizer = typeof customizer == 'function' ? customizer : undefined; 25206 return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); 25207 } 25208 25209 /** 25210 * This method is like `_.clone` except that it recursively clones `value`. 25211 * 25212 * @static 25213 * @memberOf _ 25214 * @since 1.0.0 25215 * @category Lang 25216 * @param {*} value The value to recursively clone. 25217 * @returns {*} Returns the deep cloned value. 25218 * @see _.clone 25219 * @example 25220 * 25221 * var objects = [{ 'a': 1 }, { 'b': 2 }]; 25222 * 25223 * var deep = _.cloneDeep(objects); 25224 * console.log(deep[0] === objects[0]); 25225 * // => false 25226 */ 25227 function cloneDeep(value) { 25228 return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); 25229 } 25230 25231 /** 25232 * This method is like `_.cloneWith` except that it recursively clones `value`. 25233 * 25234 * @static 25235 * @memberOf _ 25236 * @since 4.0.0 25237 * @category Lang 25238 * @param {*} value The value to recursively clone. 25239 * @param {Function} [customizer] The function to customize cloning. 25240 * @returns {*} Returns the deep cloned value. 25241 * @see _.cloneWith 25242 * @example 25243 * 25244 * function customizer(value) { 25245 * if (_.isElement(value)) { 25246 * return value.cloneNode(true); 25247 * } 25248 * } 25249 * 25250 * var el = _.cloneDeepWith(document.body, customizer); 25251 * 25252 * console.log(el === document.body); 25253 * // => false 25254 * console.log(el.nodeName); 25255 * // => 'BODY' 25256 * console.log(el.childNodes.length); 25257 * // => 20 25258 */ 25259 function cloneDeepWith(value, customizer) { 25260 customizer = typeof customizer == 'function' ? customizer : undefined; 25261 return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); 25262 } 25263 25264 /** 25265 * Checks if `object` conforms to `source` by invoking the predicate 25266 * properties of `source` with the corresponding property values of `object`. 25267 * 25268 * **Note:** This method is equivalent to `_.conforms` when `source` is 25269 * partially applied. 25270 * 25271 * @static 25272 * @memberOf _ 25273 * @since 4.14.0 25274 * @category Lang 25275 * @param {Object} object The object to inspect. 25276 * @param {Object} source The object of property predicates to conform to. 25277 * @returns {boolean} Returns `true` if `object` conforms, else `false`. 25278 * @example 25279 * 25280 * var object = { 'a': 1, 'b': 2 }; 25281 * 25282 * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); 25283 * // => true 25284 * 25285 * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); 25286 * // => false 25287 */ 25288 function conformsTo(object, source) { 25289 return source == null || baseConformsTo(object, source, keys(source)); 25290 } 25291 25292 /** 25293 * Performs a 25294 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 25295 * comparison between two values to determine if they are equivalent. 25296 * 25297 * @static 25298 * @memberOf _ 25299 * @since 4.0.0 25300 * @category Lang 25301 * @param {*} value The value to compare. 25302 * @param {*} other The other value to compare. 25303 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 25304 * @example 25305 * 25306 * var object = { 'a': 1 }; 25307 * var other = { 'a': 1 }; 25308 * 25309 * _.eq(object, object); 25310 * // => true 25311 * 25312 * _.eq(object, other); 25313 * // => false 25314 * 25315 * _.eq('a', 'a'); 25316 * // => true 25317 * 25318 * _.eq('a', Object('a')); 25319 * // => false 25320 * 25321 * _.eq(NaN, NaN); 25322 * // => true 25323 */ 25324 function eq(value, other) { 25325 return value === other || (value !== value && other !== other); 25326 } 25327 25328 /** 25329 * Checks if `value` is greater than `other`. 25330 * 25331 * @static 25332 * @memberOf _ 25333 * @since 3.9.0 25334 * @category Lang 25335 * @param {*} value The value to compare. 25336 * @param {*} other The other value to compare. 25337 * @returns {boolean} Returns `true` if `value` is greater than `other`, 25338 * else `false`. 25339 * @see _.lt 25340 * @example 25341 * 25342 * _.gt(3, 1); 25343 * // => true 25344 * 25345 * _.gt(3, 3); 25346 * // => false 25347 * 25348 * _.gt(1, 3); 25349 * // => false 25350 */ 25351 var gt = createRelationalOperation(baseGt); 25352 25353 /** 25354 * Checks if `value` is greater than or equal to `other`. 25355 * 25356 * @static 25357 * @memberOf _ 25358 * @since 3.9.0 25359 * @category Lang 25360 * @param {*} value The value to compare. 25361 * @param {*} other The other value to compare. 25362 * @returns {boolean} Returns `true` if `value` is greater than or equal to 25363 * `other`, else `false`. 25364 * @see _.lte 25365 * @example 25366 * 25367 * _.gte(3, 1); 25368 * // => true 25369 * 25370 * _.gte(3, 3); 25371 * // => true 25372 * 25373 * _.gte(1, 3); 25374 * // => false 25375 */ 25376 var gte = createRelationalOperation(function(value, other) { 25377 return value >= other; 25378 }); 25379 25380 /** 25381 * Checks if `value` is likely an `arguments` object. 25382 * 25383 * @static 25384 * @memberOf _ 25385 * @since 0.1.0 25386 * @category Lang 25387 * @param {*} value The value to check. 25388 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 25389 * else `false`. 25390 * @example 25391 * 25392 * _.isArguments(function() { return arguments; }()); 25393 * // => true 25394 * 25395 * _.isArguments([1, 2, 3]); 25396 * // => false 25397 */ 25398 var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { 25399 return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && 25400 !propertyIsEnumerable.call(value, 'callee'); 25401 }; 25402 25403 /** 25404 * Checks if `value` is classified as an `Array` object. 25405 * 25406 * @static 25407 * @memberOf _ 25408 * @since 0.1.0 25409 * @category Lang 25410 * @param {*} value The value to check. 25411 * @returns {boolean} Returns `true` if `value` is an array, else `false`. 25412 * @example 25413 * 25414 * _.isArray([1, 2, 3]); 25415 * // => true 25416 * 25417 * _.isArray(document.body.children); 25418 * // => false 25419 * 25420 * _.isArray('abc'); 25421 * // => false 25422 * 25423 * _.isArray(_.noop); 25424 * // => false 25425 */ 25426 var isArray = Array.isArray; 25427 25428 /** 25429 * Checks if `value` is classified as an `ArrayBuffer` object. 25430 * 25431 * @static 25432 * @memberOf _ 25433 * @since 4.3.0 25434 * @category Lang 25435 * @param {*} value The value to check. 25436 * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. 25437 * @example 25438 * 25439 * _.isArrayBuffer(new ArrayBuffer(2)); 25440 * // => true 25441 * 25442 * _.isArrayBuffer(new Array(2)); 25443 * // => false 25444 */ 25445 var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; 25446 25447 /** 25448 * Checks if `value` is array-like. A value is considered array-like if it's 25449 * not a function and has a `value.length` that's an integer greater than or 25450 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. 25451 * 25452 * @static 25453 * @memberOf _ 25454 * @since 4.0.0 25455 * @category Lang 25456 * @param {*} value The value to check. 25457 * @returns {boolean} Returns `true` if `value` is array-like, else `false`. 25458 * @example 25459 * 25460 * _.isArrayLike([1, 2, 3]); 25461 * // => true 25462 * 25463 * _.isArrayLike(document.body.children); 25464 * // => true 25465 * 25466 * _.isArrayLike('abc'); 25467 * // => true 25468 * 25469 * _.isArrayLike(_.noop); 25470 * // => false 25471 */ 25472 function isArrayLike(value) { 25473 return value != null && isLength(value.length) && !isFunction(value); 25474 } 25475 25476 /** 25477 * This method is like `_.isArrayLike` except that it also checks if `value` 25478 * is an object. 25479 * 25480 * @static 25481 * @memberOf _ 25482 * @since 4.0.0 25483 * @category Lang 25484 * @param {*} value The value to check. 25485 * @returns {boolean} Returns `true` if `value` is an array-like object, 25486 * else `false`. 25487 * @example 25488 * 25489 * _.isArrayLikeObject([1, 2, 3]); 25490 * // => true 25491 * 25492 * _.isArrayLikeObject(document.body.children); 25493 * // => true 25494 * 25495 * _.isArrayLikeObject('abc'); 25496 * // => false 25497 * 25498 * _.isArrayLikeObject(_.noop); 25499 * // => false 25500 */ 25501 function isArrayLikeObject(value) { 25502 return isObjectLike(value) && isArrayLike(value); 25503 } 25504 25505 /** 25506 * Checks if `value` is classified as a boolean primitive or object. 25507 * 25508 * @static 25509 * @memberOf _ 25510 * @since 0.1.0 25511 * @category Lang 25512 * @param {*} value The value to check. 25513 * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. 25514 * @example 25515 * 25516 * _.isBoolean(false); 25517 * // => true 25518 * 25519 * _.isBoolean(null); 25520 * // => false 25521 */ 25522 function isBoolean(value) { 25523 return value === true || value === false || 25524 (isObjectLike(value) && baseGetTag(value) == boolTag); 25525 } 25526 25527 /** 25528 * Checks if `value` is a buffer. 25529 * 25530 * @static 25531 * @memberOf _ 25532 * @since 4.3.0 25533 * @category Lang 25534 * @param {*} value The value to check. 25535 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. 25536 * @example 25537 * 25538 * _.isBuffer(new Buffer(2)); 25539 * // => true 25540 * 25541 * _.isBuffer(new Uint8Array(2)); 25542 * // => false 25543 */ 25544 var isBuffer = nativeIsBuffer || stubFalse; 25545 25546 /** 25547 * Checks if `value` is classified as a `Date` object. 25548 * 25549 * @static 25550 * @memberOf _ 25551 * @since 0.1.0 25552 * @category Lang 25553 * @param {*} value The value to check. 25554 * @returns {boolean} Returns `true` if `value` is a date object, else `false`. 25555 * @example 25556 * 25557 * _.isDate(new Date); 25558 * // => true 25559 * 25560 * _.isDate('Mon April 23 2012'); 25561 * // => false 25562 */ 25563 var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; 25564 25565 /** 25566 * Checks if `value` is likely a DOM element. 25567 * 25568 * @static 25569 * @memberOf _ 25570 * @since 0.1.0 25571 * @category Lang 25572 * @param {*} value The value to check. 25573 * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. 25574 * @example 25575 * 25576 * _.isElement(document.body); 25577 * // => true 25578 * 25579 * _.isElement('<body>'); 25580 * // => false 25581 */ 25582 function isElement(value) { 25583 return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); 25584 } 25585 25586 /** 25587 * Checks if `value` is an empty object, collection, map, or set. 25588 * 25589 * Objects are considered empty if they have no own enumerable string keyed 25590 * properties. 25591 * 25592 * Array-like values such as `arguments` objects, arrays, buffers, strings, or 25593 * jQuery-like collections are considered empty if they have a `length` of `0`. 25594 * Similarly, maps and sets are considered empty if they have a `size` of `0`. 25595 * 25596 * @static 25597 * @memberOf _ 25598 * @since 0.1.0 25599 * @category Lang 25600 * @param {*} value The value to check. 25601 * @returns {boolean} Returns `true` if `value` is empty, else `false`. 25602 * @example 25603 * 25604 * _.isEmpty(null); 25605 * // => true 25606 * 25607 * _.isEmpty(true); 25608 * // => true 25609 * 25610 * _.isEmpty(1); 25611 * // => true 25612 * 25613 * _.isEmpty([1, 2, 3]); 25614 * // => false 25615 * 25616 * _.isEmpty({ 'a': 1 }); 25617 * // => false 25618 */ 25619 function isEmpty(value) { 25620 if (value == null) { 25621 return true; 25622 } 25623 if (isArrayLike(value) && 25624 (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || 25625 isBuffer(value) || isTypedArray(value) || isArguments(value))) { 25626 return !value.length; 25627 } 25628 var tag = getTag(value); 25629 if (tag == mapTag || tag == setTag) { 25630 return !value.size; 25631 } 25632 if (isPrototype(value)) { 25633 return !baseKeys(value).length; 25634 } 25635 for (var key in value) { 25636 if (hasOwnProperty.call(value, key)) { 25637 return false; 25638 } 25639 } 25640 return true; 25641 } 25642 25643 /** 25644 * Performs a deep comparison between two values to determine if they are 25645 * equivalent. 25646 * 25647 * **Note:** This method supports comparing arrays, array buffers, booleans, 25648 * date objects, error objects, maps, numbers, `Object` objects, regexes, 25649 * sets, strings, symbols, and typed arrays. `Object` objects are compared 25650 * by their own, not inherited, enumerable properties. Functions and DOM 25651 * nodes are compared by strict equality, i.e. `===`. 25652 * 25653 * @static 25654 * @memberOf _ 25655 * @since 0.1.0 25656 * @category Lang 25657 * @param {*} value The value to compare. 25658 * @param {*} other The other value to compare. 25659 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 25660 * @example 25661 * 25662 * var object = { 'a': 1 }; 25663 * var other = { 'a': 1 }; 25664 * 25665 * _.isEqual(object, other); 25666 * // => true 25667 * 25668 * object === other; 25669 * // => false 25670 */ 25671 function isEqual(value, other) { 25672 return baseIsEqual(value, other); 25673 } 25674 25675 /** 25676 * This method is like `_.isEqual` except that it accepts `customizer` which 25677 * is invoked to compare values. If `customizer` returns `undefined`, comparisons 25678 * are handled by the method instead. The `customizer` is invoked with up to 25679 * six arguments: (objValue, othValue [, index|key, object, other, stack]). 25680 * 25681 * @static 25682 * @memberOf _ 25683 * @since 4.0.0 25684 * @category Lang 25685 * @param {*} value The value to compare. 25686 * @param {*} other The other value to compare. 25687 * @param {Function} [customizer] The function to customize comparisons. 25688 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 25689 * @example 25690 * 25691 * function isGreeting(value) { 25692 * return /^h(?:i|ello)$/.test(value); 25693 * } 25694 * 25695 * function customizer(objValue, othValue) { 25696 * if (isGreeting(objValue) && isGreeting(othValue)) { 25697 * return true; 25698 * } 25699 * } 25700 * 25701 * var array = ['hello', 'goodbye']; 25702 * var other = ['hi', 'goodbye']; 25703 * 25704 * _.isEqualWith(array, other, customizer); 25705 * // => true 25706 */ 25707 function isEqualWith(value, other, customizer) { 25708 customizer = typeof customizer == 'function' ? customizer : undefined; 25709 var result = customizer ? customizer(value, other) : undefined; 25710 return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; 25711 } 25712 25713 /** 25714 * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, 25715 * `SyntaxError`, `TypeError`, or `URIError` object. 25716 * 25717 * @static 25718 * @memberOf _ 25719 * @since 3.0.0 25720 * @category Lang 25721 * @param {*} value The value to check. 25722 * @returns {boolean} Returns `true` if `value` is an error object, else `false`. 25723 * @example 25724 * 25725 * _.isError(new Error); 25726 * // => true 25727 * 25728 * _.isError(Error); 25729 * // => false 25730 */ 25731 function isError(value) { 25732 if (!isObjectLike(value)) { 25733 return false; 25734 } 25735 var tag = baseGetTag(value); 25736 return tag == errorTag || tag == domExcTag || 25737 (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); 25738 } 25739 25740 /** 25741 * Checks if `value` is a finite primitive number. 25742 * 25743 * **Note:** This method is based on 25744 * [`Number.isFinite`](https://mdn.io/Number/isFinite). 25745 * 25746 * @static 25747 * @memberOf _ 25748 * @since 0.1.0 25749 * @category Lang 25750 * @param {*} value The value to check. 25751 * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. 25752 * @example 25753 * 25754 * _.isFinite(3); 25755 * // => true 25756 * 25757 * _.isFinite(Number.MIN_VALUE); 25758 * // => true 25759 * 25760 * _.isFinite(Infinity); 25761 * // => false 25762 * 25763 * _.isFinite('3'); 25764 * // => false 25765 */ 25766 function isFinite(value) { 25767 return typeof value == 'number' && nativeIsFinite(value); 25768 } 25769 25770 /** 25771 * Checks if `value` is classified as a `Function` object. 25772 * 25773 * @static 25774 * @memberOf _ 25775 * @since 0.1.0 25776 * @category Lang 25777 * @param {*} value The value to check. 25778 * @returns {boolean} Returns `true` if `value` is a function, else `false`. 25779 * @example 25780 * 25781 * _.isFunction(_); 25782 * // => true 25783 * 25784 * _.isFunction(/abc/); 25785 * // => false 25786 */ 25787 function isFunction(value) { 25788 if (!isObject(value)) { 25789 return false; 25790 } 25791 // The use of `Object#toString` avoids issues with the `typeof` operator 25792 // in Safari 9 which returns 'object' for typed arrays and other constructors. 25793 var tag = baseGetTag(value); 25794 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; 25795 } 25796 25797 /** 25798 * Checks if `value` is an integer. 25799 * 25800 * **Note:** This method is based on 25801 * [`Number.isInteger`](https://mdn.io/Number/isInteger). 25802 * 25803 * @static 25804 * @memberOf _ 25805 * @since 4.0.0 25806 * @category Lang 25807 * @param {*} value The value to check. 25808 * @returns {boolean} Returns `true` if `value` is an integer, else `false`. 25809 * @example 25810 * 25811 * _.isInteger(3); 25812 * // => true 25813 * 25814 * _.isInteger(Number.MIN_VALUE); 25815 * // => false 25816 * 25817 * _.isInteger(Infinity); 25818 * // => false 25819 * 25820 * _.isInteger('3'); 25821 * // => false 25822 */ 25823 function isInteger(value) { 25824 return typeof value == 'number' && value == toInteger(value); 25825 } 25826 25827 /** 25828 * Checks if `value` is a valid array-like length. 25829 * 25830 * **Note:** This method is loosely based on 25831 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). 25832 * 25833 * @static 25834 * @memberOf _ 25835 * @since 4.0.0 25836 * @category Lang 25837 * @param {*} value The value to check. 25838 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 25839 * @example 25840 * 25841 * _.isLength(3); 25842 * // => true 25843 * 25844 * _.isLength(Number.MIN_VALUE); 25845 * // => false 25846 * 25847 * _.isLength(Infinity); 25848 * // => false 25849 * 25850 * _.isLength('3'); 25851 * // => false 25852 */ 25853 function isLength(value) { 25854 return typeof value == 'number' && 25855 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 25856 } 25857 25858 /** 25859 * Checks if `value` is the 25860 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 25861 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 25862 * 25863 * @static 25864 * @memberOf _ 25865 * @since 0.1.0 25866 * @category Lang 25867 * @param {*} value The value to check. 25868 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 25869 * @example 25870 * 25871 * _.isObject({}); 25872 * // => true 25873 * 25874 * _.isObject([1, 2, 3]); 25875 * // => true 25876 * 25877 * _.isObject(_.noop); 25878 * // => true 25879 * 25880 * _.isObject(null); 25881 * // => false 25882 */ 25883 function isObject(value) { 25884 var type = typeof value; 25885 return value != null && (type == 'object' || type == 'function'); 25886 } 25887 25888 /** 25889 * Checks if `value` is object-like. A value is object-like if it's not `null` 25890 * and has a `typeof` result of "object". 25891 * 25892 * @static 25893 * @memberOf _ 25894 * @since 4.0.0 25895 * @category Lang 25896 * @param {*} value The value to check. 25897 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 25898 * @example 25899 * 25900 * _.isObjectLike({}); 25901 * // => true 25902 * 25903 * _.isObjectLike([1, 2, 3]); 25904 * // => true 25905 * 25906 * _.isObjectLike(_.noop); 25907 * // => false 25908 * 25909 * _.isObjectLike(null); 25910 * // => false 25911 */ 25912 function isObjectLike(value) { 25913 return value != null && typeof value == 'object'; 25914 } 25915 25916 /** 25917 * Checks if `value` is classified as a `Map` object. 25918 * 25919 * @static 25920 * @memberOf _ 25921 * @since 4.3.0 25922 * @category Lang 25923 * @param {*} value The value to check. 25924 * @returns {boolean} Returns `true` if `value` is a map, else `false`. 25925 * @example 25926 * 25927 * _.isMap(new Map); 25928 * // => true 25929 * 25930 * _.isMap(new WeakMap); 25931 * // => false 25932 */ 25933 var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; 25934 25935 /** 25936 * Performs a partial deep comparison between `object` and `source` to 25937 * determine if `object` contains equivalent property values. 25938 * 25939 * **Note:** This method is equivalent to `_.matches` when `source` is 25940 * partially applied. 25941 * 25942 * Partial comparisons will match empty array and empty object `source` 25943 * values against any array or object value, respectively. See `_.isEqual` 25944 * for a list of supported value comparisons. 25945 * 25946 * @static 25947 * @memberOf _ 25948 * @since 3.0.0 25949 * @category Lang 25950 * @param {Object} object The object to inspect. 25951 * @param {Object} source The object of property values to match. 25952 * @returns {boolean} Returns `true` if `object` is a match, else `false`. 25953 * @example 25954 * 25955 * var object = { 'a': 1, 'b': 2 }; 25956 * 25957 * _.isMatch(object, { 'b': 2 }); 25958 * // => true 25959 * 25960 * _.isMatch(object, { 'b': 1 }); 25961 * // => false 25962 */ 25963 function isMatch(object, source) { 25964 return object === source || baseIsMatch(object, source, getMatchData(source)); 25965 } 25966 25967 /** 25968 * This method is like `_.isMatch` except that it accepts `customizer` which 25969 * is invoked to compare values. If `customizer` returns `undefined`, comparisons 25970 * are handled by the method instead. The `customizer` is invoked with five 25971 * arguments: (objValue, srcValue, index|key, object, source). 25972 * 25973 * @static 25974 * @memberOf _ 25975 * @since 4.0.0 25976 * @category Lang 25977 * @param {Object} object The object to inspect. 25978 * @param {Object} source The object of property values to match. 25979 * @param {Function} [customizer] The function to customize comparisons. 25980 * @returns {boolean} Returns `true` if `object` is a match, else `false`. 25981 * @example 25982 * 25983 * function isGreeting(value) { 25984 * return /^h(?:i|ello)$/.test(value); 25985 * } 25986 * 25987 * function customizer(objValue, srcValue) { 25988 * if (isGreeting(objValue) && isGreeting(srcValue)) { 25989 * return true; 25990 * } 25991 * } 25992 * 25993 * var object = { 'greeting': 'hello' }; 25994 * var source = { 'greeting': 'hi' }; 25995 * 25996 * _.isMatchWith(object, source, customizer); 25997 * // => true 25998 */ 25999 function isMatchWith(object, source, customizer) { 26000 customizer = typeof customizer == 'function' ? customizer : undefined; 26001 return baseIsMatch(object, source, getMatchData(source), customizer); 26002 } 26003 26004 /** 26005 * Checks if `value` is `NaN`. 26006 * 26007 * **Note:** This method is based on 26008 * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as 26009 * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for 26010 * `undefined` and other non-number values. 26011 * 26012 * @static 26013 * @memberOf _ 26014 * @since 0.1.0 26015 * @category Lang 26016 * @param {*} value The value to check. 26017 * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. 26018 * @example 26019 * 26020 * _.isNaN(NaN); 26021 * // => true 26022 * 26023 * _.isNaN(new Number(NaN)); 26024 * // => true 26025 * 26026 * isNaN(undefined); 26027 * // => true 26028 * 26029 * _.isNaN(undefined); 26030 * // => false 26031 */ 26032 function isNaN(value) { 26033 // An `NaN` primitive is the only value that is not equal to itself. 26034 // Perform the `toStringTag` check first to avoid errors with some 26035 // ActiveX objects in IE. 26036 return isNumber(value) && value != +value; 26037 } 26038 26039 /** 26040 * Checks if `value` is a pristine native function. 26041 * 26042 * **Note:** This method can't reliably detect native functions in the presence 26043 * of the core-js package because core-js circumvents this kind of detection. 26044 * Despite multiple requests, the core-js maintainer has made it clear: any 26045 * attempt to fix the detection will be obstructed. As a result, we're left 26046 * with little choice but to throw an error. Unfortunately, this also affects 26047 * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), 26048 * which rely on core-js. 26049 * 26050 * @static 26051 * @memberOf _ 26052 * @since 3.0.0 26053 * @category Lang 26054 * @param {*} value The value to check. 26055 * @returns {boolean} Returns `true` if `value` is a native function, 26056 * else `false`. 26057 * @example 26058 * 26059 * _.isNative(Array.prototype.push); 26060 * // => true 26061 * 26062 * _.isNative(_); 26063 * // => false 26064 */ 26065 function isNative(value) { 26066 if (isMaskable(value)) { 26067 throw new Error(CORE_ERROR_TEXT); 26068 } 26069 return baseIsNative(value); 26070 } 26071 26072 /** 26073 * Checks if `value` is `null`. 26074 * 26075 * @static 26076 * @memberOf _ 26077 * @since 0.1.0 26078 * @category Lang 26079 * @param {*} value The value to check. 26080 * @returns {boolean} Returns `true` if `value` is `null`, else `false`. 26081 * @example 26082 * 26083 * _.isNull(null); 26084 * // => true 26085 * 26086 * _.isNull(void 0); 26087 * // => false 26088 */ 26089 function isNull(value) { 26090 return value === null; 26091 } 26092 26093 /** 26094 * Checks if `value` is `null` or `undefined`. 26095 * 26096 * @static 26097 * @memberOf _ 26098 * @since 4.0.0 26099 * @category Lang 26100 * @param {*} value The value to check. 26101 * @returns {boolean} Returns `true` if `value` is nullish, else `false`. 26102 * @example 26103 * 26104 * _.isNil(null); 26105 * // => true 26106 * 26107 * _.isNil(void 0); 26108 * // => true 26109 * 26110 * _.isNil(NaN); 26111 * // => false 26112 */ 26113 function isNil(value) { 26114 return value == null; 26115 } 26116 26117 /** 26118 * Checks if `value` is classified as a `Number` primitive or object. 26119 * 26120 * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are 26121 * classified as numbers, use the `_.isFinite` method. 26122 * 26123 * @static 26124 * @memberOf _ 26125 * @since 0.1.0 26126 * @category Lang 26127 * @param {*} value The value to check. 26128 * @returns {boolean} Returns `true` if `value` is a number, else `false`. 26129 * @example 26130 * 26131 * _.isNumber(3); 26132 * // => true 26133 * 26134 * _.isNumber(Number.MIN_VALUE); 26135 * // => true 26136 * 26137 * _.isNumber(Infinity); 26138 * // => true 26139 * 26140 * _.isNumber('3'); 26141 * // => false 26142 */ 26143 function isNumber(value) { 26144 return typeof value == 'number' || 26145 (isObjectLike(value) && baseGetTag(value) == numberTag); 26146 } 26147 26148 /** 26149 * Checks if `value` is a plain object, that is, an object created by the 26150 * `Object` constructor or one with a `[[Prototype]]` of `null`. 26151 * 26152 * @static 26153 * @memberOf _ 26154 * @since 0.8.0 26155 * @category Lang 26156 * @param {*} value The value to check. 26157 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. 26158 * @example 26159 * 26160 * function Foo() { 26161 * this.a = 1; 26162 * } 26163 * 26164 * _.isPlainObject(new Foo); 26165 * // => false 26166 * 26167 * _.isPlainObject([1, 2, 3]); 26168 * // => false 26169 * 26170 * _.isPlainObject({ 'x': 0, 'y': 0 }); 26171 * // => true 26172 * 26173 * _.isPlainObject(Object.create(null)); 26174 * // => true 26175 */ 26176 function isPlainObject(value) { 26177 if (!isObjectLike(value) || baseGetTag(value) != objectTag) { 26178 return false; 26179 } 26180 var proto = getPrototype(value); 26181 if (proto === null) { 26182 return true; 26183 } 26184 var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; 26185 return typeof Ctor == 'function' && Ctor instanceof Ctor && 26186 funcToString.call(Ctor) == objectCtorString; 26187 } 26188 26189 /** 26190 * Checks if `value` is classified as a `RegExp` object. 26191 * 26192 * @static 26193 * @memberOf _ 26194 * @since 0.1.0 26195 * @category Lang 26196 * @param {*} value The value to check. 26197 * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. 26198 * @example 26199 * 26200 * _.isRegExp(/abc/); 26201 * // => true 26202 * 26203 * _.isRegExp('/abc/'); 26204 * // => false 26205 */ 26206 var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; 26207 26208 /** 26209 * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 26210 * double precision number which isn't the result of a rounded unsafe integer. 26211 * 26212 * **Note:** This method is based on 26213 * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). 26214 * 26215 * @static 26216 * @memberOf _ 26217 * @since 4.0.0 26218 * @category Lang 26219 * @param {*} value The value to check. 26220 * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. 26221 * @example 26222 * 26223 * _.isSafeInteger(3); 26224 * // => true 26225 * 26226 * _.isSafeInteger(Number.MIN_VALUE); 26227 * // => false 26228 * 26229 * _.isSafeInteger(Infinity); 26230 * // => false 26231 * 26232 * _.isSafeInteger('3'); 26233 * // => false 26234 */ 26235 function isSafeInteger(value) { 26236 return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; 26237 } 26238 26239 /** 26240 * Checks if `value` is classified as a `Set` object. 26241 * 26242 * @static 26243 * @memberOf _ 26244 * @since 4.3.0 26245 * @category Lang 26246 * @param {*} value The value to check. 26247 * @returns {boolean} Returns `true` if `value` is a set, else `false`. 26248 * @example 26249 * 26250 * _.isSet(new Set); 26251 * // => true 26252 * 26253 * _.isSet(new WeakSet); 26254 * // => false 26255 */ 26256 var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; 26257 26258 /** 26259 * Checks if `value` is classified as a `String` primitive or object. 26260 * 26261 * @static 26262 * @since 0.1.0 26263 * @memberOf _ 26264 * @category Lang 26265 * @param {*} value The value to check. 26266 * @returns {boolean} Returns `true` if `value` is a string, else `false`. 26267 * @example 26268 * 26269 * _.isString('abc'); 26270 * // => true 26271 * 26272 * _.isString(1); 26273 * // => false 26274 */ 26275 function isString(value) { 26276 return typeof value == 'string' || 26277 (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); 26278 } 26279 26280 /** 26281 * Checks if `value` is classified as a `Symbol` primitive or object. 26282 * 26283 * @static 26284 * @memberOf _ 26285 * @since 4.0.0 26286 * @category Lang 26287 * @param {*} value The value to check. 26288 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. 26289 * @example 26290 * 26291 * _.isSymbol(Symbol.iterator); 26292 * // => true 26293 * 26294 * _.isSymbol('abc'); 26295 * // => false 26296 */ 26297 function isSymbol(value) { 26298 return typeof value == 'symbol' || 26299 (isObjectLike(value) && baseGetTag(value) == symbolTag); 26300 } 26301 26302 /** 26303 * Checks if `value` is classified as a typed array. 26304 * 26305 * @static 26306 * @memberOf _ 26307 * @since 3.0.0 26308 * @category Lang 26309 * @param {*} value The value to check. 26310 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 26311 * @example 26312 * 26313 * _.isTypedArray(new Uint8Array); 26314 * // => true 26315 * 26316 * _.isTypedArray([]); 26317 * // => false 26318 */ 26319 var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; 26320 26321 /** 26322 * Checks if `value` is `undefined`. 26323 * 26324 * @static 26325 * @since 0.1.0 26326 * @memberOf _ 26327 * @category Lang 26328 * @param {*} value The value to check. 26329 * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. 26330 * @example 26331 * 26332 * _.isUndefined(void 0); 26333 * // => true 26334 * 26335 * _.isUndefined(null); 26336 * // => false 26337 */ 26338 function isUndefined(value) { 26339 return value === undefined; 26340 } 26341 26342 /** 26343 * Checks if `value` is classified as a `WeakMap` object. 26344 * 26345 * @static 26346 * @memberOf _ 26347 * @since 4.3.0 26348 * @category Lang 26349 * @param {*} value The value to check. 26350 * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. 26351 * @example 26352 * 26353 * _.isWeakMap(new WeakMap); 26354 * // => true 26355 * 26356 * _.isWeakMap(new Map); 26357 * // => false 26358 */ 26359 function isWeakMap(value) { 26360 return isObjectLike(value) && getTag(value) == weakMapTag; 26361 } 26362 26363 /** 26364 * Checks if `value` is classified as a `WeakSet` object. 26365 * 26366 * @static 26367 * @memberOf _ 26368 * @since 4.3.0 26369 * @category Lang 26370 * @param {*} value The value to check. 26371 * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. 26372 * @example 26373 * 26374 * _.isWeakSet(new WeakSet); 26375 * // => true 26376 * 26377 * _.isWeakSet(new Set); 26378 * // => false 26379 */ 26380 function isWeakSet(value) { 26381 return isObjectLike(value) && baseGetTag(value) == weakSetTag; 26382 } 26383 26384 /** 26385 * Checks if `value` is less than `other`. 26386 * 26387 * @static 26388 * @memberOf _ 26389 * @since 3.9.0 26390 * @category Lang 26391 * @param {*} value The value to compare. 26392 * @param {*} other The other value to compare. 26393 * @returns {boolean} Returns `true` if `value` is less than `other`, 26394 * else `false`. 26395 * @see _.gt 26396 * @example 26397 * 26398 * _.lt(1, 3); 26399 * // => true 26400 * 26401 * _.lt(3, 3); 26402 * // => false 26403 * 26404 * _.lt(3, 1); 26405 * // => false 26406 */ 26407 var lt = createRelationalOperation(baseLt); 26408 26409 /** 26410 * Checks if `value` is less than or equal to `other`. 26411 * 26412 * @static 26413 * @memberOf _ 26414 * @since 3.9.0 26415 * @category Lang 26416 * @param {*} value The value to compare. 26417 * @param {*} other The other value to compare. 26418 * @returns {boolean} Returns `true` if `value` is less than or equal to 26419 * `other`, else `false`. 26420 * @see _.gte 26421 * @example 26422 * 26423 * _.lte(1, 3); 26424 * // => true 26425 * 26426 * _.lte(3, 3); 26427 * // => true 26428 * 26429 * _.lte(3, 1); 26430 * // => false 26431 */ 26432 var lte = createRelationalOperation(function(value, other) { 26433 return value <= other; 26434 }); 26435 26436 /** 26437 * Converts `value` to an array. 26438 * 26439 * @static 26440 * @since 0.1.0 26441 * @memberOf _ 26442 * @category Lang 26443 * @param {*} value The value to convert. 26444 * @returns {Array} Returns the converted array. 26445 * @example 26446 * 26447 * _.toArray({ 'a': 1, 'b': 2 }); 26448 * // => [1, 2] 26449 * 26450 * _.toArray('abc'); 26451 * // => ['a', 'b', 'c'] 26452 * 26453 * _.toArray(1); 26454 * // => [] 26455 * 26456 * _.toArray(null); 26457 * // => [] 26458 */ 26459 function toArray(value) { 26460 if (!value) { 26461 return []; 26462 } 26463 if (isArrayLike(value)) { 26464 return isString(value) ? stringToArray(value) : copyArray(value); 26465 } 26466 if (symIterator && value[symIterator]) { 26467 return iteratorToArray(value[symIterator]()); 26468 } 26469 var tag = getTag(value), 26470 func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); 26471 26472 return func(value); 26473 } 26474 26475 /** 26476 * Converts `value` to a finite number. 26477 * 26478 * @static 26479 * @memberOf _ 26480 * @since 4.12.0 26481 * @category Lang 26482 * @param {*} value The value to convert. 26483 * @returns {number} Returns the converted number. 26484 * @example 26485 * 26486 * _.toFinite(3.2); 26487 * // => 3.2 26488 * 26489 * _.toFinite(Number.MIN_VALUE); 26490 * // => 5e-324 26491 * 26492 * _.toFinite(Infinity); 26493 * // => 1.7976931348623157e+308 26494 * 26495 * _.toFinite('3.2'); 26496 * // => 3.2 26497 */ 26498 function toFinite(value) { 26499 if (!value) { 26500 return value === 0 ? value : 0; 26501 } 26502 value = toNumber(value); 26503 if (value === INFINITY || value === -INFINITY) { 26504 var sign = (value < 0 ? -1 : 1); 26505 return sign * MAX_INTEGER; 26506 } 26507 return value === value ? value : 0; 26508 } 26509 26510 /** 26511 * Converts `value` to an integer. 26512 * 26513 * **Note:** This method is loosely based on 26514 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). 26515 * 26516 * @static 26517 * @memberOf _ 26518 * @since 4.0.0 26519 * @category Lang 26520 * @param {*} value The value to convert. 26521 * @returns {number} Returns the converted integer. 26522 * @example 26523 * 26524 * _.toInteger(3.2); 26525 * // => 3 26526 * 26527 * _.toInteger(Number.MIN_VALUE); 26528 * // => 0 26529 * 26530 * _.toInteger(Infinity); 26531 * // => 1.7976931348623157e+308 26532 * 26533 * _.toInteger('3.2'); 26534 * // => 3 26535 */ 26536 function toInteger(value) { 26537 var result = toFinite(value), 26538 remainder = result % 1; 26539 26540 return result === result ? (remainder ? result - remainder : result) : 0; 26541 } 26542 26543 /** 26544 * Converts `value` to an integer suitable for use as the length of an 26545 * array-like object. 26546 * 26547 * **Note:** This method is based on 26548 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). 26549 * 26550 * @static 26551 * @memberOf _ 26552 * @since 4.0.0 26553 * @category Lang 26554 * @param {*} value The value to convert. 26555 * @returns {number} Returns the converted integer. 26556 * @example 26557 * 26558 * _.toLength(3.2); 26559 * // => 3 26560 * 26561 * _.toLength(Number.MIN_VALUE); 26562 * // => 0 26563 * 26564 * _.toLength(Infinity); 26565 * // => 4294967295 26566 * 26567 * _.toLength('3.2'); 26568 * // => 3 26569 */ 26570 function toLength(value) { 26571 return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; 26572 } 26573 26574 /** 26575 * Converts `value` to a number. 26576 * 26577 * @static 26578 * @memberOf _ 26579 * @since 4.0.0 26580 * @category Lang 26581 * @param {*} value The value to process. 26582 * @returns {number} Returns the number. 26583 * @example 26584 * 26585 * _.toNumber(3.2); 26586 * // => 3.2 26587 * 26588 * _.toNumber(Number.MIN_VALUE); 26589 * // => 5e-324 26590 * 26591 * _.toNumber(Infinity); 26592 * // => Infinity 26593 * 26594 * _.toNumber('3.2'); 26595 * // => 3.2 26596 */ 26597 function toNumber(value) { 26598 if (typeof value == 'number') { 26599 return value; 26600 } 26601 if (isSymbol(value)) { 26602 return NAN; 26603 } 26604 if (isObject(value)) { 26605 var other = typeof value.valueOf == 'function' ? value.valueOf() : value; 26606 value = isObject(other) ? (other + '') : other; 26607 } 26608 if (typeof value != 'string') { 26609 return value === 0 ? value : +value; 26610 } 26611 value = baseTrim(value); 26612 var isBinary = reIsBinary.test(value); 26613 return (isBinary || reIsOctal.test(value)) 26614 ? freeParseInt(value.slice(2), isBinary ? 2 : 8) 26615 : (reIsBadHex.test(value) ? NAN : +value); 26616 } 26617 26618 /** 26619 * Converts `value` to a plain object flattening inherited enumerable string 26620 * keyed properties of `value` to own properties of the plain object. 26621 * 26622 * @static 26623 * @memberOf _ 26624 * @since 3.0.0 26625 * @category Lang 26626 * @param {*} value The value to convert. 26627 * @returns {Object} Returns the converted plain object. 26628 * @example 26629 * 26630 * function Foo() { 26631 * this.b = 2; 26632 * } 26633 * 26634 * Foo.prototype.c = 3; 26635 * 26636 * _.assign({ 'a': 1 }, new Foo); 26637 * // => { 'a': 1, 'b': 2 } 26638 * 26639 * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); 26640 * // => { 'a': 1, 'b': 2, 'c': 3 } 26641 */ 26642 function toPlainObject(value) { 26643 return copyObject(value, keysIn(value)); 26644 } 26645 26646 /** 26647 * Converts `value` to a safe integer. A safe integer can be compared and 26648 * represented correctly. 26649 * 26650 * @static 26651 * @memberOf _ 26652 * @since 4.0.0 26653 * @category Lang 26654 * @param {*} value The value to convert. 26655 * @returns {number} Returns the converted integer. 26656 * @example 26657 * 26658 * _.toSafeInteger(3.2); 26659 * // => 3 26660 * 26661 * _.toSafeInteger(Number.MIN_VALUE); 26662 * // => 0 26663 * 26664 * _.toSafeInteger(Infinity); 26665 * // => 9007199254740991 26666 * 26667 * _.toSafeInteger('3.2'); 26668 * // => 3 26669 */ 26670 function toSafeInteger(value) { 26671 return value 26672 ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) 26673 : (value === 0 ? value : 0); 26674 } 26675 26676 /** 26677 * Converts `value` to a string. An empty string is returned for `null` 26678 * and `undefined` values. The sign of `-0` is preserved. 26679 * 26680 * @static 26681 * @memberOf _ 26682 * @since 4.0.0 26683 * @category Lang 26684 * @param {*} value The value to convert. 26685 * @returns {string} Returns the converted string. 26686 * @example 26687 * 26688 * _.toString(null); 26689 * // => '' 26690 * 26691 * _.toString(-0); 26692 * // => '-0' 26693 * 26694 * _.toString([1, 2, 3]); 26695 * // => '1,2,3' 26696 */ 26697 function toString(value) { 26698 return value == null ? '' : baseToString(value); 26699 } 26700 26701 /*------------------------------------------------------------------------*/ 26702 26703 /** 26704 * Assigns own enumerable string keyed properties of source objects to the 26705 * destination object. Source objects are applied from left to right. 26706 * Subsequent sources overwrite property assignments of previous sources. 26707 * 26708 * **Note:** This method mutates `object` and is loosely based on 26709 * [`Object.assign`](https://mdn.io/Object/assign). 26710 * 26711 * @static 26712 * @memberOf _ 26713 * @since 0.10.0 26714 * @category Object 26715 * @param {Object} object The destination object. 26716 * @param {...Object} [sources] The source objects. 26717 * @returns {Object} Returns `object`. 26718 * @see _.assignIn 26719 * @example 26720 * 26721 * function Foo() { 26722 * this.a = 1; 26723 * } 26724 * 26725 * function Bar() { 26726 * this.c = 3; 26727 * } 26728 * 26729 * Foo.prototype.b = 2; 26730 * Bar.prototype.d = 4; 26731 * 26732 * _.assign({ 'a': 0 }, new Foo, new Bar); 26733 * // => { 'a': 1, 'c': 3 } 26734 */ 26735 var assign = createAssigner(function(object, source) { 26736 if (isPrototype(source) || isArrayLike(source)) { 26737 copyObject(source, keys(source), object); 26738 return; 26739 } 26740 for (var key in source) { 26741 if (hasOwnProperty.call(source, key)) { 26742 assignValue(object, key, source[key]); 26743 } 26744 } 26745 }); 26746 26747 /** 26748 * This method is like `_.assign` except that it iterates over own and 26749 * inherited source properties. 26750 * 26751 * **Note:** This method mutates `object`. 26752 * 26753 * @static 26754 * @memberOf _ 26755 * @since 4.0.0 26756 * @alias extend 26757 * @category Object 26758 * @param {Object} object The destination object. 26759 * @param {...Object} [sources] The source objects. 26760 * @returns {Object} Returns `object`. 26761 * @see _.assign 26762 * @example 26763 * 26764 * function Foo() { 26765 * this.a = 1; 26766 * } 26767 * 26768 * function Bar() { 26769 * this.c = 3; 26770 * } 26771 * 26772 * Foo.prototype.b = 2; 26773 * Bar.prototype.d = 4; 26774 * 26775 * _.assignIn({ 'a': 0 }, new Foo, new Bar); 26776 * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } 26777 */ 26778 var assignIn = createAssigner(function(object, source) { 26779 copyObject(source, keysIn(source), object); 26780 }); 26781 26782 /** 26783 * This method is like `_.assignIn` except that it accepts `customizer` 26784 * which is invoked to produce the assigned values. If `customizer` returns 26785 * `undefined`, assignment is handled by the method instead. The `customizer` 26786 * is invoked with five arguments: (objValue, srcValue, key, object, source). 26787 * 26788 * **Note:** This method mutates `object`. 26789 * 26790 * @static 26791 * @memberOf _ 26792 * @since 4.0.0 26793 * @alias extendWith 26794 * @category Object 26795 * @param {Object} object The destination object. 26796 * @param {...Object} sources The source objects. 26797 * @param {Function} [customizer] The function to customize assigned values. 26798 * @returns {Object} Returns `object`. 26799 * @see _.assignWith 26800 * @example 26801 * 26802 * function customizer(objValue, srcValue) { 26803 * return _.isUndefined(objValue) ? srcValue : objValue; 26804 * } 26805 * 26806 * var defaults = _.partialRight(_.assignInWith, customizer); 26807 * 26808 * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); 26809 * // => { 'a': 1, 'b': 2 } 26810 */ 26811 var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { 26812 copyObject(source, keysIn(source), object, customizer); 26813 }); 26814 26815 /** 26816 * This method is like `_.assign` except that it accepts `customizer` 26817 * which is invoked to produce the assigned values. If `customizer` returns 26818 * `undefined`, assignment is handled by the method instead. The `customizer` 26819 * is invoked with five arguments: (objValue, srcValue, key, object, source). 26820 * 26821 * **Note:** This method mutates `object`. 26822 * 26823 * @static 26824 * @memberOf _ 26825 * @since 4.0.0 26826 * @category Object 26827 * @param {Object} object The destination object. 26828 * @param {...Object} sources The source objects. 26829 * @param {Function} [customizer] The function to customize assigned values. 26830 * @returns {Object} Returns `object`. 26831 * @see _.assignInWith 26832 * @example 26833 * 26834 * function customizer(objValue, srcValue) { 26835 * return _.isUndefined(objValue) ? srcValue : objValue; 26836 * } 26837 * 26838 * var defaults = _.partialRight(_.assignWith, customizer); 26839 * 26840 * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); 26841 * // => { 'a': 1, 'b': 2 } 26842 */ 26843 var assignWith = createAssigner(function(object, source, srcIndex, customizer) { 26844 copyObject(source, keys(source), object, customizer); 26845 }); 26846 26847 /** 26848 * Creates an array of values corresponding to `paths` of `object`. 26849 * 26850 * @static 26851 * @memberOf _ 26852 * @since 1.0.0 26853 * @category Object 26854 * @param {Object} object The object to iterate over. 26855 * @param {...(string|string[])} [paths] The property paths to pick. 26856 * @returns {Array} Returns the picked values. 26857 * @example 26858 * 26859 * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; 26860 * 26861 * _.at(object, ['a[0].b.c', 'a[1]']); 26862 * // => [3, 4] 26863 */ 26864 var at = flatRest(baseAt); 26865 26866 /** 26867 * Creates an object that inherits from the `prototype` object. If a 26868 * `properties` object is given, its own enumerable string keyed properties 26869 * are assigned to the created object. 26870 * 26871 * @static 26872 * @memberOf _ 26873 * @since 2.3.0 26874 * @category Object 26875 * @param {Object} prototype The object to inherit from. 26876 * @param {Object} [properties] The properties to assign to the object. 26877 * @returns {Object} Returns the new object. 26878 * @example 26879 * 26880 * function Shape() { 26881 * this.x = 0; 26882 * this.y = 0; 26883 * } 26884 * 26885 * function Circle() { 26886 * Shape.call(this); 26887 * } 26888 * 26889 * Circle.prototype = _.create(Shape.prototype, { 26890 * 'constructor': Circle 26891 * }); 26892 * 26893 * var circle = new Circle; 26894 * circle instanceof Circle; 26895 * // => true 26896 * 26897 * circle instanceof Shape; 26898 * // => true 26899 */ 26900 function create(prototype, properties) { 26901 var result = baseCreate(prototype); 26902 return properties == null ? result : baseAssign(result, properties); 26903 } 26904 26905 /** 26906 * Assigns own and inherited enumerable string keyed properties of source 26907 * objects to the destination object for all destination properties that 26908 * resolve to `undefined`. Source objects are applied from left to right. 26909 * Once a property is set, additional values of the same property are ignored. 26910 * 26911 * **Note:** This method mutates `object`. 26912 * 26913 * @static 26914 * @since 0.1.0 26915 * @memberOf _ 26916 * @category Object 26917 * @param {Object} object The destination object. 26918 * @param {...Object} [sources] The source objects. 26919 * @returns {Object} Returns `object`. 26920 * @see _.defaultsDeep 26921 * @example 26922 * 26923 * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); 26924 * // => { 'a': 1, 'b': 2 } 26925 */ 26926 var defaults = baseRest(function(object, sources) { 26927 object = Object(object); 26928 26929 var index = -1; 26930 var length = sources.length; 26931 var guard = length > 2 ? sources[2] : undefined; 26932 26933 if (guard && isIterateeCall(sources[0], sources[1], guard)) { 26934 length = 1; 26935 } 26936 26937 while (++index < length) { 26938 var source = sources[index]; 26939 var props = keysIn(source); 26940 var propsIndex = -1; 26941 var propsLength = props.length; 26942 26943 while (++propsIndex < propsLength) { 26944 var key = props[propsIndex]; 26945 var value = object[key]; 26946 26947 if (value === undefined || 26948 (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { 26949 object[key] = source[key]; 26950 } 26951 } 26952 } 26953 26954 return object; 26955 }); 26956 26957 /** 26958 * This method is like `_.defaults` except that it recursively assigns 26959 * default properties. 26960 * 26961 * **Note:** This method mutates `object`. 26962 * 26963 * @static 26964 * @memberOf _ 26965 * @since 3.10.0 26966 * @category Object 26967 * @param {Object} object The destination object. 26968 * @param {...Object} [sources] The source objects. 26969 * @returns {Object} Returns `object`. 26970 * @see _.defaults 26971 * @example 26972 * 26973 * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); 26974 * // => { 'a': { 'b': 2, 'c': 3 } } 26975 */ 26976 var defaultsDeep = baseRest(function(args) { 26977 args.push(undefined, customDefaultsMerge); 26978 return apply(mergeWith, undefined, args); 26979 }); 26980 26981 /** 26982 * This method is like `_.find` except that it returns the key of the first 26983 * element `predicate` returns truthy for instead of the element itself. 26984 * 26985 * @static 26986 * @memberOf _ 26987 * @since 1.1.0 26988 * @category Object 26989 * @param {Object} object The object to inspect. 26990 * @param {Function} [predicate=_.identity] The function invoked per iteration. 26991 * @returns {string|undefined} Returns the key of the matched element, 26992 * else `undefined`. 26993 * @example 26994 * 26995 * var users = { 26996 * 'barney': { 'age': 36, 'active': true }, 26997 * 'fred': { 'age': 40, 'active': false }, 26998 * 'pebbles': { 'age': 1, 'active': true } 26999 * }; 27000 * 27001 * _.findKey(users, function(o) { return o.age < 40; }); 27002 * // => 'barney' (iteration order is not guaranteed) 27003 * 27004 * // The `_.matches` iteratee shorthand. 27005 * _.findKey(users, { 'age': 1, 'active': true }); 27006 * // => 'pebbles' 27007 * 27008 * // The `_.matchesProperty` iteratee shorthand. 27009 * _.findKey(users, ['active', false]); 27010 * // => 'fred' 27011 * 27012 * // The `_.property` iteratee shorthand. 27013 * _.findKey(users, 'active'); 27014 * // => 'barney' 27015 */ 27016 function findKey(object, predicate) { 27017 return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); 27018 } 27019 27020 /** 27021 * This method is like `_.findKey` except that it iterates over elements of 27022 * a collection in the opposite order. 27023 * 27024 * @static 27025 * @memberOf _ 27026 * @since 2.0.0 27027 * @category Object 27028 * @param {Object} object The object to inspect. 27029 * @param {Function} [predicate=_.identity] The function invoked per iteration. 27030 * @returns {string|undefined} Returns the key of the matched element, 27031 * else `undefined`. 27032 * @example 27033 * 27034 * var users = { 27035 * 'barney': { 'age': 36, 'active': true }, 27036 * 'fred': { 'age': 40, 'active': false }, 27037 * 'pebbles': { 'age': 1, 'active': true } 27038 * }; 27039 * 27040 * _.findLastKey(users, function(o) { return o.age < 40; }); 27041 * // => returns 'pebbles' assuming `_.findKey` returns 'barney' 27042 * 27043 * // The `_.matches` iteratee shorthand. 27044 * _.findLastKey(users, { 'age': 36, 'active': true }); 27045 * // => 'barney' 27046 * 27047 * // The `_.matchesProperty` iteratee shorthand. 27048 * _.findLastKey(users, ['active', false]); 27049 * // => 'fred' 27050 * 27051 * // The `_.property` iteratee shorthand. 27052 * _.findLastKey(users, 'active'); 27053 * // => 'pebbles' 27054 */ 27055 function findLastKey(object, predicate) { 27056 return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); 27057 } 27058 27059 /** 27060 * Iterates over own and inherited enumerable string keyed properties of an 27061 * object and invokes `iteratee` for each property. The iteratee is invoked 27062 * with three arguments: (value, key, object). Iteratee functions may exit 27063 * iteration early by explicitly returning `false`. 27064 * 27065 * @static 27066 * @memberOf _ 27067 * @since 0.3.0 27068 * @category Object 27069 * @param {Object} object The object to iterate over. 27070 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 27071 * @returns {Object} Returns `object`. 27072 * @see _.forInRight 27073 * @example 27074 * 27075 * function Foo() { 27076 * this.a = 1; 27077 * this.b = 2; 27078 * } 27079 * 27080 * Foo.prototype.c = 3; 27081 * 27082 * _.forIn(new Foo, function(value, key) { 27083 * console.log(key); 27084 * }); 27085 * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). 27086 */ 27087 function forIn(object, iteratee) { 27088 return object == null 27089 ? object 27090 : baseFor(object, getIteratee(iteratee, 3), keysIn); 27091 } 27092 27093 /** 27094 * This method is like `_.forIn` except that it iterates over properties of 27095 * `object` in the opposite order. 27096 * 27097 * @static 27098 * @memberOf _ 27099 * @since 2.0.0 27100 * @category Object 27101 * @param {Object} object The object to iterate over. 27102 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 27103 * @returns {Object} Returns `object`. 27104 * @see _.forIn 27105 * @example 27106 * 27107 * function Foo() { 27108 * this.a = 1; 27109 * this.b = 2; 27110 * } 27111 * 27112 * Foo.prototype.c = 3; 27113 * 27114 * _.forInRight(new Foo, function(value, key) { 27115 * console.log(key); 27116 * }); 27117 * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. 27118 */ 27119 function forInRight(object, iteratee) { 27120 return object == null 27121 ? object 27122 : baseForRight(object, getIteratee(iteratee, 3), keysIn); 27123 } 27124 27125 /** 27126 * Iterates over own enumerable string keyed properties of an object and 27127 * invokes `iteratee` for each property. The iteratee is invoked with three 27128 * arguments: (value, key, object). Iteratee functions may exit iteration 27129 * early by explicitly returning `false`. 27130 * 27131 * @static 27132 * @memberOf _ 27133 * @since 0.3.0 27134 * @category Object 27135 * @param {Object} object The object to iterate over. 27136 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 27137 * @returns {Object} Returns `object`. 27138 * @see _.forOwnRight 27139 * @example 27140 * 27141 * function Foo() { 27142 * this.a = 1; 27143 * this.b = 2; 27144 * } 27145 * 27146 * Foo.prototype.c = 3; 27147 * 27148 * _.forOwn(new Foo, function(value, key) { 27149 * console.log(key); 27150 * }); 27151 * // => Logs 'a' then 'b' (iteration order is not guaranteed). 27152 */ 27153 function forOwn(object, iteratee) { 27154 return object && baseForOwn(object, getIteratee(iteratee, 3)); 27155 } 27156 27157 /** 27158 * This method is like `_.forOwn` except that it iterates over properties of 27159 * `object` in the opposite order. 27160 * 27161 * @static 27162 * @memberOf _ 27163 * @since 2.0.0 27164 * @category Object 27165 * @param {Object} object The object to iterate over. 27166 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 27167 * @returns {Object} Returns `object`. 27168 * @see _.forOwn 27169 * @example 27170 * 27171 * function Foo() { 27172 * this.a = 1; 27173 * this.b = 2; 27174 * } 27175 * 27176 * Foo.prototype.c = 3; 27177 * 27178 * _.forOwnRight(new Foo, function(value, key) { 27179 * console.log(key); 27180 * }); 27181 * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. 27182 */ 27183 function forOwnRight(object, iteratee) { 27184 return object && baseForOwnRight(object, getIteratee(iteratee, 3)); 27185 } 27186 27187 /** 27188 * Creates an array of function property names from own enumerable properties 27189 * of `object`. 27190 * 27191 * @static 27192 * @since 0.1.0 27193 * @memberOf _ 27194 * @category Object 27195 * @param {Object} object The object to inspect. 27196 * @returns {Array} Returns the function names. 27197 * @see _.functionsIn 27198 * @example 27199 * 27200 * function Foo() { 27201 * this.a = _.constant('a'); 27202 * this.b = _.constant('b'); 27203 * } 27204 * 27205 * Foo.prototype.c = _.constant('c'); 27206 * 27207 * _.functions(new Foo); 27208 * // => ['a', 'b'] 27209 */ 27210 function functions(object) { 27211 return object == null ? [] : baseFunctions(object, keys(object)); 27212 } 27213 27214 /** 27215 * Creates an array of function property names from own and inherited 27216 * enumerable properties of `object`. 27217 * 27218 * @static 27219 * @memberOf _ 27220 * @since 4.0.0 27221 * @category Object 27222 * @param {Object} object The object to inspect. 27223 * @returns {Array} Returns the function names. 27224 * @see _.functions 27225 * @example 27226 * 27227 * function Foo() { 27228 * this.a = _.constant('a'); 27229 * this.b = _.constant('b'); 27230 * } 27231 * 27232 * Foo.prototype.c = _.constant('c'); 27233 * 27234 * _.functionsIn(new Foo); 27235 * // => ['a', 'b', 'c'] 27236 */ 27237 function functionsIn(object) { 27238 return object == null ? [] : baseFunctions(object, keysIn(object)); 27239 } 27240 27241 /** 27242 * Gets the value at `path` of `object`. If the resolved value is 27243 * `undefined`, the `defaultValue` is returned in its place. 27244 * 27245 * @static 27246 * @memberOf _ 27247 * @since 3.7.0 27248 * @category Object 27249 * @param {Object} object The object to query. 27250 * @param {Array|string} path The path of the property to get. 27251 * @param {*} [defaultValue] The value returned for `undefined` resolved values. 27252 * @returns {*} Returns the resolved value. 27253 * @example 27254 * 27255 * var object = { 'a': [{ 'b': { 'c': 3 } }] }; 27256 * 27257 * _.get(object, 'a[0].b.c'); 27258 * // => 3 27259 * 27260 * _.get(object, ['a', '0', 'b', 'c']); 27261 * // => 3 27262 * 27263 * _.get(object, 'a.b.c', 'default'); 27264 * // => 'default' 27265 */ 27266 function get(object, path, defaultValue) { 27267 var result = object == null ? undefined : baseGet(object, path); 27268 return result === undefined ? defaultValue : result; 27269 } 27270 27271 /** 27272 * Checks if `path` is a direct property of `object`. 27273 * 27274 * @static 27275 * @since 0.1.0 27276 * @memberOf _ 27277 * @category Object 27278 * @param {Object} object The object to query. 27279 * @param {Array|string} path The path to check. 27280 * @returns {boolean} Returns `true` if `path` exists, else `false`. 27281 * @example 27282 * 27283 * var object = { 'a': { 'b': 2 } }; 27284 * var other = _.create({ 'a': _.create({ 'b': 2 }) }); 27285 * 27286 * _.has(object, 'a'); 27287 * // => true 27288 * 27289 * _.has(object, 'a.b'); 27290 * // => true 27291 * 27292 * _.has(object, ['a', 'b']); 27293 * // => true 27294 * 27295 * _.has(other, 'a'); 27296 * // => false 27297 */ 27298 function has(object, path) { 27299 return object != null && hasPath(object, path, baseHas); 27300 } 27301 27302 /** 27303 * Checks if `path` is a direct or inherited property of `object`. 27304 * 27305 * @static 27306 * @memberOf _ 27307 * @since 4.0.0 27308 * @category Object 27309 * @param {Object} object The object to query. 27310 * @param {Array|string} path The path to check. 27311 * @returns {boolean} Returns `true` if `path` exists, else `false`. 27312 * @example 27313 * 27314 * var object = _.create({ 'a': _.create({ 'b': 2 }) }); 27315 * 27316 * _.hasIn(object, 'a'); 27317 * // => true 27318 * 27319 * _.hasIn(object, 'a.b'); 27320 * // => true 27321 * 27322 * _.hasIn(object, ['a', 'b']); 27323 * // => true 27324 * 27325 * _.hasIn(object, 'b'); 27326 * // => false 27327 */ 27328 function hasIn(object, path) { 27329 return object != null && hasPath(object, path, baseHasIn); 27330 } 27331 27332 /** 27333 * Creates an object composed of the inverted keys and values of `object`. 27334 * If `object` contains duplicate values, subsequent values overwrite 27335 * property assignments of previous values. 27336 * 27337 * @static 27338 * @memberOf _ 27339 * @since 0.7.0 27340 * @category Object 27341 * @param {Object} object The object to invert. 27342 * @returns {Object} Returns the new inverted object. 27343 * @example 27344 * 27345 * var object = { 'a': 1, 'b': 2, 'c': 1 }; 27346 * 27347 * _.invert(object); 27348 * // => { '1': 'c', '2': 'b' } 27349 */ 27350 var invert = createInverter(function(result, value, key) { 27351 if (value != null && 27352 typeof value.toString != 'function') { 27353 value = nativeObjectToString.call(value); 27354 } 27355 27356 result[value] = key; 27357 }, constant(identity)); 27358 27359 /** 27360 * This method is like `_.invert` except that the inverted object is generated 27361 * from the results of running each element of `object` thru `iteratee`. The 27362 * corresponding inverted value of each inverted key is an array of keys 27363 * responsible for generating the inverted value. The iteratee is invoked 27364 * with one argument: (value). 27365 * 27366 * @static 27367 * @memberOf _ 27368 * @since 4.1.0 27369 * @category Object 27370 * @param {Object} object The object to invert. 27371 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 27372 * @returns {Object} Returns the new inverted object. 27373 * @example 27374 * 27375 * var object = { 'a': 1, 'b': 2, 'c': 1 }; 27376 * 27377 * _.invertBy(object); 27378 * // => { '1': ['a', 'c'], '2': ['b'] } 27379 * 27380 * _.invertBy(object, function(value) { 27381 * return 'group' + value; 27382 * }); 27383 * // => { 'group1': ['a', 'c'], 'group2': ['b'] } 27384 */ 27385 var invertBy = createInverter(function(result, value, key) { 27386 if (value != null && 27387 typeof value.toString != 'function') { 27388 value = nativeObjectToString.call(value); 27389 } 27390 27391 if (hasOwnProperty.call(result, value)) { 27392 result[value].push(key); 27393 } else { 27394 result[value] = [key]; 27395 } 27396 }, getIteratee); 27397 27398 /** 27399 * Invokes the method at `path` of `object`. 27400 * 27401 * @static 27402 * @memberOf _ 27403 * @since 4.0.0 27404 * @category Object 27405 * @param {Object} object The object to query. 27406 * @param {Array|string} path The path of the method to invoke. 27407 * @param {...*} [args] The arguments to invoke the method with. 27408 * @returns {*} Returns the result of the invoked method. 27409 * @example 27410 * 27411 * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; 27412 * 27413 * _.invoke(object, 'a[0].b.c.slice', 1, 3); 27414 * // => [2, 3] 27415 */ 27416 var invoke = baseRest(baseInvoke); 27417 27418 /** 27419 * Creates an array of the own enumerable property names of `object`. 27420 * 27421 * **Note:** Non-object values are coerced to objects. See the 27422 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 27423 * for more details. 27424 * 27425 * @static 27426 * @since 0.1.0 27427 * @memberOf _ 27428 * @category Object 27429 * @param {Object} object The object to query. 27430 * @returns {Array} Returns the array of property names. 27431 * @example 27432 * 27433 * function Foo() { 27434 * this.a = 1; 27435 * this.b = 2; 27436 * } 27437 * 27438 * Foo.prototype.c = 3; 27439 * 27440 * _.keys(new Foo); 27441 * // => ['a', 'b'] (iteration order is not guaranteed) 27442 * 27443 * _.keys('hi'); 27444 * // => ['0', '1'] 27445 */ 27446 function keys(object) { 27447 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); 27448 } 27449 27450 /** 27451 * Creates an array of the own and inherited enumerable property names of `object`. 27452 * 27453 * **Note:** Non-object values are coerced to objects. 27454 * 27455 * @static 27456 * @memberOf _ 27457 * @since 3.0.0 27458 * @category Object 27459 * @param {Object} object The object to query. 27460 * @returns {Array} Returns the array of property names. 27461 * @example 27462 * 27463 * function Foo() { 27464 * this.a = 1; 27465 * this.b = 2; 27466 * } 27467 * 27468 * Foo.prototype.c = 3; 27469 * 27470 * _.keysIn(new Foo); 27471 * // => ['a', 'b', 'c'] (iteration order is not guaranteed) 27472 */ 27473 function keysIn(object) { 27474 return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); 27475 } 27476 27477 /** 27478 * The opposite of `_.mapValues`; this method creates an object with the 27479 * same values as `object` and keys generated by running each own enumerable 27480 * string keyed property of `object` thru `iteratee`. The iteratee is invoked 27481 * with three arguments: (value, key, object). 27482 * 27483 * @static 27484 * @memberOf _ 27485 * @since 3.8.0 27486 * @category Object 27487 * @param {Object} object The object to iterate over. 27488 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 27489 * @returns {Object} Returns the new mapped object. 27490 * @see _.mapValues 27491 * @example 27492 * 27493 * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { 27494 * return key + value; 27495 * }); 27496 * // => { 'a1': 1, 'b2': 2 } 27497 */ 27498 function mapKeys(object, iteratee) { 27499 var result = {}; 27500 iteratee = getIteratee(iteratee, 3); 27501 27502 baseForOwn(object, function(value, key, object) { 27503 baseAssignValue(result, iteratee(value, key, object), value); 27504 }); 27505 return result; 27506 } 27507 27508 /** 27509 * Creates an object with the same keys as `object` and values generated 27510 * by running each own enumerable string keyed property of `object` thru 27511 * `iteratee`. The iteratee is invoked with three arguments: 27512 * (value, key, object). 27513 * 27514 * @static 27515 * @memberOf _ 27516 * @since 2.4.0 27517 * @category Object 27518 * @param {Object} object The object to iterate over. 27519 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 27520 * @returns {Object} Returns the new mapped object. 27521 * @see _.mapKeys 27522 * @example 27523 * 27524 * var users = { 27525 * 'fred': { 'user': 'fred', 'age': 40 }, 27526 * 'pebbles': { 'user': 'pebbles', 'age': 1 } 27527 * }; 27528 * 27529 * _.mapValues(users, function(o) { return o.age; }); 27530 * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) 27531 * 27532 * // The `_.property` iteratee shorthand. 27533 * _.mapValues(users, 'age'); 27534 * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) 27535 */ 27536 function mapValues(object, iteratee) { 27537 var result = {}; 27538 iteratee = getIteratee(iteratee, 3); 27539 27540 baseForOwn(object, function(value, key, object) { 27541 baseAssignValue(result, key, iteratee(value, key, object)); 27542 }); 27543 return result; 27544 } 27545 27546 /** 27547 * This method is like `_.assign` except that it recursively merges own and 27548 * inherited enumerable string keyed properties of source objects into the 27549 * destination object. Source properties that resolve to `undefined` are 27550 * skipped if a destination value exists. Array and plain object properties 27551 * are merged recursively. Other objects and value types are overridden by 27552 * assignment. Source objects are applied from left to right. Subsequent 27553 * sources overwrite property assignments of previous sources. 27554 * 27555 * **Note:** This method mutates `object`. 27556 * 27557 * @static 27558 * @memberOf _ 27559 * @since 0.5.0 27560 * @category Object 27561 * @param {Object} object The destination object. 27562 * @param {...Object} [sources] The source objects. 27563 * @returns {Object} Returns `object`. 27564 * @example 27565 * 27566 * var object = { 27567 * 'a': [{ 'b': 2 }, { 'd': 4 }] 27568 * }; 27569 * 27570 * var other = { 27571 * 'a': [{ 'c': 3 }, { 'e': 5 }] 27572 * }; 27573 * 27574 * _.merge(object, other); 27575 * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } 27576 */ 27577 var merge = createAssigner(function(object, source, srcIndex) { 27578 baseMerge(object, source, srcIndex); 27579 }); 27580 27581 /** 27582 * This method is like `_.merge` except that it accepts `customizer` which 27583 * is invoked to produce the merged values of the destination and source 27584 * properties. If `customizer` returns `undefined`, merging is handled by the 27585 * method instead. The `customizer` is invoked with six arguments: 27586 * (objValue, srcValue, key, object, source, stack). 27587 * 27588 * **Note:** This method mutates `object`. 27589 * 27590 * @static 27591 * @memberOf _ 27592 * @since 4.0.0 27593 * @category Object 27594 * @param {Object} object The destination object. 27595 * @param {...Object} sources The source objects. 27596 * @param {Function} customizer The function to customize assigned values. 27597 * @returns {Object} Returns `object`. 27598 * @example 27599 * 27600 * function customizer(objValue, srcValue) { 27601 * if (_.isArray(objValue)) { 27602 * return objValue.concat(srcValue); 27603 * } 27604 * } 27605 * 27606 * var object = { 'a': [1], 'b': [2] }; 27607 * var other = { 'a': [3], 'b': [4] }; 27608 * 27609 * _.mergeWith(object, other, customizer); 27610 * // => { 'a': [1, 3], 'b': [2, 4] } 27611 */ 27612 var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { 27613 baseMerge(object, source, srcIndex, customizer); 27614 }); 27615 27616 /** 27617 * The opposite of `_.pick`; this method creates an object composed of the 27618 * own and inherited enumerable property paths of `object` that are not omitted. 27619 * 27620 * **Note:** This method is considerably slower than `_.pick`. 27621 * 27622 * @static 27623 * @since 0.1.0 27624 * @memberOf _ 27625 * @category Object 27626 * @param {Object} object The source object. 27627 * @param {...(string|string[])} [paths] The property paths to omit. 27628 * @returns {Object} Returns the new object. 27629 * @example 27630 * 27631 * var object = { 'a': 1, 'b': '2', 'c': 3 }; 27632 * 27633 * _.omit(object, ['a', 'c']); 27634 * // => { 'b': '2' } 27635 */ 27636 var omit = flatRest(function(object, paths) { 27637 var result = {}; 27638 if (object == null) { 27639 return result; 27640 } 27641 var isDeep = false; 27642 paths = arrayMap(paths, function(path) { 27643 path = castPath(path, object); 27644 isDeep || (isDeep = path.length > 1); 27645 return path; 27646 }); 27647 copyObject(object, getAllKeysIn(object), result); 27648 if (isDeep) { 27649 result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); 27650 } 27651 var length = paths.length; 27652 while (length--) { 27653 baseUnset(result, paths[length]); 27654 } 27655 return result; 27656 }); 27657 27658 /** 27659 * The opposite of `_.pickBy`; this method creates an object composed of 27660 * the own and inherited enumerable string keyed properties of `object` that 27661 * `predicate` doesn't return truthy for. The predicate is invoked with two 27662 * arguments: (value, key). 27663 * 27664 * @static 27665 * @memberOf _ 27666 * @since 4.0.0 27667 * @category Object 27668 * @param {Object} object The source object. 27669 * @param {Function} [predicate=_.identity] The function invoked per property. 27670 * @returns {Object} Returns the new object. 27671 * @example 27672 * 27673 * var object = { 'a': 1, 'b': '2', 'c': 3 }; 27674 * 27675 * _.omitBy(object, _.isNumber); 27676 * // => { 'b': '2' } 27677 */ 27678 function omitBy(object, predicate) { 27679 return pickBy(object, negate(getIteratee(predicate))); 27680 } 27681 27682 /** 27683 * Creates an object composed of the picked `object` properties. 27684 * 27685 * @static 27686 * @since 0.1.0 27687 * @memberOf _ 27688 * @category Object 27689 * @param {Object} object The source object. 27690 * @param {...(string|string[])} [paths] The property paths to pick. 27691 * @returns {Object} Returns the new object. 27692 * @example 27693 * 27694 * var object = { 'a': 1, 'b': '2', 'c': 3 }; 27695 * 27696 * _.pick(object, ['a', 'c']); 27697 * // => { 'a': 1, 'c': 3 } 27698 */ 27699 var pick = flatRest(function(object, paths) { 27700 return object == null ? {} : basePick(object, paths); 27701 }); 27702 27703 /** 27704 * Creates an object composed of the `object` properties `predicate` returns 27705 * truthy for. The predicate is invoked with two arguments: (value, key). 27706 * 27707 * @static 27708 * @memberOf _ 27709 * @since 4.0.0 27710 * @category Object 27711 * @param {Object} object The source object. 27712 * @param {Function} [predicate=_.identity] The function invoked per property. 27713 * @returns {Object} Returns the new object. 27714 * @example 27715 * 27716 * var object = { 'a': 1, 'b': '2', 'c': 3 }; 27717 * 27718 * _.pickBy(object, _.isNumber); 27719 * // => { 'a': 1, 'c': 3 } 27720 */ 27721 function pickBy(object, predicate) { 27722 if (object == null) { 27723 return {}; 27724 } 27725 var props = arrayMap(getAllKeysIn(object), function(prop) { 27726 return [prop]; 27727 }); 27728 predicate = getIteratee(predicate); 27729 return basePickBy(object, props, function(value, path) { 27730 return predicate(value, path[0]); 27731 }); 27732 } 27733 27734 /** 27735 * This method is like `_.get` except that if the resolved value is a 27736 * function it's invoked with the `this` binding of its parent object and 27737 * its result is returned. 27738 * 27739 * @static 27740 * @since 0.1.0 27741 * @memberOf _ 27742 * @category Object 27743 * @param {Object} object The object to query. 27744 * @param {Array|string} path The path of the property to resolve. 27745 * @param {*} [defaultValue] The value returned for `undefined` resolved values. 27746 * @returns {*} Returns the resolved value. 27747 * @example 27748 * 27749 * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; 27750 * 27751 * _.result(object, 'a[0].b.c1'); 27752 * // => 3 27753 * 27754 * _.result(object, 'a[0].b.c2'); 27755 * // => 4 27756 * 27757 * _.result(object, 'a[0].b.c3', 'default'); 27758 * // => 'default' 27759 * 27760 * _.result(object, 'a[0].b.c3', _.constant('default')); 27761 * // => 'default' 27762 */ 27763 function result(object, path, defaultValue) { 27764 path = castPath(path, object); 27765 27766 var index = -1, 27767 length = path.length; 27768 27769 // Ensure the loop is entered when path is empty. 27770 if (!length) { 27771 length = 1; 27772 object = undefined; 27773 } 27774 while (++index < length) { 27775 var value = object == null ? undefined : object[toKey(path[index])]; 27776 if (value === undefined) { 27777 index = length; 27778 value = defaultValue; 27779 } 27780 object = isFunction(value) ? value.call(object) : value; 27781 } 27782 return object; 27783 } 27784 27785 /** 27786 * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, 27787 * it's created. Arrays are created for missing index properties while objects 27788 * are created for all other missing properties. Use `_.setWith` to customize 27789 * `path` creation. 27790 * 27791 * **Note:** This method mutates `object`. 27792 * 27793 * @static 27794 * @memberOf _ 27795 * @since 3.7.0 27796 * @category Object 27797 * @param {Object} object The object to modify. 27798 * @param {Array|string} path The path of the property to set. 27799 * @param {*} value The value to set. 27800 * @returns {Object} Returns `object`. 27801 * @example 27802 * 27803 * var object = { 'a': [{ 'b': { 'c': 3 } }] }; 27804 * 27805 * _.set(object, 'a[0].b.c', 4); 27806 * console.log(object.a[0].b.c); 27807 * // => 4 27808 * 27809 * _.set(object, ['x', '0', 'y', 'z'], 5); 27810 * console.log(object.x[0].y.z); 27811 * // => 5 27812 */ 27813 function set(object, path, value) { 27814 return object == null ? object : baseSet(object, path, value); 27815 } 27816 27817 /** 27818 * This method is like `_.set` except that it accepts `customizer` which is 27819 * invoked to produce the objects of `path`. If `customizer` returns `undefined` 27820 * path creation is handled by the method instead. The `customizer` is invoked 27821 * with three arguments: (nsValue, key, nsObject). 27822 * 27823 * **Note:** This method mutates `object`. 27824 * 27825 * @static 27826 * @memberOf _ 27827 * @since 4.0.0 27828 * @category Object 27829 * @param {Object} object The object to modify. 27830 * @param {Array|string} path The path of the property to set. 27831 * @param {*} value The value to set. 27832 * @param {Function} [customizer] The function to customize assigned values. 27833 * @returns {Object} Returns `object`. 27834 * @example 27835 * 27836 * var object = {}; 27837 * 27838 * _.setWith(object, '[0][1]', 'a', Object); 27839 * // => { '0': { '1': 'a' } } 27840 */ 27841 function setWith(object, path, value, customizer) { 27842 customizer = typeof customizer == 'function' ? customizer : undefined; 27843 return object == null ? object : baseSet(object, path, value, customizer); 27844 } 27845 27846 /** 27847 * Creates an array of own enumerable string keyed-value pairs for `object` 27848 * which can be consumed by `_.fromPairs`. If `object` is a map or set, its 27849 * entries are returned. 27850 * 27851 * @static 27852 * @memberOf _ 27853 * @since 4.0.0 27854 * @alias entries 27855 * @category Object 27856 * @param {Object} object The object to query. 27857 * @returns {Array} Returns the key-value pairs. 27858 * @example 27859 * 27860 * function Foo() { 27861 * this.a = 1; 27862 * this.b = 2; 27863 * } 27864 * 27865 * Foo.prototype.c = 3; 27866 * 27867 * _.toPairs(new Foo); 27868 * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) 27869 */ 27870 var toPairs = createToPairs(keys); 27871 27872 /** 27873 * Creates an array of own and inherited enumerable string keyed-value pairs 27874 * for `object` which can be consumed by `_.fromPairs`. If `object` is a map 27875 * or set, its entries are returned. 27876 * 27877 * @static 27878 * @memberOf _ 27879 * @since 4.0.0 27880 * @alias entriesIn 27881 * @category Object 27882 * @param {Object} object The object to query. 27883 * @returns {Array} Returns the key-value pairs. 27884 * @example 27885 * 27886 * function Foo() { 27887 * this.a = 1; 27888 * this.b = 2; 27889 * } 27890 * 27891 * Foo.prototype.c = 3; 27892 * 27893 * _.toPairsIn(new Foo); 27894 * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) 27895 */ 27896 var toPairsIn = createToPairs(keysIn); 27897 27898 /** 27899 * An alternative to `_.reduce`; this method transforms `object` to a new 27900 * `accumulator` object which is the result of running each of its own 27901 * enumerable string keyed properties thru `iteratee`, with each invocation 27902 * potentially mutating the `accumulator` object. If `accumulator` is not 27903 * provided, a new object with the same `[[Prototype]]` will be used. The 27904 * iteratee is invoked with four arguments: (accumulator, value, key, object). 27905 * Iteratee functions may exit iteration early by explicitly returning `false`. 27906 * 27907 * @static 27908 * @memberOf _ 27909 * @since 1.3.0 27910 * @category Object 27911 * @param {Object} object The object to iterate over. 27912 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 27913 * @param {*} [accumulator] The custom accumulator value. 27914 * @returns {*} Returns the accumulated value. 27915 * @example 27916 * 27917 * _.transform([2, 3, 4], function(result, n) { 27918 * result.push(n *= n); 27919 * return n % 2 == 0; 27920 * }, []); 27921 * // => [4, 9] 27922 * 27923 * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { 27924 * (result[value] || (result[value] = [])).push(key); 27925 * }, {}); 27926 * // => { '1': ['a', 'c'], '2': ['b'] } 27927 */ 27928 function transform(object, iteratee, accumulator) { 27929 var isArr = isArray(object), 27930 isArrLike = isArr || isBuffer(object) || isTypedArray(object); 27931 27932 iteratee = getIteratee(iteratee, 4); 27933 if (accumulator == null) { 27934 var Ctor = object && object.constructor; 27935 if (isArrLike) { 27936 accumulator = isArr ? new Ctor : []; 27937 } 27938 else if (isObject(object)) { 27939 accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; 27940 } 27941 else { 27942 accumulator = {}; 27943 } 27944 } 27945 (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { 27946 return iteratee(accumulator, value, index, object); 27947 }); 27948 return accumulator; 27949 } 27950 27951 /** 27952 * Removes the property at `path` of `object`. 27953 * 27954 * **Note:** This method mutates `object`. 27955 * 27956 * @static 27957 * @memberOf _ 27958 * @since 4.0.0 27959 * @category Object 27960 * @param {Object} object The object to modify. 27961 * @param {Array|string} path The path of the property to unset. 27962 * @returns {boolean} Returns `true` if the property is deleted, else `false`. 27963 * @example 27964 * 27965 * var object = { 'a': [{ 'b': { 'c': 7 } }] }; 27966 * _.unset(object, 'a[0].b.c'); 27967 * // => true 27968 * 27969 * console.log(object); 27970 * // => { 'a': [{ 'b': {} }] }; 27971 * 27972 * _.unset(object, ['a', '0', 'b', 'c']); 27973 * // => true 27974 * 27975 * console.log(object); 27976 * // => { 'a': [{ 'b': {} }] }; 27977 */ 27978 function unset(object, path) { 27979 return object == null ? true : baseUnset(object, path); 27980 } 27981 27982 /** 27983 * This method is like `_.set` except that accepts `updater` to produce the 27984 * value to set. Use `_.updateWith` to customize `path` creation. The `updater` 27985 * is invoked with one argument: (value). 27986 * 27987 * **Note:** This method mutates `object`. 27988 * 27989 * @static 27990 * @memberOf _ 27991 * @since 4.6.0 27992 * @category Object 27993 * @param {Object} object The object to modify. 27994 * @param {Array|string} path The path of the property to set. 27995 * @param {Function} updater The function to produce the updated value. 27996 * @returns {Object} Returns `object`. 27997 * @example 27998 * 27999 * var object = { 'a': [{ 'b': { 'c': 3 } }] }; 28000 * 28001 * _.update(object, 'a[0].b.c', function(n) { return n * n; }); 28002 * console.log(object.a[0].b.c); 28003 * // => 9 28004 * 28005 * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); 28006 * console.log(object.x[0].y.z); 28007 * // => 0 28008 */ 28009 function update(object, path, updater) { 28010 return object == null ? object : baseUpdate(object, path, castFunction(updater)); 28011 } 28012 28013 /** 28014 * This method is like `_.update` except that it accepts `customizer` which is 28015 * invoked to produce the objects of `path`. If `customizer` returns `undefined` 28016 * path creation is handled by the method instead. The `customizer` is invoked 28017 * with three arguments: (nsValue, key, nsObject). 28018 * 28019 * **Note:** This method mutates `object`. 28020 * 28021 * @static 28022 * @memberOf _ 28023 * @since 4.6.0 28024 * @category Object 28025 * @param {Object} object The object to modify. 28026 * @param {Array|string} path The path of the property to set. 28027 * @param {Function} updater The function to produce the updated value. 28028 * @param {Function} [customizer] The function to customize assigned values. 28029 * @returns {Object} Returns `object`. 28030 * @example 28031 * 28032 * var object = {}; 28033 * 28034 * _.updateWith(object, '[0][1]', _.constant('a'), Object); 28035 * // => { '0': { '1': 'a' } } 28036 */ 28037 function updateWith(object, path, updater, customizer) { 28038 customizer = typeof customizer == 'function' ? customizer : undefined; 28039 return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); 28040 } 28041 28042 /** 28043 * Creates an array of the own enumerable string keyed property values of `object`. 28044 * 28045 * **Note:** Non-object values are coerced to objects. 28046 * 28047 * @static 28048 * @since 0.1.0 28049 * @memberOf _ 28050 * @category Object 28051 * @param {Object} object The object to query. 28052 * @returns {Array} Returns the array of property values. 28053 * @example 28054 * 28055 * function Foo() { 28056 * this.a = 1; 28057 * this.b = 2; 28058 * } 28059 * 28060 * Foo.prototype.c = 3; 28061 * 28062 * _.values(new Foo); 28063 * // => [1, 2] (iteration order is not guaranteed) 28064 * 28065 * _.values('hi'); 28066 * // => ['h', 'i'] 28067 */ 28068 function values(object) { 28069 return object == null ? [] : baseValues(object, keys(object)); 28070 } 28071 28072 /** 28073 * Creates an array of the own and inherited enumerable string keyed property 28074 * values of `object`. 28075 * 28076 * **Note:** Non-object values are coerced to objects. 28077 * 28078 * @static 28079 * @memberOf _ 28080 * @since 3.0.0 28081 * @category Object 28082 * @param {Object} object The object to query. 28083 * @returns {Array} Returns the array of property values. 28084 * @example 28085 * 28086 * function Foo() { 28087 * this.a = 1; 28088 * this.b = 2; 28089 * } 28090 * 28091 * Foo.prototype.c = 3; 28092 * 28093 * _.valuesIn(new Foo); 28094 * // => [1, 2, 3] (iteration order is not guaranteed) 28095 */ 28096 function valuesIn(object) { 28097 return object == null ? [] : baseValues(object, keysIn(object)); 28098 } 28099 28100 /*------------------------------------------------------------------------*/ 28101 28102 /** 28103 * Clamps `number` within the inclusive `lower` and `upper` bounds. 28104 * 28105 * @static 28106 * @memberOf _ 28107 * @since 4.0.0 28108 * @category Number 28109 * @param {number} number The number to clamp. 28110 * @param {number} [lower] The lower bound. 28111 * @param {number} upper The upper bound. 28112 * @returns {number} Returns the clamped number. 28113 * @example 28114 * 28115 * _.clamp(-10, -5, 5); 28116 * // => -5 28117 * 28118 * _.clamp(10, -5, 5); 28119 * // => 5 28120 */ 28121 function clamp(number, lower, upper) { 28122 if (upper === undefined) { 28123 upper = lower; 28124 lower = undefined; 28125 } 28126 if (upper !== undefined) { 28127 upper = toNumber(upper); 28128 upper = upper === upper ? upper : 0; 28129 } 28130 if (lower !== undefined) { 28131 lower = toNumber(lower); 28132 lower = lower === lower ? lower : 0; 28133 } 28134 return baseClamp(toNumber(number), lower, upper); 28135 } 28136 28137 /** 28138 * Checks if `n` is between `start` and up to, but not including, `end`. If 28139 * `end` is not specified, it's set to `start` with `start` then set to `0`. 28140 * If `start` is greater than `end` the params are swapped to support 28141 * negative ranges. 28142 * 28143 * @static 28144 * @memberOf _ 28145 * @since 3.3.0 28146 * @category Number 28147 * @param {number} number The number to check. 28148 * @param {number} [start=0] The start of the range. 28149 * @param {number} end The end of the range. 28150 * @returns {boolean} Returns `true` if `number` is in the range, else `false`. 28151 * @see _.range, _.rangeRight 28152 * @example 28153 * 28154 * _.inRange(3, 2, 4); 28155 * // => true 28156 * 28157 * _.inRange(4, 8); 28158 * // => true 28159 * 28160 * _.inRange(4, 2); 28161 * // => false 28162 * 28163 * _.inRange(2, 2); 28164 * // => false 28165 * 28166 * _.inRange(1.2, 2); 28167 * // => true 28168 * 28169 * _.inRange(5.2, 4); 28170 * // => false 28171 * 28172 * _.inRange(-3, -2, -6); 28173 * // => true 28174 */ 28175 function inRange(number, start, end) { 28176 start = toFinite(start); 28177 if (end === undefined) { 28178 end = start; 28179 start = 0; 28180 } else { 28181 end = toFinite(end); 28182 } 28183 number = toNumber(number); 28184 return baseInRange(number, start, end); 28185 } 28186 28187 /** 28188 * Produces a random number between the inclusive `lower` and `upper` bounds. 28189 * If only one argument is provided a number between `0` and the given number 28190 * is returned. If `floating` is `true`, or either `lower` or `upper` are 28191 * floats, a floating-point number is returned instead of an integer. 28192 * 28193 * **Note:** JavaScript follows the IEEE-754 standard for resolving 28194 * floating-point values which can produce unexpected results. 28195 * 28196 * @static 28197 * @memberOf _ 28198 * @since 0.7.0 28199 * @category Number 28200 * @param {number} [lower=0] The lower bound. 28201 * @param {number} [upper=1] The upper bound. 28202 * @param {boolean} [floating] Specify returning a floating-point number. 28203 * @returns {number} Returns the random number. 28204 * @example 28205 * 28206 * _.random(0, 5); 28207 * // => an integer between 0 and 5 28208 * 28209 * _.random(5); 28210 * // => also an integer between 0 and 5 28211 * 28212 * _.random(5, true); 28213 * // => a floating-point number between 0 and 5 28214 * 28215 * _.random(1.2, 5.2); 28216 * // => a floating-point number between 1.2 and 5.2 28217 */ 28218 function random(lower, upper, floating) { 28219 if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { 28220 upper = floating = undefined; 28221 } 28222 if (floating === undefined) { 28223 if (typeof upper == 'boolean') { 28224 floating = upper; 28225 upper = undefined; 28226 } 28227 else if (typeof lower == 'boolean') { 28228 floating = lower; 28229 lower = undefined; 28230 } 28231 } 28232 if (lower === undefined && upper === undefined) { 28233 lower = 0; 28234 upper = 1; 28235 } 28236 else { 28237 lower = toFinite(lower); 28238 if (upper === undefined) { 28239 upper = lower; 28240 lower = 0; 28241 } else { 28242 upper = toFinite(upper); 28243 } 28244 } 28245 if (lower > upper) { 28246 var temp = lower; 28247 lower = upper; 28248 upper = temp; 28249 } 28250 if (floating || lower % 1 || upper % 1) { 28251 var rand = nativeRandom(); 28252 return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); 28253 } 28254 return baseRandom(lower, upper); 28255 } 28256 28257 /*------------------------------------------------------------------------*/ 28258 28259 /** 28260 * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). 28261 * 28262 * @static 28263 * @memberOf _ 28264 * @since 3.0.0 28265 * @category String 28266 * @param {string} [string=''] The string to convert. 28267 * @returns {string} Returns the camel cased string. 28268 * @example 28269 * 28270 * _.camelCase('Foo Bar'); 28271 * // => 'fooBar' 28272 * 28273 * _.camelCase('--foo-bar--'); 28274 * // => 'fooBar' 28275 * 28276 * _.camelCase('__FOO_BAR__'); 28277 * // => 'fooBar' 28278 */ 28279 var camelCase = createCompounder(function(result, word, index) { 28280 word = word.toLowerCase(); 28281 return result + (index ? capitalize(word) : word); 28282 }); 28283 28284 /** 28285 * Converts the first character of `string` to upper case and the remaining 28286 * to lower case. 28287 * 28288 * @static 28289 * @memberOf _ 28290 * @since 3.0.0 28291 * @category String 28292 * @param {string} [string=''] The string to capitalize. 28293 * @returns {string} Returns the capitalized string. 28294 * @example 28295 * 28296 * _.capitalize('FRED'); 28297 * // => 'Fred' 28298 */ 28299 function capitalize(string) { 28300 return upperFirst(toString(string).toLowerCase()); 28301 } 28302 28303 /** 28304 * Deburrs `string` by converting 28305 * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) 28306 * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) 28307 * letters to basic Latin letters and removing 28308 * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). 28309 * 28310 * @static 28311 * @memberOf _ 28312 * @since 3.0.0 28313 * @category String 28314 * @param {string} [string=''] The string to deburr. 28315 * @returns {string} Returns the deburred string. 28316 * @example 28317 * 28318 * _.deburr('déjà vu'); 28319 * // => 'deja vu' 28320 */ 28321 function deburr(string) { 28322 string = toString(string); 28323 return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); 28324 } 28325 28326 /** 28327 * Checks if `string` ends with the given target string. 28328 * 28329 * @static 28330 * @memberOf _ 28331 * @since 3.0.0 28332 * @category String 28333 * @param {string} [string=''] The string to inspect. 28334 * @param {string} [target] The string to search for. 28335 * @param {number} [position=string.length] The position to search up to. 28336 * @returns {boolean} Returns `true` if `string` ends with `target`, 28337 * else `false`. 28338 * @example 28339 * 28340 * _.endsWith('abc', 'c'); 28341 * // => true 28342 * 28343 * _.endsWith('abc', 'b'); 28344 * // => false 28345 * 28346 * _.endsWith('abc', 'b', 2); 28347 * // => true 28348 */ 28349 function endsWith(string, target, position) { 28350 string = toString(string); 28351 target = baseToString(target); 28352 28353 var length = string.length; 28354 position = position === undefined 28355 ? length 28356 : baseClamp(toInteger(position), 0, length); 28357 28358 var end = position; 28359 position -= target.length; 28360 return position >= 0 && string.slice(position, end) == target; 28361 } 28362 28363 /** 28364 * Converts the characters "&", "<", ">", '"', and "'" in `string` to their 28365 * corresponding HTML entities. 28366 * 28367 * **Note:** No other characters are escaped. To escape additional 28368 * characters use a third-party library like [_he_](https://mths.be/he). 28369 * 28370 * Though the ">" character is escaped for symmetry, characters like 28371 * ">" and "/" don't need escaping in HTML and have no special meaning 28372 * unless they're part of a tag or unquoted attribute value. See 28373 * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) 28374 * (under "semi-related fun fact") for more details. 28375 * 28376 * When working with HTML you should always 28377 * [quote attribute values](http://wonko.com/post/html-escaping) to reduce 28378 * XSS vectors. 28379 * 28380 * @static 28381 * @since 0.1.0 28382 * @memberOf _ 28383 * @category String 28384 * @param {string} [string=''] The string to escape. 28385 * @returns {string} Returns the escaped string. 28386 * @example 28387 * 28388 * _.escape('fred, barney, & pebbles'); 28389 * // => 'fred, barney, & pebbles' 28390 */ 28391 function escape(string) { 28392 string = toString(string); 28393 return (string && reHasUnescapedHtml.test(string)) 28394 ? string.replace(reUnescapedHtml, escapeHtmlChar) 28395 : string; 28396 } 28397 28398 /** 28399 * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", 28400 * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. 28401 * 28402 * @static 28403 * @memberOf _ 28404 * @since 3.0.0 28405 * @category String 28406 * @param {string} [string=''] The string to escape. 28407 * @returns {string} Returns the escaped string. 28408 * @example 28409 * 28410 * _.escapeRegExp('[lodash](https://lodash.com/)'); 28411 * // => '\[lodash\]\(https://lodash\.com/\)' 28412 */ 28413 function escapeRegExp(string) { 28414 string = toString(string); 28415 return (string && reHasRegExpChar.test(string)) 28416 ? string.replace(reRegExpChar, '\\$&') 28417 : string; 28418 } 28419 28420 /** 28421 * Converts `string` to 28422 * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). 28423 * 28424 * @static 28425 * @memberOf _ 28426 * @since 3.0.0 28427 * @category String 28428 * @param {string} [string=''] The string to convert. 28429 * @returns {string} Returns the kebab cased string. 28430 * @example 28431 * 28432 * _.kebabCase('Foo Bar'); 28433 * // => 'foo-bar' 28434 * 28435 * _.kebabCase('fooBar'); 28436 * // => 'foo-bar' 28437 * 28438 * _.kebabCase('__FOO_BAR__'); 28439 * // => 'foo-bar' 28440 */ 28441 var kebabCase = createCompounder(function(result, word, index) { 28442 return result + (index ? '-' : '') + word.toLowerCase(); 28443 }); 28444 28445 /** 28446 * Converts `string`, as space separated words, to lower case. 28447 * 28448 * @static 28449 * @memberOf _ 28450 * @since 4.0.0 28451 * @category String 28452 * @param {string} [string=''] The string to convert. 28453 * @returns {string} Returns the lower cased string. 28454 * @example 28455 * 28456 * _.lowerCase('--Foo-Bar--'); 28457 * // => 'foo bar' 28458 * 28459 * _.lowerCase('fooBar'); 28460 * // => 'foo bar' 28461 * 28462 * _.lowerCase('__FOO_BAR__'); 28463 * // => 'foo bar' 28464 */ 28465 var lowerCase = createCompounder(function(result, word, index) { 28466 return result + (index ? ' ' : '') + word.toLowerCase(); 28467 }); 28468 28469 /** 28470 * Converts the first character of `string` to lower case. 28471 * 28472 * @static 28473 * @memberOf _ 28474 * @since 4.0.0 28475 * @category String 28476 * @param {string} [string=''] The string to convert. 28477 * @returns {string} Returns the converted string. 28478 * @example 28479 * 28480 * _.lowerFirst('Fred'); 28481 * // => 'fred' 28482 * 28483 * _.lowerFirst('FRED'); 28484 * // => 'fRED' 28485 */ 28486 var lowerFirst = createCaseFirst('toLowerCase'); 28487 28488 /** 28489 * Pads `string` on the left and right sides if it's shorter than `length`. 28490 * Padding characters are truncated if they can't be evenly divided by `length`. 28491 * 28492 * @static 28493 * @memberOf _ 28494 * @since 3.0.0 28495 * @category String 28496 * @param {string} [string=''] The string to pad. 28497 * @param {number} [length=0] The padding length. 28498 * @param {string} [chars=' '] The string used as padding. 28499 * @returns {string} Returns the padded string. 28500 * @example 28501 * 28502 * _.pad('abc', 8); 28503 * // => ' abc ' 28504 * 28505 * _.pad('abc', 8, '_-'); 28506 * // => '_-abc_-_' 28507 * 28508 * _.pad('abc', 3); 28509 * // => 'abc' 28510 */ 28511 function pad(string, length, chars) { 28512 string = toString(string); 28513 length = toInteger(length); 28514 28515 var strLength = length ? stringSize(string) : 0; 28516 if (!length || strLength >= length) { 28517 return string; 28518 } 28519 var mid = (length - strLength) / 2; 28520 return ( 28521 createPadding(nativeFloor(mid), chars) + 28522 string + 28523 createPadding(nativeCeil(mid), chars) 28524 ); 28525 } 28526 28527 /** 28528 * Pads `string` on the right side if it's shorter than `length`. Padding 28529 * characters are truncated if they exceed `length`. 28530 * 28531 * @static 28532 * @memberOf _ 28533 * @since 4.0.0 28534 * @category String 28535 * @param {string} [string=''] The string to pad. 28536 * @param {number} [length=0] The padding length. 28537 * @param {string} [chars=' '] The string used as padding. 28538 * @returns {string} Returns the padded string. 28539 * @example 28540 * 28541 * _.padEnd('abc', 6); 28542 * // => 'abc ' 28543 * 28544 * _.padEnd('abc', 6, '_-'); 28545 * // => 'abc_-_' 28546 * 28547 * _.padEnd('abc', 3); 28548 * // => 'abc' 28549 */ 28550 function padEnd(string, length, chars) { 28551 string = toString(string); 28552 length = toInteger(length); 28553 28554 var strLength = length ? stringSize(string) : 0; 28555 return (length && strLength < length) 28556 ? (string + createPadding(length - strLength, chars)) 28557 : string; 28558 } 28559 28560 /** 28561 * Pads `string` on the left side if it's shorter than `length`. Padding 28562 * characters are truncated if they exceed `length`. 28563 * 28564 * @static 28565 * @memberOf _ 28566 * @since 4.0.0 28567 * @category String 28568 * @param {string} [string=''] The string to pad. 28569 * @param {number} [length=0] The padding length. 28570 * @param {string} [chars=' '] The string used as padding. 28571 * @returns {string} Returns the padded string. 28572 * @example 28573 * 28574 * _.padStart('abc', 6); 28575 * // => ' abc' 28576 * 28577 * _.padStart('abc', 6, '_-'); 28578 * // => '_-_abc' 28579 * 28580 * _.padStart('abc', 3); 28581 * // => 'abc' 28582 */ 28583 function padStart(string, length, chars) { 28584 string = toString(string); 28585 length = toInteger(length); 28586 28587 var strLength = length ? stringSize(string) : 0; 28588 return (length && strLength < length) 28589 ? (createPadding(length - strLength, chars) + string) 28590 : string; 28591 } 28592 28593 /** 28594 * Converts `string` to an integer of the specified radix. If `radix` is 28595 * `undefined` or `0`, a `radix` of `10` is used unless `value` is a 28596 * hexadecimal, in which case a `radix` of `16` is used. 28597 * 28598 * **Note:** This method aligns with the 28599 * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. 28600 * 28601 * @static 28602 * @memberOf _ 28603 * @since 1.1.0 28604 * @category String 28605 * @param {string} string The string to convert. 28606 * @param {number} [radix=10] The radix to interpret `value` by. 28607 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 28608 * @returns {number} Returns the converted integer. 28609 * @example 28610 * 28611 * _.parseInt('08'); 28612 * // => 8 28613 * 28614 * _.map(['6', '08', '10'], _.parseInt); 28615 * // => [6, 8, 10] 28616 */ 28617 function parseInt(string, radix, guard) { 28618 if (guard || radix == null) { 28619 radix = 0; 28620 } else if (radix) { 28621 radix = +radix; 28622 } 28623 return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); 28624 } 28625 28626 /** 28627 * Repeats the given string `n` times. 28628 * 28629 * @static 28630 * @memberOf _ 28631 * @since 3.0.0 28632 * @category String 28633 * @param {string} [string=''] The string to repeat. 28634 * @param {number} [n=1] The number of times to repeat the string. 28635 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 28636 * @returns {string} Returns the repeated string. 28637 * @example 28638 * 28639 * _.repeat('*', 3); 28640 * // => '***' 28641 * 28642 * _.repeat('abc', 2); 28643 * // => 'abcabc' 28644 * 28645 * _.repeat('abc', 0); 28646 * // => '' 28647 */ 28648 function repeat(string, n, guard) { 28649 if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { 28650 n = 1; 28651 } else { 28652 n = toInteger(n); 28653 } 28654 return baseRepeat(toString(string), n); 28655 } 28656 28657 /** 28658 * Replaces matches for `pattern` in `string` with `replacement`. 28659 * 28660 * **Note:** This method is based on 28661 * [`String#replace`](https://mdn.io/String/replace). 28662 * 28663 * @static 28664 * @memberOf _ 28665 * @since 4.0.0 28666 * @category String 28667 * @param {string} [string=''] The string to modify. 28668 * @param {RegExp|string} pattern The pattern to replace. 28669 * @param {Function|string} replacement The match replacement. 28670 * @returns {string} Returns the modified string. 28671 * @example 28672 * 28673 * _.replace('Hi Fred', 'Fred', 'Barney'); 28674 * // => 'Hi Barney' 28675 */ 28676 function replace() { 28677 var args = arguments, 28678 string = toString(args[0]); 28679 28680 return args.length < 3 ? string : string.replace(args[1], args[2]); 28681 } 28682 28683 /** 28684 * Converts `string` to 28685 * [snake case](https://en.wikipedia.org/wiki/Snake_case). 28686 * 28687 * @static 28688 * @memberOf _ 28689 * @since 3.0.0 28690 * @category String 28691 * @param {string} [string=''] The string to convert. 28692 * @returns {string} Returns the snake cased string. 28693 * @example 28694 * 28695 * _.snakeCase('Foo Bar'); 28696 * // => 'foo_bar' 28697 * 28698 * _.snakeCase('fooBar'); 28699 * // => 'foo_bar' 28700 * 28701 * _.snakeCase('--FOO-BAR--'); 28702 * // => 'foo_bar' 28703 */ 28704 var snakeCase = createCompounder(function(result, word, index) { 28705 return result + (index ? '_' : '') + word.toLowerCase(); 28706 }); 28707 28708 /** 28709 * Splits `string` by `separator`. 28710 * 28711 * **Note:** This method is based on 28712 * [`String#split`](https://mdn.io/String/split). 28713 * 28714 * @static 28715 * @memberOf _ 28716 * @since 4.0.0 28717 * @category String 28718 * @param {string} [string=''] The string to split. 28719 * @param {RegExp|string} separator The separator pattern to split by. 28720 * @param {number} [limit] The length to truncate results to. 28721 * @returns {Array} Returns the string segments. 28722 * @example 28723 * 28724 * _.split('a-b-c', '-', 2); 28725 * // => ['a', 'b'] 28726 */ 28727 function split(string, separator, limit) { 28728 if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { 28729 separator = limit = undefined; 28730 } 28731 limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; 28732 if (!limit) { 28733 return []; 28734 } 28735 string = toString(string); 28736 if (string && ( 28737 typeof separator == 'string' || 28738 (separator != null && !isRegExp(separator)) 28739 )) { 28740 separator = baseToString(separator); 28741 if (!separator && hasUnicode(string)) { 28742 return castSlice(stringToArray(string), 0, limit); 28743 } 28744 } 28745 return string.split(separator, limit); 28746 } 28747 28748 /** 28749 * Converts `string` to 28750 * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). 28751 * 28752 * @static 28753 * @memberOf _ 28754 * @since 3.1.0 28755 * @category String 28756 * @param {string} [string=''] The string to convert. 28757 * @returns {string} Returns the start cased string. 28758 * @example 28759 * 28760 * _.startCase('--foo-bar--'); 28761 * // => 'Foo Bar' 28762 * 28763 * _.startCase('fooBar'); 28764 * // => 'Foo Bar' 28765 * 28766 * _.startCase('__FOO_BAR__'); 28767 * // => 'FOO BAR' 28768 */ 28769 var startCase = createCompounder(function(result, word, index) { 28770 return result + (index ? ' ' : '') + upperFirst(word); 28771 }); 28772 28773 /** 28774 * Checks if `string` starts with the given target string. 28775 * 28776 * @static 28777 * @memberOf _ 28778 * @since 3.0.0 28779 * @category String 28780 * @param {string} [string=''] The string to inspect. 28781 * @param {string} [target] The string to search for. 28782 * @param {number} [position=0] The position to search from. 28783 * @returns {boolean} Returns `true` if `string` starts with `target`, 28784 * else `false`. 28785 * @example 28786 * 28787 * _.startsWith('abc', 'a'); 28788 * // => true 28789 * 28790 * _.startsWith('abc', 'b'); 28791 * // => false 28792 * 28793 * _.startsWith('abc', 'b', 1); 28794 * // => true 28795 */ 28796 function startsWith(string, target, position) { 28797 string = toString(string); 28798 position = position == null 28799 ? 0 28800 : baseClamp(toInteger(position), 0, string.length); 28801 28802 target = baseToString(target); 28803 return string.slice(position, position + target.length) == target; 28804 } 28805 28806 /** 28807 * Creates a compiled template function that can interpolate data properties 28808 * in "interpolate" delimiters, HTML-escape interpolated data properties in 28809 * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data 28810 * properties may be accessed as free variables in the template. If a setting 28811 * object is given, it takes precedence over `_.templateSettings` values. 28812 * 28813 * **Note:** In the development build `_.template` utilizes 28814 * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) 28815 * for easier debugging. 28816 * 28817 * For more information on precompiling templates see 28818 * [lodash's custom builds documentation](https://lodash.com/custom-builds). 28819 * 28820 * For more information on Chrome extension sandboxes see 28821 * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). 28822 * 28823 * @static 28824 * @since 0.1.0 28825 * @memberOf _ 28826 * @category String 28827 * @param {string} [string=''] The template string. 28828 * @param {Object} [options={}] The options object. 28829 * @param {RegExp} [options.escape=_.templateSettings.escape] 28830 * The HTML "escape" delimiter. 28831 * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] 28832 * The "evaluate" delimiter. 28833 * @param {Object} [options.imports=_.templateSettings.imports] 28834 * An object to import into the template as free variables. 28835 * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] 28836 * The "interpolate" delimiter. 28837 * @param {string} [options.sourceURL='lodash.templateSources[n]'] 28838 * The sourceURL of the compiled template. 28839 * @param {string} [options.variable='obj'] 28840 * The data object variable name. 28841 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 28842 * @returns {Function} Returns the compiled template function. 28843 * @example 28844 * 28845 * // Use the "interpolate" delimiter to create a compiled template. 28846 * var compiled = _.template('hello <%= user %>!'); 28847 * compiled({ 'user': 'fred' }); 28848 * // => 'hello fred!' 28849 * 28850 * // Use the HTML "escape" delimiter to escape data property values. 28851 * var compiled = _.template('<b><%- value %></b>'); 28852 * compiled({ 'value': '<script>' }); 28853 * // => '<b><script></b>' 28854 * 28855 * // Use the "evaluate" delimiter to execute JavaScript and generate HTML. 28856 * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>'); 28857 * compiled({ 'users': ['fred', 'barney'] }); 28858 * // => '<li>fred</li><li>barney</li>' 28859 * 28860 * // Use the internal `print` function in "evaluate" delimiters. 28861 * var compiled = _.template('<% print("hello " + user); %>!'); 28862 * compiled({ 'user': 'barney' }); 28863 * // => 'hello barney!' 28864 * 28865 * // Use the ES template literal delimiter as an "interpolate" delimiter. 28866 * // Disable support by replacing the "interpolate" delimiter. 28867 * var compiled = _.template('hello ${ user }!'); 28868 * compiled({ 'user': 'pebbles' }); 28869 * // => 'hello pebbles!' 28870 * 28871 * // Use backslashes to treat delimiters as plain text. 28872 * var compiled = _.template('<%= "\\<%- value %\\>" %>'); 28873 * compiled({ 'value': 'ignored' }); 28874 * // => '<%- value %>' 28875 * 28876 * // Use the `imports` option to import `jQuery` as `jq`. 28877 * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>'; 28878 * var compiled = _.template(text, { 'imports': { 'jq': jQuery } }); 28879 * compiled({ 'users': ['fred', 'barney'] }); 28880 * // => '<li>fred</li><li>barney</li>' 28881 * 28882 * // Use the `sourceURL` option to specify a custom sourceURL for the template. 28883 * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' }); 28884 * compiled(data); 28885 * // => Find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector. 28886 * 28887 * // Use the `variable` option to ensure a with-statement isn't used in the compiled template. 28888 * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' }); 28889 * compiled.source; 28890 * // => function(data) { 28891 * // var __t, __p = ''; 28892 * // __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!'; 28893 * // return __p; 28894 * // } 28895 * 28896 * // Use custom template delimiters. 28897 * _.templateSettings.interpolate = /{{([\s\S]+?)}}/g; 28898 * var compiled = _.template('hello {{ user }}!'); 28899 * compiled({ 'user': 'mustache' }); 28900 * // => 'hello mustache!' 28901 * 28902 * // Use the `source` property to inline compiled templates for meaningful 28903 * // line numbers in error messages and stack traces. 28904 * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\ 28905 * var JST = {\ 28906 * "main": ' + _.template(mainText).source + '\ 28907 * };\ 28908 * '); 28909 */ 28910 function template(string, options, guard) { 28911 // Based on John Resig's `tmpl` implementation 28912 // (http://ejohn.org/blog/javascript-micro-templating/) 28913 // and Laura Doktorova's doT.js (https://github.com/olado/doT). 28914 var settings = lodash.templateSettings; 28915 28916 if (guard && isIterateeCall(string, options, guard)) { 28917 options = undefined; 28918 } 28919 string = toString(string); 28920 options = assignInWith({}, options, settings, customDefaultsAssignIn); 28921 28922 var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn), 28923 importsKeys = keys(imports), 28924 importsValues = baseValues(imports, importsKeys); 28925 28926 var isEscaping, 28927 isEvaluating, 28928 index = 0, 28929 interpolate = options.interpolate || reNoMatch, 28930 source = "__p += '"; 28931 28932 // Compile the regexp to match each delimiter. 28933 var reDelimiters = RegExp( 28934 (options.escape || reNoMatch).source + '|' + 28935 interpolate.source + '|' + 28936 (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' + 28937 (options.evaluate || reNoMatch).source + '|$' 28938 , 'g'); 28939 28940 // Use a sourceURL for easier debugging. 28941 // The sourceURL gets injected into the source that's eval-ed, so be careful 28942 // to normalize all kinds of whitespace, so e.g. newlines (and unicode versions of it) can't sneak in 28943 // and escape the comment, thus injecting code that gets evaled. 28944 var sourceURL = '//# sourceURL=' + 28945 (hasOwnProperty.call(options, 'sourceURL') 28946 ? (options.sourceURL + '').replace(/\s/g, ' ') 28947 : ('lodash.templateSources[' + (++templateCounter) + ']') 28948 ) + '\n'; 28949 28950 string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) { 28951 interpolateValue || (interpolateValue = esTemplateValue); 28952 28953 // Escape characters that can't be included in string literals. 28954 source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar); 28955 28956 // Replace delimiters with snippets. 28957 if (escapeValue) { 28958 isEscaping = true; 28959 source += "' +\n__e(" + escapeValue + ") +\n'"; 28960 } 28961 if (evaluateValue) { 28962 isEvaluating = true; 28963 source += "';\n" + evaluateValue + ";\n__p += '"; 28964 } 28965 if (interpolateValue) { 28966 source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'"; 28967 } 28968 index = offset + match.length; 28969 28970 // The JS engine embedded in Adobe products needs `match` returned in 28971 // order to produce the correct `offset` value. 28972 return match; 28973 }); 28974 28975 source += "';\n"; 28976 28977 // If `variable` is not specified wrap a with-statement around the generated 28978 // code to add the data object to the top of the scope chain. 28979 var variable = hasOwnProperty.call(options, 'variable') && options.variable; 28980 if (!variable) { 28981 source = 'with (obj) {\n' + source + '\n}\n'; 28982 } 28983 // Throw an error if a forbidden character was found in `variable`, to prevent 28984 // potential command injection attacks. 28985 else if (reForbiddenIdentifierChars.test(variable)) { 28986 throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT); 28987 } 28988 28989 // Cleanup code by stripping empty strings. 28990 source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source) 28991 .replace(reEmptyStringMiddle, '$1') 28992 .replace(reEmptyStringTrailing, '$1;'); 28993 28994 // Frame code as the function body. 28995 source = 'function(' + (variable || 'obj') + ') {\n' + 28996 (variable 28997 ? '' 28998 : 'obj || (obj = {});\n' 28999 ) + 29000 "var __t, __p = ''" + 29001 (isEscaping 29002 ? ', __e = _.escape' 29003 : '' 29004 ) + 29005 (isEvaluating 29006 ? ', __j = Array.prototype.join;\n' + 29007 "function print() { __p += __j.call(arguments, '') }\n" 29008 : ';\n' 29009 ) + 29010 source + 29011 'return __p\n}'; 29012 29013 var result = attempt(function() { 29014 return Function(importsKeys, sourceURL + 'return ' + source) 29015 .apply(undefined, importsValues); 29016 }); 29017 29018 // Provide the compiled function's source by its `toString` method or 29019 // the `source` property as a convenience for inlining compiled templates. 29020 result.source = source; 29021 if (isError(result)) { 29022 throw result; 29023 } 29024 return result; 29025 } 29026 29027 /** 29028 * Converts `string`, as a whole, to lower case just like 29029 * [String#toLowerCase](https://mdn.io/toLowerCase). 29030 * 29031 * @static 29032 * @memberOf _ 29033 * @since 4.0.0 29034 * @category String 29035 * @param {string} [string=''] The string to convert. 29036 * @returns {string} Returns the lower cased string. 29037 * @example 29038 * 29039 * _.toLower('--Foo-Bar--'); 29040 * // => '--foo-bar--' 29041 * 29042 * _.toLower('fooBar'); 29043 * // => 'foobar' 29044 * 29045 * _.toLower('__FOO_BAR__'); 29046 * // => '__foo_bar__' 29047 */ 29048 function toLower(value) { 29049 return toString(value).toLowerCase(); 29050 } 29051 29052 /** 29053 * Converts `string`, as a whole, to upper case just like 29054 * [String#toUpperCase](https://mdn.io/toUpperCase). 29055 * 29056 * @static 29057 * @memberOf _ 29058 * @since 4.0.0 29059 * @category String 29060 * @param {string} [string=''] The string to convert. 29061 * @returns {string} Returns the upper cased string. 29062 * @example 29063 * 29064 * _.toUpper('--foo-bar--'); 29065 * // => '--FOO-BAR--' 29066 * 29067 * _.toUpper('fooBar'); 29068 * // => 'FOOBAR' 29069 * 29070 * _.toUpper('__foo_bar__'); 29071 * // => '__FOO_BAR__' 29072 */ 29073 function toUpper(value) { 29074 return toString(value).toUpperCase(); 29075 } 29076 29077 /** 29078 * Removes leading and trailing whitespace or specified characters from `string`. 29079 * 29080 * @static 29081 * @memberOf _ 29082 * @since 3.0.0 29083 * @category String 29084 * @param {string} [string=''] The string to trim. 29085 * @param {string} [chars=whitespace] The characters to trim. 29086 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 29087 * @returns {string} Returns the trimmed string. 29088 * @example 29089 * 29090 * _.trim(' abc '); 29091 * // => 'abc' 29092 * 29093 * _.trim('-_-abc-_-', '_-'); 29094 * // => 'abc' 29095 * 29096 * _.map([' foo ', ' bar '], _.trim); 29097 * // => ['foo', 'bar'] 29098 */ 29099 function trim(string, chars, guard) { 29100 string = toString(string); 29101 if (string && (guard || chars === undefined)) { 29102 return baseTrim(string); 29103 } 29104 if (!string || !(chars = baseToString(chars))) { 29105 return string; 29106 } 29107 var strSymbols = stringToArray(string), 29108 chrSymbols = stringToArray(chars), 29109 start = charsStartIndex(strSymbols, chrSymbols), 29110 end = charsEndIndex(strSymbols, chrSymbols) + 1; 29111 29112 return castSlice(strSymbols, start, end).join(''); 29113 } 29114 29115 /** 29116 * Removes trailing whitespace or specified characters from `string`. 29117 * 29118 * @static 29119 * @memberOf _ 29120 * @since 4.0.0 29121 * @category String 29122 * @param {string} [string=''] The string to trim. 29123 * @param {string} [chars=whitespace] The characters to trim. 29124 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 29125 * @returns {string} Returns the trimmed string. 29126 * @example 29127 * 29128 * _.trimEnd(' abc '); 29129 * // => ' abc' 29130 * 29131 * _.trimEnd('-_-abc-_-', '_-'); 29132 * // => '-_-abc' 29133 */ 29134 function trimEnd(string, chars, guard) { 29135 string = toString(string); 29136 if (string && (guard || chars === undefined)) { 29137 return string.slice(0, trimmedEndIndex(string) + 1); 29138 } 29139 if (!string || !(chars = baseToString(chars))) { 29140 return string; 29141 } 29142 var strSymbols = stringToArray(string), 29143 end = charsEndIndex(strSymbols, stringToArray(chars)) + 1; 29144 29145 return castSlice(strSymbols, 0, end).join(''); 29146 } 29147 29148 /** 29149 * Removes leading whitespace or specified characters from `string`. 29150 * 29151 * @static 29152 * @memberOf _ 29153 * @since 4.0.0 29154 * @category String 29155 * @param {string} [string=''] The string to trim. 29156 * @param {string} [chars=whitespace] The characters to trim. 29157 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 29158 * @returns {string} Returns the trimmed string. 29159 * @example 29160 * 29161 * _.trimStart(' abc '); 29162 * // => 'abc ' 29163 * 29164 * _.trimStart('-_-abc-_-', '_-'); 29165 * // => 'abc-_-' 29166 */ 29167 function trimStart(string, chars, guard) { 29168 string = toString(string); 29169 if (string && (guard || chars === undefined)) { 29170 return string.replace(reTrimStart, ''); 29171 } 29172 if (!string || !(chars = baseToString(chars))) { 29173 return string; 29174 } 29175 var strSymbols = stringToArray(string), 29176 start = charsStartIndex(strSymbols, stringToArray(chars)); 29177 29178 return castSlice(strSymbols, start).join(''); 29179 } 29180 29181 /** 29182 * Truncates `string` if it's longer than the given maximum string length. 29183 * The last characters of the truncated string are replaced with the omission 29184 * string which defaults to "...". 29185 * 29186 * @static 29187 * @memberOf _ 29188 * @since 4.0.0 29189 * @category String 29190 * @param {string} [string=''] The string to truncate. 29191 * @param {Object} [options={}] The options object. 29192 * @param {number} [options.length=30] The maximum string length. 29193 * @param {string} [options.omission='...'] The string to indicate text is omitted. 29194 * @param {RegExp|string} [options.separator] The separator pattern to truncate to. 29195 * @returns {string} Returns the truncated string. 29196 * @example 29197 * 29198 * _.truncate('hi-diddly-ho there, neighborino'); 29199 * // => 'hi-diddly-ho there, neighbo...' 29200 * 29201 * _.truncate('hi-diddly-ho there, neighborino', { 29202 * 'length': 24, 29203 * 'separator': ' ' 29204 * }); 29205 * // => 'hi-diddly-ho there,...' 29206 * 29207 * _.truncate('hi-diddly-ho there, neighborino', { 29208 * 'length': 24, 29209 * 'separator': /,? +/ 29210 * }); 29211 * // => 'hi-diddly-ho there...' 29212 * 29213 * _.truncate('hi-diddly-ho there, neighborino', { 29214 * 'omission': ' [...]' 29215 * }); 29216 * // => 'hi-diddly-ho there, neig [...]' 29217 */ 29218 function truncate(string, options) { 29219 var length = DEFAULT_TRUNC_LENGTH, 29220 omission = DEFAULT_TRUNC_OMISSION; 29221 29222 if (isObject(options)) { 29223 var separator = 'separator' in options ? options.separator : separator; 29224 length = 'length' in options ? toInteger(options.length) : length; 29225 omission = 'omission' in options ? baseToString(options.omission) : omission; 29226 } 29227 string = toString(string); 29228 29229 var strLength = string.length; 29230 if (hasUnicode(string)) { 29231 var strSymbols = stringToArray(string); 29232 strLength = strSymbols.length; 29233 } 29234 if (length >= strLength) { 29235 return string; 29236 } 29237 var end = length - stringSize(omission); 29238 if (end < 1) { 29239 return omission; 29240 } 29241 var result = strSymbols 29242 ? castSlice(strSymbols, 0, end).join('') 29243 : string.slice(0, end); 29244 29245 if (separator === undefined) { 29246 return result + omission; 29247 } 29248 if (strSymbols) { 29249 end += (result.length - end); 29250 } 29251 if (isRegExp(separator)) { 29252 if (string.slice(end).search(separator)) { 29253 var match, 29254 substring = result; 29255 29256 if (!separator.global) { 29257 separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g'); 29258 } 29259 separator.lastIndex = 0; 29260 while ((match = separator.exec(substring))) { 29261 var newEnd = match.index; 29262 } 29263 result = result.slice(0, newEnd === undefined ? end : newEnd); 29264 } 29265 } else if (string.indexOf(baseToString(separator), end) != end) { 29266 var index = result.lastIndexOf(separator); 29267 if (index > -1) { 29268 result = result.slice(0, index); 29269 } 29270 } 29271 return result + omission; 29272 } 29273 29274 /** 29275 * The inverse of `_.escape`; this method converts the HTML entities 29276 * `&`, `<`, `>`, `"`, and `'` in `string` to 29277 * their corresponding characters. 29278 * 29279 * **Note:** No other HTML entities are unescaped. To unescape additional 29280 * HTML entities use a third-party library like [_he_](https://mths.be/he). 29281 * 29282 * @static 29283 * @memberOf _ 29284 * @since 0.6.0 29285 * @category String 29286 * @param {string} [string=''] The string to unescape. 29287 * @returns {string} Returns the unescaped string. 29288 * @example 29289 * 29290 * _.unescape('fred, barney, & pebbles'); 29291 * // => 'fred, barney, & pebbles' 29292 */ 29293 function unescape(string) { 29294 string = toString(string); 29295 return (string && reHasEscapedHtml.test(string)) 29296 ? string.replace(reEscapedHtml, unescapeHtmlChar) 29297 : string; 29298 } 29299 29300 /** 29301 * Converts `string`, as space separated words, to upper case. 29302 * 29303 * @static 29304 * @memberOf _ 29305 * @since 4.0.0 29306 * @category String 29307 * @param {string} [string=''] The string to convert. 29308 * @returns {string} Returns the upper cased string. 29309 * @example 29310 * 29311 * _.upperCase('--foo-bar'); 29312 * // => 'FOO BAR' 29313 * 29314 * _.upperCase('fooBar'); 29315 * // => 'FOO BAR' 29316 * 29317 * _.upperCase('__foo_bar__'); 29318 * // => 'FOO BAR' 29319 */ 29320 var upperCase = createCompounder(function(result, word, index) { 29321 return result + (index ? ' ' : '') + word.toUpperCase(); 29322 }); 29323 29324 /** 29325 * Converts the first character of `string` to upper case. 29326 * 29327 * @static 29328 * @memberOf _ 29329 * @since 4.0.0 29330 * @category String 29331 * @param {string} [string=''] The string to convert. 29332 * @returns {string} Returns the converted string. 29333 * @example 29334 * 29335 * _.upperFirst('fred'); 29336 * // => 'Fred' 29337 * 29338 * _.upperFirst('FRED'); 29339 * // => 'FRED' 29340 */ 29341 var upperFirst = createCaseFirst('toUpperCase'); 29342 29343 /** 29344 * Splits `string` into an array of its words. 29345 * 29346 * @static 29347 * @memberOf _ 29348 * @since 3.0.0 29349 * @category String 29350 * @param {string} [string=''] The string to inspect. 29351 * @param {RegExp|string} [pattern] The pattern to match words. 29352 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. 29353 * @returns {Array} Returns the words of `string`. 29354 * @example 29355 * 29356 * _.words('fred, barney, & pebbles'); 29357 * // => ['fred', 'barney', 'pebbles'] 29358 * 29359 * _.words('fred, barney, & pebbles', /[^, ]+/g); 29360 * // => ['fred', 'barney', '&', 'pebbles'] 29361 */ 29362 function words(string, pattern, guard) { 29363 string = toString(string); 29364 pattern = guard ? undefined : pattern; 29365 29366 if (pattern === undefined) { 29367 return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string); 29368 } 29369 return string.match(pattern) || []; 29370 } 29371 29372 /*------------------------------------------------------------------------*/ 29373 29374 /** 29375 * Attempts to invoke `func`, returning either the result or the caught error 29376 * object. Any additional arguments are provided to `func` when it's invoked. 29377 * 29378 * @static 29379 * @memberOf _ 29380 * @since 3.0.0 29381 * @category Util 29382 * @param {Function} func The function to attempt. 29383 * @param {...*} [args] The arguments to invoke `func` with. 29384 * @returns {*} Returns the `func` result or error object. 29385 * @example 29386 * 29387 * // Avoid throwing errors for invalid selectors. 29388 * var elements = _.attempt(function(selector) { 29389 * return document.querySelectorAll(selector); 29390 * }, '>_>'); 29391 * 29392 * if (_.isError(elements)) { 29393 * elements = []; 29394 * } 29395 */ 29396 var attempt = baseRest(function(func, args) { 29397 try { 29398 return apply(func, undefined, args); 29399 } catch (e) { 29400 return isError(e) ? e : new Error(e); 29401 } 29402 }); 29403 29404 /** 29405 * Binds methods of an object to the object itself, overwriting the existing 29406 * method. 29407 * 29408 * **Note:** This method doesn't set the "length" property of bound functions. 29409 * 29410 * @static 29411 * @since 0.1.0 29412 * @memberOf _ 29413 * @category Util 29414 * @param {Object} object The object to bind and assign the bound methods to. 29415 * @param {...(string|string[])} methodNames The object method names to bind. 29416 * @returns {Object} Returns `object`. 29417 * @example 29418 * 29419 * var view = { 29420 * 'label': 'docs', 29421 * 'click': function() { 29422 * console.log('clicked ' + this.label); 29423 * } 29424 * }; 29425 * 29426 * _.bindAll(view, ['click']); 29427 * jQuery(element).on('click', view.click); 29428 * // => Logs 'clicked docs' when clicked. 29429 */ 29430 var bindAll = flatRest(function(object, methodNames) { 29431 arrayEach(methodNames, function(key) { 29432 key = toKey(key); 29433 baseAssignValue(object, key, bind(object[key], object)); 29434 }); 29435 return object; 29436 }); 29437 29438 /** 29439 * Creates a function that iterates over `pairs` and invokes the corresponding 29440 * function of the first predicate to return truthy. The predicate-function 29441 * pairs are invoked with the `this` binding and arguments of the created 29442 * function. 29443 * 29444 * @static 29445 * @memberOf _ 29446 * @since 4.0.0 29447 * @category Util 29448 * @param {Array} pairs The predicate-function pairs. 29449 * @returns {Function} Returns the new composite function. 29450 * @example 29451 * 29452 * var func = _.cond([ 29453 * [_.matches({ 'a': 1 }), _.constant('matches A')], 29454 * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], 29455 * [_.stubTrue, _.constant('no match')] 29456 * ]); 29457 * 29458 * func({ 'a': 1, 'b': 2 }); 29459 * // => 'matches A' 29460 * 29461 * func({ 'a': 0, 'b': 1 }); 29462 * // => 'matches B' 29463 * 29464 * func({ 'a': '1', 'b': '2' }); 29465 * // => 'no match' 29466 */ 29467 function cond(pairs) { 29468 var length = pairs == null ? 0 : pairs.length, 29469 toIteratee = getIteratee(); 29470 29471 pairs = !length ? [] : arrayMap(pairs, function(pair) { 29472 if (typeof pair[1] != 'function') { 29473 throw new TypeError(FUNC_ERROR_TEXT); 29474 } 29475 return [toIteratee(pair[0]), pair[1]]; 29476 }); 29477 29478 return baseRest(function(args) { 29479 var index = -1; 29480 while (++index < length) { 29481 var pair = pairs[index]; 29482 if (apply(pair[0], this, args)) { 29483 return apply(pair[1], this, args); 29484 } 29485 } 29486 }); 29487 } 29488 29489 /** 29490 * Creates a function that invokes the predicate properties of `source` with 29491 * the corresponding property values of a given object, returning `true` if 29492 * all predicates return truthy, else `false`. 29493 * 29494 * **Note:** The created function is equivalent to `_.conformsTo` with 29495 * `source` partially applied. 29496 * 29497 * @static 29498 * @memberOf _ 29499 * @since 4.0.0 29500 * @category Util 29501 * @param {Object} source The object of property predicates to conform to. 29502 * @returns {Function} Returns the new spec function. 29503 * @example 29504 * 29505 * var objects = [ 29506 * { 'a': 2, 'b': 1 }, 29507 * { 'a': 1, 'b': 2 } 29508 * ]; 29509 * 29510 * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); 29511 * // => [{ 'a': 1, 'b': 2 }] 29512 */ 29513 function conforms(source) { 29514 return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); 29515 } 29516 29517 /** 29518 * Creates a function that returns `value`. 29519 * 29520 * @static 29521 * @memberOf _ 29522 * @since 2.4.0 29523 * @category Util 29524 * @param {*} value The value to return from the new function. 29525 * @returns {Function} Returns the new constant function. 29526 * @example 29527 * 29528 * var objects = _.times(2, _.constant({ 'a': 1 })); 29529 * 29530 * console.log(objects); 29531 * // => [{ 'a': 1 }, { 'a': 1 }] 29532 * 29533 * console.log(objects[0] === objects[1]); 29534 * // => true 29535 */ 29536 function constant(value) { 29537 return function() { 29538 return value; 29539 }; 29540 } 29541 29542 /** 29543 * Checks `value` to determine whether a default value should be returned in 29544 * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, 29545 * or `undefined`. 29546 * 29547 * @static 29548 * @memberOf _ 29549 * @since 4.14.0 29550 * @category Util 29551 * @param {*} value The value to check. 29552 * @param {*} defaultValue The default value. 29553 * @returns {*} Returns the resolved value. 29554 * @example 29555 * 29556 * _.defaultTo(1, 10); 29557 * // => 1 29558 * 29559 * _.defaultTo(undefined, 10); 29560 * // => 10 29561 */ 29562 function defaultTo(value, defaultValue) { 29563 return (value == null || value !== value) ? defaultValue : value; 29564 } 29565 29566 /** 29567 * Creates a function that returns the result of invoking the given functions 29568 * with the `this` binding of the created function, where each successive 29569 * invocation is supplied the return value of the previous. 29570 * 29571 * @static 29572 * @memberOf _ 29573 * @since 3.0.0 29574 * @category Util 29575 * @param {...(Function|Function[])} [funcs] The functions to invoke. 29576 * @returns {Function} Returns the new composite function. 29577 * @see _.flowRight 29578 * @example 29579 * 29580 * function square(n) { 29581 * return n * n; 29582 * } 29583 * 29584 * var addSquare = _.flow([_.add, square]); 29585 * addSquare(1, 2); 29586 * // => 9 29587 */ 29588 var flow = createFlow(); 29589 29590 /** 29591 * This method is like `_.flow` except that it creates a function that 29592 * invokes the given functions from right to left. 29593 * 29594 * @static 29595 * @since 3.0.0 29596 * @memberOf _ 29597 * @category Util 29598 * @param {...(Function|Function[])} [funcs] The functions to invoke. 29599 * @returns {Function} Returns the new composite function. 29600 * @see _.flow 29601 * @example 29602 * 29603 * function square(n) { 29604 * return n * n; 29605 * } 29606 * 29607 * var addSquare = _.flowRight([square, _.add]); 29608 * addSquare(1, 2); 29609 * // => 9 29610 */ 29611 var flowRight = createFlow(true); 29612 29613 /** 29614 * This method returns the first argument it receives. 29615 * 29616 * @static 29617 * @since 0.1.0 29618 * @memberOf _ 29619 * @category Util 29620 * @param {*} value Any value. 29621 * @returns {*} Returns `value`. 29622 * @example 29623 * 29624 * var object = { 'a': 1 }; 29625 * 29626 * console.log(_.identity(object) === object); 29627 * // => true 29628 */ 29629 function identity(value) { 29630 return value; 29631 } 29632 29633 /** 29634 * Creates a function that invokes `func` with the arguments of the created 29635 * function. If `func` is a property name, the created function returns the 29636 * property value for a given element. If `func` is an array or object, the 29637 * created function returns `true` for elements that contain the equivalent 29638 * source properties, otherwise it returns `false`. 29639 * 29640 * @static 29641 * @since 4.0.0 29642 * @memberOf _ 29643 * @category Util 29644 * @param {*} [func=_.identity] The value to convert to a callback. 29645 * @returns {Function} Returns the callback. 29646 * @example 29647 * 29648 * var users = [ 29649 * { 'user': 'barney', 'age': 36, 'active': true }, 29650 * { 'user': 'fred', 'age': 40, 'active': false } 29651 * ]; 29652 * 29653 * // The `_.matches` iteratee shorthand. 29654 * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); 29655 * // => [{ 'user': 'barney', 'age': 36, 'active': true }] 29656 * 29657 * // The `_.matchesProperty` iteratee shorthand. 29658 * _.filter(users, _.iteratee(['user', 'fred'])); 29659 * // => [{ 'user': 'fred', 'age': 40 }] 29660 * 29661 * // The `_.property` iteratee shorthand. 29662 * _.map(users, _.iteratee('user')); 29663 * // => ['barney', 'fred'] 29664 * 29665 * // Create custom iteratee shorthands. 29666 * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { 29667 * return !_.isRegExp(func) ? iteratee(func) : function(string) { 29668 * return func.test(string); 29669 * }; 29670 * }); 29671 * 29672 * _.filter(['abc', 'def'], /ef/); 29673 * // => ['def'] 29674 */ 29675 function iteratee(func) { 29676 return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); 29677 } 29678 29679 /** 29680 * Creates a function that performs a partial deep comparison between a given 29681 * object and `source`, returning `true` if the given object has equivalent 29682 * property values, else `false`. 29683 * 29684 * **Note:** The created function is equivalent to `_.isMatch` with `source` 29685 * partially applied. 29686 * 29687 * Partial comparisons will match empty array and empty object `source` 29688 * values against any array or object value, respectively. See `_.isEqual` 29689 * for a list of supported value comparisons. 29690 * 29691 * **Note:** Multiple values can be checked by combining several matchers 29692 * using `_.overSome` 29693 * 29694 * @static 29695 * @memberOf _ 29696 * @since 3.0.0 29697 * @category Util 29698 * @param {Object} source The object of property values to match. 29699 * @returns {Function} Returns the new spec function. 29700 * @example 29701 * 29702 * var objects = [ 29703 * { 'a': 1, 'b': 2, 'c': 3 }, 29704 * { 'a': 4, 'b': 5, 'c': 6 } 29705 * ]; 29706 * 29707 * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); 29708 * // => [{ 'a': 4, 'b': 5, 'c': 6 }] 29709 * 29710 * // Checking for several possible values 29711 * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); 29712 * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] 29713 */ 29714 function matches(source) { 29715 return baseMatches(baseClone(source, CLONE_DEEP_FLAG)); 29716 } 29717 29718 /** 29719 * Creates a function that performs a partial deep comparison between the 29720 * value at `path` of a given object to `srcValue`, returning `true` if the 29721 * object value is equivalent, else `false`. 29722 * 29723 * **Note:** Partial comparisons will match empty array and empty object 29724 * `srcValue` values against any array or object value, respectively. See 29725 * `_.isEqual` for a list of supported value comparisons. 29726 * 29727 * **Note:** Multiple values can be checked by combining several matchers 29728 * using `_.overSome` 29729 * 29730 * @static 29731 * @memberOf _ 29732 * @since 3.2.0 29733 * @category Util 29734 * @param {Array|string} path The path of the property to get. 29735 * @param {*} srcValue The value to match. 29736 * @returns {Function} Returns the new spec function. 29737 * @example 29738 * 29739 * var objects = [ 29740 * { 'a': 1, 'b': 2, 'c': 3 }, 29741 * { 'a': 4, 'b': 5, 'c': 6 } 29742 * ]; 29743 * 29744 * _.find(objects, _.matchesProperty('a', 4)); 29745 * // => { 'a': 4, 'b': 5, 'c': 6 } 29746 * 29747 * // Checking for several possible values 29748 * _.filter(objects, _.overSome([_.matchesProperty('a', 1), _.matchesProperty('a', 4)])); 29749 * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] 29750 */ 29751 function matchesProperty(path, srcValue) { 29752 return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG)); 29753 } 29754 29755 /** 29756 * Creates a function that invokes the method at `path` of a given object. 29757 * Any additional arguments are provided to the invoked method. 29758 * 29759 * @static 29760 * @memberOf _ 29761 * @since 3.7.0 29762 * @category Util 29763 * @param {Array|string} path The path of the method to invoke. 29764 * @param {...*} [args] The arguments to invoke the method with. 29765 * @returns {Function} Returns the new invoker function. 29766 * @example 29767 * 29768 * var objects = [ 29769 * { 'a': { 'b': _.constant(2) } }, 29770 * { 'a': { 'b': _.constant(1) } } 29771 * ]; 29772 * 29773 * _.map(objects, _.method('a.b')); 29774 * // => [2, 1] 29775 * 29776 * _.map(objects, _.method(['a', 'b'])); 29777 * // => [2, 1] 29778 */ 29779 var method = baseRest(function(path, args) { 29780 return function(object) { 29781 return baseInvoke(object, path, args); 29782 }; 29783 }); 29784 29785 /** 29786 * The opposite of `_.method`; this method creates a function that invokes 29787 * the method at a given path of `object`. Any additional arguments are 29788 * provided to the invoked method. 29789 * 29790 * @static 29791 * @memberOf _ 29792 * @since 3.7.0 29793 * @category Util 29794 * @param {Object} object The object to query. 29795 * @param {...*} [args] The arguments to invoke the method with. 29796 * @returns {Function} Returns the new invoker function. 29797 * @example 29798 * 29799 * var array = _.times(3, _.constant), 29800 * object = { 'a': array, 'b': array, 'c': array }; 29801 * 29802 * _.map(['a[2]', 'c[0]'], _.methodOf(object)); 29803 * // => [2, 0] 29804 * 29805 * _.map([['a', '2'], ['c', '0']], _.methodOf(object)); 29806 * // => [2, 0] 29807 */ 29808 var methodOf = baseRest(function(object, args) { 29809 return function(path) { 29810 return baseInvoke(object, path, args); 29811 }; 29812 }); 29813 29814 /** 29815 * Adds all own enumerable string keyed function properties of a source 29816 * object to the destination object. If `object` is a function, then methods 29817 * are added to its prototype as well. 29818 * 29819 * **Note:** Use `_.runInContext` to create a pristine `lodash` function to 29820 * avoid conflicts caused by modifying the original. 29821 * 29822 * @static 29823 * @since 0.1.0 29824 * @memberOf _ 29825 * @category Util 29826 * @param {Function|Object} [object=lodash] The destination object. 29827 * @param {Object} source The object of functions to add. 29828 * @param {Object} [options={}] The options object. 29829 * @param {boolean} [options.chain=true] Specify whether mixins are chainable. 29830 * @returns {Function|Object} Returns `object`. 29831 * @example 29832 * 29833 * function vowels(string) { 29834 * return _.filter(string, function(v) { 29835 * return /[aeiou]/i.test(v); 29836 * }); 29837 * } 29838 * 29839 * _.mixin({ 'vowels': vowels }); 29840 * _.vowels('fred'); 29841 * // => ['e'] 29842 * 29843 * _('fred').vowels().value(); 29844 * // => ['e'] 29845 * 29846 * _.mixin({ 'vowels': vowels }, { 'chain': false }); 29847 * _('fred').vowels(); 29848 * // => ['e'] 29849 */ 29850 function mixin(object, source, options) { 29851 var props = keys(source), 29852 methodNames = baseFunctions(source, props); 29853 29854 if (options == null && 29855 !(isObject(source) && (methodNames.length || !props.length))) { 29856 options = source; 29857 source = object; 29858 object = this; 29859 methodNames = baseFunctions(source, keys(source)); 29860 } 29861 var chain = !(isObject(options) && 'chain' in options) || !!options.chain, 29862 isFunc = isFunction(object); 29863 29864 arrayEach(methodNames, function(methodName) { 29865 var func = source[methodName]; 29866 object[methodName] = func; 29867 if (isFunc) { 29868 object.prototype[methodName] = function() { 29869 var chainAll = this.__chain__; 29870 if (chain || chainAll) { 29871 var result = object(this.__wrapped__), 29872 actions = result.__actions__ = copyArray(this.__actions__); 29873 29874 actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); 29875 result.__chain__ = chainAll; 29876 return result; 29877 } 29878 return func.apply(object, arrayPush([this.value()], arguments)); 29879 }; 29880 } 29881 }); 29882 29883 return object; 29884 } 29885 29886 /** 29887 * Reverts the `_` variable to its previous value and returns a reference to 29888 * the `lodash` function. 29889 * 29890 * @static 29891 * @since 0.1.0 29892 * @memberOf _ 29893 * @category Util 29894 * @returns {Function} Returns the `lodash` function. 29895 * @example 29896 * 29897 * var lodash = _.noConflict(); 29898 */ 29899 function noConflict() { 29900 if (root._ === this) { 29901 root._ = oldDash; 29902 } 29903 return this; 29904 } 29905 29906 /** 29907 * This method returns `undefined`. 29908 * 29909 * @static 29910 * @memberOf _ 29911 * @since 2.3.0 29912 * @category Util 29913 * @example 29914 * 29915 * _.times(2, _.noop); 29916 * // => [undefined, undefined] 29917 */ 29918 function noop() { 29919 // No operation performed. 29920 } 29921 29922 /** 29923 * Creates a function that gets the argument at index `n`. If `n` is negative, 29924 * the nth argument from the end is returned. 29925 * 29926 * @static 29927 * @memberOf _ 29928 * @since 4.0.0 29929 * @category Util 29930 * @param {number} [n=0] The index of the argument to return. 29931 * @returns {Function} Returns the new pass-thru function. 29932 * @example 29933 * 29934 * var func = _.nthArg(1); 29935 * func('a', 'b', 'c', 'd'); 29936 * // => 'b' 29937 * 29938 * var func = _.nthArg(-2); 29939 * func('a', 'b', 'c', 'd'); 29940 * // => 'c' 29941 */ 29942 function nthArg(n) { 29943 n = toInteger(n); 29944 return baseRest(function(args) { 29945 return baseNth(args, n); 29946 }); 29947 } 29948 29949 /** 29950 * Creates a function that invokes `iteratees` with the arguments it receives 29951 * and returns their results. 29952 * 29953 * @static 29954 * @memberOf _ 29955 * @since 4.0.0 29956 * @category Util 29957 * @param {...(Function|Function[])} [iteratees=[_.identity]] 29958 * The iteratees to invoke. 29959 * @returns {Function} Returns the new function. 29960 * @example 29961 * 29962 * var func = _.over([Math.max, Math.min]); 29963 * 29964 * func(1, 2, 3, 4); 29965 * // => [4, 1] 29966 */ 29967 var over = createOver(arrayMap); 29968 29969 /** 29970 * Creates a function that checks if **all** of the `predicates` return 29971 * truthy when invoked with the arguments it receives. 29972 * 29973 * Following shorthands are possible for providing predicates. 29974 * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. 29975 * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. 29976 * 29977 * @static 29978 * @memberOf _ 29979 * @since 4.0.0 29980 * @category Util 29981 * @param {...(Function|Function[])} [predicates=[_.identity]] 29982 * The predicates to check. 29983 * @returns {Function} Returns the new function. 29984 * @example 29985 * 29986 * var func = _.overEvery([Boolean, isFinite]); 29987 * 29988 * func('1'); 29989 * // => true 29990 * 29991 * func(null); 29992 * // => false 29993 * 29994 * func(NaN); 29995 * // => false 29996 */ 29997 var overEvery = createOver(arrayEvery); 29998 29999 /** 30000 * Creates a function that checks if **any** of the `predicates` return 30001 * truthy when invoked with the arguments it receives. 30002 * 30003 * Following shorthands are possible for providing predicates. 30004 * Pass an `Object` and it will be used as an parameter for `_.matches` to create the predicate. 30005 * Pass an `Array` of parameters for `_.matchesProperty` and the predicate will be created using them. 30006 * 30007 * @static 30008 * @memberOf _ 30009 * @since 4.0.0 30010 * @category Util 30011 * @param {...(Function|Function[])} [predicates=[_.identity]] 30012 * The predicates to check. 30013 * @returns {Function} Returns the new function. 30014 * @example 30015 * 30016 * var func = _.overSome([Boolean, isFinite]); 30017 * 30018 * func('1'); 30019 * // => true 30020 * 30021 * func(null); 30022 * // => true 30023 * 30024 * func(NaN); 30025 * // => false 30026 * 30027 * var matchesFunc = _.overSome([{ 'a': 1 }, { 'a': 2 }]) 30028 * var matchesPropertyFunc = _.overSome([['a', 1], ['a', 2]]) 30029 */ 30030 var overSome = createOver(arraySome); 30031 30032 /** 30033 * Creates a function that returns the value at `path` of a given object. 30034 * 30035 * @static 30036 * @memberOf _ 30037 * @since 2.4.0 30038 * @category Util 30039 * @param {Array|string} path The path of the property to get. 30040 * @returns {Function} Returns the new accessor function. 30041 * @example 30042 * 30043 * var objects = [ 30044 * { 'a': { 'b': 2 } }, 30045 * { 'a': { 'b': 1 } } 30046 * ]; 30047 * 30048 * _.map(objects, _.property('a.b')); 30049 * // => [2, 1] 30050 * 30051 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); 30052 * // => [1, 2] 30053 */ 30054 function property(path) { 30055 return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); 30056 } 30057 30058 /** 30059 * The opposite of `_.property`; this method creates a function that returns 30060 * the value at a given path of `object`. 30061 * 30062 * @static 30063 * @memberOf _ 30064 * @since 3.0.0 30065 * @category Util 30066 * @param {Object} object The object to query. 30067 * @returns {Function} Returns the new accessor function. 30068 * @example 30069 * 30070 * var array = [0, 1, 2], 30071 * object = { 'a': array, 'b': array, 'c': array }; 30072 * 30073 * _.map(['a[2]', 'c[0]'], _.propertyOf(object)); 30074 * // => [2, 0] 30075 * 30076 * _.map([['a', '2'], ['c', '0']], _.propertyOf(object)); 30077 * // => [2, 0] 30078 */ 30079 function propertyOf(object) { 30080 return function(path) { 30081 return object == null ? undefined : baseGet(object, path); 30082 }; 30083 } 30084 30085 /** 30086 * Creates an array of numbers (positive and/or negative) progressing from 30087 * `start` up to, but not including, `end`. A step of `-1` is used if a negative 30088 * `start` is specified without an `end` or `step`. If `end` is not specified, 30089 * it's set to `start` with `start` then set to `0`. 30090 * 30091 * **Note:** JavaScript follows the IEEE-754 standard for resolving 30092 * floating-point values which can produce unexpected results. 30093 * 30094 * @static 30095 * @since 0.1.0 30096 * @memberOf _ 30097 * @category Util 30098 * @param {number} [start=0] The start of the range. 30099 * @param {number} end The end of the range. 30100 * @param {number} [step=1] The value to increment or decrement by. 30101 * @returns {Array} Returns the range of numbers. 30102 * @see _.inRange, _.rangeRight 30103 * @example 30104 * 30105 * _.range(4); 30106 * // => [0, 1, 2, 3] 30107 * 30108 * _.range(-4); 30109 * // => [0, -1, -2, -3] 30110 * 30111 * _.range(1, 5); 30112 * // => [1, 2, 3, 4] 30113 * 30114 * _.range(0, 20, 5); 30115 * // => [0, 5, 10, 15] 30116 * 30117 * _.range(0, -4, -1); 30118 * // => [0, -1, -2, -3] 30119 * 30120 * _.range(1, 4, 0); 30121 * // => [1, 1, 1] 30122 * 30123 * _.range(0); 30124 * // => [] 30125 */ 30126 var range = createRange(); 30127 30128 /** 30129 * This method is like `_.range` except that it populates values in 30130 * descending order. 30131 * 30132 * @static 30133 * @memberOf _ 30134 * @since 4.0.0 30135 * @category Util 30136 * @param {number} [start=0] The start of the range. 30137 * @param {number} end The end of the range. 30138 * @param {number} [step=1] The value to increment or decrement by. 30139 * @returns {Array} Returns the range of numbers. 30140 * @see _.inRange, _.range 30141 * @example 30142 * 30143 * _.rangeRight(4); 30144 * // => [3, 2, 1, 0] 30145 * 30146 * _.rangeRight(-4); 30147 * // => [-3, -2, -1, 0] 30148 * 30149 * _.rangeRight(1, 5); 30150 * // => [4, 3, 2, 1] 30151 * 30152 * _.rangeRight(0, 20, 5); 30153 * // => [15, 10, 5, 0] 30154 * 30155 * _.rangeRight(0, -4, -1); 30156 * // => [-3, -2, -1, 0] 30157 * 30158 * _.rangeRight(1, 4, 0); 30159 * // => [1, 1, 1] 30160 * 30161 * _.rangeRight(0); 30162 * // => [] 30163 */ 30164 var rangeRight = createRange(true); 30165 30166 /** 30167 * This method returns a new empty array. 30168 * 30169 * @static 30170 * @memberOf _ 30171 * @since 4.13.0 30172 * @category Util 30173 * @returns {Array} Returns the new empty array. 30174 * @example 30175 * 30176 * var arrays = _.times(2, _.stubArray); 30177 * 30178 * console.log(arrays); 30179 * // => [[], []] 30180 * 30181 * console.log(arrays[0] === arrays[1]); 30182 * // => false 30183 */ 30184 function stubArray() { 30185 return []; 30186 } 30187 30188 /** 30189 * This method returns `false`. 30190 * 30191 * @static 30192 * @memberOf _ 30193 * @since 4.13.0 30194 * @category Util 30195 * @returns {boolean} Returns `false`. 30196 * @example 30197 * 30198 * _.times(2, _.stubFalse); 30199 * // => [false, false] 30200 */ 30201 function stubFalse() { 30202 return false; 30203 } 30204 30205 /** 30206 * This method returns a new empty object. 30207 * 30208 * @static 30209 * @memberOf _ 30210 * @since 4.13.0 30211 * @category Util 30212 * @returns {Object} Returns the new empty object. 30213 * @example 30214 * 30215 * var objects = _.times(2, _.stubObject); 30216 * 30217 * console.log(objects); 30218 * // => [{}, {}] 30219 * 30220 * console.log(objects[0] === objects[1]); 30221 * // => false 30222 */ 30223 function stubObject() { 30224 return {}; 30225 } 30226 30227 /** 30228 * This method returns an empty string. 30229 * 30230 * @static 30231 * @memberOf _ 30232 * @since 4.13.0 30233 * @category Util 30234 * @returns {string} Returns the empty string. 30235 * @example 30236 * 30237 * _.times(2, _.stubString); 30238 * // => ['', ''] 30239 */ 30240 function stubString() { 30241 return ''; 30242 } 30243 30244 /** 30245 * This method returns `true`. 30246 * 30247 * @static 30248 * @memberOf _ 30249 * @since 4.13.0 30250 * @category Util 30251 * @returns {boolean} Returns `true`. 30252 * @example 30253 * 30254 * _.times(2, _.stubTrue); 30255 * // => [true, true] 30256 */ 30257 function stubTrue() { 30258 return true; 30259 } 30260 30261 /** 30262 * Invokes the iteratee `n` times, returning an array of the results of 30263 * each invocation. The iteratee is invoked with one argument; (index). 30264 * 30265 * @static 30266 * @since 0.1.0 30267 * @memberOf _ 30268 * @category Util 30269 * @param {number} n The number of times to invoke `iteratee`. 30270 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 30271 * @returns {Array} Returns the array of results. 30272 * @example 30273 * 30274 * _.times(3, String); 30275 * // => ['0', '1', '2'] 30276 * 30277 * _.times(4, _.constant(0)); 30278 * // => [0, 0, 0, 0] 30279 */ 30280 function times(n, iteratee) { 30281 n = toInteger(n); 30282 if (n < 1 || n > MAX_SAFE_INTEGER) { 30283 return []; 30284 } 30285 var index = MAX_ARRAY_LENGTH, 30286 length = nativeMin(n, MAX_ARRAY_LENGTH); 30287 30288 iteratee = getIteratee(iteratee); 30289 n -= MAX_ARRAY_LENGTH; 30290 30291 var result = baseTimes(length, iteratee); 30292 while (++index < n) { 30293 iteratee(index); 30294 } 30295 return result; 30296 } 30297 30298 /** 30299 * Converts `value` to a property path array. 30300 * 30301 * @static 30302 * @memberOf _ 30303 * @since 4.0.0 30304 * @category Util 30305 * @param {*} value The value to convert. 30306 * @returns {Array} Returns the new property path array. 30307 * @example 30308 * 30309 * _.toPath('a.b.c'); 30310 * // => ['a', 'b', 'c'] 30311 * 30312 * _.toPath('a[0].b.c'); 30313 * // => ['a', '0', 'b', 'c'] 30314 */ 30315 function toPath(value) { 30316 if (isArray(value)) { 30317 return arrayMap(value, toKey); 30318 } 30319 return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value))); 30320 } 30321 30322 /** 30323 * Generates a unique ID. If `prefix` is given, the ID is appended to it. 30324 * 30325 * @static 30326 * @since 0.1.0 30327 * @memberOf _ 30328 * @category Util 30329 * @param {string} [prefix=''] The value to prefix the ID with. 30330 * @returns {string} Returns the unique ID. 30331 * @example 30332 * 30333 * _.uniqueId('contact_'); 30334 * // => 'contact_104' 30335 * 30336 * _.uniqueId(); 30337 * // => '105' 30338 */ 30339 function uniqueId(prefix) { 30340 var id = ++idCounter; 30341 return toString(prefix) + id; 30342 } 30343 30344 /*------------------------------------------------------------------------*/ 30345 30346 /** 30347 * Adds two numbers. 30348 * 30349 * @static 30350 * @memberOf _ 30351 * @since 3.4.0 30352 * @category Math 30353 * @param {number} augend The first number in an addition. 30354 * @param {number} addend The second number in an addition. 30355 * @returns {number} Returns the total. 30356 * @example 30357 * 30358 * _.add(6, 4); 30359 * // => 10 30360 */ 30361 var add = createMathOperation(function(augend, addend) { 30362 return augend + addend; 30363 }, 0); 30364 30365 /** 30366 * Computes `number` rounded up to `precision`. 30367 * 30368 * @static 30369 * @memberOf _ 30370 * @since 3.10.0 30371 * @category Math 30372 * @param {number} number The number to round up. 30373 * @param {number} [precision=0] The precision to round up to. 30374 * @returns {number} Returns the rounded up number. 30375 * @example 30376 * 30377 * _.ceil(4.006); 30378 * // => 5 30379 * 30380 * _.ceil(6.004, 2); 30381 * // => 6.01 30382 * 30383 * _.ceil(6040, -2); 30384 * // => 6100 30385 */ 30386 var ceil = createRound('ceil'); 30387 30388 /** 30389 * Divide two numbers. 30390 * 30391 * @static 30392 * @memberOf _ 30393 * @since 4.7.0 30394 * @category Math 30395 * @param {number} dividend The first number in a division. 30396 * @param {number} divisor The second number in a division. 30397 * @returns {number} Returns the quotient. 30398 * @example 30399 * 30400 * _.divide(6, 4); 30401 * // => 1.5 30402 */ 30403 var divide = createMathOperation(function(dividend, divisor) { 30404 return dividend / divisor; 30405 }, 1); 30406 30407 /** 30408 * Computes `number` rounded down to `precision`. 30409 * 30410 * @static 30411 * @memberOf _ 30412 * @since 3.10.0 30413 * @category Math 30414 * @param {number} number The number to round down. 30415 * @param {number} [precision=0] The precision to round down to. 30416 * @returns {number} Returns the rounded down number. 30417 * @example 30418 * 30419 * _.floor(4.006); 30420 * // => 4 30421 * 30422 * _.floor(0.046, 2); 30423 * // => 0.04 30424 * 30425 * _.floor(4060, -2); 30426 * // => 4000 30427 */ 30428 var floor = createRound('floor'); 30429 30430 /** 30431 * Computes the maximum value of `array`. If `array` is empty or falsey, 30432 * `undefined` is returned. 30433 * 30434 * @static 30435 * @since 0.1.0 30436 * @memberOf _ 30437 * @category Math 30438 * @param {Array} array The array to iterate over. 30439 * @returns {*} Returns the maximum value. 30440 * @example 30441 * 30442 * _.max([4, 2, 8, 6]); 30443 * // => 8 30444 * 30445 * _.max([]); 30446 * // => undefined 30447 */ 30448 function max(array) { 30449 return (array && array.length) 30450 ? baseExtremum(array, identity, baseGt) 30451 : undefined; 30452 } 30453 30454 /** 30455 * This method is like `_.max` except that it accepts `iteratee` which is 30456 * invoked for each element in `array` to generate the criterion by which 30457 * the value is ranked. The iteratee is invoked with one argument: (value). 30458 * 30459 * @static 30460 * @memberOf _ 30461 * @since 4.0.0 30462 * @category Math 30463 * @param {Array} array The array to iterate over. 30464 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 30465 * @returns {*} Returns the maximum value. 30466 * @example 30467 * 30468 * var objects = [{ 'n': 1 }, { 'n': 2 }]; 30469 * 30470 * _.maxBy(objects, function(o) { return o.n; }); 30471 * // => { 'n': 2 } 30472 * 30473 * // The `_.property` iteratee shorthand. 30474 * _.maxBy(objects, 'n'); 30475 * // => { 'n': 2 } 30476 */ 30477 function maxBy(array, iteratee) { 30478 return (array && array.length) 30479 ? baseExtremum(array, getIteratee(iteratee, 2), baseGt) 30480 : undefined; 30481 } 30482 30483 /** 30484 * Computes the mean of the values in `array`. 30485 * 30486 * @static 30487 * @memberOf _ 30488 * @since 4.0.0 30489 * @category Math 30490 * @param {Array} array The array to iterate over. 30491 * @returns {number} Returns the mean. 30492 * @example 30493 * 30494 * _.mean([4, 2, 8, 6]); 30495 * // => 5 30496 */ 30497 function mean(array) { 30498 return baseMean(array, identity); 30499 } 30500 30501 /** 30502 * This method is like `_.mean` except that it accepts `iteratee` which is 30503 * invoked for each element in `array` to generate the value to be averaged. 30504 * The iteratee is invoked with one argument: (value). 30505 * 30506 * @static 30507 * @memberOf _ 30508 * @since 4.7.0 30509 * @category Math 30510 * @param {Array} array The array to iterate over. 30511 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 30512 * @returns {number} Returns the mean. 30513 * @example 30514 * 30515 * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; 30516 * 30517 * _.meanBy(objects, function(o) { return o.n; }); 30518 * // => 5 30519 * 30520 * // The `_.property` iteratee shorthand. 30521 * _.meanBy(objects, 'n'); 30522 * // => 5 30523 */ 30524 function meanBy(array, iteratee) { 30525 return baseMean(array, getIteratee(iteratee, 2)); 30526 } 30527 30528 /** 30529 * Computes the minimum value of `array`. If `array` is empty or falsey, 30530 * `undefined` is returned. 30531 * 30532 * @static 30533 * @since 0.1.0 30534 * @memberOf _ 30535 * @category Math 30536 * @param {Array} array The array to iterate over. 30537 * @returns {*} Returns the minimum value. 30538 * @example 30539 * 30540 * _.min([4, 2, 8, 6]); 30541 * // => 2 30542 * 30543 * _.min([]); 30544 * // => undefined 30545 */ 30546 function min(array) { 30547 return (array && array.length) 30548 ? baseExtremum(array, identity, baseLt) 30549 : undefined; 30550 } 30551 30552 /** 30553 * This method is like `_.min` except that it accepts `iteratee` which is 30554 * invoked for each element in `array` to generate the criterion by which 30555 * the value is ranked. The iteratee is invoked with one argument: (value). 30556 * 30557 * @static 30558 * @memberOf _ 30559 * @since 4.0.0 30560 * @category Math 30561 * @param {Array} array The array to iterate over. 30562 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 30563 * @returns {*} Returns the minimum value. 30564 * @example 30565 * 30566 * var objects = [{ 'n': 1 }, { 'n': 2 }]; 30567 * 30568 * _.minBy(objects, function(o) { return o.n; }); 30569 * // => { 'n': 1 } 30570 * 30571 * // The `_.property` iteratee shorthand. 30572 * _.minBy(objects, 'n'); 30573 * // => { 'n': 1 } 30574 */ 30575 function minBy(array, iteratee) { 30576 return (array && array.length) 30577 ? baseExtremum(array, getIteratee(iteratee, 2), baseLt) 30578 : undefined; 30579 } 30580 30581 /** 30582 * Multiply two numbers. 30583 * 30584 * @static 30585 * @memberOf _ 30586 * @since 4.7.0 30587 * @category Math 30588 * @param {number} multiplier The first number in a multiplication. 30589 * @param {number} multiplicand The second number in a multiplication. 30590 * @returns {number} Returns the product. 30591 * @example 30592 * 30593 * _.multiply(6, 4); 30594 * // => 24 30595 */ 30596 var multiply = createMathOperation(function(multiplier, multiplicand) { 30597 return multiplier * multiplicand; 30598 }, 1); 30599 30600 /** 30601 * Computes `number` rounded to `precision`. 30602 * 30603 * @static 30604 * @memberOf _ 30605 * @since 3.10.0 30606 * @category Math 30607 * @param {number} number The number to round. 30608 * @param {number} [precision=0] The precision to round to. 30609 * @returns {number} Returns the rounded number. 30610 * @example 30611 * 30612 * _.round(4.006); 30613 * // => 4 30614 * 30615 * _.round(4.006, 2); 30616 * // => 4.01 30617 * 30618 * _.round(4060, -2); 30619 * // => 4100 30620 */ 30621 var round = createRound('round'); 30622 30623 /** 30624 * Subtract two numbers. 30625 * 30626 * @static 30627 * @memberOf _ 30628 * @since 4.0.0 30629 * @category Math 30630 * @param {number} minuend The first number in a subtraction. 30631 * @param {number} subtrahend The second number in a subtraction. 30632 * @returns {number} Returns the difference. 30633 * @example 30634 * 30635 * _.subtract(6, 4); 30636 * // => 2 30637 */ 30638 var subtract = createMathOperation(function(minuend, subtrahend) { 30639 return minuend - subtrahend; 30640 }, 0); 30641 30642 /** 30643 * Computes the sum of the values in `array`. 30644 * 30645 * @static 30646 * @memberOf _ 30647 * @since 3.4.0 30648 * @category Math 30649 * @param {Array} array The array to iterate over. 30650 * @returns {number} Returns the sum. 30651 * @example 30652 * 30653 * _.sum([4, 2, 8, 6]); 30654 * // => 20 30655 */ 30656 function sum(array) { 30657 return (array && array.length) 30658 ? baseSum(array, identity) 30659 : 0; 30660 } 30661 30662 /** 30663 * This method is like `_.sum` except that it accepts `iteratee` which is 30664 * invoked for each element in `array` to generate the value to be summed. 30665 * The iteratee is invoked with one argument: (value). 30666 * 30667 * @static 30668 * @memberOf _ 30669 * @since 4.0.0 30670 * @category Math 30671 * @param {Array} array The array to iterate over. 30672 * @param {Function} [iteratee=_.identity] The iteratee invoked per element. 30673 * @returns {number} Returns the sum. 30674 * @example 30675 * 30676 * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; 30677 * 30678 * _.sumBy(objects, function(o) { return o.n; }); 30679 * // => 20 30680 * 30681 * // The `_.property` iteratee shorthand. 30682 * _.sumBy(objects, 'n'); 30683 * // => 20 30684 */ 30685 function sumBy(array, iteratee) { 30686 return (array && array.length) 30687 ? baseSum(array, getIteratee(iteratee, 2)) 30688 : 0; 30689 } 30690 30691 /*------------------------------------------------------------------------*/ 30692 30693 // Add methods that return wrapped values in chain sequences. 30694 lodash.after = after; 30695 lodash.ary = ary; 30696 lodash.assign = assign; 30697 lodash.assignIn = assignIn; 30698 lodash.assignInWith = assignInWith; 30699 lodash.assignWith = assignWith; 30700 lodash.at = at; 30701 lodash.before = before; 30702 lodash.bind = bind; 30703 lodash.bindAll = bindAll; 30704 lodash.bindKey = bindKey; 30705 lodash.castArray = castArray; 30706 lodash.chain = chain; 30707 lodash.chunk = chunk; 30708 lodash.compact = compact; 30709 lodash.concat = concat; 30710 lodash.cond = cond; 30711 lodash.conforms = conforms; 30712 lodash.constant = constant; 30713 lodash.countBy = countBy; 30714 lodash.create = create; 30715 lodash.curry = curry; 30716 lodash.curryRight = curryRight; 30717 lodash.debounce = debounce; 30718 lodash.defaults = defaults; 30719 lodash.defaultsDeep = defaultsDeep; 30720 lodash.defer = defer; 30721 lodash.delay = delay; 30722 lodash.difference = difference; 30723 lodash.differenceBy = differenceBy; 30724 lodash.differenceWith = differenceWith; 30725 lodash.drop = drop; 30726 lodash.dropRight = dropRight; 30727 lodash.dropRightWhile = dropRightWhile; 30728 lodash.dropWhile = dropWhile; 30729 lodash.fill = fill; 30730 lodash.filter = filter; 30731 lodash.flatMap = flatMap; 30732 lodash.flatMapDeep = flatMapDeep; 30733 lodash.flatMapDepth = flatMapDepth; 30734 lodash.flatten = flatten; 30735 lodash.flattenDeep = flattenDeep; 30736 lodash.flattenDepth = flattenDepth; 30737 lodash.flip = flip; 30738 lodash.flow = flow; 30739 lodash.flowRight = flowRight; 30740 lodash.fromPairs = fromPairs; 30741 lodash.functions = functions; 30742 lodash.functionsIn = functionsIn; 30743 lodash.groupBy = groupBy; 30744 lodash.initial = initial; 30745 lodash.intersection = intersection; 30746 lodash.intersectionBy = intersectionBy; 30747 lodash.intersectionWith = intersectionWith; 30748 lodash.invert = invert; 30749 lodash.invertBy = invertBy; 30750 lodash.invokeMap = invokeMap; 30751 lodash.iteratee = iteratee; 30752 lodash.keyBy = keyBy; 30753 lodash.keys = keys; 30754 lodash.keysIn = keysIn; 30755 lodash.map = map; 30756 lodash.mapKeys = mapKeys; 30757 lodash.mapValues = mapValues; 30758 lodash.matches = matches; 30759 lodash.matchesProperty = matchesProperty; 30760 lodash.memoize = memoize; 30761 lodash.merge = merge; 30762 lodash.mergeWith = mergeWith; 30763 lodash.method = method; 30764 lodash.methodOf = methodOf; 30765 lodash.mixin = mixin; 30766 lodash.negate = negate; 30767 lodash.nthArg = nthArg; 30768 lodash.omit = omit; 30769 lodash.omitBy = omitBy; 30770 lodash.once = once; 30771 lodash.orderBy = orderBy; 30772 lodash.over = over; 30773 lodash.overArgs = overArgs; 30774 lodash.overEvery = overEvery; 30775 lodash.overSome = overSome; 30776 lodash.partial = partial; 30777 lodash.partialRight = partialRight; 30778 lodash.partition = partition; 30779 lodash.pick = pick; 30780 lodash.pickBy = pickBy; 30781 lodash.property = property; 30782 lodash.propertyOf = propertyOf; 30783 lodash.pull = pull; 30784 lodash.pullAll = pullAll; 30785 lodash.pullAllBy = pullAllBy; 30786 lodash.pullAllWith = pullAllWith; 30787 lodash.pullAt = pullAt; 30788 lodash.range = range; 30789 lodash.rangeRight = rangeRight; 30790 lodash.rearg = rearg; 30791 lodash.reject = reject; 30792 lodash.remove = remove; 30793 lodash.rest = rest; 30794 lodash.reverse = reverse; 30795 lodash.sampleSize = sampleSize; 30796 lodash.set = set; 30797 lodash.setWith = setWith; 30798 lodash.shuffle = shuffle; 30799 lodash.slice = slice; 30800 lodash.sortBy = sortBy; 30801 lodash.sortedUniq = sortedUniq; 30802 lodash.sortedUniqBy = sortedUniqBy; 30803 lodash.split = split; 30804 lodash.spread = spread; 30805 lodash.tail = tail; 30806 lodash.take = take; 30807 lodash.takeRight = takeRight; 30808 lodash.takeRightWhile = takeRightWhile; 30809 lodash.takeWhile = takeWhile; 30810 lodash.tap = tap; 30811 lodash.throttle = throttle; 30812 lodash.thru = thru; 30813 lodash.toArray = toArray; 30814 lodash.toPairs = toPairs; 30815 lodash.toPairsIn = toPairsIn; 30816 lodash.toPath = toPath; 30817 lodash.toPlainObject = toPlainObject; 30818 lodash.transform = transform; 30819 lodash.unary = unary; 30820 lodash.union = union; 30821 lodash.unionBy = unionBy; 30822 lodash.unionWith = unionWith; 30823 lodash.uniq = uniq; 30824 lodash.uniqBy = uniqBy; 30825 lodash.uniqWith = uniqWith; 30826 lodash.unset = unset; 30827 lodash.unzip = unzip; 30828 lodash.unzipWith = unzipWith; 30829 lodash.update = update; 30830 lodash.updateWith = updateWith; 30831 lodash.values = values; 30832 lodash.valuesIn = valuesIn; 30833 lodash.without = without; 30834 lodash.words = words; 30835 lodash.wrap = wrap; 30836 lodash.xor = xor; 30837 lodash.xorBy = xorBy; 30838 lodash.xorWith = xorWith; 30839 lodash.zip = zip; 30840 lodash.zipObject = zipObject; 30841 lodash.zipObjectDeep = zipObjectDeep; 30842 lodash.zipWith = zipWith; 30843 30844 // Add aliases. 30845 lodash.entries = toPairs; 30846 lodash.entriesIn = toPairsIn; 30847 lodash.extend = assignIn; 30848 lodash.extendWith = assignInWith; 30849 30850 // Add methods to `lodash.prototype`. 30851 mixin(lodash, lodash); 30852 30853 /*------------------------------------------------------------------------*/ 30854 30855 // Add methods that return unwrapped values in chain sequences. 30856 lodash.add = add; 30857 lodash.attempt = attempt; 30858 lodash.camelCase = camelCase; 30859 lodash.capitalize = capitalize; 30860 lodash.ceil = ceil; 30861 lodash.clamp = clamp; 30862 lodash.clone = clone; 30863 lodash.cloneDeep = cloneDeep; 30864 lodash.cloneDeepWith = cloneDeepWith; 30865 lodash.cloneWith = cloneWith; 30866 lodash.conformsTo = conformsTo; 30867 lodash.deburr = deburr; 30868 lodash.defaultTo = defaultTo; 30869 lodash.divide = divide; 30870 lodash.endsWith = endsWith; 30871 lodash.eq = eq; 30872 lodash.escape = escape; 30873 lodash.escapeRegExp = escapeRegExp; 30874 lodash.every = every; 30875 lodash.find = find; 30876 lodash.findIndex = findIndex; 30877 lodash.findKey = findKey; 30878 lodash.findLast = findLast; 30879 lodash.findLastIndex = findLastIndex; 30880 lodash.findLastKey = findLastKey; 30881 lodash.floor = floor; 30882 lodash.forEach = forEach; 30883 lodash.forEachRight = forEachRight; 30884 lodash.forIn = forIn; 30885 lodash.forInRight = forInRight; 30886 lodash.forOwn = forOwn; 30887 lodash.forOwnRight = forOwnRight; 30888 lodash.get = get; 30889 lodash.gt = gt; 30890 lodash.gte = gte; 30891 lodash.has = has; 30892 lodash.hasIn = hasIn; 30893 lodash.head = head; 30894 lodash.identity = identity; 30895 lodash.includes = includes; 30896 lodash.indexOf = indexOf; 30897 lodash.inRange = inRange; 30898 lodash.invoke = invoke; 30899 lodash.isArguments = isArguments; 30900 lodash.isArray = isArray; 30901 lodash.isArrayBuffer = isArrayBuffer; 30902 lodash.isArrayLike = isArrayLike; 30903 lodash.isArrayLikeObject = isArrayLikeObject; 30904 lodash.isBoolean = isBoolean; 30905 lodash.isBuffer = isBuffer; 30906 lodash.isDate = isDate; 30907 lodash.isElement = isElement; 30908 lodash.isEmpty = isEmpty; 30909 lodash.isEqual = isEqual; 30910 lodash.isEqualWith = isEqualWith; 30911 lodash.isError = isError; 30912 lodash.isFinite = isFinite; 30913 lodash.isFunction = isFunction; 30914 lodash.isInteger = isInteger; 30915 lodash.isLength = isLength; 30916 lodash.isMap = isMap; 30917 lodash.isMatch = isMatch; 30918 lodash.isMatchWith = isMatchWith; 30919 lodash.isNaN = isNaN; 30920 lodash.isNative = isNative; 30921 lodash.isNil = isNil; 30922 lodash.isNull = isNull; 30923 lodash.isNumber = isNumber; 30924 lodash.isObject = isObject; 30925 lodash.isObjectLike = isObjectLike; 30926 lodash.isPlainObject = isPlainObject; 30927 lodash.isRegExp = isRegExp; 30928 lodash.isSafeInteger = isSafeInteger; 30929 lodash.isSet = isSet; 30930 lodash.isString = isString; 30931 lodash.isSymbol = isSymbol; 30932 lodash.isTypedArray = isTypedArray; 30933 lodash.isUndefined = isUndefined; 30934 lodash.isWeakMap = isWeakMap; 30935 lodash.isWeakSet = isWeakSet; 30936 lodash.join = join; 30937 lodash.kebabCase = kebabCase; 30938 lodash.last = last; 30939 lodash.lastIndexOf = lastIndexOf; 30940 lodash.lowerCase = lowerCase; 30941 lodash.lowerFirst = lowerFirst; 30942 lodash.lt = lt; 30943 lodash.lte = lte; 30944 lodash.max = max; 30945 lodash.maxBy = maxBy; 30946 lodash.mean = mean; 30947 lodash.meanBy = meanBy; 30948 lodash.min = min; 30949 lodash.minBy = minBy; 30950 lodash.stubArray = stubArray; 30951 lodash.stubFalse = stubFalse; 30952 lodash.stubObject = stubObject; 30953 lodash.stubString = stubString; 30954 lodash.stubTrue = stubTrue; 30955 lodash.multiply = multiply; 30956 lodash.nth = nth; 30957 lodash.noConflict = noConflict; 30958 lodash.noop = noop; 30959 lodash.now = now; 30960 lodash.pad = pad; 30961 lodash.padEnd = padEnd; 30962 lodash.padStart = padStart; 30963 lodash.parseInt = parseInt; 30964 lodash.random = random; 30965 lodash.reduce = reduce; 30966 lodash.reduceRight = reduceRight; 30967 lodash.repeat = repeat; 30968 lodash.replace = replace; 30969 lodash.result = result; 30970 lodash.round = round; 30971 lodash.runInContext = runInContext; 30972 lodash.sample = sample; 30973 lodash.size = size; 30974 lodash.snakeCase = snakeCase; 30975 lodash.some = some; 30976 lodash.sortedIndex = sortedIndex; 30977 lodash.sortedIndexBy = sortedIndexBy; 30978 lodash.sortedIndexOf = sortedIndexOf; 30979 lodash.sortedLastIndex = sortedLastIndex; 30980 lodash.sortedLastIndexBy = sortedLastIndexBy; 30981 lodash.sortedLastIndexOf = sortedLastIndexOf; 30982 lodash.startCase = startCase; 30983 lodash.startsWith = startsWith; 30984 lodash.subtract = subtract; 30985 lodash.sum = sum; 30986 lodash.sumBy = sumBy; 30987 lodash.template = template; 30988 lodash.times = times; 30989 lodash.toFinite = toFinite; 30990 lodash.toInteger = toInteger; 30991 lodash.toLength = toLength; 30992 lodash.toLower = toLower; 30993 lodash.toNumber = toNumber; 30994 lodash.toSafeInteger = toSafeInteger; 30995 lodash.toString = toString; 30996 lodash.toUpper = toUpper; 30997 lodash.trim = trim; 30998 lodash.trimEnd = trimEnd; 30999 lodash.trimStart = trimStart; 31000 lodash.truncate = truncate; 31001 lodash.unescape = unescape; 31002 lodash.uniqueId = uniqueId; 31003 lodash.upperCase = upperCase; 31004 lodash.upperFirst = upperFirst; 31005 31006 // Add aliases. 31007 lodash.each = forEach; 31008 lodash.eachRight = forEachRight; 31009 lodash.first = head; 31010 31011 mixin(lodash, (function() { 31012 var source = {}; 31013 baseForOwn(lodash, function(func, methodName) { 31014 if (!hasOwnProperty.call(lodash.prototype, methodName)) { 31015 source[methodName] = func; 31016 } 31017 }); 31018 return source; 31019 }()), { 'chain': false }); 31020 31021 /*------------------------------------------------------------------------*/ 31022 31023 /** 31024 * The semantic version number. 31025 * 31026 * @static 31027 * @memberOf _ 31028 * @type {string} 31029 */ 31030 lodash.VERSION = VERSION; 31031 31032 // Assign default placeholders. 31033 arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) { 31034 lodash[methodName].placeholder = lodash; 31035 }); 31036 31037 // Add `LazyWrapper` methods for `_.drop` and `_.take` variants. 31038 arrayEach(['drop', 'take'], function(methodName, index) { 31039 LazyWrapper.prototype[methodName] = function(n) { 31040 n = n === undefined ? 1 : nativeMax(toInteger(n), 0); 31041 31042 var result = (this.__filtered__ && !index) 31043 ? new LazyWrapper(this) 31044 : this.clone(); 31045 31046 if (result.__filtered__) { 31047 result.__takeCount__ = nativeMin(n, result.__takeCount__); 31048 } else { 31049 result.__views__.push({ 31050 'size': nativeMin(n, MAX_ARRAY_LENGTH), 31051 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') 31052 }); 31053 } 31054 return result; 31055 }; 31056 31057 LazyWrapper.prototype[methodName + 'Right'] = function(n) { 31058 return this.reverse()[methodName](n).reverse(); 31059 }; 31060 }); 31061 31062 // Add `LazyWrapper` methods that accept an `iteratee` value. 31063 arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) { 31064 var type = index + 1, 31065 isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG; 31066 31067 LazyWrapper.prototype[methodName] = function(iteratee) { 31068 var result = this.clone(); 31069 result.__iteratees__.push({ 31070 'iteratee': getIteratee(iteratee, 3), 31071 'type': type 31072 }); 31073 result.__filtered__ = result.__filtered__ || isFilter; 31074 return result; 31075 }; 31076 }); 31077 31078 // Add `LazyWrapper` methods for `_.head` and `_.last`. 31079 arrayEach(['head', 'last'], function(methodName, index) { 31080 var takeName = 'take' + (index ? 'Right' : ''); 31081 31082 LazyWrapper.prototype[methodName] = function() { 31083 return this[takeName](1).value()[0]; 31084 }; 31085 }); 31086 31087 // Add `LazyWrapper` methods for `_.initial` and `_.tail`. 31088 arrayEach(['initial', 'tail'], function(methodName, index) { 31089 var dropName = 'drop' + (index ? '' : 'Right'); 31090 31091 LazyWrapper.prototype[methodName] = function() { 31092 return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1); 31093 }; 31094 }); 31095 31096 LazyWrapper.prototype.compact = function() { 31097 return this.filter(identity); 31098 }; 31099 31100 LazyWrapper.prototype.find = function(predicate) { 31101 return this.filter(predicate).head(); 31102 }; 31103 31104 LazyWrapper.prototype.findLast = function(predicate) { 31105 return this.reverse().find(predicate); 31106 }; 31107 31108 LazyWrapper.prototype.invokeMap = baseRest(function(path, args) { 31109 if (typeof path == 'function') { 31110 return new LazyWrapper(this); 31111 } 31112 return this.map(function(value) { 31113 return baseInvoke(value, path, args); 31114 }); 31115 }); 31116 31117 LazyWrapper.prototype.reject = function(predicate) { 31118 return this.filter(negate(getIteratee(predicate))); 31119 }; 31120 31121 LazyWrapper.prototype.slice = function(start, end) { 31122 start = toInteger(start); 31123 31124 var result = this; 31125 if (result.__filtered__ && (start > 0 || end < 0)) { 31126 return new LazyWrapper(result); 31127 } 31128 if (start < 0) { 31129 result = result.takeRight(-start); 31130 } else if (start) { 31131 result = result.drop(start); 31132 } 31133 if (end !== undefined) { 31134 end = toInteger(end); 31135 result = end < 0 ? result.dropRight(-end) : result.take(end - start); 31136 } 31137 return result; 31138 }; 31139 31140 LazyWrapper.prototype.takeRightWhile = function(predicate) { 31141 return this.reverse().takeWhile(predicate).reverse(); 31142 }; 31143 31144 LazyWrapper.prototype.toArray = function() { 31145 return this.take(MAX_ARRAY_LENGTH); 31146 }; 31147 31148 // Add `LazyWrapper` methods to `lodash.prototype`. 31149 baseForOwn(LazyWrapper.prototype, function(func, methodName) { 31150 var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName), 31151 isTaker = /^(?:head|last)$/.test(methodName), 31152 lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName], 31153 retUnwrapped = isTaker || /^find/.test(methodName); 31154 31155 if (!lodashFunc) { 31156 return; 31157 } 31158 lodash.prototype[methodName] = function() { 31159 var value = this.__wrapped__, 31160 args = isTaker ? [1] : arguments, 31161 isLazy = value instanceof LazyWrapper, 31162 iteratee = args[0], 31163 useLazy = isLazy || isArray(value); 31164 31165 var interceptor = function(value) { 31166 var result = lodashFunc.apply(lodash, arrayPush([value], args)); 31167 return (isTaker && chainAll) ? result[0] : result; 31168 }; 31169 31170 if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) { 31171 // Avoid lazy use if the iteratee has a "length" value other than `1`. 31172 isLazy = useLazy = false; 31173 } 31174 var chainAll = this.__chain__, 31175 isHybrid = !!this.__actions__.length, 31176 isUnwrapped = retUnwrapped && !chainAll, 31177 onlyLazy = isLazy && !isHybrid; 31178 31179 if (!retUnwrapped && useLazy) { 31180 value = onlyLazy ? value : new LazyWrapper(this); 31181 var result = func.apply(value, args); 31182 result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined }); 31183 return new LodashWrapper(result, chainAll); 31184 } 31185 if (isUnwrapped && onlyLazy) { 31186 return func.apply(this, args); 31187 } 31188 result = this.thru(interceptor); 31189 return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result; 31190 }; 31191 }); 31192 31193 // Add `Array` methods to `lodash.prototype`. 31194 arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { 31195 var func = arrayProto[methodName], 31196 chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', 31197 retUnwrapped = /^(?:pop|shift)$/.test(methodName); 31198 31199 lodash.prototype[methodName] = function() { 31200 var args = arguments; 31201 if (retUnwrapped && !this.__chain__) { 31202 var value = this.value(); 31203 return func.apply(isArray(value) ? value : [], args); 31204 } 31205 return this[chainName](function(value) { 31206 return func.apply(isArray(value) ? value : [], args); 31207 }); 31208 }; 31209 }); 31210 31211 // Map minified method names to their real names. 31212 baseForOwn(LazyWrapper.prototype, function(func, methodName) { 31213 var lodashFunc = lodash[methodName]; 31214 if (lodashFunc) { 31215 var key = lodashFunc.name + ''; 31216 if (!hasOwnProperty.call(realNames, key)) { 31217 realNames[key] = []; 31218 } 31219 realNames[key].push({ 'name': methodName, 'func': lodashFunc }); 31220 } 31221 }); 31222 31223 realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{ 31224 'name': 'wrapper', 31225 'func': undefined 31226 }]; 31227 31228 // Add methods to `LazyWrapper`. 31229 LazyWrapper.prototype.clone = lazyClone; 31230 LazyWrapper.prototype.reverse = lazyReverse; 31231 LazyWrapper.prototype.value = lazyValue; 31232 31233 // Add chain sequence methods to the `lodash` wrapper. 31234 lodash.prototype.at = wrapperAt; 31235 lodash.prototype.chain = wrapperChain; 31236 lodash.prototype.commit = wrapperCommit; 31237 lodash.prototype.next = wrapperNext; 31238 lodash.prototype.plant = wrapperPlant; 31239 lodash.prototype.reverse = wrapperReverse; 31240 lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; 31241 31242 // Add lazy aliases. 31243 lodash.prototype.first = lodash.prototype.head; 31244 31245 if (symIterator) { 31246 lodash.prototype[symIterator] = wrapperToIterator; 31247 } 31248 return lodash; 31249 }); 31250 31251 /*--------------------------------------------------------------------------*/ 31252 31253 // Export lodash. 31254 var _ = runInContext(); 31255 31256 // Some AMD build optimizers, like r.js, check for condition patterns like: 31257 if (true) { 31258 // Expose Lodash on the global object to prevent errors when Lodash is 31259 // loaded by a script tag in the presence of an AMD loader. 31260 // See http://requirejs.org/docs/errors.html#mismatch for more details. 31261 // Use `_.noConflict` to remove Lodash from the global object. 31262 root._ = _; 31263 31264 // Define as an anonymous module so, through path mapping, it can be 31265 // referenced as the "underscore" module. 31266 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { 31267 return _; 31268 }).call(exports, __webpack_require__, exports, module), 31269 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 31270 } 31271 // Check for `exports` after `define` in case a build optimizer adds it. 31272 else {} 31273}.call(this)); 31274 31275 31276/***/ }), 31277
vendor: 5,636 bytes, lines 31278-31471
31278/***/ "./node_modules/process/browser.js": 31279/*!*****************************************!*\ 31280 !*** ./node_modules/process/browser.js ***! 31281 \*****************************************/ 31282/***/ ((module) => { 31283 31284// shim for using process in browser 31285var process = module.exports = {}; 31286 31287// cached from whatever global is present so that test runners that stub it 31288// don't break things. But we need to wrap it in a try catch in case it is 31289// wrapped in strict mode code which doesn't define any globals. It's inside a 31290// function because try/catches deoptimize in certain engines. 31291 31292var cachedSetTimeout; 31293var cachedClearTimeout; 31294 31295function defaultSetTimout() { 31296 throw new Error('setTimeout has not been defined'); 31297} 31298function defaultClearTimeout () { 31299 throw new Error('clearTimeout has not been defined'); 31300} 31301(function () { 31302 try { 31303 if (typeof setTimeout === 'function') { 31304 cachedSetTimeout = setTimeout; 31305 } else { 31306 cachedSetTimeout = defaultSetTimout; 31307 } 31308 } catch (e) { 31309 cachedSetTimeout = defaultSetTimout; 31310 } 31311 try { 31312 if (typeof clearTimeout === 'function') { 31313 cachedClearTimeout = clearTimeout; 31314 } else { 31315 cachedClearTimeout = defaultClearTimeout; 31316 } 31317 } catch (e) { 31318 cachedClearTimeout = defaultClearTimeout; 31319 } 31320} ()) 31321function runTimeout(fun) { 31322 if (cachedSetTimeout === setTimeout) { 31323 //normal enviroments in sane situations 31324 return setTimeout(fun, 0); 31325 } 31326 // if setTimeout wasn't available but was latter defined 31327 if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { 31328 cachedSetTimeout = setTimeout; 31329 return setTimeout(fun, 0); 31330 } 31331 try { 31332 // when when somebody has screwed with setTimeout but no I.E. maddness 31333 return cachedSetTimeout(fun, 0); 31334 } catch(e){ 31335 try { 31336 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally 31337 return cachedSetTimeout.call(null, fun, 0); 31338 } catch(e){ 31339 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error 31340 return cachedSetTimeout.call(this, fun, 0); 31341 } 31342 } 31343 31344 31345} 31346function runClearTimeout(marker) { 31347 if (cachedClearTimeout === clearTimeout) { 31348 //normal enviroments in sane situations 31349 return clearTimeout(marker); 31350 } 31351 // if clearTimeout wasn't available but was latter defined 31352 if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { 31353 cachedClearTimeout = clearTimeout; 31354 return clearTimeout(marker); 31355 } 31356 try { 31357 // when when somebody has screwed with setTimeout but no I.E. maddness 31358 return cachedClearTimeout(marker); 31359 } catch (e){ 31360 try { 31361 // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally 31362 return cachedClearTimeout.call(null, marker); 31363 } catch (e){ 31364 // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. 31365 // Some versions of I.E. have different rules for clearTimeout vs setTimeout 31366 return cachedClearTimeout.call(this, marker); 31367 } 31368 } 31369 31370 31371 31372} 31373var queue = []; 31374var draining = false; 31375var currentQueue; 31376var queueIndex = -1; 31377 31378function cleanUpNextTick() { 31379 if (!draining || !currentQueue) { 31380 return; 31381 } 31382 draining = false; 31383 if (currentQueue.length) { 31384 queue = currentQueue.concat(queue); 31385 } else { 31386 queueIndex = -1; 31387 } 31388 if (queue.length) { 31389 drainQueue(); 31390 } 31391} 31392 31393function drainQueue() { 31394 if (draining) { 31395 return; 31396 } 31397 var timeout = runTimeout(cleanUpNextTick); 31398 draining = true; 31399 31400 var len = queue.length; 31401 while(len) { 31402 currentQueue = queue; 31403 queue = []; 31404 while (++queueIndex < len) { 31405 if (currentQueue) { 31406 currentQueue[queueIndex].run(); 31407 } 31408 } 31409 queueIndex = -1; 31410 len = queue.length; 31411 } 31412 currentQueue = null; 31413 draining = false; 31414 runClearTimeout(timeout); 31415} 31416 31417process.nextTick = function (fun) { 31418 var args = new Array(arguments.length - 1); 31419 if (arguments.length > 1) { 31420 for (var i = 1; i < arguments.length; i++) { 31421 args[i - 1] = arguments[i]; 31422 } 31423 } 31424 queue.push(new Item(fun, args)); 31425 if (queue.length === 1 && !draining) { 31426 runTimeout(drainQueue); 31427 } 31428}; 31429 31430// v8 likes predictible objects 31431function Item(fun, array) { 31432 this.fun = fun; 31433 this.array = array; 31434} 31435Item.prototype.run = function () { 31436 this.fun.apply(null, this.array); 31437}; 31438process.title = 'browser'; 31439process.browser = true; 31440process.env = {}; 31441process.argv = []; 31442process.version = ''; // empty string to avoid regexp issues 31443process.versions = {}; 31444 31445function noop() {} 31446 31447process.on = noop; 31448process.addListener = noop; 31449process.once = noop; 31450process.off = noop; 31451process.removeListener = noop; 31452process.removeAllListeners = noop; 31453process.emit = noop; 31454process.prependListener = noop; 31455process.prependOnceListener = noop; 31456 31457process.listeners = function (name) { return [] } 31458 31459process.binding = function (name) { 31460 throw new Error('process.binding is not supported'); 31461}; 31462 31463process.cwd = function () { return '/' }; 31464process.chdir = function (dir) { 31465 throw new Error('process.chdir is not supported'); 31466}; 31467process.umask = function() { return 0; }; 31468 31469 31470/***/ }), 31471
vendor: 114,838 bytes, lines 31472-35188
31472/***/ "./node_modules/sortablejs/modular/sortable.esm.js": 31473/*!*********************************************************!*\ 31474 !*** ./node_modules/sortablejs/modular/sortable.esm.js ***! 31475 \*********************************************************/ 31476/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 31477 31478"use strict"; 31479__webpack_require__.r(__webpack_exports__); 31480/* harmony export */ __webpack_require__.d(__webpack_exports__, { 31481/* harmony export */ MultiDrag: () => (/* binding */ MultiDragPlugin), 31482/* harmony export */ Sortable: () => (/* binding */ Sortable), 31483/* harmony export */ Swap: () => (/* binding */ SwapPlugin), 31484/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 31485/* harmony export */ }); 31486/**! 31487 * Sortable 1.10.2 31488 * @author RubaXa <[email protected]> 31489 * @author owenm <[email protected]> 31490 * @license MIT 31491 */ 31492function _typeof(obj) { 31493 if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { 31494 _typeof = function (obj) { 31495 return typeof obj; 31496 }; 31497 } else { 31498 _typeof = function (obj) { 31499 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 31500 }; 31501 } 31502 31503 return _typeof(obj); 31504} 31505 31506function _defineProperty(obj, key, value) { 31507 if (key in obj) { 31508 Object.defineProperty(obj, key, { 31509 value: value, 31510 enumerable: true, 31511 configurable: true, 31512 writable: true 31513 }); 31514 } else { 31515 obj[key] = value; 31516 } 31517 31518 return obj; 31519} 31520 31521function _extends() { 31522 _extends = Object.assign || function (target) { 31523 for (var i = 1; i < arguments.length; i++) { 31524 var source = arguments[i]; 31525 31526 for (var key in source) { 31527 if (Object.prototype.hasOwnProperty.call(source, key)) { 31528 target[key] = source[key]; 31529 } 31530 } 31531 } 31532 31533 return target; 31534 }; 31535 31536 return _extends.apply(this, arguments); 31537} 31538 31539function _objectSpread(target) { 31540 for (var i = 1; i < arguments.length; i++) { 31541 var source = arguments[i] != null ? arguments[i] : {}; 31542 var ownKeys = Object.keys(source); 31543 31544 if (typeof Object.getOwnPropertySymbols === 'function') { 31545 ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { 31546 return Object.getOwnPropertyDescriptor(source, sym).enumerable; 31547 })); 31548 } 31549 31550 ownKeys.forEach(function (key) { 31551 _defineProperty(target, key, source[key]); 31552 }); 31553 } 31554 31555 return target; 31556} 31557 31558function _objectWithoutPropertiesLoose(source, excluded) { 31559 if (source == null) return {}; 31560 var target = {}; 31561 var sourceKeys = Object.keys(source); 31562 var key, i; 31563 31564 for (i = 0; i < sourceKeys.length; i++) { 31565 key = sourceKeys[i]; 31566 if (excluded.indexOf(key) >= 0) continue; 31567 target[key] = source[key]; 31568 } 31569 31570 return target; 31571} 31572 31573function _objectWithoutProperties(source, excluded) { 31574 if (source == null) return {}; 31575 31576 var target = _objectWithoutPropertiesLoose(source, excluded); 31577 31578 var key, i; 31579 31580 if (Object.getOwnPropertySymbols) { 31581 var sourceSymbolKeys = Object.getOwnPropertySymbols(source); 31582 31583 for (i = 0; i < sourceSymbolKeys.length; i++) { 31584 key = sourceSymbolKeys[i]; 31585 if (excluded.indexOf(key) >= 0) continue; 31586 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; 31587 target[key] = source[key]; 31588 } 31589 } 31590 31591 return target; 31592} 31593 31594function _toConsumableArray(arr) { 31595 return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); 31596} 31597 31598function _arrayWithoutHoles(arr) { 31599 if (Array.isArray(arr)) { 31600 for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; 31601 31602 return arr2; 31603 } 31604} 31605 31606function _iterableToArray(iter) { 31607 if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); 31608} 31609 31610function _nonIterableSpread() { 31611 throw new TypeError("Invalid attempt to spread non-iterable instance"); 31612} 31613 31614var version = "1.10.2"; 31615 31616function userAgent(pattern) { 31617 if (typeof window !== 'undefined' && window.navigator) { 31618 return !! 31619 /*@__PURE__*/ 31620 navigator.userAgent.match(pattern); 31621 } 31622} 31623 31624var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i); 31625var Edge = userAgent(/Edge/i); 31626var FireFox = userAgent(/firefox/i); 31627var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i); 31628var IOS = userAgent(/iP(ad|od|hone)/i); 31629var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i); 31630 31631var captureMode = { 31632 capture: false, 31633 passive: false 31634}; 31635 31636function on(el, event, fn) { 31637 el.addEventListener(event, fn, !IE11OrLess && captureMode); 31638} 31639 31640function off(el, event, fn) { 31641 el.removeEventListener(event, fn, !IE11OrLess && captureMode); 31642} 31643 31644function matches( 31645/**HTMLElement*/ 31646el, 31647/**String*/ 31648selector) { 31649 if (!selector) return; 31650 selector[0] === '>' && (selector = selector.substring(1)); 31651 31652 if (el) { 31653 try { 31654 if (el.matches) { 31655 return el.matches(selector); 31656 } else if (el.msMatchesSelector) { 31657 return el.msMatchesSelector(selector); 31658 } else if (el.webkitMatchesSelector) { 31659 return el.webkitMatchesSelector(selector); 31660 } 31661 } catch (_) { 31662 return false; 31663 } 31664 } 31665 31666 return false; 31667} 31668 31669function getParentOrHost(el) { 31670 return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode; 31671} 31672 31673function closest( 31674/**HTMLElement*/ 31675el, 31676/**String*/ 31677selector, 31678/**HTMLElement*/ 31679ctx, includeCTX) { 31680 if (el) { 31681 ctx = ctx || document; 31682 31683 do { 31684 if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) { 31685 return el; 31686 } 31687 31688 if (el === ctx) break; 31689 /* jshint boss:true */ 31690 } while (el = getParentOrHost(el)); 31691 } 31692 31693 return null; 31694} 31695 31696var R_SPACE = /\s+/g; 31697 31698function toggleClass(el, name, state) { 31699 if (el && name) { 31700 if (el.classList) { 31701 el.classList[state ? 'add' : 'remove'](name); 31702 } else { 31703 var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' '); 31704 el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' '); 31705 } 31706 } 31707} 31708 31709function css(el, prop, val) { 31710 var style = el && el.style; 31711 31712 if (style) { 31713 if (val === void 0) { 31714 if (document.defaultView && document.defaultView.getComputedStyle) { 31715 val = document.defaultView.getComputedStyle(el, ''); 31716 } else if (el.currentStyle) { 31717 val = el.currentStyle; 31718 } 31719 31720 return prop === void 0 ? val : val[prop]; 31721 } else { 31722 if (!(prop in style) && prop.indexOf('webkit') === -1) { 31723 prop = '-webkit-' + prop; 31724 } 31725 31726 style[prop] = val + (typeof val === 'string' ? '' : 'px'); 31727 } 31728 } 31729} 31730 31731function matrix(el, selfOnly) { 31732 var appliedTransforms = ''; 31733 31734 if (typeof el === 'string') { 31735 appliedTransforms = el; 31736 } else { 31737 do { 31738 var transform = css(el, 'transform'); 31739 31740 if (transform && transform !== 'none') { 31741 appliedTransforms = transform + ' ' + appliedTransforms; 31742 } 31743 /* jshint boss:true */ 31744 31745 } while (!selfOnly && (el = el.parentNode)); 31746 } 31747 31748 var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix; 31749 /*jshint -W056 */ 31750 31751 return matrixFn && new matrixFn(appliedTransforms); 31752} 31753 31754function find(ctx, tagName, iterator) { 31755 if (ctx) { 31756 var list = ctx.getElementsByTagName(tagName), 31757 i = 0, 31758 n = list.length; 31759 31760 if (iterator) { 31761 for (; i < n; i++) { 31762 iterator(list[i], i); 31763 } 31764 } 31765 31766 return list; 31767 } 31768 31769 return []; 31770} 31771 31772function getWindowScrollingElement() { 31773 var scrollingElement = document.scrollingElement; 31774 31775 if (scrollingElement) { 31776 return scrollingElement; 31777 } else { 31778 return document.documentElement; 31779 } 31780} 31781/** 31782 * Returns the "bounding client rect" of given element 31783 * @param {HTMLElement} el The element whose boundingClientRect is wanted 31784 * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container 31785 * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr 31786 * @param {[Boolean]} undoScale Whether the container's scale() should be undone 31787 * @param {[HTMLElement]} container The parent the element will be placed in 31788 * @return {Object} The boundingClientRect of el, with specified adjustments 31789 */ 31790 31791 31792function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) { 31793 if (!el.getBoundingClientRect && el !== window) return; 31794 var elRect, top, left, bottom, right, height, width; 31795 31796 if (el !== window && el !== getWindowScrollingElement()) { 31797 elRect = el.getBoundingClientRect(); 31798 top = elRect.top; 31799 left = elRect.left; 31800 bottom = elRect.bottom; 31801 right = elRect.right; 31802 height = elRect.height; 31803 width = elRect.width; 31804 } else { 31805 top = 0; 31806 left = 0; 31807 bottom = window.innerHeight; 31808 right = window.innerWidth; 31809 height = window.innerHeight; 31810 width = window.innerWidth; 31811 } 31812 31813 if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) { 31814 // Adjust for translate() 31815 container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312) 31816 // Not needed on <= IE11 31817 31818 if (!IE11OrLess) { 31819 do { 31820 if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) { 31821 var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container 31822 31823 top -= containerRect.top + parseInt(css(container, 'border-top-width')); 31824 left -= containerRect.left + parseInt(css(container, 'border-left-width')); 31825 bottom = top + elRect.height; 31826 right = left + elRect.width; 31827 break; 31828 } 31829 /* jshint boss:true */ 31830 31831 } while (container = container.parentNode); 31832 } 31833 } 31834 31835 if (undoScale && el !== window) { 31836 // Adjust for scale() 31837 var elMatrix = matrix(container || el), 31838 scaleX = elMatrix && elMatrix.a, 31839 scaleY = elMatrix && elMatrix.d; 31840 31841 if (elMatrix) { 31842 top /= scaleY; 31843 left /= scaleX; 31844 width /= scaleX; 31845 height /= scaleY; 31846 bottom = top + height; 31847 right = left + width; 31848 } 31849 } 31850 31851 return { 31852 top: top, 31853 left: left, 31854 bottom: bottom, 31855 right: right, 31856 width: width, 31857 height: height 31858 }; 31859} 31860/** 31861 * Checks if a side of an element is scrolled past a side of its parents 31862 * @param {HTMLElement} el The element who's side being scrolled out of view is in question 31863 * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom') 31864 * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom') 31865 * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element 31866 */ 31867 31868 31869function isScrolledPast(el, elSide, parentSide) { 31870 var parent = getParentAutoScrollElement(el, true), 31871 elSideVal = getRect(el)[elSide]; 31872 /* jshint boss:true */ 31873 31874 while (parent) { 31875 var parentSideVal = getRect(parent)[parentSide], 31876 visible = void 0; 31877 31878 if (parentSide === 'top' || parentSide === 'left') { 31879 visible = elSideVal >= parentSideVal; 31880 } else { 31881 visible = elSideVal <= parentSideVal; 31882 } 31883 31884 if (!visible) return parent; 31885 if (parent === getWindowScrollingElement()) break; 31886 parent = getParentAutoScrollElement(parent, false); 31887 } 31888 31889 return false; 31890} 31891/** 31892 * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible) 31893 * and non-draggable elements 31894 * @param {HTMLElement} el The parent element 31895 * @param {Number} childNum The index of the child 31896 * @param {Object} options Parent Sortable's options 31897 * @return {HTMLElement} The child at index childNum, or null if not found 31898 */ 31899 31900 31901function getChild(el, childNum, options) { 31902 var currentChild = 0, 31903 i = 0, 31904 children = el.children; 31905 31906 while (i < children.length) { 31907 if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) { 31908 if (currentChild === childNum) { 31909 return children[i]; 31910 } 31911 31912 currentChild++; 31913 } 31914 31915 i++; 31916 } 31917 31918 return null; 31919} 31920/** 31921 * Gets the last child in the el, ignoring ghostEl or invisible elements (clones) 31922 * @param {HTMLElement} el Parent element 31923 * @param {selector} selector Any other elements that should be ignored 31924 * @return {HTMLElement} The last child, ignoring ghostEl 31925 */ 31926 31927 31928function lastChild(el, selector) { 31929 var last = el.lastElementChild; 31930 31931 while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) { 31932 last = last.previousElementSibling; 31933 } 31934 31935 return last || null; 31936} 31937/** 31938 * Returns the index of an element within its parent for a selected set of 31939 * elements 31940 * @param {HTMLElement} el 31941 * @param {selector} selector 31942 * @return {number} 31943 */ 31944 31945 31946function index(el, selector) { 31947 var index = 0; 31948 31949 if (!el || !el.parentNode) { 31950 return -1; 31951 } 31952 /* jshint boss:true */ 31953 31954 31955 while (el = el.previousElementSibling) { 31956 if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) { 31957 index++; 31958 } 31959 } 31960 31961 return index; 31962} 31963/** 31964 * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements. 31965 * The value is returned in real pixels. 31966 * @param {HTMLElement} el 31967 * @return {Array} Offsets in the format of [left, top] 31968 */ 31969 31970 31971function getRelativeScrollOffset(el) { 31972 var offsetLeft = 0, 31973 offsetTop = 0, 31974 winScroller = getWindowScrollingElement(); 31975 31976 if (el) { 31977 do { 31978 var elMatrix = matrix(el), 31979 scaleX = elMatrix.a, 31980 scaleY = elMatrix.d; 31981 offsetLeft += el.scrollLeft * scaleX; 31982 offsetTop += el.scrollTop * scaleY; 31983 } while (el !== winScroller && (el = el.parentNode)); 31984 } 31985 31986 return [offsetLeft, offsetTop]; 31987} 31988/** 31989 * Returns the index of the object within the given array 31990 * @param {Array} arr Array that may or may not hold the object 31991 * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find 31992 * @return {Number} The index of the object in the array, or -1 31993 */ 31994 31995 31996function indexOfObject(arr, obj) { 31997 for (var i in arr) { 31998 if (!arr.hasOwnProperty(i)) continue; 31999 32000 for (var key in obj) { 32001 if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i); 32002 } 32003 } 32004 32005 return -1; 32006} 32007 32008function getParentAutoScrollElement(el, includeSelf) { 32009 // skip to window 32010 if (!el || !el.getBoundingClientRect) return getWindowScrollingElement(); 32011 var elem = el; 32012 var gotSelf = false; 32013 32014 do { 32015 // we don't need to get elem css if it isn't even overflowing in the first place (performance) 32016 if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) { 32017 var elemCSS = css(elem); 32018 32019 if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) { 32020 if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement(); 32021 if (gotSelf || includeSelf) return elem; 32022 gotSelf = true; 32023 } 32024 } 32025 /* jshint boss:true */ 32026 32027 } while (elem = elem.parentNode); 32028 32029 return getWindowScrollingElement(); 32030} 32031 32032function extend(dst, src) { 32033 if (dst && src) { 32034 for (var key in src) { 32035 if (src.hasOwnProperty(key)) { 32036 dst[key] = src[key]; 32037 } 32038 } 32039 } 32040 32041 return dst; 32042} 32043 32044function isRectEqual(rect1, rect2) { 32045 return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width); 32046} 32047 32048var _throttleTimeout; 32049 32050function throttle(callback, ms) { 32051 return function () { 32052 if (!_throttleTimeout) { 32053 var args = arguments, 32054 _this = this; 32055 32056 if (args.length === 1) { 32057 callback.call(_this, args[0]); 32058 } else { 32059 callback.apply(_this, args); 32060 } 32061 32062 _throttleTimeout = setTimeout(function () { 32063 _throttleTimeout = void 0; 32064 }, ms); 32065 } 32066 }; 32067} 32068 32069function cancelThrottle() { 32070 clearTimeout(_throttleTimeout); 32071 _throttleTimeout = void 0; 32072} 32073 32074function scrollBy(el, x, y) { 32075 el.scrollLeft += x; 32076 el.scrollTop += y; 32077} 32078 32079function clone(el) { 32080 var Polymer = window.Polymer; 32081 var $ = window.jQuery || window.Zepto; 32082 32083 if (Polymer && Polymer.dom) { 32084 return Polymer.dom(el).cloneNode(true); 32085 } else if ($) { 32086 return $(el).clone(true)[0]; 32087 } else { 32088 return el.cloneNode(true); 32089 } 32090} 32091 32092function setRect(el, rect) { 32093 css(el, 'position', 'absolute'); 32094 css(el, 'top', rect.top); 32095 css(el, 'left', rect.left); 32096 css(el, 'width', rect.width); 32097 css(el, 'height', rect.height); 32098} 32099 32100function unsetRect(el) { 32101 css(el, 'position', ''); 32102 css(el, 'top', ''); 32103 css(el, 'left', ''); 32104 css(el, 'width', ''); 32105 css(el, 'height', ''); 32106} 32107 32108var expando = 'Sortable' + new Date().getTime(); 32109 32110function AnimationStateManager() { 32111 var animationStates = [], 32112 animationCallbackId; 32113 return { 32114 captureAnimationState: function captureAnimationState() { 32115 animationStates = []; 32116 if (!this.options.animation) return; 32117 var children = [].slice.call(this.el.children); 32118 children.forEach(function (child) { 32119 if (css(child, 'display') === 'none' || child === Sortable.ghost) return; 32120 animationStates.push({ 32121 target: child, 32122 rect: getRect(child) 32123 }); 32124 32125 var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation 32126 32127 32128 if (child.thisAnimationDuration) { 32129 var childMatrix = matrix(child, true); 32130 32131 if (childMatrix) { 32132 fromRect.top -= childMatrix.f; 32133 fromRect.left -= childMatrix.e; 32134 } 32135 } 32136 32137 child.fromRect = fromRect; 32138 }); 32139 }, 32140 addAnimationState: function addAnimationState(state) { 32141 animationStates.push(state); 32142 }, 32143 removeAnimationState: function removeAnimationState(target) { 32144 animationStates.splice(indexOfObject(animationStates, { 32145 target: target 32146 }), 1); 32147 }, 32148 animateAll: function animateAll(callback) { 32149 var _this = this; 32150 32151 if (!this.options.animation) { 32152 clearTimeout(animationCallbackId); 32153 if (typeof callback === 'function') callback(); 32154 return; 32155 } 32156 32157 var animating = false, 32158 animationTime = 0; 32159 animationStates.forEach(function (state) { 32160 var time = 0, 32161 target = state.target, 32162 fromRect = target.fromRect, 32163 toRect = getRect(target), 32164 prevFromRect = target.prevFromRect, 32165 prevToRect = target.prevToRect, 32166 animatingRect = state.rect, 32167 targetMatrix = matrix(target, true); 32168 32169 if (targetMatrix) { 32170 // Compensate for current animation 32171 toRect.top -= targetMatrix.f; 32172 toRect.left -= targetMatrix.e; 32173 } 32174 32175 target.toRect = toRect; 32176 32177 if (target.thisAnimationDuration) { 32178 // Could also check if animatingRect is between fromRect and toRect 32179 if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect 32180 (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) { 32181 // If returning to same place as started from animation and on same axis 32182 time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options); 32183 } 32184 } // if fromRect != toRect: animate 32185 32186 32187 if (!isRectEqual(toRect, fromRect)) { 32188 target.prevFromRect = fromRect; 32189 target.prevToRect = toRect; 32190 32191 if (!time) { 32192 time = _this.options.animation; 32193 } 32194 32195 _this.animate(target, animatingRect, toRect, time); 32196 } 32197 32198 if (time) { 32199 animating = true; 32200 animationTime = Math.max(animationTime, time); 32201 clearTimeout(target.animationResetTimer); 32202 target.animationResetTimer = setTimeout(function () { 32203 target.animationTime = 0; 32204 target.prevFromRect = null; 32205 target.fromRect = null; 32206 target.prevToRect = null; 32207 target.thisAnimationDuration = null; 32208 }, time); 32209 target.thisAnimationDuration = time; 32210 } 32211 }); 32212 clearTimeout(animationCallbackId); 32213 32214 if (!animating) { 32215 if (typeof callback === 'function') callback(); 32216 } else { 32217 animationCallbackId = setTimeout(function () { 32218 if (typeof callback === 'function') callback(); 32219 }, animationTime); 32220 } 32221 32222 animationStates = []; 32223 }, 32224 animate: function animate(target, currentRect, toRect, duration) { 32225 if (duration) { 32226 css(target, 'transition', ''); 32227 css(target, 'transform', ''); 32228 var elMatrix = matrix(this.el), 32229 scaleX = elMatrix && elMatrix.a, 32230 scaleY = elMatrix && elMatrix.d, 32231 translateX = (currentRect.left - toRect.left) / (scaleX || 1), 32232 translateY = (currentRect.top - toRect.top) / (scaleY || 1); 32233 target.animatingX = !!translateX; 32234 target.animatingY = !!translateY; 32235 css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)'); 32236 repaint(target); // repaint 32237 32238 css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : '')); 32239 css(target, 'transform', 'translate3d(0,0,0)'); 32240 typeof target.animated === 'number' && clearTimeout(target.animated); 32241 target.animated = setTimeout(function () { 32242 css(target, 'transition', ''); 32243 css(target, 'transform', ''); 32244 target.animated = false; 32245 target.animatingX = false; 32246 target.animatingY = false; 32247 }, duration); 32248 } 32249 } 32250 }; 32251} 32252 32253function repaint(target) { 32254 return target.offsetWidth; 32255} 32256 32257function calculateRealTime(animatingRect, fromRect, toRect, options) { 32258 return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation; 32259} 32260 32261var plugins = []; 32262var defaults = { 32263 initializeByDefault: true 32264}; 32265var PluginManager = { 32266 mount: function mount(plugin) { 32267 // Set default static properties 32268 for (var option in defaults) { 32269 if (defaults.hasOwnProperty(option) && !(option in plugin)) { 32270 plugin[option] = defaults[option]; 32271 } 32272 } 32273 32274 plugins.push(plugin); 32275 }, 32276 pluginEvent: function pluginEvent(eventName, sortable, evt) { 32277 var _this = this; 32278 32279 this.eventCanceled = false; 32280 32281 evt.cancel = function () { 32282 _this.eventCanceled = true; 32283 }; 32284 32285 var eventNameGlobal = eventName + 'Global'; 32286 plugins.forEach(function (plugin) { 32287 if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable 32288 32289 if (sortable[plugin.pluginName][eventNameGlobal]) { 32290 sortable[plugin.pluginName][eventNameGlobal](_objectSpread({ 32291 sortable: sortable 32292 }, evt)); 32293 } // Only fire plugin event if plugin is enabled in this sortable, 32294 // and plugin has event defined 32295 32296 32297 if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) { 32298 sortable[plugin.pluginName][eventName](_objectSpread({ 32299 sortable: sortable 32300 }, evt)); 32301 } 32302 }); 32303 }, 32304 initializePlugins: function initializePlugins(sortable, el, defaults, options) { 32305 plugins.forEach(function (plugin) { 32306 var pluginName = plugin.pluginName; 32307 if (!sortable.options[pluginName] && !plugin.initializeByDefault) return; 32308 var initialized = new plugin(sortable, el, sortable.options); 32309 initialized.sortable = sortable; 32310 initialized.options = sortable.options; 32311 sortable[pluginName] = initialized; // Add default options from plugin 32312 32313 _extends(defaults, initialized.defaults); 32314 }); 32315 32316 for (var option in sortable.options) { 32317 if (!sortable.options.hasOwnProperty(option)) continue; 32318 var modified = this.modifyOption(sortable, option, sortable.options[option]); 32319 32320 if (typeof modified !== 'undefined') { 32321 sortable.options[option] = modified; 32322 } 32323 } 32324 }, 32325 getEventProperties: function getEventProperties(name, sortable) { 32326 var eventProperties = {}; 32327 plugins.forEach(function (plugin) { 32328 if (typeof plugin.eventProperties !== 'function') return; 32329 32330 _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name)); 32331 }); 32332 return eventProperties; 32333 }, 32334 modifyOption: function modifyOption(sortable, name, value) { 32335 var modifiedValue; 32336 plugins.forEach(function (plugin) { 32337 // Plugin must exist on the Sortable 32338 if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin 32339 32340 if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') { 32341 modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value); 32342 } 32343 }); 32344 return modifiedValue; 32345 } 32346}; 32347 32348function dispatchEvent(_ref) { 32349 var sortable = _ref.sortable, 32350 rootEl = _ref.rootEl, 32351 name = _ref.name, 32352 targetEl = _ref.targetEl, 32353 cloneEl = _ref.cloneEl, 32354 toEl = _ref.toEl, 32355 fromEl = _ref.fromEl, 32356 oldIndex = _ref.oldIndex, 32357 newIndex = _ref.newIndex, 32358 oldDraggableIndex = _ref.oldDraggableIndex, 32359 newDraggableIndex = _ref.newDraggableIndex, 32360 originalEvent = _ref.originalEvent, 32361 putSortable = _ref.putSortable, 32362 extraEventProperties = _ref.extraEventProperties; 32363 sortable = sortable || rootEl && rootEl[expando]; 32364 if (!sortable) return; 32365 var evt, 32366 options = sortable.options, 32367 onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature 32368 32369 if (window.CustomEvent && !IE11OrLess && !Edge) { 32370 evt = new CustomEvent(name, { 32371 bubbles: true, 32372 cancelable: true 32373 }); 32374 } else { 32375 evt = document.createEvent('Event'); 32376 evt.initEvent(name, true, true); 32377 } 32378 32379 evt.to = toEl || rootEl; 32380 evt.from = fromEl || rootEl; 32381 evt.item = targetEl || rootEl; 32382 evt.clone = cloneEl; 32383 evt.oldIndex = oldIndex; 32384 evt.newIndex = newIndex; 32385 evt.oldDraggableIndex = oldDraggableIndex; 32386 evt.newDraggableIndex = newDraggableIndex; 32387 evt.originalEvent = originalEvent; 32388 evt.pullMode = putSortable ? putSortable.lastPutMode : undefined; 32389 32390 var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable)); 32391 32392 for (var option in allEventProperties) { 32393 evt[option] = allEventProperties[option]; 32394 } 32395 32396 if (rootEl) { 32397 rootEl.dispatchEvent(evt); 32398 } 32399 32400 if (options[onName]) { 32401 options[onName].call(sortable, evt); 32402 } 32403} 32404 32405var pluginEvent = function pluginEvent(eventName, sortable) { 32406 var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, 32407 originalEvent = _ref.evt, 32408 data = _objectWithoutProperties(_ref, ["evt"]); 32409 32410 PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({ 32411 dragEl: dragEl, 32412 parentEl: parentEl, 32413 ghostEl: ghostEl, 32414 rootEl: rootEl, 32415 nextEl: nextEl, 32416 lastDownEl: lastDownEl, 32417 cloneEl: cloneEl, 32418 cloneHidden: cloneHidden, 32419 dragStarted: moved, 32420 putSortable: putSortable, 32421 activeSortable: Sortable.active, 32422 originalEvent: originalEvent, 32423 oldIndex: oldIndex, 32424 oldDraggableIndex: oldDraggableIndex, 32425 newIndex: newIndex, 32426 newDraggableIndex: newDraggableIndex, 32427 hideGhostForTarget: _hideGhostForTarget, 32428 unhideGhostForTarget: _unhideGhostForTarget, 32429 cloneNowHidden: function cloneNowHidden() { 32430 cloneHidden = true; 32431 }, 32432 cloneNowShown: function cloneNowShown() { 32433 cloneHidden = false; 32434 }, 32435 dispatchSortableEvent: function dispatchSortableEvent(name) { 32436 _dispatchEvent({ 32437 sortable: sortable, 32438 name: name, 32439 originalEvent: originalEvent 32440 }); 32441 } 32442 }, data)); 32443}; 32444 32445function _dispatchEvent(info) { 32446 dispatchEvent(_objectSpread({ 32447 putSortable: putSortable, 32448 cloneEl: cloneEl, 32449 targetEl: dragEl, 32450 rootEl: rootEl, 32451 oldIndex: oldIndex, 32452 oldDraggableIndex: oldDraggableIndex, 32453 newIndex: newIndex, 32454 newDraggableIndex: newDraggableIndex 32455 }, info)); 32456} 32457 32458var dragEl, 32459 parentEl, 32460 ghostEl, 32461 rootEl, 32462 nextEl, 32463 lastDownEl, 32464 cloneEl, 32465 cloneHidden, 32466 oldIndex, 32467 newIndex, 32468 oldDraggableIndex, 32469 newDraggableIndex, 32470 activeGroup, 32471 putSortable, 32472 awaitingDragStarted = false, 32473 ignoreNextClick = false, 32474 sortables = [], 32475 tapEvt, 32476 touchEvt, 32477 lastDx, 32478 lastDy, 32479 tapDistanceLeft, 32480 tapDistanceTop, 32481 moved, 32482 lastTarget, 32483 lastDirection, 32484 pastFirstInvertThresh = false, 32485 isCircumstantialInvert = false, 32486 targetMoveDistance, 32487 // For positioning ghost absolutely 32488ghostRelativeParent, 32489 ghostRelativeParentInitialScroll = [], 32490 // (left, top) 32491_silent = false, 32492 savedInputChecked = []; 32493/** @const */ 32494 32495var documentExists = typeof document !== 'undefined', 32496 PositionGhostAbsolutely = IOS, 32497 CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float', 32498 // This will not pass for IE9, because IE9 DnD only works on anchors 32499supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'), 32500 supportCssPointerEvents = function () { 32501 if (!documentExists) return; // false when <= IE11 32502 32503 if (IE11OrLess) { 32504 return false; 32505 } 32506 32507 var el = document.createElement('x'); 32508 el.style.cssText = 'pointer-events:auto'; 32509 return el.style.pointerEvents === 'auto'; 32510}(), 32511 _detectDirection = function _detectDirection(el, options) { 32512 var elCSS = css(el), 32513 elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth), 32514 child1 = getChild(el, 0, options), 32515 child2 = getChild(el, 1, options), 32516 firstChildCSS = child1 && css(child1), 32517 secondChildCSS = child2 && css(child2), 32518 firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width, 32519 secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width; 32520 32521 if (elCSS.display === 'flex') { 32522 return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal'; 32523 } 32524 32525 if (elCSS.display === 'grid') { 32526 return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal'; 32527 } 32528 32529 if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') { 32530 var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right'; 32531 return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal'; 32532 } 32533 32534 return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal'; 32535}, 32536 _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) { 32537 var dragElS1Opp = vertical ? dragRect.left : dragRect.top, 32538 dragElS2Opp = vertical ? dragRect.right : dragRect.bottom, 32539 dragElOppLength = vertical ? dragRect.width : dragRect.height, 32540 targetS1Opp = vertical ? targetRect.left : targetRect.top, 32541 targetS2Opp = vertical ? targetRect.right : targetRect.bottom, 32542 targetOppLength = vertical ? targetRect.width : targetRect.height; 32543 return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2; 32544}, 32545 32546/** 32547 * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold. 32548 * @param {Number} x X position 32549 * @param {Number} y Y position 32550 * @return {HTMLElement} Element of the first found nearest Sortable 32551 */ 32552_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) { 32553 var ret; 32554 sortables.some(function (sortable) { 32555 if (lastChild(sortable)) return; 32556 var rect = getRect(sortable), 32557 threshold = sortable[expando].options.emptyInsertThreshold, 32558 insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold, 32559 insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold; 32560 32561 if (threshold && insideHorizontally && insideVertically) { 32562 return ret = sortable; 32563 } 32564 }); 32565 return ret; 32566}, 32567 _prepareGroup = function _prepareGroup(options) { 32568 function toFn(value, pull) { 32569 return function (to, from, dragEl, evt) { 32570 var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name; 32571 32572 if (value == null && (pull || sameGroup)) { 32573 // Default pull value 32574 // Default pull and put value if same group 32575 return true; 32576 } else if (value == null || value === false) { 32577 return false; 32578 } else if (pull && value === 'clone') { 32579 return value; 32580 } else if (typeof value === 'function') { 32581 return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt); 32582 } else { 32583 var otherGroup = (pull ? to : from).options.group.name; 32584 return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1; 32585 } 32586 }; 32587 } 32588 32589 var group = {}; 32590 var originalGroup = options.group; 32591 32592 if (!originalGroup || _typeof(originalGroup) != 'object') { 32593 originalGroup = { 32594 name: originalGroup 32595 }; 32596 } 32597 32598 group.name = originalGroup.name; 32599 group.checkPull = toFn(originalGroup.pull, true); 32600 group.checkPut = toFn(originalGroup.put); 32601 group.revertClone = originalGroup.revertClone; 32602 options.group = group; 32603}, 32604 _hideGhostForTarget = function _hideGhostForTarget() { 32605 if (!supportCssPointerEvents && ghostEl) { 32606 css(ghostEl, 'display', 'none'); 32607 } 32608}, 32609 _unhideGhostForTarget = function _unhideGhostForTarget() { 32610 if (!supportCssPointerEvents && ghostEl) { 32611 css(ghostEl, 'display', ''); 32612 } 32613}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position 32614 32615 32616if (documentExists) { 32617 document.addEventListener('click', function (evt) { 32618 if (ignoreNextClick) { 32619 evt.preventDefault(); 32620 evt.stopPropagation && evt.stopPropagation(); 32621 evt.stopImmediatePropagation && evt.stopImmediatePropagation(); 32622 ignoreNextClick = false; 32623 return false; 32624 } 32625 }, true); 32626} 32627 32628var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) { 32629 if (dragEl) { 32630 evt = evt.touches ? evt.touches[0] : evt; 32631 32632 var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY); 32633 32634 if (nearest) { 32635 // Create imitation event 32636 var event = {}; 32637 32638 for (var i in evt) { 32639 if (evt.hasOwnProperty(i)) { 32640 event[i] = evt[i]; 32641 } 32642 } 32643 32644 event.target = event.rootEl = nearest; 32645 event.preventDefault = void 0; 32646 event.stopPropagation = void 0; 32647 32648 nearest[expando]._onDragOver(event); 32649 } 32650 } 32651}; 32652 32653var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) { 32654 if (dragEl) { 32655 dragEl.parentNode[expando]._isOutsideThisEl(evt.target); 32656 } 32657}; 32658/** 32659 * @class Sortable 32660 * @param {HTMLElement} el 32661 * @param {Object} [options] 32662 */ 32663 32664 32665function Sortable(el, options) { 32666 if (!(el && el.nodeType && el.nodeType === 1)) { 32667 throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el)); 32668 } 32669 32670 this.el = el; // root element 32671 32672 this.options = options = _extends({}, options); // Export instance 32673 32674 el[expando] = this; 32675 var defaults = { 32676 group: null, 32677 sort: true, 32678 disabled: false, 32679 store: null, 32680 handle: null, 32681 draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*', 32682 swapThreshold: 1, 32683 // percentage; 0 <= x <= 1 32684 invertSwap: false, 32685 // invert always 32686 invertedSwapThreshold: null, 32687 // will be set to same as swapThreshold if default 32688 removeCloneOnHide: true, 32689 direction: function direction() { 32690 return _detectDirection(el, this.options); 32691 }, 32692 ghostClass: 'sortable-ghost', 32693 chosenClass: 'sortable-chosen', 32694 dragClass: 'sortable-drag', 32695 ignore: 'a, img', 32696 filter: null, 32697 preventOnFilter: true, 32698 animation: 0, 32699 easing: null, 32700 setData: function setData(dataTransfer, dragEl) { 32701 dataTransfer.setData('Text', dragEl.textContent); 32702 }, 32703 dropBubble: false, 32704 dragoverBubble: false, 32705 dataIdAttr: 'data-id', 32706 delay: 0, 32707 delayOnTouchOnly: false, 32708 touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1, 32709 forceFallback: false, 32710 fallbackClass: 'sortable-fallback', 32711 fallbackOnBody: false, 32712 fallbackTolerance: 0, 32713 fallbackOffset: { 32714 x: 0, 32715 y: 0 32716 }, 32717 supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window, 32718 emptyInsertThreshold: 5 32719 }; 32720 PluginManager.initializePlugins(this, el, defaults); // Set default options 32721 32722 for (var name in defaults) { 32723 !(name in options) && (options[name] = defaults[name]); 32724 } 32725 32726 _prepareGroup(options); // Bind all private methods 32727 32728 32729 for (var fn in this) { 32730 if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { 32731 this[fn] = this[fn].bind(this); 32732 } 32733 } // Setup drag mode 32734 32735 32736 this.nativeDraggable = options.forceFallback ? false : supportDraggable; 32737 32738 if (this.nativeDraggable) { 32739 // Touch start threshold cannot be greater than the native dragstart threshold 32740 this.options.touchStartThreshold = 1; 32741 } // Bind events 32742 32743 32744 if (options.supportPointer) { 32745 on(el, 'pointerdown', this._onTapStart); 32746 } else { 32747 on(el, 'mousedown', this._onTapStart); 32748 on(el, 'touchstart', this._onTapStart); 32749 } 32750 32751 if (this.nativeDraggable) { 32752 on(el, 'dragover', this); 32753 on(el, 'dragenter', this); 32754 } 32755 32756 sortables.push(this.el); // Restore sorting 32757 32758 options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager 32759 32760 _extends(this, AnimationStateManager()); 32761} 32762 32763Sortable.prototype = 32764/** @lends Sortable.prototype */ 32765{ 32766 constructor: Sortable, 32767 _isOutsideThisEl: function _isOutsideThisEl(target) { 32768 if (!this.el.contains(target) && target !== this.el) { 32769 lastTarget = null; 32770 } 32771 }, 32772 _getDirection: function _getDirection(evt, target) { 32773 return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction; 32774 }, 32775 _onTapStart: function _onTapStart( 32776 /** Event|TouchEvent */ 32777 evt) { 32778 if (!evt.cancelable) return; 32779 32780 var _this = this, 32781 el = this.el, 32782 options = this.options, 32783 preventOnFilter = options.preventOnFilter, 32784 type = evt.type, 32785 touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt, 32786 target = (touch || evt).target, 32787 originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target, 32788 filter = options.filter; 32789 32790 _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group. 32791 32792 32793 if (dragEl) { 32794 return; 32795 } 32796 32797 if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) { 32798 return; // only left button and enabled 32799 } // cancel dnd if original target is content editable 32800 32801 32802 if (originalTarget.isContentEditable) { 32803 return; 32804 } 32805 32806 target = closest(target, options.draggable, el, false); 32807 32808 if (target && target.animated) { 32809 return; 32810 } 32811 32812 if (lastDownEl === target) { 32813 // Ignoring duplicate `down` 32814 return; 32815 } // Get the index of the dragged element within its parent 32816 32817 32818 oldIndex = index(target); 32819 oldDraggableIndex = index(target, options.draggable); // Check filter 32820 32821 if (typeof filter === 'function') { 32822 if (filter.call(this, evt, target, this)) { 32823 _dispatchEvent({ 32824 sortable: _this, 32825 rootEl: originalTarget, 32826 name: 'filter', 32827 targetEl: target, 32828 toEl: el, 32829 fromEl: el 32830 }); 32831 32832 pluginEvent('filter', _this, { 32833 evt: evt 32834 }); 32835 preventOnFilter && evt.cancelable && evt.preventDefault(); 32836 return; // cancel dnd 32837 } 32838 } else if (filter) { 32839 filter = filter.split(',').some(function (criteria) { 32840 criteria = closest(originalTarget, criteria.trim(), el, false); 32841 32842 if (criteria) { 32843 _dispatchEvent({ 32844 sortable: _this, 32845 rootEl: criteria, 32846 name: 'filter', 32847 targetEl: target, 32848 fromEl: el, 32849 toEl: el 32850 }); 32851 32852 pluginEvent('filter', _this, { 32853 evt: evt 32854 }); 32855 return true; 32856 } 32857 }); 32858 32859 if (filter) { 32860 preventOnFilter && evt.cancelable && evt.preventDefault(); 32861 return; // cancel dnd 32862 } 32863 } 32864 32865 if (options.handle && !closest(originalTarget, options.handle, el, false)) { 32866 return; 32867 } // Prepare `dragstart` 32868 32869 32870 this._prepareDragStart(evt, touch, target); 32871 }, 32872 _prepareDragStart: function _prepareDragStart( 32873 /** Event */ 32874 evt, 32875 /** Touch */ 32876 touch, 32877 /** HTMLElement */ 32878 target) { 32879 var _this = this, 32880 el = _this.el, 32881 options = _this.options, 32882 ownerDocument = el.ownerDocument, 32883 dragStartFn; 32884 32885 if (target && !dragEl && target.parentNode === el) { 32886 var dragRect = getRect(target); 32887 rootEl = el; 32888 dragEl = target; 32889 parentEl = dragEl.parentNode; 32890 nextEl = dragEl.nextSibling; 32891 lastDownEl = target; 32892 activeGroup = options.group; 32893 Sortable.dragged = dragEl; 32894 tapEvt = { 32895 target: dragEl, 32896 clientX: (touch || evt).clientX, 32897 clientY: (touch || evt).clientY 32898 }; 32899 tapDistanceLeft = tapEvt.clientX - dragRect.left; 32900 tapDistanceTop = tapEvt.clientY - dragRect.top; 32901 this._lastX = (touch || evt).clientX; 32902 this._lastY = (touch || evt).clientY; 32903 dragEl.style['will-change'] = 'all'; 32904 32905 dragStartFn = function dragStartFn() { 32906 pluginEvent('delayEnded', _this, { 32907 evt: evt 32908 }); 32909 32910 if (Sortable.eventCanceled) { 32911 _this._onDrop(); 32912 32913 return; 32914 } // Delayed drag has been triggered 32915 // we can re-enable the events: touchmove/mousemove 32916 32917 32918 _this._disableDelayedDragEvents(); 32919 32920 if (!FireFox && _this.nativeDraggable) { 32921 dragEl.draggable = true; 32922 } // Bind the events: dragstart/dragend 32923 32924 32925 _this._triggerDragStart(evt, touch); // Drag start event 32926 32927 32928 _dispatchEvent({ 32929 sortable: _this, 32930 name: 'choose', 32931 originalEvent: evt 32932 }); // Chosen item 32933 32934 32935 toggleClass(dragEl, options.chosenClass, true); 32936 }; // Disable "draggable" 32937 32938 32939 options.ignore.split(',').forEach(function (criteria) { 32940 find(dragEl, criteria.trim(), _disableDraggable); 32941 }); 32942 on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent); 32943 on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent); 32944 on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent); 32945 on(ownerDocument, 'mouseup', _this._onDrop); 32946 on(ownerDocument, 'touchend', _this._onDrop); 32947 on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox) 32948 32949 if (FireFox && this.nativeDraggable) { 32950 this.options.touchStartThreshold = 4; 32951 dragEl.draggable = true; 32952 } 32953 32954 pluginEvent('delayStart', this, { 32955 evt: evt 32956 }); // Delay is impossible for native DnD in Edge or IE 32957 32958 if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) { 32959 if (Sortable.eventCanceled) { 32960 this._onDrop(); 32961 32962 return; 32963 } // If the user moves the pointer or let go the click or touch 32964 // before the delay has been reached: 32965 // disable the delayed drag 32966 32967 32968 on(ownerDocument, 'mouseup', _this._disableDelayedDrag); 32969 on(ownerDocument, 'touchend', _this._disableDelayedDrag); 32970 on(ownerDocument, 'touchcancel', _this._disableDelayedDrag); 32971 on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler); 32972 on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler); 32973 options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler); 32974 _this._dragStartTimer = setTimeout(dragStartFn, options.delay); 32975 } else { 32976 dragStartFn(); 32977 } 32978 } 32979 }, 32980 _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( 32981 /** TouchEvent|PointerEvent **/ 32982 e) { 32983 var touch = e.touches ? e.touches[0] : e; 32984 32985 if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) { 32986 this._disableDelayedDrag(); 32987 } 32988 }, 32989 _disableDelayedDrag: function _disableDelayedDrag() { 32990 dragEl && _disableDraggable(dragEl); 32991 clearTimeout(this._dragStartTimer); 32992 32993 this._disableDelayedDragEvents(); 32994 }, 32995 _disableDelayedDragEvents: function _disableDelayedDragEvents() { 32996 var ownerDocument = this.el.ownerDocument; 32997 off(ownerDocument, 'mouseup', this._disableDelayedDrag); 32998 off(ownerDocument, 'touchend', this._disableDelayedDrag); 32999 off(ownerDocument, 'touchcancel', this._disableDelayedDrag); 33000 off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler); 33001 off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler); 33002 off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler); 33003 }, 33004 _triggerDragStart: function _triggerDragStart( 33005 /** Event */ 33006 evt, 33007 /** Touch */ 33008 touch) { 33009 touch = touch || evt.pointerType == 'touch' && evt; 33010 33011 if (!this.nativeDraggable || touch) { 33012 if (this.options.supportPointer) { 33013 on(document, 'pointermove', this._onTouchMove); 33014 } else if (touch) { 33015 on(document, 'touchmove', this._onTouchMove); 33016 } else { 33017 on(document, 'mousemove', this._onTouchMove); 33018 } 33019 } else { 33020 on(dragEl, 'dragend', this); 33021 on(rootEl, 'dragstart', this._onDragStart); 33022 } 33023 33024 try { 33025 if (document.selection) { 33026 // Timeout neccessary for IE9 33027 _nextTick(function () { 33028 document.selection.empty(); 33029 }); 33030 } else { 33031 window.getSelection().removeAllRanges(); 33032 } 33033 } catch (err) {} 33034 }, 33035 _dragStarted: function _dragStarted(fallback, evt) { 33036 33037 awaitingDragStarted = false; 33038 33039 if (rootEl && dragEl) { 33040 pluginEvent('dragStarted', this, { 33041 evt: evt 33042 }); 33043 33044 if (this.nativeDraggable) { 33045 on(document, 'dragover', _checkOutsideTargetEl); 33046 } 33047 33048 var options = this.options; // Apply effect 33049 33050 !fallback && toggleClass(dragEl, options.dragClass, false); 33051 toggleClass(dragEl, options.ghostClass, true); 33052 Sortable.active = this; 33053 fallback && this._appendGhost(); // Drag start event 33054 33055 _dispatchEvent({ 33056 sortable: this, 33057 name: 'start', 33058 originalEvent: evt 33059 }); 33060 } else { 33061 this._nulling(); 33062 } 33063 }, 33064 _emulateDragOver: function _emulateDragOver() { 33065 if (touchEvt) { 33066 this._lastX = touchEvt.clientX; 33067 this._lastY = touchEvt.clientY; 33068 33069 _hideGhostForTarget(); 33070 33071 var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY); 33072 var parent = target; 33073 33074 while (target && target.shadowRoot) { 33075 target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY); 33076 if (target === parent) break; 33077 parent = target; 33078 } 33079 33080 dragEl.parentNode[expando]._isOutsideThisEl(target); 33081 33082 if (parent) { 33083 do { 33084 if (parent[expando]) { 33085 var inserted = void 0; 33086 inserted = parent[expando]._onDragOver({ 33087 clientX: touchEvt.clientX, 33088 clientY: touchEvt.clientY, 33089 target: target, 33090 rootEl: parent 33091 }); 33092 33093 if (inserted && !this.options.dragoverBubble) { 33094 break; 33095 } 33096 } 33097 33098 target = parent; // store last element 33099 } 33100 /* jshint boss:true */ 33101 while (parent = parent.parentNode); 33102 } 33103 33104 _unhideGhostForTarget(); 33105 } 33106 }, 33107 _onTouchMove: function _onTouchMove( 33108 /**TouchEvent*/ 33109 evt) { 33110 if (tapEvt) { 33111 var options = this.options, 33112 fallbackTolerance = options.fallbackTolerance, 33113 fallbackOffset = options.fallbackOffset, 33114 touch = evt.touches ? evt.touches[0] : evt, 33115 ghostMatrix = ghostEl && matrix(ghostEl, true), 33116 scaleX = ghostEl && ghostMatrix && ghostMatrix.a, 33117 scaleY = ghostEl && ghostMatrix && ghostMatrix.d, 33118 relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent), 33119 dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1), 33120 dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging 33121 33122 if (!Sortable.active && !awaitingDragStarted) { 33123 if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) { 33124 return; 33125 } 33126 33127 this._onDragStart(evt, true); 33128 } 33129 33130 if (ghostEl) { 33131 if (ghostMatrix) { 33132 ghostMatrix.e += dx - (lastDx || 0); 33133 ghostMatrix.f += dy - (lastDy || 0); 33134 } else { 33135 ghostMatrix = { 33136 a: 1, 33137 b: 0, 33138 c: 0, 33139 d: 1, 33140 e: dx, 33141 f: dy 33142 }; 33143 } 33144 33145 var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")"); 33146 css(ghostEl, 'webkitTransform', cssMatrix); 33147 css(ghostEl, 'mozTransform', cssMatrix); 33148 css(ghostEl, 'msTransform', cssMatrix); 33149 css(ghostEl, 'transform', cssMatrix); 33150 lastDx = dx; 33151 lastDy = dy; 33152 touchEvt = touch; 33153 } 33154 33155 evt.cancelable && evt.preventDefault(); 33156 } 33157 }, 33158 _appendGhost: function _appendGhost() { 33159 // Bug if using scale(): https://stackoverflow.com/questions/2637058 33160 // Not being adjusted for 33161 if (!ghostEl) { 33162 var container = this.options.fallbackOnBody ? document.body : rootEl, 33163 rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container), 33164 options = this.options; // Position absolutely 33165 33166 if (PositionGhostAbsolutely) { 33167 // Get relatively positioned parent 33168 ghostRelativeParent = container; 33169 33170 while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) { 33171 ghostRelativeParent = ghostRelativeParent.parentNode; 33172 } 33173 33174 if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) { 33175 if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement(); 33176 rect.top += ghostRelativeParent.scrollTop; 33177 rect.left += ghostRelativeParent.scrollLeft; 33178 } else { 33179 ghostRelativeParent = getWindowScrollingElement(); 33180 } 33181 33182 ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent); 33183 } 33184 33185 ghostEl = dragEl.cloneNode(true); 33186 toggleClass(ghostEl, options.ghostClass, false); 33187 toggleClass(ghostEl, options.fallbackClass, true); 33188 toggleClass(ghostEl, options.dragClass, true); 33189 css(ghostEl, 'transition', ''); 33190 css(ghostEl, 'transform', ''); 33191 css(ghostEl, 'box-sizing', 'border-box'); 33192 css(ghostEl, 'margin', 0); 33193 css(ghostEl, 'top', rect.top); 33194 css(ghostEl, 'left', rect.left); 33195 css(ghostEl, 'width', rect.width); 33196 css(ghostEl, 'height', rect.height); 33197 css(ghostEl, 'opacity', '0.8'); 33198 css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed'); 33199 css(ghostEl, 'zIndex', '100000'); 33200 css(ghostEl, 'pointerEvents', 'none'); 33201 Sortable.ghost = ghostEl; 33202 container.appendChild(ghostEl); // Set transform-origin 33203 33204 css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%'); 33205 } 33206 }, 33207 _onDragStart: function _onDragStart( 33208 /**Event*/ 33209 evt, 33210 /**boolean*/ 33211 fallback) { 33212 var _this = this; 33213 33214 var dataTransfer = evt.dataTransfer; 33215 var options = _this.options; 33216 pluginEvent('dragStart', this, { 33217 evt: evt 33218 }); 33219 33220 if (Sortable.eventCanceled) { 33221 this._onDrop(); 33222 33223 return; 33224 } 33225 33226 pluginEvent('setupClone', this); 33227 33228 if (!Sortable.eventCanceled) { 33229 cloneEl = clone(dragEl); 33230 cloneEl.draggable = false; 33231 cloneEl.style['will-change'] = ''; 33232 33233 this._hideClone(); 33234 33235 toggleClass(cloneEl, this.options.chosenClass, false); 33236 Sortable.clone = cloneEl; 33237 } // #1143: IFrame support workaround 33238 33239 33240 _this.cloneId = _nextTick(function () { 33241 pluginEvent('clone', _this); 33242 if (Sortable.eventCanceled) return; 33243 33244 if (!_this.options.removeCloneOnHide) { 33245 rootEl.insertBefore(cloneEl, dragEl); 33246 } 33247 33248 _this._hideClone(); 33249 33250 _dispatchEvent({ 33251 sortable: _this, 33252 name: 'clone' 33253 }); 33254 }); 33255 !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events 33256 33257 if (fallback) { 33258 ignoreNextClick = true; 33259 _this._loopId = setInterval(_this._emulateDragOver, 50); 33260 } else { 33261 // Undo what was set in _prepareDragStart before drag started 33262 off(document, 'mouseup', _this._onDrop); 33263 off(document, 'touchend', _this._onDrop); 33264 off(document, 'touchcancel', _this._onDrop); 33265 33266 if (dataTransfer) { 33267 dataTransfer.effectAllowed = 'move'; 33268 options.setData && options.setData.call(_this, dataTransfer, dragEl); 33269 } 33270 33271 on(document, 'drop', _this); // #1276 fix: 33272 33273 css(dragEl, 'transform', 'translateZ(0)'); 33274 } 33275 33276 awaitingDragStarted = true; 33277 _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt)); 33278 on(document, 'selectstart', _this); 33279 moved = true; 33280 33281 if (Safari) { 33282 css(document.body, 'user-select', 'none'); 33283 } 33284 }, 33285 // Returns true - if no further action is needed (either inserted or another condition) 33286 _onDragOver: function _onDragOver( 33287 /**Event*/ 33288 evt) { 33289 var el = this.el, 33290 target = evt.target, 33291 dragRect, 33292 targetRect, 33293 revert, 33294 options = this.options, 33295 group = options.group, 33296 activeSortable = Sortable.active, 33297 isOwner = activeGroup === group, 33298 canSort = options.sort, 33299 fromSortable = putSortable || activeSortable, 33300 vertical, 33301 _this = this, 33302 completedFired = false; 33303 33304 if (_silent) return; 33305 33306 function dragOverEvent(name, extra) { 33307 pluginEvent(name, _this, _objectSpread({ 33308 evt: evt, 33309 isOwner: isOwner, 33310 axis: vertical ? 'vertical' : 'horizontal', 33311 revert: revert, 33312 dragRect: dragRect, 33313 targetRect: targetRect, 33314 canSort: canSort, 33315 fromSortable: fromSortable, 33316 target: target, 33317 completed: completed, 33318 onMove: function onMove(target, after) { 33319 return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after); 33320 }, 33321 changed: changed 33322 }, extra)); 33323 } // Capture animation state 33324 33325 33326 function capture() { 33327 dragOverEvent('dragOverAnimationCapture'); 33328 33329 _this.captureAnimationState(); 33330 33331 if (_this !== fromSortable) { 33332 fromSortable.captureAnimationState(); 33333 } 33334 } // Return invocation when dragEl is inserted (or completed) 33335 33336 33337 function completed(insertion) { 33338 dragOverEvent('dragOverCompleted', { 33339 insertion: insertion 33340 }); 33341 33342 if (insertion) { 33343 // Clones must be hidden before folding animation to capture dragRectAbsolute properly 33344 if (isOwner) { 33345 activeSortable._hideClone(); 33346 } else { 33347 activeSortable._showClone(_this); 33348 } 33349 33350 if (_this !== fromSortable) { 33351 // Set ghost class to new sortable's ghost class 33352 toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false); 33353 toggleClass(dragEl, options.ghostClass, true); 33354 } 33355 33356 if (putSortable !== _this && _this !== Sortable.active) { 33357 putSortable = _this; 33358 } else if (_this === Sortable.active && putSortable) { 33359 putSortable = null; 33360 } // Animation 33361 33362 33363 if (fromSortable === _this) { 33364 _this._ignoreWhileAnimating = target; 33365 } 33366 33367 _this.animateAll(function () { 33368 dragOverEvent('dragOverAnimationComplete'); 33369 _this._ignoreWhileAnimating = null; 33370 }); 33371 33372 if (_this !== fromSortable) { 33373 fromSortable.animateAll(); 33374 fromSortable._ignoreWhileAnimating = null; 33375 } 33376 } // Null lastTarget if it is not inside a previously swapped element 33377 33378 33379 if (target === dragEl && !dragEl.animated || target === el && !target.animated) { 33380 lastTarget = null; 33381 } // no bubbling and not fallback 33382 33383 33384 if (!options.dragoverBubble && !evt.rootEl && target !== document) { 33385 dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted 33386 33387 33388 !insertion && nearestEmptyInsertDetectEvent(evt); 33389 } 33390 33391 !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation(); 33392 return completedFired = true; 33393 } // Call when dragEl has been inserted 33394 33395 33396 function changed() { 33397 newIndex = index(dragEl); 33398 newDraggableIndex = index(dragEl, options.draggable); 33399 33400 _dispatchEvent({ 33401 sortable: _this, 33402 name: 'change', 33403 toEl: el, 33404 newIndex: newIndex, 33405 newDraggableIndex: newDraggableIndex, 33406 originalEvent: evt 33407 }); 33408 } 33409 33410 if (evt.preventDefault !== void 0) { 33411 evt.cancelable && evt.preventDefault(); 33412 } 33413 33414 target = closest(target, options.draggable, el, true); 33415 dragOverEvent('dragOver'); 33416 if (Sortable.eventCanceled) return completedFired; 33417 33418 if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) { 33419 return completed(false); 33420 } 33421 33422 ignoreNextClick = false; 33423 33424 if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list 33425 : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) { 33426 vertical = this._getDirection(evt, target) === 'vertical'; 33427 dragRect = getRect(dragEl); 33428 dragOverEvent('dragOverValid'); 33429 if (Sortable.eventCanceled) return completedFired; 33430 33431 if (revert) { 33432 parentEl = rootEl; // actualization 33433 33434 capture(); 33435 33436 this._hideClone(); 33437 33438 dragOverEvent('revert'); 33439 33440 if (!Sortable.eventCanceled) { 33441 if (nextEl) { 33442 rootEl.insertBefore(dragEl, nextEl); 33443 } else { 33444 rootEl.appendChild(dragEl); 33445 } 33446 } 33447 33448 return completed(true); 33449 } 33450 33451 var elLastChild = lastChild(el, options.draggable); 33452 33453 if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) { 33454 // If already at end of list: Do not insert 33455 if (elLastChild === dragEl) { 33456 return completed(false); 33457 } // assign target only if condition is true 33458 33459 33460 if (elLastChild && el === evt.target) { 33461 target = elLastChild; 33462 } 33463 33464 if (target) { 33465 targetRect = getRect(target); 33466 } 33467 33468 if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) { 33469 capture(); 33470 el.appendChild(dragEl); 33471 parentEl = el; // actualization 33472 33473 changed(); 33474 return completed(true); 33475 } 33476 } else if (target.parentNode === el) { 33477 targetRect = getRect(target); 33478 var direction = 0, 33479 targetBeforeFirstSwap, 33480 differentLevel = dragEl.parentNode !== el, 33481 differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical), 33482 side1 = vertical ? 'top' : 'left', 33483 scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'), 33484 scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0; 33485 33486 if (lastTarget !== target) { 33487 targetBeforeFirstSwap = targetRect[side1]; 33488 pastFirstInvertThresh = false; 33489 isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel; 33490 } 33491 33492 direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target); 33493 var sibling; 33494 33495 if (direction !== 0) { 33496 // Check if target is beside dragEl in respective direction (ignoring hidden elements) 33497 var dragIndex = index(dragEl); 33498 33499 do { 33500 dragIndex -= direction; 33501 sibling = parentEl.children[dragIndex]; 33502 } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl)); 33503 } // If dragEl is already beside target: Do not insert 33504 33505 33506 if (direction === 0 || sibling === target) { 33507 return completed(false); 33508 } 33509 33510 lastTarget = target; 33511 lastDirection = direction; 33512 var nextSibling = target.nextElementSibling, 33513 after = false; 33514 after = direction === 1; 33515 33516 var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after); 33517 33518 if (moveVector !== false) { 33519 if (moveVector === 1 || moveVector === -1) { 33520 after = moveVector === 1; 33521 } 33522 33523 _silent = true; 33524 setTimeout(_unsilent, 30); 33525 capture(); 33526 33527 if (after && !nextSibling) { 33528 el.appendChild(dragEl); 33529 } else { 33530 target.parentNode.insertBefore(dragEl, after ? nextSibling : target); 33531 } // Undo chrome's scroll adjustment (has no effect on other browsers) 33532 33533 33534 if (scrolledPastTop) { 33535 scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop); 33536 } 33537 33538 parentEl = dragEl.parentNode; // actualization 33539 // must be done before animation 33540 33541 if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) { 33542 targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]); 33543 } 33544 33545 changed(); 33546 return completed(true); 33547 } 33548 } 33549 33550 if (el.contains(dragEl)) { 33551 return completed(false); 33552 } 33553 } 33554 33555 return false; 33556 }, 33557 _ignoreWhileAnimating: null, 33558 _offMoveEvents: function _offMoveEvents() { 33559 off(document, 'mousemove', this._onTouchMove); 33560 off(document, 'touchmove', this._onTouchMove); 33561 off(document, 'pointermove', this._onTouchMove); 33562 off(document, 'dragover', nearestEmptyInsertDetectEvent); 33563 off(document, 'mousemove', nearestEmptyInsertDetectEvent); 33564 off(document, 'touchmove', nearestEmptyInsertDetectEvent); 33565 }, 33566 _offUpEvents: function _offUpEvents() { 33567 var ownerDocument = this.el.ownerDocument; 33568 off(ownerDocument, 'mouseup', this._onDrop); 33569 off(ownerDocument, 'touchend', this._onDrop); 33570 off(ownerDocument, 'pointerup', this._onDrop); 33571 off(ownerDocument, 'touchcancel', this._onDrop); 33572 off(document, 'selectstart', this); 33573 }, 33574 _onDrop: function _onDrop( 33575 /**Event*/ 33576 evt) { 33577 var el = this.el, 33578 options = this.options; // Get the index of the dragged element within its parent 33579 33580 newIndex = index(dragEl); 33581 newDraggableIndex = index(dragEl, options.draggable); 33582 pluginEvent('drop', this, { 33583 evt: evt 33584 }); 33585 parentEl = dragEl && dragEl.parentNode; // Get again after plugin event 33586 33587 newIndex = index(dragEl); 33588 newDraggableIndex = index(dragEl, options.draggable); 33589 33590 if (Sortable.eventCanceled) { 33591 this._nulling(); 33592 33593 return; 33594 } 33595 33596 awaitingDragStarted = false; 33597 isCircumstantialInvert = false; 33598 pastFirstInvertThresh = false; 33599 clearInterval(this._loopId); 33600 clearTimeout(this._dragStartTimer); 33601 33602 _cancelNextTick(this.cloneId); 33603 33604 _cancelNextTick(this._dragStartId); // Unbind events 33605 33606 33607 if (this.nativeDraggable) { 33608 off(document, 'drop', this); 33609 off(el, 'dragstart', this._onDragStart); 33610 } 33611 33612 this._offMoveEvents(); 33613 33614 this._offUpEvents(); 33615 33616 if (Safari) { 33617 css(document.body, 'user-select', ''); 33618 } 33619 33620 css(dragEl, 'transform', ''); 33621 33622 if (evt) { 33623 if (moved) { 33624 evt.cancelable && evt.preventDefault(); 33625 !options.dropBubble && evt.stopPropagation(); 33626 } 33627 33628 ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl); 33629 33630 if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { 33631 // Remove clone(s) 33632 cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl); 33633 } 33634 33635 if (dragEl) { 33636 if (this.nativeDraggable) { 33637 off(dragEl, 'dragend', this); 33638 } 33639 33640 _disableDraggable(dragEl); 33641 33642 dragEl.style['will-change'] = ''; // Remove classes 33643 // ghostClass is added in dragStarted 33644 33645 if (moved && !awaitingDragStarted) { 33646 toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false); 33647 } 33648 33649 toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event 33650 33651 _dispatchEvent({ 33652 sortable: this, 33653 name: 'unchoose', 33654 toEl: parentEl, 33655 newIndex: null, 33656 newDraggableIndex: null, 33657 originalEvent: evt 33658 }); 33659 33660 if (rootEl !== parentEl) { 33661 if (newIndex >= 0) { 33662 // Add event 33663 _dispatchEvent({ 33664 rootEl: parentEl, 33665 name: 'add', 33666 toEl: parentEl, 33667 fromEl: rootEl, 33668 originalEvent: evt 33669 }); // Remove event 33670 33671 33672 _dispatchEvent({ 33673 sortable: this, 33674 name: 'remove', 33675 toEl: parentEl, 33676 originalEvent: evt 33677 }); // drag from one list and drop into another 33678 33679 33680 _dispatchEvent({ 33681 rootEl: parentEl, 33682 name: 'sort', 33683 toEl: parentEl, 33684 fromEl: rootEl, 33685 originalEvent: evt 33686 }); 33687 33688 _dispatchEvent({ 33689 sortable: this, 33690 name: 'sort', 33691 toEl: parentEl, 33692 originalEvent: evt 33693 }); 33694 } 33695 33696 putSortable && putSortable.save(); 33697 } else { 33698 if (newIndex !== oldIndex) { 33699 if (newIndex >= 0) { 33700 // drag & drop within the same list 33701 _dispatchEvent({ 33702 sortable: this, 33703 name: 'update', 33704 toEl: parentEl, 33705 originalEvent: evt 33706 }); 33707 33708 _dispatchEvent({ 33709 sortable: this, 33710 name: 'sort', 33711 toEl: parentEl, 33712 originalEvent: evt 33713 }); 33714 } 33715 } 33716 } 33717 33718 if (Sortable.active) { 33719 /* jshint eqnull:true */ 33720 if (newIndex == null || newIndex === -1) { 33721 newIndex = oldIndex; 33722 newDraggableIndex = oldDraggableIndex; 33723 } 33724 33725 _dispatchEvent({ 33726 sortable: this, 33727 name: 'end', 33728 toEl: parentEl, 33729 originalEvent: evt 33730 }); // Save sorting 33731 33732 33733 this.save(); 33734 } 33735 } 33736 } 33737 33738 this._nulling(); 33739 }, 33740 _nulling: function _nulling() { 33741 pluginEvent('nulling', this); 33742 rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null; 33743 savedInputChecked.forEach(function (el) { 33744 el.checked = true; 33745 }); 33746 savedInputChecked.length = lastDx = lastDy = 0; 33747 }, 33748 handleEvent: function handleEvent( 33749 /**Event*/ 33750 evt) { 33751 switch (evt.type) { 33752 case 'drop': 33753 case 'dragend': 33754 this._onDrop(evt); 33755 33756 break; 33757 33758 case 'dragenter': 33759 case 'dragover': 33760 if (dragEl) { 33761 this._onDragOver(evt); 33762 33763 _globalDragOver(evt); 33764 } 33765 33766 break; 33767 33768 case 'selectstart': 33769 evt.preventDefault(); 33770 break; 33771 } 33772 }, 33773 33774 /** 33775 * Serializes the item into an array of string. 33776 * @returns {String[]} 33777 */ 33778 toArray: function toArray() { 33779 var order = [], 33780 el, 33781 children = this.el.children, 33782 i = 0, 33783 n = children.length, 33784 options = this.options; 33785 33786 for (; i < n; i++) { 33787 el = children[i]; 33788 33789 if (closest(el, options.draggable, this.el, false)) { 33790 order.push(el.getAttribute(options.dataIdAttr) || _generateId(el)); 33791 } 33792 } 33793 33794 return order; 33795 }, 33796 33797 /** 33798 * Sorts the elements according to the array. 33799 * @param {String[]} order order of the items 33800 */ 33801 sort: function sort(order) { 33802 var items = {}, 33803 rootEl = this.el; 33804 this.toArray().forEach(function (id, i) { 33805 var el = rootEl.children[i]; 33806 33807 if (closest(el, this.options.draggable, rootEl, false)) { 33808 items[id] = el; 33809 } 33810 }, this); 33811 order.forEach(function (id) { 33812 if (items[id]) { 33813 rootEl.removeChild(items[id]); 33814 rootEl.appendChild(items[id]); 33815 } 33816 }); 33817 }, 33818 33819 /** 33820 * Save the current sorting 33821 */ 33822 save: function save() { 33823 var store = this.options.store; 33824 store && store.set && store.set(this); 33825 }, 33826 33827 /** 33828 * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree. 33829 * @param {HTMLElement} el 33830 * @param {String} [selector] default: `options.draggable` 33831 * @returns {HTMLElement|null} 33832 */ 33833 closest: function closest$1(el, selector) { 33834 return closest(el, selector || this.options.draggable, this.el, false); 33835 }, 33836 33837 /** 33838 * Set/get option 33839 * @param {string} name 33840 * @param {*} [value] 33841 * @returns {*} 33842 */ 33843 option: function option(name, value) { 33844 var options = this.options; 33845 33846 if (value === void 0) { 33847 return options[name]; 33848 } else { 33849 var modifiedValue = PluginManager.modifyOption(this, name, value); 33850 33851 if (typeof modifiedValue !== 'undefined') { 33852 options[name] = modifiedValue; 33853 } else { 33854 options[name] = value; 33855 } 33856 33857 if (name === 'group') { 33858 _prepareGroup(options); 33859 } 33860 } 33861 }, 33862 33863 /** 33864 * Destroy 33865 */ 33866 destroy: function destroy() { 33867 pluginEvent('destroy', this); 33868 var el = this.el; 33869 el[expando] = null; 33870 off(el, 'mousedown', this._onTapStart); 33871 off(el, 'touchstart', this._onTapStart); 33872 off(el, 'pointerdown', this._onTapStart); 33873 33874 if (this.nativeDraggable) { 33875 off(el, 'dragover', this); 33876 off(el, 'dragenter', this); 33877 } // Remove draggable attributes 33878 33879 33880 Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) { 33881 el.removeAttribute('draggable'); 33882 }); 33883 33884 this._onDrop(); 33885 33886 this._disableDelayedDragEvents(); 33887 33888 sortables.splice(sortables.indexOf(this.el), 1); 33889 this.el = el = null; 33890 }, 33891 _hideClone: function _hideClone() { 33892 if (!cloneHidden) { 33893 pluginEvent('hideClone', this); 33894 if (Sortable.eventCanceled) return; 33895 css(cloneEl, 'display', 'none'); 33896 33897 if (this.options.removeCloneOnHide && cloneEl.parentNode) { 33898 cloneEl.parentNode.removeChild(cloneEl); 33899 } 33900 33901 cloneHidden = true; 33902 } 33903 }, 33904 _showClone: function _showClone(putSortable) { 33905 if (putSortable.lastPutMode !== 'clone') { 33906 this._hideClone(); 33907 33908 return; 33909 } 33910 33911 if (cloneHidden) { 33912 pluginEvent('showClone', this); 33913 if (Sortable.eventCanceled) return; // show clone at dragEl or original position 33914 33915 if (rootEl.contains(dragEl) && !this.options.group.revertClone) { 33916 rootEl.insertBefore(cloneEl, dragEl); 33917 } else if (nextEl) { 33918 rootEl.insertBefore(cloneEl, nextEl); 33919 } else { 33920 rootEl.appendChild(cloneEl); 33921 } 33922 33923 if (this.options.group.revertClone) { 33924 this.animate(dragEl, cloneEl); 33925 } 33926 33927 css(cloneEl, 'display', ''); 33928 cloneHidden = false; 33929 } 33930 } 33931}; 33932 33933function _globalDragOver( 33934/**Event*/ 33935evt) { 33936 if (evt.dataTransfer) { 33937 evt.dataTransfer.dropEffect = 'move'; 33938 } 33939 33940 evt.cancelable && evt.preventDefault(); 33941} 33942 33943function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) { 33944 var evt, 33945 sortable = fromEl[expando], 33946 onMoveFn = sortable.options.onMove, 33947 retVal; // Support for new CustomEvent feature 33948 33949 if (window.CustomEvent && !IE11OrLess && !Edge) { 33950 evt = new CustomEvent('move', { 33951 bubbles: true, 33952 cancelable: true 33953 }); 33954 } else { 33955 evt = document.createEvent('Event'); 33956 evt.initEvent('move', true, true); 33957 } 33958 33959 evt.to = toEl; 33960 evt.from = fromEl; 33961 evt.dragged = dragEl; 33962 evt.draggedRect = dragRect; 33963 evt.related = targetEl || toEl; 33964 evt.relatedRect = targetRect || getRect(toEl); 33965 evt.willInsertAfter = willInsertAfter; 33966 evt.originalEvent = originalEvent; 33967 fromEl.dispatchEvent(evt); 33968 33969 if (onMoveFn) { 33970 retVal = onMoveFn.call(sortable, evt, originalEvent); 33971 } 33972 33973 return retVal; 33974} 33975 33976function _disableDraggable(el) { 33977 el.draggable = false; 33978} 33979 33980function _unsilent() { 33981 _silent = false; 33982} 33983 33984function _ghostIsLast(evt, vertical, sortable) { 33985 var rect = getRect(lastChild(sortable.el, sortable.options.draggable)); 33986 var spacer = 10; 33987 return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer; 33988} 33989 33990function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) { 33991 var mouseOnAxis = vertical ? evt.clientY : evt.clientX, 33992 targetLength = vertical ? targetRect.height : targetRect.width, 33993 targetS1 = vertical ? targetRect.top : targetRect.left, 33994 targetS2 = vertical ? targetRect.bottom : targetRect.right, 33995 invert = false; 33996 33997 if (!invertSwap) { 33998 // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold 33999 if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) { 34000 // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2 34001 // check if past first invert threshold on side opposite of lastDirection 34002 if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) { 34003 // past first invert threshold, do not restrict inverted threshold to dragEl shadow 34004 pastFirstInvertThresh = true; 34005 } 34006 34007 if (!pastFirstInvertThresh) { 34008 // dragEl shadow (target move distance shadow) 34009 if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow 34010 : mouseOnAxis > targetS2 - targetMoveDistance) { 34011 return -lastDirection; 34012 } 34013 } else { 34014 invert = true; 34015 } 34016 } else { 34017 // Regular 34018 if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) { 34019 return _getInsertDirection(target); 34020 } 34021 } 34022 } 34023 34024 invert = invert || invertSwap; 34025 34026 if (invert) { 34027 // Invert of regular 34028 if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) { 34029 return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1; 34030 } 34031 } 34032 34033 return 0; 34034} 34035/** 34036 * Gets the direction dragEl must be swapped relative to target in order to make it 34037 * seem that dragEl has been "inserted" into that element's position 34038 * @param {HTMLElement} target The target whose position dragEl is being inserted at 34039 * @return {Number} Direction dragEl must be swapped 34040 */ 34041 34042 34043function _getInsertDirection(target) { 34044 if (index(dragEl) < index(target)) { 34045 return 1; 34046 } else { 34047 return -1; 34048 } 34049} 34050/** 34051 * Generate id 34052 * @param {HTMLElement} el 34053 * @returns {String} 34054 * @private 34055 */ 34056 34057 34058function _generateId(el) { 34059 var str = el.tagName + el.className + el.src + el.href + el.textContent, 34060 i = str.length, 34061 sum = 0; 34062 34063 while (i--) { 34064 sum += str.charCodeAt(i); 34065 } 34066 34067 return sum.toString(36); 34068} 34069 34070function _saveInputCheckedState(root) { 34071 savedInputChecked.length = 0; 34072 var inputs = root.getElementsByTagName('input'); 34073 var idx = inputs.length; 34074 34075 while (idx--) { 34076 var el = inputs[idx]; 34077 el.checked && savedInputChecked.push(el); 34078 } 34079} 34080 34081function _nextTick(fn) { 34082 return setTimeout(fn, 0); 34083} 34084 34085function _cancelNextTick(id) { 34086 return clearTimeout(id); 34087} // Fixed #973: 34088 34089 34090if (documentExists) { 34091 on(document, 'touchmove', function (evt) { 34092 if ((Sortable.active || awaitingDragStarted) && evt.cancelable) { 34093 evt.preventDefault(); 34094 } 34095 }); 34096} // Export utils 34097 34098 34099Sortable.utils = { 34100 on: on, 34101 off: off, 34102 css: css, 34103 find: find, 34104 is: function is(el, selector) { 34105 return !!closest(el, selector, el, false); 34106 }, 34107 extend: extend, 34108 throttle: throttle, 34109 closest: closest, 34110 toggleClass: toggleClass, 34111 clone: clone, 34112 index: index, 34113 nextTick: _nextTick, 34114 cancelNextTick: _cancelNextTick, 34115 detectDirection: _detectDirection, 34116 getChild: getChild 34117}; 34118/** 34119 * Get the Sortable instance of an element 34120 * @param {HTMLElement} element The element 34121 * @return {Sortable|undefined} The instance of Sortable 34122 */ 34123 34124Sortable.get = function (element) { 34125 return element[expando]; 34126}; 34127/** 34128 * Mount a plugin to Sortable 34129 * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted 34130 */ 34131 34132 34133Sortable.mount = function () { 34134 for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) { 34135 plugins[_key] = arguments[_key]; 34136 } 34137 34138 if (plugins[0].constructor === Array) plugins = plugins[0]; 34139 plugins.forEach(function (plugin) { 34140 if (!plugin.prototype || !plugin.prototype.constructor) { 34141 throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin)); 34142 } 34143 34144 if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils); 34145 PluginManager.mount(plugin); 34146 }); 34147}; 34148/** 34149 * Create sortable instance 34150 * @param {HTMLElement} el 34151 * @param {Object} [options] 34152 */ 34153 34154 34155Sortable.create = function (el, options) { 34156 return new Sortable(el, options); 34157}; // Export 34158 34159 34160Sortable.version = version; 34161 34162var autoScrolls = [], 34163 scrollEl, 34164 scrollRootEl, 34165 scrolling = false, 34166 lastAutoScrollX, 34167 lastAutoScrollY, 34168 touchEvt$1, 34169 pointerElemChangedInterval; 34170 34171function AutoScrollPlugin() { 34172 function AutoScroll() { 34173 this.defaults = { 34174 scroll: true, 34175 scrollSensitivity: 30, 34176 scrollSpeed: 10, 34177 bubbleScroll: true 34178 }; // Bind all private methods 34179 34180 for (var fn in this) { 34181 if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { 34182 this[fn] = this[fn].bind(this); 34183 } 34184 } 34185 } 34186 34187 AutoScroll.prototype = { 34188 dragStarted: function dragStarted(_ref) { 34189 var originalEvent = _ref.originalEvent; 34190 34191 if (this.sortable.nativeDraggable) { 34192 on(document, 'dragover', this._handleAutoScroll); 34193 } else { 34194 if (this.options.supportPointer) { 34195 on(document, 'pointermove', this._handleFallbackAutoScroll); 34196 } else if (originalEvent.touches) { 34197 on(document, 'touchmove', this._handleFallbackAutoScroll); 34198 } else { 34199 on(document, 'mousemove', this._handleFallbackAutoScroll); 34200 } 34201 } 34202 }, 34203 dragOverCompleted: function dragOverCompleted(_ref2) { 34204 var originalEvent = _ref2.originalEvent; 34205 34206 // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached) 34207 if (!this.options.dragOverBubble && !originalEvent.rootEl) { 34208 this._handleAutoScroll(originalEvent); 34209 } 34210 }, 34211 drop: function drop() { 34212 if (this.sortable.nativeDraggable) { 34213 off(document, 'dragover', this._handleAutoScroll); 34214 } else { 34215 off(document, 'pointermove', this._handleFallbackAutoScroll); 34216 off(document, 'touchmove', this._handleFallbackAutoScroll); 34217 off(document, 'mousemove', this._handleFallbackAutoScroll); 34218 } 34219 34220 clearPointerElemChangedInterval(); 34221 clearAutoScrolls(); 34222 cancelThrottle(); 34223 }, 34224 nulling: function nulling() { 34225 touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null; 34226 autoScrolls.length = 0; 34227 }, 34228 _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) { 34229 this._handleAutoScroll(evt, true); 34230 }, 34231 _handleAutoScroll: function _handleAutoScroll(evt, fallback) { 34232 var _this = this; 34233 34234 var x = (evt.touches ? evt.touches[0] : evt).clientX, 34235 y = (evt.touches ? evt.touches[0] : evt).clientY, 34236 elem = document.elementFromPoint(x, y); 34237 touchEvt$1 = evt; // IE does not seem to have native autoscroll, 34238 // Edge's autoscroll seems too conditional, 34239 // MACOS Safari does not have autoscroll, 34240 // Firefox and Chrome are good 34241 34242 if (fallback || Edge || IE11OrLess || Safari) { 34243 autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change 34244 34245 var ogElemScroller = getParentAutoScrollElement(elem, true); 34246 34247 if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) { 34248 pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour 34249 34250 pointerElemChangedInterval = setInterval(function () { 34251 var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true); 34252 34253 if (newElem !== ogElemScroller) { 34254 ogElemScroller = newElem; 34255 clearAutoScrolls(); 34256 } 34257 34258 autoScroll(evt, _this.options, newElem, fallback); 34259 }, 10); 34260 lastAutoScrollX = x; 34261 lastAutoScrollY = y; 34262 } 34263 } else { 34264 // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll 34265 if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) { 34266 clearAutoScrolls(); 34267 return; 34268 } 34269 34270 autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false); 34271 } 34272 } 34273 }; 34274 return _extends(AutoScroll, { 34275 pluginName: 'scroll', 34276 initializeByDefault: true 34277 }); 34278} 34279 34280function clearAutoScrolls() { 34281 autoScrolls.forEach(function (autoScroll) { 34282 clearInterval(autoScroll.pid); 34283 }); 34284 autoScrolls = []; 34285} 34286 34287function clearPointerElemChangedInterval() { 34288 clearInterval(pointerElemChangedInterval); 34289} 34290 34291var autoScroll = throttle(function (evt, options, rootEl, isFallback) { 34292 // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521 34293 if (!options.scroll) return; 34294 var x = (evt.touches ? evt.touches[0] : evt).clientX, 34295 y = (evt.touches ? evt.touches[0] : evt).clientY, 34296 sens = options.scrollSensitivity, 34297 speed = options.scrollSpeed, 34298 winScroller = getWindowScrollingElement(); 34299 var scrollThisInstance = false, 34300 scrollCustomFn; // New scroll root, set scrollEl 34301 34302 if (scrollRootEl !== rootEl) { 34303 scrollRootEl = rootEl; 34304 clearAutoScrolls(); 34305 scrollEl = options.scroll; 34306 scrollCustomFn = options.scrollFn; 34307 34308 if (scrollEl === true) { 34309 scrollEl = getParentAutoScrollElement(rootEl, true); 34310 } 34311 } 34312 34313 var layersOut = 0; 34314 var currentParent = scrollEl; 34315 34316 do { 34317 var el = currentParent, 34318 rect = getRect(el), 34319 top = rect.top, 34320 bottom = rect.bottom, 34321 left = rect.left, 34322 right = rect.right, 34323 width = rect.width, 34324 height = rect.height, 34325 canScrollX = void 0, 34326 canScrollY = void 0, 34327 scrollWidth = el.scrollWidth, 34328 scrollHeight = el.scrollHeight, 34329 elCSS = css(el), 34330 scrollPosX = el.scrollLeft, 34331 scrollPosY = el.scrollTop; 34332 34333 if (el === winScroller) { 34334 canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible'); 34335 canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible'); 34336 } else { 34337 canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll'); 34338 canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll'); 34339 } 34340 34341 var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX); 34342 var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY); 34343 34344 if (!autoScrolls[layersOut]) { 34345 for (var i = 0; i <= layersOut; i++) { 34346 if (!autoScrolls[i]) { 34347 autoScrolls[i] = {}; 34348 } 34349 } 34350 } 34351 34352 if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) { 34353 autoScrolls[layersOut].el = el; 34354 autoScrolls[layersOut].vx = vx; 34355 autoScrolls[layersOut].vy = vy; 34356 clearInterval(autoScrolls[layersOut].pid); 34357 34358 if (vx != 0 || vy != 0) { 34359 scrollThisInstance = true; 34360 /* jshint loopfunc:true */ 34361 34362 autoScrolls[layersOut].pid = setInterval(function () { 34363 // emulate drag over during autoscroll (fallback), emulating native DnD behaviour 34364 if (isFallback && this.layer === 0) { 34365 Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely 34366 34367 } 34368 34369 var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0; 34370 var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0; 34371 34372 if (typeof scrollCustomFn === 'function') { 34373 if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') { 34374 return; 34375 } 34376 } 34377 34378 scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY); 34379 }.bind({ 34380 layer: layersOut 34381 }), 24); 34382 } 34383 } 34384 34385 layersOut++; 34386 } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false))); 34387 34388 scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not 34389}, 30); 34390 34391var drop = function drop(_ref) { 34392 var originalEvent = _ref.originalEvent, 34393 putSortable = _ref.putSortable, 34394 dragEl = _ref.dragEl, 34395 activeSortable = _ref.activeSortable, 34396 dispatchSortableEvent = _ref.dispatchSortableEvent, 34397 hideGhostForTarget = _ref.hideGhostForTarget, 34398 unhideGhostForTarget = _ref.unhideGhostForTarget; 34399 if (!originalEvent) return; 34400 var toSortable = putSortable || activeSortable; 34401 hideGhostForTarget(); 34402 var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent; 34403 var target = document.elementFromPoint(touch.clientX, touch.clientY); 34404 unhideGhostForTarget(); 34405 34406 if (toSortable && !toSortable.el.contains(target)) { 34407 dispatchSortableEvent('spill'); 34408 this.onSpill({ 34409 dragEl: dragEl, 34410 putSortable: putSortable 34411 }); 34412 } 34413}; 34414 34415function Revert() {} 34416 34417Revert.prototype = { 34418 startIndex: null, 34419 dragStart: function dragStart(_ref2) { 34420 var oldDraggableIndex = _ref2.oldDraggableIndex; 34421 this.startIndex = oldDraggableIndex; 34422 }, 34423 onSpill: function onSpill(_ref3) { 34424 var dragEl = _ref3.dragEl, 34425 putSortable = _ref3.putSortable; 34426 this.sortable.captureAnimationState(); 34427 34428 if (putSortable) { 34429 putSortable.captureAnimationState(); 34430 } 34431 34432 var nextSibling = getChild(this.sortable.el, this.startIndex, this.options); 34433 34434 if (nextSibling) { 34435 this.sortable.el.insertBefore(dragEl, nextSibling); 34436 } else { 34437 this.sortable.el.appendChild(dragEl); 34438 } 34439 34440 this.sortable.animateAll(); 34441 34442 if (putSortable) { 34443 putSortable.animateAll(); 34444 } 34445 }, 34446 drop: drop 34447}; 34448 34449_extends(Revert, { 34450 pluginName: 'revertOnSpill' 34451}); 34452 34453function Remove() {} 34454 34455Remove.prototype = { 34456 onSpill: function onSpill(_ref4) { 34457 var dragEl = _ref4.dragEl, 34458 putSortable = _ref4.putSortable; 34459 var parentSortable = putSortable || this.sortable; 34460 parentSortable.captureAnimationState(); 34461 dragEl.parentNode && dragEl.parentNode.removeChild(dragEl); 34462 parentSortable.animateAll(); 34463 }, 34464 drop: drop 34465}; 34466 34467_extends(Remove, { 34468 pluginName: 'removeOnSpill' 34469}); 34470 34471var lastSwapEl; 34472 34473function SwapPlugin() { 34474 function Swap() { 34475 this.defaults = { 34476 swapClass: 'sortable-swap-highlight' 34477 }; 34478 } 34479 34480 Swap.prototype = { 34481 dragStart: function dragStart(_ref) { 34482 var dragEl = _ref.dragEl; 34483 lastSwapEl = dragEl; 34484 }, 34485 dragOverValid: function dragOverValid(_ref2) { 34486 var completed = _ref2.completed, 34487 target = _ref2.target, 34488 onMove = _ref2.onMove, 34489 activeSortable = _ref2.activeSortable, 34490 changed = _ref2.changed, 34491 cancel = _ref2.cancel; 34492 if (!activeSortable.options.swap) return; 34493 var el = this.sortable.el, 34494 options = this.options; 34495 34496 if (target && target !== el) { 34497 var prevSwapEl = lastSwapEl; 34498 34499 if (onMove(target) !== false) { 34500 toggleClass(target, options.swapClass, true); 34501 lastSwapEl = target; 34502 } else { 34503 lastSwapEl = null; 34504 } 34505 34506 if (prevSwapEl && prevSwapEl !== lastSwapEl) { 34507 toggleClass(prevSwapEl, options.swapClass, false); 34508 } 34509 } 34510 34511 changed(); 34512 completed(true); 34513 cancel(); 34514 }, 34515 drop: function drop(_ref3) { 34516 var activeSortable = _ref3.activeSortable, 34517 putSortable = _ref3.putSortable, 34518 dragEl = _ref3.dragEl; 34519 var toSortable = putSortable || this.sortable; 34520 var options = this.options; 34521 lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false); 34522 34523 if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) { 34524 if (dragEl !== lastSwapEl) { 34525 toSortable.captureAnimationState(); 34526 if (toSortable !== activeSortable) activeSortable.captureAnimationState(); 34527 swapNodes(dragEl, lastSwapEl); 34528 toSortable.animateAll(); 34529 if (toSortable !== activeSortable) activeSortable.animateAll(); 34530 } 34531 } 34532 }, 34533 nulling: function nulling() { 34534 lastSwapEl = null; 34535 } 34536 }; 34537 return _extends(Swap, { 34538 pluginName: 'swap', 34539 eventProperties: function eventProperties() { 34540 return { 34541 swapItem: lastSwapEl 34542 }; 34543 } 34544 }); 34545} 34546 34547function swapNodes(n1, n2) { 34548 var p1 = n1.parentNode, 34549 p2 = n2.parentNode, 34550 i1, 34551 i2; 34552 if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return; 34553 i1 = index(n1); 34554 i2 = index(n2); 34555 34556 if (p1.isEqualNode(p2) && i1 < i2) { 34557 i2++; 34558 } 34559 34560 p1.insertBefore(n2, p1.children[i1]); 34561 p2.insertBefore(n1, p2.children[i2]); 34562} 34563 34564var multiDragElements = [], 34565 multiDragClones = [], 34566 lastMultiDragSelect, 34567 // for selection with modifier key down (SHIFT) 34568multiDragSortable, 34569 initialFolding = false, 34570 // Initial multi-drag fold when drag started 34571folding = false, 34572 // Folding any other time 34573dragStarted = false, 34574 dragEl$1, 34575 clonesFromRect, 34576 clonesHidden; 34577 34578function MultiDragPlugin() { 34579 function MultiDrag(sortable) { 34580 // Bind all private methods 34581 for (var fn in this) { 34582 if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { 34583 this[fn] = this[fn].bind(this); 34584 } 34585 } 34586 34587 if (sortable.options.supportPointer) { 34588 on(document, 'pointerup', this._deselectMultiDrag); 34589 } else { 34590 on(document, 'mouseup', this._deselectMultiDrag); 34591 on(document, 'touchend', this._deselectMultiDrag); 34592 } 34593 34594 on(document, 'keydown', this._checkKeyDown); 34595 on(document, 'keyup', this._checkKeyUp); 34596 this.defaults = { 34597 selectedClass: 'sortable-selected', 34598 multiDragKey: null, 34599 setData: function setData(dataTransfer, dragEl) { 34600 var data = ''; 34601 34602 if (multiDragElements.length && multiDragSortable === sortable) { 34603 multiDragElements.forEach(function (multiDragElement, i) { 34604 data += (!i ? '' : ', ') + multiDragElement.textContent; 34605 }); 34606 } else { 34607 data = dragEl.textContent; 34608 } 34609 34610 dataTransfer.setData('Text', data); 34611 } 34612 }; 34613 } 34614 34615 MultiDrag.prototype = { 34616 multiDragKeyDown: false, 34617 isMultiDrag: false, 34618 delayStartGlobal: function delayStartGlobal(_ref) { 34619 var dragged = _ref.dragEl; 34620 dragEl$1 = dragged; 34621 }, 34622 delayEnded: function delayEnded() { 34623 this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1); 34624 }, 34625 setupClone: function setupClone(_ref2) { 34626 var sortable = _ref2.sortable, 34627 cancel = _ref2.cancel; 34628 if (!this.isMultiDrag) return; 34629 34630 for (var i = 0; i < multiDragElements.length; i++) { 34631 multiDragClones.push(clone(multiDragElements[i])); 34632 multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex; 34633 multiDragClones[i].draggable = false; 34634 multiDragClones[i].style['will-change'] = ''; 34635 toggleClass(multiDragClones[i], this.options.selectedClass, false); 34636 multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false); 34637 } 34638 34639 sortable._hideClone(); 34640 34641 cancel(); 34642 }, 34643 clone: function clone(_ref3) { 34644 var sortable = _ref3.sortable, 34645 rootEl = _ref3.rootEl, 34646 dispatchSortableEvent = _ref3.dispatchSortableEvent, 34647 cancel = _ref3.cancel; 34648 if (!this.isMultiDrag) return; 34649 34650 if (!this.options.removeCloneOnHide) { 34651 if (multiDragElements.length && multiDragSortable === sortable) { 34652 insertMultiDragClones(true, rootEl); 34653 dispatchSortableEvent('clone'); 34654 cancel(); 34655 } 34656 } 34657 }, 34658 showClone: function showClone(_ref4) { 34659 var cloneNowShown = _ref4.cloneNowShown, 34660 rootEl = _ref4.rootEl, 34661 cancel = _ref4.cancel; 34662 if (!this.isMultiDrag) return; 34663 insertMultiDragClones(false, rootEl); 34664 multiDragClones.forEach(function (clone) { 34665 css(clone, 'display', ''); 34666 }); 34667 cloneNowShown(); 34668 clonesHidden = false; 34669 cancel(); 34670 }, 34671 hideClone: function hideClone(_ref5) { 34672 var _this = this; 34673 34674 var sortable = _ref5.sortable, 34675 cloneNowHidden = _ref5.cloneNowHidden, 34676 cancel = _ref5.cancel; 34677 if (!this.isMultiDrag) return; 34678 multiDragClones.forEach(function (clone) { 34679 css(clone, 'display', 'none'); 34680 34681 if (_this.options.removeCloneOnHide && clone.parentNode) { 34682 clone.parentNode.removeChild(clone); 34683 } 34684 }); 34685 cloneNowHidden(); 34686 clonesHidden = true; 34687 cancel(); 34688 }, 34689 dragStartGlobal: function dragStartGlobal(_ref6) { 34690 var sortable = _ref6.sortable; 34691 34692 if (!this.isMultiDrag && multiDragSortable) { 34693 multiDragSortable.multiDrag._deselectMultiDrag(); 34694 } 34695 34696 multiDragElements.forEach(function (multiDragElement) { 34697 multiDragElement.sortableIndex = index(multiDragElement); 34698 }); // Sort multi-drag elements 34699 34700 multiDragElements = multiDragElements.sort(function (a, b) { 34701 return a.sortableIndex - b.sortableIndex; 34702 }); 34703 dragStarted = true; 34704 }, 34705 dragStarted: function dragStarted(_ref7) { 34706 var _this2 = this; 34707 34708 var sortable = _ref7.sortable; 34709 if (!this.isMultiDrag) return; 34710 34711 if (this.options.sort) { 34712 // Capture rects, 34713 // hide multi drag elements (by positioning them absolute), 34714 // set multi drag elements rects to dragRect, 34715 // show multi drag elements, 34716 // animate to rects, 34717 // unset rects & remove from DOM 34718 sortable.captureAnimationState(); 34719 34720 if (this.options.animation) { 34721 multiDragElements.forEach(function (multiDragElement) { 34722 if (multiDragElement === dragEl$1) return; 34723 css(multiDragElement, 'position', 'absolute'); 34724 }); 34725 var dragRect = getRect(dragEl$1, false, true, true); 34726 multiDragElements.forEach(function (multiDragElement) { 34727 if (multiDragElement === dragEl$1) return; 34728 setRect(multiDragElement, dragRect); 34729 }); 34730 folding = true; 34731 initialFolding = true; 34732 } 34733 } 34734 34735 sortable.animateAll(function () { 34736 folding = false; 34737 initialFolding = false; 34738 34739 if (_this2.options.animation) { 34740 multiDragElements.forEach(function (multiDragElement) { 34741 unsetRect(multiDragElement); 34742 }); 34743 } // Remove all auxiliary multidrag items from el, if sorting enabled 34744 34745 34746 if (_this2.options.sort) { 34747 removeMultiDragElements(); 34748 } 34749 }); 34750 }, 34751 dragOver: function dragOver(_ref8) { 34752 var target = _ref8.target, 34753 completed = _ref8.completed, 34754 cancel = _ref8.cancel; 34755 34756 if (folding && ~multiDragElements.indexOf(target)) { 34757 completed(false); 34758 cancel(); 34759 } 34760 }, 34761 revert: function revert(_ref9) { 34762 var fromSortable = _ref9.fromSortable, 34763 rootEl = _ref9.rootEl, 34764 sortable = _ref9.sortable, 34765 dragRect = _ref9.dragRect; 34766 34767 if (multiDragElements.length > 1) { 34768 // Setup unfold animation 34769 multiDragElements.forEach(function (multiDragElement) { 34770 sortable.addAnimationState({ 34771 target: multiDragElement, 34772 rect: folding ? getRect(multiDragElement) : dragRect 34773 }); 34774 unsetRect(multiDragElement); 34775 multiDragElement.fromRect = dragRect; 34776 fromSortable.removeAnimationState(multiDragElement); 34777 }); 34778 folding = false; 34779 insertMultiDragElements(!this.options.removeCloneOnHide, rootEl); 34780 } 34781 }, 34782 dragOverCompleted: function dragOverCompleted(_ref10) { 34783 var sortable = _ref10.sortable, 34784 isOwner = _ref10.isOwner, 34785 insertion = _ref10.insertion, 34786 activeSortable = _ref10.activeSortable, 34787 parentEl = _ref10.parentEl, 34788 putSortable = _ref10.putSortable; 34789 var options = this.options; 34790 34791 if (insertion) { 34792 // Clones must be hidden before folding animation to capture dragRectAbsolute properly 34793 if (isOwner) { 34794 activeSortable._hideClone(); 34795 } 34796 34797 initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location 34798 34799 if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) { 34800 // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible 34801 var dragRectAbsolute = getRect(dragEl$1, false, true, true); 34802 multiDragElements.forEach(function (multiDragElement) { 34803 if (multiDragElement === dragEl$1) return; 34804 setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted 34805 // while folding, and so that we can capture them again because old sortable will no longer be fromSortable 34806 34807 parentEl.appendChild(multiDragElement); 34808 }); 34809 folding = true; 34810 } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out 34811 34812 34813 if (!isOwner) { 34814 // Only remove if not folding (folding will remove them anyways) 34815 if (!folding) { 34816 removeMultiDragElements(); 34817 } 34818 34819 if (multiDragElements.length > 1) { 34820 var clonesHiddenBefore = clonesHidden; 34821 34822 activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden 34823 34824 34825 if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) { 34826 multiDragClones.forEach(function (clone) { 34827 activeSortable.addAnimationState({ 34828 target: clone, 34829 rect: clonesFromRect 34830 }); 34831 clone.fromRect = clonesFromRect; 34832 clone.thisAnimationDuration = null; 34833 }); 34834 } 34835 } else { 34836 activeSortable._showClone(sortable); 34837 } 34838 } 34839 } 34840 }, 34841 dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) { 34842 var dragRect = _ref11.dragRect, 34843 isOwner = _ref11.isOwner, 34844 activeSortable = _ref11.activeSortable; 34845 multiDragElements.forEach(function (multiDragElement) { 34846 multiDragElement.thisAnimationDuration = null; 34847 }); 34848 34849 if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) { 34850 clonesFromRect = _extends({}, dragRect); 34851 var dragMatrix = matrix(dragEl$1, true); 34852 clonesFromRect.top -= dragMatrix.f; 34853 clonesFromRect.left -= dragMatrix.e; 34854 } 34855 }, 34856 dragOverAnimationComplete: function dragOverAnimationComplete() { 34857 if (folding) { 34858 folding = false; 34859 removeMultiDragElements(); 34860 } 34861 }, 34862 drop: function drop(_ref12) { 34863 var evt = _ref12.originalEvent, 34864 rootEl = _ref12.rootEl, 34865 parentEl = _ref12.parentEl, 34866 sortable = _ref12.sortable, 34867 dispatchSortableEvent = _ref12.dispatchSortableEvent, 34868 oldIndex = _ref12.oldIndex, 34869 putSortable = _ref12.putSortable; 34870 var toSortable = putSortable || this.sortable; 34871 if (!evt) return; 34872 var options = this.options, 34873 children = parentEl.children; // Multi-drag selection 34874 34875 if (!dragStarted) { 34876 if (options.multiDragKey && !this.multiDragKeyDown) { 34877 this._deselectMultiDrag(); 34878 } 34879 34880 toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1)); 34881 34882 if (!~multiDragElements.indexOf(dragEl$1)) { 34883 multiDragElements.push(dragEl$1); 34884 dispatchEvent({ 34885 sortable: sortable, 34886 rootEl: rootEl, 34887 name: 'select', 34888 targetEl: dragEl$1, 34889 originalEvt: evt 34890 }); // Modifier activated, select from last to dragEl 34891 34892 if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) { 34893 var lastIndex = index(lastMultiDragSelect), 34894 currentIndex = index(dragEl$1); 34895 34896 if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) { 34897 // Must include lastMultiDragSelect (select it), in case modified selection from no selection 34898 // (but previous selection existed) 34899 var n, i; 34900 34901 if (currentIndex > lastIndex) { 34902 i = lastIndex; 34903 n = currentIndex; 34904 } else { 34905 i = currentIndex; 34906 n = lastIndex + 1; 34907 } 34908 34909 for (; i < n; i++) { 34910 if (~multiDragElements.indexOf(children[i])) continue; 34911 toggleClass(children[i], options.selectedClass, true); 34912 multiDragElements.push(children[i]); 34913 dispatchEvent({ 34914 sortable: sortable, 34915 rootEl: rootEl, 34916 name: 'select', 34917 targetEl: children[i], 34918 originalEvt: evt 34919 }); 34920 } 34921 } 34922 } else { 34923 lastMultiDragSelect = dragEl$1; 34924 } 34925 34926 multiDragSortable = toSortable; 34927 } else { 34928 multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1); 34929 lastMultiDragSelect = null; 34930 dispatchEvent({ 34931 sortable: sortable, 34932 rootEl: rootEl, 34933 name: 'deselect', 34934 targetEl: dragEl$1, 34935 originalEvt: evt 34936 }); 34937 } 34938 } // Multi-drag drop 34939 34940 34941 if (dragStarted && this.isMultiDrag) { 34942 // Do not "unfold" after around dragEl if reverted 34943 if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) { 34944 var dragRect = getRect(dragEl$1), 34945 multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')'); 34946 if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null; 34947 toSortable.captureAnimationState(); 34948 34949 if (!initialFolding) { 34950 if (options.animation) { 34951 dragEl$1.fromRect = dragRect; 34952 multiDragElements.forEach(function (multiDragElement) { 34953 multiDragElement.thisAnimationDuration = null; 34954 34955 if (multiDragElement !== dragEl$1) { 34956 var rect = folding ? getRect(multiDragElement) : dragRect; 34957 multiDragElement.fromRect = rect; // Prepare unfold animation 34958 34959 toSortable.addAnimationState({ 34960 target: multiDragElement, 34961 rect: rect 34962 }); 34963 } 34964 }); 34965 } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert 34966 // properly they must all be removed 34967 34968 34969 removeMultiDragElements(); 34970 multiDragElements.forEach(function (multiDragElement) { 34971 if (children[multiDragIndex]) { 34972 parentEl.insertBefore(multiDragElement, children[multiDragIndex]); 34973 } else { 34974 parentEl.appendChild(multiDragElement); 34975 } 34976 34977 multiDragIndex++; 34978 }); // If initial folding is done, the elements may have changed position because they are now 34979 // unfolding around dragEl, even though dragEl may not have his index changed, so update event 34980 // must be fired here as Sortable will not. 34981 34982 if (oldIndex === index(dragEl$1)) { 34983 var update = false; 34984 multiDragElements.forEach(function (multiDragElement) { 34985 if (multiDragElement.sortableIndex !== index(multiDragElement)) { 34986 update = true; 34987 return; 34988 } 34989 }); 34990 34991 if (update) { 34992 dispatchSortableEvent('update'); 34993 } 34994 } 34995 } // Must be done after capturing individual rects (scroll bar) 34996 34997 34998 multiDragElements.forEach(function (multiDragElement) { 34999 unsetRect(multiDragElement); 35000 }); 35001 toSortable.animateAll(); 35002 } 35003 35004 multiDragSortable = toSortable; 35005 } // Remove clones if necessary 35006 35007 35008 if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { 35009 multiDragClones.forEach(function (clone) { 35010 clone.parentNode && clone.parentNode.removeChild(clone); 35011 }); 35012 } 35013 }, 35014 nullingGlobal: function nullingGlobal() { 35015 this.isMultiDrag = dragStarted = false; 35016 multiDragClones.length = 0; 35017 }, 35018 destroyGlobal: function destroyGlobal() { 35019 this._deselectMultiDrag(); 35020 35021 off(document, 'pointerup', this._deselectMultiDrag); 35022 off(document, 'mouseup', this._deselectMultiDrag); 35023 off(document, 'touchend', this._deselectMultiDrag); 35024 off(document, 'keydown', this._checkKeyDown); 35025 off(document, 'keyup', this._checkKeyUp); 35026 }, 35027 _deselectMultiDrag: function _deselectMultiDrag(evt) { 35028 if (typeof dragStarted !== "undefined" && dragStarted) return; // Only deselect if selection is in this sortable 35029 35030 if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable 35031 35032 if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click 35033 35034 if (evt && evt.button !== 0) return; 35035 35036 while (multiDragElements.length) { 35037 var el = multiDragElements[0]; 35038 toggleClass(el, this.options.selectedClass, false); 35039 multiDragElements.shift(); 35040 dispatchEvent({ 35041 sortable: this.sortable, 35042 rootEl: this.sortable.el, 35043 name: 'deselect', 35044 targetEl: el, 35045 originalEvt: evt 35046 }); 35047 } 35048 }, 35049 _checkKeyDown: function _checkKeyDown(evt) { 35050 if (evt.key === this.options.multiDragKey) { 35051 this.multiDragKeyDown = true; 35052 } 35053 }, 35054 _checkKeyUp: function _checkKeyUp(evt) { 35055 if (evt.key === this.options.multiDragKey) { 35056 this.multiDragKeyDown = false; 35057 } 35058 } 35059 }; 35060 return _extends(MultiDrag, { 35061 // Static methods & properties 35062 pluginName: 'multiDrag', 35063 utils: { 35064 /** 35065 * Selects the provided multi-drag item 35066 * @param {HTMLElement} el The element to be selected 35067 */ 35068 select: function select(el) { 35069 var sortable = el.parentNode[expando]; 35070 if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return; 35071 35072 if (multiDragSortable && multiDragSortable !== sortable) { 35073 multiDragSortable.multiDrag._deselectMultiDrag(); 35074 35075 multiDragSortable = sortable; 35076 } 35077 35078 toggleClass(el, sortable.options.selectedClass, true); 35079 multiDragElements.push(el); 35080 }, 35081 35082 /** 35083 * Deselects the provided multi-drag item 35084 * @param {HTMLElement} el The element to be deselected 35085 */ 35086 deselect: function deselect(el) { 35087 var sortable = el.parentNode[expando], 35088 index = multiDragElements.indexOf(el); 35089 if (!sortable || !sortable.options.multiDrag || !~index) return; 35090 toggleClass(el, sortable.options.selectedClass, false); 35091 multiDragElements.splice(index, 1); 35092 } 35093 }, 35094 eventProperties: function eventProperties() { 35095 var _this3 = this; 35096 35097 var oldIndicies = [], 35098 newIndicies = []; 35099 multiDragElements.forEach(function (multiDragElement) { 35100 oldIndicies.push({ 35101 multiDragElement: multiDragElement, 35102 index: multiDragElement.sortableIndex 35103 }); // multiDragElements will already be sorted if folding 35104 35105 var newIndex; 35106 35107 if (folding && multiDragElement !== dragEl$1) { 35108 newIndex = -1; 35109 } else if (folding) { 35110 newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')'); 35111 } else { 35112 newIndex = index(multiDragElement); 35113 } 35114 35115 newIndicies.push({ 35116 multiDragElement: multiDragElement, 35117 index: newIndex 35118 }); 35119 }); 35120 return { 35121 items: _toConsumableArray(multiDragElements), 35122 clones: [].concat(multiDragClones), 35123 oldIndicies: oldIndicies, 35124 newIndicies: newIndicies 35125 }; 35126 }, 35127 optionListeners: { 35128 multiDragKey: function multiDragKey(key) { 35129 key = key.toLowerCase(); 35130 35131 if (key === 'ctrl') { 35132 key = 'Control'; 35133 } else if (key.length > 1) { 35134 key = key.charAt(0).toUpperCase() + key.substr(1); 35135 } 35136 35137 return key; 35138 } 35139 } 35140 }); 35141} 35142 35143function insertMultiDragElements(clonesInserted, rootEl) { 35144 multiDragElements.forEach(function (multiDragElement, i) { 35145 var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)]; 35146 35147 if (target) { 35148 rootEl.insertBefore(multiDragElement, target); 35149 } else { 35150 rootEl.appendChild(multiDragElement); 35151 } 35152 }); 35153} 35154/** 35155 * Insert multi-drag clones 35156 * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted 35157 * @param {HTMLElement} rootEl 35158 */ 35159 35160 35161function insertMultiDragClones(elementsInserted, rootEl) { 35162 multiDragClones.forEach(function (clone, i) { 35163 var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)]; 35164 35165 if (target) { 35166 rootEl.insertBefore(clone, target); 35167 } else { 35168 rootEl.appendChild(clone); 35169 } 35170 }); 35171} 35172 35173function removeMultiDragElements() { 35174 multiDragElements.forEach(function (multiDragElement) { 35175 if (multiDragElement === dragEl$1) return; 35176 multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement); 35177 }); 35178} 35179 35180Sortable.mount(new AutoScrollPlugin()); 35181Sortable.mount(Remove, Revert); 35182 35183/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Sortable); 35184 35185 35186 35187/***/ }), 35188
vendor: 115,814 bytes, lines 35189-35938
35189/***/ "./node_modules/vue-select/dist/vue-select.css": 35190/*!*****************************************************!*\ 35191 !*** ./node_modules/vue-select/dist/vue-select.css ***! 35192 \*****************************************************/ 35193/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35194 35195"use strict"; 35196__webpack_require__.r(__webpack_exports__); 35197/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35198/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35199/* harmony export */ }); 35200/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35201/* harmony import */ var _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35202/* harmony import */ var _laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_vue_select_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./vue-select.css */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-select/dist/vue-select.css"); 35203 35204 35205 35206var options = {}; 35207 35208options.insert = "head"; 35209options.singleton = false; 35210 35211var update = _style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_vue_select_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); 35212 35213 35214 35215/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_vue_select_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35216 35217/***/ }), 35218 35219/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css&": 35220/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35221 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css& ***! 35222 \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35223/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35224 35225"use strict"; 35226__webpack_require__.r(__webpack_exports__); 35227/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35228/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35229/* harmony export */ }); 35230/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35231/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35232/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_style_index_0_id_44f721b1_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css&"); 35233 35234 35235 35236var options = {}; 35237 35238options.insert = "head"; 35239options.singleton = false; 35240 35241var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_style_index_0_id_44f721b1_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35242 35243 35244 35245/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_style_index_0_id_44f721b1_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35246 35247/***/ }), 35248 35249/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css&": 35250/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35251 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css& ***! 35252 \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35253/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35254 35255"use strict"; 35256__webpack_require__.r(__webpack_exports__); 35257/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35258/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35259/* harmony export */ }); 35260/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35261/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35262/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_style_index_0_id_59e03618_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css&"); 35263 35264 35265 35266var options = {}; 35267 35268options.insert = "head"; 35269options.singleton = false; 35270 35271var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_style_index_0_id_59e03618_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35272 35273 35274 35275/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_style_index_0_id_59e03618_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35276 35277/***/ }), 35278 35279/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css&": 35280/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35281 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css& ***! 35282 \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35283/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35284 35285"use strict"; 35286__webpack_require__.r(__webpack_exports__); 35287/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35288/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35289/* harmony export */ }); 35290/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35291/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35292/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_style_index_0_id_59cdc560_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css&"); 35293 35294 35295 35296var options = {}; 35297 35298options.insert = "head"; 35299options.singleton = false; 35300 35301var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_style_index_0_id_59cdc560_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35302 35303 35304 35305/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_style_index_0_id_59cdc560_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35306 35307/***/ }), 35308 35309/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css&": 35310/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35311 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css& ***! 35312 \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35313/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35314 35315"use strict"; 35316__webpack_require__.r(__webpack_exports__); 35317/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35318/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35319/* harmony export */ }); 35320/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35321/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35322/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_style_index_0_id_eab99d22_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css&"); 35323 35324 35325 35326var options = {}; 35327 35328options.insert = "head"; 35329options.singleton = false; 35330 35331var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_style_index_0_id_eab99d22_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35332 35333 35334 35335/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_style_index_0_id_eab99d22_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35336 35337/***/ }), 35338 35339/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css&": 35340/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35341 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css& ***! 35342 \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35343/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35344 35345"use strict"; 35346__webpack_require__.r(__webpack_exports__); 35347/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35348/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35349/* harmony export */ }); 35350/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35351/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35352/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_style_index_0_id_4c29dbaf_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css&"); 35353 35354 35355 35356var options = {}; 35357 35358options.insert = "head"; 35359options.singleton = false; 35360 35361var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_style_index_0_id_4c29dbaf_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35362 35363 35364 35365/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_style_index_0_id_4c29dbaf_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35366 35367/***/ }), 35368 35369/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css&": 35370/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35371 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css& ***! 35372 \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35373/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35374 35375"use strict"; 35376__webpack_require__.r(__webpack_exports__); 35377/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35378/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35379/* harmony export */ }); 35380/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35381/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35382/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_style_index_0_id_6dc490ea_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css&"); 35383 35384 35385 35386var options = {}; 35387 35388options.insert = "head"; 35389options.singleton = false; 35390 35391var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_style_index_0_id_6dc490ea_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35392 35393 35394 35395/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_style_index_0_id_6dc490ea_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35396 35397/***/ }), 35398 35399/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css&": 35400/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35401 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css& ***! 35402 \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35403/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35404 35405"use strict"; 35406__webpack_require__.r(__webpack_exports__); 35407/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35408/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35409/* harmony export */ }); 35410/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35411/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35412/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_style_index_0_id_6b689aae_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css&"); 35413 35414 35415 35416var options = {}; 35417 35418options.insert = "head"; 35419options.singleton = false; 35420 35421var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_style_index_0_id_6b689aae_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35422 35423 35424 35425/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_style_index_0_id_6b689aae_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35426 35427/***/ }), 35428 35429/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css&": 35430/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35431 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css& ***! 35432 \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35433/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35434 35435"use strict"; 35436__webpack_require__.r(__webpack_exports__); 35437/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35438/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35439/* harmony export */ }); 35440/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35441/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35442/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_style_index_0_id_2af8719e_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css&"); 35443 35444 35445 35446var options = {}; 35447 35448options.insert = "head"; 35449options.singleton = false; 35450 35451var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_style_index_0_id_2af8719e_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35452 35453 35454 35455/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_style_index_0_id_2af8719e_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35456 35457/***/ }), 35458 35459/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css&": 35460/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35461 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css& ***! 35462 \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35463/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35464 35465"use strict"; 35466__webpack_require__.r(__webpack_exports__); 35467/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35468/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35469/* harmony export */ }); 35470/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35471/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35472/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_style_index_0_id_6b67ecba_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css&"); 35473 35474 35475 35476var options = {}; 35477 35478options.insert = "head"; 35479options.singleton = false; 35480 35481var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_style_index_0_id_6b67ecba_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35482 35483 35484 35485/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_style_index_0_id_6b67ecba_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35486 35487/***/ }), 35488 35489/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css&": 35490/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35491 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css& ***! 35492 \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35493/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35494 35495"use strict"; 35496__webpack_require__.r(__webpack_exports__); 35497/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35498/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35499/* harmony export */ }); 35500/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35501/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35502/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_style_index_0_id_5945d1ff_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css&"); 35503 35504 35505 35506var options = {}; 35507 35508options.insert = "head"; 35509options.singleton = false; 35510 35511var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_style_index_0_id_5945d1ff_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35512 35513 35514 35515/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_style_index_0_id_5945d1ff_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35516 35517/***/ }), 35518 35519/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css&": 35520/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35521 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css& ***! 35522 \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35523/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35524 35525"use strict"; 35526__webpack_require__.r(__webpack_exports__); 35527/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35528/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35529/* harmony export */ }); 35530/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35531/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35532/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_style_index_0_id_64c873c8_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css&"); 35533 35534 35535 35536var options = {}; 35537 35538options.insert = "head"; 35539options.singleton = false; 35540 35541var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_style_index_0_id_64c873c8_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35542 35543 35544 35545/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_style_index_0_id_64c873c8_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35546 35547/***/ }), 35548 35549/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css&": 35550/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35551 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css& ***! 35552 \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35553/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35554 35555"use strict"; 35556__webpack_require__.r(__webpack_exports__); 35557/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35558/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35559/* harmony export */ }); 35560/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35561/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35562/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_style_index_0_id_4d29797a_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css&"); 35563 35564 35565 35566var options = {}; 35567 35568options.insert = "head"; 35569options.singleton = false; 35570 35571var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_style_index_0_id_4d29797a_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35572 35573 35574 35575/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_style_index_0_id_4d29797a_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35576 35577/***/ }), 35578 35579/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css&": 35580/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35581 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css& ***! 35582 \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35583/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35584 35585"use strict"; 35586__webpack_require__.r(__webpack_exports__); 35587/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35588/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35589/* harmony export */ }); 35590/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35591/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35592/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_style_index_0_id_15ac0c20_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css&"); 35593 35594 35595 35596var options = {}; 35597 35598options.insert = "head"; 35599options.singleton = false; 35600 35601var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_style_index_0_id_15ac0c20_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35602 35603 35604 35605/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_style_index_0_id_15ac0c20_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35606 35607/***/ }), 35608 35609/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css&": 35610/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35611 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css& ***! 35612 \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35613/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35614 35615"use strict"; 35616__webpack_require__.r(__webpack_exports__); 35617/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35618/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35619/* harmony export */ }); 35620/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35621/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35622/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_style_index_0_id_b62a887c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css&"); 35623 35624 35625 35626var options = {}; 35627 35628options.insert = "head"; 35629options.singleton = false; 35630 35631var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_style_index_0_id_b62a887c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35632 35633 35634 35635/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_style_index_0_id_b62a887c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35636 35637/***/ }), 35638 35639/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css&": 35640/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35641 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css& ***! 35642 \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35643/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35644 35645"use strict"; 35646__webpack_require__.r(__webpack_exports__); 35647/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35648/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35649/* harmony export */ }); 35650/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35651/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35652/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_style_index_0_id_b3b09bb4_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css&"); 35653 35654 35655 35656var options = {}; 35657 35658options.insert = "head"; 35659options.singleton = false; 35660 35661var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_style_index_0_id_b3b09bb4_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35662 35663 35664 35665/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_style_index_0_id_b3b09bb4_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35666 35667/***/ }), 35668 35669/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css&": 35670/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35671 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css& ***! 35672 \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35673/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35674 35675"use strict"; 35676__webpack_require__.r(__webpack_exports__); 35677/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35678/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35679/* harmony export */ }); 35680/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35681/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35682/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_style_index_0_id_78b91edd_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css&"); 35683 35684 35685 35686var options = {}; 35687 35688options.insert = "head"; 35689options.singleton = false; 35690 35691var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_style_index_0_id_78b91edd_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35692 35693 35694 35695/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_style_index_0_id_78b91edd_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35696 35697/***/ }), 35698 35699/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css&": 35700/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35701 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css& ***! 35702 \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35703/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35704 35705"use strict"; 35706__webpack_require__.r(__webpack_exports__); 35707/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35708/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35709/* harmony export */ }); 35710/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35711/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35712/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_style_index_0_id_032b94df_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loi.vue?vue&type=style&index=0&id=032b94df&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css&"); 35713 35714 35715 35716var options = {}; 35717 35718options.insert = "head"; 35719options.singleton = false; 35720 35721var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_style_index_0_id_032b94df_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35722 35723 35724 35725/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_style_index_0_id_032b94df_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35726 35727/***/ }), 35728 35729/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css&": 35730/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35731 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css& ***! 35732 \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35733/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35734 35735"use strict"; 35736__webpack_require__.r(__webpack_exports__); 35737/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35738/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35739/* harmony export */ }); 35740/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35741/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35742/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_style_index_0_id_439d8d46_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css&"); 35743 35744 35745 35746var options = {}; 35747 35748options.insert = "head"; 35749options.singleton = false; 35750 35751var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_style_index_0_id_439d8d46_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35752 35753 35754 35755/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_style_index_0_id_439d8d46_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35756 35757/***/ }), 35758 35759/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css&": 35760/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35761 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css& ***! 35762 \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35763/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35764 35765"use strict"; 35766__webpack_require__.r(__webpack_exports__); 35767/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35768/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35769/* harmony export */ }); 35770/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35771/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35772/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_style_index_0_id_41d4e6c8_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css&"); 35773 35774 35775 35776var options = {}; 35777 35778options.insert = "head"; 35779options.singleton = false; 35780 35781var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_style_index_0_id_41d4e6c8_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35782 35783 35784 35785/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_style_index_0_id_41d4e6c8_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35786 35787/***/ }), 35788 35789/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css&": 35790/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35791 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css& ***! 35792 \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35793/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35794 35795"use strict"; 35796__webpack_require__.r(__webpack_exports__); 35797/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35798/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35799/* harmony export */ }); 35800/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35801/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35802/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_style_index_0_id_21c99a4b_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css&"); 35803 35804 35805 35806var options = {}; 35807 35808options.insert = "head"; 35809options.singleton = false; 35810 35811var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_style_index_0_id_21c99a4b_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35812 35813 35814 35815/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_style_index_0_id_21c99a4b_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35816 35817/***/ }), 35818 35819/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css&": 35820/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35821 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css& ***! 35822 \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35823/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35824 35825"use strict"; 35826__webpack_require__.r(__webpack_exports__); 35827/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35828/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35829/* harmony export */ }); 35830/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35831/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35832/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_style_index_0_id_4b44fdad_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css&"); 35833 35834 35835 35836var options = {}; 35837 35838options.insert = "head"; 35839options.singleton = false; 35840 35841var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_style_index_0_id_4b44fdad_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35842 35843 35844 35845/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_style_index_0_id_4b44fdad_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35846 35847/***/ }), 35848 35849/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css&": 35850/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35851 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css& ***! 35852 \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35853/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35854 35855"use strict"; 35856__webpack_require__.r(__webpack_exports__); 35857/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35858/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35859/* harmony export */ }); 35860/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35861/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35862/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_style_index_0_id_26ef0d4f_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css&"); 35863 35864 35865 35866var options = {}; 35867 35868options.insert = "head"; 35869options.singleton = false; 35870 35871var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_style_index_0_id_26ef0d4f_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35872 35873 35874 35875/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_style_index_0_id_26ef0d4f_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35876 35877/***/ }), 35878 35879/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css&": 35880/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35881 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css& ***! 35882 \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35883/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35884 35885"use strict"; 35886__webpack_require__.r(__webpack_exports__); 35887/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35888/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35889/* harmony export */ }); 35890/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35891/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35892/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_style_index_0_id_16e197ce_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css&"); 35893 35894 35895 35896var options = {}; 35897 35898options.insert = "head"; 35899options.singleton = false; 35900 35901var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_style_index_0_id_16e197ce_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35902 35903 35904 35905/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_style_index_0_id_16e197ce_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35906 35907/***/ }), 35908 35909/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css&": 35910/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ 35911 !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css& ***! 35912 \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ 35913/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 35914 35915"use strict"; 35916__webpack_require__.r(__webpack_exports__); 35917/* harmony export */ __webpack_require__.d(__webpack_exports__, { 35918/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 35919/* harmony export */ }); 35920/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); 35921/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); 35922/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_style_index_0_id_980be224_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css&"); 35923 35924 35925 35926var options = {}; 35927 35928options.insert = "head"; 35929options.singleton = false; 35930 35931var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_style_index_0_id_980be224_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); 35932 35933 35934 35935/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_style_index_0_id_980be224_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); 35936 35937/***/ }), 35938
vendor: 7,200 bytes, lines 35939-36217
35939/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": 35940/*!****************************************************************************!*\ 35941 !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! 35942 \****************************************************************************/ 35943/***/ ((module, __unused_webpack_exports, __webpack_require__) => { 35944 35945"use strict"; 35946 35947 35948var isOldIE = function isOldIE() { 35949 var memo; 35950 return function memorize() { 35951 if (typeof memo === 'undefined') { 35952 // Test for IE <= 9 as proposed by Browserhacks 35953 // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 35954 // Tests for existence of standard globals is to allow style-loader 35955 // to operate correctly into non-standard environments 35956 // @see https://github.com/webpack-contrib/style-loader/issues/177 35957 memo = Boolean(window && document && document.all && !window.atob); 35958 } 35959 35960 return memo; 35961 }; 35962}(); 35963 35964var getTarget = function getTarget() { 35965 var memo = {}; 35966 return function memorize(target) { 35967 if (typeof memo[target] === 'undefined') { 35968 var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself 35969 35970 if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { 35971 try { 35972 // This will throw an exception if access to iframe is blocked 35973 // due to cross-origin restrictions 35974 styleTarget = styleTarget.contentDocument.head; 35975 } catch (e) { 35976 // istanbul ignore next 35977 styleTarget = null; 35978 } 35979 } 35980 35981 memo[target] = styleTarget; 35982 } 35983 35984 return memo[target]; 35985 }; 35986}(); 35987 35988var stylesInDom = []; 35989 35990function getIndexByIdentifier(identifier) { 35991 var result = -1; 35992 35993 for (var i = 0; i < stylesInDom.length; i++) { 35994 if (stylesInDom[i].identifier === identifier) { 35995 result = i; 35996 break; 35997 } 35998 } 35999 36000 return result; 36001} 36002 36003function modulesToDom(list, options) { 36004 var idCountMap = {}; 36005 var identifiers = []; 36006 36007 for (var i = 0; i < list.length; i++) { 36008 var item = list[i]; 36009 var id = options.base ? item[0] + options.base : item[0]; 36010 var count = idCountMap[id] || 0; 36011 var identifier = "".concat(id, " ").concat(count); 36012 idCountMap[id] = count + 1; 36013 var index = getIndexByIdentifier(identifier); 36014 var obj = { 36015 css: item[1], 36016 media: item[2], 36017 sourceMap: item[3] 36018 }; 36019 36020 if (index !== -1) { 36021 stylesInDom[index].references++; 36022 stylesInDom[index].updater(obj); 36023 } else { 36024 stylesInDom.push({ 36025 identifier: identifier, 36026 updater: addStyle(obj, options), 36027 references: 1 36028 }); 36029 } 36030 36031 identifiers.push(identifier); 36032 } 36033 36034 return identifiers; 36035} 36036 36037function insertStyleElement(options) { 36038 var style = document.createElement('style'); 36039 var attributes = options.attributes || {}; 36040 36041 if (typeof attributes.nonce === 'undefined') { 36042 var nonce = true ? __webpack_require__.nc : 0; 36043 36044 if (nonce) { 36045 attributes.nonce = nonce; 36046 } 36047 } 36048 36049 Object.keys(attributes).forEach(function (key) { 36050 style.setAttribute(key, attributes[key]); 36051 }); 36052 36053 if (typeof options.insert === 'function') { 36054 options.insert(style); 36055 } else { 36056 var target = getTarget(options.insert || 'head'); 36057 36058 if (!target) { 36059 throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); 36060 } 36061 36062 target.appendChild(style); 36063 } 36064 36065 return style; 36066} 36067 36068function removeStyleElement(style) { 36069 // istanbul ignore if 36070 if (style.parentNode === null) { 36071 return false; 36072 } 36073 36074 style.parentNode.removeChild(style); 36075} 36076/* istanbul ignore next */ 36077 36078 36079var replaceText = function replaceText() { 36080 var textStore = []; 36081 return function replace(index, replacement) { 36082 textStore[index] = replacement; 36083 return textStore.filter(Boolean).join('\n'); 36084 }; 36085}(); 36086 36087function applyToSingletonTag(style, index, remove, obj) { 36088 var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE 36089 36090 /* istanbul ignore if */ 36091 36092 if (style.styleSheet) { 36093 style.styleSheet.cssText = replaceText(index, css); 36094 } else { 36095 var cssNode = document.createTextNode(css); 36096 var childNodes = style.childNodes; 36097 36098 if (childNodes[index]) { 36099 style.removeChild(childNodes[index]); 36100 } 36101 36102 if (childNodes.length) { 36103 style.insertBefore(cssNode, childNodes[index]); 36104 } else { 36105 style.appendChild(cssNode); 36106 } 36107 } 36108} 36109 36110function applyToTag(style, options, obj) { 36111 var css = obj.css; 36112 var media = obj.media; 36113 var sourceMap = obj.sourceMap; 36114 36115 if (media) { 36116 style.setAttribute('media', media); 36117 } else { 36118 style.removeAttribute('media'); 36119 } 36120 36121 if (sourceMap && typeof btoa !== 'undefined') { 36122 css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); 36123 } // For old IE 36124 36125 /* istanbul ignore if */ 36126 36127 36128 if (style.styleSheet) { 36129 style.styleSheet.cssText = css; 36130 } else { 36131 while (style.firstChild) { 36132 style.removeChild(style.firstChild); 36133 } 36134 36135 style.appendChild(document.createTextNode(css)); 36136 } 36137} 36138 36139var singleton = null; 36140var singletonCounter = 0; 36141 36142function addStyle(obj, options) { 36143 var style; 36144 var update; 36145 var remove; 36146 36147 if (options.singleton) { 36148 var styleIndex = singletonCounter++; 36149 style = singleton || (singleton = insertStyleElement(options)); 36150 update = applyToSingletonTag.bind(null, style, styleIndex, false); 36151 remove = applyToSingletonTag.bind(null, style, styleIndex, true); 36152 } else { 36153 style = insertStyleElement(options); 36154 update = applyToTag.bind(null, style, options); 36155 36156 remove = function remove() { 36157 removeStyleElement(style); 36158 }; 36159 } 36160 36161 update(obj); 36162 return function updateStyle(newObj) { 36163 if (newObj) { 36164 if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { 36165 return; 36166 } 36167 36168 update(obj = newObj); 36169 } else { 36170 remove(); 36171 } 36172 }; 36173} 36174 36175module.exports = function (list, options) { 36176 options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> 36177 // tags it will allow on a page 36178 36179 if (!options.singleton && typeof options.singleton !== 'boolean') { 36180 options.singleton = isOldIE(); 36181 } 36182 36183 list = list || []; 36184 var lastIdentifiers = modulesToDom(list, options); 36185 return function update(newList) { 36186 newList = newList || []; 36187 36188 if (Object.prototype.toString.call(newList) !== '[object Array]') { 36189 return; 36190 } 36191 36192 for (var i = 0; i < lastIdentifiers.length; i++) { 36193 var identifier = lastIdentifiers[i]; 36194 var index = getIndexByIdentifier(identifier); 36195 stylesInDom[index].references--; 36196 } 36197 36198 var newLastIdentifiers = modulesToDom(newList, options); 36199 36200 for (var _i = 0; _i < lastIdentifiers.length; _i++) { 36201 var _identifier = lastIdentifiers[_i]; 36202 36203 var _index = getIndexByIdentifier(_identifier); 36204 36205 if (stylesInDom[_index].references === 0) { 36206 stylesInDom[_index].updater(); 36207 36208 stylesInDom.splice(_index, 1); 36209 } 36210 } 36211 36212 lastIdentifiers = newLastIdentifiers; 36213 }; 36214}; 36215 36216/***/ }), 36217
vendor: 18,888 bytes, lines 36218-36678
36218/***/ "./node_modules/vue-drag-and-drop-list/dist/vue-drag-and-drop-list.js": 36219/*!****************************************************************************!*\ 36220 !*** ./node_modules/vue-drag-and-drop-list/dist/vue-drag-and-drop-list.js ***! 36221 \****************************************************************************/ 36222/***/ (function(module) { 36223 36224/*! 36225 * Vue-drag-and-drop-list.js v1.0.0 36226 * (c) 2017 Hejx 36227 * Released under the MIT License. 36228 * https://github.com/hejianxian/vue-drag-and-drop-list#readme 36229 */ 36230 36231(function (global, factory) { 36232 true ? module.exports = factory() : 36233 0; 36234}(this, (function () { 'use strict'; 36235 36236var DragAndDropList = {}; 36237 36238DragAndDropList.install = function(Vue) { 36239 // save status 36240 var dndDropEffectWorkaround = {}, dndDragTypeWorkaround = {}; 36241 36242 Vue.directive('dnd-draggable', { 36243 params: ['dnd-draggable', 'dnd-effect-allowed', 'dnd-type', 'dnd-dragstart', 'dnd-selected', 'dnd-dragend', 'dnd-disable-if', 'dnd-moved', 'dnd-copied', 'dnd-canceled', 'dnd-data', 'dnd-index'], 36244 // css: dragging, draggingSource 36245 paramWatchers: { 36246 dndDisableIf: function (val, oldVal) { 36247 this.el.setAttribute('draggable', !val); 36248 } 36249 }, 36250 bind: function () { 36251 36252 this.handleDragstart = function (event) { 36253 event = event.originalEvent || event; 36254 36255 var dndDraggable = JSON.stringify(this.params.dndDraggable); 36256 // Check whether the element is draggable, since dragstart might be triggered on a child. 36257 if (dndDraggable == 'false' || this.params.dndDisableIf) return true; 36258 36259 // Serialize the data associated with this element. IE only supports the Text drag type 36260 event.dataTransfer.setData("Text", dndDraggable); 36261 36262 // Only allow actions specified in dnd-effect-allowed attribute 36263 event.dataTransfer.effectAllowed = this.params.dndEffectAllowed || "move"; 36264 36265 // Add CSS classes. IE9 not support 'classList' 36266 this.el.className = this.el.className.trim() + " dndDragging"; 36267 setTimeout(function() { this.el.className = this.el.className.trim() + " dndDraggingSource"; }.bind(this), 0); 36268 36269 // Workarounds for stupid browsers, see description below 36270 dndDropEffectWorkaround.dropEffect = "none"; 36271 dndDragTypeWorkaround.isDragging = true; 36272 36273 // Save type of item in global state. Usually, this would go into the dataTransfer 36274 // typename, but we have to use "Text" there to support IE 36275 dndDragTypeWorkaround.dragType = this.params.dndType || undefined; 36276 36277 // Try setting a proper drag image if triggered on a dnd-handle (won't work in IE). 36278 if (event._dndHandle && event.dataTransfer.setDragImage) { 36279 event.dataTransfer.setDragImage(this.el, event._dndHandleLeft, event._dndHandleTop); 36280 } 36281 36282 // Invoke callback 36283 if (typeof(this.vm[this.params.dndDragstart]) === 'function') { 36284 this.vm[this.params.dndDragstart].call(this, event.target); 36285 } 36286 36287 event.stopPropagation(); 36288 }.bind(this); 36289 36290 this.handleDragend = function (event) { 36291 event = event.originalEvent || event; 36292 36293 var dropEffect = dndDropEffectWorkaround.dropEffect; 36294 switch (dropEffect) { 36295 case "move": 36296 if (typeof(this.vm[this.params.dndMoved]) === 'function') { 36297 this.vm[this.params.dndMoved].call(this, this.params.dndData, this.params.dndIndex, event.target); 36298 } else { 36299 this.params.dndData.splice(this.params.dndIndex, 1); 36300 } 36301 break; 36302 case "copy": 36303 if (typeof(this.vm[this.params.dndCopied]) === 'function') { 36304 this.vm[this.params.dndCopied].call(this, this.params.dndDraggable, event.target); 36305 } 36306 break; 36307 case "none": 36308 if (typeof(this.vm[this.params.dndCanceled]) === 'function') { 36309 this.vm[this.params.dndCanceled].call(this, event.target); 36310 } 36311 break; 36312 } 36313 if (typeof(this.vm[this.params.dndDragend]) === 'function') { 36314 this.vm[this.params.dndDragend].call(this, dropEffect, event.target); 36315 } 36316 36317 // Clean up 36318 this.el.className = this.el.className.replace("dndDragging", "").trim(); 36319 var _el = this.el; 36320 setTimeout(function(){ 36321 // here this.el will be null 36322 _el.className = _el.className.replace("dndDraggingSource", "").trim(); 36323 }, 0); 36324 dndDragTypeWorkaround.isDragging = false; 36325 event.stopPropagation(); 36326 }.bind(this); 36327 36328 this.handleClick = function (event) { 36329 if (!this.params.dndSelected) return; 36330 36331 event = event.originalEvent || event; 36332 if (typeof(this.vm[this.params.dndSelected]) === 'function') { 36333 this.vm[this.params.dndSelected].call(this, this.params.dndData[this.params.dndIndex], event.target); 36334 } 36335 event.stopPropagation(); 36336 }.bind(this); 36337 36338 /** 36339 * Workaround to make element draggable in IE9 36340 * http://stackoverflow.com/questions/5500615/internet-explorer-9-drag-and-drop-dnd 36341 */ 36342 this.handleSelected = function () { 36343 if (this.dragDrop) this.dragDrop(); 36344 return false; 36345 } 36346 36347 var status = true; 36348 if (this.params.dndDisableIf) status = false; 36349 this.el.setAttribute('draggable', status); 36350 this.el.addEventListener('dragstart', this.handleDragstart, false); 36351 this.el.addEventListener('dragend', this.handleDragend, false); 36352 this.el.addEventListener('click', this.handleClick, false); 36353 this.el.addEventListener('selectstart', this.handleSelected, false); 36354 }, 36355 update: function (newValue, oldValue) {}, 36356 unbind: function () { 36357 this.el.removeEventListener('dragstart', this.handleDragstart, false); 36358 this.el.removeEventListener('dragend', this.handleDragend, false); 36359 this.el.removeEventListener('click', this.handleClick, false); 36360 this.el.removeEventListener('selectstart', this.handleSelected, false); 36361 } 36362 }); 36363 36364 Vue.directive('dnd-list', { 36365 params: ['dnd-list', 'dnd-allowed-types', 'dnd-disable-if', 'dnd-horizontal-list', 'dnd-external-sources', 'dnd-inserted', 'dnd-drop'], 36366 // css: placeholder, dragover 36367 bind: function () { 36368 36369 var placeholderNode = getPlaceholderElement.call(this); 36370 var listNode = this.el; 36371 placeholderNode.parentNode && placeholderNode.parentNode.removeChild(placeholderNode); 36372 36373 var horizontal = this.params.dndHorizontalList; 36374 var externalSources = this.params.dndExternalSources; 36375 36376 this.handleDragenter = function (event) { 36377 event = event.originalEvent || event; 36378 if (!isDropAllowed.call(this, event)) return true; 36379 event.preventDefault(); 36380 }.bind(this); 36381 36382 this.handleDragover = function (event) { 36383 36384 event = event.originalEvent || event; 36385 36386 if (!isDropAllowed.call(this, event)) return true; 36387 36388 if (placeholderNode.parentNode != listNode) { 36389 listNode.appendChild(placeholderNode); 36390 } 36391 36392 if (event.target !== listNode) { 36393 // Try to find the node direct directly below the list node. 36394 var listItemNode = event.target; 36395 while (listItemNode.parentNode !== listNode && listItemNode.parentNode) { 36396 listItemNode = listItemNode.parentNode; 36397 } 36398 if (listItemNode.parentNode === listNode && listItemNode !== placeholderNode) { 36399 // If the mouse pointer is in the upper half of the child element, 36400 // we place it before the child element, otherwise below it. 36401 if (isMouseInFirstHalf(event, listItemNode)) { 36402 listNode.insertBefore(placeholderNode, listItemNode); 36403 } else { 36404 listNode.insertBefore(placeholderNode, listItemNode.nextSibling); 36405 } 36406 } 36407 } else { 36408 // This branch is reached when we are dragging directly over the list element. 36409 // Usually we wouldn't need to do anything here, but the IE does not fire it's 36410 // events for the child element, only for the list directly. Therefore, we repeat 36411 // the positioning algorithm for IE here. 36412 if (isMouseInFirstHalf(event, placeholderNode, true)) { 36413 // Check if we should move the placeholder element one spot towards the top. 36414 // Note that display none elements will have offsetTop and offsetHeight set to 36415 // zero, therefore we need a special check for them. 36416 while (placeholderNode.previousElementSibling 36417 && (isMouseInFirstHalf(event, placeholderNode.previousElementSibling, true) 36418 || placeholderNode.previousElementSibling.offsetHeight === 0)) { 36419 listNode.insertBefore(placeholderNode, placeholderNode.previousElementSibling); 36420 } 36421 } else { 36422 // Check if we should move the placeholder element one spot towards the bottom 36423 while (placeholderNode.nextElementSibling && 36424 !isMouseInFirstHalf(event, placeholderNode.nextElementSibling, true)) { 36425 listNode.insertBefore(placeholderNode, 36426 placeholderNode.nextElementSibling.nextElementSibling); 36427 } 36428 } 36429 } 36430 36431 // At this point we invoke the callback, which still can disallow the drop. 36432 // We can't do this earlier because we want to pass the index of the placeholder. 36433 if (this.params.dndDragover && !invokeCallback.call(this, 'dndDragover', event, getPlaceholderIndex())) { 36434 return stopDragover.call(this, event); 36435 } 36436 36437 if (this.el.className.indexOf("dndDragover") < 0) this.el.className = this.el.className.trim() + " dndDragover"; 36438 36439 event.preventDefault(); 36440 event.stopPropagation(); 36441 return false; 36442 }.bind(this); 36443 36444 this.handleDrop = function (event) { 36445 event = event.originalEvent || event; 36446 36447 if (!isDropAllowed.call(this, event)) return true; 36448 36449 // The default behavior in Firefox is to interpret the dropped element as URL and 36450 // forward to it. We want to prevent that even if our drop is aborted. 36451 event.preventDefault(); 36452 36453 // Unserialize the data that was serialized in dragstart. According to the HTML5 specs, 36454 // the "Text" drag type will be converted to text/plain, but IE does not do that. 36455 var data = event.dataTransfer.getData("Text") || event.dataTransfer.getData("text/plain"); 36456 var transferredObject; 36457 try { 36458 transferredObject = JSON.parse(data); 36459 } catch(e) { 36460 return stopDragover.call(this); 36461 } 36462 36463 // Invoke the callback, which can transform the transferredObject and even abort the drop. 36464 var index = getPlaceholderIndex(); 36465 if (this.params.dndDrop) { 36466 transferredObject = invokeCallback.call(this, 'dndDrop', event, index, transferredObject); 36467 if (!transferredObject) { 36468 return stopDragover.call(this); 36469 } 36470 } 36471 36472 // Insert the object into the array, unless dnd-drop took care of that (returned true). 36473 if (transferredObject !== true) { 36474 this.params.dndList.splice(index, 0, transferredObject); 36475 } 36476 invokeCallback.call(this, 'dndInserted', event, index, transferredObject); 36477 36478 // In Chrome on Windows the dropEffect will always be none... 36479 // We have to determine the actual effect manually from the allowed effects 36480 if (event.dataTransfer.dropEffect === "none") { 36481 if (event.dataTransfer.effectAllowed === "copy" || 36482 event.dataTransfer.effectAllowed === "move") { 36483 dndDropEffectWorkaround.dropEffect = event.dataTransfer.effectAllowed; 36484 } else { 36485 dndDropEffectWorkaround.dropEffect = event.ctrlKey ? "copy" : "move"; 36486 } 36487 } else { 36488 dndDropEffectWorkaround.dropEffect = event.dataTransfer.dropEffect; 36489 } 36490 36491 // Clean up 36492 stopDragover.call(this); 36493 event.stopPropagation(); 36494 return false; 36495 }.bind(this); 36496 36497 // drag leave 36498 this.handleDragleave = function (event) { 36499 event = event.originalEvent || event; 36500 this.el.className = this.el.className.replace("dndDragover", "").trim(); 36501 setTimeout(function() { 36502 if (this.el.className.indexOf("dndDragover") < 0) { 36503 placeholderNode.parentNode && placeholderNode.parentNode.removeChild(placeholderNode); 36504 } 36505 }.bind(this), 100); 36506 }.bind(this); 36507 36508 // bind events 36509 this.el.addEventListener('dragenter', this.handleDragenter, false); 36510 this.el.addEventListener('dragover', this.handleDragover, false); 36511 this.el.addEventListener('drop', this.handleDrop, false); 36512 this.el.addEventListener('dragleave', this.handleDragleave, false); 36513 36514 // Checks whether the mouse pointer is in the first half of the given target element. 36515 function isMouseInFirstHalf(event, targetNode, relativeToParent) { 36516 var mousePointer = horizontal ? (event.offsetX || event.layerX) 36517 : (event.offsetY || event.layerY); 36518 var targetSize = horizontal ? targetNode.offsetWidth : targetNode.offsetHeight; 36519 var targetPosition = horizontal ? targetNode.offsetLeft : targetNode.offsetTop; 36520 targetPosition = relativeToParent ? targetPosition : 0; 36521 return mousePointer < targetPosition + targetSize / 2; 36522 }; 36523 36524 /** 36525 * Tries to find a child element that has the dndPlaceholder class set. If none was found, a 36526 * new li element is created. 36527 */ 36528 function getPlaceholderElement() { 36529 var placeholder, 36530 oldLi = this.el.parentNode.querySelectorAll('.dndPlaceholder'); 36531 if (oldLi.length > 0) { 36532 placeholder = oldLi[0]; 36533 return placeholder; 36534 } 36535 var newLi = document.createElement('li'); 36536 newLi.setAttribute('class', 'dndPlaceholder'); 36537 return newLi; 36538 }; 36539 36540 function getPlaceholderIndex() { 36541 return Array.prototype.indexOf.call(listNode.children, placeholderNode); 36542 }; 36543 36544 /** 36545 * Checks various conditions that must be fulfilled for a drop to be allowed 36546 */ 36547 function isDropAllowed(event) { 36548 // Disallow drop from external source unless it's allowed explicitly. 36549 if (!dndDragTypeWorkaround.isDragging && !externalSources) return false; 36550 36551 // Check mimetype. Usually we would use a custom drag type instead of Text, but IE doesn't 36552 // support that. 36553 if (!hasTextMimetype(event.dataTransfer.types)) return false; 36554 36555 // Now check the dnd-allowed-types against the type of the incoming element. For drops from 36556 // external sources we don't know the type, so it will need to be checked via dnd-drop. 36557 if (this.params.dndAllowedTypes && dndDragTypeWorkaround.isDragging) { 36558 var allowed = this.params.dndAllowedTypes; 36559 if (Array.isArray(allowed) && allowed.indexOf(dndDragTypeWorkaround.dragType) === -1) { 36560 return false; 36561 } 36562 } 36563 36564 // Check whether droping is disabled completely 36565 if (this.params.dndDisableIf) return false; 36566 36567 return true; 36568 } 36569 36570 /** 36571 * Small helper function that cleans up if we aborted a drop. 36572 */ 36573 function stopDragover() { 36574 placeholderNode.parentNode && placeholderNode.parentNode.removeChild(placeholderNode); 36575 this.el.className = this.el.className.replace("dndDragover", "").trim(); 36576 return true; 36577 } 36578 36579 /** 36580 * Invokes a callback with some interesting parameters and returns the callbacks return value. 36581 */ 36582 function invokeCallback(expression, event, index, item) { 36583 return this.params[expression] && this.vm[this.params[expression]]({ 36584 event: event, 36585 index: index, 36586 item: item || undefined, 36587 external: !dndDragTypeWorkaround.isDragging, 36588 type: dndDragTypeWorkaround.isDragging ? dndDragTypeWorkaround.dragType : undefined 36589 }); 36590 } 36591 36592 /** 36593 * Check if the dataTransfer object contains a drag type that we can handle. In old versions 36594 * of IE the types collection will not even be there, so we just assume a drop is possible. 36595 */ 36596 function hasTextMimetype(types) { 36597 if (!types) return true; 36598 for (var i = 0; i < types.length; i++) { 36599 if (types[i] === "Text" || types[i] === "text/plain") return true; 36600 } 36601 36602 return false; 36603 } 36604 36605 }, 36606 update: function (newValue, oldValue) {}, 36607 unbind: function () { 36608 this.el.removeEventListener('dragenter', this.handleDragenter, false); 36609 this.el.removeEventListener('dragover', this.handleDragover, false); 36610 this.el.removeEventListener('drop', this.handleDrop, false); 36611 this.el.removeEventListener('dragleave', this.handleDragleave, false); 36612 } 36613 }); 36614 36615 Vue.directive('dnd-nodrag', { 36616 bind: function () { 36617 36618 this.handleDragstart = function (event) { 36619 event = event.originalEvent || event; 36620 36621 if (!event._dndHandle) { 36622 // If a child element already reacted to dragstart and set a dataTransfer object, we will 36623 // allow that. For example, this is the case for user selections inside of input elements. 36624 if (!(event.dataTransfer.types && event.dataTransfer.types.length)) { 36625 event.preventDefault(); 36626 } 36627 event.stopPropagation(); 36628 } 36629 }.bind(this); 36630 36631 this.handleDragend = function (event) { 36632 event = event.originalEvent || event; 36633 if (!event._dndHandle) { 36634 event.stopPropagation(); 36635 } 36636 }.bind(this); 36637 36638 this.el.setAttribute('draggable', true); 36639 this.el.addEventListener('dragstart', this.handleDragstart, false); 36640 this.el.addEventListener('dragend', this.handleDragend, false); 36641 }, 36642 update: function (newValue, oldValue) {}, 36643 unbind: function () { 36644 this.el.removeEventListener('dragstart', this.handleDragstart, false); 36645 this.el.removeEventListener('dragend', this.handleDragend, false); 36646 } 36647 }); 36648 36649 Vue.directive('dnd-handle', { 36650 params: ['dnd-handle-left', 'dnd-handle-top'], 36651 bind: function () { 36652 36653 this.handle = function(event){ 36654 event = event.originalEvent || event; 36655 event._dndHandle = true; 36656 event._dndHandleLeft = this.params.dndHandleLeft || 0; 36657 event._dndHandleTop = this.params.dndHandleTop || 0; 36658 }.bind(this); 36659 36660 this.el.setAttribute('draggable', true); 36661 this.el.addEventListener('dragstart', this.handle, false); 36662 this.el.addEventListener('dragend', this.handle, false); 36663 }, 36664 update: function (newValue, oldValue) {}, 36665 unbind: function () { 36666 this.el.removeEventListener('dragstart', this.handle, false); 36667 this.el.removeEventListener('dragend', this.handle, false); 36668 } 36669 }); 36670 36671}; 36672 36673return DragAndDropList; 36674 36675}))); 36676 36677/***/ }), 36678
vendor: 43,384 bytes, lines 36679-36689
36679/***/ "./node_modules/vue-js-modal/dist/index.js": 36680/*!*************************************************!*\ 36681 !*** ./node_modules/vue-js-modal/dist/index.js ***! 36682 \*************************************************/ 36683/***/ ((module) => { 36684 36685!function(t,e){ true?module.exports=e():0}(window,function(){return i={},o.m=n=[function(t,e,n){var i=n(7);"string"==typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);(0,n(4).default)("d763679c",i,!1,{})},function(t,e,n){var i=n(10);"string"==typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);(0,n(4).default)("6b9cc0e0",i,!1,{})},function(t,e,n){var i=n(12);"string"==typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);(0,n(4).default)("663c004e",i,!1,{})},function(t,e){t.exports=function(n){var s=[];return s.toString=function(){return this.map(function(t){var e=function(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"==typeof btoa){var o=function(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}(i),r=i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"});return[n].concat(r).concat([o]).join("\n")}return[n].join("\n")}(t,n);return t[2]?"@media "+t[2]+"{"+e+"}":e}).join("")},s.i=function(t,e){"string"==typeof t&&(t=[[null,t,""]]);for(var n={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(n[o]=!0)}for(i=0;i<t.length;i++){var r=t[i];"number"==typeof r[0]&&n[r[0]]||(e&&!r[2]?r[2]=e:e&&(r[2]="("+r[2]+") and ("+e+")"),s.push(r))}},s}},function(t,e,n){"use strict";function l(t,e){for(var n=[],i={},o=0;o<e.length;o++){var r=e[o],s=r[0],a={id:t+":"+o,css:r[1],media:r[2],sourceMap:r[3]};i[s]?i[s].parts.push(a):n.push(i[s]={id:s,parts:[a]})}return n}n.r(e),n.d(e,"default",function(){return v});var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var u={},o=i&&(document.head||document.getElementsByTagName("head")[0]),r=null,s=0,c=!1,a=function(){},d=null,h="data-vue-ssr-id",f="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function v(s,t,e,n){c=e,d=n||{};var a=l(s,t);return p(a),function(t){for(var e=[],n=0;n<a.length;n++){var i=a[n];(o=u[i.id]).refs--,e.push(o)}t?p(a=l(s,t)):a=[];for(n=0;n<e.length;n++){var o;if(0===(o=e[n]).refs){for(var r=0;r<o.parts.length;r++)o.parts[r]();delete u[o.id]}}}}function p(t){for(var e=0;e<t.length;e++){var n=t[e],i=u[n.id];if(i){i.refs++;for(var o=0;o<i.parts.length;o++)i.parts[o](n.parts[o]);for(;o<n.parts.length;o++)i.parts.push(b(n.parts[o]));i.parts.length>n.parts.length&&(i.parts.length=n.parts.length)}else{var r=[];for(o=0;o<n.parts.length;o++)r.push(b(n.parts[o]));u[n.id]={id:n.id,refs:1,parts:r}}}}function m(){var t=document.createElement("style");return t.type="text/css",o.appendChild(t),t}function b(e){var n,i,t=document.querySelector("style["+h+'~="'+e.id+'"]');if(t){if(c)return a;t.parentNode.removeChild(t)}if(f){var o=s++;t=r=r||m(),n=w.bind(null,t,o,!1),i=w.bind(null,t,o,!0)}else t=m(),n=function(t,e){var n=e.css,i=e.media,o=e.sourceMap;i&&t.setAttribute("media",i);d.ssrId&&t.setAttribute(h,e.id);o&&(n+="\n/*# sourceURL="+o.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,t),i=function(){t.parentNode.removeChild(t)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else i()}}var g,y=(g=[],function(t,e){return g[t]=e,g.filter(Boolean).join("\n")});function w(t,e,n,i){var o=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=y(e,o);else{var r=document.createTextNode(o),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(r,s[e]):t.appendChild(r)}}},function(t,z,e){"use strict";(function(t){var i=function(){if("undefined"!=typeof Map)return Map;function i(t,n){var i=-1;return t.some(function(t,e){return t[0]===n&&(i=e,!0)}),i}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var e=i(this.__entries__,t),n=this.__entries__[e];return n&&n[1]},t.prototype.set=function(t,e){var n=i(this.__entries__,t);~n?this.__entries__[n][1]=e:this.__entries__.push([t,e])},t.prototype.delete=function(t){var e=this.__entries__,n=i(e,t);~n&&e.splice(n,1)},t.prototype.has=function(t){return!!~i(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var n=0,i=this.__entries__;n<i.length;n++){var o=i[n];t.call(e,o[1],o[0])}},t;function t(){this.__entries__=[]}}(),n="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,e=void 0!==t&&t.Math===Math?t:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),l="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(e):function(t){return setTimeout(function(){return t(Date.now())},1e3/60)},u=2;var o=["top","right","bottom","left","width","height","size","weight"],r="undefined"!=typeof MutationObserver,s=(a.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},a.prototype.removeObserver=function(t){var e=this.observers_,n=e.indexOf(t);~n&&e.splice(n,1),!e.length&&this.connected_&&this.disconnect_()},a.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},a.prototype.updateObservers_=function(){var t=this.observers_.filter(function(t){return t.gatherActive(),t.hasActive()});return t.forEach(function(t){return t.broadcastActive()}),0<t.length},a.prototype.connect_=function(){n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),r?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},a.prototype.disconnect_=function(){n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},a.prototype.onTransitionEnd_=function(t){var e=t.propertyName,n=void 0===e?"":e;o.some(function(t){return!!~n.indexOf(t)})&&this.refresh()},a.getInstance=function(){return this.instance_||(this.instance_=new a),this.instance_},a.instance_=null,a);function a(){function t(){r&&(r=!1,i()),s&&n()}function e(){l(t)}function n(){var t=Date.now();if(r){if(t-a<u)return;s=!0}else s=!(r=!0),setTimeout(e,o);a=t}var i,o,r,s,a;this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=(i=this.refresh.bind(this),s=r=!(o=20),a=0,n)}var c=function(t,e){for(var n=0,i=Object.keys(e);n<i.length;n++){var o=i[n];Object.defineProperty(t,o,{value:e[o],enumerable:!1,writable:!1,configurable:!0})}return t},h=function(t){return t&&t.ownerDocument&&t.ownerDocument.defaultView||e},f=g(0,0,0,0);function v(t){return parseFloat(t)||0}function p(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return t.reduce(function(t,e){return t+v(n["border-"+e+"-width"])},0)}function d(t){var e=t.clientWidth,n=t.clientHeight;if(!e&&!n)return f;var i,o=h(t).getComputedStyle(t),r=function(t){for(var e={},n=0,i=["top","right","bottom","left"];n<i.length;n++){var o=i[n],r=t["padding-"+o];e[o]=v(r)}return e}(o),s=r.left+r.right,a=r.top+r.bottom,l=v(o.width),u=v(o.height);if("border-box"===o.boxSizing&&(Math.round(l+s)!==e&&(l-=p(o,"left","right")+s),Math.round(u+a)!==n&&(u-=p(o,"top","bottom")+a)),(i=t)!==h(i).document.documentElement){var c=Math.round(l+s)-e,d=Math.round(u+a)-n;1!==Math.abs(c)&&(l-=c),1!==Math.abs(d)&&(u-=d)}return g(r.left,r.top,l,u)}var m="undefined"!=typeof SVGGraphicsElement?function(t){return t instanceof h(t).SVGGraphicsElement}:function(t){return t instanceof h(t).SVGElement&&"function"==typeof t.getBBox};function b(t){return n?m(t)?g(0,0,(e=t.getBBox()).width,e.height):d(t):f;var e}function g(t,e,n,i){return{x:t,y:e,width:n,height:i}}var y=(w.prototype.isActive=function(){var t=b(this.target);return(this.contentRect_=t).width!==this.broadcastWidth||t.height!==this.broadcastHeight},w.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t},w);function w(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=g(0,0,0,0),this.target=t}var _=function(t,e){var n,i,o,r,s,a,l,u=(i=(n=e).x,o=n.y,r=n.width,s=n.height,a="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,l=Object.create(a.prototype),c(l,{x:i,y:o,width:r,height:s,top:o,right:i+r,bottom:s+o,left:i}),l);c(this,{target:t,contentRect:u})},E=(x.prototype.observe=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof h(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)||(e.set(t,new y(t)),this.controller_.addObserver(this),this.controller_.refresh())}},x.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(t instanceof h(t).Element))throw new TypeError('parameter 1 is not of type "Element".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},x.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},x.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach(function(t){t.isActive()&&e.activeObservations_.push(t)})},x.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map(function(t){return new _(t.target,t.broadcastRect())});this.callback_.call(t,e,t),this.clearActive()}},x.prototype.clearActive=function(){this.activeObservations_.splice(0)},x.prototype.hasActive=function(){return 0<this.activeObservations_.length},x);function x(t,e,n){if(this.activeObservations_=[],this.observations_=new i,"function"!=typeof t)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=t,this.controller_=e,this.callbackCtx_=n}var T=new("undefined"!=typeof WeakMap?WeakMap:i),O=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=s.getInstance(),i=new E(e,n,this);T.set(this,i)};["observe","unobserve","disconnect"].forEach(function(e){O.prototype[e]=function(){var t;return(t=T.get(this))[e].apply(t,arguments)}});var S=void 0!==e.ResizeObserver?e.ResizeObserver:O;z.a=S}).call(this,e(8))},function(t,e,n){"use strict";var i=n(0);n.n(i).a},function(t,e,n){(t.exports=n(3)(!1)).push([t.i,"\n.vue-modal-top,\n.vue-modal-bottom,\n.vue-modal-left,\n.vue-modal-right,\n.vue-modal-topRight,\n.vue-modal-topLeft,\n.vue-modal-bottomLeft,\n.vue-modal-bottomRight {\n display: block;\n overflow: hidden;\n position: absolute;\n background: transparent;\n z-index: 9999999;\n}\n.vue-modal-topRight,\n.vue-modal-topLeft,\n.vue-modal-bottomLeft,\n.vue-modal-bottomRight {\n width: 12px;\n height: 12px;\n}\n.vue-modal-top {\n right: 12;\n top: 0;\n width: 100%;\n height: 12px;\n cursor: n-resize;\n}\n.vue-modal-bottom {\n left: 0;\n bottom: 0;\n width: 100%;\n height: 12px;\n cursor: s-resize;\n}\n.vue-modal-left {\n left: 0;\n top: 0;\n width: 12px;\n height: 100%;\n cursor: w-resize;\n}\n.vue-modal-right {\n right: 0;\n top: 0;\n width: 12px;\n height: 100%;\n cursor: e-resize;\n}\n.vue-modal-topRight {\n right: 0;\n top: 0;\n background: transparent;\n cursor: ne-resize;\n}\n.vue-modal-topLeft {\n left: 0;\n top: 0;\n cursor: nw-resize;\n}\n.vue-modal-bottomLeft {\n left: 0;\n bottom: 0;\n cursor: sw-resize;\n}\n.vue-modal-bottomRight {\n right: 0;\n bottom: 0;\n cursor: se-resize;\n}\n#vue-modal-triangle::after {\n display: block;\n position: absolute;\n content: '';\n background: transparent;\n left: 0;\n top: 0;\n width: 0;\n height: 0;\n border-bottom: 10px solid #ddd;\n border-left: 10px solid transparent;\n}\n#vue-modal-triangle.clicked::after {\n border-bottom: 10px solid #369be9;\n}\n",""])},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";var i=n(1);n.n(i).a},function(t,e,n){(t.exports=n(3)(!1)).push([t.i,"\n.vm--block-scroll {\n overflow: hidden;\n width: 100vw;\n}\n.vm--container {\n position: fixed;\n box-sizing: border-box;\n left: 0;\n top: 0;\n width: 100%;\n height: 100vh;\n z-index: 999;\n}\n.vm--overlay {\n position: fixed;\n box-sizing: border-box;\n left: 0;\n top: 0;\n width: 100%;\n height: 100vh;\n background: rgba(0, 0, 0, 0.2);\n /* z-index: 999; */\n opacity: 1;\n}\n.vm--container.scrollable {\n height: 100%;\n min-height: 100vh;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n}\n.vm--modal {\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n\n background-color: white;\n border-radius: 3px;\n box-shadow: 0 20px 60px -2px rgba(27, 33, 58, 0.4);\n}\n.vm--container.scrollable .vm--modal {\n margin-bottom: 2px;\n}\n.vm--top-right-slot {\n display: block;\n position: absolute;\n right: 0;\n top: 0;\n}\n.vm-transition--overlay-enter-active,\n.vm-transition--overlay-leave-active {\n transition: all 50ms;\n}\n.vm-transition--overlay-enter,\n.vm-transition--overlay-leave-active {\n opacity: 0;\n}\n.vm-transition--modal-enter-active,\n.vm-transition--modal-leave-active {\n transition: all 400ms;\n}\n.vm-transition--modal-enter,\n.vm-transition--modal-leave-active {\n opacity: 0;\n transform: translateY(-20px);\n}\n.vm-transition--default-enter-active,\n.vm-transition--default-leave-active {\n transition: all 2ms;\n}\n.vm-transition--default-enter,\n.vm-transition--default-leave-active {\n opacity: 0;\n}\n",""])},function(t,e,n){"use strict";var i=n(2);n.n(i).a},function(t,e,n){(t.exports=n(3)(!1)).push([t.i,"\n.vue-dialog {\n font-size: 14px;\n}\n.vue-dialog div {\n box-sizing: border-box;\n}\n.vue-dialog-content {\n flex: 1 0 auto;\n width: 100%;\n padding: 14px;\n}\n.vue-dialog-content-title {\n font-weight: 600;\n padding-bottom: 14px;\n}\n.vue-dialog-buttons {\n display: flex;\n flex: 0 1 auto;\n width: 100%;\n border-top: 1px solid #eee;\n}\n.vue-dialog-buttons-none {\n width: 100%;\n padding-bottom: 14px;\n}\n.vue-dialog-button {\n font-size: inherit;\n background: transparent;\n padding: 0;\n margin: 0;\n border: 0;\n cursor: pointer;\n box-sizing: border-box;\n line-height: 40px;\n height: 40px;\n color: inherit;\n font: inherit;\n outline: none;\n}\n.vue-dialog-button:hover {\n background: #f9f9f9;\n}\n.vue-dialog-button:active {\n background: #f3f3f3;\n}\n.vue-dialog-button:not(:first-of-type) {\n border-left: 1px solid #eee;\n}\n",""])},function(t,e,n){"use strict";n.r(e),n.d(e,"Modal",function(){return W}),n.d(e,"Dialog",function(){return X}),n.d(e,"version",function(){return J});function i(){var e=this,t=e.$createElement,n=e._self._c||t;return e.visible?n("div",{class:e.containerClass},[n("transition",{attrs:{name:e.guaranteedOverlayTransition},on:{"before-enter":e.beforeOverlayTransitionEnter,"after-enter":e.afterOverlayTransitionEnter,"before-leave":e.beforeOverlayTransitionLeave,"after-leave":e.afterOverlayTransitionLeave}},[e.visibility.overlay?n("div",{staticClass:"vm--overlay",attrs:{"data-modal":e.name,"aria-expanded":e.visibility.overlay.toString()},on:{click:function(t){return t.target!==t.currentTarget?null:(t.stopPropagation(),e.onOverlayClick(t))}}},[n("div",{staticClass:"vm--top-right-slot"},[e._t("top-right")],2)]):e._e()]),e._v(" "),n("transition",{attrs:{name:e.guaranteedModalTransition},on:{"before-enter":e.beforeModalTransitionEnter,"after-enter":e.afterModalTransitionEnter,"before-leave":e.beforeModalTransitionLeave,"after-leave":e.afterModalTransitionLeave}},[e.visibility.modal?n("div",{ref:"modal",class:e.modalClass,style:e.modalStyle,attrs:{"aria-expanded":e.visibility.modal.toString(),role:"dialog","aria-modal":"true"}},[e._t("default"),e._v(" "),e.resizable&&!e.isAutoHeight?n("resizer",{attrs:{"min-width":e.minWidth,"min-height":e.minHeight,"max-width":e.maxWidth,"max-height":e.maxHeight,"viewport-height":e.viewportHeight,"viewport-width":e.viewportWidth,"resize-indicator":e.resizeIndicator,"resize-edges":e.resizeEdges},on:{resize:e.onModalResize}}):e._e()],2):e._e()])],1):e._e()}function o(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[this.resizeEdges.includes("t")?n("div",{staticClass:"vue-modal-top"}):t._e(),t._v(" "),this.resizeEdges.includes("b")?n("div",{staticClass:"vue-modal-bottom"}):t._e(),t._v(" "),this.resizeEdges.includes("l")?n("div",{staticClass:"vue-modal-left"}):t._e(),t._v(" "),this.resizeEdges.includes("r")?n("div",{staticClass:"vue-modal-right"}):t._e(),t._v(" "),this.resizeEdges.includes("tr")?n("div",{staticClass:"vue-modal-topRight"}):t._e(),t._v(" "),this.resizeEdges.includes("tl")?n("div",{staticClass:"vue-modal-topLeft"}):t._e(),t._v(" "),this.resizeEdges.includes("br")?n("div",{class:t.className,attrs:{id:t.getID}}):t._e(),t._v(" "),this.resizeEdges.includes("bl")?n("div",{staticClass:"vue-modal-bottomLeft"}):t._e()])}o._withStripped=i._withStripped=!0;function h(t,e,n){return n<t?t:e<n?e:n}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function s(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{i||null==a.return||a.return()}finally{if(o)throw r}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(){var t=window.innerWidth,e=document.documentElement.clientWidth;return t&&e?Math.min(t,e):e||t}function a(t){return t.split(";").map(function(t){return t.trim()}).filter(Boolean).map(function(t){return t.split(":")}).reduce(function(t,e){var n=s(e,2);return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){r(e,t,n[t])})}return e}({},t,r({},n[0],n[1]))},{})}function f(t){return t.touches&&0<t.touches.length?t.touches[0]:t}var v=["INPUT","TEXTAREA","SELECT"],c=function(t){var e=0<arguments.length&&void 0!==t?t:0;return function(){return(e++).toString()}}(),l={name:"VueJsModalResizer",props:{minHeight:{type:Number,default:0},minWidth:{type:Number,default:0},maxWidth:{type:Number,default:Number.MAX_SAFE_INTEGER},maxHeight:{type:Number,default:Number.MAX_SAFE_INTEGER},viewportWidth:{type:Number,required:!0},viewportHeight:{type:Number,required:!0},resizeIndicator:{type:Boolean,default:!0},resizeEdges:{type:Array,required:!0}},data:function(){return{clicked:!1,targetClass:"",size:{},initialX:0,initialY:0}},mounted:function(){this.$el.addEventListener("mousedown",this.start,!1)},computed:{className:function(){return["vue-modal-bottomRight",{clicked:this.clicked}]},getID:function(){return this.resizeIndicator?"vue-modal-triangle":""}},methods:{start:function(t){this.targetClass=t.target.className,this.clicked=!0,this.initialX=t.clientX,this.initialY=t.clientY,window.addEventListener("mousemove",this.mousemove,!1),window.addEventListener("mouseup",this.stop,!1),t.stopPropagation(),t.preventDefault()},stop:function(){this.clicked=!1,this.clicked=!1,this.targetClass="",this.initialX=0,this.initialY=0,window.removeEventListener("mousemove",this.mousemove,!1),window.removeEventListener("mouseup",this.stop,!1),this.$emit("resize-stop",{element:this.$el.parentElement,size:this.size})},mousemove:function(t){this.resize(t)},resize:function(t){var e=this.$el.parentElement,n=t.clientX,i=t.clientY,o=parseInt(e.style.width.replace("px","")),r=parseInt(e.style.height.replace("px",""));if(!(t.clientX>this.viewportWidth||t.clientX<0)&&!(t.clientY>this.viewportHeight||t.clientY<0)&&e){switch(this.targetClass){case"vue-modal-right":n-=e.offsetLeft,i=r;break;case"vue-modal-left":i=r,n=o+(this.initialX-t.clientX);break;case"vue-modal-top":n=o,i=r+(this.initialY-t.clientY);break;case"vue-modal-bottom":n=o,i-=e.offsetTop;break;case"vue-modal-bottomRight":n-=e.offsetLeft,i-=e.offsetTop;break;case"vue-modal-topRight":n-=e.offsetLeft,i=r+(this.initialY-t.clientY);break;case"vue-modal-bottomLeft":n=o+(this.initialX-t.clientX),i-=e.offsetTop;break;case"vue-modal-topLeft":n=o+(this.initialX-t.clientX),i=r+(this.initialY-t.clientY);break;default:console.error("Incorrrect/no resize direction.")}var s=Math.min(u(),this.maxWidth),a=Math.min(window.innerHeight,this.maxHeight);n=h(this.minWidth,s,n),i=h(this.minHeight,a,i),this.initialX=t.clientX,this.initialY=t.clientY,this.size={width:n,height:i};var l={width:n-o,height:i-r};e.style.width=n+"px",e.style.height=i+"px",this.$emit("resize",{element:e,size:this.size,direction:this.targetClass,dimGrowth:l})}}}};n(6);function d(t,e,n,i,o,r,s,a){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),i&&(u.functional=!0),r&&(u._scopeId="data-v-"+r),s?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},u._ssrRegister=l):o&&(l=a?function(){o.call(this,this.$root.$options.shadowRoot)}:o),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:u}}var p=d(l,o,[],!1,null,null,null);p.options.__file="src/components/Resizer.vue";var m=p.exports;function b(t){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function g(t){switch(b(t)){case"number":return{type:"px",value:t};case"string":return function(e){if("auto"===e)return{type:e,value:0};var t=_.find(function(t){return t.regexp.test(e)});return t?{type:t.name,value:parseFloat(e)}:{type:"",value:e}}(t);default:return{type:"",value:t}}}function y(t){if("string"!=typeof t)return 0<=t;var e=g(t);return("%"===e.type||"px"===e.type)&&0<e.value}var w="[-+]?[0-9]*.?[0-9]+",_=[{name:"px",regexp:new RegExp("^".concat(w,"px$"))},{name:"%",regexp:new RegExp("^".concat(w,"%$"))},{name:"px",regexp:new RegExp("^".concat(w,"$"))}],E=n(5),x="undefined"!=typeof window&&window.ResizeObserver?ResizeObserver:E.a;function T(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function O(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function S(t){return e='button:not([disabled]), select:not([disabled]), a[href]:not([disabled]), area[href]:not([disabled]), [contentEditable=""]:not([disabled]), [contentEditable="true"]:not([disabled]), [contentEditable="TRUE"]:not([disabled]), textarea:not([disabled]), iframe:not([disabled]), input:not([disabled]), summary:not([disabled]), [tabindex]:not([tabindex="-1"])',O(t.querySelectorAll(e)||[]);var e}function z(t){return t==document.activeElement}var M=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.root=null,this.elements=[],this.onKeyDown=this.onKeyDown.bind(this),this.enable=this.enable.bind(this),this.disable=this.disable.bind(this),this.firstElement=this.firstElement.bind(this),this.lastElement=this.lastElement.bind(this)}var e,n,i;return e=t,(n=[{key:"lastElement",value:function(){return this.elements[this.elements.length-1]||null}},{key:"firstElement",value:function(){return this.elements[0]||null}},{key:"onKeyDown",value:function(t){var e;if("Tab"===(e=t).key||9===e.keyCode)return t.shiftKey&&z(this.firstElement())?(this.lastElement().focus(),void t.preventDefault()):!document.activeElement||z(this.lastElement())?(this.firstElement().focus(),void t.preventDefault()):void 0}},{key:"enabled",value:function(){return!!this.root}},{key:"enable",value:function(t){if(t){this.root=t,this.elements=S(this.root);var e=this.firstElement();e&&e.focus(),this.root.addEventListener("keydown",this.onKeyDown)}}},{key:"disable",value:function(){this.root.removeEventListener("keydown",this.onKeyDown),this.root=null}}])&&T(e.prototype,n),i&&T(e,i),t}();function L(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function k(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],i=!0,o=!1,r=void 0;try{for(var s,a=t[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!e||n.length!==e);i=!0);}catch(t){o=!0,r=t}finally{try{i||null==a.return||a.return()}finally{if(o)throw r}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var R="vm-transition--default",C="enter",$="entering",A="leave",j="leavng",H={name:"VueJsModal",props:{name:{required:!0,type:String},resizable:{type:Boolean,default:!1},resizeEdges:{default:function(){return["r","br","b","bl","l","tl","t","tr"]},validator:function(e){return["r","br","b","bl","l","tl","t","tr"].filter(function(t){return-1!==e.indexOf(t)}).length===e.length},type:Array},centerResize:{type:Boolean,default:!0},resizeIndicator:{type:Boolean,default:!0},adaptive:{type:Boolean,default:!1},draggable:{type:[Boolean,String],default:!1},scrollable:{type:Boolean,default:!1},focusTrap:{type:Boolean,default:!1},reset:{type:Boolean,default:!1},overlayTransition:{type:String,default:"vm-transition--overlay"},transition:{type:String,default:"vm-transition--modal"},clickToClose:{type:Boolean,default:!0},classes:{type:[String,Array],default:function(){return[]}},styles:{type:[String,Array,Object]},minWidth:{type:Number,default:0,validator:function(t){return 0<=t}},minHeight:{type:Number,default:0,validator:function(t){return 0<=t}},maxWidth:{type:Number,default:Number.MAX_SAFE_INTEGER},maxHeight:{type:Number,default:Number.MAX_SAFE_INTEGER},width:{type:[Number,String],default:600,validator:function(t){return"auto"===t||y(t)}},height:{type:[Number,String],default:300,validator:function(t){return"auto"===t||y(t)}},shiftX:{type:Number,default:.5,validator:function(t){return 0<=t&&t<=1}},shiftY:{type:Number,default:.5,validator:function(t){return 0<=t&&t<=1}}},components:{Resizer:m},data:function(){return{visible:!1,visibility:{modal:!1,overlay:!1},overlayTransitionState:null,modalTransitionState:null,shiftLeft:0,shiftTop:0,modal:{width:0,widthType:"px",height:0,heightType:"px",renderedHeight:0},viewportHeight:0,viewportWidth:0}},created:function(){this.setInitialSize()},beforeMount:function(){this.$modal.subscription.$on("toggle",this.onToggle),window.addEventListener("resize",this.onWindowResize),window.addEventListener("orientationchange",this.onWindowResize),this.onWindowResize(),this.scrollable&&!this.isAutoHeight&&console.warn('Modal "'.concat(this.name,'" has scrollable flag set to true ')+'but height is not "auto" ('.concat(this.height,")")),this.clickToClose&&window.addEventListener("keyup",this.onEscapeKeyUp)},mounted:function(){var n=this;this.resizeObserver=new x(function(t){if(0<t.length){var e=k(t,1)[0];n.modal.renderedHeight=e.contentRect.height}}),this.$focusTrap=new M},beforeDestroy:function(){this.$modal.subscription.$off("toggle",this.onToggle),window.removeEventListener("resize",this.onWindowResize),window.removeEventListener("orientationchange",this.onWindowResize),this.clickToClose&&window.removeEventListener("keyup",this.onEscapeKeyUp),document.body.classList.remove("vm--block-scroll")},computed:{guaranteedOverlayTransition:function(){return this.overlayTransition||R},guaranteedModalTransition:function(){return this.transition||R},isAutoHeight:function(){return"auto"===this.modal.heightType},position:function(){var t=this.viewportHeight,e=this.viewportWidth,n=this.shiftLeft,i=this.shiftTop,o=this.shiftX,r=this.shiftY,s=this.trueModalWidth,a=this.trueModalHeight,l=e-s,u=Math.max(t-a,0),c=i+r*u;return{left:parseInt(h(0,l,n+o*l)),top:!a&&this.isAutoHeight?void 0:parseInt(h(0,u,c))}},trueModalWidth:function(){var t=this.viewportWidth,e=this.modal,n=this.adaptive,i=this.minWidth,o=this.maxWidth,r="%"===e.widthType?t/100*e.width:e.width;if(n){var s=Math.max(i,Math.min(t,o));return h(i,s,r)}return r},trueModalHeight:function(){var t=this.viewportHeight,e=this.modal,n=this.isAutoHeight,i=this.adaptive,o=this.minHeight,r=this.maxHeight,s="%"===e.heightType?t/100*e.height:e.height;if(n)return this.modal.renderedHeight;if(i){var a=Math.max(o,Math.min(t,r));return h(o,a,s)}return s},autoHeight:function(){return this.adaptive&&this.modal.renderedHeight>=this.viewportHeight?Math.max(this.minHeight,this.viewportHeight)+"px":"auto"},containerClass:function(){return["vm--container",this.scrollable&&this.isAutoHeight&&"scrollable"]},modalClass:function(){return["vm--modal",this.classes]},stylesProp:function(){return"string"==typeof this.styles?a(this.styles):this.styles},modalStyle:function(){return[this.stylesProp,{top:this.position.top+"px",left:this.position.left+"px",width:this.trueModalWidth+"px",height:this.isAutoHeight?this.autoHeight:this.trueModalHeight+"px"}]},isComponentReadyToBeDestroyed:function(){return this.overlayTransitionState===A&&this.modalTransitionState===A}},watch:{isComponentReadyToBeDestroyed:function(t){t&&(this.visible=!1)}},methods:{startTransitionEnter:function(){this.visibility.overlay=!0,this.visibility.modal=!0},startTransitionLeave:function(){this.visibility.overlay=!1,this.visibility.modal=!1},beforeOverlayTransitionEnter:function(){this.overlayTransitionState=$},afterOverlayTransitionEnter:function(){this.overlayTransitionState=C},beforeOverlayTransitionLeave:function(){this.overlayTransitionState=j},afterOverlayTransitionLeave:function(){this.overlayTransitionState=A},beforeModalTransitionEnter:function(){var t=this;this.modalTransitionState=$,this.$nextTick(function(){t.resizeObserver.observe(t.$refs.modal)})},afterModalTransitionEnter:function(){this.modalTransitionState=C,this.draggable&&this.addDraggableListeners(),this.focusTrap&&this.$focusTrap.enable(this.$refs.modal);var t=this.createModalEvent({state:"opened"});this.$emit("opened",t)},beforeModalTransitionLeave:function(){this.modalTransitionState=j,this.resizeObserver.unobserve(this.$refs.modal),this.$focusTrap.enabled()&&this.$focusTrap.disable()},afterModalTransitionLeave:function(){this.modalTransitionState=A;var t=this.createModalEvent({state:"closed"});this.$emit("closed",t)},onToggle:function(t,e,n){if(this.name===t){var i=void 0===e?!this.visible:e;this.toggle(i,n)}},setInitialSize:function(){var t=g(this.width),e=g(this.height);this.modal.width=t.value,this.modal.widthType=t.type,this.modal.height=e.value,this.modal.heightType=e.type},onEscapeKeyUp:function(t){27===t.which&&this.visible&&this.$modal.hide(this.name)},onWindowResize:function(){this.viewportWidth=u(),this.viewportHeight=window.innerHeight,this.ensureShiftInWindowBounds()},createModalEvent:function(t){var e=0<arguments.length&&void 0!==t?t:{};return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){L(e,t,n[t])})}return e}({name:this.name,ref:this.$refs.modal||null},e)},onModalResize:function(t){this.modal.widthType="px",this.modal.width=t.size.width,this.modal.heightType="px",this.modal.height=t.size.height,this.centerResize||(this.shiftLeft=this.getResizedShiftLeft(t),this.shiftTop=this.getResizedShiftTop(t));var e=this.modal.size;this.$emit("resize",this.createModalEvent({size:e}))},getResizedShiftLeft:function(t){this.viewportHeight,this.viewportWidth,this.trueModalWidth,this.trueModalHeight;var e=this.shiftLeft;switch(t.direction){case"vue-modal-topRight":case"vue-modal-bottomRight":case"vue-modal-right":e+=.5*t.dimGrowth.width;break;case"vue-modal-bottomLeft":case"vue-modal-topLeft":case"vue-modal-left":e-=.5*t.dimGrowth.width;break;case"vue-modal-top":case"vue-modal-bottom":break;default:console.error("Could not Find Resize Direction In ShiftLeft")}return e},getResizedShiftTop:function(t){this.viewportHeight,this.viewportWidth,this.trueModalWidth,this.trueModalHeight;var e=this.shiftTop;switch(t.direction){case"vue-modal-bottom":case"vue-modal-bottomRight":case"vue-modal-bottomLeft":e+=.5*t.dimGrowth.height;break;case"vue-modal-top":case"vue-modal-topRight":case"vue-modal-topLeft":e-=.5*t.dimGrowth.height;break;case"vue-modal-left":case"vue-modal-right":break;default:console.error("Could not Find Resize Direction In ShiftTop")}return e},open:function(t){var e=this;this.reset&&(this.setInitialSize(),this.shiftLeft=0,this.shiftTop=0),this.scrollable&&document.body.classList.add("vm--block-scroll");var n=!1,i=this.createModalEvent({cancel:function(){n=!0},state:"before-open",params:t});this.$emit("before-open",i),n?this.scrollable&&document.body.classList.remove("vm--block-scroll"):("undefined"!=typeof document&&document.activeElement&&"BODY"!==document.activeElement.tagName&&document.activeElement.blur&&document.activeElement.blur(),this.visible=!0,this.$nextTick(function(){e.startTransitionEnter()}))},close:function(t){this.scrollable&&document.body.classList.remove("vm--block-scroll");var e=!1,n=this.createModalEvent({cancel:function(){e=!0},state:"before-close",params:t});this.$emit("before-close",n),e||this.startTransitionLeave()},toggle:function(t,e){this.visible!==t&&(t?this.open(e):this.close(e))},getDraggableElement:function(){return!0===this.draggable?this.$refs.modal:"string"==typeof this.draggable?this.$refs.modal.querySelector(this.draggable):null},onOverlayClick:function(){this.clickToClose&&this.toggle(!1)},addDraggableListeners:function(){var s=this,t=this.getDraggableElement();if(t){var a=0,l=0,u=0,c=0,e=function(t){var e=t.target;if(!(n=e)||-1===v.indexOf(n.nodeName)){var n,i=f(t),o=i.clientX,r=i.clientY;document.addEventListener("mousemove",d),document.addEventListener("touchmove",d),document.addEventListener("mouseup",h),document.addEventListener("touchend",h),a=o,l=r,u=s.shiftLeft,c=s.shiftTop}},d=function(t){var e=f(t),n=e.clientX,i=e.clientY;s.shiftLeft=u+n-a,s.shiftTop=c+i-l,t.preventDefault()},h=function t(e){s.ensureShiftInWindowBounds(),document.removeEventListener("mousemove",d),document.removeEventListener("touchmove",d),document.removeEventListener("mouseup",t),document.removeEventListener("touchend",t),e.preventDefault()};t.addEventListener("mousedown",e),t.addEventListener("touchstart",e)}},ensureShiftInWindowBounds:function(){var t=this.viewportHeight,e=this.viewportWidth,n=this.shiftLeft,i=this.shiftTop,o=this.shiftX,r=this.shiftY,s=this.trueModalWidth,a=this.trueModalHeight,l=e-s,u=Math.max(t-a,0),c=n+o*l,d=i+r*u;this.shiftLeft-=c-h(0,l,c),this.shiftTop-=d-h(0,u,d)}}},N=(n(9),d(H,i,[],!1,null,null,null));N.options.__file="src/components/Modal.vue";function D(){var n=this,t=n.$createElement,i=n._self._c||t;return i(n.$modal.context.componentName,{tag:"component",attrs:{name:"dialog",height:"auto",classes:["vue-dialog",this.params.class],width:n.width,"shift-y":.3,adaptive:!0,"focus-trap":!0,clickToClose:n.clickToClose,transition:n.transition},on:{"before-open":n.beforeOpened,"before-close":n.beforeClosed,opened:function(t){return n.$emit("opened",t)},closed:function(t){return n.$emit("closed",t)}}},[i("div",{staticClass:"vue-dialog-content"},[n.params.title?i("div",{staticClass:"vue-dialog-content-title",domProps:{innerHTML:n._s(n.params.title||"")}}):n._e(),n._v(" "),n.params.component?i(n.params.component,n._b({tag:"component"},"component",n.params.props,!1)):i("div",{domProps:{innerHTML:n._s(n.params.text||"")}})],1),n._v(" "),n.buttons?i("div",{staticClass:"vue-dialog-buttons"},n._l(n.buttons,function(t,e){return i("button",{key:e,class:t.class||"vue-dialog-button",style:n.buttonStyle,attrs:{type:"button",tabindex:"0"},domProps:{innerHTML:n._s(t.title)},on:{click:function(t){return t.stopPropagation(),n.click(e,t)}}},[n._v(n._s(t.title))])}),0):i("div",{staticClass:"vue-dialog-buttons-none"})])}var W=N.exports;D._withStripped=!0;var I={name:"VueJsDialog",props:{width:{type:[Number,String],default:400},clickToClose:{type:Boolean,default:!0},transition:{type:String}},data:function(){return{params:{}}},computed:{buttons:function(){return this.params.buttons||[]},buttonStyle:function(){return{flex:"1 1 ".concat(100/this.buttons.length,"%")}}},methods:{beforeOpened:function(t){this.params=t.params||{},this.$emit("before-opened",t)},beforeClosed:function(t){this.params={},this.$emit("before-closed",t)},click:function(t,e,n){var i=2<arguments.length&&void 0!==n?n:"click",o=this.buttons[t],r=null==o?void 0:o.handler;"function"==typeof r&&r(t,e,{source:i})}}},P=(n(11),d(I,D,[],!1,null,null,null));P.options.__file="src/components/Dialog.vue";function B(){var n=this,t=n.$createElement,i=n._self._c||t;return i("div",{attrs:{id:"modals-container"}},n._l(n.modals,function(e){return i("modal",n._g(n._b({key:e.id,on:{closed:function(t){return n.remove(e.id)}}},"modal",e.modalAttrs,!1),e.modalListeners),[i(e.component,n._g(n._b({tag:"component",on:{close:function(t){return n.$modal.hide(e.modalAttrs.name,t)}}},"component",e.componentAttrs,!1),n.$listeners))],1)}),1)}var X=P.exports;function Y(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}B._withStripped=!0;var G=d({data:function(){return{modals:[]}},created:function(){this.$root.__modalContainer=this},mounted:function(){var t=this;this.$modal.subscription.$on("hide-all",function(){t.modals=[]})},methods:{add:function(t,e,n,i){var o=this,r=1<arguments.length&&void 0!==e?e:{},s=2<arguments.length&&void 0!==n?n:{},a=3<arguments.length&&void 0!==i?i:{},l=c(),u=s.name||"dynamic_modal_"+l;this.modals.push({id:l,modalAttrs:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){Y(e,t,n[t])})}return e}({},s,{name:u}),modalListeners:a,component:t,componentAttrs:r}),this.$nextTick(function(){o.$modal.show(u)})},remove:function(e){var t=this.modals.findIndex(function(t){return t.id===e});-1!==t&&this.modals.splice(t,1)}}},B,[],!1,null,null,null);G.options.__file="src/components/ModalsContainer.vue";var U=G.exports;function F(t){return(F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function q(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var V=function(i,t){function o(t,e,n,i){var o,r=2<arguments.length&&void 0!==n?n:{},s=3<arguments.length?i:void 0,a=null===(o=c.root)||void 0===o?void 0:o.__modalContainer,l=u.dynamicDefaults||{};null!=a&&a.add(t,e,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),i.forEach(function(t){q(e,t,n[t])})}return e}({},l,r),s)}var u=1<arguments.length&&void 0!==t?t:{},r=new i,c={root:null,componentName:u.componentName||"Modal"};return{context:c,subscription:r,show:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var i=e[0];switch(F(i)){case"string":(function(t,e){r.$emit("toggle",t,!0,e)}).apply(void 0,e);break;case"object":case"function":o.apply(void 0,e);break;default:console.warn("[vue-js-modal] $modal() received an unsupported argument as a first argument.",i)}},hide:function(t,e){r.$emit("toggle",t,!1,e)},hideAll:function(){r.$emit("hide-all")},toggle:function(t,e){r.$emit("toggle",t,void 0,e)},setDynamicModalContainer:function(t){c.root=t;var e,n=(e=document.createElement("div"),document.body.appendChild(e),e);new i({parent:t,render:function(t){return t(U)}}).$mount(n)}}},K={install:function(e,t){var n=1<arguments.length&&void 0!==t?t:{};if(!e.prototype.$modal){var i=new V(e,n);if(Object.defineProperty(e.prototype,"$modal",{get:function(){if(this instanceof e){var t=this.$root;i.context.root||i.setDynamicModalContainer(t)}return i}}),e.component(i.context.componentName,W),n.dialog){var o=n.dialogComponentName||"VDialog";e.component(o,X)}}}},J="__VERSION__";e.default=K}],o.c=i,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)o.d(n,i,function(t){return e[t]}.bind(null,i));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="/dist/",o(o.s=13);function o(t){if(i[t])return i[t].exports;var e=i[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}var n,i}); 36686//# sourceMappingURL=index.js.map 36687 36688/***/ }), 36689
vendor: 47,538 bytes, lines 36690-38493
36690/***/ "./node_modules/vue-lazyload/vue-lazyload.esm.js": 36691/*!*******************************************************!*\ 36692 !*** ./node_modules/vue-lazyload/vue-lazyload.esm.js ***! 36693 \*******************************************************/ 36694/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 36695 36696"use strict"; 36697__webpack_require__.r(__webpack_exports__); 36698/* harmony export */ __webpack_require__.d(__webpack_exports__, { 36699/* harmony export */ Lazy: () => (/* binding */ Lazy), 36700/* harmony export */ LazyComponent: () => (/* binding */ LazyComponent), 36701/* harmony export */ LazyContainer: () => (/* binding */ LazyContainerMananger), 36702/* harmony export */ LazyImage: () => (/* binding */ LazyImage), 36703/* harmony export */ "default": () => (/* binding */ index) 36704/* harmony export */ }); 36705/*! 36706 * Vue-Lazyload.js v1.3.5 36707 * (c) 2023 Awe <[email protected]> 36708 * Released under the MIT License. 36709 */ 36710 36711function createCommonjsModule(fn, module) { 36712 return module = { exports: {} }, fn(module, module.exports), module.exports; 36713} 36714 36715var assignSymbols$1 = createCommonjsModule(function (module) { 36716 36717 var toString = Object.prototype.toString; 36718 var isEnumerable = Object.prototype.propertyIsEnumerable; 36719 var getSymbols = Object.getOwnPropertySymbols; 36720 36721 module.exports = function (target) { 36722 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 36723 args[_key - 1] = arguments[_key]; 36724 } 36725 36726 if (!isObject(target)) { 36727 throw new TypeError('expected the first argument to be an object'); 36728 } 36729 36730 if (args.length === 0 || typeof Symbol !== 'function' || typeof getSymbols !== 'function') { 36731 return target; 36732 } 36733 36734 var _iteratorNormalCompletion = true; 36735 var _didIteratorError = false; 36736 var _iteratorError = undefined; 36737 36738 try { 36739 for (var _iterator = args[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { 36740 var arg = _step.value; 36741 36742 var names = getSymbols(arg); 36743 36744 var _iteratorNormalCompletion2 = true; 36745 var _didIteratorError2 = false; 36746 var _iteratorError2 = undefined; 36747 36748 try { 36749 for (var _iterator2 = names[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { 36750 var key = _step2.value; 36751 36752 if (isEnumerable.call(arg, key)) { 36753 target[key] = arg[key]; 36754 } 36755 } 36756 } catch (err) { 36757 _didIteratorError2 = true; 36758 _iteratorError2 = err; 36759 } finally { 36760 try { 36761 if (!_iteratorNormalCompletion2 && _iterator2.return) { 36762 _iterator2.return(); 36763 } 36764 } finally { 36765 if (_didIteratorError2) { 36766 throw _iteratorError2; 36767 } 36768 } 36769 } 36770 } 36771 } catch (err) { 36772 _didIteratorError = true; 36773 _iteratorError = err; 36774 } finally { 36775 try { 36776 if (!_iteratorNormalCompletion && _iterator.return) { 36777 _iterator.return(); 36778 } 36779 } finally { 36780 if (_didIteratorError) { 36781 throw _iteratorError; 36782 } 36783 } 36784 } 36785 36786 return target; 36787 }; 36788 36789 function isObject(val) { 36790 return typeof val === 'function' || toString.call(val) === '[object Object]' || Array.isArray(val); 36791 } 36792}); 36793 36794var assignSymbols$2 = /*#__PURE__*/Object.freeze({ 36795 __proto__: null, 36796 'default': assignSymbols$1, 36797 __moduleExports: assignSymbols$1 36798}); 36799 36800var assignSymbols = ( assignSymbols$2 && assignSymbols$1 ) || assignSymbols$2; 36801 36802var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { 36803 return typeof obj; 36804} : function (obj) { 36805 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 36806}; 36807 36808var classCallCheck = function (instance, Constructor) { 36809 if (!(instance instanceof Constructor)) { 36810 throw new TypeError("Cannot call a class as a function"); 36811 } 36812}; 36813 36814var createClass = function () { 36815 function defineProperties(target, props) { 36816 for (var i = 0; i < props.length; i++) { 36817 var descriptor = props[i]; 36818 descriptor.enumerable = descriptor.enumerable || false; 36819 descriptor.configurable = true; 36820 if ("value" in descriptor) descriptor.writable = true; 36821 Object.defineProperty(target, descriptor.key, descriptor); 36822 } 36823 } 36824 36825 return function (Constructor, protoProps, staticProps) { 36826 if (protoProps) defineProperties(Constructor.prototype, protoProps); 36827 if (staticProps) defineProperties(Constructor, staticProps); 36828 return Constructor; 36829 }; 36830}(); 36831 36832var assignDeep = createCommonjsModule(function (module) { 36833 36834 var toString = Object.prototype.toString; 36835 36836 var isValidKey = function isValidKey(key) { 36837 return key !== '__proto__' && key !== 'constructor' && key !== 'prototype'; 36838 }; 36839 36840 var assign = module.exports = function (target) { 36841 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 36842 args[_key - 1] = arguments[_key]; 36843 } 36844 36845 var i = 0; 36846 if (isPrimitive(target)) target = args[i++]; 36847 if (!target) target = {}; 36848 for (; i < args.length; i++) { 36849 if (isObject(args[i])) { 36850 var _iteratorNormalCompletion = true; 36851 var _didIteratorError = false; 36852 var _iteratorError = undefined; 36853 36854 try { 36855 for (var _iterator = Object.keys(args[i])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { 36856 var key = _step.value; 36857 36858 if (isValidKey(key)) { 36859 if (isObject(target[key]) && isObject(args[i][key])) { 36860 assign(target[key], args[i][key]); 36861 } else { 36862 target[key] = args[i][key]; 36863 } 36864 } 36865 } 36866 } catch (err) { 36867 _didIteratorError = true; 36868 _iteratorError = err; 36869 } finally { 36870 try { 36871 if (!_iteratorNormalCompletion && _iterator.return) { 36872 _iterator.return(); 36873 } 36874 } finally { 36875 if (_didIteratorError) { 36876 throw _iteratorError; 36877 } 36878 } 36879 } 36880 36881 assignSymbols(target, args[i]); 36882 } 36883 } 36884 return target; 36885 }; 36886 36887 function isObject(val) { 36888 return typeof val === 'function' || toString.call(val) === '[object Object]'; 36889 } 36890 36891 function isPrimitive(val) { 36892 return (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' ? val === null : typeof val !== 'function'; 36893 } 36894}); 36895 36896var inBrowser = typeof window !== 'undefined' && window !== null; 36897 36898var hasIntersectionObserver = checkIntersectionObserver(); 36899 36900function checkIntersectionObserver() { 36901 if (inBrowser && 'IntersectionObserver' in window && 'IntersectionObserverEntry' in window && 'intersectionRatio' in window.IntersectionObserverEntry.prototype) { 36902 // Minimal polyfill for Edge 15's lack of `isIntersecting` 36903 // See: https://github.com/w3c/IntersectionObserver/issues/211 36904 if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) { 36905 Object.defineProperty(window.IntersectionObserverEntry.prototype, 'isIntersecting', { 36906 get: function get() { 36907 return this.intersectionRatio > 0; 36908 } 36909 }); 36910 } 36911 return true; 36912 } 36913 return false; 36914} 36915 36916var modeType = { 36917 event: 'event', 36918 observer: 'observer' 36919 36920 // CustomEvent polyfill for IE 36921};var CustomEvent = function () { 36922 if (!inBrowser) return; 36923 // not IE 36924 if (typeof window.CustomEvent === 'function') return window.CustomEvent; 36925 function CustomEvent(event, params) { 36926 params = params || { bubbles: false, cancelable: false, detail: undefined }; 36927 var evt = document.createEvent('CustomEvent'); 36928 evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); 36929 return evt; 36930 } 36931 CustomEvent.prototype = window.Event.prototype; 36932 return CustomEvent; 36933}(); 36934 36935function remove(arr, item) { 36936 if (!arr.length) return; 36937 var index = arr.indexOf(item); 36938 if (index > -1) return arr.splice(index, 1); 36939} 36940 36941function some(arr, fn) { 36942 var has = false; 36943 for (var i = 0, len = arr.length; i < len; i++) { 36944 if (fn(arr[i])) { 36945 has = true; 36946 break; 36947 } 36948 } 36949 return has; 36950} 36951 36952function getBestSelectionFromSrcset(el, scale) { 36953 if (el.tagName !== 'IMG' || !el.getAttribute('data-srcset')) return; 36954 36955 var options = el.getAttribute('data-srcset'); 36956 var result = []; 36957 var container = el.parentNode; 36958 var containerWidth = container.offsetWidth * scale; 36959 36960 var spaceIndex = void 0; 36961 var tmpSrc = void 0; 36962 var tmpWidth = void 0; 36963 36964 options = options.trim().split(','); 36965 36966 options.map(function (item) { 36967 item = item.trim(); 36968 spaceIndex = item.lastIndexOf(' '); 36969 if (spaceIndex === -1) { 36970 tmpSrc = item; 36971 tmpWidth = 999998; 36972 } else { 36973 tmpSrc = item.substr(0, spaceIndex); 36974 tmpWidth = parseInt(item.substr(spaceIndex + 1, item.length - spaceIndex - 2), 10); 36975 } 36976 result.push([tmpWidth, tmpSrc]); 36977 }); 36978 36979 result.sort(function (a, b) { 36980 if (a[0] < b[0]) { 36981 return 1; 36982 } 36983 if (a[0] > b[0]) { 36984 return -1; 36985 } 36986 if (a[0] === b[0]) { 36987 if (b[1].indexOf('.webp', b[1].length - 5) !== -1) { 36988 return 1; 36989 } 36990 if (a[1].indexOf('.webp', a[1].length - 5) !== -1) { 36991 return -1; 36992 } 36993 } 36994 return 0; 36995 }); 36996 var bestSelectedSrc = ''; 36997 var tmpOption = void 0; 36998 36999 for (var i = 0; i < result.length; i++) { 37000 tmpOption = result[i]; 37001 bestSelectedSrc = tmpOption[1]; 37002 var next = result[i + 1]; 37003 if (next && next[0] < containerWidth) { 37004 bestSelectedSrc = tmpOption[1]; 37005 break; 37006 } else if (!next) { 37007 bestSelectedSrc = tmpOption[1]; 37008 break; 37009 } 37010 } 37011 37012 return bestSelectedSrc; 37013} 37014 37015function find(arr, fn) { 37016 var item = void 0; 37017 for (var i = 0, len = arr.length; i < len; i++) { 37018 if (fn(arr[i])) { 37019 item = arr[i]; 37020 break; 37021 } 37022 } 37023 return item; 37024} 37025 37026var getDPR = function getDPR() { 37027 var scale = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; 37028 return inBrowser ? window.devicePixelRatio || scale : scale; 37029}; 37030 37031function supportWebp() { 37032 if (!inBrowser) return false; 37033 37034 var support = true; 37035 37036 try { 37037 var elem = document.createElement('canvas'); 37038 37039 if (elem.getContext && elem.getContext('2d')) { 37040 support = elem.toDataURL('image/webp').indexOf('data:image/webp') === 0; 37041 } 37042 } catch (err) { 37043 support = false; 37044 } 37045 37046 return support; 37047} 37048 37049function throttle(action, delay) { 37050 var timeout = null; 37051 var movement = null; 37052 var lastRun = 0; 37053 var needRun = false; 37054 return function () { 37055 needRun = true; 37056 if (timeout) { 37057 return; 37058 } 37059 var elapsed = Date.now() - lastRun; 37060 var context = this; 37061 var args = arguments; 37062 var runCallback = function runCallback() { 37063 lastRun = Date.now(); 37064 timeout = false; 37065 action.apply(context, args); 37066 }; 37067 if (elapsed >= delay) { 37068 runCallback(); 37069 } else { 37070 timeout = setTimeout(runCallback, delay); 37071 } 37072 if (needRun) { 37073 clearTimeout(movement); 37074 movement = setTimeout(runCallback, 2 * delay); 37075 } 37076 }; 37077} 37078 37079function testSupportsPassive() { 37080 if (!inBrowser) return; 37081 var support = false; 37082 try { 37083 var opts = Object.defineProperty({}, 'passive', { 37084 get: function get() { 37085 support = true; 37086 } 37087 }); 37088 window.addEventListener('test', null, opts); 37089 } catch (e) {} 37090 return support; 37091} 37092 37093var supportsPassive = testSupportsPassive(); 37094 37095var _ = { 37096 on: function on(el, type, func) { 37097 var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; 37098 37099 if (supportsPassive) { 37100 el.addEventListener(type, func, { 37101 capture: capture, 37102 passive: true 37103 }); 37104 } else { 37105 el.addEventListener(type, func, capture); 37106 } 37107 }, 37108 off: function off(el, type, func) { 37109 var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; 37110 37111 el.removeEventListener(type, func, capture); 37112 } 37113}; 37114 37115var loadImageAsync = function loadImageAsync(item, resolve, reject) { 37116 var image = new Image(); 37117 if (!item || !item.src) { 37118 var err = new Error('image src is required'); 37119 return reject(err); 37120 } 37121 37122 image.src = item.src; 37123 if (item.cors) { 37124 image.crossOrigin = item.cors; 37125 } 37126 37127 image.onload = function () { 37128 resolve({ 37129 naturalHeight: image.naturalHeight, 37130 naturalWidth: image.naturalWidth, 37131 src: image.src 37132 }); 37133 }; 37134 37135 image.onerror = function (e) { 37136 reject(e); 37137 }; 37138}; 37139 37140var style = function style(el, prop) { 37141 return typeof getComputedStyle !== 'undefined' ? getComputedStyle(el, null).getPropertyValue(prop) : el.style[prop]; 37142}; 37143 37144var overflow = function overflow(el) { 37145 return style(el, 'overflow') + style(el, 'overflow-y') + style(el, 'overflow-x'); 37146}; 37147 37148var scrollParent = function scrollParent(el) { 37149 if (!inBrowser) return; 37150 if (!(el instanceof HTMLElement)) { 37151 return window; 37152 } 37153 37154 var parent = el; 37155 37156 while (parent) { 37157 if (parent === document.body || parent === document.documentElement) { 37158 break; 37159 } 37160 37161 if (!parent.parentNode) { 37162 break; 37163 } 37164 37165 if (/(scroll|auto)/.test(overflow(parent))) { 37166 return parent; 37167 } 37168 37169 parent = parent.parentNode; 37170 } 37171 37172 return window; 37173}; 37174 37175function isObject(obj) { 37176 return obj !== null && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object'; 37177} 37178 37179function ObjectKeys(obj) { 37180 if (!(obj instanceof Object)) return []; 37181 if (Object.keys) { 37182 return Object.keys(obj); 37183 } else { 37184 var keys = []; 37185 for (var key in obj) { 37186 if (obj.hasOwnProperty(key)) { 37187 keys.push(key); 37188 } 37189 } 37190 return keys; 37191 } 37192} 37193 37194function ArrayFrom(arrLike) { 37195 var len = arrLike.length; 37196 var list = []; 37197 for (var i = 0; i < len; i++) { 37198 list.push(arrLike[i]); 37199 } 37200 return list; 37201} 37202 37203function noop() {} 37204 37205var ImageCache = function () { 37206 function ImageCache(_ref) { 37207 var max = _ref.max; 37208 classCallCheck(this, ImageCache); 37209 37210 this.options = { 37211 max: max || 100 37212 }; 37213 this._caches = []; 37214 } 37215 37216 createClass(ImageCache, [{ 37217 key: 'has', 37218 value: function has(key) { 37219 return this._caches.indexOf(key) > -1; 37220 } 37221 }, { 37222 key: 'add', 37223 value: function add(key) { 37224 if (this.has(key)) return; 37225 this._caches.push(key); 37226 if (this._caches.length > this.options.max) { 37227 this.free(); 37228 } 37229 } 37230 }, { 37231 key: 'free', 37232 value: function free() { 37233 this._caches.shift(); 37234 } 37235 }]); 37236 return ImageCache; 37237}(); 37238 37239// el: { 37240// state, 37241// src, 37242// error, 37243// loading 37244// } 37245 37246var ReactiveListener = function () { 37247 function ReactiveListener(_ref) { 37248 var el = _ref.el, 37249 src = _ref.src, 37250 error = _ref.error, 37251 loading = _ref.loading, 37252 bindType = _ref.bindType, 37253 $parent = _ref.$parent, 37254 options = _ref.options, 37255 cors = _ref.cors, 37256 elRenderer = _ref.elRenderer, 37257 imageCache = _ref.imageCache; 37258 classCallCheck(this, ReactiveListener); 37259 37260 this.el = el; 37261 this.src = src; 37262 this.error = error; 37263 this.loading = loading; 37264 this.bindType = bindType; 37265 this.attempt = 0; 37266 this.cors = cors; 37267 37268 this.naturalHeight = 0; 37269 this.naturalWidth = 0; 37270 37271 this.options = options; 37272 37273 this.rect = null; 37274 37275 this.$parent = $parent; 37276 this.elRenderer = elRenderer; 37277 this._imageCache = imageCache; 37278 this.performanceData = { 37279 init: Date.now(), 37280 loadStart: 0, 37281 loadEnd: 0 37282 }; 37283 37284 this.filter(); 37285 this.initState(); 37286 this.render('loading', false); 37287 } 37288 37289 /* 37290 * init listener state 37291 * @return 37292 */ 37293 37294 37295 createClass(ReactiveListener, [{ 37296 key: 'initState', 37297 value: function initState() { 37298 if ('dataset' in this.el) { 37299 this.el.dataset.src = this.src; 37300 } else { 37301 this.el.setAttribute('data-src', this.src); 37302 } 37303 37304 this.state = { 37305 loading: false, 37306 error: false, 37307 loaded: false, 37308 rendered: false 37309 }; 37310 } 37311 37312 /* 37313 * record performance 37314 * @return 37315 */ 37316 37317 }, { 37318 key: 'record', 37319 value: function record(event) { 37320 this.performanceData[event] = Date.now(); 37321 } 37322 37323 /* 37324 * update image listener data 37325 * @param {String} image uri 37326 * @param {String} loading image uri 37327 * @param {String} error image uri 37328 * @return 37329 */ 37330 37331 }, { 37332 key: 'update', 37333 value: function update(_ref2) { 37334 var src = _ref2.src, 37335 loading = _ref2.loading, 37336 error = _ref2.error; 37337 37338 var oldSrc = this.src; 37339 this.src = src; 37340 this.loading = loading; 37341 this.error = error; 37342 this.filter(); 37343 if (oldSrc !== this.src) { 37344 this.attempt = 0; 37345 this.initState(); 37346 } 37347 } 37348 37349 /* 37350 * get el node rect 37351 * @return 37352 */ 37353 37354 }, { 37355 key: 'getRect', 37356 value: function getRect() { 37357 this.rect = this.el.getBoundingClientRect(); 37358 } 37359 37360 /* 37361 * check el is in view 37362 * @return {Boolean} el is in view 37363 */ 37364 37365 }, { 37366 key: 'checkInView', 37367 value: function checkInView() { 37368 this.getRect(); 37369 return this.rect.top < window.innerHeight * this.options.preLoad && this.rect.bottom > this.options.preLoadTop && this.rect.left < window.innerWidth * this.options.preLoad && this.rect.right > 0; 37370 } 37371 37372 /* 37373 * listener filter 37374 */ 37375 37376 }, { 37377 key: 'filter', 37378 value: function filter() { 37379 var _this = this; 37380 37381 ObjectKeys(this.options.filter).map(function (key) { 37382 _this.options.filter[key](_this, _this.options); 37383 }); 37384 } 37385 37386 /* 37387 * render loading first 37388 * @params cb:Function 37389 * @return 37390 */ 37391 37392 }, { 37393 key: 'renderLoading', 37394 value: function renderLoading(cb) { 37395 var _this2 = this; 37396 37397 this.state.loading = true; 37398 loadImageAsync({ 37399 src: this.loading, 37400 cors: this.cors 37401 }, function (data) { 37402 _this2.render('loading', false); 37403 _this2.state.loading = false; 37404 cb(); 37405 }, function () { 37406 // handler `loading image` load failed 37407 cb(); 37408 _this2.state.loading = false; 37409 if (!_this2.options.silent) console.warn('VueLazyload log: load failed with loading image(' + _this2.loading + ')'); 37410 }); 37411 } 37412 37413 /* 37414 * try load image and render it 37415 * @return 37416 */ 37417 37418 }, { 37419 key: 'load', 37420 value: function load() { 37421 var _this3 = this; 37422 37423 var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop; 37424 37425 if (this.attempt > this.options.attempt - 1 && this.state.error) { 37426 if (!this.options.silent) console.log('VueLazyload log: ' + this.src + ' tried too more than ' + this.options.attempt + ' times'); 37427 onFinish(); 37428 return; 37429 } 37430 if (this.state.rendered && this.state.loaded) return; 37431 if (this._imageCache.has(this.src)) { 37432 this.state.loaded = true; 37433 this.render('loaded', true); 37434 this.state.rendered = true; 37435 return onFinish(); 37436 } 37437 37438 this.renderLoading(function () { 37439 _this3.attempt++; 37440 37441 _this3.options.adapter['beforeLoad'] && _this3.options.adapter['beforeLoad'](_this3, _this3.options); 37442 _this3.record('loadStart'); 37443 37444 loadImageAsync({ 37445 src: _this3.src, 37446 cors: _this3.cors 37447 }, function (data) { 37448 _this3.naturalHeight = data.naturalHeight; 37449 _this3.naturalWidth = data.naturalWidth; 37450 _this3.state.loaded = true; 37451 _this3.state.error = false; 37452 _this3.record('loadEnd'); 37453 _this3.render('loaded', false); 37454 _this3.state.rendered = true; 37455 _this3._imageCache.add(_this3.src); 37456 onFinish(); 37457 }, function (err) { 37458 !_this3.options.silent && console.error(err); 37459 _this3.state.error = true; 37460 _this3.state.loaded = false; 37461 _this3.render('error', false); 37462 }); 37463 }); 37464 } 37465 37466 /* 37467 * render image 37468 * @param {String} state to render // ['loading', 'src', 'error'] 37469 * @param {String} is form cache 37470 * @return 37471 */ 37472 37473 }, { 37474 key: 'render', 37475 value: function render(state, cache) { 37476 this.elRenderer(this, state, cache); 37477 } 37478 37479 /* 37480 * output performance data 37481 * @return {Object} performance data 37482 */ 37483 37484 }, { 37485 key: 'performance', 37486 value: function performance() { 37487 var state = 'loading'; 37488 var time = 0; 37489 37490 if (this.state.loaded) { 37491 state = 'loaded'; 37492 time = (this.performanceData.loadEnd - this.performanceData.loadStart) / 1000; 37493 } 37494 37495 if (this.state.error) state = 'error'; 37496 37497 return { 37498 src: this.src, 37499 state: state, 37500 time: time 37501 }; 37502 } 37503 37504 /* 37505 * $destroy 37506 * @return 37507 */ 37508 37509 }, { 37510 key: '$destroy', 37511 value: function $destroy() { 37512 this.el = null; 37513 this.src = null; 37514 this.error = null; 37515 this.loading = null; 37516 this.bindType = null; 37517 this.attempt = 0; 37518 } 37519 }]); 37520 return ReactiveListener; 37521}(); 37522 37523var DEFAULT_URL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; 37524var DEFAULT_EVENTS = ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove']; 37525var DEFAULT_OBSERVER_OPTIONS = { 37526 rootMargin: '0px', 37527 threshold: 0 37528}; 37529 37530function Lazy(Vue) { 37531 return function () { 37532 function Lazy(_ref) { 37533 var preLoad = _ref.preLoad, 37534 error = _ref.error, 37535 throttleWait = _ref.throttleWait, 37536 preLoadTop = _ref.preLoadTop, 37537 dispatchEvent = _ref.dispatchEvent, 37538 loading = _ref.loading, 37539 attempt = _ref.attempt, 37540 _ref$silent = _ref.silent, 37541 silent = _ref$silent === undefined ? true : _ref$silent, 37542 scale = _ref.scale, 37543 listenEvents = _ref.listenEvents; 37544 _ref.hasbind; 37545 var filter = _ref.filter, 37546 adapter = _ref.adapter, 37547 observer = _ref.observer, 37548 observerOptions = _ref.observerOptions; 37549 classCallCheck(this, Lazy); 37550 37551 this.version = '"1.3.5"'; 37552 this.mode = modeType.event; 37553 this.ListenerQueue = []; 37554 this.TargetIndex = 0; 37555 this.TargetQueue = []; 37556 this.options = { 37557 silent: silent, 37558 dispatchEvent: !!dispatchEvent, 37559 throttleWait: throttleWait || 200, 37560 preLoad: preLoad || 1.3, 37561 preLoadTop: preLoadTop || 0, 37562 error: error || DEFAULT_URL, 37563 loading: loading || DEFAULT_URL, 37564 attempt: attempt || 3, 37565 scale: scale || getDPR(scale), 37566 ListenEvents: listenEvents || DEFAULT_EVENTS, 37567 hasbind: false, 37568 supportWebp: supportWebp(), 37569 filter: filter || {}, 37570 adapter: adapter || {}, 37571 observer: !!observer, 37572 observerOptions: observerOptions || DEFAULT_OBSERVER_OPTIONS 37573 }; 37574 this._initEvent(); 37575 this._imageCache = new ImageCache({ max: 200 }); 37576 this.lazyLoadHandler = throttle(this._lazyLoadHandler.bind(this), this.options.throttleWait); 37577 37578 this.setMode(this.options.observer ? modeType.observer : modeType.event); 37579 } 37580 37581 /** 37582 * update config 37583 * @param {Object} config params 37584 * @return 37585 */ 37586 37587 37588 createClass(Lazy, [{ 37589 key: 'config', 37590 value: function config() { 37591 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 37592 37593 assignDeep(this.options, options); 37594 } 37595 37596 /** 37597 * output listener's load performance 37598 * @return {Array} 37599 */ 37600 37601 }, { 37602 key: 'performance', 37603 value: function performance() { 37604 var list = []; 37605 37606 this.ListenerQueue.map(function (item) { 37607 list.push(item.performance()); 37608 }); 37609 37610 return list; 37611 } 37612 37613 /* 37614 * add lazy component to queue 37615 * @param {Vue} vm lazy component instance 37616 * @return 37617 */ 37618 37619 }, { 37620 key: 'addLazyBox', 37621 value: function addLazyBox(vm) { 37622 this.ListenerQueue.push(vm); 37623 if (inBrowser) { 37624 this._addListenerTarget(window); 37625 this._observer && this._observer.observe(vm.el); 37626 if (vm.$el && vm.$el.parentNode) { 37627 this._addListenerTarget(vm.$el.parentNode); 37628 } 37629 } 37630 } 37631 37632 /* 37633 * add image listener to queue 37634 * @param {DOM} el 37635 * @param {object} binding vue directive binding 37636 * @param {vnode} vnode vue directive vnode 37637 * @return 37638 */ 37639 37640 }, { 37641 key: 'add', 37642 value: function add(el, binding, vnode) { 37643 var _this = this; 37644 37645 if (some(this.ListenerQueue, function (item) { 37646 return item.el === el; 37647 })) { 37648 this.update(el, binding); 37649 return Vue.nextTick(this.lazyLoadHandler); 37650 } 37651 37652 var _valueFormatter2 = this._valueFormatter(binding.value), 37653 src = _valueFormatter2.src, 37654 loading = _valueFormatter2.loading, 37655 error = _valueFormatter2.error, 37656 cors = _valueFormatter2.cors; 37657 37658 Vue.nextTick(function () { 37659 src = getBestSelectionFromSrcset(el, _this.options.scale) || src; 37660 _this._observer && _this._observer.observe(el); 37661 37662 var container = Object.keys(binding.modifiers)[0]; 37663 var $parent = void 0; 37664 37665 if (container) { 37666 $parent = vnode.context.$refs[container]; 37667 // if there is container passed in, try ref first, then fallback to getElementById to support the original usage 37668 $parent = $parent ? $parent.$el || $parent : document.getElementById(container); 37669 } 37670 37671 if (!$parent) { 37672 $parent = scrollParent(el); 37673 } 37674 37675 var newListener = new ReactiveListener({ 37676 bindType: binding.arg, 37677 $parent: $parent, 37678 el: el, 37679 loading: loading, 37680 error: error, 37681 src: src, 37682 cors: cors, 37683 elRenderer: _this._elRenderer.bind(_this), 37684 options: _this.options, 37685 imageCache: _this._imageCache 37686 }); 37687 37688 _this.ListenerQueue.push(newListener); 37689 37690 if (inBrowser) { 37691 _this._addListenerTarget(window); 37692 _this._addListenerTarget($parent); 37693 } 37694 37695 _this.lazyLoadHandler(); 37696 Vue.nextTick(function () { 37697 return _this.lazyLoadHandler(); 37698 }); 37699 }); 37700 } 37701 37702 /** 37703 * update image src 37704 * @param {DOM} el 37705 * @param {object} vue directive binding 37706 * @return 37707 */ 37708 37709 }, { 37710 key: 'update', 37711 value: function update(el, binding, vnode) { 37712 var _this2 = this; 37713 37714 var _valueFormatter3 = this._valueFormatter(binding.value), 37715 src = _valueFormatter3.src, 37716 loading = _valueFormatter3.loading, 37717 error = _valueFormatter3.error; 37718 37719 src = getBestSelectionFromSrcset(el, this.options.scale) || src; 37720 37721 var exist = find(this.ListenerQueue, function (item) { 37722 return item.el === el; 37723 }); 37724 if (!exist) { 37725 this.add(el, binding, vnode); 37726 } else { 37727 exist.update({ 37728 src: src, 37729 loading: loading, 37730 error: error 37731 }); 37732 } 37733 if (this._observer) { 37734 this._observer.unobserve(el); 37735 this._observer.observe(el); 37736 } 37737 this.lazyLoadHandler(); 37738 Vue.nextTick(function () { 37739 return _this2.lazyLoadHandler(); 37740 }); 37741 } 37742 37743 /** 37744 * remove listener form list 37745 * @param {DOM} el 37746 * @return 37747 */ 37748 37749 }, { 37750 key: 'remove', 37751 value: function remove$1(el) { 37752 if (!el) return; 37753 this._observer && this._observer.unobserve(el); 37754 var existItem = find(this.ListenerQueue, function (item) { 37755 return item.el === el; 37756 }); 37757 if (existItem) { 37758 this._removeListenerTarget(existItem.$parent); 37759 this._removeListenerTarget(window); 37760 remove(this.ListenerQueue, existItem); 37761 existItem.$destroy(); 37762 } 37763 } 37764 37765 /* 37766 * remove lazy components form list 37767 * @param {Vue} vm Vue instance 37768 * @return 37769 */ 37770 37771 }, { 37772 key: 'removeComponent', 37773 value: function removeComponent(vm) { 37774 if (!vm) return; 37775 remove(this.ListenerQueue, vm); 37776 this._observer && this._observer.unobserve(vm.el); 37777 if (vm.$parent && vm.$el.parentNode) { 37778 this._removeListenerTarget(vm.$el.parentNode); 37779 } 37780 this._removeListenerTarget(window); 37781 } 37782 }, { 37783 key: 'setMode', 37784 value: function setMode(mode) { 37785 var _this3 = this; 37786 37787 if (!hasIntersectionObserver && mode === modeType.observer) { 37788 mode = modeType.event; 37789 } 37790 37791 this.mode = mode; // event or observer 37792 37793 if (mode === modeType.event) { 37794 if (this._observer) { 37795 this.ListenerQueue.forEach(function (listener) { 37796 _this3._observer.unobserve(listener.el); 37797 }); 37798 this._observer = null; 37799 } 37800 37801 this.TargetQueue.forEach(function (target) { 37802 _this3._initListen(target.el, true); 37803 }); 37804 } else { 37805 this.TargetQueue.forEach(function (target) { 37806 _this3._initListen(target.el, false); 37807 }); 37808 this._initIntersectionObserver(); 37809 } 37810 } 37811 37812 /* 37813 *** Private functions *** 37814 */ 37815 37816 /* 37817 * add listener target 37818 * @param {DOM} el listener target 37819 * @return 37820 */ 37821 37822 }, { 37823 key: '_addListenerTarget', 37824 value: function _addListenerTarget(el) { 37825 if (!el) return; 37826 var target = find(this.TargetQueue, function (target) { 37827 return target.el === el; 37828 }); 37829 if (!target) { 37830 target = { 37831 el: el, 37832 id: ++this.TargetIndex, 37833 childrenCount: 1, 37834 listened: true 37835 }; 37836 this.mode === modeType.event && this._initListen(target.el, true); 37837 this.TargetQueue.push(target); 37838 } else { 37839 target.childrenCount++; 37840 } 37841 return this.TargetIndex; 37842 } 37843 37844 /* 37845 * remove listener target or reduce target childrenCount 37846 * @param {DOM} el or window 37847 * @return 37848 */ 37849 37850 }, { 37851 key: '_removeListenerTarget', 37852 value: function _removeListenerTarget(el) { 37853 var _this4 = this; 37854 37855 this.TargetQueue.forEach(function (target, index) { 37856 if (target.el === el) { 37857 target.childrenCount--; 37858 if (!target.childrenCount) { 37859 _this4._initListen(target.el, false); 37860 _this4.TargetQueue.splice(index, 1); 37861 target = null; 37862 } 37863 } 37864 }); 37865 } 37866 37867 /* 37868 * add or remove eventlistener 37869 * @param {DOM} el DOM or Window 37870 * @param {boolean} start flag 37871 * @return 37872 */ 37873 37874 }, { 37875 key: '_initListen', 37876 value: function _initListen(el, start) { 37877 var _this5 = this; 37878 37879 this.options.ListenEvents.forEach(function (evt) { 37880 return _[start ? 'on' : 'off'](el, evt, _this5.lazyLoadHandler); 37881 }); 37882 } 37883 }, { 37884 key: '_initEvent', 37885 value: function _initEvent() { 37886 var _this6 = this; 37887 37888 this.Event = { 37889 listeners: { 37890 loading: [], 37891 loaded: [], 37892 error: [] 37893 } 37894 }; 37895 37896 this.$on = function (event, func) { 37897 if (!_this6.Event.listeners[event]) _this6.Event.listeners[event] = []; 37898 _this6.Event.listeners[event].push(func); 37899 }; 37900 37901 this.$once = function (event, func) { 37902 var vm = _this6; 37903 function on() { 37904 vm.$off(event, on); 37905 func.apply(vm, arguments); 37906 } 37907 _this6.$on(event, on); 37908 }; 37909 37910 this.$off = function (event, func) { 37911 if (!func) { 37912 if (!_this6.Event.listeners[event]) return; 37913 _this6.Event.listeners[event].length = 0; 37914 return; 37915 } 37916 remove(_this6.Event.listeners[event], func); 37917 }; 37918 37919 this.$emit = function (event, context, inCache) { 37920 if (!_this6.Event.listeners[event]) return; 37921 _this6.Event.listeners[event].forEach(function (func) { 37922 return func(context, inCache); 37923 }); 37924 }; 37925 } 37926 37927 /** 37928 * find nodes which in viewport and trigger load 37929 * @return 37930 */ 37931 37932 }, { 37933 key: '_lazyLoadHandler', 37934 value: function _lazyLoadHandler() { 37935 var _this7 = this; 37936 37937 var freeList = []; 37938 this.ListenerQueue.forEach(function (listener, index) { 37939 if (!listener.el || !listener.el.parentNode) { 37940 freeList.push(listener); 37941 } 37942 var catIn = listener.checkInView(); 37943 if (!catIn) return; 37944 listener.load(); 37945 }); 37946 freeList.forEach(function (item) { 37947 remove(_this7.ListenerQueue, item); 37948 item.$destroy(); 37949 }); 37950 } 37951 /** 37952 * init IntersectionObserver 37953 * set mode to observer 37954 * @return 37955 */ 37956 37957 }, { 37958 key: '_initIntersectionObserver', 37959 value: function _initIntersectionObserver() { 37960 var _this8 = this; 37961 37962 if (!hasIntersectionObserver) return; 37963 this._observer = new IntersectionObserver(this._observerHandler.bind(this), this.options.observerOptions); 37964 if (this.ListenerQueue.length) { 37965 this.ListenerQueue.forEach(function (listener) { 37966 _this8._observer.observe(listener.el); 37967 }); 37968 } 37969 } 37970 37971 /** 37972 * init IntersectionObserver 37973 * @return 37974 */ 37975 37976 }, { 37977 key: '_observerHandler', 37978 value: function _observerHandler(entries, observer) { 37979 var _this9 = this; 37980 37981 entries.forEach(function (entry) { 37982 if (entry.isIntersecting) { 37983 _this9.ListenerQueue.forEach(function (listener) { 37984 if (listener.el === entry.target) { 37985 if (listener.state.loaded) return _this9._observer.unobserve(listener.el); 37986 listener.load(); 37987 } 37988 }); 37989 } 37990 }); 37991 } 37992 37993 /** 37994 * set element attribute with image'url and state 37995 * @param {object} lazyload listener object 37996 * @param {string} state will be rendered 37997 * @param {bool} inCache is rendered from cache 37998 * @return 37999 */ 38000 38001 }, { 38002 key: '_elRenderer', 38003 value: function _elRenderer(listener, state, cache) { 38004 if (!listener.el) return; 38005 var el = listener.el, 38006 bindType = listener.bindType; 38007 38008 38009 var src = void 0; 38010 switch (state) { 38011 case 'loading': 38012 src = listener.loading; 38013 break; 38014 case 'error': 38015 src = listener.error; 38016 break; 38017 default: 38018 src = listener.src; 38019 break; 38020 } 38021 38022 if (bindType) { 38023 el.style[bindType] = 'url("' + src + '")'; 38024 } else if (el.getAttribute('src') !== src) { 38025 el.setAttribute('src', src); 38026 } 38027 38028 el.setAttribute('lazy', state); 38029 38030 this.$emit(state, listener, cache); 38031 this.options.adapter[state] && this.options.adapter[state](listener, this.options); 38032 38033 if (this.options.dispatchEvent) { 38034 var event = new CustomEvent(state, { 38035 detail: listener 38036 }); 38037 el.dispatchEvent(event); 38038 } 38039 } 38040 38041 /** 38042 * generate loading loaded error image url 38043 * @param {string} image's src 38044 * @return {object} image's loading, loaded, error url 38045 */ 38046 38047 }, { 38048 key: '_valueFormatter', 38049 value: function _valueFormatter(value) { 38050 var src = value; 38051 var loading = this.options.loading; 38052 var error = this.options.error; 38053 38054 // value is object 38055 if (isObject(value)) { 38056 if (!value.src && !this.options.silent) console.error('Vue Lazyload warning: miss src with ' + value); 38057 src = value.src; 38058 loading = value.loading || this.options.loading; 38059 error = value.error || this.options.error; 38060 } 38061 return { 38062 src: src, 38063 loading: loading, 38064 error: error 38065 }; 38066 } 38067 }]); 38068 return Lazy; 38069 }(); 38070} 38071 38072Lazy.install = function (Vue) { 38073 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 38074 38075 var LazyClass = Lazy(Vue); 38076 var lazy = new LazyClass(options); 38077 38078 var isVue2 = Vue.version.split('.')[0] === '2'; 38079 if (isVue2) { 38080 Vue.directive('lazy', { 38081 bind: lazy.add.bind(lazy), 38082 update: lazy.update.bind(lazy), 38083 componentUpdated: lazy.lazyLoadHandler.bind(lazy), 38084 unbind: lazy.remove.bind(lazy) 38085 }); 38086 } else { 38087 Vue.directive('lazy', { 38088 bind: lazy.lazyLoadHandler.bind(lazy), 38089 update: function update(newValue, oldValue) { 38090 assignDeep(this.vm.$refs, this.vm.$els); 38091 lazy.add(this.el, { 38092 modifiers: this.modifiers || {}, 38093 arg: this.arg, 38094 value: newValue, 38095 oldValue: oldValue 38096 }, { 38097 context: this.vm 38098 }); 38099 }, 38100 unbind: function unbind() { 38101 lazy.remove(this.el); 38102 } 38103 }); 38104 } 38105}; 38106 38107var LazyComponent = function LazyComponent(lazy) { 38108 return { 38109 props: { 38110 tag: { 38111 type: String, 38112 default: 'div' 38113 } 38114 }, 38115 render: function render(h) { 38116 return h(this.tag, null, this.show ? this.$slots.default : null); 38117 }, 38118 data: function data() { 38119 return { 38120 el: null, 38121 state: { 38122 loaded: false 38123 }, 38124 rect: {}, 38125 show: false 38126 }; 38127 }, 38128 mounted: function mounted() { 38129 this.el = this.$el; 38130 lazy.addLazyBox(this); 38131 lazy.lazyLoadHandler(); 38132 }, 38133 beforeDestroy: function beforeDestroy() { 38134 lazy.removeComponent(this); 38135 }, 38136 38137 methods: { 38138 getRect: function getRect() { 38139 this.rect = this.$el.getBoundingClientRect(); 38140 }, 38141 checkInView: function checkInView() { 38142 this.getRect(); 38143 return inBrowser && this.rect.top < window.innerHeight * lazy.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazy.options.preLoad && this.rect.right > 0; 38144 }, 38145 load: function load() { 38146 this.show = true; 38147 this.state.loaded = true; 38148 this.$emit('show', this); 38149 }, 38150 destroy: function destroy() { 38151 return this.$destroy; 38152 } 38153 } 38154 }; 38155}; 38156 38157LazyComponent.install = function (Vue) { 38158 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 38159 38160 var LazyClass = Lazy(Vue); 38161 var lazy = new LazyClass(options); 38162 Vue.component('lazy-component', LazyComponent(lazy)); 38163}; 38164 38165var LazyContainerMananger = function () { 38166 function LazyContainerMananger(_ref) { 38167 var lazy = _ref.lazy; 38168 classCallCheck(this, LazyContainerMananger); 38169 38170 this.lazy = lazy; 38171 lazy.lazyContainerMananger = this; 38172 this._queue = []; 38173 } 38174 38175 createClass(LazyContainerMananger, [{ 38176 key: 'bind', 38177 value: function bind(el, binding, vnode) { 38178 var container = new LazyContainer({ el: el, binding: binding, vnode: vnode, lazy: this.lazy }); 38179 this._queue.push(container); 38180 } 38181 }, { 38182 key: 'update', 38183 value: function update(el, binding, vnode) { 38184 var container = find(this._queue, function (item) { 38185 return item.el === el; 38186 }); 38187 if (!container) return; 38188 container.update({ el: el, binding: binding, vnode: vnode }); 38189 } 38190 }, { 38191 key: 'unbind', 38192 value: function unbind(el, binding, vnode) { 38193 var container = find(this._queue, function (item) { 38194 return item.el === el; 38195 }); 38196 if (!container) return; 38197 container.clear(); 38198 remove(this._queue, container); 38199 } 38200 }]); 38201 return LazyContainerMananger; 38202}(); 38203 38204 38205var defaultOptions = { 38206 selector: 'img' 38207}; 38208 38209var LazyContainer = function () { 38210 function LazyContainer(_ref2) { 38211 var el = _ref2.el, 38212 binding = _ref2.binding, 38213 vnode = _ref2.vnode, 38214 lazy = _ref2.lazy; 38215 classCallCheck(this, LazyContainer); 38216 38217 this.el = null; 38218 this.vnode = vnode; 38219 this.binding = binding; 38220 this.options = {}; 38221 this.lazy = lazy; 38222 38223 this._queue = []; 38224 this.update({ el: el, binding: binding }); 38225 } 38226 38227 createClass(LazyContainer, [{ 38228 key: 'update', 38229 value: function update(_ref3) { 38230 var _this = this; 38231 38232 var el = _ref3.el, 38233 binding = _ref3.binding; 38234 38235 this.el = el; 38236 this.options = assignDeep({}, defaultOptions, binding.value); 38237 38238 var imgs = this.getImgs(); 38239 imgs.forEach(function (el) { 38240 _this.lazy.add(el, assignDeep({}, _this.binding, { 38241 value: { 38242 src: 'dataset' in el ? el.dataset.src : el.getAttribute('data-src'), 38243 error: ('dataset' in el ? el.dataset.error : el.getAttribute('data-error')) || _this.options.error, 38244 loading: ('dataset' in el ? el.dataset.loading : el.getAttribute('data-loading')) || _this.options.loading 38245 } 38246 }), _this.vnode); 38247 }); 38248 } 38249 }, { 38250 key: 'getImgs', 38251 value: function getImgs() { 38252 return ArrayFrom(this.el.querySelectorAll(this.options.selector)); 38253 } 38254 }, { 38255 key: 'clear', 38256 value: function clear() { 38257 var _this2 = this; 38258 38259 var imgs = this.getImgs(); 38260 imgs.forEach(function (el) { 38261 return _this2.lazy.remove(el); 38262 }); 38263 38264 this.vnode = null; 38265 this.binding = null; 38266 this.lazy = null; 38267 } 38268 }]); 38269 return LazyContainer; 38270}(); 38271 38272LazyContainer.install = function (Vue) { 38273 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 38274 38275 var LazyClass = Lazy(Vue); 38276 var lazy = new LazyClass(options); 38277 var lazyContainer = new LazyContainer({ lazy: lazy }); 38278 38279 var isVue2 = Vue.version.split('.')[0] === '2'; 38280 if (isVue2) { 38281 Vue.directive('lazy-container', { 38282 bind: lazyContainer.bind.bind(lazyContainer), 38283 componentUpdated: lazyContainer.update.bind(lazyContainer), 38284 unbind: lazyContainer.unbind.bind(lazyContainer) 38285 }); 38286 } else { 38287 Vue.directive('lazy-container', { 38288 update: function update(newValue, oldValue) { 38289 lazyContainer.update(this.el, { 38290 modifiers: this.modifiers || {}, 38291 arg: this.arg, 38292 value: newValue, 38293 oldValue: oldValue 38294 }, { 38295 context: this.vm 38296 }); 38297 }, 38298 unbind: function unbind() { 38299 lazyContainer.unbind(this.el); 38300 } 38301 }); 38302 } 38303}; 38304 38305var LazyImage = function LazyImage(lazyManager) { 38306 return { 38307 props: { 38308 src: [String, Object], 38309 tag: { 38310 type: String, 38311 default: 'img' 38312 } 38313 }, 38314 render: function render(h) { 38315 return h(this.tag, { 38316 attrs: { 38317 src: this.renderSrc 38318 } 38319 }, this.$slots.default); 38320 }, 38321 data: function data() { 38322 return { 38323 el: null, 38324 options: { 38325 src: '', 38326 error: '', 38327 loading: '', 38328 attempt: lazyManager.options.attempt 38329 }, 38330 state: { 38331 loaded: false, 38332 error: false, 38333 attempt: 0 38334 }, 38335 rect: {}, 38336 renderSrc: '' 38337 }; 38338 }, 38339 38340 watch: { 38341 src: function src() { 38342 this.init(); 38343 lazyManager.addLazyBox(this); 38344 lazyManager.lazyLoadHandler(); 38345 } 38346 }, 38347 created: function created() { 38348 this.init(); 38349 this.renderSrc = this.options.loading; 38350 }, 38351 mounted: function mounted() { 38352 this.el = this.$el; 38353 lazyManager.addLazyBox(this); 38354 lazyManager.lazyLoadHandler(); 38355 }, 38356 beforeDestroy: function beforeDestroy() { 38357 lazyManager.removeComponent(this); 38358 }, 38359 38360 methods: { 38361 init: function init() { 38362 var _lazyManager$_valueFo = lazyManager._valueFormatter(this.src), 38363 src = _lazyManager$_valueFo.src, 38364 loading = _lazyManager$_valueFo.loading, 38365 error = _lazyManager$_valueFo.error; 38366 38367 this.state.loaded = false; 38368 this.options.src = src; 38369 this.options.error = error; 38370 this.options.loading = loading; 38371 this.renderSrc = this.options.loading; 38372 }, 38373 getRect: function getRect() { 38374 this.rect = this.$el.getBoundingClientRect(); 38375 }, 38376 checkInView: function checkInView() { 38377 this.getRect(); 38378 return inBrowser && this.rect.top < window.innerHeight * lazyManager.options.preLoad && this.rect.bottom > 0 && this.rect.left < window.innerWidth * lazyManager.options.preLoad && this.rect.right > 0; 38379 }, 38380 load: function load() { 38381 var _this = this; 38382 38383 var onFinish = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop; 38384 38385 if (this.state.attempt > this.options.attempt - 1 && this.state.error) { 38386 if (!lazyManager.options.silent) console.log('VueLazyload log: ' + this.options.src + ' tried too more than ' + this.options.attempt + ' times'); 38387 onFinish(); 38388 return; 38389 } 38390 var src = this.options.src; 38391 loadImageAsync({ src: src }, function (_ref) { 38392 var src = _ref.src; 38393 38394 _this.renderSrc = src; 38395 _this.state.loaded = true; 38396 }, function (e) { 38397 _this.state.attempt++; 38398 _this.renderSrc = _this.options.error; 38399 _this.state.error = true; 38400 }); 38401 } 38402 } 38403 }; 38404}; 38405 38406LazyImage.install = function (Vue) { 38407 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 38408 38409 var LazyClass = Lazy(Vue); 38410 var lazy = new LazyClass(options); 38411 Vue.component('lazy-image', LazyImage(lazy)); 38412}; 38413 38414var index = { 38415 /* 38416 * install function 38417 * @param {Vue} Vue 38418 * @param {object} options lazyload options 38419 */ 38420 install: function install(Vue) { 38421 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 38422 38423 var LazyClass = Lazy(Vue); 38424 var lazy = new LazyClass(options); 38425 var lazyContainer = new LazyContainerMananger({ lazy: lazy }); 38426 38427 var isVue2 = Vue.version.split('.')[0] === '2'; 38428 38429 Vue.prototype.$Lazyload = lazy; 38430 38431 if (options.lazyComponent) { 38432 Vue.component('lazy-component', LazyComponent(lazy)); 38433 } 38434 38435 if (options.lazyImage) { 38436 Vue.component('lazy-image', LazyImage(lazy)); 38437 } 38438 38439 if (isVue2) { 38440 Vue.directive('lazy', { 38441 bind: lazy.add.bind(lazy), 38442 update: lazy.update.bind(lazy), 38443 componentUpdated: lazy.lazyLoadHandler.bind(lazy), 38444 unbind: lazy.remove.bind(lazy) 38445 }); 38446 Vue.directive('lazy-container', { 38447 bind: lazyContainer.bind.bind(lazyContainer), 38448 componentUpdated: lazyContainer.update.bind(lazyContainer), 38449 unbind: lazyContainer.unbind.bind(lazyContainer) 38450 }); 38451 } else { 38452 Vue.directive('lazy', { 38453 bind: lazy.lazyLoadHandler.bind(lazy), 38454 update: function update(newValue, oldValue) { 38455 assignDeep(this.vm.$refs, this.vm.$els); 38456 lazy.add(this.el, { 38457 modifiers: this.modifiers || {}, 38458 arg: this.arg, 38459 value: newValue, 38460 oldValue: oldValue 38461 }, { 38462 context: this.vm 38463 }); 38464 }, 38465 unbind: function unbind() { 38466 lazy.remove(this.el); 38467 } 38468 }); 38469 38470 Vue.directive('lazy-container', { 38471 update: function update(newValue, oldValue) { 38472 lazyContainer.update(this.el, { 38473 modifiers: this.modifiers || {}, 38474 arg: this.arg, 38475 value: newValue, 38476 oldValue: oldValue 38477 }, { 38478 context: this.vm 38479 }); 38480 }, 38481 unbind: function unbind() { 38482 lazyContainer.unbind(this.el); 38483 } 38484 }); 38485 } 38486 } 38487}; 38488 38489 38490 38491 38492/***/ }), 38493
38494/***/ "./resources/assets/js/components/AdresseUpdate.vue": 38495/*!**********************************************************!*\ 38496 !*** ./resources/assets/js/components/AdresseUpdate.vue ***! 38497 \**********************************************************/ 38498/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38499 38500"use strict"; 38501__webpack_require__.r(__webpack_exports__); 38502/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38503/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38504/* harmony export */ }); 38505/* harmony import */ var _AdresseUpdate_vue_vue_type_template_id_44f721b1___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AdresseUpdate.vue?vue&type=template&id=44f721b1& */ "./resources/assets/js/components/AdresseUpdate.vue?vue&type=template&id=44f721b1&"); 38506/* harmony import */ var _AdresseUpdate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AdresseUpdate.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/AdresseUpdate.vue?vue&type=script&lang=js&"); 38507/* harmony import */ var _AdresseUpdate_vue_vue_type_style_index_0_id_44f721b1_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css& */ "./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css&"); 38508/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38509 38510 38511 38512; 38513 38514 38515/* normalize component */ 38516 38517var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38518 _AdresseUpdate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38519 _AdresseUpdate_vue_vue_type_template_id_44f721b1___WEBPACK_IMPORTED_MODULE_0__.render, 38520 _AdresseUpdate_vue_vue_type_template_id_44f721b1___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38521 false, 38522 null, 38523 null, 38524 null 38525 38526) 38527 38528/* hot reload */ 38529if (false) { var api; } 38530component.options.__file = "resources/assets/js/components/AdresseUpdate.vue" 38531/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38532 38533/***/ }), 38534
38535/***/ "./resources/assets/js/components/Articles.vue": 38536/*!*****************************************************!*\ 38537 !*** ./resources/assets/js/components/Articles.vue ***! 38538 \*****************************************************/ 38539/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38540 38541"use strict"; 38542__webpack_require__.r(__webpack_exports__); 38543/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38544/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38545/* harmony export */ }); 38546/* harmony import */ var _Articles_vue_vue_type_template_id_59e03618_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Articles.vue?vue&type=template&id=59e03618&scoped=true& */ "./resources/assets/js/components/Articles.vue?vue&type=template&id=59e03618&scoped=true&"); 38547/* harmony import */ var _Articles_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Articles.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Articles.vue?vue&type=script&lang=js&"); 38548/* harmony import */ var _Articles_vue_vue_type_style_index_0_id_59e03618_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css& */ "./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css&"); 38549/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38550 38551 38552 38553; 38554 38555 38556/* normalize component */ 38557 38558var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38559 _Articles_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38560 _Articles_vue_vue_type_template_id_59e03618_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render, 38561 _Articles_vue_vue_type_template_id_59e03618_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38562 false, 38563 null, 38564 "59e03618", 38565 null 38566 38567) 38568 38569/* hot reload */ 38570if (false) { var api; } 38571component.options.__file = "resources/assets/js/components/Articles.vue" 38572/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38573 38574/***/ }), 38575
38576/***/ "./resources/assets/js/components/Build.vue": 38577/*!**************************************************!*\ 38578 !*** ./resources/assets/js/components/Build.vue ***! 38579 \**************************************************/ 38580/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38581 38582"use strict"; 38583__webpack_require__.r(__webpack_exports__); 38584/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38585/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38586/* harmony export */ }); 38587/* harmony import */ var _Build_vue_vue_type_template_id_18393072___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Build.vue?vue&type=template&id=18393072& */ "./resources/assets/js/components/Build.vue?vue&type=template&id=18393072&"); 38588/* harmony import */ var _Build_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Build.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Build.vue?vue&type=script&lang=js&"); 38589/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38590 38591 38592 38593 38594 38595/* normalize component */ 38596; 38597var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 38598 _Build_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38599 _Build_vue_vue_type_template_id_18393072___WEBPACK_IMPORTED_MODULE_0__.render, 38600 _Build_vue_vue_type_template_id_18393072___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38601 false, 38602 null, 38603 null, 38604 null 38605 38606) 38607 38608/* hot reload */ 38609if (false) { var api; } 38610component.options.__file = "resources/assets/js/components/Build.vue" 38611/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38612 38613/***/ }), 38614
38615/***/ "./resources/assets/js/components/BuildNewsletter.vue": 38616/*!************************************************************!*\ 38617 !*** ./resources/assets/js/components/BuildNewsletter.vue ***! 38618 \************************************************************/ 38619/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38620 38621"use strict"; 38622__webpack_require__.r(__webpack_exports__); 38623/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38624/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38625/* harmony export */ }); 38626/* harmony import */ var _BuildNewsletter_vue_vue_type_template_id_59cdc560___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BuildNewsletter.vue?vue&type=template&id=59cdc560& */ "./resources/assets/js/components/BuildNewsletter.vue?vue&type=template&id=59cdc560&"); 38627/* harmony import */ var _BuildNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BuildNewsletter.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/BuildNewsletter.vue?vue&type=script&lang=js&"); 38628/* harmony import */ var _BuildNewsletter_vue_vue_type_style_index_0_id_59cdc560_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css& */ "./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css&"); 38629/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38630 38631 38632 38633; 38634 38635 38636/* normalize component */ 38637 38638var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38639 _BuildNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38640 _BuildNewsletter_vue_vue_type_template_id_59cdc560___WEBPACK_IMPORTED_MODULE_0__.render, 38641 _BuildNewsletter_vue_vue_type_template_id_59cdc560___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38642 false, 38643 null, 38644 null, 38645 null 38646 38647) 38648 38649/* hot reload */ 38650if (false) { var api; } 38651component.options.__file = "resources/assets/js/components/BuildNewsletter.vue" 38652/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38653 38654/***/ }), 38655
38656/***/ "./resources/assets/js/components/BuildNewsletterBreves.vue": 38657/*!******************************************************************!*\ 38658 !*** ./resources/assets/js/components/BuildNewsletterBreves.vue ***! 38659 \******************************************************************/ 38660/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38661 38662"use strict"; 38663__webpack_require__.r(__webpack_exports__); 38664/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38665/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38666/* harmony export */ }); 38667/* harmony import */ var _BuildNewsletterBreves_vue_vue_type_template_id_eab99d22___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BuildNewsletterBreves.vue?vue&type=template&id=eab99d22& */ "./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=template&id=eab99d22&"); 38668/* harmony import */ var _BuildNewsletterBreves_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BuildNewsletterBreves.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=script&lang=js&"); 38669/* harmony import */ var _BuildNewsletterBreves_vue_vue_type_style_index_0_id_eab99d22_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css& */ "./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css&"); 38670/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38671 38672 38673 38674; 38675 38676 38677/* normalize component */ 38678 38679var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38680 _BuildNewsletterBreves_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38681 _BuildNewsletterBreves_vue_vue_type_template_id_eab99d22___WEBPACK_IMPORTED_MODULE_0__.render, 38682 _BuildNewsletterBreves_vue_vue_type_template_id_eab99d22___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38683 false, 38684 null, 38685 null, 38686 null 38687 38688) 38689 38690/* hot reload */ 38691if (false) { var api; } 38692component.options.__file = "resources/assets/js/components/BuildNewsletterBreves.vue" 38693/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38694 38695/***/ }), 38696
38697/***/ "./resources/assets/js/components/BuildNewsletterGroup.vue": 38698/*!*****************************************************************!*\ 38699 !*** ./resources/assets/js/components/BuildNewsletterGroup.vue ***! 38700 \*****************************************************************/ 38701/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38702 38703"use strict"; 38704__webpack_require__.r(__webpack_exports__); 38705/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38706/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38707/* harmony export */ }); 38708/* harmony import */ var _BuildNewsletterGroup_vue_vue_type_template_id_4c29dbaf___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf& */ "./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf&"); 38709/* harmony import */ var _BuildNewsletterGroup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BuildNewsletterGroup.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=script&lang=js&"); 38710/* harmony import */ var _BuildNewsletterGroup_vue_vue_type_style_index_0_id_4c29dbaf_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css& */ "./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css&"); 38711/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38712 38713 38714 38715; 38716 38717 38718/* normalize component */ 38719 38720var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38721 _BuildNewsletterGroup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38722 _BuildNewsletterGroup_vue_vue_type_template_id_4c29dbaf___WEBPACK_IMPORTED_MODULE_0__.render, 38723 _BuildNewsletterGroup_vue_vue_type_template_id_4c29dbaf___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38724 false, 38725 null, 38726 null, 38727 null 38728 38729) 38730 38731/* hot reload */ 38732if (false) { var api; } 38733component.options.__file = "resources/assets/js/components/BuildNewsletterGroup.vue" 38734/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38735 38736/***/ }), 38737
38738/***/ "./resources/assets/js/components/BuildNewsletterModels.vue": 38739/*!******************************************************************!*\ 38740 !*** ./resources/assets/js/components/BuildNewsletterModels.vue ***! 38741 \******************************************************************/ 38742/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38743 38744"use strict"; 38745__webpack_require__.r(__webpack_exports__); 38746/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38747/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38748/* harmony export */ }); 38749/* harmony import */ var _BuildNewsletterModels_vue_vue_type_template_id_6dc490ea___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BuildNewsletterModels.vue?vue&type=template&id=6dc490ea& */ "./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=template&id=6dc490ea&"); 38750/* harmony import */ var _BuildNewsletterModels_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BuildNewsletterModels.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=script&lang=js&"); 38751/* harmony import */ var _BuildNewsletterModels_vue_vue_type_style_index_0_id_6dc490ea_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css& */ "./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css&"); 38752/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38753 38754 38755 38756; 38757 38758 38759/* normalize component */ 38760 38761var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38762 _BuildNewsletterModels_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38763 _BuildNewsletterModels_vue_vue_type_template_id_6dc490ea___WEBPACK_IMPORTED_MODULE_0__.render, 38764 _BuildNewsletterModels_vue_vue_type_template_id_6dc490ea___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38765 false, 38766 null, 38767 null, 38768 null 38769 38770) 38771 38772/* hot reload */ 38773if (false) { var api; } 38774component.options.__file = "resources/assets/js/components/BuildNewsletterModels.vue" 38775/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38776 38777/***/ }), 38778
38779/***/ "./resources/assets/js/components/ChoixDuplicate.vue": 38780/*!***********************************************************!*\ 38781 !*** ./resources/assets/js/components/ChoixDuplicate.vue ***! 38782 \***********************************************************/ 38783/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38784 38785"use strict"; 38786__webpack_require__.r(__webpack_exports__); 38787/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38788/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38789/* harmony export */ }); 38790/* harmony import */ var _ChoixDuplicate_vue_vue_type_template_id_6b689aae___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ChoixDuplicate.vue?vue&type=template&id=6b689aae& */ "./resources/assets/js/components/ChoixDuplicate.vue?vue&type=template&id=6b689aae&"); 38791/* harmony import */ var _ChoixDuplicate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ChoixDuplicate.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/ChoixDuplicate.vue?vue&type=script&lang=js&"); 38792/* harmony import */ var _ChoixDuplicate_vue_vue_type_style_index_0_id_6b689aae_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css& */ "./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css&"); 38793/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38794 38795 38796 38797; 38798 38799 38800/* normalize component */ 38801 38802var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38803 _ChoixDuplicate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38804 _ChoixDuplicate_vue_vue_type_template_id_6b689aae___WEBPACK_IMPORTED_MODULE_0__.render, 38805 _ChoixDuplicate_vue_vue_type_template_id_6b689aae___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38806 false, 38807 null, 38808 null, 38809 null 38810 38811) 38812 38813/* hot reload */ 38814if (false) { var api; } 38815component.options.__file = "resources/assets/js/components/ChoixDuplicate.vue" 38816/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38817 38818/***/ }), 38819
38820/***/ "./resources/assets/js/components/CreateBloc.vue": 38821/*!*******************************************************!*\ 38822 !*** ./resources/assets/js/components/CreateBloc.vue ***! 38823 \*******************************************************/ 38824/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38825 38826"use strict"; 38827__webpack_require__.r(__webpack_exports__); 38828/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38829/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38830/* harmony export */ }); 38831/* harmony import */ var _CreateBloc_vue_vue_type_template_id_2af8719e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateBloc.vue?vue&type=template&id=2af8719e& */ "./resources/assets/js/components/CreateBloc.vue?vue&type=template&id=2af8719e&"); 38832/* harmony import */ var _CreateBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateBloc.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/CreateBloc.vue?vue&type=script&lang=js&"); 38833/* harmony import */ var _CreateBloc_vue_vue_type_style_index_0_id_2af8719e_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css& */ "./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css&"); 38834/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38835 38836 38837 38838; 38839 38840 38841/* normalize component */ 38842 38843var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38844 _CreateBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38845 _CreateBloc_vue_vue_type_template_id_2af8719e___WEBPACK_IMPORTED_MODULE_0__.render, 38846 _CreateBloc_vue_vue_type_template_id_2af8719e___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38847 false, 38848 null, 38849 null, 38850 null 38851 38852) 38853 38854/* hot reload */ 38855if (false) { var api; } 38856component.options.__file = "resources/assets/js/components/CreateBloc.vue" 38857/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38858 38859/***/ }), 38860
38861/***/ "./resources/assets/js/components/Detenteur.vue": 38862/*!******************************************************!*\ 38863 !*** ./resources/assets/js/components/Detenteur.vue ***! 38864 \******************************************************/ 38865/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38866 38867"use strict"; 38868__webpack_require__.r(__webpack_exports__); 38869/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38870/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38871/* harmony export */ }); 38872/* harmony import */ var _Detenteur_vue_vue_type_template_id_6b67ecba___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Detenteur.vue?vue&type=template&id=6b67ecba& */ "./resources/assets/js/components/Detenteur.vue?vue&type=template&id=6b67ecba&"); 38873/* harmony import */ var _Detenteur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Detenteur.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Detenteur.vue?vue&type=script&lang=js&"); 38874/* harmony import */ var _Detenteur_vue_vue_type_style_index_0_id_6b67ecba_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css& */ "./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css&"); 38875/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38876 38877 38878 38879; 38880 38881 38882/* normalize component */ 38883 38884var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38885 _Detenteur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38886 _Detenteur_vue_vue_type_template_id_6b67ecba___WEBPACK_IMPORTED_MODULE_0__.render, 38887 _Detenteur_vue_vue_type_template_id_6b67ecba___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38888 false, 38889 null, 38890 null, 38891 null 38892 38893) 38894 38895/* hot reload */ 38896if (false) { var api; } 38897component.options.__file = "resources/assets/js/components/Detenteur.vue" 38898/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38899 38900/***/ }), 38901
38902/***/ "./resources/assets/js/components/EditBloc.vue": 38903/*!*****************************************************!*\ 38904 !*** ./resources/assets/js/components/EditBloc.vue ***! 38905 \*****************************************************/ 38906/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38907 38908"use strict"; 38909__webpack_require__.r(__webpack_exports__); 38910/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38911/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38912/* harmony export */ }); 38913/* harmony import */ var _EditBloc_vue_vue_type_template_id_5945d1ff___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EditBloc.vue?vue&type=template&id=5945d1ff& */ "./resources/assets/js/components/EditBloc.vue?vue&type=template&id=5945d1ff&"); 38914/* harmony import */ var _EditBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EditBloc.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/EditBloc.vue?vue&type=script&lang=js&"); 38915/* harmony import */ var _EditBloc_vue_vue_type_style_index_0_id_5945d1ff_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css& */ "./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css&"); 38916/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38917 38918 38919 38920; 38921 38922 38923/* normalize component */ 38924 38925var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 38926 _EditBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38927 _EditBloc_vue_vue_type_template_id_5945d1ff___WEBPACK_IMPORTED_MODULE_0__.render, 38928 _EditBloc_vue_vue_type_template_id_5945d1ff___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38929 false, 38930 null, 38931 null, 38932 null 38933 38934) 38935 38936/* hot reload */ 38937if (false) { var api; } 38938component.options.__file = "resources/assets/js/components/EditBloc.vue" 38939/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38940 38941/***/ }), 38942
38943/***/ "./resources/assets/js/components/EditBuild.vue": 38944/*!******************************************************!*\ 38945 !*** ./resources/assets/js/components/EditBuild.vue ***! 38946 \******************************************************/ 38947/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38948 38949"use strict"; 38950__webpack_require__.r(__webpack_exports__); 38951/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38952/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38953/* harmony export */ }); 38954/* harmony import */ var _EditBuild_vue_vue_type_template_id_4b2d7c5d___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EditBuild.vue?vue&type=template&id=4b2d7c5d& */ "./resources/assets/js/components/EditBuild.vue?vue&type=template&id=4b2d7c5d&"); 38955/* harmony import */ var _EditBuild_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EditBuild.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/EditBuild.vue?vue&type=script&lang=js&"); 38956/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38957 38958 38959 38960 38961 38962/* normalize component */ 38963; 38964var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 38965 _EditBuild_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 38966 _EditBuild_vue_vue_type_template_id_4b2d7c5d___WEBPACK_IMPORTED_MODULE_0__.render, 38967 _EditBuild_vue_vue_type_template_id_4b2d7c5d___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 38968 false, 38969 null, 38970 null, 38971 null 38972 38973) 38974 38975/* hot reload */ 38976if (false) { var api; } 38977component.options.__file = "resources/assets/js/components/EditBuild.vue" 38978/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 38979 38980/***/ }), 38981
38982/***/ "./resources/assets/js/components/Endroit.vue": 38983/*!****************************************************!*\ 38984 !*** ./resources/assets/js/components/Endroit.vue ***! 38985 \****************************************************/ 38986/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 38987 38988"use strict"; 38989__webpack_require__.r(__webpack_exports__); 38990/* harmony export */ __webpack_require__.d(__webpack_exports__, { 38991/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 38992/* harmony export */ }); 38993/* harmony import */ var _Endroit_vue_vue_type_template_id_64c873c8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Endroit.vue?vue&type=template&id=64c873c8& */ "./resources/assets/js/components/Endroit.vue?vue&type=template&id=64c873c8&"); 38994/* harmony import */ var _Endroit_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Endroit.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Endroit.vue?vue&type=script&lang=js&"); 38995/* harmony import */ var _Endroit_vue_vue_type_style_index_0_id_64c873c8_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css& */ "./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css&"); 38996/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 38997 38998 38999 39000; 39001 39002 39003/* normalize component */ 39004 39005var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39006 _Endroit_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39007 _Endroit_vue_vue_type_template_id_64c873c8___WEBPACK_IMPORTED_MODULE_0__.render, 39008 _Endroit_vue_vue_type_template_id_64c873c8___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39009 false, 39010 null, 39011 null, 39012 null 39013 39014) 39015 39016/* hot reload */ 39017if (false) { var api; } 39018component.options.__file = "resources/assets/js/components/Endroit.vue" 39019/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39020 39021/***/ }), 39022
39023/***/ "./resources/assets/js/components/FacturationAdresse.vue": 39024/*!***************************************************************!*\ 39025 !*** ./resources/assets/js/components/FacturationAdresse.vue ***! 39026 \***************************************************************/ 39027/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39028 39029"use strict"; 39030__webpack_require__.r(__webpack_exports__); 39031/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39032/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39033/* harmony export */ }); 39034/* harmony import */ var _FacturationAdresse_vue_vue_type_template_id_4d29797a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FacturationAdresse.vue?vue&type=template&id=4d29797a& */ "./resources/assets/js/components/FacturationAdresse.vue?vue&type=template&id=4d29797a&"); 39035/* harmony import */ var _FacturationAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FacturationAdresse.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/FacturationAdresse.vue?vue&type=script&lang=js&"); 39036/* harmony import */ var _FacturationAdresse_vue_vue_type_style_index_0_id_4d29797a_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css& */ "./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css&"); 39037/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39038 39039 39040 39041; 39042 39043 39044/* normalize component */ 39045 39046var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39047 _FacturationAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39048 _FacturationAdresse_vue_vue_type_template_id_4d29797a___WEBPACK_IMPORTED_MODULE_0__.render, 39049 _FacturationAdresse_vue_vue_type_template_id_4d29797a___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39050 false, 39051 null, 39052 null, 39053 null 39054 39055) 39056 39057/* hot reload */ 39058if (false) { var api; } 39059component.options.__file = "resources/assets/js/components/FacturationAdresse.vue" 39060/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39061 39062/***/ }), 39063
39064/***/ "./resources/assets/js/components/FilterAdresse.vue": 39065/*!**********************************************************!*\ 39066 !*** ./resources/assets/js/components/FilterAdresse.vue ***! 39067 \**********************************************************/ 39068/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39069 39070"use strict"; 39071__webpack_require__.r(__webpack_exports__); 39072/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39073/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39074/* harmony export */ }); 39075/* harmony import */ var _FilterAdresse_vue_vue_type_template_id_15ac0c20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./FilterAdresse.vue?vue&type=template&id=15ac0c20& */ "./resources/assets/js/components/FilterAdresse.vue?vue&type=template&id=15ac0c20&"); 39076/* harmony import */ var _FilterAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FilterAdresse.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/FilterAdresse.vue?vue&type=script&lang=js&"); 39077/* harmony import */ var _FilterAdresse_vue_vue_type_style_index_0_id_15ac0c20_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css& */ "./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css&"); 39078/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39079 39080 39081 39082; 39083 39084 39085/* normalize component */ 39086 39087var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39088 _FilterAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39089 _FilterAdresse_vue_vue_type_template_id_15ac0c20___WEBPACK_IMPORTED_MODULE_0__.render, 39090 _FilterAdresse_vue_vue_type_template_id_15ac0c20___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39091 false, 39092 null, 39093 null, 39094 null 39095 39096) 39097 39098/* hot reload */ 39099if (false) { var api; } 39100component.options.__file = "resources/assets/js/components/FilterAdresse.vue" 39101/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39102 39103/***/ }), 39104
39105/***/ "./resources/assets/js/components/Generate.vue": 39106/*!*****************************************************!*\ 39107 !*** ./resources/assets/js/components/Generate.vue ***! 39108 \*****************************************************/ 39109/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39110 39111"use strict"; 39112__webpack_require__.r(__webpack_exports__); 39113/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39114/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39115/* harmony export */ }); 39116/* harmony import */ var _Generate_vue_vue_type_template_id_4ff2cc2c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Generate.vue?vue&type=template&id=4ff2cc2c& */ "./resources/assets/js/components/Generate.vue?vue&type=template&id=4ff2cc2c&"); 39117/* harmony import */ var _Generate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Generate.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Generate.vue?vue&type=script&lang=js&"); 39118/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39119/* harmony import */ var _Generate_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Generate.vue?vue&type=custom&index=0&blockType=styles */ "./resources/assets/js/components/Generate.vue?vue&type=custom&index=0&blockType=styles"); 39120/* harmony import */ var _Generate_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Generate_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3__); 39121 39122 39123 39124 39125 39126/* normalize component */ 39127; 39128var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39129 _Generate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39130 _Generate_vue_vue_type_template_id_4ff2cc2c___WEBPACK_IMPORTED_MODULE_0__.render, 39131 _Generate_vue_vue_type_template_id_4ff2cc2c___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39132 false, 39133 null, 39134 null, 39135 null 39136 39137) 39138 39139/* custom blocks */ 39140; 39141if (typeof (_Generate_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3___default()) === 'function') _Generate_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3___default()(component) 39142 39143/* hot reload */ 39144if (false) { var api; } 39145component.options.__file = "resources/assets/js/components/Generate.vue" 39146/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39147 39148/***/ }), 39149
39150/***/ "./resources/assets/js/components/ImageUploader.vue": 39151/*!**********************************************************!*\ 39152 !*** ./resources/assets/js/components/ImageUploader.vue ***! 39153 \**********************************************************/ 39154/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39155 39156"use strict"; 39157__webpack_require__.r(__webpack_exports__); 39158/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39159/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39160/* harmony export */ }); 39161/* harmony import */ var _ImageUploader_vue_vue_type_template_id_b62a887c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true& */ "./resources/assets/js/components/ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true&"); 39162/* harmony import */ var _ImageUploader_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ImageUploader.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/ImageUploader.vue?vue&type=script&lang=js&"); 39163/* harmony import */ var _ImageUploader_vue_vue_type_style_index_0_id_b62a887c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css& */ "./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css&"); 39164/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39165 39166 39167 39168; 39169 39170 39171/* normalize component */ 39172 39173var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39174 _ImageUploader_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39175 _ImageUploader_vue_vue_type_template_id_b62a887c_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render, 39176 _ImageUploader_vue_vue_type_template_id_b62a887c_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39177 false, 39178 null, 39179 "b62a887c", 39180 null 39181 39182) 39183 39184/* hot reload */ 39185if (false) { var api; } 39186component.options.__file = "resources/assets/js/components/ImageUploader.vue" 39187/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39188 39189/***/ }), 39190
39191/***/ "./resources/assets/js/components/Jurisprudence.vue": 39192/*!**********************************************************!*\ 39193 !*** ./resources/assets/js/components/Jurisprudence.vue ***! 39194 \**********************************************************/ 39195/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39196 39197"use strict"; 39198__webpack_require__.r(__webpack_exports__); 39199/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39200/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39201/* harmony export */ }); 39202/* harmony import */ var _Jurisprudence_vue_vue_type_template_id_b3b09bb4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Jurisprudence.vue?vue&type=template&id=b3b09bb4& */ "./resources/assets/js/components/Jurisprudence.vue?vue&type=template&id=b3b09bb4&"); 39203/* harmony import */ var _Jurisprudence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Jurisprudence.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Jurisprudence.vue?vue&type=script&lang=js&"); 39204/* harmony import */ var _Jurisprudence_vue_vue_type_style_index_0_id_b3b09bb4_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css& */ "./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css&"); 39205/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39206 39207 39208 39209; 39210 39211 39212/* normalize component */ 39213 39214var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39215 _Jurisprudence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39216 _Jurisprudence_vue_vue_type_template_id_b3b09bb4___WEBPACK_IMPORTED_MODULE_0__.render, 39217 _Jurisprudence_vue_vue_type_template_id_b3b09bb4___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39218 false, 39219 null, 39220 null, 39221 null 39222 39223) 39224 39225/* hot reload */ 39226if (false) { var api; } 39227component.options.__file = "resources/assets/js/components/Jurisprudence.vue" 39228/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39229 39230/***/ }), 39231
39232/***/ "./resources/assets/js/components/ListAutocomplete.vue": 39233/*!*************************************************************!*\ 39234 !*** ./resources/assets/js/components/ListAutocomplete.vue ***! 39235 \*************************************************************/ 39236/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39237 39238"use strict"; 39239__webpack_require__.r(__webpack_exports__); 39240/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39241/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39242/* harmony export */ }); 39243/* harmony import */ var _ListAutocomplete_vue_vue_type_template_id_78b91edd___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ListAutocomplete.vue?vue&type=template&id=78b91edd& */ "./resources/assets/js/components/ListAutocomplete.vue?vue&type=template&id=78b91edd&"); 39244/* harmony import */ var _ListAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ListAutocomplete.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/ListAutocomplete.vue?vue&type=script&lang=js&"); 39245/* harmony import */ var _ListAutocomplete_vue_vue_type_style_index_0_id_78b91edd_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css& */ "./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css&"); 39246/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39247 39248 39249 39250; 39251 39252 39253/* normalize component */ 39254 39255var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39256 _ListAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39257 _ListAutocomplete_vue_vue_type_template_id_78b91edd___WEBPACK_IMPORTED_MODULE_0__.render, 39258 _ListAutocomplete_vue_vue_type_template_id_78b91edd___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39259 false, 39260 null, 39261 null, 39262 null 39263 39264) 39265 39266/* hot reload */ 39267if (false) { var api; } 39268component.options.__file = "resources/assets/js/components/ListAutocomplete.vue" 39269/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39270 39271/***/ }), 39272
39273/***/ "./resources/assets/js/components/Loi.vue": 39274/*!************************************************!*\ 39275 !*** ./resources/assets/js/components/Loi.vue ***! 39276 \************************************************/ 39277/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39278 39279"use strict"; 39280__webpack_require__.r(__webpack_exports__); 39281/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39282/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39283/* harmony export */ }); 39284/* harmony import */ var _Loi_vue_vue_type_template_id_032b94df___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Loi.vue?vue&type=template&id=032b94df& */ "./resources/assets/js/components/Loi.vue?vue&type=template&id=032b94df&"); 39285/* harmony import */ var _Loi_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Loi.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Loi.vue?vue&type=script&lang=js&"); 39286/* harmony import */ var _Loi_vue_vue_type_style_index_0_id_032b94df_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Loi.vue?vue&type=style&index=0&id=032b94df&lang=css& */ "./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css&"); 39287/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39288 39289 39290 39291; 39292 39293 39294/* normalize component */ 39295 39296var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39297 _Loi_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39298 _Loi_vue_vue_type_template_id_032b94df___WEBPACK_IMPORTED_MODULE_0__.render, 39299 _Loi_vue_vue_type_template_id_032b94df___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39300 false, 39301 null, 39302 null, 39303 null 39304 39305) 39306 39307/* hot reload */ 39308if (false) { var api; } 39309component.options.__file = "resources/assets/js/components/Loi.vue" 39310/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39311 39312/***/ }), 39313
39314/***/ "./resources/assets/js/components/Manager.vue": 39315/*!****************************************************!*\ 39316 !*** ./resources/assets/js/components/Manager.vue ***! 39317 \****************************************************/ 39318/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39319 39320"use strict"; 39321__webpack_require__.r(__webpack_exports__); 39322/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39323/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39324/* harmony export */ }); 39325/* harmony import */ var _Manager_vue_vue_type_template_id_439d8d46_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Manager.vue?vue&type=template&id=439d8d46&scoped=true& */ "./resources/assets/js/components/Manager.vue?vue&type=template&id=439d8d46&scoped=true&"); 39326/* harmony import */ var _Manager_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Manager.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Manager.vue?vue&type=script&lang=js&"); 39327/* harmony import */ var _Manager_vue_vue_type_style_index_0_id_439d8d46_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css& */ "./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css&"); 39328/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39329 39330 39331 39332; 39333 39334 39335/* normalize component */ 39336 39337var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39338 _Manager_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39339 _Manager_vue_vue_type_template_id_439d8d46_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render, 39340 _Manager_vue_vue_type_template_id_439d8d46_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39341 false, 39342 null, 39343 "439d8d46", 39344 null 39345 39346) 39347 39348/* hot reload */ 39349if (false) { var api; } 39350component.options.__file = "resources/assets/js/components/Manager.vue" 39351/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39352 39353/***/ }), 39354
39355/***/ "./resources/assets/js/components/Occurrence.vue": 39356/*!*******************************************************!*\ 39357 !*** ./resources/assets/js/components/Occurrence.vue ***! 39358 \*******************************************************/ 39359/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39360 39361"use strict"; 39362__webpack_require__.r(__webpack_exports__); 39363/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39364/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39365/* harmony export */ }); 39366/* harmony import */ var _Occurrence_vue_vue_type_template_id_41d4e6c8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Occurrence.vue?vue&type=template&id=41d4e6c8& */ "./resources/assets/js/components/Occurrence.vue?vue&type=template&id=41d4e6c8&"); 39367/* harmony import */ var _Occurrence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Occurrence.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Occurrence.vue?vue&type=script&lang=js&"); 39368/* harmony import */ var _Occurrence_vue_vue_type_style_index_0_id_41d4e6c8_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css& */ "./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css&"); 39369/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39370 39371 39372 39373; 39374 39375 39376/* normalize component */ 39377 39378var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39379 _Occurrence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39380 _Occurrence_vue_vue_type_template_id_41d4e6c8___WEBPACK_IMPORTED_MODULE_0__.render, 39381 _Occurrence_vue_vue_type_template_id_41d4e6c8___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39382 false, 39383 null, 39384 null, 39385 null 39386 39387) 39388 39389/* hot reload */ 39390if (false) { var api; } 39391component.options.__file = "resources/assets/js/components/Occurrence.vue" 39392/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39393 39394/***/ }), 39395
39396/***/ "./resources/assets/js/components/Organisateur.vue": 39397/*!*********************************************************!*\ 39398 !*** ./resources/assets/js/components/Organisateur.vue ***! 39399 \*********************************************************/ 39400/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39401 39402"use strict"; 39403__webpack_require__.r(__webpack_exports__); 39404/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39405/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39406/* harmony export */ }); 39407/* harmony import */ var _Organisateur_vue_vue_type_template_id_21c99a4b___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Organisateur.vue?vue&type=template&id=21c99a4b& */ "./resources/assets/js/components/Organisateur.vue?vue&type=template&id=21c99a4b&"); 39408/* harmony import */ var _Organisateur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Organisateur.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Organisateur.vue?vue&type=script&lang=js&"); 39409/* harmony import */ var _Organisateur_vue_vue_type_style_index_0_id_21c99a4b_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css& */ "./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css&"); 39410/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39411 39412 39413 39414; 39415 39416 39417/* normalize component */ 39418 39419var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39420 _Organisateur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39421 _Organisateur_vue_vue_type_template_id_21c99a4b___WEBPACK_IMPORTED_MODULE_0__.render, 39422 _Organisateur_vue_vue_type_template_id_21c99a4b___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39423 false, 39424 null, 39425 null, 39426 null 39427 39428) 39429 39430/* hot reload */ 39431if (false) { var api; } 39432component.options.__file = "resources/assets/js/components/Organisateur.vue" 39433/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39434 39435/***/ }), 39436
39437/***/ "./resources/assets/js/components/ProductSelect.vue": 39438/*!**********************************************************!*\ 39439 !*** ./resources/assets/js/components/ProductSelect.vue ***! 39440 \**********************************************************/ 39441/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39442 39443"use strict"; 39444__webpack_require__.r(__webpack_exports__); 39445/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39446/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39447/* harmony export */ }); 39448/* harmony import */ var _ProductSelect_vue_vue_type_template_id_2fb718a4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProductSelect.vue?vue&type=template&id=2fb718a4& */ "./resources/assets/js/components/ProductSelect.vue?vue&type=template&id=2fb718a4&"); 39449/* harmony import */ var _ProductSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ProductSelect.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/ProductSelect.vue?vue&type=script&lang=js&"); 39450/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39451 39452 39453 39454 39455 39456/* normalize component */ 39457; 39458var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39459 _ProductSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39460 _ProductSelect_vue_vue_type_template_id_2fb718a4___WEBPACK_IMPORTED_MODULE_0__.render, 39461 _ProductSelect_vue_vue_type_template_id_2fb718a4___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39462 false, 39463 null, 39464 null, 39465 null 39466 39467) 39468 39469/* hot reload */ 39470if (false) { var api; } 39471component.options.__file = "resources/assets/js/components/ProductSelect.vue" 39472/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39473 39474/***/ }), 39475
39476/***/ "./resources/assets/js/components/QuestionRow.vue": 39477/*!********************************************************!*\ 39478 !*** ./resources/assets/js/components/QuestionRow.vue ***! 39479 \********************************************************/ 39480/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39481 39482"use strict"; 39483__webpack_require__.r(__webpack_exports__); 39484/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39485/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39486/* harmony export */ }); 39487/* harmony import */ var _QuestionRow_vue_vue_type_template_id_4b44fdad___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./QuestionRow.vue?vue&type=template&id=4b44fdad& */ "./resources/assets/js/components/QuestionRow.vue?vue&type=template&id=4b44fdad&"); 39488/* harmony import */ var _QuestionRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./QuestionRow.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/QuestionRow.vue?vue&type=script&lang=js&"); 39489/* harmony import */ var _QuestionRow_vue_vue_type_style_index_0_id_4b44fdad_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css& */ "./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css&"); 39490/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39491 39492 39493 39494; 39495 39496 39497/* normalize component */ 39498 39499var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39500 _QuestionRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39501 _QuestionRow_vue_vue_type_template_id_4b44fdad___WEBPACK_IMPORTED_MODULE_0__.render, 39502 _QuestionRow_vue_vue_type_template_id_4b44fdad___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39503 false, 39504 null, 39505 null, 39506 null 39507 39508) 39509 39510/* hot reload */ 39511if (false) { var api; } 39512component.options.__file = "resources/assets/js/components/QuestionRow.vue" 39513/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39514 39515/***/ }), 39516
39517/***/ "./resources/assets/js/components/Rabais.vue": 39518/*!***************************************************!*\ 39519 !*** ./resources/assets/js/components/Rabais.vue ***! 39520 \***************************************************/ 39521/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39522 39523"use strict"; 39524__webpack_require__.r(__webpack_exports__); 39525/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39526/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39527/* harmony export */ }); 39528/* harmony import */ var _Rabais_vue_vue_type_template_id_26ef0d4f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Rabais.vue?vue&type=template&id=26ef0d4f& */ "./resources/assets/js/components/Rabais.vue?vue&type=template&id=26ef0d4f&"); 39529/* harmony import */ var _Rabais_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Rabais.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Rabais.vue?vue&type=script&lang=js&"); 39530/* harmony import */ var _Rabais_vue_vue_type_style_index_0_id_26ef0d4f_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css& */ "./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css&"); 39531/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39532 39533 39534 39535; 39536 39537 39538/* normalize component */ 39539 39540var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39541 _Rabais_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39542 _Rabais_vue_vue_type_template_id_26ef0d4f___WEBPACK_IMPORTED_MODULE_0__.render, 39543 _Rabais_vue_vue_type_template_id_26ef0d4f___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39544 false, 39545 null, 39546 null, 39547 null 39548 39549) 39550 39551/* hot reload */ 39552if (false) { var api; } 39553component.options.__file = "resources/assets/js/components/Rabais.vue" 39554/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39555 39556/***/ }), 39557
39558/***/ "./resources/assets/js/components/Rappel.vue": 39559/*!***************************************************!*\ 39560 !*** ./resources/assets/js/components/Rappel.vue ***! 39561 \***************************************************/ 39562/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39563 39564"use strict"; 39565__webpack_require__.r(__webpack_exports__); 39566/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39567/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39568/* harmony export */ }); 39569/* harmony import */ var _Rappel_vue_vue_type_template_id_30f21966___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Rappel.vue?vue&type=template&id=30f21966& */ "./resources/assets/js/components/Rappel.vue?vue&type=template&id=30f21966&"); 39570/* harmony import */ var _Rappel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Rappel.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Rappel.vue?vue&type=script&lang=js&"); 39571/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39572/* harmony import */ var _Rappel_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Rappel.vue?vue&type=custom&index=0&blockType=styles */ "./resources/assets/js/components/Rappel.vue?vue&type=custom&index=0&blockType=styles"); 39573/* harmony import */ var _Rappel_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Rappel_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3__); 39574 39575 39576 39577 39578 39579/* normalize component */ 39580; 39581var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39582 _Rappel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39583 _Rappel_vue_vue_type_template_id_30f21966___WEBPACK_IMPORTED_MODULE_0__.render, 39584 _Rappel_vue_vue_type_template_id_30f21966___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39585 false, 39586 null, 39587 null, 39588 null 39589 39590) 39591 39592/* custom blocks */ 39593; 39594if (typeof (_Rappel_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3___default()) === 'function') _Rappel_vue_vue_type_custom_index_0_blockType_styles__WEBPACK_IMPORTED_MODULE_3___default()(component) 39595 39596/* hot reload */ 39597if (false) { var api; } 39598component.options.__file = "resources/assets/js/components/Rappel.vue" 39599/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39600 39601/***/ }), 39602
39603/***/ "./resources/assets/js/components/Tags.vue": 39604/*!*************************************************!*\ 39605 !*** ./resources/assets/js/components/Tags.vue ***! 39606 \*************************************************/ 39607/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39608 39609"use strict"; 39610__webpack_require__.r(__webpack_exports__); 39611/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39612/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39613/* harmony export */ }); 39614/* harmony import */ var _Tags_vue_vue_type_template_id_8609bf60___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Tags.vue?vue&type=template&id=8609bf60& */ "./resources/assets/js/components/Tags.vue?vue&type=template&id=8609bf60&"); 39615/* harmony import */ var _Tags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Tags.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/Tags.vue?vue&type=script&lang=js&"); 39616/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39617 39618 39619 39620 39621 39622/* normalize component */ 39623; 39624var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39625 _Tags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39626 _Tags_vue_vue_type_template_id_8609bf60___WEBPACK_IMPORTED_MODULE_0__.render, 39627 _Tags_vue_vue_type_template_id_8609bf60___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39628 false, 39629 null, 39630 null, 39631 null 39632 39633) 39634 39635/* hot reload */ 39636if (false) { var api; } 39637component.options.__file = "resources/assets/js/components/Tags.vue" 39638/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39639 39640/***/ }), 39641
39642/***/ "./resources/assets/js/components/UserAdressesAutocomplete.vue": 39643/*!*********************************************************************!*\ 39644 !*** ./resources/assets/js/components/UserAdressesAutocomplete.vue ***! 39645 \*********************************************************************/ 39646/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39647 39648"use strict"; 39649__webpack_require__.r(__webpack_exports__); 39650/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39651/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39652/* harmony export */ }); 39653/* harmony import */ var _UserAdressesAutocomplete_vue_vue_type_template_id_16e197ce___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce& */ "./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce&"); 39654/* harmony import */ var _UserAdressesAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./UserAdressesAutocomplete.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=script&lang=js&"); 39655/* harmony import */ var _UserAdressesAutocomplete_vue_vue_type_style_index_0_id_16e197ce_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css& */ "./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css&"); 39656/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39657 39658 39659 39660; 39661 39662 39663/* normalize component */ 39664 39665var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39666 _UserAdressesAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39667 _UserAdressesAutocomplete_vue_vue_type_template_id_16e197ce___WEBPACK_IMPORTED_MODULE_0__.render, 39668 _UserAdressesAutocomplete_vue_vue_type_template_id_16e197ce___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39669 false, 39670 null, 39671 null, 39672 null 39673 39674) 39675 39676/* hot reload */ 39677if (false) { var api; } 39678component.options.__file = "resources/assets/js/components/UserAdressesAutocomplete.vue" 39679/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39680 39681/***/ }), 39682
39683/***/ "./resources/assets/js/components/blocs/Arret.vue": 39684/*!********************************************************!*\ 39685 !*** ./resources/assets/js/components/blocs/Arret.vue ***! 39686 \********************************************************/ 39687/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39688 39689"use strict"; 39690__webpack_require__.r(__webpack_exports__); 39691/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39692/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39693/* harmony export */ }); 39694/* harmony import */ var _Arret_vue_vue_type_template_id_7d680d22___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Arret.vue?vue&type=template&id=7d680d22& */ "./resources/assets/js/components/blocs/Arret.vue?vue&type=template&id=7d680d22&"); 39695/* harmony import */ var _Arret_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Arret.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/blocs/Arret.vue?vue&type=script&lang=js&"); 39696/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39697 39698 39699 39700 39701 39702/* normalize component */ 39703; 39704var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39705 _Arret_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39706 _Arret_vue_vue_type_template_id_7d680d22___WEBPACK_IMPORTED_MODULE_0__.render, 39707 _Arret_vue_vue_type_template_id_7d680d22___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39708 false, 39709 null, 39710 null, 39711 null 39712 39713) 39714 39715/* hot reload */ 39716if (false) { var api; } 39717component.options.__file = "resources/assets/js/components/blocs/Arret.vue" 39718/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39719 39720/***/ }), 39721
39722/***/ "./resources/assets/js/components/blocs/ModelContent.vue": 39723/*!***************************************************************!*\ 39724 !*** ./resources/assets/js/components/blocs/ModelContent.vue ***! 39725 \***************************************************************/ 39726/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39727 39728"use strict"; 39729__webpack_require__.r(__webpack_exports__); 39730/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39731/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39732/* harmony export */ }); 39733/* harmony import */ var _ModelContent_vue_vue_type_template_id_734949c1___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ModelContent.vue?vue&type=template&id=734949c1& */ "./resources/assets/js/components/blocs/ModelContent.vue?vue&type=template&id=734949c1&"); 39734/* harmony import */ var _ModelContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ModelContent.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/blocs/ModelContent.vue?vue&type=script&lang=js&"); 39735/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39736 39737 39738 39739 39740 39741/* normalize component */ 39742; 39743var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39744 _ModelContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39745 _ModelContent_vue_vue_type_template_id_734949c1___WEBPACK_IMPORTED_MODULE_0__.render, 39746 _ModelContent_vue_vue_type_template_id_734949c1___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39747 false, 39748 null, 39749 null, 39750 null 39751 39752) 39753 39754/* hot reload */ 39755if (false) { var api; } 39756component.options.__file = "resources/assets/js/components/blocs/ModelContent.vue" 39757/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39758 39759/***/ }), 39760
39761/***/ "./resources/assets/js/components/blocs/TextContent.vue": 39762/*!**************************************************************!*\ 39763 !*** ./resources/assets/js/components/blocs/TextContent.vue ***! 39764 \**************************************************************/ 39765/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39766 39767"use strict"; 39768__webpack_require__.r(__webpack_exports__); 39769/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39770/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39771/* harmony export */ }); 39772/* harmony import */ var _TextContent_vue_vue_type_template_id_8dea9c2a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TextContent.vue?vue&type=template&id=8dea9c2a& */ "./resources/assets/js/components/blocs/TextContent.vue?vue&type=template&id=8dea9c2a&"); 39773/* harmony import */ var _TextContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TextContent.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/blocs/TextContent.vue?vue&type=script&lang=js&"); 39774/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39775 39776 39777 39778 39779 39780/* normalize component */ 39781; 39782var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39783 _TextContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39784 _TextContent_vue_vue_type_template_id_8dea9c2a___WEBPACK_IMPORTED_MODULE_0__.render, 39785 _TextContent_vue_vue_type_template_id_8dea9c2a___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39786 false, 39787 null, 39788 null, 39789 null 39790 39791) 39792 39793/* hot reload */ 39794if (false) { var api; } 39795component.options.__file = "resources/assets/js/components/blocs/TextContent.vue" 39796/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39797 39798/***/ }), 39799
39800/***/ "./resources/assets/js/components/partials/AnalyseNewsletter.vue": 39801/*!***********************************************************************!*\ 39802 !*** ./resources/assets/js/components/partials/AnalyseNewsletter.vue ***! 39803 \***********************************************************************/ 39804/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39805 39806"use strict"; 39807__webpack_require__.r(__webpack_exports__); 39808/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39809/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39810/* harmony export */ }); 39811/* harmony import */ var _AnalyseNewsletter_vue_vue_type_template_id_a932f0f4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnalyseNewsletter.vue?vue&type=template&id=a932f0f4& */ "./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=template&id=a932f0f4&"); 39812/* harmony import */ var _AnalyseNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AnalyseNewsletter.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=script&lang=js&"); 39813/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39814 39815 39816 39817 39818 39819/* normalize component */ 39820; 39821var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( 39822 _AnalyseNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39823 _AnalyseNewsletter_vue_vue_type_template_id_a932f0f4___WEBPACK_IMPORTED_MODULE_0__.render, 39824 _AnalyseNewsletter_vue_vue_type_template_id_a932f0f4___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39825 false, 39826 null, 39827 null, 39828 null 39829 39830) 39831 39832/* hot reload */ 39833if (false) { var api; } 39834component.options.__file = "resources/assets/js/components/partials/AnalyseNewsletter.vue" 39835/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39836 39837/***/ }), 39838
39839/***/ "./resources/assets/js/components/partials/ImageNewsletter.vue": 39840/*!*********************************************************************!*\ 39841 !*** ./resources/assets/js/components/partials/ImageNewsletter.vue ***! 39842 \*********************************************************************/ 39843/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39844 39845"use strict"; 39846__webpack_require__.r(__webpack_exports__); 39847/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39848/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39849/* harmony export */ }); 39850/* harmony import */ var _ImageNewsletter_vue_vue_type_template_id_980be224___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ImageNewsletter.vue?vue&type=template&id=980be224& */ "./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=template&id=980be224&"); 39851/* harmony import */ var _ImageNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ImageNewsletter.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=script&lang=js&"); 39852/* harmony import */ var _ImageNewsletter_vue_vue_type_style_index_0_id_980be224_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css& */ "./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css&"); 39853/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); 39854 39855 39856 39857; 39858 39859 39860/* normalize component */ 39861 39862var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( 39863 _ImageNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], 39864 _ImageNewsletter_vue_vue_type_template_id_980be224___WEBPACK_IMPORTED_MODULE_0__.render, 39865 _ImageNewsletter_vue_vue_type_template_id_980be224___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, 39866 false, 39867 null, 39868 null, 39869 null 39870 39871) 39872 39873/* hot reload */ 39874if (false) { var api; } 39875component.options.__file = "resources/assets/js/components/partials/ImageNewsletter.vue" 39876/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); 39877 39878/***/ }), 39879 39880/***/ "./resources/assets/js/components/AdresseUpdate.vue?vue&type=script&lang=js&": 39881/*!***********************************************************************************!*\ 39882 !*** ./resources/assets/js/components/AdresseUpdate.vue?vue&type=script&lang=js& ***! 39883 \***********************************************************************************/ 39884/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39885 39886"use strict"; 39887__webpack_require__.r(__webpack_exports__); 39888/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39889/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39890/* harmony export */ }); 39891/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdresseUpdate.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=script&lang=js&"); 39892 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 39893 39894/***/ }), 39895 39896/***/ "./resources/assets/js/components/Articles.vue?vue&type=script&lang=js&": 39897/*!******************************************************************************!*\ 39898 !*** ./resources/assets/js/components/Articles.vue?vue&type=script&lang=js& ***! 39899 \******************************************************************************/ 39900/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39901 39902"use strict"; 39903__webpack_require__.r(__webpack_exports__); 39904/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39905/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39906/* harmony export */ }); 39907/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Articles.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=script&lang=js&"); 39908 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 39909 39910/***/ }), 39911 39912/***/ "./resources/assets/js/components/Build.vue?vue&type=script&lang=js&": 39913/*!***************************************************************************!*\ 39914 !*** ./resources/assets/js/components/Build.vue?vue&type=script&lang=js& ***! 39915 \***************************************************************************/ 39916/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39917 39918"use strict"; 39919__webpack_require__.r(__webpack_exports__); 39920/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39921/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39922/* harmony export */ }); 39923/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Build_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Build.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Build.vue?vue&type=script&lang=js&"); 39924 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Build_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 39925 39926/***/ }), 39927 39928/***/ "./resources/assets/js/components/BuildNewsletter.vue?vue&type=script&lang=js&": 39929/*!*************************************************************************************!*\ 39930 !*** ./resources/assets/js/components/BuildNewsletter.vue?vue&type=script&lang=js& ***! 39931 \*************************************************************************************/ 39932/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39933 39934"use strict"; 39935__webpack_require__.r(__webpack_exports__); 39936/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39937/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39938/* harmony export */ }); 39939/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletter.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=script&lang=js&"); 39940 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 39941 39942/***/ }), 39943 39944/***/ "./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=script&lang=js&": 39945/*!*******************************************************************************************!*\ 39946 !*** ./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=script&lang=js& ***! 39947 \*******************************************************************************************/ 39948/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39949 39950"use strict"; 39951__webpack_require__.r(__webpack_exports__); 39952/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39953/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39954/* harmony export */ }); 39955/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterBreves.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=script&lang=js&"); 39956 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 39957 39958/***/ }), 39959 39960/***/ "./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=script&lang=js&": 39961/*!******************************************************************************************!*\ 39962 !*** ./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=script&lang=js& ***! 39963 \******************************************************************************************/ 39964/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39965 39966"use strict"; 39967__webpack_require__.r(__webpack_exports__); 39968/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39969/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39970/* harmony export */ }); 39971/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterGroup.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=script&lang=js&"); 39972 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 39973 39974/***/ }), 39975 39976/***/ "./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=script&lang=js&": 39977/*!*******************************************************************************************!*\ 39978 !*** ./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=script&lang=js& ***! 39979 \*******************************************************************************************/ 39980/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39981 39982"use strict"; 39983__webpack_require__.r(__webpack_exports__); 39984/* harmony export */ __webpack_require__.d(__webpack_exports__, { 39985/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 39986/* harmony export */ }); 39987/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterModels.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=script&lang=js&"); 39988 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 39989 39990/***/ }), 39991 39992/***/ "./resources/assets/js/components/ChoixDuplicate.vue?vue&type=script&lang=js&": 39993/*!************************************************************************************!*\ 39994 !*** ./resources/assets/js/components/ChoixDuplicate.vue?vue&type=script&lang=js& ***! 39995 \************************************************************************************/ 39996/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 39997 39998"use strict"; 39999__webpack_require__.r(__webpack_exports__); 40000/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40001/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40002/* harmony export */ }); 40003/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChoixDuplicate.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=script&lang=js&"); 40004 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40005 40006/***/ }), 40007 40008/***/ "./resources/assets/js/components/CreateBloc.vue?vue&type=script&lang=js&": 40009/*!********************************************************************************!*\ 40010 !*** ./resources/assets/js/components/CreateBloc.vue?vue&type=script&lang=js& ***! 40011 \********************************************************************************/ 40012/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40013 40014"use strict"; 40015__webpack_require__.r(__webpack_exports__); 40016/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40017/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40018/* harmony export */ }); 40019/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateBloc.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=script&
40019lang=js&"); 40020 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40021 40022/***/ }), 40023 40024/***/ "./resources/assets/js/components/Detenteur.vue?vue&type=script&lang=js&": 40025/*!*******************************************************************************!*\ 40026 !*** ./resources/assets/js/components/Detenteur.vue?vue&type=script&lang=js& ***! 40027 \*******************************************************************************/ 40028/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40029 40030"use strict"; 40031__webpack_require__.r(__webpack_exports__); 40032/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40033/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40034/* harmony export */ }); 40035/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Detenteur.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=script&lang=js&"); 40036 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40037 40038/***/ }), 40039 40040/***/ "./resources/assets/js/components/EditBloc.vue?vue&type=script&lang=js&": 40041/*!******************************************************************************!*\ 40042 !*** ./resources/assets/js/components/EditBloc.vue?vue&type=script&lang=js& ***! 40043 \******************************************************************************/ 40044/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40045 40046"use strict"; 40047__webpack_require__.r(__webpack_exports__); 40048/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40049/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40050/* harmony export */ }); 40051/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditBloc.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=script&lang=js&"); 40052 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40053 40054/***/ }), 40055 40056/***/ "./resources/assets/js/components/EditBuild.vue?vue&type=script&lang=js&": 40057/*!*******************************************************************************!*\ 40058 !*** ./resources/assets/js/components/EditBuild.vue?vue&type=script&lang=js& ***! 40059 \*******************************************************************************/ 40060/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40061 40062"use strict"; 40063__webpack_require__.r(__webpack_exports__); 40064/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40065/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40066/* harmony export */ }); 40067/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBuild_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditBuild.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBuild.vue?vue&type=script&lang=js&"); 40068 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBuild_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40069 40070/***/ }), 40071 40072/***/ "./resources/assets/js/components/Endroit.vue?vue&type=script&lang=js&": 40073/*!*****************************************************************************!*\ 40074 !*** ./resources/assets/js/components/Endroit.vue?vue&type=script&lang=js& ***! 40075 \*****************************************************************************/ 40076/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40077 40078"use strict"; 40079__webpack_require__.r(__webpack_exports__); 40080/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40081/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40082/* harmony export */ }); 40083/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endroit.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=script&lang=js&"); 40084 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40085 40086/***/ }), 40087 40088/***/ "./resources/assets/js/components/FacturationAdresse.vue?vue&type=script&lang=js&": 40089/*!****************************************************************************************!*\ 40090 !*** ./resources/assets/js/components/FacturationAdresse.vue?vue&type=script&lang=js& ***! 40091 \****************************************************************************************/ 40092/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40093 40094"use strict"; 40095__webpack_require__.r(__webpack_exports__); 40096/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40097/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40098/* harmony export */ }); 40099/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacturationAdresse.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=script&lang=js&"); 40100 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40101 40102/***/ }), 40103 40104/***/ "./resources/assets/js/components/FilterAdresse.vue?vue&type=script&lang=js&": 40105/*!***********************************************************************************!*\ 40106 !*** ./resources/assets/js/components/FilterAdresse.vue?vue&type=script&lang=js& ***! 40107 \***********************************************************************************/ 40108/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40109 40110"use strict"; 40111__webpack_require__.r(__webpack_exports__); 40112/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40113/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40114/* harmony export */ }); 40115/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterAdresse.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=script&lang=js&"); 40116 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40117 40118/***/ }), 40119 40120/***/ "./resources/assets/js/components/Generate.vue?vue&type=script&lang=js&": 40121/*!******************************************************************************!*\ 40122 !*** ./resources/assets/js/components/Generate.vue?vue&type=script&lang=js& ***! 40123 \******************************************************************************/ 40124/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40125 40126"use strict"; 40127__webpack_require__.r(__webpack_exports__); 40128/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40129/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40130/* harmony export */ }); 40131/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Generate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Generate.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Generate.vue?vue&type=script&lang=js&"); 40132 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Generate_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40133 40134/***/ }), 40135 40136/***/ "./resources/assets/js/components/ImageUploader.vue?vue&type=script&lang=js&": 40137/*!***********************************************************************************!*\ 40138 !*** ./resources/assets/js/components/ImageUploader.vue?vue&type=script&lang=js& ***! 40139 \***********************************************************************************/ 40140/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40141 40142"use strict"; 40143__webpack_require__.r(__webpack_exports__); 40144/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40145/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40146/* harmony export */ }); 40147/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageUploader.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=script&lang=js&"); 40148 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40149 40150/***/ }), 40151 40152/***/ "./resources/assets/js/components/Jurisprudence.vue?vue&type=script&lang=js&": 40153/*!***********************************************************************************!*\ 40154 !*** ./resources/assets/js/components/Jurisprudence.vue?vue&type=script&lang=js& ***! 40155 \***********************************************************************************/ 40156/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40157 40158"use strict"; 40159__webpack_require__.r(__webpack_exports__); 40160/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40161/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40162/* harmony export */ }); 40163/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Jurisprudence.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=script&lang=js&"); 40164 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40165 40166/***/ }), 40167 40168/***/ "./resources/assets/js/components/ListAutocomplete.vue?vue&type=script&lang=js&": 40169/*!**************************************************************************************!*\ 40170 !*** ./resources/assets/js/components/ListAutocomplete.vue?vue&type=script&lang=js& ***! 40171 \**************************************************************************************/ 40172/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40173 40174"use strict"; 40175__webpack_require__.r(__webpack_exports__); 40176/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40177/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40178/* harmony export */ }); 40179/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListAutocomplete.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=script&lang=js&"); 40180 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40181 40182/***/ }), 40183 40184/***/ "./resources/assets/js/components/Loi.vue?vue&type=script&lang=js&": 40185/*!*************************************************************************!*\ 40186 !*** ./resources/assets/js/components/Loi.vue?vue&type=script&lang=js& ***! 40187 \*************************************************************************/ 40188/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40189 40190"use strict"; 40191__webpack_require__.r(__webpack_exports__); 40192/* harmony export */ __webpack_require__.d(__webpack_exports_
40192_, { 40193/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40194/* harmony export */ }); 40195/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loi.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=script&lang=js&"); 40196 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40197 40198/***/ }), 40199 40200/***/ "./resources/assets/js/components/Manager.vue?vue&type=script&lang=js&": 40201/*!*****************************************************************************!*\ 40202 !*** ./resources/assets/js/components/Manager.vue?vue&type=script&lang=js& ***! 40203 \*****************************************************************************/ 40204/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40205 40206"use strict"; 40207__webpack_require__.r(__webpack_exports__); 40208/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40209/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40210/* harmony export */ }); 40211/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manager.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=script&lang=js&"); 40212 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40213 40214/***/ }), 40215 40216/***/ "./resources/assets/js/components/Occurrence.vue?vue&type=script&lang=js&": 40217/*!********************************************************************************!*\ 40218 !*** ./resources/assets/js/components/Occurrence.vue?vue&type=script&lang=js& ***! 40219 \********************************************************************************/ 40220/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40221 40222"use strict"; 40223__webpack_require__.r(__webpack_exports__); 40224/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40225/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40226/* harmony export */ }); 40227/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Occurrence.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=script&lang=js&"); 40228 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40229 40230/***/ }), 40231 40232/***/ "./resources/assets/js/components/Organisateur.vue?vue&type=script&lang=js&": 40233/*!**********************************************************************************!*\ 40234 !*** ./resources/assets/js/components/Organisateur.vue?vue&type=script&lang=js& ***! 40235 \**********************************************************************************/ 40236/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40237 40238"use strict"; 40239__webpack_require__.r(__webpack_exports__); 40240/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40241/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40242/* harmony export */ }); 40243/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Organisateur.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=script&lang=js&"); 40244 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40245 40246/***/ }), 40247 40248/***/ "./resources/assets/js/components/ProductSelect.vue?vue&type=script&lang=js&": 40249/*!***********************************************************************************!*\ 40250 !*** ./resources/assets/js/components/ProductSelect.vue?vue&type=script&lang=js& ***! 40251 \***********************************************************************************/ 40252/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40253 40254"use strict"; 40255__webpack_require__.r(__webpack_exports__); 40256/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40257/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40258/* harmony export */ }); 40259/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProductSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductSelect.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ProductSelect.vue?vue&type=script&lang=js&"); 40260 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProductSelect_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40261 40262/***/ }), 40263 40264/***/ "./resources/assets/js/components/QuestionRow.vue?vue&type=script&lang=js&": 40265/*!*********************************************************************************!*\ 40266 !*** ./resources/assets/js/components/QuestionRow.vue?vue&type=script&lang=js& ***! 40267 \*********************************************************************************/ 40268/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40269 40270"use strict"; 40271__webpack_require__.r(__webpack_exports__); 40272/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40273/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40274/* harmony export */ }); 40275/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionRow.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=script&lang=js&"); 40276 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40277 40278/***/ }), 40279 40280/***/ "./resources/assets/js/components/Rabais.vue?vue&type=script&lang=js&": 40281/*!****************************************************************************!*\ 40282 !*** ./resources/assets/js/components/Rabais.vue?vue&type=script&lang=js& ***! 40283 \****************************************************************************/ 40284/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40285 40286"use strict"; 40287__webpack_require__.r(__webpack_exports__); 40288/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40289/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40290/* harmony export */ }); 40291/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rabais.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=script&lang=js&"); 40292 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40293 40294/***/ }), 40295 40296/***/ "./resources/assets/js/components/Rappel.vue?vue&type=script&lang=js&": 40297/*!****************************************************************************!*\ 40298 !*** ./resources/assets/js/components/Rappel.vue?vue&type=script&lang=js& ***! 40299 \****************************************************************************/ 40300/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40301 40302"use strict"; 40303__webpack_require__.r(__webpack_exports__); 40304/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40305/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40306/* harmony export */ }); 40307/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Rappel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rappel.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rappel.vue?vue&type=script&lang=js&"); 40308 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Rappel_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40309 40310/***/ }), 40311 40312/***/ "./resources/assets/js/components/Tags.vue?vue&type=script&lang=js&": 40313/*!**************************************************************************!*\ 40314 !*** ./resources/assets/js/components/Tags.vue?vue&type=script&lang=js& ***! 40315 \**************************************************************************/ 40316/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40317 40318"use strict"; 40319__webpack_require__.r(__webpack_exports__); 40320/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40321/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40322/* harmony export */ }); 40323/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Tags.vue?vue&type=script&lang=js&"); 40324 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tags_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40325 40326/***/ }), 40327 40328/***/ "./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=script&lang=js&": 40329/*!**********************************************************************************************!*\ 40330 !*** ./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=script&lang=js& ***! 40331 \**********************************************************************************************/ 40332/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40333 40334"use strict"; 40335__webpack_require__.r(__webpack_exports__); 40336/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40337/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40338/* harmony export */ }); 40339/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAdressesAutocomplete.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=script&lang=js&"); 40340 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40341 40342/***/ }), 40343 40344/***/ "./resources/assets/js/components/blocs/Arret.vue?vue&type=script&lang=js&": 40345/*!*********************************************************************************!*\ 40346 !*** ./resources/assets/js/components/blocs/Arret.vue?vue&type=script&lang=js& ***! 40347 \*********************************************************************************/ 40348/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40349 40350"use strict"; 40351__webpack_require__.r(__webpack_exports__); 40352/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40353/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40354/* harmony export */ }); 40355/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Arret_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arret.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/Arret.vue?vue&type=script&lang=js&"); 40356 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Arre
40356t_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40357 40358/***/ }), 40359 40360/***/ "./resources/assets/js/components/blocs/ModelContent.vue?vue&type=script&lang=js&": 40361/*!****************************************************************************************!*\ 40362 !*** ./resources/assets/js/components/blocs/ModelContent.vue?vue&type=script&lang=js& ***! 40363 \****************************************************************************************/ 40364/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40365 40366"use strict"; 40367__webpack_require__.r(__webpack_exports__); 40368/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40369/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40370/* harmony export */ }); 40371/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ModelContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModelContent.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/ModelContent.vue?vue&type=script&lang=js&"); 40372 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ModelContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40373 40374/***/ }), 40375 40376/***/ "./resources/assets/js/components/blocs/TextContent.vue?vue&type=script&lang=js&": 40377/*!***************************************************************************************!*\ 40378 !*** ./resources/assets/js/components/blocs/TextContent.vue?vue&type=script&lang=js& ***! 40379 \***************************************************************************************/ 40380/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40381 40382"use strict"; 40383__webpack_require__.r(__webpack_exports__); 40384/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40385/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40386/* harmony export */ }); 40387/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TextContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextContent.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/TextContent.vue?vue&type=script&lang=js&"); 40388 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TextContent_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40389 40390/***/ }), 40391 40392/***/ "./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=script&lang=js&": 40393/*!************************************************************************************************!*\ 40394 !*** ./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=script&lang=js& ***! 40395 \************************************************************************************************/ 40396/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40397 40398"use strict"; 40399__webpack_require__.r(__webpack_exports__); 40400/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40401/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40402/* harmony export */ }); 40403/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AnalyseNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyseNewsletter.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=script&lang=js&"); 40404 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AnalyseNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40405 40406/***/ }), 40407 40408/***/ "./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=script&lang=js&": 40409/*!**********************************************************************************************!*\ 40410 !*** ./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=script&lang=js& ***! 40411 \**********************************************************************************************/ 40412/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40413 40414"use strict"; 40415__webpack_require__.r(__webpack_exports__); 40416/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40417/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 40418/* harmony export */ }); 40419/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageNewsletter.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=script&lang=js&"); 40420 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); 40421 40422/***/ }), 40423 40424/***/ "./resources/assets/js/components/AdresseUpdate.vue?vue&type=template&id=44f721b1&": 40425/*!*****************************************************************************************!*\ 40426 !*** ./resources/assets/js/components/AdresseUpdate.vue?vue&type=template&id=44f721b1& ***! 40427 \*****************************************************************************************/ 40428/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40429 40430"use strict"; 40431__webpack_require__.r(__webpack_exports__); 40432/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40433/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_template_id_44f721b1___WEBPACK_IMPORTED_MODULE_0__.render), 40434/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_template_id_44f721b1___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40435/* harmony export */ }); 40436/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_template_id_44f721b1___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdresseUpdate.vue?vue&type=template&id=44f721b1& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=template&id=44f721b1&"); 40437 40438
40439/***/ }), 40440 40441/***/ "./resources/assets/js/components/Articles.vue?vue&type=template&id=59e03618&scoped=true&": 40442/*!************************************************************************************************!*\ 40443 !*** ./resources/assets/js/components/Articles.vue?vue&type=template&id=59e03618&scoped=true& ***! 40444 \************************************************************************************************/ 40445/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40446 40447"use strict"; 40448__webpack_require__.r(__webpack_exports__); 40449/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40450/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_template_id_59e03618_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render), 40451/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_template_id_59e03618_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40452/* harmony export */ }); 40453/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_template_id_59e03618_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Articles.vue?vue&type=template&id=59e03618&scoped=true& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=template&id=59e03618&scoped=true&"); 40454 40455 40456/***/ }), 40457 40458/***/ "./resources/assets/js/components/Build.vue?vue&type=template&id=18393072&": 40459/*!*********************************************************************************!*\ 40460 !*** ./resources/assets/js/components/Build.vue?vue&type=template&id=18393072& ***! 40461 \*********************************************************************************/ 40462/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40463 40464"use strict"; 40465__webpack_require__.r(__webpack_exports__); 40466/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40467/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Build_vue_vue_type_template_id_18393072___WEBPACK_IMPORTED_MODULE_0__.render), 40468/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Build_vue_vue_type_template_id_18393072___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40469/* harmony export */ }); 40470/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Build_vue_vue_type_template_id_18393072___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Build.vue?vue&type=template&id=18393072& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Build.vue?vue&type=template&id=18393072&"); 40471 40472 40473/***/ }), 40474 40475/***/ "./resources/assets/js/components/BuildNewsletter.vue?vue&type=template&id=59cdc560&": 40476/*!*******************************************************************************************!*\ 40477 !*** ./resources/assets/js/components/BuildNewsletter.vue?vue&type=template&id=59cdc560& ***! 40478 \*******************************************************************************************/ 40479/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40480 40481"use strict"; 40482__webpack_require__.r(__webpack_exports__); 40483/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40484/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_template_id_59cdc560___WEBPACK_IMPORTED_MODULE_0__.render), 40485/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_template_id_59cdc560___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40486/* harmony export */ }); 40487/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_template_id_59cdc560___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletter.vue?vue&type=template&id=59cdc560& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=template&id=59cdc560&"); 40488 40489
40490/***/ }), 40491 40492/***/ "./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=template&id=eab99d22&": 40493/*!*************************************************************************************************!*\ 40494 !*** ./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=template&id=eab99d22& ***! 40495 \*************************************************************************************************/ 40496/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40497 40498"use strict"; 40499__webpack_require__.r(__webpack_exports__); 40500/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40501/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_template_id_eab99d22___WEBPACK_IMPORTED_MODULE_0__.render), 40502/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_template_id_eab99d22___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40503/* harmony export */ }); 40504/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_template_id_eab99d22___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterBreves.vue?vue&type=template&id=eab99d22& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=template&id=eab99d22&"); 40505 40506 40507/***/ }), 40508 40509/***/ "./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf&": 40510/*!************************************************************************************************!*\ 40511 !*** ./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf& ***! 40512 \************************************************************************************************/ 40513/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40514 40515"use strict"; 40516__webpack_require__.r(__webpack_exports__); 40517/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40518/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_template_id_4c29dbaf___WEBPACK_IMPORTED_MODULE_0__.render), 40519/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_template_id_4c29dbaf___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40520/* harmony export */ }); 40521/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_template_id_4c29dbaf___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=template&id=4c29dbaf&"); 40522 40523 40524/***/ }), 40525 40526/***/ "./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=template&id=6dc490ea&": 40527/*!*************************************************************************************************!*\ 40528 !*** ./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=template&id=6dc490ea& ***! 40529 \*************************************************************************************************/ 40530/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40531 40532"use strict"; 40533__webpack_require__.r(__webpack_exports__); 40534/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40535/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_template_id_6dc490ea___WEBPACK_IMPORTED_MODULE_0__.render), 40536/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_template_id_6dc490ea___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40537/* harmony export */ }); 40538/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_template_id_6dc490ea___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterModels.vue?vue&type=template&id=6dc490ea& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=template&id=6dc490ea&"); 40539 40540
40541/***/ }), 40542 40543/***/ "./resources/assets/js/components/ChoixDuplicate.vue?vue&type=template&id=6b689aae&": 40544/*!******************************************************************************************!*\ 40545 !*** ./resources/assets/js/components/ChoixDuplicate.vue?vue&type=template&id=6b689aae& ***! 40546 \******************************************************************************************/ 40547/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40548 40549"use strict"; 40550__webpack_require__.r(__webpack_exports__); 40551/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40552/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_template_id_6b689aae___WEBPACK_IMPORTED_MODULE_0__.render), 40553/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_template_id_6b689aae___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40554/* harmony export */ }); 40555/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_template_id_6b689aae___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChoixDuplicate.vue?vue&type=template&id=6b689aae& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=template&id=6b689aae&"); 40556 40557 40558/***/ }), 40559 40560/***/ "./resources/assets/js/components/CreateBloc.vue?vue&type=template&id=2af8719e&": 40561/*!**************************************************************************************!*\ 40562 !*** ./resources/assets/js/components/CreateBloc.vue?vue&type=template&id=2af8719e& ***! 40563 \**************************************************************************************/ 40564/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40565 40566"use strict"; 40567__webpack_require__.r(__webpack_exports__); 40568/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40569/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_template_id_2af8719e___WEBPACK_IMPORTED_MODULE_0__.render), 40570/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_template_id_2af8719e___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40571/* harmony export */ }); 40572/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_template_id_2af8719e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateBloc.vue?vue&type=template&id=2af8719e& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=template&id=2af8719e&"); 40573 40574 40575/***/ }), 40576 40577/***/ "./resources/assets/js/components/Detenteur.vue?vue&type=template&id=6b67ecba&": 40578/*!*************************************************************************************!*\ 40579 !*** ./resources/assets/js/components/Detenteur.vue?vue&type=template&id=6b67ecba& ***! 40580 \*************************************************************************************/ 40581/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40582 40583"use strict"; 40584__webpack_require__.r(__webpack_exports__); 40585/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40586/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_template_id_6b67ecba___WEBPACK_IMPORTED_MODULE_0__.render), 40587/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_template_id_6b67ecba___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40588/* harmony export */ }); 40589/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_template_id_6b67ecba___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Detenteur.vue?vue&type=template&id=6b67ecba& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=template&id=6b67ecba&"); 40590 40591
40592/***/ }), 40593 40594/***/ "./resources/assets/js/components/EditBloc.vue?vue&type=template&id=5945d1ff&": 40595/*!************************************************************************************!*\ 40596 !*** ./resources/assets/js/components/EditBloc.vue?vue&type=template&id=5945d1ff& ***! 40597 \************************************************************************************/ 40598/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40599 40600"use strict"; 40601__webpack_require__.r(__webpack_exports__); 40602/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40603/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_template_id_5945d1ff___WEBPACK_IMPORTED_MODULE_0__.render), 40604/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_template_id_5945d1ff___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40605/* harmony export */ }); 40606/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_template_id_5945d1ff___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditBloc.vue?vue&type=template&id=5945d1ff& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=template&id=5945d1ff&"); 40607 40608 40609/***/ }), 40610 40611/***/ "./resources/assets/js/components/EditBuild.vue?vue&type=template&id=4b2d7c5d&": 40612/*!*************************************************************************************!*\ 40613 !*** ./resources/assets/js/components/EditBuild.vue?vue&type=template&id=4b2d7c5d& ***! 40614 \*************************************************************************************/ 40615/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40616 40617"use strict"; 40618__webpack_require__.r(__webpack_exports__); 40619/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40620/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBuild_vue_vue_type_template_id_4b2d7c5d___WEBPACK_IMPORTED_MODULE_0__.render), 40621/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBuild_vue_vue_type_template_id_4b2d7c5d___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40622/* harmony export */ }); 40623/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBuild_vue_vue_type_template_id_4b2d7c5d___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditBuild.vue?vue&type=template&id=4b2d7c5d& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBuild.vue?vue&type=template&id=4b2d7c5d&"); 40624 40625
40626/***/ }), 40627 40628/***/ "./resources/assets/js/components/Endroit.vue?vue&type=template&id=64c873c8&": 40629/*!***********************************************************************************!*\ 40630 !*** ./resources/assets/js/components/Endroit.vue?vue&type=template&id=64c873c8& ***! 40631 \***********************************************************************************/ 40632/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40633 40634"use strict"; 40635__webpack_require__.r(__webpack_exports__); 40636/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40637/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_template_id_64c873c8___WEBPACK_IMPORTED_MODULE_0__.render), 40638/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_template_id_64c873c8___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40639/* harmony export */ }); 40640/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_template_id_64c873c8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endroit.vue?vue&type=template&id=64c873c8& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=template&id=64c873c8&"); 40641 40642 40643/***/ }), 40644 40645/***/ "./resources/assets/js/components/FacturationAdresse.vue?vue&type=template&id=4d29797a&": 40646/*!**********************************************************************************************!*\ 40647 !*** ./resources/assets/js/components/FacturationAdresse.vue?vue&type=template&id=4d29797a& ***! 40648 \**********************************************************************************************/ 40649/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40650 40651"use strict"; 40652__webpack_require__.r(__webpack_exports__); 40653/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40654/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_template_id_4d29797a___WEBPACK_IMPORTED_MODULE_0__.render), 40655/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_template_id_4d29797a___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40656/* harmony export */ }); 40657/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_template_id_4d29797a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacturationAdresse.vue?vue&type=template&id=4d29797a& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=template&id=4d29797a&"); 40658 40659
40660/***/ }), 40661 40662/***/ "./resources/assets/js/components/FilterAdresse.vue?vue&type=template&id=15ac0c20&": 40663/*!*****************************************************************************************!*\ 40664 !*** ./resources/assets/js/components/FilterAdresse.vue?vue&type=template&id=15ac0c20& ***! 40665 \*****************************************************************************************/ 40666/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40667 40668"use strict"; 40669__webpack_require__.r(__webpack_exports__); 40670/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40671/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_template_id_15ac0c20___WEBPACK_IMPORTED_MODULE_0__.render), 40672/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_template_id_15ac0c20___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40673/* harmony export */ }); 40674/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_template_id_15ac0c20___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterAdresse.vue?vue&type=template&id=15ac0c20& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=template&id=15ac0c20&"); 40675 40676 40677/***/ }), 40678 40679/***/ "./resources/assets/js/components/Generate.vue?vue&type=template&id=4ff2cc2c&": 40680/*!************************************************************************************!*\ 40681 !*** ./resources/assets/js/components/Generate.vue?vue&type=template&id=4ff2cc2c& ***! 40682 \************************************************************************************/ 40683/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40684 40685"use strict"; 40686__webpack_require__.r(__webpack_exports__); 40687/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40688/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Generate_vue_vue_type_template_id_4ff2cc2c___WEBPACK_IMPORTED_MODULE_0__.render), 40689/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Generate_vue_vue_type_template_id_4ff2cc2c___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40690/* harmony export */ }); 40691/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Generate_vue_vue_type_template_id_4ff2cc2c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Generate.vue?vue&type=template&id=4ff2cc2c& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Generate.vue?vue&type=template&id=4ff2cc2c&"); 40692 40693
40694/***/ }), 40695 40696/***/ "./resources/assets/js/components/ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true&": 40697/*!*****************************************************************************************************!*\ 40698 !*** ./resources/assets/js/components/ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true& ***! 40699 \*****************************************************************************************************/ 40700/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40701 40702"use strict"; 40703__webpack_require__.r(__webpack_exports__); 40704/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40705/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_template_id_b62a887c_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render), 40706/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_template_id_b62a887c_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40707/* harmony export */ }); 40708/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_template_id_b62a887c_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=template&id=b62a887c&scoped=true&"); 40709 40710 40711/***/ }), 40712 40713/***/ "./resources/assets/js/components/Jurisprudence.vue?vue&type=template&id=b3b09bb4&": 40714/*!*****************************************************************************************!*\ 40715 !*** ./resources/assets/js/components/Jurisprudence.vue?vue&type=template&id=b3b09bb4& ***! 40716 \*****************************************************************************************/ 40717/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40718 40719"use strict"; 40720__webpack_require__.r(__webpack_exports__); 40721/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40722/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_template_id_b3b09bb4___WEBPACK_IMPORTED_MODULE_0__.render), 40723/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_template_id_b3b09bb4___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40724/* harmony export */ }); 40725/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_template_id_b3b09bb4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Jurisprudence.vue?vue&type=template&id=b3b09bb4& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=template&id=b3b09bb4&"); 40726 40727 40728/***/ }), 40729 40730/***/ "./resources/assets/js/components/ListAutocomplete.vue?vue&type=template&id=78b91edd&": 40731/*!********************************************************************************************!*\ 40732 !*** ./resources/assets/js/components/ListAutocomplete.vue?vue&type=template&id=78b91edd& ***! 40733 \********************************************************************************************/ 40734/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40735 40736"use strict"; 40737__webpack_require__.r(__webpack_exports__); 40738/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40739/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_template_id_78b91edd___WEBPACK_IMPORTED_MODULE_0__.render), 40740/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_template_id_78b91edd___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40741/* harmony export */ }); 40742/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_template_id_78b91edd___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListAutocomplete.vue?vue&type=template&id=78b91edd& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=template&id=78b91edd&"); 40743 40744
40745/***/ }), 40746 40747/***/ "./resources/assets/js/components/Loi.vue?vue&type=template&id=032b94df&": 40748/*!*******************************************************************************!*\ 40749 !*** ./resources/assets/js/components/Loi.vue?vue&type=template&id=032b94df& ***! 40750 \*******************************************************************************/ 40751/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40752 40753"use strict"; 40754__webpack_require__.r(__webpack_exports__); 40755/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40756/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_template_id_032b94df___WEBPACK_IMPORTED_MODULE_0__.render), 40757/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_template_id_032b94df___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40758/* harmony export */ }); 40759/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_template_id_032b94df___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loi.vue?vue&type=template&id=032b94df& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=template&id=032b94df&"); 40760 40761 40762/***/ }), 40763 40764/***/ "./resources/assets/js/components/Manager.vue?vue&type=template&id=439d8d46&scoped=true&": 40765/*!***********************************************************************************************!*\ 40766 !*** ./resources/assets/js/components/Manager.vue?vue&type=template&id=439d8d46&scoped=true& ***! 40767 \***********************************************************************************************/ 40768/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40769 40770"use strict"; 40771__webpack_require__.r(__webpack_exports__); 40772/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40773/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_template_id_439d8d46_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render), 40774/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_template_id_439d8d46_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40775/* harmony export */ }); 40776/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_template_id_439d8d46_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manager.vue?vue&type=template&id=439d8d46&scoped=true& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=template&id=439d8d46&scoped=true&"); 40777 40778 40779/***/ }), 40780 40781/***/ "./resources/assets/js/components/Occurrence.vue?vue&type=template&id=41d4e6c8&": 40782/*!**************************************************************************************!*\ 40783 !*** ./resources/assets/js/components/Occurrence.vue?vue&type=template&id=41d4e6c8& ***! 40784 \**************************************************************************************/ 40785/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40786 40787"use strict"; 40788__webpack_require__.r(__webpack_exports__); 40789/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40790/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_template_id_41d4e6c8___WEBPACK_IMPORTED_MODULE_0__.render), 40791/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_template_id_41d4e6c8___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40792/* harmony export */ }); 40793/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_template_id_41d4e6c8___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Occurrence.vue?vue&type=template&id=41d4e6c8& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=template&id=41d4e6c8&"); 40794 40795 40796/***/ }), 40797 40798/***/ "./resources/assets/js/components/Organisateur.vue?vue&type=template&id=21c99a4b&": 40799/*!****************************************************************************************!*\ 40800 !*** ./resources/assets/js/components/Organisateur.vue?vue&type=template&id=21c99a4b& ***! 40801 \****************************************************************************************/ 40802/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40803 40804"use strict"; 40805__webpack_require__.r(__webpack_exports__); 40806/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40807/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_template_id_21c99a4b___WEBPACK_IMPORTED_MODULE_0__.render), 40808/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_template_id_21c99a4b___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40809/* harmony export */ }); 40810/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_template_id_21c99a4b___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Organisateur.vue?vue&type=template&id=21c99a4b& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=template&id=21c99a4b&"); 40811 40812 40813/***/ }), 40814 40815/***/ "./resources/assets/js/components/ProductSelect.vue?vue&type=template&id=2fb718a4&": 40816/*!*****************************************************************************************!*\ 40817 !*** ./resources/assets/js/components/ProductSelect.vue?vue&type=template&id=2fb718a4& ***! 40818 \*****************************************************************************************/ 40819/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40820 40821"use strict"; 40822__webpack_require__.r(__webpack_exports__); 40823/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40824/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ProductSelect_vue_vue_type_template_id_2fb718a4___WEBPACK_IMPORTED_MODULE_0__.render), 40825/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ProductSelect_vue_vue_type_template_id_2fb718a4___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40826/* harmony export */ }); 40827/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ProductSelect_vue_vue_type_template_id_2fb718a4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductSelect.vue?vue&type=template&id=2fb718a4& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ProductSelect.vue?vue&type=template&id=2fb718a4&"); 40828 40829 40830/***/ }), 40831 40832/***/ "./resources/assets/js/components/QuestionRow.vue?vue&type=template&id=4b44fdad&": 40833/*!***************************************************************************************!*\ 40834 !*** ./resources/assets/js/components/QuestionRow.vue?vue&type=template&id=4b44fdad& ***! 40835 \***************************************************************************************/ 40836/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40837 40838"use strict"; 40839__webpack_require__.r(__webpack_exports__); 40840/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40841/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_template_id_4b44fdad___WEBPACK_IMPORTED_MODULE_0__.render), 40842/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_template_id_4b44fdad___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40843/* harmony export */ }); 40844/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_template_id_4b44fdad___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionRow.vue?vue&type=template&id=4b44fdad& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=template&id=4b44fdad&"); 40845 40846
40847/***/ }), 40848 40849/***/ "./resources/assets/js/components/Rabais.vue?vue&type=template&id=26ef0d4f&": 40850/*!**********************************************************************************!*\ 40851 !*** ./resources/assets/js/components/Rabais.vue?vue&type=template&id=26ef0d4f& ***! 40852 \**********************************************************************************/ 40853/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40854 40855"use strict"; 40856__webpack_require__.r(__webpack_exports__); 40857/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40858/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_template_id_26ef0d4f___WEBPACK_IMPORTED_MODULE_0__.render), 40859/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_template_id_26ef0d4f___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40860/* harmony export */ }); 40861/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_template_id_26ef0d4f___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rabais.vue?vue&type=template&id=26ef0d4f& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=template&id=26ef0d4f&"); 40862 40863 40864/***/ }), 40865 40866/***/ "./resources/assets/js/components/Rappel.vue?vue&type=template&id=30f21966&": 40867/*!**********************************************************************************!*\ 40868 !*** ./resources/assets/js/components/Rappel.vue?vue&type=template&id=30f21966& ***! 40869 \**********************************************************************************/ 40870/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40871 40872"use strict"; 40873__webpack_require__.r(__webpack_exports__); 40874/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40875/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rappel_vue_vue_type_template_id_30f21966___WEBPACK_IMPORTED_MODULE_0__.render), 40876/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rappel_vue_vue_type_template_id_30f21966___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40877/* harmony export */ }); 40878/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rappel_vue_vue_type_template_id_30f21966___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rappel.vue?vue&type=template&id=30f21966& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rappel.vue?vue&type=template&id=30f21966&"); 40879 40880
40881/***/ }), 40882 40883/***/ "./resources/assets/js/components/Tags.vue?vue&type=template&id=8609bf60&": 40884/*!********************************************************************************!*\ 40885 !*** ./resources/assets/js/components/Tags.vue?vue&type=template&id=8609bf60& ***! 40886 \********************************************************************************/ 40887/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40888 40889"use strict"; 40890__webpack_require__.r(__webpack_exports__); 40891/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40892/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Tags_vue_vue_type_template_id_8609bf60___WEBPACK_IMPORTED_MODULE_0__.render), 40893/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Tags_vue_vue_type_template_id_8609bf60___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40894/* harmony export */ }); 40895/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Tags_vue_vue_type_template_id_8609bf60___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=template&id=8609bf60& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Tags.vue?vue&type=template&id=8609bf60&"); 40896 40897 40898/***/ }), 40899 40900/***/ "./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce&": 40901/*!****************************************************************************************************!*\ 40902 !*** ./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce& ***! 40903 \****************************************************************************************************/ 40904/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40905 40906"use strict"; 40907__webpack_require__.r(__webpack_exports__); 40908/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40909/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_template_id_16e197ce___WEBPACK_IMPORTED_MODULE_0__.render), 40910/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_template_id_16e197ce___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40911/* harmony export */ }); 40912/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_template_id_16e197ce___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=template&id=16e197ce&"); 40913 40914 40915/***/ }), 40916 40917/***/ "./resources/assets/js/components/blocs/Arret.vue?vue&type=template&id=7d680d22&": 40918/*!***************************************************************************************!*\ 40919 !*** ./resources/assets/js/components/blocs/Arret.vue?vue&type=template&id=7d680d22& ***! 40920 \***************************************************************************************/ 40921/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40922 40923"use strict"; 40924__webpack_require__.r(__webpack_exports__); 40925/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40926/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Arret_vue_vue_type_template_id_7d680d22___WEBPACK_IMPORTED_MODULE_0__.render), 40927/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Arret_vue_vue_type_template_id_7d680d22___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40928/* harmony export */ }); 40929/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Arret_vue_vue_type_template_id_7d680d22___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Arret.vue?vue&type=template&id=7d680d22& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/Arret.vue?vue&type=template&id=7d680d22&"); 40930 40931 40932/***/ }), 40933 40934/***/ "./resources/assets/js/components/blocs/ModelContent.vue?vue&type=template&id=734949c1&": 40935/*!**********************************************************************************************!*\ 40936 !*** ./resources/assets/js/components/blocs/ModelContent.vue?vue&type=template&id=734949c1& ***! 40937 \**********************************************************************************************/ 40938/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40939 40940"use strict"; 40941__webpack_require__.r(__webpack_exports__); 40942/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40943/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ModelContent_vue_vue_type_template_id_734949c1___WEBPACK_IMPORTED_MODULE_0__.render), 40944/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ModelContent_vue_vue_type_template_id_734949c1___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40945/* harmony export */ }); 40946/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ModelContent_vue_vue_type_template_id_734949c1___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModelContent.vue?vue&type=template&id=734949c1& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/ModelContent.vue?vue&type=template&id=734949c1&"); 40947 40948
40949/***/ }), 40950 40951/***/ "./resources/assets/js/components/blocs/TextContent.vue?vue&type=template&id=8dea9c2a&": 40952/*!*********************************************************************************************!*\ 40953 !*** ./resources/assets/js/components/blocs/TextContent.vue?vue&type=template&id=8dea9c2a& ***! 40954 \*********************************************************************************************/ 40955/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40956 40957"use strict"; 40958__webpack_require__.r(__webpack_exports__); 40959/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40960/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_TextContent_vue_vue_type_template_id_8dea9c2a___WEBPACK_IMPORTED_MODULE_0__.render), 40961/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_TextContent_vue_vue_type_template_id_8dea9c2a___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40962/* harmony export */ }); 40963/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_TextContent_vue_vue_type_template_id_8dea9c2a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextContent.vue?vue&type=template&id=8dea9c2a& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/blocs/TextContent.vue?vue&type=template&id=8dea9c2a&"); 40964 40965 40966/***/ }), 40967 40968/***/ "./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=template&id=a932f0f4&": 40969/*!******************************************************************************************************!*\ 40970 !*** ./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=template&id=a932f0f4& ***! 40971 \******************************************************************************************************/ 40972/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40973 40974"use strict"; 40975__webpack_require__.r(__webpack_exports__); 40976/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40977/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AnalyseNewsletter_vue_vue_type_template_id_a932f0f4___WEBPACK_IMPORTED_MODULE_0__.render), 40978/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AnalyseNewsletter_vue_vue_type_template_id_a932f0f4___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40979/* harmony export */ }); 40980/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AnalyseNewsletter_vue_vue_type_template_id_a932f0f4___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnalyseNewsletter.vue?vue&type=template&id=a932f0f4& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/AnalyseNewsletter.vue?vue&type=template&id=a932f0f4&"); 40981 40982 40983/***/ }), 40984 40985/***/ "./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=template&id=980be224&": 40986/*!****************************************************************************************************!*\ 40987 !*** ./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=template&id=980be224& ***! 40988 \****************************************************************************************************/ 40989/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 40990 40991"use strict"; 40992__webpack_require__.r(__webpack_exports__); 40993/* harmony export */ __webpack_require__.d(__webpack_exports__, { 40994/* harmony export */ render: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_template_id_980be224___WEBPACK_IMPORTED_MODULE_0__.render), 40995/* harmony export */ staticRenderFns: () => (/* reexport safe */ _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_template_id_980be224___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) 40996/* harmony export */ }); 40997/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_use_0_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_template_id_980be224___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageNewsletter.vue?vue&type=template&id=980be224& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=template&id=980be224&"); 40998 40999 41000/***/ }), 41001 41002/***/ "./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css&": 41003/*!*******************************************************************************************************!*\ 41004 !*** ./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css& ***! 41005 \*******************************************************************************************************/ 41006/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41007 41008"use strict"; 41009__webpack_require__.r(__webpack_exports__); 41010/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLo
41010ader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AdresseUpdate_vue_vue_type_style_index_0_id_44f721b1_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/AdresseUpdate.vue?vue&type=style&index=0&id=44f721b1&lang=css&"); 41011 41012 41013/***/ }), 41014 41015/***/ "./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css&": 41016/*!**************************************************************************************************************!*\ 41017 !*** ./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css& ***! 41018 \**************************************************************************************************************/ 41019/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41020 41021"use strict"; 41022__webpack_require__.r(__webpack_exports__); 41023/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Articles_vue_vue_type_style_index_0_id_59e03618_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Articles.vue?vue&type=style&index=0&id=59e03618&scoped=true&lang=css&"); 41024 41025 41026/***/ }), 41027 41028/***/ "./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css&": 41029/*!*********************************************************************************************************!*\ 41030 !*** ./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css& ***! 41031 \*********************************************************************************************************/ 41032/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41033 41034"use strict"; 41035__webpack_require__.r(__webpack_exports__); 41036/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletter_vue_vue_type_style_index_0_id_59cdc560_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLo
41036ader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletter.vue?vue&type=style&index=0&id=59cdc560&lang=css&"); 41037 41038 41039/***/ }), 41040 41041/***/ "./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css&": 41042/*!***************************************************************************************************************!*\ 41043 !*** ./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css& ***! 41044 \***************************************************************************************************************/ 41045/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41046 41047"use strict"; 41048__webpack_require__.r(__webpack_exports__); 41049/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterBreves_vue_vue_type_style_index_0_id_eab99d22_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterBreves.vue?vue&type=style&index=0&id=eab99d22&lang=css&"); 41050 41051 41052/***/ }), 41053 41054/***/ "./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css&": 41055/*!**************************************************************************************************************!*\ 41056 !*** ./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css& ***! 41057 \**************************************************************************************************************/ 41058/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41059 41060"use strict"; 41061__webpack_require__.r(__webpack_exports__); 41062/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterGroup_vue_vue_type_style_index_0_id_4c29dbaf_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLo
41062ader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterGroup.vue?vue&type=style&index=0&id=4c29dbaf&lang=css&"); 41063 41064 41065/***/ }), 41066 41067/***/ "./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css&": 41068/*!***************************************************************************************************************!*\ 41069 !*** ./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css& ***! 41070 \***************************************************************************************************************/ 41071/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41072 41073"use strict"; 41074__webpack_require__.r(__webpack_exports__); 41075/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_BuildNewsletterModels_vue_vue_type_style_index_0_id_6dc490ea_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/BuildNewsletterModels.vue?vue&type=style&index=0&id=6dc490ea&lang=css&"); 41076 41077 41078/***/ }), 41079 41080/***/ "./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css&": 41081/*!********************************************************************************************************!*\ 41082 !*** ./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css& ***! 41083 \********************************************************************************************************/ 41084/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41085 41086"use strict"; 41087__webpack_require__.r(__webpack_exports__); 41088/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ChoixDuplicate_vue_vue_type_style_index_0_id_6b689aae_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ChoixDuplicate.vue?vue&type=style&index=0&id=6b689aae&lang=css&"); 41089 41090 41091/***/ }), 41092 41093/***/ "./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css&": 41094/*!****************************************************************************************************!*\ 41095 !*** ./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css& ***! 41096 \****************************************************************************************************/ 41097/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41098 41099"use strict"; 41100__webpack_require__.r(__webpack_exports__); 41101/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLo
41101ader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_CreateBloc_vue_vue_type_style_index_0_id_2af8719e_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/CreateBloc.vue?vue&type=style&index=0&id=2af8719e&lang=css&"); 41102 41103 41104/***/ }), 41105 41106/***/ "./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css&": 41107/*!***************************************************************************************************!*\ 41108 !*** ./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css& ***! 41109 \***************************************************************************************************/ 41110/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41111 41112"use strict"; 41113__webpack_require__.r(__webpack_exports__); 41114/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Detenteur_vue_vue_type_style_index_0_id_6b67ecba_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Detenteur.vue?vue&type=style&index=0&id=6b67ecba&lang=css&"); 41115 41116 41117/***/ }), 41118 41119/***/ "./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css&": 41120/*!**************************************************************************************************!*\ 41121 !*** ./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css& ***! 41122 \**************************************************************************************************/ 41123/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41124 41125"use strict"; 41126__webpack_require__.r(__webpack_exports__); 41127/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EditBloc_vue_vue_type_style_index_0_id_5945d1ff_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLo
41127ader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/EditBloc.vue?vue&type=style&index=0&id=5945d1ff&lang=css&"); 41128 41129 41130/***/ }), 41131 41132/***/ "./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css&": 41133/*!*************************************************************************************************!*\ 41134 !*** ./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css& ***! 41135 \*************************************************************************************************/ 41136/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41137 41138"use strict"; 41139__webpack_require__.r(__webpack_exports__); 41140/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Endroit_vue_vue_type_style_index_0_id_64c873c8_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Endroit.vue?vue&type=style&index=0&id=64c873c8&lang=css&"); 41141 41142 41143/***/ }), 41144 41145/***/ "./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css&": 41146/*!************************************************************************************************************!*\ 41147 !*** ./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css& ***! 41148 \************************************************************************************************************/ 41149/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41150 41151"use strict"; 41152__webpack_require__.r(__webpack_exports__); 41153/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FacturationAdresse_vue_vue_type_style_index_0_id_4d29797a_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FacturationAdresse.vue?vue&type=style&index=0&id=4d29797a&lang=css&"); 41154 41155
41156/***/ }), 41157 41158/***/ "./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css&": 41159/*!*******************************************************************************************************!*\ 41160 !*** ./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css& ***! 41161 \*******************************************************************************************************/ 41162/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41163 41164"use strict"; 41165__webpack_require__.r(__webpack_exports__); 41166/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_FilterAdresse_vue_vue_type_style_index_0_id_15ac0c20_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/FilterAdresse.vue?vue&type=style&index=0&id=15ac0c20&lang=css&"); 41167 41168 41169/***/ }), 41170 41171/***/ "./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css&": 41172/*!*******************************************************************************************************************!*\ 41173 !*** ./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css& ***! 41174 \*******************************************************************************************************************/ 41175/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41176 41177"use strict"; 41178__webpack_require__.r(__webpack_exports__); 41179/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageUploader_vue_vue_type_style_index_0_id_b62a887c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ImageUploader.vue?vue&type=style&index=0&id=b62a887c&scoped=true&lang=css&"); 41180 41181 41182/***/ }), 41183 41184/***/ "./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css&": 41185/*!*******************************************************************************************************!*\ 41186 !*** ./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css& ***! 41187 \*******************************************************************************************************/ 41188/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41189 41190"use strict"; 41191__webpack_require__.r(__webpack_exports__); 41192/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLo
41192ader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Jurisprudence_vue_vue_type_style_index_0_id_b3b09bb4_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Jurisprudence.vue?vue&type=style&index=0&id=b3b09bb4&lang=css&"); 41193 41194 41195/***/ }), 41196 41197/***/ "./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css&": 41198/*!**********************************************************************************************************!*\ 41199 !*** ./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css& ***! 41200 \**********************************************************************************************************/ 41201/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41202 41203"use strict"; 41204__webpack_require__.r(__webpack_exports__); 41205/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ListAutocomplete_vue_vue_type_style_index_0_id_78b91edd_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/ListAutocomplete.vue?vue&type=style&index=0&id=78b91edd&lang=css&"); 41206 41207 41208/***/ }), 41209 41210/***/ "./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css&": 41211/*!*********************************************************************************************!*\ 41212 !*** ./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css& ***! 41213 \*********************************************************************************************/ 41214/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41215 41216"use strict"; 41217__webpack_require__.r(__webpack_exports__); 41218/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Loi_vue_vue_type_style_index_0_id_032b94df_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLo
41218ader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loi.vue?vue&type=style&index=0&id=032b94df&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Loi.vue?vue&type=style&index=0&id=032b94df&lang=css&"); 41219 41220 41221/***/ }), 41222 41223/***/ "./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css&": 41224/*!*************************************************************************************************************!*\ 41225 !*** ./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css& ***! 41226 \*************************************************************************************************************/ 41227/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41228 41229"use strict"; 41230__webpack_require__.r(__webpack_exports__); 41231/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Manager_vue_vue_type_style_index_0_id_439d8d46_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Manager.vue?vue&type=style&index=0&id=439d8d46&scoped=true&lang=css&"); 41232 41233 41234/***/ }), 41235 41236/***/ "./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css&": 41237/*!****************************************************************************************************!*\ 41238 !*** ./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css& ***! 41239 \****************************************************************************************************/ 41240/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41241 41242"use strict"; 41243__webpack_require__.r(__webpack_exports__); 41244/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Occurrence_vue_vue_type_style_index_0_id_41d4e6c8_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLo
41244ader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Occurrence.vue?vue&type=style&index=0&id=41d4e6c8&lang=css&"); 41245 41246 41247/***/ }), 41248 41249/***/ "./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css&": 41250/*!******************************************************************************************************!*\ 41251 !*** ./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css& ***! 41252 \******************************************************************************************************/ 41253/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41254 41255"use strict"; 41256__webpack_require__.r(__webpack_exports__); 41257/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Organisateur_vue_vue_type_style_index_0_id_21c99a4b_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Organisateur.vue?vue&type=style&index=0&id=21c99a4b&lang=css&"); 41258 41259 41260/***/ }), 41261 41262/***/ "./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css&": 41263/*!*****************************************************************************************************!*\ 41264 !*** ./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css& ***! 41265 \*****************************************************************************************************/ 41266/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41267 41268"use strict"; 41269__webpack_require__.r(__webpack_exports__); 41270/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionRow_vue_vue_type_style_index_0_id_4b44fdad_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/QuestionRow.vue?vue&type=style&index=0&id=4b44fdad&lang=css&"); 41271 41272 41273/***/ }), 41274 41275/***/ "./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css&": 41276/*!************************************************************************************************!*\ 41277 !*** ./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css& ***! 41278 \************************************************************************************************/ 41279/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41280 41281"use strict"; 41282__webpack_require__.r(__webpack_exports__); 41283/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLo
41283ader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Rabais_vue_vue_type_style_index_0_id_26ef0d4f_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/Rabais.vue?vue&type=style&index=0&id=26ef0d4f&lang=css&"); 41284 41285 41286/***/ }), 41287 41288/***/ "./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css&": 41289/*!******************************************************************************************************************!*\ 41290 !*** ./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css& ***! 41291 \******************************************************************************************************************/ 41292/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41293 41294"use strict"; 41295__webpack_require__.r(__webpack_exports__); 41296/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_UserAdressesAutocomplete_vue_vue_type_style_index_0_id_16e197ce_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/style-loader/dist/cjs.js!../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/UserAdressesAutocomplete.vue?vue&type=style&index=0&id=16e197ce&lang=css&"); 41297 41298 41299/***/ }), 41300 41301/***/ "./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css&": 41302/*!******************************************************************************************************************!*\ 41303 !*** ./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css& ***! 41304 \******************************************************************************************************************/ 41305/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41306 41307"use strict"; 41308__webpack_require__.r(__webpack_exports__); 41309/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_8_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_8_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_ImageNewsletter_vue_vue_type_style_index_0_id_980be224_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../node_modules/style-loader/dist/cjs.js!../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!../../../../../node_modules/vue-loader/lib/loaders/stylePostLo
41309ader.js!../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-8.use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-8.use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/partials/ImageNewsletter.vue?vue&type=style&index=0&id=980be224&lang=css&"); 41310 41311 41312/***/ }), 41313 41314/***/ "./resources/assets/js/components/Generate.vue?vue&type=custom&index=0&blockType=styles": 41315/*!**********************************************************************************************!*\ 41316 !*** ./resources/assets/js/components/Generate.vue?vue&type=custom&index=0&blockType=styles ***! 41317 \**********************************************************************************************/ 41318/***/ (() => { 41319 41320 41321 41322/***/ }), 41323 41324/***/ "./resources/assets/js/components/Rappel.vue?vue&type=custom&index=0&blockType=styles": 41325/*!********************************************************************************************!*\ 41326 !*** ./resources/assets/js/components/Rappel.vue?vue&type=custom&index=0&blockType=styles ***! 41327 \********************************************************************************************/ 41328/***/ (() => { 41329 41330 41331 41332/***/ }), 41333
vendor: 3,357 bytes, lines 41334-41444
41334/***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js": 41335/*!********************************************************************!*\ 41336 !*** ./node_modules/vue-loader/lib/runtime/componentNormalizer.js ***! 41337 \********************************************************************/ 41338/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41339 41340"use strict"; 41341__webpack_require__.r(__webpack_exports__); 41342/* harmony export */ __webpack_require__.d(__webpack_exports__, { 41343/* harmony export */ "default": () => (/* binding */ normalizeComponent) 41344/* harmony export */ }); 41345/* globals __VUE_SSR_CONTEXT__ */ 41346 41347// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). 41348// This module is a runtime utility for cleaner component module output and will 41349// be included in the final webpack user bundle. 41350 41351function normalizeComponent( 41352 scriptExports, 41353 render, 41354 staticRenderFns, 41355 functionalTemplate, 41356 injectStyles, 41357 scopeId, 41358 moduleIdentifier /* server only */, 41359 shadowMode /* vue-cli only */ 41360) { 41361 // Vue.extend constructor export interop 41362 var options = 41363 typeof scriptExports === 'function' ? scriptExports.options : scriptExports 41364 41365 // render functions 41366 if (render) { 41367 options.render = render 41368 options.staticRenderFns = staticRenderFns 41369 options._compiled = true 41370 } 41371 41372 // functional template 41373 if (functionalTemplate) { 41374 options.functional = true 41375 } 41376 41377 // scopedId 41378 if (scopeId) { 41379 options._scopeId = 'data-v-' + scopeId 41380 } 41381 41382 var hook 41383 if (moduleIdentifier) { 41384 // server build 41385 hook = function (context) { 41386 // 2.3 injection 41387 context = 41388 context || // cached call 41389 (this.$vnode && this.$vnode.ssrContext) || // stateful 41390 (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional 41391 // 2.2 with runInNewContext: true 41392 if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { 41393 context = __VUE_SSR_CONTEXT__ 41394 } 41395 // inject component styles 41396 if (injectStyles) { 41397 injectStyles.call(this, context) 41398 } 41399 // register component module identifier for async chunk inferrence 41400 if (context && context._registeredComponents) { 41401 context._registeredComponents.add(moduleIdentifier) 41402 } 41403 } 41404 // used by ssr in case component is cached and beforeCreate 41405 // never gets called 41406 options._ssrRegister = hook 41407 } else if (injectStyles) { 41408 hook = shadowMode 41409 ? function () { 41410 injectStyles.call( 41411 this, 41412 (options.functional ? this.parent : this).$root.$options.shadowRoot 41413 ) 41414 } 41415 : injectStyles 41416 } 41417 41418 if (hook) { 41419 if (options.functional) { 41420 // for template-only hot-reload because in that case the render fn doesn't 41421 // go through the normalizer 41422 options._injectStyles = hook 41423 // register for functional component in vue file 41424 var originalRender = options.render 41425 options.render = function renderWithStyleInjection(h, context) { 41426 hook.call(context) 41427 return originalRender(h, context) 41428 } 41429 } else { 41430 // inject component registration as beforeCreate hook 41431 var existing = options.beforeCreate 41432 options.beforeCreate = existing ? [].concat(existing, hook) : [hook] 41433 } 41434 } 41435 41436 return { 41437 exports: scriptExports, 41438 options: options 41439 } 41440} 41441 41442 41443/***/ }), 41444
vendor: 21,372 bytes, lines 41445-41455
41445/***/ "./node_modules/vue-select/dist/vue-select.js": 41446/*!****************************************************!*\ 41447 !*** ./node_modules/vue-select/dist/vue-select.js ***! 41448 \****************************************************/ 41449/***/ (function(module) { 41450 41451!function(e,t){ true?module.exports=t():0}("undefined"!=typeof self?self:this,(function(){return(()=>{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},713:e=>{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(e,t,n)=>{var o=n(646),i=n(860),s=n(206);e.exports=function(e){return o(e)||i(e)||s()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";n.r(o),n.d(o,{VueSelect:()=>m,default:()=>O,mixins:()=>_});var e=n(319),t=n.n(e),i=n(8),s=n.n(i),r=n(713),a=n.n(r);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var t=this;this.autoscroll&&e&&this.$nextTick((function(){return t.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,t=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(t){var n=this.getDropdownViewport(),o=t.getBoundingClientRect(),i=o.top,s=o.bottom,r=o.height;if(i<n.top)return this.$refs.dropdownMenu.scrollTop=t.offsetTop;if(s>n.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(n.height-r)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){for(var e=0;e<this.filteredOptions.length;e++)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},open:function(e){e&&this.typeAheadToLastSelected()},selectedValue:function(){this.open&&this.typeAheadToLastSelected()}},methods:{typeAheadUp:function(){for(var e=this.typeAheadPointer-1;e>=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e<this.filteredOptions.length;e++)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadSelect:function(){var e=this.filteredOptions[this.typeAheadPointer];e&&this.selectable(e)&&this.select(e)},typeAheadToLastSelected:function(){var e=0!==this.selectedValue.length?this.filteredOptions.indexOf(this.selectedValue[this.selectedValue.length-1]):-1;-1!==e&&(this.typeAheadPointer=e)}}},u={props:{loading:{type:Boolean,default:!1}},data:function(){return{mutableLoading:!1}},watch:{search:function(){this.$emit("search",this.search,this.toggleLoading)},loading:function(e){this.mutableLoading=e}},methods:{toggleLoading:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function p(e,t,n,o,i,s,r,a){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),s&&(c._scopeId="data-v-"+s),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}const h={Deselect:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[t("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])}),[],!1,null,null,null).exports,OpenIndicator:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[t("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])}),[],!1,null,null,null).exports},d={inserted:function(e,t,n){var o=n.context;if(o.appendToBody){var i=o.$refs.toggle.getBoundingClientRect(),s=i.height,r=i.top,a=i.left,l=i.width,c=window.scrollX||window.pageXOffset,u=window.scrollY||window.pageYOffset;e.unbindPosition=o.calculatePosition(e,o,{width:l+"px",left:c+a+"px",top:u+r+s+"px"}),document.body.appendChild(e)}},unbind:function(e,t,n){n.context.appendToBody&&(e.unbindPosition&&"function"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};const f=function(e){var t={};return Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),JSON.stringify(t)};var y=0;const g=function(){return++y};function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?b(Object(n),!0).forEach((function(t){a()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const m=p({components:v({},h),directives:{appendToBody:d},mixins:[l,c,u],props:{value:{},components:{type:Object,default:function(){return{}}},options:{type:Array,default:function(){return[]}},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:""},transition:{type:String,default:"vs__fade"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},autocomplete:{type:String,default:"off"},reduce:{type:Function,default:function(e){return e}},selectable:{type:Function,default:function(e){return!0}},getOptionLabel:{type:Function,default:function(e){return"object"===s()(e)?e.hasOwnProperty(this.label)?e[this.label]:console.warn('[vue-select warn]: Label key "option.'.concat(this.label,'" does not')+" exist in options object ".concat(JSON.stringify(e),".\n")+"https://vue-select.org/api/props.html#getoptionlabel"):e}},getOptionKey:{type:Function,default:function(e){if("object"!==s()(e))return e;try{return e.hasOwnProperty("id")?e.id:f(e)}catch(t){return console.warn("[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option.\nhttps://vue-select.org/api/props.html#getoptionkey",e,t)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default:function(e,t,n){return(t||"").toLocaleLowerCase().indexOf(n.toLocaleLowerCase())>-1}},filter:{type:Function,default:function(e,t){var n=this;return e.filter((function(e){var o=n.getOptionLabel(e);return"number"==typeof o&&(o=o.toString()),n.filterBy(e,o,t)}))}},createOption:{type:Function,default:function(e){return"object"===s()(this.optionList[0])?a()({},this.label,e):e}},resetOnOptionsChange:{default:!1,validator:function(e){return["function","boolean"].includes(s()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var t=e.clearSearchOnSelect,n=e.multiple;return t&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(e,t){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,t,n){var o=n.width,i=n.top,s=n.left;e.style.top=i,e.style.left=s,e.style.width=o}},dropdownShouldOpen:{type:Function,default:function(e){var t=e.noDrop,n=e.open,o=e.mutableLoading;return!t&&(n&&!o)}},uid:{type:[String,Number],default:function(){return g()}}},data:function(){return{search:"",open:!1,isComposing:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&""!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,t={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:v({disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,id:this.inputId,"aria-autocomplete":"list","aria-labelledby":"vs".concat(this.uid,"__combobox"),"aria-controls":"vs".concat(this.uid,"__listbox"),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(t){return e.search=t.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:t,listFooter:t,header:v({},t,{deselect:this.deselect}),footer:v({},t,{deselect:this.deselect})}},childComponents:function(){return v({},h,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return e;var t=this.search.length?this.filter(e,this.search,this):e;if(this.taggable&&this.search.length){var n=this.createOption(this.search);this.optionExists(n)||t.unshift(n)}return t},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,t){var n=this;!this.taggable&&("function"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(e,t,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?"open":"close")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var t=this;Array.isArray(e)?this.$data._value=e.map((function(e){return t.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit("option:selecting",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit("option:created",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit("option:selected",e)),this.onAfterSelect(e)},deselect:function(e){var t=this;this.$emit("option:deselecting",e),this.updateValue(this.selectedValue.filter((function(n){return!t.optionComparator(n,e)}))),this.$emit("option:deselected",e)},clearSelection:function(){this.updateValue(this.multiple?[]:null)},onAfterSelect:function(e){var t=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick((function(){return t.$refs.search.focus()}))},updateValue:function(e){var t=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return t.reduce(e)})):this.reduce(e)),this.$emit("input",e)},toggleDropdown:function(e){var n=e.target!==this.searchEl;n&&e.preventDefault();var o=[].concat(t()(this.$refs.deselectButtons||[]),t()([this.$refs.clearButton]||0));void 0===this.searchEl||o.filter(Boolean).some((function(t){return t.contains(e.target)||t===e.target}))?e.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var t=this;return this.selectedValue.some((function(n){return t.optionComparator(n,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},optionComparator:function(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue:function(e){var n=this,o=[].concat(t()(this.options),t()(this.pushedTags)).filter((function(t){return JSON.stringify(n.reduce(t))===JSON.stringify(e)}));return 1===o.length?o[0]:o.find((function(e){return n.optionComparator(e,n.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=t()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var t=this;return this.optionList.some((function(n){return t.optionComparator(n,e)}))},normalizeOptionForSlot:function(e){return"object"===s()(e)?e:a()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,t=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onSearchKeyDown:function(e){var t=this,n=function(e){return e.preventDefault(),!t.isComposing&&t.typeAheadSelect()},o={8:function(e){return t.maybeDeleteValue()},9:function(e){return t.onTab()},27:function(e){return t.onEscape()},38:function(e){if(e.preventDefault(),t.open)return t.typeAheadUp();t.open=!0},40:function(e){if(e.preventDefault(),t.open)return t.typeAheadDown();t.open=!0}};this.selectOnKeyCodes.forEach((function(e){return o[e]=n}));var i=this.mapKeydown(o,this);if("function"==typeof i[e.keyCode])return i[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"v-select",class:e.stateClasses,attrs:{dir:e.dir}},[e._t("header",null,null,e.scope.header),e._v(" "),n("div",{ref:"toggle",staticClass:"vs__dropdown-toggle",attrs:{id:"vs"+e.uid+"__combobox",role:"combobox","aria-expanded":e.dropdownOpen.toString(),"aria-owns":"vs"+e.uid+"__listbox","aria-label":"Search for option"},on:{mousedown:function(t){return e.toggleDropdown(t)}}},[n("div",{ref:"selectedOptions",staticClass:"vs__selected-options"},[e._l(e.selectedValue,(function(t){return e._t("selected-option-container",[n("span",{key:e.getOptionKey(t),staticClass:"vs__selected"},[e._t("selected-option",[e._v("\n "+e._s(e.getOptionLabel(t))+"\n ")],null,e.normalizeOptionForSlot(t)),e._v(" "),e.multiple?n("button",{ref:"deselectButtons",refInFor:!0,staticClass:"vs__deselect",attrs:{disabled:e.disabled,type:"button",title:"Deselect "+e.getOptionLabel(t),"aria-label":"Deselect "+e.getOptionLabel(t)},on:{click:function(n){return e.deselect(t)}}},[n(e.childComponents.Deselect,{tag:"component"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(t),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(" "),e._t("search",[n("input",e._g(e._b({staticClass:"vs__search"},"input",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(" "),n("div",{ref:"actions",staticClass:"vs__actions"},[n("button",{directives:[{name:"show",rawName:"v-show",value:e.showClearButton,expression:"showClearButton"}],ref:"clearButton",staticClass:"vs__clear",attrs:{disabled:e.disabled,type:"button",title:"Clear Selected","aria-label":"Clear Selected"},on:{click:e.clearSelection}},[n(e.childComponents.Deselect,{tag:"component"})],1),e._v(" "),e._t("open-indicator",[e.noDrop?e._e():n(e.childComponents.OpenIndicator,e._b({tag:"component"},"component",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator),e._v(" "),e._t("spinner",[n("div",{directives:[{name:"show",rawName:"v-show",value:e.mutableLoading,expression:"mutableLoading"}],staticClass:"vs__spinner"},[e._v("Loading...")])],null,e.scope.spinner)],2)]),e._v(" "),n("transition",{attrs:{name:e.transition}},[e.dropdownOpen?n("ul",{directives:[{name:"append-to-body",rawName:"v-append-to-body"}],key:"vs"+e.uid+"__listbox",ref:"dropdownMenu",staticClass:"vs__dropdown-menu",attrs:{id:"vs"+e.uid+"__listbox",role:"listbox",tabindex:"-1"},on:{mousedown:function(t){return t.preventDefault(),e.onMousedown(t)},mouseup:e.onMouseUp}},[e._t("list-header",null,null,e.scope.listHeader),e._v(" "),e._l(e.filteredOptions,(function(t,o){return n("li",{key:e.getOptionKey(t),staticClass:"vs__dropdown-option",class:{"vs__dropdown-option--deselect":e.isOptionDeselectable(t)&&o===e.typeAheadPointer,"vs__dropdown-option--selected":e.isOptionSelected(t),"vs__dropdown-option--highlight":o===e.typeAheadPointer,"vs__dropdown-option--disabled":!e.selectable(t)},attrs:{id:"vs"+e.uid+"__option-"+o,role:"option","aria-selected":o===e.typeAheadPointer||null},on:{mouseover:function(n){e.selectable(t)&&(e.typeAheadPointer=o)},click:function(n){n.preventDefault(),n.stopPropagation(),e.selectable(t)&&e.select(t)}}},[e._t("option",[e._v("\n "+e._s(e.getOptionLabel(t))+"\n ")],null,e.normalizeOptionForSlot(t))],2)})),e._v(" "),0===e.filteredOptions.length?n("li",{staticClass:"vs__no-options"},[e._t("no-options",[e._v("\n Sorry, no matching options.\n ")],null,e.scope.noOptions)],2):e._e(),e._v(" "),e._t("list-footer",null,null,e.scope.listFooter)],2):n("ul",{staticStyle:{display:"none",visibility:"hidden"},attrs:{id:"vs"+e.uid+"__listbox",role:"listbox"}})]),e._v(" "),e._t("footer",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,_={ajax:u,pointer:c,pointerScroll:l},O=m})(),o})()})); 41452//# sourceMappingURL=vue-select.js.map 41453 41454/***/ }), 41455
vendor: 414,984 bytes, lines 41456-53395
41456/***/ "./node_modules/vue/dist/vue.esm.js": 41457/*!******************************************!*\ 41458 !*** ./node_modules/vue/dist/vue.esm.js ***! 41459 \******************************************/ 41460/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { 41461 41462"use strict"; 41463__webpack_require__.r(__webpack_exports__); 41464/* harmony export */ __webpack_require__.d(__webpack_exports__, { 41465/* harmony export */ EffectScope: () => (/* binding */ EffectScope), 41466/* harmony export */ computed: () => (/* binding */ computed), 41467/* harmony export */ customRef: () => (/* binding */ customRef), 41468/* harmony export */ "default": () => (/* binding */ Vue), 41469/* harmony export */ defineAsyncComponent: () => (/* binding */ defineAsyncComponent), 41470/* harmony export */ defineComponent: () => (/* binding */ defineComponent), 41471/* harmony export */ del: () => (/* binding */ del), 41472/* harmony export */ effectScope: () => (/* binding */ effectScope), 41473/* harmony export */ getCurrentInstance: () => (/* binding */ getCurrentInstance), 41474/* harmony export */ getCurrentScope: () => (/* binding */ getCurrentScope), 41475/* harmony export */ h: () => (/* binding */ h), 41476/* harmony export */ inject: () => (/* binding */ inject), 41477/* harmony export */ isProxy: () => (/* binding */ isProxy), 41478/* harmony export */ isReactive: () => (/* binding */ isReactive), 41479/* harmony export */ isReadonly: () => (/* binding */ isReadonly), 41480/* harmony export */ isRef: () => (/* binding */ isRef), 41481/* harmony export */ isShallow: () => (/* binding */ isShallow), 41482/* harmony export */ markRaw: () => (/* binding */ markRaw), 41483/* harmony export */ mergeDefaults: () => (/* binding */ mergeDefaults), 41484/* harmony export */ nextTick: () => (/* binding */ nextTick), 41485/* harmony export */ onActivated: () => (/* binding */ onActivated), 41486/* harmony export */ onBeforeMount: () => (/* binding */ onBeforeMount), 41487/* harmony export */ onBeforeUnmount: () => (/* binding */ onBeforeUnmount), 41488/* harmony export */ onBeforeUpdate: () => (/* binding */ onBeforeUpdate), 41489/* harmony export */ onDeactivated: () => (/* binding */ onDeactivated), 41490/* harmony export */ onErrorCaptured: () => (/* binding */ onErrorCaptured), 41491/* harmony export */ onMounted: () => (/* binding */ onMounted), 41492/* harmony export */ onRenderTracked: () => (/* binding */ onRenderTracked), 41493/* harmony export */ onRenderTriggered: () => (/* binding */ onRenderTriggered), 41494/* harmony export */ onScopeDispose: () => (/* binding */ onScopeDispose), 41495/* harmony export */ onServerPrefetch: () => (/* binding */ onServerPrefetch), 41496/* harmony export */ onUnmounted: () => (/* binding */ onUnmounted), 41497/* harmony export */ onUpdated: () => (/* binding */ onUpdated), 41498/* harmony export */ provide: () => (/* binding */ provide), 41499/* harmony export */ proxyRefs: () => (/* binding */ proxyRefs), 41500/* harmony export */ reactive: () => (/* binding */ reactive), 41501/* harmony export */ readonly: () => (/* binding */ readonly), 41502/* harmony export */ ref: () => (/* binding */ ref$1), 41503/* harmony export */ set: () => (/* binding */ set), 41504/* harmony export */ shallowReactive: () => (/* binding */ shallowReactive), 41505/* harmony export */ shallowReadonly: () => (/* binding */ shallowReadonly), 41506/* harmony export */ shallowRef: () => (/* binding */ shallowRef), 41507/* harmony export */ toRaw: () => (/* binding */ toRaw), 41508/* harmony export */ toRef: () => (/* binding */ toRef), 41509/* harmony export */ toRefs: () => (/* binding */ toRefs), 41510/* harmony export */ triggerRef: () => (/* binding */ triggerRef), 41511/* harmony export */ unref: () => (/* binding */ unref), 41512/* harmony export */ useAttrs: () => (/* binding */ useAttrs), 41513/* harmony export */ useCssModule: () => (/* binding */ useCssModule), 41514/* harmony export */ useCssVars: () => (/* binding */ useCssVars), 41515/* harmony export */ useListeners: () => (/* binding */ useListeners), 41516/* harmony export */ useSlots: () => (/* binding */ useSlots), 41517/* harmony export */ version: () => (/* binding */ version), 41518/* harmony export */ watch: () => (/* binding */ watch), 41519/* harmony export */ watchEffect: () => (/* binding */ watchEffect), 41520/* harmony export */ watchPostEffect: () => (/* binding */ watchPostEffect), 41521/* harmony export */ watchSyncEffect: () => (/* binding */ watchSyncEffect) 41522/* harmony export */ }); 41523/*! 41524 * Vue.js v2.7.14 41525 * (c) 2014-2022 Evan You 41526 * Released under the MIT License. 41527 */ 41528var emptyObject = Object.freeze({}); 41529var isArray = Array.isArray; 41530// These helpers produce better VM code in JS engines due to their 41531// explicitness and function inlining. 41532function isUndef(v) { 41533 return v === undefined || v === null; 41534} 41535function isDef(v) { 41536 return v !== undefined && v !== null; 41537} 41538function isTrue(v) { 41539 return v === true; 41540} 41541function isFalse(v) { 41542 return v === false; 41543} 41544/** 41545 * Check if value is primitive. 41546 */ 41547function isPrimitive(value) { 41548 return (typeof value === 'string' || 41549 typeof value === 'number' || 41550 // $flow-disable-line 41551 typeof value === 'symbol' || 41552 typeof value === 'boolean'); 41553} 41554function isFunction(value) { 41555 return typeof value === 'function'; 41556} 41557/** 41558 * Quick object check - this is primarily used to tell 41559 * objects from primitive values when we know the value 41560 * is a JSON-compliant type. 41561 */ 41562function isObject(obj) { 41563 return obj !== null && typeof obj === 'object'; 41564} 41565/** 41566 * Get the raw type string of a value, e.g., [object Object]. 41567 */ 41568var _toString = Object.prototype.toString; 41569function toRawType(value) { 41570 return _toString.call(value).slice(8, -1); 41571} 41572/** 41573 * Strict object type check. Only returns true 41574 * for plain JavaScript objects. 41575 */ 41576function isPlainObject(obj) { 41577 return _toString.call(obj) === '[object Object]'; 41578} 41579function isRegExp(v) { 41580 return _toString.call(v) === '[object RegExp]'; 41581} 41582/** 41583 * Check if val is a valid array index. 41584 */ 41585function isValidArrayIndex(val) { 41586 var n = parseFloat(String(val)); 41587 return n >= 0 && Math.floor(n) === n && isFinite(val); 41588} 41589function isPromise(val) { 41590 return (isDef(val) && 41591 typeof val.then === 'function' && 41592 typeof val.catch === 'function'); 41593} 41594/** 41595 * Convert a value to a string that is actually rendered. 41596 */ 41597function toString(val) { 41598 return val == null 41599 ? '' 41600 : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) 41601 ? JSON.stringify(val, null, 2) 41602 : String(val); 41603} 41604/** 41605 * Convert an input value to a number for persistence. 41606 * If the conversion fails, return original string. 41607 */ 41608function toNumber(val) { 41609 var n = parseFloat(val); 41610 return isNaN(n) ? val : n; 41611} 41612/** 41613 * Make a map and return a function for checking if a key 41614 * is in that map. 41615 */ 41616function makeMap(str, expectsLowerCase) { 41617 var map = Object.create(null); 41618 var list = str.split(','); 41619 for (var i = 0; i < list.length; i++) { 41620 map[list[i]] = true; 41621 } 41622 return expectsLowerCase ? function (val) { return map[val.toLowerCase()]; } : function (val) { return map[val]; }; 41623} 41624/** 41625 * Check if a tag is a built-in tag. 41626 */ 41627var isBuiltInTag = makeMap('slot,component', true); 41628/** 41629 * Check if an attribute is a reserved attribute. 41630 */ 41631var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); 41632/** 41633 * Remove an item from an array. 41634 */ 41635function remove$2(arr, item) { 41636 var len = arr.length; 41637 if (len) { 41638 // fast path for the only / last item 41639 if (item === arr[len - 1]) { 41640 arr.length = len - 1; 41641 return; 41642 } 41643 var index = arr.indexOf(item); 41644 if (index > -1) { 41645 return arr.splice(index, 1); 41646 } 41647 } 41648} 41649/** 41650 * Check whether an object has the property. 41651 */ 41652var hasOwnProperty = Object.prototype.hasOwnProperty; 41653function hasOwn(obj, key) { 41654 return hasOwnProperty.call(obj, key); 41655} 41656/** 41657 * Create a cached version of a pure function. 41658 */ 41659function cached(fn) { 41660 var cache = Object.create(null); 41661 return function cachedFn(str) { 41662 var hit = cache[str]; 41663 return hit || (cache[str] = fn(str)); 41664 }; 41665} 41666/** 41667 * Camelize a hyphen-delimited string. 41668 */ 41669var camelizeRE = /-(\w)/g; 41670var camelize = cached(function (str) { 41671 return str.replace(camelizeRE, function (_, c) { return (c ? c.toUpperCase() : ''); }); 41672}); 41673/** 41674 * Capitalize a string. 41675 */ 41676var capitalize = cached(function (str) { 41677 return str.charAt(0).toUpperCase() + str.slice(1); 41678}); 41679/** 41680 * Hyphenate a camelCase string. 41681 */ 41682var hyphenateRE = /\B([A-Z])/g; 41683var hyphenate = cached(function (str) { 41684 return str.replace(hyphenateRE, '-$1').toLowerCase(); 41685}); 41686/** 41687 * Simple bind polyfill for environments that do not support it, 41688 * e.g., PhantomJS 1.x. Technically, we don't need this anymore 41689 * since native bind is now performant enough in most browsers. 41690 * But removing it would mean breaking code that was able to run in 41691 * PhantomJS 1.x, so this must be kept for backward compatibility. 41692 */ 41693/* istanbul ignore next */ 41694function polyfillBind(fn, ctx) { 41695 function boundFn(a) { 41696 var l = arguments.length; 41697 return l 41698 ? l > 1 41699 ? fn.apply(ctx, arguments) 41700 : fn.call(ctx, a) 41701 : fn.call(ctx); 41702 } 41703 boundFn._length = fn.length; 41704 return boundFn; 41705} 41706function nativeBind(fn, ctx) { 41707 return fn.bind(ctx); 41708} 41709// @ts-expect-error bind cannot be `undefined` 41710var bind$1 = Function.prototype.bind ? nativeBind : polyfillBind; 41711/** 41712 * Convert an Array-like object to a real Array. 41713 */ 41714function toArray(list, start) { 41715 start = start || 0; 41716 var i = list.length - start; 41717 var ret = new Array(i); 41718 while (i--) { 41719 ret[i] = list[i + start]; 41720 } 41721 return ret; 41722} 41723/** 41724 * Mix properties into target object. 41725 */ 41726function extend(to, _from) { 41727 for (var key in _from) { 41728 to[key] = _from[key]; 41729 } 41730 return to; 41731} 41732/** 41733 * Merge an Array of Objects into a single Object. 41734 */ 41735function toObject(arr) { 41736 var res = {}; 41737 for (var i = 0; i < arr.length; i++) { 41738 if (arr[i]) { 41739 extend(res, arr[i]); 41740 } 41741 } 41742 return res; 41743} 41744/* eslint-disable no-unused-vars */ 41745/** 41746 * Perform no operation. 41747 * Stubbing args to make Flow happy without leaving useless transpiled code 41748 * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). 41749 */ 41750function noop(a, b, c) { } 41751/** 41752 * Always return false. 41753 */ 41754var no = function (a, b, c) { return false; }; 41755/* eslint-enable no-unused-vars */ 41756/** 41757 * Return the same value. 41758 */ 41759var identity = function (_) { return _; }; 41760/** 41761 * Generate a string containing static keys from compiler modules. 41762 */ 41763function genStaticKeys$1(modules) { 41764 return modules 41765 .reduce(function (keys, m) { 41766 return keys.concat(m.staticKeys || []); 41767 }, []) 41768 .join(','); 41769} 41770/** 41771 * Check if two values are loosely equal - that is, 41772 * if they are plain objects, do they have the same shape? 41773 */ 41774function looseEqual(a, b) { 41775 if (a === b) 41776 return true; 41777 var isObjectA = isObject(a); 41778 var isObjectB = isObject(b); 41779 if (isObjectA && isObjectB) { 41780 try { 41781 var isArrayA = Array.isArray(a); 41782 var isArrayB = Array.isArray(b); 41783 if (isArrayA && isArrayB) { 41784 return (a.length === b.length && 41785 a.every(function (e, i) { 41786 return looseEqual(e, b[i]); 41787 })); 41788 } 41789 else if (a instanceof Date && b instanceof Date) { 41790 return a.getTime() === b.getTime(); 41791 } 41792 else if (!isArrayA && !isArrayB) { 41793 var keysA = Object.keys(a); 41794 var keysB = Object.keys(b); 41795 return (keysA.length === keysB.length && 41796 keysA.every(function (key) { 41797 return looseEqual(a[key], b[key]); 41798 })); 41799 } 41800 else { 41801 /* istanbul ignore next */ 41802 return false; 41803 } 41804 } 41805 catch (e) { 41806 /* istanbul ignore next */ 41807 return false; 41808 } 41809 } 41810 else if (!isObjectA && !isObjectB) { 41811 return String(a) === String(b); 41812 } 41813 else { 41814 return false; 41815 } 41816} 41817/** 41818 * Return the first index at which a loosely equal value can be 41819 * found in the array (if value is a plain object, the array must 41820 * contain an object of the same shape), or -1 if it is not present. 41821 */ 41822function looseIndexOf(arr, val) { 41823 for (var i = 0; i < arr.length; i++) { 41824 if (looseEqual(arr[i], val)) 41825 return i; 41826 } 41827 return -1; 41828} 41829/** 41830 * Ensure a function is called only once. 41831 */ 41832function once(fn) { 41833 var called = false; 41834 return function () { 41835 if (!called) { 41836 called = true; 41837 fn.apply(this, arguments); 41838 } 41839 }; 41840} 41841// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#polyfill 41842function hasChanged(x, y) { 41843 if (x === y) { 41844 return x === 0 && 1 / x !== 1 / y; 41845 } 41846 else { 41847 return x === x || y === y; 41848 } 41849} 41850 41851var SSR_ATTR = 'data-server-rendered'; 41852var ASSET_TYPES = ['component', 'directive', 'filter']; 41853var LIFECYCLE_HOOKS = [ 41854 'beforeCreate', 41855 'created', 41856 'beforeMount', 41857 'mounted', 41858 'beforeUpdate', 41859 'updated', 41860 'beforeDestroy', 41861 'destroyed', 41862 'activated', 41863 'deactivated', 41864 'errorCaptured', 41865 'serverPrefetch', 41866 'renderTracked', 41867 'renderTriggered' 41868]; 41869 41870var config = { 41871 /** 41872 * Option merge strategies (used in core/util/options) 41873 */ 41874 // $flow-disable-line 41875 optionMergeStrategies: Object.create(null), 41876 /** 41877 * Whether to suppress warnings. 41878 */ 41879 silent: false, 41880 /** 41881 * Show production mode tip message on boot? 41882 */ 41883 productionTip: "development" !== 'production', 41884 /** 41885 * Whether to enable devtools 41886 */ 41887 devtools: "development" !== 'production', 41888 /** 41889 * Whether to record perf 41890 */ 41891 performance: false, 41892 /** 41893 * Error handler for watcher errors 41894 */ 41895 errorHandler: null, 41896 /** 41897 * Warn handler for watcher warns 41898 */ 41899 warnHandler: null, 41900 /** 41901 * Ignore certain custom elements 41902 */ 41903 ignoredElements: [], 41904 /** 41905 * Custom user key aliases for v-on 41906 */ 41907 // $flow-disable-line 41908 keyCodes: Object.create(null), 41909 /** 41910 * Check if a tag is reserved so that it cannot be registered as a 41911 * component. This is platform-dependent and may be overwritten. 41912 */ 41913 isReservedTag: no, 41914 /** 41915 * Check if an attribute is reserved so that it cannot be used as a component 41916 * prop. This is platform-dependent and may be overwritten. 41917 */ 41918 isReservedAttr: no, 41919 /** 41920 * Check if a tag is an unknown element. 41921 * Platform-dependent. 41922 */ 41923 isUnknownElement: no, 41924 /** 41925 * Get the namespace of an element 41926 */ 41927 getTagNamespace: noop, 41928 /** 41929 * Parse the real tag name for the specific platform. 41930 */ 41931 parsePlatformTagName: identity, 41932 /** 41933 * Check if an attribute must be bound using property, e.g. value 41934 * Platform-dependent. 41935 */ 41936 mustUseProp: no, 41937 /** 41938 * Perform updates asynchronously. Intended to be used by Vue Test Utils 41939 * This will significantly reduce performance if set to false. 41940 */ 41941 async: true, 41942 /** 41943 * Exposed for legacy reasons 41944 */ 41945 _lifecycleHooks: LIFECYCLE_HOOKS 41946}; 41947 41948/** 41949 * unicode letters used for parsing html tags, component names and property paths. 41950 * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname 41951 * skipping \u10000-\uEFFFF due to it freezing up PhantomJS 41952 */ 41953var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; 41954/** 41955 * Check if a string starts with $ or _ 41956 */ 41957function isReserved(str) { 41958 var c = (str + '').charCodeAt(0); 41959 return c === 0x24 || c === 0x5f; 41960} 41961/** 41962 * Define a property. 41963 */ 41964function def(obj, key, val, enumerable) { 41965 Object.defineProperty(obj, key, { 41966 value: val, 41967 enumerable: !!enumerable, 41968 writable: true, 41969 configurable: true 41970 }); 41971} 41972/** 41973 * Parse simple path. 41974 */ 41975var bailRE = new RegExp("[^".concat(unicodeRegExp.source, ".$_\\d]")); 41976function parsePath(path) { 41977 if (bailRE.test(path)) { 41978 return; 41979 } 41980 var segments = path.split('.'); 41981 return function (obj) { 41982 for (var i = 0; i < segments.length; i++) { 41983 if (!obj) 41984 return; 41985 obj = obj[segments[i]]; 41986 } 41987 return obj; 41988 }; 41989} 41990 41991// can we use __proto__? 41992var hasProto = '__proto__' in {}; 41993// Browser environment sniffing 41994var inBrowser = typeof window !== 'undefined'; 41995var UA = inBrowser && window.navigator.userAgent.toLowerCase(); 41996var isIE = UA && /msie|trident/.test(UA); 41997var isIE9 = UA && UA.indexOf('msie 9.0') > 0; 41998var isEdge = UA && UA.indexOf('edge/') > 0; 41999UA && UA.indexOf('android') > 0; 42000var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA); 42001UA && /chrome\/\d+/.test(UA) && !isEdge; 42002UA && /phantomjs/.test(UA); 42003var isFF = UA && UA.match(/firefox\/(\d+)/); 42004// Firefox has a "watch" function on Object.prototype... 42005// @ts-expect-error firebox support 42006var nativeWatch = {}.watch; 42007var supportsPassive = false; 42008if (inBrowser) { 42009 try { 42010 var opts = {}; 42011 Object.defineProperty(opts, 'passive', { 42012 get: function () { 42013 /* istanbul ignore next */ 42014 supportsPassive = true; 42015 } 42016 }); // https://github.com/facebook/flow/issues/285 42017 window.addEventListener('test-passive', null, opts); 42018 } 42019 catch (e) { } 42020} 42021// this needs to be lazy-evaled because vue may be required before 42022// vue-server-renderer can set VUE_ENV 42023var _isServer; 42024var isServerRendering = function () { 42025 if (_isServer === undefined) { 42026 /* istanbul ignore if */ 42027 if (!inBrowser && typeof __webpack_require__.g !== 'undefined') { 42028 // detect presence of vue-server-renderer and avoid 42029 // Webpack shimming the process 42030 _isServer = 42031 __webpack_require__.g['process'] && __webpack_require__.g['process'].env.VUE_ENV === 'server'; 42032 } 42033 else { 42034 _isServer = false; 42035 } 42036 } 42037 return _isServer; 42038}; 42039// detect devtools 42040var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; 42041/* istanbul ignore next */ 42042function isNative(Ctor) { 42043 return typeof Ctor === 'function' && /native code/.test(Ctor.toString()); 42044} 42045var hasSymbol = typeof Symbol !== 'undefined' && 42046 isNative(Symbol) && 42047 typeof Reflect !== 'undefined' && 42048 isNative(Reflect.ownKeys); 42049var _Set; // $flow-disable-line 42050/* istanbul ignore if */ if (typeof Set !== 'undefined' && isNative(Set)) { 42051 // use native Set when available. 42052 _Set = Set; 42053} 42054else { 42055 // a non-standard Set polyfill that only works with primitive keys. 42056 _Set = /** @class */ (function () { 42057 function Set() { 42058 this.set = Object.create(null); 42059 } 42060 Set.prototype.has = function (key) { 42061 return this.set[key] === true; 42062 }; 42063 Set.prototype.add = function (key) { 42064 this.set[key] = true; 42065 }; 42066 Set.prototype.clear = function () { 42067 this.set = Object.create(null); 42068 }; 42069 return Set; 42070 }()); 42071} 42072 42073var currentInstance = null; 42074/** 42075 * This is exposed for compatibility with v3 (e.g. some functions in VueUse 42076 * relies on it). Do not use this internally, just use `currentInstance`. 42077 * 42078 * @internal this function needs manual type declaration because it relies 42079 * on previously manually authored types from Vue 2 42080 */ 42081function getCurrentInstance() { 42082 return currentInstance && { proxy: currentInstance }; 42083} 42084/** 42085 * @internal 42086 */ 42087function setCurrentInstance(vm) { 42088 if (vm === void 0) { vm = null; } 42089 if (!vm) 42090 currentInstance && currentInstance._scope.off(); 42091 currentInstance = vm; 42092 vm && vm._scope.on(); 42093} 42094 42095/** 42096 * @internal 42097 */ 42098var VNode = /** @class */ (function () { 42099 function VNode(tag, data, children, text, elm, context, componentOptions, asyncFactory) { 42100 this.tag = tag; 42101 this.data = data; 42102 this.children = children; 42103 this.text = text; 42104 this.elm = elm; 42105 this.ns = undefined; 42106 this.context = context; 42107 this.fnContext = undefined; 42108 this.fnOptions = undefined; 42109 this.fnScopeId = undefined; 42110 this.key = data && data.key; 42111 this.componentOptions = componentOptions; 42112 this.componentInstance = undefined; 42113 this.parent = undefined; 42114 this.raw = false; 42115 this.isStatic = false; 42116 this.isRootInsert = true; 42117 this.isComment = false; 42118 this.isCloned = false; 42119 this.isOnce = false; 42120 this.asyncFactory = asyncFactory; 42121 this.asyncMeta = undefined; 42122 this.isAsyncPlaceholder = false; 42123 } 42124 Object.defineProperty(VNode.prototype, "child", { 42125 // DEPRECATED: alias for componentInstance for backwards compat. 42126 /* istanbul ignore next */ 42127 get: function () { 42128 return this.componentInstance; 42129 }, 42130 enumerable: false, 42131 configurable: true 42132 }); 42133 return VNode; 42134}()); 42135var createEmptyVNode = function (text) { 42136 if (text === void 0) { text = ''; } 42137 var node = new VNode(); 42138 node.text = text; 42139 node.isComment = true; 42140 return node; 42141}; 42142function createTextVNode(val) { 42143 return new VNode(undefined, undefined, undefined, String(val)); 42144} 42145// optimized shallow clone 42146// used for static nodes and slot nodes because they may be reused across 42147// multiple renders, cloning them avoids errors when DOM manipulations rely 42148// on their elm reference. 42149function cloneVNode(vnode) { 42150 var cloned = new VNode(vnode.tag, vnode.data, 42151 // #7975 42152 // clone children array to avoid mutating original in case of cloning 42153 // a child. 42154 vnode.children && vnode.children.slice(), vnode.text, vnode.elm, vnode.context, vnode.componentOptions, vnode.asyncFactory); 42155 cloned.ns = vnode.ns; 42156 cloned.isStatic = vnode.isStatic; 42157 cloned.key = vnode.key; 42158 cloned.isComment = vnode.isComment; 42159 cloned.fnContext = vnode.fnContext; 42160 cloned.fnOptions = vnode.fnOptions; 42161 cloned.fnScopeId = vnode.fnScopeId; 42162 cloned.asyncMeta = vnode.asyncMeta; 42163 cloned.isCloned = true; 42164 return cloned; 42165} 42166 42167/* not type checking this file because flow doesn't play well with Proxy */ 42168var initProxy; 42169if (true) { 42170 var allowedGlobals_1 = makeMap('Infinity,undefined,NaN,isFinite,isNaN,' + 42171 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + 42172 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' + 42173 'require' // for Webpack/Browserify 42174 ); 42175 var warnNonPresent_1 = function (target, key) { 42176 warn$2("Property or method \"".concat(key, "\" is not defined on the instance but ") + 42177 'referenced during render. Make sure that this property is reactive, ' + 42178 'either in the data option, or for class-based components, by ' + 42179 'initializing the property. ' + 42180 'See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target); 42181 }; 42182 var warnReservedPrefix_1 = function (target, key) { 42183 warn$2("Property \"".concat(key, "\" must be accessed with \"$data.").concat(key, "\" because ") + 42184 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + 42185 'prevent conflicts with Vue internals. ' + 42186 'See: https://v2.vuejs.org/v2/api/#data', target); 42187 }; 42188 var hasProxy_1 = typeof Proxy !== 'undefined' && isNative(Proxy); 42189 if (hasProxy_1) { 42190 var isBuiltInModifier_1 = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); 42191 config.keyCodes = new Proxy(config.keyCodes, { 42192 set: function (target, key, value) { 42193 if (isBuiltInModifier_1(key)) { 42194 warn$2("Avoid overwriting built-in modifier in config.keyCodes: .".concat(key)); 42195 return false; 42196 } 42197 else { 42198 target[key] = value; 42199 return true; 42200 } 42201 } 42202 }); 42203 } 42204 var hasHandler_1 = { 42205 has: function (target, key) { 42206 var has = key in target; 42207 var isAllowed = allowedGlobals_1(key) || 42208 (typeof key === 'string' && 42209 key.charAt(0) === '_' && 42210 !(key in target.$data)); 42211 if (!has && !isAllowed) { 42212 if (key in target.$data) 42213 warnReservedPrefix_1(target, key); 42214 else 42215 warnNonPresent_1(target, key); 42216 } 42217 return has || !isAllowed; 42218 } 42219 }; 42220 var getHandler_1 = { 42221 get: function (target, key) { 42222 if (typeof key === 'string' && !(key in target)) { 42223 if (key in target.$data) 42224 warnReservedPrefix_1(target, key); 42225 else 42226 warnNonPresent_1(target, key); 42227 } 42228 return target[key]; 42229 } 42230 }; 42231 initProxy = function initProxy(vm) { 42232 if (hasProxy_1) { 42233 // determine which proxy handler to use 42234 var options = vm.$options; 42235 var handlers = options.render && options.render._withStripped ? getHandler_1 : hasHandler_1; 42236 vm._renderProxy = new Proxy(vm, handlers); 42237 } 42238 else { 42239 vm._renderProxy = vm; 42240 } 42241 }; 42242} 42243 42244/****************************************************************************** 42245Copyright (c) Microsoft Corporation. 42246 42247Permission to use, copy, modify, and/or distribute this software for any 42248purpose with or without fee is hereby granted. 42249 42250THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 42251REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 42252AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 42253INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 42254LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 42255OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 42256PERFORMANCE OF THIS SOFTWARE. 42257***************************************************************************** */ 42258 42259var __assign = function() { 42260 __assign = Object.assign || function __assign(t) { 42261 for (var s, i = 1, n = arguments.length; i < n; i++) { 42262 s = arguments[i]; 42263 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; 42264 } 42265 return t; 42266 }; 42267 return __assign.apply(this, arguments); 42268}; 42269 42270var uid$2 = 0; 42271var pendingCleanupDeps = []; 42272var cleanupDeps = function () { 42273 for (var i = 0; i < pendingCleanupDeps.length; i++) { 42274 var dep = pendingCleanupDeps[i]; 42275 dep.subs = dep.subs.filter(function (s) { return s; }); 42276 dep._pending = false; 42277 } 42278 pendingCleanupDeps.length = 0; 42279}; 42280/** 42281 * A dep is an observable that can have multiple 42282 * directives subscribing to it. 42283 * @internal 42284 */ 42285var Dep = /** @class */ (function () { 42286 function Dep() { 42287 // pending subs cleanup 42288 this._pending = false; 42289 this.id = uid$2++; 42290 this.subs = []; 42291 } 42292 Dep.prototype.addSub = function (sub) { 42293 this.subs.push(sub); 42294 }; 42295 Dep.prototype.removeSub = function (sub) { 42296 // #12696 deps with massive amount of subscribers are extremely slow to 42297 // clean up in Chromium 42298 // to workaround this, we unset the sub for now, and clear them on 42299 // next scheduler flush. 42300 this.subs[this.subs.indexOf(sub)] = null; 42301 if (!this._pending) { 42302 this._pending = true; 42303 pendingCleanupDeps.push(this); 42304 } 42305 }; 42306 Dep.prototype.depend = function (info) { 42307 if (Dep.target) { 42308 Dep.target.addDep(this); 42309 if ( true && info && Dep.target.onTrack) { 42310 Dep.target.onTrack(__assign({ effect: Dep.target }, info)); 42311 } 42312 } 42313 }; 42314 Dep.prototype.notify = function (info) { 42315 // stabilize the subscriber list first 42316 var subs = this.subs.filter(function (s) { return s; }); 42317 if ( true && !config.async) { 42318 // subs aren't sorted in scheduler if not running async 42319 // we need to sort them now to make sure they fire in correct 42320 // order 42321 subs.sort(function (a, b) { return a.id - b.id; }); 42322 } 42323 for (var i = 0, l = subs.length; i < l; i++) { 42324 var sub = subs[i]; 42325 if ( true && info) { 42326 sub.onTrigger && 42327 sub.onTrigger(__assign({ effect: subs[i] }, info)); 42328 } 42329 sub.update(); 42330 } 42331 }; 42332 return Dep; 42333}()); 42334// The current target watcher being evaluated. 42335// This is globally unique because only one watcher 42336// can be evaluated at a time. 42337Dep.target = null; 42338var targetStack = []; 42339function pushTarget(target) { 42340 targetStack.push(target); 42341 Dep.target = target; 42342} 42343function popTarget() { 42344 targetStack.pop(); 42345 Dep.target = targetStack[targetStack.length - 1]; 42346} 42347 42348/* 42349 * not type checking this file because flow doesn't play well with 42350 * dynamically accessing methods on Array prototype 42351 */ 42352var arrayProto = Array.prototype; 42353var arrayMethods = Object.create(arrayProto); 42354var methodsToPatch = [ 42355 'push', 42356 'pop', 42357 'shift', 42358 'unshift', 42359 'splice', 42360 'sort', 42361 'reverse' 42362]; 42363/** 42364 * Intercept mutating methods and emit events 42365 */ 42366methodsToPatch.forEach(function (method) { 42367 // cache original method 42368 var original = arrayProto[method]; 42369 def(arrayMethods, method, function mutator() { 42370 var args = []; 42371 for (var _i = 0; _i < arguments.length; _i++) { 42372 args[_i] = arguments[_i]; 42373 } 42374 var result = original.apply(this, args); 42375 var ob = this.__ob__; 42376 var inserted; 42377 switch (method) { 42378 case 'push': 42379 case 'unshift': 42380 inserted = args; 42381 break; 42382 case 'splice': 42383 inserted = args.slice(2); 42384 break; 42385 } 42386 if (inserted) 42387 ob.observeArray(inserted); 42388 // notify change 42389 if (true) { 42390 ob.dep.notify({ 42391 type: "array mutation" /* TriggerOpTypes.ARRAY_MUTATION */, 42392 target: this, 42393 key: method 42394 }); 42395 } 42396 else {} 42397 return result; 42398 }); 42399}); 42400 42401var arrayKeys = Object.getOwnPropertyNames(arrayMethods); 42402var NO_INIITIAL_VALUE = {}; 42403/** 42404 * In some cases we may want to disable observation inside a component's 42405 * update computation. 42406 */ 42407var shouldObserve = true; 42408function toggleObserving(value) { 42409 shouldObserve = value; 42410} 42411// ssr mock dep 42412var mockDep = { 42413 notify: noop, 42414 depend: noop, 42415 addSub: noop, 42416 removeSub: noop 42417}; 42418/** 42419 * Observer class that is attached to each observed 42420 * object. Once attached, the observer converts the target 42421 * object's property keys into getter/setters that 42422 * collect dependencies and dispatch updates. 42423 */ 42424var Observer = /** @class */ (function () { 42425 function Observer(value, shallow, mock) { 42426 if (shallow === void 0) { shallow = false; } 42427 if (mock === void 0) { mock = false; } 42428 this.value = value; 42429 this.shallow = shallow; 42430 this.mock = mock; 42431 // this.value = value 42432 this.dep = mock ? mockDep : new Dep(); 42433 this.vmCount = 0; 42434 def(value, '__ob__', this); 42435 if (isArray(value)) { 42436 if (!mock) { 42437 if (hasProto) { 42438 value.__proto__ = arrayMethods; 42439 /* eslint-enable no-proto */ 42440 } 42441 else { 42442 for (var i = 0, l = arrayKeys.length; i < l; i++) { 42443 var key = arrayKeys[i]; 42444 def(value, key, arrayMethods[key]); 42445 } 42446 } 42447 } 42448 if (!shallow) { 42449 this.observeArray(value); 42450 } 42451 } 42452 else { 42453 /** 42454 * Walk through all properties and convert them into 42455 * getter/setters. This method should only be called when 42456 * value type is Object. 42457 */ 42458 var keys = Object.keys(value); 42459 for (var i = 0; i < keys.length; i++) { 42460 var key = keys[i]; 42461 defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock); 42462 } 42463 } 42464 } 42465 /** 42466 * Observe a list of Array items. 42467 */ 42468 Observer.prototype.observeArray = function (value) { 42469 for (var i = 0, l = value.length; i < l; i++) { 42470 observe(value[i], false, this.mock); 42471 } 42472 }; 42473 return Observer; 42474}()); 42475// helpers 42476/** 42477 * Attempt to create an observer instance for a value, 42478 * returns the new observer if successfully observed, 42479 * or the existing observer if the value already has one. 42480 */ 42481function observe(value, shallow, ssrMockReactivity) { 42482 if (value && hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { 42483 return value.__ob__; 42484 } 42485 if (shouldObserve && 42486 (ssrMockReactivity || !isServerRendering()) && 42487 (isArray(value) || isPlainObject(value)) && 42488 Object.isExtensible(value) && 42489 !value.__v_skip /* ReactiveFlags.SKIP */ && 42490 !isRef(value) && 42491 !(value instanceof VNode)) { 42492 return new Observer(value, shallow, ssrMockReactivity); 42493 } 42494} 42495/** 42496 * Define a reactive property on an Object. 42497 */ 42498function defineReactive(obj, key, val, customSetter, shallow, mock) { 42499 var dep = new Dep(); 42500 var property = Object.getOwnPropertyDescriptor(obj, key); 42501 if (property && property.configurable === false) { 42502 return; 42503 } 42504 // cater for pre-defined getter/setters 42505 var getter = property && property.get; 42506 var setter = property && property.set; 42507 if ((!getter || setter) && 42508 (val === NO_INIITIAL_VALUE || arguments.length === 2)) { 42509 val = obj[key]; 42510 } 42511 var childOb = !shallow && observe(val, false, mock); 42512 Object.defineProperty(obj, key, { 42513 enumerable: true, 42514 configurable: true, 42515 get: function reactiveGetter() { 42516 var value = getter ? getter.call(obj) : val; 42517 if (Dep.target) { 42518 if (true) { 42519 dep.depend({ 42520 target: obj, 42521 type: "get" /* TrackOpTypes.GET */, 42522 key: key 42523 }); 42524 } 42525 else {} 42526 if (childOb) { 42527 childOb.dep.depend(); 42528 if (isArray(value)) { 42529 dependArray(value); 42530 } 42531 } 42532 } 42533 return isRef(value) && !shallow ? value.value : value; 42534 }, 42535 set: function reactiveSetter(newVal) { 42536 var value = getter ? getter.call(obj) : val; 42537 if (!hasChanged(value, newVal)) { 42538 return; 42539 } 42540 if ( true && customSetter) { 42541 customSetter(); 42542 } 42543 if (setter) { 42544 setter.call(obj, newVal); 42545 } 42546 else if (getter) { 42547 // #7981: for accessor properties without setter 42548 return; 42549 } 42550 else if (!shallow && isRef(value) && !isRef(newVal)) { 42551 value.value = newVal; 42552 return; 42553 } 42554 else { 42555 val = newVal; 42556 } 42557 childOb = !shallow && observe(newVal, false, mock); 42558 if (true) { 42559 dep.notify({ 42560 type: "set" /* TriggerOpTypes.SET */, 42561 target: obj, 42562 key: key, 42563 newValue: newVal, 42564 oldValue: value 42565 }); 42566 } 42567 else {} 42568 } 42569 }); 42570 return dep; 42571} 42572function set(target, key, val) { 42573 if ( true && (isUndef(target) || isPrimitive(target))) { 42574 warn$2("Cannot set reactive property on undefined, null, or primitive value: ".concat(target)); 42575 } 42576 if (isReadonly(target)) { 42577 true && warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly.")); 42578 return; 42579 } 42580 var ob = target.__ob__; 42581 if (isArray(target) && isValidArrayIndex(key)) { 42582 target.length = Math.max(target.length, key); 42583 target.splice(key, 1, val); 42584 // when mocking for SSR, array methods are not hijacked 42585 if (ob && !ob.shallow && ob.mock) { 42586 observe(val, false, true); 42587 } 42588 return val; 42589 } 42590 if (key in target && !(key in Object.prototype)) { 42591 target[key] = val; 42592 return val; 42593 } 42594 if (target._isVue || (ob && ob.vmCount)) { 42595 true && 42596 warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' + 42597 'at runtime - declare it upfront in the data option.'); 42598 return val; 42599 } 42600 if (!ob) { 42601 target[key] = val; 42602 return val; 42603 } 42604 defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock); 42605 if (true) { 42606 ob.dep.notify({ 42607 type: "add" /* TriggerOpTypes.ADD */, 42608 target: target, 42609 key: key, 42610 newValue: val, 42611 oldValue: undefined 42612 }); 42613 } 42614 else {} 42615 return val; 42616} 42617function del(target, key) { 42618 if ( true && (isUndef(target) || isPrimitive(target))) { 42619 warn$2("Cannot delete reactive property on undefined, null, or primitive value: ".concat(target)); 42620 } 42621 if (isArray(target) && isValidArrayIndex(key)) { 42622 target.splice(key, 1); 42623 return; 42624 } 42625 var ob = target.__ob__; 42626 if (target._isVue || (ob && ob.vmCount)) { 42627 true && 42628 warn$2('Avoid deleting properties on a Vue instance or its root $data ' + 42629 '- just set it to null.'); 42630 return; 42631 } 42632 if (isReadonly(target)) { 42633 true && 42634 warn$2("Delete operation on key \"".concat(key, "\" failed: target is readonly.")); 42635 return; 42636 } 42637 if (!hasOwn(target, key)) { 42638 return; 42639 } 42640 delete target[key]; 42641 if (!ob) { 42642 return; 42643 } 42644 if (true) { 42645 ob.dep.notify({ 42646 type: "delete" /* TriggerOpTypes.DELETE */, 42647 target: target, 42648 key: key 42649 }); 42650 } 42651 else {} 42652} 42653/** 42654 * Collect dependencies on array elements when the array is touched, since 42655 * we cannot intercept array element access like property getters. 42656 */ 42657function dependArray(value) { 42658 for (var e = void 0, i = 0, l = value.length; i < l; i++) { 42659 e = value[i]; 42660 if (e && e.__ob__) { 42661 e.__ob__.dep.depend(); 42662 } 42663 if (isArray(e)) { 42664 dependArray(e); 42665 } 42666 } 42667} 42668 42669function reactive(target) { 42670 makeReactive(target, false); 42671 return target; 42672} 42673/** 42674 * Return a shallowly-reactive copy of the original object, where only the root 42675 * level properties are reactive. It also does not auto-unwrap refs (even at the 42676 * root level). 42677 */ 42678function shallowReactive(target) { 42679 makeReactive(target, true); 42680 def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); 42681 return target; 42682} 42683function makeReactive(target, shallow) { 42684 // if trying to observe a readonly proxy, return the readonly version. 42685 if (!isReadonly(target)) { 42686 if (true) { 42687 if (isArray(target)) { 42688 warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation.")); 42689 } 42690 var existingOb = target && target.__ob__; 42691 if (existingOb && existingOb.shallow !== shallow) { 42692 warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow.")); 42693 } 42694 } 42695 var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */); 42696 if ( true && !ob) { 42697 if (target == null || isPrimitive(target)) { 42698 warn$2("value cannot be made reactive: ".concat(String(target))); 42699 } 42700 if (isCollectionType(target)) { 42701 warn$2("Vue 2 does not support reactive collection types such as Map or Set."); 42702 } 42703 } 42704 } 42705} 42706function isReactive(value) { 42707 if (isReadonly(value)) { 42708 return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]); 42709 } 42710 return !!(value && value.__ob__); 42711} 42712function isShallow(value) { 42713 return !!(value && value.__v_isShallow); 42714} 42715function isReadonly(value) { 42716 return !!(value && value.__v_isReadonly); 42717} 42718function isProxy(value) { 42719 return isReactive(value) || isReadonly(value); 42720} 42721function toRaw(observed) { 42722 var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */]; 42723 return raw ? toRaw(raw) : observed; 42724} 42725function markRaw(value) { 42726 // non-extensible objects won't be observed anyway 42727 if (Object.isExtensible(value)) { 42728 def(value, "__v_skip" /* ReactiveFlags.SKIP */, true); 42729 } 42730 return value; 42731} 42732/** 42733 * @internal 42734 */ 42735function isCollectionType(value) { 42736 var type = toRawType(value); 42737 return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet'); 42738} 42739 42740/** 42741 * @internal 42742 */ 42743var RefFlag = "__v_isRef"; 42744function isRef(r) { 42745 return !!(r && r.__v_isRef === true); 42746} 42747function ref$1(value) { 42748 return createRef(value, false); 42749} 42750function shallowRef(value) { 42751 return createRef(value, true); 42752} 42753function createRef(rawValue, shallow) { 42754 if (isRef(rawValue)) { 42755 return rawValue; 42756 } 42757 var ref = {}; 42758 def(ref, RefFlag, true); 42759 def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, shallow); 42760 def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering())); 42761 return ref; 42762} 42763function triggerRef(ref) { 42764 if ( true && !ref.dep) { 42765 warn$2("received object is not a triggerable ref."); 42766 } 42767 if (true) { 42768 ref.dep && 42769 ref.dep.notify({ 42770 type: "set" /* TriggerOpTypes.SET */, 42771 target: ref, 42772 key: 'value' 42773 }); 42774 } 42775 else {} 42776} 42777function unref(ref) { 42778 return isRef(ref) ? ref.value : ref; 42779} 42780function proxyRefs(objectWithRefs) { 42781 if (isReactive(objectWithRefs)) { 42782 return objectWithRefs; 42783 } 42784 var proxy = {}; 42785 var keys = Object.keys(objectWithRefs); 42786 for (var i = 0; i < keys.length; i++) { 42787 proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]); 42788 } 42789 return proxy; 42790} 42791function proxyWithRefUnwrap(target, source, key) { 42792 Object.defineProperty(target, key, { 42793 enumerable: true, 42794 configurable: true, 42795 get: function () { 42796 var val = source[key]; 42797 if (isRef(val)) { 42798 return val.value; 42799 } 42800 else { 42801 var ob = val && val.__ob__; 42802 if (ob) 42803 ob.dep.depend(); 42804 return val; 42805 } 42806 }, 42807 set: function (value) { 42808 var oldValue = source[key]; 42809 if (isRef(oldValue) && !isRef(value)) { 42810 oldValue.value = value; 42811 } 42812 else { 42813 source[key] = value; 42814 } 42815 } 42816 }); 42817} 42818function customRef(factory) { 42819 var dep = new Dep(); 42820 var _a = factory(function () { 42821 if (true) { 42822 dep.depend({ 42823 target: ref, 42824 type: "get" /* TrackOpTypes.GET */, 42825 key: 'value' 42826 }); 42827 } 42828 else {} 42829 }, function () { 42830 if (true) { 42831 dep.notify({ 42832 target: ref, 42833 type: "set" /* TriggerOpTypes.SET */, 42834 key: 'value' 42835 }); 42836 } 42837 else {} 42838 }), get = _a.get, set = _a.set; 42839 var ref = { 42840 get value() { 42841 return get(); 42842 }, 42843 set value(newVal) { 42844 set(newVal); 42845 } 42846 }; 42847 def(ref, RefFlag, true); 42848 return ref; 42849} 42850function toRefs(object) { 42851 if ( true && !isReactive(object)) { 42852 warn$2("toRefs() expects a reactive object but received a plain one."); 42853 } 42854 var ret = isArray(object) ? new Array(object.length) : {}; 42855 for (var key in object) { 42856 ret[key] = toRef(object, key); 42857 } 42858 return ret; 42859} 42860function toRef(object, key, defaultValue) { 42861 var val = object[key]; 42862 if (isRef(val)) { 42863 return val; 42864 } 42865 var ref = { 42866 get value() { 42867 var val = object[key]; 42868 return val === undefined ? defaultValue : val; 42869 }, 42870 set value(newVal) { 42871 object[key] = newVal; 42872 } 42873 }; 42874 def(ref, RefFlag, true); 42875 return ref; 42876} 42877 42878var rawToReadonlyFlag = "__v_rawToReadonly"; 42879var rawToShallowReadonlyFlag = "__v_rawToShallowReadonly"; 42880function readonly(target) { 42881 return createReadonly(target, false); 42882} 42883function createReadonly(target, shallow) { 42884 if (!isPlainObject(target)) { 42885 if (true) { 42886 if (isArray(target)) { 42887 warn$2("Vue 2 does not support readonly arrays."); 42888 } 42889 else if (isCollectionType(target)) { 42890 warn$2("Vue 2 does not support readonly collection types such as Map or Set."); 42891 } 42892 else { 42893 warn$2("value cannot be made readonly: ".concat(typeof target)); 42894 } 42895 } 42896 return target; 42897 } 42898 if ( true && !Object.isExtensible(target)) { 42899 warn$2("Vue 2 does not support creating readonly proxy for non-extensible object."); 42900 } 42901 // already a readonly object 42902 if (isReadonly(target)) { 42903 return target; 42904 } 42905 // already has a readonly proxy 42906 var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag; 42907 var existingProxy = target[existingFlag]; 42908 if (existingProxy) { 42909 return existingProxy; 42910 } 42911 var proxy = Object.create(Object.getPrototypeOf(target)); 42912 def(target, existingFlag, proxy); 42913 def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true); 42914 def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target); 42915 if (isRef(target)) { 42916 def(proxy, RefFlag, true); 42917 } 42918 if (shallow || isShallow(target)) { 42919 def(proxy, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true); 42920 } 42921 var keys = Object.keys(target); 42922 for (var i = 0; i < keys.length; i++) { 42923 defineReadonlyProperty(proxy, target, keys[i], shallow); 42924 } 42925 return proxy; 42926} 42927function defineReadonlyProperty(proxy, target, key, shallow) { 42928 Object.defineProperty(proxy, key, { 42929 enumerable: true, 42930 configurable: true, 42931 get: function () { 42932 var val = target[key]; 42933 return shallow || !isPlainObject(val) ? val : readonly(val); 42934 }, 42935 set: function () { 42936 true && 42937 warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly.")); 42938 } 42939 }); 42940} 42941/** 42942 * Returns a reactive-copy of the original object, where only the root level 42943 * properties are readonly, and does NOT unwrap refs nor recursively convert 42944 * returned properties. 42945 * This is used for creating the props proxy object for stateful components. 42946 */ 42947function shallowReadonly(target) { 42948 return createReadonly(target, true); 42949} 42950 42951function computed(getterOrOptions, debugOptions) { 42952 var getter; 42953 var setter; 42954 var onlyGetter = isFunction(getterOrOptions); 42955 if (onlyGetter) { 42956 getter = getterOrOptions; 42957 setter = true 42958 ? function () { 42959 warn$2('Write operation failed: computed value is readonly'); 42960 } 42961 : 0; 42962 } 42963 else { 42964 getter = getterOrOptions.get; 42965 setter = getterOrOptions.set; 42966 } 42967 var watcher = isServerRendering() 42968 ? null 42969 : new Watcher(currentInstance, getter, noop, { lazy: true }); 42970 if ( true && watcher && debugOptions) { 42971 watcher.onTrack = debugOptions.onTrack; 42972 watcher.onTrigger = debugOptions.onTrigger; 42973 } 42974 var ref = { 42975 // some libs rely on the presence effect for checking computed refs 42976 // from normal refs, but the implementation doesn't matter 42977 effect: watcher, 42978 get value() { 42979 if (watcher) { 42980 if (watcher.dirty) { 42981 watcher.evaluate(); 42982 } 42983 if (Dep.target) { 42984 if ( true && Dep.target.onTrack) { 42985 Dep.target.onTrack({ 42986 effect: Dep.target, 42987 target: ref, 42988 type: "get" /* TrackOpTypes.GET */, 42989 key: 'value' 42990 }); 42991 } 42992 watcher.depend(); 42993 } 42994 return watcher.value; 42995 } 42996 else { 42997 return getter(); 42998 } 42999 }, 43000 set value(newVal) { 43001 setter(newVal); 43002 } 43003 }; 43004 def(ref, RefFlag, true); 43005 def(ref, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, onlyGetter); 43006 return ref; 43007} 43008 43009var mark; 43010var measure; 43011if (true) { 43012 var perf_1 = inBrowser && window.performance; 43013 /* istanbul ignore if */ 43014 if (perf_1 && 43015 // @ts-ignore 43016 perf_1.mark && 43017 // @ts-ignore 43018 perf_1.measure && 43019 // @ts-ignore 43020 perf_1.clearMarks && 43021 // @ts-ignore 43022 perf_1.clearMeasures) { 43023 mark = function (tag) { return perf_1.mark(tag); }; 43024 measure = function (name, startTag, endTag) { 43025 perf_1.measure(name, startTag, endTag); 43026 perf_1.clearMarks(startTag); 43027 perf_1.clearMarks(endTag); 43028 // perf.clearMeasures(name) 43029 }; 43030 } 43031} 43032 43033var normalizeEvent = cached(function (name) { 43034 var passive = name.charAt(0) === '&'; 43035 name = passive ? name.slice(1) : name; 43036 var once = name.charAt(0) === '~'; // Prefixed last, checked first 43037 name = once ? name.slice(1) : name; 43038 var capture = name.charAt(0) === '!'; 43039 name = capture ? name.slice(1) : name; 43040 return { 43041 name: name, 43042 once: once, 43043 capture: capture, 43044 passive: passive 43045 }; 43046}); 43047function createFnInvoker(fns, vm) { 43048 function invoker() { 43049 var fns = invoker.fns; 43050 if (isArray(fns)) { 43051 var cloned = fns.slice(); 43052 for (var i = 0; i < cloned.length; i++) { 43053 invokeWithErrorHandling(cloned[i], null, arguments, vm, "v-on handler"); 43054 } 43055 } 43056 else { 43057 // return handler return value for single handlers 43058 return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler"); 43059 } 43060 } 43061 invoker.fns = fns; 43062 return invoker; 43063} 43064function updateListeners(on, oldOn, add, remove, createOnceHandler, vm) { 43065 var name, cur, old, event; 43066 for (name in on) { 43067 cur = on[name]; 43068 old = oldOn[name]; 43069 event = normalizeEvent(name); 43070 if (isUndef(cur)) { 43071 true && 43072 warn$2("Invalid handler for event \"".concat(event.name, "\": got ") + String(cur), vm); 43073 } 43074 else if (isUndef(old)) { 43075 if (isUndef(cur.fns)) { 43076 cur = on[name] = createFnInvoker(cur, vm); 43077 } 43078 if (isTrue(event.once)) { 43079 cur = on[name] = createOnceHandler(event.name, cur, event.capture); 43080 } 43081 add(event.name, cur, event.capture, event.passive, event.params); 43082 } 43083 else if (cur !== old) { 43084 old.fns = cur; 43085 on[name] = old; 43086 } 43087 } 43088 for (name in oldOn) { 43089 if (isUndef(on[name])) { 43090 event = normalizeEvent(name); 43091 remove(event.name, oldOn[name], event.capture); 43092 } 43093 } 43094} 43095 43096function mergeVNodeHook(def, hookKey, hook) { 43097 if (def instanceof VNode) { 43098 def = def.data.hook || (def.data.hook = {}); 43099 } 43100 var invoker; 43101 var oldHook = def[hookKey]; 43102 function wrappedHook() { 43103 hook.apply(this, arguments); 43104 // important: remove merged hook to ensure it's called only once 43105 // and prevent memory leak 43106 remove$2(invoker.fns, wrappedHook); 43107 } 43108 if (isUndef(oldHook)) { 43109 // no existing hook 43110 invoker = createFnInvoker([wrappedHook]); 43111 } 43112 else { 43113 /* istanbul ignore if */ 43114 if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { 43115 // already a merged invoker 43116 invoker = oldHook; 43117 invoker.fns.push(wrappedHook); 43118 } 43119 else { 43120 // existing plain hook 43121 invoker = createFnInvoker([oldHook, wrappedHook]); 43122 } 43123 } 43124 invoker.merged = true; 43125 def[hookKey] = invoker; 43126} 43127 43128function extractPropsFromVNodeData(data, Ctor, tag) { 43129 // we are only extracting raw values here. 43130 // validation and default values are handled in the child 43131 // component itself. 43132 var propOptions = Ctor.options.props; 43133 if (isUndef(propOptions)) { 43134 return; 43135 } 43136 var res = {}; 43137 var attrs = data.attrs, props = data.props; 43138 if (isDef(attrs) || isDef(props)) { 43139 for (var key in propOptions) { 43140 var altKey = hyphenate(key); 43141 if (true) { 43142 var keyInLowerCase = key.toLowerCase(); 43143 if (key !== keyInLowerCase && attrs && hasOwn(attrs, keyInLowerCase)) { 43144 tip("Prop \"".concat(keyInLowerCase, "\" is passed to component ") + 43145 "".concat(formatComponentName( 43146 // @ts-expect-error tag is string 43147 tag || Ctor), ", but the declared prop name is") + 43148 " \"".concat(key, "\". ") + 43149 "Note that HTML attributes are case-insensitive and camelCased " + 43150 "props need to use their kebab-case equivalents when using in-DOM " + 43151 "templates. You should probably use \"".concat(altKey, "\" instead of \"").concat(key, "\".")); 43152 } 43153 } 43154 checkProp(res, props, key, altKey, true) || 43155 checkProp(res, attrs, key, altKey, false); 43156 } 43157 } 43158 return res; 43159} 43160function checkProp(res, hash, key, altKey, preserve) { 43161 if (isDef(hash)) { 43162 if (hasOwn(hash, key)) { 43163 res[key] = hash[key]; 43164 if (!preserve) { 43165 delete hash[key]; 43166 } 43167 return true; 43168 } 43169 else if (hasOwn(hash, altKey)) { 43170 res[key] = hash[altKey]; 43171 if (!preserve) { 43172 delete hash[altKey]; 43173 } 43174 return true; 43175 } 43176 } 43177 return false; 43178} 43179 43180// The template compiler attempts to minimize the need for normalization by 43181// statically analyzing the template at compile time. 43182// 43183// For plain HTML markup, normalization can be completely skipped because the 43184// generated render function is guaranteed to return Array<VNode>. There are 43185// two cases where extra normalization is needed: 43186// 1. When the children contains components - because a functional component 43187// may return an Array instead of a single root. In this case, just a simple 43188// normalization is needed - if any child is an Array, we flatten the whole 43189// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep 43190// because functional components already normalize their own children. 43191function simpleNormalizeChildren(children) { 43192 for (var i = 0; i < children.length; i++) { 43193 if (isArray(children[i])) { 43194 return Array.prototype.concat.apply([], children); 43195 } 43196 } 43197 return children; 43198} 43199// 2. When the children contains constructs that always generated nested Arrays, 43200// e.g. <template>, <slot>, v-for, or when the children is provided by user 43201// with hand-written render functions / JSX. In such cases a full normalization 43202// is needed to cater to all possible types of children values. 43203function normalizeChildren(children) { 43204 return isPrimitive(children) 43205 ? [createTextVNode(children)] 43206 : isArray(children) 43207 ? normalizeArrayChildren(children) 43208 : undefined; 43209} 43210function isTextNode(node) { 43211 return isDef(node) && isDef(node.text) && isFalse(node.isComment); 43212} 43213function normalizeArrayChildren(children, nestedIndex) { 43214 var res = []; 43215 var i, c, lastIndex, last; 43216 for (i = 0; i < children.length; i++) { 43217 c = children[i]; 43218 if (isUndef(c) || typeof c === 'boolean') 43219 continue; 43220 lastIndex = res.length - 1; 43221 last = res[lastIndex]; 43222 // nested 43223 if (isArray(c)) { 43224 if (c.length > 0) { 43225 c = normalizeArrayChildren(c, "".concat(nestedIndex || '', "_").concat(i)); 43226 // merge adjacent text nodes 43227 if (isTextNode(c[0]) && isTextNode(last)) { 43228 res[lastIndex] = createTextVNode(last.text + c[0].text); 43229 c.shift(); 43230 } 43231 res.push.apply(res, c); 43232 } 43233 } 43234 else if (isPrimitive(c)) { 43235 if (isTextNode(last)) { 43236 // merge adjacent text nodes 43237 // this is necessary for SSR hydration because text nodes are 43238 // essentially merged when rendered to HTML strings 43239 res[lastIndex] = createTextVNode(last.text + c); 43240 } 43241 else if (c !== '') { 43242 // convert primitive to vnode 43243 res.push(createTextVNode(c)); 43244 } 43245 } 43246 else { 43247 if (isTextNode(c) && isTextNode(last)) { 43248 // merge adjacent text nodes 43249 res[lastIndex] = createTextVNode(last.text + c.text); 43250 } 43251 else { 43252 // default key for nested array children (likely generated by v-for) 43253 if (isTrue(children._isVList) && 43254 isDef(c.tag) && 43255 isUndef(c.key) && 43256 isDef(nestedIndex)) { 43257 c.key = "__vlist".concat(nestedIndex, "_").concat(i, "__"); 43258 } 43259 res.push(c); 43260 } 43261 } 43262 } 43263 return res; 43264} 43265 43266var SIMPLE_NORMALIZE = 1; 43267var ALWAYS_NORMALIZE = 2; 43268// wrapper function for providing a more flexible interface 43269// without getting yelled at by flow 43270function createElement$1(context, tag, data, children, normalizationType, alwaysNormalize) { 43271 if (isArray(data) || isPrimitive(data)) { 43272 normalizationType = children; 43273 children = data; 43274 data = undefined; 43275 } 43276 if (isTrue(alwaysNormalize)) { 43277 normalizationType = ALWAYS_NORMALIZE; 43278 } 43279 return _createElement(context, tag, data, children, normalizationType); 43280} 43281function _createElement(context, tag, data, children, normalizationType) { 43282 if (isDef(data) && isDef(data.__ob__)) { 43283 true && 43284 warn$2("Avoid using observed data object as vnode data: ".concat(JSON.stringify(data), "\n") + 'Always create fresh vnode data objects in each render!', context); 43285 return createEmptyVNode(); 43286 } 43287 // object syntax in v-bind 43288 if (isDef(data) && isDef(data.is)) { 43289 tag = data.is; 43290 } 43291 if (!tag) { 43292 // in case of component :is set to falsy value 43293 return createEmptyVNode(); 43294 } 43295 // warn against non-primitive key 43296 if ( true && isDef(data) && isDef(data.key) && !isPrimitive(data.key)) { 43297 warn$2('Avoid using non-primitive value as key, ' + 43298 'use string/number value instead.', context); 43299 } 43300 // support single function children as default scoped slot 43301 if (isArray(children) && isFunction(children[0])) { 43302 data = data || {}; 43303 data.scopedSlots = { default: children[0] }; 43304 children.length = 0; 43305 } 43306 if (normalizationType === ALWAYS_NORMALIZE) { 43307 children = normalizeChildren(children); 43308 } 43309 else if (normalizationType === SIMPLE_NORMALIZE) { 43310 children = simpleNormalizeChildren(children); 43311 } 43312 var vnode, ns; 43313 if (typeof tag === 'string') { 43314 var Ctor = void 0; 43315 ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); 43316 if (config.isReservedTag(tag)) { 43317 // platform built-in elements 43318 if ( true && 43319 isDef(data) && 43320 isDef(data.nativeOn) && 43321 data.tag !== 'component') { 43322 warn$2("The .native modifier for v-on is only valid on components but it was used on <".concat(tag, ">."), context); 43323 } 43324 vnode = new VNode(config.parsePlatformTagName(tag), data, children, undefined, undefined, context); 43325 } 43326 else if ((!data || !data.pre) && 43327 isDef((Ctor = resolveAsset(context.$options, 'components', tag)))) { 43328 // component 43329 vnode = createComponent(Ctor, data, context, children, tag); 43330 } 43331 else { 43332 // unknown or unlisted namespaced elements 43333 // check at runtime because it may get assigned a namespace when its 43334 // parent normalizes children 43335 vnode = new VNode(tag, data, children, undefined, undefined, context); 43336 } 43337 } 43338 else { 43339 // direct component options / constructor 43340 vnode = createComponent(tag, data, context, children); 43341 } 43342 if (isArray(vnode)) { 43343 return vnode; 43344 } 43345 else if (isDef(vnode)) { 43346 if (isDef(ns)) 43347 applyNS(vnode, ns); 43348 if (isDef(data)) 43349 registerDeepBindings(data); 43350 return vnode; 43351 } 43352 else { 43353 return createEmptyVNode(); 43354 } 43355} 43356function applyNS(vnode, ns, force) { 43357 vnode.ns = ns; 43358 if (vnode.tag === 'foreignObject') { 43359 // use default namespace inside foreignObject 43360 ns = undefined; 43361 force = true; 43362 } 43363 if (isDef(vnode.children)) { 43364 for (var i = 0, l = vnode.children.length; i < l; i++) { 43365 var child = vnode.children[i]; 43366 if (isDef(child.tag) && 43367 (isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { 43368 applyNS(child, ns, force); 43369 } 43370 } 43371 } 43372} 43373// ref #5318 43374// necessary to ensure parent re-render when deep bindings like :style and 43375// :class are used on slot nodes 43376function registerDeepBindings(data) { 43377 if (isObject(data.style)) { 43378 traverse(data.style); 43379 } 43380 if (isObject(data.class)) { 43381 traverse(data.class); 43382 } 43383} 43384 43385/** 43386 * Runtime helper for rendering v-for lists. 43387 */ 43388function renderList(val, render) { 43389 var ret = null, i, l, keys, key; 43390 if (isArray(val) || typeof val === 'string') { 43391 ret = new Array(val.length); 43392 for (i = 0, l = val.length; i < l; i++) { 43393 ret[i] = render(val[i], i); 43394 } 43395 } 43396 else if (typeof val === 'number') { 43397 ret = new Array(val); 43398 for (i = 0; i < val; i++) { 43399 ret[i] = render(i + 1, i); 43400 } 43401 } 43402 else if (isObject(val)) { 43403 if (hasSymbol && val[Symbol.iterator]) { 43404 ret = []; 43405 var iterator = val[Symbol.iterator](); 43406 var result = iterator.next(); 43407 while (!result.done) { 43408 ret.push(render(result.value, ret.length)); 43409 result = iterator.next(); 43410 } 43411 } 43412 else { 43413 keys = Object.keys(val); 43414 ret = new Array(keys.length); 43415 for (i = 0, l = keys.length; i < l; i++) { 43416 key = keys[i]; 43417 ret[i] = render(val[key], key, i); 43418 } 43419 } 43420 } 43421 if (!isDef(ret)) { 43422 ret = []; 43423 } 43424 ret._isVList = true; 43425 return ret; 43426} 43427 43428/** 43429 * Runtime helper for rendering <slot> 43430 */ 43431function renderSlot(name, fallbackRender, props, bindObject) { 43432 var scopedSlotFn = this.$scopedSlots[name]; 43433 var nodes; 43434 if (scopedSlotFn) { 43435 // scoped slot 43436 props = props || {}; 43437 if (bindObject) { 43438 if ( true && !isObject(bindObject)) { 43439 warn$2('slot v-bind without argument expects an Object', this); 43440 } 43441 props = extend(extend({}, bindObject), props); 43442 } 43443 nodes = 43444 scopedSlotFn(props) || 43445 (isFunction(fallbackRender) ? fallbackRender() : fallbackRender); 43446 } 43447 else { 43448 nodes = 43449 this.$slots[name] || 43450 (isFunction(fallbackRender) ? fallbackRender() : fallbackRender); 43451 } 43452 var target = props && props.slot; 43453 if (target) { 43454 return this.$createElement('template', { slot: target }, nodes); 43455 } 43456 else { 43457 return nodes; 43458 } 43459} 43460 43461/** 43462 * Runtime helper for resolving filters 43463 */ 43464function resolveFilter(id) { 43465 return resolveAsset(this.$options, 'filters', id, true) || identity; 43466} 43467 43468function isKeyNotMatch(expect, actual) { 43469 if (isArray(expect)) { 43470 return expect.indexOf(actual) === -1; 43471 } 43472 else { 43473 return expect !== actual; 43474 } 43475} 43476/** 43477 * Runtime helper for checking keyCodes from config. 43478 * exposed as Vue.prototype._k 43479 * passing in eventKeyName as last argument separately for backwards compat 43480 */ 43481function checkKeyCodes(eventKeyCode, key, builtInKeyCode, eventKeyName, builtInKeyName) { 43482 var mappedKeyCode = config.keyCodes[key] || builtInKeyCode; 43483 if (builtInKeyName && eventKeyName && !config.keyCodes[key]) { 43484 return isKeyNotMatch(builtInKeyName, eventKeyName); 43485 } 43486 else if (mappedKeyCode) { 43487 return isKeyNotMatch(mappedKeyCode, eventKeyCode); 43488 } 43489 else if (eventKeyName) { 43490 return hyphenate(eventKeyName) !== key; 43491 } 43492 return eventKeyCode === undefined; 43493} 43494 43495/** 43496 * Runtime helper for merging v-bind="object" into a VNode's data. 43497 */ 43498function bindObjectProps(data, tag, value, asProp, isSync) { 43499 if (value) { 43500 if (!isObject(value)) { 43501 true && 43502 warn$2('v-bind without argument expects an Object or Array value', this); 43503 } 43504 else { 43505 if (isArray(value)) { 43506 value = toObject(value); 43507 } 43508 var hash = void 0; 43509 var _loop_1 = function (key) { 43510 if (key === 'class' || key === 'style' || isReservedAttribute(key)) { 43511 hash = data; 43512 } 43513 else { 43514 var type = data.attrs && data.attrs.type; 43515 hash = 43516 asProp || config.mustUseProp(tag, type, key) 43517 ? data.domProps || (data.domProps = {}) 43518 : data.attrs || (data.attrs = {}); 43519 } 43520 var camelizedKey = camelize(key); 43521 var hyphenatedKey = hyphenate(key); 43522 if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) { 43523 hash[key] = value[key]; 43524 if (isSync) { 43525 var on = data.on || (data.on = {}); 43526 on["update:".concat(key)] = function ($event) { 43527 value[key] = $event; 43528 }; 43529 } 43530 } 43531 }; 43532 for (var key in value) { 43533 _loop_1(key); 43534 } 43535 } 43536 } 43537 return data; 43538} 43539 43540/** 43541 * Runtime helper for rendering static trees. 43542 */ 43543function renderStatic(index, isInFor) { 43544 var cached = this._staticTrees || (this._staticTrees = []); 43545 var tree = cached[index]; 43546 // if has already-rendered static tree and not inside v-for, 43547 // we can reuse the same tree. 43548 if (tree && !isInFor) { 43549 return tree; 43550 } 43551 // otherwise, render a fresh tree. 43552 tree = cached[index] = this.$options.staticRenderFns[index].call(this._renderProxy, this._c, this // for render fns generated for functional component templates 43553 ); 43554 markStatic$1(tree, "__static__".concat(index), false); 43555 return tree; 43556} 43557/** 43558 * Runtime helper for v-once. 43559 * Effectively it means marking the node as static with a unique key. 43560 */ 43561function markOnce(tree, index, key) { 43562 markStatic$1(tree, "__once__".concat(index).concat(key ? "_".concat(key) : ""), true); 43563 return tree; 43564} 43565function markStatic$1(tree, key, isOnce) { 43566 if (isArray(tree)) { 43567 for (var i = 0; i < tree.length; i++) { 43568 if (tree[i] && typeof tree[i] !== 'string') { 43569 markStaticNode(tree[i], "".concat(key, "_").concat(i), isOnce); 43570 } 43571 } 43572 } 43573 else { 43574 markStaticNode(tree, key, isOnce); 43575 } 43576} 43577function markStaticNode(node, key, isOnce) { 43578 node.isStatic = true; 43579 node.key = key; 43580 node.isOnce = isOnce; 43581} 43582 43583function bindObjectListeners(data, value) { 43584 if (value) { 43585 if (!isPlainObject(value)) { 43586 true && warn$2('v-on without argument expects an Object value', this); 43587 } 43588 else { 43589 var on = (data.on = data.on ? extend({}, data.on) : {}); 43590 for (var key in value) { 43591 var existing = on[key]; 43592 var ours = value[key]; 43593 on[key] = existing ? [].concat(existing, ours) : ours; 43594 } 43595 } 43596 } 43597 return data; 43598} 43599 43600function resolveScopedSlots(fns, res, 43601// the following are added in 2.6 43602hasDynamicKeys, contentHashKey) { 43603 res = res || { $stable: !hasDynamicKeys }; 43604 for (var i = 0; i < fns.length; i++) { 43605 var slot = fns[i]; 43606 if (isArray(slot)) { 43607 resolveScopedSlots(slot, res, hasDynamicKeys); 43608 } 43609 else if (slot) { 43610 // marker for reverse proxying v-slot without scope on this.$slots 43611 // @ts-expect-error 43612 if (slot.proxy) { 43613 // @ts-expect-error 43614 slot.fn.proxy = true; 43615 } 43616 res[slot.key] = slot.fn; 43617 } 43618 } 43619 if (contentHashKey) { 43620 res.$key = contentHashKey; 43621 } 43622 return res; 43623} 43624 43625// helper to process dynamic keys for dynamic arguments in v-bind and v-on. 43626function bindDynamicKeys(baseObj, values) { 43627 for (var i = 0; i < values.length; i += 2) { 43628 var key = values[i]; 43629 if (typeof key === 'string' && key) { 43630 baseObj[values[i]] = values[i + 1]; 43631 } 43632 else if ( true && key !== '' && key !== null) { 43633 // null is a special value for explicitly removing a binding 43634 warn$2("Invalid value for dynamic directive argument (expected string or null): ".concat(key), this); 43635 } 43636 } 43637 return baseObj; 43638} 43639// helper to dynamically append modifier runtime markers to event names. 43640// ensure only append when value is already string, otherwise it will be cast 43641// to string and cause the type check to miss. 43642function prependModifier(value, symbol) { 43643 return typeof value === 'string' ? symbol + value : value; 43644} 43645 43646function installRenderHelpers(target) { 43647 target._o = markOnce; 43648 target._n = toNumber; 43649 target._s = toString; 43650 target._l = renderList; 43651 target._t = renderSlot; 43652 target._q = looseEqual; 43653 target._i = looseIndexOf; 43654 target._m = renderStatic; 43655 target._f = resolveFilter; 43656 target._k = checkKeyCodes; 43657 target._b = bindObjectProps; 43658 target._v = createTextVNode; 43659 target._e = createEmptyVNode; 43660 target._u = resolveScopedSlots; 43661 target._g = bindObjectListeners; 43662 target._d = bindDynamicKeys; 43663 target._p = prependModifier; 43664} 43665 43666/** 43667 * Runtime helper for resolving raw children VNodes into a slot object. 43668 */ 43669function resolveSlots(children, context) { 43670 if (!children || !children.length) { 43671 return {}; 43672 } 43673 var slots = {}; 43674 for (var i = 0, l = children.length; i < l; i++) { 43675 var child = children[i]; 43676 var data = child.data; 43677 // remove slot attribute if the node is resolved as a Vue slot node 43678 if (data && data.attrs && data.attrs.slot) { 43679 delete data.attrs.slot; 43680 } 43681 // named slots should only be respected if the vnode was rendered in the 43682 // same context. 43683 if ((child.context === context || child.fnContext === context) && 43684 data && 43685 data.slot != null) { 43686 var name_1 = data.slot; 43687 var slot = slots[name_1] || (slots[name_1] = []); 43688 if (child.tag === 'template') { 43689 slot.push.apply(slot, child.children || []); 43690 } 43691 else { 43692 slot.push(child); 43693 } 43694 } 43695 else { 43696 (slots.default || (slots.default = [])).push(child); 43697 } 43698 } 43699 // ignore slots that contains only whitespace 43700 for (var name_2 in slots) { 43701 if (slots[name_2].every(isWhitespace)) { 43702 delete slots[name_2]; 43703 } 43704 } 43705 return slots; 43706} 43707function isWhitespace(node) { 43708 return (node.isComment && !node.asyncFactory) || node.text === ' '; 43709} 43710 43711function isAsyncPlaceholder(node) { 43712 // @ts-expect-error not really boolean type 43713 return node.isComment && node.asyncFactory; 43714} 43715 43716function normalizeScopedSlots(ownerVm, scopedSlots, normalSlots, prevScopedSlots) { 43717 var res; 43718 var hasNormalSlots = Object.keys(normalSlots).length > 0; 43719 var isStable = scopedSlots ? !!scopedSlots.$stable : !hasNormalSlots; 43720 var key = scopedSlots && scopedSlots.$key; 43721 if (!scopedSlots) { 43722 res = {}; 43723 } 43724 else if (scopedSlots._normalized) { 43725 // fast path 1: child component re-render only, parent did not change 43726 return scopedSlots._normalized; 43727 } 43728 else if (isStable && 43729 prevScopedSlots && 43730 prevScopedSlots !== emptyObject && 43731 key === prevScopedSlots.$key && 43732 !hasNormalSlots && 43733 !prevScopedSlots.$hasNormal) { 43734 // fast path 2: stable scoped slots w/ no normal slots to proxy, 43735 // only need to normalize once 43736 return prevScopedSlots; 43737 } 43738 else { 43739 res = {}; 43740 for (var key_1 in scopedSlots) { 43741 if (scopedSlots[key_1] && key_1[0] !== '$') { 43742 res[key_1] = normalizeScopedSlot(ownerVm, normalSlots, key_1, scopedSlots[key_1]); 43743 } 43744 } 43745 } 43746 // expose normal slots on scopedSlots 43747 for (var key_2 in normalSlots) { 43748 if (!(key_2 in res)) { 43749 res[key_2] = proxyNormalSlot(normalSlots, key_2); 43750 } 43751 } 43752 // avoriaz seems to mock a non-extensible $scopedSlots object 43753 // and when that is passed down this would cause an error 43754 if (scopedSlots && Object.isExtensible(scopedSlots)) { 43755 scopedSlots._normalized = res; 43756 } 43757 def(res, '$stable', isStable); 43758 def(res, '$key', key); 43759 def(res, '$hasNormal', hasNormalSlots); 43760 return res; 43761} 43762function normalizeScopedSlot(vm, normalSlots, key, fn) { 43763 var normalized = function () { 43764 var cur = currentInstance; 43765 setCurrentInstance(vm); 43766 var res = arguments.length ? fn.apply(null, arguments) : fn({}); 43767 res = 43768 res && typeof res === 'object' && !isArray(res) 43769 ? [res] // single vnode 43770 : normalizeChildren(res); 43771 var vnode = res && res[0]; 43772 setCurrentInstance(cur); 43773 return res && 43774 (!vnode || 43775 (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode))) // #9658, #10391 43776 ? undefined 43777 : res; 43778 }; 43779 // this is a slot using the new v-slot syntax without scope. although it is 43780 // compiled as a scoped slot, render fn users would expect it to be present 43781 // on this.$slots because the usage is semantically a normal slot. 43782 if (fn.proxy) { 43783 Object.defineProperty(normalSlots, key, { 43784 get: normalized, 43785 enumerable: true, 43786 configurable: true 43787 }); 43788 } 43789 return normalized; 43790} 43791function proxyNormalSlot(slots, key) { 43792 return function () { return slots[key]; }; 43793} 43794 43795function initSetup(vm) { 43796 var options = vm.$options; 43797 var setup = options.setup; 43798 if (setup) { 43799 var ctx = (vm._setupContext = createSetupContext(vm)); 43800 setCurrentInstance(vm); 43801 pushTarget(); 43802 var setupResult = invokeWithErrorHandling(setup, null, [vm._props || shallowReactive({}), ctx], vm, "setup"); 43803 popTarget(); 43804 setCurrentInstance(); 43805 if (isFunction(setupResult)) { 43806 // render function 43807 // @ts-ignore 43808 options.render = setupResult; 43809 } 43810 else if (isObject(setupResult)) { 43811 // bindings 43812 if ( true && setupResult instanceof VNode) { 43813 warn$2("setup() should not return VNodes directly - " + 43814 "return a render function instead."); 43815 } 43816 vm._setupState = setupResult; 43817 // __sfc indicates compiled bindings from <script setup> 43818 if (!setupResult.__sfc) { 43819 for (var key in setupResult) { 43820 if (!isReserved(key)) { 43821 proxyWithRefUnwrap(vm, setupResult, key); 43822 } 43823 else if (true) { 43824 warn$2("Avoid using variables that start with _ or $ in setup()."); 43825 } 43826 } 43827 } 43828 else { 43829 // exposed for compiled render fn 43830 var proxy = (vm._setupProxy = {}); 43831 for (var key in setupResult) { 43832 if (key !== '__sfc') { 43833 proxyWithRefUnwrap(proxy, setupResult, key); 43834 } 43835 } 43836 } 43837 } 43838 else if ( true && setupResult !== undefined) { 43839 warn$2("setup() should return an object. Received: ".concat(setupResult === null ? 'null' : typeof setupResult)); 43840 } 43841 } 43842} 43843function createSetupContext(vm) { 43844 var exposeCalled = false; 43845 return { 43846 get attrs() { 43847 if (!vm._attrsProxy) { 43848 var proxy = (vm._attrsProxy = {}); 43849 def(proxy, '_v_attr_proxy', true); 43850 syncSetupProxy(proxy, vm.$attrs, emptyObject, vm, '$attrs'); 43851 } 43852 return vm._attrsProxy; 43853 }, 43854 get listeners() { 43855 if (!vm._listenersProxy) { 43856 var proxy = (vm._listenersProxy = {}); 43857 syncSetupProxy(proxy, vm.$listeners, emptyObject, vm, '$listeners'); 43858 } 43859 return vm._listenersProxy; 43860 }, 43861 get slots() { 43862 return initSlotsProxy(vm); 43863 }, 43864 emit: bind$1(vm.$emit, vm), 43865 expose: function (exposed) { 43866 if (true) { 43867 if (exposeCalled) { 43868 warn$2("expose() should be called only once per setup().", vm); 43869 } 43870 exposeCalled = true; 43871 } 43872 if (exposed) { 43873 Object.keys(exposed).forEach(function (key) { 43874 return proxyWithRefUnwrap(vm, exposed, key); 43875 }); 43876 } 43877 } 43878 }; 43879} 43880function syncSetupProxy(to, from, prev, instance, type) { 43881 var changed = false; 43882 for (var key in from) { 43883 if (!(key in to)) { 43884 changed = true; 43885 defineProxyAttr(to, key, instance, type); 43886 } 43887 else if (from[key] !== prev[key]) { 43888 changed = true; 43889 } 43890 } 43891 for (var key in to) { 43892 if (!(key in from)) { 43893 changed = true; 43894 delete to[key]; 43895 } 43896 } 43897 return changed; 43898} 43899function defineProxyAttr(proxy, key, instance, type) { 43900 Object.defineProperty(proxy, key, { 43901 enumerable: true, 43902 configurable: true, 43903 get: function () { 43904 return instance[type][key]; 43905 } 43906 }); 43907} 43908function initSlotsProxy(vm) { 43909 if (!vm._slotsProxy) { 43910 syncSetupSlots((vm._slotsProxy = {}), vm.$scopedSlots); 43911 } 43912 return vm._slotsProxy; 43913} 43914function syncSetupSlots(to, from) { 43915 for (var key in from) { 43916 to[key] = from[key]; 43917 } 43918 for (var key in to) { 43919 if (!(key in from)) { 43920 delete to[key]; 43921 } 43922 } 43923} 43924/** 43925 * @internal use manual type def because public setup context type relies on 43926 * legacy VNode types 43927 */ 43928function useSlots() { 43929 return getContext().slots; 43930} 43931/** 43932 * @internal use manual type def because public setup context type relies on 43933 * legacy VNode types 43934 */ 43935function useAttrs() { 43936 return getContext().attrs; 43937} 43938/** 43939 * Vue 2 only 43940 * @internal use manual type def because public setup context type relies on 43941 * legacy VNode types 43942 */ 43943function useListeners() { 43944 return getContext().listeners; 43945} 43946function getContext() { 43947 if ( true && !currentInstance) { 43948 warn$2("useContext() called without active instance."); 43949 } 43950 var vm = currentInstance; 43951 return vm._setupContext || (vm._setupContext = createSetupContext(vm)); 43952} 43953/** 43954 * Runtime helper for merging default declarations. Imported by compiled code 43955 * only. 43956 * @internal 43957 */ 43958function mergeDefaults(raw, defaults) { 43959 var props = isArray(raw) 43960 ? raw.reduce(function (normalized, p) { return ((normalized[p] = {}), normalized); }, {}) 43961 : raw; 43962 for (var key in defaults) { 43963 var opt = props[key]; 43964 if (opt) { 43965 if (isArray(opt) || isFunction(opt)) { 43966 props[key] = { type: opt, default: defaults[key] }; 43967 } 43968 else { 43969 opt.default = defaults[key]; 43970 } 43971 } 43972 else if (opt === null) { 43973 props[key] = { default: defaults[key] }; 43974 } 43975 else if (true) { 43976 warn$2("props default key \"".concat(key, "\" has no corresponding declaration.")); 43977 } 43978 } 43979 return props; 43980} 43981 43982function initRender(vm) { 43983 vm._vnode = null; // the root of the child tree 43984 vm._staticTrees = null; // v-once cached trees 43985 var options = vm.$options; 43986 var parentVnode = (vm.$vnode = options._parentVnode); // the placeholder node in parent tree 43987 var renderContext = parentVnode && parentVnode.context; 43988 vm.$slots = resolveSlots(options._renderChildren, renderContext); 43989 vm.$scopedSlots = parentVnode 43990 ? normalizeScopedSlots(vm.$parent, parentVnode.data.scopedSlots, vm.$slots) 43991 : emptyObject; 43992 // bind the createElement fn to this instance 43993 // so that we get proper render context inside it. 43994 // args order: tag, data, children, normalizationType, alwaysNormalize 43995 // internal version is used by render functions compiled from templates 43996 // @ts-expect-error 43997 vm._c = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, false); }; 43998 // normalization is always applied for the public version, used in 43999 // user-written render functions. 44000 // @ts-expect-error 44001 vm.$createElement = function (a, b, c, d) { return createElement$1(vm, a, b, c, d, true); }; 44002 // $attrs & $listeners are exposed for easier HOC creation. 44003 // they need to be reactive so that HOCs using them are always updated 44004 var parentData = parentVnode && parentVnode.data; 44005 /* istanbul ignore else */ 44006 if (true) { 44007 defineReactive(vm, '$attrs', (parentData && parentData.attrs) || emptyObject, function () { 44008 !isUpdatingChildComponent && warn$2("$attrs is readonly.", vm); 44009 }, true); 44010 defineReactive(vm, '$listeners', options._parentListeners || emptyObject, function () { 44011 !isUpdatingChildComponent && warn$2("$listeners is readonly.", vm); 44012 }, true); 44013 } 44014 else {} 44015} 44016var currentRenderingInstance = null; 44017function renderMixin(Vue) { 44018 // install runtime convenience helpers 44019 installRenderHelpers(Vue.prototype); 44020 Vue.prototype.$nextTick = function (fn) { 44021 return nextTick(fn, this); 44022 }; 44023 Vue.prototype._render = function () { 44024 var vm = this; 44025 var _a = vm.$options, render = _a.render, _parentVnode = _a._parentVnode; 44026 if (_parentVnode && vm._isMounted) { 44027 vm.$scopedSlots = normalizeScopedSlots(vm.$parent, _parentVnode.data.scopedSlots, vm.$slots, vm.$scopedSlots); 44028 if (vm._slotsProxy) { 44029 syncSetupSlots(vm._slotsProxy, vm.$scopedSlots); 44030 } 44031 } 44032 // set parent vnode. this allows render functions to have access 44033 // to the data on the placeholder node. 44034 vm.$vnode = _parentVnode; 44035 // render self 44036 var vnode; 44037 try { 44038 // There's no need to maintain a stack because all render fns are called 44039 // separately from one another. Nested component's render fns are called 44040 // when parent component is patched. 44041 setCurrentInstance(vm); 44042 currentRenderingInstance = vm; 44043 vnode = render.call(vm._renderProxy, vm.$createElement); 44044 } 44045 catch (e) { 44046 handleError(e, vm, "render"); 44047 // return error render result, 44048 // or previous vnode to prevent render error causing blank component 44049 /* istanbul ignore else */ 44050 if ( true && vm.$options.renderError) { 44051 try { 44052 vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e); 44053 } 44054 catch (e) { 44055 handleError(e, vm, "renderError"); 44056 vnode = vm._vnode; 44057 } 44058 } 44059 else { 44060 vnode = vm._vnode; 44061 } 44062 } 44063 finally { 44064 currentRenderingInstance = null; 44065 setCurrentInstance(); 44066 } 44067 // if the returned array contains only a single node, allow it 44068 if (isArray(vnode) && vnode.length === 1) { 44069 vnode = vnode[0]; 44070 } 44071 // return empty vnode in case the render function errored out 44072 if (!(vnode instanceof VNode)) { 44073 if ( true && isArray(vnode)) { 44074 warn$2('Multiple root nodes returned from render function. Render function ' + 44075 'should return a single root node.', vm); 44076 } 44077 vnode = createEmptyVNode(); 44078 } 44079 // set parent 44080 vnode.parent = _parentVnode; 44081 return vnode; 44082 }; 44083} 44084 44085function ensureCtor(comp, base) { 44086 if (comp.__esModule || (hasSymbol && comp[Symbol.toStringTag] === 'Module')) { 44087 comp = comp.default; 44088 } 44089 return isObject(comp) ? base.extend(comp) : comp; 44090} 44091function createAsyncPlaceholder(factory, data, context, children, tag) { 44092 var node = createEmptyVNode(); 44093 node.asyncFactory = factory; 44094 node.asyncMeta = { data: data, context: context, children: children, tag: tag }; 44095 return node; 44096} 44097function resolveAsyncComponent(factory, baseCtor) { 44098 if (isTrue(factory.error) && isDef(factory.errorComp)) { 44099 return factory.errorComp; 44100 } 44101 if (isDef(factory.resolved)) { 44102 return factory.resolved; 44103 } 44104 var owner = currentRenderingInstance; 44105 if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) { 44106 // already pending 44107 factory.owners.push(owner); 44108 } 44109 if (isTrue(factory.loading) && isDef(factory.loadingComp)) { 44110 return factory.loadingComp; 44111 } 44112 if (owner && !isDef(factory.owners)) { 44113 var owners_1 = (factory.owners = [owner]); 44114 var sync_1 = true; 44115 var timerLoading_1 = null; 44116 var timerTimeout_1 = null; 44117 owner.$on('hook:destroyed', function () { return remove$2(owners_1, owner); }); 44118 var forceRender_1 = function (renderCompleted) { 44119 for (var i = 0, l = owners_1.length; i < l; i++) { 44120 owners_1[i].$forceUpdate(); 44121 } 44122 if (renderCompleted) { 44123 owners_1.length = 0; 44124 if (timerLoading_1 !== null) { 44125 clearTimeout(timerLoading_1); 44126 timerLoading_1 = null; 44127 } 44128 if (timerTimeout_1 !== null) { 44129 clearTimeout(timerTimeout_1); 44130 timerTimeout_1 = null; 44131 } 44132 } 44133 }; 44134 var resolve = once(function (res) { 44135 // cache resolved 44136 factory.resolved = ensureCtor(res, baseCtor); 44137 // invoke callbacks only if this is not a synchronous resolve 44138 // (async resolves are shimmed as synchronous during SSR) 44139 if (!sync_1) { 44140 forceRender_1(true); 44141 } 44142 else { 44143 owners_1.length = 0; 44144 } 44145 }); 44146 var reject_1 = once(function (reason) { 44147 true && 44148 warn$2("Failed to resolve async component: ".concat(String(factory)) + 44149 (reason ? "\nReason: ".concat(reason) : '')); 44150 if (isDef(factory.errorComp)) { 44151 factory.error = true; 44152 forceRender_1(true); 44153 } 44154 }); 44155 var res_1 = factory(resolve, reject_1); 44156 if (isObject(res_1)) { 44157 if (isPromise(res_1)) { 44158 // () => Promise 44159 if (isUndef(factory.resolved)) { 44160 res_1.then(resolve, reject_1); 44161 } 44162 } 44163 else if (isPromise(res_1.component)) { 44164 res_1.component.then(resolve, reject_1); 44165 if (isDef(res_1.error)) { 44166 factory.errorComp = ensureCtor(res_1.error, baseCtor); 44167 } 44168 if (isDef(res_1.loading)) { 44169 factory.loadingComp = ensureCtor(res_1.loading, baseCtor); 44170 if (res_1.delay === 0) { 44171 factory.loading = true; 44172 } 44173 else { 44174 // @ts-expect-error NodeJS timeout type 44175 timerLoading_1 = setTimeout(function () { 44176 timerLoading_1 = null; 44177 if (isUndef(factory.resolved) && isUndef(factory.error)) { 44178 factory.loading = true; 44179 forceRender_1(false); 44180 } 44181 }, res_1.delay || 200); 44182 } 44183 } 44184 if (isDef(res_1.timeout)) { 44185 // @ts-expect-error NodeJS timeout type 44186 timerTimeout_1 = setTimeout(function () { 44187 timerTimeout_1 = null; 44188 if (isUndef(factory.resolved)) { 44189 reject_1( true ? "timeout (".concat(res_1.timeout, "ms)") : 0); 44190 } 44191 }, res_1.timeout); 44192 } 44193 } 44194 } 44195 sync_1 = false; 44196 // return in case resolved synchronously 44197 return factory.loading ? factory.loadingComp : factory.resolved; 44198 } 44199} 44200 44201function getFirstComponentChild(children) { 44202 if (isArray(children)) { 44203 for (var i = 0; i < children.length; i++) { 44204 var c = children[i]; 44205 if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) { 44206 return c; 44207 } 44208 } 44209 } 44210} 44211 44212function initEvents(vm) { 44213 vm._events = Object.create(null); 44214 vm._hasHookEvent = false; 44215 // init parent attached events 44216 var listeners = vm.$options._parentListeners; 44217 if (listeners) { 44218 updateComponentListeners(vm, listeners); 44219 } 44220} 44221var target$1; 44222function add$1(event, fn) { 44223 target$1.$on(event, fn); 44224} 44225function remove$1(event, fn) { 44226 target$1.$off(event, fn); 44227} 44228function createOnceHandler$1(event, fn) { 44229 var _target = target$1; 44230 return function onceHandler() { 44231 var res = fn.apply(null, arguments); 44232 if (res !== null) { 44233 _target.$off(event, onceHandler); 44234 } 44235 }; 44236} 44237function updateComponentListeners(vm, listeners, oldListeners) { 44238 target$1 = vm; 44239 updateListeners(listeners, oldListeners || {}, add$1, remove$1, createOnceHandler$1, vm); 44240 target$1 = undefined; 44241} 44242function eventsMixin(Vue) { 44243 var hookRE = /^hook:/; 44244 Vue.prototype.$on = function (event, fn) { 44245 var vm = this; 44246 if (isArray(event)) { 44247 for (var i = 0, l = event.length; i < l; i++) { 44248 vm.$on(event[i], fn); 44249 } 44250 } 44251 else { 44252 (vm._events[event] || (vm._events[event] = [])).push(fn); 44253 // optimize hook:event cost by using a boolean flag marked at registration 44254 // instead of a hash lookup 44255 if (hookRE.test(event)) { 44256 vm._hasHookEvent = true; 44257 } 44258 } 44259 return vm; 44260 }; 44261 Vue.prototype.$once = function (event, fn) { 44262 var vm = this; 44263 function on() { 44264 vm.$off(event, on); 44265 fn.apply(vm, arguments); 44266 } 44267 on.fn = fn; 44268 vm.$on(event, on); 44269 return vm; 44270 }; 44271 Vue.prototype.$off = function (event, fn) { 44272 var vm = this; 44273 // all 44274 if (!arguments.length) { 44275 vm._events = Object.create(null); 44276 return vm; 44277 } 44278 // array of events 44279 if (isArray(event)) { 44280 for (var i_1 = 0, l = event.length; i_1 < l; i_1++) { 44281 vm.$off(event[i_1], fn); 44282 } 44283 return vm; 44284 } 44285 // specific event 44286 var cbs = vm._events[event]; 44287 if (!cbs) { 44288 return vm; 44289 } 44290 if (!fn) { 44291 vm._events[event] = null; 44292 return vm; 44293 } 44294 // specific handler 44295 var cb; 44296 var i = cbs.length; 44297 while (i--) { 44298 cb = cbs[i]; 44299 if (cb === fn || cb.fn === fn) { 44300 cbs.splice(i, 1); 44301 break; 44302 } 44303 } 44304 return vm; 44305 }; 44306 Vue.prototype.$emit = function (event) { 44307 var vm = this; 44308 if (true) { 44309 var lowerCaseEvent = event.toLowerCase(); 44310 if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { 44311 tip("Event \"".concat(lowerCaseEvent, "\" is emitted in component ") + 44312 "".concat(formatComponentName(vm), " but the handler is registered for \"").concat(event, "\". ") + 44313 "Note that HTML attributes are case-insensitive and you cannot use " + 44314 "v-on to listen to camelCase events when using in-DOM templates. " + 44315 "You should probably use \"".concat(hyphenate(event), "\" instead of \"").concat(event, "\".")); 44316 } 44317 } 44318 var cbs = vm._events[event]; 44319 if (cbs) { 44320 cbs = cbs.length > 1 ? toArray(cbs) : cbs; 44321 var args = toArray(arguments, 1); 44322 var info = "event handler for \"".concat(event, "\""); 44323 for (var i = 0, l = cbs.length; i < l; i++) { 44324 invokeWithErrorHandling(cbs[i], vm, args, vm, info); 44325 } 44326 } 44327 return vm; 44328 }; 44329} 44330 44331var activeInstance = null; 44332var isUpdatingChildComponent = false; 44333function setActiveInstance(vm) { 44334 var prevActiveInstance = activeInstance; 44335 activeInstance = vm; 44336 return function () { 44337 activeInstance = prevActiveInstance; 44338 }; 44339} 44340function initLifecycle(vm) { 44341 var options = vm.$options; 44342 // locate first non-abstract parent 44343 var parent = options.parent; 44344 if (parent && !options.abstract) { 44345 while (parent.$options.abstract && parent.$parent) { 44346 parent = parent.$parent; 44347 } 44348 parent.$children.push(vm); 44349 } 44350 vm.$parent = parent; 44351 vm.$root = parent ? parent.$root : vm; 44352 vm.$children = []; 44353 vm.$refs = {}; 44354 vm._provided = parent ? parent._provided : Object.create(null); 44355 vm._watcher = null; 44356 vm._inactive = null; 44357 vm._directInactive = false; 44358 vm._isMounted = false; 44359 vm._isDestroyed = false; 44360 vm._isBeingDestroyed = false; 44361} 44362function lifecycleMixin(Vue) { 44363 Vue.prototype._update = function (vnode, hydrating) { 44364 var vm = this; 44365 var prevEl = vm.$el; 44366 var prevVnode = vm._vnode; 44367 var restoreActiveInstance = setActiveInstance(vm); 44368 vm._vnode = vnode; 44369 // Vue.prototype.__patch__ is injected in entry points 44370 // based on the rendering backend used. 44371 if (!prevVnode) { 44372 // initial render 44373 vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */); 44374 } 44375 else { 44376 // updates 44377 vm.$el = vm.__patch__(prevVnode, vnode); 44378 } 44379 restoreActiveInstance(); 44380 // update __vue__ reference 44381 if (prevEl) { 44382 prevEl.__vue__ = null; 44383 } 44384 if (vm.$el) { 44385 vm.$el.__vue__ = vm; 44386 } 44387 // if parent is an HOC, update its $el as well 44388 var wrapper = vm; 44389 while (wrapper && 44390 wrapper.$vnode && 44391 wrapper.$parent && 44392 wrapper.$vnode === wrapper.$parent._vnode) { 44393 wrapper.$parent.$el = wrapper.$el; 44394 wrapper = wrapper.$parent; 44395 } 44396 // updated hook is called by the scheduler to ensure that children are 44397 // updated in a parent's updated hook. 44398 }; 44399 Vue.prototype.$forceUpdate = function () { 44400 var vm = this; 44401 if (vm._watcher) { 44402 vm._watcher.update(); 44403 } 44404 }; 44405 Vue.prototype.$destroy = function () { 44406 var vm = this; 44407 if (vm._isBeingDestroyed) { 44408 return; 44409 } 44410 callHook$1(vm, 'beforeDestroy'); 44411 vm._isBeingDestroyed = true; 44412 // remove self from parent 44413 var parent = vm.$parent; 44414 if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) { 44415 remove$2(parent.$children, vm); 44416 } 44417 // teardown scope. this includes both the render watcher and other 44418 // watchers created 44419 vm._scope.stop(); 44420 // remove reference from data ob 44421 // frozen object may not have observer. 44422 if (vm._data.__ob__) { 44423 vm._data.__ob__.vmCount--; 44424 } 44425 // call the last hook... 44426 vm._isDestroyed = true; 44427 // invoke destroy hooks on current rendered tree 44428 vm.__patch__(vm._vnode, null); 44429 // fire destroyed hook 44430 callHook$1(vm, 'destroyed'); 44431 // turn off all instance listeners. 44432 vm.$off(); 44433 // remove __vue__ reference 44434 if (vm.$el) { 44435 vm.$el.__vue__ = null; 44436 } 44437 // release circular reference (#6759) 44438 if (vm.$vnode) { 44439 vm.$vnode.parent = null; 44440 } 44441 }; 44442} 44443function mountComponent(vm, el, hydrating) { 44444 vm.$el = el; 44445 if (!vm.$options.render) { 44446 // @ts-expect-error invalid type 44447 vm.$options.render = createEmptyVNode; 44448 if (true) { 44449 /* istanbul ignore if */ 44450 if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || 44451 vm.$options.el || 44452 el) { 44453 warn$2('You are using the runtime-only build of Vue where the template ' + 44454 'compiler is not available. Either pre-compile the templates into ' + 44455 'render functions, or use the compiler-included build.', vm); 44456 } 44457 else { 44458 warn$2('Failed to mount component: template or render function not defined.', vm); 44459 } 44460 } 44461 } 44462 callHook$1(vm, 'beforeMount'); 44463 var updateComponent; 44464 /* istanbul ignore if */ 44465 if ( true && config.performance && mark) { 44466 updateComponent = function () { 44467 var name = vm._name; 44468 var id = vm._uid; 44469 var startTag = "vue-perf-start:".concat(id); 44470 var endTag = "vue-perf-end:".concat(id); 44471 mark(startTag); 44472 var vnode = vm._render(); 44473 mark(endTag); 44474 measure("vue ".concat(name, " render"), startTag, endTag); 44475 mark(startTag); 44476 vm._update(vnode, hydrating); 44477 mark(endTag); 44478 measure("vue ".concat(name, " patch"), startTag, endTag); 44479 }; 44480 } 44481 else { 44482 updateComponent = function () { 44483 vm._update(vm._render(), hydrating); 44484 }; 44485 } 44486 var watcherOptions = { 44487 before: function () { 44488 if (vm._isMounted && !vm._isDestroyed) { 44489 callHook$1(vm, 'beforeUpdate'); 44490 } 44491 } 44492 }; 44493 if (true) { 44494 watcherOptions.onTrack = function (e) { return callHook$1(vm, 'renderTracked', [e]); }; 44495 watcherOptions.onTrigger = function (e) { return callHook$1(vm, 'renderTriggered', [e]); }; 44496 } 44497 // we set this to vm._watcher inside the watcher's constructor 44498 // since the watcher's initial patch may call $forceUpdate (e.g. inside child 44499 // component's mounted hook), which relies on vm._watcher being already defined 44500 new Watcher(vm, updateComponent, noop, watcherOptions, true /* isRenderWatcher */); 44501 hydrating = false; 44502 // flush buffer for flush: "pre" watchers queued in setup() 44503 var preWatchers = vm._preWatchers; 44504 if (preWatchers) { 44505 for (var i = 0; i < preWatchers.length; i++) { 44506 preWatchers[i].run(); 44507 } 44508 } 44509 // manually mounted instance, call mounted on self 44510 // mounted is called for render-created child components in its inserted hook 44511 if (vm.$vnode == null) { 44512 vm._isMounted = true; 44513 callHook$1(vm, 'mounted'); 44514 } 44515 return vm; 44516} 44517function updateChildComponent(vm, propsData, listeners, parentVnode, renderChildren) { 44518 if (true) { 44519 isUpdatingChildComponent = true; 44520 } 44521 // determine whether component has slot children 44522 // we need to do this before overwriting $options._renderChildren. 44523 // check if there are dynamic scopedSlots (hand-written or compiled but with 44524 // dynamic slot names). Static scoped slots compiled from template has the 44525 // "$stable" marker. 44526 var newScopedSlots = parentVnode.data.scopedSlots; 44527 var oldScopedSlots = vm.$scopedSlots; 44528 var hasDynamicScopedSlot = !!((newScopedSlots && !newScopedSlots.$stable) || 44529 (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) || 44530 (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) || 44531 (!newScopedSlots && vm.$scopedSlots.$key)); 44532 // Any static slot children from the parent may have changed during parent's 44533 // update. Dynamic scoped slots may also have changed. In such cases, a forced 44534 // update is necessary to ensure correctness. 44535 var needsForceUpdate = !!(renderChildren || // has new static slots 44536 vm.$options._renderChildren || // has old static slots 44537 hasDynamicScopedSlot); 44538 var prevVNode = vm.$vnode; 44539 vm.$options._parentVnode = parentVnode; 44540 vm.$vnode = parentVnode; // update vm's placeholder node without re-render 44541 if (vm._vnode) { 44542 // update child tree's parent 44543 vm._vnode.parent = parentVnode; 44544 } 44545 vm.$options._renderChildren = renderChildren; 44546 // update $attrs and $listeners hash 44547 // these are also reactive so they may trigger child update if the child 44548 // used them during render 44549 var attrs = parentVnode.data.attrs || emptyObject; 44550 if (vm._attrsProxy) { 44551 // force update if attrs are accessed and has changed since it may be 44552 // passed to a child component. 44553 if (syncSetupProxy(vm._attrsProxy, attrs, (prevVNode.data && prevVNode.data.attrs) || emptyObject, vm, '$attrs')) { 44554 needsForceUpdate = true; 44555 } 44556 } 44557 vm.$attrs = attrs; 44558 // update listeners 44559 listeners = listeners || emptyObject; 44560 var prevListeners = vm.$options._parentListeners; 44561 if (vm._listenersProxy) { 44562 syncSetupProxy(vm._listenersProxy, listeners, prevListeners || emptyObject, vm, '$listeners'); 44563 } 44564 vm.$listeners = vm.$options._parentListeners = listeners; 44565 updateComponentListeners(vm, listeners, prevListeners); 44566 // update props 44567 if (propsData && vm.$options.props) { 44568 toggleObserving(false); 44569 var props = vm._props; 44570 var propKeys = vm.$options._propKeys || []; 44571 for (var i = 0; i < propKeys.length; i++) { 44572 var key = propKeys[i]; 44573 var propOptions = vm.$options.props; // wtf flow? 44574 props[key] = validateProp(key, propOptions, propsData, vm); 44575 } 44576 toggleObserving(true); 44577 // keep a copy of raw propsData 44578 vm.$options.propsData = propsData; 44579 } 44580 // resolve slots + force update if has children 44581 if (needsForceUpdate) { 44582 vm.$slots = resolveSlots(renderChildren, parentVnode.context); 44583 vm.$forceUpdate(); 44584 } 44585 if (true) { 44586 isUpdatingChildComponent = false; 44587 } 44588} 44589function isInInactiveTree(vm) { 44590 while (vm && (vm = vm.$parent)) { 44591 if (vm._inactive) 44592 return true; 44593 } 44594 return false; 44595} 44596function activateChildComponent(vm, direct) { 44597 if (direct) { 44598 vm._directInactive = false; 44599 if (isInInactiveTree(vm)) { 44600 return; 44601 } 44602 } 44603 else if (vm._directInactive) { 44604 return; 44605 } 44606 if (vm._inactive || vm._inactive === null) { 44607 vm._inactive = false; 44608 for (var i = 0; i < vm.$children.length; i++) { 44609 activateChildComponent(vm.$children[i]); 44610 } 44611 callHook$1(vm, 'activated'); 44612 } 44613} 44614function deactivateChildComponent(vm, direct) { 44615 if (direct) { 44616 vm._directInactive = true; 44617 if (isInInactiveTree(vm)) { 44618 return; 44619 } 44620 } 44621 if (!vm._inactive) { 44622 vm._inactive = true; 44623 for (var i = 0; i < vm.$children.length; i++) { 44624 deactivateChildComponent(vm.$children[i]); 44625 } 44626 callHook$1(vm, 'deactivated'); 44627 } 44628} 44629function callHook$1(vm, hook, args, setContext) { 44630 if (setContext === void 0) { setContext = true; } 44631 // #7573 disable dep collection when invoking lifecycle hooks 44632 pushTarget(); 44633 var prev = currentInstance; 44634 setContext && setCurrentInstance(vm); 44635 var handlers = vm.$options[hook]; 44636 var info = "".concat(hook, " hook"); 44637 if (handlers) { 44638 for (var i = 0, j = handlers.length; i < j; i++) { 44639 invokeWithErrorHandling(handlers[i], vm, args || null, vm, info); 44640 } 44641 } 44642 if (vm._hasHookEvent) { 44643 vm.$emit('hook:' + hook); 44644 } 44645 setContext && setCurrentInstance(prev); 44646 popTarget(); 44647} 44648 44649var MAX_UPDATE_COUNT = 100; 44650var queue = []; 44651var activatedChildren = []; 44652var has = {}; 44653var circular = {}; 44654var waiting = false; 44655var flushing = false; 44656var index$1 = 0; 44657/** 44658 * Reset the scheduler's state. 44659 */ 44660function resetSchedulerState() { 44661 index$1 = queue.length = activatedChildren.length = 0; 44662 has = {}; 44663 if (true) { 44664 circular = {}; 44665 } 44666 waiting = flushing = false; 44667} 44668// Async edge case #6566 requires saving the timestamp when event listeners are 44669// attached. However, calling performance.now() has a perf overhead especially 44670// if the page has thousands of event listeners. Instead, we take a timestamp 44671// every time the scheduler flushes and use that for all event listeners 44672// attached during that flush. 44673var currentFlushTimestamp = 0; 44674// Async edge case fix requires storing an event listener's attach timestamp. 44675var getNow = Date.now; 44676// Determine what event timestamp the browser is using. Annoyingly, the 44677// timestamp can either be hi-res (relative to page load) or low-res 44678// (relative to UNIX epoch), so in order to compare time we have to use the 44679// same timestamp type when saving the flush timestamp. 44680// All IE versions use low-res event timestamps, and have problematic clock 44681// implementations (#9632) 44682if (inBrowser && !isIE) { 44683 var performance_1 = window.performance; 44684 if (performance_1 && 44685 typeof performance_1.now === 'function' && 44686 getNow() > document.createEvent('Event').timeStamp) { 44687 // if the event timestamp, although evaluated AFTER the Date.now(), is 44688 // smaller than it, it means the event is using a hi-res timestamp, 44689 // and we need to use the hi-res version for event listener timestamps as 44690 // well. 44691 getNow = function () { return performance_1.now(); }; 44692 } 44693} 44694var sortCompareFn = function (a, b) { 44695 if (a.post) { 44696 if (!b.post) 44697 return 1; 44698 } 44699 else if (b.post) { 44700 return -1; 44701 } 44702 return a.id - b.id; 44703}; 44704/** 44705 * Flush both queues and run the watchers. 44706 */ 44707function flushSchedulerQueue() { 44708 currentFlushTimestamp = getNow(); 44709 flushing = true; 44710 var watcher, id; 44711 // Sort queue before flush. 44712 // This ensures that: 44713 // 1. Components are updated from parent to child. (because parent is always 44714 // created before the child) 44715 // 2. A component's user watchers are run before its render watcher (because 44716 // user watchers are created before the render watcher) 44717 // 3. If a component is destroyed during a parent component's watcher run, 44718 // its watchers can be skipped. 44719 queue.sort(sortCompareFn); 44720 // do not cache length because more watchers might be pushed 44721 // as we run existing watchers 44722 for (index$1 = 0; index$1 < queue.length; index$1++) { 44723 watcher = queue[index$1]; 44724 if (watcher.before) { 44725 watcher.before(); 44726 } 44727 id = watcher.id; 44728 has[id] = null; 44729 watcher.run(); 44730 // in dev build, check and stop circular updates. 44731 if ( true && has[id] != null) { 44732 circular[id] = (circular[id] || 0) + 1; 44733 if (circular[id] > MAX_UPDATE_COUNT) { 44734 warn$2('You may have an infinite update loop ' + 44735 (watcher.user 44736 ? "in watcher with expression \"".concat(watcher.expression, "\"") 44737 : "in a component render function."), watcher.vm); 44738 break; 44739 } 44740 } 44741 } 44742 // keep copies of post queues before resetting state 44743 var activatedQueue = activatedChildren.slice(); 44744 var updatedQueue = queue.slice(); 44745 resetSchedulerState(); 44746 // call component updated and activated hooks 44747 callActivatedHooks(activatedQueue); 44748 callUpdatedHooks(updatedQueue); 44749 cleanupDeps(); 44750 // devtool hook 44751 /* istanbul ignore if */ 44752 if (devtools && config.devtools) { 44753 devtools.emit('flush'); 44754 } 44755} 44756function callUpdatedHooks(queue) { 44757 var i = queue.length; 44758 while (i--) { 44759 var watcher = queue[i]; 44760 var vm = watcher.vm; 44761 if (vm && vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) { 44762 callHook$1(vm, 'updated'); 44763 } 44764 } 44765} 44766/** 44767 * Queue a kept-alive component that was activated during patch. 44768 * The queue will be processed after the entire tree has been patched. 44769 */ 44770function queueActivatedComponent(vm) { 44771 // setting _inactive to false here so that a render function can 44772 // rely on checking whether it's in an inactive tree (e.g. router-view) 44773 vm._inactive = false; 44774 activatedChildren.push(vm); 44775} 44776function callActivatedHooks(queue) { 44777 for (var i = 0; i < queue.length; i++) { 44778 queue[i]._inactive = true; 44779 activateChildComponent(queue[i], true /* true */); 44780 } 44781} 44782/** 44783 * Push a watcher into the watcher queue. 44784 * Jobs with duplicate IDs will be skipped unless it's 44785 * pushed when the queue is being flushed. 44786 */ 44787function queueWatcher(watcher) { 44788 var id = watcher.id; 44789 if (has[id] != null) { 44790 return; 44791 } 44792 if (watcher === Dep.target && watcher.noRecurse) { 44793 return; 44794 } 44795 has[id] = true; 44796 if (!flushing) { 44797 queue.push(watcher); 44798 } 44799 else { 44800 // if already flushing, splice the watcher based on its id 44801 // if already past its id, it will be run next immediately. 44802 var i = queue.length - 1; 44803 while (i > index$1 && queue[i].id > watcher.id) { 44804 i--; 44805 } 44806 queue.splice(i + 1, 0, watcher); 44807 } 44808 // queue the flush 44809 if (!waiting) { 44810 waiting = true; 44811 if ( true && !config.async) { 44812 flushSchedulerQueue(); 44813 return; 44814 } 44815 nextTick(flushSchedulerQueue); 44816 } 44817} 44818 44819var WATCHER = "watcher"; 44820var WATCHER_CB = "".concat(WATCHER, " callback"); 44821var WATCHER_GETTER = "".concat(WATCHER, " getter"); 44822var WATCHER_CLEANUP = "".concat(WATCHER, " cleanup"); 44823// Simple effect. 44824function watchEffect(effect, options) { 44825 return doWatch(effect, null, options); 44826} 44827function watchPostEffect(effect, options) { 44828 return doWatch(effect, null, ( true 44829 ? __assign(__assign({}, options), { flush: 'post' }) : 0)); 44830} 44831function watchSyncEffect(effect, options) { 44832 return doWatch(effect, null, ( true 44833 ? __assign(__assign({}, options), { flush: 'sync' }) : 0)); 44834} 44835// initial value for watchers to trigger on undefined initial values 44836var INITIAL_WATCHER_VALUE = {}; 44837// implementation 44838function watch(source, cb, options) { 44839 if ( true && typeof cb !== 'function') { 44840 warn$2("`watch(fn, options?)` signature has been moved to a separate API. " + 44841 "Use `watchEffect(fn, options?)` instead. `watch` now only " + 44842 "supports `watch(source, cb, options?) signature."); 44843 } 44844 return doWatch(source, cb, options); 44845} 44846function doWatch(source, cb, _a) { 44847 var _b = _a === void 0 ? emptyObject : _a, immediate = _b.immediate, deep = _b.deep, _c = _b.flush, flush = _c === void 0 ? 'pre' : _c, onTrack = _b.onTrack, onTrigger = _b.onTrigger; 44848 if ( true && !cb) { 44849 if (immediate !== undefined) { 44850 warn$2("watch() \"immediate\" option is only respected when using the " + 44851 "watch(source, callback, options?) signature."); 44852 } 44853 if (deep !== undefined) { 44854 warn$2("watch() \"deep\" option is only respected when using the " + 44855 "watch(source, callback, options?) signature."); 44856 } 44857 } 44858 var warnInvalidSource = function (s) { 44859 warn$2("Invalid watch source: ".concat(s, ". A watch source can only be a getter/effect ") + 44860 "function, a ref, a reactive object, or an array of these types."); 44861 }; 44862 var instance = currentInstance; 44863 var call = function (fn, type, args) { 44864 if (args === void 0) { args = null; } 44865 return invokeWithErrorHandling(fn, null, args, instance, type); 44866 }; 44867 var getter; 44868 var forceTrigger = false; 44869 var isMultiSource = false; 44870 if (isRef(source)) { 44871 getter = function () { return source.value; }; 44872 forceTrigger = isShallow(source); 44873 } 44874 else if (isReactive(source)) { 44875 getter = function () { 44876 source.__ob__.dep.depend(); 44877 return source; 44878 }; 44879 deep = true; 44880 } 44881 else if (isArray(source)) { 44882 isMultiSource = true; 44883 forceTrigger = source.some(function (s) { return isReactive(s) || isShallow(s); }); 44884 getter = function () { 44885 return source.map(function (s) { 44886 if (isRef(s)) { 44887 return s.value; 44888 } 44889 else if (isReactive(s)) { 44890 return traverse(s); 44891 } 44892 else if (isFunction(s)) { 44893 return call(s, WATCHER_GETTER); 44894 } 44895 else { 44896 true && warnInvalidSource(s); 44897 } 44898 }); 44899 }; 44900 } 44901 else if (isFunction(source)) { 44902 if (cb) { 44903 // getter with cb 44904 getter = function () { return call(source, WATCHER_GETTER); }; 44905 } 44906 else { 44907 // no cb -> simple effect 44908 getter = function () { 44909 if (instance && instance._isDestroyed) { 44910 return; 44911 } 44912 if (cleanup) { 44913 cleanup(); 44914 } 44915 return call(source, WATCHER, [onCleanup]); 44916 }; 44917 } 44918 } 44919 else { 44920 getter = noop; 44921 true && warnInvalidSource(source); 44922 } 44923 if (cb && deep) { 44924 var baseGetter_1 = getter; 44925 getter = function () { return traverse(baseGetter_1()); }; 44926 } 44927 var cleanup; 44928 var onCleanup = function (fn) { 44929 cleanup = watcher.onStop = function () { 44930 call(fn, WATCHER_CLEANUP); 44931 }; 44932 }; 44933 // in SSR there is no need to setup an actual effect, and it should be noop 44934 // unless it's eager 44935 if (isServerRendering()) { 44936 // we will also not call the invalidate callback (+ runner is not set up) 44937 onCleanup = noop; 44938 if (!cb) { 44939 getter(); 44940 } 44941 else if (immediate) { 44942 call(cb, WATCHER_CB, [ 44943 getter(), 44944 isMultiSource ? [] : undefined, 44945 onCleanup 44946 ]); 44947 } 44948 return noop; 44949 } 44950 var watcher = new Watcher(currentInstance, getter, noop, { 44951 lazy: true 44952 }); 44953 watcher.noRecurse = !cb; 44954 var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE; 44955 // overwrite default run 44956 watcher.run = function () { 44957 if (!watcher.active) { 44958 return; 44959 } 44960 if (cb) { 44961 // watch(source, cb) 44962 var newValue = watcher.get(); 44963 if (deep || 44964 forceTrigger || 44965 (isMultiSource 44966 ? newValue.some(function (v, i) { 44967 return hasChanged(v, oldValue[i]); 44968 }) 44969 : hasChanged(newValue, oldValue))) { 44970 // cleanup before running cb again 44971 if (cleanup) { 44972 cleanup(); 44973 } 44974 call(cb, WATCHER_CB, [ 44975 newValue, 44976 // pass undefined as the old value when it's changed for the first time 44977 oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue, 44978 onCleanup 44979 ]); 44980 oldValue = newValue; 44981 } 44982 } 44983 else { 44984 // watchEffect 44985 watcher.get(); 44986 } 44987 }; 44988 if (flush === 'sync') { 44989 watcher.update = watcher.run; 44990 } 44991 else if (flush === 'post') { 44992 watcher.post = true; 44993 watcher.update = function () { return queueWatcher(watcher); }; 44994 } 44995 else { 44996 // pre 44997 watcher.update = function () { 44998 if (instance && instance === currentInstance && !instance._isMounted) { 44999 // pre-watcher triggered before 45000 var buffer = instance._preWatchers || (instance._preWatchers = []); 45001 if (buffer.indexOf(watcher) < 0) 45002 buffer.push(watcher); 45003 } 45004 else { 45005 queueWatcher(watcher); 45006 } 45007 }; 45008 } 45009 if (true) { 45010 watcher.onTrack = onTrack; 45011 watcher.onTrigger = onTrigger; 45012 } 45013 // initial run 45014 if (cb) { 45015 if (immediate) { 45016 watcher.run(); 45017 } 45018 else { 45019 oldValue = watcher.get(); 45020 } 45021 } 45022 else if (flush === 'post' && instance) { 45023 instance.$once('hook:mounted', function () { return watcher.get(); }); 45024 } 45025 else { 45026 watcher.get(); 45027 } 45028 return function () { 45029 watcher.teardown(); 45030 }; 45031} 45032 45033var activeEffectScope; 45034var EffectScope = /** @class */ (function () { 45035 function EffectScope(detached) { 45036 if (detached === void 0) { detached = false; } 45037 this.detached = detached; 45038 /** 45039 * @internal 45040 */ 45041 this.active = true; 45042 /** 45043 * @internal 45044 */ 45045 this.effects = []; 45046 /** 45047 * @internal 45048 */ 45049 this.cleanups = []; 45050 this.parent = activeEffectScope; 45051 if (!detached && activeEffectScope) { 45052 this.index = 45053 (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1; 45054 } 45055 } 45056 EffectScope.prototype.run = function (fn) { 45057 if (this.active) { 45058 var currentEffectScope = activeEffectScope; 45059 try { 45060 activeEffectScope = this; 45061 return fn(); 45062 } 45063 finally { 45064 activeEffectScope = currentEffectScope; 45065 } 45066 } 45067 else if (true) { 45068 warn$2("cannot run an inactive effect scope."); 45069 } 45070 }; 45071 /** 45072 * This should only be called on non-detached scopes 45073 * @internal 45074 */ 45075 EffectScope.prototype.on = function () { 45076 activeEffectScope = this; 45077 }; 45078 /** 45079 * This should only be called on non-detached scopes 45080 * @internal 45081 */ 45082 EffectScope.prototype.off = function () { 45083 activeEffectScope = this.parent; 45084 }; 45085 EffectScope.prototype.stop = function (fromParent) { 45086 if (this.active) { 45087 var i = void 0, l = void 0; 45088 for (i = 0, l = this.effects.length; i < l; i++) { 45089 this.effects[i].teardown(); 45090 } 45091 for (i = 0, l = this.cleanups.length; i < l; i++) { 45092 this.cleanups[i](); 45093 } 45094 if (this.scopes) { 45095 for (i = 0, l = this.scopes.length; i < l; i++) { 45096 this.scopes[i].stop(true); 45097 } 45098 } 45099 // nested scope, dereference from parent to avoid memory leaks 45100 if (!this.detached && this.parent && !fromParent) { 45101 // optimized O(1) removal 45102 var last = this.parent.scopes.pop(); 45103 if (last && last !== this) { 45104 this.parent.scopes[this.index] = last; 45105 last.index = this.index; 45106 } 45107 } 45108 this.parent = undefined; 45109 this.active = false; 45110 } 45111 }; 45112 return EffectScope; 45113}()); 45114function effectScope(detached) { 45115 return new EffectScope(detached); 45116} 45117/** 45118 * @internal 45119 */ 45120function recordEffectScope(effect, scope) { 45121 if (scope === void 0) { scope = activeEffectScope; } 45122 if (scope && scope.active) { 45123 scope.effects.push(effect); 45124 } 45125} 45126function getCurrentScope() { 45127 return activeEffectScope; 45128} 45129function onScopeDispose(fn) { 45130 if (activeEffectScope) { 45131 activeEffectScope.cleanups.push(fn); 45132 } 45133 else if (true) { 45134 warn$2("onScopeDispose() is called when there is no active effect scope" + 45135 " to be associated with."); 45136 } 45137} 45138 45139function provide(key, value) { 45140 if (!currentInstance) { 45141 if (true) { 45142 warn$2("provide() can only be used inside setup()."); 45143 } 45144 } 45145 else { 45146 // TS doesn't allow symbol as index type 45147 resolveProvided(currentInstance)[key] = value; 45148 } 45149} 45150function resolveProvided(vm) { 45151 // by default an instance inherits its parent's provides object 45152 // but when it needs to provide values of its own, it creates its 45153 // own provides object using parent provides object as prototype. 45154 // this way in `inject` we can simply look up injections from direct 45155 // parent and let the prototype chain do the work. 45156 var existing = vm._provided; 45157 var parentProvides = vm.$parent && vm.$parent._provided; 45158 if (parentProvides === existing) { 45159 return (vm._provided = Object.create(parentProvides)); 45160 } 45161 else { 45162 return existing; 45163 } 45164} 45165function inject(key, defaultValue, treatDefaultAsFactory) { 45166 if (treatDefaultAsFactory === void 0) { treatDefaultAsFactory = false; } 45167 // fallback to `currentRenderingInstance` so that this can be called in 45168 // a functional component 45169 var instance = currentInstance; 45170 if (instance) { 45171 // #2400 45172 // to support `app.use` plugins, 45173 // fallback to appContext's `provides` if the instance is at root 45174 var provides = instance.$parent && instance.$parent._provided; 45175 if (provides && key in provides) { 45176 // TS doesn't allow symbol as index type 45177 return provides[key]; 45178 } 45179 else if (arguments.length > 1) { 45180 return treatDefaultAsFactory && isFunction(defaultValue) 45181 ? defaultValue.call(instance) 45182 : defaultValue; 45183 } 45184 else if (true) { 45185 warn$2("injection \"".concat(String(key), "\" not found.")); 45186 } 45187 } 45188 else if (true) { 45189 warn$2("inject() can only be used inside setup() or functional components."); 45190 } 45191} 45192 45193/** 45194 * @internal this function needs manual public type declaration because it relies 45195 * on previously manually authored types from Vue 2 45196 */ 45197function h(type, props, children) { 45198 if (!currentInstance) { 45199 true && 45200 warn$2("globally imported h() can only be invoked when there is an active " + 45201 "component instance, e.g. synchronously in a component's render or setup function."); 45202 } 45203 return createElement$1(currentInstance, type, props, children, 2, true); 45204} 45205 45206function handleError(err, vm, info) { 45207 // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. 45208 // See: https://github.com/vuejs/vuex/issues/1505 45209 pushTarget(); 45210 try { 45211 if (vm) { 45212 var cur = vm; 45213 while ((cur = cur.$parent)) { 45214 var hooks = cur.$options.errorCaptured; 45215 if (hooks) { 45216 for (var i = 0; i < hooks.length; i++) { 45217 try { 45218 var capture = hooks[i].call(cur, err, vm, info) === false; 45219 if (capture) 45220 return; 45221 } 45222 catch (e) { 45223 globalHandleError(e, cur, 'errorCaptured hook'); 45224 } 45225 } 45226 } 45227 } 45228 } 45229 globalHandleError(err, vm, info); 45230 } 45231 finally { 45232 popTarget(); 45233 } 45234} 45235function invokeWithErrorHandling(handler, context, args, vm, info) { 45236 var res; 45237 try { 45238 res = args ? handler.apply(context, args) : handler.call(context); 45239 if (res && !res._isVue && isPromise(res) && !res._handled) { 45240 res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); 45241 res._handled = true; 45242 } 45243 } 45244 catch (e) { 45245 handleError(e, vm, info); 45246 } 45247 return res; 45248} 45249function globalHandleError(err, vm, info) { 45250 if (config.errorHandler) { 45251 try { 45252 return config.errorHandler.call(null, err, vm, info); 45253 } 45254 catch (e) { 45255 // if the user intentionally throws the original error in the handler, 45256 // do not log it twice 45257 if (e !== err) { 45258 logError(e, null, 'config.errorHandler'); 45259 } 45260 } 45261 } 45262 logError(err, vm, info); 45263} 45264function logError(err, vm, info) { 45265 if (true) { 45266 warn$2("Error in ".concat(info, ": \"").concat(err.toString(), "\""), vm); 45267 } 45268 /* istanbul ignore else */ 45269 if (inBrowser && typeof console !== 'undefined') { 45270 console.error(err); 45271 } 45272 else { 45273 throw err; 45274 } 45275} 45276 45277/* globals MutationObserver */ 45278var isUsingMicroTask = false; 45279var callbacks = []; 45280var pending = false; 45281function flushCallbacks() { 45282 pending = false; 45283 var copies = callbacks.slice(0); 45284 callbacks.length = 0; 45285 for (var i = 0; i < copies.length; i++) { 45286 copies[i](); 45287 } 45288} 45289// Here we have async deferring wrappers using microtasks. 45290// In 2.5 we used (macro) tasks (in combination with microtasks). 45291// However, it has subtle problems when state is changed right before repaint 45292// (e.g. #6813, out-in transitions). 45293// Also, using (macro) tasks in event handler would cause some weird behaviors 45294// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). 45295// So we now use microtasks everywhere, again. 45296// A major drawback of this tradeoff is that there are some scenarios 45297// where microtasks have too high a priority and fire in between supposedly 45298// sequential events (e.g. #4521, #6690, which have workarounds) 45299// or even between bubbling of the same event (#6566). 45300var timerFunc; 45301// The nextTick behavior leverages the microtask queue, which can be accessed 45302// via either native Promise.then or MutationObserver. 45303// MutationObserver has wider support, however it is seriously bugged in 45304// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It 45305// completely stops working after triggering a few times... so, if native 45306// Promise is available, we will use it: 45307/* istanbul ignore next, $flow-disable-line */ 45308if (typeof Promise !== 'undefined' && isNative(Promise)) { 45309 var p_1 = Promise.resolve(); 45310 timerFunc = function () { 45311 p_1.then(flushCallbacks); 45312 // In problematic UIWebViews, Promise.then doesn't completely break, but 45313 // it can get stuck in a weird state where callbacks are pushed into the 45314 // microtask queue but the queue isn't being flushed, until the browser 45315 // needs to do some other work, e.g. handle a timer. Therefore we can 45316 // "force" the microtask queue to be flushed by adding an empty timer. 45317 if (isIOS) 45318 setTimeout(noop); 45319 }; 45320 isUsingMicroTask = true; 45321} 45322else if (!isIE && 45323 typeof MutationObserver !== 'undefined' && 45324 (isNative(MutationObserver) || 45325 // PhantomJS and iOS 7.x 45326 MutationObserver.toString() === '[object MutationObserverConstructor]')) { 45327 // Use MutationObserver where native Promise is not available, 45328 // e.g. PhantomJS, iOS7, Android 4.4 45329 // (#6466 MutationObserver is unreliable in IE11) 45330 var counter_1 = 1; 45331 var observer = new MutationObserver(flushCallbacks); 45332 var textNode_1 = document.createTextNode(String(counter_1)); 45333 observer.observe(textNode_1, { 45334 characterData: true 45335 }); 45336 timerFunc = function () { 45337 counter_1 = (counter_1 + 1) % 2; 45338 textNode_1.data = String(counter_1); 45339 }; 45340 isUsingMicroTask = true; 45341} 45342else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { 45343 // Fallback to setImmediate. 45344 // Technically it leverages the (macro) task queue, 45345 // but it is still a better choice than setTimeout. 45346 timerFunc = function () { 45347 setImmediate(flushCallbacks); 45348 }; 45349} 45350else { 45351 // Fallback to setTimeout. 45352 timerFunc = function () { 45353 setTimeout(flushCallbacks, 0); 45354 }; 45355} 45356/** 45357 * @internal 45358 */ 45359function nextTick(cb, ctx) { 45360 var _resolve; 45361 callbacks.push(function () { 45362 if (cb) { 45363 try { 45364 cb.call(ctx); 45365 } 45366 catch (e) { 45367 handleError(e, ctx, 'nextTick'); 45368 } 45369 } 45370 else if (_resolve) { 45371 _resolve(ctx); 45372 } 45373 }); 45374 if (!pending) { 45375 pending = true; 45376 timerFunc(); 45377 } 45378 // $flow-disable-line 45379 if (!cb && typeof Promise !== 'undefined') { 45380 return new Promise(function (resolve) { 45381 _resolve = resolve; 45382 }); 45383 } 45384} 45385 45386function useCssModule(name) { 45387 if (name === void 0) { name = '$style'; } 45388 /* istanbul ignore else */ 45389 { 45390 if (!currentInstance) { 45391 true && warn$2("useCssModule must be called inside setup()"); 45392 return emptyObject; 45393 } 45394 var mod = currentInstance[name]; 45395 if (!mod) { 45396 true && 45397 warn$2("Current instance does not have CSS module named \"".concat(name, "\".")); 45398 return emptyObject; 45399 } 45400 return mod; 45401 } 45402} 45403 45404/** 45405 * Runtime helper for SFC's CSS variable injection feature. 45406 * @private 45407 */ 45408function useCssVars(getter) { 45409 if (!inBrowser && !false) 45410 return; 45411 var instance = currentInstance; 45412 if (!instance) { 45413 true && 45414 warn$2("useCssVars is called without current active component instance."); 45415 return; 45416 } 45417 watchPostEffect(function () { 45418 var el = instance.$el; 45419 var vars = getter(instance, instance._setupProxy); 45420 if (el && el.nodeType === 1) { 45421 var style = el.style; 45422 for (var key in vars) { 45423 style.setProperty("--".concat(key), vars[key]); 45424 } 45425 } 45426 }); 45427} 45428 45429/** 45430 * v3-compatible async component API. 45431 * @internal the type is manually declared in <root>/types/v3-define-async-component.d.ts 45432 * because it relies on existing manual types 45433 */ 45434function defineAsyncComponent(source) { 45435 if (isFunction(source)) { 45436 source = { loader: source }; 45437 } 45438 var loader = source.loader, loadingComponent = source.loadingComponent, errorComponent = source.errorComponent, _a = source.delay, delay = _a === void 0 ? 200 : _a, timeout = source.timeout, // undefined = never times out 45439 _b = source.suspensible, // undefined = never times out 45440 suspensible = _b === void 0 ? false : _b, // in Vue 3 default is true 45441 userOnError = source.onError; 45442 if ( true && suspensible) { 45443 warn$2("The suspensiblbe option for async components is not supported in Vue2. It is ignored."); 45444 } 45445 var pendingRequest = null; 45446 var retries = 0; 45447 var retry = function () { 45448 retries++; 45449 pendingRequest = null; 45450 return load(); 45451 }; 45452 var load = function () { 45453 var thisRequest; 45454 return (pendingRequest || 45455 (thisRequest = pendingRequest = 45456 loader() 45457 .catch(function (err) { 45458 err = err instanceof Error ? err : new Error(String(err)); 45459 if (userOnError) { 45460 return new Promise(function (resolve, reject) { 45461 var userRetry = function () { return resolve(retry()); }; 45462 var userFail = function () { return reject(err); }; 45463 userOnError(err, userRetry, userFail, retries + 1); 45464 }); 45465 } 45466 else { 45467 throw err; 45468 } 45469 }) 45470 .then(function (comp) { 45471 if (thisRequest !== pendingRequest && pendingRequest) { 45472 return pendingRequest; 45473 } 45474 if ( true && !comp) { 45475 warn$2("Async component loader resolved to undefined. " + 45476 "If you are using retry(), make sure to return its return value."); 45477 } 45478 // interop module default 45479 if (comp && 45480 (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) { 45481 comp = comp.default; 45482 } 45483 if ( true && comp && !isObject(comp) && !isFunction(comp)) { 45484 throw new Error("Invalid async component load result: ".concat(comp)); 45485 } 45486 return comp; 45487 }))); 45488 }; 45489 return function () { 45490 var component = load(); 45491 return { 45492 component: component, 45493 delay: delay, 45494 timeout: timeout, 45495 error: errorComponent, 45496 loading: loadingComponent 45497 }; 45498 }; 45499} 45500 45501function createLifeCycle(hookName) { 45502 return function (fn, target) { 45503 if (target === void 0) { target = currentInstance; } 45504 if (!target) { 45505 true && 45506 warn$2("".concat(formatName(hookName), " is called when there is no active component instance to be ") + 45507 "associated with. " + 45508 "Lifecycle injection APIs can only be used during execution of setup()."); 45509 return; 45510 } 45511 return injectHook(target, hookName, fn); 45512 }; 45513} 45514function formatName(name) { 45515 if (name === 'beforeDestroy') { 45516 name = 'beforeUnmount'; 45517 } 45518 else if (name === 'destroyed') { 45519 name = 'unmounted'; 45520 } 45521 return "on".concat(name[0].toUpperCase() + name.slice(1)); 45522} 45523function injectHook(instance, hookName, fn) { 45524 var options = instance.$options; 45525 options[hookName] = mergeLifecycleHook(options[hookName], fn); 45526} 45527var onBeforeMount = createLifeCycle('beforeMount'); 45528var onMounted = createLifeCycle('mounted'); 45529var onBeforeUpdate = createLifeCycle('beforeUpdate'); 45530var onUpdated = createLifeCycle('updated'); 45531var onBeforeUnmount = createLifeCycle('beforeDestroy'); 45532var onUnmounted = createLifeCycle('destroyed'); 45533var onActivated = createLifeCycle('activated'); 45534var onDeactivated = createLifeCycle('deactivated'); 45535var onServerPrefetch = createLifeCycle('serverPrefetch'); 45536var onRenderTracked = createLifeCycle('renderTracked'); 45537var onRenderTriggered = createLifeCycle('renderTriggered'); 45538var injectErrorCapturedHook = createLifeCycle('errorCaptured'); 45539function onErrorCaptured(hook, target) { 45540 if (target === void 0) { target = currentInstance; } 45541 injectErrorCapturedHook(hook, target); 45542} 45543 45544/** 45545 * Note: also update dist/vue.runtime.mjs when adding new exports to this file. 45546 */ 45547var version = '2.7.14'; 45548/** 45549 * @internal type is manually declared in <root>/types/v3-define-component.d.ts 45550 */ 45551function defineComponent(options) { 45552 return options; 45553} 45554 45555var seenObjects = new _Set(); 45556/** 45557 * Recursively traverse an object to evoke all converted 45558 * getters, so that every nested property inside the object 45559 * is collected as a "deep" dependency. 45560 */ 45561function traverse(val) { 45562 _traverse(val, seenObjects); 45563 seenObjects.clear(); 45564 return val; 45565} 45566function _traverse(val, seen) { 45567 var i, keys; 45568 var isA = isArray(val); 45569 if ((!isA && !isObject(val)) || 45570 val.__v_skip /* ReactiveFlags.SKIP */ || 45571 Object.isFrozen(val) || 45572 val instanceof VNode) { 45573 return; 45574 } 45575 if (val.__ob__) { 45576 var depId = val.__ob__.dep.id; 45577 if (seen.has(depId)) { 45578 return; 45579 } 45580 seen.add(depId); 45581 } 45582 if (isA) { 45583 i = val.length; 45584 while (i--) 45585 _traverse(val[i], seen); 45586 } 45587 else if (isRef(val)) { 45588 _traverse(val.value, seen); 45589 } 45590 else { 45591 keys = Object.keys(val); 45592 i = keys.length; 45593 while (i--) 45594 _traverse(val[keys[i]], seen); 45595 } 45596} 45597 45598var uid$1 = 0; 45599/** 45600 * A watcher parses an expression, collects dependencies, 45601 * and fires callback when the expression value changes. 45602 * This is used for both the $watch() api and directives. 45603 * @internal 45604 */ 45605var Watcher = /** @class */ (function () { 45606 function Watcher(vm, expOrFn, cb, options, isRenderWatcher) { 45607 recordEffectScope(this, 45608 // if the active effect scope is manually created (not a component scope), 45609 // prioritize it 45610 activeEffectScope && !activeEffectScope._vm 45611 ? activeEffectScope 45612 : vm 45613 ? vm._scope 45614 : undefined); 45615 if ((this.vm = vm) && isRenderWatcher) { 45616 vm._watcher = this; 45617 } 45618 // options 45619 if (options) { 45620 this.deep = !!options.deep; 45621 this.user = !!options.user; 45622 this.lazy = !!options.lazy; 45623 this.sync = !!options.sync; 45624 this.before = options.before; 45625 if (true) { 45626 this.onTrack = options.onTrack; 45627 this.onTrigger = options.onTrigger; 45628 } 45629 } 45630 else { 45631 this.deep = this.user = this.lazy = this.sync = false; 45632 } 45633 this.cb = cb; 45634 this.id = ++uid$1; // uid for batching 45635 this.active = true; 45636 this.post = false; 45637 this.dirty = this.lazy; // for lazy watchers 45638 this.deps = []; 45639 this.newDeps = []; 45640 this.depIds = new _Set(); 45641 this.newDepIds = new _Set(); 45642 this.expression = true ? expOrFn.toString() : 0; 45643 // parse expression for getter 45644 if (isFunction(expOrFn)) { 45645 this.getter = expOrFn; 45646 } 45647 else { 45648 this.getter = parsePath(expOrFn); 45649 if (!this.getter) { 45650 this.getter = noop; 45651 true && 45652 warn$2("Failed watching path: \"".concat(expOrFn, "\" ") + 45653 'Watcher only accepts simple dot-delimited paths. ' + 45654 'For full control, use a function instead.', vm); 45655 } 45656 } 45657 this.value = this.lazy ? undefined : this.get(); 45658 } 45659 /** 45660 * Evaluate the getter, and re-collect dependencies. 45661 */ 45662 Watcher.prototype.get = function () { 45663 pushTarget(this); 45664 var value; 45665 var vm = this.vm; 45666 try { 45667 value = this.getter.call(vm, vm); 45668 } 45669 catch (e) { 45670 if (this.user) { 45671 handleError(e, vm, "getter for watcher \"".concat(this.expression, "\"")); 45672 } 45673 else { 45674 throw e; 45675 } 45676 } 45677 finally { 45678 // "touch" every property so they are all tracked as 45679 // dependencies for deep watching 45680 if (this.deep) { 45681 traverse(value); 45682 } 45683 popTarget(); 45684 this.cleanupDeps(); 45685 } 45686 return value; 45687 }; 45688 /** 45689 * Add a dependency to this directive. 45690 */ 45691 Watcher.prototype.addDep = function (dep) { 45692 var id = dep.id; 45693 if (!this.newDepIds.has(id)) { 45694 this.newDepIds.add(id); 45695 this.newDeps.push(dep); 45696 if (!this.depIds.has(id)) { 45697 dep.addSub(this); 45698 } 45699 } 45700 }; 45701 /** 45702 * Clean up for dependency collection. 45703 */ 45704 Watcher.prototype.cleanupDeps = function () { 45705 var i = this.deps.length; 45706 while (i--) { 45707 var dep = this.deps[i]; 45708 if (!this.newDepIds.has(dep.id)) { 45709 dep.removeSub(this); 45710 } 45711 } 45712 var tmp = this.depIds; 45713 this.depIds = this.newDepIds; 45714 this.newDepIds = tmp; 45715 this.newDepIds.clear(); 45716 tmp = this.deps; 45717 this.deps = this.newDeps; 45718 this.newDeps = tmp; 45719 this.newDeps.length = 0; 45720 }; 45721 /** 45722 * Subscriber interface. 45723 * Will be called when a dependency changes. 45724 */ 45725 Watcher.prototype.update = function () { 45726 /* istanbul ignore else */ 45727 if (this.lazy) { 45728 this.dirty = true; 45729 } 45730 else if (this.sync) { 45731 this.run(); 45732 } 45733 else { 45734 queueWatcher(this); 45735 } 45736 }; 45737 /** 45738 * Scheduler job interface. 45739 * Will be called by the scheduler. 45740 */ 45741 Watcher.prototype.run = function () { 45742 if (this.active) { 45743 var value = this.get(); 45744 if (value !== this.value || 45745 // Deep watchers and watchers on Object/Arrays should fire even 45746 // when the value is the same, because the value may 45747 // have mutated. 45748 isObject(value) || 45749 this.deep) { 45750 // set new value 45751 var oldValue = this.value; 45752 this.value = value; 45753 if (this.user) { 45754 var info = "callback for watcher \"".concat(this.expression, "\""); 45755 invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info); 45756 } 45757 else { 45758 this.cb.call(this.vm, value, oldValue); 45759 } 45760 } 45761 } 45762 }; 45763 /** 45764 * Evaluate the value of the watcher. 45765 * This only gets called for lazy watchers. 45766 */ 45767 Watcher.prototype.evaluate = function () { 45768 this.value = this.get(); 45769 this.dirty = false; 45770 }; 45771 /** 45772 * Depend on all deps collected by this watcher. 45773 */ 45774 Watcher.prototype.depend = function () { 45775 var i = this.deps.length; 45776 while (i--) { 45777 this.deps[i].depend(); 45778 } 45779 }; 45780 /** 45781 * Remove self from all dependencies' subscriber list. 45782 */ 45783 Watcher.prototype.teardown = function () { 45784 if (this.vm && !this.vm._isBeingDestroyed) { 45785 remove$2(this.vm._scope.effects, this); 45786 } 45787 if (this.active) { 45788 var i = this.deps.length; 45789 while (i--) { 45790 this.deps[i].removeSub(this); 45791 } 45792 this.active = false; 45793 if (this.onStop) { 45794 this.onStop(); 45795 } 45796 } 45797 }; 45798 return Watcher; 45799}()); 45800 45801var sharedPropertyDefinition = { 45802 enumerable: true, 45803 configurable: true, 45804 get: noop, 45805 set: noop 45806}; 45807function proxy(target, sourceKey, key) { 45808 sharedPropertyDefinition.get = function proxyGetter() { 45809 return this[sourceKey][key]; 45810 }; 45811 sharedPropertyDefinition.set = function proxySetter(val) { 45812 this[sourceKey][key] = val; 45813 }; 45814 Object.defineProperty(target, key, sharedPropertyDefinition); 45815} 45816function initState(vm) { 45817 var opts = vm.$options; 45818 if (opts.props) 45819 initProps$1(vm, opts.props); 45820 // Composition API 45821 initSetup(vm); 45822 if (opts.methods) 45823 initMethods(vm, opts.methods); 45824 if (opts.data) { 45825 initData(vm); 45826 } 45827 else { 45828 var ob = observe((vm._data = {})); 45829 ob && ob.vmCount++; 45830 } 45831 if (opts.computed) 45832 initComputed$1(vm, opts.computed); 45833 if (opts.watch && opts.watch !== nativeWatch) { 45834 initWatch(vm, opts.watch); 45835 } 45836} 45837function initProps$1(vm, propsOptions) { 45838 var propsData = vm.$options.propsData || {}; 45839 var props = (vm._props = shallowReactive({})); 45840 // cache prop keys so that future props updates can iterate using Array 45841 // instead of dynamic object key enumeration. 45842 var keys = (vm.$options._propKeys = []); 45843 var isRoot = !vm.$parent; 45844 // root instance props should be converted 45845 if (!isRoot) { 45846 toggleObserving(false); 45847 } 45848 var _loop_1 = function (key) { 45849 keys.push(key); 45850 var value = validateProp(key, propsOptions, propsData, vm); 45851 /* istanbul ignore else */ 45852 if (true) { 45853 var hyphenatedKey = hyphenate(key); 45854 if (isReservedAttribute(hyphenatedKey) || 45855 config.isReservedAttr(hyphenatedKey)) { 45856 warn$2("\"".concat(hyphenatedKey, "\" is a reserved attribute and cannot be used as component prop."), vm); 45857 } 45858 defineReactive(props, key, value, function () { 45859 if (!isRoot && !isUpdatingChildComponent) { 45860 warn$2("Avoid mutating a prop directly since the value will be " + 45861 "overwritten whenever the parent component re-renders. " + 45862 "Instead, use a data or computed property based on the prop's " + 45863 "value. Prop being mutated: \"".concat(key, "\""), vm); 45864 } 45865 }); 45866 } 45867 else {} 45868 // static props are already proxied on the component's prototype 45869 // during Vue.extend(). We only need to proxy props defined at 45870 // instantiation here. 45871 if (!(key in vm)) { 45872 proxy(vm, "_props", key); 45873 } 45874 }; 45875 for (var key in propsOptions) { 45876 _loop_1(key); 45877 } 45878 toggleObserving(true); 45879} 45880function initData(vm) { 45881 var data = vm.$options.data; 45882 data = vm._data = isFunction(data) ? getData(data, vm) : data || {}; 45883 if (!isPlainObject(data)) { 45884 data = {}; 45885 true && 45886 warn$2('data functions should return an object:\n' + 45887 'https://v2.vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm); 45888 } 45889 // proxy data on instance 45890 var keys = Object.keys(data); 45891 var props = vm.$options.props; 45892 var methods = vm.$options.methods; 45893 var i = keys.length; 45894 while (i--) { 45895 var key = keys[i]; 45896 if (true) { 45897 if (methods && hasOwn(methods, key)) { 45898 warn$2("Method \"".concat(key, "\" has already been defined as a data property."), vm); 45899 } 45900 } 45901 if (props && hasOwn(props, key)) { 45902 true && 45903 warn$2("The data property \"".concat(key, "\" is already declared as a prop. ") + 45904 "Use prop default value instead.", vm); 45905 } 45906 else if (!isReserved(key)) { 45907 proxy(vm, "_data", key); 45908 } 45909 } 45910 // observe data 45911 var ob = observe(data); 45912 ob && ob.vmCount++; 45913} 45914function getData(data, vm) { 45915 // #7573 disable dep collection when invoking data getters 45916 pushTarget(); 45917 try { 45918 return data.call(vm, vm); 45919 } 45920 catch (e) { 45921 handleError(e, vm, "data()"); 45922 return {}; 45923 } 45924 finally { 45925 popTarget(); 45926 } 45927} 45928var computedWatcherOptions = { lazy: true }; 45929function initComputed$1(vm, computed) { 45930 // $flow-disable-line 45931 var watchers = (vm._computedWatchers = Object.create(null)); 45932 // computed properties are just getters during SSR 45933 var isSSR = isServerRendering(); 45934 for (var key in computed) { 45935 var userDef = computed[key]; 45936 var getter = isFunction(userDef) ? userDef : userDef.get; 45937 if ( true && getter == null) { 45938 warn$2("Getter is missing for computed property \"".concat(key, "\"."), vm); 45939 } 45940 if (!isSSR) { 45941 // create internal watcher for the computed property. 45942 watchers[key] = new Watcher(vm, getter || noop, noop, computedWatcherOptions); 45943 } 45944 // component-defined computed properties are already defined on the 45945 // component prototype. We only need to define computed properties defined 45946 // at instantiation here. 45947 if (!(key in vm)) { 45948 defineComputed(vm, key, userDef); 45949 } 45950 else if (true) { 45951 if (key in vm.$data) { 45952 warn$2("The computed property \"".concat(key, "\" is already defined in data."), vm); 45953 } 45954 else if (vm.$options.props && key in vm.$options.props) { 45955 warn$2("The computed property \"".concat(key, "\" is already defined as a prop."), vm); 45956 } 45957 else if (vm.$options.methods && key in vm.$options.methods) { 45958 warn$2("The computed property \"".concat(key, "\" is already defined as a method."), vm); 45959 } 45960 } 45961 } 45962} 45963function defineComputed(target, key, userDef) { 45964 var shouldCache = !isServerRendering(); 45965 if (isFunction(userDef)) { 45966 sharedPropertyDefinition.get = shouldCache 45967 ? createComputedGetter(key) 45968 : createGetterInvoker(userDef); 45969 sharedPropertyDefinition.set = noop; 45970 } 45971 else { 45972 sharedPropertyDefinition.get = userDef.get 45973 ? shouldCache && userDef.cache !== false 45974 ? createComputedGetter(key) 45975 : createGetterInvoker(userDef.get) 45976 : noop; 45977 sharedPropertyDefinition.set = userDef.set || noop; 45978 } 45979 if ( true && sharedPropertyDefinition.set === noop) { 45980 sharedPropertyDefinition.set = function () { 45981 warn$2("Computed property \"".concat(key, "\" was assigned to but it has no setter."), this); 45982 }; 45983 } 45984 Object.defineProperty(target, key, sharedPropertyDefinition); 45985} 45986function createComputedGetter(key) { 45987 return function computedGetter() { 45988 var watcher = this._computedWatchers && this._computedWatchers[key]; 45989 if (watcher) { 45990 if (watcher.dirty) { 45991 watcher.evaluate(); 45992 } 45993 if (Dep.target) { 45994 if ( true && Dep.target.onTrack) { 45995 Dep.target.onTrack({ 45996 effect: Dep.target, 45997 target: this, 45998 type: "get" /* TrackOpTypes.GET */, 45999 key: key 46000 }); 46001 } 46002 watcher.depend(); 46003 } 46004 return watcher.value; 46005 } 46006 }; 46007} 46008function createGetterInvoker(fn) { 46009 return function computedGetter() { 46010 return fn.call(this, this); 46011 }; 46012} 46013function initMethods(vm, methods) { 46014 var props = vm.$options.props; 46015 for (var key in methods) { 46016 if (true) { 46017 if (typeof methods[key] !== 'function') { 46018 warn$2("Method \"".concat(key, "\" has type \"").concat(typeof methods[key], "\" in the component definition. ") + 46019 "Did you reference the function correctly?", vm); 46020 } 46021 if (props && hasOwn(props, key)) { 46022 warn$2("Method \"".concat(key, "\" has already been defined as a prop."), vm); 46023 } 46024 if (key in vm && isReserved(key)) { 46025 warn$2("Method \"".concat(key, "\" conflicts with an existing Vue instance method. ") + 46026 "Avoid defining component methods that start with _ or $."); 46027 } 46028 } 46029 vm[key] = typeof methods[key] !== 'function' ? noop : bind$1(methods[key], vm); 46030 } 46031} 46032function initWatch(vm, watch) { 46033 for (var key in watch) { 46034 var handler = watch[key]; 46035 if (isArray(handler)) { 46036 for (var i = 0; i < handler.length; i++) { 46037 createWatcher(vm, key, handler[i]); 46038 } 46039 } 46040 else { 46041 createWatcher(vm, key, handler); 46042 } 46043 } 46044} 46045function createWatcher(vm, expOrFn, handler, options) { 46046 if (isPlainObject(handler)) { 46047 options = handler; 46048 handler = handler.handler; 46049 } 46050 if (typeof handler === 'string') { 46051 handler = vm[handler]; 46052 } 46053 return vm.$watch(expOrFn, handler, options); 46054} 46055function stateMixin(Vue) { 46056 // flow somehow has problems with directly declared definition object 46057 // when using Object.defineProperty, so we have to procedurally build up 46058 // the object here. 46059 var dataDef = {}; 46060 dataDef.get = function () { 46061 return this._data; 46062 }; 46063 var propsDef = {}; 46064 propsDef.get = function () { 46065 return this._props; 46066 }; 46067 if (true) { 46068 dataDef.set = function () { 46069 warn$2('Avoid replacing instance root $data. ' + 46070 'Use nested data properties instead.', this); 46071 }; 46072 propsDef.set = function () { 46073 warn$2("$props is readonly.", this); 46074 }; 46075 } 46076 Object.defineProperty(Vue.prototype, '$data', dataDef); 46077 Object.defineProperty(Vue.prototype, '$props', propsDef); 46078 Vue.prototype.$set = set; 46079 Vue.prototype.$delete = del; 46080 Vue.prototype.$watch = function (expOrFn, cb, options) { 46081 var vm = this; 46082 if (isPlainObject(cb)) { 46083 return createWatcher(vm, expOrFn, cb, options); 46084 } 46085 options = options || {}; 46086 options.user = true; 46087 var watcher = new Watcher(vm, expOrFn, cb, options); 46088 if (options.immediate) { 46089 var info = "callback for immediate watcher \"".concat(watcher.expression, "\""); 46090 pushTarget(); 46091 invokeWithErrorHandling(cb, vm, [watcher.value], vm, info); 46092 popTarget(); 46093 } 46094 return function unwatchFn() { 46095 watcher.teardown(); 46096 }; 46097 }; 46098} 46099 46100function initProvide(vm) { 46101 var provideOption = vm.$options.provide; 46102 if (provideOption) { 46103 var provided = isFunction(provideOption) 46104 ? provideOption.call(vm) 46105 : provideOption; 46106 if (!isObject(provided)) { 46107 return; 46108 } 46109 var source = resolveProvided(vm); 46110 // IE9 doesn't support Object.getOwnPropertyDescriptors so we have to 46111 // iterate the keys ourselves. 46112 var keys = hasSymbol ? Reflect.ownKeys(provided) : Object.keys(provided); 46113 for (var i = 0; i < keys.length; i++) { 46114 var key = keys[i]; 46115 Object.defineProperty(source, key, Object.getOwnPropertyDescriptor(provided, key)); 46116 } 46117 } 46118} 46119function initInjections(vm) { 46120 var result = resolveInject(vm.$options.inject, vm); 46121 if (result) { 46122 toggleObserving(false); 46123 Object.keys(result).forEach(function (key) { 46124 /* istanbul ignore else */ 46125 if (true) { 46126 defineReactive(vm, key, result[key], function () { 46127 warn$2("Avoid mutating an injected value directly since the changes will be " + 46128 "overwritten whenever the provided component re-renders. " + 46129 "injection being mutated: \"".concat(key, "\""), vm); 46130 }); 46131 } 46132 else {} 46133 }); 46134 toggleObserving(true); 46135 } 46136} 46137function resolveInject(inject, vm) { 46138 if (inject) { 46139 // inject is :any because flow is not smart enough to figure out cached 46140 var result = Object.create(null); 46141 var keys = hasSymbol ? Reflect.ownKeys(inject) : Object.keys(inject); 46142 for (var i = 0; i < keys.length; i++) { 46143 var key = keys[i]; 46144 // #6574 in case the inject object is observed... 46145 if (key === '__ob__') 46146 continue; 46147 var provideKey = inject[key].from; 46148 if (provideKey in vm._provided) { 46149 result[key] = vm._provided[provideKey]; 46150 } 46151 else if ('default' in inject[key]) { 46152 var provideDefault = inject[key].default; 46153 result[key] = isFunction(provideDefault) 46154 ? provideDefault.call(vm) 46155 : provideDefault; 46156 } 46157 else if (true) { 46158 warn$2("Injection \"".concat(key, "\" not found"), vm); 46159 } 46160 } 46161 return result; 46162 } 46163} 46164 46165var uid = 0; 46166function initMixin$1(Vue) { 46167 Vue.prototype._init = function (options) { 46168 var vm = this; 46169 // a uid 46170 vm._uid = uid++; 46171 var startTag, endTag; 46172 /* istanbul ignore if */ 46173 if ( true && config.performance && mark) { 46174 startTag = "vue-perf-start:".concat(vm._uid); 46175 endTag = "vue-perf-end:".concat(vm._uid); 46176 mark(startTag); 46177 } 46178 // a flag to mark this as a Vue instance without having to do instanceof 46179 // check 46180 vm._isVue = true; 46181 // avoid instances from being observed 46182 vm.__v_skip = true; 46183 // effect scope 46184 vm._scope = new EffectScope(true /* detached */); 46185 vm._scope._vm = true; 46186 // merge options 46187 if (options && options._isComponent) { 46188 // optimize internal component instantiation 46189 // since dynamic options merging is pretty slow, and none of the 46190 // internal component options needs special treatment. 46191 initInternalComponent(vm, options); 46192 } 46193 else { 46194 vm.$options = mergeOptions(resolveConstructorOptions(vm.constructor), options || {}, vm); 46195 } 46196 /* istanbul ignore else */ 46197 if (true) { 46198 initProxy(vm); 46199 } 46200 else {} 46201 // expose real self 46202 vm._self = vm; 46203 initLifecycle(vm); 46204 initEvents(vm); 46205 initRender(vm); 46206 callHook$1(vm, 'beforeCreate', undefined, false /* setContext */); 46207 initInjections(vm); // resolve injections before data/props 46208 initState(vm); 46209 initProvide(vm); // resolve provide after data/props 46210 callHook$1(vm, 'created'); 46211 /* istanbul ignore if */ 46212 if ( true && config.performance && mark) { 46213 vm._name = formatComponentName(vm, false); 46214 mark(endTag); 46215 measure("vue ".concat(vm._name, " init"), startTag, endTag); 46216 } 46217 if (vm.$options.el) { 46218 vm.$mount(vm.$options.el); 46219 } 46220 }; 46221} 46222function initInternalComponent(vm, options) { 46223 var opts = (vm.$options = Object.create(vm.constructor.options)); 46224 // doing this because it's faster than dynamic enumeration. 46225 var parentVnode = options._parentVnode; 46226 opts.parent = options.parent; 46227 opts._parentVnode = parentVnode; 46228 var vnodeComponentOptions = parentVnode.componentOptions; 46229 opts.propsData = vnodeComponentOptions.propsData; 46230 opts._parentListeners = vnodeComponentOptions.listeners; 46231 opts._renderChildren = vnodeComponentOptions.children; 46232 opts._componentTag = vnodeComponentOptions.tag; 46233 if (options.render) { 46234 opts.render = options.render; 46235 opts.staticRenderFns = options.staticRenderFns; 46236 } 46237} 46238function resolveConstructorOptions(Ctor) { 46239 var options = Ctor.options; 46240 if (Ctor.super) { 46241 var superOptions = resolveConstructorOptions(Ctor.super); 46242 var cachedSuperOptions = Ctor.superOptions; 46243 if (superOptions !== cachedSuperOptions) { 46244 // super option changed, 46245 // need to resolve new options. 46246 Ctor.superOptions = superOptions; 46247 // check if there are any late-modified/attached options (#4976) 46248 var modifiedOptions = resolveModifiedOptions(Ctor); 46249 // update base extend options 46250 if (modifiedOptions) { 46251 extend(Ctor.extendOptions, modifiedOptions); 46252 } 46253 options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions); 46254 if (options.name) { 46255 options.components[options.name] = Ctor; 46256 } 46257 } 46258 } 46259 return options; 46260} 46261function resolveModifiedOptions(Ctor) { 46262 var modified; 46263 var latest = Ctor.options; 46264 var sealed = Ctor.sealedOptions; 46265 for (var key in latest) { 46266 if (latest[key] !== sealed[key]) { 46267 if (!modified) 46268 modified = {}; 46269 modified[key] = latest[key]; 46270 } 46271 } 46272 return modified; 46273} 46274 46275function FunctionalRenderContext(data, props, children, parent, Ctor) { 46276 var _this = this; 46277 var options = Ctor.options; 46278 // ensure the createElement function in functional components 46279 // gets a unique context - this is necessary for correct named slot check 46280 var contextVm; 46281 if (hasOwn(parent, '_uid')) { 46282 contextVm = Object.create(parent); 46283 contextVm._original = parent; 46284 } 46285 else { 46286 // the context vm passed in is a functional context as well. 46287 // in this case we want to make sure we are able to get a hold to the 46288 // real context instance. 46289 contextVm = parent; 46290 // @ts-ignore 46291 parent = parent._original; 46292 } 46293 var isCompiled = isTrue(options._compiled); 46294 var needNormalization = !isCompiled; 46295 this.data = data; 46296 this.props = props; 46297 this.children = children; 46298 this.parent = parent; 46299 this.listeners = data.on || emptyObject; 46300 this.injections = resolveInject(options.inject, parent); 46301 this.slots = function () { 46302 if (!_this.$slots) { 46303 normalizeScopedSlots(parent, data.scopedSlots, (_this.$slots = resolveSlots(children, parent))); 46304 } 46305 return _this.$slots; 46306 }; 46307 Object.defineProperty(this, 'scopedSlots', { 46308 enumerable: true, 46309 get: function () { 46310 return normalizeScopedSlots(parent, data.scopedSlots, this.slots()); 46311 } 46312 }); 46313 // support for compiled functional template 46314 if (isCompiled) { 46315 // exposing $options for renderStatic() 46316 this.$options = options; 46317 // pre-resolve slots for renderSlot() 46318 this.$slots = this.slots(); 46319 this.$scopedSlots = normalizeScopedSlots(parent, data.scopedSlots, this.$slots); 46320 } 46321 if (options._scopeId) { 46322 this._c = function (a, b, c, d) { 46323 var vnode = createElement$1(contextVm, a, b, c, d, needNormalization); 46324 if (vnode && !isArray(vnode)) { 46325 vnode.fnScopeId = options._scopeId; 46326 vnode.fnContext = parent; 46327 } 46328 return vnode; 46329 }; 46330 } 46331 else { 46332 this._c = function (a, b, c, d) { 46333 return createElement$1(contextVm, a, b, c, d, needNormalization); 46334 }; 46335 } 46336} 46337installRenderHelpers(FunctionalRenderContext.prototype); 46338function createFunctionalComponent(Ctor, propsData, data, contextVm, children) { 46339 var options = Ctor.options; 46340 var props = {}; 46341 var propOptions = options.props; 46342 if (isDef(propOptions)) { 46343 for (var key in propOptions) { 46344 props[key] = validateProp(key, propOptions, propsData || emptyObject); 46345 } 46346 } 46347 else { 46348 if (isDef(data.attrs)) 46349 mergeProps(props, data.attrs); 46350 if (isDef(data.props)) 46351 mergeProps(props, data.props); 46352 } 46353 var renderContext = new FunctionalRenderContext(data, props, children, contextVm, Ctor); 46354 var vnode = options.render.call(null, renderContext._c, renderContext); 46355 if (vnode instanceof VNode) { 46356 return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext); 46357 } 46358 else if (isArray(vnode)) { 46359 var vnodes = normalizeChildren(vnode) || []; 46360 var res = new Array(vnodes.length); 46361 for (var i = 0; i < vnodes.length; i++) { 46362 res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext); 46363 } 46364 return res; 46365 } 46366} 46367function cloneAndMarkFunctionalResult(vnode, data, contextVm, options, renderContext) { 46368 // #7817 clone node before setting fnContext, otherwise if the node is reused 46369 // (e.g. it was from a cached normal slot) the fnContext causes named slots 46370 // that should not be matched to match. 46371 var clone = cloneVNode(vnode); 46372 clone.fnContext = contextVm; 46373 clone.fnOptions = options; 46374 if (true) { 46375 (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = 46376 renderContext; 46377 } 46378 if (data.slot) { 46379 (clone.data || (clone.data = {})).slot = data.slot; 46380 } 46381 return clone; 46382} 46383function mergeProps(to, from) { 46384 for (var key in from) { 46385 to[camelize(key)] = from[key]; 46386 } 46387} 46388 46389function getComponentName(options) { 46390 return options.name || options.__name || options._componentTag; 46391} 46392// inline hooks to be invoked on component VNodes during patch 46393var componentVNodeHooks = { 46394 init: function (vnode, hydrating) { 46395 if (vnode.componentInstance && 46396 !vnode.componentInstance._isDestroyed && 46397 vnode.data.keepAlive) { 46398 // kept-alive components, treat as a patch 46399 var mountedNode = vnode; // work around flow 46400 componentVNodeHooks.prepatch(mountedNode, mountedNode); 46401 } 46402 else { 46403 var child = (vnode.componentInstance = createComponentInstanceForVnode(vnode, activeInstance)); 46404 child.$mount(hydrating ? vnode.elm : undefined, hydrating); 46405 } 46406 }, 46407 prepatch: function (oldVnode, vnode) { 46408 var options = vnode.componentOptions; 46409 var child = (vnode.componentInstance = oldVnode.componentInstance); 46410 updateChildComponent(child, options.propsData, // updated props 46411 options.listeners, // updated listeners 46412 vnode, // new parent vnode 46413 options.children // new children 46414 ); 46415 }, 46416 insert: function (vnode) { 46417 var context = vnode.context, componentInstance = vnode.componentInstance; 46418 if (!componentInstance._isMounted) { 46419 componentInstance._isMounted = true; 46420 callHook$1(componentInstance, 'mounted'); 46421 } 46422 if (vnode.data.keepAlive) { 46423 if (context._isMounted) { 46424 // vue-router#1212 46425 // During updates, a kept-alive component's child components may 46426 // change, so directly walking the tree here may call activated hooks 46427 // on incorrect children. Instead we push them into a queue which will 46428 // be processed after the whole patch process ended. 46429 queueActivatedComponent(componentInstance); 46430 } 46431 else { 46432 activateChildComponent(componentInstance, true /* direct */); 46433 } 46434 } 46435 }, 46436 destroy: function (vnode) { 46437 var componentInstance = vnode.componentInstance; 46438 if (!componentInstance._isDestroyed) { 46439 if (!vnode.data.keepAlive) { 46440 componentInstance.$destroy(); 46441 } 46442 else { 46443 deactivateChildComponent(componentInstance, true /* direct */); 46444 } 46445 } 46446 } 46447}; 46448var hooksToMerge = Object.keys(componentVNodeHooks); 46449function createComponent(Ctor, data, context, children, tag) { 46450 if (isUndef(Ctor)) { 46451 return; 46452 } 46453 var baseCtor = context.$options._base; 46454 // plain options object: turn it into a constructor 46455 if (isObject(Ctor)) { 46456 Ctor = baseCtor.extend(Ctor); 46457 } 46458 // if at this stage it's not a constructor or an async component factory, 46459 // reject. 46460 if (typeof Ctor !== 'function') { 46461 if (true) { 46462 warn$2("Invalid Component definition: ".concat(String(Ctor)), context); 46463 } 46464 return; 46465 } 46466 // async component 46467 var asyncFactory; 46468 // @ts-expect-error 46469 if (isUndef(Ctor.cid)) { 46470 asyncFactory = Ctor; 46471 Ctor = resolveAsyncComponent(asyncFactory, baseCtor); 46472 if (Ctor === undefined) { 46473 // return a placeholder node for async component, which is rendered 46474 // as a comment node but preserves all the raw information for the node. 46475 // the information will be used for async server-rendering and hydration. 46476 return createAsyncPlaceholder(asyncFactory, data, context, children, tag); 46477 } 46478 } 46479 data = data || {}; 46480 // resolve constructor options in case global mixins are applied after 46481 // component constructor creation 46482 resolveConstructorOptions(Ctor); 46483 // transform component v-model data into props & events 46484 if (isDef(data.model)) { 46485 // @ts-expect-error 46486 transformModel(Ctor.options, data); 46487 } 46488 // extract props 46489 // @ts-expect-error 46490 var propsData = extractPropsFromVNodeData(data, Ctor, tag); 46491 // functional component 46492 // @ts-expect-error 46493 if (isTrue(Ctor.options.functional)) { 46494 return createFunctionalComponent(Ctor, propsData, data, context, children); 46495 } 46496 // extract listeners, since these needs to be treated as 46497 // child component listeners instead of DOM listeners 46498 var listeners = data.on; 46499 // replace with listeners with .native modifier 46500 // so it gets processed during parent component patch. 46501 data.on = data.nativeOn; 46502 // @ts-expect-error 46503 if (isTrue(Ctor.options.abstract)) { 46504 // abstract components do not keep anything 46505 // other than props & listeners & slot 46506 // work around flow 46507 var slot = data.slot; 46508 data = {}; 46509 if (slot) { 46510 data.slot = slot; 46511 } 46512 } 46513 // install component management hooks onto the placeholder node 46514 installComponentHooks(data); 46515 // return a placeholder vnode 46516 // @ts-expect-error 46517 var name = getComponentName(Ctor.options) || tag; 46518 var vnode = new VNode( 46519 // @ts-expect-error 46520 "vue-component-".concat(Ctor.cid).concat(name ? "-".concat(name) : ''), data, undefined, undefined, undefined, context, 46521 // @ts-expect-error 46522 { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, asyncFactory); 46523 return vnode; 46524} 46525function createComponentInstanceForVnode( 46526// we know it's MountedComponentVNode but flow doesn't 46527vnode, 46528// activeInstance in lifecycle state 46529parent) { 46530 var options = { 46531 _isComponent: true, 46532 _parentVnode: vnode, 46533 parent: parent 46534 }; 46535 // check inline-template render functions 46536 var inlineTemplate = vnode.data.inlineTemplate; 46537 if (isDef(inlineTemplate)) { 46538 options.render = inlineTemplate.render; 46539 options.staticRenderFns = inlineTemplate.staticRenderFns; 46540 } 46541 return new vnode.componentOptions.Ctor(options); 46542} 46543function installComponentHooks(data) { 46544 var hooks = data.hook || (data.hook = {}); 46545 for (var i = 0; i < hooksToMerge.length; i++) { 46546 var key = hooksToMerge[i]; 46547 var existing = hooks[key]; 46548 var toMerge = componentVNodeHooks[key]; 46549 // @ts-expect-error 46550 if (existing !== toMerge && !(existing && existing._merged)) { 46551 hooks[key] = existing ? mergeHook(toMerge, existing) : toMerge; 46552 } 46553 } 46554} 46555function mergeHook(f1, f2) { 46556 var merged = function (a, b) { 46557 // flow complains about extra args which is why we use any 46558 f1(a, b); 46559 f2(a, b); 46560 }; 46561 merged._merged = true; 46562 return merged; 46563} 46564// transform component v-model info (value and callback) into 46565// prop and event handler respectively. 46566function transformModel(options, data) { 46567 var prop = (options.model && options.model.prop) || 'value'; 46568 var event = (options.model && options.model.event) || 'input'; 46569 (data.attrs || (data.attrs = {}))[prop] = data.model.value; 46570 var on = data.on || (data.on = {}); 46571 var existing = on[event]; 46572 var callback = data.model.callback; 46573 if (isDef(existing)) { 46574 if (isArray(existing) 46575 ? existing.indexOf(callback) === -1 46576 : existing !== callback) { 46577 on[event] = [callback].concat(existing); 46578 } 46579 } 46580 else { 46581 on[event] = callback; 46582 } 46583} 46584 46585var warn$2 = noop; 46586var tip = noop; 46587var generateComponentTrace; // work around flow check 46588var formatComponentName; 46589if (true) { 46590 var hasConsole_1 = typeof console !== 'undefined'; 46591 var classifyRE_1 = /(?:^|[-_])(\w)/g; 46592 var classify_1 = function (str) { 46593 return str.replace(classifyRE_1, function (c) { return c.toUpperCase(); }).replace(/[-_]/g, ''); 46594 }; 46595 warn$2 = function (msg, vm) { 46596 if (vm === void 0) { vm = currentInstance; } 46597 var trace = vm ? generateComponentTrace(vm) : ''; 46598 if (config.warnHandler) { 46599 config.warnHandler.call(null, msg, vm, trace); 46600 } 46601 else if (hasConsole_1 && !config.silent) { 46602 console.error("[Vue warn]: ".concat(msg).concat(trace)); 46603 } 46604 }; 46605 tip = function (msg, vm) { 46606 if (hasConsole_1 && !config.silent) { 46607 console.warn("[Vue tip]: ".concat(msg) + (vm ? generateComponentTrace(vm) : '')); 46608 } 46609 }; 46610 formatComponentName = function (vm, includeFile) { 46611 if (vm.$root === vm) { 46612 return '<Root>'; 46613 } 46614 var options = isFunction(vm) && vm.cid != null 46615 ? vm.options 46616 : vm._isVue 46617 ? vm.$options || vm.constructor.options 46618 : vm; 46619 var name = getComponentName(options); 46620 var file = options.__file; 46621 if (!name && file) { 46622 var match = file.match(/([^/\\]+)\.vue$/); 46623 name = match && match[1]; 46624 } 46625 return ((name ? "<".concat(classify_1(name), ">") : "<Anonymous>") + 46626 (file && includeFile !== false ? " at ".concat(file) : '')); 46627 }; 46628 var repeat_1 = function (str, n) { 46629 var res = ''; 46630 while (n) { 46631 if (n % 2 === 1) 46632 res += str; 46633 if (n > 1) 46634 str += str; 46635 n >>= 1; 46636 } 46637 return res; 46638 }; 46639 generateComponentTrace = function (vm) { 46640 if (vm._isVue && vm.$parent) { 46641 var tree = []; 46642 var currentRecursiveSequence = 0; 46643 while (vm) { 46644 if (tree.length > 0) { 46645 var last = tree[tree.length - 1]; 46646 if (last.constructor === vm.constructor) { 46647 currentRecursiveSequence++; 46648 vm = vm.$parent; 46649 continue; 46650 } 46651 else if (currentRecursiveSequence > 0) { 46652 tree[tree.length - 1] = [last, currentRecursiveSequence]; 46653 currentRecursiveSequence = 0; 46654 } 46655 } 46656 tree.push(vm); 46657 vm = vm.$parent; 46658 } 46659 return ('\n\nfound in\n\n' + 46660 tree 46661 .map(function (vm, i) { 46662 return "".concat(i === 0 ? '---> ' : repeat_1(' ', 5 + i * 2)).concat(isArray(vm) 46663 ? "".concat(formatComponentName(vm[0]), "... (").concat(vm[1], " recursive calls)") 46664 : formatComponentName(vm)); 46665 }) 46666 .join('\n')); 46667 } 46668 else { 46669 return "\n\n(found in ".concat(formatComponentName(vm), ")"); 46670 } 46671 }; 46672} 46673 46674/** 46675 * Option overwriting strategies are functions that handle 46676 * how to merge a parent option value and a child option 46677 * value into the final value. 46678 */ 46679var strats = config.optionMergeStrategies; 46680/** 46681 * Options with restrictions 46682 */ 46683if (true) { 46684 strats.el = strats.propsData = function (parent, child, vm, key) { 46685 if (!vm) { 46686 warn$2("option \"".concat(key, "\" can only be used during instance ") + 46687 'creation with the `new` keyword.'); 46688 } 46689 return defaultStrat(parent, child); 46690 }; 46691} 46692/** 46693 * Helper that recursively merges two data objects together. 46694 */ 46695function mergeData(to, from, recursive) { 46696 if (recursive === void 0) { recursive = true; } 46697 if (!from) 46698 return to; 46699 var key, toVal, fromVal; 46700 var keys = hasSymbol 46701 ? Reflect.ownKeys(from) 46702 : Object.keys(from); 46703 for (var i = 0; i < keys.length; i++) { 46704 key = keys[i]; 46705 // in case the object is already observed... 46706 if (key === '__ob__') 46707 continue; 46708 toVal = to[key]; 46709 fromVal = from[key]; 46710 if (!recursive || !hasOwn(to, key)) { 46711 set(to, key, fromVal); 46712 } 46713 else if (toVal !== fromVal && 46714 isPlainObject(toVal) && 46715 isPlainObject(fromVal)) { 46716 mergeData(toVal, fromVal); 46717 } 46718 } 46719 return to; 46720} 46721/** 46722 * Data 46723 */ 46724function mergeDataOrFn(parentVal, childVal, vm) { 46725 if (!vm) { 46726 // in a Vue.extend merge, both should be functions 46727 if (!childVal) { 46728 return parentVal; 46729 } 46730 if (!parentVal) { 46731 return childVal; 46732 } 46733 // when parentVal & childVal are both present, 46734 // we need to return a function that returns the 46735 // merged result of both functions... no need to 46736 // check if parentVal is a function here because 46737 // it has to be a function to pass previous merges. 46738 return function mergedDataFn() { 46739 return mergeData(isFunction(childVal) ? childVal.call(this, this) : childVal, isFunction(parentVal) ? parentVal.call(this, this) : parentVal); 46740 }; 46741 } 46742 else { 46743 return function mergedInstanceDataFn() { 46744 // instance merge 46745 var instanceData = isFunction(childVal) 46746 ? childVal.call(vm, vm) 46747 : childVal; 46748 var defaultData = isFunction(parentVal) 46749 ? parentVal.call(vm, vm) 46750 : parentVal; 46751 if (instanceData) { 46752 return mergeData(instanceData, defaultData); 46753 } 46754 else { 46755 return defaultData; 46756 } 46757 }; 46758 } 46759} 46760strats.data = function (parentVal, childVal, vm) { 46761 if (!vm) { 46762 if (childVal && typeof childVal !== 'function') { 46763 true && 46764 warn$2('The "data" option should be a function ' + 46765 'that returns a per-instance value in component ' + 46766 'definitions.', vm); 46767 return parentVal; 46768 } 46769 return mergeDataOrFn(parentVal, childVal); 46770 } 46771 return mergeDataOrFn(parentVal, childVal, vm); 46772}; 46773/** 46774 * Hooks and props are merged as arrays. 46775 */ 46776function mergeLifecycleHook(parentVal, childVal) { 46777 var res = childVal 46778 ? parentVal 46779 ? parentVal.concat(childVal) 46780 : isArray(childVal) 46781 ? childVal 46782 : [childVal] 46783 : parentVal; 46784 return res ? dedupeHooks(res) : res; 46785} 46786function dedupeHooks(hooks) { 46787 var res = []; 46788 for (var i = 0; i < hooks.length; i++) { 46789 if (res.indexOf(hooks[i]) === -1) { 46790 res.push(hooks[i]); 46791 } 46792 } 46793 return res; 46794} 46795LIFECYCLE_HOOKS.forEach(function (hook) { 46796 strats[hook] = mergeLifecycleHook; 46797}); 46798/** 46799 * Assets 46800 * 46801 * When a vm is present (instance creation), we need to do 46802 * a three-way merge between constructor options, instance 46803 * options and parent options. 46804 */ 46805function mergeAssets(parentVal, childVal, vm, key) { 46806 var res = Object.create(parentVal || null); 46807 if (childVal) { 46808 true && assertObjectType(key, childVal, vm); 46809 return extend(res, childVal); 46810 } 46811 else { 46812 return res; 46813 } 46814} 46815ASSET_TYPES.forEach(function (type) { 46816 strats[type + 's'] = mergeAssets; 46817}); 46818/** 46819 * Watchers. 46820 * 46821 * Watchers hashes should not overwrite one 46822 * another, so we merge them as arrays. 46823 */ 46824strats.watch = function (parentVal, childVal, vm, key) { 46825 // work around Firefox's Object.prototype.watch... 46826 //@ts-expect-error work around 46827 if (parentVal === nativeWatch) 46828 parentVal = undefined; 46829 //@ts-expect-error work around 46830 if (childVal === nativeWatch) 46831 childVal = undefined; 46832 /* istanbul ignore if */ 46833 if (!childVal) 46834 return Object.create(parentVal || null); 46835 if (true) { 46836 assertObjectType(key, childVal, vm); 46837 } 46838 if (!parentVal) 46839 return childVal; 46840 var ret = {}; 46841 extend(ret, parentVal); 46842 for (var key_1 in childVal) { 46843 var parent_1 = ret[key_1]; 46844 var child = childVal[key_1]; 46845 if (parent_1 && !isArray(parent_1)) { 46846 parent_1 = [parent_1]; 46847 } 46848 ret[key_1] = parent_1 ? parent_1.concat(child) : isArray(child) ? child : [child]; 46849 } 46850 return ret; 46851}; 46852/** 46853 * Other object hashes. 46854 */ 46855strats.props = 46856 strats.methods = 46857 strats.inject = 46858 strats.computed = 46859 function (parentVal, childVal, vm, key) { 46860 if (childVal && "development" !== 'production') { 46861 assertObjectType(key, childVal, vm); 46862 } 46863 if (!parentVal) 46864 return childVal; 46865 var ret = Object.create(null); 46866 extend(ret, parentVal); 46867 if (childVal) 46868 extend(ret, childVal); 46869 return ret; 46870 }; 46871strats.provide = function (parentVal, childVal) { 46872 if (!parentVal) 46873 return childVal; 46874 return function () { 46875 var ret = Object.create(null); 46876 mergeData(ret, isFunction(parentVal) ? parentVal.call(this) : parentVal); 46877 if (childVal) { 46878 mergeData(ret, isFunction(childVal) ? childVal.call(this) : childVal, false // non-recursive 46879 ); 46880 } 46881 return ret; 46882 }; 46883}; 46884/** 46885 * Default strategy. 46886 */ 46887var defaultStrat = function (parentVal, childVal) { 46888 return childVal === undefined ? parentVal : childVal; 46889}; 46890/** 46891 * Validate component names 46892 */ 46893function checkComponents(options) { 46894 for (var key in options.components) { 46895 validateComponentName(key); 46896 } 46897} 46898function validateComponentName(name) { 46899 if (!new RegExp("^[a-zA-Z][\\-\\.0-9_".concat(unicodeRegExp.source, "]*$")).test(name)) { 46900 warn$2('Invalid component name: "' + 46901 name + 46902 '". Component names ' + 46903 'should conform to valid custom element name in html5 specification.'); 46904 } 46905 if (isBuiltInTag(name) || config.isReservedTag(name)) { 46906 warn$2('Do not use built-in or reserved HTML elements as component ' + 46907 'id: ' + 46908 name); 46909 } 46910} 46911/** 46912 * Ensure all props option syntax are normalized into the 46913 * Object-based format. 46914 */ 46915function normalizeProps(options, vm) { 46916 var props = options.props; 46917 if (!props) 46918 return; 46919 var res = {}; 46920 var i, val, name; 46921 if (isArray(props)) { 46922 i = props.length; 46923 while (i--) { 46924 val = props[i]; 46925 if (typeof val === 'string') { 46926 name = camelize(val); 46927 res[name] = { type: null }; 46928 } 46929 else if (true) { 46930 warn$2('props must be strings when using array syntax.'); 46931 } 46932 } 46933 } 46934 else if (isPlainObject(props)) { 46935 for (var key in props) { 46936 val = props[key]; 46937 name = camelize(key); 46938 res[name] = isPlainObject(val) ? val : { type: val }; 46939 } 46940 } 46941 else if (true) { 46942 warn$2("Invalid value for option \"props\": expected an Array or an Object, " + 46943 "but got ".concat(toRawType(props), "."), vm); 46944 } 46945 options.props = res; 46946} 46947/** 46948 * Normalize all injections into Object-based format 46949 */ 46950function normalizeInject(options, vm) { 46951 var inject = options.inject; 46952 if (!inject) 46953 return; 46954 var normalized = (options.inject = {}); 46955 if (isArray(inject)) { 46956 for (var i = 0; i < inject.length; i++) { 46957 normalized[inject[i]] = { from: inject[i] }; 46958 } 46959 } 46960 else if (isPlainObject(inject)) { 46961 for (var key in inject) { 46962 var val = inject[key]; 46963 normalized[key] = isPlainObject(val) 46964 ? extend({ from: key }, val) 46965 : { from: val }; 46966 } 46967 } 46968 else if (true) { 46969 warn$2("Invalid value for option \"inject\": expected an Array or an Object, " + 46970 "but got ".concat(toRawType(inject), "."), vm); 46971 } 46972} 46973/** 46974 * Normalize raw function directives into object format. 46975 */ 46976function normalizeDirectives$1(options) { 46977 var dirs = options.directives; 46978 if (dirs) { 46979 for (var key in dirs) { 46980 var def = dirs[key]; 46981 if (isFunction(def)) { 46982 dirs[key] = { bind: def, update: def }; 46983 } 46984 } 46985 } 46986} 46987function assertObjectType(name, value, vm) { 46988 if (!isPlainObject(value)) { 46989 warn$2("Invalid value for option \"".concat(name, "\": expected an Object, ") + 46990 "but got ".concat(toRawType(value), "."), vm); 46991 } 46992} 46993/** 46994 * Merge two option objects into a new one. 46995 * Core utility used in both instantiation and inheritance. 46996 */ 46997function mergeOptions(parent, child, vm) { 46998 if (true) { 46999 checkComponents(child); 47000 } 47001 if (isFunction(child)) { 47002 // @ts-expect-error 47003 child = child.options; 47004 } 47005 normalizeProps(child, vm); 47006 normalizeInject(child, vm); 47007 normalizeDirectives$1(child); 47008 // Apply extends and mixins on the child options, 47009 // but only if it is a raw options object that isn't 47010 // the result of another mergeOptions call. 47011 // Only merged options has the _base property. 47012 if (!child._base) { 47013 if (child.extends) { 47014 parent = mergeOptions(parent, child.extends, vm); 47015 } 47016 if (child.mixins) { 47017 for (var i = 0, l = child.mixins.length; i < l; i++) { 47018 parent = mergeOptions(parent, child.mixins[i], vm); 47019 } 47020 } 47021 } 47022 var options = {}; 47023 var key; 47024 for (key in parent) { 47025 mergeField(key); 47026 } 47027 for (key in child) { 47028 if (!hasOwn(parent, key)) { 47029 mergeField(key); 47030 } 47031 } 47032 function mergeField(key) { 47033 var strat = strats[key] || defaultStrat; 47034 options[key] = strat(parent[key], child[key], vm, key); 47035 } 47036 return options; 47037} 47038/** 47039 * Resolve an asset. 47040 * This function is used because child instances need access 47041 * to assets defined in its ancestor chain. 47042 */ 47043function resolveAsset(options, type, id, warnMissing) { 47044 /* istanbul ignore if */ 47045 if (typeof id !== 'string') { 47046 return; 47047 } 47048 var assets = options[type]; 47049 // check local registration variations first 47050 if (hasOwn(assets, id)) 47051 return assets[id]; 47052 var camelizedId = camelize(id); 47053 if (hasOwn(assets, camelizedId)) 47054 return assets[camelizedId]; 47055 var PascalCaseId = capitalize(camelizedId); 47056 if (hasOwn(assets, PascalCaseId)) 47057 return assets[PascalCaseId]; 47058 // fallback to prototype chain 47059 var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; 47060 if ( true && warnMissing && !res) { 47061 warn$2('Failed to resolve ' + type.slice(0, -1) + ': ' + id); 47062 } 47063 return res; 47064} 47065 47066function validateProp(key, propOptions, propsData, vm) { 47067 var prop = propOptions[key]; 47068 var absent = !hasOwn(propsData, key); 47069 var value = propsData[key]; 47070 // boolean casting 47071 var booleanIndex = getTypeIndex(Boolean, prop.type); 47072 if (booleanIndex > -1) { 47073 if (absent && !hasOwn(prop, 'default')) { 47074 value = false; 47075 } 47076 else if (value === '' || value === hyphenate(key)) { 47077 // only cast empty string / same name to boolean if 47078 // boolean has higher priority 47079 var stringIndex = getTypeIndex(String, prop.type); 47080 if (stringIndex < 0 || booleanIndex < stringIndex) { 47081 value = true; 47082 } 47083 } 47084 } 47085 // check default value 47086 if (value === undefined) { 47087 value = getPropDefaultValue(vm, prop, key); 47088 // since the default value is a fresh copy, 47089 // make sure to observe it. 47090 var prevShouldObserve = shouldObserve; 47091 toggleObserving(true); 47092 observe(value); 47093 toggleObserving(prevShouldObserve); 47094 } 47095 if (true) { 47096 assertProp(prop, key, value, vm, absent); 47097 } 47098 return value; 47099} 47100/** 47101 * Get the default value of a prop. 47102 */ 47103function getPropDefaultValue(vm, prop, key) { 47104 // no default, return undefined 47105 if (!hasOwn(prop, 'default')) { 47106 return undefined; 47107 } 47108 var def = prop.default; 47109 // warn against non-factory defaults for Object & Array 47110 if ( true && isObject(def)) { 47111 warn$2('Invalid default value for prop "' + 47112 key + 47113 '": ' + 47114 'Props with type Object/Array must use a factory function ' + 47115 'to return the default value.', vm); 47116 } 47117 // the raw prop value was also undefined from previous render, 47118 // return previous default value to avoid unnecessary watcher trigger 47119 if (vm && 47120 vm.$options.propsData && 47121 vm.$options.propsData[key] === undefined && 47122 vm._props[key] !== undefined) { 47123 return vm._props[key]; 47124 } 47125 // call factory function for non-Function types 47126 // a value is Function if its prototype is function even across different execution context 47127 return isFunction(def) && getType(prop.type) !== 'Function' 47128 ? def.call(vm) 47129 : def; 47130} 47131/** 47132 * Assert whether a prop is valid. 47133 */ 47134function assertProp(prop, name, value, vm, absent) { 47135 if (prop.required && absent) { 47136 warn$2('Missing required prop: "' + name + '"', vm); 47137 return; 47138 } 47139 if (value == null && !prop.required) { 47140 return; 47141 } 47142 var type = prop.type; 47143 var valid = !type || type === true; 47144 var expectedTypes = []; 47145 if (type) { 47146 if (!isArray(type)) { 47147 type = [type]; 47148 } 47149 for (var i = 0; i < type.length && !valid; i++) { 47150 var assertedType = assertType(value, type[i], vm); 47151 expectedTypes.push(assertedType.expectedType || ''); 47152 valid = assertedType.valid; 47153 } 47154 } 47155 var haveExpectedTypes = expectedTypes.some(function (t) { return t; }); 47156 if (!valid && haveExpectedTypes) { 47157 warn$2(getInvalidTypeMessage(name, value, expectedTypes), vm); 47158 return; 47159 } 47160 var validator = prop.validator; 47161 if (validator) { 47162 if (!validator(value)) { 47163 warn$2('Invalid prop: custom validator check failed for prop "' + name + '".', vm); 47164 } 47165 } 47166} 47167var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/; 47168function assertType(value, type, vm) { 47169 var valid; 47170 var expectedType = getType(type); 47171 if (simpleCheckRE.test(expectedType)) { 47172 var t = typeof value; 47173 valid = t === expectedType.toLowerCase(); 47174 // for primitive wrapper objects 47175 if (!valid && t === 'object') { 47176 valid = value instanceof type; 47177 } 47178 } 47179 else if (expectedType === 'Object') { 47180 valid = isPlainObject(value); 47181 } 47182 else if (expectedType === 'Array') { 47183 valid = isArray(value); 47184 } 47185 else { 47186 try { 47187 valid = value instanceof type; 47188 } 47189 catch (e) { 47190 warn$2('Invalid prop type: "' + String(type) + '" is not a constructor', vm); 47191 valid = false; 47192 } 47193 } 47194 return { 47195 valid: valid, 47196 expectedType: expectedType 47197 }; 47198} 47199var functionTypeCheckRE = /^\s*function (\w+)/; 47200/** 47201 * Use function string name to check built-in types, 47202 * because a simple equality check will fail when running 47203 * across different vms / iframes. 47204 */ 47205function getType(fn) { 47206 var match = fn && fn.toString().match(functionTypeCheckRE); 47207 return match ? match[1] : ''; 47208} 47209function isSameType(a, b) { 47210 return getType(a) === getType(b); 47211} 47212function getTypeIndex(type, expectedTypes) { 47213 if (!isArray(expectedTypes)) { 47214 return isSameType(expectedTypes, type) ? 0 : -1; 47215 } 47216 for (var i = 0, len = expectedTypes.length; i < len; i++) { 47217 if (isSameType(expectedTypes[i], type)) { 47218 return i; 47219 } 47220 } 47221 return -1; 47222} 47223function getInvalidTypeMessage(name, value, expectedTypes) { 47224 var message = "Invalid prop: type check failed for prop \"".concat(name, "\".") + 47225 " Expected ".concat(expectedTypes.map(capitalize).join(', ')); 47226 var expectedType = expectedTypes[0]; 47227 var receivedType = toRawType(value); 47228 // check if we need to specify expected value 47229 if (expectedTypes.length === 1 && 47230 isExplicable(expectedType) && 47231 isExplicable(typeof value) && 47232 !isBoolean(expectedType, receivedType)) { 47233 message += " with value ".concat(styleValue(value, expectedType)); 47234 } 47235 message += ", got ".concat(receivedType, " "); 47236 // check if we need to specify received value 47237 if (isExplicable(receivedType)) { 47238 message += "with value ".concat(styleValue(value, receivedType), "."); 47239 } 47240 return message; 47241} 47242function styleValue(value, type) { 47243 if (type === 'String') { 47244 return "\"".concat(value, "\""); 47245 } 47246 else if (type === 'Number') { 47247 return "".concat(Number(value)); 47248 } 47249 else { 47250 return "".concat(value); 47251 } 47252} 47253var EXPLICABLE_TYPES = ['string', 'number', 'boolean']; 47254function isExplicable(value) { 47255 return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; }); 47256} 47257function isBoolean() { 47258 var args = []; 47259 for (var _i = 0; _i < arguments.length; _i++) { 47260 args[_i] = arguments[_i]; 47261 } 47262 return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }); 47263} 47264 47265function Vue(options) { 47266 if ( true && !(this instanceof Vue)) { 47267 warn$2('Vue is a constructor and should be called with the `new` keyword'); 47268 } 47269 this._init(options); 47270} 47271//@ts-expect-error Vue has function type 47272initMixin$1(Vue); 47273//@ts-expect-error Vue has function type 47274stateMixin(Vue); 47275//@ts-expect-error Vue has function type 47276eventsMixin(Vue); 47277//@ts-expect-error Vue has function type 47278lifecycleMixin(Vue); 47279//@ts-expect-error Vue has function type 47280renderMixin(Vue); 47281 47282function initUse(Vue) { 47283 Vue.use = function (plugin) { 47284 var installedPlugins = this._installedPlugins || (this._installedPlugins = []); 47285 if (installedPlugins.indexOf(plugin) > -1) { 47286 return this; 47287 } 47288 // additional parameters 47289 var args = toArray(arguments, 1); 47290 args.unshift(this); 47291 if (isFunction(plugin.install)) { 47292 plugin.install.apply(plugin, args); 47293 } 47294 else if (isFunction(plugin)) { 47295 plugin.apply(null, args); 47296 } 47297 installedPlugins.push(plugin); 47298 return this; 47299 }; 47300} 47301 47302function initMixin(Vue) { 47303 Vue.mixin = function (mixin) { 47304 this.options = mergeOptions(this.options, mixin); 47305 return this; 47306 }; 47307} 47308 47309function initExtend(Vue) { 47310 /** 47311 * Each instance constructor, including Vue, has a unique 47312 * cid. This enables us to create wrapped "child 47313 * constructors" for prototypal inheritance and cache them. 47314 */ 47315 Vue.cid = 0; 47316 var cid = 1; 47317 /** 47318 * Class inheritance 47319 */ 47320 Vue.extend = function (extendOptions) { 47321 extendOptions = extendOptions || {}; 47322 var Super = this; 47323 var SuperId = Super.cid; 47324 var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {}); 47325 if (cachedCtors[SuperId]) { 47326 return cachedCtors[SuperId]; 47327 } 47328 var name = getComponentName(extendOptions) || getComponentName(Super.options); 47329 if ( true && name) { 47330 validateComponentName(name); 47331 } 47332 var Sub = function VueComponent(options) { 47333 this._init(options); 47334 }; 47335 Sub.prototype = Object.create(Super.prototype); 47336 Sub.prototype.constructor = Sub; 47337 Sub.cid = cid++; 47338 Sub.options = mergeOptions(Super.options, extendOptions); 47339 Sub['super'] = Super; 47340 // For props and computed properties, we define the proxy getters on 47341 // the Vue instances at extension time, on the extended prototype. This 47342 // avoids Object.defineProperty calls for each instance created. 47343 if (Sub.options.props) { 47344 initProps(Sub); 47345 } 47346 if (Sub.options.computed) { 47347 initComputed(Sub); 47348 } 47349 // allow further extension/mixin/plugin usage 47350 Sub.extend = Super.extend; 47351 Sub.mixin = Super.mixin; 47352 Sub.use = Super.use; 47353 // create asset registers, so extended classes 47354 // can have their private assets too. 47355 ASSET_TYPES.forEach(function (type) { 47356 Sub[type] = Super[type]; 47357 }); 47358 // enable recursive self-lookup 47359 if (name) { 47360 Sub.options.components[name] = Sub; 47361 } 47362 // keep a reference to the super options at extension time. 47363 // later at instantiation we can check if Super's options have 47364 // been updated. 47365 Sub.superOptions = Super.options; 47366 Sub.extendOptions = extendOptions; 47367 Sub.sealedOptions = extend({}, Sub.options); 47368 // cache constructor 47369 cachedCtors[SuperId] = Sub; 47370 return Sub; 47371 }; 47372} 47373function initProps(Comp) { 47374 var props = Comp.options.props; 47375 for (var key in props) { 47376 proxy(Comp.prototype, "_props", key); 47377 } 47378} 47379function initComputed(Comp) { 47380 var computed = Comp.options.computed; 47381 for (var key in computed) { 47382 defineComputed(Comp.prototype, key, computed[key]); 47383 } 47384} 47385 47386function initAssetRegisters(Vue) { 47387 /** 47388 * Create asset registration methods. 47389 */ 47390 ASSET_TYPES.forEach(function (type) { 47391 // @ts-expect-error function is not exact same type 47392 Vue[type] = function (id, definition) { 47393 if (!definition) { 47394 return this.options[type + 's'][id]; 47395 } 47396 else { 47397 /* istanbul ignore if */ 47398 if ( true && type === 'component') { 47399 validateComponentName(id); 47400 } 47401 if (type === 'component' && isPlainObject(definition)) { 47402 // @ts-expect-error 47403 definition.name = definition.name || id; 47404 definition = this.options._base.extend(definition); 47405 } 47406 if (type === 'directive' && isFunction(definition)) { 47407 definition = { bind: definition, update: definition }; 47408 } 47409 this.options[type + 's'][id] = definition; 47410 return definition; 47411 } 47412 }; 47413 }); 47414} 47415 47416function _getComponentName(opts) { 47417 return opts && (getComponentName(opts.Ctor.options) || opts.tag); 47418} 47419function matches(pattern, name) { 47420 if (isArray(pattern)) { 47421 return pattern.indexOf(name) > -1; 47422 } 47423 else if (typeof pattern === 'string') { 47424 return pattern.split(',').indexOf(name) > -1; 47425 } 47426 else if (isRegExp(pattern)) { 47427 return pattern.test(name); 47428 } 47429 /* istanbul ignore next */ 47430 return false; 47431} 47432function pruneCache(keepAliveInstance, filter) { 47433 var cache = keepAliveInstance.cache, keys = keepAliveInstance.keys, _vnode = keepAliveInstance._vnode; 47434 for (var key in cache) { 47435 var entry = cache[key]; 47436 if (entry) { 47437 var name_1 = entry.name; 47438 if (name_1 && !filter(name_1)) { 47439 pruneCacheEntry(cache, key, keys, _vnode); 47440 } 47441 } 47442 } 47443} 47444function pruneCacheEntry(cache, key, keys, current) { 47445 var entry = cache[key]; 47446 if (entry && (!current || entry.tag !== current.tag)) { 47447 // @ts-expect-error can be undefined 47448 entry.componentInstance.$destroy(); 47449 } 47450 cache[key] = null; 47451 remove$2(keys, key); 47452} 47453var patternTypes = [String, RegExp, Array]; 47454// TODO defineComponent 47455var KeepAlive = { 47456 name: 'keep-alive', 47457 abstract: true, 47458 props: { 47459 include: patternTypes, 47460 exclude: patternTypes, 47461 max: [String, Number] 47462 }, 47463 methods: { 47464 cacheVNode: function () { 47465 var _a = this, cache = _a.cache, keys = _a.keys, vnodeToCache = _a.vnodeToCache, keyToCache = _a.keyToCache; 47466 if (vnodeToCache) { 47467 var tag = vnodeToCache.tag, componentInstance = vnodeToCache.componentInstance, componentOptions = vnodeToCache.componentOptions; 47468 cache[keyToCache] = { 47469 name: _getComponentName(componentOptions), 47470 tag: tag, 47471 componentInstance: componentInstance 47472 }; 47473 keys.push(keyToCache); 47474 // prune oldest entry 47475 if (this.max && keys.length > parseInt(this.max)) { 47476 pruneCacheEntry(cache, keys[0], keys, this._vnode); 47477 } 47478 this.vnodeToCache = null; 47479 } 47480 } 47481 }, 47482 created: function () { 47483 this.cache = Object.create(null); 47484 this.keys = []; 47485 }, 47486 destroyed: function () { 47487 for (var key in this.cache) { 47488 pruneCacheEntry(this.cache, key, this.keys); 47489 } 47490 }, 47491 mounted: function () { 47492 var _this = this; 47493 this.cacheVNode(); 47494 this.$watch('include', function (val) { 47495 pruneCache(_this, function (name) { return matches(val, name); }); 47496 }); 47497 this.$watch('exclude', function (val) { 47498 pruneCache(_this, function (name) { return !matches(val, name); }); 47499 }); 47500 }, 47501 updated: function () { 47502 this.cacheVNode(); 47503 }, 47504 render: function () { 47505 var slot = this.$slots.default; 47506 var vnode = getFirstComponentChild(slot); 47507 var componentOptions = vnode && vnode.componentOptions; 47508 if (componentOptions) { 47509 // check pattern 47510 var name_2 = _getComponentName(componentOptions); 47511 var _a = this, include = _a.include, exclude = _a.exclude; 47512 if ( 47513 // not included 47514 (include && (!name_2 || !matches(include, name_2))) || 47515 // excluded 47516 (exclude && name_2 && matches(exclude, name_2))) { 47517 return vnode; 47518 } 47519 var _b = this, cache = _b.cache, keys = _b.keys; 47520 var key = vnode.key == null 47521 ? // same constructor may get registered as different local components 47522 // so cid alone is not enough (#3269) 47523 componentOptions.Ctor.cid + 47524 (componentOptions.tag ? "::".concat(componentOptions.tag) : '') 47525 : vnode.key; 47526 if (cache[key]) { 47527 vnode.componentInstance = cache[key].componentInstance; 47528 // make current key freshest 47529 remove$2(keys, key); 47530 keys.push(key); 47531 } 47532 else { 47533 // delay setting the cache until update 47534 this.vnodeToCache = vnode; 47535 this.keyToCache = key; 47536 } 47537 // @ts-expect-error can vnode.data can be undefined 47538 vnode.data.keepAlive = true; 47539 } 47540 return vnode || (slot && slot[0]); 47541 } 47542}; 47543 47544var builtInComponents = { 47545 KeepAlive: KeepAlive 47546}; 47547 47548function initGlobalAPI(Vue) { 47549 // config 47550 var configDef = {}; 47551 configDef.get = function () { return config; }; 47552 if (true) { 47553 configDef.set = function () { 47554 warn$2('Do not replace the Vue.config object, set individual fields instead.'); 47555 }; 47556 } 47557 Object.defineProperty(Vue, 'config', configDef); 47558 // exposed util methods. 47559 // NOTE: these are not considered part of the public API - avoid relying on 47560 // them unless you are aware of the risk. 47561 Vue.util = { 47562 warn: warn$2, 47563 extend: extend, 47564 mergeOptions: mergeOptions, 47565 defineReactive: defineReactive 47566 }; 47567 Vue.set = set; 47568 Vue.delete = del; 47569 Vue.nextTick = nextTick; 47570 // 2.6 explicit observable API 47571 Vue.observable = function (obj) { 47572 observe(obj); 47573 return obj; 47574 }; 47575 Vue.options = Object.create(null); 47576 ASSET_TYPES.forEach(function (type) { 47577 Vue.options[type + 's'] = Object.create(null); 47578 }); 47579 // this is used to identify the "base" constructor to extend all plain-object 47580 // components with in Weex's multi-instance scenarios. 47581 Vue.options._base = Vue; 47582 extend(Vue.options.components, builtInComponents); 47583 initUse(Vue); 47584 initMixin(Vue); 47585 initExtend(Vue); 47586 initAssetRegisters(Vue); 47587} 47588 47589initGlobalAPI(Vue); 47590Object.defineProperty(Vue.prototype, '$isServer', { 47591 get: isServerRendering 47592}); 47593Object.defineProperty(Vue.prototype, '$ssrContext', { 47594 get: function () { 47595 /* istanbul ignore next */ 47596 return this.$vnode && this.$vnode.ssrContext; 47597 } 47598}); 47599// expose FunctionalRenderContext for ssr runtime helper installation 47600Object.defineProperty(Vue, 'FunctionalRenderContext', { 47601 value: FunctionalRenderContext 47602}); 47603Vue.version = version; 47604 47605// these are reserved for web because they are directly compiled away 47606// during template compilation 47607var isReservedAttr = makeMap('style,class'); 47608// attributes that should be using props for binding 47609var acceptValue = makeMap('input,textarea,option,select,progress'); 47610var mustUseProp = function (tag, type, attr) { 47611 return ((attr === 'value' && acceptValue(tag) && type !== 'button') || 47612 (attr === 'selected' && tag === 'option') || 47613 (attr === 'checked' && tag === 'input') || 47614 (attr === 'muted' && tag === 'video')); 47615}; 47616var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck'); 47617var isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only'); 47618var convertEnumeratedValue = function (key, value) { 47619 return isFalsyAttrValue(value) || value === 'false' 47620 ? 'false' 47621 : // allow arbitrary string value for contenteditable 47622 key === 'contenteditable' && isValidContentEditableValue(value) 47623 ? value 47624 : 'true'; 47625}; 47626var isBooleanAttr = makeMap('allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' + 47627 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' + 47628 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' + 47629 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' + 47630 'required,reversed,scoped,seamless,selected,sortable,' + 47631 'truespeed,typemustmatch,visible'); 47632var xlinkNS = 'http://www.w3.org/1999/xlink'; 47633var isXlink = function (name) { 47634 return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'; 47635}; 47636var getXlinkProp = function (name) { 47637 return isXlink(name) ? name.slice(6, name.length) : ''; 47638}; 47639var isFalsyAttrValue = function (val) { 47640 return val == null || val === false; 47641}; 47642 47643function genClassForVnode(vnode) { 47644 var data = vnode.data; 47645 var parentNode = vnode; 47646 var childNode = vnode; 47647 while (isDef(childNode.componentInstance)) { 47648 childNode = childNode.componentInstance._vnode; 47649 if (childNode && childNode.data) { 47650 data = mergeClassData(childNode.data, data); 47651 } 47652 } 47653 // @ts-expect-error parentNode.parent not VNodeWithData 47654 while (isDef((parentNode = parentNode.parent))) { 47655 if (parentNode && parentNode.data) { 47656 data = mergeClassData(data, parentNode.data); 47657 } 47658 } 47659 return renderClass(data.staticClass, data.class); 47660} 47661function mergeClassData(child, parent) { 47662 return { 47663 staticClass: concat(child.staticClass, parent.staticClass), 47664 class: isDef(child.class) ? [child.class, parent.class] : parent.class 47665 }; 47666} 47667function renderClass(staticClass, dynamicClass) { 47668 if (isDef(staticClass) || isDef(dynamicClass)) { 47669 return concat(staticClass, stringifyClass(dynamicClass)); 47670 } 47671 /* istanbul ignore next */ 47672 return ''; 47673} 47674function concat(a, b) { 47675 return a ? (b ? a + ' ' + b : a) : b || ''; 47676} 47677function stringifyClass(value) { 47678 if (Array.isArray(value)) { 47679 return stringifyArray(value); 47680 } 47681 if (isObject(value)) { 47682 return stringifyObject(value); 47683 } 47684 if (typeof value === 'string') { 47685 return value; 47686 } 47687 /* istanbul ignore next */ 47688 return ''; 47689} 47690function stringifyArray(value) { 47691 var res = ''; 47692 var stringified; 47693 for (var i = 0, l = value.length; i < l; i++) { 47694 if (isDef((stringified = stringifyClass(value[i]))) && stringified !== '') { 47695 if (res) 47696 res += ' '; 47697 res += stringified; 47698 } 47699 } 47700 return res; 47701} 47702function stringifyObject(value) { 47703 var res = ''; 47704 for (var key in value) { 47705 if (value[key]) { 47706 if (res) 47707 res += ' '; 47708 res += key; 47709 } 47710 } 47711 return res; 47712} 47713 47714var namespaceMap = { 47715 svg: 'http://www.w3.org/2000/svg', 47716 math: 'http://www.w3.org/1998/Math/MathML' 47717}; 47718var isHTMLTag = makeMap('html,body,base,head,link,meta,style,title,' + 47719 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' + 47720 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' + 47721 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' + 47722 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' + 47723 'embed,object,param,source,canvas,script,noscript,del,ins,' + 47724 'caption,col,colgroup,table,thead,tbody,td,th,tr,' + 47725 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' + 47726 'output,progress,select,textarea,' + 47727 'details,dialog,menu,menuitem,summary,' + 47728 'content,element,shadow,template,blockquote,iframe,tfoot'); 47729// this map is intentionally selective, only covering SVG elements that may 47730// contain child elements. 47731var isSVG = makeMap('svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' + 47732 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' + 47733 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', true); 47734var isPreTag = function (tag) { return tag === 'pre'; }; 47735var isReservedTag = function (tag) { 47736 return isHTMLTag(tag) || isSVG(tag); 47737}; 47738function getTagNamespace(tag) { 47739 if (isSVG(tag)) { 47740 return 'svg'; 47741 } 47742 // basic support for MathML 47743 // note it doesn't support other MathML elements being component roots 47744 if (tag === 'math') { 47745 return 'math'; 47746 } 47747} 47748var unknownElementCache = Object.create(null); 47749function isUnknownElement(tag) { 47750 /* istanbul ignore if */ 47751 if (!inBrowser) { 47752 return true; 47753 } 47754 if (isReservedTag(tag)) { 47755 return false; 47756 } 47757 tag = tag.toLowerCase(); 47758 /* istanbul ignore if */ 47759 if (unknownElementCache[tag] != null) { 47760 return unknownElementCache[tag]; 47761 } 47762 var el = document.createElement(tag); 47763 if (tag.indexOf('-') > -1) { 47764 // http://stackoverflow.com/a/28210364/1070244 47765 return (unknownElementCache[tag] = 47766 el.constructor === window.HTMLUnknownElement || 47767 el.constructor === window.HTMLElement); 47768 } 47769 else { 47770 return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString())); 47771 } 47772} 47773var isTextInputType = makeMap('text,number,password,search,email,tel,url'); 47774 47775/** 47776 * Query an element selector if it's not an element already. 47777 */ 47778function query(el) { 47779 if (typeof el === 'string') { 47780 var selected = document.querySelector(el); 47781 if (!selected) { 47782 true && warn$2('Cannot find element: ' + el); 47783 return document.createElement('div'); 47784 } 47785 return selected; 47786 } 47787 else { 47788 return el; 47789 } 47790} 47791 47792function createElement(tagName, vnode) { 47793 var elm = document.createElement(tagName); 47794 if (tagName !== 'select') { 47795 return elm; 47796 } 47797 // false or null will remove the attribute but undefined will not 47798 if (vnode.data && 47799 vnode.data.attrs && 47800 vnode.data.attrs.multiple !== undefined) { 47801 elm.setAttribute('multiple', 'multiple'); 47802 } 47803 return elm; 47804} 47805function createElementNS(namespace, tagName) { 47806 return document.createElementNS(namespaceMap[namespace], tagName); 47807} 47808function createTextNode(text) { 47809 return document.createTextNode(text); 47810} 47811function createComment(text) { 47812 return document.createComment(text); 47813} 47814function insertBefore(parentNode, newNode, referenceNode) { 47815 parentNode.insertBefore(newNode, referenceNode); 47816} 47817function removeChild(node, child) { 47818 node.removeChild(child); 47819} 47820function appendChild(node, child) { 47821 node.appendChild(child); 47822} 47823function parentNode(node) { 47824 return node.parentNode; 47825} 47826function nextSibling(node) { 47827 return node.nextSibling; 47828} 47829function tagName(node) { 47830 return node.tagName; 47831} 47832function setTextContent(node, text) { 47833 node.textContent = text; 47834} 47835function setStyleScope(node, scopeId) { 47836 node.setAttribute(scopeId, ''); 47837} 47838 47839var nodeOps = /*#__PURE__*/Object.freeze({ 47840 __proto__: null, 47841 createElement: createElement, 47842 createElementNS: createElementNS, 47843 createTextNode: createTextNode, 47844 createComment: createComment, 47845 insertBefore: insertBefore, 47846 removeChild: removeChild, 47847 appendChild: appendChild, 47848 parentNode: parentNode, 47849 nextSibling: nextSibling, 47850 tagName: tagName, 47851 setTextContent: setTextContent, 47852 setStyleScope: setStyleScope 47853}); 47854 47855var ref = { 47856 create: function (_, vnode) { 47857 registerRef(vnode); 47858 }, 47859 update: function (oldVnode, vnode) { 47860 if (oldVnode.data.ref !== vnode.data.ref) { 47861 registerRef(oldVnode, true); 47862 registerRef(vnode); 47863 } 47864 }, 47865 destroy: function (vnode) { 47866 registerRef(vnode, true); 47867 } 47868}; 47869function registerRef(vnode, isRemoval) { 47870 var ref = vnode.data.ref; 47871 if (!isDef(ref)) 47872 return; 47873 var vm = vnode.context; 47874 var refValue = vnode.componentInstance || vnode.elm; 47875 var value = isRemoval ? null : refValue; 47876 var $refsValue = isRemoval ? undefined : refValue; 47877 if (isFunction(ref)) { 47878 invokeWithErrorHandling(ref, vm, [value], vm, "template ref function"); 47879 return; 47880 } 47881 var isFor = vnode.data.refInFor; 47882 var _isString = typeof ref === 'string' || typeof ref === 'number'; 47883 var _isRef = isRef(ref); 47884 var refs = vm.$refs; 47885 if (_isString || _isRef) { 47886 if (isFor) { 47887 var existing = _isString ? refs[ref] : ref.value; 47888 if (isRemoval) { 47889 isArray(existing) && remove$2(existing, refValue); 47890 } 47891 else { 47892 if (!isArray(existing)) { 47893 if (_isString) { 47894 refs[ref] = [refValue]; 47895 setSetupRef(vm, ref, refs[ref]); 47896 } 47897 else { 47898 ref.value = [refValue]; 47899 } 47900 } 47901 else if (!existing.includes(refValue)) { 47902 existing.push(refValue); 47903 } 47904 } 47905 } 47906 else if (_isString) { 47907 if (isRemoval && refs[ref] !== refValue) { 47908 return; 47909 } 47910 refs[ref] = $refsValue; 47911 setSetupRef(vm, ref, value); 47912 } 47913 else if (_isRef) { 47914 if (isRemoval && ref.value !== refValue) { 47915 return; 47916 } 47917 ref.value = value; 47918 } 47919 else if (true) { 47920 warn$2("Invalid template ref type: ".concat(typeof ref)); 47921 } 47922 } 47923} 47924function setSetupRef(_a, key, val) { 47925 var _setupState = _a._setupState; 47926 if (_setupState && hasOwn(_setupState, key)) { 47927 if (isRef(_setupState[key])) { 47928 _setupState[key].value = val; 47929 } 47930 else { 47931 _setupState[key] = val; 47932 } 47933 } 47934} 47935 47936/** 47937 * Virtual DOM patching algorithm based on Snabbdom by 47938 * Simon Friis Vindum (@paldepind) 47939 * Licensed under the MIT License 47940 * https://github.com/paldepind/snabbdom/blob/master/LICENSE 47941 * 47942 * modified by Evan You (@yyx990803) 47943 * 47944 * Not type-checking this because this file is perf-critical and the cost 47945 * of making flow understand it is not worth it. 47946 */ 47947var emptyNode = new VNode('', {}, []); 47948var hooks = ['create', 'activate', 'update', 'remove', 'destroy']; 47949function sameVnode(a, b) { 47950 return (a.key === b.key && 47951 a.asyncFactory === b.asyncFactory && 47952 ((a.tag === b.tag && 47953 a.isComment === b.isComment && 47954 isDef(a.data) === isDef(b.data) && 47955 sameInputType(a, b)) || 47956 (isTrue(a.isAsyncPlaceholder) && isUndef(b.asyncFactory.error)))); 47957} 47958function sameInputType(a, b) { 47959 if (a.tag !== 'input') 47960 return true; 47961 var i; 47962 var typeA = isDef((i = a.data)) && isDef((i = i.attrs)) && i.type; 47963 var typeB = isDef((i = b.data)) && isDef((i = i.attrs)) && i.type; 47964 return typeA === typeB || (isTextInputType(typeA) && isTextInputType(typeB)); 47965} 47966function createKeyToOldIdx(children, beginIdx, endIdx) { 47967 var i, key; 47968 var map = {}; 47969 for (i = beginIdx; i <= endIdx; ++i) { 47970 key = children[i].key; 47971 if (isDef(key)) 47972 map[key] = i; 47973 } 47974 return map; 47975} 47976function createPatchFunction(backend) { 47977 var i, j; 47978 var cbs = {}; 47979 var modules = backend.modules, nodeOps = backend.nodeOps; 47980 for (i = 0; i < hooks.length; ++i) { 47981 cbs[hooks[i]] = []; 47982 for (j = 0; j < modules.length; ++j) { 47983 if (isDef(modules[j][hooks[i]])) { 47984 cbs[hooks[i]].push(modules[j][hooks[i]]); 47985 } 47986 } 47987 } 47988 function emptyNodeAt(elm) { 47989 return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm); 47990 } 47991 function createRmCb(childElm, listeners) { 47992 function remove() { 47993 if (--remove.listeners === 0) { 47994 removeNode(childElm); 47995 } 47996 } 47997 remove.listeners = listeners; 47998 return remove; 47999 } 48000 function removeNode(el) { 48001 var parent = nodeOps.parentNode(el); 48002 // element may have already been removed due to v-html / v-text 48003 if (isDef(parent)) { 48004 nodeOps.removeChild(parent, el); 48005 } 48006 } 48007 function isUnknownElement(vnode, inVPre) { 48008 return (!inVPre && 48009 !vnode.ns && 48010 !(config.ignoredElements.length && 48011 config.ignoredElements.some(function (ignore) { 48012 return isRegExp(ignore) 48013 ? ignore.test(vnode.tag) 48014 : ignore === vnode.tag; 48015 })) && 48016 config.isUnknownElement(vnode.tag)); 48017 } 48018 var creatingElmInVPre = 0; 48019 function createElm(vnode, insertedVnodeQueue, parentElm, refElm, nested, ownerArray, index) { 48020 if (isDef(vnode.elm) && isDef(ownerArray)) { 48021 // This vnode was used in a previous render! 48022 // now it's used as a new node, overwriting its elm would cause 48023 // potential patch errors down the road when it's used as an insertion 48024 // reference node. Instead, we clone the node on-demand before creating 48025 // associated DOM element for it. 48026 vnode = ownerArray[index] = cloneVNode(vnode); 48027 } 48028 vnode.isRootInsert = !nested; // for transition enter check 48029 if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) { 48030 return; 48031 } 48032 var data = vnode.data; 48033 var children = vnode.children; 48034 var tag = vnode.tag; 48035 if (isDef(tag)) { 48036 if (true) { 48037 if (data && data.pre) { 48038 creatingElmInVPre++; 48039 } 48040 if (isUnknownElement(vnode, creatingElmInVPre)) { 48041 warn$2('Unknown custom element: <' + 48042 tag + 48043 '> - did you ' + 48044 'register the component correctly? For recursive components, ' + 48045 'make sure to provide the "name" option.', vnode.context); 48046 } 48047 } 48048 vnode.elm = vnode.ns 48049 ? nodeOps.createElementNS(vnode.ns, tag) 48050 : nodeOps.createElement(tag, vnode); 48051 setScope(vnode); 48052 createChildren(vnode, children, insertedVnodeQueue); 48053 if (isDef(data)) { 48054 invokeCreateHooks(vnode, insertedVnodeQueue); 48055 } 48056 insert(parentElm, vnode.elm, refElm); 48057 if ( true && data && data.pre) { 48058 creatingElmInVPre--; 48059 } 48060 } 48061 else if (isTrue(vnode.isComment)) { 48062 vnode.elm = nodeOps.createComment(vnode.text); 48063 insert(parentElm, vnode.elm, refElm); 48064 } 48065 else { 48066 vnode.elm = nodeOps.createTextNode(vnode.text); 48067 insert(parentElm, vnode.elm, refElm); 48068 } 48069 } 48070 function createComponent(vnode, insertedVnodeQueue, parentElm, refElm) { 48071 var i = vnode.data; 48072 if (isDef(i)) { 48073 var isReactivated = isDef(vnode.componentInstance) && i.keepAlive; 48074 if (isDef((i = i.hook)) && isDef((i = i.init))) { 48075 i(vnode, false /* hydrating */); 48076 } 48077 // after calling the init hook, if the vnode is a child component 48078 // it should've created a child instance and mounted it. the child 48079 // component also has set the placeholder vnode's elm. 48080 // in that case we can just return the element and be done. 48081 if (isDef(vnode.componentInstance)) { 48082 initComponent(vnode, insertedVnodeQueue); 48083 insert(parentElm, vnode.elm, refElm); 48084 if (isTrue(isReactivated)) { 48085 reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm); 48086 } 48087 return true; 48088 } 48089 } 48090 } 48091 function initComponent(vnode, insertedVnodeQueue) { 48092 if (isDef(vnode.data.pendingInsert)) { 48093 insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert); 48094 vnode.data.pendingInsert = null; 48095 } 48096 vnode.elm = vnode.componentInstance.$el; 48097 if (isPatchable(vnode)) { 48098 invokeCreateHooks(vnode, insertedVnodeQueue); 48099 setScope(vnode); 48100 } 48101 else { 48102 // empty component root. 48103 // skip all element-related modules except for ref (#3455) 48104 registerRef(vnode); 48105 // make sure to invoke the insert hook 48106 insertedVnodeQueue.push(vnode); 48107 } 48108 } 48109 function reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm) { 48110 var i; 48111 // hack for #4339: a reactivated component with inner transition 48112 // does not trigger because the inner node's created hooks are not called 48113 // again. It's not ideal to involve module-specific logic in here but 48114 // there doesn't seem to be a better way to do it. 48115 var innerNode = vnode; 48116 while (innerNode.componentInstance) { 48117 innerNode = innerNode.componentInstance._vnode; 48118 if (isDef((i = innerNode.data)) && isDef((i = i.transition))) { 48119 for (i = 0; i < cbs.activate.length; ++i) { 48120 cbs.activate[i](emptyNode, innerNode); 48121 } 48122 insertedVnodeQueue.push(innerNode); 48123 break; 48124 } 48125 } 48126 // unlike a newly created component, 48127 // a reactivated keep-alive component doesn't insert itself 48128 insert(parentElm, vnode.elm, refElm); 48129 } 48130 function insert(parent, elm, ref) { 48131 if (isDef(parent)) { 48132 if (isDef(ref)) { 48133 if (nodeOps.parentNode(ref) === parent) { 48134 nodeOps.insertBefore(parent, elm, ref); 48135 } 48136 } 48137 else { 48138 nodeOps.appendChild(parent, elm); 48139 } 48140 } 48141 } 48142 function createChildren(vnode, children, insertedVnodeQueue) { 48143 if (isArray(children)) { 48144 if (true) { 48145 checkDuplicateKeys(children); 48146 } 48147 for (var i_1 = 0; i_1 < children.length; ++i_1) { 48148 createElm(children[i_1], insertedVnodeQueue, vnode.elm, null, true, children, i_1); 48149 } 48150 } 48151 else if (isPrimitive(vnode.text)) { 48152 nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text))); 48153 } 48154 } 48155 function isPatchable(vnode) { 48156 while (vnode.componentInstance) { 48157 vnode = vnode.componentInstance._vnode; 48158 } 48159 return isDef(vnode.tag); 48160 } 48161 function invokeCreateHooks(vnode, insertedVnodeQueue) { 48162 for (var i_2 = 0; i_2 < cbs.create.length; ++i_2) { 48163 cbs.create[i_2](emptyNode, vnode); 48164 } 48165 i = vnode.data.hook; // Reuse variable 48166 if (isDef(i)) { 48167 if (isDef(i.create)) 48168 i.create(emptyNode, vnode); 48169 if (isDef(i.insert)) 48170 insertedVnodeQueue.push(vnode); 48171 } 48172 } 48173 // set scope id attribute for scoped CSS. 48174 // this is implemented as a special case to avoid the overhead 48175 // of going through the normal attribute patching process. 48176 function setScope(vnode) { 48177 var i; 48178 if (isDef((i = vnode.fnScopeId))) { 48179 nodeOps.setStyleScope(vnode.elm, i); 48180 } 48181 else { 48182 var ancestor = vnode; 48183 while (ancestor) { 48184 if (isDef((i = ancestor.context)) && isDef((i = i.$options._scopeId))) { 48185 nodeOps.setStyleScope(vnode.elm, i); 48186 } 48187 ancestor = ancestor.parent; 48188 } 48189 } 48190 // for slot content they should also get the scopeId from the host instance. 48191 if (isDef((i = activeInstance)) && 48192 i !== vnode.context && 48193 i !== vnode.fnContext && 48194 isDef((i = i.$options._scopeId))) { 48195 nodeOps.setStyleScope(vnode.elm, i); 48196 } 48197 } 48198 function addVnodes(parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) { 48199 for (; startIdx <= endIdx; ++startIdx) { 48200 createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx); 48201 } 48202 } 48203 function invokeDestroyHook(vnode) { 48204 var i, j; 48205 var data = vnode.data; 48206 if (isDef(data)) { 48207 if (isDef((i = data.hook)) && isDef((i = i.destroy))) 48208 i(vnode); 48209 for (i = 0; i < cbs.destroy.length; ++i) 48210 cbs.destroy[i](vnode); 48211 } 48212 if (isDef((i = vnode.children))) { 48213 for (j = 0; j < vnode.children.length; ++j) { 48214 invokeDestroyHook(vnode.children[j]); 48215 } 48216 } 48217 } 48218 function removeVnodes(vnodes, startIdx, endIdx) { 48219 for (; startIdx <= endIdx; ++startIdx) { 48220 var ch = vnodes[startIdx]; 48221 if (isDef(ch)) { 48222 if (isDef(ch.tag)) { 48223 removeAndInvokeRemoveHook(ch); 48224 invokeDestroyHook(ch); 48225 } 48226 else { 48227 // Text node 48228 removeNode(ch.elm); 48229 } 48230 } 48231 } 48232 } 48233 function removeAndInvokeRemoveHook(vnode, rm) { 48234 if (isDef(rm) || isDef(vnode.data)) { 48235 var i_3; 48236 var listeners = cbs.remove.length + 1; 48237 if (isDef(rm)) { 48238 // we have a recursively passed down rm callback 48239 // increase the listeners count 48240 rm.listeners += listeners; 48241 } 48242 else { 48243 // directly removing 48244 rm = createRmCb(vnode.elm, listeners); 48245 } 48246 // recursively invoke hooks on child component root node 48247 if (isDef((i_3 = vnode.componentInstance)) && 48248 isDef((i_3 = i_3._vnode)) && 48249 isDef(i_3.data)) { 48250 removeAndInvokeRemoveHook(i_3, rm); 48251 } 48252 for (i_3 = 0; i_3 < cbs.remove.length; ++i_3) { 48253 cbs.remove[i_3](vnode, rm); 48254 } 48255 if (isDef((i_3 = vnode.data.hook)) && isDef((i_3 = i_3.remove))) { 48256 i_3(vnode, rm); 48257 } 48258 else { 48259 rm(); 48260 } 48261 } 48262 else { 48263 removeNode(vnode.elm); 48264 } 48265 } 48266 function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) { 48267 var oldStartIdx = 0; 48268 var newStartIdx = 0; 48269 var oldEndIdx = oldCh.length - 1; 48270 var oldStartVnode = oldCh[0]; 48271 var oldEndVnode = oldCh[oldEndIdx]; 48272 var newEndIdx = newCh.length - 1; 48273 var newStartVnode = newCh[0]; 48274 var newEndVnode = newCh[newEndIdx]; 48275 var oldKeyToIdx, idxInOld, vnodeToMove, refElm; 48276 // removeOnly is a special flag used only by <transition-group> 48277 // to ensure removed elements stay in correct relative positions 48278 // during leaving transitions 48279 var canMove = !removeOnly; 48280 if (true) { 48281 checkDuplicateKeys(newCh); 48282 } 48283 while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { 48284 if (isUndef(oldStartVnode)) { 48285 oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left 48286 } 48287 else if (isUndef(oldEndVnode)) { 48288 oldEndVnode = oldCh[--oldEndIdx]; 48289 } 48290 else if (sameVnode(oldStartVnode, newStartVnode)) { 48291 patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); 48292 oldStartVnode = oldCh[++oldStartIdx]; 48293 newStartVnode = newCh[++newStartIdx]; 48294 } 48295 else if (sameVnode(oldEndVnode, newEndVnode)) { 48296 patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); 48297 oldEndVnode = oldCh[--oldEndIdx]; 48298 newEndVnode = newCh[--newEndIdx]; 48299 } 48300 else if (sameVnode(oldStartVnode, newEndVnode)) { 48301 // Vnode moved right 48302 patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx); 48303 canMove && 48304 nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm)); 48305 oldStartVnode = oldCh[++oldStartIdx]; 48306 newEndVnode = newCh[--newEndIdx]; 48307 } 48308 else if (sameVnode(oldEndVnode, newStartVnode)) { 48309 // Vnode moved left 48310 patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); 48311 canMove && 48312 nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm); 48313 oldEndVnode = oldCh[--oldEndIdx]; 48314 newStartVnode = newCh[++newStartIdx]; 48315 } 48316 else { 48317 if (isUndef(oldKeyToIdx)) 48318 oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); 48319 idxInOld = isDef(newStartVnode.key) 48320 ? oldKeyToIdx[newStartVnode.key] 48321 : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx); 48322 if (isUndef(idxInOld)) { 48323 // New element 48324 createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); 48325 } 48326 else { 48327 vnodeToMove = oldCh[idxInOld]; 48328 if (sameVnode(vnodeToMove, newStartVnode)) { 48329 patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx); 48330 oldCh[idxInOld] = undefined; 48331 canMove && 48332 nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm); 48333 } 48334 else { 48335 // same key but different element. treat as new element 48336 createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); 48337 } 48338 } 48339 newStartVnode = newCh[++newStartIdx]; 48340 } 48341 } 48342 if (oldStartIdx > oldEndIdx) { 48343 refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm; 48344 addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); 48345 } 48346 else if (newStartIdx > newEndIdx) { 48347 removeVnodes(oldCh, oldStartIdx, oldEndIdx); 48348 } 48349 } 48350 function checkDuplicateKeys(children) { 48351 var seenKeys = {}; 48352 for (var i_4 = 0; i_4 < children.length; i_4++) { 48353 var vnode = children[i_4]; 48354 var key = vnode.key; 48355 if (isDef(key)) { 48356 if (seenKeys[key]) { 48357 warn$2("Duplicate keys detected: '".concat(key, "'. This may cause an update error."), vnode.context); 48358 } 48359 else { 48360 seenKeys[key] = true; 48361 } 48362 } 48363 } 48364 } 48365 function findIdxInOld(node, oldCh, start, end) { 48366 for (var i_5 = start; i_5 < end; i_5++) { 48367 var c = oldCh[i_5]; 48368 if (isDef(c) && sameVnode(node, c)) 48369 return i_5; 48370 } 48371 } 48372 function patchVnode(oldVnode, vnode, insertedVnodeQueue, ownerArray, index, removeOnly) { 48373 if (oldVnode === vnode) { 48374 return; 48375 } 48376 if (isDef(vnode.elm) && isDef(ownerArray)) { 48377 // clone reused vnode 48378 vnode = ownerArray[index] = cloneVNode(vnode); 48379 } 48380 var elm = (vnode.elm = oldVnode.elm); 48381 if (isTrue(oldVnode.isAsyncPlaceholder)) { 48382 if (isDef(vnode.asyncFactory.resolved)) { 48383 hydrate(oldVnode.elm, vnode, insertedVnodeQueue); 48384 } 48385 else { 48386 vnode.isAsyncPlaceholder = true; 48387 } 48388 return; 48389 } 48390 // reuse element for static trees. 48391 // note we only do this if the vnode is cloned - 48392 // if the new node is not cloned it means the render functions have been 48393 // reset by the hot-reload-api and we need to do a proper re-render. 48394 if (isTrue(vnode.isStatic) && 48395 isTrue(oldVnode.isStatic) && 48396 vnode.key === oldVnode.key && 48397 (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))) { 48398 vnode.componentInstance = oldVnode.componentInstance; 48399 return; 48400 } 48401 var i; 48402 var data = vnode.data; 48403 if (isDef(data) && isDef((i = data.hook)) && isDef((i = i.prepatch))) { 48404 i(oldVnode, vnode); 48405 } 48406 var oldCh = oldVnode.children; 48407 var ch = vnode.children; 48408 if (isDef(data) && isPatchable(vnode)) { 48409 for (i = 0; i < cbs.update.length; ++i) 48410 cbs.update[i](oldVnode, vnode); 48411 if (isDef((i = data.hook)) && isDef((i = i.update))) 48412 i(oldVnode, vnode); 48413 } 48414 if (isUndef(vnode.text)) { 48415 if (isDef(oldCh) && isDef(ch)) { 48416 if (oldCh !== ch) 48417 updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); 48418 } 48419 else if (isDef(ch)) { 48420 if (true) { 48421 checkDuplicateKeys(ch); 48422 } 48423 if (isDef(oldVnode.text)) 48424 nodeOps.setTextContent(elm, ''); 48425 addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue); 48426 } 48427 else if (isDef(oldCh)) { 48428 removeVnodes(oldCh, 0, oldCh.length - 1); 48429 } 48430 else if (isDef(oldVnode.text)) { 48431 nodeOps.setTextContent(elm, ''); 48432 } 48433 } 48434 else if (oldVnode.text !== vnode.text) { 48435 nodeOps.setTextContent(elm, vnode.text); 48436 } 48437 if (isDef(data)) { 48438 if (isDef((i = data.hook)) && isDef((i = i.postpatch))) 48439 i(oldVnode, vnode); 48440 } 48441 } 48442 function invokeInsertHook(vnode, queue, initial) { 48443 // delay insert hooks for component root nodes, invoke them after the 48444 // element is really inserted 48445 if (isTrue(initial) && isDef(vnode.parent)) { 48446 vnode.parent.data.pendingInsert = queue; 48447 } 48448 else { 48449 for (var i_6 = 0; i_6 < queue.length; ++i_6) { 48450 queue[i_6].data.hook.insert(queue[i_6]); 48451 } 48452 } 48453 } 48454 var hydrationBailed = false; 48455 // list of modules that can skip create hook during hydration because they 48456 // are already rendered on the client or has no need for initialization 48457 // Note: style is excluded because it relies on initial clone for future 48458 // deep updates (#7063). 48459 var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key'); 48460 // Note: this is a browser-only function so we can assume elms are DOM nodes. 48461 function hydrate(elm, vnode, insertedVnodeQueue, inVPre) { 48462 var i; 48463 var tag = vnode.tag, data = vnode.data, children = vnode.children; 48464 inVPre = inVPre || (data && data.pre); 48465 vnode.elm = elm; 48466 if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) { 48467 vnode.isAsyncPlaceholder = true; 48468 return true; 48469 } 48470 // assert node match 48471 if (true) { 48472 if (!assertNodeMatch(elm, vnode, inVPre)) { 48473 return false; 48474 } 48475 } 48476 if (isDef(data)) { 48477 if (isDef((i = data.hook)) && isDef((i = i.init))) 48478 i(vnode, true /* hydrating */); 48479 if (isDef((i = vnode.componentInstance))) { 48480 // child component. it should have hydrated its own tree. 48481 initComponent(vnode, insertedVnodeQueue); 48482 return true; 48483 } 48484 } 48485 if (isDef(tag)) { 48486 if (isDef(children)) { 48487 // empty element, allow client to pick up and populate children 48488 if (!elm.hasChildNodes()) { 48489 createChildren(vnode, children, insertedVnodeQueue); 48490 } 48491 else { 48492 // v-html and domProps: innerHTML 48493 if (isDef((i = data)) && 48494 isDef((i = i.domProps)) && 48495 isDef((i = i.innerHTML))) { 48496 if (i !== elm.innerHTML) { 48497 /* istanbul ignore if */ 48498 if ( true && 48499 typeof console !== 'undefined' && 48500 !hydrationBailed) { 48501 hydrationBailed = true; 48502 console.warn('Parent: ', elm); 48503 console.warn('server innerHTML: ', i); 48504 console.warn('client innerHTML: ', elm.innerHTML); 48505 } 48506 return false; 48507 } 48508 } 48509 else { 48510 // iterate and compare children lists 48511 var childrenMatch = true; 48512 var childNode = elm.firstChild; 48513 for (var i_7 = 0; i_7 < children.length; i_7++) { 48514 if (!childNode || 48515 !hydrate(childNode, children[i_7], insertedVnodeQueue, inVPre)) { 48516 childrenMatch = false; 48517 break; 48518 } 48519 childNode = childNode.nextSibling; 48520 } 48521 // if childNode is not null, it means the actual childNodes list is 48522 // longer than the virtual children list. 48523 if (!childrenMatch || childNode) { 48524 /* istanbul ignore if */ 48525 if ( true && 48526 typeof console !== 'undefined' && 48527 !hydrationBailed) { 48528 hydrationBailed = true; 48529 console.warn('Parent: ', elm); 48530 console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children); 48531 } 48532 return false; 48533 } 48534 } 48535 } 48536 } 48537 if (isDef(data)) { 48538 var fullInvoke = false; 48539 for (var key in data) { 48540 if (!isRenderedModule(key)) { 48541 fullInvoke = true; 48542 invokeCreateHooks(vnode, insertedVnodeQueue); 48543 break; 48544 } 48545 } 48546 if (!fullInvoke && data['class']) { 48547 // ensure collecting deps for deep class bindings for future updates 48548 traverse(data['class']); 48549 } 48550 } 48551 } 48552 else if (elm.data !== vnode.text) { 48553 elm.data = vnode.text; 48554 } 48555 return true; 48556 } 48557 function assertNodeMatch(node, vnode, inVPre) { 48558 if (isDef(vnode.tag)) { 48559 return (vnode.tag.indexOf('vue-component') === 0 || 48560 (!isUnknownElement(vnode, inVPre) && 48561 vnode.tag.toLowerCase() === 48562 (node.tagName && node.tagName.toLowerCase()))); 48563 } 48564 else { 48565 return node.nodeType === (vnode.isComment ? 8 : 3); 48566 } 48567 } 48568 return function patch(oldVnode, vnode, hydrating, removeOnly) { 48569 if (isUndef(vnode)) { 48570 if (isDef(oldVnode)) 48571 invokeDestroyHook(oldVnode); 48572 return; 48573 } 48574 var isInitialPatch = false; 48575 var insertedVnodeQueue = []; 48576 if (isUndef(oldVnode)) { 48577 // empty mount (likely as component), create new root element 48578 isInitialPatch = true; 48579 createElm(vnode, insertedVnodeQueue); 48580 } 48581 else { 48582 var isRealElement = isDef(oldVnode.nodeType); 48583 if (!isRealElement && sameVnode(oldVnode, vnode)) { 48584 // patch existing root node 48585 patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly); 48586 } 48587 else { 48588 if (isRealElement) { 48589 // mounting to a real element 48590 // check if this is server-rendered content and if we can perform 48591 // a successful hydration. 48592 if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) { 48593 oldVnode.removeAttribute(SSR_ATTR); 48594 hydrating = true; 48595 } 48596 if (isTrue(hydrating)) { 48597 if (hydrate(oldVnode, vnode, insertedVnodeQueue)) { 48598 invokeInsertHook(vnode, insertedVnodeQueue, true); 48599 return oldVnode; 48600 } 48601 else if (true) { 48602 warn$2('The client-side rendered virtual DOM tree is not matching ' + 48603 'server-rendered content. This is likely caused by incorrect ' + 48604 'HTML markup, for example nesting block-level elements inside ' + 48605 '<p>, or missing <tbody>. Bailing hydration and performing ' + 48606 'full client-side render.'); 48607 } 48608 } 48609 // either not server-rendered, or hydration failed. 48610 // create an empty node and replace it 48611 oldVnode = emptyNodeAt(oldVnode); 48612 } 48613 // replacing existing element 48614 var oldElm = oldVnode.elm; 48615 var parentElm = nodeOps.parentNode(oldElm); 48616 // create new node 48617 createElm(vnode, insertedVnodeQueue, 48618 // extremely rare edge case: do not insert if old element is in a 48619 // leaving transition. Only happens when combining transition + 48620 // keep-alive + HOCs. (#4590) 48621 oldElm._leaveCb ? null : parentElm, nodeOps.nextSibling(oldElm)); 48622 // update parent placeholder node element, recursively 48623 if (isDef(vnode.parent)) { 48624 var ancestor = vnode.parent; 48625 var patchable = isPatchable(vnode); 48626 while (ancestor) { 48627 for (var i_8 = 0; i_8 < cbs.destroy.length; ++i_8) { 48628 cbs.destroy[i_8](ancestor); 48629 } 48630 ancestor.elm = vnode.elm; 48631 if (patchable) { 48632 for (var i_9 = 0; i_9 < cbs.create.length; ++i_9) { 48633 cbs.create[i_9](emptyNode, ancestor); 48634 } 48635 // #6513 48636 // invoke insert hooks that may have been merged by create hooks. 48637 // e.g. for directives that uses the "inserted" hook. 48638 var insert_1 = ancestor.data.hook.insert; 48639 if (insert_1.merged) { 48640 // start at index 1 to avoid re-invoking component mounted hook 48641 for (var i_10 = 1; i_10 < insert_1.fns.length; i_10++) { 48642 insert_1.fns[i_10](); 48643 } 48644 } 48645 } 48646 else { 48647 registerRef(ancestor); 48648 } 48649 ancestor = ancestor.parent; 48650 } 48651 } 48652 // destroy old node 48653 if (isDef(parentElm)) { 48654 removeVnodes([oldVnode], 0, 0); 48655 } 48656 else if (isDef(oldVnode.tag)) { 48657 invokeDestroyHook(oldVnode); 48658 } 48659 } 48660 } 48661 invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch); 48662 return vnode.elm; 48663 }; 48664} 48665 48666var directives$1 = { 48667 create: updateDirectives, 48668 update: updateDirectives, 48669 destroy: function unbindDirectives(vnode) { 48670 // @ts-expect-error emptyNode is not VNodeWithData 48671 updateDirectives(vnode, emptyNode); 48672 } 48673}; 48674function updateDirectives(oldVnode, vnode) { 48675 if (oldVnode.data.directives || vnode.data.directives) { 48676 _update(oldVnode, vnode); 48677 } 48678} 48679function _update(oldVnode, vnode) { 48680 var isCreate = oldVnode === emptyNode; 48681 var isDestroy = vnode === emptyNode; 48682 var oldDirs = normalizeDirectives(oldVnode.data.directives, oldVnode.context); 48683 var newDirs = normalizeDirectives(vnode.data.directives, vnode.context); 48684 var dirsWithInsert = []; 48685 var dirsWithPostpatch = []; 48686 var key, oldDir, dir; 48687 for (key in newDirs) { 48688 oldDir = oldDirs[key]; 48689 dir = newDirs[key]; 48690 if (!oldDir) { 48691 // new directive, bind 48692 callHook(dir, 'bind', vnode, oldVnode); 48693 if (dir.def && dir.def.inserted) { 48694 dirsWithInsert.push(dir); 48695 } 48696 } 48697 else { 48698 // existing directive, update 48699 dir.oldValue = oldDir.value; 48700 dir.oldArg = oldDir.arg; 48701 callHook(dir, 'update', vnode, oldVnode); 48702 if (dir.def && dir.def.componentUpdated) { 48703 dirsWithPostpatch.push(dir); 48704 } 48705 } 48706 } 48707 if (dirsWithInsert.length) { 48708 var callInsert = function () { 48709 for (var i = 0; i < dirsWithInsert.length; i++) { 48710 callHook(dirsWithInsert[i], 'inserted', vnode, oldVnode); 48711 } 48712 }; 48713 if (isCreate) { 48714 mergeVNodeHook(vnode, 'insert', callInsert); 48715 } 48716 else { 48717 callInsert(); 48718 } 48719 } 48720 if (dirsWithPostpatch.length) { 48721 mergeVNodeHook(vnode, 'postpatch', function () { 48722 for (var i = 0; i < dirsWithPostpatch.length; i++) { 48723 callHook(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode); 48724 } 48725 }); 48726 } 48727 if (!isCreate) { 48728 for (key in oldDirs) { 48729 if (!newDirs[key]) { 48730 // no longer present, unbind 48731 callHook(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy); 48732 } 48733 } 48734 } 48735} 48736var emptyModifiers = Object.create(null); 48737function normalizeDirectives(dirs, vm) { 48738 var res = Object.create(null); 48739 if (!dirs) { 48740 // $flow-disable-line 48741 return res; 48742 } 48743 var i, dir; 48744 for (i = 0; i < dirs.length; i++) { 48745 dir = dirs[i]; 48746 if (!dir.modifiers) { 48747 // $flow-disable-line 48748 dir.modifiers = emptyModifiers; 48749 } 48750 res[getRawDirName(dir)] = dir; 48751 if (vm._setupState && vm._setupState.__sfc) { 48752 var setupDef = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name); 48753 if (typeof setupDef === 'function') { 48754 dir.def = { 48755 bind: setupDef, 48756 update: setupDef, 48757 }; 48758 } 48759 else { 48760 dir.def = setupDef; 48761 } 48762 } 48763 dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true); 48764 } 48765 // $flow-disable-line 48766 return res; 48767} 48768function getRawDirName(dir) { 48769 return (dir.rawName || "".concat(dir.name, ".").concat(Object.keys(dir.modifiers || {}).join('.'))); 48770} 48771function callHook(dir, hook, vnode, oldVnode, isDestroy) { 48772 var fn = dir.def && dir.def[hook]; 48773 if (fn) { 48774 try { 48775 fn(vnode.elm, dir, vnode, oldVnode, isDestroy); 48776 } 48777 catch (e) { 48778 handleError(e, vnode.context, "directive ".concat(dir.name, " ").concat(hook, " hook")); 48779 } 48780 } 48781} 48782 48783var baseModules = [ref, directives$1]; 48784 48785function updateAttrs(oldVnode, vnode) { 48786 var opts = vnode.componentOptions; 48787 if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) { 48788 return; 48789 } 48790 if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) { 48791 return; 48792 } 48793 var key, cur, old; 48794 var elm = vnode.elm; 48795 var oldAttrs = oldVnode.data.attrs || {}; 48796 var attrs = vnode.data.attrs || {}; 48797 // clone observed objects, as the user probably wants to mutate it 48798 if (isDef(attrs.__ob__) || isTrue(attrs._v_attr_proxy)) { 48799 attrs = vnode.data.attrs = extend({}, attrs); 48800 } 48801 for (key in attrs) { 48802 cur = attrs[key]; 48803 old = oldAttrs[key]; 48804 if (old !== cur) { 48805 setAttr(elm, key, cur, vnode.data.pre); 48806 } 48807 } 48808 // #4391: in IE9, setting type can reset value for input[type=radio] 48809 // #6666: IE/Edge forces progress value down to 1 before setting a max 48810 /* istanbul ignore if */ 48811 if ((isIE || isEdge) && attrs.value !== oldAttrs.value) { 48812 setAttr(elm, 'value', attrs.value); 48813 } 48814 for (key in oldAttrs) { 48815 if (isUndef(attrs[key])) { 48816 if (isXlink(key)) { 48817 elm.removeAttributeNS(xlinkNS, getXlinkProp(key)); 48818 } 48819 else if (!isEnumeratedAttr(key)) { 48820 elm.removeAttribute(key); 48821 } 48822 } 48823 } 48824} 48825function setAttr(el, key, value, isInPre) { 48826 if (isInPre || el.tagName.indexOf('-') > -1) { 48827 baseSetAttr(el, key, value); 48828 } 48829 else if (isBooleanAttr(key)) { 48830 // set attribute for blank value 48831 // e.g. <option disabled>Select one</option> 48832 if (isFalsyAttrValue(value)) { 48833 el.removeAttribute(key); 48834 } 48835 else { 48836 // technically allowfullscreen is a boolean attribute for <iframe>, 48837 // but Flash expects a value of "true" when used on <embed> tag 48838 value = key === 'allowfullscreen' && el.tagName === 'EMBED' ? 'true' : key; 48839 el.setAttribute(key, value); 48840 } 48841 } 48842 else if (isEnumeratedAttr(key)) { 48843 el.setAttribute(key, convertEnumeratedValue(key, value)); 48844 } 48845 else if (isXlink(key)) { 48846 if (isFalsyAttrValue(value)) { 48847 el.removeAttributeNS(xlinkNS, getXlinkProp(key)); 48848 } 48849 else { 48850 el.setAttributeNS(xlinkNS, key, value); 48851 } 48852 } 48853 else { 48854 baseSetAttr(el, key, value); 48855 } 48856} 48857function baseSetAttr(el, key, value) { 48858 if (isFalsyAttrValue(value)) { 48859 el.removeAttribute(key); 48860 } 48861 else { 48862 // #7138: IE10 & 11 fires input event when setting placeholder on 48863 // <textarea>... block the first input event and remove the blocker 48864 // immediately. 48865 /* istanbul ignore if */ 48866 if (isIE && 48867 !isIE9 && 48868 el.tagName === 'TEXTAREA' && 48869 key === 'placeholder' && 48870 value !== '' && 48871 !el.__ieph) { 48872 var blocker_1 = function (e) { 48873 e.stopImmediatePropagation(); 48874 el.removeEventListener('input', blocker_1); 48875 }; 48876 el.addEventListener('input', blocker_1); 48877 // $flow-disable-line 48878 el.__ieph = true; /* IE placeholder patched */ 48879 } 48880 el.setAttribute(key, value); 48881 } 48882} 48883var attrs = { 48884 create: updateAttrs, 48885 update: updateAttrs 48886}; 48887 48888function updateClass(oldVnode, vnode) { 48889 var el = vnode.elm; 48890 var data = vnode.data; 48891 var oldData = oldVnode.data; 48892 if (isUndef(data.staticClass) && 48893 isUndef(data.class) && 48894 (isUndef(oldData) || 48895 (isUndef(oldData.staticClass) && isUndef(oldData.class)))) { 48896 return; 48897 } 48898 var cls = genClassForVnode(vnode); 48899 // handle transition classes 48900 var transitionClass = el._transitionClasses; 48901 if (isDef(transitionClass)) { 48902 cls = concat(cls, stringifyClass(transitionClass)); 48903 } 48904 // set the class 48905 if (cls !== el._prevClass) { 48906 el.setAttribute('class', cls); 48907 el._prevClass = cls; 48908 } 48909} 48910var klass$1 = { 48911 create: updateClass, 48912 update: updateClass 48913}; 48914 48915var validDivisionCharRE = /[\w).+\-_$\]]/; 48916function parseFilters(exp) { 48917 var inSingle = false; 48918 var inDouble = false; 48919 var inTemplateString = false; 48920 var inRegex = false; 48921 var curly = 0; 48922 var square = 0; 48923 var paren = 0; 48924 var lastFilterIndex = 0; 48925 var c, prev, i, expression, filters; 48926 for (i = 0; i < exp.length; i++) { 48927 prev = c; 48928 c = exp.charCodeAt(i); 48929 if (inSingle) { 48930 if (c === 0x27 && prev !== 0x5c) 48931 inSingle = false; 48932 } 48933 else if (inDouble) { 48934 if (c === 0x22 && prev !== 0x5c) 48935 inDouble = false; 48936 } 48937 else if (inTemplateString) { 48938 if (c === 0x60 && prev !== 0x5c) 48939 inTemplateString = false; 48940 } 48941 else if (inRegex) { 48942 if (c === 0x2f && prev !== 0x5c) 48943 inRegex = false; 48944 } 48945 else if (c === 0x7c && // pipe 48946 exp.charCodeAt(i + 1) !== 0x7c && 48947 exp.charCodeAt(i - 1) !== 0x7c && 48948 !curly && 48949 !square && 48950 !paren) { 48951 if (expression === undefined) { 48952 // first filter, end of expression 48953 lastFilterIndex = i + 1; 48954 expression = exp.slice(0, i).trim(); 48955 } 48956 else { 48957 pushFilter(); 48958 } 48959 } 48960 else { 48961 switch (c) { 48962 case 0x22: 48963 inDouble = true; 48964 break; // " 48965 case 0x27: 48966 inSingle = true; 48967 break; // ' 48968 case 0x60: 48969 inTemplateString = true; 48970 break; // ` 48971 case 0x28: 48972 paren++; 48973 break; // ( 48974 case 0x29: 48975 paren--; 48976 break; // ) 48977 case 0x5b: 48978 square++; 48979 break; // [ 48980 case 0x5d: 48981 square--; 48982 break; // ] 48983 case 0x7b: 48984 curly++; 48985 break; // { 48986 case 0x7d: 48987 curly--; 48988 break; // } 48989 } 48990 if (c === 0x2f) { 48991 // / 48992 var j = i - 1; 48993 var p 48994 // find first non-whitespace prev char 48995 = void 0; 48996 // find first non-whitespace prev char 48997 for (; j >= 0; j--) { 48998 p = exp.charAt(j); 48999 if (p !== ' ') 49000 break; 49001 } 49002 if (!p || !validDivisionCharRE.test(p)) { 49003 inRegex = true; 49004 } 49005 } 49006 } 49007 } 49008 if (expression === undefined) { 49009 expression = exp.slice(0, i).trim(); 49010 } 49011 else if (lastFilterIndex !== 0) { 49012 pushFilter(); 49013 } 49014 function pushFilter() { 49015 (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim()); 49016 lastFilterIndex = i + 1; 49017 } 49018 if (filters) { 49019 for (i = 0; i < filters.length; i++) { 49020 expression = wrapFilter(expression, filters[i]); 49021 } 49022 } 49023 return expression; 49024} 49025function wrapFilter(exp, filter) { 49026 var i = filter.indexOf('('); 49027 if (i < 0) { 49028 // _f: resolveFilter 49029 return "_f(\"".concat(filter, "\")(").concat(exp, ")"); 49030 } 49031 else { 49032 var name_1 = filter.slice(0, i); 49033 var args = filter.slice(i + 1); 49034 return "_f(\"".concat(name_1, "\")(").concat(exp).concat(args !== ')' ? ',' + args : args); 49035 } 49036} 49037 49038/* eslint-disable no-unused-vars */ 49039function baseWarn(msg, range) { 49040 console.error("[Vue compiler]: ".concat(msg)); 49041} 49042/* eslint-enable no-unused-vars */ 49043function pluckModuleFunction(modules, key) { 49044 return modules ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; }) : []; 49045} 49046function addProp(el, name, value, range, dynamic) { 49047 (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); 49048 el.plain = false; 49049} 49050function addAttr(el, name, value, range, dynamic) { 49051 var attrs = dynamic 49052 ? el.dynamicAttrs || (el.dynamicAttrs = []) 49053 : el.attrs || (el.attrs = []); 49054 attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range)); 49055 el.plain = false; 49056} 49057// add a raw attr (use this in preTransforms) 49058function addRawAttr(el, name, value, range) { 49059 el.attrsMap[name] = value; 49060 el.attrsList.push(rangeSetItem({ name: name, value: value }, range)); 49061} 49062function addDirective(el, name, rawName, value, arg, isDynamicArg, modifiers, range) { 49063 (el.directives || (el.directives = [])).push(rangeSetItem({ 49064 name: name, 49065 rawName: rawName, 49066 value: value, 49067 arg: arg, 49068 isDynamicArg: isDynamicArg, 49069 modifiers: modifiers 49070 }, range)); 49071 el.plain = false; 49072} 49073function prependModifierMarker(symbol, name, dynamic) { 49074 return dynamic ? "_p(".concat(name, ",\"").concat(symbol, "\")") : symbol + name; // mark the event as captured 49075} 49076function addHandler(el, name, value, modifiers, important, warn, range, dynamic) { 49077 modifiers = modifiers || emptyObject; 49078 // warn prevent and passive modifier 49079 /* istanbul ignore if */ 49080 if ( true && warn && modifiers.prevent && modifiers.passive) { 49081 warn("passive and prevent can't be used together. " + 49082 "Passive handler can't prevent default event.", range); 49083 } 49084 // normalize click.right and click.middle since they don't actually fire 49085 // this is technically browser-specific, but at least for now browsers are 49086 // the only target envs that have right/middle clicks. 49087 if (modifiers.right) { 49088 if (dynamic) { 49089 name = "(".concat(name, ")==='click'?'contextmenu':(").concat(name, ")"); 49090 } 49091 else if (name === 'click') { 49092 name = 'contextmenu'; 49093 delete modifiers.right; 49094 } 49095 } 49096 else if (modifiers.middle) { 49097 if (dynamic) { 49098 name = "(".concat(name, ")==='click'?'mouseup':(").concat(name, ")"); 49099 } 49100 else if (name === 'click') { 49101 name = 'mouseup'; 49102 } 49103 } 49104 // check capture modifier 49105 if (modifiers.capture) { 49106 delete modifiers.capture; 49107 name = prependModifierMarker('!', name, dynamic); 49108 } 49109 if (modifiers.once) { 49110 delete modifiers.once; 49111 name = prependModifierMarker('~', name, dynamic); 49112 } 49113 /* istanbul ignore if */ 49114 if (modifiers.passive) { 49115 delete modifiers.passive; 49116 name = prependModifierMarker('&', name, dynamic); 49117 } 49118 var events; 49119 if (modifiers.native) { 49120 delete modifiers.native; 49121 events = el.nativeEvents || (el.nativeEvents = {}); 49122 } 49123 else { 49124 events = el.events || (el.events = {}); 49125 } 49126 var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range); 49127 if (modifiers !== emptyObject) { 49128 newHandler.modifiers = modifiers; 49129 } 49130 var handlers = events[name]; 49131 /* istanbul ignore if */ 49132 if (Array.isArray(handlers)) { 49133 important ? handlers.unshift(newHandler) : handlers.push(newHandler); 49134 } 49135 else if (handlers) { 49136 events[name] = important ? [newHandler, handlers] : [handlers, newHandler]; 49137 } 49138 else { 49139 events[name] = newHandler; 49140 } 49141 el.plain = false; 49142} 49143function getRawBindingAttr(el, name) { 49144 return (el.rawAttrsMap[':' + name] || 49145 el.rawAttrsMap['v-bind:' + name] || 49146 el.rawAttrsMap[name]); 49147} 49148function getBindingAttr(el, name, getStatic) { 49149 var dynamicValue = getAndRemoveAttr(el, ':' + name) || getAndRemoveAttr(el, 'v-bind:' + name); 49150 if (dynamicValue != null) { 49151 return parseFilters(dynamicValue); 49152 } 49153 else if (getStatic !== false) { 49154 var staticValue = getAndRemoveAttr(el, name); 49155 if (staticValue != null) { 49156 return JSON.stringify(staticValue); 49157 } 49158 } 49159} 49160// note: this only removes the attr from the Array (attrsList) so that it 49161// doesn't get processed by processAttrs. 49162// By default it does NOT remove it from the map (attrsMap) because the map is 49163// needed during codegen. 49164function getAndRemoveAttr(el, name, removeFromMap) { 49165 var val; 49166 if ((val = el.attrsMap[name]) != null) { 49167 var list = el.attrsList; 49168 for (var i = 0, l = list.length; i < l; i++) { 49169 if (list[i].name === name) { 49170 list.splice(i, 1); 49171 break; 49172 } 49173 } 49174 } 49175 if (removeFromMap) { 49176 delete el.attrsMap[name]; 49177 } 49178 return val; 49179} 49180function getAndRemoveAttrByRegex(el, name) { 49181 var list = el.attrsList; 49182 for (var i = 0, l = list.length; i < l; i++) { 49183 var attr = list[i]; 49184 if (name.test(attr.name)) { 49185 list.splice(i, 1); 49186 return attr; 49187 } 49188 } 49189} 49190function rangeSetItem(item, range) { 49191 if (range) { 49192 if (range.start != null) { 49193 item.start = range.start; 49194 } 49195 if (range.end != null) { 49196 item.end = range.end; 49197 } 49198 } 49199 return item; 49200} 49201 49202/** 49203 * Cross-platform code generation for component v-model 49204 */ 49205function genComponentModel(el, value, modifiers) { 49206 var _a = modifiers || {}, number = _a.number, trim = _a.trim; 49207 var baseValueExpression = '$$v'; 49208 var valueExpression = baseValueExpression; 49209 if (trim) { 49210 valueExpression = 49211 "(typeof ".concat(baseValueExpression, " === 'string'") + 49212 "? ".concat(baseValueExpression, ".trim()") + 49213 ": ".concat(baseValueExpression, ")"); 49214 } 49215 if (number) { 49216 valueExpression = "_n(".concat(valueExpression, ")"); 49217 } 49218 var assignment = genAssignmentCode(value, valueExpression); 49219 el.model = { 49220 value: "(".concat(value, ")"), 49221 expression: JSON.stringify(value), 49222 callback: "function (".concat(baseValueExpression, ") {").concat(assignment, "}") 49223 }; 49224} 49225/** 49226 * Cross-platform codegen helper for generating v-model value assignment code. 49227 */ 49228function genAssignmentCode(value, assignment) { 49229 var res = parseModel(value); 49230 if (res.key === null) { 49231 return "".concat(value, "=").concat(assignment); 49232 } 49233 else { 49234 return "$set(".concat(res.exp, ", ").concat(res.key, ", ").concat(assignment, ")"); 49235 } 49236} 49237/** 49238 * Parse a v-model expression into a base path and a final key segment. 49239 * Handles both dot-path and possible square brackets. 49240 * 49241 * Possible cases: 49242 * 49243 * - test 49244 * - test[key] 49245 * - test[test1[key]] 49246 * - test["a"][key] 49247 * - xxx.test[a[a].test1[key]] 49248 * - test.xxx.a["asa"][test1[key]] 49249 * 49250 */ 49251var len, str, chr, index, expressionPos, expressionEndPos; 49252function parseModel(val) { 49253 // Fix https://github.com/vuejs/vue/pull/7730 49254 // allow v-model="obj.val " (trailing whitespace) 49255 val = val.trim(); 49256 len = val.length; 49257 if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) { 49258 index = val.lastIndexOf('.'); 49259 if (index > -1) { 49260 return { 49261 exp: val.slice(0, index), 49262 key: '"' + val.slice(index + 1) + '"' 49263 }; 49264 } 49265 else { 49266 return { 49267 exp: val, 49268 key: null 49269 }; 49270 } 49271 } 49272 str = val; 49273 index = expressionPos = expressionEndPos = 0; 49274 while (!eof()) { 49275 chr = next(); 49276 /* istanbul ignore if */ 49277 if (isStringStart(chr)) { 49278 parseString(chr); 49279 } 49280 else if (chr === 0x5b) { 49281 parseBracket(chr); 49282 } 49283 } 49284 return { 49285 exp: val.slice(0, expressionPos), 49286 key: val.slice(expressionPos + 1, expressionEndPos) 49287 }; 49288} 49289function next() { 49290 return str.charCodeAt(++index); 49291} 49292function eof() { 49293 return index >= len; 49294} 49295function isStringStart(chr) { 49296 return chr === 0x22 || chr === 0x27; 49297} 49298function parseBracket(chr) { 49299 var inBracket = 1; 49300 expressionPos = index; 49301 while (!eof()) { 49302 chr = next(); 49303 if (isStringStart(chr)) { 49304 parseString(chr); 49305 continue; 49306 } 49307 if (chr === 0x5b) 49308 inBracket++; 49309 if (chr === 0x5d) 49310 inBracket--; 49311 if (inBracket === 0) { 49312 expressionEndPos = index; 49313 break; 49314 } 49315 } 49316} 49317function parseString(chr) { 49318 var stringQuote = chr; 49319 while (!eof()) { 49320 chr = next(); 49321 if (chr === stringQuote) { 49322 break; 49323 } 49324 } 49325} 49326 49327var warn$1; 49328// in some cases, the event used has to be determined at runtime 49329// so we used some reserved tokens during compile. 49330var RANGE_TOKEN = '__r'; 49331var CHECKBOX_RADIO_TOKEN = '__c'; 49332function model$1(el, dir, _warn) { 49333 warn$1 = _warn; 49334 var value = dir.value; 49335 var modifiers = dir.modifiers; 49336 var tag = el.tag; 49337 var type = el.attrsMap.type; 49338 if (true) { 49339 // inputs with type="file" are read only and setting the input's 49340 // value will throw an error. 49341 if (tag === 'input' && type === 'file') { 49342 warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\" type=\"file\">:\n") + 49343 "File inputs are read only. Use a v-on:change listener instead.", el.rawAttrsMap['v-model']); 49344 } 49345 } 49346 if (el.component) { 49347 genComponentModel(el, value, modifiers); 49348 // component v-model doesn't need extra runtime 49349 return false; 49350 } 49351 else if (tag === 'select') { 49352 genSelect(el, value, modifiers); 49353 } 49354 else if (tag === 'input' && type === 'checkbox') { 49355 genCheckboxModel(el, value, modifiers); 49356 } 49357 else if (tag === 'input' && type === 'radio') { 49358 genRadioModel(el, value, modifiers); 49359 } 49360 else if (tag === 'input' || tag === 'textarea') { 49361 genDefaultModel(el, value, modifiers); 49362 } 49363 else if (!config.isReservedTag(tag)) { 49364 genComponentModel(el, value, modifiers); 49365 // component v-model doesn't need extra runtime 49366 return false; 49367 } 49368 else if (true) { 49369 warn$1("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") + 49370 "v-model is not supported on this element type. " + 49371 "If you are working with contenteditable, it's recommended to " + 49372 'wrap a library dedicated for that purpose inside a custom component.', el.rawAttrsMap['v-model']); 49373 } 49374 // ensure runtime directive metadata 49375 return true; 49376} 49377function genCheckboxModel(el, value, modifiers) { 49378 var number = modifiers && modifiers.number; 49379 var valueBinding = getBindingAttr(el, 'value') || 'null'; 49380 var trueValueBinding = getBindingAttr(el, 'true-value') || 'true'; 49381 var falseValueBinding = getBindingAttr(el, 'false-value') || 'false'; 49382 addProp(el, 'checked', "Array.isArray(".concat(value, ")") + 49383 "?_i(".concat(value, ",").concat(valueBinding, ")>-1") + 49384 (trueValueBinding === 'true' 49385 ? ":(".concat(value, ")") 49386 : ":_q(".concat(value, ",").concat(trueValueBinding, ")"))); 49387 addHandler(el, 'change', "var $$a=".concat(value, ",") + 49388 '$$el=$event.target,' + 49389 "$$c=$$el.checked?(".concat(trueValueBinding, "):(").concat(falseValueBinding, ");") + 49390 'if(Array.isArray($$a)){' + 49391 "var $$v=".concat(number ? '_n(' + valueBinding + ')' : valueBinding, ",") + 49392 '$$i=_i($$a,$$v);' + 49393 "if($$el.checked){$$i<0&&(".concat(genAssignmentCode(value, '$$a.concat([$$v])'), ")}") + 49394 "else{$$i>-1&&(".concat(genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))'), ")}") + 49395 "}else{".concat(genAssignmentCode(value, '$$c'), "}"), null, true); 49396} 49397function genRadioModel(el, value, modifiers) { 49398 var number = modifiers && modifiers.number; 49399 var valueBinding = getBindingAttr(el, 'value') || 'null'; 49400 valueBinding = number ? "_n(".concat(valueBinding, ")") : valueBinding; 49401 addProp(el, 'checked', "_q(".concat(value, ",").concat(valueBinding, ")")); 49402 addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true); 49403} 49404function genSelect(el, value, modifiers) { 49405 var number = modifiers && modifiers.number; 49406 var selectedVal = "Array.prototype.filter" + 49407 ".call($event.target.options,function(o){return o.selected})" + 49408 ".map(function(o){var val = \"_value\" in o ? o._value : o.value;" + 49409 "return ".concat(number ? '_n(val)' : 'val', "})"); 49410 var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]'; 49411 var code = "var $$selectedVal = ".concat(selectedVal, ";"); 49412 code = "".concat(code, " ").concat(genAssignmentCode(value, assignment)); 49413 addHandler(el, 'change', code, null, true); 49414} 49415function genDefaultModel(el, value, modifiers) { 49416 var type = el.attrsMap.type; 49417 // warn if v-bind:value conflicts with v-model 49418 // except for inputs with v-bind:type 49419 if (true) { 49420 var value_1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value']; 49421 var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type']; 49422 if (value_1 && !typeBinding) { 49423 var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value'; 49424 warn$1("".concat(binding, "=\"").concat(value_1, "\" conflicts with v-model on the same element ") + 49425 'because the latter already expands to a value binding internally', el.rawAttrsMap[binding]); 49426 } 49427 } 49428 var _a = modifiers || {}, lazy = _a.lazy, number = _a.number, trim = _a.trim; 49429 var needCompositionGuard = !lazy && type !== 'range'; 49430 var event = lazy ? 'change' : type === 'range' ? RANGE_TOKEN : 'input'; 49431 var valueExpression = '$event.target.value'; 49432 if (trim) { 49433 valueExpression = "$event.target.value.trim()"; 49434 } 49435 if (number) { 49436 valueExpression = "_n(".concat(valueExpression, ")"); 49437 } 49438 var code = genAssignmentCode(value, valueExpression); 49439 if (needCompositionGuard) { 49440 code = "if($event.target.composing)return;".concat(code); 49441 } 49442 addProp(el, 'value', "(".concat(value, ")")); 49443 addHandler(el, event, code, null, true); 49444 if (trim || number) { 49445 addHandler(el, 'blur', '$forceUpdate()'); 49446 } 49447} 49448 49449// normalize v-model event tokens that can only be determined at runtime. 49450// it's important to place the event as the first in the array because 49451// the whole point is ensuring the v-model callback gets called before 49452// user-attached handlers. 49453function normalizeEvents(on) { 49454 /* istanbul ignore if */ 49455 if (isDef(on[RANGE_TOKEN])) { 49456 // IE input[type=range] only supports `change` event 49457 var event_1 = isIE ? 'change' : 'input'; 49458 on[event_1] = [].concat(on[RANGE_TOKEN], on[event_1] || []); 49459 delete on[RANGE_TOKEN]; 49460 } 49461 // This was originally intended to fix #4521 but no longer necessary 49462 // after 2.5. Keeping it for backwards compat with generated code from < 2.4 49463 /* istanbul ignore if */ 49464 if (isDef(on[CHECKBOX_RADIO_TOKEN])) { 49465 on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []); 49466 delete on[CHECKBOX_RADIO_TOKEN]; 49467 } 49468} 49469var target; 49470function createOnceHandler(event, handler, capture) { 49471 var _target = target; // save current target element in closure 49472 return function onceHandler() { 49473 var res = handler.apply(null, arguments); 49474 if (res !== null) { 49475 remove(event, onceHandler, capture, _target); 49476 } 49477 }; 49478} 49479// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp 49480// implementation and does not fire microtasks in between event propagation, so 49481// safe to exclude. 49482var useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53); 49483function add(name, handler, capture, passive) { 49484 // async edge case #6566: inner click event triggers patch, event handler 49485 // attached to outer element during patch, and triggered again. This 49486 // happens because browsers fire microtask ticks between event propagation. 49487 // the solution is simple: we save the timestamp when a handler is attached, 49488 // and the handler would only fire if the event passed to it was fired 49489 // AFTER it was attached. 49490 if (useMicrotaskFix) { 49491 var attachedTimestamp_1 = currentFlushTimestamp; 49492 var original_1 = handler; 49493 //@ts-expect-error 49494 handler = original_1._wrapper = function (e) { 49495 if ( 49496 // no bubbling, should always fire. 49497 // this is just a safety net in case event.timeStamp is unreliable in 49498 // certain weird environments... 49499 e.target === e.currentTarget || 49500 // event is fired after handler attachment 49501 e.timeStamp >= attachedTimestamp_1 || 49502 // bail for environments that have buggy event.timeStamp implementations 49503 // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState 49504 // #9681 QtWebEngine event.timeStamp is negative value 49505 e.timeStamp <= 0 || 49506 // #9448 bail if event is fired in another document in a multi-page 49507 // electron/nw.js app, since event.timeStamp will be using a different 49508 // starting reference 49509 e.target.ownerDocument !== document) { 49510 return original_1.apply(this, arguments); 49511 } 49512 }; 49513 } 49514 target.addEventListener(name, handler, supportsPassive ? { capture: capture, passive: passive } : capture); 49515} 49516function remove(name, handler, capture, _target) { 49517 (_target || target).removeEventListener(name, 49518 //@ts-expect-error 49519 handler._wrapper || handler, capture); 49520} 49521function updateDOMListeners(oldVnode, vnode) { 49522 if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) { 49523 return; 49524 } 49525 var on = vnode.data.on || {}; 49526 var oldOn = oldVnode.data.on || {}; 49527 // vnode is empty when removing all listeners, 49528 // and use old vnode dom element 49529 target = vnode.elm || oldVnode.elm; 49530 normalizeEvents(on); 49531 updateListeners(on, oldOn, add, remove, createOnceHandler, vnode.context); 49532 target = undefined; 49533} 49534var events = { 49535 create: updateDOMListeners, 49536 update: updateDOMListeners, 49537 // @ts-expect-error emptyNode has actually data 49538 destroy: function (vnode) { return updateDOMListeners(vnode, emptyNode); } 49539}; 49540 49541var svgContainer; 49542function updateDOMProps(oldVnode, vnode) { 49543 if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) { 49544 return; 49545 } 49546 var key, cur; 49547 var elm = vnode.elm; 49548 var oldProps = oldVnode.data.domProps || {}; 49549 var props = vnode.data.domProps || {}; 49550 // clone observed objects, as the user probably wants to mutate it 49551 if (isDef(props.__ob__) || isTrue(props._v_attr_proxy)) { 49552 props = vnode.data.domProps = extend({}, props); 49553 } 49554 for (key in oldProps) { 49555 if (!(key in props)) { 49556 elm[key] = ''; 49557 } 49558 } 49559 for (key in props) { 49560 cur = props[key]; 49561 // ignore children if the node has textContent or innerHTML, 49562 // as these will throw away existing DOM nodes and cause removal errors 49563 // on subsequent patches (#3360) 49564 if (key === 'textContent' || key === 'innerHTML') { 49565 if (vnode.children) 49566 vnode.children.length = 0; 49567 if (cur === oldProps[key]) 49568 continue; 49569 // #6601 work around Chrome version <= 55 bug where single textNode 49570 // replaced by innerHTML/textContent retains its parentNode property 49571 if (elm.childNodes.length === 1) { 49572 elm.removeChild(elm.childNodes[0]); 49573 } 49574 } 49575 if (key === 'value' && elm.tagName !== 'PROGRESS') { 49576 // store value as _value as well since 49577 // non-string values will be stringified 49578 elm._value = cur; 49579 // avoid resetting cursor position when value is the same 49580 var strCur = isUndef(cur) ? '' : String(cur); 49581 if (shouldUpdateValue(elm, strCur)) { 49582 elm.value = strCur; 49583 } 49584 } 49585 else if (key === 'innerHTML' && 49586 isSVG(elm.tagName) && 49587 isUndef(elm.innerHTML)) { 49588 // IE doesn't support innerHTML for SVG elements 49589 svgContainer = svgContainer || document.createElement('div'); 49590 svgContainer.innerHTML = "<svg>".concat(cur, "</svg>"); 49591 var svg = svgContainer.firstChild; 49592 while (elm.firstChild) { 49593 elm.removeChild(elm.firstChild); 49594 } 49595 while (svg.firstChild) { 49596 elm.appendChild(svg.firstChild); 49597 } 49598 } 49599 else if ( 49600 // skip the update if old and new VDOM state is the same. 49601 // `value` is handled separately because the DOM value may be temporarily 49602 // out of sync with VDOM state due to focus, composition and modifiers. 49603 // This #4521 by skipping the unnecessary `checked` update. 49604 cur !== oldProps[key]) { 49605 // some property updates can throw 49606 // e.g. `value` on <progress> w/ non-finite value 49607 try { 49608 elm[key] = cur; 49609 } 49610 catch (e) { } 49611 } 49612 } 49613} 49614function shouldUpdateValue(elm, checkVal) { 49615 return ( 49616 //@ts-expect-error 49617 !elm.composing && 49618 (elm.tagName === 'OPTION' || 49619 isNotInFocusAndDirty(elm, checkVal) || 49620 isDirtyWithModifiers(elm, checkVal))); 49621} 49622function isNotInFocusAndDirty(elm, checkVal) { 49623 // return true when textbox (.number and .trim) loses focus and its value is 49624 // not equal to the updated value 49625 var notInFocus = true; 49626 // #6157 49627 // work around IE bug when accessing document.activeElement in an iframe 49628 try { 49629 notInFocus = document.activeElement !== elm; 49630 } 49631 catch (e) { } 49632 return notInFocus && elm.value !== checkVal; 49633} 49634function isDirtyWithModifiers(elm, newVal) { 49635 var value = elm.value; 49636 var modifiers = elm._vModifiers; // injected by v-model runtime 49637 if (isDef(modifiers)) { 49638 if (modifiers.number) { 49639 return toNumber(value) !== toNumber(newVal); 49640 } 49641 if (modifiers.trim) { 49642 return value.trim() !== newVal.trim(); 49643 } 49644 } 49645 return value !== newVal; 49646} 49647var domProps = { 49648 create: updateDOMProps, 49649 update: updateDOMProps 49650}; 49651 49652var parseStyleText = cached(function (cssText) { 49653 var res = {}; 49654 var listDelimiter = /;(?![^(]*\))/g; 49655 var propertyDelimiter = /:(.+)/; 49656 cssText.split(listDelimiter).forEach(function (item) { 49657 if (item) { 49658 var tmp = item.split(propertyDelimiter); 49659 tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim()); 49660 } 49661 }); 49662 return res; 49663}); 49664// merge static and dynamic style data on the same vnode 49665function normalizeStyleData(data) { 49666 var style = normalizeStyleBinding(data.style); 49667 // static style is pre-processed into an object during compilation 49668 // and is always a fresh object, so it's safe to merge into it 49669 return data.staticStyle ? extend(data.staticStyle, style) : style; 49670} 49671// normalize possible array / string values into Object 49672function normalizeStyleBinding(bindingStyle) { 49673 if (Array.isArray(bindingStyle)) { 49674 return toObject(bindingStyle); 49675 } 49676 if (typeof bindingStyle === 'string') { 49677 return parseStyleText(bindingStyle); 49678 } 49679 return bindingStyle; 49680} 49681/** 49682 * parent component style should be after child's 49683 * so that parent component's style could override it 49684 */ 49685function getStyle(vnode, checkChild) { 49686 var res = {}; 49687 var styleData; 49688 if (checkChild) { 49689 var childNode = vnode; 49690 while (childNode.componentInstance) { 49691 childNode = childNode.componentInstance._vnode; 49692 if (childNode && 49693 childNode.data && 49694 (styleData = normalizeStyleData(childNode.data))) { 49695 extend(res, styleData); 49696 } 49697 } 49698 } 49699 if ((styleData = normalizeStyleData(vnode.data))) { 49700 extend(res, styleData); 49701 } 49702 var parentNode = vnode; 49703 // @ts-expect-error parentNode.parent not VNodeWithData 49704 while ((parentNode = parentNode.parent)) { 49705 if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) { 49706 extend(res, styleData); 49707 } 49708 } 49709 return res; 49710} 49711 49712var cssVarRE = /^--/; 49713var importantRE = /\s*!important$/; 49714var setProp = function (el, name, val) { 49715 /* istanbul ignore if */ 49716 if (cssVarRE.test(name)) { 49717 el.style.setProperty(name, val); 49718 } 49719 else if (importantRE.test(val)) { 49720 el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important'); 49721 } 49722 else { 49723 var normalizedName = normalize(name); 49724 if (Array.isArray(val)) { 49725 // Support values array created by autoprefixer, e.g. 49726 // {display: ["-webkit-box", "-ms-flexbox", "flex"]} 49727 // Set them one by one, and the browser will only set those it can recognize 49728 for (var i = 0, len = val.length; i < len; i++) { 49729 el.style[normalizedName] = val[i]; 49730 } 49731 } 49732 else { 49733 el.style[normalizedName] = val; 49734 } 49735 } 49736}; 49737var vendorNames = ['Webkit', 'Moz', 'ms']; 49738var emptyStyle; 49739var normalize = cached(function (prop) { 49740 emptyStyle = emptyStyle || document.createElement('div').style; 49741 prop = camelize(prop); 49742 if (prop !== 'filter' && prop in emptyStyle) { 49743 return prop; 49744 } 49745 var capName = prop.charAt(0).toUpperCase() + prop.slice(1); 49746 for (var i = 0; i < vendorNames.length; i++) { 49747 var name_1 = vendorNames[i] + capName; 49748 if (name_1 in emptyStyle) { 49749 return name_1; 49750 } 49751 } 49752}); 49753function updateStyle(oldVnode, vnode) { 49754 var data = vnode.data; 49755 var oldData = oldVnode.data; 49756 if (isUndef(data.staticStyle) && 49757 isUndef(data.style) && 49758 isUndef(oldData.staticStyle) && 49759 isUndef(oldData.style)) { 49760 return; 49761 } 49762 var cur, name; 49763 var el = vnode.elm; 49764 var oldStaticStyle = oldData.staticStyle; 49765 var oldStyleBinding = oldData.normalizedStyle || oldData.style || {}; 49766 // if static style exists, stylebinding already merged into it when doing normalizeStyleData 49767 var oldStyle = oldStaticStyle || oldStyleBinding; 49768 var style = normalizeStyleBinding(vnode.data.style) || {}; 49769 // store normalized style under a different key for next diff 49770 // make sure to clone it if it's reactive, since the user likely wants 49771 // to mutate it. 49772 vnode.data.normalizedStyle = isDef(style.__ob__) ? extend({}, style) : style; 49773 var newStyle = getStyle(vnode, true); 49774 for (name in oldStyle) { 49775 if (isUndef(newStyle[name])) { 49776 setProp(el, name, ''); 49777 } 49778 } 49779 for (name in newStyle) { 49780 cur = newStyle[name]; 49781 if (cur !== oldStyle[name]) { 49782 // ie9 setting to null has no effect, must use empty string 49783 setProp(el, name, cur == null ? '' : cur); 49784 } 49785 } 49786} 49787var style$1 = { 49788 create: updateStyle, 49789 update: updateStyle 49790}; 49791 49792var whitespaceRE$1 = /\s+/; 49793/** 49794 * Add class with compatibility for SVG since classList is not supported on 49795 * SVG elements in IE 49796 */ 49797function addClass(el, cls) { 49798 /* istanbul ignore if */ 49799 if (!cls || !(cls = cls.trim())) { 49800 return; 49801 } 49802 /* istanbul ignore else */ 49803 if (el.classList) { 49804 if (cls.indexOf(' ') > -1) { 49805 cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.add(c); }); 49806 } 49807 else { 49808 el.classList.add(cls); 49809 } 49810 } 49811 else { 49812 var cur = " ".concat(el.getAttribute('class') || '', " "); 49813 if (cur.indexOf(' ' + cls + ' ') < 0) { 49814 el.setAttribute('class', (cur + cls).trim()); 49815 } 49816 } 49817} 49818/** 49819 * Remove class with compatibility for SVG since classList is not supported on 49820 * SVG elements in IE 49821 */ 49822function removeClass(el, cls) { 49823 /* istanbul ignore if */ 49824 if (!cls || !(cls = cls.trim())) { 49825 return; 49826 } 49827 /* istanbul ignore else */ 49828 if (el.classList) { 49829 if (cls.indexOf(' ') > -1) { 49830 cls.split(whitespaceRE$1).forEach(function (c) { return el.classList.remove(c); }); 49831 } 49832 else { 49833 el.classList.remove(cls); 49834 } 49835 if (!el.classList.length) { 49836 el.removeAttribute('class'); 49837 } 49838 } 49839 else { 49840 var cur = " ".concat(el.getAttribute('class') || '', " "); 49841 var tar = ' ' + cls + ' '; 49842 while (cur.indexOf(tar) >= 0) { 49843 cur = cur.replace(tar, ' '); 49844 } 49845 cur = cur.trim(); 49846 if (cur) { 49847 el.setAttribute('class', cur); 49848 } 49849 else { 49850 el.removeAttribute('class'); 49851 } 49852 } 49853} 49854 49855function resolveTransition(def) { 49856 if (!def) { 49857 return; 49858 } 49859 /* istanbul ignore else */ 49860 if (typeof def === 'object') { 49861 var res = {}; 49862 if (def.css !== false) { 49863 extend(res, autoCssTransition(def.name || 'v')); 49864 } 49865 extend(res, def); 49866 return res; 49867 } 49868 else if (typeof def === 'string') { 49869 return autoCssTransition(def); 49870 } 49871} 49872var autoCssTransition = cached(function (name) { 49873 return { 49874 enterClass: "".concat(name, "-enter"), 49875 enterToClass: "".concat(name, "-enter-to"), 49876 enterActiveClass: "".concat(name, "-enter-active"), 49877 leaveClass: "".concat(name, "-leave"), 49878 leaveToClass: "".concat(name, "-leave-to"), 49879 leaveActiveClass: "".concat(name, "-leave-active") 49880 }; 49881}); 49882var hasTransition = inBrowser && !isIE9; 49883var TRANSITION = 'transition'; 49884var ANIMATION = 'animation'; 49885// Transition property/event sniffing 49886var transitionProp = 'transition'; 49887var transitionEndEvent = 'transitionend'; 49888var animationProp = 'animation'; 49889var animationEndEvent = 'animationend'; 49890if (hasTransition) { 49891 /* istanbul ignore if */ 49892 if (window.ontransitionend === undefined && 49893 window.onwebkittransitionend !== undefined) { 49894 transitionProp = 'WebkitTransition'; 49895 transitionEndEvent = 'webkitTransitionEnd'; 49896 } 49897 if (window.onanimationend === undefined && 49898 window.onwebkitanimationend !== undefined) { 49899 animationProp = 'WebkitAnimation'; 49900 animationEndEvent = 'webkitAnimationEnd'; 49901 } 49902} 49903// binding to window is necessary to make hot reload work in IE in strict mode 49904var raf = inBrowser 49905 ? window.requestAnimationFrame 49906 ? window.requestAnimationFrame.bind(window) 49907 : setTimeout 49908 : /* istanbul ignore next */ function (/* istanbul ignore next */ fn) { return fn(); }; 49909function nextFrame(fn) { 49910 raf(function () { 49911 // @ts-expect-error 49912 raf(fn); 49913 }); 49914} 49915function addTransitionClass(el, cls) { 49916 var transitionClasses = el._transitionClasses || (el._transitionClasses = []); 49917 if (transitionClasses.indexOf(cls) < 0) { 49918 transitionClasses.push(cls); 49919 addClass(el, cls); 49920 } 49921} 49922function removeTransitionClass(el, cls) { 49923 if (el._transitionClasses) { 49924 remove$2(el._transitionClasses, cls); 49925 } 49926 removeClass(el, cls); 49927} 49928function whenTransitionEnds(el, expectedType, cb) { 49929 var _a = getTransitionInfo(el, expectedType), type = _a.type, timeout = _a.timeout, propCount = _a.propCount; 49930 if (!type) 49931 return cb(); 49932 var event = type === TRANSITION ? transitionEndEvent : animationEndEvent; 49933 var ended = 0; 49934 var end = function () { 49935 el.removeEventListener(event, onEnd); 49936 cb(); 49937 }; 49938 var onEnd = function (e) { 49939 if (e.target === el) { 49940 if (++ended >= propCount) { 49941 end(); 49942 } 49943 } 49944 }; 49945 setTimeout(function () { 49946 if (ended < propCount) { 49947 end(); 49948 } 49949 }, timeout + 1); 49950 el.addEventListener(event, onEnd); 49951} 49952var transformRE = /\b(transform|all)(,|$)/; 49953function getTransitionInfo(el, expectedType) { 49954 var styles = window.getComputedStyle(el); 49955 // JSDOM may return undefined for transition properties 49956 var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', '); 49957 var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', '); 49958 var transitionTimeout = getTimeout(transitionDelays, transitionDurations); 49959 var animationDelays = (styles[animationProp + 'Delay'] || '').split(', '); 49960 var animationDurations = (styles[animationProp + 'Duration'] || '').split(', '); 49961 var animationTimeout = getTimeout(animationDelays, animationDurations); 49962 var type; 49963 var timeout = 0; 49964 var propCount = 0; 49965 /* istanbul ignore if */ 49966 if (expectedType === TRANSITION) { 49967 if (transitionTimeout > 0) { 49968 type = TRANSITION; 49969 timeout = transitionTimeout; 49970 propCount = transitionDurations.length; 49971 } 49972 } 49973 else if (expectedType === ANIMATION) { 49974 if (animationTimeout > 0) { 49975 type = ANIMATION; 49976 timeout = animationTimeout; 49977 propCount = animationDurations.length; 49978 } 49979 } 49980 else { 49981 timeout = Math.max(transitionTimeout, animationTimeout); 49982 type = 49983 timeout > 0 49984 ? transitionTimeout > animationTimeout 49985 ? TRANSITION 49986 : ANIMATION 49987 : null; 49988 propCount = type 49989 ? type === TRANSITION 49990 ? transitionDurations.length 49991 : animationDurations.length 49992 : 0; 49993 } 49994 var hasTransform = type === TRANSITION && transformRE.test(styles[transitionProp + 'Property']); 49995 return { 49996 type: type, 49997 timeout: timeout, 49998 propCount: propCount, 49999 hasTransform: hasTransform 50000 }; 50001} 50002function getTimeout(delays, durations) { 50003 /* istanbul ignore next */ 50004 while (delays.length < durations.length) { 50005 delays = delays.concat(delays); 50006 } 50007 return Math.max.apply(null, durations.map(function (d, i) { 50008 return toMs(d) + toMs(delays[i]); 50009 })); 50010} 50011// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers 50012// in a locale-dependent way, using a comma instead of a dot. 50013// If comma is not replaced with a dot, the input will be rounded down (i.e. acting 50014// as a floor function) causing unexpected behaviors 50015function toMs(s) { 50016 return Number(s.slice(0, -1).replace(',', '.')) * 1000; 50017} 50018 50019function enter(vnode, toggleDisplay) { 50020 var el = vnode.elm; 50021 // call leave callback now 50022 if (isDef(el._leaveCb)) { 50023 el._leaveCb.cancelled = true; 50024 el._leaveCb(); 50025 } 50026 var data = resolveTransition(vnode.data.transition); 50027 if (isUndef(data)) { 50028 return; 50029 } 50030 /* istanbul ignore if */ 50031 if (isDef(el._enterCb) || el.nodeType !== 1) { 50032 return; 50033 } 50034 var css = data.css, type = data.type, enterClass = data.enterClass, enterToClass = data.enterToClass, enterActiveClass = data.enterActiveClass, appearClass = data.appearClass, appearToClass = data.appearToClass, appearActiveClass = data.appearActiveClass, beforeEnter = data.beforeEnter, enter = data.enter, afterEnter = data.afterEnter, enterCancelled = data.enterCancelled, beforeAppear = data.beforeAppear, appear = data.appear, afterAppear = data.afterAppear, appearCancelled = data.appearCancelled, duration = data.duration; 50035 // activeInstance will always be the <transition> component managing this 50036 // transition. One edge case to check is when the <transition> is placed 50037 // as the root node of a child component. In that case we need to check 50038 // <transition>'s parent for appear check. 50039 var context = activeInstance; 50040 var transitionNode = activeInstance.$vnode; 50041 while (transitionNode && transitionNode.parent) { 50042 context = transitionNode.context; 50043 transitionNode = transitionNode.parent; 50044 } 50045 var isAppear = !context._isMounted || !vnode.isRootInsert; 50046 if (isAppear && !appear && appear !== '') { 50047 return; 50048 } 50049 var startClass = isAppear && appearClass ? appearClass : enterClass; 50050 var activeClass = isAppear && appearActiveClass ? appearActiveClass : enterActiveClass; 50051 var toClass = isAppear && appearToClass ? appearToClass : enterToClass; 50052 var beforeEnterHook = isAppear ? beforeAppear || beforeEnter : beforeEnter; 50053 var enterHook = isAppear ? (isFunction(appear) ? appear : enter) : enter; 50054 var afterEnterHook = isAppear ? afterAppear || afterEnter : afterEnter; 50055 var enterCancelledHook = isAppear 50056 ? appearCancelled || enterCancelled 50057 : enterCancelled; 50058 var explicitEnterDuration = toNumber(isObject(duration) ? duration.enter : duration); 50059 if ( true && explicitEnterDuration != null) { 50060 checkDuration(explicitEnterDuration, 'enter', vnode); 50061 } 50062 var expectsCSS = css !== false && !isIE9; 50063 var userWantsControl = getHookArgumentsLength(enterHook); 50064 var cb = (el._enterCb = once(function () { 50065 if (expectsCSS) { 50066 removeTransitionClass(el, toClass); 50067 removeTransitionClass(el, activeClass); 50068 } 50069 // @ts-expect-error 50070 if (cb.cancelled) { 50071 if (expectsCSS) { 50072 removeTransitionClass(el, startClass); 50073 } 50074 enterCancelledHook && enterCancelledHook(el); 50075 } 50076 else { 50077 afterEnterHook && afterEnterHook(el); 50078 } 50079 el._enterCb = null; 50080 })); 50081 if (!vnode.data.show) { 50082 // remove pending leave element on enter by injecting an insert hook 50083 mergeVNodeHook(vnode, 'insert', function () { 50084 var parent = el.parentNode; 50085 var pendingNode = parent && parent._pending && parent._pending[vnode.key]; 50086 if (pendingNode && 50087 pendingNode.tag === vnode.tag && 50088 pendingNode.elm._leaveCb) { 50089 pendingNode.elm._leaveCb(); 50090 } 50091 enterHook && enterHook(el, cb); 50092 }); 50093 } 50094 // start enter transition 50095 beforeEnterHook && beforeEnterHook(el); 50096 if (expectsCSS) { 50097 addTransitionClass(el, startClass); 50098 addTransitionClass(el, activeClass); 50099 nextFrame(function () { 50100 removeTransitionClass(el, startClass); 50101 // @ts-expect-error 50102 if (!cb.cancelled) { 50103 addTransitionClass(el, toClass); 50104 if (!userWantsControl) { 50105 if (isValidDuration(explicitEnterDuration)) { 50106 setTimeout(cb, explicitEnterDuration); 50107 } 50108 else { 50109 whenTransitionEnds(el, type, cb); 50110 } 50111 } 50112 } 50113 }); 50114 } 50115 if (vnode.data.show) { 50116 toggleDisplay && toggleDisplay(); 50117 enterHook && enterHook(el, cb); 50118 } 50119 if (!expectsCSS && !userWantsControl) { 50120 cb(); 50121 } 50122} 50123function leave(vnode, rm) { 50124 var el = vnode.elm; 50125 // call enter callback now 50126 if (isDef(el._enterCb)) { 50127 el._enterCb.cancelled = true; 50128 el._enterCb(); 50129 } 50130 var data = resolveTransition(vnode.data.transition); 50131 if (isUndef(data) || el.nodeType !== 1) { 50132 return rm(); 50133 } 50134 /* istanbul ignore if */ 50135 if (isDef(el._leaveCb)) { 50136 return; 50137 } 50138 var css = data.css, type = data.type, leaveClass = data.leaveClass, leaveToClass = data.leaveToClass, leaveActiveClass = data.leaveActiveClass, beforeLeave = data.beforeLeave, leave = data.leave, afterLeave = data.afterLeave, leaveCancelled = data.leaveCancelled, delayLeave = data.delayLeave, duration = data.duration; 50139 var expectsCSS = css !== false && !isIE9; 50140 var userWantsControl = getHookArgumentsLength(leave); 50141 var explicitLeaveDuration = toNumber(isObject(duration) ? duration.leave : duration); 50142 if ( true && isDef(explicitLeaveDuration)) { 50143 checkDuration(explicitLeaveDuration, 'leave', vnode); 50144 } 50145 var cb = (el._leaveCb = once(function () { 50146 if (el.parentNode && el.parentNode._pending) { 50147 el.parentNode._pending[vnode.key] = null; 50148 } 50149 if (expectsCSS) { 50150 removeTransitionClass(el, leaveToClass); 50151 removeTransitionClass(el, leaveActiveClass); 50152 } 50153 // @ts-expect-error 50154 if (cb.cancelled) { 50155 if (expectsCSS) { 50156 removeTransitionClass(el, leaveClass); 50157 } 50158 leaveCancelled && leaveCancelled(el); 50159 } 50160 else { 50161 rm(); 50162 afterLeave && afterLeave(el); 50163 } 50164 el._leaveCb = null; 50165 })); 50166 if (delayLeave) { 50167 delayLeave(performLeave); 50168 } 50169 else { 50170 performLeave(); 50171 } 50172 function performLeave() { 50173 // the delayed leave may have already been cancelled 50174 // @ts-expect-error 50175 if (cb.cancelled) { 50176 return; 50177 } 50178 // record leaving element 50179 if (!vnode.data.show && el.parentNode) { 50180 (el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = 50181 vnode; 50182 } 50183 beforeLeave && beforeLeave(el); 50184 if (expectsCSS) { 50185 addTransitionClass(el, leaveClass); 50186 addTransitionClass(el, leaveActiveClass); 50187 nextFrame(function () { 50188 removeTransitionClass(el, leaveClass); 50189 // @ts-expect-error 50190 if (!cb.cancelled) { 50191 addTransitionClass(el, leaveToClass); 50192 if (!userWantsControl) { 50193 if (isValidDuration(explicitLeaveDuration)) { 50194 setTimeout(cb, explicitLeaveDuration); 50195 } 50196 else { 50197 whenTransitionEnds(el, type, cb); 50198 } 50199 } 50200 } 50201 }); 50202 } 50203 leave && leave(el, cb); 50204 if (!expectsCSS && !userWantsControl) { 50205 cb(); 50206 } 50207 } 50208} 50209// only used in dev mode 50210function checkDuration(val, name, vnode) { 50211 if (typeof val !== 'number') { 50212 warn$2("<transition> explicit ".concat(name, " duration is not a valid number - ") + 50213 "got ".concat(JSON.stringify(val), "."), vnode.context); 50214 } 50215 else if (isNaN(val)) { 50216 warn$2("<transition> explicit ".concat(name, " duration is NaN - ") + 50217 'the duration expression might be incorrect.', vnode.context); 50218 } 50219} 50220function isValidDuration(val) { 50221 return typeof val === 'number' && !isNaN(val); 50222} 50223/** 50224 * Normalize a transition hook's argument length. The hook may be: 50225 * - a merged hook (invoker) with the original in .fns 50226 * - a wrapped component method (check ._length) 50227 * - a plain function (.length) 50228 */ 50229function getHookArgumentsLength(fn) { 50230 if (isUndef(fn)) { 50231 return false; 50232 } 50233 // @ts-expect-error 50234 var invokerFns = fn.fns; 50235 if (isDef(invokerFns)) { 50236 // invoker 50237 return getHookArgumentsLength(Array.isArray(invokerFns) ? invokerFns[0] : invokerFns); 50238 } 50239 else { 50240 // @ts-expect-error 50241 return (fn._length || fn.length) > 1; 50242 } 50243} 50244function _enter(_, vnode) { 50245 if (vnode.data.show !== true) { 50246 enter(vnode); 50247 } 50248} 50249var transition = inBrowser 50250 ? { 50251 create: _enter, 50252 activate: _enter, 50253 remove: function (vnode, rm) { 50254 /* istanbul ignore else */ 50255 if (vnode.data.show !== true) { 50256 // @ts-expect-error 50257 leave(vnode, rm); 50258 } 50259 else { 50260 rm(); 50261 } 50262 } 50263 } 50264 : {}; 50265 50266var platformModules = [attrs, klass$1, events, domProps, style$1, transition]; 50267 50268// the directive module should be applied last, after all 50269// built-in modules have been applied. 50270var modules$1 = platformModules.concat(baseModules); 50271var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules$1 }); 50272 50273/** 50274 * Not type checking this file because flow doesn't like attaching 50275 * properties to Elements. 50276 */ 50277/* istanbul ignore if */ 50278if (isIE9) { 50279 // http://www.matts411.com/post/internet-explorer-9-oninput/ 50280 document.addEventListener('selectionchange', function () { 50281 var el = document.activeElement; 50282 // @ts-expect-error 50283 if (el && el.vmodel) { 50284 trigger(el, 'input'); 50285 } 50286 }); 50287} 50288var directive = { 50289 inserted: function (el, binding, vnode, oldVnode) { 50290 if (vnode.tag === 'select') { 50291 // #6903 50292 if (oldVnode.elm && !oldVnode.elm._vOptions) { 50293 mergeVNodeHook(vnode, 'postpatch', function () { 50294 directive.componentUpdated(el, binding, vnode); 50295 }); 50296 } 50297 else { 50298 setSelected(el, binding, vnode.context); 50299 } 50300 el._vOptions = [].map.call(el.options, getValue); 50301 } 50302 else if (vnode.tag === 'textarea' || isTextInputType(el.type)) { 50303 el._vModifiers = binding.modifiers; 50304 if (!binding.modifiers.lazy) { 50305 el.addEventListener('compositionstart', onCompositionStart); 50306 el.addEventListener('compositionend', onCompositionEnd); 50307 // Safari < 10.2 & UIWebView doesn't fire compositionend when 50308 // switching focus before confirming composition choice 50309 // this also fixes the issue where some browsers e.g. iOS Chrome 50310 // fires "change" instead of "input" on autocomplete. 50311 el.addEventListener('change', onCompositionEnd); 50312 /* istanbul ignore if */ 50313 if (isIE9) { 50314 el.vmodel = true; 50315 } 50316 } 50317 } 50318 }, 50319 componentUpdated: function (el, binding, vnode) { 50320 if (vnode.tag === 'select') { 50321 setSelected(el, binding, vnode.context); 50322 // in case the options rendered by v-for have changed, 50323 // it's possible that the value is out-of-sync with the rendered options. 50324 // detect such cases and filter out values that no longer has a matching 50325 // option in the DOM. 50326 var prevOptions_1 = el._vOptions; 50327 var curOptions_1 = (el._vOptions = [].map.call(el.options, getValue)); 50328 if (curOptions_1.some(function (o, i) { return !looseEqual(o, prevOptions_1[i]); })) { 50329 // trigger change event if 50330 // no matching option found for at least one value 50331 var needReset = el.multiple 50332 ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions_1); }) 50333 : binding.value !== binding.oldValue && 50334 hasNoMatchingOption(binding.value, curOptions_1); 50335 if (needReset) { 50336 trigger(el, 'change'); 50337 } 50338 } 50339 } 50340 } 50341}; 50342function setSelected(el, binding, vm) { 50343 actuallySetSelected(el, binding, vm); 50344 /* istanbul ignore if */ 50345 if (isIE || isEdge) { 50346 setTimeout(function () { 50347 actuallySetSelected(el, binding, vm); 50348 }, 0); 50349 } 50350} 50351function actuallySetSelected(el, binding, vm) { 50352 var value = binding.value; 50353 var isMultiple = el.multiple; 50354 if (isMultiple && !Array.isArray(value)) { 50355 true && 50356 warn$2("<select multiple v-model=\"".concat(binding.expression, "\"> ") + 50357 "expects an Array value for its binding, but got ".concat(Object.prototype.toString 50358 .call(value) 50359 .slice(8, -1)), vm); 50360 return; 50361 } 50362 var selected, option; 50363 for (var i = 0, l = el.options.length; i < l; i++) { 50364 option = el.options[i]; 50365 if (isMultiple) { 50366 selected = looseIndexOf(value, getValue(option)) > -1; 50367 if (option.selected !== selected) { 50368 option.selected = selected; 50369 } 50370 } 50371 else { 50372 if (looseEqual(getValue(option), value)) { 50373 if (el.selectedIndex !== i) { 50374 el.selectedIndex = i; 50375 } 50376 return; 50377 } 50378 } 50379 } 50380 if (!isMultiple) { 50381 el.selectedIndex = -1; 50382 } 50383} 50384function hasNoMatchingOption(value, options) { 50385 return options.every(function (o) { return !looseEqual(o, value); }); 50386} 50387function getValue(option) { 50388 return '_value' in option ? option._value : option.value; 50389} 50390function onCompositionStart(e) { 50391 e.target.composing = true; 50392} 50393function onCompositionEnd(e) { 50394 // prevent triggering an input event for no reason 50395 if (!e.target.composing) 50396 return; 50397 e.target.composing = false; 50398 trigger(e.target, 'input'); 50399} 50400function trigger(el, type) { 50401 var e = document.createEvent('HTMLEvents'); 50402 e.initEvent(type, true, true); 50403 el.dispatchEvent(e); 50404} 50405 50406// recursively search for possible transition defined inside the component root 50407function locateNode(vnode) { 50408 // @ts-expect-error 50409 return vnode.componentInstance && (!vnode.data || !vnode.data.transition) 50410 ? locateNode(vnode.componentInstance._vnode) 50411 : vnode; 50412} 50413var show = { 50414 bind: function (el, _a, vnode) { 50415 var value = _a.value; 50416 vnode = locateNode(vnode); 50417 var transition = vnode.data && vnode.data.transition; 50418 var originalDisplay = (el.__vOriginalDisplay = 50419 el.style.display === 'none' ? '' : el.style.display); 50420 if (value && transition) { 50421 vnode.data.show = true; 50422 enter(vnode, function () { 50423 el.style.display = originalDisplay; 50424 }); 50425 } 50426 else { 50427 el.style.display = value ? originalDisplay : 'none'; 50428 } 50429 }, 50430 update: function (el, _a, vnode) { 50431 var value = _a.value, oldValue = _a.oldValue; 50432 /* istanbul ignore if */ 50433 if (!value === !oldValue) 50434 return; 50435 vnode = locateNode(vnode); 50436 var transition = vnode.data && vnode.data.transition; 50437 if (transition) { 50438 vnode.data.show = true; 50439 if (value) { 50440 enter(vnode, function () { 50441 el.style.display = el.__vOriginalDisplay; 50442 }); 50443 } 50444 else { 50445 leave(vnode, function () { 50446 el.style.display = 'none'; 50447 }); 50448 } 50449 } 50450 else { 50451 el.style.display = value ? el.__vOriginalDisplay : 'none'; 50452 } 50453 }, 50454 unbind: function (el, binding, vnode, oldVnode, isDestroy) { 50455 if (!isDestroy) { 50456 el.style.display = el.__vOriginalDisplay; 50457 } 50458 } 50459}; 50460 50461var platformDirectives = { 50462 model: directive, 50463 show: show 50464}; 50465 50466// Provides transition support for a single element/component. 50467var transitionProps = { 50468 name: String, 50469 appear: Boolean, 50470 css: Boolean, 50471 mode: String, 50472 type: String, 50473 enterClass: String, 50474 leaveClass: String, 50475 enterToClass: String, 50476 leaveToClass: String, 50477 enterActiveClass: String, 50478 leaveActiveClass: String, 50479 appearClass: String, 50480 appearActiveClass: String, 50481 appearToClass: String, 50482 duration: [Number, String, Object] 50483}; 50484// in case the child is also an abstract component, e.g. <keep-alive> 50485// we want to recursively retrieve the real component to be rendered 50486function getRealChild(vnode) { 50487 var compOptions = vnode && vnode.componentOptions; 50488 if (compOptions && compOptions.Ctor.options.abstract) { 50489 return getRealChild(getFirstComponentChild(compOptions.children)); 50490 } 50491 else { 50492 return vnode; 50493 } 50494} 50495function extractTransitionData(comp) { 50496 var data = {}; 50497 var options = comp.$options; 50498 // props 50499 for (var key in options.propsData) { 50500 data[key] = comp[key]; 50501 } 50502 // events. 50503 // extract listeners and pass them directly to the transition methods 50504 var listeners = options._parentListeners; 50505 for (var key in listeners) { 50506 data[camelize(key)] = listeners[key]; 50507 } 50508 return data; 50509} 50510function placeholder(h, rawChild) { 50511 // @ts-expect-error 50512 if (/\d-keep-alive$/.test(rawChild.tag)) { 50513 return h('keep-alive', { 50514 props: rawChild.componentOptions.propsData 50515 }); 50516 } 50517} 50518function hasParentTransition(vnode) { 50519 while ((vnode = vnode.parent)) { 50520 if (vnode.data.transition) { 50521 return true; 50522 } 50523 } 50524} 50525function isSameChild(child, oldChild) { 50526 return oldChild.key === child.key && oldChild.tag === child.tag; 50527} 50528var isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); }; 50529var isVShowDirective = function (d) { return d.name === 'show'; }; 50530var Transition = { 50531 name: 'transition', 50532 props: transitionProps, 50533 abstract: true, 50534 render: function (h) { 50535 var _this = this; 50536 var children = this.$slots.default; 50537 if (!children) { 50538 return; 50539 } 50540 // filter out text nodes (possible whitespaces) 50541 children = children.filter(isNotTextNode); 50542 /* istanbul ignore if */ 50543 if (!children.length) { 50544 return; 50545 } 50546 // warn multiple elements 50547 if ( true && children.length > 1) { 50548 warn$2('<transition> can only be used on a single element. Use ' + 50549 '<transition-group> for lists.', this.$parent); 50550 } 50551 var mode = this.mode; 50552 // warn invalid mode 50553 if ( true && mode && mode !== 'in-out' && mode !== 'out-in') { 50554 warn$2('invalid <transition> mode: ' + mode, this.$parent); 50555 } 50556 var rawChild = children[0]; 50557 // if this is a component root node and the component's 50558 // parent container node also has transition, skip. 50559 if (hasParentTransition(this.$vnode)) { 50560 return rawChild; 50561 } 50562 // apply transition data to child 50563 // use getRealChild() to ignore abstract components e.g. keep-alive 50564 var child = getRealChild(rawChild); 50565 /* istanbul ignore if */ 50566 if (!child) { 50567 return rawChild; 50568 } 50569 if (this._leaving) { 50570 return placeholder(h, rawChild); 50571 } 50572 // ensure a key that is unique to the vnode type and to this transition 50573 // component instance. This key will be used to remove pending leaving nodes 50574 // during entering. 50575 var id = "__transition-".concat(this._uid, "-"); 50576 child.key = 50577 child.key == null 50578 ? child.isComment 50579 ? id + 'comment' 50580 : id + child.tag 50581 : isPrimitive(child.key) 50582 ? String(child.key).indexOf(id) === 0 50583 ? child.key 50584 : id + child.key 50585 : child.key; 50586 var data = ((child.data || (child.data = {})).transition = 50587 extractTransitionData(this)); 50588 var oldRawChild = this._vnode; 50589 var oldChild = getRealChild(oldRawChild); 50590 // mark v-show 50591 // so that the transition module can hand over the control to the directive 50592 if (child.data.directives && child.data.directives.some(isVShowDirective)) { 50593 child.data.show = true; 50594 } 50595 if (oldChild && 50596 oldChild.data && 50597 !isSameChild(child, oldChild) && 50598 !isAsyncPlaceholder(oldChild) && 50599 // #6687 component root is a comment node 50600 !(oldChild.componentInstance && 50601 oldChild.componentInstance._vnode.isComment)) { 50602 // replace old child transition data with fresh one 50603 // important for dynamic transitions! 50604 var oldData = (oldChild.data.transition = extend({}, data)); 50605 // handle transition mode 50606 if (mode === 'out-in') { 50607 // return placeholder node and queue update when leave finishes 50608 this._leaving = true; 50609 mergeVNodeHook(oldData, 'afterLeave', function () { 50610 _this._leaving = false; 50611 _this.$forceUpdate(); 50612 }); 50613 return placeholder(h, rawChild); 50614 } 50615 else if (mode === 'in-out') { 50616 if (isAsyncPlaceholder(child)) { 50617 return oldRawChild; 50618 } 50619 var delayedLeave_1; 50620 var performLeave = function () { 50621 delayedLeave_1(); 50622 }; 50623 mergeVNodeHook(data, 'afterEnter', performLeave); 50624 mergeVNodeHook(data, 'enterCancelled', performLeave); 50625 mergeVNodeHook(oldData, 'delayLeave', function (leave) { 50626 delayedLeave_1 = leave; 50627 }); 50628 } 50629 } 50630 return rawChild; 50631 } 50632}; 50633 50634// Provides transition support for list items. 50635var props = extend({ 50636 tag: String, 50637 moveClass: String 50638}, transitionProps); 50639delete props.mode; 50640var TransitionGroup = { 50641 props: props, 50642 beforeMount: function () { 50643 var _this = this; 50644 var update = this._update; 50645 this._update = function (vnode, hydrating) { 50646 var restoreActiveInstance = setActiveInstance(_this); 50647 // force removing pass 50648 _this.__patch__(_this._vnode, _this.kept, false, // hydrating 50649 true // removeOnly (!important, avoids unnecessary moves) 50650 ); 50651 _this._vnode = _this.kept; 50652 restoreActiveInstance(); 50653 update.call(_this, vnode, hydrating); 50654 }; 50655 }, 50656 render: function (h) { 50657 var tag = this.tag || this.$vnode.data.tag || 'span'; 50658 var map = Object.create(null); 50659 var prevChildren = (this.prevChildren = this.children); 50660 var rawChildren = this.$slots.default || []; 50661 var children = (this.children = []); 50662 var transitionData = extractTransitionData(this); 50663 for (var i = 0; i < rawChildren.length; i++) { 50664 var c = rawChildren[i]; 50665 if (c.tag) { 50666 if (c.key != null && String(c.key).indexOf('__vlist') !== 0) { 50667 children.push(c); 50668 map[c.key] = c; 50669 (c.data || (c.data = {})).transition = transitionData; 50670 } 50671 else if (true) { 50672 var opts = c.componentOptions; 50673 var name_1 = opts 50674 ? getComponentName(opts.Ctor.options) || opts.tag || '' 50675 : c.tag; 50676 warn$2("<transition-group> children must be keyed: <".concat(name_1, ">")); 50677 } 50678 } 50679 } 50680 if (prevChildren) { 50681 var kept = []; 50682 var removed = []; 50683 for (var i = 0; i < prevChildren.length; i++) { 50684 var c = prevChildren[i]; 50685 c.data.transition = transitionData; 50686 // @ts-expect-error .getBoundingClientRect is not typed in Node 50687 c.data.pos = c.elm.getBoundingClientRect(); 50688 if (map[c.key]) { 50689 kept.push(c); 50690 } 50691 else { 50692 removed.push(c); 50693 } 50694 } 50695 this.kept = h(tag, null, kept); 50696 this.removed = removed; 50697 } 50698 return h(tag, null, children); 50699 }, 50700 updated: function () { 50701 var children = this.prevChildren; 50702 var moveClass = this.moveClass || (this.name || 'v') + '-move'; 50703 if (!children.length || !this.hasMove(children[0].elm, moveClass)) { 50704 return; 50705 } 50706 // we divide the work into three loops to avoid mixing DOM reads and writes 50707 // in each iteration - which helps prevent layout thrashing. 50708 children.forEach(callPendingCbs); 50709 children.forEach(recordPosition); 50710 children.forEach(applyTranslation); 50711 // force reflow to put everything in position 50712 // assign to this to avoid being removed in tree-shaking 50713 // $flow-disable-line 50714 this._reflow = document.body.offsetHeight; 50715 children.forEach(function (c) { 50716 if (c.data.moved) { 50717 var el_1 = c.elm; 50718 var s = el_1.style; 50719 addTransitionClass(el_1, moveClass); 50720 s.transform = s.WebkitTransform = s.transitionDuration = ''; 50721 el_1.addEventListener(transitionEndEvent, (el_1._moveCb = function cb(e) { 50722 if (e && e.target !== el_1) { 50723 return; 50724 } 50725 if (!e || /transform$/.test(e.propertyName)) { 50726 el_1.removeEventListener(transitionEndEvent, cb); 50727 el_1._moveCb = null; 50728 removeTransitionClass(el_1, moveClass); 50729 } 50730 })); 50731 } 50732 }); 50733 }, 50734 methods: { 50735 hasMove: function (el, moveClass) { 50736 /* istanbul ignore if */ 50737 if (!hasTransition) { 50738 return false; 50739 } 50740 /* istanbul ignore if */ 50741 if (this._hasMove) { 50742 return this._hasMove; 50743 } 50744 // Detect whether an element with the move class applied has 50745 // CSS transitions. Since the element may be inside an entering 50746 // transition at this very moment, we make a clone of it and remove 50747 // all other transition classes applied to ensure only the move class 50748 // is applied. 50749 var clone = el.cloneNode(); 50750 if (el._transitionClasses) { 50751 el._transitionClasses.forEach(function (cls) { 50752 removeClass(clone, cls); 50753 }); 50754 } 50755 addClass(clone, moveClass); 50756 clone.style.display = 'none'; 50757 this.$el.appendChild(clone); 50758 var info = getTransitionInfo(clone); 50759 this.$el.removeChild(clone); 50760 return (this._hasMove = info.hasTransform); 50761 } 50762 } 50763}; 50764function callPendingCbs(c) { 50765 /* istanbul ignore if */ 50766 if (c.elm._moveCb) { 50767 c.elm._moveCb(); 50768 } 50769 /* istanbul ignore if */ 50770 if (c.elm._enterCb) { 50771 c.elm._enterCb(); 50772 } 50773} 50774function recordPosition(c) { 50775 c.data.newPos = c.elm.getBoundingClientRect(); 50776} 50777function applyTranslation(c) { 50778 var oldPos = c.data.pos; 50779 var newPos = c.data.newPos; 50780 var dx = oldPos.left - newPos.left; 50781 var dy = oldPos.top - newPos.top; 50782 if (dx || dy) { 50783 c.data.moved = true; 50784 var s = c.elm.style; 50785 s.transform = s.WebkitTransform = "translate(".concat(dx, "px,").concat(dy, "px)"); 50786 s.transitionDuration = '0s'; 50787 } 50788} 50789 50790var platformComponents = { 50791 Transition: Transition, 50792 TransitionGroup: TransitionGroup 50793}; 50794 50795// install platform specific utils 50796Vue.config.mustUseProp = mustUseProp; 50797Vue.config.isReservedTag = isReservedTag; 50798Vue.config.isReservedAttr = isReservedAttr; 50799Vue.config.getTagNamespace = getTagNamespace; 50800Vue.config.isUnknownElement = isUnknownElement; 50801// install platform runtime directives & components 50802extend(Vue.options.directives, platformDirectives); 50803extend(Vue.options.components, platformComponents); 50804// install platform patch function 50805Vue.prototype.__patch__ = inBrowser ? patch : noop; 50806// public mount method 50807Vue.prototype.$mount = function (el, hydrating) { 50808 el = el && inBrowser ? query(el) : undefined; 50809 return mountComponent(this, el, hydrating); 50810}; 50811// devtools global hook 50812/* istanbul ignore next */ 50813if (inBrowser) { 50814 setTimeout(function () { 50815 if (config.devtools) { 50816 if (devtools) { 50817 devtools.emit('init', Vue); 50818 } 50819 else if (true) { 50820 // @ts-expect-error 50821 console[console.info ? 'info' : 'log']('Download the Vue Devtools extension for a better development experience:\n' + 50822 'https://github.com/vuejs/vue-devtools'); 50823 } 50824 } 50825 if ( true && 50826 config.productionTip !== false && 50827 typeof console !== 'undefined') { 50828 // @ts-expect-error 50829 console[console.info ? 'info' : 'log']("You are running Vue in development mode.\n" + 50830 "Make sure to turn on production mode when deploying for production.\n" + 50831 "See more tips at https://vuejs.org/guide/deployment.html"); 50832 } 50833 }, 0); 50834} 50835 50836var defaultTagRE = /\{\{((?:.|\r?\n)+?)\}\}/g; 50837var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g; 50838var buildRegex = cached(function (delimiters) { 50839 var open = delimiters[0].replace(regexEscapeRE, '\\$&'); 50840 var close = delimiters[1].replace(regexEscapeRE, '\\$&'); 50841 return new RegExp(open + '((?:.|\\n)+?)' + close, 'g'); 50842}); 50843function parseText(text, delimiters) { 50844 //@ts-expect-error 50845 var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE; 50846 if (!tagRE.test(text)) { 50847 return; 50848 } 50849 var tokens = []; 50850 var rawTokens = []; 50851 var lastIndex = (tagRE.lastIndex = 0); 50852 var match, index, tokenValue; 50853 while ((match = tagRE.exec(text))) { 50854 index = match.index; 50855 // push text token 50856 if (index > lastIndex) { 50857 rawTokens.push((tokenValue = text.slice(lastIndex, index))); 50858 tokens.push(JSON.stringify(tokenValue)); 50859 } 50860 // tag token 50861 var exp = parseFilters(match[1].trim()); 50862 tokens.push("_s(".concat(exp, ")")); 50863 rawTokens.push({ '@binding': exp }); 50864 lastIndex = index + match[0].length; 50865 } 50866 if (lastIndex < text.length) { 50867 rawTokens.push((tokenValue = text.slice(lastIndex))); 50868 tokens.push(JSON.stringify(tokenValue)); 50869 } 50870 return { 50871 expression: tokens.join('+'), 50872 tokens: rawTokens 50873 }; 50874} 50875 50876function transformNode$1(el, options) { 50877 var warn = options.warn || baseWarn; 50878 var staticClass = getAndRemoveAttr(el, 'class'); 50879 if ( true && staticClass) { 50880 var res = parseText(staticClass, options.delimiters); 50881 if (res) { 50882 warn("class=\"".concat(staticClass, "\": ") + 50883 'Interpolation inside attributes has been removed. ' + 50884 'Use v-bind or the colon shorthand instead. For example, ' + 50885 'instead of <div class="{{ val }}">, use <div :class="val">.', el.rawAttrsMap['class']); 50886 } 50887 } 50888 if (staticClass) { 50889 el.staticClass = JSON.stringify(staticClass.replace(/\s+/g, ' ').trim()); 50890 } 50891 var classBinding = getBindingAttr(el, 'class', false /* getStatic */); 50892 if (classBinding) { 50893 el.classBinding = classBinding; 50894 } 50895} 50896function genData$2(el) { 50897 var data = ''; 50898 if (el.staticClass) { 50899 data += "staticClass:".concat(el.staticClass, ","); 50900 } 50901 if (el.classBinding) { 50902 data += "class:".concat(el.classBinding, ","); 50903 } 50904 return data; 50905} 50906var klass = { 50907 staticKeys: ['staticClass'], 50908 transformNode: transformNode$1, 50909 genData: genData$2 50910}; 50911 50912function transformNode(el, options) { 50913 var warn = options.warn || baseWarn; 50914 var staticStyle = getAndRemoveAttr(el, 'style'); 50915 if (staticStyle) { 50916 /* istanbul ignore if */ 50917 if (true) { 50918 var res = parseText(staticStyle, options.delimiters); 50919 if (res) { 50920 warn("style=\"".concat(staticStyle, "\": ") + 50921 'Interpolation inside attributes has been removed. ' + 50922 'Use v-bind or the colon shorthand instead. For example, ' + 50923 'instead of <div style="{{ val }}">, use <div :style="val">.', el.rawAttrsMap['style']); 50924 } 50925 } 50926 el.staticStyle = JSON.stringify(parseStyleText(staticStyle)); 50927 } 50928 var styleBinding = getBindingAttr(el, 'style', false /* getStatic */); 50929 if (styleBinding) { 50930 el.styleBinding = styleBinding; 50931 } 50932} 50933function genData$1(el) { 50934 var data = ''; 50935 if (el.staticStyle) { 50936 data += "staticStyle:".concat(el.staticStyle, ","); 50937 } 50938 if (el.styleBinding) { 50939 data += "style:(".concat(el.styleBinding, "),"); 50940 } 50941 return data; 50942} 50943var style = { 50944 staticKeys: ['staticStyle'], 50945 transformNode: transformNode, 50946 genData: genData$1 50947}; 50948 50949var decoder; 50950var he = { 50951 decode: function (html) { 50952 decoder = decoder || document.createElement('div'); 50953 decoder.innerHTML = html; 50954 return decoder.textContent; 50955 } 50956}; 50957 50958var isUnaryTag = makeMap('area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' + 50959 'link,meta,param,source,track,wbr'); 50960// Elements that you can, intentionally, leave open 50961// (and which close themselves) 50962var canBeLeftOpenTag = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'); 50963// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3 50964// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content 50965var isNonPhrasingTag = makeMap('address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' + 50966 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' + 50967 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' + 50968 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' + 50969 'title,tr,track'); 50970 50971/** 50972 * Not type-checking this file because it's mostly vendor code. 50973 */ 50974// Regular Expressions for parsing tags and attributes 50975var attribute = /^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; 50976var dynamicArgAttribute = /^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/; 50977var ncname = "[a-zA-Z_][\\-\\.0-9_a-zA-Z".concat(unicodeRegExp.source, "]*"); 50978var qnameCapture = "((?:".concat(ncname, "\\:)?").concat(ncname, ")"); 50979var startTagOpen = new RegExp("^<".concat(qnameCapture)); 50980var startTagClose = /^\s*(\/?)>/; 50981var endTag = new RegExp("^<\\/".concat(qnameCapture, "[^>]*>")); 50982var doctype = /^<!DOCTYPE [^>]+>/i; 50983// #7298: escape - to avoid being passed as HTML comment when inlined in page 50984var comment = /^<!\--/; 50985var conditionalComment = /^<!\[/; 50986// Special Elements (can contain anything) 50987var isPlainTextElement = makeMap('script,style,textarea', true); 50988var reCache = {}; 50989var decodingMap = { 50990 '<': '<', 50991 '>': '>', 50992 '"': '"', 50993 '&': '&', 50994 ' ': '\n', 50995 '	': '\t', 50996 ''': "'" 50997}; 50998var encodedAttr = /&(?:lt|gt|quot|amp|#39);/g; 50999var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g; 51000// #5992 51001var isIgnoreNewlineTag = makeMap('pre,textarea', true); 51002var shouldIgnoreFirstNewline = function (tag, html) { 51003 return tag && isIgnoreNewlineTag(tag) && html[0] === '\n'; 51004}; 51005function decodeAttr(value, shouldDecodeNewlines) { 51006 var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr; 51007 return value.replace(re, function (match) { return decodingMap[match]; }); 51008} 51009function parseHTML(html, options) { 51010 var stack = []; 51011 var expectHTML = options.expectHTML; 51012 var isUnaryTag = options.isUnaryTag || no; 51013 var canBeLeftOpenTag = options.canBeLeftOpenTag || no; 51014 var index = 0; 51015 var last, lastTag; 51016 var _loop_1 = function () { 51017 last = html; 51018 // Make sure we're not in a plaintext content element like script/style 51019 if (!lastTag || !isPlainTextElement(lastTag)) { 51020 var textEnd = html.indexOf('<'); 51021 if (textEnd === 0) { 51022 // Comment: 51023 if (comment.test(html)) { 51024 var commentEnd = html.indexOf('-->'); 51025 if (commentEnd >= 0) { 51026 if (options.shouldKeepComment && options.comment) { 51027 options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3); 51028 } 51029 advance(commentEnd + 3); 51030 return "continue"; 51031 } 51032 } 51033 // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment 51034 if (conditionalComment.test(html)) { 51035 var conditionalEnd = html.indexOf(']>'); 51036 if (conditionalEnd >= 0) { 51037 advance(conditionalEnd + 2); 51038 return "continue"; 51039 } 51040 } 51041 // Doctype: 51042 var doctypeMatch = html.match(doctype); 51043 if (doctypeMatch) { 51044 advance(doctypeMatch[0].length); 51045 return "continue"; 51046 } 51047 // End tag: 51048 var endTagMatch = html.match(endTag); 51049 if (endTagMatch) { 51050 var curIndex = index; 51051 advance(endTagMatch[0].length); 51052 parseEndTag(endTagMatch[1], curIndex, index); 51053 return "continue"; 51054 } 51055 // Start tag: 51056 var startTagMatch = parseStartTag(); 51057 if (startTagMatch) { 51058 handleStartTag(startTagMatch); 51059 if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) { 51060 advance(1); 51061 } 51062 return "continue"; 51063 } 51064 } 51065 var text = void 0, rest = void 0, next = void 0; 51066 if (textEnd >= 0) { 51067 rest = html.slice(textEnd); 51068 while (!endTag.test(rest) && 51069 !startTagOpen.test(rest) && 51070 !comment.test(rest) && 51071 !conditionalComment.test(rest)) { 51072 // < in plain text, be forgiving and treat it as text 51073 next = rest.indexOf('<', 1); 51074 if (next < 0) 51075 break; 51076 textEnd += next; 51077 rest = html.slice(textEnd); 51078 } 51079 text = html.substring(0, textEnd); 51080 } 51081 if (textEnd < 0) { 51082 text = html; 51083 } 51084 if (text) { 51085 advance(text.length); 51086 } 51087 if (options.chars && text) { 51088 options.chars(text, index - text.length, index); 51089 } 51090 } 51091 else { 51092 var endTagLength_1 = 0; 51093 var stackedTag_1 = lastTag.toLowerCase(); 51094 var reStackedTag = reCache[stackedTag_1] || 51095 (reCache[stackedTag_1] = new RegExp('([\\s\\S]*?)(</' + stackedTag_1 + '[^>]*>)', 'i')); 51096 var rest = html.replace(reStackedTag, function (all, text, endTag) { 51097 endTagLength_1 = endTag.length; 51098 if (!isPlainTextElement(stackedTag_1) && stackedTag_1 !== 'noscript') { 51099 text = text 51100 .replace(/<!\--([\s\S]*?)-->/g, '$1') // #7298 51101 .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1'); 51102 } 51103 if (shouldIgnoreFirstNewline(stackedTag_1, text)) { 51104 text = text.slice(1); 51105 } 51106 if (options.chars) { 51107 options.chars(text); 51108 } 51109 return ''; 51110 }); 51111 index += html.length - rest.length; 51112 html = rest; 51113 parseEndTag(stackedTag_1, index - endTagLength_1, index); 51114 } 51115 if (html === last) { 51116 options.chars && options.chars(html); 51117 if ( true && !stack.length && options.warn) { 51118 options.warn("Mal-formatted tag at end of template: \"".concat(html, "\""), { 51119 start: index + html.length 51120 }); 51121 } 51122 return "break"; 51123 } 51124 }; 51125 while (html) { 51126 var state_1 = _loop_1(); 51127 if (state_1 === "break") 51128 break; 51129 } 51130 // Clean up any remaining tags 51131 parseEndTag(); 51132 function advance(n) { 51133 index += n; 51134 html = html.substring(n); 51135 } 51136 function parseStartTag() { 51137 var start = html.match(startTagOpen); 51138 if (start) { 51139 var match = { 51140 tagName: start[1], 51141 attrs: [], 51142 start: index 51143 }; 51144 advance(start[0].length); 51145 var end = void 0, attr = void 0; 51146 while (!(end = html.match(startTagClose)) && 51147 (attr = html.match(dynamicArgAttribute) || html.match(attribute))) { 51148 attr.start = index; 51149 advance(attr[0].length); 51150 attr.end = index; 51151 match.attrs.push(attr); 51152 } 51153 if (end) { 51154 match.unarySlash = end[1]; 51155 advance(end[0].length); 51156 match.end = index; 51157 return match; 51158 } 51159 } 51160 } 51161 function handleStartTag(match) { 51162 var tagName = match.tagName; 51163 var unarySlash = match.unarySlash; 51164 if (expectHTML) { 51165 if (lastTag === 'p' && isNonPhrasingTag(tagName)) { 51166 parseEndTag(lastTag); 51167 } 51168 if (canBeLeftOpenTag(tagName) && lastTag === tagName) { 51169 parseEndTag(tagName); 51170 } 51171 } 51172 var unary = isUnaryTag(tagName) || !!unarySlash; 51173 var l = match.attrs.length; 51174 var attrs = new Array(l); 51175 for (var i = 0; i < l; i++) { 51176 var args = match.attrs[i]; 51177 var value = args[3] || args[4] || args[5] || ''; 51178 var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href' 51179 ? options.shouldDecodeNewlinesForHref 51180 : options.shouldDecodeNewlines; 51181 attrs[i] = { 51182 name: args[1], 51183 value: decodeAttr(value, shouldDecodeNewlines) 51184 }; 51185 if ( true && options.outputSourceRange) { 51186 attrs[i].start = args.start + args[0].match(/^\s*/).length; 51187 attrs[i].end = args.end; 51188 } 51189 } 51190 if (!unary) { 51191 stack.push({ 51192 tag: tagName, 51193 lowerCasedTag: tagName.toLowerCase(), 51194 attrs: attrs, 51195 start: match.start, 51196 end: match.end 51197 }); 51198 lastTag = tagName; 51199 } 51200 if (options.start) { 51201 options.start(tagName, attrs, unary, match.start, match.end); 51202 } 51203 } 51204 function parseEndTag(tagName, start, end) { 51205 var pos, lowerCasedTagName; 51206 if (start == null) 51207 start = index; 51208 if (end == null) 51209 end = index; 51210 // Find the closest opened tag of the same type 51211 if (tagName) { 51212 lowerCasedTagName = tagName.toLowerCase(); 51213 for (pos = stack.length - 1; pos >= 0; pos--) { 51214 if (stack[pos].lowerCasedTag === lowerCasedTagName) { 51215 break; 51216 } 51217 } 51218 } 51219 else { 51220 // If no tag name is provided, clean shop 51221 pos = 0; 51222 } 51223 if (pos >= 0) { 51224 // Close all the open elements, up the stack 51225 for (var i = stack.length - 1; i >= pos; i--) { 51226 if ( true && (i > pos || !tagName) && options.warn) { 51227 options.warn("tag <".concat(stack[i].tag, "> has no matching end tag."), { 51228 start: stack[i].start, 51229 end: stack[i].end 51230 }); 51231 } 51232 if (options.end) { 51233 options.end(stack[i].tag, start, end); 51234 } 51235 } 51236 // Remove the open elements from the stack 51237 stack.length = pos; 51238 lastTag = pos && stack[pos - 1].tag; 51239 } 51240 else if (lowerCasedTagName === 'br') { 51241 if (options.start) { 51242 options.start(tagName, [], true, start, end); 51243 } 51244 } 51245 else if (lowerCasedTagName === 'p') { 51246 if (options.start) { 51247 options.start(tagName, [], false, start, end); 51248 } 51249 if (options.end) { 51250 options.end(tagName, start, end); 51251 } 51252 } 51253 } 51254} 51255 51256var onRE = /^@|^v-on:/; 51257var dirRE = /^v-|^@|^:|^#/; 51258var forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/; 51259var forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/; 51260var stripParensRE = /^\(|\)$/g; 51261var dynamicArgRE = /^\[.*\]$/; 51262var argRE = /:(.*)$/; 51263var bindRE = /^:|^\.|^v-bind:/; 51264var modifierRE = /\.[^.\]]+(?=[^\]]*$)/g; 51265var slotRE = /^v-slot(:|$)|^#/; 51266var lineBreakRE = /[\r\n]/; 51267var whitespaceRE = /[ \f\t\r\n]+/g; 51268var invalidAttributeRE = /[\s"'<>\/=]/; 51269var decodeHTMLCached = cached(he.decode); 51270var emptySlotScopeToken = "_empty_"; 51271// configurable state 51272var warn; 51273var delimiters; 51274var transforms; 51275var preTransforms; 51276var postTransforms; 51277var platformIsPreTag; 51278var platformMustUseProp; 51279var platformGetTagNamespace; 51280var maybeComponent; 51281function createASTElement(tag, attrs, parent) { 51282 return { 51283 type: 1, 51284 tag: tag, 51285 attrsList: attrs, 51286 attrsMap: makeAttrsMap(attrs), 51287 rawAttrsMap: {}, 51288 parent: parent, 51289 children: [] 51290 }; 51291} 51292/** 51293 * Convert HTML string to AST. 51294 */ 51295function parse(template, options) { 51296 warn = options.warn || baseWarn; 51297 platformIsPreTag = options.isPreTag || no; 51298 platformMustUseProp = options.mustUseProp || no; 51299 platformGetTagNamespace = options.getTagNamespace || no; 51300 var isReservedTag = options.isReservedTag || no; 51301 maybeComponent = function (el) { 51302 return !!(el.component || 51303 el.attrsMap[':is'] || 51304 el.attrsMap['v-bind:is'] || 51305 !(el.attrsMap.is ? isReservedTag(el.attrsMap.is) : isReservedTag(el.tag))); 51306 }; 51307 transforms = pluckModuleFunction(options.modules, 'transformNode'); 51308 preTransforms = pluckModuleFunction(options.modules, 'preTransformNode'); 51309 postTransforms = pluckModuleFunction(options.modules, 'postTransformNode'); 51310 delimiters = options.delimiters; 51311 var stack = []; 51312 var preserveWhitespace = options.preserveWhitespace !== false; 51313 var whitespaceOption = options.whitespace; 51314 var root; 51315 var currentParent; 51316 var inVPre = false; 51317 var inPre = false; 51318 var warned = false; 51319 function warnOnce(msg, range) { 51320 if (!warned) { 51321 warned = true; 51322 warn(msg, range); 51323 } 51324 } 51325 function closeElement(element) { 51326 trimEndingWhitespace(element); 51327 if (!inVPre && !element.processed) { 51328 element = processElement(element, options); 51329 } 51330 // tree management 51331 if (!stack.length && element !== root) { 51332 // allow root elements with v-if, v-else-if and v-else 51333 if (root.if && (element.elseif || element.else)) { 51334 if (true) { 51335 checkRootConstraints(element); 51336 } 51337 addIfCondition(root, { 51338 exp: element.elseif, 51339 block: element 51340 }); 51341 } 51342 else if (true) { 51343 warnOnce("Component template should contain exactly one root element. " + 51344 "If you are using v-if on multiple elements, " + 51345 "use v-else-if to chain them instead.", { start: element.start }); 51346 } 51347 } 51348 if (currentParent && !element.forbidden) { 51349 if (element.elseif || element.else) { 51350 processIfConditions(element, currentParent); 51351 } 51352 else { 51353 if (element.slotScope) { 51354 // scoped slot 51355 // keep it in the children list so that v-else(-if) conditions can 51356 // find it as the prev node. 51357 var name_1 = element.slotTarget || '"default"'; 51358 (currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name_1] = element; 51359 } 51360 currentParent.children.push(element); 51361 element.parent = currentParent; 51362 } 51363 } 51364 // final children cleanup 51365 // filter out scoped slots 51366 element.children = element.children.filter(function (c) { return !c.slotScope; }); 51367 // remove trailing whitespace node again 51368 trimEndingWhitespace(element); 51369 // check pre state 51370 if (element.pre) { 51371 inVPre = false; 51372 } 51373 if (platformIsPreTag(element.tag)) { 51374 inPre = false; 51375 } 51376 // apply post-transforms 51377 for (var i = 0; i < postTransforms.length; i++) { 51378 postTransforms[i](element, options); 51379 } 51380 } 51381 function trimEndingWhitespace(el) { 51382 // remove trailing whitespace node 51383 if (!inPre) { 51384 var lastNode = void 0; 51385 while ((lastNode = el.children[el.children.length - 1]) && 51386 lastNode.type === 3 && 51387 lastNode.text === ' ') { 51388 el.children.pop(); 51389 } 51390 } 51391 } 51392 function checkRootConstraints(el) { 51393 if (el.tag === 'slot' || el.tag === 'template') { 51394 warnOnce("Cannot use <".concat(el.tag, "> as component root element because it may ") + 51395 'contain multiple nodes.', { start: el.start }); 51396 } 51397 if (el.attrsMap.hasOwnProperty('v-for')) { 51398 warnOnce('Cannot use v-for on stateful component root element because ' + 51399 'it renders multiple elements.', el.rawAttrsMap['v-for']); 51400 } 51401 } 51402 parseHTML(template, { 51403 warn: warn, 51404 expectHTML: options.expectHTML, 51405 isUnaryTag: options.isUnaryTag, 51406 canBeLeftOpenTag: options.canBeLeftOpenTag, 51407 shouldDecodeNewlines: options.shouldDecodeNewlines, 51408 shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref, 51409 shouldKeepComment: options.comments, 51410 outputSourceRange: options.outputSourceRange, 51411 start: function (tag, attrs, unary, start, end) { 51412 // check namespace. 51413 // inherit parent ns if there is one 51414 var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag); 51415 // handle IE svg bug 51416 /* istanbul ignore if */ 51417 if (isIE && ns === 'svg') { 51418 attrs = guardIESVGBug(attrs); 51419 } 51420 var element = createASTElement(tag, attrs, currentParent); 51421 if (ns) { 51422 element.ns = ns; 51423 } 51424 if (true) { 51425 if (options.outputSourceRange) { 51426 element.start = start; 51427 element.end = end; 51428 element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) { 51429 cumulated[attr.name] = attr; 51430 return cumulated; 51431 }, {}); 51432 } 51433 attrs.forEach(function (attr) { 51434 if (invalidAttributeRE.test(attr.name)) { 51435 warn("Invalid dynamic argument expression: attribute names cannot contain " + 51436 "spaces, quotes, <, >, / or =.", options.outputSourceRange 51437 ? { 51438 start: attr.start + attr.name.indexOf("["), 51439 end: attr.start + attr.name.length 51440 } 51441 : undefined); 51442 } 51443 }); 51444 } 51445 if (isForbiddenTag(element) && !isServerRendering()) { 51446 element.forbidden = true; 51447 true && 51448 warn('Templates should only be responsible for mapping the state to the ' + 51449 'UI. Avoid placing tags with side-effects in your templates, such as ' + 51450 "<".concat(tag, ">") + 51451 ', as they will not be parsed.', { start: element.start }); 51452 } 51453 // apply pre-transforms 51454 for (var i = 0; i < preTransforms.length; i++) { 51455 element = preTransforms[i](element, options) || element; 51456 } 51457 if (!inVPre) { 51458 processPre(element); 51459 if (element.pre) { 51460 inVPre = true; 51461 } 51462 } 51463 if (platformIsPreTag(element.tag)) { 51464 inPre = true; 51465 } 51466 if (inVPre) { 51467 processRawAttrs(element); 51468 } 51469 else if (!element.processed) { 51470 // structural directives 51471 processFor(element); 51472 processIf(element); 51473 processOnce(element); 51474 } 51475 if (!root) { 51476 root = element; 51477 if (true) { 51478 checkRootConstraints(root); 51479 } 51480 } 51481 if (!unary) { 51482 currentParent = element; 51483 stack.push(element); 51484 } 51485 else { 51486 closeElement(element); 51487 } 51488 }, 51489 end: function (tag, start, end) { 51490 var element = stack[stack.length - 1]; 51491 // pop stack 51492 stack.length -= 1; 51493 currentParent = stack[stack.length - 1]; 51494 if ( true && options.outputSourceRange) { 51495 element.end = end; 51496 } 51497 closeElement(element); 51498 }, 51499 chars: function (text, start, end) { 51500 if (!currentParent) { 51501 if (true) { 51502 if (text === template) { 51503 warnOnce('Component template requires a root element, rather than just text.', { start: start }); 51504 } 51505 else if ((text = text.trim())) { 51506 warnOnce("text \"".concat(text, "\" outside root element will be ignored."), { 51507 start: start 51508 }); 51509 } 51510 } 51511 return; 51512 } 51513 // IE textarea placeholder bug 51514 /* istanbul ignore if */ 51515 if (isIE && 51516 currentParent.tag === 'textarea' && 51517 currentParent.attrsMap.placeholder === text) { 51518 return; 51519 } 51520 var children = currentParent.children; 51521 if (inPre || text.trim()) { 51522 text = isTextTag(currentParent) 51523 ? text 51524 : decodeHTMLCached(text); 51525 } 51526 else if (!children.length) { 51527 // remove the whitespace-only node right after an opening tag 51528 text = ''; 51529 } 51530 else if (whitespaceOption) { 51531 if (whitespaceOption === 'condense') { 51532 // in condense mode, remove the whitespace node if it contains 51533 // line break, otherwise condense to a single space 51534 text = lineBreakRE.test(text) ? '' : ' '; 51535 } 51536 else { 51537 text = ' '; 51538 } 51539 } 51540 else { 51541 text = preserveWhitespace ? ' ' : ''; 51542 } 51543 if (text) { 51544 if (!inPre && whitespaceOption === 'condense') { 51545 // condense consecutive whitespaces into single space 51546 text = text.replace(whitespaceRE, ' '); 51547 } 51548 var res = void 0; 51549 var child = void 0; 51550 if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) { 51551 child = { 51552 type: 2, 51553 expression: res.expression, 51554 tokens: res.tokens, 51555 text: text 51556 }; 51557 } 51558 else if (text !== ' ' || 51559 !children.length || 51560 children[children.length - 1].text !== ' ') { 51561 child = { 51562 type: 3, 51563 text: text 51564 }; 51565 } 51566 if (child) { 51567 if ( true && options.outputSourceRange) { 51568 child.start = start; 51569 child.end = end; 51570 } 51571 children.push(child); 51572 } 51573 } 51574 }, 51575 comment: function (text, start, end) { 51576 // adding anything as a sibling to the root node is forbidden 51577 // comments should still be allowed, but ignored 51578 if (currentParent) { 51579 var child = { 51580 type: 3, 51581 text: text, 51582 isComment: true 51583 }; 51584 if ( true && options.outputSourceRange) { 51585 child.start = start; 51586 child.end = end; 51587 } 51588 currentParent.children.push(child); 51589 } 51590 } 51591 }); 51592 return root; 51593} 51594function processPre(el) { 51595 if (getAndRemoveAttr(el, 'v-pre') != null) { 51596 el.pre = true; 51597 } 51598} 51599function processRawAttrs(el) { 51600 var list = el.attrsList; 51601 var len = list.length; 51602 if (len) { 51603 var attrs = (el.attrs = new Array(len)); 51604 for (var i = 0; i < len; i++) { 51605 attrs[i] = { 51606 name: list[i].name, 51607 value: JSON.stringify(list[i].value) 51608 }; 51609 if (list[i].start != null) { 51610 attrs[i].start = list[i].start; 51611 attrs[i].end = list[i].end; 51612 } 51613 } 51614 } 51615 else if (!el.pre) { 51616 // non root node in pre blocks with no attributes 51617 el.plain = true; 51618 } 51619} 51620function processElement(element, options) { 51621 processKey(element); 51622 // determine whether this is a plain element after 51623 // removing structural attributes 51624 element.plain = 51625 !element.key && !element.scopedSlots && !element.attrsList.length; 51626 processRef(element); 51627 processSlotContent(element); 51628 processSlotOutlet(element); 51629 processComponent(element); 51630 for (var i = 0; i < transforms.length; i++) { 51631 element = transforms[i](element, options) || element; 51632 } 51633 processAttrs(element); 51634 return element; 51635} 51636function processKey(el) { 51637 var exp = getBindingAttr(el, 'key'); 51638 if (exp) { 51639 if (true) { 51640 if (el.tag === 'template') { 51641 warn("<template> cannot be keyed. Place the key on real elements instead.", getRawBindingAttr(el, 'key')); 51642 } 51643 if (el.for) { 51644 var iterator = el.iterator2 || el.iterator1; 51645 var parent_1 = el.parent; 51646 if (iterator && 51647 iterator === exp && 51648 parent_1 && 51649 parent_1.tag === 'transition-group') { 51650 warn("Do not use v-for index as key on <transition-group> children, " + 51651 "this is the same as not using keys.", getRawBindingAttr(el, 'key'), true /* tip */); 51652 } 51653 } 51654 } 51655 el.key = exp; 51656 } 51657} 51658function processRef(el) { 51659 var ref = getBindingAttr(el, 'ref'); 51660 if (ref) { 51661 el.ref = ref; 51662 el.refInFor = checkInFor(el); 51663 } 51664} 51665function processFor(el) { 51666 var exp; 51667 if ((exp = getAndRemoveAttr(el, 'v-for'))) { 51668 var res = parseFor(exp); 51669 if (res) { 51670 extend(el, res); 51671 } 51672 else if (true) { 51673 warn("Invalid v-for expression: ".concat(exp), el.rawAttrsMap['v-for']); 51674 } 51675 } 51676} 51677function parseFor(exp) { 51678 var inMatch = exp.match(forAliasRE); 51679 if (!inMatch) 51680 return; 51681 var res = {}; 51682 res.for = inMatch[2].trim(); 51683 var alias = inMatch[1].trim().replace(stripParensRE, ''); 51684 var iteratorMatch = alias.match(forIteratorRE); 51685 if (iteratorMatch) { 51686 res.alias = alias.replace(forIteratorRE, '').trim(); 51687 res.iterator1 = iteratorMatch[1].trim(); 51688 if (iteratorMatch[2]) { 51689 res.iterator2 = iteratorMatch[2].trim(); 51690 } 51691 } 51692 else { 51693 res.alias = alias; 51694 } 51695 return res; 51696} 51697function processIf(el) { 51698 var exp = getAndRemoveAttr(el, 'v-if'); 51699 if (exp) { 51700 el.if = exp; 51701 addIfCondition(el, { 51702 exp: exp, 51703 block: el 51704 }); 51705 } 51706 else { 51707 if (getAndRemoveAttr(el, 'v-else') != null) { 51708 el.else = true; 51709 } 51710 var elseif = getAndRemoveAttr(el, 'v-else-if'); 51711 if (elseif) { 51712 el.elseif = elseif; 51713 } 51714 } 51715} 51716function processIfConditions(el, parent) { 51717 var prev = findPrevElement(parent.children); 51718 if (prev && prev.if) { 51719 addIfCondition(prev, { 51720 exp: el.elseif, 51721 block: el 51722 }); 51723 } 51724 else if (true) { 51725 warn("v-".concat(el.elseif ? 'else-if="' + el.elseif + '"' : 'else', " ") + 51726 "used on element <".concat(el.tag, "> without corresponding v-if."), el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']); 51727 } 51728} 51729function findPrevElement(children) { 51730 var i = children.length; 51731 while (i--) { 51732 if (children[i].type === 1) { 51733 return children[i]; 51734 } 51735 else { 51736 if ( true && children[i].text !== ' ') { 51737 warn("text \"".concat(children[i].text.trim(), "\" between v-if and v-else(-if) ") + 51738 "will be ignored.", children[i]); 51739 } 51740 children.pop(); 51741 } 51742 } 51743} 51744function addIfCondition(el, condition) { 51745 if (!el.ifConditions) { 51746 el.ifConditions = []; 51747 } 51748 el.ifConditions.push(condition); 51749} 51750function processOnce(el) { 51751 var once = getAndRemoveAttr(el, 'v-once'); 51752 if (once != null) { 51753 el.once = true; 51754 } 51755} 51756// handle content being passed to a component as slot, 51757// e.g. <template slot="xxx">, <div slot-scope="xxx"> 51758function processSlotContent(el) { 51759 var slotScope; 51760 if (el.tag === 'template') { 51761 slotScope = getAndRemoveAttr(el, 'scope'); 51762 /* istanbul ignore if */ 51763 if ( true && slotScope) { 51764 warn("the \"scope\" attribute for scoped slots have been deprecated and " + 51765 "replaced by \"slot-scope\" since 2.5. The new \"slot-scope\" attribute " + 51766 "can also be used on plain elements in addition to <template> to " + 51767 "denote scoped slots.", el.rawAttrsMap['scope'], true); 51768 } 51769 el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope'); 51770 } 51771 else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) { 51772 /* istanbul ignore if */ 51773 if ( true && el.attrsMap['v-for']) { 51774 warn("Ambiguous combined usage of slot-scope and v-for on <".concat(el.tag, "> ") + 51775 "(v-for takes higher priority). Use a wrapper <template> for the " + 51776 "scoped slot to make it clearer.", el.rawAttrsMap['slot-scope'], true); 51777 } 51778 el.slotScope = slotScope; 51779 } 51780 // slot="xxx" 51781 var slotTarget = getBindingAttr(el, 'slot'); 51782 if (slotTarget) { 51783 el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget; 51784 el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']); 51785 // preserve slot as an attribute for native shadow DOM compat 51786 // only for non-scoped slots. 51787 if (el.tag !== 'template' && !el.slotScope) { 51788 addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot')); 51789 } 51790 } 51791 // 2.6 v-slot syntax 51792 { 51793 if (el.tag === 'template') { 51794 // v-slot on <template> 51795 var slotBinding = getAndRemoveAttrByRegex(el, slotRE); 51796 if (slotBinding) { 51797 if (true) { 51798 if (el.slotTarget || el.slotScope) { 51799 warn("Unexpected mixed usage of different slot syntaxes.", el); 51800 } 51801 if (el.parent && !maybeComponent(el.parent)) { 51802 warn("<template v-slot> can only appear at the root level inside " + 51803 "the receiving component", el); 51804 } 51805 } 51806 var _a = getSlotName(slotBinding), name_2 = _a.name, dynamic = _a.dynamic; 51807 el.slotTarget = name_2; 51808 el.slotTargetDynamic = dynamic; 51809 el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf 51810 } 51811 } 51812 else { 51813 // v-slot on component, denotes default slot 51814 var slotBinding = getAndRemoveAttrByRegex(el, slotRE); 51815 if (slotBinding) { 51816 if (true) { 51817 if (!maybeComponent(el)) { 51818 warn("v-slot can only be used on components or <template>.", slotBinding); 51819 } 51820 if (el.slotScope || el.slotTarget) { 51821 warn("Unexpected mixed usage of different slot syntaxes.", el); 51822 } 51823 if (el.scopedSlots) { 51824 warn("To avoid scope ambiguity, the default slot should also use " + 51825 "<template> syntax when there are other named slots.", slotBinding); 51826 } 51827 } 51828 // add the component's children to its default slot 51829 var slots = el.scopedSlots || (el.scopedSlots = {}); 51830 var _b = getSlotName(slotBinding), name_3 = _b.name, dynamic = _b.dynamic; 51831 var slotContainer_1 = (slots[name_3] = createASTElement('template', [], el)); 51832 slotContainer_1.slotTarget = name_3; 51833 slotContainer_1.slotTargetDynamic = dynamic; 51834 slotContainer_1.children = el.children.filter(function (c) { 51835 if (!c.slotScope) { 51836 c.parent = slotContainer_1; 51837 return true; 51838 } 51839 }); 51840 slotContainer_1.slotScope = slotBinding.value || emptySlotScopeToken; 51841 // remove children as they are returned from scopedSlots now 51842 el.children = []; 51843 // mark el non-plain so data gets generated 51844 el.plain = false; 51845 } 51846 } 51847 } 51848} 51849function getSlotName(binding) { 51850 var name = binding.name.replace(slotRE, ''); 51851 if (!name) { 51852 if (binding.name[0] !== '#') { 51853 name = 'default'; 51854 } 51855 else if (true) { 51856 warn("v-slot shorthand syntax requires a slot name.", binding); 51857 } 51858 } 51859 return dynamicArgRE.test(name) 51860 ? // dynamic [name] 51861 { name: name.slice(1, -1), dynamic: true } 51862 : // static name 51863 { name: "\"".concat(name, "\""), dynamic: false }; 51864} 51865// handle <slot/> outlets 51866function processSlotOutlet(el) { 51867 if (el.tag === 'slot') { 51868 el.slotName = getBindingAttr(el, 'name'); 51869 if ( true && el.key) { 51870 warn("`key` does not work on <slot> because slots are abstract outlets " + 51871 "and can possibly expand into multiple elements. " + 51872 "Use the key on a wrapping element instead.", getRawBindingAttr(el, 'key')); 51873 } 51874 } 51875} 51876function processComponent(el) { 51877 var binding; 51878 if ((binding = getBindingAttr(el, 'is'))) { 51879 el.component = binding; 51880 } 51881 if (getAndRemoveAttr(el, 'inline-template') != null) { 51882 el.inlineTemplate = true; 51883 } 51884} 51885function processAttrs(el) { 51886 var list = el.attrsList; 51887 var i, l, name, rawName, value, modifiers, syncGen, isDynamic; 51888 for (i = 0, l = list.length; i < l; i++) { 51889 name = rawName = list[i].name; 51890 value = list[i].value; 51891 if (dirRE.test(name)) { 51892 // mark element as dynamic 51893 el.hasBindings = true; 51894 // modifiers 51895 modifiers = parseModifiers(name.replace(dirRE, '')); 51896 // support .foo shorthand syntax for the .prop modifier 51897 if (modifiers) { 51898 name = name.replace(modifierRE, ''); 51899 } 51900 if (bindRE.test(name)) { 51901 // v-bind 51902 name = name.replace(bindRE, ''); 51903 value = parseFilters(value); 51904 isDynamic = dynamicArgRE.test(name); 51905 if (isDynamic) { 51906 name = name.slice(1, -1); 51907 } 51908 if ( true && value.trim().length === 0) { 51909 warn("The value for a v-bind expression cannot be empty. Found in \"v-bind:".concat(name, "\"")); 51910 } 51911 if (modifiers) { 51912 if (modifiers.prop && !isDynamic) { 51913 name = camelize(name); 51914 if (name === 'innerHtml') 51915 name = 'innerHTML'; 51916 } 51917 if (modifiers.camel && !isDynamic) { 51918 name = camelize(name); 51919 } 51920 if (modifiers.sync) { 51921 syncGen = genAssignmentCode(value, "$event"); 51922 if (!isDynamic) { 51923 addHandler(el, "update:".concat(camelize(name)), syncGen, null, false, warn, list[i]); 51924 if (hyphenate(name) !== camelize(name)) { 51925 addHandler(el, "update:".concat(hyphenate(name)), syncGen, null, false, warn, list[i]); 51926 } 51927 } 51928 else { 51929 // handler w/ dynamic event name 51930 addHandler(el, "\"update:\"+(".concat(name, ")"), syncGen, null, false, warn, list[i], true // dynamic 51931 ); 51932 } 51933 } 51934 } 51935 if ((modifiers && modifiers.prop) || 51936 (!el.component && platformMustUseProp(el.tag, el.attrsMap.type, name))) { 51937 addProp(el, name, value, list[i], isDynamic); 51938 } 51939 else { 51940 addAttr(el, name, value, list[i], isDynamic); 51941 } 51942 } 51943 else if (onRE.test(name)) { 51944 // v-on 51945 name = name.replace(onRE, ''); 51946 isDynamic = dynamicArgRE.test(name); 51947 if (isDynamic) { 51948 name = name.slice(1, -1); 51949 } 51950 addHandler(el, name, value, modifiers, false, warn, list[i], isDynamic); 51951 } 51952 else { 51953 // normal directives 51954 name = name.replace(dirRE, ''); 51955 // parse arg 51956 var argMatch = name.match(argRE); 51957 var arg = argMatch && argMatch[1]; 51958 isDynamic = false; 51959 if (arg) { 51960 name = name.slice(0, -(arg.length + 1)); 51961 if (dynamicArgRE.test(arg)) { 51962 arg = arg.slice(1, -1); 51963 isDynamic = true; 51964 } 51965 } 51966 addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]); 51967 if ( true && name === 'model') { 51968 checkForAliasModel(el, value); 51969 } 51970 } 51971 } 51972 else { 51973 // literal attribute 51974 if (true) { 51975 var res = parseText(value, delimiters); 51976 if (res) { 51977 warn("".concat(name, "=\"").concat(value, "\": ") + 51978 'Interpolation inside attributes has been removed. ' + 51979 'Use v-bind or the colon shorthand instead. For example, ' + 51980 'instead of <div id="{{ val }}">, use <div :id="val">.', list[i]); 51981 } 51982 } 51983 addAttr(el, name, JSON.stringify(value), list[i]); 51984 // #6887 firefox doesn't update muted state if set via attribute 51985 // even immediately after element creation 51986 if (!el.component && 51987 name === 'muted' && 51988 platformMustUseProp(el.tag, el.attrsMap.type, name)) { 51989 addProp(el, name, 'true', list[i]); 51990 } 51991 } 51992 } 51993} 51994function checkInFor(el) { 51995 var parent = el; 51996 while (parent) { 51997 if (parent.for !== undefined) { 51998 return true; 51999 } 52000 parent = parent.parent; 52001 } 52002 return false; 52003} 52004function parseModifiers(name) { 52005 var match = name.match(modifierRE); 52006 if (match) { 52007 var ret_1 = {}; 52008 match.forEach(function (m) { 52009 ret_1[m.slice(1)] = true; 52010 }); 52011 return ret_1; 52012 } 52013} 52014function makeAttrsMap(attrs) { 52015 var map = {}; 52016 for (var i = 0, l = attrs.length; i < l; i++) { 52017 if ( true && map[attrs[i].name] && !isIE && !isEdge) { 52018 warn('duplicate attribute: ' + attrs[i].name, attrs[i]); 52019 } 52020 map[attrs[i].name] = attrs[i].value; 52021 } 52022 return map; 52023} 52024// for script (e.g. type="x/template") or style, do not decode content 52025function isTextTag(el) { 52026 return el.tag === 'script' || el.tag === 'style'; 52027} 52028function isForbiddenTag(el) { 52029 return (el.tag === 'style' || 52030 (el.tag === 'script' && 52031 (!el.attrsMap.type || el.attrsMap.type === 'text/javascript'))); 52032} 52033var ieNSBug = /^xmlns:NS\d+/; 52034var ieNSPrefix = /^NS\d+:/; 52035/* istanbul ignore next */ 52036function guardIESVGBug(attrs) { 52037 var res = []; 52038 for (var i = 0; i < attrs.length; i++) { 52039 var attr = attrs[i]; 52040 if (!ieNSBug.test(attr.name)) { 52041 attr.name = attr.name.replace(ieNSPrefix, ''); 52042 res.push(attr); 52043 } 52044 } 52045 return res; 52046} 52047function checkForAliasModel(el, value) { 52048 var _el = el; 52049 while (_el) { 52050 if (_el.for && _el.alias === value) { 52051 warn("<".concat(el.tag, " v-model=\"").concat(value, "\">: ") + 52052 "You are binding v-model directly to a v-for iteration alias. " + 52053 "This will not be able to modify the v-for source array because " + 52054 "writing to the alias is like modifying a function local variable. " + 52055 "Consider using an array of objects and use v-model on an object property instead.", el.rawAttrsMap['v-model']); 52056 } 52057 _el = _el.parent; 52058 } 52059} 52060 52061/** 52062 * Expand input[v-model] with dynamic type bindings into v-if-else chains 52063 * Turn this: 52064 * <input v-model="data[type]" :type="type"> 52065 * into this: 52066 * <input v-if="type === 'checkbox'" type="checkbox" v-model="data[type]"> 52067 * <input v-else-if="type === 'radio'" type="radio" v-model="data[type]"> 52068 * <input v-else :type="type" v-model="data[type]"> 52069 */ 52070function preTransformNode(el, options) { 52071 if (el.tag === 'input') { 52072 var map = el.attrsMap; 52073 if (!map['v-model']) { 52074 return; 52075 } 52076 var typeBinding = void 0; 52077 if (map[':type'] || map['v-bind:type']) { 52078 typeBinding = getBindingAttr(el, 'type'); 52079 } 52080 if (!map.type && !typeBinding && map['v-bind']) { 52081 typeBinding = "(".concat(map['v-bind'], ").type"); 52082 } 52083 if (typeBinding) { 52084 var ifCondition = getAndRemoveAttr(el, 'v-if', true); 52085 var ifConditionExtra = ifCondition ? "&&(".concat(ifCondition, ")") : ""; 52086 var hasElse = getAndRemoveAttr(el, 'v-else', true) != null; 52087 var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true); 52088 // 1. checkbox 52089 var branch0 = cloneASTElement(el); 52090 // process for on the main node 52091 processFor(branch0); 52092 addRawAttr(branch0, 'type', 'checkbox'); 52093 processElement(branch0, options); 52094 branch0.processed = true; // prevent it from double-processed 52095 branch0.if = "(".concat(typeBinding, ")==='checkbox'") + ifConditionExtra; 52096 addIfCondition(branch0, { 52097 exp: branch0.if, 52098 block: branch0 52099 }); 52100 // 2. add radio else-if condition 52101 var branch1 = cloneASTElement(el); 52102 getAndRemoveAttr(branch1, 'v-for', true); 52103 addRawAttr(branch1, 'type', 'radio'); 52104 processElement(branch1, options); 52105 addIfCondition(branch0, { 52106 exp: "(".concat(typeBinding, ")==='radio'") + ifConditionExtra, 52107 block: branch1 52108 }); 52109 // 3. other 52110 var branch2 = cloneASTElement(el); 52111 getAndRemoveAttr(branch2, 'v-for', true); 52112 addRawAttr(branch2, ':type', typeBinding); 52113 processElement(branch2, options); 52114 addIfCondition(branch0, { 52115 exp: ifCondition, 52116 block: branch2 52117 }); 52118 if (hasElse) { 52119 branch0.else = true; 52120 } 52121 else if (elseIfCondition) { 52122 branch0.elseif = elseIfCondition; 52123 } 52124 return branch0; 52125 } 52126 } 52127} 52128function cloneASTElement(el) { 52129 return createASTElement(el.tag, el.attrsList.slice(), el.parent); 52130} 52131var model = { 52132 preTransformNode: preTransformNode 52133}; 52134 52135var modules = [klass, style, model]; 52136 52137function text(el, dir) { 52138 if (dir.value) { 52139 addProp(el, 'textContent', "_s(".concat(dir.value, ")"), dir); 52140 } 52141} 52142 52143function html(el, dir) { 52144 if (dir.value) { 52145 addProp(el, 'innerHTML', "_s(".concat(dir.value, ")"), dir); 52146 } 52147} 52148 52149var directives = { 52150 model: model$1, 52151 text: text, 52152 html: html 52153}; 52154 52155var baseOptions = { 52156 expectHTML: true, 52157 modules: modules, 52158 directives: directives, 52159 isPreTag: isPreTag, 52160 isUnaryTag: isUnaryTag, 52161 mustUseProp: mustUseProp, 52162 canBeLeftOpenTag: canBeLeftOpenTag, 52163 isReservedTag: isReservedTag, 52164 getTagNamespace: getTagNamespace, 52165 staticKeys: genStaticKeys$1(modules) 52166}; 52167 52168var isStaticKey; 52169var isPlatformReservedTag; 52170var genStaticKeysCached = cached(genStaticKeys); 52171/** 52172 * Goal of the optimizer: walk the generated template AST tree 52173 * and detect sub-trees that are purely static, i.e. parts of 52174 * the DOM that never needs to change. 52175 * 52176 * Once we detect these sub-trees, we can: 52177 * 52178 * 1. Hoist them into constants, so that we no longer need to 52179 * create fresh nodes for them on each re-render; 52180 * 2. Completely skip them in the patching process. 52181 */ 52182function optimize(root, options) { 52183 if (!root) 52184 return; 52185 isStaticKey = genStaticKeysCached(options.staticKeys || ''); 52186 isPlatformReservedTag = options.isReservedTag || no; 52187 // first pass: mark all non-static nodes. 52188 markStatic(root); 52189 // second pass: mark static roots. 52190 markStaticRoots(root, false); 52191} 52192function genStaticKeys(keys) { 52193 return makeMap('type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' + 52194 (keys ? ',' + keys : '')); 52195} 52196function markStatic(node) { 52197 node.static = isStatic(node); 52198 if (node.type === 1) { 52199 // do not make component slot content static. this avoids 52200 // 1. components not able to mutate slot nodes 52201 // 2. static slot content fails for hot-reloading 52202 if (!isPlatformReservedTag(node.tag) && 52203 node.tag !== 'slot' && 52204 node.attrsMap['inline-template'] == null) { 52205 return; 52206 } 52207 for (var i = 0, l = node.children.length; i < l; i++) { 52208 var child = node.children[i]; 52209 markStatic(child); 52210 if (!child.static) { 52211 node.static = false; 52212 } 52213 } 52214 if (node.ifConditions) { 52215 for (var i = 1, l = node.ifConditions.length; i < l; i++) { 52216 var block = node.ifConditions[i].block; 52217 markStatic(block); 52218 if (!block.static) { 52219 node.static = false; 52220 } 52221 } 52222 } 52223 } 52224} 52225function markStaticRoots(node, isInFor) { 52226 if (node.type === 1) { 52227 if (node.static || node.once) { 52228 node.staticInFor = isInFor; 52229 } 52230 // For a node to qualify as a static root, it should have children that 52231 // are not just static text. Otherwise the cost of hoisting out will 52232 // outweigh the benefits and it's better off to just always render it fresh. 52233 if (node.static && 52234 node.children.length && 52235 !(node.children.length === 1 && node.children[0].type === 3)) { 52236 node.staticRoot = true; 52237 return; 52238 } 52239 else { 52240 node.staticRoot = false; 52241 } 52242 if (node.children) { 52243 for (var i = 0, l = node.children.length; i < l; i++) { 52244 markStaticRoots(node.children[i], isInFor || !!node.for); 52245 } 52246 } 52247 if (node.ifConditions) { 52248 for (var i = 1, l = node.ifConditions.length; i < l; i++) { 52249 markStaticRoots(node.ifConditions[i].block, isInFor); 52250 } 52251 } 52252 } 52253} 52254function isStatic(node) { 52255 if (node.type === 2) { 52256 // expression 52257 return false; 52258 } 52259 if (node.type === 3) { 52260 // text 52261 return true; 52262 } 52263 return !!(node.pre || 52264 (!node.hasBindings && // no dynamic bindings 52265 !node.if && 52266 !node.for && // not v-if or v-for or v-else 52267 !isBuiltInTag(node.tag) && // not a built-in 52268 isPlatformReservedTag(node.tag) && // not a component 52269 !isDirectChildOfTemplateFor(node) && 52270 Object.keys(node).every(isStaticKey))); 52271} 52272function isDirectChildOfTemplateFor(node) { 52273 while (node.parent) { 52274 node = node.parent; 52275 if (node.tag !== 'template') { 52276 return false; 52277 } 52278 if (node.for) { 52279 return true; 52280 } 52281 } 52282 return false; 52283} 52284 52285var fnExpRE = /^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/; 52286var fnInvokeRE = /\([^)]*?\);*$/; 52287var simplePathRE = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/; 52288// KeyboardEvent.keyCode aliases 52289var keyCodes = { 52290 esc: 27, 52291 tab: 9, 52292 enter: 13, 52293 space: 32, 52294 up: 38, 52295 left: 37, 52296 right: 39, 52297 down: 40, 52298 delete: [8, 46] 52299}; 52300// KeyboardEvent.key aliases 52301var keyNames = { 52302 // #7880: IE11 and Edge use `Esc` for Escape key name. 52303 esc: ['Esc', 'Escape'], 52304 tab: 'Tab', 52305 enter: 'Enter', 52306 // #9112: IE11 uses `Spacebar` for Space key name. 52307 space: [' ', 'Spacebar'], 52308 // #7806: IE11 uses key names without `Arrow` prefix for arrow keys. 52309 up: ['Up', 'ArrowUp'], 52310 left: ['Left', 'ArrowLeft'], 52311 right: ['Right', 'ArrowRight'], 52312 down: ['Down', 'ArrowDown'], 52313 // #9112: IE11 uses `Del` for Delete key name. 52314 delete: ['Backspace', 'Delete', 'Del'] 52315}; 52316// #4868: modifiers that prevent the execution of the listener 52317// need to explicitly return null so that we can determine whether to remove 52318// the listener for .once 52319var genGuard = function (condition) { return "if(".concat(condition, ")return null;"); }; 52320var modifierCode = { 52321 stop: '$event.stopPropagation();', 52322 prevent: '$event.preventDefault();', 52323 self: genGuard("$event.target !== $event.currentTarget"), 52324 ctrl: genGuard("!$event.ctrlKey"), 52325 shift: genGuard("!$event.shiftKey"), 52326 alt: genGuard("!$event.altKey"), 52327 meta: genGuard("!$event.metaKey"), 52328 left: genGuard("'button' in $event && $event.button !== 0"), 52329 middle: genGuard("'button' in $event && $event.button !== 1"), 52330 right: genGuard("'button' in $event && $event.button !== 2") 52331}; 52332function genHandlers(events, isNative) { 52333 var prefix = isNative ? 'nativeOn:' : 'on:'; 52334 var staticHandlers = ""; 52335 var dynamicHandlers = ""; 52336 for (var name_1 in events) { 52337 var handlerCode = genHandler(events[name_1]); 52338 //@ts-expect-error 52339 if (events[name_1] && events[name_1].dynamic) { 52340 dynamicHandlers += "".concat(name_1, ",").concat(handlerCode, ","); 52341 } 52342 else { 52343 staticHandlers += "\"".concat(name_1, "\":").concat(handlerCode, ","); 52344 } 52345 } 52346 staticHandlers = "{".concat(staticHandlers.slice(0, -1), "}"); 52347 if (dynamicHandlers) { 52348 return prefix + "_d(".concat(staticHandlers, ",[").concat(dynamicHandlers.slice(0, -1), "])"); 52349 } 52350 else { 52351 return prefix + staticHandlers; 52352 } 52353} 52354function genHandler(handler) { 52355 if (!handler) { 52356 return 'function(){}'; 52357 } 52358 if (Array.isArray(handler)) { 52359 return "[".concat(handler.map(function (handler) { return genHandler(handler); }).join(','), "]"); 52360 } 52361 var isMethodPath = simplePathRE.test(handler.value); 52362 var isFunctionExpression = fnExpRE.test(handler.value); 52363 var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, '')); 52364 if (!handler.modifiers) { 52365 if (isMethodPath || isFunctionExpression) { 52366 return handler.value; 52367 } 52368 return "function($event){".concat(isFunctionInvocation ? "return ".concat(handler.value) : handler.value, "}"); // inline statement 52369 } 52370 else { 52371 var code = ''; 52372 var genModifierCode = ''; 52373 var keys = []; 52374 var _loop_1 = function (key) { 52375 if (modifierCode[key]) { 52376 genModifierCode += modifierCode[key]; 52377 // left/right 52378 if (keyCodes[key]) { 52379 keys.push(key); 52380 } 52381 } 52382 else if (key === 'exact') { 52383 var modifiers_1 = handler.modifiers; 52384 genModifierCode += genGuard(['ctrl', 'shift', 'alt', 'meta'] 52385 .filter(function (keyModifier) { return !modifiers_1[keyModifier]; }) 52386 .map(function (keyModifier) { return "$event.".concat(keyModifier, "Key"); }) 52387 .join('||')); 52388 } 52389 else { 52390 keys.push(key); 52391 } 52392 }; 52393 for (var key in handler.modifiers) { 52394 _loop_1(key); 52395 } 52396 if (keys.length) { 52397 code += genKeyFilter(keys); 52398 } 52399 // Make sure modifiers like prevent and stop get executed after key filtering 52400 if (genModifierCode) { 52401 code += genModifierCode; 52402 } 52403 var handlerCode = isMethodPath 52404 ? "return ".concat(handler.value, ".apply(null, arguments)") 52405 : isFunctionExpression 52406 ? "return (".concat(handler.value, ").apply(null, arguments)") 52407 : isFunctionInvocation 52408 ? "return ".concat(handler.value) 52409 : handler.value; 52410 return "function($event){".concat(code).concat(handlerCode, "}"); 52411 } 52412} 52413function genKeyFilter(keys) { 52414 return ( 52415 // make sure the key filters only apply to KeyboardEvents 52416 // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake 52417 // key events that do not have keyCode property... 52418 "if(!$event.type.indexOf('key')&&" + 52419 "".concat(keys.map(genFilterCode).join('&&'), ")return null;")); 52420} 52421function genFilterCode(key) { 52422 var keyVal = parseInt(key, 10); 52423 if (keyVal) { 52424 return "$event.keyCode!==".concat(keyVal); 52425 } 52426 var keyCode = keyCodes[key]; 52427 var keyName = keyNames[key]; 52428 return ("_k($event.keyCode," + 52429 "".concat(JSON.stringify(key), ",") + 52430 "".concat(JSON.stringify(keyCode), ",") + 52431 "$event.key," + 52432 "".concat(JSON.stringify(keyName)) + 52433 ")"); 52434} 52435 52436function on(el, dir) { 52437 if ( true && dir.modifiers) { 52438 warn$2("v-on without argument does not support modifiers."); 52439 } 52440 el.wrapListeners = function (code) { return "_g(".concat(code, ",").concat(dir.value, ")"); }; 52441} 52442 52443function bind(el, dir) { 52444 el.wrapData = function (code) { 52445 return "_b(".concat(code, ",'").concat(el.tag, "',").concat(dir.value, ",").concat(dir.modifiers && dir.modifiers.prop ? 'true' : 'false').concat(dir.modifiers && dir.modifiers.sync ? ',true' : '', ")"); 52446 }; 52447} 52448 52449var baseDirectives = { 52450 on: on, 52451 bind: bind, 52452 cloak: noop 52453}; 52454 52455var CodegenState = /** @class */ (function () { 52456 function CodegenState(options) { 52457 this.options = options; 52458 this.warn = options.warn || baseWarn; 52459 this.transforms = pluckModuleFunction(options.modules, 'transformCode'); 52460 this.dataGenFns = pluckModuleFunction(options.modules, 'genData'); 52461 this.directives = extend(extend({}, baseDirectives), options.directives); 52462 var isReservedTag = options.isReservedTag || no; 52463 this.maybeComponent = function (el) { 52464 return !!el.component || !isReservedTag(el.tag); 52465 }; 52466 this.onceId = 0; 52467 this.staticRenderFns = []; 52468 this.pre = false; 52469 } 52470 return CodegenState; 52471}()); 52472function generate(ast, options) { 52473 var state = new CodegenState(options); 52474 // fix #11483, Root level <script> tags should not be rendered. 52475 var code = ast 52476 ? ast.tag === 'script' 52477 ? 'null' 52478 : genElement(ast, state) 52479 : '_c("div")'; 52480 return { 52481 render: "with(this){return ".concat(code, "}"), 52482 staticRenderFns: state.staticRenderFns 52483 }; 52484} 52485function genElement(el, state) { 52486 if (el.parent) { 52487 el.pre = el.pre || el.parent.pre; 52488 } 52489 if (el.staticRoot && !el.staticProcessed) { 52490 return genStatic(el, state); 52491 } 52492 else if (el.once && !el.onceProcessed) { 52493 return genOnce(el, state); 52494 } 52495 else if (el.for && !el.forProcessed) { 52496 return genFor(el, state); 52497 } 52498 else if (el.if && !el.ifProcessed) { 52499 return genIf(el, state); 52500 } 52501 else if (el.tag === 'template' && !el.slotTarget && !state.pre) { 52502 return genChildren(el, state) || 'void 0'; 52503 } 52504 else if (el.tag === 'slot') { 52505 return genSlot(el, state); 52506 } 52507 else { 52508 // component or element 52509 var code = void 0; 52510 if (el.component) { 52511 code = genComponent(el.component, el, state); 52512 } 52513 else { 52514 var data = void 0; 52515 var maybeComponent = state.maybeComponent(el); 52516 if (!el.plain || (el.pre && maybeComponent)) { 52517 data = genData(el, state); 52518 } 52519 var tag 52520 // check if this is a component in <script setup> 52521 = void 0; 52522 // check if this is a component in <script setup> 52523 var bindings = state.options.bindings; 52524 if (maybeComponent && bindings && bindings.__isScriptSetup !== false) { 52525 tag = checkBindingType(bindings, el.tag); 52526 } 52527 if (!tag) 52528 tag = "'".concat(el.tag, "'"); 52529 var children = el.inlineTemplate ? null : genChildren(el, state, true); 52530 code = "_c(".concat(tag).concat(data ? ",".concat(data) : '' // data 52531 ).concat(children ? ",".concat(children) : '' // children 52532 , ")"); 52533 } 52534 // module transforms 52535 for (var i = 0; i < state.transforms.length; i++) { 52536 code = state.transforms[i](el, code); 52537 } 52538 return code; 52539 } 52540} 52541function checkBindingType(bindings, key) { 52542 var camelName = camelize(key); 52543 var PascalName = capitalize(camelName); 52544 var checkType = function (type) { 52545 if (bindings[key] === type) { 52546 return key; 52547 } 52548 if (bindings[camelName] === type) { 52549 return camelName; 52550 } 52551 if (bindings[PascalName] === type) { 52552 return PascalName; 52553 } 52554 }; 52555 var fromConst = checkType("setup-const" /* BindingTypes.SETUP_CONST */) || 52556 checkType("setup-reactive-const" /* BindingTypes.SETUP_REACTIVE_CONST */); 52557 if (fromConst) { 52558 return fromConst; 52559 } 52560 var fromMaybeRef = checkType("setup-let" /* BindingTypes.SETUP_LET */) || 52561 checkType("setup-ref" /* BindingTypes.SETUP_REF */) || 52562 checkType("setup-maybe-ref" /* BindingTypes.SETUP_MAYBE_REF */); 52563 if (fromMaybeRef) { 52564 return fromMaybeRef; 52565 } 52566} 52567// hoist static sub-trees out 52568function genStatic(el, state) { 52569 el.staticProcessed = true; 52570 // Some elements (templates) need to behave differently inside of a v-pre 52571 // node. All pre nodes are static roots, so we can use this as a location to 52572 // wrap a state change and reset it upon exiting the pre node. 52573 var originalPreState = state.pre; 52574 if (el.pre) { 52575 state.pre = el.pre; 52576 } 52577 state.staticRenderFns.push("with(this){return ".concat(genElement(el, state), "}")); 52578 state.pre = originalPreState; 52579 return "_m(".concat(state.staticRenderFns.length - 1).concat(el.staticInFor ? ',true' : '', ")"); 52580} 52581// v-once 52582function genOnce(el, state) { 52583 el.onceProcessed = true; 52584 if (el.if && !el.ifProcessed) { 52585 return genIf(el, state); 52586 } 52587 else if (el.staticInFor) { 52588 var key = ''; 52589 var parent_1 = el.parent; 52590 while (parent_1) { 52591 if (parent_1.for) { 52592 key = parent_1.key; 52593 break; 52594 } 52595 parent_1 = parent_1.parent; 52596 } 52597 if (!key) { 52598 true && 52599 state.warn("v-once can only be used inside v-for that is keyed. ", el.rawAttrsMap['v-once']); 52600 return genElement(el, state); 52601 } 52602 return "_o(".concat(genElement(el, state), ",").concat(state.onceId++, ",").concat(key, ")"); 52603 } 52604 else { 52605 return genStatic(el, state); 52606 } 52607} 52608function genIf(el, state, altGen, altEmpty) { 52609 el.ifProcessed = true; // avoid recursion 52610 return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty); 52611} 52612function genIfConditions(conditions, state, altGen, altEmpty) { 52613 if (!conditions.length) { 52614 return altEmpty || '_e()'; 52615 } 52616 var condition = conditions.shift(); 52617 if (condition.exp) { 52618 return "(".concat(condition.exp, ")?").concat(genTernaryExp(condition.block), ":").concat(genIfConditions(conditions, state, altGen, altEmpty)); 52619 } 52620 else { 52621 return "".concat(genTernaryExp(condition.block)); 52622 } 52623 // v-if with v-once should generate code like (a)?_m(0):_m(1) 52624 function genTernaryExp(el) { 52625 return altGen 52626 ? altGen(el, state) 52627 : el.once 52628 ? genOnce(el, state) 52629 : genElement(el, state); 52630 } 52631} 52632function genFor(el, state, altGen, altHelper) { 52633 var exp = el.for; 52634 var alias = el.alias; 52635 var iterator1 = el.iterator1 ? ",".concat(el.iterator1) : ''; 52636 var iterator2 = el.iterator2 ? ",".concat(el.iterator2) : ''; 52637 if ( true && 52638 state.maybeComponent(el) && 52639 el.tag !== 'slot' && 52640 el.tag !== 'template' && 52641 !el.key) { 52642 state.warn("<".concat(el.tag, " v-for=\"").concat(alias, " in ").concat(exp, "\">: component lists rendered with ") + 52643 "v-for should have explicit keys. " + 52644 "See https://v2.vuejs.org/v2/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */); 52645 } 52646 el.forProcessed = true; // avoid recursion 52647 return ("".concat(altHelper || '_l', "((").concat(exp, "),") + 52648 "function(".concat(alias).concat(iterator1).concat(iterator2, "){") + 52649 "return ".concat((altGen || genElement)(el, state)) + 52650 '})'); 52651} 52652function genData(el, state) { 52653 var data = '{'; 52654 // directives first. 52655 // directives may mutate the el's other properties before they are generated. 52656 var dirs = genDirectives(el, state); 52657 if (dirs) 52658 data += dirs + ','; 52659 // key 52660 if (el.key) { 52661 data += "key:".concat(el.key, ","); 52662 } 52663 // ref 52664 if (el.ref) { 52665 data += "ref:".concat(el.ref, ","); 52666 } 52667 if (el.refInFor) { 52668 data += "refInFor:true,"; 52669 } 52670 // pre 52671 if (el.pre) { 52672 data += "pre:true,"; 52673 } 52674 // record original tag name for components using "is" attribute 52675 if (el.component) { 52676 data += "tag:\"".concat(el.tag, "\","); 52677 } 52678 // module data generation functions 52679 for (var i = 0; i < state.dataGenFns.length; i++) { 52680 data += state.dataGenFns[i](el); 52681 } 52682 // attributes 52683 if (el.attrs) { 52684 data += "attrs:".concat(genProps(el.attrs), ","); 52685 } 52686 // DOM props 52687 if (el.props) { 52688 data += "domProps:".concat(genProps(el.props), ","); 52689 } 52690 // event handlers 52691 if (el.events) { 52692 data += "".concat(genHandlers(el.events, false), ","); 52693 } 52694 if (el.nativeEvents) { 52695 data += "".concat(genHandlers(el.nativeEvents, true), ","); 52696 } 52697 // slot target 52698 // only for non-scoped slots 52699 if (el.slotTarget && !el.slotScope) { 52700 data += "slot:".concat(el.slotTarget, ","); 52701 } 52702 // scoped slots 52703 if (el.scopedSlots) { 52704 data += "".concat(genScopedSlots(el, el.scopedSlots, state), ","); 52705 } 52706 // component v-model 52707 if (el.model) { 52708 data += "model:{value:".concat(el.model.value, ",callback:").concat(el.model.callback, ",expression:").concat(el.model.expression, "},"); 52709 } 52710 // inline-template 52711 if (el.inlineTemplate) { 52712 var inlineTemplate = genInlineTemplate(el, state); 52713 if (inlineTemplate) { 52714 data += "".concat(inlineTemplate, ","); 52715 } 52716 } 52717 data = data.replace(/,$/, '') + '}'; 52718 // v-bind dynamic argument wrap 52719 // v-bind with dynamic arguments must be applied using the same v-bind object 52720 // merge helper so that class/style/mustUseProp attrs are handled correctly. 52721 if (el.dynamicAttrs) { 52722 data = "_b(".concat(data, ",\"").concat(el.tag, "\",").concat(genProps(el.dynamicAttrs), ")"); 52723 } 52724 // v-bind data wrap 52725 if (el.wrapData) { 52726 data = el.wrapData(data); 52727 } 52728 // v-on data wrap 52729 if (el.wrapListeners) { 52730 data = el.wrapListeners(data); 52731 } 52732 return data; 52733} 52734function genDirectives(el, state) { 52735 var dirs = el.directives; 52736 if (!dirs) 52737 return; 52738 var res = 'directives:['; 52739 var hasRuntime = false; 52740 var i, l, dir, needRuntime; 52741 for (i = 0, l = dirs.length; i < l; i++) { 52742 dir = dirs[i]; 52743 needRuntime = true; 52744 var gen = state.directives[dir.name]; 52745 if (gen) { 52746 // compile-time directive that manipulates AST. 52747 // returns true if it also needs a runtime counterpart. 52748 needRuntime = !!gen(el, dir, state.warn); 52749 } 52750 if (needRuntime) { 52751 hasRuntime = true; 52752 res += "{name:\"".concat(dir.name, "\",rawName:\"").concat(dir.rawName, "\"").concat(dir.value 52753 ? ",value:(".concat(dir.value, "),expression:").concat(JSON.stringify(dir.value)) 52754 : '').concat(dir.arg ? ",arg:".concat(dir.isDynamicArg ? dir.arg : "\"".concat(dir.arg, "\"")) : '').concat(dir.modifiers ? ",modifiers:".concat(JSON.stringify(dir.modifiers)) : '', "},"); 52755 } 52756 } 52757 if (hasRuntime) { 52758 return res.slice(0, -1) + ']'; 52759 } 52760} 52761function genInlineTemplate(el, state) { 52762 var ast = el.children[0]; 52763 if ( true && (el.children.length !== 1 || ast.type !== 1)) { 52764 state.warn('Inline-template components must have exactly one child element.', { start: el.start }); 52765 } 52766 if (ast && ast.type === 1) { 52767 var inlineRenderFns = generate(ast, state.options); 52768 return "inlineTemplate:{render:function(){".concat(inlineRenderFns.render, "},staticRenderFns:[").concat(inlineRenderFns.staticRenderFns 52769 .map(function (code) { return "function(){".concat(code, "}"); }) 52770 .join(','), "]}"); 52771 } 52772} 52773function genScopedSlots(el, slots, state) { 52774 // by default scoped slots are considered "stable", this allows child 52775 // components with only scoped slots to skip forced updates from parent. 52776 // but in some cases we have to bail-out of this optimization 52777 // for example if the slot contains dynamic names, has v-if or v-for on them... 52778 var needsForceUpdate = el.for || 52779 Object.keys(slots).some(function (key) { 52780 var slot = slots[key]; 52781 return (slot.slotTargetDynamic || slot.if || slot.for || containsSlotChild(slot) // is passing down slot from parent which may be dynamic 52782 ); 52783 }); 52784 // #9534: if a component with scoped slots is inside a conditional branch, 52785 // it's possible for the same component to be reused but with different 52786 // compiled slot content. To avoid that, we generate a unique key based on 52787 // the generated code of all the slot contents. 52788 var needsKey = !!el.if; 52789 // OR when it is inside another scoped slot or v-for (the reactivity may be 52790 // disconnected due to the intermediate scope variable) 52791 // #9438, #9506 52792 // TODO: this can be further optimized by properly analyzing in-scope bindings 52793 // and skip force updating ones that do not actually use scope variables. 52794 if (!needsForceUpdate) { 52795 var parent_2 = el.parent; 52796 while (parent_2) { 52797 if ((parent_2.slotScope && parent_2.slotScope !== emptySlotScopeToken) || 52798 parent_2.for) { 52799 needsForceUpdate = true; 52800 break; 52801 } 52802 if (parent_2.if) { 52803 needsKey = true; 52804 } 52805 parent_2 = parent_2.parent; 52806 } 52807 } 52808 var generatedSlots = Object.keys(slots) 52809 .map(function (key) { return genScopedSlot(slots[key], state); }) 52810 .join(','); 52811 return "scopedSlots:_u([".concat(generatedSlots, "]").concat(needsForceUpdate ? ",null,true" : "").concat(!needsForceUpdate && needsKey ? ",null,false,".concat(hash(generatedSlots)) : "", ")"); 52812} 52813function hash(str) { 52814 var hash = 5381; 52815 var i = str.length; 52816 while (i) { 52817 hash = (hash * 33) ^ str.charCodeAt(--i); 52818 } 52819 return hash >>> 0; 52820} 52821function containsSlotChild(el) { 52822 if (el.type === 1) { 52823 if (el.tag === 'slot') { 52824 return true; 52825 } 52826 return el.children.some(containsSlotChild); 52827 } 52828 return false; 52829} 52830function genScopedSlot(el, state) { 52831 var isLegacySyntax = el.attrsMap['slot-scope']; 52832 if (el.if && !el.ifProcessed && !isLegacySyntax) { 52833 return genIf(el, state, genScopedSlot, "null"); 52834 } 52835 if (el.for && !el.forProcessed) { 52836 return genFor(el, state, genScopedSlot); 52837 } 52838 var slotScope = el.slotScope === emptySlotScopeToken ? "" : String(el.slotScope); 52839 var fn = "function(".concat(slotScope, "){") + 52840 "return ".concat(el.tag === 'template' 52841 ? el.if && isLegacySyntax 52842 ? "(".concat(el.if, ")?").concat(genChildren(el, state) || 'undefined', ":undefined") 52843 : genChildren(el, state) || 'undefined' 52844 : genElement(el, state), "}"); 52845 // reverse proxy v-slot without scope on this.$slots 52846 var reverseProxy = slotScope ? "" : ",proxy:true"; 52847 return "{key:".concat(el.slotTarget || "\"default\"", ",fn:").concat(fn).concat(reverseProxy, "}"); 52848} 52849function genChildren(el, state, checkSkip, altGenElement, altGenNode) { 52850 var children = el.children; 52851 if (children.length) { 52852 var el_1 = children[0]; 52853 // optimize single v-for 52854 if (children.length === 1 && 52855 el_1.for && 52856 el_1.tag !== 'template' && 52857 el_1.tag !== 'slot') { 52858 var normalizationType_1 = checkSkip 52859 ? state.maybeComponent(el_1) 52860 ? ",1" 52861 : ",0" 52862 : ""; 52863 return "".concat((altGenElement || genElement)(el_1, state)).concat(normalizationType_1); 52864 } 52865 var normalizationType = checkSkip 52866 ? getNormalizationType(children, state.maybeComponent) 52867 : 0; 52868 var gen_1 = altGenNode || genNode; 52869 return "[".concat(children.map(function (c) { return gen_1(c, state); }).join(','), "]").concat(normalizationType ? ",".concat(normalizationType) : ''); 52870 } 52871} 52872// determine the normalization needed for the children array. 52873// 0: no normalization needed 52874// 1: simple normalization needed (possible 1-level deep nested array) 52875// 2: full normalization needed 52876function getNormalizationType(children, maybeComponent) { 52877 var res = 0; 52878 for (var i = 0; i < children.length; i++) { 52879 var el = children[i]; 52880 if (el.type !== 1) { 52881 continue; 52882 } 52883 if (needsNormalization(el) || 52884 (el.ifConditions && 52885 el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) { 52886 res = 2; 52887 break; 52888 } 52889 if (maybeComponent(el) || 52890 (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) { 52891 res = 1; 52892 } 52893 } 52894 return res; 52895} 52896function needsNormalization(el) { 52897 return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'; 52898} 52899function genNode(node, state) { 52900 if (node.type === 1) { 52901 return genElement(node, state); 52902 } 52903 else if (node.type === 3 && node.isComment) { 52904 return genComment(node); 52905 } 52906 else { 52907 return genText(node); 52908 } 52909} 52910function genText(text) { 52911 return "_v(".concat(text.type === 2 52912 ? text.expression // no need for () because already wrapped in _s() 52913 : transformSpecialNewlines(JSON.stringify(text.text)), ")"); 52914} 52915function genComment(comment) { 52916 return "_e(".concat(JSON.stringify(comment.text), ")"); 52917} 52918function genSlot(el, state) { 52919 var slotName = el.slotName || '"default"'; 52920 var children = genChildren(el, state); 52921 var res = "_t(".concat(slotName).concat(children ? ",function(){return ".concat(children, "}") : ''); 52922 var attrs = el.attrs || el.dynamicAttrs 52923 ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({ 52924 // slot props are camelized 52925 name: camelize(attr.name), 52926 value: attr.value, 52927 dynamic: attr.dynamic 52928 }); })) 52929 : null; 52930 var bind = el.attrsMap['v-bind']; 52931 if ((attrs || bind) && !children) { 52932 res += ",null"; 52933 } 52934 if (attrs) { 52935 res += ",".concat(attrs); 52936 } 52937 if (bind) { 52938 res += "".concat(attrs ? '' : ',null', ",").concat(bind); 52939 } 52940 return res + ')'; 52941} 52942// componentName is el.component, take it as argument to shun flow's pessimistic refinement 52943function genComponent(componentName, el, state) { 52944 var children = el.inlineTemplate ? null : genChildren(el, state, true); 52945 return "_c(".concat(componentName, ",").concat(genData(el, state)).concat(children ? ",".concat(children) : '', ")"); 52946} 52947function genProps(props) { 52948 var staticProps = ""; 52949 var dynamicProps = ""; 52950 for (var i = 0; i < props.length; i++) { 52951 var prop = props[i]; 52952 var value = transformSpecialNewlines(prop.value); 52953 if (prop.dynamic) { 52954 dynamicProps += "".concat(prop.name, ",").concat(value, ","); 52955 } 52956 else { 52957 staticProps += "\"".concat(prop.name, "\":").concat(value, ","); 52958 } 52959 } 52960 staticProps = "{".concat(staticProps.slice(0, -1), "}"); 52961 if (dynamicProps) { 52962 return "_d(".concat(staticProps, ",[").concat(dynamicProps.slice(0, -1), "])"); 52963 } 52964 else { 52965 return staticProps; 52966 } 52967} 52968// #3895, #4268 52969function transformSpecialNewlines(text) { 52970 return text.replace(/\u2028/g, '\\u2028').replace(/\u2029/g, '\\u2029'); 52971} 52972 52973// these keywords should not appear inside expressions, but operators like 52974// typeof, instanceof and in are allowed 52975var prohibitedKeywordRE = new RegExp('\\b' + 52976 ('do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' + 52977 'super,throw,while,yield,delete,export,import,return,switch,default,' + 52978 'extends,finally,continue,debugger,function,arguments') 52979 .split(',') 52980 .join('\\b|\\b') + 52981 '\\b'); 52982// these unary operators should not be used as property/method names 52983var unaryOperatorsRE = new RegExp('\\b' + 52984 'delete,typeof,void'.split(',').join('\\s*\\([^\\)]*\\)|\\b') + 52985 '\\s*\\([^\\)]*\\)'); 52986// strip strings in expressions 52987var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g; 52988// detect problematic expressions in a template 52989function detectErrors(ast, warn) { 52990 if (ast) { 52991 checkNode(ast, warn); 52992 } 52993} 52994function checkNode(node, warn) { 52995 if (node.type === 1) { 52996 for (var name_1 in node.attrsMap) { 52997 if (dirRE.test(name_1)) { 52998 var value = node.attrsMap[name_1]; 52999 if (value) { 53000 var range = node.rawAttrsMap[name_1]; 53001 if (name_1 === 'v-for') { 53002 checkFor(node, "v-for=\"".concat(value, "\""), warn, range); 53003 } 53004 else if (name_1 === 'v-slot' || name_1[0] === '#') { 53005 checkFunctionParameterExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); 53006 } 53007 else if (onRE.test(name_1)) { 53008 checkEvent(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); 53009 } 53010 else { 53011 checkExpression(value, "".concat(name_1, "=\"").concat(value, "\""), warn, range); 53012 } 53013 } 53014 } 53015 } 53016 if (node.children) { 53017 for (var i = 0; i < node.children.length; i++) { 53018 checkNode(node.children[i], warn); 53019 } 53020 } 53021 } 53022 else if (node.type === 2) { 53023 checkExpression(node.expression, node.text, warn, node); 53024 } 53025} 53026function checkEvent(exp, text, warn, range) { 53027 var stripped = exp.replace(stripStringRE, ''); 53028 var keywordMatch = stripped.match(unaryOperatorsRE); 53029 if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') { 53030 warn("avoid using JavaScript unary operator as property name: " + 53031 "\"".concat(keywordMatch[0], "\" in expression ").concat(text.trim()), range); 53032 } 53033 checkExpression(exp, text, warn, range); 53034} 53035function checkFor(node, text, warn, range) { 53036 checkExpression(node.for || '', text, warn, range); 53037 checkIdentifier(node.alias, 'v-for alias', text, warn, range); 53038 checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range); 53039 checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range); 53040} 53041function checkIdentifier(ident, type, text, warn, range) { 53042 if (typeof ident === 'string') { 53043 try { 53044 new Function("var ".concat(ident, "=_")); 53045 } 53046 catch (e) { 53047 warn("invalid ".concat(type, " \"").concat(ident, "\" in expression: ").concat(text.trim()), range); 53048 } 53049 } 53050} 53051function checkExpression(exp, text, warn, range) { 53052 try { 53053 new Function("return ".concat(exp)); 53054 } 53055 catch (e) { 53056 var keywordMatch = exp 53057 .replace(stripStringRE, '') 53058 .match(prohibitedKeywordRE); 53059 if (keywordMatch) { 53060 warn("avoid using JavaScript keyword as property name: " + 53061 "\"".concat(keywordMatch[0], "\"\n Raw expression: ").concat(text.trim()), range); 53062 } 53063 else { 53064 warn("invalid expression: ".concat(e.message, " in\n\n") + 53065 " ".concat(exp, "\n\n") + 53066 " Raw expression: ".concat(text.trim(), "\n"), range); 53067 } 53068 } 53069} 53070function checkFunctionParameterExpression(exp, text, warn, range) { 53071 try { 53072 new Function(exp, ''); 53073 } 53074 catch (e) { 53075 warn("invalid function parameter expression: ".concat(e.message, " in\n\n") + 53076 " ".concat(exp, "\n\n") + 53077 " Raw expression: ".concat(text.trim(), "\n"), range); 53078 } 53079} 53080 53081var range = 2; 53082function generateCodeFrame(source, start, end) { 53083 if (start === void 0) { start = 0; } 53084 if (end === void 0) { end = source.length; } 53085 var lines = source.split(/\r?\n/); 53086 var count = 0; 53087 var res = []; 53088 for (var i = 0; i < lines.length; i++) { 53089 count += lines[i].length + 1; 53090 if (count >= start) { 53091 for (var j = i - range; j <= i + range || end > count; j++) { 53092 if (j < 0 || j >= lines.length) 53093 continue; 53094 res.push("".concat(j + 1).concat(repeat(" ", 3 - String(j + 1).length), "| ").concat(lines[j])); 53095 var lineLength = lines[j].length; 53096 if (j === i) { 53097 // push underline 53098 var pad = start - (count - lineLength) + 1; 53099 var length_1 = end > count ? lineLength - pad : end - start; 53100 res.push(" | " + repeat(" ", pad) + repeat("^", length_1)); 53101 } 53102 else if (j > i) { 53103 if (end > count) { 53104 var length_2 = Math.min(end - count, lineLength); 53105 res.push(" | " + repeat("^", length_2)); 53106 } 53107 count += lineLength + 1; 53108 } 53109 } 53110 break; 53111 } 53112 } 53113 return res.join('\n'); 53114} 53115function repeat(str, n) { 53116 var result = ''; 53117 if (n > 0) { 53118 // eslint-disable-next-line no-constant-condition 53119 while (true) { 53120 // eslint-disable-line 53121 if (n & 1) 53122 result += str; 53123 n >>>= 1; 53124 if (n <= 0) 53125 break; 53126 str += str; 53127 } 53128 } 53129 return result; 53130} 53131 53132function createFunction(code, errors) { 53133 try { 53134 return new Function(code); 53135 } 53136 catch (err) { 53137 errors.push({ err: err, code: code }); 53138 return noop; 53139 } 53140} 53141function createCompileToFunctionFn(compile) { 53142 var cache = Object.create(null); 53143 return function compileToFunctions(template, options, vm) { 53144 options = extend({}, options); 53145 var warn = options.warn || warn$2; 53146 delete options.warn; 53147 /* istanbul ignore if */ 53148 if (true) { 53149 // detect possible CSP restriction 53150 try { 53151 new Function('return 1'); 53152 } 53153 catch (e) { 53154 if (e.toString().match(/unsafe-eval|CSP/)) { 53155 warn('It seems you are using the standalone build of Vue.js in an ' + 53156 'environment with Content Security Policy that prohibits unsafe-eval. ' + 53157 'The template compiler cannot work in this environment. Consider ' + 53158 'relaxing the policy to allow unsafe-eval or pre-compiling your ' + 53159 'templates into render functions.'); 53160 } 53161 } 53162 } 53163 // check cache 53164 var key = options.delimiters 53165 ? String(options.delimiters) + template 53166 : template; 53167 if (cache[key]) { 53168 return cache[key]; 53169 } 53170 // compile 53171 var compiled = compile(template, options); 53172 // check compilation errors/tips 53173 if (true) { 53174 if (compiled.errors && compiled.errors.length) { 53175 if (options.outputSourceRange) { 53176 compiled.errors.forEach(function (e) { 53177 warn("Error compiling template:\n\n".concat(e.msg, "\n\n") + 53178 generateCodeFrame(template, e.start, e.end), vm); 53179 }); 53180 } 53181 else { 53182 warn("Error compiling template:\n\n".concat(template, "\n\n") + 53183 compiled.errors.map(function (e) { return "- ".concat(e); }).join('\n') + 53184 '\n', vm); 53185 } 53186 } 53187 if (compiled.tips && compiled.tips.length) { 53188 if (options.outputSourceRange) { 53189 compiled.tips.forEach(function (e) { return tip(e.msg, vm); }); 53190 } 53191 else { 53192 compiled.tips.forEach(function (msg) { return tip(msg, vm); }); 53193 } 53194 } 53195 } 53196 // turn code into functions 53197 var res = {}; 53198 var fnGenErrors = []; 53199 res.render = createFunction(compiled.render, fnGenErrors); 53200 res.staticRenderFns = compiled.staticRenderFns.map(function (code) { 53201 return createFunction(code, fnGenErrors); 53202 }); 53203 // check function generation errors. 53204 // this should only happen if there is a bug in the compiler itself. 53205 // mostly for codegen development use 53206 /* istanbul ignore if */ 53207 if (true) { 53208 if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) { 53209 warn("Failed to generate render function:\n\n" + 53210 fnGenErrors 53211 .map(function (_a) { 53212 var err = _a.err, code = _a.code; 53213 return "".concat(err.toString(), " in\n\n").concat(code, "\n"); 53214 }) 53215 .join('\n'), vm); 53216 } 53217 } 53218 return (cache[key] = res); 53219 }; 53220} 53221 53222function createCompilerCreator(baseCompile) { 53223 return function createCompiler(baseOptions) { 53224 function compile(template, options) { 53225 var finalOptions = Object.create(baseOptions); 53226 var errors = []; 53227 var tips = []; 53228 var warn = function (msg, range, tip) { 53229 (tip ? tips : errors).push(msg); 53230 }; 53231 if (options) { 53232 if ( true && options.outputSourceRange) { 53233 // $flow-disable-line 53234 var leadingSpaceLength_1 = template.match(/^\s*/)[0].length; 53235 warn = function (msg, range, tip) { 53236 var data = typeof msg === 'string' ? { msg: msg } : msg; 53237 if (range) { 53238 if (range.start != null) { 53239 data.start = range.start + leadingSpaceLength_1; 53240 } 53241 if (range.end != null) { 53242 data.end = range.end + leadingSpaceLength_1; 53243 } 53244 } 53245 (tip ? tips : errors).push(data); 53246 }; 53247 } 53248 // merge custom modules 53249 if (options.modules) { 53250 finalOptions.modules = (baseOptions.modules || []).concat(options.modules); 53251 } 53252 // merge custom directives 53253 if (options.directives) { 53254 finalOptions.directives = extend(Object.create(baseOptions.directives || null), options.directives); 53255 } 53256 // copy other options 53257 for (var key in options) { 53258 if (key !== 'modules' && key !== 'directives') { 53259 finalOptions[key] = options[key]; 53260 } 53261 } 53262 } 53263 finalOptions.warn = warn; 53264 var compiled = baseCompile(template.trim(), finalOptions); 53265 if (true) { 53266 detectErrors(compiled.ast, warn); 53267 } 53268 compiled.errors = errors; 53269 compiled.tips = tips; 53270 return compiled; 53271 } 53272 return { 53273 compile: compile, 53274 compileToFunctions: createCompileToFunctionFn(compile) 53275 }; 53276 }; 53277} 53278 53279// `createCompilerCreator` allows creating compilers that use alternative 53280// parser/optimizer/codegen, e.g the SSR optimizing compiler. 53281// Here we just export a default compiler using the default parts. 53282var createCompiler = createCompilerCreator(function baseCompile(template, options) { 53283 var ast = parse(template.trim(), options); 53284 if (options.optimize !== false) { 53285 optimize(ast, options); 53286 } 53287 var code = generate(ast, options); 53288 return { 53289 ast: ast, 53290 render: code.render, 53291 staticRenderFns: code.staticRenderFns 53292 }; 53293}); 53294 53295var _a = createCompiler(baseOptions), compileToFunctions = _a.compileToFunctions; 53296 53297// check whether current browser encodes a char inside attribute values 53298var div; 53299function getShouldDecode(href) { 53300 div = div || document.createElement('div'); 53301 div.innerHTML = href ? "<a href=\"\n\"/>" : "<div a=\"\n\"/>"; 53302 return div.innerHTML.indexOf(' ') > 0; 53303} 53304// #3663: IE encodes newlines inside attribute values while other browsers don't 53305var shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false; 53306// #6828: chrome encodes content in a[href] 53307var shouldDecodeNewlinesForHref = inBrowser 53308 ? getShouldDecode(true) 53309 : false; 53310 53311var idToTemplate = cached(function (id) { 53312 var el = query(id); 53313 return el && el.innerHTML; 53314}); 53315var mount = Vue.prototype.$mount; 53316Vue.prototype.$mount = function (el, hydrating) { 53317 el = el && query(el); 53318 /* istanbul ignore if */ 53319 if (el === document.body || el === document.documentElement) { 53320 true && 53321 warn$2("Do not mount Vue to <html> or <body> - mount to normal elements instead."); 53322 return this; 53323 } 53324 var options = this.$options; 53325 // resolve template/el and convert to render function 53326 if (!options.render) { 53327 var template = options.template; 53328 if (template) { 53329 if (typeof template === 'string') { 53330 if (template.charAt(0) === '#') { 53331 template = idToTemplate(template); 53332 /* istanbul ignore if */ 53333 if ( true && !template) { 53334 warn$2("Template element not found or is empty: ".concat(options.template), this); 53335 } 53336 } 53337 } 53338 else if (template.nodeType) { 53339 template = template.innerHTML; 53340 } 53341 else { 53342 if (true) { 53343 warn$2('invalid template option:' + template, this); 53344 } 53345 return this; 53346 } 53347 } 53348 else if (el) { 53349 // @ts-expect-error 53350 template = getOuterHTML(el); 53351 } 53352 if (template) { 53353 /* istanbul ignore if */ 53354 if ( true && config.performance && mark) { 53355 mark('compile'); 53356 } 53357 var _a = compileToFunctions(template, { 53358 outputSourceRange: "development" !== 'production', 53359 shouldDecodeNewlines: shouldDecodeNewlines, 53360 shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref, 53361 delimiters: options.delimiters, 53362 comments: options.comments 53363 }, this), render = _a.render, staticRenderFns = _a.staticRenderFns; 53364 options.render = render; 53365 options.staticRenderFns = staticRenderFns; 53366 /* istanbul ignore if */ 53367 if ( true && config.performance && mark) { 53368 mark('compile end'); 53369 measure("vue ".concat(this._name, " compile"), 'compile', 'compile end'); 53370 } 53371 } 53372 } 53373 return mount.call(this, el, hydrating); 53374}; 53375/** 53376 * Get outerHTML of elements, taking care 53377 * of SVG elements in IE as well. 53378 */ 53379function getOuterHTML(el) { 53380 if (el.outerHTML) { 53381 return el.outerHTML; 53382 } 53383 else { 53384 var container = document.createElement('div'); 53385 container.appendChild(el.cloneNode(true)); 53386 return container.innerHTML; 53387 } 53388} 53389Vue.compile = compileToFunctions; 53390 53391 53392 53393 53394/***/ }), 53395
vendor: 75,415 bytes, lines 53396-55859
53396/***/ "./node_modules/vuedraggable/dist/vuedraggable.umd.js": 53397/*!************************************************************!*\ 53398 !*** ./node_modules/vuedraggable/dist/vuedraggable.umd.js ***! 53399 \************************************************************/ 53400/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 53401 53402(function webpackUniversalModuleDefinition(root, factory) { 53403 if(true) 53404 module.exports = factory(__webpack_require__(/*! sortablejs */ "./node_modules/sortablejs/modular/sortable.esm.js")); 53405 else {} 53406})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE_a352__) { 53407return /******/ (function(modules) { // webpackBootstrap 53408/******/ // The module cache 53409/******/ var installedModules = {}; 53410/******/ 53411/******/ // The require function 53412/******/ function __nested_webpack_require_688__(moduleId) { 53413/******/ 53414/******/ // Check if module is in cache 53415/******/ if(installedModules[moduleId]) { 53416/******/ return installedModules[moduleId].exports; 53417/******/ } 53418/******/ // Create a new module (and put it into the cache) 53419/******/ var module = installedModules[moduleId] = { 53420/******/ i: moduleId, 53421/******/ l: false, 53422/******/ exports: {} 53423/******/ }; 53424/******/ 53425/******/ // Execute the module function 53426/******/ modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_688__); 53427/******/ 53428/******/ // Flag the module as loaded 53429/******/ module.l = true; 53430/******/ 53431/******/ // Return the exports of the module 53432/******/ return module.exports; 53433/******/ } 53434/******/ 53435/******/ 53436/******/ // expose the modules object (__webpack_modules__) 53437/******/ __nested_webpack_require_688__.m = modules; 53438/******/ 53439/******/ // expose the module cache 53440/******/ __nested_webpack_require_688__.c = installedModules; 53441/******/ 53442/******/ // define getter function for harmony exports 53443/******/ __nested_webpack_require_688__.d = function(exports, name, getter) { 53444/******/ if(!__nested_webpack_require_688__.o(exports, name)) { 53445/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 53446/******/ } 53447/******/ }; 53448/******/ 53449/******/ // define __esModule on exports 53450/******/ __nested_webpack_require_688__.r = function(exports) { 53451/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 53452/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 53453/******/ } 53454/******/ Object.defineProperty(exports, '__esModule', { value: true }); 53455/******/ }; 53456/******/ 53457/******/ // create a fake namespace object 53458/******/ // mode & 1: value is a module id, require it 53459/******/ // mode & 2: merge all properties of value into the ns 53460/******/ // mode & 4: return value when already ns object 53461/******/ // mode & 8|1: behave like require 53462/******/ __nested_webpack_require_688__.t = function(value, mode) { 53463/******/ if(mode & 1) value = __nested_webpack_require_688__(value); 53464/******/ if(mode & 8) return value; 53465/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 53466/******/ var ns = Object.create(null); 53467/******/ __nested_webpack_require_688__.r(ns); 53468/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 53469/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __nested_webpack_require_688__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 53470/******/ return ns; 53471/******/ }; 53472/******/ 53473/******/ // getDefaultExport function for compatibility with non-harmony modules 53474/******/ __nested_webpack_require_688__.n = function(module) { 53475/******/ var getter = module && module.__esModule ? 53476/******/ function getDefault() { return module['default']; } : 53477/******/ function getModuleExports() { return module; }; 53478/******/ __nested_webpack_require_688__.d(getter, 'a', getter); 53479/******/ return getter; 53480/******/ }; 53481/******/ 53482/******/ // Object.prototype.hasOwnProperty.call 53483/******/ __nested_webpack_require_688__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 53484/******/ 53485/******/ // __webpack_public_path__ 53486/******/ __nested_webpack_require_688__.p = ""; 53487/******/ 53488/******/ 53489/******/ // Load entry module and return exports 53490/******/ return __nested_webpack_require_688__(__nested_webpack_require_688__.s = "fb15"); 53491/******/ }) 53492/************************************************************************/ 53493/******/ ({ 53494 53495/***/ "01f9": 53496/***/ (function(module, exports, __nested_webpack_require_4164__) { 53497 53498"use strict"; 53499 53500var LIBRARY = __nested_webpack_require_4164__("2d00"); 53501var $export = __nested_webpack_require_4164__("5ca1"); 53502var redefine = __nested_webpack_require_4164__("2aba"); 53503var hide = __nested_webpack_require_4164__("32e9"); 53504var Iterators = __nested_webpack_require_4164__("84f2"); 53505var $iterCreate = __nested_webpack_require_4164__("41a0"); 53506var setToStringTag = __nested_webpack_require_4164__("7f20"); 53507var getPrototypeOf = __nested_webpack_require_4164__("38fd"); 53508var ITERATOR = __nested_webpack_require_4164__("2b4c")('iterator'); 53509var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` 53510var FF_ITERATOR = '@@iterator'; 53511var KEYS = 'keys'; 53512var VALUES = 'values'; 53513 53514var returnThis = function () { return this; }; 53515 53516module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { 53517 $iterCreate(Constructor, NAME, next); 53518 var getMethod = function (kind) { 53519 if (!BUGGY && kind in proto) return proto[kind]; 53520 switch (kind) { 53521 case KEYS: return function keys() { return new Constructor(this, kind); }; 53522 case VALUES: return function values() { return new Constructor(this, kind); }; 53523 } return function entries() { return new Constructor(this, kind); }; 53524 }; 53525 var TAG = NAME + ' Iterator'; 53526 var DEF_VALUES = DEFAULT == VALUES; 53527 var VALUES_BUG = false; 53528 var proto = Base.prototype; 53529 var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; 53530 var $default = $native || getMethod(DEFAULT); 53531 var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; 53532 var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; 53533 var methods, key, IteratorPrototype; 53534 // Fix native 53535 if ($anyNative) { 53536 IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); 53537 if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { 53538 // Set @@toStringTag to native iterators 53539 setToStringTag(IteratorPrototype, TAG, true); 53540 // fix for some old engines 53541 if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); 53542 } 53543 } 53544 // fix Array#{values, @@iterator}.name in V8 / FF 53545 if (DEF_VALUES && $native && $native.name !== VALUES) { 53546 VALUES_BUG = true; 53547 $default = function values() { return $native.call(this); }; 53548 } 53549 // Define iterator 53550 if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { 53551 hide(proto, ITERATOR, $default); 53552 } 53553 // Plug for library 53554 Iterators[NAME] = $default; 53555 Iterators[TAG] = returnThis; 53556 if (DEFAULT) { 53557 methods = { 53558 values: DEF_VALUES ? $default : getMethod(VALUES), 53559 keys: IS_SET ? $default : getMethod(KEYS), 53560 entries: $entries 53561 }; 53562 if (FORCED) for (key in methods) { 53563 if (!(key in proto)) redefine(proto, key, methods[key]); 53564 } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); 53565 } 53566 return methods; 53567}; 53568 53569 53570/***/ }), 53571 53572/***/ "02f4": 53573/***/ (function(module, exports, __nested_webpack_require_7070__) { 53574 53575var toInteger = __nested_webpack_require_7070__("4588"); 53576var defined = __nested_webpack_require_7070__("be13"); 53577// true -> String#at 53578// false -> String#codePointAt 53579module.exports = function (TO_STRING) { 53580 return function (that, pos) { 53581 var s = String(defined(that)); 53582 var i = toInteger(pos); 53583 var l = s.length; 53584 var a, b; 53585 if (i < 0 || i >= l) return TO_STRING ? '' : undefined; 53586 a = s.charCodeAt(i); 53587 return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff 53588 ? TO_STRING ? s.charAt(i) : a 53589 : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; 53590 }; 53591}; 53592 53593 53594/***/ }), 53595 53596/***/ "0390": 53597/***/ (function(module, exports, __nested_webpack_require_7783__) { 53598 53599"use strict"; 53600 53601var at = __nested_webpack_require_7783__("02f4")(true); 53602 53603 // `AdvanceStringIndex` abstract operation 53604// https://tc39.github.io/ecma262/#sec-advancestringindex 53605module.exports = function (S, index, unicode) { 53606 return index + (unicode ? at(S, index).length : 1); 53607}; 53608 53609 53610/***/ }), 53611 53612/***/ "0bfb": 53613/***/ (function(module, exports, __nested_webpack_require_8134__) { 53614 53615"use strict"; 53616 53617// 21.2.5.3 get RegExp.prototype.flags 53618var anObject = __nested_webpack_require_8134__("cb7c"); 53619module.exports = function () { 53620 var that = anObject(this); 53621 var result = ''; 53622 if (that.global) result += 'g'; 53623 if (that.ignoreCase) result += 'i'; 53624 if (that.multiline) result += 'm'; 53625 if (that.unicode) result += 'u'; 53626 if (that.sticky) result += 'y'; 53627 return result; 53628}; 53629 53630 53631/***/ }), 53632 53633/***/ "0d58": 53634/***/ (function(module, exports, __nested_webpack_require_8593__) { 53635 53636// 19.1.2.14 / 15.2.3.14 Object.keys(O) 53637var $keys = __nested_webpack_require_8593__("ce10"); 53638var enumBugKeys = __nested_webpack_require_8593__("e11e"); 53639 53640module.exports = Object.keys || function keys(O) { 53641 return $keys(O, enumBugKeys); 53642}; 53643 53644 53645/***/ }), 53646 53647/***/ "1495": 53648/***/ (function(module, exports, __nested_webpack_require_8892__) { 53649 53650var dP = __nested_webpack_require_8892__("86cc"); 53651var anObject = __nested_webpack_require_8892__("cb7c"); 53652var getKeys = __nested_webpack_require_8892__("0d58"); 53653 53654module.exports = __nested_webpack_require_8892__("9e1e") ? Object.defineProperties : function defineProperties(O, Properties) { 53655 anObject(O); 53656 var keys = getKeys(Properties); 53657 var length = keys.length; 53658 var i = 0; 53659 var P; 53660 while (length > i) dP.f(O, P = keys[i++], Properties[P]); 53661 return O; 53662}; 53663 53664 53665/***/ }), 53666 53667/***/ "214f": 53668/***/ (function(module, exports, __nested_webpack_require_9392__) { 53669 53670"use strict"; 53671 53672__nested_webpack_require_9392__("b0c5"); 53673var redefine = __nested_webpack_require_9392__("2aba"); 53674var hide = __nested_webpack_require_9392__("32e9"); 53675var fails = __nested_webpack_require_9392__("79e5"); 53676var defined = __nested_webpack_require_9392__("be13"); 53677var wks = __nested_webpack_require_9392__("2b4c"); 53678var regexpExec = __nested_webpack_require_9392__("520a"); 53679 53680var SPECIES = wks('species'); 53681 53682var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 53683 // #replace needs built-in support for named groups. 53684 // #match works fine because it just return the exec results, even if it has 53685 // a "grops" property. 53686 var re = /./; 53687 re.exec = function () { 53688 var result = []; 53689 result.groups = { a: '7' }; 53690 return result; 53691 }; 53692 return ''.replace(re, '$<a>') !== '7'; 53693}); 53694 53695var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { 53696 // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec 53697 var re = /(?:)/; 53698 var originalExec = re.exec; 53699 re.exec = function () { return originalExec.apply(this, arguments); }; 53700 var result = 'ab'.split(re); 53701 return result.length === 2 && result[0] === 'a' && result[1] === 'b'; 53702})(); 53703 53704module.exports = function (KEY, length, exec) { 53705 var SYMBOL = wks(KEY); 53706 53707 var DELEGATES_TO_SYMBOL = !fails(function () { 53708 // String methods call symbol-named RegEp methods 53709 var O = {}; 53710 O[SYMBOL] = function () { return 7; }; 53711 return ''[KEY](O) != 7; 53712 }); 53713 53714 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { 53715 // Symbol-named RegExp methods call .exec 53716 var execCalled = false; 53717 var re = /a/; 53718 re.exec = function () { execCalled = true; return null; }; 53719 if (KEY === 'split') { 53720 // RegExp[@@split] doesn't call the regex's exec method, but first creates 53721 // a new one. We need to return the patched regex when creating the new one. 53722 re.constructor = {}; 53723 re.constructor[SPECIES] = function () { return re; }; 53724 } 53725 re[SYMBOL](''); 53726 return !execCalled; 53727 }) : undefined; 53728 53729 if ( 53730 !DELEGATES_TO_SYMBOL || 53731 !DELEGATES_TO_EXEC || 53732 (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || 53733 (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) 53734 ) { 53735 var nativeRegExpMethod = /./[SYMBOL]; 53736 var fns = exec( 53737 defined, 53738 SYMBOL, 53739 ''[KEY], 53740 function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { 53741 if (regexp.exec === regexpExec) { 53742 if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 53743 // The native String method already delegates to @@method (this 53744 // polyfilled function), leasing to infinite recursion. 53745 // We avoid it by directly calling the native @@method method. 53746 return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; 53747 } 53748 return { done: true, value: nativeMethod.call(str, regexp, arg2) }; 53749 } 53750 return { done: false }; 53751 } 53752 ); 53753 var strfn = fns[0]; 53754 var rxfn = fns[1]; 53755 53756 redefine(String.prototype, KEY, strfn); 53757 hide(RegExp.prototype, SYMBOL, length == 2 53758 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) 53759 // 21.2.5.11 RegExp.prototype[@@split](string, limit) 53760 ? function (string, arg) { return rxfn.call(string, this, arg); } 53761 // 21.2.5.6 RegExp.prototype[@@match](string) 53762 // 21.2.5.9 RegExp.prototype[@@search](string) 53763 : function (string) { return rxfn.call(string, this); } 53764 ); 53765 } 53766}; 53767 53768 53769/***/ }), 53770 53771/***/ "230e": 53772/***/ (function(module, exports, __nested_webpack_require_12849__) { 53773 53774var isObject = __nested_webpack_require_12849__("d3f4"); 53775var document = __nested_webpack_require_12849__("7726").document; 53776// typeof document.createElement is 'object' in old IE 53777var is = isObject(document) && isObject(document.createElement); 53778module.exports = function (it) { 53779 return is ? document.createElement(it) : {}; 53780}; 53781 53782 53783/***/ }), 53784 53785/***/ "23c6": 53786/***/ (function(module, exports, __nested_webpack_require_13233__) { 53787 53788// getting tag from 19.1.3.6 Object.prototype.toString() 53789var cof = __nested_webpack_require_13233__("2d95"); 53790var TAG = __nested_webpack_require_13233__("2b4c")('toStringTag'); 53791// ES3 wrong here 53792var ARG = cof(function () { return arguments; }()) == 'Arguments'; 53793 53794// fallback for IE11 Script Access Denied error 53795var tryGet = function (it, key) { 53796 try { 53797 return it[key]; 53798 } catch (e) { /* empty */ } 53799}; 53800 53801module.exports = function (it) { 53802 var O, T, B; 53803 return it === undefined ? 'Undefined' : it === null ? 'Null' 53804 // @@toStringTag case 53805 : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T 53806 // builtinTag case 53807 : ARG ? cof(O) 53808 // ES3 arguments fallback 53809 : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; 53810}; 53811 53812 53813/***/ }), 53814 53815/***/ "2621": 53816/***/ (function(module, exports) { 53817 53818exports.f = Object.getOwnPropertySymbols; 53819 53820 53821/***/ }), 53822 53823/***/ "2aba": 53824/***/ (function(module, exports, __nested_webpack_require_14160__) { 53825 53826var global = __nested_webpack_require_14160__("7726"); 53827var hide = __nested_webpack_require_14160__("32e9"); 53828var has = __nested_webpack_require_14160__("69a8"); 53829var SRC = __nested_webpack_require_14160__("ca5a")('src'); 53830var $toString = __nested_webpack_require_14160__("fa5b"); 53831var TO_STRING = 'toString'; 53832var TPL = ('' + $toString).split(TO_STRING); 53833 53834__nested_webpack_require_14160__("8378").inspectSource = function (it) { 53835 return $toString.call(it); 53836}; 53837 53838(module.exports = function (O, key, val, safe) { 53839 var isFunction = typeof val == 'function'; 53840 if (isFunction) has(val, 'name') || hide(val, 'name', key); 53841 if (O[key] === val) return; 53842 if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); 53843 if (O === global) { 53844 O[key] = val; 53845 } else if (!safe) { 53846 delete O[key]; 53847 hide(O, key, val); 53848 } else if (O[key]) { 53849 O[key] = val; 53850 } else { 53851 hide(O, key, val); 53852 } 53853// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 53854})(Function.prototype, TO_STRING, function toString() { 53855 return typeof this == 'function' && this[SRC] || $toString.call(this); 53856}); 53857 53858 53859/***/ }), 53860 53861/***/ "2aeb": 53862/***/ (function(module, exports, __nested_webpack_require_15334__) { 53863 53864// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) 53865var anObject = __nested_webpack_require_15334__("cb7c"); 53866var dPs = __nested_webpack_require_15334__("1495"); 53867var enumBugKeys = __nested_webpack_require_15334__("e11e"); 53868var IE_PROTO = __nested_webpack_require_15334__("613b")('IE_PROTO'); 53869var Empty = function () { /* empty */ }; 53870var PROTOTYPE = 'prototype'; 53871 53872// Create object with fake `null` prototype: use iframe Object with cleared prototype 53873var createDict = function () { 53874 // Thrash, waste and sodomy: IE GC bug 53875 var iframe = __nested_webpack_require_15334__("230e")('iframe'); 53876 var i = enumBugKeys.length; 53877 var lt = '<'; 53878 var gt = '>'; 53879 var iframeDocument; 53880 iframe.style.display = 'none'; 53881 __nested_webpack_require_15334__("fab2").appendChild(iframe); 53882 iframe.src = 'javascript:'; // eslint-disable-line no-script-url 53883 // createDict = iframe.contentWindow.Object; 53884 // html.removeChild(iframe); 53885 iframeDocument = iframe.contentWindow.document; 53886 iframeDocument.open(); 53887 iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); 53888 iframeDocument.close(); 53889 createDict = iframeDocument.F; 53890 while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; 53891 return createDict(); 53892}; 53893 53894module.exports = Object.create || function create(O, Properties) { 53895 var result; 53896 if (O !== null) { 53897 Empty[PROTOTYPE] = anObject(O); 53898 result = new Empty(); 53899 Empty[PROTOTYPE] = null; 53900 // add "__proto__" for Object.getPrototypeOf polyfill 53901 result[IE_PROTO] = O; 53902 } else result = createDict(); 53903 return Properties === undefined ? result : dPs(result, Properties); 53904}; 53905 53906 53907/***/ }), 53908 53909/***/ "2b4c": 53910/***/ (function(module, exports, __nested_webpack_require_16945__) { 53911 53912var store = __nested_webpack_require_16945__("5537")('wks'); 53913var uid = __nested_webpack_require_16945__("ca5a"); 53914var Symbol = __nested_webpack_require_16945__("7726").Symbol; 53915var USE_SYMBOL = typeof Symbol == 'function'; 53916 53917var $exports = module.exports = function (name) { 53918 return store[name] || (store[name] = 53919 USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); 53920}; 53921 53922$exports.store = store; 53923 53924 53925/***/ }), 53926 53927/***/ "2d00": 53928/***/ (function(module, exports) { 53929 53930module.exports = false; 53931 53932 53933/***/ }), 53934 53935/***/ "2d95": 53936/***/ (function(module, exports) { 53937 53938var toString = {}.toString; 53939 53940module.exports = function (it) { 53941 return toString.call(it).slice(8, -1); 53942}; 53943 53944 53945/***/ }), 53946 53947/***/ "2fdb": 53948/***/ (function(module, exports, __nested_webpack_require_17667__) { 53949 53950"use strict"; 53951// 21.1.3.7 String.prototype.includes(searchString, position = 0) 53952 53953var $export = __nested_webpack_require_17667__("5ca1"); 53954var context = __nested_webpack_require_17667__("d2c8"); 53955var INCLUDES = 'includes'; 53956 53957$export($export.P + $export.F * __nested_webpack_require_17667__("5147")(INCLUDES), 'String', { 53958 includes: function includes(searchString /* , position = 0 */) { 53959 return !!~context(this, searchString, INCLUDES) 53960 .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); 53961 } 53962}); 53963 53964 53965/***/ }), 53966 53967/***/ "32e9": 53968/***/ (function(module, exports, __nested_webpack_require_18235__) { 53969 53970var dP = __nested_webpack_require_18235__("86cc"); 53971var createDesc = __nested_webpack_require_18235__("4630"); 53972module.exports = __nested_webpack_require_18235__("9e1e") ? function (object, key, value) { 53973 return dP.f(object, key, createDesc(1, value)); 53974} : function (object, key, value) { 53975 object[key] = value; 53976 return object; 53977}; 53978 53979 53980/***/ }), 53981 53982/***/ "38fd": 53983/***/ (function(module, exports, __nested_webpack_require_18611__) { 53984 53985// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) 53986var has = __nested_webpack_require_18611__("69a8"); 53987var toObject = __nested_webpack_require_18611__("4bf8"); 53988var IE_PROTO = __nested_webpack_require_18611__("613b")('IE_PROTO'); 53989var ObjectProto = Object.prototype; 53990 53991module.exports = Object.getPrototypeOf || function (O) { 53992 O = toObject(O); 53993 if (has(O, IE_PROTO)) return O[IE_PROTO]; 53994 if (typeof O.constructor == 'function' && O instanceof O.constructor) { 53995 return O.constructor.prototype; 53996 } return O instanceof Object ? ObjectProto : null; 53997}; 53998 53999 54000/***/ }), 54001 54002/***/ "41a0": 54003/***/ (function(module, exports, __nested_webpack_require_19205__) { 54004 54005"use strict"; 54006 54007var create = __nested_webpack_require_19205__("2aeb"); 54008var descriptor = __nested_webpack_require_19205__("4630"); 54009var setToStringTag = __nested_webpack_require_19205__("7f20"); 54010var IteratorPrototype = {}; 54011 54012// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 54013__nested_webpack_require_19205__("32e9")(IteratorPrototype, __nested_webpack_require_19205__("2b4c")('iterator'), function () { return this; }); 54014 54015module.exports = function (Constructor, NAME, next) { 54016 Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); 54017 setToStringTag(Constructor, NAME + ' Iterator'); 54018}; 54019 54020 54021/***/ }), 54022 54023/***/ "456d": 54024/***/ (function(module, exports, __nested_webpack_require_19831__) { 54025 54026// 19.1.2.14 Object.keys(O) 54027var toObject = __nested_webpack_require_19831__("4bf8"); 54028var $keys = __nested_webpack_require_19831__("0d58"); 54029 54030__nested_webpack_require_19831__("5eda")('keys', function () { 54031 return function keys(it) { 54032 return $keys(toObject(it)); 54033 }; 54034}); 54035 54036 54037/***/ }), 54038 54039/***/ "4588": 54040/***/ (function(module, exports) { 54041 54042// 7.1.4 ToInteger 54043var ceil = Math.ceil; 54044var floor = Math.floor; 54045module.exports = function (it) { 54046 return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); 54047}; 54048 54049 54050/***/ }), 54051 54052/***/ "4630": 54053/***/ (function(module, exports) { 54054 54055module.exports = function (bitmap, value) { 54056 return { 54057 enumerable: !(bitmap & 1), 54058 configurable: !(bitmap & 2), 54059 writable: !(bitmap & 4), 54060 value: value 54061 }; 54062}; 54063 54064 54065/***/ }), 54066 54067/***/ "4bf8": 54068/***/ (function(module, exports, __nested_webpack_require_20609__) { 54069 54070// 7.1.13 ToObject(argument) 54071var defined = __nested_webpack_require_20609__("be13"); 54072module.exports = function (it) { 54073 return Object(defined(it)); 54074}; 54075 54076 54077/***/ }), 54078 54079/***/ "5147": 54080/***/ (function(module, exports, __nested_webpack_require_20831__) { 54081 54082var MATCH = __nested_webpack_require_20831__("2b4c")('match'); 54083module.exports = function (KEY) { 54084 var re = /./; 54085 try { 54086 '/./'[KEY](re); 54087 } catch (e) { 54088 try { 54089 re[MATCH] = false; 54090 return !'/./'[KEY](re); 54091 } catch (f) { /* empty */ } 54092 } return true; 54093}; 54094 54095 54096/***/ }), 54097 54098/***/ "520a": 54099/***/ (function(module, exports, __nested_webpack_require_21176__) { 54100 54101"use strict"; 54102 54103 54104var regexpFlags = __nested_webpack_require_21176__("0bfb"); 54105 54106var nativeExec = RegExp.prototype.exec; 54107// This always refers to the native implementation, because the 54108// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, 54109// which loads this file before patching the method. 54110var nativeReplace = String.prototype.replace; 54111 54112var patchedExec = nativeExec; 54113 54114var LAST_INDEX = 'lastIndex'; 54115 54116var UPDATES_LAST_INDEX_WRONG = (function () { 54117 var re1 = /a/, 54118 re2 = /b*/g; 54119 nativeExec.call(re1, 'a'); 54120 nativeExec.call(re2, 'a'); 54121 return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; 54122})(); 54123 54124// nonparticipating capturing group, copied from es5-shim's String#split patch. 54125var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 54126 54127var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; 54128 54129if (PATCH) { 54130 patchedExec = function exec(str) { 54131 var re = this; 54132 var lastIndex, reCopy, match, i; 54133 54134 if (NPCG_INCLUDED) { 54135 reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); 54136 } 54137 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; 54138 54139 match = nativeExec.call(re, str); 54140 54141 if (UPDATES_LAST_INDEX_WRONG && match) { 54142 re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; 54143 } 54144 if (NPCG_INCLUDED && match && match.length > 1) { 54145 // Fix browsers whose `exec` methods don't consistently return `undefined` 54146 // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 54147 // eslint-disable-next-line no-loop-func 54148 nativeReplace.call(match[0], reCopy, function () { 54149 for (i = 1; i < arguments.length - 2; i++) { 54150 if (arguments[i] === undefined) match[i] = undefined; 54151 } 54152 }); 54153 } 54154 54155 return match; 54156 }; 54157} 54158 54159module.exports = patchedExec; 54160 54161 54162/***/ }), 54163 54164/***/ "52a7": 54165/***/ (function(module, exports) { 54166 54167exports.f = {}.propertyIsEnumerable; 54168 54169 54170/***/ }), 54171 54172/***/ "5537": 54173/***/ (function(module, exports, __nested_webpack_require_23109__) { 54174 54175var core = __nested_webpack_require_23109__("8378"); 54176var global = __nested_webpack_require_23109__("7726"); 54177var SHARED = '__core-js_shared__'; 54178var store = global[SHARED] || (global[SHARED] = {}); 54179 54180(module.exports = function (key, value) { 54181 return store[key] || (store[key] = value !== undefined ? value : {}); 54182})('versions', []).push({ 54183 version: core.version, 54184 mode: __nested_webpack_require_23109__("2d00") ? 'pure' : 'global', 54185 copyright: '© 2019 Denis Pushkarev (zloirock.ru)' 54186}); 54187 54188 54189/***/ }), 54190 54191/***/ "5ca1": 54192/***/ (function(module, exports, __nested_webpack_require_23642__) { 54193 54194var global = __nested_webpack_require_23642__("7726"); 54195var core = __nested_webpack_require_23642__("8378"); 54196var hide = __nested_webpack_require_23642__("32e9"); 54197var redefine = __nested_webpack_require_23642__("2aba"); 54198var ctx = __nested_webpack_require_23642__("9b43"); 54199var PROTOTYPE = 'prototype'; 54200 54201var $export = function (type, name, source) { 54202 var IS_FORCED = type & $export.F; 54203 var IS_GLOBAL = type & $export.G; 54204 var IS_STATIC = type & $export.S; 54205 var IS_PROTO = type & $export.P; 54206 var IS_BIND = type & $export.B; 54207 var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; 54208 var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); 54209 var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); 54210 var key, own, out, exp; 54211 if (IS_GLOBAL) source = name; 54212 for (key in source) { 54213 // contains in native 54214 own = !IS_FORCED && target && target[key] !== undefined; 54215 // export native or passed 54216 out = (own ? target : source)[key]; 54217 // bind timers to global for call from export context 54218 exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; 54219 // extend global 54220 if (target) redefine(target, key, out, type & $export.U); 54221 // export 54222 if (exports[key] != out) hide(exports, key, exp); 54223 if (IS_PROTO && expProto[key] != out) expProto[key] = out; 54224 } 54225}; 54226global.core = core; 54227// type bitmap 54228$export.F = 1; // forced 54229$export.G = 2; // global 54230$export.S = 4; // static 54231$export.P = 8; // proto 54232$export.B = 16; // bind 54233$export.W = 32; // wrap 54234$export.U = 64; // safe 54235$export.R = 128; // real proto method for `library` 54236module.exports = $export; 54237 54238 54239/***/ }), 54240 54241/***/ "5eda": 54242/***/ (function(module, exports, __nested_webpack_require_25367__) { 54243 54244// most Object methods by ES6 should accept primitives 54245var $export = __nested_webpack_require_25367__("5ca1"); 54246var core = __nested_webpack_require_25367__("8378"); 54247var fails = __nested_webpack_require_25367__("79e5"); 54248module.exports = function (KEY, exec) { 54249 var fn = (core.Object || {})[KEY] || Object[KEY]; 54250 var exp = {}; 54251 exp[KEY] = exec(fn); 54252 $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); 54253}; 54254 54255 54256/***/ }), 54257 54258/***/ "5f1b": 54259/***/ (function(module, exports, __nested_webpack_require_25845__) { 54260 54261"use strict"; 54262 54263 54264var classof = __nested_webpack_require_25845__("23c6"); 54265var builtinExec = RegExp.prototype.exec; 54266 54267 // `RegExpExec` abstract operation 54268// https://tc39.github.io/ecma262/#sec-regexpexec 54269module.exports = function (R, S) { 54270 var exec = R.exec; 54271 if (typeof exec === 'function') { 54272 var result = exec.call(R, S); 54273 if (typeof result !== 'object') { 54274 throw new TypeError('RegExp exec method returned something other than an Object or null'); 54275 } 54276 return result; 54277 } 54278 if (classof(R) !== 'RegExp') { 54279 throw new TypeError('RegExp#exec called on incompatible receiver'); 54280 } 54281 return builtinExec.call(R, S); 54282}; 54283 54284 54285/***/ }), 54286 54287/***/ "613b": 54288/***/ (function(module, exports, __nested_webpack_require_26551__) { 54289 54290var shared = __nested_webpack_require_26551__("5537")('keys'); 54291var uid = __nested_webpack_require_26551__("ca5a"); 54292module.exports = function (key) { 54293 return shared[key] || (shared[key] = uid(key)); 54294}; 54295 54296 54297/***/ }), 54298 54299/***/ "626a": 54300/***/ (function(module, exports, __nested_webpack_require_26811__) { 54301 54302// fallback for non-array-like ES3 and non-enumerable old V8 strings 54303var cof = __nested_webpack_require_26811__("2d95"); 54304// eslint-disable-next-line no-prototype-builtins 54305module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { 54306 return cof(it) == 'String' ? it.split('') : Object(it); 54307}; 54308 54309 54310/***/ }), 54311 54312/***/ "6762": 54313/***/ (function(module, exports, __nested_webpack_require_27194__) { 54314 54315"use strict"; 54316 54317// https://github.com/tc39/Array.prototype.includes 54318var $export = __nested_webpack_require_27194__("5ca1"); 54319var $includes = __nested_webpack_require_27194__("c366")(true); 54320 54321$export($export.P, 'Array', { 54322 includes: function includes(el /* , fromIndex = 0 */) { 54323 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); 54324 } 54325}); 54326 54327__nested_webpack_require_27194__("9c6c")('includes'); 54328 54329 54330/***/ }), 54331 54332/***/ "6821": 54333/***/ (function(module, exports, __nested_webpack_require_27659__) { 54334 54335// to indexed object, toObject with fallback for non-array-like ES3 strings 54336var IObject = __nested_webpack_require_27659__("626a"); 54337var defined = __nested_webpack_require_27659__("be13"); 54338module.exports = function (it) { 54339 return IObject(defined(it)); 54340}; 54341 54342 54343/***/ }), 54344 54345/***/ "69a8": 54346/***/ (function(module, exports) { 54347 54348var hasOwnProperty = {}.hasOwnProperty; 54349module.exports = function (it, key) { 54350 return hasOwnProperty.call(it, key); 54351}; 54352 54353 54354/***/ }), 54355 54356/***/ "6a99": 54357/***/ (function(module, exports, __nested_webpack_require_28155__) { 54358 54359// 7.1.1 ToPrimitive(input [, PreferredType]) 54360var isObject = __nested_webpack_require_28155__("d3f4"); 54361// instead of the ES6 spec version, we didn't implement @@toPrimitive case 54362// and the second argument - flag - preferred type is a string 54363module.exports = function (it, S) { 54364 if (!isObject(it)) return it; 54365 var fn, val; 54366 if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 54367 if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; 54368 if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 54369 throw TypeError("Can't convert object to primitive value"); 54370}; 54371 54372 54373/***/ }), 54374 54375/***/ "7333": 54376/***/ (function(module, exports, __nested_webpack_require_28898__) { 54377 54378"use strict"; 54379 54380// 19.1.2.1 Object.assign(target, source, ...) 54381var getKeys = __nested_webpack_require_28898__("0d58"); 54382var gOPS = __nested_webpack_require_28898__("2621"); 54383var pIE = __nested_webpack_require_28898__("52a7"); 54384var toObject = __nested_webpack_require_28898__("4bf8"); 54385var IObject = __nested_webpack_require_28898__("626a"); 54386var $assign = Object.assign; 54387 54388// should work with symbols and should have deterministic property order (V8 bug) 54389module.exports = !$assign || __nested_webpack_require_28898__("79e5")(function () { 54390 var A = {}; 54391 var B = {}; 54392 // eslint-disable-next-line no-undef 54393 var S = Symbol(); 54394 var K = 'abcdefghijklmnopqrst'; 54395 A[S] = 7; 54396 K.split('').forEach(function (k) { B[k] = k; }); 54397 return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; 54398}) ? function assign(target, source) { // eslint-disable-line no-unused-vars 54399 var T = toObject(target); 54400 var aLen = arguments.length; 54401 var index = 1; 54402 var getSymbols = gOPS.f; 54403 var isEnum = pIE.f; 54404 while (aLen > index) { 54405 var S = IObject(arguments[index++]); 54406 var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); 54407 var length = keys.length; 54408 var j = 0; 54409 var key; 54410 while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; 54411 } return T; 54412} : $assign; 54413 54414 54415/***/ }), 54416 54417/***/ "7726": 54418/***/ (function(module, exports) { 54419 54420// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 54421var global = module.exports = typeof window != 'undefined' && window.Math == Math 54422 ? window : typeof self != 'undefined' && self.Math == Math ? self 54423 // eslint-disable-next-line no-new-func 54424 : Function('return this')(); 54425if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef 54426 54427 54428/***/ }), 54429 54430/***/ "77f1": 54431/***/ (function(module, exports, __nested_webpack_require_30635__) { 54432 54433var toInteger = __nested_webpack_require_30635__("4588"); 54434var max = Math.max; 54435var min = Math.min; 54436module.exports = function (index, length) { 54437 index = toInteger(index); 54438 return index < 0 ? max(index + length, 0) : min(index, length); 54439}; 54440 54441 54442/***/ }), 54443 54444/***/ "79e5": 54445/***/ (function(module, exports) { 54446 54447module.exports = function (exec) { 54448 try { 54449 return !!exec(); 54450 } catch (e) { 54451 return true; 54452 } 54453}; 54454 54455 54456/***/ }), 54457 54458/***/ "7f20": 54459/***/ (function(module, exports, __nested_webpack_require_31112__) { 54460 54461var def = __nested_webpack_require_31112__("86cc").f; 54462var has = __nested_webpack_require_31112__("69a8"); 54463var TAG = __nested_webpack_require_31112__("2b4c")('toStringTag'); 54464 54465module.exports = function (it, tag, stat) { 54466 if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); 54467}; 54468 54469 54470/***/ }), 54471 54472/***/ "8378": 54473/***/ (function(module, exports) { 54474 54475var core = module.exports = { version: '2.6.5' }; 54476if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef 54477 54478 54479/***/ }), 54480 54481/***/ "84f2": 54482/***/ (function(module, exports) { 54483 54484module.exports = {}; 54485 54486 54487/***/ }), 54488 54489/***/ "86cc": 54490/***/ (function(module, exports, __nested_webpack_require_31751__) { 54491 54492var anObject = __nested_webpack_require_31751__("cb7c"); 54493var IE8_DOM_DEFINE = __nested_webpack_require_31751__("c69a"); 54494var toPrimitive = __nested_webpack_require_31751__("6a99"); 54495var dP = Object.defineProperty; 54496 54497exports.f = __nested_webpack_require_31751__("9e1e") ? Object.defineProperty : function defineProperty(O, P, Attributes) { 54498 anObject(O); 54499 P = toPrimitive(P, true); 54500 anObject(Attributes); 54501 if (IE8_DOM_DEFINE) try { 54502 return dP(O, P, Attributes); 54503 } catch (e) { /* empty */ } 54504 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); 54505 if ('value' in Attributes) O[P] = Attributes.value; 54506 return O; 54507}; 54508 54509 54510/***/ }), 54511 54512/***/ "9b43": 54513/***/ (function(module, exports, __nested_webpack_require_32441__) { 54514 54515// optional / simple context binding 54516var aFunction = __nested_webpack_require_32441__("d8e8"); 54517module.exports = function (fn, that, length) { 54518 aFunction(fn); 54519 if (that === undefined) return fn; 54520 switch (length) { 54521 case 1: return function (a) { 54522 return fn.call(that, a); 54523 }; 54524 case 2: return function (a, b) { 54525 return fn.call(that, a, b); 54526 }; 54527 case 3: return function (a, b, c) { 54528 return fn.call(that, a, b, c); 54529 }; 54530 } 54531 return function (/* ...args */) { 54532 return fn.apply(that, arguments); 54533 }; 54534}; 54535 54536 54537/***/ }), 54538 54539/***/ "9c6c": 54540/***/ (function(module, exports, __nested_webpack_require_33048__) { 54541 54542// 22.1.3.31 Array.prototype[@@unscopables] 54543var UNSCOPABLES = __nested_webpack_require_33048__("2b4c")('unscopables'); 54544var ArrayProto = Array.prototype; 54545if (ArrayProto[UNSCOPABLES] == undefined) __nested_webpack_require_33048__("32e9")(ArrayProto, UNSCOPABLES, {}); 54546module.exports = function (key) { 54547 ArrayProto[UNSCOPABLES][key] = true; 54548}; 54549 54550 54551/***/ }), 54552 54553/***/ "9def": 54554/***/ (function(module, exports, __nested_webpack_require_33448__) { 54555 54556// 7.1.15 ToLength 54557var toInteger = __nested_webpack_require_33448__("4588"); 54558var min = Math.min; 54559module.exports = function (it) { 54560 return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 54561}; 54562 54563 54564/***/ }), 54565 54566/***/ "9e1e": 54567/***/ (function(module, exports, __nested_webpack_require_33750__) { 54568 54569// Thank's IE8 for his funny defineProperty 54570module.exports = !__nested_webpack_require_33750__("79e5")(function () { 54571 return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; 54572}); 54573 54574 54575/***/ }), 54576 54577/***/ "a352": 54578/***/ (function(module, exports) { 54579 54580module.exports = __WEBPACK_EXTERNAL_MODULE_a352__; 54581 54582/***/ }), 54583 54584/***/ "a481": 54585/***/ (function(module, exports, __nested_webpack_require_34139__) { 54586 54587"use strict"; 54588 54589 54590var anObject = __nested_webpack_require_34139__("cb7c"); 54591var toObject = __nested_webpack_require_34139__("4bf8"); 54592var toLength = __nested_webpack_require_34139__("9def"); 54593var toInteger = __nested_webpack_require_34139__("4588"); 54594var advanceStringIndex = __nested_webpack_require_34139__("0390"); 54595var regExpExec = __nested_webpack_require_34139__("5f1b"); 54596var max = Math.max; 54597var min = Math.min; 54598var floor = Math.floor; 54599var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; 54600var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; 54601 54602var maybeToString = function (it) { 54603 return it === undefined ? it : String(it); 54604}; 54605 54606// @@replace logic 54607__nested_webpack_require_34139__("214f")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { 54608 return [ 54609 // `String.prototype.replace` method 54610 // https://tc39.github.io/ecma262/#sec-string.prototype.replace 54611 function replace(searchValue, replaceValue) { 54612 var O = defined(this); 54613 var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; 54614 return fn !== undefined 54615 ? fn.call(searchValue, O, replaceValue) 54616 : $replace.call(String(O), searchValue, replaceValue); 54617 }, 54618 // `RegExp.prototype[@@replace]` method 54619 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace 54620 function (regexp, replaceValue) { 54621 var res = maybeCallNative($replace, regexp, this, replaceValue); 54622 if (res.done) return res.value; 54623 54624 var rx = anObject(regexp); 54625 var S = String(this); 54626 var functionalReplace = typeof replaceValue === 'function'; 54627 if (!functionalReplace) replaceValue = String(replaceValue); 54628 var global = rx.global; 54629 if (global) { 54630 var fullUnicode = rx.unicode; 54631 rx.lastIndex = 0; 54632 } 54633 var results = []; 54634 while (true) { 54635 var result = regExpExec(rx, S); 54636 if (result === null) break; 54637 results.push(result); 54638 if (!global) break; 54639 var matchStr = String(result[0]); 54640 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 54641 } 54642 var accumulatedResult = ''; 54643 var nextSourcePosition = 0; 54644 for (var i = 0; i < results.length; i++) { 54645 result = results[i]; 54646 var matched = String(result[0]); 54647 var position = max(min(toInteger(result.index), S.length), 0); 54648 var captures = []; 54649 // NOTE: This is equivalent to 54650 // captures = result.slice(1).map(maybeToString) 54651 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 54652 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 54653 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 54654 for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); 54655 var namedCaptures = result.groups; 54656 if (functionalReplace) { 54657 var replacerArgs = [matched].concat(captures, position, S); 54658 if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); 54659 var replacement = String(replaceValue.apply(undefined, replacerArgs)); 54660 } else { 54661 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 54662 } 54663 if (position >= nextSourcePosition) { 54664 accumulatedResult += S.slice(nextSourcePosition, position) + replacement; 54665 nextSourcePosition = position + matched.length; 54666 } 54667 } 54668 return accumulatedResult + S.slice(nextSourcePosition); 54669 } 54670 ]; 54671 54672 // https://tc39.github.io/ecma262/#sec-getsubstitution 54673 function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { 54674 var tailPos = position + matched.length; 54675 var m = captures.length; 54676 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 54677 if (namedCaptures !== undefined) { 54678 namedCaptures = toObject(namedCaptures); 54679 symbols = SUBSTITUTION_SYMBOLS; 54680 } 54681 return $replace.call(replacement, symbols, function (match, ch) { 54682 var capture; 54683 switch (ch.charAt(0)) { 54684 case '$': return '$'; 54685 case '&': return matched; 54686 case '`': return str.slice(0, position); 54687 case "'": return str.slice(tailPos); 54688 case '<': 54689 capture = namedCaptures[ch.slice(1, -1)]; 54690 break; 54691 default: // \d\d? 54692 var n = +ch; 54693 if (n === 0) return match; 54694 if (n > m) { 54695 var f = floor(n / 10); 54696 if (f === 0) return match; 54697 if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); 54698 return match; 54699 } 54700 capture = captures[n - 1]; 54701 } 54702 return capture === undefined ? '' : capture; 54703 }); 54704 } 54705}); 54706 54707 54708/***/ }), 54709 54710/***/ "aae3": 54711/***/ (function(module, exports, __nested_webpack_require_38885__) { 54712 54713// 7.2.8 IsRegExp(argument) 54714var isObject = __nested_webpack_require_38885__("d3f4"); 54715var cof = __nested_webpack_require_38885__("2d95"); 54716var MATCH = __nested_webpack_require_38885__("2b4c")('match'); 54717module.exports = function (it) { 54718 var isRegExp; 54719 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); 54720}; 54721 54722 54723/***/ }), 54724 54725/***/ "ac6a": 54726/***/ (function(module, exports, __nested_webpack_require_39282__) { 54727 54728var $iterators = __nested_webpack_require_39282__("cadf"); 54729var getKeys = __nested_webpack_require_39282__("0d58"); 54730var redefine = __nested_webpack_require_39282__("2aba"); 54731var global = __nested_webpack_require_39282__("7726"); 54732var hide = __nested_webpack_require_39282__("32e9"); 54733var Iterators = __nested_webpack_require_39282__("84f2"); 54734var wks = __nested_webpack_require_39282__("2b4c"); 54735var ITERATOR = wks('iterator'); 54736var TO_STRING_TAG = wks('toStringTag'); 54737var ArrayValues = Iterators.Array; 54738 54739var DOMIterables = { 54740 CSSRuleList: true, // TODO: Not spec compliant, should be false. 54741 CSSStyleDeclaration: false, 54742 CSSValueList: false, 54743 ClientRectList: false, 54744 DOMRectList: false, 54745 DOMStringList: false, 54746 DOMTokenList: true, 54747 DataTransferItemList: false, 54748 FileList: false, 54749 HTMLAllCollection: false, 54750 HTMLCollection: false, 54751 HTMLFormElement: false, 54752 HTMLSelectElement: false, 54753 MediaList: true, // TODO: Not spec compliant, should be false. 54754 MimeTypeArray: false, 54755 NamedNodeMap: false, 54756 NodeList: true, 54757 PaintRequestList: false, 54758 Plugin: false, 54759 PluginArray: false, 54760 SVGLengthList: false, 54761 SVGNumberList: false, 54762 SVGPathSegList: false, 54763 SVGPointList: false, 54764 SVGStringList: false, 54765 SVGTransformList: false, 54766 SourceBufferList: false, 54767 StyleSheetList: true, // TODO: Not spec compliant, should be false. 54768 TextTrackCueList: false, 54769 TextTrackList: false, 54770 TouchList: false 54771}; 54772 54773for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { 54774 var NAME = collections[i]; 54775 var explicit = DOMIterables[NAME]; 54776 var Collection = global[NAME]; 54777 var proto = Collection && Collection.prototype; 54778 var key; 54779 if (proto) { 54780 if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); 54781 if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); 54782 Iterators[NAME] = ArrayValues; 54783 if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); 54784 } 54785} 54786 54787 54788/***/ }), 54789 54790/***/ "b0c5": 54791/***/ (function(module, exports, __nested_webpack_require_41209__) { 54792 54793"use strict"; 54794 54795var regexpExec = __nested_webpack_require_41209__("520a"); 54796__nested_webpack_require_41209__("5ca1")({ 54797 target: 'RegExp', 54798 proto: true, 54799 forced: regexpExec !== /./.exec 54800}, { 54801 exec: regexpExec 54802}); 54803 54804 54805/***/ }), 54806 54807/***/ "be13": 54808/***/ (function(module, exports) { 54809 54810// 7.2.1 RequireObjectCoercible(argument) 54811module.exports = function (it) { 54812 if (it == undefined) throw TypeError("Can't call method on " + it); 54813 return it; 54814}; 54815 54816 54817/***/ }), 54818 54819/***/ "c366": 54820/***/ (function(module, exports, __nested_webpack_require_41706__) { 54821 54822// false -> Array#indexOf 54823// true -> Array#includes 54824var toIObject = __nested_webpack_require_41706__("6821"); 54825var toLength = __nested_webpack_require_41706__("9def"); 54826var toAbsoluteIndex = __nested_webpack_require_41706__("77f1"); 54827module.exports = function (IS_INCLUDES) { 54828 return function ($this, el, fromIndex) { 54829 var O = toIObject($this); 54830 var length = toLength(O.length); 54831 var index = toAbsoluteIndex(fromIndex, length); 54832 var value; 54833 // Array#includes uses SameValueZero equality algorithm 54834 // eslint-disable-next-line no-self-compare 54835 if (IS_INCLUDES && el != el) while (length > index) { 54836 value = O[index++]; 54837 // eslint-disable-next-line no-self-compare 54838 if (value != value) return true; 54839 // Array#indexOf ignores holes, Array#includes - not 54840 } else for (;length > index; index++) if (IS_INCLUDES || index in O) { 54841 if (O[index] === el) return IS_INCLUDES || index || 0; 54842 } return !IS_INCLUDES && -1; 54843 }; 54844}; 54845 54846 54847/***/ }), 54848 54849/***/ "c649": 54850/***/ (function(module, __nested_webpack_exports__, __nested_webpack_require_42729__) { 54851 54852"use strict"; 54853/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __nested_webpack_require_42729__.d(__nested_webpack_exports__, "c", function() { return insertNodeAt; }); 54854/* harmony export (binding) */ __nested_webpack_require_42729__.d(__nested_webpack_exports__, "a", function() { return camelize; }); 54855/* harmony export (binding) */ __nested_webpack_require_42729__.d(__nested_webpack_exports__, "b", function() { return console; }); 54856/* harmony export (binding) */ __nested_webpack_require_42729__.d(__nested_webpack_exports__, "d", function() { return removeNode; }); 54857/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __nested_webpack_require_42729__("a481"); 54858/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__nested_webpack_require_42729__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__); 54859 54860 54861function getConsole() { 54862 if (typeof window !== "undefined") { 54863 return window.console; 54864 } 54865 54866 return global.console; 54867} 54868 54869var console = getConsole(); 54870 54871function cached(fn) { 54872 var cache = Object.create(null); 54873 return function cachedFn(str) { 54874 var hit = cache[str]; 54875 return hit || (cache[str] = fn(str)); 54876 }; 54877} 54878 54879var regex = /-(\w)/g; 54880var camelize = cached(function (str) { 54881 return str.replace(regex, function (_, c) { 54882 return c ? c.toUpperCase() : ""; 54883 }); 54884}); 54885 54886function removeNode(node) { 54887 if (node.parentElement !== null) { 54888 node.parentElement.removeChild(node); 54889 } 54890} 54891 54892function insertNodeAt(fatherNode, node, position) { 54893 var refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling; 54894 fatherNode.insertBefore(node, refNode); 54895} 54896 54897 54898/* WEBPACK VAR INJECTION */}.call(this, __nested_webpack_require_42729__("c8ba"))) 54899 54900/***/ }), 54901 54902/***/ "c69a": 54903/***/ (function(module, exports, __nested_webpack_require_44512__) { 54904 54905module.exports = !__nested_webpack_require_44512__("9e1e") && !__nested_webpack_require_44512__("79e5")(function () { 54906 return Object.defineProperty(__nested_webpack_require_44512__("230e")('div'), 'a', { get: function () { return 7; } }).a != 7; 54907}); 54908 54909 54910/***/ }), 54911 54912/***/ "c8ba": 54913/***/ (function(module, exports) { 54914 54915var g; 54916 54917// This works in non-strict mode 54918g = (function() { 54919 return this; 54920})(); 54921 54922try { 54923 // This works if eval is allowed (see CSP) 54924 g = g || new Function("return this")(); 54925} catch (e) { 54926 // This works if the window reference is available 54927 if (typeof window === "object") g = window; 54928} 54929 54930// g can still be undefined, but nothing to do about it... 54931// We return undefined, instead of nothing here, so it's 54932// easier to handle this case. if(!global) { ...} 54933 54934module.exports = g; 54935 54936 54937/***/ }), 54938 54939/***/ "ca5a": 54940/***/ (function(module, exports) { 54941 54942var id = 0; 54943var px = Math.random(); 54944module.exports = function (key) { 54945 return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); 54946}; 54947 54948 54949/***/ }), 54950 54951/***/ "cadf": 54952/***/ (function(module, exports, __nested_webpack_require_45568__) { 54953 54954"use strict"; 54955 54956var addToUnscopables = __nested_webpack_require_45568__("9c6c"); 54957var step = __nested_webpack_require_45568__("d53b"); 54958var Iterators = __nested_webpack_require_45568__("84f2"); 54959var toIObject = __nested_webpack_require_45568__("6821"); 54960 54961// 22.1.3.4 Array.prototype.entries() 54962// 22.1.3.13 Array.prototype.keys() 54963// 22.1.3.29 Array.prototype.values() 54964// 22.1.3.30 Array.prototype[@@iterator]() 54965module.exports = __nested_webpack_require_45568__("01f9")(Array, 'Array', function (iterated, kind) { 54966 this._t = toIObject(iterated); // target 54967 this._i = 0; // next index 54968 this._k = kind; // kind 54969// 22.1.5.2.1 %ArrayIteratorPrototype%.next() 54970}, function () { 54971 var O = this._t; 54972 var kind = this._k; 54973 var index = this._i++; 54974 if (!O || index >= O.length) { 54975 this._t = undefined; 54976 return step(1); 54977 } 54978 if (kind == 'keys') return step(0, index); 54979 if (kind == 'values') return step(0, O[index]); 54980 return step(0, [index, O[index]]); 54981}, 'values'); 54982 54983// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) 54984Iterators.Arguments = Iterators.Array; 54985 54986addToUnscopables('keys'); 54987addToUnscopables('values'); 54988addToUnscopables('entries'); 54989 54990 54991/***/ }), 54992 54993/***/ "cb7c": 54994/***/ (function(module, exports, __nested_webpack_require_46777__) { 54995 54996var isObject = __nested_webpack_require_46777__("d3f4"); 54997module.exports = function (it) { 54998 if (!isObject(it)) throw TypeError(it + ' is not an object!'); 54999 return it; 55000}; 55001 55002 55003/***/ }), 55004 55005/***/ "ce10": 55006/***/ (function(module, exports, __nested_webpack_require_47019__) { 55007 55008var has = __nested_webpack_require_47019__("69a8"); 55009var toIObject = __nested_webpack_require_47019__("6821"); 55010var arrayIndexOf = __nested_webpack_require_47019__("c366")(false); 55011var IE_PROTO = __nested_webpack_require_47019__("613b")('IE_PROTO'); 55012 55013module.exports = function (object, names) { 55014 var O = toIObject(object); 55015 var i = 0; 55016 var result = []; 55017 var key; 55018 for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); 55019 // Don't enum bug & hidden keys 55020 while (names.length > i) if (has(O, key = names[i++])) { 55021 ~arrayIndexOf(result, key) || result.push(key); 55022 } 55023 return result; 55024}; 55025 55026 55027/***/ }), 55028 55029/***/ "d2c8": 55030/***/ (function(module, exports, __nested_webpack_require_47655__) { 55031 55032// helper for String#{startsWith, endsWith, includes} 55033var isRegExp = __nested_webpack_require_47655__("aae3"); 55034var defined = __nested_webpack_require_47655__("be13"); 55035 55036module.exports = function (that, searchString, NAME) { 55037 if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); 55038 return String(defined(that)); 55039}; 55040 55041 55042/***/ }), 55043 55044/***/ "d3f4": 55045/***/ (function(module, exports) { 55046 55047module.exports = function (it) { 55048 return typeof it === 'object' ? it !== null : typeof it === 'function'; 55049}; 55050 55051 55052/***/ }), 55053 55054/***/ "d53b": 55055/***/ (function(module, exports) { 55056 55057module.exports = function (done, value) { 55058 return { value: value, done: !!done }; 55059}; 55060 55061 55062/***/ }), 55063 55064/***/ "d8e8": 55065/***/ (function(module, exports) { 55066 55067module.exports = function (it) { 55068 if (typeof it != 'function') throw TypeError(it + ' is not a function!'); 55069 return it; 55070}; 55071 55072 55073/***/ }), 55074 55075/***/ "e11e": 55076/***/ (function(module, exports) { 55077 55078// IE 8- don't enum bug keys 55079module.exports = ( 55080 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' 55081).split(','); 55082 55083 55084/***/ }), 55085 55086/***/ "f559": 55087/***/ (function(module, exports, __nested_webpack_require_48796__) { 55088 55089"use strict"; 55090// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) 55091 55092var $export = __nested_webpack_require_48796__("5ca1"); 55093var toLength = __nested_webpack_require_48796__("9def"); 55094var context = __nested_webpack_require_48796__("d2c8"); 55095var STARTS_WITH = 'startsWith'; 55096var $startsWith = ''[STARTS_WITH]; 55097 55098$export($export.P + $export.F * __nested_webpack_require_48796__("5147")(STARTS_WITH), 'String', { 55099 startsWith: function startsWith(searchString /* , position = 0 */) { 55100 var that = context(this, searchString, STARTS_WITH); 55101 var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); 55102 var search = String(searchString); 55103 return $startsWith 55104 ? $startsWith.call(that, search, index) 55105 : that.slice(index, index + search.length) === search; 55106 } 55107}); 55108 55109 55110/***/ }), 55111 55112/***/ "f6fd": 55113/***/ (function(module, exports) { 55114 55115// document.currentScript polyfill by Adam Miller 55116 55117// MIT license 55118 55119(function(document){ 55120 var currentScript = "currentScript", 55121 scripts = document.getElementsByTagName('script'); // Live NodeList collection 55122 55123 // If browser needs currentScript polyfill, add get currentScript() to the document object 55124 if (!(currentScript in document)) { 55125 Object.defineProperty(document, currentScript, { 55126 get: function(){ 55127 55128 // IE 6-10 supports script readyState 55129 // IE 10+ support stack trace 55130 try { throw new Error(); } 55131 catch (err) { 55132 55133 // Find the second match for the "at" string to get file src url from stack. 55134 // Specifically works with the format of stack traces in IE. 55135 var i, res = ((/.*at [^\(]*\((.*):.+:.+\)$/ig).exec(err.stack) || [false])[1]; 55136 55137 // For all scripts on the page, if src matches or if ready state is interactive, return the script tag 55138 for(i in scripts){ 55139 if(scripts[i].src == res || scripts[i].readyState == "interactive"){ 55140 return scripts[i]; 55141 } 55142 } 55143 55144 // If no match, return null 55145 return null; 55146 } 55147 } 55148 }); 55149 } 55150})(document); 55151 55152 55153/***/ }), 55154 55155/***/ "f751": 55156/***/ (function(module, exports, __nested_webpack_require_50913__) { 55157 55158// 19.1.3.1 Object.assign(target, source) 55159var $export = __nested_webpack_require_50913__("5ca1"); 55160 55161$export($export.S + $export.F, 'Object', { assign: __nested_webpack_require_50913__("7333") }); 55162 55163 55164/***/ }), 55165 55166/***/ "fa5b": 55167/***/ (function(module, exports, __nested_webpack_require_51166__) { 55168 55169module.exports = __nested_webpack_require_51166__("5537")('native-function-to-string', Function.toString); 55170 55171 55172/***/ }), 55173 55174/***/ "fab2": 55175/***/ (function(module, exports, __nested_webpack_require_51344__) { 55176 55177var document = __nested_webpack_require_51344__("7726").document; 55178module.exports = document && document.documentElement; 55179 55180 55181/***/ }), 55182 55183/***/ "fb15": 55184/***/ (function(module, __nested_webpack_exports__, __nested_webpack_require_51548__) { 55185 55186"use strict"; 55187// ESM COMPAT FLAG 55188__nested_webpack_require_51548__.r(__nested_webpack_exports__); 55189 55190// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js 55191// This file is imported into lib/wc client bundles. 55192 55193if (typeof window !== 'undefined') { 55194 if (true) { 55195 __nested_webpack_require_51548__("f6fd") 55196 } 55197 55198 var setPublicPath_i 55199 if ((setPublicPath_i = window.document.currentScript) && (setPublicPath_i = setPublicPath_i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))) { 55200 __nested_webpack_require_51548__.p = setPublicPath_i[1] // eslint-disable-line 55201 } 55202} 55203 55204// Indicate to webpack that this file can be concatenated 55205/* harmony default export */ var setPublicPath = (null); 55206 55207// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js 55208var es6_object_assign = __nested_webpack_require_51548__("f751"); 55209 55210// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.starts-with.js 55211var es6_string_starts_with = __nested_webpack_require_51548__("f559"); 55212 55213// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js 55214var web_dom_iterable = __nested_webpack_require_51548__("ac6a"); 55215 55216// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js 55217var es6_array_iterator = __nested_webpack_require_51548__("cadf"); 55218 55219// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js 55220var es6_object_keys = __nested_webpack_require_51548__("456d"); 55221 55222// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js 55223function _arrayWithHoles(arr) { 55224 if (Array.isArray(arr)) return arr; 55225} 55226// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js 55227function _iterableToArrayLimit(arr, i) { 55228 if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; 55229 var _arr = []; 55230 var _n = true; 55231 var _d = false; 55232 var _e = undefined; 55233 55234 try { 55235 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { 55236 _arr.push(_s.value); 55237 55238 if (i && _arr.length === i) break; 55239 } 55240 } catch (err) { 55241 _d = true; 55242 _e = err; 55243 } finally { 55244 try { 55245 if (!_n && _i["return"] != null) _i["return"](); 55246 } finally { 55247 if (_d) throw _e; 55248 } 55249 } 55250 55251 return _arr; 55252} 55253// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js 55254function _arrayLikeToArray(arr, len) { 55255 if (len == null || len > arr.length) len = arr.length; 55256 55257 for (var i = 0, arr2 = new Array(len); i < len; i++) { 55258 arr2[i] = arr[i]; 55259 } 55260 55261 return arr2; 55262} 55263// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js 55264 55265function _unsupportedIterableToArray(o, minLen) { 55266 if (!o) return; 55267 if (typeof o === "string") return _arrayLikeToArray(o, minLen); 55268 var n = Object.prototype.toString.call(o).slice(8, -1); 55269 if (n === "Object" && o.constructor) n = o.constructor.name; 55270 if (n === "Map" || n === "Set") return Array.from(o); 55271 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); 55272} 55273// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js 55274function _nonIterableRest() { 55275 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 55276} 55277// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js 55278 55279 55280 55281 55282function _slicedToArray(arr, i) { 55283 return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); 55284} 55285// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.array.includes.js 55286var es7_array_includes = __nested_webpack_require_51548__("6762"); 55287 55288// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.string.includes.js 55289var es6_string_includes = __nested_webpack_require_51548__("2fdb"); 55290 55291// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js 55292 55293function _arrayWithoutHoles(arr) { 55294 if (Array.isArray(arr)) return _arrayLikeToArray(arr); 55295} 55296// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js 55297function _iterableToArray(iter) { 55298 if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); 55299} 55300// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js 55301function _nonIterableSpread() { 55302 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 55303} 55304// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js 55305 55306 55307 55308 55309function _toConsumableArray(arr) { 55310 return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); 55311} 55312// EXTERNAL MODULE: external {"commonjs":"sortablejs","commonjs2":"sortablejs","amd":"sortablejs","root":"Sortable"} 55313var external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_ = __nested_webpack_require_51548__("a352"); 55314var external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default = /*#__PURE__*/__nested_webpack_require_51548__.n(external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_); 55315 55316// EXTERNAL MODULE: ./src/util/helper.js 55317var helper = __nested_webpack_require_51548__("c649"); 55318 55319// CONCATENATED MODULE: ./src/vuedraggable.js 55320 55321 55322 55323 55324 55325 55326 55327 55328 55329 55330 55331 55332function buildAttribute(object, propName, value) { 55333 if (value === undefined) { 55334 return object; 55335 } 55336 55337 object = object || {}; 55338 object[propName] = value; 55339 return object; 55340} 55341 55342function computeVmIndex(vnodes, element) { 55343 return vnodes.map(function (elt) { 55344 return elt.elm; 55345 }).indexOf(element); 55346} 55347 55348function _computeIndexes(slots, children, isTransition, footerOffset) { 55349 if (!slots) { 55350 return []; 55351 } 55352 55353 var elmFromNodes = slots.map(function (elt) { 55354 return elt.elm; 55355 }); 55356 var footerIndex = children.length - footerOffset; 55357 55358 var rawIndexes = _toConsumableArray(children).map(function (elt, idx) { 55359 return idx >= footerIndex ? elmFromNodes.length : elmFromNodes.indexOf(elt); 55360 }); 55361 55362 return isTransition ? rawIndexes.filter(function (ind) { 55363 return ind !== -1; 55364 }) : rawIndexes; 55365} 55366 55367function emit(evtName, evtData) { 55368 var _this = this; 55369 55370 this.$nextTick(function () { 55371 return _this.$emit(evtName.toLowerCase(), evtData); 55372 }); 55373} 55374 55375function delegateAndEmit(evtName) { 55376 var _this2 = this; 55377 55378 return function (evtData) { 55379 if (_this2.realList !== null) { 55380 _this2["onDrag" + evtName](evtData); 55381 } 55382 55383 emit.call(_this2, evtName, evtData); 55384 }; 55385} 55386 55387function isTransitionName(name) { 55388 return ["transition-group", "TransitionGroup"].includes(name); 55389} 55390 55391function vuedraggable_isTransition(slots) { 55392 if (!slots || slots.length !== 1) { 55393 return false; 55394 } 55395 55396 var _slots = _slicedToArray(slots, 1), 55397 componentOptions = _slots[0].componentOptions; 55398 55399 if (!componentOptions) { 55400 return false; 55401 } 55402 55403 return isTransitionName(componentOptions.tag); 55404} 55405 55406function getSlot(slot, scopedSlot, key) { 55407 return slot[key] || (scopedSlot[key] ? scopedSlot[key]() : undefined); 55408} 55409 55410function computeChildrenAndOffsets(children, slot, scopedSlot) { 55411 var headerOffset = 0; 55412 var footerOffset = 0; 55413 var header = getSlot(slot, scopedSlot, "header"); 55414 55415 if (header) { 55416 headerOffset = header.length; 55417 children = children ? [].concat(_toConsumableArray(header), _toConsumableArray(children)) : _toConsumableArray(header); 55418 } 55419 55420 var footer = getSlot(slot, scopedSlot, "footer"); 55421 55422 if (footer) { 55423 footerOffset = footer.length; 55424 children = children ? [].concat(_toConsumableArray(children), _toConsumableArray(footer)) : _toConsumableArray(footer); 55425 } 55426 55427 return { 55428 children: children, 55429 headerOffset: headerOffset, 55430 footerOffset: footerOffset 55431 }; 55432} 55433 55434function getComponentAttributes($attrs, componentData) { 55435 var attributes = null; 55436 55437 var update = function update(name, value) { 55438 attributes = buildAttribute(attributes, name, value); 55439 }; 55440 55441 var attrs = Object.keys($attrs).filter(function (key) { 55442 return key === "id" || key.startsWith("data-"); 55443 }).reduce(function (res, key) { 55444 res[key] = $attrs[key]; 55445 return res; 55446 }, {}); 55447 update("attrs", attrs); 55448 55449 if (!componentData) { 55450 return attributes; 55451 } 55452 55453 var on = componentData.on, 55454 props = componentData.props, 55455 componentDataAttrs = componentData.attrs; 55456 update("on", on); 55457 update("props", props); 55458 Object.assign(attributes.attrs, componentDataAttrs); 55459 return attributes; 55460} 55461 55462var eventsListened = ["Start", "Add", "Remove", "Update", "End"]; 55463var eventsToEmit = ["Choose", "Unchoose", "Sort", "Filter", "Clone"]; 55464var readonlyProperties = ["Move"].concat(eventsListened, eventsToEmit).map(function (evt) { 55465 return "on" + evt; 55466}); 55467var draggingElement = null; 55468var props = { 55469 options: Object, 55470 list: { 55471 type: Array, 55472 required: false, 55473 default: null 55474 }, 55475 value: { 55476 type: Array, 55477 required: false, 55478 default: null 55479 }, 55480 noTransitionOnDrag: { 55481 type: Boolean, 55482 default: false 55483 }, 55484 clone: { 55485 type: Function, 55486 default: function _default(original) { 55487 return original; 55488 } 55489 }, 55490 element: { 55491 type: String, 55492 default: "div" 55493 }, 55494 tag: { 55495 type: String, 55496 default: null 55497 }, 55498 move: { 55499 type: Function, 55500 default: null 55501 }, 55502 componentData: { 55503 type: Object, 55504 required: false, 55505 default: null 55506 } 55507}; 55508var draggableComponent = { 55509 name: "draggable", 55510 inheritAttrs: false, 55511 props: props, 55512 data: function data() { 55513 return { 55514 transitionMode: false, 55515 noneFunctionalComponentMode: false 55516 }; 55517 }, 55518 render: function render(h) { 55519 var slots = this.$slots.default; 55520 this.transitionMode = vuedraggable_isTransition(slots); 55521 55522 var _computeChildrenAndOf = computeChildrenAndOffsets(slots, this.$slots, this.$scopedSlots), 55523 children = _computeChildrenAndOf.children, 55524 headerOffset = _computeChildrenAndOf.headerOffset, 55525 footerOffset = _computeChildrenAndOf.footerOffset; 55526 55527 this.headerOffset = headerOffset; 55528 this.footerOffset = footerOffset; 55529 var attributes = getComponentAttributes(this.$attrs, this.componentData); 55530 return h(this.getTag(), attributes, children); 55531 }, 55532 created: function created() { 55533 if (this.list !== null && this.value !== null) { 55534 helper["b" /* console */].error("Value and list props are mutually exclusive! Please set one or another."); 55535 } 55536 55537 if (this.element !== "div") { 55538 helper["b" /* console */].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"); 55539 } 55540 55541 if (this.options !== undefined) { 55542 helper["b" /* console */].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props"); 55543 } 55544 }, 55545 mounted: function mounted() { 55546 var _this3 = this; 55547 55548 this.noneFunctionalComponentMode = this.getTag().toLowerCase() !== this.$el.nodeName.toLowerCase() && !this.getIsFunctional(); 55549 55550 if (this.noneFunctionalComponentMode && this.transitionMode) { 55551 throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag())); 55552 } 55553 55554 var optionsAdded = {}; 55555 eventsListened.forEach(function (elt) { 55556 optionsAdded["on" + elt] = delegateAndEmit.call(_this3, elt); 55557 }); 55558 eventsToEmit.forEach(function (elt) { 55559 optionsAdded["on" + elt] = emit.bind(_this3, elt); 55560 }); 55561 var attributes = Object.keys(this.$attrs).reduce(function (res, key) { 55562 res[Object(helper["a" /* camelize */])(key)] = _this3.$attrs[key]; 55563 return res; 55564 }, {}); 55565 var options = Object.assign({}, this.options, attributes, optionsAdded, { 55566 onMove: function onMove(evt, originalEvent) { 55567 return _this3.onDragMove(evt, originalEvent); 55568 } 55569 }); 55570 !("draggable" in options) && (options.draggable = ">*"); 55571 this._sortable = new external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default.a(this.rootContainer, options); 55572 this.computeIndexes(); 55573 }, 55574 beforeDestroy: function beforeDestroy() { 55575 if (this._sortable !== undefined) this._sortable.destroy(); 55576 }, 55577 computed: { 55578 rootContainer: function rootContainer() { 55579 return this.transitionMode ? this.$el.children[0] : this.$el; 55580 }, 55581 realList: function realList() { 55582 return this.list ? this.list : this.value; 55583 } 55584 }, 55585 watch: { 55586 options: { 55587 handler: function handler(newOptionValue) { 55588 this.updateOptions(newOptionValue); 55589 }, 55590 deep: true 55591 }, 55592 $attrs: { 55593 handler: function handler(newOptionValue) { 55594 this.updateOptions(newOptionValue); 55595 }, 55596 deep: true 55597 }, 55598 realList: function realList() { 55599 this.computeIndexes(); 55600 } 55601 }, 55602 methods: { 55603 getIsFunctional: function getIsFunctional() { 55604 var fnOptions = this._vnode.fnOptions; 55605 return fnOptions && fnOptions.functional; 55606 }, 55607 getTag: function getTag() { 55608 return this.tag || this.element; 55609 }, 55610 updateOptions: function updateOptions(newOptionValue) { 55611 for (var property in newOptionValue) { 55612 var value = Object(helper["a" /* camelize */])(property); 55613 55614 if (readonlyProperties.indexOf(value) === -1) { 55615 this._sortable.option(value, newOptionValue[property]); 55616 } 55617 } 55618 }, 55619 getChildrenNodes: function getChildrenNodes() { 55620 if (this.noneFunctionalComponentMode) { 55621 return this.$children[0].$slots.default; 55622 } 55623 55624 var rawNodes = this.$slots.default; 55625 return this.transitionMode ? rawNodes[0].child.$slots.default : rawNodes; 55626 }, 55627 computeIndexes: function computeIndexes() { 55628 var _this4 = this; 55629 55630 this.$nextTick(function () { 55631 _this4.visibleIndexes = _computeIndexes(_this4.getChildrenNodes(), _this4.rootContainer.children, _this4.transitionMode, _this4.footerOffset); 55632 }); 55633 }, 55634 getUnderlyingVm: function getUnderlyingVm(htmlElt) { 55635 var index = computeVmIndex(this.getChildrenNodes() || [], htmlElt); 55636 55637 if (index === -1) { 55638 //Edge case during move callback: related element might be 55639 //an element different from collection 55640 return null; 55641 } 55642 55643 var element = this.realList[index]; 55644 return { 55645 index: index, 55646 element: element 55647 }; 55648 }, 55649 getUnderlyingPotencialDraggableComponent: function getUnderlyingPotencialDraggableComponent(_ref) { 55650 var vue = _ref.__vue__; 55651 55652 if (!vue || !vue.$options || !isTransitionName(vue.$options._componentTag)) { 55653 if (!("realList" in vue) && vue.$children.length === 1 && "realList" in vue.$children[0]) return vue.$children[0]; 55654 return vue; 55655 } 55656 55657 return vue.$parent; 55658 }, 55659 emitChanges: function emitChanges(evt) { 55660 var _this5 = this; 55661 55662 this.$nextTick(function () { 55663 _this5.$emit("change", evt); 55664 }); 55665 }, 55666 alterList: function alterList(onList) { 55667 if (this.list) { 55668 onList(this.list); 55669 return; 55670 } 55671 55672 var newList = _toConsumableArray(this.value); 55673 55674 onList(newList); 55675 this.$emit("input", newList); 55676 }, 55677 spliceList: function spliceList() { 55678 var _arguments = arguments; 55679 55680 var spliceList = function spliceList(list) { 55681 return list.splice.apply(list, _toConsumableArray(_arguments)); 55682 }; 55683 55684 this.alterList(spliceList); 55685 }, 55686 updatePosition: function updatePosition(oldIndex, newIndex) { 55687 var updatePosition = function updatePosition(list) { 55688 return list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]); 55689 }; 55690 55691 this.alterList(updatePosition); 55692 }, 55693 getRelatedContextFromMoveEvent: function getRelatedContextFromMoveEvent(_ref2) { 55694 var to = _ref2.to, 55695 related = _ref2.related; 55696 var component = this.getUnderlyingPotencialDraggableComponent(to); 55697 55698 if (!component) { 55699 return { 55700 component: component 55701 }; 55702 } 55703 55704 var list = component.realList; 55705 var context = { 55706 list: list, 55707 component: component 55708 }; 55709 55710 if (to !== related && list && component.getUnderlyingVm) { 55711 var destination = component.getUnderlyingVm(related); 55712 55713 if (destination) { 55714 return Object.assign(destination, context); 55715 } 55716 } 55717 55718 return context; 55719 }, 55720 getVmIndex: function getVmIndex(domIndex) { 55721 var indexes = this.visibleIndexes; 55722 var numberIndexes = indexes.length; 55723 return domIndex > numberIndexes - 1 ? numberIndexes : indexes[domIndex]; 55724 }, 55725 getComponent: function getComponent() { 55726 return this.$slots.default[0].componentInstance; 55727 }, 55728 resetTransitionData: function resetTransitionData(index) { 55729 if (!this.noTransitionOnDrag || !this.transitionMode) { 55730 return; 55731 } 55732 55733 var nodes = this.getChildrenNodes(); 55734 nodes[index].data = null; 55735 var transitionContainer = this.getComponent(); 55736 transitionContainer.children = []; 55737 transitionContainer.kept = undefined; 55738 }, 55739 onDragStart: function onDragStart(evt) { 55740 this.context = this.getUnderlyingVm(evt.item); 55741 evt.item._underlying_vm_ = this.clone(this.context.element); 55742 draggingElement = evt.item; 55743 }, 55744 onDragAdd: function onDragAdd(evt) { 55745 var element = evt.item._underlying_vm_; 55746 55747 if (element === undefined) { 55748 return; 55749 } 55750 55751 Object(helper["d" /* removeNode */])(evt.item); 55752 var newIndex = this.getVmIndex(evt.newIndex); 55753 this.spliceList(newIndex, 0, element); 55754 this.computeIndexes(); 55755 var added = { 55756 element: element, 55757 newIndex: newIndex 55758 }; 55759 this.emitChanges({ 55760 added: added 55761 }); 55762 }, 55763 onDragRemove: function onDragRemove(evt) { 55764 Object(helper["c" /* insertNodeAt */])(this.rootContainer, evt.item, evt.oldIndex); 55765 55766 if (evt.pullMode === "clone") { 55767 Object(helper["d" /* removeNode */])(evt.clone); 55768 return; 55769 } 55770 55771 var oldIndex = this.context.index; 55772 this.spliceList(oldIndex, 1); 55773 var removed = { 55774 element: this.context.element, 55775 oldIndex: oldIndex 55776 }; 55777 this.resetTransitionData(oldIndex); 55778 this.emitChanges({ 55779 removed: removed 55780 }); 55781 }, 55782 onDragUpdate: function onDragUpdate(evt) { 55783 Object(helper["d" /* removeNode */])(evt.item); 55784 Object(helper["c" /* insertNodeAt */])(evt.from, evt.item, evt.oldIndex); 55785 var oldIndex = this.context.index; 55786 var newIndex = this.getVmIndex(evt.newIndex); 55787 this.updatePosition(oldIndex, newIndex); 55788 var moved = { 55789 element: this.context.element, 55790 oldIndex: oldIndex, 55791 newIndex: newIndex 55792 }; 55793 this.emitChanges({ 55794 moved: moved 55795 }); 55796 }, 55797 updateProperty: function updateProperty(evt, propertyName) { 55798 evt.hasOwnProperty(propertyName) && (evt[propertyName] += this.headerOffset); 55799 }, 55800 computeFutureIndex: function computeFutureIndex(relatedContext, evt) { 55801 if (!relatedContext.element) { 55802 return 0; 55803 } 55804 55805 var domChildren = _toConsumableArray(evt.to.children).filter(function (el) { 55806 return el.style["display"] !== "none"; 55807 }); 55808 55809 var currentDOMIndex = domChildren.indexOf(evt.related); 55810 var currentIndex = relatedContext.component.getVmIndex(currentDOMIndex); 55811 var draggedInList = domChildren.indexOf(draggingElement) !== -1; 55812 return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1; 55813 }, 55814 onDragMove: function onDragMove(evt, originalEvent) { 55815 var onMove = this.move; 55816 55817 if (!onMove || !this.realList) { 55818 return true; 55819 } 55820 55821 var relatedContext = this.getRelatedContextFromMoveEvent(evt); 55822 var draggedContext = this.context; 55823 var futureIndex = this.computeFutureIndex(relatedContext, evt); 55824 Object.assign(draggedContext, { 55825 futureIndex: futureIndex 55826 }); 55827 var sendEvt = Object.assign({}, evt, { 55828 relatedContext: relatedContext, 55829 draggedContext: draggedContext 55830 }); 55831 return onMove(sendEvt, originalEvent); 55832 }, 55833 onDragEnd: function onDragEnd() { 55834 this.computeIndexes(); 55835 draggingElement = null; 55836 } 55837 } 55838}; 55839 55840if (typeof window !== "undefined" && "Vue" in window) { 55841 window.Vue.component("draggable", draggableComponent); 55842} 55843 55844/* harmony default export */ var vuedraggable = (draggableComponent); 55845// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js 55846 55847 55848/* harmony default export */ var entry_lib = __nested_webpack_exports__["default"] = (vuedraggable); 55849 55850 55851 55852/***/ }) 55853 55854/******/ })["default"]; 55855}); 55856//# sourceMappingURL=vuedraggable.umd.js.map 55857 55858/***/ }), 55859
vendor: 83,889 bytes, lines 55860-59084
55860/***/ "./node_modules/axios/dist/browser/axios.cjs": 55861/*!***************************************************!*\ 55862 !*** ./node_modules/axios/dist/browser/axios.cjs ***! 55863 \***************************************************/ 55864/***/ ((module, __unused_webpack_exports, __webpack_require__) => { 55865 55866"use strict"; 55867/* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "./node_modules/buffer/index.js")["Buffer"]; 55868// Axios v1.5.0 Copyright (c) 2023 Matt Zabriskie and contributors 55869 55870 55871function bind(fn, thisArg) { 55872 return function wrap() { 55873 return fn.apply(thisArg, arguments); 55874 }; 55875} 55876 55877// utils is a library of generic helper functions non-specific to axios 55878 55879const {toString} = Object.prototype; 55880const {getPrototypeOf} = Object; 55881 55882const kindOf = (cache => thing => { 55883 const str = toString.call(thing); 55884 return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); 55885})(Object.create(null)); 55886 55887const kindOfTest = (type) => { 55888 type = type.toLowerCase(); 55889 return (thing) => kindOf(thing) === type 55890}; 55891 55892const typeOfTest = type => thing => typeof thing === type; 55893 55894/** 55895 * Determine if a value is an Array 55896 * 55897 * @param {Object} val The value to test 55898 * 55899 * @returns {boolean} True if value is an Array, otherwise false 55900 */ 55901const {isArray} = Array; 55902 55903/** 55904 * Determine if a value is undefined 55905 * 55906 * @param {*} val The value to test 55907 * 55908 * @returns {boolean} True if the value is undefined, otherwise false 55909 */ 55910const isUndefined = typeOfTest('undefined'); 55911 55912/** 55913 * Determine if a value is a Buffer 55914 * 55915 * @param {*} val The value to test 55916 * 55917 * @returns {boolean} True if value is a Buffer, otherwise false 55918 */ 55919function isBuffer(val) { 55920 return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) 55921 && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); 55922} 55923 55924/** 55925 * Determine if a value is an ArrayBuffer 55926 * 55927 * @param {*} val The value to test 55928 * 55929 * @returns {boolean} True if value is an ArrayBuffer, otherwise false 55930 */ 55931const isArrayBuffer = kindOfTest('ArrayBuffer'); 55932 55933 55934/** 55935 * Determine if a value is a view on an ArrayBuffer 55936 * 55937 * @param {*} val The value to test 55938 * 55939 * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false 55940 */ 55941function isArrayBufferView(val) { 55942 let result; 55943 if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { 55944 result = ArrayBuffer.isView(val); 55945 } else { 55946 result = (val) && (val.buffer) && (isArrayBuffer(val.buffer)); 55947 } 55948 return result; 55949} 55950 55951/** 55952 * Determine if a value is a String 55953 * 55954 * @param {*} val The value to test 55955 * 55956 * @returns {boolean} True if value is a String, otherwise false 55957 */ 55958const isString = typeOfTest('string'); 55959 55960/** 55961 * Determine if a value is a Function 55962 * 55963 * @param {*} val The value to test 55964 * @returns {boolean} True if value is a Function, otherwise false 55965 */ 55966const isFunction = typeOfTest('function'); 55967 55968/** 55969 * Determine if a value is a Number 55970 * 55971 * @param {*} val The value to test 55972 * 55973 * @returns {boolean} True if value is a Number, otherwise false 55974 */ 55975const isNumber = typeOfTest('number'); 55976 55977/** 55978 * Determine if a value is an Object 55979 * 55980 * @param {*} thing The value to test 55981 * 55982 * @returns {boolean} True if value is an Object, otherwise false 55983 */ 55984const isObject = (thing) => thing !== null && typeof thing === 'object'; 55985 55986/** 55987 * Determine if a value is a Boolean 55988 * 55989 * @param {*} thing The value to test 55990 * @returns {boolean} True if value is a Boolean, otherwise false 55991 */ 55992const isBoolean = thing => thing === true || thing === false; 55993 55994/** 55995 * Determine if a value is a plain Object 55996 * 55997 * @param {*} val The value to test 55998 * 55999 * @returns {boolean} True if value is a plain Object, otherwise false 56000 */ 56001const isPlainObject = (val) => { 56002 if (kindOf(val) !== 'object') { 56003 return false; 56004 } 56005 56006 const prototype = getPrototypeOf(val); 56007 return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); 56008}; 56009 56010/** 56011 * Determine if a value is a Date 56012 * 56013 * @param {*} val The value to test 56014 * 56015 * @returns {boolean} True if value is a Date, otherwise false 56016 */ 56017const isDate = kindOfTest('Date'); 56018 56019/** 56020 * Determine if a value is a File 56021 * 56022 * @param {*} val The value to test 56023 * 56024 * @returns {boolean} True if value is a File, otherwise false 56025 */ 56026const isFile = kindOfTest('File'); 56027 56028/** 56029 * Determine if a value is a Blob 56030 * 56031 * @param {*} val The value to test 56032 * 56033 * @returns {boolean} True if value is a Blob, otherwise false 56034 */ 56035const isBlob = kindOfTest('Blob'); 56036 56037/** 56038 * Determine if a value is a FileList 56039 * 56040 * @param {*} val The value to test 56041 * 56042 * @returns {boolean} True if value is a File, otherwise false 56043 */ 56044const isFileList = kindOfTest('FileList'); 56045 56046/** 56047 * Determine if a value is a Stream 56048 * 56049 * @param {*} val The value to test 56050 * 56051 * @returns {boolean} True if value is a Stream, otherwise false 56052 */ 56053const isStream = (val) => isObject(val) && isFunction(val.pipe); 56054 56055/** 56056 * Determine if a value is a FormData 56057 * 56058 * @param {*} thing The value to test 56059 * 56060 * @returns {boolean} True if value is an FormData, otherwise false 56061 */ 56062const isFormData = (thing) => { 56063 let kind; 56064 return thing && ( 56065 (typeof FormData === 'function' && thing instanceof FormData) || ( 56066 isFunction(thing.append) && ( 56067 (kind = kindOf(thing)) === 'formdata' || 56068 // detect form-data instance 56069 (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]') 56070 ) 56071 ) 56072 ) 56073}; 56074 56075/** 56076 * Determine if a value is a URLSearchParams object 56077 * 56078 * @param {*} val The value to test 56079 * 56080 * @returns {boolean} True if value is a URLSearchParams object, otherwise false 56081 */ 56082const isURLSearchParams = kindOfTest('URLSearchParams'); 56083 56084/** 56085 * Trim excess whitespace off the beginning and end of a string 56086 * 56087 * @param {String} str The String to trim 56088 * 56089 * @returns {String} The String freed of excess whitespace 56090 */ 56091const trim = (str) => str.trim ? 56092 str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); 56093 56094/** 56095 * Iterate over an Array or an Object invoking a function for each item. 56096 * 56097 * If `obj` is an Array callback will be called passing 56098 * the value, index, and complete array for each item. 56099 * 56100 * If 'obj' is an Object callback will be called passing 56101 * the value, key, and complete object for each property. 56102 * 56103 * @param {Object|Array} obj The object to iterate 56104 * @param {Function} fn The callback to invoke for each item 56105 * 56106 * @param {Boolean} [allOwnKeys = false] 56107 * @returns {any} 56108 */ 56109function forEach(obj, fn, {allOwnKeys = false} = {}) { 56110 // Don't bother if no value provided 56111 if (obj === null || typeof obj === 'undefined') { 56112 return; 56113 } 56114 56115 let i; 56116 let l; 56117 56118 // Force an array if not already something iterable 56119 if (typeof obj !== 'object') { 56120 /*eslint no-param-reassign:0*/ 56121 obj = [obj]; 56122 } 56123 56124 if (isArray(obj)) { 56125 // Iterate over array values 56126 for (i = 0, l = obj.length; i < l; i++) { 56127 fn.call(null, obj[i], i, obj); 56128 } 56129 } else { 56130 // Iterate over object keys 56131 const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); 56132 const len = keys.length; 56133 let key; 56134 56135 for (i = 0; i < len; i++) { 56136 key = keys[i]; 56137 fn.call(null, obj[key], key, obj); 56138 } 56139 } 56140} 56141 56142function findKey(obj, key) { 56143 key = key.toLowerCase(); 56144 const keys = Object.keys(obj); 56145 let i = keys.length; 56146 let _key; 56147 while (i-- > 0) { 56148 _key = keys[i]; 56149 if (key === _key.toLowerCase()) { 56150 return _key; 56151 } 56152 } 56153 return null; 56154} 56155 56156const _global = (() => { 56157 /*eslint no-undef:0*/ 56158 if (typeof globalThis !== "undefined") return globalThis; 56159 return typeof self !== "undefined" ? self : (typeof window !== 'undefined' ? window : __webpack_require__.g) 56160})(); 56161 56162const isContextDefined = (context) => !isUndefined(context) && context !== _global; 56163 56164/** 56165 * Accepts varargs expecting each argument to be an object, then 56166 * immutably merges the properties of each object and returns result. 56167 * 56168 * When multiple objects contain the same key the later object in 56169 * the arguments list will take precedence. 56170 * 56171 * Example: 56172 * 56173 * ```js 56174 * var result = merge({foo: 123}, {foo: 456}); 56175 * console.log(result.foo); // outputs 456 56176 * ``` 56177 * 56178 * @param {Object} obj1 Object to merge 56179 * 56180 * @returns {Object} Result of all merge properties 56181 */ 56182function merge(/* obj1, obj2, obj3, ... */) { 56183 const {caseless} = isContextDefined(this) && this || {}; 56184 const result = {}; 56185 const assignValue = (val, key) => { 56186 const targetKey = caseless && findKey(result, key) || key; 56187 if (isPlainObject(result[targetKey]) && isPlainObject(val)) { 56188 result[targetKey] = merge(result[targetKey], val); 56189 } else if (isPlainObject(val)) { 56190 result[targetKey] = merge({}, val); 56191 } else if (isArray(val)) { 56192 result[targetKey] = val.slice(); 56193 } else { 56194 result[targetKey] = val; 56195 } 56196 }; 56197 56198 for (let i = 0, l = arguments.length; i < l; i++) { 56199 arguments[i] && forEach(arguments[i], assignValue); 56200 } 56201 return result; 56202} 56203 56204/** 56205 * Extends object a by mutably adding to it the properties of object b. 56206 * 56207 * @param {Object} a The object to be extended 56208 * @param {Object} b The object to copy properties from 56209 * @param {Object} thisArg The object to bind function to 56210 * 56211 * @param {Boolean} [allOwnKeys] 56212 * @returns {Object} The resulting value of object a 56213 */ 56214const extend = (a, b, thisArg, {allOwnKeys}= {}) => { 56215 forEach(b, (val, key) => { 56216 if (thisArg && isFunction(val)) { 56217 a[key] = bind(val, thisArg); 56218 } else { 56219 a[key] = val; 56220 } 56221 }, {allOwnKeys}); 56222 return a; 56223}; 56224 56225/** 56226 * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) 56227 * 56228 * @param {string} content with BOM 56229 * 56230 * @returns {string} content value without BOM 56231 */ 56232const stripBOM = (content) => { 56233 if (content.charCodeAt(0) === 0xFEFF) { 56234 content = content.slice(1); 56235 } 56236 return content; 56237}; 56238 56239/** 56240 * Inherit the prototype methods from one constructor into another 56241 * @param {function} constructor 56242 * @param {function} superConstructor 56243 * @param {object} [props] 56244 * @param {object} [descriptors] 56245 * 56246 * @returns {void} 56247 */ 56248const inherits = (constructor, superConstructor, props, descriptors) => { 56249 constructor.prototype = Object.create(superConstructor.prototype, descriptors); 56250 constructor.prototype.constructor = constructor; 56251 Object.defineProperty(constructor, 'super', { 56252 value: superConstructor.prototype 56253 }); 56254 props && Object.assign(constructor.prototype, props); 56255}; 56256 56257/** 56258 * Resolve object with deep prototype chain to a flat object 56259 * @param {Object} sourceObj source object 56260 * @param {Object} [destObj] 56261 * @param {Function|Boolean} [filter] 56262 * @param {Function} [propFilter] 56263 * 56264 * @returns {Object} 56265 */ 56266const toFlatObject = (sourceObj, destObj, filter, propFilter) => { 56267 let props; 56268 let i; 56269 let prop; 56270 const merged = {}; 56271 56272 destObj = destObj || {}; 56273 // eslint-disable-next-line no-eq-null,eqeqeq 56274 if (sourceObj == null) return destObj; 56275 56276 do { 56277 props = Object.getOwnPropertyNames(sourceObj); 56278 i = props.length; 56279 while (i-- > 0) { 56280 prop = props[i]; 56281 if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { 56282 destObj[prop] = sourceObj[prop]; 56283 merged[prop] = true; 56284 } 56285 } 56286 sourceObj = filter !== false && getPrototypeOf(sourceObj); 56287 } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); 56288 56289 return destObj; 56290}; 56291 56292/** 56293 * Determines whether a string ends with the characters of a specified string 56294 * 56295 * @param {String} str 56296 * @param {String} searchString 56297 * @param {Number} [position= 0] 56298 * 56299 * @returns {boolean} 56300 */ 56301const endsWith = (str, searchString, position) => { 56302 str = String(str); 56303 if (position === undefined || position > str.length) { 56304 position = str.length; 56305 } 56306 position -= searchString.length; 56307 const lastIndex = str.indexOf(searchString, position); 56308 return lastIndex !== -1 && lastIndex === position; 56309}; 56310 56311 56312/** 56313 * Returns new array from array like object or null if failed 56314 * 56315 * @param {*} [thing] 56316 * 56317 * @returns {?Array} 56318 */ 56319const toArray = (thing) => { 56320 if (!thing) return null; 56321 if (isArray(thing)) return thing; 56322 let i = thing.length; 56323 if (!isNumber(i)) return null; 56324 const arr = new Array(i); 56325 while (i-- > 0) { 56326 arr[i] = thing[i]; 56327 } 56328 return arr; 56329}; 56330 56331/** 56332 * Checking if the Uint8Array exists and if it does, it returns a function that checks if the 56333 * thing passed in is an instance of Uint8Array 56334 * 56335 * @param {TypedArray} 56336 * 56337 * @returns {Array} 56338 */ 56339// eslint-disable-next-line func-names 56340const isTypedArray = (TypedArray => { 56341 // eslint-disable-next-line func-names 56342 return thing => { 56343 return TypedArray && thing instanceof TypedArray; 56344 }; 56345})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); 56346 56347/** 56348 * For each entry in the object, call the function with the key and value. 56349 * 56350 * @param {Object<any, any>} obj - The object to iterate over. 56351 * @param {Function} fn - The function to call for each entry. 56352 * 56353 * @returns {void} 56354 */ 56355const forEachEntry = (obj, fn) => { 56356 const generator = obj && obj[Symbol.iterator]; 56357 56358 const iterator = generator.call(obj); 56359 56360 let result; 56361 56362 while ((result = iterator.next()) && !result.done) { 56363 const pair = result.value; 56364 fn.call(obj, pair[0], pair[1]); 56365 } 56366}; 56367 56368/** 56369 * It takes a regular expression and a string, and returns an array of all the matches 56370 * 56371 * @param {string} regExp - The regular expression to match against. 56372 * @param {string} str - The string to search. 56373 * 56374 * @returns {Array<boolean>} 56375 */ 56376const matchAll = (regExp, str) => { 56377 let matches; 56378 const arr = []; 56379 56380 while ((matches = regExp.exec(str)) !== null) { 56381 arr.push(matches); 56382 } 56383 56384 return arr; 56385}; 56386 56387/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ 56388const isHTMLForm = kindOfTest('HTMLFormElement'); 56389 56390const toCamelCase = str => { 56391 return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, 56392 function replacer(m, p1, p2) { 56393 return p1.toUpperCase() + p2; 56394 } 56395 ); 56396}; 56397 56398/* Creating a function that will check if an object has a property. */ 56399const hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype); 56400 56401/** 56402 * Determine if a value is a RegExp object 56403 * 56404 * @param {*} val The value to test 56405 * 56406 * @returns {boolean} True if value is a RegExp object, otherwise false 56407 */ 56408const isRegExp = kindOfTest('RegExp'); 56409 56410const reduceDescriptors = (obj, reducer) => { 56411 const descriptors = Object.getOwnPropertyDescriptors(obj); 56412 const reducedDescriptors = {}; 56413 56414 forEach(descriptors, (descriptor, name) => { 56415 let ret; 56416 if ((ret = reducer(descriptor, name, obj)) !== false) { 56417 reducedDescriptors[name] = ret || descriptor; 56418 } 56419 }); 56420 56421 Object.defineProperties(obj, reducedDescriptors); 56422}; 56423 56424/** 56425 * Makes all methods read-only 56426 * @param {Object} obj 56427 */ 56428 56429const freezeMethods = (obj) => { 56430 reduceDescriptors(obj, (descriptor, name) => { 56431 // skip restricted props in strict mode 56432 if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { 56433 return false; 56434 } 56435 56436 const value = obj[name]; 56437 56438 if (!isFunction(value)) return; 56439 56440 descriptor.enumerable = false; 56441 56442 if ('writable' in descriptor) { 56443 descriptor.writable = false; 56444 return; 56445 } 56446 56447 if (!descriptor.set) { 56448 descriptor.set = () => { 56449 throw Error('Can not rewrite read-only method \'' + name + '\''); 56450 }; 56451 } 56452 }); 56453}; 56454 56455const toObjectSet = (arrayOrString, delimiter) => { 56456 const obj = {}; 56457 56458 const define = (arr) => { 56459 arr.forEach(value => { 56460 obj[value] = true; 56461 }); 56462 }; 56463 56464 isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); 56465 56466 return obj; 56467}; 56468 56469const noop = () => {}; 56470 56471const toFiniteNumber = (value, defaultValue) => { 56472 value = +value; 56473 return Number.isFinite(value) ? value : defaultValue; 56474}; 56475 56476const ALPHA = 'abcdefghijklmnopqrstuvwxyz'; 56477 56478const DIGIT = '0123456789'; 56479 56480const ALPHABET = { 56481 DIGIT, 56482 ALPHA, 56483 ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT 56484}; 56485 56486const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => { 56487 let str = ''; 56488 const {length} = alphabet; 56489 while (size--) { 56490 str += alphabet[Math.random() * length|0]; 56491 } 56492 56493 return str; 56494}; 56495 56496/** 56497 * If the thing is a FormData object, return true, otherwise return false. 56498 * 56499 * @param {unknown} thing - The thing to check. 56500 * 56501 * @returns {boolean} 56502 */ 56503function isSpecCompliantForm(thing) { 56504 return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); 56505} 56506 56507const toJSONObject = (obj) => { 56508 const stack = new Array(10); 56509 56510 const visit = (source, i) => { 56511 56512 if (isObject(source)) { 56513 if (stack.indexOf(source) >= 0) { 56514 return; 56515 } 56516 56517 if(!('toJSON' in source)) { 56518 stack[i] = source; 56519 const target = isArray(source) ? [] : {}; 56520 56521 forEach(source, (value, key) => { 56522 const reducedValue = visit(value, i + 1); 56523 !isUndefined(reducedValue) && (target[key] = reducedValue); 56524 }); 56525 56526 stack[i] = undefined; 56527 56528 return target; 56529 } 56530 } 56531 56532 return source; 56533 }; 56534 56535 return visit(obj, 0); 56536}; 56537 56538const isAsyncFn = kindOfTest('AsyncFunction'); 56539 56540const isThenable = (thing) => 56541 thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); 56542 56543var utils = { 56544 isArray, 56545 isArrayBuffer, 56546 isBuffer, 56547 isFormData, 56548 isArrayBufferView, 56549 isString, 56550 isNumber, 56551 isBoolean, 56552 isObject, 56553 isPlainObject, 56554 isUndefined, 56555 isDate, 56556 isFile, 56557 isBlob, 56558 isRegExp, 56559 isFunction, 56560 isStream, 56561 isURLSearchParams, 56562 isTypedArray, 56563 isFileList, 56564 forEach, 56565 merge, 56566 extend, 56567 trim, 56568 stripBOM, 56569 inherits, 56570 toFlatObject, 56571 kindOf, 56572 kindOfTest, 56573 endsWith, 56574 toArray, 56575 forEachEntry, 56576 matchAll, 56577 isHTMLForm, 56578 hasOwnProperty, 56579 hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection 56580 reduceDescriptors, 56581 freezeMethods, 56582 toObjectSet, 56583 toCamelCase, 56584 noop, 56585 toFiniteNumber, 56586 findKey, 56587 global: _global, 56588 isContextDefined, 56589 ALPHABET, 56590 generateString, 56591 isSpecCompliantForm, 56592 toJSONObject, 56593 isAsyncFn, 56594 isThenable 56595}; 56596 56597/** 56598 * Create an Error with the specified message, config, error code, request and response. 56599 * 56600 * @param {string} message The error message. 56601 * @param {string} [code] The error code (for example, 'ECONNABORTED'). 56602 * @param {Object} [config] The config. 56603 * @param {Object} [request] The request. 56604 * @param {Object} [response] The response. 56605 * 56606 * @returns {Error} The created error. 56607 */ 56608function AxiosError(message, code, config, request, response) { 56609 Error.call(this); 56610 56611 if (Error.captureStackTrace) { 56612 Error.captureStackTrace(this, this.constructor); 56613 } else { 56614 this.stack = (new Error()).stack; 56615 } 56616 56617 this.message = message; 56618 this.name = 'AxiosError'; 56619 code && (this.code = code); 56620 config && (this.config = config); 56621 request && (this.request = request); 56622 response && (this.response = response); 56623} 56624 56625utils.inherits(AxiosError, Error, { 56626 toJSON: function toJSON() { 56627 return { 56628 // Standard 56629 message: this.message, 56630 name: this.name, 56631 // Microsoft 56632 description: this.description, 56633 number: this.number, 56634 // Mozilla 56635 fileName: this.fileName, 56636 lineNumber: this.lineNumber, 56637 columnNumber: this.columnNumber, 56638 stack: this.stack, 56639 // Axios 56640 config: utils.toJSONObject(this.config), 56641 code: this.code, 56642 status: this.response && this.response.status ? this.response.status : null 56643 }; 56644 } 56645}); 56646 56647const prototype$1 = AxiosError.prototype; 56648const descriptors = {}; 56649 56650[ 56651 'ERR_BAD_OPTION_VALUE', 56652 'ERR_BAD_OPTION', 56653 'ECONNABORTED', 56654 'ETIMEDOUT', 56655 'ERR_NETWORK', 56656 'ERR_FR_TOO_MANY_REDIRECTS', 56657 'ERR_DEPRECATED', 56658 'ERR_BAD_RESPONSE', 56659 'ERR_BAD_REQUEST', 56660 'ERR_CANCELED', 56661 'ERR_NOT_SUPPORT', 56662 'ERR_INVALID_URL' 56663// eslint-disable-next-line func-names 56664].forEach(code => { 56665 descriptors[code] = {value: code}; 56666}); 56667 56668Object.defineProperties(AxiosError, descriptors); 56669Object.defineProperty(prototype$1, 'isAxiosError', {value: true}); 56670 56671// eslint-disable-next-line func-names 56672AxiosError.from = (error, code, config, request, response, customProps) => { 56673 const axiosError = Object.create(prototype$1); 56674 56675 utils.toFlatObject(error, axiosError, function filter(obj) { 56676 return obj !== Error.prototype; 56677 }, prop => { 56678 return prop !== 'isAxiosError'; 56679 }); 56680 56681 AxiosError.call(axiosError, error.message, code, config, request, response); 56682 56683 axiosError.cause = error; 56684 56685 axiosError.name = error.name; 56686 56687 customProps && Object.assign(axiosError, customProps); 56688 56689 return axiosError; 56690}; 56691 56692// eslint-disable-next-line strict 56693var httpAdapter = null; 56694 56695/** 56696 * Determines if the given thing is a array or js object. 56697 * 56698 * @param {string} thing - The object or array to be visited. 56699 * 56700 * @returns {boolean} 56701 */ 56702function isVisitable(thing) { 56703 return utils.isPlainObject(thing) || utils.isArray(thing); 56704} 56705 56706/** 56707 * It removes the brackets from the end of a string 56708 * 56709 * @param {string} key - The key of the parameter. 56710 * 56711 * @returns {string} the key without the brackets. 56712 */ 56713function removeBrackets(key) { 56714 return utils.endsWith(key, '[]') ? key.slice(0, -2) : key; 56715} 56716 56717/** 56718 * It takes a path, a key, and a boolean, and returns a string 56719 * 56720 * @param {string} path - The path to the current key. 56721 * @param {string} key - The key of the current object being iterated over. 56722 * @param {string} dots - If true, the key will be rendered with dots instead of brackets. 56723 * 56724 * @returns {string} The path to the current key. 56725 */ 56726function renderKey(path, key, dots) { 56727 if (!path) return key; 56728 return path.concat(key).map(function each(token, i) { 56729 // eslint-disable-next-line no-param-reassign 56730 token = removeBrackets(token); 56731 return !dots && i ? '[' + token + ']' : token; 56732 }).join(dots ? '.' : ''); 56733} 56734 56735/** 56736 * If the array is an array and none of its elements are visitable, then it's a flat array. 56737 * 56738 * @param {Array<any>} arr - The array to check 56739 * 56740 * @returns {boolean} 56741 */ 56742function isFlatArray(arr) { 56743 return utils.isArray(arr) && !arr.some(isVisitable); 56744} 56745 56746const predicates = utils.toFlatObject(utils, {}, null, function filter(prop) { 56747 return /^is[A-Z]/.test(prop); 56748}); 56749 56750/** 56751 * Convert a data object to FormData 56752 * 56753 * @param {Object} obj 56754 * @param {?Object} [formData] 56755 * @param {?Object} [options] 56756 * @param {Function} [options.visitor] 56757 * @param {Boolean} [options.metaTokens = true] 56758 * @param {Boolean} [options.dots = false] 56759 * @param {?Boolean} [options.indexes = false] 56760 * 56761 * @returns {Object} 56762 **/ 56763 56764/** 56765 * It converts an object into a FormData object 56766 * 56767 * @param {Object<any, any>} obj - The object to convert to form data. 56768 * @param {string} formData - The FormData object to append to. 56769 * @param {Object<string, any>} options 56770 * 56771 * @returns 56772 */ 56773function toFormData(obj, formData, options) { 56774 if (!utils.isObject(obj)) { 56775 throw new TypeError('target must be an object'); 56776 } 56777 56778 // eslint-disable-next-line no-param-reassign 56779 formData = formData || new (FormData)(); 56780 56781 // eslint-disable-next-line no-param-reassign 56782 options = utils.toFlatObject(options, { 56783 metaTokens: true, 56784 dots: false, 56785 indexes: false 56786 }, false, function defined(option, source) { 56787 // eslint-disable-next-line no-eq-null,eqeqeq 56788 return !utils.isUndefined(source[option]); 56789 }); 56790 56791 const metaTokens = options.metaTokens; 56792 // eslint-disable-next-line no-use-before-define 56793 const visitor = options.visitor || defaultVisitor; 56794 const dots = options.dots; 56795 const indexes = options.indexes; 56796 const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; 56797 const useBlob = _Blob && utils.isSpecCompliantForm(formData); 56798 56799 if (!utils.isFunction(visitor)) { 56800 throw new TypeError('visitor must be a function'); 56801 } 56802 56803 function convertValue(value) { 56804 if (value === null) return ''; 56805 56806 if (utils.isDate(value)) { 56807 return value.toISOString(); 56808 } 56809 56810 if (!useBlob && utils.isBlob(value)) { 56811 throw new AxiosError('Blob is not supported. Use a Buffer instead.'); 56812 } 56813 56814 if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) { 56815 return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); 56816 } 56817 56818 return value; 56819 } 56820 56821 /** 56822 * Default visitor. 56823 * 56824 * @param {*} value 56825 * @param {String|Number} key 56826 * @param {Array<String|Number>} path 56827 * @this {FormData} 56828 * 56829 * @returns {boolean} return true to visit the each prop of the value recursively 56830 */ 56831 function defaultVisitor(value, key, path) { 56832 let arr = value; 56833 56834 if (value && !path && typeof value === 'object') { 56835 if (utils.endsWith(key, '{}')) { 56836 // eslint-disable-next-line no-param-reassign 56837 key = metaTokens ? key : key.slice(0, -2); 56838 // eslint-disable-next-line no-param-reassign 56839 value = JSON.stringify(value); 56840 } else if ( 56841 (utils.isArray(value) && isFlatArray(value)) || 56842 ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value)) 56843 )) { 56844 // eslint-disable-next-line no-param-reassign 56845 key = removeBrackets(key); 56846 56847 arr.forEach(function each(el, index) { 56848 !(utils.isUndefined(el) || el === null) && formData.append( 56849 // eslint-disable-next-line no-nested-ternary 56850 indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'), 56851 convertValue(el) 56852 ); 56853 }); 56854 return false; 56855 } 56856 } 56857 56858 if (isVisitable(value)) { 56859 return true; 56860 } 56861 56862 formData.append(renderKey(path, key, dots), convertValue(value)); 56863 56864 return false; 56865 } 56866 56867 const stack = []; 56868 56869 const exposedHelpers = Object.assign(predicates, { 56870 defaultVisitor, 56871 convertValue, 56872 isVisitable 56873 }); 56874 56875 function build(value, path) { 56876 if (utils.isUndefined(value)) return; 56877 56878 if (stack.indexOf(value) !== -1) { 56879 throw Error('Circular reference detected in ' + path.join('.')); 56880 } 56881 56882 stack.push(value); 56883 56884 utils.forEach(value, function each(el, key) { 56885 const result = !(utils.isUndefined(el) || el === null) && visitor.call( 56886 formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers 56887 ); 56888 56889 if (result === true) { 56890 build(el, path ? path.concat(key) : [key]); 56891 } 56892 }); 56893 56894 stack.pop(); 56895 } 56896 56897 if (!utils.isObject(obj)) { 56898 throw new TypeError('data must be an object'); 56899 } 56900 56901 build(obj); 56902 56903 return formData; 56904} 56905 56906/** 56907 * It encodes a string by replacing all characters that are not in the unreserved set with 56908 * their percent-encoded equivalents 56909 * 56910 * @param {string} str - The string to encode. 56911 * 56912 * @returns {string} The encoded string. 56913 */ 56914function encode$1(str) { 56915 const charMap = { 56916 '!': '%21', 56917 "'": '%27', 56918 '(': '%28', 56919 ')': '%29', 56920 '~': '%7E', 56921 '%20': '+', 56922 '%00': '\x00' 56923 }; 56924 return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { 56925 return charMap[match]; 56926 }); 56927} 56928 56929/** 56930 * It takes a params object and converts it to a FormData object 56931 * 56932 * @param {Object<string, any>} params - The parameters to be converted to a FormData object. 56933 * @param {Object<string, any>} options - The options object passed to the Axios constructor. 56934 * 56935 * @returns {void} 56936 */ 56937function AxiosURLSearchParams(params, options) { 56938 this._pairs = []; 56939 56940 params && toFormData(params, this, options); 56941} 56942 56943const prototype = AxiosURLSearchParams.prototype; 56944 56945prototype.append = function append(name, value) { 56946 this._pairs.push([name, value]); 56947}; 56948 56949prototype.toString = function toString(encoder) { 56950 const _encode = encoder ? function(value) { 56951 return encoder.call(this, value, encode$1); 56952 } : encode$1; 56953 56954 return this._pairs.map(function each(pair) { 56955 return _encode(pair[0]) + '=' + _encode(pair[1]); 56956 }, '').join('&'); 56957}; 56958 56959/** 56960 * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their 56961 * URI encoded counterparts 56962 * 56963 * @param {string} val The value to be encoded. 56964 * 56965 * @returns {string} The encoded value. 56966 */ 56967function encode(val) { 56968 return encodeURIComponent(val). 56969 replace(/%3A/gi, ':'). 56970 replace(/%24/g, '$'). 56971 replace(/%2C/gi, ','). 56972 replace(/%20/g, '+'). 56973 replace(/%5B/gi, '['). 56974 replace(/%5D/gi, ']'); 56975} 56976 56977/** 56978 * Build a URL by appending params to the end 56979 * 56980 * @param {string} url The base of the url (e.g., http://www.google.com) 56981 * @param {object} [params] The params to be appended 56982 * @param {?object} options 56983 * 56984 * @returns {string} The formatted url 56985 */ 56986function buildURL(url, params, options) { 56987 /*eslint no-param-reassign:0*/ 56988 if (!params) { 56989 return url; 56990 } 56991 56992 const _encode = options && options.encode || encode; 56993 56994 const serializeFn = options && options.serialize; 56995 56996 let serializedParams; 56997 56998 if (serializeFn) { 56999 serializedParams = serializeFn(params, options); 57000 } else { 57001 serializedParams = utils.isURLSearchParams(params) ? 57002 params.toString() : 57003 new AxiosURLSearchParams(params, options).toString(_encode); 57004 } 57005 57006 if (serializedParams) { 57007 const hashmarkIndex = url.indexOf("#"); 57008 57009 if (hashmarkIndex !== -1) { 57010 url = url.slice(0, hashmarkIndex); 57011 } 57012 url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; 57013 } 57014 57015 return url; 57016} 57017 57018class InterceptorManager { 57019 constructor() { 57020 this.handlers = []; 57021 } 57022 57023 /** 57024 * Add a new interceptor to the stack 57025 * 57026 * @param {Function} fulfilled The function to handle `then` for a `Promise` 57027 * @param {Function} rejected The function to handle `reject` for a `Promise` 57028 * 57029 * @return {Number} An ID used to remove interceptor later 57030 */ 57031 use(fulfilled, rejected, options) { 57032 this.handlers.push({ 57033 fulfilled, 57034 rejected, 57035 synchronous: options ? options.synchronous : false, 57036 runWhen: options ? options.runWhen : null 57037 }); 57038 return this.handlers.length - 1; 57039 } 57040 57041 /** 57042 * Remove an interceptor from the stack 57043 * 57044 * @param {Number} id The ID that was returned by `use` 57045 * 57046 * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise 57047 */ 57048 eject(id) { 57049 if (this.handlers[id]) { 57050 this.handlers[id] = null; 57051 } 57052 } 57053 57054 /** 57055 * Clear all interceptors from the stack 57056 * 57057 * @returns {void} 57058 */ 57059 clear() { 57060 if (this.handlers) { 57061 this.handlers = []; 57062 } 57063 } 57064 57065 /** 57066 * Iterate over all the registered interceptors 57067 * 57068 * This method is particularly useful for skipping over any 57069 * interceptors that may have become `null` calling `eject`. 57070 * 57071 * @param {Function} fn The function to call for each interceptor 57072 * 57073 * @returns {void} 57074 */ 57075 forEach(fn) { 57076 utils.forEach(this.handlers, function forEachHandler(h) { 57077 if (h !== null) { 57078 fn(h); 57079 } 57080 }); 57081 } 57082} 57083 57084var InterceptorManager$1 = InterceptorManager; 57085 57086var transitionalDefaults = { 57087 silentJSONParsing: true, 57088 forcedJSONParsing: true, 57089 clarifyTimeoutError: false 57090}; 57091 57092var URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams; 57093 57094var FormData$1 = typeof FormData !== 'undefined' ? FormData : null; 57095 57096var Blob$1 = typeof Blob !== 'undefined' ? Blob : null; 57097 57098/** 57099 * Determine if we're running in a standard browser environment 57100 * 57101 * This allows axios to run in a web worker, and react-native. 57102 * Both environments support XMLHttpRequest, but not fully standard globals. 57103 * 57104 * web workers: 57105 * typeof window -> undefined 57106 * typeof document -> undefined 57107 * 57108 * react-native: 57109 * navigator.product -> 'ReactNative' 57110 * nativescript 57111 * navigator.product -> 'NativeScript' or 'NS' 57112 * 57113 * @returns {boolean} 57114 */ 57115const isStandardBrowserEnv = (() => { 57116 let product; 57117 if (typeof navigator !== 'undefined' && ( 57118 (product = navigator.product) === 'ReactNative' || 57119 product === 'NativeScript' || 57120 product === 'NS') 57121 ) { 57122 return false; 57123 } 57124 57125 return typeof window !== 'undefined' && typeof document !== 'undefined'; 57126})(); 57127 57128/** 57129 * Determine if we're running in a standard browser webWorker environment 57130 * 57131 * Although the `isStandardBrowserEnv` method indicates that 57132 * `allows axios to run in a web worker`, the WebWorker will still be 57133 * filtered out due to its judgment standard 57134 * `typeof window !== 'undefined' && typeof document !== 'undefined'`. 57135 * This leads to a problem when axios post `FormData` in webWorker 57136 */ 57137 const isStandardBrowserWebWorkerEnv = (() => { 57138 return ( 57139 typeof WorkerGlobalScope !== 'undefined' && 57140 // eslint-disable-next-line no-undef 57141 self instanceof WorkerGlobalScope && 57142 typeof self.importScripts === 'function' 57143 ); 57144})(); 57145 57146 57147var platform = { 57148 isBrowser: true, 57149 classes: { 57150 URLSearchParams: URLSearchParams$1, 57151 FormData: FormData$1, 57152 Blob: Blob$1 57153 }, 57154 isStandardBrowserEnv, 57155 isStandardBrowserWebWorkerEnv, 57156 protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] 57157}; 57158 57159function toURLEncodedForm(data, options) { 57160 return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({ 57161 visitor: function(value, key, path, helpers) { 57162 if (platform.isNode && utils.isBuffer(value)) { 57163 this.append(key, value.toString('base64')); 57164 return false; 57165 } 57166 57167 return helpers.defaultVisitor.apply(this, arguments); 57168 } 57169 }, options)); 57170} 57171 57172/** 57173 * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] 57174 * 57175 * @param {string} name - The name of the property to get. 57176 * 57177 * @returns An array of strings. 57178 */ 57179function parsePropPath(name) { 57180 // foo[x][y][z] 57181 // foo.x.y.z 57182 // foo-x-y-z 57183 // foo x y z 57184 return utils.matchAll(/\w+|\[(\w*)]/g, name).map(match => { 57185 return match[0] === '[]' ? '' : match[1] || match[0]; 57186 }); 57187} 57188 57189/** 57190 * Convert an array to an object. 57191 * 57192 * @param {Array<any>} arr - The array to convert to an object. 57193 * 57194 * @returns An object with the same keys and values as the array. 57195 */ 57196function arrayToObject(arr) { 57197 const obj = {}; 57198 const keys = Object.keys(arr); 57199 let i; 57200 const len = keys.length; 57201 let key; 57202 for (i = 0; i < len; i++) { 57203 key = keys[i]; 57204 obj[key] = arr[key]; 57205 } 57206 return obj; 57207} 57208 57209/** 57210 * It takes a FormData object and returns a JavaScript object 57211 * 57212 * @param {string} formData The FormData object to convert to JSON. 57213 * 57214 * @returns {Object<string, any> | null} The converted object. 57215 */ 57216function formDataToJSON(formData) { 57217 function buildPath(path, value, target, index) { 57218 let name = path[index++]; 57219 const isNumericKey = Number.isFinite(+name); 57220 const isLast = index >= path.length; 57221 name = !name && utils.isArray(target) ? target.length : name; 57222 57223 if (isLast) { 57224 if (utils.hasOwnProp(target, name)) { 57225 target[name] = [target[name], value]; 57226 } else { 57227 target[name] = value; 57228 } 57229 57230 return !isNumericKey; 57231 } 57232 57233 if (!target[name] || !utils.isObject(target[name])) { 57234 target[name] = []; 57235 } 57236 57237 const result = buildPath(path, value, target[name], index); 57238 57239 if (result && utils.isArray(target[name])) { 57240 target[name] = arrayToObject(target[name]); 57241 } 57242 57243 return !isNumericKey; 57244 } 57245 57246 if (utils.isFormData(formData) && utils.isFunction(formData.entries)) { 57247 const obj = {}; 57248 57249 utils.forEachEntry(formData, (name, value) => { 57250 buildPath(parsePropPath(name), value, obj, 0); 57251 }); 57252 57253 return obj; 57254 } 57255 57256 return null; 57257} 57258 57259/** 57260 * It takes a string, tries to parse it, and if it fails, it returns the stringified version 57261 * of the input 57262 * 57263 * @param {any} rawValue - The value to be stringified. 57264 * @param {Function} parser - A function that parses a string into a JavaScript object. 57265 * @param {Function} encoder - A function that takes a value and returns a string. 57266 * 57267 * @returns {string} A stringified version of the rawValue. 57268 */ 57269function stringifySafely(rawValue, parser, encoder) { 57270 if (utils.isString(rawValue)) { 57271 try { 57272 (parser || JSON.parse)(rawValue); 57273 return utils.trim(rawValue); 57274 } catch (e) { 57275 if (e.name !== 'SyntaxError') { 57276 throw e; 57277 } 57278 } 57279 } 57280 57281 return (encoder || JSON.stringify)(rawValue); 57282} 57283 57284const defaults = { 57285 57286 transitional: transitionalDefaults, 57287 57288 adapter: platform.isNode ? 'http' : 'xhr', 57289 57290 transformRequest: [function transformRequest(data, headers) { 57291 const contentType = headers.getContentType() || ''; 57292 const hasJSONContentType = contentType.indexOf('application/json') > -1; 57293 const isObjectPayload = utils.isObject(data); 57294 57295 if (isObjectPayload && utils.isHTMLForm(data)) { 57296 data = new FormData(data); 57297 } 57298 57299 const isFormData = utils.isFormData(data); 57300 57301 if (isFormData) { 57302 if (!hasJSONContentType) { 57303 return data; 57304 } 57305 return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data; 57306 } 57307 57308 if (utils.isArrayBuffer(data) || 57309 utils.isBuffer(data) || 57310 utils.isStream(data) || 57311 utils.isFile(data) || 57312 utils.isBlob(data) 57313 ) { 57314 return data; 57315 } 57316 if (utils.isArrayBufferView(data)) { 57317 return data.buffer; 57318 } 57319 if (utils.isURLSearchParams(data)) { 57320 headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); 57321 return data.toString(); 57322 } 57323 57324 let isFileList; 57325 57326 if (isObjectPayload) { 57327 if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { 57328 return toURLEncodedForm(data, this.formSerializer).toString(); 57329 } 57330 57331 if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { 57332 const _FormData = this.env && this.env.FormData; 57333 57334 return toFormData( 57335 isFileList ? {'files[]': data} : data, 57336 _FormData && new _FormData(), 57337 this.formSerializer 57338 ); 57339 } 57340 } 57341 57342 if (isObjectPayload || hasJSONContentType ) { 57343 headers.setContentType('application/json', false); 57344 return stringifySafely(data); 57345 } 57346 57347 return data; 57348 }], 57349 57350 transformResponse: [function transformResponse(data) { 57351 const transitional = this.transitional || defaults.transitional; 57352 const forcedJSONParsing = transitional && transitional.forcedJSONParsing; 57353 const JSONRequested = this.responseType === 'json'; 57354 57355 if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) { 57356 const silentJSONParsing = transitional && transitional.silentJSONParsing; 57357 const strictJSONParsing = !silentJSONParsing && JSONRequested; 57358 57359 try { 57360 return JSON.parse(data); 57361 } catch (e) { 57362 if (strictJSONParsing) { 57363 if (e.name === 'SyntaxError') { 57364 throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response); 57365 } 57366 throw e; 57367 } 57368 } 57369 } 57370 57371 return data; 57372 }], 57373 57374 /** 57375 * A timeout in milliseconds to abort a request. If set to 0 (default) a 57376 * timeout is not created. 57377 */ 57378 timeout: 0, 57379 57380 xsrfCookieName: 'XSRF-TOKEN', 57381 xsrfHeaderName: 'X-XSRF-TOKEN', 57382 57383 maxContentLength: -1, 57384 maxBodyLength: -1, 57385 57386 env: { 57387 FormData: platform.classes.FormData, 57388 Blob: platform.classes.Blob 57389 }, 57390 57391 validateStatus: function validateStatus(status) { 57392 return status >= 200 && status < 300; 57393 }, 57394 57395 headers: { 57396 common: { 57397 'Accept': 'application/json, text/plain, */*', 57398 'Content-Type': undefined 57399 } 57400 } 57401}; 57402 57403utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => { 57404 defaults.headers[method] = {}; 57405}); 57406 57407var defaults$1 = defaults; 57408 57409// RawAxiosHeaders whose duplicates are ignored by node 57410// c.f. https://nodejs.org/api/http.html#http_message_headers 57411const ignoreDuplicateOf = utils.toObjectSet([ 57412 'age', 'authorization', 'content-length', 'content-type', 'etag', 57413 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 57414 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 57415 'referer', 'retry-after', 'user-agent' 57416]); 57417 57418/** 57419 * Parse headers into an object 57420 * 57421 * ``` 57422 * Date: Wed, 27 Aug 2014 08:58:49 GMT 57423 * Content-Type: application/json 57424 * Connection: keep-alive 57425 * Transfer-Encoding: chunked 57426 * ``` 57427 * 57428 * @param {String} rawHeaders Headers needing to be parsed 57429 * 57430 * @returns {Object} Headers parsed into an object 57431 */ 57432var parseHeaders = rawHeaders => { 57433 const parsed = {}; 57434 let key; 57435 let val; 57436 let i; 57437 57438 rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { 57439 i = line.indexOf(':'); 57440 key = line.substring(0, i).trim().toLowerCase(); 57441 val = line.substring(i + 1).trim(); 57442 57443 if (!key || (parsed[key] && ignoreDuplicateOf[key])) { 57444 return; 57445 } 57446 57447 if (key === 'set-cookie') { 57448 if (parsed[key]) { 57449 parsed[key].push(val); 57450 } else { 57451 parsed[key] = [val]; 57452 } 57453 } else { 57454 parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; 57455 } 57456 }); 57457 57458 return parsed; 57459}; 57460 57461const $internals = Symbol('internals'); 57462 57463function normalizeHeader(header) { 57464 return header && String(header).trim().toLowerCase(); 57465} 57466 57467function normalizeValue(value) { 57468 if (value === false || value == null) { 57469 return value; 57470 } 57471 57472 return utils.isArray(value) ? value.map(normalizeValue) : String(value); 57473} 57474 57475function parseTokens(str) { 57476 const tokens = Object.create(null); 57477 const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; 57478 let match; 57479 57480 while ((match = tokensRE.exec(str))) { 57481 tokens[match[1]] = match[2]; 57482 } 57483 57484 return tokens; 57485} 57486 57487const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); 57488 57489function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { 57490 if (utils.isFunction(filter)) { 57491 return filter.call(this, value, header); 57492 } 57493 57494 if (isHeaderNameFilter) { 57495 value = header; 57496 } 57497 57498 if (!utils.isString(value)) return; 57499 57500 if (utils.isString(filter)) { 57501 return value.indexOf(filter) !== -1; 57502 } 57503 57504 if (utils.isRegExp(filter)) { 57505 return filter.test(value); 57506 } 57507} 57508 57509function formatHeader(header) { 57510 return header.trim() 57511 .toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => { 57512 return char.toUpperCase() + str; 57513 }); 57514} 57515 57516function buildAccessors(obj, header) { 57517 const accessorName = utils.toCamelCase(' ' + header); 57518 57519 ['get', 'set', 'has'].forEach(methodName => { 57520 Object.defineProperty(obj, methodName + accessorName, { 57521 value: function(arg1, arg2, arg3) { 57522 return this[methodName].call(this, header, arg1, arg2, arg3); 57523 }, 57524 configurable: true 57525 }); 57526 }); 57527} 57528 57529class AxiosHeaders { 57530 constructor(headers) { 57531 headers && this.set(headers); 57532 } 57533 57534 set(header, valueOrRewrite, rewrite) { 57535 const self = this; 57536 57537 function setHeader(_value, _header, _rewrite) { 57538 const lHeader = normalizeHeader(_header); 57539 57540 if (!lHeader) { 57541 throw new Error('header name must be a non-empty string'); 57542 } 57543 57544 const key = utils.findKey(self, lHeader); 57545 57546 if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) { 57547 self[key || _header] = normalizeValue(_value); 57548 } 57549 } 57550 57551 const setHeaders = (headers, _rewrite) => 57552 utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite)); 57553 57554 if (utils.isPlainObject(header) || header instanceof this.constructor) { 57555 setHeaders(header, valueOrRewrite); 57556 } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { 57557 setHeaders(parseHeaders(header), valueOrRewrite); 57558 } else { 57559 header != null && setHeader(valueOrRewrite, header, rewrite); 57560 } 57561 57562 return this; 57563 } 57564 57565 get(header, parser) { 57566 header = normalizeHeader(header); 57567 57568 if (header) { 57569 const key = utils.findKey(this, header); 57570 57571 if (key) { 57572 const value = this[key]; 57573 57574 if (!parser) { 57575 return value; 57576 } 57577 57578 if (parser === true) { 57579 return parseTokens(value); 57580 } 57581 57582 if (utils.isFunction(parser)) { 57583 return parser.call(this, value, key); 57584 } 57585 57586 if (utils.isRegExp(parser)) { 57587 return parser.exec(value); 57588 } 57589 57590 throw new TypeError('parser must be boolean|regexp|function'); 57591 } 57592 } 57593 } 57594 57595 has(header, matcher) { 57596 header = normalizeHeader(header); 57597 57598 if (header) { 57599 const key = utils.findKey(this, header); 57600 57601 return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); 57602 } 57603 57604 return false; 57605 } 57606 57607 delete(header, matcher) { 57608 const self = this; 57609 let deleted = false; 57610 57611 function deleteHeader(_header) { 57612 _header = normalizeHeader(_header); 57613 57614 if (_header) { 57615 const key = utils.findKey(self, _header); 57616 57617 if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { 57618 delete self[key]; 57619 57620 deleted = true; 57621 } 57622 } 57623 } 57624 57625 if (utils.isArray(header)) { 57626 header.forEach(deleteHeader); 57627 } else { 57628 deleteHeader(header); 57629 } 57630 57631 return deleted; 57632 } 57633 57634 clear(matcher) { 57635 const keys = Object.keys(this); 57636 let i = keys.length; 57637 let deleted = false; 57638 57639 while (i--) { 57640 const key = keys[i]; 57641 if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { 57642 delete this[key]; 57643 deleted = true; 57644 } 57645 } 57646 57647 return deleted; 57648 } 57649 57650 normalize(format) { 57651 const self = this; 57652 const headers = {}; 57653 57654 utils.forEach(this, (value, header) => { 57655 const key = utils.findKey(headers, header); 57656 57657 if (key) { 57658 self[key] = normalizeValue(value); 57659 delete self[header]; 57660 return; 57661 } 57662 57663 const normalized = format ? formatHeader(header) : String(header).trim(); 57664 57665 if (normalized !== header) { 57666 delete self[header]; 57667 } 57668 57669 self[normalized] = normalizeValue(value); 57670 57671 headers[normalized] = true; 57672 }); 57673 57674 return this; 57675 } 57676 57677 concat(...targets) { 57678 return this.constructor.concat(this, ...targets); 57679 } 57680 57681 toJSON(asStrings) { 57682 const obj = Object.create(null); 57683 57684 utils.forEach(this, (value, header) => { 57685 value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value); 57686 }); 57687 57688 return obj; 57689 } 57690 57691 [Symbol.iterator]() { 57692 return Object.entries(this.toJSON())[Symbol.iterator](); 57693 } 57694 57695 toString() { 57696 return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n'); 57697 } 57698 57699 get [Symbol.toStringTag]() { 57700 return 'AxiosHeaders'; 57701 } 57702 57703 static from(thing) { 57704 return thing instanceof this ? thing : new this(thing); 57705 } 57706 57707 static concat(first, ...targets) { 57708 const computed = new this(first); 57709 57710 targets.forEach((target) => computed.set(target)); 57711 57712 return computed; 57713 } 57714 57715 static accessor(header) { 57716 const internals = this[$internals] = (this[$internals] = { 57717 accessors: {} 57718 }); 57719 57720 const accessors = internals.accessors; 57721 const prototype = this.prototype; 57722 57723 function defineAccessor(_header) { 57724 const lHeader = normalizeHeader(_header); 57725 57726 if (!accessors[lHeader]) { 57727 buildAccessors(prototype, _header); 57728 accessors[lHeader] = true; 57729 } 57730 } 57731 57732 utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); 57733 57734 return this; 57735 } 57736} 57737 57738AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); 57739 57740// reserved names hotfix 57741utils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => { 57742 let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` 57743 return { 57744 get: () => value, 57745 set(headerValue) { 57746 this[mapped] = headerValue; 57747 } 57748 } 57749}); 57750 57751utils.freezeMethods(AxiosHeaders); 57752 57753var AxiosHeaders$1 = AxiosHeaders; 57754 57755/** 57756 * Transform the data for a request or a response 57757 * 57758 * @param {Array|Function} fns A single function or Array of functions 57759 * @param {?Object} response The response object 57760 * 57761 * @returns {*} The resulting transformed data 57762 */ 57763function transformData(fns, response) { 57764 const config = this || defaults$1; 57765 const context = response || config; 57766 const headers = AxiosHeaders$1.from(context.headers); 57767 let data = context.data; 57768 57769 utils.forEach(fns, function transform(fn) { 57770 data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); 57771 }); 57772 57773 headers.normalize(); 57774 57775 return data; 57776} 57777 57778function isCancel(value) { 57779 return !!(value && value.__CANCEL__); 57780} 57781 57782/** 57783 * A `CanceledError` is an object that is thrown when an operation is canceled. 57784 * 57785 * @param {string=} message The message. 57786 * @param {Object=} config The config. 57787 * @param {Object=} request The request. 57788 * 57789 * @returns {CanceledError} The created error. 57790 */ 57791function CanceledError(message, config, request) { 57792 // eslint-disable-next-line no-eq-null,eqeqeq 57793 AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request); 57794 this.name = 'CanceledError'; 57795} 57796 57797utils.inherits(CanceledError, AxiosError, { 57798 __CANCEL__: true 57799}); 57800 57801/** 57802 * Resolve or reject a Promise based on response status. 57803 * 57804 * @param {Function} resolve A function that resolves the promise. 57805 * @param {Function} reject A function that rejects the promise. 57806 * @param {object} response The response. 57807 * 57808 * @returns {object} The response. 57809 */ 57810function settle(resolve, reject, response) { 57811 const validateStatus = response.config.validateStatus; 57812 if (!response.status || !validateStatus || validateStatus(response.status)) { 57813 resolve(response); 57814 } else { 57815 reject(new AxiosError( 57816 'Request failed with status code ' + response.status, 57817 [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], 57818 response.config, 57819 response.request, 57820 response 57821 )); 57822 } 57823} 57824 57825var cookies = platform.isStandardBrowserEnv ? 57826 57827// Standard browser envs support document.cookie 57828 (function standardBrowserEnv() { 57829 return { 57830 write: function write(name, value, expires, path, domain, secure) { 57831 const cookie = []; 57832 cookie.push(name + '=' + encodeURIComponent(value)); 57833 57834 if (utils.isNumber(expires)) { 57835 cookie.push('expires=' + new Date(expires).toGMTString()); 57836 } 57837 57838 if (utils.isString(path)) { 57839 cookie.push('path=' + path); 57840 } 57841 57842 if (utils.isString(domain)) { 57843 cookie.push('domain=' + domain); 57844 } 57845 57846 if (secure === true) { 57847 cookie.push('secure'); 57848 } 57849 57850 document.cookie = cookie.join('; '); 57851 }, 57852 57853 read: function read(name) { 57854 const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); 57855 return (match ? decodeURIComponent(match[3]) : null); 57856 }, 57857 57858 remove: function remove(name) { 57859 this.write(name, '', Date.now() - 86400000); 57860 } 57861 }; 57862 })() : 57863 57864// Non standard browser env (web workers, react-native) lack needed support. 57865 (function nonStandardBrowserEnv() { 57866 return { 57867 write: function write() {}, 57868 read: function read() { return null; }, 57869 remove: function remove() {} 57870 }; 57871 })(); 57872 57873/** 57874 * Determines whether the specified URL is absolute 57875 * 57876 * @param {string} url The URL to test 57877 * 57878 * @returns {boolean} True if the specified URL is absolute, otherwise false 57879 */ 57880function isAbsoluteURL(url) { 57881 // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL). 57882 // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed 57883 // by any combination of letters, digits, plus, period, or hyphen. 57884 return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); 57885} 57886 57887/** 57888 * Creates a new URL by combining the specified URLs 57889 * 57890 * @param {string} baseURL The base URL 57891 * @param {string} relativeURL The relative URL 57892 * 57893 * @returns {string} The combined URL 57894 */ 57895function combineURLs(baseURL, relativeURL) { 57896 return relativeURL 57897 ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') 57898 : baseURL; 57899} 57900 57901/** 57902 * Creates a new URL by combining the baseURL with the requestedURL, 57903 * only when the requestedURL is not already an absolute URL. 57904 * If the requestURL is absolute, this function returns the requestedURL untouched. 57905 * 57906 * @param {string} baseURL The base URL 57907 * @param {string} requestedURL Absolute or relative URL to combine 57908 * 57909 * @returns {string} The combined full path 57910 */ 57911function buildFullPath(baseURL, requestedURL) { 57912 if (baseURL && !isAbsoluteURL(requestedURL)) { 57913 return combineURLs(baseURL, requestedURL); 57914 } 57915 return requestedURL; 57916} 57917 57918var isURLSameOrigin = platform.isStandardBrowserEnv ? 57919 57920// Standard browser envs have full support of the APIs needed to test 57921// whether the request URL is of the same origin as current location. 57922 (function standardBrowserEnv() { 57923 const msie = /(msie|trident)/i.test(navigator.userAgent); 57924 const urlParsingNode = document.createElement('a'); 57925 let originURL; 57926 57927 /** 57928 * Parse a URL to discover it's components 57929 * 57930 * @param {String} url The URL to be parsed 57931 * @returns {Object} 57932 */ 57933 function resolveURL(url) { 57934 let href = url; 57935 57936 if (msie) { 57937 // IE needs attribute set twice to normalize properties 57938 urlParsingNode.setAttribute('href', href); 57939 href = urlParsingNode.href; 57940 } 57941 57942 urlParsingNode.setAttribute('href', href); 57943 57944 // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils 57945 return { 57946 href: urlParsingNode.href, 57947 protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', 57948 host: urlParsingNode.host, 57949 search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', 57950 hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', 57951 hostname: urlParsingNode.hostname, 57952 port: urlParsingNode.port, 57953 pathname: (urlParsingNode.pathname.charAt(0) === '/') ? 57954 urlParsingNode.pathname : 57955 '/' + urlParsingNode.pathname 57956 }; 57957 } 57958 57959 originURL = resolveURL(window.location.href); 57960 57961 /** 57962 * Determine if a URL shares the same origin as the current location 57963 * 57964 * @param {String} requestURL The URL to test 57965 * @returns {boolean} True if URL shares the same origin, otherwise false 57966 */ 57967 return function isURLSameOrigin(requestURL) { 57968 const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; 57969 return (parsed.protocol === originURL.protocol && 57970 parsed.host === originURL.host); 57971 }; 57972 })() : 57973 57974 // Non standard browser envs (web workers, react-native) lack needed support. 57975 (function nonStandardBrowserEnv() { 57976 return function isURLSameOrigin() { 57977 return true; 57978 }; 57979 })(); 57980 57981function parseProtocol(url) { 57982 const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); 57983 return match && match[1] || ''; 57984} 57985 57986/** 57987 * Calculate data maxRate 57988 * @param {Number} [samplesCount= 10] 57989 * @param {Number} [min= 1000] 57990 * @returns {Function} 57991 */ 57992function speedometer(samplesCount, min) { 57993 samplesCount = samplesCount || 10; 57994 const bytes = new Array(samplesCount); 57995 const timestamps = new Array(samplesCount); 57996 let head = 0; 57997 let tail = 0; 57998 let firstSampleTS; 57999 58000 min = min !== undefined ? min : 1000; 58001 58002 return function push(chunkLength) { 58003 const now = Date.now(); 58004 58005 const startedAt = timestamps[tail]; 58006 58007 if (!firstSampleTS) { 58008 firstSampleTS = now; 58009 } 58010 58011 bytes[head] = chunkLength; 58012 timestamps[head] = now; 58013 58014 let i = tail; 58015 let bytesCount = 0; 58016 58017 while (i !== head) { 58018 bytesCount += bytes[i++]; 58019 i = i % samplesCount; 58020 } 58021 58022 head = (head + 1) % samplesCount; 58023 58024 if (head === tail) { 58025 tail = (tail + 1) % samplesCount; 58026 } 58027 58028 if (now - firstSampleTS < min) { 58029 return; 58030 } 58031 58032 const passed = startedAt && now - startedAt; 58033 58034 return passed ? Math.round(bytesCount * 1000 / passed) : undefined; 58035 }; 58036} 58037 58038function progressEventReducer(listener, isDownloadStream) { 58039 let bytesNotified = 0; 58040 const _speedometer = speedometer(50, 250); 58041 58042 return e => { 58043 const loaded = e.loaded; 58044 const total = e.lengthComputable ? e.total : undefined; 58045 const progressBytes = loaded - bytesNotified; 58046 const rate = _speedometer(progressBytes); 58047 const inRange = loaded <= total; 58048 58049 bytesNotified = loaded; 58050 58051 const data = { 58052 loaded, 58053 total, 58054 progress: total ? (loaded / total) : undefined, 58055 bytes: progressBytes, 58056 rate: rate ? rate : undefined, 58057 estimated: rate && total && inRange ? (total - loaded) / rate : undefined, 58058 event: e 58059 }; 58060 58061 data[isDownloadStream ? 'download' : 'upload'] = true; 58062 58063 listener(data); 58064 }; 58065} 58066 58067const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; 58068 58069var xhrAdapter = isXHRAdapterSupported && function (config) { 58070 return new Promise(function dispatchXhrRequest(resolve, reject) { 58071 let requestData = config.data; 58072 const requestHeaders = AxiosHeaders$1.from(config.headers).normalize(); 58073 const responseType = config.responseType; 58074 let onCanceled; 58075 function done() { 58076 if (config.cancelToken) { 58077 config.cancelToken.unsubscribe(onCanceled); 58078 } 58079 58080 if (config.signal) { 58081 config.signal.removeEventListener('abort', onCanceled); 58082 } 58083 } 58084 58085 if (utils.isFormData(requestData)) { 58086 if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) { 58087 requestHeaders.setContentType(false); // Let the browser set it 58088 } else { 58089 requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks 58090 } 58091 } 58092 58093 let request = new XMLHttpRequest(); 58094 58095 // HTTP basic authentication 58096 if (config.auth) { 58097 const username = config.auth.username || ''; 58098 const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; 58099 requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password)); 58100 } 58101 58102 const fullPath = buildFullPath(config.baseURL, config.url); 58103 58104 request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true); 58105 58106 // Set the request timeout in MS 58107 request.timeout = config.timeout; 58108 58109 function onloadend() { 58110 if (!request) { 58111 return; 58112 } 58113 // Prepare the response 58114 const responseHeaders = AxiosHeaders$1.from( 58115 'getAllResponseHeaders' in request && request.getAllResponseHeaders() 58116 ); 58117 const responseData = !responseType || responseType === 'text' || responseType === 'json' ? 58118 request.responseText : request.response; 58119 const response = { 58120 data: responseData, 58121 status: request.status, 58122 statusText: request.statusText, 58123 headers: responseHeaders, 58124 config, 58125 request 58126 }; 58127 58128 settle(function _resolve(value) { 58129 resolve(value); 58130 done(); 58131 }, function _reject(err) { 58132 reject(err); 58133 done(); 58134 }, response); 58135 58136 // Clean up request 58137 request = null; 58138 } 58139 58140 if ('onloadend' in request) { 58141 // Use onloadend if available 58142 request.onloadend = onloadend; 58143 } else { 58144 // Listen for ready state to emulate onloadend 58145 request.onreadystatechange = function handleLoad() { 58146 if (!request || request.readyState !== 4) { 58147 return; 58148 } 58149 58150 // The request errored out and we didn't get a response, this will be 58151 // handled by onerror instead 58152 // With one exception: request that using file: protocol, most browsers 58153 // will return status as 0 even though it's a successful request 58154 if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { 58155 return; 58156 } 58157 // readystate handler is calling before onerror or ontimeout handlers, 58158 // so we should call onloadend on the next 'tick' 58159 setTimeout(onloadend); 58160 }; 58161 } 58162 58163 // Handle browser request cancellation (as opposed to a manual cancellation) 58164 request.onabort = function handleAbort() { 58165 if (!request) { 58166 return; 58167 } 58168 58169 reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request)); 58170 58171 // Clean up request 58172 request = null; 58173 }; 58174 58175 // Handle low level network errors 58176 request.onerror = function handleError() { 58177 // Real errors are hidden from us by the browser 58178 // onerror should only fire if it's a network error 58179 reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request)); 58180 58181 // Clean up request 58182 request = null; 58183 }; 58184 58185 // Handle timeout 58186 request.ontimeout = function handleTimeout() { 58187 let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; 58188 const transitional = config.transitional || transitionalDefaults; 58189 if (config.timeoutErrorMessage) { 58190 timeoutErrorMessage = config.timeoutErrorMessage; 58191 } 58192 reject(new AxiosError( 58193 timeoutErrorMessage, 58194 transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, 58195 config, 58196 request)); 58197 58198 // Clean up request 58199 request = null; 58200 }; 58201 58202 // Add xsrf header 58203 // This is only done if running in a standard browser environment. 58204 // Specifically not if we're in a web worker, or react-native. 58205 if (platform.isStandardBrowserEnv) { 58206 // Add xsrf header 58207 const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) 58208 && config.xsrfCookieName && cookies.read(config.xsrfCookieName); 58209 58210 if (xsrfValue) { 58211 requestHeaders.set(config.xsrfHeaderName, xsrfValue); 58212 } 58213 } 58214 58215 // Remove Content-Type if data is undefined 58216 requestData === undefined && requestHeaders.setContentType(null); 58217 58218 // Add headers to the request 58219 if ('setRequestHeader' in request) { 58220 utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { 58221 request.setRequestHeader(key, val); 58222 }); 58223 } 58224 58225 // Add withCredentials to request if needed 58226 if (!utils.isUndefined(config.withCredentials)) { 58227 request.withCredentials = !!config.withCredentials; 58228 } 58229 58230 // Add responseType to request if needed 58231 if (responseType && responseType !== 'json') { 58232 request.responseType = config.responseType; 58233 } 58234 58235 // Handle progress if needed 58236 if (typeof config.onDownloadProgress === 'function') { 58237 request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true)); 58238 } 58239 58240 // Not all browsers support upload events 58241 if (typeof config.onUploadProgress === 'function' && request.upload) { 58242 request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress)); 58243 } 58244 58245 if (config.cancelToken || config.signal) { 58246 // Handle cancellation 58247 // eslint-disable-next-line func-names 58248 onCanceled = cancel => { 58249 if (!request) { 58250 return; 58251 } 58252 reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel); 58253 request.abort(); 58254 request = null; 58255 }; 58256 58257 config.cancelToken && config.cancelToken.subscribe(onCanceled); 58258 if (config.signal) { 58259 config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); 58260 } 58261 } 58262 58263 const protocol = parseProtocol(fullPath); 58264 58265 if (protocol && platform.protocols.indexOf(protocol) === -1) { 58266 reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config)); 58267 return; 58268 } 58269 58270 58271 // Send the request 58272 request.send(requestData || null); 58273 }); 58274}; 58275 58276const knownAdapters = { 58277 http: httpAdapter, 58278 xhr: xhrAdapter 58279}; 58280 58281utils.forEach(knownAdapters, (fn, value) => { 58282 if(fn) { 58283 try { 58284 Object.defineProperty(fn, 'name', {value}); 58285 } catch (e) { 58286 // eslint-disable-next-line no-empty 58287 } 58288 Object.defineProperty(fn, 'adapterName', {value}); 58289 } 58290}); 58291 58292var adapters = { 58293 getAdapter: (adapters) => { 58294 adapters = utils.isArray(adapters) ? adapters : [adapters]; 58295 58296 const {length} = adapters; 58297 let nameOrAdapter; 58298 let adapter; 58299 58300 for (let i = 0; i < length; i++) { 58301 nameOrAdapter = adapters[i]; 58302 if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) { 58303 break; 58304 } 58305 } 58306 58307 if (!adapter) { 58308 if (adapter === false) { 58309 throw new AxiosError( 58310 `Adapter ${nameOrAdapter} is not supported by the environment`, 58311 'ERR_NOT_SUPPORT' 58312 ); 58313 } 58314 58315 throw new Error( 58316 utils.hasOwnProp(knownAdapters, nameOrAdapter) ? 58317 `Adapter '${nameOrAdapter}' is not available in the build` : 58318 `Unknown adapter '${nameOrAdapter}'` 58319 ); 58320 } 58321 58322 if (!utils.isFunction(adapter)) { 58323 throw new TypeError('adapter is not a function'); 58324 } 58325 58326 return adapter; 58327 }, 58328 adapters: knownAdapters 58329}; 58330 58331/** 58332 * Throws a `CanceledError` if cancellation has been requested. 58333 * 58334 * @param {Object} config The config that is to be used for the request 58335 * 58336 * @returns {void} 58337 */ 58338function throwIfCancellationRequested(config) { 58339 if (config.cancelToken) { 58340 config.cancelToken.throwIfRequested(); 58341 } 58342 58343 if (config.signal && config.signal.aborted) { 58344 throw new CanceledError(null, config); 58345 } 58346} 58347 58348/** 58349 * Dispatch a request to the server using the configured adapter. 58350 * 58351 * @param {object} config The config that is to be used for the request 58352 * 58353 * @returns {Promise} The Promise to be fulfilled 58354 */ 58355function dispatchRequest(config) { 58356 throwIfCancellationRequested(config); 58357 58358 config.headers = AxiosHeaders$1.from(config.headers); 58359 58360 // Transform request data 58361 config.data = transformData.call( 58362 config, 58363 config.transformRequest 58364 ); 58365 58366 if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { 58367 config.headers.setContentType('application/x-www-form-urlencoded', false); 58368 } 58369 58370 const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter); 58371 58372 return adapter(config).then(function onAdapterResolution(response) { 58373 throwIfCancellationRequested(config); 58374 58375 // Transform response data 58376 response.data = transformData.call( 58377 config, 58378 config.transformResponse, 58379 response 58380 ); 58381 58382 response.headers = AxiosHeaders$1.from(response.headers); 58383 58384 return response; 58385 }, function onAdapterRejection(reason) { 58386 if (!isCancel(reason)) { 58387 throwIfCancellationRequested(config); 58388 58389 // Transform response data 58390 if (reason && reason.response) { 58391 reason.response.data = transformData.call( 58392 config, 58393 config.transformResponse, 58394 reason.response 58395 ); 58396 reason.response.headers = AxiosHeaders$1.from(reason.response.headers); 58397 } 58398 } 58399 58400 return Promise.reject(reason); 58401 }); 58402} 58403 58404const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? thing.toJSON() : thing; 58405 58406/** 58407 * Config-specific merge-function which creates a new config-object 58408 * by merging two configuration objects together. 58409 * 58410 * @param {Object} config1 58411 * @param {Object} config2 58412 * 58413 * @returns {Object} New object resulting from merging config2 to config1 58414 */ 58415function mergeConfig(config1, config2) { 58416 // eslint-disable-next-line no-param-reassign 58417 config2 = config2 || {}; 58418 const config = {}; 58419 58420 function getMergedValue(target, source, caseless) { 58421 if (utils.isPlainObject(target) && utils.isPlainObject(source)) { 58422 return utils.merge.call({caseless}, target, source); 58423 } else if (utils.isPlainObject(source)) { 58424 return utils.merge({}, source); 58425 } else if (utils.isArray(source)) { 58426 return source.slice(); 58427 } 58428 return source; 58429 } 58430 58431 // eslint-disable-next-line consistent-return 58432 function mergeDeepProperties(a, b, caseless) { 58433 if (!utils.isUndefined(b)) { 58434 return getMergedValue(a, b, caseless); 58435 } else if (!utils.isUndefined(a)) { 58436 return getMergedValue(undefined, a, caseless); 58437 } 58438 } 58439 58440 // eslint-disable-next-line consistent-return 58441 function valueFromConfig2(a, b) { 58442 if (!utils.isUndefined(b)) { 58443 return getMergedValue(undefined, b); 58444 } 58445 } 58446 58447 // eslint-disable-next-line consistent-return 58448 function defaultToConfig2(a, b) { 58449 if (!utils.isUndefined(b)) { 58450 return getMergedValue(undefined, b); 58451 } else if (!utils.isUndefined(a)) { 58452 return getMergedValue(undefined, a); 58453 } 58454 } 58455 58456 // eslint-disable-next-line consistent-return 58457 function mergeDirectKeys(a, b, prop) { 58458 if (prop in config2) { 58459 return getMergedValue(a, b); 58460 } else if (prop in config1) { 58461 return getMergedValue(undefined, a); 58462 } 58463 } 58464 58465 const mergeMap = { 58466 url: valueFromConfig2, 58467 method: valueFromConfig2, 58468 data: valueFromConfig2, 58469 baseURL: defaultToConfig2, 58470 transformRequest: defaultToConfig2, 58471 transformResponse: defaultToConfig2, 58472 paramsSerializer: defaultToConfig2, 58473 timeout: defaultToConfig2, 58474 timeoutMessage: defaultToConfig2, 58475 withCredentials: defaultToConfig2, 58476 adapter: defaultToConfig2, 58477 responseType: defaultToConfig2, 58478 xsrfCookieName: defaultToConfig2, 58479 xsrfHeaderName: defaultToConfig2, 58480 onUploadProgress: defaultToConfig2, 58481 onDownloadProgress: defaultToConfig2, 58482 decompress: defaultToConfig2, 58483 maxContentLength: defaultToConfig2, 58484 maxBodyLength: defaultToConfig2, 58485 beforeRedirect: defaultToConfig2, 58486 transport: defaultToConfig2, 58487 httpAgent: defaultToConfig2, 58488 httpsAgent: defaultToConfig2, 58489 cancelToken: defaultToConfig2, 58490 socketPath: defaultToConfig2, 58491 responseEncoding: defaultToConfig2, 58492 validateStatus: mergeDirectKeys, 58493 headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true) 58494 }; 58495 58496 utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { 58497 const merge = mergeMap[prop] || mergeDeepProperties; 58498 const configValue = merge(config1[prop], config2[prop], prop); 58499 (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue); 58500 }); 58501 58502 return config; 58503} 58504 58505const VERSION = "1.5.0"; 58506 58507const validators$1 = {}; 58508 58509// eslint-disable-next-line func-names 58510['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => { 58511 validators$1[type] = function validator(thing) { 58512 return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type; 58513 }; 58514}); 58515 58516const deprecatedWarnings = {}; 58517 58518/** 58519 * Transitional option validator 58520 * 58521 * @param {function|boolean?} validator - set to false if the transitional option has been removed 58522 * @param {string?} version - deprecated version / removed since version 58523 * @param {string?} message - some message with additional info 58524 * 58525 * @returns {function} 58526 */ 58527validators$1.transitional = function transitional(validator, version, message) { 58528 function formatMessage(opt, desc) { 58529 return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); 58530 } 58531 58532 // eslint-disable-next-line func-names 58533 return (value, opt, opts) => { 58534 if (validator === false) { 58535 throw new AxiosError( 58536 formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), 58537 AxiosError.ERR_DEPRECATED 58538 ); 58539 } 58540 58541 if (version && !deprecatedWarnings[opt]) { 58542 deprecatedWarnings[opt] = true; 58543 // eslint-disable-next-line no-console 58544 console.warn( 58545 formatMessage( 58546 opt, 58547 ' has been deprecated since v' + version + ' and will be removed in the near future' 58548 ) 58549 ); 58550 } 58551 58552 return validator ? validator(value, opt, opts) : true; 58553 }; 58554}; 58555 58556/** 58557 * Assert object's properties type 58558 * 58559 * @param {object} options 58560 * @param {object} schema 58561 * @param {boolean?} allowUnknown 58562 * 58563 * @returns {object} 58564 */ 58565 58566function assertOptions(options, schema, allowUnknown) { 58567 if (typeof options !== 'object') { 58568 throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE); 58569 } 58570 const keys = Object.keys(options); 58571 let i = keys.length; 58572 while (i-- > 0) { 58573 const opt = keys[i]; 58574 const validator = schema[opt]; 58575 if (validator) { 58576 const value = options[opt]; 58577 const result = value === undefined || validator(value, opt, options); 58578 if (result !== true) { 58579 throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE); 58580 } 58581 continue; 58582 } 58583 if (allowUnknown !== true) { 58584 throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION); 58585 } 58586 } 58587} 58588 58589var validator = { 58590 assertOptions, 58591 validators: validators$1 58592}; 58593 58594const validators = validator.validators; 58595 58596/** 58597 * Create a new instance of Axios 58598 * 58599 * @param {Object} instanceConfig The default config for the instance 58600 * 58601 * @return {Axios} A new instance of Axios 58602 */ 58603class Axios { 58604 constructor(instanceConfig) { 58605 this.defaults = instanceConfig; 58606 this.interceptors = { 58607 request: new InterceptorManager$1(), 58608 response: new InterceptorManager$1() 58609 }; 58610 } 58611 58612 /** 58613 * Dispatch a request 58614 * 58615 * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) 58616 * @param {?Object} config 58617 * 58618 * @returns {Promise} The Promise to be fulfilled 58619 */ 58620 request(configOrUrl, config) { 58621 /*eslint no-param-reassign:0*/ 58622 // Allow for axios('example/url'[, config]) a la fetch API 58623 if (typeof configOrUrl === 'string') { 58624 config = config || {}; 58625 config.url = configOrUrl; 58626 } else { 58627 config = configOrUrl || {}; 58628 } 58629 58630 config = mergeConfig(this.defaults, config); 58631 58632 const {transitional, paramsSerializer, headers} = config; 58633 58634 if (transitional !== undefined) { 58635 validator.assertOptions(transitional, { 58636 silentJSONParsing: validators.transitional(validators.boolean), 58637 forcedJSONParsing: validators.transitional(validators.boolean), 58638 clarifyTimeoutError: validators.transitional(validators.boolean) 58639 }, false); 58640 } 58641 58642 if (paramsSerializer != null) { 58643 if (utils.isFunction(paramsSerializer)) { 58644 config.paramsSerializer = { 58645 serialize: paramsSerializer 58646 }; 58647 } else { 58648 validator.assertOptions(paramsSerializer, { 58649 encode: validators.function, 58650 serialize: validators.function 58651 }, true); 58652 } 58653 } 58654 58655 // Set config.method 58656 config.method = (config.method || this.defaults.method || 'get').toLowerCase(); 58657 58658 // Flatten headers 58659 let contextHeaders = headers && utils.merge( 58660 headers.common, 58661 headers[config.method] 58662 ); 58663 58664 headers && utils.forEach( 58665 ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], 58666 (method) => { 58667 delete headers[method]; 58668 } 58669 ); 58670 58671 config.headers = AxiosHeaders$1.concat(contextHeaders, headers); 58672 58673 // filter out skipped interceptors 58674 const requestInterceptorChain = []; 58675 let synchronousRequestInterceptors = true; 58676 this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { 58677 if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { 58678 return; 58679 } 58680 58681 synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; 58682 58683 requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); 58684 }); 58685 58686 const responseInterceptorChain = []; 58687 this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { 58688 responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); 58689 }); 58690 58691 let promise; 58692 let i = 0; 58693 let len; 58694 58695 if (!synchronousRequestInterceptors) { 58696 const chain = [dispatchRequest.bind(this), undefined]; 58697 chain.unshift.apply(chain, requestInterceptorChain); 58698 chain.push.apply(chain, responseInterceptorChain); 58699 len = chain.length; 58700 58701 promise = Promise.resolve(config); 58702 58703 while (i < len) { 58704 promise = promise.then(chain[i++], chain[i++]); 58705 } 58706 58707 return promise; 58708 } 58709 58710 len = requestInterceptorChain.length; 58711 58712 let newConfig = config; 58713 58714 i = 0; 58715 58716 while (i < len) { 58717 const onFulfilled = requestInterceptorChain[i++]; 58718 const onRejected = requestInterceptorChain[i++]; 58719 try { 58720 newConfig = onFulfilled(newConfig); 58721 } catch (error) { 58722 onRejected.call(this, error); 58723 break; 58724 } 58725 } 58726 58727 try { 58728 promise = dispatchRequest.call(this, newConfig); 58729 } catch (error) { 58730 return Promise.reject(error); 58731 } 58732 58733 i = 0; 58734 len = responseInterceptorChain.length; 58735 58736 while (i < len) { 58737 promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); 58738 } 58739 58740 return promise; 58741 } 58742 58743 getUri(config) { 58744 config = mergeConfig(this.defaults, config); 58745 const fullPath = buildFullPath(config.baseURL, config.url); 58746 return buildURL(fullPath, config.params, config.paramsSerializer); 58747 } 58748} 58749 58750// Provide aliases for supported request methods 58751utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { 58752 /*eslint func-names:0*/ 58753 Axios.prototype[method] = function(url, config) { 58754 return this.request(mergeConfig(config || {}, { 58755 method, 58756 url, 58757 data: (config || {}).data 58758 })); 58759 }; 58760}); 58761 58762utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { 58763 /*eslint func-names:0*/ 58764 58765 function generateHTTPMethod(isForm) { 58766 return function httpMethod(url, data, config) { 58767 return this.request(mergeConfig(config || {}, { 58768 method, 58769 headers: isForm ? { 58770 'Content-Type': 'multipart/form-data' 58771 } : {}, 58772 url, 58773 data 58774 })); 58775 }; 58776 } 58777 58778 Axios.prototype[method] = generateHTTPMethod(); 58779 58780 Axios.prototype[method + 'Form'] = generateHTTPMethod(true); 58781}); 58782 58783var Axios$1 = Axios; 58784 58785/** 58786 * A `CancelToken` is an object that can be used to request cancellation of an operation. 58787 * 58788 * @param {Function} executor The executor function. 58789 * 58790 * @returns {CancelToken} 58791 */ 58792class CancelToken { 58793 constructor(executor) { 58794 if (typeof executor !== 'function') { 58795 throw new TypeError('executor must be a function.'); 58796 } 58797 58798 let resolvePromise; 58799 58800 this.promise = new Promise(function promiseExecutor(resolve) { 58801 resolvePromise = resolve; 58802 }); 58803 58804 const token = this; 58805 58806 // eslint-disable-next-line func-names 58807 this.promise.then(cancel => { 58808 if (!token._listeners) return; 58809 58810 let i = token._listeners.length; 58811 58812 while (i-- > 0) { 58813 token._listeners[i](cancel); 58814 } 58815 token._listeners = null; 58816 }); 58817 58818 // eslint-disable-next-line func-names 58819 this.promise.then = onfulfilled => { 58820 let _resolve; 58821 // eslint-disable-next-line func-names 58822 const promise = new Promise(resolve => { 58823 token.subscribe(resolve); 58824 _resolve = resolve; 58825 }).then(onfulfilled); 58826 58827 promise.cancel = function reject() { 58828 token.unsubscribe(_resolve); 58829 }; 58830 58831 return promise; 58832 }; 58833 58834 executor(function cancel(message, config, request) { 58835 if (token.reason) { 58836 // Cancellation has already been requested 58837 return; 58838 } 58839 58840 token.reason = new CanceledError(message, config, request); 58841 resolvePromise(token.reason); 58842 }); 58843 } 58844 58845 /** 58846 * Throws a `CanceledError` if cancellation has been requested. 58847 */ 58848 throwIfRequested() { 58849 if (this.reason) { 58850 throw this.reason; 58851 } 58852 } 58853 58854 /** 58855 * Subscribe to the cancel signal 58856 */ 58857 58858 subscribe(listener) { 58859 if (this.reason) { 58860 listener(this.reason); 58861 return; 58862 } 58863 58864 if (this._listeners) { 58865 this._listeners.push(listener); 58866 } else { 58867 this._listeners = [listener]; 58868 } 58869 } 58870 58871 /** 58872 * Unsubscribe from the cancel signal 58873 */ 58874 58875 unsubscribe(listener) { 58876 if (!this._listeners) { 58877 return; 58878 } 58879 const index = this._listeners.indexOf(listener); 58880 if (index !== -1) { 58881 this._listeners.splice(index, 1); 58882 } 58883 } 58884 58885 /** 58886 * Returns an object that contains a new `CancelToken` and a function that, when called, 58887 * cancels the `CancelToken`. 58888 */ 58889 static source() { 58890 let cancel; 58891 const token = new CancelToken(function executor(c) { 58892 cancel = c; 58893 }); 58894 return { 58895 token, 58896 cancel 58897 }; 58898 } 58899} 58900 58901var CancelToken$1 = CancelToken; 58902 58903/** 58904 * Syntactic sugar for invoking a function and expanding an array for arguments. 58905 * 58906 * Common use case would be to use `Function.prototype.apply`. 58907 * 58908 * ```js 58909 * function f(x, y, z) {} 58910 * var args = [1, 2, 3]; 58911 * f.apply(null, args); 58912 * ``` 58913 * 58914 * With `spread` this example can be re-written. 58915 * 58916 * ```js 58917 * spread(function(x, y, z) {})([1, 2, 3]); 58918 * ``` 58919 * 58920 * @param {Function} callback 58921 * 58922 * @returns {Function} 58923 */ 58924function spread(callback) { 58925 return function wrap(arr) { 58926 return callback.apply(null, arr); 58927 }; 58928} 58929 58930/** 58931 * Determines whether the payload is an error thrown by Axios 58932 * 58933 * @param {*} payload The value to test 58934 * 58935 * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false 58936 */ 58937function isAxiosError(payload) { 58938 return utils.isObject(payload) && (payload.isAxiosError === true); 58939} 58940 58941const HttpStatusCode = { 58942 Continue: 100, 58943 SwitchingProtocols: 101, 58944 Processing: 102, 58945 EarlyHints: 103, 58946 Ok: 200, 58947 Created: 201, 58948 Accepted: 202, 58949 NonAuthoritativeInformation: 203, 58950 NoContent: 204, 58951 ResetContent: 205, 58952 PartialContent: 206, 58953 MultiStatus: 207, 58954 AlreadyReported: 208, 58955 ImUsed: 226, 58956 MultipleChoices: 300, 58957 MovedPermanently: 301, 58958 Found: 302, 58959 SeeOther: 303, 58960 NotModified: 304, 58961 UseProxy: 305, 58962 Unused: 306, 58963 TemporaryRedirect: 307, 58964 PermanentRedirect: 308, 58965 BadRequest: 400, 58966 Unauthorized: 401, 58967 PaymentRequired: 402, 58968 Forbidden: 403, 58969 NotFound: 404, 58970 MethodNotAllowed: 405, 58971 NotAcceptable: 406, 58972 ProxyAuthenticationRequired: 407, 58973 RequestTimeout: 408, 58974 Conflict: 409, 58975 Gone: 410, 58976 LengthRequired: 411, 58977 PreconditionFailed: 412, 58978 PayloadTooLarge: 413, 58979 UriTooLong: 414, 58980 UnsupportedMediaType: 415, 58981 RangeNotSatisfiable: 416, 58982 ExpectationFailed: 417, 58983 ImATeapot: 418, 58984 MisdirectedRequest: 421, 58985 UnprocessableEntity: 422, 58986 Locked: 423, 58987 FailedDependency: 424, 58988 TooEarly: 425, 58989 UpgradeRequired: 426, 58990 PreconditionRequired: 428, 58991 TooManyRequests: 429, 58992 RequestHeaderFieldsTooLarge: 431, 58993 UnavailableForLegalReasons: 451, 58994 InternalServerError: 500, 58995 NotImplemented: 501, 58996 BadGateway: 502, 58997 ServiceUnavailable: 503, 58998 GatewayTimeout: 504, 58999 HttpVersionNotSupported: 505, 59000 VariantAlsoNegotiates: 506, 59001 InsufficientStorage: 507, 59002 LoopDetected: 508, 59003 NotExtended: 510, 59004 NetworkAuthenticationRequired: 511, 59005}; 59006 59007Object.entries(HttpStatusCode).forEach(([key, value]) => { 59008 HttpStatusCode[value] = key; 59009}); 59010 59011var HttpStatusCode$1 = HttpStatusCode; 59012 59013/** 59014 * Create an instance of Axios 59015 * 59016 * @param {Object} defaultConfig The default config for the instance 59017 * 59018 * @returns {Axios} A new instance of Axios 59019 */ 59020function createInstance(defaultConfig) { 59021 const context = new Axios$1(defaultConfig); 59022 const instance = bind(Axios$1.prototype.request, context); 59023 59024 // Copy axios.prototype to instance 59025 utils.extend(instance, Axios$1.prototype, context, {allOwnKeys: true}); 59026 59027 // Copy context to instance 59028 utils.extend(instance, context, null, {allOwnKeys: true}); 59029 59030 // Factory for creating new instances 59031 instance.create = function create(instanceConfig) { 59032 return createInstance(mergeConfig(defaultConfig, instanceConfig)); 59033 }; 59034 59035 return instance; 59036} 59037 59038// Create the default instance to be exported 59039const axios = createInstance(defaults$1); 59040 59041// Expose Axios class to allow class inheritance 59042axios.Axios = Axios$1; 59043 59044// Expose Cancel & CancelToken 59045axios.CanceledError = CanceledError; 59046axios.CancelToken = CancelToken$1; 59047axios.isCancel = isCancel; 59048axios.VERSION = VERSION; 59049axios.toFormData = toFormData; 59050 59051// Expose AxiosError class 59052axios.AxiosError = AxiosError; 59053 59054// alias for CanceledError for backward compatibility 59055axios.Cancel = axios.CanceledError; 59056 59057// Expose all/spread 59058axios.all = function all(promises) { 59059 return Promise.all(promises); 59060}; 59061 59062axios.spread = spread; 59063 59064// Expose isAxiosError 59065axios.isAxiosError = isAxiosError; 59066 59067// Expose mergeConfig 59068axios.mergeConfig = mergeConfig; 59069 59070axios.AxiosHeaders = AxiosHeaders$1; 59071 59072axios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing); 59073 59074axios.getAdapter = adapters.getAdapter; 59075 59076axios.HttpStatusCode = HttpStatusCode$1; 59077 59078axios.default = axios; 59079 59080module.exports = axios; 59081//# sourceMappingURL=axios.cjs.map 59082 59083 59084/***/ })
vendor: 5,762 bytes, lines 59084-59225
59084 59085 59086/******/ }); 59087/************************************************************************/ 59088/******/ // The module cache 59089/******/ var __webpack_module_cache__ = {}; 59090/******/ 59091/******/ // The require function 59092/******/ function __webpack_require__(moduleId) { 59093/******/ // Check if module is in cache 59094/******/ var cachedModule = __webpack_module_cache__[moduleId]; 59095/******/ if (cachedModule !== undefined) { 59096/******/ return cachedModule.exports; 59097/******/ } 59098/******/ // Create a new module (and put it into the cache) 59099/******/ var module = __webpack_module_cache__[moduleId] = { 59100/******/ id: moduleId, 59101/******/ loaded: false, 59102/******/ exports: {} 59103/******/ }; 59104/******/ 59105/******/ // Execute the module function 59106/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); 59107/******/ 59108/******/ // Flag the module as loaded 59109/******/ module.loaded = true; 59110/******/ 59111/******/ // Return the exports of the module 59112/******/ return module.exports; 59113/******/ } 59114/******/ 59115/******/ // expose the modules object (__webpack_modules__) 59116/******/ __webpack_require__.m = __webpack_modules__; 59117/******/ 59118/************************************************************************/ 59119/******/ /* webpack/runtime/compat get default export */ 59120/******/ (() => { 59121/******/ // getDefaultExport function for compatibility with non-harmony modules 59122/******/ __webpack_require__.n = (module) => { 59123/******/ var getter = module && module.__esModule ? 59124/******/ () => (module['default']) : 59125/******/ () => (module); 59126/******/ __webpack_require__.d(getter, { a: getter }); 59127/******/ return getter; 59128/******/ }; 59129/******/ })(); 59130/******/ 59131/******/ /* webpack/runtime/define property getters */ 59132/******/ (() => { 59133/******/ // define getter functions for harmony exports 59134/******/ __webpack_require__.d = (exports, definition) => { 59135/******/ for(var key in definition) { 59136/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 59137/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 59138/******/ } 59139/******/ } 59140/******/ }; 59141/******/ })(); 59142/******/ 59143/******/ /* webpack/runtime/ensure chunk */ 59144/******/ (() => { 59145/******/ __webpack_require__.f = {}; 59146/******/ // This file contains only the entry chunk. 59147/******/ // The chunk loading function for additional chunks 59148/******/ __webpack_require__.e = (chunkId) => { 59149/******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => { 59150/******/ __webpack_require__.f[key](chunkId, promises); 59151/******/ return promises; 59152/******/ }, [])); 59153/******/ }; 59154/******/ })(); 59155/******/ 59156/******/ /* webpack/runtime/get javascript chunk filename */ 59157/******/ (() => { 59158/******/ // This function allow to reference async chunks 59159/******/ __webpack_require__.u = (chunkId) => { 59160/******/ // return url for filenames not based on template 59161/******/ if ({"resources_assets_js_components_ColloqueAuthorSelect_vue":1,"resources_assets_js_components_ColloqueAuthorSelectDisplay_vue":1,"resources_assets_js_components_LivreAuthorSelect_vue":1,"resources_assets_js_components_LivreAuthorSelectDisplay_vue":1,"resources_assets_js_components_LivreEditorSelect_vue":1,"resources_assets_js_components_LivreEditorSelectDisplay_vue":1}[chunkId]) return "js/" + chunkId + ".js"; 59162/******/ // return url for filenames based on template 59163/******/ return undefined; 59164/******/ }; 59165/******/ })(); 59166/******/ 59167/******/ /* webpack/runtime/get mini-css chunk filename */ 59168/******/ (() => { 59169/******/ // This function allow to reference all chunks 59170/******/ __webpack_require__.miniCssF = (chunkId) => { 59171/******/ // return url for filenames based on template 59172/******/ return undefined; 59173/******/ }; 59174/******/ })(); 59175/******/ 59176/******/ /* webpack/runtime/global */ 59177/******/ (() => { 59178/******/ __webpack_require__.g = (function() { 59179/******/ if (typeof globalThis === 'object') return globalThis; 59180/******/ try { 59181/******/ return this || new Function('return this')(); 59182/******/ } catch (e) { 59183/******/ if (typeof window === 'object') return window; 59184/******/ } 59185/******/ })(); 59186/******/ })(); 59187/******/ 59188/******/ /* webpack/runtime/hasOwnProperty shorthand */ 59189/******/ (() => { 59190/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 59191/******/ })(); 59192/******/ 59193/******/ /* webpack/runtime/load script */ 59194/******/ (() => { 59195/******/ var inProgress = {}; 59196/******/ // data-webpack is not used as build has no uniqueName 59197/******/ // loadScript function to load a script via script tag 59198/******/ __webpack_require__.l = (url, done, key, chunkId) => { 59199/******/ if(inProgress[url]) { inProgress[url].push(done); return; } 59200/******/ var script, needAttach; 59201/******/ if(key !== undefined) { 59202/******/ var scripts = document.getElementsByTagName("script"); 59203/******/ for(var i = 0; i < scripts.length; i++) { 59204/******/ var s = scripts[i]; 59205/******/ if(s.getAttribute("src") == url) { script = s; break; } 59206/******/ } 59207/******/ } 59208/******/ if(!script) { 59209/******/ needAttach = true; 59210/******/ script = document.createElement('script'); 59211/******/ 59212/******/ script.charset = 'utf-8'; 59213/******/ script.timeout = 120; 59214/******/ if (__webpack_require__.nc) { 59215/******/ script.setAttribute("nonce", __webpack_require__.nc); 59216/******/ } 59217/******/ 59218/******/ 59219/******/ script.src = url; 59220/******/ } 59221/******/ inProgress[url] = [done]; 59222/******/ var onScriptComplete = (prev, event) => { 59223/******/ // avoid mem leaks in IE. 59224/******/ script.onerror = script.onload = null; 59225/******/ clearTimeout(timeout);
vendor: 4,143 bytes, lines 59226-59322
59226/******/ var doneFns = inProgress[url]; 59227/******/ delete inProgress[url]; 59228/******/ script.parentNode && script.parentNode.removeChild(script); 59229/******/ doneFns && doneFns.forEach((fn) => (fn(event))); 59230/******/ if(prev) return prev(event); 59231/******/ } 59232/******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000); 59233/******/ script.onerror = onScriptComplete.bind(null, script.onerror); 59234/******/ script.onload = onScriptComplete.bind(null, script.onload); 59235/******/ needAttach && document.head.appendChild(script); 59236/******/ }; 59237/******/ })(); 59238/******/ 59239/******/ /* webpack/runtime/make namespace object */ 59240/******/ (() => { 59241/******/ // define __esModule on exports 59242/******/ __webpack_require__.r = (exports) => { 59243/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 59244/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 59245/******/ } 59246/******/ Object.defineProperty(exports, '__esModule', { value: true }); 59247/******/ }; 59248/******/ })(); 59249/******/ 59250/******/ /* webpack/runtime/node module decorator */ 59251/******/ (() => { 59252/******/ __webpack_require__.nmd = (module) => { 59253/******/ module.paths = []; 59254/******/ if (!module.children) module.children = []; 59255/******/ return module; 59256/******/ }; 59257/******/ })(); 59258/******/ 59259/******/ /* webpack/runtime/publicPath */ 59260/******/ (() => { 59261/******/ __webpack_require__.p = "/"; 59262/******/ })(); 59263/******/ 59264/******/ /* webpack/runtime/jsonp chunk loading */ 59265/******/ (() => { 59266/******/ // no baseURI 59267/******/ 59268/******/ // object to store loaded and loading chunks 59269/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched 59270/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded 59271/******/ var installedChunks = { 59272/******/ "/js/app": 0 59273/******/ }; 59274/******/ 59275/******/ __webpack_require__.f.j = (chunkId, promises) => { 59276/******/ // JSONP chunk loading for javascript 59277/******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined; 59278/******/ if(installedChunkData !== 0) { // 0 means "already installed". 59279/******/ 59280/******/ // a Promise means "currently loading". 59281/******/ if(installedChunkData) { 59282/******/ promises.push(installedChunkData[2]); 59283/******/ } else { 59284/******/ if(true) { // all chunks have JS 59285/******/ // setup Promise in chunk cache 59286/******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject])); 59287/******/ promises.push(installedChunkData[2] = promise); 59288/******/ 59289/******/ // start chunk loading 59290/******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId); 59291/******/ // create error before stack unwound to get useful stacktrace later 59292/******/ var error = new Error(); 59293/******/ var loadingEnded = (event) => { 59294/******/ if(__webpack_require__.o(installedChunks, chunkId)) { 59295/******/ installedChunkData = installedChunks[chunkId]; 59296/******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined; 59297/******/ if(installedChunkData) { 59298/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); 59299/******/ var realSrc = event && event.target && event.target.src; 59300/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; 59301/******/ error.name = 'ChunkLoadError'; 59302/******/ error.type = errorType; 59303/******/ error.request = realSrc; 59304/******/ installedChunkData[1](error); 59305/******/ } 59306/******/ } 59307/******/ }; 59308/******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId); 59309/******/ } 59310/******/ } 59311/******/ } 59312/******/ }; 59313/******/ 59314/******/ // no prefetching 59315/******/ 59316/******/ // no preloaded 59317/******/ 59318/******/ // no HMR 59319/******/ 59320/******/ // no HMR manifest 59321/******/ 59322/******/ // no on chunks loaded
59323/******/ 59324/******/ // install a JSONP callback for chunk loading 59325/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => { 59326/******/ var [chunkIds, moreModules, runtime] = data; 59327/******/ // add "moreModules" to the modules object, 59328/******/ // then flag all "chunkIds" as loaded and fire callback 59329/******/ var moduleId, chunkId, i = 0; 59330/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) { 59331/******/ for(moduleId in moreModules) { 59332/******/ if(__webpack_require__.o(moreModules, moduleId)) { 59333/******/ __webpack_require__.m[moduleId] = moreModules[moduleId]; 59334/******/ } 59335/******/ } 59336/******/ if(runtime) var result = runtime(__webpack_require__); 59337/******/ } 59338/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data); 59339/******/ for(;i < chunkIds.length; i++) { 59340/******/ chunkId = chunkIds[i]; 59341/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) { 59342/******/ installedChunks[chunkId][0](); 59343/******/ } 59344/******/ installedChunks[chunkId] = 0; 59345/******/ } 59346/******/ 59347/******/ } 59348/******/ 59349/******/ var chunkLoadingGlobal = self["webpackChunk"] = self["webpackChunk"] || []; 59350/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0)); 59351/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal)); 59352/******/ })(); 59353/******/ 59354/******/ /* webpack/runtime/nonce */ 59355/******/ (() => { 59356/******/ __webpack_require__.nc = undefined; 59357/******/ })(); 59358/******/ 59359/************************************************************************/ 59360var __webpack_exports__ = {}; 59361// This entry need to be wrapped in an IIFE because it need to be in strict mode. 59362(() => { 59363"use strict"; 59364/*!************************************!*\ 59365 !*** ./resources/assets/js/app.js ***! 59366 \************************************/ 59367__webpack_require__.r(__webpack_exports__); 59368/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm.js"); 59369/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vuedraggable */ "./node_modules/vuedraggable/dist/vuedraggable.umd.js"); 59370/* harmony import */ var vuedraggable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vuedraggable__WEBPACK_IMPORTED_MODULE_0__); 59371/* harmony import */ var vue_select__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-select */ "./node_modules/vue-select/dist/vue-select.js"); 59372/* harmony import */ var vue_select__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(vue_select__WEBPACK_IMPORTED_MODULE_2__); 59373/* harmony import */ var vue_drag_and_drop_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! vue-drag-and-drop-list */ "./node_modules/vue-drag-and-drop-list/dist/vue-drag-and-drop-list.js"); 59374/* harmony import */ var vue_drag_and_drop_list__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(vue_drag_and_drop_list__WEBPACK_IMPORTED_MODULE_3__); 59375/* harmony import */ var vue_js_modal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! vue-js-modal */ "./node_modules/vue-js-modal/dist/index.js"); 59376/* harmony import */ var vue_js_modal__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(vue_js_modal__WEBPACK_IMPORTED_MODULE_4__); 59377/* harmony import */ var vue_lazyload__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! vue-lazyload */ "./node_modules/vue-lazyload/vue-lazyload.esm.js"); 59378/** 59379 * First we will load all of this project's JavaScript dependencies which 59380 * includes Vue and other libraries. It is a great starting point when 59381 * building robust, powerful web applications using Vue and Laravel. 59382 */ 59383__webpack_require__(/*! es6-promise/auto */ "./node_modules/es6-promise/auto.js"); 59384__webpack_require__(/*! ./bootstrap */ "./resources/assets/js/bootstrap.js"); 59385 59386 59387 59388/** 59389 * Next, we will create a fresh Vue application instance and attach it to 59390 * the page. Then, you may begin adding components to this application 59391 * or customize the JavaScript scaffolding to fit your unique needs. 59392 */ 59393 59394//Vue.component('example', require('./components/Example.vue')); 59395//Vue.component('inscription', require('./components/Inscription.vue')); 59396// Vue.component('content-form', require('./components/ContentForm.vue')); 59397 59398vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('generate', (__webpack_require__(/*! ./components/Generate.vue */ "./resources/assets/js/components/Generate.vue")["default"])); 59399vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('rappel', (__webpack_require__(/*! ./components/Rappel.vue */ "./resources/assets/js/components/Rappel.vue")["default"])); 59400vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('organisateur', (__webpack_require__(/*! ./components/Organisateur.vue */ "./resources/assets/js/components/Organisateur.vue")["default"])); 59401vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('endroit', (__webpack_require__(/*! ./components/Endroit.vue */ "./resources/assets/js/components/Endroit.vue")["default"])); 59402vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('jurisprudence', (__webpack_require__(/*! ./components/Jurisprudence.vue */ "./resources/assets/js/components/Jurisprudence.vue")["default"])); 59403vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('occurrence', (__webpack_require__(/*! ./components/Occurrence.vue */ "./resources/assets/js/components/Occurrence.vue")["default"])); 59404vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('detenteur', (__webpack_require__(/*! ./components/Detenteur.vue */ "./resources/assets/js/components/Detenteur.vue")["default"])); 59405vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('loi', (__webpack_require__(/*! ./components/Loi.vue */ "./resources/assets/js/components/Loi.vue")["default"])); 59406vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('articles', (__webpack_require__(/*! ./components/Articles.vue */ "./resources/assets/js/components/Articles.vue")["default"])); 59407vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('manager', (__webpack_require__(/*! ./components/Manager.vue */ "./resources/assets/js/components/Manager.vue")["default"])); 59408vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('image-uploader', (__webpack_require__(/*! ./components/ImageUploader.vue */ "./resources/assets/js/components/ImageUploader.vue")["default"])); 59409vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('filter-adresse', (__webpack_require__(/*! ./components/FilterAdresse.vue */ "./resources/assets/js/components/FilterAdresse.vue")["default"])); 59410vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('list-autocomplete', (__webpack_require__(/*! ./components/ListAutocomplete.vue */ "./resources/assets/js/components/ListAutocomplete.vue")["default"])); 59411vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('useradresses-autocomplete', (__webpack_require__(/*! ./components/UserAdressesAutocomplete.vue */ "./resources/assets/js/components/UserAdressesAutocomplete.vue")["default"])); 59412vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('build', (__webpack_require__(/*! ./components/Build.vue */ "./resources/assets/js/components/Build.vue")["default"])); 59413vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('edit-build', (__webpack_require__(/*! ./components/EditBuild.vue */ "./resources/assets/js/components/EditBuild.vue")["default"])); 59414vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('build-newsletter', (__webpack_require__(/*! ./components/BuildNewsletter.vue */ "./resources/assets/js/components/BuildNewsletter.vue")["default"])); 59415vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('build-newsletter-models', (__webpack_require__(/*! ./components/BuildNewsletterModels.vue */ "./resources/assets/js/components/BuildNewsletterModels.vue")["default"])); 59416vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('build-newsletter-group', (__webpack_require__(/*! ./components/BuildNewsletterGroup.vue */ "./resources/assets/js/components/BuildNewsletterGroup.vue")["default"])); 59417vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('build-newsletter-breves', (__webpack_require__(/*! ./components/BuildNewsletterBreves.vue */ "./resources/assets/js/components/BuildNewsletterBreves.vue")["default"])); 59418vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('analyse-newsletter', (__webpack_require__(/*! ./components/partials/AnalyseNewsletter.vue */ "./resources/assets/js/components/partials/AnalyseNewsletter.vue")["default"])); 59419vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('image-newsletter', (__webpack_require__(/*! ./components/partials/ImageNewsletter.vue */ "./resources/assets/js/components/partials/ImageNewsletter.vue")["default"])); 59420vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('create-bloc', (__webpack_require__(/*! ./components/CreateBloc.vue */ "./resources/assets/js/components/CreateBloc.vue")["default"])); 59421vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('edit-bloc', (__webpack_require__(/*! ./components/EditBloc.vue */ "./resources/assets/js/components/EditBloc.vue")["default"])); 59422vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('product-select', (__webpack_require__(/*! ./components/ProductSelect.vue */ "./resources/assets/js/components/ProductSelect.vue")["default"])); 59423vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('facturation-adresse', (__webpack_require__(/*! ./components/FacturationAdresse.vue */ "./resources/assets/js/components/FacturationAdresse.vue")["default"])); 59424vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('adresse-update', (__webpack_require__(/*! ./components/AdresseUpdate.vue */ "./resources/assets/js/components/AdresseUpdate.vue")["default"])); 59425vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('choix-duplicate', (__webpack_require__(/*! ./components/ChoixDuplicate.vue */ "./resources/assets/js/components/ChoixDuplicate.vue")["default"])); 59426vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('rabais', (__webpack_require__(/*! ./components/Rabais.vue */ "./resources/assets/js/components/Rabais.vue")["default"])); 59427vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('tags', (__webpack_require__(/*! ./components/Tags.vue */ "./resources/assets/js/components/Tags.vue")["default"])); 59428vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('question-row', (__webpack_require__(/*! ./components/QuestionRow.vue */ "./resources/assets/js/components/QuestionRow.vue")["default"])); 59429vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('draggable', (vuedraggable__WEBPACK_IMPORTED_MODULE_0___default())); 59430vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('colloque-author-select', function () { 59431 return __webpack_require__.e(/*! import() */ "resources_assets_js_components_ColloqueAuthorSelect_vue").then(__webpack_require__.bind(__webpack_require__, /*! ./components/ColloqueAuthorSelect */ "./resources/assets/js/components/ColloqueAuthorSelect.vue")); 59432}); 59433vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('colloque-author-select-display', function () { 59434 return __webpack_require__.e(/*! import() */ "resources_assets_js_components_ColloqueAuthorSelectDisplay_vue").then(__webpack_require__.bind(__webpack_require__, /*! ./components/ColloqueAuthorSelectDisplay */ "./resources/assets/js/components/ColloqueAuthorSelectDisplay.vue")); 59435}); 59436vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('livre-author-select', function () { 59437 return __webpack_require__.e(/*! import() */ "resources_assets_js_components_LivreAuthorSelect_vue").then(__webpack_require__.bind(__webpack_require__, /*! ./components/LivreAuthorSelect */ "./resources/assets/js/components/LivreAuthorSelect.vue")); 59438}); 59439vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('livre-author-select-display', function () { 59440 return __webpack_require__.e(/*! import() */ "resources_assets_js_components_LivreAuthorSelectDisplay_vue").then(__webpack_require__.bind(__webpack_require__, /*! ./components/LivreAuthorSelectDisplay */ "./resources/assets/js/components/LivreAuthorSelectDisplay.vue")); 59441}); 59442vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('livre-editor-select', function () { 59443 return __webpack_require__.e(/*! import() */ "resources_assets_js_components_LivreEditorSelect_vue").then(__webpack_require__.bind(__webpack_require__, /*! ./components/LivreEditorSelect */ "./resources/assets/js/components/LivreEditorSelect.vue")); 59444}); 59445vue__WEBPACK_IMPORTED_MODULE_1__["default"].component('livre-editor-select-display', function () { 59446 return __webpack_require__.e(/*! import() */ "resources_assets_js_components_LivreEditorSelectDisplay_vue").then(__webpack_require__.bind(__webpack_require__, /*! ./components/LivreEditorSelectDisplay */ "./resources/assets/js/components/LivreEditorSelectDisplay.vue")); 59447}); 59448 59449vue__WEBPACK_IMPORTED_MODULE_1__["default"].component("v-select", vue_select__WEBPACK_IMPORTED_MODULE_2__.VueSelect); 59450 59451vue__WEBPACK_IMPORTED_MODULE_1__["default"].use((vue_drag_and_drop_list__WEBPACK_IMPORTED_MODULE_3___default())); 59452 59453vue__WEBPACK_IMPORTED_MODULE_1__["default"].use((vue_js_modal__WEBPACK_IMPORTED_MODULE_4___default())); 59454 59455vue__WEBPACK_IMPORTED_MODULE_1__["default"].use(vue_lazyload__WEBPACK_IMPORTED_MODULE_5__["default"]); 59456var app = new vue__WEBPACK_IMPORTED_MODULE_1__["default"]({ 59457 el: '#appComponent' 59458}); 59459var appVue = new vue__WEBPACK_IMPORTED_MODULE_1__["default"]({ 59460 el: '#appVue' 59461}); 59462})(); 59463 59464/******/ })() 59465;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.