浏览代码

Bump version to 2.7.1

Caleb Porzio 4 年之前
父节点
当前提交
c4f542da43
共有 11 个文件被更改,包括 108 次插入92 次删除
  1. 2 2
      README.de.md
  2. 2 2
      README.es.md
  3. 2 2
      README.id.md
  4. 1 1
      README.ja.md
  5. 2 2
      README.md
  6. 2 2
      README.pt.md
  7. 2 2
      README.ru.md
  8. 2 2
      README.zh-TW.md
  9. 83 68
      dist/alpine-ie11.js
  10. 9 8
      dist/alpine.js
  11. 1 1
      package.json

+ 2 - 2
README.de.md

@@ -34,9 +34,9 @@ Unsere Philosophie erinnert dich vielleicht an [Tailwind](https://tailwindcss.co
 Das wars. Die Initialisierung passiert automatisch.
 Das wars. Die Initialisierung passiert automatisch.
 
 
 Für die Produktionsumgebung wird empfohlen, den Link mit einer spezifischen Versionsnummer zu versehen. Somit kann präventiv sichergestellt werden, dass keine unerwarteten Fehler durch Versionsaktualisierungen zustande kommen.
 Für die Produktionsumgebung wird empfohlen, den Link mit einer spezifischen Versionsnummer zu versehen. Somit kann präventiv sichergestellt werden, dass keine unerwarteten Fehler durch Versionsaktualisierungen zustande kommen.
-Als Beispiel wird hier die (letzte) Version `2.7.0` spezifiziert:
+Als Beispiel wird hier die (letzte) Version `2.7.1` spezifiziert:
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.min.js" defer></script>
 ```
 ```
 
 
 **Über npm:** Installiere das Paket über npm.
 **Über npm:** Installiere das Paket über npm.

+ 2 - 2
README.es.md

@@ -21,9 +21,9 @@ Podríamos considerarlo como un [Tailwind](https://tailwindcss.com/) para JavaSc
 
 
 Eso es todo. Se inicializará solo.
 Eso es todo. Se inicializará solo.
 
 
-Para entornos de producción, se recomienda especificar una número de versión en concreto en el enlace para evitar comportamientos inesperados que puedan romper las nuevas versiones. Por ejemplo, para usar la versión `2.7.0` (la última):
+Para entornos de producción, se recomienda especificar una número de versión en concreto en el enlace para evitar comportamientos inesperados que puedan romper las nuevas versiones. Por ejemplo, para usar la versión `2.7.1` (la última):
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.min.js" defer></script>
 ```
 ```
 
 
 **Desde npm:** Instalar el paquete desde npm.
 **Desde npm:** Instalar el paquete desde npm.

+ 2 - 2
README.id.md

@@ -32,9 +32,9 @@ Anggap saja seperti [Tailwind](https://tailwindcss.com/) untuk JavaScript.
 
 
 Itu saja. Itu akan menginisialisasi dirinya sendiri.
 Itu saja. Itu akan menginisialisasi dirinya sendiri.
 
 
-Untuk lingkungan produksi, disarankan untuk memasang pin pada nomor versi tertentu di link untuk menghindari kerusakan yang tidak terduga dari versi yang lebih baru. Misalnya, untuk menggunakan versi `2.7.0` (terbaru):
+Untuk lingkungan produksi, disarankan untuk memasang pin pada nomor versi tertentu di link untuk menghindari kerusakan yang tidak terduga dari versi yang lebih baru. Misalnya, untuk menggunakan versi `2.7.1` (terbaru):
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.min.js" defer></script>
 ```
 ```
 
 
 **Dari NPM:** Instal paket dari NPM.
 **Dari NPM:** Instal paket dari NPM.

+ 1 - 1
README.ja.md

@@ -14,7 +14,7 @@ DOM を保持し、適切な動作を施すことができます。
 
 
 **CDNより:** `<head>` セクションの最後に次のスクリプトを追加します。
 **CDNより:** `<head>` セクションの最後に次のスクリプトを追加します。
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.js" defer></script>
 ```
 ```
 
 
 それだけです。初期は自身で行われます。
 それだけです。初期は自身で行われます。

+ 2 - 2
README.md

@@ -34,9 +34,9 @@ Think of it like [Tailwind](https://tailwindcss.com/) for JavaScript.
 That's it. It will initialize itself.
 That's it. It will initialize itself.
 
 
 For production environments, it's recommended to pin a specific version number in the link to avoid unexpected breakage from newer versions.
 For production environments, it's recommended to pin a specific version number in the link to avoid unexpected breakage from newer versions.
-For example, to use version `2.7.0` (latest):
+For example, to use version `2.7.1` (latest):
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.min.js" defer></script>
 ```
 ```
 
 
 **From npm:** Install the package from npm.
 **From npm:** Install the package from npm.

+ 2 - 2
README.pt.md

@@ -23,10 +23,10 @@ Pensem nisso como o [Tailwind](https://tailwindcss.com/) para JavaScript.
 E é isso. Ele vai se inicializar.
 E é isso. Ele vai se inicializar.
 
 
 Para ambiente de produção, é recomendado fixar o número da versão específico no link para evitar problemas inesperadas das versões mais recentes.
 Para ambiente de produção, é recomendado fixar o número da versão específico no link para evitar problemas inesperadas das versões mais recentes.
-Por exemplo, para usar a versão `2.7.0`:
+Por exemplo, para usar a versão `2.7.1`:
 
 
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.min.js" defer></script>
 ```
 ```
 
 
 **Via npm:** Instale o pacote pelo npm.
 **Via npm:** Instale o pacote pelo npm.

+ 2 - 2
README.ru.md

@@ -22,9 +22,9 @@ Alpine.js предлагает вам реактивность и деклара
 Вот и всё. Он инициализируется самостоятельно.
 Вот и всё. Он инициализируется самостоятельно.
 
 
 Для продакшн-окружения, рекомендуется использовать ссылку с конкретным номером версии, чтобы избежать неожиданных поломок после выпуска новых версий.
 Для продакшн-окружения, рекомендуется использовать ссылку с конкретным номером версии, чтобы избежать неожиданных поломок после выпуска новых версий.
-Например, чтобы использовать версию `2.7.0`:
+Например, чтобы использовать версию `2.7.1`:
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.min.js" defer></script>
 ```
 ```
 
 
 **С помощью npm:** Установите пакет из npm.
 **С помощью npm:** Установите пакет из npm.

+ 2 - 2
README.zh-TW.md

@@ -22,9 +22,9 @@ Alpine.js 提供了 Vue 與 React 等大框架的互動式與宣告式的功能
 就這樣。Alpine.js 會自行初始化。
 就這樣。Alpine.js 會自行初始化。
 
 
 在正式環境中,建議在連結中固定特定版本,以避免新版本使功能無法使用。
 在正式環境中,建議在連結中固定特定版本,以避免新版本使功能無法使用。
-如,要使用 `2.7.0` 版則可以這樣寫:
+如,要使用 `2.7.1` 版則可以這樣寫:
 ```html
 ```html
-<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.0/dist/alpine.min.js" defer></script>
+<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.7.1/dist/alpine.min.js" defer></script>
 ```
 ```
 
 
 **使用 npm:** 從 npm 安裝套件。
 **使用 npm:** 從 npm 安裝套件。

+ 83 - 68
dist/alpine-ie11.js

@@ -23,10 +23,11 @@
   	return module = { exports: {} }, fn(module, module.exports), module.exports;
   	return module = { exports: {} }, fn(module, module.exports), module.exports;
   }
   }
 
 
-  (function(){function k(){function p(a){return a?"object"===typeof a||"function"===typeof a:!1}var l=null;var n=function(a,c){function g(){}if(!p(a)||!p(c))throw new TypeError("Cannot create proxy with a non-object as target or handler");l=function(){a=null;g=function(b){throw new TypeError("Cannot perform '"+b+"' on a proxy that has been revoked");};};setTimeout(function(){l=null;},0);var f=c;c={get:null,set:null,apply:null,construct:null};for(var h in f){if(!(h in c))throw new TypeError("Proxy polyfill does not support trap '"+
-  h+"'");c[h]=f[h];}"function"===typeof f&&(c.apply=f.apply.bind(f));var d=this,q=!1,r=!1;"function"===typeof a?(d=function(){var b=this&&this.constructor===d,e=Array.prototype.slice.call(arguments);g(b?"construct":"apply");return b&&c.construct?c.construct.call(this,a,e):!b&&c.apply?c.apply(a,this,e):b?(e.unshift(a),new (a.bind.apply(a,e))):a.apply(this,e)},q=!0):a instanceof Array&&(d=[],r=!0);var t=c.get?function(b){g("get");return c.get(this,b,d)}:function(b){g("get");return this[b]},w=c.set?function(b,
-  e){g("set");c.set(this,b,e,d);}:function(b,e){g("set");this[b]=e;},u={};Object.getOwnPropertyNames(a).forEach(function(b){if(!((q||r)&&b in d)){var e={enumerable:!!Object.getOwnPropertyDescriptor(a,b).enumerable,get:t.bind(a,b),set:w.bind(a,b)};Object.defineProperty(d,b,e);u[b]=!0;}});f=!0;Object.setPrototypeOf?Object.setPrototypeOf(d,Object.getPrototypeOf(a)):d.__proto__?d.__proto__=a.__proto__:f=!1;if(c.get||!f)for(var m in a)u[m]||Object.defineProperty(d,m,{get:t.bind(a,m)});Object.seal(a);Object.seal(d);
-  return d};n.revocable=function(a,c){return {proxy:new n(a,c),revoke:l}};return n}var v="undefined"!==typeof process&&"[object process]"==={}.toString.call(process)||"undefined"!==typeof navigator&&"ReactNative"===navigator.product?commonjsGlobal:self;v.Proxy||(v.Proxy=k(),v.Proxy.revocable=v.Proxy.revocable);})();
+  (function(){function n(){function v(){return null}function l(a){return a?"object"===typeof a||"function"===typeof a:!1}function p(a){if(null!==a&&!l(a))throw new TypeError("Object prototype may only be an Object or null: "+a);}var q=null,e=Object,w=!!e.create||!({__proto__:null}instanceof e),A=e.create||(w?function(a){p(a);return {__proto__:a}}:function(a){function c(){}p(a);if(null===a)throw new SyntaxError("Native Object.create is required to create objects with null prototype");c.prototype=a;return new c}),
+  B=e.getPrototypeOf||([].__proto__===Array.prototype?function(a){a=a.__proto__;return l(a)?a:null}:v);var m=function(a,c){function k(){}if(void 0===(this&&this instanceof m?this.constructor:void 0))throw new TypeError("Constructor Proxy requires 'new'");if(!l(a)||!l(c))throw new TypeError("Cannot create proxy with a non-object as target or handler");q=function(){a=null;k=function(b){throw new TypeError("Cannot perform '"+b+"' on a proxy that has been revoked");};};setTimeout(function(){q=null;},0);var g=
+  c;c={get:null,set:null,apply:null,construct:null};for(var h in g){if(!(h in c))throw new TypeError("Proxy polyfill does not support trap '"+h+"'");c[h]=g[h];}"function"===typeof g&&(c.apply=g.apply.bind(g));g=B(a);var r=!1,t=!1;if("function"===typeof a){var f=function(){var b=this&&this.constructor===f,d=Array.prototype.slice.call(arguments);k(b?"construct":"apply");return b&&c.construct?c.construct.call(this,a,d):!b&&c.apply?c.apply(a,this,d):b?(d.unshift(a),new (a.bind.apply(a,d))):a.apply(this,
+  d)};r=!0;}else a instanceof Array?(f=[],t=!0):f=w||null!==g?A(g):{};var x=c.get?function(b){k("get");return c.get(this,b,f)}:function(b){k("get");return this[b]},C=c.set?function(b,d){k("set");c.set(this,b,d,f);}:function(b,d){k("set");this[b]=d;},y={};e.getOwnPropertyNames(a).forEach(function(b){if(!((r||t)&&b in f)){var d=e.getOwnPropertyDescriptor(a,b);e.defineProperty(f,b,{enumerable:!!d.enumerable,get:x.bind(a,b),set:C.bind(a,b)});y[b]=!0;}});h=!0;if(r||t){var D=e.setPrototypeOf||([].__proto__===
+  Array.prototype?function(b,d){p(d);b.__proto__=d;return b}:v);g&&D(f,g)||(h=!1);}if(c.get||!h)for(var u in a)y[u]||e.defineProperty(f,u,{get:x.bind(a,u)});e.seal(a);e.seal(f);return f};m.revocable=function(a,c){return {proxy:new m(a,c),revoke:q}};return m}var z="undefined"!==typeof process&&"[object process]"==={}.toString.call(process)||"undefined"!==typeof navigator&&"ReactNative"===navigator.product?commonjsGlobal:self;z.Proxy||(z.Proxy=n(),z.Proxy.revocable=z.Proxy.revocable);})();
 
 
   !function(e){var t=e.Element.prototype;"function"!=typeof t.matches&&(t.matches=t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),o=0;t[o]&&t[o]!==this;)++o;return Boolean(t[o])}),"function"!=typeof t.closest&&(t.closest=function(e){for(var t=this;t&&1===t.nodeType;){if(t.matches(e))return t;t=t.parentNode;}return null});}(window);
   !function(e){var t=e.Element.prototype;"function"!=typeof t.matches&&(t.matches=t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),o=0;t[o]&&t[o]!==this;)++o;return Boolean(t[o])}),"function"!=typeof t.closest&&(t.closest=function(e){for(var t=this;t&&1===t.nodeType;){if(t.matches(e))return t;t=t.parentNode;}return null});}(window);
 
 
