@eeacms/volto-eea-design-system 0.2.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.
Files changed (263) hide show
  1. package/.coverage.babel.config.js +13 -0
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +50 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +50 -0
  4. package/.github/workflows/node.js.yml +59 -0
  5. package/.prettierignore +4 -0
  6. package/.project.eslintrc.js +45 -0
  7. package/.release-it.json +17 -0
  8. package/.storybook/manager.js +15 -0
  9. package/CHANGELOG.md +1025 -0
  10. package/DEVELOP.md +51 -0
  11. package/LICENSE.md +9 -0
  12. package/README.md +196 -0
  13. package/bootstrap +41 -0
  14. package/cypress.json +17 -0
  15. package/jest-addon.config.js +36 -0
  16. package/locales/volto.pot +0 -0
  17. package/mockups/README.md +1 -0
  18. package/package.json +49 -0
  19. package/razzle.extend.js +23 -0
  20. package/src/helpers/index.js +2 -0
  21. package/src/helpers/useClickOutside.js +30 -0
  22. package/src/helpers/usePrevious.js +9 -0
  23. package/src/i18n.js +180 -0
  24. package/src/index.js +6 -0
  25. package/src/semantic.less +262 -0
  26. package/src/ui/Avatar/Avatar.jsx +32 -0
  27. package/src/ui/Avatar/Avatar.stories.jsx +61 -0
  28. package/src/ui/AvatarGrid/AvatarGrid.jsx +49 -0
  29. package/src/ui/AvatarGrid/AvatarGrid.stories.jsx +66 -0
  30. package/src/ui/Banner/Banner.jsx +59 -0
  31. package/src/ui/Banner/Banner.stories.jsx +121 -0
  32. package/src/ui/Blockquote/Blockquote.jsx +16 -0
  33. package/src/ui/Blockquote/Blockquote.stories.jsx +48 -0
  34. package/src/ui/Breadcrumbs/Breadcrumb.stories.jsx +76 -0
  35. package/src/ui/Breadcrumbs/Breadcrumbs.jsx +67 -0
  36. package/src/ui/Breadcrumbs/Breadcrumbs.stories.jsx +30 -0
  37. package/src/ui/Button/Button.stories.jsx +169 -0
  38. package/src/ui/Divider/Divider.jsx +7 -0
  39. package/src/ui/Footer/Contact.jsx +28 -0
  40. package/src/ui/Footer/Footer.jsx +52 -0
  41. package/src/ui/Footer/FooterActions.jsx +22 -0
  42. package/src/ui/Footer/FooterHeader.jsx +10 -0
  43. package/src/ui/Footer/FooterSites.jsx +33 -0
  44. package/src/ui/Footer/Social.jsx +25 -0
  45. package/src/ui/Footer/SubFooter.jsx +9 -0
  46. package/src/ui/FormFieldWrapper/FormFieldWrapper.jsx +51 -0
  47. package/src/ui/Header/Header.jsx +224 -0
  48. package/src/ui/Header/HeaderMenuPopUp.js +79 -0
  49. package/src/ui/Header/HeaderSearchPopUp.js +33 -0
  50. package/src/ui/InpageNavigation/InpageNavigation.jsx +61 -0
  51. package/src/ui/InpageNavigation/InpageNavigation.stories.jsx +166 -0
  52. package/src/ui/KeyContent/KeyContent.jsx +22 -0
  53. package/src/ui/KeyContent/KeyContent.stories.jsx +62 -0
  54. package/src/ui/Loader/Loader.stories.jsx +45 -0
  55. package/src/ui/Logo/Logo.jsx +31 -0
  56. package/src/ui/Popup/Popup.stories.jsx +97 -0
  57. package/src/ui/PublicationCard/PublicationCard.jsx +27 -0
  58. package/src/ui/PublicationCard/PublicationCard.stories.jsx +69 -0
  59. package/src/ui/Pullquote/Pullquote.jsx +44 -0
  60. package/src/ui/Pullquote/Pullquote.stories.jsx +101 -0
  61. package/src/ui/RelatedContent/RelatedContent.jsx +90 -0
  62. package/src/ui/RelatedContent/RelatedContent.stories.jsx +80 -0
  63. package/src/ui/Segment/Segment.stories.jsx +163 -0
  64. package/src/ui/Tag/Tag.jsx +13 -0
  65. package/src/ui/Tag/Tag.stories.jsx +21 -0
  66. package/src/ui/TagList/TagList.jsx +23 -0
  67. package/src/ui/TagList/TagList.stories.jsx +63 -0
  68. package/src/ui/Testimonial/Testimonial.jsx +53 -0
  69. package/src/ui/Testimonial/Testimonial.stories.jsx +51 -0
  70. package/src/ui/Timeline/Timeline.jsx +44 -0
  71. package/src/ui/Timeline/Timeline.stories.jsx +322 -0
  72. package/src/ui/index.js +31 -0
  73. package/templates/eea.hbs +50 -0
  74. package/theme/theme.config +122 -0
  75. package/theme/theme.less +64 -0
  76. package/theme/themes/eea/assets/images/EEA_Logo_Vertical.png +0 -0
  77. package/theme/themes/eea/assets/images/Footer/EEALogo.png +0 -0
  78. package/theme/themes/eea/assets/images/Footer/EULogo.png +0 -0
  79. package/theme/themes/eea/assets/images/Footer/Extras/Logo1.png +0 -0
  80. package/theme/themes/eea/assets/images/Footer/Extras/Logo10.png +0 -0
  81. package/theme/themes/eea/assets/images/Footer/Extras/Logo2.png +0 -0
  82. package/theme/themes/eea/assets/images/Footer/Extras/Logo3.png +0 -0
  83. package/theme/themes/eea/assets/images/Footer/Extras/Logo4.png +0 -0
  84. package/theme/themes/eea/assets/images/Footer/Extras/Logo5.png +0 -0
  85. package/theme/themes/eea/assets/images/Footer/Extras/Logo6.png +0 -0
  86. package/theme/themes/eea/assets/images/Footer/Extras/Logo7.png +0 -0
  87. package/theme/themes/eea/assets/images/Footer/Extras/Logo8.png +0 -0
  88. package/theme/themes/eea/assets/images/Footer/Extras/Logo9.png +0 -0
  89. package/theme/themes/eea/assets/images/Footer/Extras/abstract-visual.svg +32 -0
  90. package/theme/themes/eea/assets/images/Footer/Extras/footervisual.svg +1755 -0
  91. package/theme/themes/eea/assets/images/Footer/Vector1.png +0 -0
  92. package/theme/themes/eea/assets/images/Footer/Vector2.png +0 -0
  93. package/theme/themes/eea/assets/images/Header/EeaLogo.png +0 -0
  94. package/theme/themes/eea/assets/images/Header/Vector.png +0 -0
  95. package/theme/themes/eea/assets/images/Header/close-line.svg +1 -0
  96. package/theme/themes/eea/assets/images/Header/close.png +0 -0
  97. package/theme/themes/eea/assets/images/Header/down-arrow.png +0 -0
  98. package/theme/themes/eea/assets/images/Header/eea-logo.svg +14 -0
  99. package/theme/themes/eea/assets/images/Header/eea.png +0 -0
  100. package/theme/themes/eea/assets/images/Header/eeaIcon.png +0 -0
  101. package/theme/themes/eea/assets/images/Header/global-line.svg +1 -0
  102. package/theme/themes/eea/assets/images/Header/globeIcon.png +0 -0
  103. package/theme/themes/eea/assets/images/Header/hamburgerMenuIcon.png +0 -0
  104. package/theme/themes/eea/assets/images/Header/menu-left-arrow.svg +3 -0
  105. package/theme/themes/eea/assets/images/Header/menu-line.svg +1 -0
  106. package/theme/themes/eea/assets/images/Header/search-line.svg +1 -0
  107. package/theme/themes/eea/assets/images/Header/search.png +0 -0
  108. package/theme/themes/eea/assets/images/Header/searchIcon.png +0 -0
  109. package/theme/themes/eea/assets/images/arrow-down.svg +10 -0
  110. package/theme/themes/eea/assets/images/avatar.png +0 -0
  111. package/theme/themes/eea/assets/images/banner.png +0 -0
  112. package/theme/themes/eea/assets/images/eea-logo.png +0 -0
  113. package/theme/themes/eea/assets/images/eea_icon.png +0 -0
  114. package/theme/themes/eea/assets/images/europe-flag.svg +4 -0
  115. package/theme/themes/eea/assets/images/home-icon.svg +3 -0
  116. package/theme/themes/eea/assets/images/loaderImage.png +0 -0
  117. package/theme/themes/eea/assets/images/mega-menu-arrow.svg +3 -0
  118. package/theme/themes/eea/assets/logo/EEA-Logo-White-2.svg +9 -0
  119. package/theme/themes/eea/assets/logo/EEA-Logo-white.svg +9 -0
  120. package/theme/themes/eea/assets/logo/EIONETLogo.png +0 -0
  121. package/theme/themes/eea/assets/logo/bise.svg +47 -0
  122. package/theme/themes/eea/assets/logo/cca.svg +20 -0
  123. package/theme/themes/eea/assets/logo/copernicus.svg +62 -0
  124. package/theme/themes/eea/assets/logo/energy.svg +77 -0
  125. package/theme/themes/eea/assets/logo/fise.svg +37 -0
  126. package/theme/themes/eea/assets/logo/freshwater.svg +48 -0
  127. package/theme/themes/eea/assets/logo/industry.svg +40 -0
  128. package/theme/themes/eea/assets/logo/insitu.svg +43 -0
  129. package/theme/themes/eea/assets/logo/ipchem.svg +23 -0
  130. package/theme/themes/eea/assets/logo/marine.svg +63 -0
  131. package/theme/themes/eea/collections/breadcrumb.overrides +44 -0
  132. package/theme/themes/eea/collections/breadcrumb.variables +49 -0
  133. package/theme/themes/eea/collections/form.overrides +56 -0
  134. package/theme/themes/eea/collections/form.variables +211 -0
  135. package/theme/themes/eea/collections/grid.overrides +17 -0
  136. package/theme/themes/eea/collections/grid.variables +103 -0
  137. package/theme/themes/eea/collections/menu.overrides +84 -0
  138. package/theme/themes/eea/collections/menu.variables +471 -0
  139. package/theme/themes/eea/collections/message.overrides +34 -0
  140. package/theme/themes/eea/collections/message.variables +142 -0
  141. package/theme/themes/eea/collections/table.overrides +30 -0
  142. package/theme/themes/eea/collections/table.variables +249 -0
  143. package/theme/themes/eea/definitions/elements/icon.less +499 -0
  144. package/theme/themes/eea/elements/button.overrides +199 -0
  145. package/theme/themes/eea/elements/button.variables +405 -0
  146. package/theme/themes/eea/elements/container.overrides +98 -0
  147. package/theme/themes/eea/elements/container.variables +66 -0
  148. package/theme/themes/eea/elements/divider.overrides +17 -0
  149. package/theme/themes/eea/elements/divider.variables +53 -0
  150. package/theme/themes/eea/elements/flag.overrides +1235 -0
  151. package/theme/themes/eea/elements/flag.variables +13 -0
  152. package/theme/themes/eea/elements/header.overrides +205 -0
  153. package/theme/themes/eea/elements/header.variables +151 -0
  154. package/theme/themes/eea/elements/icon.overrides +5589 -0
  155. package/theme/themes/eea/elements/icon.variables +95 -0
  156. package/theme/themes/eea/elements/image.overrides +3 -0
  157. package/theme/themes/eea/elements/image.variables +44 -0
  158. package/theme/themes/eea/elements/input.overrides +83 -0
  159. package/theme/themes/eea/elements/input.variables +104 -0
  160. package/theme/themes/eea/elements/label.overrides +49 -0
  161. package/theme/themes/eea/elements/label.variables +267 -0
  162. package/theme/themes/eea/elements/list.overrides +28 -0
  163. package/theme/themes/eea/elements/list.variables +233 -0
  164. package/theme/themes/eea/elements/loader.overrides +3 -0
  165. package/theme/themes/eea/elements/loader.variables +73 -0
  166. package/theme/themes/eea/elements/placeholder.overrides +3 -0
  167. package/theme/themes/eea/elements/placeholder.variables +55 -0
  168. package/theme/themes/eea/elements/rail.overrides +3 -0
  169. package/theme/themes/eea/elements/rail.variables +34 -0
  170. package/theme/themes/eea/elements/reveal.overrides +3 -0
  171. package/theme/themes/eea/elements/reveal.variables +18 -0
  172. package/theme/themes/eea/elements/segment.overrides +8 -0
  173. package/theme/themes/eea/elements/segment.variables +154 -0
  174. package/theme/themes/eea/elements/step.overrides +18 -0
  175. package/theme/themes/eea/elements/step.variables +130 -0
  176. package/theme/themes/eea/extras/avatar.less +97 -0
  177. package/theme/themes/eea/extras/avatar.variables +34 -0
  178. package/theme/themes/eea/extras/avatarGrid.less +43 -0
  179. package/theme/themes/eea/extras/avatarGrid.variables +20 -0
  180. package/theme/themes/eea/extras/banner.less +213 -0
  181. package/theme/themes/eea/extras/banner.variables +77 -0
  182. package/theme/themes/eea/extras/blockquote.less +89 -0
  183. package/theme/themes/eea/extras/blockquote.variables +35 -0
  184. package/theme/themes/eea/extras/custom.overrides +0 -0
  185. package/theme/themes/eea/extras/custom.variables +0 -0
  186. package/theme/themes/eea/extras/divider.less +14 -0
  187. package/theme/themes/eea/extras/divider.variables +9 -0
  188. package/theme/themes/eea/extras/footer.less +273 -0
  189. package/theme/themes/eea/extras/footer.variables +109 -0
  190. package/theme/themes/eea/extras/header.less +691 -0
  191. package/theme/themes/eea/extras/header.variables +149 -0
  192. package/theme/themes/eea/extras/inpageNavigation.less +57 -0
  193. package/theme/themes/eea/extras/inpageNavigation.variables +30 -0
  194. package/theme/themes/eea/extras/keyContent.less +36 -0
  195. package/theme/themes/eea/extras/keyContent.variables +18 -0
  196. package/theme/themes/eea/extras/main.overrides +31 -0
  197. package/theme/themes/eea/extras/main.variables +33 -0
  198. package/theme/themes/eea/extras/publicationCard.less +62 -0
  199. package/theme/themes/eea/extras/publicationCard.variables +24 -0
  200. package/theme/themes/eea/extras/pullquote.less +76 -0
  201. package/theme/themes/eea/extras/pullquote.variables +34 -0
  202. package/theme/themes/eea/extras/select.overrides +0 -0
  203. package/theme/themes/eea/extras/select.variables +0 -0
  204. package/theme/themes/eea/extras/tag.less +37 -0
  205. package/theme/themes/eea/extras/tag.variables +22 -0
  206. package/theme/themes/eea/extras/tagList.less +50 -0
  207. package/theme/themes/eea/extras/tagList.variables +13 -0
  208. package/theme/themes/eea/extras/testimonial.less +28 -0
  209. package/theme/themes/eea/extras/testimonial.variables +13 -0
  210. package/theme/themes/eea/extras/timeline.less +114 -0
  211. package/theme/themes/eea/extras/timeline.variables +40 -0
  212. package/theme/themes/eea/globals/reset.overrides +454 -0
  213. package/theme/themes/eea/globals/reset.variables +6 -0
  214. package/theme/themes/eea/globals/site.overrides +27 -0
  215. package/theme/themes/eea/globals/site.variables +1135 -0
  216. package/theme/themes/eea/modules/accordion.overrides +83 -0
  217. package/theme/themes/eea/modules/accordion.variables +114 -0
  218. package/theme/themes/eea/modules/chatroom.overrides +3 -0
  219. package/theme/themes/eea/modules/chatroom.variables +3 -0
  220. package/theme/themes/eea/modules/checkbox.overrides +67 -0
  221. package/theme/themes/eea/modules/checkbox.variables +194 -0
  222. package/theme/themes/eea/modules/dimmer.overrides +3 -0
  223. package/theme/themes/eea/modules/dimmer.variables +58 -0
  224. package/theme/themes/eea/modules/dropdown.overrides +53 -0
  225. package/theme/themes/eea/modules/dropdown.variables +390 -0
  226. package/theme/themes/eea/modules/embed.overrides +3 -0
  227. package/theme/themes/eea/modules/embed.variables +53 -0
  228. package/theme/themes/eea/modules/modal.overrides +3 -0
  229. package/theme/themes/eea/modules/modal.variables +193 -0
  230. package/theme/themes/eea/modules/nag.overrides +3 -0
  231. package/theme/themes/eea/modules/nag.variables +74 -0
  232. package/theme/themes/eea/modules/popup.overrides +83 -0
  233. package/theme/themes/eea/modules/popup.variables +153 -0
  234. package/theme/themes/eea/modules/progress.overrides +3 -0
  235. package/theme/themes/eea/modules/progress.variables +113 -0
  236. package/theme/themes/eea/modules/rating.overrides +74 -0
  237. package/theme/themes/eea/modules/rating.variables +103 -0
  238. package/theme/themes/eea/modules/search.overrides +3 -0
  239. package/theme/themes/eea/modules/search.variables +163 -0
  240. package/theme/themes/eea/modules/shape.overrides +3 -0
  241. package/theme/themes/eea/modules/shape.variables +40 -0
  242. package/theme/themes/eea/modules/sidebar.overrides +3 -0
  243. package/theme/themes/eea/modules/sidebar.variables +45 -0
  244. package/theme/themes/eea/modules/sticky.overrides +3 -0
  245. package/theme/themes/eea/modules/sticky.variables +7 -0
  246. package/theme/themes/eea/modules/tab.overrides +13 -0
  247. package/theme/themes/eea/modules/tab.variables +17 -0
  248. package/theme/themes/eea/modules/transition.overrides +1087 -0
  249. package/theme/themes/eea/modules/transition.variables +10 -0
  250. package/theme/themes/eea/modules/video.overrides +3 -0
  251. package/theme/themes/eea/modules/video.variables +16 -0
  252. package/theme/themes/eea/views/ad.overrides +3 -0
  253. package/theme/themes/eea/views/ad.variables +13 -0
  254. package/theme/themes/eea/views/card.overrides +73 -0
  255. package/theme/themes/eea/views/card.variables +237 -0
  256. package/theme/themes/eea/views/comment.overrides +3 -0
  257. package/theme/themes/eea/views/comment.variables +98 -0
  258. package/theme/themes/eea/views/feed.overrides +3 -0
  259. package/theme/themes/eea/views/feed.variables +141 -0
  260. package/theme/themes/eea/views/item.overrides +8 -0
  261. package/theme/themes/eea/views/item.variables +157 -0
  262. package/theme/themes/eea/views/statistic.overrides +19 -0
  263. package/theme/themes/eea/views/statistic.variables +105 -0
