@opentech0/dom-animations 1.0.1
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/.github/ISSUE_TEMPLATE/BUG_REPORT.md +39 -0
- package/.github/ISSUE_TEMPLATE/DOCUMENTATION.md +30 -0
- package/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +20 -0
- package/.github/PULL_REQUEST_TEMPLATE.MD +34 -0
- package/.github/workflows/push.yml +22 -0
- package/.github/workflows/release.yml +24 -0
- package/DOMAnimations.js +145 -0
- package/README.md +7 -0
- package/package.json +18 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "đ Rapport de bug"
|
|
3
|
+
about: Créez un rapport de bug
|
|
4
|
+
title: ''
|
|
5
|
+
labels: ['bug', 'status:Unconfirmed']
|
|
6
|
+
assignees: 'Androlax2'
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!--- Fournir un résumé général du problÚme dans le titre ci-dessus -->
|
|
11
|
+
|
|
12
|
+
## Description
|
|
13
|
+
<!--- Fournissez une introduction plus dĂ©taillĂ©e au problĂšme lui-mĂȘme, et pourquoi vous considĂ©rez qu'il s'agit d'un bug -->
|
|
14
|
+
|
|
15
|
+
## Comportement attendu
|
|
16
|
+
<!--- Dites-nous ce qu'il devrait se passer -->
|
|
17
|
+
|
|
18
|
+
## Comportement réel
|
|
19
|
+
<!--- Dites-nous ce qu'il se passe Ă la place -->
|
|
20
|
+
|
|
21
|
+
## Correction possible
|
|
22
|
+
<!--- Non obligatoire, mais suggérez un correctif ou une raison pour le bug -->
|
|
23
|
+
|
|
24
|
+
## Ătapes Ă reproduire
|
|
25
|
+
<!--- Fournissez un lien vers un exemple vivant, ou un ensemble non ambigu d'étapes pour reproduire ce bug. Inclure le code à reproduire, le cas échéant -->
|
|
26
|
+
1.
|
|
27
|
+
2.
|
|
28
|
+
3.
|
|
29
|
+
4.
|
|
30
|
+
|
|
31
|
+
## Contexte
|
|
32
|
+
<!--- Comment ce bug vous a-t-il affecté ? Qu'essayiez-vous d'accomplir ? -->
|
|
33
|
+
|
|
34
|
+
## Votre environnement
|
|
35
|
+
<!--- Incluez autant de détails pertinents sur l'environnement dans lequel vous avez rencontré le bug -->
|
|
36
|
+
* Version utilisée :
|
|
37
|
+
* Nom et version de l'environnement (par exemple, Chrome 39, node.js 5.4) :
|
|
38
|
+
* SystĂšme d'exploitation et version (bureau ou mobile) :
|
|
39
|
+
* Lien vers votre projet :
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "đ Documentation"
|
|
3
|
+
about: Suggérer des modifications pour la documentation.
|
|
4
|
+
title: ''
|
|
5
|
+
labels: 'documentation'
|
|
6
|
+
assignees: 'Androlax2'
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!--
|
|
11
|
+
Résumez le changement de documentation que vous suggérez dans le titre du problÚme.
|
|
12
|
+
-->
|
|
13
|
+
|
|
14
|
+
### Section pertinente de la documentation.
|
|
15
|
+
|
|
16
|
+
<!--
|
|
17
|
+
Copiez le lien de la section ici.
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
### Détails
|
|
21
|
+
|
|
22
|
+
<!--
|
|
23
|
+
Fournissez une description claire et concise de ce que vous voulez qu'il se passe.
|
|
24
|
+
-->
|
|
25
|
+
|
|
26
|
+
(Ăcrivez votre rĂ©ponse ici.)
|
|
27
|
+
|
|
28
|
+
<!--
|
|
29
|
+
Si vous suggérez un changement trÚs spécifique à la documentation, n'hésitez pas à soumettre directement une pull request.
|
|
30
|
+
-->
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "đ Demande de fonctionnalitĂ©"
|
|
3
|
+
about: Suggérer une idée pour améliorer le produit.
|
|
4
|
+
title: ''
|
|
5
|
+
labels: 'enhancement'
|
|
6
|
+
assignees: 'Androlax2'
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!--- Fournir un résumé général du problÚme dans le titre ci-dessus -->
|
|
11
|
+
|
|
12
|
+
## Description détaillée
|
|
13
|
+
<!--- Fournissez une description détaillée du changement ou de l'ajout que vous proposez -->
|
|
14
|
+
|
|
15
|
+
## Contexte
|
|
16
|
+
<!--- Pourquoi ce changement est-il important pour vous ? Comment l'utiliseriez-vous ? -->
|
|
17
|
+
<!--- Comment peut-il bénéficier aux autres utilisateurs ? -->
|
|
18
|
+
|
|
19
|
+
## Mise en Ćuvre possible
|
|
20
|
+
<!--- Non obligatoire, mais suggĂ©rez une idĂ©e pour mettre en Ćuvre l'ajout ou le changement -->
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<!--- Fournissez un résumé général de vos changements dans le titre ci-dessus -->
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
<!--- Décrivez vos changements en détail -->
|
|
5
|
+
|
|
6
|
+
## Motivation et contexte
|
|
7
|
+
<!--- Pourquoi ce changement est-il nécessaire ? Quel problÚme résout-il ? -->
|
|
8
|
+
<!--- Si elle corrige un problÚme ouvert, veuillez établir un lien vers ce problÚme ici. -->
|
|
9
|
+
|
|
10
|
+
## Comment cela a-t-il été testé ?
|
|
11
|
+
<!--- Veuillez décrire en détail comment vous avez testé vos modifications. -->
|
|
12
|
+
<!--- Incluez les détails de votre environnement de test, et les tests que vous avez exécutés pour -->
|
|
13
|
+
<!--- voir comment votre changement affecte d'autres zones du code, etc. -->
|
|
14
|
+
|
|
15
|
+
## Captures d'écran (le cas échéant) :
|
|
16
|
+
|
|
17
|
+
## Types de changements
|
|
18
|
+
<!--- Quels types de changements votre code introduit-il ? Mettez un `x` dans toutes les cases qui s'appliquent : -->
|
|
19
|
+
- [ ] Correction de bug (changement non cassant qui corrige un problĂšme).
|
|
20
|
+
- [ ] Nouvelle fonctionnalité (changement non cassant qui ajoute une fonctionnalité)
|
|
21
|
+
- [ ] Breaking change (correction ou fonctionnalité qui entraßnerait un changement des fonctionnalités existante)
|
|
22
|
+
|
|
23
|
+
## Liste de contrĂŽle :
|
|
24
|
+
<!--- Passez en revue tous les points suivants, et mettez un `x` dans toutes les cases qui s'appliquent. -->
|
|
25
|
+
<!--- Si vous n'ĂȘtes pas sĂ»r de l'un de ces points, n'hĂ©sitez pas Ă demander. Nous sommes lĂ pour vous aider ! -->
|
|
26
|
+
- [ ] Mon code suit le style de code de ce projet.
|
|
27
|
+
- [ ] Mon changement nécessite une modification de la documentation.
|
|
28
|
+
- [ ] J'ai mis à jour la documentation en conséquence.
|
|
29
|
+
- [ ] J'ai linter mon code
|
|
30
|
+
- [ ] composer lint
|
|
31
|
+
- [ ] yarn eslint
|
|
32
|
+
- [ ] yarn stylelint
|
|
33
|
+
- [ ] J'ai ajoutĂ© des tests pour couvrir mes changements. <!--- Dans le cas oĂč le projet contient des tests --->
|
|
34
|
+
- [ ] Tous les tests nouveaux et existants sont passĂ©s. <!--- Dans le cas oĂč le projet contient des tests --->
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: Create a Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build:
|
|
10
|
+
name: Release
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout
|
|
14
|
+
uses: actions/checkout@v2
|
|
15
|
+
with:
|
|
16
|
+
fetch-depth: 0
|
|
17
|
+
- name: Release
|
|
18
|
+
uses: justincy/github-action-npm-release@2.0.2
|
|
19
|
+
id: release
|
|
20
|
+
- name: Print release output
|
|
21
|
+
if: ${{ steps.release.outputs.released == 'true' }}
|
|
22
|
+
run: echo Release ID ${{ steps.release.outputs.release_id }}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: Publish the package to NPM
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [created]
|
|
6
|
+
workflow_run:
|
|
7
|
+
workflows: ["Create a Release"]
|
|
8
|
+
types:
|
|
9
|
+
- completed
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v2
|
|
16
|
+
# Setup .npmrc file to publish to npm
|
|
17
|
+
- uses: actions/setup-node@v2
|
|
18
|
+
with:
|
|
19
|
+
node-version: "12.x"
|
|
20
|
+
registry-url: "https://registry.npmjs.org"
|
|
21
|
+
- run: npm install
|
|
22
|
+
- run: npm publish --access public
|
|
23
|
+
env:
|
|
24
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/DOMAnimations.js
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOM Animations
|
|
3
|
+
*/
|
|
4
|
+
export default class DOMAnimations {
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* SlideUp
|
|
8
|
+
*
|
|
9
|
+
* @param {HTMLElement} element
|
|
10
|
+
* @param {Number} duration
|
|
11
|
+
* @returns {Promise<boolean>}
|
|
12
|
+
*/
|
|
13
|
+
static slideUp(element, duration = 500) {
|
|
14
|
+
return new Promise(resolve => {
|
|
15
|
+
element.style.height = element.getAttribute('data-height') + 'px';
|
|
16
|
+
element.style.transitionDuration = duration + 'ms';
|
|
17
|
+
element.offsetHeight;
|
|
18
|
+
element.style.height = '0px';
|
|
19
|
+
element.style.paddingTop = '0px';
|
|
20
|
+
element.style.paddingBottom = '0px';
|
|
21
|
+
element.style.marginTop = '0px';
|
|
22
|
+
element.style.marginBottom = '0px';
|
|
23
|
+
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
element.removeAttribute('style');
|
|
26
|
+
resolve(false);
|
|
27
|
+
}, duration);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* SlideDown
|
|
33
|
+
*
|
|
34
|
+
* @param {HTMLElement} element
|
|
35
|
+
* @param {Number} duration
|
|
36
|
+
* @returns {Promise<boolean>}
|
|
37
|
+
*/
|
|
38
|
+
static slideDown(element, duration = 500) {
|
|
39
|
+
return new Promise(resolve => {
|
|
40
|
+
const displayBefore = window.getComputedStyle(element).display;
|
|
41
|
+
|
|
42
|
+
if (displayBefore !== 'none') return;
|
|
43
|
+
|
|
44
|
+
element.style.display = 'block';
|
|
45
|
+
const height = element.offsetHeight;
|
|
46
|
+
element.style.overflow = 'hidden';
|
|
47
|
+
element.style.height = '0px';
|
|
48
|
+
element.style.paddingTop = '0px';
|
|
49
|
+
element.style.paddingBottom = '0px';
|
|
50
|
+
element.style.marginTop = '0px';
|
|
51
|
+
element.style.marginBottom = '0px';
|
|
52
|
+
element.offsetHeight;
|
|
53
|
+
element.style.boxSizing = 'border-box';
|
|
54
|
+
element.style.transitionProperty = 'height, margin, padding';
|
|
55
|
+
element.style.transitionDuration = duration + 'ms';
|
|
56
|
+
element.style.height = height + 'px';
|
|
57
|
+
element.style.removeProperty('padding-top');
|
|
58
|
+
element.style.removeProperty('padding-bottom');
|
|
59
|
+
element.style.removeProperty('margin-top');
|
|
60
|
+
element.style.removeProperty('margin-bottom');
|
|
61
|
+
|
|
62
|
+
setTimeout(() => {
|
|
63
|
+
element.setAttribute('data-height', height);
|
|
64
|
+
element.style.height = 'auto';
|
|
65
|
+
resolve(true);
|
|
66
|
+
}, duration);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* SlideToggle
|
|
72
|
+
*
|
|
73
|
+
* @param {HTMLElement} element
|
|
74
|
+
* @param {Number} duration
|
|
75
|
+
* @returns {Promise<boolean>}
|
|
76
|
+
*/
|
|
77
|
+
static slideToggle(element, duration = 500) {
|
|
78
|
+
if (window.getComputedStyle(element).display === 'none') {
|
|
79
|
+
return this.slideDown(element, duration);
|
|
80
|
+
} else {
|
|
81
|
+
return this.slideUp(element, duration);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Fade in an element
|
|
87
|
+
*
|
|
88
|
+
* @param element
|
|
89
|
+
* @param display
|
|
90
|
+
*/
|
|
91
|
+
static fadeIn(element, display) {
|
|
92
|
+
element.style.opacity = 0;
|
|
93
|
+
element.style.display = display || 'block';
|
|
94
|
+
|
|
95
|
+
(
|
|
96
|
+
function fade() {
|
|
97
|
+
let val = parseFloat(element.style.opacity);
|
|
98
|
+
if (!(
|
|
99
|
+
(
|
|
100
|
+
val += .1
|
|
101
|
+
) > 1
|
|
102
|
+
)) {
|
|
103
|
+
element.style.opacity = val;
|
|
104
|
+
requestAnimationFrame(fade);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
)();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Fade out an element
|
|
112
|
+
*
|
|
113
|
+
* @param element
|
|
114
|
+
*/
|
|
115
|
+
static fadeOut(element) {
|
|
116
|
+
element.style.opacity = 1;
|
|
117
|
+
|
|
118
|
+
(
|
|
119
|
+
function fade() {
|
|
120
|
+
//@formatter:off
|
|
121
|
+
if ((element.style.opacity -= .1) < 0) {
|
|
122
|
+
element.style.display = 'none';
|
|
123
|
+
} else {
|
|
124
|
+
requestAnimationFrame(fade);
|
|
125
|
+
}
|
|
126
|
+
//@formatter:on
|
|
127
|
+
}
|
|
128
|
+
)();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Fade toggle
|
|
133
|
+
*
|
|
134
|
+
* @param element
|
|
135
|
+
* @param display
|
|
136
|
+
*/
|
|
137
|
+
static fadeToggle(element, display) {
|
|
138
|
+
if (window.getComputedStyle(element).display === 'none') {
|
|
139
|
+
return this.fadeIn(element, display);
|
|
140
|
+
} else {
|
|
141
|
+
return this.fadeOut(element);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
}
|
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@opentech0/dom-animations",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
6
|
+
},
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/opentech0/DOMAnimations.git"
|
|
10
|
+
},
|
|
11
|
+
"author": "",
|
|
12
|
+
"license": "ISC",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/opentech0/DOMAnimations/issues"
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://github.com/opentech0/DOMAnimations#readme",
|
|
17
|
+
"description": ""
|
|
18
|
+
}
|