@@ -3612,6 +3613,21 @@
     }
     }
   });
   });
 
 
+  var nativeReverse = [].reverse;
+  var test$1 = [1, 2];
+
+  // `Array.prototype.reverse` method
+  // https://tc39.github.io/ecma262/#sec-array.prototype.reverse
+  // fix for Safari 12.0 bug
+  // https://bugs.webkit.org/show_bug.cgi?id=188794
+  _export({ target: 'Array', proto: true, forced: String(test$1) === String(test$1.reverse()) }, {
+    reverse: function reverse() {
+      // eslint-disable-next-line no-self-assign
+      if (isArray(this)) this.length = this.length;
+      return nativeReverse.call(this);
+    }
+  });
+
   var $some = arrayIteration.some;
   var $some = arrayIteration.some;
 
 
 
 
@@ -5689,6 +5705,8 @@
     }
     }
   }
   }
 
 
+  var _this10 = undefined;
+
   // Thanks @stimulus:
   // Thanks @stimulus:
   // https://github.com/stimulusjs/stimulus/blob/master/packages/%40stimulus/core/src/application.ts
   // https://github.com/stimulusjs/stimulus/blob/master/packages/%40stimulus/core/src/application.ts
   function domReady() {
   function domReady() {
@@ -5710,6 +5728,9 @@
   function isTesting() {
   function isTesting() {
     return navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom");
     return navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom");
   }
   }
+  function checkedAttrLooseCompare(valueA, valueB) {
+    return valueA == valueB;
+  }
   function warnIfMalformedTemplate(el, directive) {
   function warnIfMalformedTemplate(el, directive) {
     if (el.tagName.toLowerCase() !== 'template') {
     if (el.tagName.toLowerCase() !== 'template') {
       console.warn("Alpine: [".concat(directive, "] directive should only be added to <template> tags. See https://github.com/alpinejs/alpine#").concat(directive));
       console.warn("Alpine: [".concat(directive, "] directive should only be added to <template> tags. See https://github.com/alpinejs/alpine#").concat(directive));
@@ -6078,66 +6099,67 @@
     };
     };
     transition(el, stages, type);
     transition(el, stages, type);
   }
   }
-  function transitionClassesIn(el, component, directives, showCallback) {
-    var _this10 = this;
 
 
-    var ensureStringExpression = function ensureStringExpression(expression) {
-      _newArrowCheck(this, _this10);
+  var ensureStringExpression = function ensureStringExpression(expression, el, component) {
+    _newArrowCheck(this, _this10);
 
 
-      return typeof expression === 'function' ? component.evaluateReturnExpression(el, expression) : expression;
-    }.bind(this);
+    return typeof expression === 'function' ? component.evaluateReturnExpression(el, expression) : expression;
+  }.bind(undefined);
+
+  function transitionClassesIn(el, component, directives, showCallback) {
+    var _this11 = this;
 
 
     var enter = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
     var enter = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
-      _newArrowCheck(this, _this10);
+      _newArrowCheck(this, _this11);
 
 
       return i.value === 'enter';
       return i.value === 'enter';
     }.bind(this)) || {
     }.bind(this)) || {
       expression: ''
       expression: ''
-    }).expression));
+    }).expression, el, component));
     var enterStart = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
     var enterStart = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