@@ -0,0 +1,1087 @@
1
+ /*******************************
2
+ Transitions
3
+ *******************************/
4
+
5
+ /*
6
+ Some transitions adapted from Animate CSS
7
+ https://github.com/daneden/animate.css
8
+
9
+ Additional transitions adapted from Glide
10
+ by Nick Pettit - https://github.com/nickpettit/glide
11
+ */
12
+
13
+ /*--------------
14
+ Browse
15
+ ---------------*/
16
+
17
+ .transition.browse {
18
+ animation-duration: 500ms;
19
+ }
20
+
21
+ .transition.browse.in {
22
+ animation-name: browseIn;
23
+ }
24
+
25
+ .transition.browse.out,
26
+ .transition.browse.left.out {
27
+ animation-name: browseOutLeft;
28
+ }
29
+
30
+ .transition.browse.right.out {
31
+ animation-name: browseOutRight;
32
+ }
33
+
34
+ /* In */
35
+ @keyframes browseIn {
36
+ 0% {
37
+ z-index: -1;
38
+ transform: scale(0.8) translateZ(0);
39
+ }
40
+
41
+ 10% {
42
+ z-index: -1;
43
+ opacity: 0.7;
44
+ transform: scale(0.8) translateZ(0);
45
+ }
46
+
47
+ 80% {
48
+ z-index: 999;
49
+ opacity: 1;
50
+ transform: scale(1.05) translateZ(0);
51
+ }
52
+
53
+ 100% {
54
+ z-index: 999;
55
+ transform: scale(1) translateZ(0);
56
+ }
57
+ }
58
+
59
+ /* Out */
60
+ @keyframes browseOutLeft {
61
+ 0% {
62
+ z-index: 999;
63
+ transform: translateX(0%) rotateY(0deg) rotateX(0deg);
64
+ }
65
+
66
+ 50% {
67
+ z-index: -1;
68
+ transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
69
+ }
70
+
71
+ 80% {
72
+ opacity: 1;
73
+ }
74
+
75
+ 100% {
76
+ z-index: -1;
77
+ opacity: 0;
78
+ transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
79
+ }
80
+ }
81
+
82
+ @keyframes browseOutRight {
83
+ 0% {
84
+ z-index: 999;
85
+ transform: translateX(0%) rotateY(0deg) rotateX(0deg);
86
+ }
87
+
88
+ 50% {
89
+ z-index: 1;
90
+ transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);
91
+ }
92
+
93
+ 80% {
94
+ opacity: 1;
95
+ }
96
+
97
+ 100% {
98
+ z-index: 1;
99
+ opacity: 0;
100
+ transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);
101
+ }
102
+ }
103
+
104
+ /*--------------
105
+ Drop
106
+ ---------------*/
107
+
108
+ .drop.transition {
109
+ animation-duration: 400ms;
110
+ animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);
111
+ transform-origin: top center;
112
+ }
113
+
114
+ .drop.transition.in {
115
+ animation-name: dropIn;
116
+ }
117
+
118
+ .drop.transition.out {
119
+ animation-name: dropOut;
120
+ }
121
+
122
+ /* Drop */
123
+ @keyframes dropIn {
124
+ 0% {
125
+ opacity: 0;
126
+ transform: scale(0);
127
+ }
128
+
129
+ 100% {
130
+ opacity: 1;
131
+ transform: scale(1);
132
+ }
133
+ }
134
+
135
+ @keyframes dropOut {
136
+ 0% {
137
+ opacity: 1;
138
+ transform: scale(1);
139
+ }
140
+
141
+ 100% {
142
+ opacity: 0;
143
+ transform: scale(0);
144
+ }
145
+ }
146
+
147
+ /*--------------
148
+ Fade
149
+ ---------------*/
150
+
151
+ .transition.fade.in {
152
+ animation-name: fadeIn;
153
+ }
154
+
155
+ .transition[class*='fade up'].in {
156
+ animation-name: fadeInUp;
157
+ }
158
+
159
+ .transition[class*='fade down'].in {
160
+ animation-name: fadeInDown;
161
+ }
162
+
163
+ .transition[class*='fade left'].in {
164
+ animation-name: fadeInLeft;
165
+ }
166
+
167
+ .transition[class*='fade right'].in {
168
+ animation-name: fadeInRight;
169
+ }
170
+
171
+ .transition.fade.out {
172
+ animation-name: fadeOut;
173
+ }
174
+
175
+ .transition[class*='fade up'].out {
176
+ animation-name: fadeOutUp;
177
+ }
178
+
179
+ .transition[class*='fade down'].out {
180
+ animation-name: fadeOutDown;
181
+ }
182
+
183
+ .transition[class*='fade left'].out {
184
+ animation-name: fadeOutLeft;
185
+ }
186
+
187
+ .transition[class*='fade right'].out {
188
+ animation-name: fadeOutRight;
189
+ }
190
+
191
+ /* In */
192
+ @keyframes fadeIn {
193
+ 0% {
194
+ opacity: 0;
195
+ }
196
+
197
+ 100% {
198
+ opacity: 1;
199
+ }
200
+ }
201
+
202
+ @keyframes fadeInUp {
203
+ 0% {
204
+ opacity: 0;
205
+ transform: translateY(10%);
206
+ }
207
+
208
+ 100% {
209
+ opacity: 1;
210
+ transform: translateY(0%);
211
+ }
212
+ }
213
+
214
+ @keyframes fadeInDown {
215
+ 0% {
216
+ opacity: 0;
217
+ transform: translateY(-10%);
218
+ }
219
+
220
+ 100% {
221
+ opacity: 1;
222
+ transform: translateY(0%);
223
+ }
224
+ }
225
+
226
+ @keyframes fadeInLeft {
227
+ 0% {
228
+ opacity: 0;
229
+ transform: translateX(10%);
230
+ }
231
+
232
+ 100% {
233
+ opacity: 1;
234
+ transform: translateX(0%);
235
+ }
236
+ }
237
+
238
+ @keyframes fadeInRight {
239
+ 0% {
240
+ opacity: 0;
241
+ transform: translateX(-10%);
242
+ }
243
+
244
+ 100% {
245
+ opacity: 1;
246
+ transform: translateX(0%);
247
+ }
248
+ }
249
+
250
+ /* Out */
251
+ @keyframes fadeOut {
252
+ 0% {
253
+ opacity: 1;
254
+ }
255
+
256
+ 100% {
257
+ opacity: 0;
258
+ }
259
+ }
260
+
261
+ @keyframes fadeOutUp {
262
+ 0% {
263
+ opacity: 1;
264
+ transform: translateY(0%);
265
+ }
266
+
267
+ 100% {
268
+ opacity: 0;
269
+ transform: translateY(5%);
270
+ }
271
+ }
272
+
273
+ @keyframes fadeOutDown {
274
+ 0% {
275
+ opacity: 1;
276
+ transform: translateY(0%);
277
+ }
278
+
279
+ 100% {
280
+ opacity: 0;
281
+ transform: translateY(-5%);
282
+ }
283
+ }
284
+
285
+ @keyframes fadeOutLeft {
286
+ 0% {
287
+ opacity: 1;
288
+ transform: translateX(0%);
289
+ }
290
+
291
+ 100% {
292
+ opacity: 0;
293
+ transform: translateX(5%);
294
+ }
295
+ }
296
+
297
+ @keyframes fadeOutRight {
298
+ 0% {
299
+ opacity: 1;
300
+ transform: translateX(0%);
301
+ }
302
+
303
+ 100% {
304
+ opacity: 0;
305
+ transform: translateX(-5%);
306
+ }
307
+ }
308
+
309
+ /*--------------
310
+ Flips
311
+ ---------------*/
312
+
313
+ .flip.transition.in,
314
+ .flip.transition.out {
315
+ animation-duration: 600ms;
316
+ }
317
+
318
+ .horizontal.flip.transition.in {
319
+ animation-name: horizontalFlipIn;
320
+ }
321
+
322
+ .horizontal.flip.transition.out {
323
+ animation-name: horizontalFlipOut;
324
+ }
325
+
326
+ .vertical.flip.transition.in {
327
+ animation-name: verticalFlipIn;
328
+ }
329
+
330
+ .vertical.flip.transition.out {
331
+ animation-name: verticalFlipOut;
332
+ }
333
+
334
+ /* In */
335
+ @keyframes horizontalFlipIn {
336
+ 0% {
337
+ opacity: 0;
338
+ transform: perspective(2000px) rotateY(-90deg);
339
+ }
340
+
341
+ 100% {
342
+ opacity: 1;
343
+ transform: perspective(2000px) rotateY(0deg);
344
+ }
345
+ }
346
+
347
+ @keyframes verticalFlipIn {
348
+ 0% {
349
+ opacity: 0;
350
+ transform: perspective(2000px) rotateX(-90deg);
351
+ }
352
+
353
+ 100% {
354
+ opacity: 1;
355
+ transform: perspective(2000px) rotateX(0deg);
356
+ }
357
+ }
358
+
359
+ /* Out */
360
+ @keyframes horizontalFlipOut {
361
+ 0% {
362
+ opacity: 1;
363
+ transform: perspective(2000px) rotateY(0deg);
364
+ }
365
+
366
+ 100% {
367
+ opacity: 0;
368
+ transform: perspective(2000px) rotateY(90deg);
369
+ }
370
+ }
371
+
372
+ @keyframes verticalFlipOut {
373
+ 0% {
374
+ opacity: 1;
375
+ transform: perspective(2000px) rotateX(0deg);
376
+ }
377
+
378
+ 100% {
379
+ opacity: 0;
380
+ transform: perspective(2000px) rotateX(-90deg);
381
+ }
382
+ }
383
+
384
+ /*--------------
385
+ Scale
386
+ ---------------*/
387
+
388
+ .scale.transition.in {
389
+ animation-name: scaleIn;
390
+ }
391
+
392
+ .scale.transition.out {
393
+ animation-name: scaleOut;
394
+ }
395
+
396
+ @keyframes scaleIn {
397
+ 0% {
398
+ opacity: 0;
399
+ transform: scale(0.8);
400
+ }
401
+
402
+ 100% {
403
+ opacity: 1;
404
+ transform: scale(1);
405
+ }
406
+ }
407
+
408
+ /* Out */
409
+ @keyframes scaleOut {
410
+ 0% {
411
+ opacity: 1;
412
+ transform: scale(1);
413
+ }
414
+
415
+ 100% {
416
+ opacity: 0;
417
+ transform: scale(0.9);
418
+ }
419
+ }
420
+
421
+ /*--------------
422
+ Fly
423
+ ---------------*/
424
+
425
+ /* Inward */
426
+ .transition.fly {
427
+ animation-duration: 0.6s;
428
+ transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
429
+ }
430
+
431
+ .transition.fly.in {
432
+ animation-name: flyIn;
433
+ }
434
+
435
+ .transition[class*='fly up'].in {
436
+ animation-name: flyInUp;
437
+ }
438
+
439
+ .transition[class*='fly down'].in {
440
+ animation-name: flyInDown;
441
+ }
442
+
443
+ .transition[class*='fly left'].in {
444
+ animation-name: flyInLeft;
445
+ }
446
+
447
+ .transition[class*='fly right'].in {
448
+ animation-name: flyInRight;
449
+ }
450
+
451
+ /* Outward */
452
+ .transition.fly.out {
453
+ animation-name: flyOut;
454
+ }
455
+
456
+ .transition[class*='fly up'].out {
457
+ animation-name: flyOutUp;
458
+ }
459
+
460
+ .transition[class*='fly down'].out {
461
+ animation-name: flyOutDown;
462
+ }
463
+
464
+ .transition[class*='fly left'].out {
465
+ animation-name: flyOutLeft;
466
+ }
467
+
468
+ .transition[class*='fly right'].out {
469
+ animation-name: flyOutRight;
470
+ }
471
+
472
+ /* In */
473
+ @keyframes flyIn {
474
+ 0% {
475
+ opacity: 0;
476
+ transform: scale3d(0.3, 0.3, 0.3);
477
+ }
478
+
479
+ 20% {
480
+ transform: scale3d(1.1, 1.1, 1.1);
481
+ }
482
+
483
+ 40% {
484
+ transform: scale3d(0.9, 0.9, 0.9);
485
+ }
486
+
487
+ 60% {
488
+ opacity: 1;
489
+ transform: scale3d(1.03, 1.03, 1.03);
490
+ }
491
+
492
+ 80% {
493
+ transform: scale3d(0.97, 0.97, 0.97);
494
+ }
495
+
496
+ 100% {
497
+ opacity: 1;
498
+ transform: scale3d(1, 1, 1);
499
+ }
500
+ }
501
+
502
+ @keyframes flyInUp {
503
+ 0% {
504
+ opacity: 0;
505
+ transform: translate3d(0, 1500px, 0);
506
+ }
507
+
508
+ 60% {
509
+ opacity: 1;
510
+ transform: translate3d(0, -20px, 0);
511
+ }
512
+
513
+ 75% {
514
+ transform: translate3d(0, 10px, 0);
515
+ }
516
+
517
+ 90% {
518
+ transform: translate3d(0, -5px, 0);
519
+ }
520
+
521
+ 100% {
522
+ transform: translate3d(0, 0, 0);
523
+ }
524
+ }
525
+
526
+ @keyframes flyInDown {
527
+ 0% {
528
+ opacity: 0;
529
+ transform: translate3d(0, -1500px, 0);
530
+ }
531
+
532
+ 60% {
533
+ opacity: 1;
534
+ transform: translate3d(0, 25px, 0);
535
+ }
536
+
537
+ 75% {
538
+ transform: translate3d(0, -10px, 0);
539
+ }
540
+
541
+ 90% {
542
+ transform: translate3d(0, 5px, 0);
543
+ }
544
+
545
+ 100% {
546
+ transform: none;
547
+ }
548
+ }
549
+
550
+ @keyframes flyInLeft {
551
+ 0% {
552
+ opacity: 0;
553
+ transform: translate3d(1500px, 0, 0);
554
+ }
555
+
556
+ 60% {
557
+ opacity: 1;
558
+ transform: translate3d(-25px, 0, 0);
559
+ }
560
+
561
+ 75% {
562
+ transform: translate3d(10px, 0, 0);
563
+ }
564
+
565
+ 90% {
566
+ transform: translate3d(-5px, 0, 0);
567
+ }
568
+
569
+ 100% {
570
+ transform: none;
571
+ }
572
+ }
573
+
574
+ @keyframes flyInRight {
575
+ 0% {
576
+ opacity: 0;
577
+ transform: translate3d(-1500px, 0, 0);
578
+ }
579
+
580
+ 60% {
581
+ opacity: 1;
582
+ transform: translate3d(25px, 0, 0);
583
+ }
584
+
585
+ 75% {
586
+ transform: translate3d(-10px, 0, 0);
587
+ }
588
+
589
+ 90% {
590
+ transform: translate3d(5px, 0, 0);
591
+ }
592
+
593
+ 100% {
594
+ transform: none;
595
+ }
596
+ }
597
+
598
+ /* Out */
599
+ @keyframes flyOut {
600
+ 20% {
601
+ transform: scale3d(0.9, 0.9, 0.9);
602
+ }
603
+
604
+ 50%,
605
+ 55% {
606
+ opacity: 1;
607
+ transform: scale3d(1.1, 1.1, 1.1);
608
+ }
609
+
610
+ 100% {
611
+ opacity: 0;
612
+ transform: scale3d(0.3, 0.3, 0.3);
613
+ }
614
+ }
615
+
616
+ @keyframes flyOutUp {
617
+ 20% {
618
+ transform: translate3d(0, 10px, 0);
619
+ }
620
+
621
+ 40%,
622
+ 45% {
623
+ opacity: 1;
624
+ transform: translate3d(0, -20px, 0);
625
+ }
626
+
627
+ 100% {
628
+ opacity: 0;
629
+ transform: translate3d(0, 2000px, 0);
630
+ }
631
+ }
632
+
633
+ @keyframes flyOutDown {
634
+ 20% {
635
+ transform: translate3d(0, -10px, 0);
636
+ }
637
+
638
+ 40%,
639
+ 45% {
640
+ opacity: 1;
641
+ transform: translate3d(0, 20px, 0);
642
+ }
643
+
644
+ 100% {
645
+ opacity: 0;
646
+ transform: translate3d(0, -2000px, 0);
647
+ }
648
+ }
649
+
650
+ @keyframes flyOutRight {
651
+ 20% {
652
+ opacity: 1;
653
+ transform: translate3d(20px, 0, 0);
654
+ }
655
+
656
+ 100% {
657
+ opacity: 0;
658
+ transform: translate3d(-2000px, 0, 0);
659
+ }
660
+ }
661
+
662
+ @keyframes flyOutLeft {
663
+ 20% {
664
+ opacity: 1;
665
+ transform: translate3d(-20px, 0, 0);
666
+ }
667
+
668
+ 100% {
669
+ opacity: 0;
670
+ transform: translate3d(2000px, 0, 0);
671
+ }
672
+ }
673
+
674
+ /*--------------
675
+ Slide
676
+ ---------------*/
677
+
678
+ .transition.slide.in,
679
+ .transition[class*='slide down'].in {
680
+ animation-name: slideInY;
681
+ transform-origin: top center;
682
+ }
683
+
684
+ .transition[class*='slide up'].in {
685
+ animation-name: slideInY;
686
+ transform-origin: bottom center;
687
+ }
688
+
689
+ .transition[class*='slide left'].in {
690
+ animation-name: slideInX;
691
+ transform-origin: center right;
692
+ }
693
+
694
+ .transition[class*='slide right'].in {
695
+ animation-name: slideInX;
696
+ transform-origin: center left;
697
+ }
698
+
699
+ .transition.slide.out,
700
+ .transition[class*='slide down'].out {
701
+ animation-name: slideOutY;
702
+ transform-origin: top center;
703
+ }
704
+
705
+ .transition[class*='slide up'].out {
706
+ animation-name: slideOutY;
707
+ transform-origin: bottom center;
708
+ }
709
+
710
+ .transition[class*='slide left'].out {
711
+ animation-name: slideOutX;
712
+ transform-origin: center right;
713
+ }
714
+
715
+ .transition[class*='slide right'].out {
716
+ animation-name: slideOutX;
717
+ transform-origin: center left;
718
+ }
719
+
720
+ /* In */
721
+ @keyframes slideInY {
722
+ 0% {
723
+ opacity: 0;
724
+ transform: scaleY(0);
725
+ }
726
+
727
+ 100% {
728
+ opacity: 1;
729
+ transform: scaleY(1);
730
+ }
731
+ }
732
+
733
+ @keyframes slideInX {
734
+ 0% {
735
+ opacity: 0;
736
+ transform: scaleX(0);
737
+ }
738
+
739
+ 100% {
740
+ opacity: 1;
741
+ transform: scaleX(1);
742
+ }
743
+ }
744
+
745
+ /* Out */
746
+ @keyframes slideOutY {
747
+ 0% {
748
+ opacity: 1;
749
+ transform: scaleY(1);
750
+ }
751
+
752
+ 100% {
753
+ opacity: 0;
754
+ transform: scaleY(0);
755
+ }
756
+ }
757
+
758
+ @keyframes slideOutX {
759
+ 0% {
760
+ opacity: 1;
761
+ transform: scaleX(1);
762
+ }
763
+
764
+ 100% {
765
+ opacity: 0;
766
+ transform: scaleX(0);
767
+ }
768
+ }
769
+
770
+ /*--------------
771
+ Swing
772
+ ---------------*/
773
+
774
+ .transition.swing {
775
+ animation-duration: 800ms;
776
+ }
777
+
778
+ .transition[class*='swing down'].in {
779
+ animation-name: swingInX;
780
+ transform-origin: top center;
781
+ }
782
+
783
+ .transition[class*='swing up'].in {
784
+ animation-name: swingInX;
785
+ transform-origin: bottom center;
786
+ }
787
+
788
+ .transition[class*='swing left'].in {
789
+ animation-name: swingInY;
790
+ transform-origin: center right;
791
+ }
792
+
793
+ .transition[class*='swing right'].in {
794
+ animation-name: swingInY;
795
+ transform-origin: center left;
796
+ }
797
+
798
+ .transition.swing.out,
799
+ .transition[class*='swing down'].out {
800
+ animation-name: swingOutX;
801
+ transform-origin: top center;
802
+ }
803
+
804
+ .transition[class*='swing up'].out {
805
+ animation-name: swingOutX;
806
+ transform-origin: bottom center;
807
+ }
808
+
809
+ .transition[class*='swing left'].out {
810
+ animation-name: swingOutY;
811
+ transform-origin: center right;
812
+ }
813
+
814
+ .transition[class*='swing right'].out {
815
+ animation-name: swingOutY;
816
+ transform-origin: center left;
817
+ }
818
+
819
+ /* In */
820
+ @keyframes swingInX {
821
+ 0% {
822
+ opacity: 0;
823
+ transform: perspective(1000px) rotateX(90deg);
824
+ }
825
+
826
+ 40% {
827
+ opacity: 1;
828
+ transform: perspective(1000px) rotateX(-30deg);
829
+ }
830
+
831
+ 60% {
832
+ transform: perspective(1000px) rotateX(15deg);
833
+ }
834
+
835
+ 80% {
836
+ transform: perspective(1000px) rotateX(-7.5deg);
837
+ }
838
+
839
+ 100% {
840
+ transform: perspective(1000px) rotateX(0deg);
841
+ }
842
+ }
843
+
844
+ @keyframes swingInY {
845
+ 0% {
846
+ opacity: 0;
847
+ transform: perspective(1000px) rotateY(-90deg);
848
+ }
849
+
850
+ 40% {
851
+ opacity: 1;
852
+ transform: perspective(1000px) rotateY(30deg);
853
+ }
854
+
855
+ 60% {
856
+ transform: perspective(1000px) rotateY(-17.5deg);
857
+ }
858
+
859
+ 80% {
860
+ transform: perspective(1000px) rotateY(7.5deg);
861
+ }
862
+
863
+ 100% {
864
+ transform: perspective(1000px) rotateY(0deg);
865
+ }
866
+ }
867
+
868
+ /* Out */
869
+ @keyframes swingOutX {
870
+ 0% {
871
+ transform: perspective(1000px) rotateX(0deg);
872
+ }
873
+
874
+ 40% {
875
+ transform: perspective(1000px) rotateX(-7.5deg);
876
+ }
877
+
878
+ 60% {
879
+ transform: perspective(1000px) rotateX(17.5deg);
880
+ }
881
+
882
+ 80% {
883
+ opacity: 1;
884
+ transform: perspective(1000px) rotateX(-30deg);
885
+ }
886
+
887
+ 100% {
888
+ opacity: 0;
889
+ transform: perspective(1000px) rotateX(90deg);
890
+ }
891
+ }
892
+
893
+ @keyframes swingOutY {
894
+ 0% {
895
+ transform: perspective(1000px) rotateY(0deg);
896
+ }
897
+
898
+ 40% {
899
+ transform: perspective(1000px) rotateY(7.5deg);
900
+ }
901
+
902
+ 60% {
903
+ transform: perspective(1000px) rotateY(-10deg);
904
+ }
905
+
906
+ 80% {
907
+ opacity: 1;
908
+ transform: perspective(1000px) rotateY(30deg);
909
+ }
910
+
911
+ 100% {
912
+ opacity: 0;
913
+ transform: perspective(1000px) rotateY(-90deg);
914
+ }
915
+ }
916
+
917
+ /*******************************
918
+ Static Animations
919
+ *******************************/
920
+
921
+ /*--------------
922
+ Emphasis
923
+ ---------------*/
924
+
925
+ .flash.transition {
926
+ animation-duration: 750ms;
927
+ animation-name: flash;
928
+ }
929
+
930
+ .shake.transition {
931
+ animation-duration: 750ms;
932
+ animation-name: shake;
933
+ }
934
+
935
+ .bounce.transition {
936
+ animation-duration: 750ms;
937
+ animation-name: bounce;
938
+ }
939
+
940
+ .tada.transition {
941
+ animation-duration: 750ms;
942
+ animation-name: tada;
943
+ }
944
+
945
+ .pulse.transition {
946
+ animation-duration: 500ms;
947
+ animation-name: pulse;
948
+ }
949
+
950
+ .jiggle.transition {
951
+ animation-duration: 750ms;
952
+ animation-name: jiggle;
953
+ }
954
+
955
+ /* Flash */
956
+ @keyframes flash {
957
+ 0%,
958
+ 50%,
959
+ 100% {
960
+ opacity: 1;
961
+ }
962
+
963
+ 25%,
964
+ 75% {
965
+ opacity: 0;
966
+ }
967
+ }
968
+
969
+ /* Shake */
970
+ @keyframes shake {
971
+ 0%,
972
+ 100% {
973
+ transform: translateX(0);
974
+ }
975
+
976
+ 10%,
977
+ 30%,
978
+ 50%,
979
+ 70%,
980
+ 90% {
981
+ transform: translateX(-10px);
982
+ }
983
+
984
+ 20%,
985
+ 40%,
986
+ 60%,
987
+ 80% {
988
+ transform: translateX(10px);
989
+ }
990
+ }
991
+
992
+ /* Bounce */
993
+ @keyframes bounce {
994
+ 0%,
995
+ 20%,
996
+ 50%,
997
+ 80%,
998
+ 100% {
999
+ transform: translateY(0);
1000
+ }
1001
+
1002
+ 40% {
1003
+ transform: translateY(-30px);
1004
+ }
1005
+
1006
+ 60% {
1007
+ transform: translateY(-15px);
1008
+ }
1009
+ }
1010
+
1011
+ /* Tada */
1012
+ @keyframes tada {
1013
+ 0% {
1014
+ transform: scale(1);
1015
+ }
1016
+
1017
+ 10%,
1018
+ 20% {
1019
+ transform: scale(0.9) rotate(-3deg);
1020
+ }
1021
+
1022
+ 30%,
1023
+ 50%,
1024
+ 70%,
1025
+ 90% {
1026
+ transform: scale(1.1) rotate(3deg);
1027
+ }
1028
+
1029
+ 40%,
1030
+ 60%,
1031
+ 80% {
1032
+ transform: scale(1.1) rotate(-3deg);
1033
+ }
1034
+
1035
+ 100% {
1036
+ transform: scale(1) rotate(0);
1037
+ }
1038
+ }
1039
+
1040
+ /* Pulse */
1041
+ @keyframes pulse {
1042
+ 0% {
1043
+ opacity: 1;
1044
+ transform: scale(1);
1045
+ }
1046
+
1047
+ 50% {
1048
+ opacity: 0.7;
1049
+ transform: scale(0.9);
1050
+ }
1051
+
1052
+ 100% {
1053
+ opacity: 1;
1054
+ transform: scale(1);
1055
+ }
1056
+ }
1057
+
1058
+ /* Rubberband */
1059
+ @keyframes jiggle {
1060
+ 0% {
1061
+ transform: scale3d(1, 1, 1);
1062
+ }
1063
+
1064
+ 30% {
1065
+ transform: scale3d(1.25, 0.75, 1);
1066
+ }
1067
+
1068
+ 40% {
1069
+ transform: scale3d(0.75, 1.25, 1);
1070
+ }
1071
+
1072
+ 50% {
1073
+ transform: scale3d(1.15, 0.85, 1);
1074
+ }
1075
+
1076
+ 65% {
1077
+ transform: scale3d(0.95, 1.05, 1);
1078
+ }
1079
+
1080
+ 75% {
1081
+ transform: scale3d(1.05, 0.95, 1);
1082
+ }
1083
+
1084
+ 100% {
1085
+ transform: scale3d(1, 1, 1);
1086
+ }
1087
+ }