ember-safe-button 3.0.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +9 -0
- package/dist/components/safe-button/animations/flip.js.map +1 -1
- package/dist/components/safe-button/animations/index.js.map +1 -1
- package/dist/components/safe-button/animations/lift-bars.js +4 -2
- package/dist/components/safe-button/animations/lift-bars.js.map +1 -1
- package/dist/components/safe-button/animations/poing.js.map +1 -1
- package/dist/components/safe-button/animations/roll.js.map +1 -1
- package/dist/components/safe-button/animations/slide.js.map +1 -1
- package/dist/components/safe-button/animations/zoom.js.map +1 -1
- package/dist/components/safe-button/index.js +3 -2
- package/dist/components/safe-button/index.js.map +1 -1
- package/dist/components/safety/index.js +5 -10
- package/dist/components/safety/index.js.map +1 -1
- package/dist/components/trigger/index.js +5 -9
- package/dist/components/trigger/index.js.map +1 -1
- package/dist/{index-65a73164.js → index-BZOIdnQv.js} +55 -84
- package/dist/index-BZOIdnQv.js.map +1 -0
- package/dist/modifiers/animate-me.js +1 -2
- package/dist/modifiers/animate-me.js.map +1 -1
- package/package.json +29 -29
- package/dist/index-65a73164.js.map +0 -1
package/LICENSE.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2019
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flip.js","sources":["../../../../src/components/safe-button/animations/flip.js"],"sourcesContent":["// TODO: https://github.com/animate-css/animate.css/blob/main/source/flippers/flipOutX.css\n// TODO: https://github.com/animate-css/animate.css/blob/main/source/flippers/flipInX.css\nexport default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'perspective(400px)', offset: 0 },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -20deg)',\n offset: 0.3 / 2,\n opacity: 1,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 1 / 2,\n opacity: 0,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n locking: {\n keyframes: [\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 0,\n opacity: 0,\n },\n {\n transform: ['perspective(400px)', 'rotate3d(1, 0, 0, -20deg)'],\n offset: 0.4 / 2 + 0.5,\n },\n {\n transform: ['perspective(400px)', 'rotate3d(1, 0, 0, 10deg)'],\n offset: 0.6 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: ['perspective(400px)', 'rotate3d(1, 0, 0, -5deg)'],\n offset: 0.8 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: 'perspective(400px)',\n offset: 1 / 2 + 0.5,\n opacity: 1,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 0 + 0.5,\n opacity: 0,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -20deg)',\n offset: 0.4 / 2 + 0.5,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 10deg)',\n offset: 0.6 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -5deg)',\n offset: 0.8 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: 'perspective(400px)',\n offset: 1 / 2 + 0.5,\n opacity: 1,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n locking: {\n keyframes: [\n { transform: 'perspective(400px)', offset: 0 },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -20deg)',\n offset: 0.3 / 2,\n opacity: 1,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 1 / 2,\n opacity: 0,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","offset","opacity","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA;AACA;AACA,WAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"flip.js","sources":["../../../../src/components/safe-button/animations/flip.js"],"sourcesContent":["// TODO: https://github.com/animate-css/animate.css/blob/main/source/flippers/flipOutX.css\n// TODO: https://github.com/animate-css/animate.css/blob/main/source/flippers/flipInX.css\nexport default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'perspective(400px)', offset: 0 },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -20deg)',\n offset: 0.3 / 2,\n opacity: 1,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 1 / 2,\n opacity: 0,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n locking: {\n keyframes: [\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 0,\n opacity: 0,\n },\n {\n transform: ['perspective(400px)', 'rotate3d(1, 0, 0, -20deg)'],\n offset: 0.4 / 2 + 0.5,\n },\n {\n transform: ['perspective(400px)', 'rotate3d(1, 0, 0, 10deg)'],\n offset: 0.6 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: ['perspective(400px)', 'rotate3d(1, 0, 0, -5deg)'],\n offset: 0.8 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: 'perspective(400px)',\n offset: 1 / 2 + 0.5,\n opacity: 1,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 0 + 0.5,\n opacity: 0,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -20deg)',\n offset: 0.4 / 2 + 0.5,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 10deg)',\n offset: 0.6 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -5deg)',\n offset: 0.8 / 2 + 0.5,\n opacity: 1,\n },\n {\n transform: 'perspective(400px)',\n offset: 1 / 2 + 0.5,\n opacity: 1,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n locking: {\n keyframes: [\n { transform: 'perspective(400px)', offset: 0 },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, -20deg)',\n offset: 0.3 / 2,\n opacity: 1,\n },\n {\n transform: 'perspective(400px) rotate3d(1, 0, 0, 90deg)',\n offset: 1 / 2,\n opacity: 0,\n },\n ],\n options: {\n duration: 1000,\n fill: 'forwards',\n easing: 'ease-in',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","offset","opacity","options","duration","fill","easing","locking","trigger"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/safe-button/animations/index.js"],"sourcesContent":["import poing from './poing';\nimport slide from './slide';\nimport roll from './roll';\nimport flip from './flip';\nimport liftBars from './lift-bars';\nimport zoom from './zoom';\n\nexport default {\n poing,\n slide,\n flip,\n zoom,\n roll,\n 'lift-bars': liftBars,\n};\n"],"names":["poing","slide","flip","zoom","roll","liftBars"],"mappings":";;;;;;;AAOA,yBAAe;EACbA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/safe-button/animations/index.js"],"sourcesContent":["import poing from './poing';\nimport slide from './slide';\nimport roll from './roll';\nimport flip from './flip';\nimport liftBars from './lift-bars';\nimport zoom from './zoom';\n\nexport default {\n poing,\n slide,\n flip,\n zoom,\n roll,\n 'lift-bars': liftBars,\n};\n"],"names":["poing","slide","flip","zoom","roll","liftBars"],"mappings":";;;;;;;AAOA,yBAAe;EACbA,KAAK;EACLC,KAAK;EACLC,IAAI;EACJC,IAAI;EACJC,IAAI;AACJ,EAAA,WAAW,EAAEC;AACf,CAAC;;;;"}
|
|
@@ -27,7 +27,8 @@ var liftBars = {
|
|
|
27
27
|
},
|
|
28
28
|
trigger: {
|
|
29
29
|
unlocking: {
|
|
30
|
-
keyframes: [
|
|
30
|
+
keyframes: [
|
|
31
|
+
// { transform: 'translateX(100%)' },
|
|
31
32
|
// { transform: 'translateX(0)' },
|
|
32
33
|
],
|
|
33
34
|
options: {
|
|
@@ -37,7 +38,8 @@ var liftBars = {
|
|
|
37
38
|
}
|
|
38
39
|
},
|
|
39
40
|
locking: {
|
|
40
|
-
keyframes: [
|
|
41
|
+
keyframes: [
|
|
42
|
+
// { transform: 'translateX(0)' },
|
|
41
43
|
// { transform: 'translateX(100%)' },
|
|
42
44
|
],
|
|
43
45
|
options: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lift-bars.js","sources":["../../../../src/components/safe-button/animations/lift-bars.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translate3d(0, 0, 0)' },\n { transform: 'translate3d(0, -100%, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translate3d(0, -100%, 0)' },\n { transform: 'translate3d(0, 0, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n // { transform: 'translateX(100%)' },\n // { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n // { transform: 'translateX(0)' },\n // { transform: 'translateX(100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,eAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"lift-bars.js","sources":["../../../../src/components/safe-button/animations/lift-bars.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translate3d(0, 0, 0)' },\n { transform: 'translate3d(0, -100%, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translate3d(0, -100%, 0)' },\n { transform: 'translate3d(0, 0, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n // { transform: 'translateX(100%)' },\n // { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n // { transform: 'translateX(0)' },\n // { transform: 'translateX(100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,eAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAuB,OAAC,EACrC;AAAEA,QAAAA,SAAS,EAAE;AAA2B,OAAC,CAC1C;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPN,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAA2B,OAAC,EACzC;AAAEA,QAAAA,SAAS,EAAE;AAAuB,OAAC,CACtC;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;GACD;AACDE,EAAAA,OAAO,EAAE;AACPR,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE;AACT;AACA;OACD;AACDE,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPN,MAAAA,SAAS,EAAE;AACT;AACA;OACD;AACDE,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poing.js","sources":["../../../../src/components/safe-button/animations/poing.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, offset: 0 },\n {\n transform: 'translateX(0px) scale(0.7)',\n opacity: 0.7,\n offset: 0.2,\n },\n {\n transform: 'translateX(-2000px) scale(0.7)',\n opacity: 0.7,\n offset: 1,\n },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n {\n transform: 'translateX(-2000px) scale(0.7)',\n opacity: 0.7,\n offset: 0,\n },\n {\n transform: 'translateX(0px) scale(0.7)',\n opacity: 0.7,\n offset: 0.8,\n },\n { transform: 'scale(1)', opacity: 1, offset: 1 },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n {\n opacity: 0,\n transform: 'translate3d(3000px, 0, 0) scaleX(3)',\n offset: 0,\n },\n {\n opacity: 1,\n transform: 'translate3d(-25px, 0, 0) scaleX(1)',\n offset: 0.6,\n },\n {\n opacity: 1,\n transform: 'translate3d(10px, 0, 0) scaleX(0.98)',\n offset: 0.75,\n },\n {\n opacity: 1,\n transform: 'translate3d(-5px, 0, 0) scaleX(0.995)',\n offset: 0.9,\n },\n {\n opacity: 1,\n transform: 'translate3d(0, 0, 0)',\n offset: 1,\n },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n },\n },\n locking: {\n keyframes: [\n {\n opacity: 1,\n transform: 'translate3d(-20px, 0, 0) scaleX(0.9)',\n offset: 0.2,\n },\n {\n opacity: 0,\n transform: 'translate3d(2000px, 0, 0) scaleX(2)',\n offset: 1,\n },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","opacity","offset","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,YAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"poing.js","sources":["../../../../src/components/safe-button/animations/poing.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'scale(1)', opacity: 1, offset: 0 },\n {\n transform: 'translateX(0px) scale(0.7)',\n opacity: 0.7,\n offset: 0.2,\n },\n {\n transform: 'translateX(-2000px) scale(0.7)',\n opacity: 0.7,\n offset: 1,\n },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n {\n transform: 'translateX(-2000px) scale(0.7)',\n opacity: 0.7,\n offset: 0,\n },\n {\n transform: 'translateX(0px) scale(0.7)',\n opacity: 0.7,\n offset: 0.8,\n },\n { transform: 'scale(1)', opacity: 1, offset: 1 },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n {\n opacity: 0,\n transform: 'translate3d(3000px, 0, 0) scaleX(3)',\n offset: 0,\n },\n {\n opacity: 1,\n transform: 'translate3d(-25px, 0, 0) scaleX(1)',\n offset: 0.6,\n },\n {\n opacity: 1,\n transform: 'translate3d(10px, 0, 0) scaleX(0.98)',\n offset: 0.75,\n },\n {\n opacity: 1,\n transform: 'translate3d(-5px, 0, 0) scaleX(0.995)',\n offset: 0.9,\n },\n {\n opacity: 1,\n transform: 'translate3d(0, 0, 0)',\n offset: 1,\n },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n },\n },\n locking: {\n keyframes: [\n {\n opacity: 1,\n transform: 'translate3d(-20px, 0, 0) scaleX(0.9)',\n offset: 0.2,\n },\n {\n opacity: 0,\n transform: 'translate3d(2000px, 0, 0) scaleX(2)',\n offset: 1,\n },\n ],\n options: {\n duration: 2000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","opacity","offset","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,YAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE,UAAU;AAAEC,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,MAAM,EAAE;AAAE,OAAC,EAChD;AACEF,QAAAA,SAAS,EAAE,4BAA4B;AACvCC,QAAAA,OAAO,EAAE,GAAG;AACZC,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AACEF,QAAAA,SAAS,EAAE,gCAAgC;AAC3CC,QAAAA,OAAO,EAAE,GAAG;AACZC,QAAAA,MAAM,EAAE;AACV,OAAC,CACF;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPR,MAAAA,SAAS,EAAE,CACT;AACEC,QAAAA,SAAS,EAAE,gCAAgC;AAC3CC,QAAAA,OAAO,EAAE,GAAG;AACZC,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AACEF,QAAAA,SAAS,EAAE,4BAA4B;AACvCC,QAAAA,OAAO,EAAE,GAAG;AACZC,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AAAEF,QAAAA,SAAS,EAAE,UAAU;AAAEC,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,MAAM,EAAE;AAAE,OAAC,CACjD;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;GACD;AACDE,EAAAA,OAAO,EAAE;AACPV,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AACEE,QAAAA,OAAO,EAAE,CAAC;AACVD,QAAAA,SAAS,EAAE,qCAAqC;AAChDE,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AACED,QAAAA,OAAO,EAAE,CAAC;AACVD,QAAAA,SAAS,EAAE,oCAAoC;AAC/CE,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AACED,QAAAA,OAAO,EAAE,CAAC;AACVD,QAAAA,SAAS,EAAE,sCAAsC;AACjDE,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AACED,QAAAA,OAAO,EAAE,CAAC;AACVD,QAAAA,SAAS,EAAE,uCAAuC;AAClDE,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AACED,QAAAA,OAAO,EAAE,CAAC;AACVD,QAAAA,SAAS,EAAE,sBAAsB;AACjCE,QAAAA,MAAM,EAAE;AACV,OAAC,CACF;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPR,MAAAA,SAAS,EAAE,CACT;AACEE,QAAAA,OAAO,EAAE,CAAC;AACVD,QAAAA,SAAS,EAAE,sCAAsC;AACjDE,QAAAA,MAAM,EAAE;AACV,OAAC,EACD;AACED,QAAAA,OAAO,EAAE,CAAC;AACVD,QAAAA,SAAS,EAAE,qCAAqC;AAChDE,QAAAA,MAAM,EAAE;AACV,OAAC,CACF;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roll.js","sources":["../../../../src/components/safe-button/animations/roll.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(-100%) rotate(-180deg)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(-100%) rotate(-180deg)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(100%) rotate(180deg)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(100%) rotate(180deg)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,WAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"roll.js","sources":["../../../../src/components/safe-button/animations/roll.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(-100%) rotate(-180deg)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(-100%) rotate(-180deg)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(100%) rotate(180deg)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(100%) rotate(180deg)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,WAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAgB,OAAC,EAC9B;AAAEA,QAAAA,SAAS,EAAE;AAAoC,OAAC,CACnD;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPN,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAoC,OAAC,EAClD;AAAEA,QAAAA,SAAS,EAAE;AAAgB,OAAC,CAC/B;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;GACD;AACDE,EAAAA,OAAO,EAAE;AACPR,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAkC,OAAC,EAChD;AAAEA,QAAAA,SAAS,EAAE;AAAgB,OAAC,CAC/B;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPN,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAgB,OAAC,EAC9B;AAAEA,QAAAA,SAAS,EAAE;AAAkC,OAAC,CACjD;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slide.js","sources":["../../../../src/components/safe-button/animations/slide.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(-100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(-100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,YAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE
|
|
1
|
+
{"version":3,"file":"slide.js","sources":["../../../../src/components/safe-button/animations/slide.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(-100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(-100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","transform","options","duration","fill","easing","locking","trigger"],"mappings":"AAAA,YAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAgB,OAAC,EAC9B;AAAEA,QAAAA,SAAS,EAAE;AAAoB,OAAC,CACnC;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPN,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAoB,OAAC,EAClC;AAAEA,QAAAA,SAAS,EAAE;AAAgB,OAAC,CAC/B;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;GACD;AACDE,EAAAA,OAAO,EAAE;AACPR,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAmB,OAAC,EACjC;AAAEA,QAAAA,SAAS,EAAE;AAAgB,OAAC,CAC/B;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPN,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,SAAS,EAAE;AAAgB,OAAC,EAC9B;AAAEA,QAAAA,SAAS,EAAE;AAAmB,OAAC,CAClC;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom.js","sources":["../../../../src/components/safe-button/animations/zoom.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { offset: 0, transform: 'translate3d(0, 0, 0)' },\n { offset: 1, transform: 'translate3d(100%, 0, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { offset: 0, transform: 'translate3d(-100%, 0, 0)' },\n { offset: 1, transform: 'translate3d(0, 0, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { offset: 0, opacity: 0, transform: 'scale3d(0.3, 0.3, 0.3)' },\n { offset: 0.5, opacity: 1 },\n { offset: 1, opacity: 1 },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { offset: 0, opacity: 1 },\n { offset: 0.5, opacity: 0, transform: 'scale3d(0.3, 0.3, 0.3)' },\n { offset: 1, opacity: 0 },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","offset","transform","options","duration","fill","easing","locking","trigger","opacity"],"mappings":"AAAA,WAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"zoom.js","sources":["../../../../src/components/safe-button/animations/zoom.js"],"sourcesContent":["export default {\n safety: {\n unlocking: {\n keyframes: [\n { offset: 0, transform: 'translate3d(0, 0, 0)' },\n { offset: 1, transform: 'translate3d(100%, 0, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { offset: 0, transform: 'translate3d(-100%, 0, 0)' },\n { offset: 1, transform: 'translate3d(0, 0, 0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { offset: 0, opacity: 0, transform: 'scale3d(0.3, 0.3, 0.3)' },\n { offset: 0.5, opacity: 1 },\n { offset: 1, opacity: 1 },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { offset: 0, opacity: 1 },\n { offset: 0.5, opacity: 0, transform: 'scale3d(0.3, 0.3, 0.3)' },\n { offset: 1, opacity: 0 },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n};\n"],"names":["safety","unlocking","keyframes","offset","transform","options","duration","fill","easing","locking","trigger","opacity"],"mappings":"AAAA,WAAe;AACbA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,MAAM,EAAE,CAAC;AAAEC,QAAAA,SAAS,EAAE;AAAuB,OAAC,EAChD;AAAED,QAAAA,MAAM,EAAE,CAAC;AAAEC,QAAAA,SAAS,EAAE;AAA0B,OAAC,CACpD;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPP,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,MAAM,EAAE,CAAC;AAAEC,QAAAA,SAAS,EAAE;AAA2B,OAAC,EACpD;AAAED,QAAAA,MAAM,EAAE,CAAC;AAAEC,QAAAA,SAAS,EAAE;AAAuB,OAAC,CACjD;AACDC,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;GACD;AACDE,EAAAA,OAAO,EAAE;AACPT,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,MAAM,EAAE,CAAC;AAAEQ,QAAAA,OAAO,EAAE,CAAC;AAAEP,QAAAA,SAAS,EAAE;AAAyB,OAAC,EAC9D;AAAED,QAAAA,MAAM,EAAE,GAAG;AAAEQ,QAAAA,OAAO,EAAE;AAAE,OAAC,EAC3B;AAAER,QAAAA,MAAM,EAAE,CAAC;AAAEQ,QAAAA,OAAO,EAAE;AAAE,OAAC,CAC1B;AACDN,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;KACD;AACDC,IAAAA,OAAO,EAAE;AACPP,MAAAA,SAAS,EAAE,CACT;AAAEC,QAAAA,MAAM,EAAE,CAAC;AAAEQ,QAAAA,OAAO,EAAE;AAAE,OAAC,EACzB;AAAER,QAAAA,MAAM,EAAE,GAAG;AAAEQ,QAAAA,OAAO,EAAE,CAAC;AAAEP,QAAAA,SAAS,EAAE;AAAyB,OAAC,EAChE;AAAED,QAAAA,MAAM,EAAE,CAAC;AAAEQ,QAAAA,OAAO,EAAE;AAAE,OAAC,CAC1B;AACDN,MAAAA,OAAO,EAAE;AACPC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,MAAM,EAAE;AACV;AACF;AACF;AACF,CAAC;;;;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export { S as SAFETY_STATUS, a as default } from '../../index-
|
|
2
|
-
import '
|
|
1
|
+
export { S as SAFETY_STATUS, a as default } from '../../index-BZOIdnQv.js';
|
|
2
|
+
import 'ember-concurrency/async-arrow-runtime';
|
|
3
3
|
import '@glimmer/component';
|
|
4
4
|
import '@glimmer/tracking';
|
|
5
5
|
import '@ember/debug';
|
|
6
6
|
import '@ember/object';
|
|
7
7
|
import 'ember-concurrency';
|
|
8
8
|
import './animations/index.js';
|
|
9
|
+
import '@ember/component';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { setComponentTemplate } from '@ember/component';
|
|
3
|
-
import { hbs } from 'ember-cli-htmlbars';
|
|
1
|
+
import { _ as _defineProperty, S as SAFETY_STATUS } from '../../index-BZOIdnQv.js';
|
|
4
2
|
import Component from '@glimmer/component';
|
|
3
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
4
|
+
import { setComponentTemplate } from '@ember/component';
|
|
5
5
|
|
|
6
|
-
var TEMPLATE =
|
|
6
|
+
var TEMPLATE = precompileTemplate("<button\n class={{this.BASIC_CLASS}}\n disabled={{this.isDisabled}}\n aria-label={{this.ariaLabel}}\n type=\'button\'\n tabindex={{if this.isDisabled \'-1\' \'0\'}}\n ...attributes\n {{on \'click\' @onClick}}\n {{animate-me\n safetyStatus=@safetyStatus\n webAnimations=@webAnimations\n focusMe=this.focusMe\n }}\n>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@displayedMessage}}\n {{/if}}\n</button>");
|
|
7
7
|
|
|
8
8
|
const BASIC_CLASS = 'ember-safe-button-safety';
|
|
9
9
|
const ARIA_LABELS = {
|
|
@@ -12,6 +12,7 @@ const ARIA_LABELS = {
|
|
|
12
12
|
[SAFETY_STATUS.UNLOCKED]: 'Safety not active',
|
|
13
13
|
[SAFETY_STATUS.LOCKING]: 'Activating safety'
|
|
14
14
|
};
|
|
15
|
+
|
|
15
16
|
/**
|
|
16
17
|
Safety is a component that covers the trigger.
|
|
17
18
|
|
|
@@ -27,26 +28,20 @@ const ARIA_LABELS = {
|
|
|
27
28
|
|
|
28
29
|
@class SafetyComponent
|
|
29
30
|
*/
|
|
30
|
-
|
|
31
31
|
class SafetyComponent extends Component {
|
|
32
32
|
constructor(...args) {
|
|
33
33
|
super(...args);
|
|
34
|
-
|
|
35
34
|
_defineProperty(this, "BASIC_CLASS", BASIC_CLASS);
|
|
36
35
|
}
|
|
37
|
-
|
|
38
36
|
get isDisabled() {
|
|
39
37
|
return this.args.safetyStatus === SAFETY_STATUS.UNLOCKED;
|
|
40
38
|
}
|
|
41
|
-
|
|
42
39
|
get focusMe() {
|
|
43
40
|
return !this.isDisabled;
|
|
44
41
|
}
|
|
45
|
-
|
|
46
42
|
get ariaLabel() {
|
|
47
43
|
return ARIA_LABELS[this.args.safetyStatus];
|
|
48
44
|
}
|
|
49
|
-
|
|
50
45
|
}
|
|
51
46
|
setComponentTemplate(TEMPLATE, SafetyComponent);
|
|
52
47
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/safety/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/safety/index.js"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport { SAFETY_STATUS } from '../safe-button/index';\n\nexport const BASIC_CLASS = 'ember-safe-button-safety';\nexport const ARIA_LABELS = {\n [SAFETY_STATUS.LOCKED]: 'Deactivate safety',\n [SAFETY_STATUS.UNLOCKING]: 'Deactivating safety',\n [SAFETY_STATUS.UNLOCKED]: 'Safety not active',\n [SAFETY_STATUS.LOCKING]: 'Activating safety',\n};\n\n/**\n Safety is a component that covers the trigger.\n\n ```hbs\n <SafeButton\n @onConfirm={{action safeButtonClicked}} as |button|\n >\n <button.safety class=\"bg-grey-light\">\n This is safety\n </button.safety>\n </SafeButton>\n ```\n\n @class SafetyComponent\n */\nexport default class SafetyComponent extends Component {\n BASIC_CLASS = BASIC_CLASS;\n\n get isDisabled() {\n return this.args.safetyStatus === SAFETY_STATUS.UNLOCKED;\n }\n\n get focusMe() {\n return !this.isDisabled;\n }\n\n get ariaLabel() {\n return ARIA_LABELS[this.args.safetyStatus];\n }\n}\n"],"names":["BASIC_CLASS","ARIA_LABELS","SAFETY_STATUS","LOCKED","UNLOCKING","UNLOCKED","LOCKING","SafetyComponent","Component","constructor","args","_defineProperty","isDisabled","safetyStatus","focusMe","ariaLabel","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAIO,MAAMA,WAAW,GAAG;AACpB,MAAMC,WAAW,GAAG;AACzB,EAAA,CAACC,aAAa,CAACC,MAAM,GAAG,mBAAmB;AAC3C,EAAA,CAACD,aAAa,CAACE,SAAS,GAAG,qBAAqB;AAChD,EAAA,CAACF,aAAa,CAACG,QAAQ,GAAG,mBAAmB;EAC7C,CAACH,aAAa,CAACI,OAAO,GAAG;AAC3B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACe,MAAMC,eAAe,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAAC,IAAAA,eAAA,sBACvCX,WAAW,CAAA;AAAA,EAAA;EAEzB,IAAIY,UAAUA,GAAG;IACf,OAAO,IAAI,CAACF,IAAI,CAACG,YAAY,KAAKX,aAAa,CAACG,QAAQ;AAC1D,EAAA;EAEA,IAAIS,OAAOA,GAAG;IACZ,OAAO,CAAC,IAAI,CAACF,UAAU;AACzB,EAAA;EAEA,IAAIG,SAASA,GAAG;AACd,IAAA,OAAOd,WAAW,CAAC,IAAI,CAACS,IAAI,CAACG,YAAY,CAAC;AAC5C,EAAA;AACF;AAACG,oBAAA,CAAAC,QAAA,EAdoBV,eAAe,CAAA;;;;"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { _ as _defineProperty, S as SAFETY_STATUS } from '../../index-
|
|
2
|
-
import { setComponentTemplate } from '@ember/component';
|
|
3
|
-
import { hbs } from 'ember-cli-htmlbars';
|
|
1
|
+
import { _ as _defineProperty, S as SAFETY_STATUS } from '../../index-BZOIdnQv.js';
|
|
4
2
|
import Component from '@glimmer/component';
|
|
3
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
4
|
+
import { setComponentTemplate } from '@ember/component';
|
|
5
5
|
|
|
6
|
-
var TEMPLATE =
|
|
6
|
+
var TEMPLATE = precompileTemplate("<button\n class={{this.BASIC_CLASS}}\n disabled={{this.isDisabled}}\n aria-label=\'Confirm action\'\n type=\'button\'\n tabindex={{if this.isDisabled \'-1\' \'0\'}}\n ...attributes\n {{on \'click\' @onClick}}\n {{animate-me\n safetyStatus=@safetyStatus\n webAnimations=@webAnimations\n focusMe=this.focusMe\n }}\n>\n {{#if (has-block)}}\n {{yield}}\n {{else}}\n {{@displayedMessage}}\n {{/if}}\n</button>");
|
|
7
7
|
|
|
8
8
|
const BASIC_CLASS = 'ember-safe-button-trigger';
|
|
9
|
+
|
|
9
10
|
/**
|
|
10
11
|
Trigger is a component that is by default covered by safety and triggers the action passed to <SafeButton> when clicked.
|
|
11
12
|
|
|
@@ -21,22 +22,17 @@ const BASIC_CLASS = 'ember-safe-button-trigger';
|
|
|
21
22
|
|
|
22
23
|
@class SafetyComponent
|
|
23
24
|
*/
|
|
24
|
-
|
|
25
25
|
class TriggerComponent extends Component {
|
|
26
26
|
constructor(...args) {
|
|
27
27
|
super(...args);
|
|
28
|
-
|
|
29
28
|
_defineProperty(this, "BASIC_CLASS", BASIC_CLASS);
|
|
30
29
|
}
|
|
31
|
-
|
|
32
30
|
get isDisabled() {
|
|
33
31
|
return this.args.safetyStatus !== SAFETY_STATUS.UNLOCKED;
|
|
34
32
|
}
|
|
35
|
-
|
|
36
33
|
get focusMe() {
|
|
37
34
|
return !this.isDisabled;
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
}
|
|
41
37
|
setComponentTemplate(TEMPLATE, TriggerComponent);
|
|
42
38
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/trigger/index.
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/trigger/index.js"],"sourcesContent":["import Component from '@glimmer/component';\n\nimport { SAFETY_STATUS } from '../safe-button/index';\n\nexport const BASIC_CLASS = 'ember-safe-button-trigger';\n\n/**\n Trigger is a component that is by default covered by safety and triggers the action passed to <SafeButton> when clicked.\n\n ```hbs\n <SafeButton\n @onConfirm={{action safeButtonClicked}} as |button|\n >\n <button.trigger class=\"bg-red-dark\">\n Trigger\n </button.trigger>\n </SafeButton>\n ```\n\n @class SafetyComponent\n */\nexport default class TriggerComponent extends Component {\n BASIC_CLASS = BASIC_CLASS;\n\n get isDisabled() {\n return this.args.safetyStatus !== SAFETY_STATUS.UNLOCKED;\n }\n\n get focusMe() {\n return !this.isDisabled;\n }\n}\n"],"names":["BASIC_CLASS","TriggerComponent","Component","constructor","args","_defineProperty","isDisabled","safetyStatus","SAFETY_STATUS","UNLOCKED","focusMe","setComponentTemplate","TEMPLATE"],"mappings":";;;;;;;AAIO,MAAMA,WAAW,GAAG;;AAE3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACe,MAAMC,gBAAgB,SAASC,SAAS,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;AAAAC,IAAAA,eAAA,sBACxCL,WAAW,CAAA;AAAA,EAAA;EAEzB,IAAIM,UAAUA,GAAG;IACf,OAAO,IAAI,CAACF,IAAI,CAACG,YAAY,KAAKC,aAAa,CAACC,QAAQ;AAC1D,EAAA;EAEA,IAAIC,OAAOA,GAAG;IACZ,OAAO,CAAC,IAAI,CAACJ,UAAU;AACzB,EAAA;AACF;AAACK,oBAAA,CAAAC,QAAA,EAVoBX,gBAAgB,CAAA;;;;"}
|
|
@@ -1,77 +1,64 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { hbs } from 'ember-cli-htmlbars';
|
|
1
|
+
import { buildTask } from 'ember-concurrency/async-arrow-runtime';
|
|
3
2
|
import Component from '@glimmer/component';
|
|
4
3
|
import { tracked } from '@glimmer/tracking';
|
|
5
4
|
import { assert } from '@ember/debug';
|
|
6
5
|
import { action } from '@ember/object';
|
|
7
|
-
import {
|
|
6
|
+
import { timeout } from 'ember-concurrency';
|
|
8
7
|
import embeddedAnimations from './components/safe-button/animations/index.js';
|
|
8
|
+
import { precompileTemplate } from '@ember/template-compilation';
|
|
9
|
+
import { setComponentTemplate } from '@ember/component';
|
|
9
10
|
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
} else {
|
|
19
|
-
obj[key] = value;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return obj;
|
|
11
|
+
function _applyDecoratedDescriptor(i, e, r, n, l) {
|
|
12
|
+
var a = {};
|
|
13
|
+
return Object.keys(n).forEach(function (i) {
|
|
14
|
+
a[i] = n[i];
|
|
15
|
+
}), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, ("value" in a || a.initializer) && (a.writable = true), a = r.slice().reverse().reduce(function (r, n) {
|
|
16
|
+
return n(i, e, r) || r;
|
|
17
|
+
}, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a;
|
|
23
18
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
|
|
32
|
-
});
|
|
19
|
+
function _defineProperty(e, r, t) {
|
|
20
|
+
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
21
|
+
value: t,
|
|
22
|
+
enumerable: true,
|
|
23
|
+
configurable: true,
|
|
24
|
+
writable: true
|
|
25
|
+
}) : e[r] = t, e;
|
|
33
26
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
function _initializerDefineProperty(e, i, r, l) {
|
|
28
|
+
r && Object.defineProperty(e, i, {
|
|
29
|
+
enumerable: r.enumerable,
|
|
30
|
+
configurable: r.configurable,
|
|
31
|
+
writable: r.writable,
|
|
32
|
+
value: r.initializer ? r.initializer.call(l) : void 0
|
|
39
33
|
});
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return decorator(target, property, desc) || desc;
|
|
49
|
-
}, desc);
|
|
50
|
-
|
|
51
|
-
if (context && desc.initializer !== void 0) {
|
|
52
|
-
desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
|
|
53
|
-
desc.initializer = undefined;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (desc.initializer === void 0) {
|
|
57
|
-
Object.defineProperty(target, property, desc);
|
|
58
|
-
desc = null;
|
|
34
|
+
}
|
|
35
|
+
function _toPrimitive(t, r) {
|
|
36
|
+
if ("object" != typeof t || !t) return t;
|
|
37
|
+
var e = t[Symbol.toPrimitive];
|
|
38
|
+
if (void 0 !== e) {
|
|
39
|
+
var i = e.call(t, r);
|
|
40
|
+
if ("object" != typeof i) return i;
|
|
41
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
59
42
|
}
|
|
60
|
-
|
|
61
|
-
|
|
43
|
+
return ("string" === r ? String : Number)(t);
|
|
44
|
+
}
|
|
45
|
+
function _toPropertyKey(t) {
|
|
46
|
+
var i = _toPrimitive(t, "string");
|
|
47
|
+
return "symbol" == typeof i ? i : i + "";
|
|
62
48
|
}
|
|
63
49
|
|
|
64
|
-
var TEMPLATE =
|
|
50
|
+
var TEMPLATE = precompileTemplate("<div class=\'ember-safe-button\' ...attributes>\n {{#if (has-block)}}\n {{yield\n (hash\n trigger=(component\n \'trigger\'\n onClick=@onConfirm\n safetyStatus=this.safetyStatus\n displayedMessage=this.displayedMessage\n webAnimations=this.webAnimations.trigger\n )\n safety=(component\n \'safety\'\n onClick=this.onUnlocking\n safetyStatus=this.safetyStatus\n displayedMessage=this.displayedMessage\n webAnimations=this.webAnimations.safety\n )\n )\n }}\n {{else}}\n <Trigger\n @onClick={{@onConfirm}}\n @safetyStatus={{this.safetyStatus}}\n @displayedMessage={{this.displayedMessage}}\n @webAnimations={{this.webAnimations.trigger}}\n />\n <Safety\n @onClick={{this.onUnlocking}}\n @safetyStatus={{this.safetyStatus}}\n @displayedMessage={{this.displayedMessage}}\n @webAnimations={{this.webAnimations.safety}}\n />\n {{/if}}\n</div>");
|
|
65
51
|
|
|
66
|
-
var
|
|
52
|
+
var _class, _descriptor;
|
|
67
53
|
const DEFAULT_TIMEOUT = 3000;
|
|
68
|
-
const DEFAULT_ANIMATION =
|
|
54
|
+
const DEFAULT_ANIMATION = "slide";
|
|
69
55
|
const SAFETY_STATUS = {
|
|
70
56
|
LOCKED: 1,
|
|
71
57
|
UNLOCKING: 2,
|
|
72
58
|
UNLOCKED: 3,
|
|
73
59
|
LOCKING: 4
|
|
74
60
|
};
|
|
61
|
+
|
|
75
62
|
/**
|
|
76
63
|
Main component.
|
|
77
64
|
|
|
@@ -151,26 +138,23 @@ const SAFETY_STATUS = {
|
|
|
151
138
|
}
|
|
152
139
|
```
|
|
153
140
|
*/
|
|
154
|
-
|
|
155
|
-
let SafeButtonComponent = (_dec = task(function* () {
|
|
156
|
-
yield timeout(this.timeout);
|
|
157
|
-
this.safetyStatus = SAFETY_STATUS.LOCKING;
|
|
158
|
-
}), (_class = class SafeButtonComponent extends Component {
|
|
141
|
+
let SafeButtonComponent = (_class = class SafeButtonComponent extends Component {
|
|
159
142
|
constructor() {
|
|
160
143
|
super(...arguments);
|
|
161
|
-
|
|
162
144
|
_initializerDefineProperty(this, "safetyStatus", _descriptor, this);
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
145
|
+
_defineProperty(this, "triggerSafety", buildTask(() => ({
|
|
146
|
+
context: this,
|
|
147
|
+
generator: function* () {
|
|
148
|
+
yield timeout(this.timeout);
|
|
149
|
+
this.safetyStatus = SAFETY_STATUS.LOCKING;
|
|
150
|
+
}
|
|
151
|
+
}), null, "triggerSafety", null));
|
|
152
|
+
assert("@onConfirm attribute must be set", typeof this.args.onConfirm === "function");
|
|
167
153
|
}
|
|
168
|
-
|
|
169
154
|
get activeAnimation() {
|
|
170
155
|
const animation = this.args.animation || DEFAULT_ANIMATION;
|
|
171
|
-
return typeof animation ===
|
|
156
|
+
return typeof animation === "string" ? embeddedAnimations[animation] : animation;
|
|
172
157
|
}
|
|
173
|
-
|
|
174
158
|
get webAnimations() {
|
|
175
159
|
const {
|
|
176
160
|
activeAnimation,
|
|
@@ -198,52 +182,39 @@ let SafeButtonComponent = (_dec = task(function* () {
|
|
|
198
182
|
}) {
|
|
199
183
|
element.animate(activeAnimation.trigger.unlocking.keyframes, activeAnimation.trigger.unlocking.options);
|
|
200
184
|
},
|
|
201
|
-
|
|
202
185
|
locking({
|
|
203
186
|
element
|
|
204
187
|
}) {
|
|
205
188
|
element.animate(activeAnimation.trigger.locking.keyframes, activeAnimation.trigger.locking.options);
|
|
206
189
|
}
|
|
207
|
-
|
|
208
190
|
}
|
|
209
191
|
};
|
|
210
192
|
}
|
|
211
|
-
|
|
212
193
|
get timeout() {
|
|
213
194
|
return this.args.timeout || DEFAULT_TIMEOUT;
|
|
214
195
|
}
|
|
215
|
-
|
|
216
196
|
get displayedMessage() {
|
|
217
|
-
return this.args.message ||
|
|
197
|
+
return this.args.message || "delete";
|
|
218
198
|
}
|
|
219
|
-
|
|
220
199
|
onUnlocking() {
|
|
221
200
|
this.safetyStatus = SAFETY_STATUS.UNLOCKING;
|
|
222
201
|
}
|
|
223
|
-
|
|
224
202
|
onUnlocked() {
|
|
225
203
|
this.safetyStatus = SAFETY_STATUS.UNLOCKED;
|
|
226
204
|
this.triggerSafety.perform();
|
|
227
205
|
}
|
|
228
|
-
|
|
229
206
|
onLocked() {
|
|
230
207
|
this.safetyStatus = SAFETY_STATUS.LOCKED;
|
|
231
208
|
}
|
|
232
|
-
|
|
233
|
-
}, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "safetyStatus", [tracked], {
|
|
209
|
+
}, _descriptor = _applyDecoratedDescriptor(_class.prototype, "safetyStatus", [tracked], {
|
|
234
210
|
configurable: true,
|
|
235
211
|
enumerable: true,
|
|
236
212
|
writable: true,
|
|
237
213
|
initializer: function () {
|
|
238
214
|
return SAFETY_STATUS.LOCKED;
|
|
239
215
|
}
|
|
240
|
-
}), _applyDecoratedDescriptor(_class.prototype, "onUnlocking", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onUnlocking"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onUnlocked", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onUnlocked"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onLocked", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onLocked"), _class.prototype),
|
|
241
|
-
configurable: true,
|
|
242
|
-
enumerable: true,
|
|
243
|
-
writable: true,
|
|
244
|
-
initializer: null
|
|
245
|
-
})), _class));
|
|
216
|
+
}), _applyDecoratedDescriptor(_class.prototype, "onUnlocking", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onUnlocking"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onUnlocked", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onUnlocked"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "onLocked", [action], Object.getOwnPropertyDescriptor(_class.prototype, "onLocked"), _class.prototype), _class);
|
|
246
217
|
setComponentTemplate(TEMPLATE, SafeButtonComponent);
|
|
247
218
|
|
|
248
219
|
export { SAFETY_STATUS as S, _defineProperty as _, SafeButtonComponent as a };
|
|
249
|
-
//# sourceMappingURL=index-
|
|
220
|
+
//# sourceMappingURL=index-BZOIdnQv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BZOIdnQv.js","sources":["../src/components/safe-button/index.js"],"sourcesContent":["import Component from \"@glimmer/component\";\nimport { tracked } from \"@glimmer/tracking\";\nimport { assert } from \"@ember/debug\";\nimport { action } from \"@ember/object\";\n\nimport { timeout } from \"ember-concurrency\";\nimport { task } from \"ember-concurrency\";\n\nimport embeddedAnimations from \"./animations/index\";\n\nconst DEFAULT_TIMEOUT = 3000;\nconst DEFAULT_ANIMATION = \"slide\";\n\nexport const SAFETY_STATUS = {\n LOCKED: 1,\n UNLOCKING: 2,\n UNLOCKED: 3,\n LOCKING: 4,\n};\n\n/**\n Main component.\n\n ```hbs\n <SafeButton\n class=\"border-black\"\n @animation={{this.animation}}\n @message=\"Delete me\"\n @timeout={{2000}}\n @onConfirm={{action safeButtonClicked}} />\n ```\n\n ```\n @class SafeButtonComponent\n @param {string} [class=\"ember-safe-button\"] CSS class to be applied on the wrapping element.\n @param {object} [animation=\"slid\"] Definition of animation; It can either be string and point to one of the pre-defined animations; Or it can be an object describing Web Animation API\n @param {number} [timeout=3000] Number of millisenconds after which the safety rolls back over the trigger.\n @param {string} [message=\"delete\"] Text to be printed on the buttons in case block is not provided.\n @param {function} onConfirm - Action to trigger whenever user clicks the trigger.\n ```\n\n When trying to construct your own `@animation` object you can take inspiration from the simple `slide` animation. The thing to keep in mind is that these go directly as parameters to [element.animate()](https://developer.mozilla.org/en-US/docs/Web/API/Element/animate) and that there are in fact four animations of which always two fire at the same time:\n\n - `safety.unlocking` and `trigger.unlocking`\n - `safety.locking` and `trigger.locking`\n\n ```js\n {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(-100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(-100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n }\n ```\n */\nexport default class SafeButtonComponent extends Component {\n constructor() {\n super(...arguments);\n\n assert(\n \"@onConfirm attribute must be set\",\n typeof this.args.onConfirm === \"function\"\n );\n }\n\n @tracked safetyStatus = SAFETY_STATUS.LOCKED;\n\n get activeAnimation() {\n const animation = this.args.animation || DEFAULT_ANIMATION;\n\n return typeof animation === \"string\"\n ? embeddedAnimations[animation]\n : animation;\n }\n\n get webAnimations() {\n const { activeAnimation, onUnlocked, onLocked } = this;\n\n return {\n safety: {\n unlocking: ({ element }) => {\n let animation = element.animate(\n activeAnimation.safety.unlocking.keyframes,\n activeAnimation.safety.unlocking.options\n );\n animation.onfinish = onUnlocked;\n },\n locking: ({ element }) => {\n let animation = element.animate(\n activeAnimation.safety.locking.keyframes,\n activeAnimation.safety.locking.options\n );\n animation.onfinish = onLocked;\n },\n },\n trigger: {\n unlocking({ element }) {\n element.animate(\n activeAnimation.trigger.unlocking.keyframes,\n activeAnimation.trigger.unlocking.options\n );\n },\n locking({ element }) {\n element.animate(\n activeAnimation.trigger.locking.keyframes,\n activeAnimation.trigger.locking.options\n );\n },\n },\n };\n }\n\n get timeout() {\n return this.args.timeout || DEFAULT_TIMEOUT;\n }\n\n get displayedMessage() {\n return this.args.message || \"delete\";\n }\n\n @action\n onUnlocking() {\n this.safetyStatus = SAFETY_STATUS.UNLOCKING;\n }\n\n @action\n onUnlocked() {\n this.safetyStatus = SAFETY_STATUS.UNLOCKED;\n this.triggerSafety.perform();\n }\n\n @action\n onLocked() {\n this.safetyStatus = SAFETY_STATUS.LOCKED;\n }\n\n triggerSafety = task(async () => {\n await timeout(this.timeout);\n this.safetyStatus = SAFETY_STATUS.LOCKING;\n });\n}\n"],"names":["DEFAULT_TIMEOUT","DEFAULT_ANIMATION","SAFETY_STATUS","LOCKED","UNLOCKING","UNLOCKED","LOCKING","SafeButtonComponent","_class","Component","constructor","arguments","_initializerDefineProperty","_descriptor","_defineProperty","_buildTask","context","generator","timeout","safetyStatus","assert","args","onConfirm","activeAnimation","animation","embeddedAnimations","webAnimations","onUnlocked","onLocked","safety","unlocking","element","animate","keyframes","options","onfinish","locking","trigger","displayedMessage","message","onUnlocking","triggerSafety","perform","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { modifier } from 'ember-modifier';
|
|
2
|
-
import { S as SAFETY_STATUS } from '../index-
|
|
2
|
+
import { S as SAFETY_STATUS } from '../index-BZOIdnQv.js';
|
|
3
3
|
|
|
4
4
|
var animateMe = modifier((element, _, named) => {
|
|
5
5
|
if (named.focusMe) {
|
|
6
6
|
element.focus();
|
|
7
7
|
}
|
|
8
|
-
|
|
9
8
|
if (named.safetyStatus === SAFETY_STATUS.UNLOCKING) {
|
|
10
9
|
named.webAnimations.unlocking({
|
|
11
10
|
element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animate-me.js","sources":["../../src/modifiers/animate-me.js"],"sourcesContent":["import { modifier } from 'ember-modifier';\n\nimport { SAFETY_STATUS } from '../components/safe-button/index';\n\nexport default modifier(\n (element, _, named) => {\n if (named.focusMe) {\n element.focus();\n }\n\n if (named.safetyStatus === SAFETY_STATUS.UNLOCKING) {\n named.webAnimations.unlocking({\n element,\n });\n } else if (named.safetyStatus === SAFETY_STATUS.LOCKING) {\n named.webAnimations.locking({\n element,\n });\n }\n },\n { eager: false }\n);\n"],"names":["modifier","element","_","named","focusMe","focus","safetyStatus","SAFETY_STATUS","UNLOCKING","webAnimations","unlocking","LOCKING","locking","eager"],"mappings":";;;AAIA,gBAAeA,QAAQ,CACrB,CAACC,
|
|
1
|
+
{"version":3,"file":"animate-me.js","sources":["../../src/modifiers/animate-me.js"],"sourcesContent":["import { modifier } from 'ember-modifier';\n\nimport { SAFETY_STATUS } from '../components/safe-button/index';\n\nexport default modifier(\n (element, _, named) => {\n if (named.focusMe) {\n element.focus();\n }\n\n if (named.safetyStatus === SAFETY_STATUS.UNLOCKING) {\n named.webAnimations.unlocking({\n element,\n });\n } else if (named.safetyStatus === SAFETY_STATUS.LOCKING) {\n named.webAnimations.locking({\n element,\n });\n }\n },\n { eager: false }\n);\n"],"names":["modifier","element","_","named","focusMe","focus","safetyStatus","SAFETY_STATUS","UNLOCKING","webAnimations","unlocking","LOCKING","locking","eager"],"mappings":";;;AAIA,gBAAeA,QAAQ,CACrB,CAACC,OAAO,EAAEC,CAAC,EAAEC,KAAK,KAAK;EACrB,IAAIA,KAAK,CAACC,OAAO,EAAE;IACjBH,OAAO,CAACI,KAAK,EAAE;AACjB,EAAA;AAEA,EAAA,IAAIF,KAAK,CAACG,YAAY,KAAKC,aAAa,CAACC,SAAS,EAAE;AAClDL,IAAAA,KAAK,CAACM,aAAa,CAACC,SAAS,CAAC;AAC5BT,MAAAA;AACF,KAAC,CAAC;EACJ,CAAC,MAAM,IAAIE,KAAK,CAACG,YAAY,KAAKC,aAAa,CAACI,OAAO,EAAE;AACvDR,IAAAA,KAAK,CAACM,aAAa,CAACG,OAAO,CAAC;AAC1BX,MAAAA;AACF,KAAC,CAAC;AACJ,EAAA;AACF,CAAC,EACD;AAAEY,EAAAA,KAAK,EAAE;AAAM,CACjB,CAAC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ember-safe-button",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "For potentially dangerous actions that better needs a confirmation.",
|
|
5
5
|
"repository": "https://gitlab.com/michal-bryxi/open-source/ember-safe-button",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,37 +16,23 @@
|
|
|
16
16
|
"CHANGELOG.md",
|
|
17
17
|
"README.md"
|
|
18
18
|
],
|
|
19
|
-
"scripts": {
|
|
20
|
-
"start": "concurrently 'npm:watch:*'",
|
|
21
|
-
"build": "concurrently 'npm:build:*'",
|
|
22
|
-
"build:js": "rollup -c ./rollup.config.js",
|
|
23
|
-
"build:docs": "cp ../README.md ./README.md",
|
|
24
|
-
"watch:js": "rollup -c --watch --no-watch.clearScreen",
|
|
25
|
-
"lint": "concurrently 'npm:lint:js'",
|
|
26
|
-
"lint:fix": "concurrently 'npm:lint:js:fix'",
|
|
27
|
-
"lint:js": "eslint . --cache",
|
|
28
|
-
"lint:js:fix": "eslint . --fix",
|
|
29
|
-
"test": "echo 'Addon does not have tests, run tests in test-app'",
|
|
30
|
-
"prepare": "yarn run build",
|
|
31
|
-
"prepublishOnly": "yarn run build"
|
|
32
|
-
},
|
|
33
19
|
"dependencies": {
|
|
34
|
-
"@ember/render-modifiers": "2.0
|
|
35
|
-
"@embroider/addon-shim": "1.
|
|
36
|
-
"ember-cli-htmlbars": "^6.
|
|
37
|
-
"ember-concurrency": "
|
|
38
|
-
"ember-modifier": "
|
|
20
|
+
"@ember/render-modifiers": "2.1.0",
|
|
21
|
+
"@embroider/addon-shim": "1.10.2",
|
|
22
|
+
"ember-cli-htmlbars": "^6.2.0",
|
|
23
|
+
"ember-concurrency": "5.1.0",
|
|
24
|
+
"ember-modifier": "4.1.0"
|
|
39
25
|
},
|
|
40
26
|
"devDependencies": {
|
|
41
|
-
"@babel/core": "7.
|
|
27
|
+
"@babel/core": "7.23.2",
|
|
42
28
|
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
43
|
-
"@babel/plugin-proposal-decorators": "7.
|
|
44
|
-
"@babel/plugin-syntax-decorators": "7.
|
|
45
|
-
"@embroider/addon-dev": "1.
|
|
46
|
-
"@nullvoxpopuli/eslint-configs": "2.
|
|
47
|
-
"@rollup/plugin-babel": "
|
|
29
|
+
"@babel/plugin-proposal-decorators": "7.23.2",
|
|
30
|
+
"@babel/plugin-syntax-decorators": "7.22.10",
|
|
31
|
+
"@embroider/addon-dev": "8.1.2",
|
|
32
|
+
"@nullvoxpopuli/eslint-configs": "2.3.5",
|
|
33
|
+
"@rollup/plugin-babel": "6.0.4",
|
|
48
34
|
"babel-eslint": "10.1.0",
|
|
49
|
-
"concurrently": "7.
|
|
35
|
+
"concurrently": "7.6.0",
|
|
50
36
|
"eslint": "^7.0.0",
|
|
51
37
|
"eslint-config-prettier": "8.5.0",
|
|
52
38
|
"eslint-plugin-decorator-position": "4.0.1",
|
|
@@ -54,9 +40,11 @@
|
|
|
54
40
|
"eslint-plugin-import": "2.26.0",
|
|
55
41
|
"eslint-plugin-json": "3.1.0",
|
|
56
42
|
"eslint-plugin-node": "11.1.0",
|
|
43
|
+
"@ember/string": "3.1.1",
|
|
57
44
|
"eslint-plugin-prettier": "4.2.1",
|
|
45
|
+
"webpack": "^5.88.1",
|
|
58
46
|
"eslint-plugin-simple-import-sort": "7.0.0",
|
|
59
|
-
"rollup": "
|
|
47
|
+
"rollup": "4.54.0"
|
|
60
48
|
},
|
|
61
49
|
"publishConfig": {
|
|
62
50
|
"registry": "https://registry.npmjs.org"
|
|
@@ -90,5 +78,17 @@
|
|
|
90
78
|
},
|
|
91
79
|
"volta": {
|
|
92
80
|
"extends": "../package.json"
|
|
81
|
+
},
|
|
82
|
+
"scripts": {
|
|
83
|
+
"start": "concurrently 'npm:watch:*'",
|
|
84
|
+
"build": "concurrently 'npm:build:*'",
|
|
85
|
+
"build:js": "rollup -c ./rollup.config.mjs",
|
|
86
|
+
"build:docs": "cp ../README.md ./README.md",
|
|
87
|
+
"watch:js": "rollup -c --watch --no-watch.clearScreen",
|
|
88
|
+
"lint": "concurrently 'npm:lint:js'",
|
|
89
|
+
"lint:fix": "concurrently 'npm:lint:js:fix'",
|
|
90
|
+
"lint:js": "eslint . --cache",
|
|
91
|
+
"lint:js:fix": "eslint . --fix",
|
|
92
|
+
"test": "echo 'Addon does not have tests, run tests in test-app'"
|
|
93
93
|
}
|
|
94
|
-
}
|
|
94
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-65a73164.js","sources":["../src/components/safe-button/index.hbs.js","../src/components/safe-button/index.js"],"sourcesContent":["import { hbs } from 'ember-cli-htmlbars';\nexport default hbs(\"<div class=\\'ember-safe-button\\' ...attributes>\\n {{#if (has-block)}}\\n {{yield\\n (hash\\n trigger=(component\\n \\'trigger\\'\\n onClick=@onConfirm\\n safetyStatus=this.safetyStatus\\n displayedMessage=this.displayedMessage\\n webAnimations=this.webAnimations.trigger\\n )\\n safety=(component\\n \\'safety\\'\\n onClick=this.onUnlocking\\n safetyStatus=this.safetyStatus\\n displayedMessage=this.displayedMessage\\n webAnimations=this.webAnimations.safety\\n )\\n )\\n }}\\n {{else}}\\n <Trigger\\n @onClick={{@onConfirm}}\\n @safetyStatus={{this.safetyStatus}}\\n @displayedMessage={{this.displayedMessage}}\\n @webAnimations={{this.webAnimations.trigger}}\\n />\\n <Safety\\n @onClick={{this.onUnlocking}}\\n @safetyStatus={{this.safetyStatus}}\\n @displayedMessage={{this.displayedMessage}}\\n @webAnimations={{this.webAnimations.safety}}\\n />\\n {{/if}}\\n</div>\")","import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { assert } from '@ember/debug';\nimport { action } from '@ember/object';\n\nimport { timeout } from 'ember-concurrency';\nimport { task } from 'ember-concurrency';\n\nimport embeddedAnimations from './animations/index';\n\nconst DEFAULT_TIMEOUT = 3000;\nconst DEFAULT_ANIMATION = 'slide';\n\nexport const SAFETY_STATUS = {\n LOCKED: 1,\n UNLOCKING: 2,\n UNLOCKED: 3,\n LOCKING: 4,\n};\n\n/**\n Main component.\n\n ```hbs\n <SafeButton\n class=\"border-black\"\n @animation={{this.animation}}\n @message=\"Delete me\"\n @timeout={{2000}}\n @onConfirm={{action safeButtonClicked}} />\n ```\n\n ```\n @class SafeButtonComponent\n @param {string} [class=\"ember-safe-button\"] CSS class to be applied on the wrapping element.\n @param {object} [animation=\"slid\"] Definition of animation; It can either be string and point to one of the pre-defined animations; Or it can be an object describing Web Animation API\n @param {number} [timeout=3000] Number of millisenconds after which the safety rolls back over the trigger.\n @param {string} [message=\"delete\"] Text to be printed on the buttons in case block is not provided.\n @param {function} onConfirm - Action to trigger whenever user clicks the trigger.\n ```\n\n When trying to construct your own `@animation` object you can take inspiration from the simple `slide` animation. The thing to keep in mind is that these go directly as parameters to [element.animate()](https://developer.mozilla.org/en-US/docs/Web/API/Element/animate) and that there are in fact four animations of which always two fire at the same time:\n\n - `safety.unlocking` and `trigger.unlocking`\n - `safety.locking` and `trigger.locking`\n\n ```js\n {\n safety: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(-100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(-100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n trigger: {\n unlocking: {\n keyframes: [\n { transform: 'translateX(100%)' },\n { transform: 'translateX(0)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n locking: {\n keyframes: [\n { transform: 'translateX(0)' },\n { transform: 'translateX(100%)' },\n ],\n options: {\n duration: 1000,\n fill: 'both',\n easing: 'ease',\n },\n },\n },\n }\n ```\n */\nexport default class SafeButtonComponent extends Component {\n constructor() {\n super(...arguments);\n\n assert('@onConfirm attribute must be set', typeof this.args.onConfirm === 'function');\n }\n\n @tracked safetyStatus = SAFETY_STATUS.LOCKED;\n\n get activeAnimation() {\n const animation = this.args.animation || DEFAULT_ANIMATION;\n\n return typeof animation === 'string' ? embeddedAnimations[animation] : animation;\n }\n\n get webAnimations() {\n const { activeAnimation, onUnlocked, onLocked } = this;\n\n return {\n safety: {\n unlocking: ({ element }) => {\n let animation = element.animate(\n activeAnimation.safety.unlocking.keyframes,\n activeAnimation.safety.unlocking.options\n );\n animation.onfinish = onUnlocked;\n },\n locking: ({ element }) => {\n let animation = element.animate(\n activeAnimation.safety.locking.keyframes,\n activeAnimation.safety.locking.options\n );\n animation.onfinish = onLocked;\n },\n },\n trigger: {\n unlocking({ element }) {\n element.animate(\n activeAnimation.trigger.unlocking.keyframes,\n activeAnimation.trigger.unlocking.options\n );\n },\n locking({ element }) {\n element.animate(\n activeAnimation.trigger.locking.keyframes,\n activeAnimation.trigger.locking.options\n );\n },\n },\n };\n }\n\n get timeout() {\n return this.args.timeout || DEFAULT_TIMEOUT;\n }\n\n get displayedMessage() {\n return this.args.message || 'delete';\n }\n\n @action\n onUnlocking() {\n this.safetyStatus = SAFETY_STATUS.UNLOCKING;\n }\n\n @action\n onUnlocked() {\n this.safetyStatus = SAFETY_STATUS.UNLOCKED;\n this.triggerSafety.perform();\n }\n\n @action\n onLocked() {\n this.safetyStatus = SAFETY_STATUS.LOCKED;\n }\n\n @task(function* () {\n yield timeout(this.timeout);\n this.safetyStatus = SAFETY_STATUS.LOCKING;\n })\n triggerSafety;\n}\n"],"names":["hbs","DEFAULT_TIMEOUT","DEFAULT_ANIMATION","SAFETY_STATUS","LOCKED","UNLOCKING","UNLOCKED","LOCKING","SafeButtonComponent","task","timeout","safetyStatus","Component","constructor","arguments","assert","args","onConfirm","activeAnimation","animation","embeddedAnimations","webAnimations","onUnlocked","onLocked","safety","unlocking","element","animate","keyframes","options","onfinish","locking","trigger","displayedMessage","message","onUnlocking","triggerSafety","perform","tracked","action"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,eAAeA,GAAG,CAAC,igCAAD,CAAlB;;;ACSA,MAAMC,eAAe,GAAG,IAAxB,CAAA;AACA,MAAMC,iBAAiB,GAAG,OAA1B,CAAA;AAEO,MAAMC,aAAa,GAAG;AAC3BC,EAAAA,MAAM,EAAE,CADmB;AAE3BC,EAAAA,SAAS,EAAE,CAFgB;AAG3BC,EAAAA,QAAQ,EAAE,CAHiB;AAI3BC,EAAAA,OAAO,EAAE,CAAA;AAJkB,EAAtB;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACqBC,8BA4ElBC,IAAI,CAAC,aAAa;AACjB,EAAA,MAAMC,OAAO,CAAC,IAAKA,CAAAA,OAAN,CAAb,CAAA;AACA,EAAA,IAAA,CAAKC,YAAL,GAAoBR,aAAa,CAACI,OAAlC,CAAA;AACD,CAHI,IA5EQ,MAAA,GAAA,MAAMC,mBAAN,SAAkCI,SAAlC,CAA4C;AACzDC,EAAAA,WAAW,GAAG;AACZ,IAAA,KAAA,CAAM,GAAGC,SAAT,CAAA,CAAA;;AADY,IAAA,0BAAA,CAAA,IAAA,EAAA,cAAA,EAAA,WAAA,EAAA,IAAA,CAAA,CAAA;;AAAA,IAAA,0BAAA,CAAA,IAAA,EAAA,eAAA,EAAA,YAAA,EAAA,IAAA,CAAA,CAAA;;IAGZC,MAAM,CAAC,kCAAD,EAAqC,OAAO,IAAA,CAAKC,IAAL,CAAUC,SAAjB,KAA+B,UAApE,CAAN,CAAA;AACD,GAAA;;AAIkB,EAAA,IAAfC,eAAe,GAAG;AACpB,IAAA,MAAMC,SAAS,GAAG,IAAA,CAAKH,IAAL,CAAUG,SAAV,IAAuBjB,iBAAzC,CAAA;IAEA,OAAO,OAAOiB,SAAP,KAAqB,QAArB,GAAgCC,kBAAkB,CAACD,SAAD,CAAlD,GAAgEA,SAAvE,CAAA;AACD,GAAA;;AAEgB,EAAA,IAAbE,aAAa,GAAG;IAClB,MAAM;MAAEH,eAAF;MAAmBI,UAAnB;AAA+BC,MAAAA,QAAAA;AAA/B,KAAA,GAA4C,IAAlD,CAAA;IAEA,OAAO;AACLC,MAAAA,MAAM,EAAE;AACNC,QAAAA,SAAS,EAAE,CAAC;AAAEC,UAAAA,OAAAA;AAAF,SAAD,KAAiB;UAC1B,IAAIP,SAAS,GAAGO,OAAO,CAACC,OAAR,CACdT,eAAe,CAACM,MAAhB,CAAuBC,SAAvB,CAAiCG,SADnB,EAEdV,eAAe,CAACM,MAAhB,CAAuBC,SAAvB,CAAiCI,OAFnB,CAAhB,CAAA;UAIAV,SAAS,CAACW,QAAV,GAAqBR,UAArB,CAAA;SANI;AAQNS,QAAAA,OAAO,EAAE,CAAC;AAAEL,UAAAA,OAAAA;AAAF,SAAD,KAAiB;UACxB,IAAIP,SAAS,GAAGO,OAAO,CAACC,OAAR,CACdT,eAAe,CAACM,MAAhB,CAAuBO,OAAvB,CAA+BH,SADjB,EAEdV,eAAe,CAACM,MAAhB,CAAuBO,OAAvB,CAA+BF,OAFjB,CAAhB,CAAA;UAIAV,SAAS,CAACW,QAAV,GAAqBP,QAArB,CAAA;AACD,SAAA;OAfE;AAiBLS,MAAAA,OAAO,EAAE;AACPP,QAAAA,SAAS,CAAC;AAAEC,UAAAA,OAAAA;AAAF,SAAD,EAAc;AACrBA,UAAAA,OAAO,CAACC,OAAR,CACET,eAAe,CAACc,OAAhB,CAAwBP,SAAxB,CAAkCG,SADpC,EAEEV,eAAe,CAACc,OAAhB,CAAwBP,SAAxB,CAAkCI,OAFpC,CAAA,CAAA;SAFK;;AAOPE,QAAAA,OAAO,CAAC;AAAEL,UAAAA,OAAAA;AAAF,SAAD,EAAc;AACnBA,UAAAA,OAAO,CAACC,OAAR,CACET,eAAe,CAACc,OAAhB,CAAwBD,OAAxB,CAAgCH,SADlC,EAEEV,eAAe,CAACc,OAAhB,CAAwBD,OAAxB,CAAgCF,OAFlC,CAAA,CAAA;AAID,SAAA;;AAZM,OAAA;KAjBX,CAAA;AAgCD,GAAA;;AAEU,EAAA,IAAPnB,OAAO,GAAG;AACZ,IAAA,OAAO,IAAKM,CAAAA,IAAL,CAAUN,OAAV,IAAqBT,eAA5B,CAAA;AACD,GAAA;;AAEmB,EAAA,IAAhBgC,gBAAgB,GAAG;AACrB,IAAA,OAAO,IAAKjB,CAAAA,IAAL,CAAUkB,OAAV,IAAqB,QAA5B,CAAA;AACD,GAAA;;AAGDC,EAAAA,WAAW,GAAG;AACZ,IAAA,IAAA,CAAKxB,YAAL,GAAoBR,aAAa,CAACE,SAAlC,CAAA;AACD,GAAA;;AAGDiB,EAAAA,UAAU,GAAG;AACX,IAAA,IAAA,CAAKX,YAAL,GAAoBR,aAAa,CAACG,QAAlC,CAAA;IACA,IAAK8B,CAAAA,aAAL,CAAmBC,OAAnB,EAAA,CAAA;AACD,GAAA;;AAGDd,EAAAA,QAAQ,GAAG;AACT,IAAA,IAAA,CAAKZ,YAAL,GAAoBR,aAAa,CAACC,MAAlC,CAAA;AACD,GAAA;;AA1EwD,+EAOxDkC;;;;;AAAuBnC,IAAAA,OAAAA,aAAa,CAACC;;gEAqDrCmC,yJAKAA,sJAMAA;;;;;;;;;;"}
|