-      _newArrowCheck(this, _this10);
+      _newArrowCheck(this, _this11);
 
 
       return i.value === 'enter-start';
       return i.value === 'enter-start';
     }.bind(this)) || {
     }.bind(this)) || {
       expression: ''
       expression: ''
-    }).expression));
+    }).expression, el, component));
     var enterEnd = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
     var enterEnd = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
-      _newArrowCheck(this, _this10);
+      _newArrowCheck(this, _this11);
 
 
       return i.value === 'enter-end';
       return i.value === 'enter-end';
     }.bind(this)) || {
     }.bind(this)) || {
       expression: ''
       expression: ''
-    }).expression));
+    }).expression, el, component));
     transitionClasses(el, enter, enterStart, enterEnd, showCallback, function () {
     transitionClasses(el, enter, enterStart, enterEnd, showCallback, function () {
-      _newArrowCheck(this, _this10);
+      _newArrowCheck(this, _this11);
     }.bind(this), TRANSITION_TYPE_IN);
     }.bind(this), TRANSITION_TYPE_IN);
   }
   }
   function transitionClassesOut(el, component, directives, hideCallback) {
   function transitionClassesOut(el, component, directives, hideCallback) {
-    var _this11 = this;
+    var _this12 = this;
 
 
-    var leave = convertClassStringToArray((directives.find(function (i) {
-      _newArrowCheck(this, _this11);
+    var leave = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
+      _newArrowCheck(this, _this12);
 
 
       return i.value === 'leave';
       return i.value === 'leave';
     }.bind(this)) || {
     }.bind(this)) || {
       expression: ''
       expression: ''
-    }).expression);
-    var leaveStart = convertClassStringToArray((directives.find(function (i) {
-      _newArrowCheck(this, _this11);
+    }).expression, el, component));
+    var leaveStart = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
+      _newArrowCheck(this, _this12);
 
 
       return i.value === 'leave-start';
       return i.value === 'leave-start';
     }.bind(this)) || {
     }.bind(this)) || {
       expression: ''
       expression: ''
-    }).expression);
-    var leaveEnd = convertClassStringToArray((directives.find(function (i) {
-      _newArrowCheck(this, _this11);
+    }).expression, el, component));
+    var leaveEnd = convertClassStringToArray(ensureStringExpression((directives.find(function (i) {
+      _newArrowCheck(this, _this12);
 
 
       return i.value === 'leave-end';
       return i.value === 'leave-end';
     }.bind(this)) || {
     }.bind(this)) || {
       expression: ''
       expression: ''
-    }).expression);
+    }).expression, el, component));
     transitionClasses(el, leave, leaveStart, leaveEnd, function () {
     transitionClasses(el, leave, leaveStart, leaveEnd, function () {
-      _newArrowCheck(this, _this11);
+      _newArrowCheck(this, _this12);
     }.bind(this), hideCallback, TRANSITION_TYPE_OUT);
     }.bind(this), hideCallback, TRANSITION_TYPE_OUT);
   }
   }
   function transitionClasses(el, classesDuring, classesStart, classesEnd, hook1, hook2, type) {
   function transitionClasses(el, classesDuring, classesStart, classesEnd, hook1, hook2, type) {
@@ -6164,12 +6186,12 @@
       },
       },
       end: function end() {
       end: function end() {
         var _el$classList3,
         var _el$classList3,
-            _this12 = this,
+            _this13 = this,
             _el$classList4;
             _el$classList4;
 
 
         // Don't remove classes that were in the original class attribute.
         // Don't remove classes that were in the original class attribute.
         (_el$classList3 = el.classList).remove.apply(_el$classList3, _toConsumableArray(classesStart.filter(function (i) {
         (_el$classList3 = el.classList).remove.apply(_el$classList3, _toConsumableArray(classesStart.filter(function (i) {
-          _newArrowCheck(this, _this12);
+          _newArrowCheck(this, _this13);
 
 
           return !originalClasses.includes(i);
           return !originalClasses.includes(i);
         }.bind(this))));
         }.bind(this))));
@@ -6181,17 +6203,17 @@
       },
       },
       cleanup: function cleanup() {
       cleanup: function cleanup() {
         var _el$classList5,
         var _el$classList5,
-            _this13 = this,
+            _this14 = this,
             _el$classList6;
             _el$classList6;
 
 
         (_el$classList5 = el.classList).remove.apply(_el$classList5, _toConsumableArray(classesDuring.filter(function (i) {
         (_el$classList5 = el.classList).remove.apply(_el$classList5, _toConsumableArray(classesDuring.filter(function (i) {
-          _newArrowCheck(this, _this13);
+          _newArrowCheck(this, _this14);
 
 
           return !originalClasses.includes(i);
           return !originalClasses.includes(i);
         }.bind(this))));
         }.bind(this))));
 
 
         (_el$classList6 = el.classList).remove.apply(_el$classList6, _toConsumableArray(classesEnd.filter(function (i) {
         (_el$classList6 = el.classList).remove.apply(_el$classList6, _toConsumableArray(classesEnd.filter(function (i) {
-          _newArrowCheck(this, _this13);
+          _newArrowCheck(this, _this14);
 
 
           return !originalClasses.includes(i);
           return !originalClasses.includes(i);
         }.bind(this))));
         }.bind(this))));
@@ -6200,7 +6222,7 @@
     transition(el, stages, type);
     transition(el, stages, type);
   }
   }
   function transition(el, stages, type) {
   function transition(el, stages, type) {
-    var _this14 = this;
+    var _this15 = this;
 
 
     el.__x_transition = {
     el.__x_transition = {
       // Set transition type so we can avoid clearing transition if the direction is the same
       // Set transition type so we can avoid clearing transition if the direction is the same
@@ -6209,7 +6231,7 @@
       // from different point and early terminate it. Once will ensure that function
       // from different point and early terminate it. Once will ensure that function
       // is only called one time.
       // is only called one time.
       callback: once(function () {
       callback: once(function () {
-        _newArrowCheck(this, _this14);
+        _newArrowCheck(this, _this15);
 
 
         stages.hide(); // Adding an "isConnected" check, in case the callback
         stages.hide(); // Adding an "isConnected" check, in case the callback
         // removed the element from the DOM.
         // removed the element from the DOM.
@@ -6226,9 +6248,9 @@
     stages.start();
     stages.start();
     stages.during();
     stages.during();
     el.__x_transition.nextFrame = requestAnimationFrame(function () {
     el.__x_transition.nextFrame = requestAnimationFrame(function () {
-      var _this15 = this;
+      var _this16 = this;
 
 
-      _newArrowCheck(this, _this14);
+      _newArrowCheck(this, _this15);
 
 
       // Note: Safari's transitionDuration property will list out comma separated transition durations
       // 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.
       // for every single transition property. Let's grab the first one and call it a day.
@@ -6240,7 +6262,7 @@
 
 
       stages.show();
       stages.show();
       el.__x_transition.nextFrame = requestAnimationFrame(function () {
       el.__x_transition.nextFrame = requestAnimationFrame(function () {
-        _newArrowCheck(this, _this15);
+        _newArrowCheck(this, _this16);
 
 
         stages.end();
         stages.end();
         setTimeout(el.__x_transition.callback, duration);
         setTimeout(el.__x_transition.callback, duration);
@@ -6444,13 +6466,13 @@
         if (el.attributes.value === undefined && attrType === 'bind') {
         if (el.attributes.value === undefined && attrType === 'bind') {
           el.value = value;
           el.value = value;
         } else if (attrType !== 'bind') {
         } else if (attrType !== 'bind') {
-          el.checked = el.value == value;
+          el.checked = checkedAttrLooseCompare(el.value, value);
         }
         }
       } else if (el.type === 'checkbox') {
       } else if (el.type === 'checkbox') {
         // If we are explicitly binding a string to the :value, set the string,
         // If we are explicitly binding a string to the :value, set the string,
         // If the value is a boolean, leave it alone, it will be set to "on"
         // If the value is a boolean, leave it alone, it will be set to "on"
         // automatically.
         // automatically.
-        if (typeof value !== 'boolean' && ![null, false, undefined].includes(value) && attrType === 'bind') {
+        if (typeof value !== 'boolean' && ![null, undefined].includes(value) && attrType === 'bind') {
           el.value = String(value);
           el.value = String(value);
         } else if (attrType !== 'bind') {
         } else if (attrType !== 'bind') {
           if (Array.isArray(value)) {
           if (Array.isArray(value)) {
@@ -6460,7 +6482,7 @@
             el.checked = value.some(function (val) {
             el.checked = value.some(function (val) {
               _newArrowCheck(this, _this);
               _newArrowCheck(this, _this);
 
 
-              return val == el.value;
+              return checkedAttrLooseCompare(val, el.value);
             }.bind(this));
             }.bind(this));
           } else {
           } else {
             el.checked = !!value;
             el.checked = !!value;
@@ -6933,10 +6955,10 @@
         // If the data we are binding to is an array, toggle its value inside the array.
         // If the data we are binding to is an array, toggle its value inside the array.
         if (Array.isArray(currentValue)) {
         if (Array.isArray(currentValue)) {
           var newValue = modifiers.includes('number') ? safeParseNumber(event.target.value) : event.target.value;
           var newValue = modifiers.includes('number') ? safeParseNumber(event.target.value) : event.target.value;
-          return event.target.checked ? currentValue.concat([newValue]) : currentValue.filter(function (i) {
+          return event.target.checked ? currentValue.concat([newValue]) : currentValue.filter(function (el) {
             _newArrowCheck(this, _this3);
             _newArrowCheck(this, _this3);
 
 
-            return i !== newValue;
+            return !checkedAttrLooseCompare(el, newValue);
           }.bind(this));
           }.bind(this));
         } else {
         } else {
           return event.target.checked;
           return event.target.checked;
@@ -7100,11 +7122,22 @@
       this.unobservedData.$el = null;
       this.unobservedData.$el = null;
       this.unobservedData.$refs = null;
       this.unobservedData.$refs = null;
       this.unobservedData.$nextTick = null;
       this.unobservedData.$nextTick = null;
-      this.unobservedData.$watch = null;
-      Object.keys(Alpine.magicProperties).forEach(function (name) {
+      this.unobservedData.$watch = null; // The IE build uses a proxy polyfill which doesn't allow properties
+      // to be defined after the proxy object is created so,
+      // for IE only, we need to define our helpers earlier.
+
+      Object.entries(Alpine.magicProperties).forEach(function (_ref3) {
         _newArrowCheck(this, _this);
         _newArrowCheck(this, _this);
 
 
-        this.unobservedData["$".concat(name)] = null;
+        var _ref4 = _slicedToArray(_ref3, 2),
+            name = _ref4[0],
+            callback = _ref4[1];
+
+        Object.defineProperty(this.unobservedData, "$".concat(name), {
+          get: function get() {
+            return callback(canonicalComponentElementReference);
+          }
+        });
       }.bind(this));
       }.bind(this));
       /* IE11-ONLY:END */
       /* IE11-ONLY:END */
       // Construct a Proxy-based observable. This will be used to handle reactivity.
       // Construct a Proxy-based observable. This will be used to handle reactivity.
@@ -7134,22 +7167,8 @@
 
 
         if (!this.watchers[property]) this.watchers[property] = [];
         if (!this.watchers[property]) this.watchers[property] = [];
         this.watchers[property].push(callback);
         this.watchers[property].push(callback);
-      }.bind(this); // Register custom magic properties.
-
-
-      Object.entries(Alpine.magicProperties).forEach(function (_ref3) {
-        _newArrowCheck(this, _this);
-
-        var _ref4 = _slicedToArray(_ref3, 2),
-            name = _ref4[0],
-            callback = _ref4[1];
+      }.bind(this);
 
 
-        Object.defineProperty(this.unobservedData, "$".concat(name), {
-          get: function get() {
-            return callback(canonicalComponentElementReference);
-          }
-        });
-      }.bind(this));
       this.showDirectiveStack = [];
       this.showDirectiveStack = [];
       this.showDirectiveLastElement;
       this.showDirectiveLastElement;
       componentForClone || Alpine.onBeforeComponentInitializeds.forEach(function (callback) {
       componentForClone || Alpine.onBeforeComponentInitializeds.forEach(function (callback) {
@@ -7673,7 +7692,7 @@
   }();
   }();
 
 
   var Alpine = {
   var Alpine = {
-    version: "2.7.0",
+    version: "2.7.1",
     pauseMutationObserver: false,
     pauseMutationObserver: false,
     magicProperties: {},
     magicProperties: {},
     onComponentInitializeds: [],
     onComponentInitializeds: [],
@@ -7714,11 +7733,7 @@
                     this.initializeComponent(el);
                     this.initializeComponent(el);
                   }.bind(this));
                   }.bind(this));
                 }.bind(this));
                 }.bind(this));
-                this.listenForNewUninitializedComponentsAtRunTime(function (el) {
-                  _newArrowCheck(this, _this);
-
-                  this.initializeComponent(el);
-                }.bind(this));
+                this.listenForNewUninitializedComponentsAtRunTime();
 
 
               case 6:
               case 6:
               case "end":
               case "end":
@@ -7759,7 +7774,7 @@
         callback(rootEl);
         callback(rootEl);
       }.bind(this));
       }.bind(this));
     },
     },
-    listenForNewUninitializedComponentsAtRunTime: function listenForNewUninitializedComponentsAtRunTime(callback) {
+    listenForNewUninitializedComponentsAtRunTime: function listenForNewUninitializedComponentsAtRunTime() {
       var _this5 = this;
       var _this5 = this;
 
 
       var targetNode = document.querySelector('body');
       var targetNode = document.querySelector('body');

+ 9 - 8
dist/alpine.js

@@ -70,6 +70,9 @@
   function isTesting() {
   function isTesting() {
     return navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom");
     return navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom");
   }
   }
+  function checkedAttrLooseCompare(valueA, valueB) {
+    return valueA == valueB;
+  }
   function warnIfMalformedTemplate(el, directive) {
   function warnIfMalformedTemplate(el, directive) {
     if (el.tagName.toLowerCase() !== 'template') {
     if (el.tagName.toLowerCase() !== 'template') {
       console.warn(`Alpine: [${directive}] directive should only be added to <template> tags. See https://github.com/alpinejs/alpine#${directive}`);
       console.warn(`Alpine: [${directive}] directive should only be added to <template> tags. See https://github.com/alpinejs/alpine#${directive}`);
@@ -642,7 +645,7 @@
         if (el.attributes.value === undefined && attrType === 'bind') {
         if (el.attributes.value === undefined && attrType === 'bind') {
           el.value = value;
           el.value = value;
         } else if (attrType !== 'bind') {
         } else if (attrType !== 'bind') {
-          el.checked = el.value == value;
+          el.checked = checkedAttrLooseCompare(el.value, value);
         }
         }
       } else if (el.type === 'checkbox') {
       } else if (el.type === 'checkbox') {
         // If we are explicitly binding a string to the :value, set the string,
         // If we are explicitly binding a string to the :value, set the string,
@@ -655,7 +658,7 @@
             // I'm purposely not using Array.includes here because it's
             // I'm purposely not using Array.includes here because it's
             // strict, and because of Numeric/String mis-casting, I
             // strict, and because of Numeric/String mis-casting, I
             // want the "includes" to be "fuzzy".
             // want the "includes" to be "fuzzy".
-            el.checked = value.some(val => val == el.value);
+            el.checked = value.some(val => checkedAttrLooseCompare(val, el.value));
           } else {
           } else {
             el.checked = !!value;
             el.checked = !!value;
           }
           }
@@ -971,7 +974,7 @@
         // If the data we are binding to is an array, toggle its value inside the array.
         // If the data we are binding to is an array, toggle its value inside the array.
         if (Array.isArray(currentValue)) {
         if (Array.isArray(currentValue)) {
           const newValue = modifiers.includes('number') ? safeParseNumber(event.target.value) : event.target.value;
           const newValue = modifiers.includes('number') ? safeParseNumber(event.target.value) : event.target.value;
-          return event.target.checked ? currentValue.concat([newValue]) : currentValue.filter(i => i !== newValue);
+          return event.target.checked ? currentValue.concat([newValue]) : currentValue.filter(el => !checkedAttrLooseCompare(el, newValue));
         } else {
         } else {
           return event.target.checked;
           return event.target.checked;
         }
         }
@@ -1788,7 +1791,7 @@
   }
   }
 
 
   const Alpine = {
   const Alpine = {
-    version: "2.7.0",
+    version: "2.7.1",
     pauseMutationObserver: false,
     pauseMutationObserver: false,
     magicProperties: {},
     magicProperties: {},
     onComponentInitializeds: [],
     onComponentInitializeds: [],
@@ -1809,9 +1812,7 @@
           this.initializeComponent(el);
           this.initializeComponent(el);
         });
         });
       });
       });
-      this.listenForNewUninitializedComponentsAtRunTime(el => {
-        this.initializeComponent(el);
-      });
+      this.listenForNewUninitializedComponentsAtRunTime();
     },
     },
     discoverComponents: function discoverComponents(callback) {
     discoverComponents: function discoverComponents(callback) {
       const rootEls = document.querySelectorAll('[x-data]');
       const rootEls = document.querySelectorAll('[x-data]');
@@ -1825,7 +1826,7 @@
         callback(rootEl);
         callback(rootEl);
       });
       });
     },
     },
-    listenForNewUninitializedComponentsAtRunTime: function listenForNewUninitializedComponentsAtRunTime(callback) {
+    listenForNewUninitializedComponentsAtRunTime: function listenForNewUninitializedComponentsAtRunTime() {
       const targetNode = document.querySelector('body');
       const targetNode = document.querySelector('body');
       const observerOptions = {
       const observerOptions = {
         childList: true,
         childList: true,

+ 1 - 1
package.json

@@ -1,7 +1,7 @@
 {
 {
     "main": "dist/alpine.js",
     "main": "dist/alpine.js",
     "name": "alpinejs",
     "name": "alpinejs",
-    "version": "2.7.0",
+    "version": "2.7.1",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
         "url": "git://github.com/alpinejs/alpine.git"
         "url": "git://github.com/alpinejs/alpine.git"