From 5a88412d0f854f00ea45a004ca8afb48a7b9e566 Mon Sep 17 00:00:00 2001 From: markusantonwolf Date: Thu, 23 Jul 2020 10:10:44 +0800 Subject: [PATCH] Added new logo --- README.md | 14 +- public/assets/css/tailwind.css | 2 +- public/assets/img/logo-ta-pagination.png | Bin 0 -> 13543 bytes public/assets/img/logo-ta-styled-plugins.png | Bin 0 -> 9746 bytes public/assets/js/alpine-ie11.js | 1028 +++++++++++++----- public/assets/js/alpine-ie11.min.js | 2 +- public/assets/js/alpine.js | 195 +++- public/assets/js/alpine.min.js | 2 +- public/favicon.ico | Bin 15406 -> 1150 bytes public/index.html | 51 +- 10 files changed, 944 insertions(+), 350 deletions(-) create mode 100644 public/assets/img/logo-ta-pagination.png create mode 100644 public/assets/img/logo-ta-styled-plugins.png mode change 100755 => 100644 public/favicon.ico diff --git a/README.md b/README.md index 59779a3..ef74ed3 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- +

# TA-Pagination @@ -10,7 +10,7 @@ Use TA-Pagination as a part of your Tailwind CSS and Alpine JS project. You can ## Demos and documentation -[DEMO](https://ta-pagination.markusantonwolf.com) - [REALWORLD](https://www.markusantonwolf.com/en/blog/vue-js) +[DEMO](https://ta-pagination.markusantonwolf.com) | [DOCU](https://ta-pagination.markusantonwolf.com) | [REALWORLD](https://www.markusantonwolf.com/en/blog/vue-js) For more details about the TA-Pagination take a look at and if you want to see a real world example you can find it on my homepage: @@ -26,6 +26,10 @@ For more details about the TA-Pagination take a look at + + diff --git a/public/assets/css/tailwind.css b/public/assets/css/tailwind.css index ac46628..645cd1c 100644 --- a/public/assets/css/tailwind.css +++ b/public/assets/css/tailwind.css @@ -1,3 +1,3 @@ @import url("https://fonts.googleapis.com/css?family=Raleway:300,400,500,600,700,800,900&display=swap"); -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}a{background-color:transparent}img{border-style:none}details{display:block}[hidden]{display:none}h1,h2,h3,p{margin:0}html{font-family:Raleway,sans-serif;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}img{border-style:solid}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}:root{--vh:1vh;--navigation-height:100px;--navigation-zindex:100;--notifications-zindex:99}body,html{font-size:13px}@media (min-width:640px){body,html{font-size:15px}}@media (min-width:768px){body,html{font-size:16px}}@media (min-width:1024px){body,html{font-size:18px}}a,div{-webkit-tap-highlight-color:rgba(0,0,0,0)}.container{width:100%;margin-right:auto;margin-left:auto}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.flex-grow{flex-grow:1}.font-sans{font-family:Raleway,sans-serif}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.h-6{height:1.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-full{height:100%}.text-xs{font-size:.75rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-loose{line-height:2}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.mt-6{margin-top:1.5rem}.min-h-screen{min-height:100vh}.object-cover{object-fit:cover}.object-center{object-position:center}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-bottom:1.5rem}.pt-6,.py-6{padding-top:1.5rem}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.fill-current{fill:currentColor}.text-center{text-align:center}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.025em}.w-6{width:1.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-full{width:100%}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.col-span-2{grid-column:span 2/span 2}.btn{background:radial-gradient(circle at 30% 30%,#fff,#e6e6e6);display:inline-flex;--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-radius:9999px;padding:1rem;color:#97266d;color:rgba(151,38,109,var(--text-opacity));box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border-width:1px;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity));transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.btn,.btn:hover{--text-opacity:1;--border-opacity:1}.btn:hover{background:radial-gradient(circle at 30% 30%,#d250a2,#97266d);color:#fff;color:rgba(255,255,255,var(--text-opacity));border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity));--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y));--transform-scale-x:1.1;--transform-scale-y:1.1}@media (min-width:768px){.md\:h-16{height:4rem}.md\:w-16{width:4rem}.md\:w-2\/3{width:66.666667%}} \ No newline at end of file +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}a{background-color:transparent}img{border-style:none}details{display:block}[hidden]{display:none}h1,h2,h3,p{margin:0}html{font-family:Raleway,sans-serif;line-height:1.5}*,:after,:before{box-sizing:border-box;border:0 solid #e2e8f0}img{border-style:solid}h1,h2,h3{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}:root{--vh:1vh;--navigation-height:100px;--navigation-zindex:100;--notifications-zindex:99}body,html{font-size:13px}@media (min-width:640px){body,html{font-size:15px}}@media (min-width:768px){body,html{font-size:16px}}@media (min-width:1024px){body,html{font-size:18px}}a,div{-webkit-tap-highlight-color:rgba(0,0,0,0)}.container{width:100%;margin-right:auto;margin-left:auto}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.bg-white{--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity))}.bg-gray-200{--bg-opacity:1;background-color:#edf2f7;background-color:rgba(237,242,247,var(--bg-opacity))}.bg-blue-900{--bg-opacity:1;background-color:#2a4365;background-color:rgba(42,67,101,var(--bg-opacity))}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.flex-grow{flex-grow:1}.font-sans{font-family:Raleway,sans-serif}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.h-6{height:1.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-full{height:100%}.text-xs{font-size:.75rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-loose{line-height:2}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-5{margin-bottom:1.25rem}.mt-6{margin-top:1.5rem}.max-w-2xl{max-width:42rem}.min-h-screen{min-height:100vh}.object-cover{object-fit:cover}.object-center{object-position:center}.px-2{padding-left:.5rem;padding-right:.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.pb-4{padding-bottom:1rem}.pt-6{padding-top:1.5rem}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.fill-current{fill:currentColor}.text-center{text-align:center}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-gray-900{--text-opacity:1;color:#1a202c;color:rgba(26,32,44,var(--text-opacity))}.text-pink-800{--text-opacity:1;color:#97266d;color:rgba(151,38,109,var(--text-opacity))}.hover\:text-black:hover{--text-opacity:1;color:#000;color:rgba(0,0,0,var(--text-opacity))}.hover\:underline:hover{text-decoration:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tracking-wide{letter-spacing:.025em}.w-6{width:1.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-1\/2{width:50%}.w-full{width:100%}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.col-span-2{grid-column:span 2/span 2}.btn{background:radial-gradient(circle at 30% 30%,#fff,#e6e6e6);display:inline-flex;--bg-opacity:1;background-color:#fff;background-color:rgba(255,255,255,var(--bg-opacity));border-radius:9999px;padding:1rem;color:#97266d;color:rgba(151,38,109,var(--text-opacity));box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border-width:1px;border-color:#edf2f7;border-color:rgba(237,242,247,var(--border-opacity));transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s}.btn,.btn:hover{--text-opacity:1;--border-opacity:1}.btn:hover{background:radial-gradient(circle at 30% 30%,#d250a2,#97266d);color:#fff;color:rgba(255,255,255,var(--text-opacity));border-color:#702459;border-color:rgba(112,36,89,var(--border-opacity));--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y));--transform-scale-x:1.1;--transform-scale-y:1.1}@media (min-width:640px){.sm\:px-2{padding-left:.5rem;padding-right:.5rem}}@media (min-width:768px){.md\:h-16{height:4rem}.md\:w-16{width:4rem}.md\:w-2\/3{width:66.666667%}}@media (min-width:1024px){.lg\:w-1\/2{width:50%}} \ No newline at end of file diff --git a/public/assets/img/logo-ta-pagination.png b/public/assets/img/logo-ta-pagination.png new file mode 100644 index 0000000000000000000000000000000000000000..c669115e1b8fad73b355c7b020479b6ce17cfddb GIT binary patch literal 13543 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 F{{W{-BHI7} literal 0 HcmV?d00001 diff --git a/public/assets/img/logo-ta-styled-plugins.png b/public/assets/img/logo-ta-styled-plugins.png new file mode 100644 index 0000000000000000000000000000000000000000..c0bc990e3be8aebf81a326f8899437f73d3df4fc GIT binary patch literal 9746 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 1 ? arguments[1] : undefined); + } + }); + var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport('splice'); - var USES_TO_LENGTH$6 = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 }); + var USES_TO_LENGTH$7 = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 }); var max$1 = Math.max; var min$2 = Math.min; @@ -3289,7 +3641,7 @@ // `Array.prototype.splice` method // https://tc39.github.io/ecma262/#sec-array.prototype.splice // with adding support of @@species - _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 || !USES_TO_LENGTH$6 }, { + _export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$2 || !USES_TO_LENGTH$7 }, { splice: function splice(start, deleteCount /* , ...items */) { var O = toObject(this); var len = toLength(O.length); @@ -3338,6 +3690,46 @@ } }); + var propertyIsEnumerable = objectPropertyIsEnumerable.f; + + // `Object.{ entries, values }` methods implementation + var createMethod$4 = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!descriptors || propertyIsEnumerable.call(O, key)) { + result.push(TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; + }; + + var objectToArray = { + // `Object.entries` method + // https://tc39.github.io/ecma262/#sec-object.entries + entries: createMethod$4(true), + // `Object.values` method + // https://tc39.github.io/ecma262/#sec-object.values + values: createMethod$4(false) + }; + + var $entries = objectToArray.entries; + + // `Object.entries` method + // https://tc39.github.io/ecma262/#sec-object.entries + _export({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } + }); + // `SameValue` abstract operation // https://tc39.github.io/ecma262/#sec-samevalue var sameValue = Object.is || function is(x, y) { @@ -4528,14 +4920,14 @@ var FIND = 'find'; var SKIPS_HOLES$1 = true; - var USES_TO_LENGTH$7 = arrayMethodUsesToLength(FIND); + var USES_TO_LENGTH$8 = arrayMethodUsesToLength(FIND); // Shouldn't skip holes if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES$1 = false; }); // `Array.prototype.find` method // https://tc39.github.io/ecma262/#sec-array.prototype.find - _export({ target: 'Array', proto: true, forced: SKIPS_HOLES$1 || !USES_TO_LENGTH$7 }, { + _export({ target: 'Array', proto: true, forced: SKIPS_HOLES$1 || !USES_TO_LENGTH$8 }, { find: function find(callbackfn /* , that = undefined */) { return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } @@ -4551,12 +4943,12 @@ var nativeIndexOf = [].indexOf; var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; - var STRICT_METHOD$2 = arrayMethodIsStrict('indexOf'); - var USES_TO_LENGTH$8 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); + var STRICT_METHOD$3 = arrayMethodIsStrict('indexOf'); + var USES_TO_LENGTH$9 = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 }); // `Array.prototype.indexOf` method // https://tc39.github.io/ecma262/#sec-array.prototype.indexof - _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD$2 || !USES_TO_LENGTH$8 }, { + _export({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD$3 || !USES_TO_LENGTH$9 }, { indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { return NEGATIVE_ZERO // convert -0 to +0 @@ -4615,11 +5007,11 @@ var nativeJoin = [].join; var ES3_STRINGS = indexedObject != Object; - var STRICT_METHOD$3 = arrayMethodIsStrict('join', ','); + var STRICT_METHOD$4 = arrayMethodIsStrict('join', ','); // `Array.prototype.join` method // https://tc39.github.io/ecma262/#sec-array.prototype.join - _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$3 }, { + _export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$4 }, { join: function join(separator) { return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); } @@ -4671,7 +5063,7 @@ var rtrim = RegExp(whitespace + whitespace + '*$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation - var createMethod$4 = function (TYPE) { + var createMethod$5 = function (TYPE) { return function ($this) { var string = String(requireObjectCoercible($this)); if (TYPE & 1) string = string.replace(ltrim, ''); @@ -4683,13 +5075,13 @@ var stringTrim = { // `String.prototype.{ trimLeft, trimStart }` methods // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart - start: createMethod$4(1), + start: createMethod$5(1), // `String.prototype.{ trimRight, trimEnd }` methods // https://tc39.github.io/ecma262/#sec-string.prototype.trimend - end: createMethod$4(2), + end: createMethod$5(2), // `String.prototype.trim` method // https://tc39.github.io/ecma262/#sec-string.prototype.trim - trim: createMethod$4(3) + trim: createMethod$5(3) }; var getOwnPropertyNames = objectGetOwnPropertyNames.f; @@ -4760,46 +5152,6 @@ redefine(global_1, NUMBER, NumberWrapper); } - var propertyIsEnumerable = objectPropertyIsEnumerable.f; - - // `Object.{ entries, values }` methods implementation - var createMethod$5 = function (TO_ENTRIES) { - return function (it) { - var O = toIndexedObject(it); - var keys = objectKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - while (length > i) { - key = keys[i++]; - if (!descriptors || propertyIsEnumerable.call(O, key)) { - result.push(TO_ENTRIES ? [key, O[key]] : O[key]); - } - } - return result; - }; - }; - - var objectToArray = { - // `Object.entries` method - // https://tc39.github.io/ecma262/#sec-object.entries - entries: createMethod$5(true), - // `Object.values` method - // https://tc39.github.io/ecma262/#sec-object.values - values: createMethod$5(false) - }; - - var $entries = objectToArray.entries; - - // `Object.entries` method - // https://tc39.github.io/ecma262/#sec-object.entries - _export({ target: 'Object', stat: true }, { - entries: function entries(O) { - return $entries(O); - } - }); - var $values = objectToArray.values; // `Object.values` method @@ -5431,6 +5783,15 @@ function kebabCase(subject) { return subject.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[_\s]/, '-').toLowerCase(); } + function camelCase(subject) { + var _this2 = this; + + return subject.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, function (match, _char) { + _newArrowCheck(this, _this2); + + return _char.toUpperCase(); + }.bind(this)); + } function walk(el, callback) { if (callback(el) === false) return; var node = el.firstElementChild; @@ -5468,7 +5829,7 @@ var additionalHelperVariables = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; if (typeof expression === 'function') { - return expression.call(dataContext); + return expression.call(dataContext, additionalHelperVariables['$event']); } // For the cases when users pass only a function reference to the caller: `x-on:click="foo"` // Where "foo" is a function. Also, we'll pass the function the event instance when we call it. @@ -5489,12 +5850,12 @@ return xAttrRE.test(name); } function getXAttrs(el, component, type) { - var _this2 = this; + var _this3 = this; var directives = Array.from(el.attributes).filter(isXAttr).map(parseHtmlAttribute); // Get an object of directives from x-spread. var spreadDirective = directives.filter(function (directive) { - _newArrowCheck(this, _this2); + _newArrowCheck(this, _this3); return directive.type === 'spread'; }.bind(this))[0]; @@ -5503,7 +5864,7 @@ var spreadObject = saferEval(spreadDirective.expression, component.$data); // Add x-spread directives to the pile of existing directives. directives = directives.concat(Object.entries(spreadObject).map(function (_ref) { - _newArrowCheck(this, _this2); + _newArrowCheck(this, _this3); var _ref2 = _slicedToArray(_ref, 2), name = _ref2[0], @@ -5516,17 +5877,29 @@ }.bind(this))); } - return directives.filter(function (i) { - _newArrowCheck(this, _this2); + if (type) return directives.filter(function (i) { + _newArrowCheck(this, _this3); - // If no type is passed in for filtering, bypass filter - if (!type) return true; return i.type === type; }.bind(this)); + return sortDirectives(directives); + } + + function sortDirectives(directives) { + var _this4 = this; + + var directiveOrder = ['bind', 'model', 'show', 'catch-all']; + return directives.sort(function (a, b) { + _newArrowCheck(this, _this4); + + var typeA = directiveOrder.indexOf(a.type) === -1 ? 'catch-all' : a.type; + var typeB = directiveOrder.indexOf(b.type) === -1 ? 'catch-all' : b.type; + return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB); + }.bind(this)); } function parseHtmlAttribute(_ref3) { - var _this3 = this; + var _this5 = this; var name = _ref3.name, value = _ref3.value; @@ -5538,7 +5911,7 @@ type: typeMatch ? typeMatch[1] : null, value: valueMatch ? valueMatch[1] : null, modifiers: modifiers.map(function (i) { - _newArrowCheck(this, _this3); + _newArrowCheck(this, _this5); return i.replace('.', ''); }.bind(this)), @@ -5565,11 +5938,21 @@ var filterFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Boolean; return classList.split(' ').filter(filterFn); } + var TRANSITION_TYPE_IN = 'in'; + var TRANSITION_TYPE_OUT = 'out'; function transitionIn(el, show, component) { - var _this4 = this; + var _this6 = this; var forceSkip = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + // We don't want to transition on the initial page load. if (forceSkip) return show(); + + if (el.__x_transition && el.__x_transition.type === TRANSITION_TYPE_IN) { + // there is already a similar transition going on, this was probably triggered by + // a change in a different property, let's just leave the previous one doing its job + return; + } + var attrs = getXAttrs(el, component, 'transition'); var showAttr = getXAttrs(el, component, 'show')[0]; // If this is triggered by a x-show.transition. @@ -5580,16 +5963,16 @@ var settingBothSidesOfTransition = modifiers.includes('in') && modifiers.includes('out'); // If x-show.transition.in...out... only use "in" related modifiers for this transition. modifiers = settingBothSidesOfTransition ? modifiers.filter(function (i, index) { - _newArrowCheck(this, _this4); + _newArrowCheck(this, _this6); return index < modifiers.indexOf('out'); }.bind(this)) : modifiers; transitionHelperIn(el, modifiers, show); // Otherwise, we can assume x-transition:enter. - } else if (attrs.filter(function (attr) { - _newArrowCheck(this, _this4); + } else if (attrs.some(function (attr) { + _newArrowCheck(this, _this6); return ['enter', 'enter-start', 'enter-end'].includes(attr.value); - }.bind(this)).length > 0) { + }.bind(this))) { transitionClassesIn(el, component, attrs, show); } else { // If neither, just show that damn thing. @@ -5597,11 +5980,18 @@ } } function transitionOut(el, hide, component) { - var _this5 = this; + var _this7 = this; var forceSkip = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; // We don't want to transition on the initial page load. if (forceSkip) return hide(); + + if (el.__x_transition && el.__x_transition.type === TRANSITION_TYPE_OUT) { + // there is already a similar transition going on, this was probably triggered by + // a change in a different property, let's just leave the previous one doing its job + return; + } + var attrs = getXAttrs(el, component, 'transition'); var showAttr = getXAttrs(el, component, 'show')[0]; @@ -5610,23 +6000,23 @@ if (modifiers.includes('in') && !modifiers.includes('out')) return hide(); var settingBothSidesOfTransition = modifiers.includes('in') && modifiers.includes('out'); modifiers = settingBothSidesOfTransition ? modifiers.filter(function (i, index) { - _newArrowCheck(this, _this5); + _newArrowCheck(this, _this7); return index > modifiers.indexOf('out'); }.bind(this)) : modifiers; transitionHelperOut(el, modifiers, settingBothSidesOfTransition, hide); - } else if (attrs.filter(function (attr) { - _newArrowCheck(this, _this5); + } else if (attrs.some(function (attr) { + _newArrowCheck(this, _this7); return ['leave', 'leave-start', 'leave-end'].includes(attr.value); - }.bind(this)).length > 0) { + }.bind(this))) { transitionClassesOut(el, component, attrs, hide); } else { hide(); } } function transitionHelperIn(el, modifiers, showCallback) { - var _this6 = this; + var _this8 = this; // Default values inspired by: https://material.io/design/motion/speed.html#duration var styleValues = { @@ -5642,11 +6032,11 @@ } }; transitionHelper(el, modifiers, showCallback, function () { - _newArrowCheck(this, _this6); - }.bind(this), styleValues); + _newArrowCheck(this, _this8); + }.bind(this), styleValues, TRANSITION_TYPE_IN); } function transitionHelperOut(el, modifiers, settingBothSidesOfTransition, hideCallback) { - var _this7 = this; + var _this9 = this; // Make the "out" transition .5x slower than the "in". (Visually better) // HOWEVER, if they explicitly set a duration for the "out" transition, @@ -5665,8 +6055,8 @@ } }; transitionHelper(el, modifiers, function () { - _newArrowCheck(this, _this7); - }.bind(this), hideCallback, styleValues); + _newArrowCheck(this, _this9); + }.bind(this), hideCallback, styleValues, TRANSITION_TYPE_OUT); } function modifierValue(modifiers, key, fallback) { @@ -5699,8 +6089,14 @@ return rawValue; } - function transitionHelper(el, modifiers, hook1, hook2, styleValues) { - // If the user set these style values, we'll put them back when we're done with them. + function transitionHelper(el, modifiers, hook1, hook2, styleValues, type) { + // clear the previous transition if exists to avoid caching the wrong styles + if (el.__x_transition) { + cancelAnimationFrame(el.__x_transition.nextFrame); + el.__x_transition.callback && el.__x_transition.callback(); + } // If the user set these style values, we'll put them back when we're done with them. + + var opacityCache = el.style.opacity; var transformCache = el.style.transform; var transformOriginCache = el.style.transformOrigin; // If no modifiers are present: x-show.transition, we'll default to both opacity and scale. @@ -5741,71 +6137,77 @@ el.style.transitionTimingFunction = null; } }; - transition(el, stages); + transition(el, stages, type); } function transitionClassesIn(el, component, directives, showCallback) { - var _this8 = this; + var _this10 = this; var ensureStringExpression = function ensureStringExpression(expression) { - _newArrowCheck(this, _this8); + _newArrowCheck(this, _this10); return typeof expression === 'function' ? component.evaluateReturnExpression(el, expression) : expression; }.bind(this); var enter = convertClassStringToArray(ensureStringExpression((directives.find(function (i) { - _newArrowCheck(this, _this8); + _newArrowCheck(this, _this10); return i.value === 'enter'; }.bind(this)) || { expression: '' }).expression)); var enterStart = convertClassStringToArray(ensureStringExpression((directives.find(function (i) { - _newArrowCheck(this, _this8); + _newArrowCheck(this, _this10); return i.value === 'enter-start'; }.bind(this)) || { expression: '' }).expression)); var enterEnd = convertClassStringToArray(ensureStringExpression((directives.find(function (i) { - _newArrowCheck(this, _this8); + _newArrowCheck(this, _this10); return i.value === 'enter-end'; }.bind(this)) || { expression: '' }).expression)); transitionClasses(el, enter, enterStart, enterEnd, showCallback, function () { - _newArrowCheck(this, _this8); - }.bind(this)); + _newArrowCheck(this, _this10); + }.bind(this), TRANSITION_TYPE_IN); } function transitionClassesOut(el, component, directives, hideCallback) { - var _this9 = this; + var _this11 = this; var leave = convertClassStringToArray((directives.find(function (i) { - _newArrowCheck(this, _this9); + _newArrowCheck(this, _this11); return i.value === 'leave'; }.bind(this)) || { expression: '' }).expression); var leaveStart = convertClassStringToArray((directives.find(function (i) { - _newArrowCheck(this, _this9); + _newArrowCheck(this, _this11); return i.value === 'leave-start'; }.bind(this)) || { expression: '' }).expression); var leaveEnd = convertClassStringToArray((directives.find(function (i) { - _newArrowCheck(this, _this9); + _newArrowCheck(this, _this11); return i.value === 'leave-end'; }.bind(this)) || { expression: '' }).expression); transitionClasses(el, leave, leaveStart, leaveEnd, function () { - _newArrowCheck(this, _this9); - }.bind(this), hideCallback); + _newArrowCheck(this, _this11); + }.bind(this), hideCallback, TRANSITION_TYPE_OUT); } - function transitionClasses(el, classesDuring, classesStart, classesEnd, hook1, hook2) { + function transitionClasses(el, classesDuring, classesStart, classesEnd, hook1, hook2, type) { + // clear the previous transition if exists to avoid caching the wrong classes + if (el.__x_transition) { + cancelAnimationFrame(el.__x_transition.nextFrame); + el.__x_transition.callback && el.__x_transition.callback(); + } + var originalClasses = el.__x_original_classes || []; var stages = { start: function start() { @@ -5823,12 +6225,12 @@ }, end: function end() { var _el$classList3, - _this10 = this, + _this12 = this, _el$classList4; // Don't remove classes that were in the original class attribute. (_el$classList3 = el.classList).remove.apply(_el$classList3, _toConsumableArray(classesStart.filter(function (i) { - _newArrowCheck(this, _this10); + _newArrowCheck(this, _this12); return !originalClasses.includes(i); }.bind(this)))); @@ -5840,33 +6242,54 @@ }, cleanup: function cleanup() { var _el$classList5, - _this11 = this, + _this13 = this, _el$classList6; (_el$classList5 = el.classList).remove.apply(_el$classList5, _toConsumableArray(classesDuring.filter(function (i) { - _newArrowCheck(this, _this11); + _newArrowCheck(this, _this13); return !originalClasses.includes(i); }.bind(this)))); (_el$classList6 = el.classList).remove.apply(_el$classList6, _toConsumableArray(classesEnd.filter(function (i) { - _newArrowCheck(this, _this11); + _newArrowCheck(this, _this13); return !originalClasses.includes(i); }.bind(this)))); } }; - transition(el, stages); + transition(el, stages, type); } - function transition(el, stages) { - var _this12 = this; + function transition(el, stages, type) { + var _this14 = this; + + el.__x_transition = { + // Set transition type so we can avoid clearing transition if the direction is the same + type: type, + // create a callback for the last stages of the transition so we can call it + // from different point and early terminate it. Once will ensure that function + // is only called one time. + callback: once(function () { + _newArrowCheck(this, _this14); + + stages.hide(); // Adding an "isConnected" check, in case the callback + // removed the element from the DOM. + + if (el.isConnected) { + stages.cleanup(); + } + delete el.__x_transition; + }.bind(this)), + // This store the next animation frame so we can cancel it + nextFrame: null + }; stages.start(); stages.during(); - requestAnimationFrame(function () { - var _this13 = this; + el.__x_transition.nextFrame = requestAnimationFrame(function () { + var _this15 = this; - _newArrowCheck(this, _this12); + _newArrowCheck(this, _this14); // Note: Safari's transitionDuration property will list out comma separated transition durations // for every single transition property. Let's grab the first one and call it a day. @@ -5877,28 +6300,27 @@ } stages.show(); - requestAnimationFrame(function () { - var _this14 = this; - - _newArrowCheck(this, _this13); - - stages.end(); // Assign current transition to el in case we need to force it. + el.__x_transition.nextFrame = requestAnimationFrame(function () { + _newArrowCheck(this, _this15); - setTimeout(function () { - _newArrowCheck(this, _this14); - - stages.hide(); // Adding an "isConnected" check, in case the callback - // removed the element from the DOM. - - if (el.isConnected) { - stages.cleanup(); - } - }.bind(this), duration); + stages.end(); + setTimeout(el.__x_transition.callback, duration); }.bind(this)); }.bind(this)); } function isNumeric(subject) { return !isNaN(subject); + } // Thanks @vuejs + // https://github.com/vuejs/vue/blob/4de4649d9637262a9b007720b59f80ac72a5620c/src/shared/util.js + + function once(callback) { + var called = false; + return function () { + if (!called) { + called = true; + callback.apply(this, arguments); + } + }; } function handleForDirective(component, templateEl, expression, initialUpdate, extraVars) { @@ -6052,22 +6474,7 @@ } } - var $some = arrayIteration.some; - - - - var STRICT_METHOD$4 = arrayMethodIsStrict('some'); - var USES_TO_LENGTH$9 = arrayMethodUsesToLength('some'); - - // `Array.prototype.some` method - // https://tc39.github.io/ecma262/#sec-array.prototype.some - _export({ target: 'Array', proto: true, forced: !STRICT_METHOD$4 || !USES_TO_LENGTH$9 }, { - some: function some(callbackfn /* , thisArg */) { - return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } - }); - - function handleAttributeBindingDirective(component, el, attrName, expression, extraVars, attrType) { + function handleAttributeBindingDirective(component, el, attrName, expression, extraVars, attrType, modifiers) { var _this = this; var value = component.evaluateReturnExpression(el, expression, extraVars); @@ -6151,7 +6558,8 @@ el.setAttribute('class', arrayUnique(_originalClasses.concat(newClasses)).join(' ')); } } else { - // If an attribute's bound value is null, undefined or false, remove the attribute + attrName = modifiers.includes('camel') ? camelCase(attrName) : attrName; // If an attribute's bound value is null, undefined or false, remove the attribute + if ([null, undefined, false].includes(value)) { el.removeAttribute(attrName); } else { @@ -6231,11 +6639,14 @@ _newArrowCheck(this, _this); if (value) { - transitionIn(el, function () { - _newArrowCheck(this, _this2); + if (el.style.display === 'none' || el.__x_transition) { + transitionIn(el, function () { + _newArrowCheck(this, _this2); + + show(); + }.bind(this), component); + } - show(); - }.bind(this), component); resolve(function () { _newArrowCheck(this, _this2); }.bind(this)); @@ -6290,7 +6701,7 @@ warnIfMalformedTemplate(el, 'x-if'); var elementHasAlreadyBeenAdded = el.nextElementSibling && el.nextElementSibling.__x_inserted_me === true; - if (expressionResult && !elementHasAlreadyBeenAdded) { + if (expressionResult && (!elementHasAlreadyBeenAdded || el.__x_transition)) { var clone = document.importNode(el.content, true); el.parentElement.insertBefore(clone, el.nextElementSibling); transitionIn(el.nextElementSibling, function () { @@ -6311,12 +6722,19 @@ var _this = this; var extraVars = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; + var options = { + passive: modifiers.includes('passive') + }; + + if (modifiers.includes('camel')) { + event = camelCase(event); + } if (modifiers.includes('away')) { var _handler = function handler(e) { _newArrowCheck(this, _this); - // Don't do anything if the click came form the element or within it. + // Don't do anything if the click came from the element or within it. if (el.contains(e.target)) return; // Don't do anything if this element isn't currently visible. if (el.offsetWidth < 1 && el.offsetHeight < 1) return; // Now that we are sure the element is visible, AND the click @@ -6325,12 +6743,12 @@ runListenerHandler(component, expression, e, extraVars); if (modifiers.includes('once')) { - document.removeEventListener(event, _handler); + document.removeEventListener(event, _handler, options); } }.bind(this); // Listen for this event at the root level. - document.addEventListener(event, _handler); + document.addEventListener(event, _handler, options); } else { var listenerTarget = modifiers.includes('window') ? window : modifiers.includes('document') ? document : el; @@ -6341,7 +6759,7 @@ // has been removed. It's now stale. if (listenerTarget === window || listenerTarget === document) { if (!document.body.contains(el)) { - listenerTarget.removeEventListener(event, _handler2); + listenerTarget.removeEventListener(event, _handler2, options); return; } } @@ -6364,7 +6782,7 @@ e.preventDefault(); } else { if (modifiers.includes('once')) { - listenerTarget.removeEventListener(event, _handler2); + listenerTarget.removeEventListener(event, _handler2, options); } } } @@ -6376,7 +6794,7 @@ _handler2 = debounce(_handler2, wait); } - listenerTarget.addEventListener(event, _handler2); + listenerTarget.addEventListener(event, _handler2, options); } } @@ -6632,7 +7050,7 @@ function Component(el) { var _this = this; - var seedDataForCloning = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var componentForClone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; _classCallCheck(this, Component); @@ -6640,7 +7058,7 @@ var dataAttr = this.$el.getAttribute('x-data'); var dataExpression = dataAttr === '' ? '{}' : dataAttr; var initExpression = this.$el.getAttribute('x-init'); - this.unobservedData = seedDataForCloning ? seedDataForCloning : saferEval(dataExpression, { + this.unobservedData = componentForClone ? componentForClone.getUnobservedData() : saferEval(dataExpression, { $el: this.$el }); /* IE11-ONLY:START */ @@ -6651,6 +7069,11 @@ this.unobservedData.$refs = null; this.unobservedData.$nextTick = null; this.unobservedData.$watch = null; + Object.keys(Alpine.magicProperties).forEach(function (name) { + _newArrowCheck(this, _this); + + this.unobservedData["$".concat(name)] = null; + }.bind(this)); /* IE11-ONLY:END */ // Construct a Proxy-based observable. This will be used to handle reactivity. @@ -6681,11 +7104,26 @@ this.watchers[property].push(callback); }.bind(this); + var canonicalComponentElementReference = componentForClone ? componentForClone.$el : this.$el; // Register custom magic properties. + + Object.entries(Alpine.magicProperties).forEach(function (_ref) { + _newArrowCheck(this, _this); + + var _ref2 = _slicedToArray(_ref, 2), + name = _ref2[0], + callback = _ref2[1]; + + Object.defineProperty(this.unobservedData, "$".concat(name), { + get: function get() { + return callback(canonicalComponentElementReference); + } + }); + }.bind(this)); this.showDirectiveStack = []; this.showDirectiveLastElement; var initReturnedCallback; // If x-init is present AND we aren't cloning (skip x-init on clone) - if (initExpression && !seedDataForCloning) { + if (initExpression && !componentForClone) { // We want to allow data manipulation, but not trigger DOM updates just yet. // We haven't even initialized the elements with their Alpine bindings. I mean c'mon. this.pauseReactivity = true; @@ -6704,6 +7142,18 @@ // Alpine's got it's grubby little paws all over everything. initReturnedCallback.call(this.$data); } + + componentForClone || setTimeout(function () { + var _this2 = this; + + _newArrowCheck(this, _this); + + Alpine.onComponentInitializeds.forEach(function (callback) { + _newArrowCheck(this, _this2); + + return callback(this); + }.bind(this)); + }.bind(this), 0); } _createClass(Component, [{ @@ -6714,21 +7164,21 @@ }, { key: "wrapDataInObservable", value: function wrapDataInObservable(data) { - var _this2 = this; + var _this3 = this; var self = this; var updateDom = debounce(function () { self.updateElements(self.$el); }, 0); return wrap(data, function (target, key) { - var _this3 = this; + var _this4 = this; - _newArrowCheck(this, _this2); + _newArrowCheck(this, _this3); if (self.watchers[key]) { // If there's a watcher for this specific key, run it. self.watchers[key].forEach(function (callback) { - _newArrowCheck(this, _this3); + _newArrowCheck(this, _this4); return callback(target[key]); }.bind(this)); @@ -6736,13 +7186,13 @@ // Let's walk through the watchers with "dot-notation" (foo.bar) and see // if this mutation fits any of them. Object.keys(self.watchers).filter(function (i) { - _newArrowCheck(this, _this3); + _newArrowCheck(this, _this4); return i.includes('.'); }.bind(this)).forEach(function (fullDotNotationKey) { - var _this4 = this; + var _this5 = this; - _newArrowCheck(this, _this3); + _newArrowCheck(this, _this4); var dotNotationParts = fullDotNotationKey.split('.'); // If this dot-notation watcher's last "part" doesn't match the current // key, then skip it early for performance reasons. @@ -6751,14 +7201,14 @@ // a match, and call the watcher if one's found. dotNotationParts.reduce(function (comparisonData, part) { - var _this5 = this; + var _this6 = this; - _newArrowCheck(this, _this4); + _newArrowCheck(this, _this5); if (Object.is(target, comparisonData)) { // Run the watchers. self.watchers[fullDotNotationKey].forEach(function (callback) { - _newArrowCheck(this, _this5); + _newArrowCheck(this, _this6); return callback(target[key]); }.bind(this)); @@ -6777,13 +7227,13 @@ }, { key: "walkAndSkipNestedComponents", value: function walkAndSkipNestedComponents(el, callback) { - var _this6 = this; + var _this7 = this; var initializeComponentCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () { - _newArrowCheck(this, _this6); + _newArrowCheck(this, _this7); }.bind(this); walk(el, function (el) { - _newArrowCheck(this, _this6); + _newArrowCheck(this, _this7); // We've hit a component. if (el.hasAttribute('x-data')) { @@ -6802,13 +7252,13 @@ }, { key: "initializeElements", value: function initializeElements(rootEl) { - var _this7 = this; + var _this8 = this; var extraVars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () { - _newArrowCheck(this, _this7); + _newArrowCheck(this, _this8); }.bind(this); this.walkAndSkipNestedComponents(rootEl, function (el) { - _newArrowCheck(this, _this7); + _newArrowCheck(this, _this8); // Don't touch spawns from for loop if (el.__x_for_key !== undefined) return false; // Don't touch spawns from if directives @@ -6816,7 +7266,7 @@ if (el.__x_inserted_me !== undefined) return false; this.initializeElement(el, extraVars); }.bind(this), function (el) { - _newArrowCheck(this, _this7); + _newArrowCheck(this, _this8); el.__x = new Component(el); }.bind(this)); @@ -6838,19 +7288,19 @@ }, { key: "updateElements", value: function updateElements(rootEl) { - var _this8 = this; + var _this9 = this; var extraVars = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () { - _newArrowCheck(this, _this8); + _newArrowCheck(this, _this9); }.bind(this); this.walkAndSkipNestedComponents(rootEl, function (el) { - _newArrowCheck(this, _this8); + _newArrowCheck(this, _this9); // Don't touch spawns from for loop (and check if the root is actually a for loop in a parent, don't skip it.) if (el.__x_for_key !== undefined && !el.isSameNode(this.$el)) return false; this.updateElement(el, extraVars); }.bind(this), function (el) { - _newArrowCheck(this, _this8); + _newArrowCheck(this, _this9); el.__x = new Component(el); }.bind(this)); @@ -6860,14 +7310,14 @@ }, { key: "executeAndClearNextTickStack", value: function executeAndClearNextTickStack(el) { - var _this9 = this; + var _this10 = this; // Skip spawns from alpine directives if (el === this.$el && this.nextTickStack.length > 0) { // We run the tick stack after the next frame to allow any // running transitions to pass the initial show stage. requestAnimationFrame(function () { - _newArrowCheck(this, _this9); + _newArrowCheck(this, _this10); while (this.nextTickStack.length > 0) { this.nextTickStack.shift()(); @@ -6878,45 +7328,45 @@ }, { key: "executeAndClearRemainingShowDirectiveStack", value: function executeAndClearRemainingShowDirectiveStack() { - var _this10 = this; + var _this11 = this; // The goal here is to start all the x-show transitions // and build a nested promise chain so that elements // only hide when the children are finished hiding. this.showDirectiveStack.reverse().map(function (thing) { - var _this11 = this; + var _this12 = this; - _newArrowCheck(this, _this10); + _newArrowCheck(this, _this11); return new Promise(function (resolve) { - var _this12 = this; + var _this13 = this; - _newArrowCheck(this, _this11); + _newArrowCheck(this, _this12); thing(function (finish) { - _newArrowCheck(this, _this12); + _newArrowCheck(this, _this13); resolve(finish); }.bind(this)); }.bind(this)); }.bind(this)).reduce(function (nestedPromise, promise) { - var _this13 = this; + var _this14 = this; - _newArrowCheck(this, _this10); + _newArrowCheck(this, _this11); return nestedPromise.then(function () { - var _this14 = this; + var _this15 = this; - _newArrowCheck(this, _this13); + _newArrowCheck(this, _this14); return promise.then(function (finish) { - _newArrowCheck(this, _this14); + _newArrowCheck(this, _this15); return finish(); }.bind(this)); }.bind(this)); }.bind(this), Promise.resolve(function () { - _newArrowCheck(this, _this10); + _newArrowCheck(this, _this11); }.bind(this))); // We've processed the handler stack. let's clear it. this.showDirectiveStack = []; @@ -6930,15 +7380,15 @@ }, { key: "registerListeners", value: function registerListeners(el, extraVars) { - var _this15 = this; + var _this16 = this; - getXAttrs(el, this).forEach(function (_ref) { - _newArrowCheck(this, _this15); + getXAttrs(el, this).forEach(function (_ref3) { + _newArrowCheck(this, _this16); - var type = _ref.type, - value = _ref.value, - modifiers = _ref.modifiers, - expression = _ref.expression; + var type = _ref3.type, + value = _ref3.value, + modifiers = _ref3.modifiers, + expression = _ref3.expression; switch (type) { case 'on': @@ -6954,7 +7404,7 @@ }, { key: "resolveBoundAttributes", value: function resolveBoundAttributes(el) { - var _this16 = this; + var _this17 = this; var initialUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var extraVars = arguments.length > 2 ? arguments[2] : undefined; @@ -6964,7 +7414,7 @@ // If there's an x-model on a radio input, move it to end of attribute list // to ensure that x-bind:value (if present) is processed first. var modelIdx = attrs.findIndex(function (attr) { - _newArrowCheck(this, _this16); + _newArrowCheck(this, _this17); return attr.type === 'model'; }.bind(this)); @@ -6974,25 +7424,25 @@ } } - attrs.forEach(function (_ref2) { - var _this17 = this; + attrs.forEach(function (_ref4) { + var _this18 = this; - _newArrowCheck(this, _this16); + _newArrowCheck(this, _this17); - var type = _ref2.type, - value = _ref2.value, - modifiers = _ref2.modifiers, - expression = _ref2.expression; + var type = _ref4.type, + value = _ref4.value, + modifiers = _ref4.modifiers, + expression = _ref4.expression; switch (type) { case 'model': - handleAttributeBindingDirective(this, el, 'value', expression, extraVars, type); + handleAttributeBindingDirective(this, el, 'value', expression, extraVars, type, modifiers); break; case 'bind': // The :key binding on an x-for is special, ignore it. if (el.tagName.toLowerCase() === 'template' && value === 'key') return; - handleAttributeBindingDirective(this, el, value, expression, extraVars, type); + handleAttributeBindingDirective(this, el, value, expression, extraVars, type, modifiers); break; case 'text': @@ -7012,11 +7462,11 @@ case 'if': // If this element also has x-for on it, don't process x-if. // We will let the "x-for" directive handle the "if"ing. - if (attrs.filter(function (i) { - _newArrowCheck(this, _this17); + if (attrs.some(function (i) { + _newArrowCheck(this, _this18); return i.type === 'for'; - }.bind(this)).length > 0) return; + }.bind(this))) return; var output = this.evaluateReturnExpression(el, expression, extraVars); handleIfDirective(this, el, output, initialUpdate, extraVars); break; @@ -7034,10 +7484,10 @@ }, { key: "evaluateReturnExpression", value: function evaluateReturnExpression(el, expression) { - var _this18 = this; + var _this19 = this; var extraVars = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () { - _newArrowCheck(this, _this18); + _newArrowCheck(this, _this19); }.bind(this); return saferEval(expression, this.$data, _objectSpread2(_objectSpread2({}, extraVars()), {}, { $dispatch: this.getDispatchFunction(el) @@ -7046,10 +7496,10 @@ }, { key: "evaluateCommandExpression", value: function evaluateCommandExpression(el, expression) { - var _this19 = this; + var _this20 = this; var extraVars = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () { - _newArrowCheck(this, _this19); + _newArrowCheck(this, _this20); }.bind(this); return saferEvalNoReturn(expression, this.$data, _objectSpread2(_objectSpread2({}, extraVars()), {}, { $dispatch: this.getDispatchFunction(el) @@ -7069,7 +7519,7 @@ }, { key: "listenForNewElementsToInitialize", value: function listenForNewElementsToInitialize() { - var _this20 = this; + var _this21 = this; var targetNode = this.$el; var observerOptions = { @@ -7078,9 +7528,9 @@ subtree: true }; var observer = new MutationObserver(function (mutations) { - var _this21 = this; + var _this22 = this; - _newArrowCheck(this, _this20); + _newArrowCheck(this, _this21); for (var i = 0; i < mutations.length; i++) { // Filter out mutations triggered from child components. @@ -7089,16 +7539,16 @@ if (mutations[i].type === 'attributes' && mutations[i].attributeName === 'x-data') { (function () { - var _this22 = this; + var _this23 = this; - var rawData = saferEval(mutations[i].target.getAttribute('x-data'), { - $el: _this21.$el + var rawData = saferEval(mutations[i].target.getAttribute('x-data') || '{}', { + $el: _this22.$el }); Object.keys(rawData).forEach(function (key) { - _newArrowCheck(this, _this22); + _newArrowCheck(this, _this23); - if (_this21.$data[key] !== rawData[key]) { - _this21.$data[key] = rawData[key]; + if (_this22.$data[key] !== rawData[key]) { + _this22.$data[key] = rawData[key]; } }.bind(this)); })(); @@ -7106,7 +7556,7 @@ if (mutations[i].addedNodes.length > 0) { mutations[i].addedNodes.forEach(function (node) { - _newArrowCheck(this, _this21); + _newArrowCheck(this, _this22); if (node.nodeType !== 1 || node.__x_inserted_me) return; @@ -7125,7 +7575,7 @@ }, { key: "getRefsProxy", value: function getRefsProxy() { - var _this23 = this; + var _this24 = this; var self = this; var refObj = {}; @@ -7137,7 +7587,7 @@ // we just loop on the element, look for any x-ref and create a tmp property on a fake object. this.walkAndSkipNestedComponents(self.$el, function (el) { - _newArrowCheck(this, _this23); + _newArrowCheck(this, _this24); if (el.hasAttribute('x-ref')) { refObj[el.getAttribute('x-ref')] = true; @@ -7151,14 +7601,14 @@ return new Proxy(refObj, { get: function get(object, property) { - var _this24 = this; + var _this25 = this; if (property === '$isAlpineProxy') return true; var ref; // We can't just query the DOM because it's hard to filter out refs in // nested components. self.walkAndSkipNestedComponents(self.$el, function (el) { - _newArrowCheck(this, _this24); + _newArrowCheck(this, _this25); if (el.hasAttribute('x-ref') && el.getAttribute('x-ref') === property) { ref = el; @@ -7174,8 +7624,10 @@ }(); var Alpine = { - version: "2.4.1", + version: "2.5.0", pauseMutationObserver: false, + magicProperties: {}, + onComponentInitializeds: [], start: function () { var _start = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var _this = this; @@ -7314,8 +7766,14 @@ }, clone: function clone(component, newEl) { if (!newEl.__x) { - newEl.__x = new Component(newEl, component.getUnobservedData()); + newEl.__x = new Component(newEl, component); } + }, + addMagicProperty: function addMagicProperty(name, callback) { + this.magicProperties[name] = callback; + }, + onComponentInitialized: function onComponentInitialized(callback) { + this.onComponentInitializeds.push(callback); } }; diff --git a/public/assets/js/alpine-ie11.min.js b/public/assets/js/alpine-ie11.min.js index a39ae5a..c398c38 100644 --- a/public/assets/js/alpine-ie11.min.js +++ b/public/assets/js/alpine-ie11.min.js @@ -1 +1 @@ -!function(t){"function"==typeof define&&define.amd?define(t):t()}(function(){"use strict";var t;(t=HTMLSelectElement.prototype).hasOwnProperty("selectedOptions")||Object.defineProperty(t,"selectedOptions",{get:function(){return this.querySelectorAll(":checked")},enumerable:!0,configurable:!0});var e,n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}!function(){var t="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)||"undefined"!=typeof navigator&&"ReactNative"===navigator.product?n:self;t.Proxy||(t.Proxy=function(){function t(t){return!!t&&("object"==typeof t||"function"==typeof t)}var e=null,n=function(n,r){function i(){}if(!t(n)||!t(r))throw new TypeError("Cannot create proxy with a non-object as target or handler");e=function(){n=null,i=function(t){throw new TypeError("Cannot perform '"+t+"' on a proxy that has been revoked")}},setTimeout(function(){e=null},0);var o=r;for(var a in r={get:null,set:null,apply:null,construct:null},o){if(!(a in r))throw new TypeError("Proxy polyfill does not support trap '"+a+"'");r[a]=o[a]}"function"==typeof o&&(r.apply=o.apply.bind(o));var c=this,u=!1,s=!1;"function"==typeof n?(c=function(){var t=this&&this.constructor===c,e=Array.prototype.slice.call(arguments);return i(t?"construct":"apply"),t&&r.construct?r.construct.call(this,n,e):!t&&r.apply?r.apply(n,this,e):t?(e.unshift(n),new(n.bind.apply(n,e))):n.apply(this,e)},u=!0):n instanceof Array&&(c=[],s=!0);var l=r.get?function(t){return i("get"),r.get(this,t,c)}:function(t){return i("get"),this[t]},f=r.set?function(t,e){i("set"),r.set(this,t,e,c)}:function(t,e){i("set"),this[t]=e},h={};if(Object.getOwnPropertyNames(n).forEach(function(t){if(!((u||s)&&t in c)){var e={enumerable:!!Object.getOwnPropertyDescriptor(n,t).enumerable,get:l.bind(n,t),set:f.bind(n,t)};Object.defineProperty(c,t,e),h[t]=!0}}),o=!0,Object.setPrototypeOf?Object.setPrototypeOf(c,Object.getPrototypeOf(n)):c.__proto__?c.__proto__=n.__proto__:o=!1,r.get||!o)for(var d in n)h[d]||Object.defineProperty(c,d,{get:l.bind(n,d)});return Object.seal(n),Object.seal(c),c};return n.revocable=function(t,r){return{proxy:new n(t,r),revoke:e}},n}(),t.Proxy.revocable=t.Proxy.revocable)}(),"function"!=typeof(e=window.Element.prototype).matches&&(e.matches=e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||function(t){for(var e=(this.document||this.ownerDocument).querySelectorAll(t),n=0;e[n]&&e[n]!==this;)++n;return Boolean(e[n])}),"function"!=typeof e.closest&&(e.closest=function(t){for(var e=this;e&&1===e.nodeType;){if(e.matches(t))return e;e=e.parentNode}return null}),[Element.prototype,CharacterData.prototype,DocumentType.prototype].filter(Boolean).forEach(function(t){t.hasOwnProperty("remove")||Object.defineProperty(t,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){this.parentNode&&this.parentNode.removeChild(this)}})}),"document"in window.self&&("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))||function(t){if("Element"in t){var e=t.Element.prototype,n=Object,r=String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")},i=Array.prototype.indexOf||function(t){for(var e=0,n=this.length;e\x20\t\r\n\f]+)/i.exec(t)||["",""])[1].toLowerCase()}(t)];if(e)for(var n=0;n"+t+"";for(g.body.innerHTML=t,m.bootstrap(g);this.content.firstChild;)a.call(this.content,this.content.firstChild);var r=g.body;if(e)for(var i=0;i"+this.innerHTML+""},set:function(t){if(!this.parentNode)throw new Error("Failed to set the 'outerHTML' property on 'Element': This element has no parent node.");g.body.innerHTML=t;for(var e=this.ownerDocument.createDocumentFragment();g.body.firstChild;)c.call(e,g.body.firstChild);u.call(this.parentNode,e,this)},configurable:!0})};_(m.prototype),O(m.prototype),m.bootstrap=function(t){for(var e,n=v(t,"template"),r=0,i=n.length;r]/g,N=function(t){switch(t){case"&":return"&";case"<":return"<";case">":return">";case'"':return""";case" ":return" "}},j=function(t){return t.replace(A,N)},T=function(t){for(var e={},n=0;n";case Node.TEXT_NODE:var u=t.data;return e&&C[e.localName]?u:function(t){return t.replace(k,N)}(u);case Node.COMMENT_NODE:return"\x3c!--"+t.data+"--\x3e";default:throw window.console.error(t),new Error("not implemented")}},P=function(t,e){"template"===t.localName&&(t=t.content);for(var n,r="",i=e?e(t):f.get.call(t),o=0,a=i.length;o0?ut:ct)(t)},lt=Math.min,ft=function(t){return t>0?lt(st(t),9007199254740991):0},ht=Math.max,dt=Math.min,pt=function(t,e){var n=st(t);return n<0?ht(n+e,0):dt(n,e)},vt=function(t){return function(e,n,r){var i,o=m(e),a=ft(o.length),c=pt(r,a);if(t&&n!=n){for(;a>c;)if((i=o[c++])!=i)return!0}else for(;a>c;c++)if((t||c in o)&&o[c]===n)return t||c||0;return!t&&-1}},yt={includes:vt(!0),indexOf:vt(!1)},mt=yt.indexOf,gt=function(t,e){var n,r=m(t),i=0,o=[];for(n in r)!w(W,n)&&w(r,n)&&o.push(n);for(;e.length>i;)w(r,n=e[i++])&&(~mt(o,n)||o.push(n));return o},bt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],xt=bt.concat("length","prototype"),wt={f:Object.getOwnPropertyNames||function(t){return gt(t,xt)}},Et={f:Object.getOwnPropertySymbols},St=at("Reflect","ownKeys")||function(t){var e=wt.f(N(t)),n=Et.f;return n?e.concat(n(t)):e},_t=function(t,e){for(var n=St(e),r=T.f,i=k.f,o=0;og;g++)if((a||g in p)&&(h=y(f=p[g],g,d),t))if(e)x[g]=h;else if(h)switch(t){case 3:return!0;case 5:return f;case 6:return g;case 2:Vt.call(x,f)}else if(i)return!1;return o?-1:r||i?i:x}},Kt={forEach:Wt(0),map:Wt(1),filter:Wt(2),some:Wt(3),every:Wt(4),find:Wt(5),findIndex:Wt(6)},Yt=at("navigator","userAgent")||"",Xt=o.process,Qt=Xt&&Xt.versions,Zt=Qt&&Qt.v8;Zt?et=(tt=Zt.split("."))[0]+tt[1]:Yt&&(!(tt=Yt.match(/Edge\/(\d+)/))||tt[1]>=74)&&(tt=Yt.match(/Chrome\/(\d+)/))&&(et=tt[1]);var Jt=et&&+et,te=Ht("species"),ee=function(t){return Jt>=51||!a(function(){var e=[];return(e.constructor={})[te]=function(){return{foo:1}},1!==e[t](Boolean).foo})},ne=Object.defineProperty,re={},ie=function(t){throw t},oe=function(t,e){if(w(re,t))return re[t];e||(e={});var n=[][t],r=!!w(e,"ACCESSORS")&&e.ACCESSORS,i=w(e,0)?e[0]:ie,o=w(e,1)?e[1]:void 0;return re[t]=!!n&&!a(function(){if(r&&!c)return!0;var t={length:-1};r?ne(t,1,{enumerable:!0,get:ie}):t[1]=1,n.call(t,i,o)})},ae=Kt.filter,ce=ee("filter"),ue=oe("filter");Dt({target:"Array",proto:!0,forced:!ce||!ue},{filter:function(t){return ae(this,t,arguments.length>1?arguments[1]:void 0)}});var se=function(t,e){var n=[][t];return!!n&&a(function(){n.call(null,e||function(){throw 1},1)})},le=Kt.forEach,fe=se("forEach"),he=oe("forEach"),de=fe&&he?[].forEach:function(t){return le(this,t,arguments.length>1?arguments[1]:void 0)};Dt({target:"Array",proto:!0,forced:[].forEach!=de},{forEach:de});var pe=function(t,e,n,r){try{return r?e(N(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&N(i.call(t)),e}},ve={},ye=Ht("iterator"),me=Array.prototype,ge=function(t){return void 0!==t&&(ve.Array===t||me[ye]===t)},be=function(t,e,n){var r=b(e);r in t?T.f(t,r,f(0,n)):t[r]=n},xe={};xe[Ht("toStringTag")]="z";var we="[object z]"===String(xe),Ee=Ht("toStringTag"),Se="Arguments"==d(function(){return arguments}()),_e=we?d:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Ee))?n:Se?d(e):"Object"==(r=d(e))&&"function"==typeof e.callee?"Arguments":r},Oe=Ht("iterator"),Ae=function(t){if(null!=t)return t[Oe]||t["@@iterator"]||ve[_e(t)]},ke=Ht("iterator"),Ne=!1;try{var je=0,Te={next:function(){return{done:!!je++}},return:function(){Ne=!0}};Te[ke]=function(){return this},Array.from(Te,function(){throw 2})}catch(t){}var Le=function(t,e){if(!e&&!Ne)return!1;var n=!1;try{var r={};r[ke]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(t){}return n},Ce=!Le(function(t){Array.from(t)});Dt({target:"Array",stat:!0,forced:Ce},{from:function(t){var e,n,r,i,o,a,c=It(t),u="function"==typeof this?this:Array,s=arguments.length,l=s>1?arguments[1]:void 0,f=void 0!==l,h=Ae(c),d=0;if(f&&(l=Rt(l,s>2?arguments[2]:void 0,2)),null==h||u==Array&&ge(h))for(n=new u(e=ft(c.length));e>d;d++)a=f?l(c[d],d):c[d],be(n,d,a);else for(o=(i=h.call(c)).next,n=new u;!(r=o.call(i)).done;d++)a=f?pe(i,l,[r.value,d],!0):r.value,be(n,d,a);return n.length=d,n}});var De,Pe,Re,Ie=function(t){return function(e,n){var r,i,o=String(y(e)),a=st(n),c=o.length;return a<0||a>=c?t?"":void 0:(r=o.charCodeAt(a))<55296||r>56319||a+1===c||(i=o.charCodeAt(a+1))<56320||i>57343?t?o.charAt(a):r:t?o.slice(a,a+2):i-56320+(r-55296<<10)+65536}},Me={codeAt:Ie(!1),charAt:Ie(!0)},Fe=!a(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),$e=V("IE_PROTO"),ze=Object.prototype,Ue=Fe?Object.getPrototypeOf:function(t){return t=It(t),w(t,$e)?t[$e]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?ze:null},Ge=Ht("iterator"),He=!1;[].keys&&("next"in(Re=[].keys())?(Pe=Ue(Ue(Re)))!==Object.prototype&&(De=Pe):He=!0),null==De&&(De={}),w(De,Ge)||L(De,Ge,function(){return this});var qe,Be={IteratorPrototype:De,BUGGY_SAFARI_ITERATORS:He},Ve=Object.keys||function(t){return gt(t,bt)},We=c?Object.defineProperties:function(t,e){N(t);for(var n,r=Ve(e),i=r.length,o=0;i>o;)T.f(t,n=r[o++],e[n]);return t},Ke=at("document","documentElement"),Ye=V("IE_PROTO"),Xe=function(){},Qe=function(t){return"