@siemens/ix 1.0.0-beta.2

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 (703) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/_commonjsHelpers-1a0c346f.js +23 -0
  3. package/dist/cjs/animation-dfe01edc.js +19 -0
  4. package/dist/cjs/anime.es-8822f296.js +1311 -0
  5. package/dist/cjs/base-button-eb1d47db.js +33 -0
  6. package/dist/cjs/default-tree-item-4597cd84.js +22 -0
  7. package/dist/cjs/flip-tile-state-c95639e5.js +18 -0
  8. package/dist/cjs/index-1e4a348f.js +1849 -0
  9. package/dist/cjs/index.cjs.js +96 -0
  10. package/dist/cjs/ix-animated-tab_2.cjs.entry.js +217 -0
  11. package/dist/cjs/ix-application-header.cjs.entry.js +19 -0
  12. package/dist/cjs/ix-basic-navigation.cjs.entry.js +44 -0
  13. package/dist/cjs/ix-blind.cjs.entry.js +89 -0
  14. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +155 -0
  15. package/dist/cjs/ix-button.cjs.entry.js +50 -0
  16. package/dist/cjs/ix-category-filter.cjs.entry.js +399 -0
  17. package/dist/cjs/ix-chip.cjs.entry.js +47 -0
  18. package/dist/cjs/ix-counter-pill.cjs.entry.js +40 -0
  19. package/dist/cjs/ix-date-picker_2.cjs.entry.js +8881 -0
  20. package/dist/cjs/ix-date-time-card.cjs.entry.js +36 -0
  21. package/dist/cjs/ix-datetime-picker.cjs.entry.js +44 -0
  22. package/dist/cjs/ix-drawer.cjs.entry.js +122 -0
  23. package/dist/cjs/ix-dropdown_2.cjs.entry.js +203 -0
  24. package/dist/cjs/ix-event-list_2.cjs.entry.js +151 -0
  25. package/dist/cjs/ix-expanding-search.cjs.entry.js +91 -0
  26. package/dist/cjs/ix-filter-chip.cjs.entry.js +30 -0
  27. package/dist/cjs/ix-flip-tile_2.cjs.entry.js +79 -0
  28. package/dist/cjs/ix-group_3.cjs.entry.js +174 -0
  29. package/dist/cjs/ix-icon-button.cjs.entry.js +40 -0
  30. package/dist/cjs/ix-icon.cjs.entry.js +33 -0
  31. package/dist/cjs/ix-input-group.cjs.entry.js +40 -0
  32. package/dist/cjs/ix-kpi.cjs.entry.js +50 -0
  33. package/dist/cjs/ix-map-navigation_2.cjs.entry.js +190 -0
  34. package/dist/cjs/ix-menu_9.cjs.entry.js +872 -0
  35. package/dist/cjs/ix-message-bar.cjs.entry.js +58 -0
  36. package/dist/cjs/ix-modal-example.cjs.entry.js +24 -0
  37. package/dist/cjs/ix-modal_2.cjs.entry.js +14 -0
  38. package/dist/cjs/ix-pill.cjs.entry.js +40 -0
  39. package/dist/cjs/ix-select_2.cjs.entry.js +309 -0
  40. package/dist/cjs/ix-spinner.cjs.entry.js +30 -0
  41. package/dist/cjs/ix-split-button_2.cjs.entry.js +114 -0
  42. package/dist/cjs/ix-tab-item.cjs.entry.js +67 -0
  43. package/dist/cjs/ix-tabs.cjs.entry.js +187 -0
  44. package/dist/cjs/ix-tile.cjs.entry.js +27 -0
  45. package/dist/cjs/ix-toast_2.cjs.entry.js +155 -0
  46. package/dist/cjs/ix-toggle.cjs.entry.js +82 -0
  47. package/dist/cjs/ix-tree_2.cjs.entry.js +690 -0
  48. package/dist/cjs/ix-upload.cjs.entry.js +139 -0
  49. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +107 -0
  50. package/dist/cjs/ix-workflow-step.cjs.entry.js +114 -0
  51. package/dist/cjs/ix-workflow-steps.cjs.entry.js +83 -0
  52. package/dist/cjs/loader.cjs.js +21 -0
  53. package/dist/cjs/logical-filter-operator-467e2faf.js +35 -0
  54. package/dist/cjs/modal-5be2b1a3.js +221 -0
  55. package/dist/cjs/modal-utils-5d7bb217.js +42 -0
  56. package/dist/cjs/mutation-observer-29bedada.js +13 -0
  57. package/dist/cjs/my-component.cjs.entry.js +19 -0
  58. package/dist/cjs/popper-d7a0f999.js +1801 -0
  59. package/dist/cjs/rwd.util-482d41d4.js +42 -0
  60. package/dist/cjs/siemens-ix.cjs.js +19 -0
  61. package/dist/cjs/typed-event-8f5a32a2.js +46 -0
  62. package/dist/cjs/upload-file-state-923b2c65.js +17 -0
  63. package/dist/collection/collection-manifest.json +258 -0
  64. package/dist/collection/components/animated-tab/animated-tab.css +14 -0
  65. package/dist/collection/components/animated-tab/animated-tab.js +59 -0
  66. package/dist/collection/components/animated-tabs/animated-tabs.css +158 -0
  67. package/dist/collection/components/animated-tabs/animated-tabs.js +303 -0
  68. package/dist/collection/components/application-header/application-header.css +29 -0
  69. package/dist/collection/components/application-header/application-header.js +45 -0
  70. package/dist/collection/components/basic-navigation/basic-navigation.css +29 -0
  71. package/dist/collection/components/basic-navigation/basic-navigation.js +91 -0
  72. package/dist/collection/components/blind/blind.css +146 -0
  73. package/dist/collection/components/blind/blind.js +152 -0
  74. package/dist/collection/components/breadcrumb/breadcrumb.css +228 -0
  75. package/dist/collection/components/breadcrumb/breadcrumb.js +252 -0
  76. package/dist/collection/components/breadcrumb-item/breadcrumb-item.css +11 -0
  77. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js +59 -0
  78. package/dist/collection/components/button/base-button.js +29 -0
  79. package/dist/collection/components/button/button.css +12 -0
  80. package/dist/collection/components/button/button.js +192 -0
  81. package/dist/collection/components/category-filter/category-filter.css +189 -0
  82. package/dist/collection/components/category-filter/category-filter.js +704 -0
  83. package/dist/collection/components/category-filter/filter-state.js +10 -0
  84. package/dist/collection/components/category-filter/input-state.js +17 -0
  85. package/dist/collection/components/category-filter/logical-filter-operator.js +13 -0
  86. package/dist/collection/components/chip/chip.css +475 -0
  87. package/dist/collection/components/chip/chip.js +197 -0
  88. package/dist/collection/components/counter-pill/counter-pill.css +313 -0
  89. package/dist/collection/components/counter-pill/counter-pill.js +137 -0
  90. package/dist/collection/components/date-picker/date-picker.css +222 -0
  91. package/dist/collection/components/date-picker/date-picker.js +365 -0
  92. package/dist/collection/components/date-time-card/date-time-card.css +49 -0
  93. package/dist/collection/components/date-time-card/date-time-card.js +89 -0
  94. package/dist/collection/components/datetime-picker/datetime-picker.css +35 -0
  95. package/dist/collection/components/datetime-picker/datetime-picker.js +161 -0
  96. package/dist/collection/components/drawer/drawer.css +78 -0
  97. package/dist/collection/components/drawer/drawer.js +300 -0
  98. package/dist/collection/components/dropdown/dropdown.css +536 -0
  99. package/dist/collection/components/dropdown/dropdown.js +392 -0
  100. package/dist/collection/components/dropdown-item/dropdown-item.css +61 -0
  101. package/dist/collection/components/dropdown-item/dropdown-item.js +187 -0
  102. package/dist/collection/components/event-list/event-list.css +58 -0
  103. package/dist/collection/components/event-list/event-list.js +197 -0
  104. package/dist/collection/components/event-list-item/event-list-item.css +109 -0
  105. package/dist/collection/components/event-list-item/event-list-item.js +162 -0
  106. package/dist/collection/components/expanding-search/expanding-search.css +124 -0
  107. package/dist/collection/components/expanding-search/expanding-search.js +177 -0
  108. package/dist/collection/components/filter-chip/filter-chip.css +82 -0
  109. package/dist/collection/components/filter-chip/filter-chip.js +74 -0
  110. package/dist/collection/components/flip-tile/flip-tile-state.js +16 -0
  111. package/dist/collection/components/flip-tile/flip-tile.css +143 -0
  112. package/dist/collection/components/flip-tile/flip-tile.js +125 -0
  113. package/dist/collection/components/flip-tile-content/flip-tile-content.css +12 -0
  114. package/dist/collection/components/flip-tile-content/flip-tile-content.js +23 -0
  115. package/dist/collection/components/group/group.css +170 -0
  116. package/dist/collection/components/group/group.js +329 -0
  117. package/dist/collection/components/group-dropdown-item/group-dropdown-item.css +11 -0
  118. package/dist/collection/components/group-dropdown-item/group-dropdown-item.js +60 -0
  119. package/dist/collection/components/group-item/group-item.css +116 -0
  120. package/dist/collection/components/group-item/group-item.js +200 -0
  121. package/dist/collection/components/icon/icon.css +45 -0
  122. package/dist/collection/components/icon/icon.js +91 -0
  123. package/dist/collection/components/icon-button/icon-button.js +242 -0
  124. package/dist/collection/components/input-group/input-group.css +27 -0
  125. package/dist/collection/components/input-group/input-group.js +48 -0
  126. package/dist/collection/components/kpi/kpi.css +131 -0
  127. package/dist/collection/components/kpi/kpi.js +151 -0
  128. package/dist/collection/components/map-navigation/map-navigation.css +161 -0
  129. package/dist/collection/components/map-navigation/map-navigation.js +355 -0
  130. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.css +237 -0
  131. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +105 -0
  132. package/dist/collection/components/menu/menu.css +128 -0
  133. package/dist/collection/components/menu/menu.js +969 -0
  134. package/dist/collection/components/menu-about/menu-about.css +207 -0
  135. package/dist/collection/components/menu-about/menu-about.js +188 -0
  136. package/dist/collection/components/menu-about-item/menu-about-item.css +12 -0
  137. package/dist/collection/components/menu-about-item/menu-about-item.js +42 -0
  138. package/dist/collection/components/menu-about-news/menu-about-news.css +99 -0
  139. package/dist/collection/components/menu-about-news/menu-about-news.js +204 -0
  140. package/dist/collection/components/menu-avatar/menu-avatar.css +91 -0
  141. package/dist/collection/components/menu-avatar/menu-avatar.js +136 -0
  142. package/dist/collection/components/menu-avatar-item/menu-avatar-item.css +12 -0
  143. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +79 -0
  144. package/dist/collection/components/menu-item/menu-item.css +140 -0
  145. package/dist/collection/components/menu-item/menu-item.js +166 -0
  146. package/dist/collection/components/menu-settings/menu-settings.css +204 -0
  147. package/dist/collection/components/menu-settings/menu-settings.js +151 -0
  148. package/dist/collection/components/menu-settings-item/menu-settings-item.css +13 -0
  149. package/dist/collection/components/menu-settings-item/menu-settings-item.js +42 -0
  150. package/dist/collection/components/message-bar/message-bar.css +68 -0
  151. package/dist/collection/components/message-bar/message-bar.js +125 -0
  152. package/dist/collection/components/modal/modal-utils.js +36 -0
  153. package/dist/collection/components/modal/modal.css +96 -0
  154. package/dist/collection/components/modal/modal.js +540 -0
  155. package/dist/collection/components/modal-container/modal-container.css +14 -0
  156. package/dist/collection/components/modal-container/modal-container.js +107 -0
  157. package/dist/collection/components/my-component/example-modal.js +31 -0
  158. package/dist/collection/components/my-component/my-component.css +34 -0
  159. package/dist/collection/components/my-component/my-component.js +22 -0
  160. package/dist/collection/components/pill/pill.css +269 -0
  161. package/dist/collection/components/pill/pill.js +155 -0
  162. package/dist/collection/components/select/select.css +176 -0
  163. package/dist/collection/components/select/select.js +509 -0
  164. package/dist/collection/components/select-item/select-item.css +14 -0
  165. package/dist/collection/components/select-item/select-item.js +169 -0
  166. package/dist/collection/components/spinner/spinner.css +42 -0
  167. package/dist/collection/components/spinner/spinner.js +137 -0
  168. package/dist/collection/components/split-button/split-button.css +11 -0
  169. package/dist/collection/components/split-button/split-button.js +310 -0
  170. package/dist/collection/components/split-button-item/split-button-item.css +12 -0
  171. package/dist/collection/components/split-button-item/split-button-item.js +79 -0
  172. package/dist/collection/components/tab-item/tab-item.css +195 -0
  173. package/dist/collection/components/tab-item/tab-item.js +219 -0
  174. package/dist/collection/components/tabs/tabs.css +84 -0
  175. package/dist/collection/components/tabs/tabs.js +305 -0
  176. package/dist/collection/components/tile/tile.css +92 -0
  177. package/dist/collection/components/tile/tile.js +60 -0
  178. package/dist/collection/components/time-picker/time-picker.css +94 -0
  179. package/dist/collection/components/time-picker/time-picker.js +274 -0
  180. package/dist/collection/components/toast/toast-container.js +170 -0
  181. package/dist/collection/components/toast/toast-utils.js +40 -0
  182. package/dist/collection/components/toast/toast.css +110 -0
  183. package/dist/collection/components/toast/toast.js +232 -0
  184. package/dist/collection/components/toggle/toggle.css +226 -0
  185. package/dist/collection/components/toggle/toggle.js +263 -0
  186. package/dist/collection/components/tree/tree-model.js +9 -0
  187. package/dist/collection/components/tree/tree.css +12 -0
  188. package/dist/collection/components/tree/tree.js +296 -0
  189. package/dist/collection/components/tree-item/default-tree-item.js +18 -0
  190. package/dist/collection/components/tree-item/tree-item.css +80 -0
  191. package/dist/collection/components/tree-item/tree-item.js +124 -0
  192. package/dist/collection/components/upload/upload-file-state.js +15 -0
  193. package/dist/collection/components/upload/upload.css +120 -0
  194. package/dist/collection/components/upload/upload.js +413 -0
  195. package/dist/collection/components/utils/animation.js +15 -0
  196. package/dist/collection/components/utils/button-variants.js +9 -0
  197. package/dist/collection/components/utils/mutation-observer.js +9 -0
  198. package/dist/collection/components/utils/notification-color.js +9 -0
  199. package/dist/collection/components/utils/popover.util.js +33 -0
  200. package/dist/collection/components/utils/rwd.util.js +37 -0
  201. package/dist/collection/components/utils/toggle-theme.js +24 -0
  202. package/dist/collection/components/utils/typed-event.js +42 -0
  203. package/dist/collection/components/validation-tooltip/validation-tooltip.css +235 -0
  204. package/dist/collection/components/validation-tooltip/validation-tooltip.js +167 -0
  205. package/dist/collection/components/workflow-step/workflow-step.css +131 -0
  206. package/dist/collection/components/workflow-step/workflow-step.js +249 -0
  207. package/dist/collection/components/workflow-steps/workflow-steps.css +29 -0
  208. package/dist/collection/components/workflow-steps/workflow-steps.js +182 -0
  209. package/dist/collection/env.js +9 -0
  210. package/dist/collection/exports.js +13 -0
  211. package/dist/collection/index.js +16 -0
  212. package/dist/collection/utils/test/index.js +9 -0
  213. package/dist/collection/utils/test/page.js +29 -0
  214. package/dist/components/_commonjsHelpers.js +19 -0
  215. package/dist/components/animation.js +17 -0
  216. package/dist/components/anime.es.js +1309 -0
  217. package/dist/components/application-header.js +32 -0
  218. package/dist/components/base-button.js +31 -0
  219. package/dist/components/button.js +68 -0
  220. package/dist/components/date-picker.js +268 -0
  221. package/dist/components/date-time-card.js +49 -0
  222. package/dist/components/default-tree-item.js +20 -0
  223. package/dist/components/dropdown-item.js +73 -0
  224. package/dist/components/dropdown.js +181 -0
  225. package/dist/components/filter-chip.js +48 -0
  226. package/dist/components/flip-tile-state.js +18 -0
  227. package/dist/components/group-item.js +63 -0
  228. package/dist/components/icon-button.js +68 -0
  229. package/dist/components/icon.js +47 -0
  230. package/dist/components/index.d.ts +26 -0
  231. package/dist/components/index.js +62 -0
  232. package/dist/components/ix-animated-tab.d.ts +11 -0
  233. package/dist/components/ix-animated-tab.js +35 -0
  234. package/dist/components/ix-animated-tabs.d.ts +11 -0
  235. package/dist/components/ix-animated-tabs.js +229 -0
  236. package/dist/components/ix-application-header.d.ts +11 -0
  237. package/dist/components/ix-application-header.js +6 -0
  238. package/dist/components/ix-basic-navigation.d.ts +11 -0
  239. package/dist/components/ix-basic-navigation.js +66 -0
  240. package/dist/components/ix-blind.d.ts +11 -0
  241. package/dist/components/ix-blind.js +105 -0
  242. package/dist/components/ix-breadcrumb-item.d.ts +11 -0
  243. package/dist/components/ix-breadcrumb-item.js +35 -0
  244. package/dist/components/ix-breadcrumb.d.ts +11 -0
  245. package/dist/components/ix-breadcrumb.js +180 -0
  246. package/dist/components/ix-button.d.ts +11 -0
  247. package/dist/components/ix-button.js +6 -0
  248. package/dist/components/ix-category-filter.d.ts +11 -0
  249. package/dist/components/ix-category-filter.js +447 -0
  250. package/dist/components/ix-chip.d.ts +11 -0
  251. package/dist/components/ix-chip.js +74 -0
  252. package/dist/components/ix-counter-pill.d.ts +11 -0
  253. package/dist/components/ix-counter-pill.js +59 -0
  254. package/dist/components/ix-date-picker.d.ts +11 -0
  255. package/dist/components/ix-date-picker.js +6 -0
  256. package/dist/components/ix-date-time-card.d.ts +11 -0
  257. package/dist/components/ix-date-time-card.js +6 -0
  258. package/dist/components/ix-datetime-picker.d.ts +11 -0
  259. package/dist/components/ix-datetime-picker.js +105 -0
  260. package/dist/components/ix-drawer.d.ts +11 -0
  261. package/dist/components/ix-drawer.js +155 -0
  262. package/dist/components/ix-dropdown-item.d.ts +11 -0
  263. package/dist/components/ix-dropdown-item.js +6 -0
  264. package/dist/components/ix-dropdown.d.ts +11 -0
  265. package/dist/components/ix-dropdown.js +6 -0
  266. package/dist/components/ix-event-list-item.d.ts +11 -0
  267. package/dist/components/ix-event-list-item.js +59 -0
  268. package/dist/components/ix-event-list.d.ts +11 -0
  269. package/dist/components/ix-event-list.js +135 -0
  270. package/dist/components/ix-expanding-search.d.ts +11 -0
  271. package/dist/components/ix-expanding-search.js +123 -0
  272. package/dist/components/ix-filter-chip.d.ts +11 -0
  273. package/dist/components/ix-filter-chip.js +6 -0
  274. package/dist/components/ix-flip-tile-content.d.ts +11 -0
  275. package/dist/components/ix-flip-tile-content.js +33 -0
  276. package/dist/components/ix-flip-tile.d.ts +11 -0
  277. package/dist/components/ix-flip-tile.js +96 -0
  278. package/dist/components/ix-group-dropdown-item.d.ts +11 -0
  279. package/dist/components/ix-group-dropdown-item.js +47 -0
  280. package/dist/components/ix-group-item.d.ts +11 -0
  281. package/dist/components/ix-group-item.js +6 -0
  282. package/dist/components/ix-group.d.ts +11 -0
  283. package/dist/components/ix-group.js +174 -0
  284. package/dist/components/ix-icon-button.d.ts +11 -0
  285. package/dist/components/ix-icon-button.js +6 -0
  286. package/dist/components/ix-icon.d.ts +11 -0
  287. package/dist/components/ix-icon.js +6 -0
  288. package/dist/components/ix-input-group.d.ts +11 -0
  289. package/dist/components/ix-input-group.js +53 -0
  290. package/dist/components/ix-kpi.d.ts +11 -0
  291. package/dist/components/ix-kpi.js +75 -0
  292. package/dist/components/ix-map-navigation-overlay.d.ts +11 -0
  293. package/dist/components/ix-map-navigation-overlay.js +6 -0
  294. package/dist/components/ix-map-navigation.d.ts +11 -0
  295. package/dist/components/ix-map-navigation.js +227 -0
  296. package/dist/components/ix-menu-about-item.d.ts +11 -0
  297. package/dist/components/ix-menu-about-item.js +34 -0
  298. package/dist/components/ix-menu-about-news.d.ts +11 -0
  299. package/dist/components/ix-menu-about-news.js +78 -0
  300. package/dist/components/ix-menu-about.d.ts +11 -0
  301. package/dist/components/ix-menu-about.js +6 -0
  302. package/dist/components/ix-menu-avatar-item.d.ts +11 -0
  303. package/dist/components/ix-menu-avatar-item.js +6 -0
  304. package/dist/components/ix-menu-avatar.d.ts +11 -0
  305. package/dist/components/ix-menu-avatar.js +83 -0
  306. package/dist/components/ix-menu-item.d.ts +11 -0
  307. package/dist/components/ix-menu-item.js +6 -0
  308. package/dist/components/ix-menu-settings-item.d.ts +11 -0
  309. package/dist/components/ix-menu-settings-item.js +34 -0
  310. package/dist/components/ix-menu-settings.d.ts +11 -0
  311. package/dist/components/ix-menu-settings.js +107 -0
  312. package/dist/components/ix-menu.d.ts +11 -0
  313. package/dist/components/ix-menu.js +601 -0
  314. package/dist/components/ix-message-bar.d.ts +11 -0
  315. package/dist/components/ix-message-bar.js +88 -0
  316. package/dist/components/ix-modal-container.d.ts +11 -0
  317. package/dist/components/ix-modal-container.js +6 -0
  318. package/dist/components/ix-modal-example.d.ts +11 -0
  319. package/dist/components/ix-modal-example.js +67 -0
  320. package/dist/components/ix-modal.d.ts +11 -0
  321. package/dist/components/ix-modal.js +6 -0
  322. package/dist/components/ix-pill.d.ts +11 -0
  323. package/dist/components/ix-pill.js +66 -0
  324. package/dist/components/ix-select-item.d.ts +11 -0
  325. package/dist/components/ix-select-item.js +6 -0
  326. package/dist/components/ix-select.d.ts +11 -0
  327. package/dist/components/ix-select.js +339 -0
  328. package/dist/components/ix-spinner.d.ts +11 -0
  329. package/dist/components/ix-spinner.js +6 -0
  330. package/dist/components/ix-split-button-item.d.ts +11 -0
  331. package/dist/components/ix-split-button-item.js +49 -0
  332. package/dist/components/ix-split-button.d.ts +11 -0
  333. package/dist/components/ix-split-button.js +135 -0
  334. package/dist/components/ix-tab-item.d.ts +11 -0
  335. package/dist/components/ix-tab-item.js +6 -0
  336. package/dist/components/ix-tabs.d.ts +11 -0
  337. package/dist/components/ix-tabs.js +6 -0
  338. package/dist/components/ix-tile.d.ts +11 -0
  339. package/dist/components/ix-tile.js +42 -0
  340. package/dist/components/ix-time-picker.d.ts +11 -0
  341. package/dist/components/ix-time-picker.js +6 -0
  342. package/dist/components/ix-toast-container.d.ts +11 -0
  343. package/dist/components/ix-toast-container.js +110 -0
  344. package/dist/components/ix-toast.d.ts +11 -0
  345. package/dist/components/ix-toast.js +6 -0
  346. package/dist/components/ix-toggle.d.ts +11 -0
  347. package/dist/components/ix-toggle.js +104 -0
  348. package/dist/components/ix-tree-item.d.ts +11 -0
  349. package/dist/components/ix-tree-item.js +6 -0
  350. package/dist/components/ix-tree.d.ts +11 -0
  351. package/dist/components/ix-tree.js +694 -0
  352. package/dist/components/ix-upload.d.ts +11 -0
  353. package/dist/components/ix-upload.js +178 -0
  354. package/dist/components/ix-validation-tooltip.d.ts +11 -0
  355. package/dist/components/ix-validation-tooltip.js +124 -0
  356. package/dist/components/ix-workflow-step.d.ts +11 -0
  357. package/dist/components/ix-workflow-step.js +142 -0
  358. package/dist/components/ix-workflow-steps.d.ts +11 -0
  359. package/dist/components/ix-workflow-steps.js +101 -0
  360. package/dist/components/logical-filter-operator.js +33 -0
  361. package/dist/components/luxon.js +8584 -0
  362. package/dist/components/map-navigation-overlay.js +53 -0
  363. package/dist/components/menu-about.js +120 -0
  364. package/dist/components/menu-avatar-item.js +46 -0
  365. package/dist/components/menu-item.js +65 -0
  366. package/dist/components/modal-container.js +99 -0
  367. package/dist/components/modal-utils.js +38 -0
  368. package/dist/components/modal.js +189 -0
  369. package/dist/components/mutation-observer.js +11 -0
  370. package/dist/components/my-component.d.ts +11 -0
  371. package/dist/components/my-component.js +32 -0
  372. package/dist/components/popover.util.js +36 -0
  373. package/dist/components/popper.js +1799 -0
  374. package/dist/components/rwd.util.js +39 -0
  375. package/dist/components/select-item.js +71 -0
  376. package/dist/components/spinner.js +43 -0
  377. package/dist/components/tab-item.js +86 -0
  378. package/dist/components/tabs.js +207 -0
  379. package/dist/components/time-picker.js +140 -0
  380. package/dist/components/toast.js +119 -0
  381. package/dist/components/tree-item.js +52 -0
  382. package/dist/components/typed-event.js +44 -0
  383. package/dist/components/upload-file-state.js +17 -0
  384. package/dist/esm/_commonjsHelpers-4bc7200a.js +19 -0
  385. package/dist/esm/animation-b667a4c4.js +17 -0
  386. package/dist/esm/anime.es-185e9087.js +1309 -0
  387. package/dist/esm/base-button-7bfb747f.js +31 -0
  388. package/dist/esm/default-tree-item-638c435a.js +20 -0
  389. package/dist/esm/flip-tile-state-28a1f8ce.js +18 -0
  390. package/dist/esm/index-55cfd20d.js +1819 -0
  391. package/dist/esm/index.js +64 -0
  392. package/dist/esm/ix-animated-tab_2.entry.js +212 -0
  393. package/dist/esm/ix-application-header.entry.js +15 -0
  394. package/dist/esm/ix-basic-navigation.entry.js +40 -0
  395. package/dist/esm/ix-blind.entry.js +85 -0
  396. package/dist/esm/ix-breadcrumb_2.entry.js +150 -0
  397. package/dist/esm/ix-button.entry.js +46 -0
  398. package/dist/esm/ix-category-filter.entry.js +395 -0
  399. package/dist/esm/ix-chip.entry.js +43 -0
  400. package/dist/esm/ix-counter-pill.entry.js +36 -0
  401. package/dist/esm/ix-date-picker_2.entry.js +8876 -0
  402. package/dist/esm/ix-date-time-card.entry.js +32 -0
  403. package/dist/esm/ix-datetime-picker.entry.js +40 -0
  404. package/dist/esm/ix-drawer.entry.js +118 -0
  405. package/dist/esm/ix-dropdown_2.entry.js +198 -0
  406. package/dist/esm/ix-event-list_2.entry.js +146 -0
  407. package/dist/esm/ix-expanding-search.entry.js +87 -0
  408. package/dist/esm/ix-filter-chip.entry.js +26 -0
  409. package/dist/esm/ix-flip-tile_2.entry.js +74 -0
  410. package/dist/esm/ix-group_3.entry.js +168 -0
  411. package/dist/esm/ix-icon-button.entry.js +36 -0
  412. package/dist/esm/ix-icon.entry.js +29 -0
  413. package/dist/esm/ix-input-group.entry.js +36 -0
  414. package/dist/esm/ix-kpi.entry.js +46 -0
  415. package/dist/esm/ix-map-navigation_2.entry.js +185 -0
  416. package/dist/esm/ix-menu_9.entry.js +860 -0
  417. package/dist/esm/ix-message-bar.entry.js +54 -0
  418. package/dist/esm/ix-modal-example.entry.js +20 -0
  419. package/dist/esm/ix-modal_2.entry.js +5 -0
  420. package/dist/esm/ix-pill.entry.js +36 -0
  421. package/dist/esm/ix-select_2.entry.js +304 -0
  422. package/dist/esm/ix-spinner.entry.js +26 -0
  423. package/dist/esm/ix-split-button_2.entry.js +109 -0
  424. package/dist/esm/ix-tab-item.entry.js +63 -0
  425. package/dist/esm/ix-tabs.entry.js +183 -0
  426. package/dist/esm/ix-tile.entry.js +23 -0
  427. package/dist/esm/ix-toast_2.entry.js +150 -0
  428. package/dist/esm/ix-toggle.entry.js +78 -0
  429. package/dist/esm/ix-tree_2.entry.js +685 -0
  430. package/dist/esm/ix-upload.entry.js +135 -0
  431. package/dist/esm/ix-validation-tooltip.entry.js +103 -0
  432. package/dist/esm/ix-workflow-step.entry.js +110 -0
  433. package/dist/esm/ix-workflow-steps.entry.js +79 -0
  434. package/dist/esm/loader.js +17 -0
  435. package/dist/esm/logical-filter-operator-1bf83315.js +33 -0
  436. package/dist/esm/modal-8ed87a6c.js +218 -0
  437. package/dist/esm/modal-utils-ec39c1bc.js +38 -0
  438. package/dist/esm/mutation-observer-379959bb.js +11 -0
  439. package/dist/esm/my-component.entry.js +15 -0
  440. package/dist/esm/polyfills/core-js.js +11 -0
  441. package/dist/esm/polyfills/css-shim.js +1 -0
  442. package/dist/esm/polyfills/dom.js +79 -0
  443. package/dist/esm/polyfills/es5-html-element.js +1 -0
  444. package/dist/esm/polyfills/index.js +34 -0
  445. package/dist/esm/polyfills/system.js +6 -0
  446. package/dist/esm/popper-42db9fbd.js +1799 -0
  447. package/dist/esm/rwd.util-33a69d24.js +39 -0
  448. package/dist/esm/siemens-ix.js +17 -0
  449. package/dist/esm/typed-event-dd6c83dd.js +44 -0
  450. package/dist/esm/upload-file-state-631bb8a2.js +17 -0
  451. package/dist/index.cjs.js +1 -0
  452. package/dist/index.js +1 -0
  453. package/dist/siemens-ix/index.esm.js +1 -0
  454. package/dist/siemens-ix/p-03d95feb.entry.js +1 -0
  455. package/dist/siemens-ix/p-0a12b3df.js +1 -0
  456. package/dist/siemens-ix/p-0bf04780.js +1 -0
  457. package/dist/siemens-ix/p-0e315bd7.entry.js +1 -0
  458. package/dist/siemens-ix/p-1c82637e.js +1 -0
  459. package/dist/siemens-ix/p-1d30454e.js +1 -0
  460. package/dist/siemens-ix/p-235606b2.entry.js +1 -0
  461. package/dist/siemens-ix/p-240d22b6.entry.js +1 -0
  462. package/dist/siemens-ix/p-2cda7278.entry.js +1 -0
  463. package/dist/siemens-ix/p-2ce29bcd.entry.js +1 -0
  464. package/dist/siemens-ix/p-301ddeb7.js +1 -0
  465. package/dist/siemens-ix/p-3613be96.entry.js +1 -0
  466. package/dist/siemens-ix/p-37417714.js +1 -0
  467. package/dist/siemens-ix/p-3f809fb3.entry.js +1 -0
  468. package/dist/siemens-ix/p-40842bea.entry.js +1 -0
  469. package/dist/siemens-ix/p-47ea9884.js +1 -0
  470. package/dist/siemens-ix/p-4ffec6ae.entry.js +1 -0
  471. package/dist/siemens-ix/p-504927a0.entry.js +1 -0
  472. package/dist/siemens-ix/p-5990f0cb.entry.js +1 -0
  473. package/dist/siemens-ix/p-59c81e2a.entry.js +1 -0
  474. package/dist/siemens-ix/p-5a1dcc74.js +1 -0
  475. package/dist/siemens-ix/p-5f9f25ef.entry.js +1 -0
  476. package/dist/siemens-ix/p-61b032bf.entry.js +1 -0
  477. package/dist/siemens-ix/p-662d756f.entry.js +1 -0
  478. package/dist/siemens-ix/p-6726f740.entry.js +1 -0
  479. package/dist/siemens-ix/p-67c2bca6.entry.js +1 -0
  480. package/dist/siemens-ix/p-6f625f0e.js +1 -0
  481. package/dist/siemens-ix/p-78df1e46.entry.js +1 -0
  482. package/dist/siemens-ix/p-7a4c744e.entry.js +1 -0
  483. package/dist/siemens-ix/p-7d667916.entry.js +1 -0
  484. package/dist/siemens-ix/p-7ec8a00e.entry.js +1 -0
  485. package/dist/siemens-ix/p-7f5a2e3c.entry.js +1 -0
  486. package/dist/siemens-ix/p-810b5232.js +1 -0
  487. package/dist/siemens-ix/p-81e46337.entry.js +1 -0
  488. package/dist/siemens-ix/p-8239c3a1.entry.js +1 -0
  489. package/dist/siemens-ix/p-9d9b8ad1.entry.js +1 -0
  490. package/dist/siemens-ix/p-ab715295.entry.js +1 -0
  491. package/dist/siemens-ix/p-b4003026.entry.js +1 -0
  492. package/dist/siemens-ix/p-bbcee9fb.entry.js +1 -0
  493. package/dist/siemens-ix/p-bd15d8ca.entry.js +1 -0
  494. package/dist/siemens-ix/p-bdd294d2.js +1 -0
  495. package/dist/siemens-ix/p-be1ec062.entry.js +1 -0
  496. package/dist/siemens-ix/p-c3738ffc.entry.js +1 -0
  497. package/dist/siemens-ix/p-ca71538c.entry.js +1 -0
  498. package/dist/siemens-ix/p-caf856f2.entry.js +1 -0
  499. package/dist/siemens-ix/p-cde8f20e.entry.js +1 -0
  500. package/dist/siemens-ix/p-d23706a7.js +1 -0
  501. package/dist/siemens-ix/p-d31bf6db.entry.js +1 -0
  502. package/dist/siemens-ix/p-da2cae32.js +1 -0
  503. package/dist/siemens-ix/p-df43662b.entry.js +1 -0
  504. package/dist/siemens-ix/p-e1f54836.entry.js +1 -0
  505. package/dist/siemens-ix/p-e4d1a964.entry.js +1 -0
  506. package/dist/siemens-ix/p-f2636faf.entry.js +1 -0
  507. package/dist/siemens-ix/p-f6da7e07.entry.js +1 -0
  508. package/dist/siemens-ix/p-f86fcdf4.js +1 -0
  509. package/dist/siemens-ix/p-fbe40498.js +1 -0
  510. package/dist/siemens-ix/p-fe020fa3.entry.js +1 -0
  511. package/dist/siemens-ix/p-fe5db4d1.entry.js +1 -0
  512. package/dist/siemens-ix/siemens-ix.css +19243 -0
  513. package/dist/siemens-ix/siemens-ix.esm.js +1 -0
  514. package/dist/types/components/animated-tab/animated-tab.d.ts +11 -0
  515. package/dist/types/components/animated-tabs/animated-tabs.d.ts +44 -0
  516. package/dist/types/components/application-header/application-header.d.ts +7 -0
  517. package/dist/types/components/basic-navigation/basic-navigation.d.ts +16 -0
  518. package/dist/types/components/blind/blind.d.ts +26 -0
  519. package/dist/types/components/breadcrumb/breadcrumb.d.ts +48 -0
  520. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +11 -0
  521. package/dist/types/components/button/base-button.d.ts +13 -0
  522. package/dist/types/components/button/button.d.ts +34 -0
  523. package/dist/types/components/category-filter/category-filter.d.ts +129 -0
  524. package/dist/types/components/category-filter/filter-state.d.ts +9 -0
  525. package/dist/types/components/category-filter/input-state.d.ts +6 -0
  526. package/dist/types/components/category-filter/logical-filter-operator.d.ts +4 -0
  527. package/dist/types/components/chip/chip.d.ts +38 -0
  528. package/dist/types/components/counter-pill/counter-pill.d.ts +24 -0
  529. package/dist/types/components/date-picker/date-picker.d.ts +56 -0
  530. package/dist/types/components/date-time-card/date-time-card.d.ts +14 -0
  531. package/dist/types/components/datetime-picker/datetime-picker.d.ts +31 -0
  532. package/dist/types/components/drawer/drawer.d.ts +49 -0
  533. package/dist/types/components/dropdown/dropdown.d.ts +70 -0
  534. package/dist/types/components/dropdown-item/dropdown-item.d.ts +33 -0
  535. package/dist/types/components/event-list/event-list.d.ts +31 -0
  536. package/dist/types/components/event-list-item/event-list-item.d.ts +34 -0
  537. package/dist/types/components/expanding-search/expanding-search.d.ts +31 -0
  538. package/dist/types/components/filter-chip/filter-chip.d.ts +14 -0
  539. package/dist/types/components/flip-tile/flip-tile-state.d.ts +7 -0
  540. package/dist/types/components/flip-tile/flip-tile.d.ts +22 -0
  541. package/dist/types/components/flip-tile-content/flip-tile-content.d.ts +3 -0
  542. package/dist/types/components/group/group.d.ts +59 -0
  543. package/dist/types/components/group-dropdown-item/group-dropdown-item.d.ts +11 -0
  544. package/dist/types/components/group-item/group-item.d.ts +39 -0
  545. package/dist/types/components/icon/icon.d.ts +15 -0
  546. package/dist/types/components/icon-button/icon-button.d.ts +51 -0
  547. package/dist/types/components/input-group/input-group.d.ts +5 -0
  548. package/dist/types/components/kpi/kpi.d.ts +25 -0
  549. package/dist/types/components/map-navigation/map-navigation.d.ts +59 -0
  550. package/dist/types/components/map-navigation-overlay/map-navigation-overlay.d.ts +20 -0
  551. package/dist/types/components/menu/menu.d.ts +143 -0
  552. package/dist/types/components/menu-about/menu-about.d.ts +34 -0
  553. package/dist/types/components/menu-about-item/menu-about-item.d.ts +7 -0
  554. package/dist/types/components/menu-about-news/menu-about-news.d.ts +36 -0
  555. package/dist/types/components/menu-avatar/menu-avatar.d.ts +26 -0
  556. package/dist/types/components/menu-avatar-item/menu-avatar-item.d.ts +17 -0
  557. package/dist/types/components/menu-item/menu-item.d.ts +31 -0
  558. package/dist/types/components/menu-settings/menu-settings.d.ts +27 -0
  559. package/dist/types/components/menu-settings-item/menu-settings-item.d.ts +7 -0
  560. package/dist/types/components/message-bar/message-bar.d.ts +23 -0
  561. package/dist/types/components/modal/modal-utils.d.ts +26 -0
  562. package/dist/types/components/modal/modal.d.ts +99 -0
  563. package/dist/types/components/modal-container/modal-container.d.ts +15 -0
  564. package/dist/types/components/my-component/example-modal.d.ts +6 -0
  565. package/dist/types/components/my-component/my-component.d.ts +3 -0
  566. package/dist/types/components/pill/pill.d.ts +28 -0
  567. package/dist/types/components/select/select.d.ts +83 -0
  568. package/dist/types/components/select-item/select-item.d.ts +31 -0
  569. package/dist/types/components/spinner/spinner.d.ts +11 -0
  570. package/dist/types/components/split-button/split-button.d.ts +57 -0
  571. package/dist/types/components/split-button-item/split-button-item.d.ts +17 -0
  572. package/dist/types/components/tab-item/tab-item.d.ts +36 -0
  573. package/dist/types/components/tabs/tabs.d.ts +46 -0
  574. package/dist/types/components/tile/tile.d.ts +7 -0
  575. package/dist/types/components/time-picker/time-picker.d.ts +46 -0
  576. package/dist/types/components/toast/toast-container.d.ts +25 -0
  577. package/dist/types/components/toast/toast-utils.d.ts +33 -0
  578. package/dist/types/components/toast/toast.d.ts +39 -0
  579. package/dist/types/components/toggle/toggle.d.ts +45 -0
  580. package/dist/types/components/tree/tree-model.d.ts +17 -0
  581. package/dist/types/components/tree/tree.d.ts +44 -0
  582. package/dist/types/components/tree-item/default-tree-item.d.ts +6 -0
  583. package/dist/types/components/tree-item/tree-item.d.ts +25 -0
  584. package/dist/types/components/upload/upload-file-state.d.ts +6 -0
  585. package/dist/types/components/upload/upload.d.ts +70 -0
  586. package/dist/types/components/utils/animation.d.ts +7 -0
  587. package/dist/types/components/utils/button-variants.d.ts +1 -0
  588. package/dist/types/components/utils/mutation-observer.d.ts +1 -0
  589. package/dist/types/components/utils/notification-color.d.ts +4 -0
  590. package/dist/types/components/utils/popover.util.d.ts +9 -0
  591. package/dist/types/components/utils/rwd.util.d.ts +2 -0
  592. package/dist/types/components/utils/toggle-theme.d.ts +1 -0
  593. package/dist/types/components/utils/typed-event.d.ts +15 -0
  594. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +31 -0
  595. package/dist/types/components/workflow-step/workflow-step.d.ts +35 -0
  596. package/dist/types/components/workflow-steps/workflow-steps.d.ts +29 -0
  597. package/dist/types/components.d.ts +3453 -0
  598. package/dist/types/env.d.ts +1 -0
  599. package/dist/types/exports.d.ts +5 -0
  600. package/dist/types/index.d.ts +11 -0
  601. package/dist/types/stencil-public-runtime.d.ts +1565 -0
  602. package/dist/types/utils/test/index.d.ts +1 -0
  603. package/dist/types/utils/test/page.d.ts +3 -0
  604. package/loader/cdn.js +3 -0
  605. package/loader/index.cjs.js +3 -0
  606. package/loader/index.d.ts +12 -0
  607. package/loader/index.es2017.js +3 -0
  608. package/loader/index.js +4 -0
  609. package/loader/package.json +10 -0
  610. package/package.json +86 -0
  611. package/scss/_common-variables.scss +60 -0
  612. package/scss/_fonts.scss +70 -0
  613. package/scss/_z-index.scss +18 -0
  614. package/scss/components/_button-group.scss +24 -0
  615. package/scss/components/_buttons.scss +150 -0
  616. package/scss/components/_checkboxes.scss +177 -0
  617. package/scss/components/_dropdown.scss +175 -0
  618. package/scss/components/_forms.scss +146 -0
  619. package/scss/components/_input-group.scss +34 -0
  620. package/scss/components/_links.scss +31 -0
  621. package/scss/components/_modal.scss +41 -0
  622. package/scss/components/_radiobuttons.scss +169 -0
  623. package/scss/components/_shadows.scss +35 -0
  624. package/scss/components/_table.scss +27 -0
  625. package/scss/ix.scss +95 -0
  626. package/scss/mixins/_animations.scss +30 -0
  627. package/scss/mixins/_fonts.scss +166 -0
  628. package/scss/mixins/_hover.scss +59 -0
  629. package/scss/mixins/_shadows.scss +12 -0
  630. package/scss/mixins/_text-truncation.scss +14 -0
  631. package/scss/theme/_define-theme-colors.scss +22 -0
  632. package/scss/theme/_define-theme-variable.scss +12 -0
  633. package/scss/theme/_define-theme.scss +36 -0
  634. package/scss/theme/_static-colors.scss +19 -0
  635. package/scss/theme/classic-dark/_sizes.scss +66 -0
  636. package/scss/theme/classic-dark/_variables.scss +827 -0
  637. package/scss/theme/classic-dark/index.scss +15 -0
  638. package/scss/theme/classic-light/_sizes.scss +66 -0
  639. package/scss/theme/classic-light/_variables.scss +830 -0
  640. package/scss/theme/classic-light/index.scss +15 -0
  641. package/src/components/animated-tab/readme.md +24 -0
  642. package/src/components/animated-tabs/readme.md +32 -0
  643. package/src/components/application-header/readme.md +21 -0
  644. package/src/components/basic-navigation/readme.md +22 -0
  645. package/src/components/blind/readme.md +29 -0
  646. package/src/components/breadcrumb/readme.md +33 -0
  647. package/src/components/breadcrumb-item/readme.md +22 -0
  648. package/src/components/button/readme.md +27 -0
  649. package/src/components/category-filter/readme.md +40 -0
  650. package/src/components/chip/readme.md +36 -0
  651. package/src/components/counter-pill/readme.md +25 -0
  652. package/src/components/date-picker/readme.md +32 -0
  653. package/src/components/date-time-card/readme.md +22 -0
  654. package/src/components/datetime-picker/readme.md +32 -0
  655. package/src/components/drawer/readme.md +47 -0
  656. package/src/components/dropdown/readme.md +49 -0
  657. package/src/components/dropdown-item/readme.md +45 -0
  658. package/src/components/event-list/readme.md +24 -0
  659. package/src/components/event-list-item/readme.md +32 -0
  660. package/src/components/expanding-search/readme.md +32 -0
  661. package/src/components/filter-chip/readme.md +30 -0
  662. package/src/components/flip-tile/readme.md +22 -0
  663. package/src/components/flip-tile-content/readme.md +14 -0
  664. package/src/components/group/readme.md +36 -0
  665. package/src/components/group-dropdown-item/readme.md +22 -0
  666. package/src/components/group-item/readme.md +34 -0
  667. package/src/components/icon/readme.md +23 -0
  668. package/src/components/icon-button/readme.md +31 -0
  669. package/src/components/input-group/readme.md +14 -0
  670. package/src/components/kpi/readme.md +27 -0
  671. package/src/components/map-navigation/readme.md +54 -0
  672. package/src/components/map-navigation-overlay/readme.md +30 -0
  673. package/src/components/menu/readme.md +86 -0
  674. package/src/components/menu-about/readme.md +31 -0
  675. package/src/components/menu-about-item/readme.md +21 -0
  676. package/src/components/menu-about-news/readme.md +34 -0
  677. package/src/components/menu-avatar/readme.md +30 -0
  678. package/src/components/menu-avatar-item/readme.md +29 -0
  679. package/src/components/menu-item/readme.md +26 -0
  680. package/src/components/menu-settings/readme.md +30 -0
  681. package/src/components/menu-settings-item/readme.md +21 -0
  682. package/src/components/message-bar/readme.md +31 -0
  683. package/src/components/modal/readme.md +67 -0
  684. package/src/components/modal-container/readme.md +29 -0
  685. package/src/components/my-component/readme.md +16 -0
  686. package/src/components/pill/readme.md +26 -0
  687. package/src/components/select/readme.md +37 -0
  688. package/src/components/select-item/readme.md +44 -0
  689. package/src/components/spinner/readme.md +22 -0
  690. package/src/components/split-button/readme.md +36 -0
  691. package/src/components/split-button-item/readme.md +29 -0
  692. package/src/components/tab-item/readme.md +28 -0
  693. package/src/components/tabs/readme.md +25 -0
  694. package/src/components/tile/readme.md +21 -0
  695. package/src/components/time-picker/readme.md +34 -0
  696. package/src/components/toast/readme.md +36 -0
  697. package/src/components/toggle/readme.md +35 -0
  698. package/src/components/tree/readme.md +32 -0
  699. package/src/components/tree-item/readme.md +31 -0
  700. package/src/components/upload/readme.md +51 -0
  701. package/src/components/validation-tooltip/readme.md +31 -0
  702. package/src/components/workflow-step/readme.md +28 -0
  703. package/src/components/workflow-steps/readme.md +33 -0
@@ -0,0 +1,1311 @@
1
+ 'use strict';
2
+
3
+ /*
4
+ * anime.js v3.2.1
5
+ * (c) 2020 Julian Garnier
6
+ * Released under the MIT license
7
+ * animejs.com
8
+ */
9
+
10
+ // Defaults
11
+
12
+ var defaultInstanceSettings = {
13
+ update: null,
14
+ begin: null,
15
+ loopBegin: null,
16
+ changeBegin: null,
17
+ change: null,
18
+ changeComplete: null,
19
+ loopComplete: null,
20
+ complete: null,
21
+ loop: 1,
22
+ direction: 'normal',
23
+ autoplay: true,
24
+ timelineOffset: 0
25
+ };
26
+
27
+ var defaultTweenSettings = {
28
+ duration: 1000,
29
+ delay: 0,
30
+ endDelay: 0,
31
+ easing: 'easeOutElastic(1, .5)',
32
+ round: 0
33
+ };
34
+
35
+ var validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];
36
+
37
+ // Caching
38
+
39
+ var cache = {
40
+ CSS: {},
41
+ springs: {}
42
+ };
43
+
44
+ // Utils
45
+
46
+ function minMax(val, min, max) {
47
+ return Math.min(Math.max(val, min), max);
48
+ }
49
+
50
+ function stringContains(str, text) {
51
+ return str.indexOf(text) > -1;
52
+ }
53
+
54
+ function applyArguments(func, args) {
55
+ return func.apply(null, args);
56
+ }
57
+
58
+ var is = {
59
+ arr: function (a) { return Array.isArray(a); },
60
+ obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },
61
+ pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },
62
+ svg: function (a) { return a instanceof SVGElement; },
63
+ inp: function (a) { return a instanceof HTMLInputElement; },
64
+ dom: function (a) { return a.nodeType || is.svg(a); },
65
+ str: function (a) { return typeof a === 'string'; },
66
+ fnc: function (a) { return typeof a === 'function'; },
67
+ und: function (a) { return typeof a === 'undefined'; },
68
+ nil: function (a) { return is.und(a) || a === null; },
69
+ hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },
70
+ rgb: function (a) { return /^rgb/.test(a); },
71
+ hsl: function (a) { return /^hsl/.test(a); },
72
+ col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },
73
+ key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },
74
+ };
75
+
76
+ // Easings
77
+
78
+ function parseEasingParameters(string) {
79
+ var match = /\(([^)]+)\)/.exec(string);
80
+ return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];
81
+ }
82
+
83
+ // Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js
84
+
85
+ function spring(string, duration) {
86
+
87
+ var params = parseEasingParameters(string);
88
+ var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);
89
+ var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);
90
+ var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);
91
+ var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);
92
+ var w0 = Math.sqrt(stiffness / mass);
93
+ var zeta = damping / (2 * Math.sqrt(stiffness * mass));
94
+ var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;
95
+ var a = 1;
96
+ var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;
97
+
98
+ function solver(t) {
99
+ var progress = duration ? (duration * t) / 1000 : t;
100
+ if (zeta < 1) {
101
+ progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));
102
+ } else {
103
+ progress = (a + b * progress) * Math.exp(-progress * w0);
104
+ }
105
+ if (t === 0 || t === 1) { return t; }
106
+ return 1 - progress;
107
+ }
108
+
109
+ function getDuration() {
110
+ var cached = cache.springs[string];
111
+ if (cached) { return cached; }
112
+ var frame = 1/6;
113
+ var elapsed = 0;
114
+ var rest = 0;
115
+ while(true) {
116
+ elapsed += frame;
117
+ if (solver(elapsed) === 1) {
118
+ rest++;
119
+ if (rest >= 16) { break; }
120
+ } else {
121
+ rest = 0;
122
+ }
123
+ }
124
+ var duration = elapsed * frame * 1000;
125
+ cache.springs[string] = duration;
126
+ return duration;
127
+ }
128
+
129
+ return duration ? solver : getDuration;
130
+
131
+ }
132
+
133
+ // Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function
134
+
135
+ function steps(steps) {
136
+ if ( steps === void 0 ) steps = 10;
137
+
138
+ return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };
139
+ }
140
+
141
+ // BezierEasing https://github.com/gre/bezier-easing
142
+
143
+ var bezier = (function () {
144
+
145
+ var kSplineTableSize = 11;
146
+ var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);
147
+
148
+ function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }
149
+ function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }
150
+ function C(aA1) { return 3.0 * aA1 }
151
+
152
+ function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }
153
+ function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }
154
+
155
+ function binarySubdivide(aX, aA, aB, mX1, mX2) {
156
+ var currentX, currentT, i = 0;
157
+ do {
158
+ currentT = aA + (aB - aA) / 2.0;
159
+ currentX = calcBezier(currentT, mX1, mX2) - aX;
160
+ if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }
161
+ } while (Math.abs(currentX) > 0.0000001 && ++i < 10);
162
+ return currentT;
163
+ }
164
+
165
+ function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
166
+ for (var i = 0; i < 4; ++i) {
167
+ var currentSlope = getSlope(aGuessT, mX1, mX2);
168
+ if (currentSlope === 0.0) { return aGuessT; }
169
+ var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
170
+ aGuessT -= currentX / currentSlope;
171
+ }
172
+ return aGuessT;
173
+ }
174
+
175
+ function bezier(mX1, mY1, mX2, mY2) {
176
+
177
+ if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }
178
+ var sampleValues = new Float32Array(kSplineTableSize);
179
+
180
+ if (mX1 !== mY1 || mX2 !== mY2) {
181
+ for (var i = 0; i < kSplineTableSize; ++i) {
182
+ sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
183
+ }
184
+ }
185
+
186
+ function getTForX(aX) {
187
+
188
+ var intervalStart = 0;
189
+ var currentSample = 1;
190
+ var lastSample = kSplineTableSize - 1;
191
+
192
+ for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
193
+ intervalStart += kSampleStepSize;
194
+ }
195
+
196
+ --currentSample;
197
+
198
+ var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
199
+ var guessForT = intervalStart + dist * kSampleStepSize;
200
+ var initialSlope = getSlope(guessForT, mX1, mX2);
201
+
202
+ if (initialSlope >= 0.001) {
203
+ return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
204
+ } else if (initialSlope === 0.0) {
205
+ return guessForT;
206
+ } else {
207
+ return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
208
+ }
209
+
210
+ }
211
+
212
+ return function (x) {
213
+ if (mX1 === mY1 && mX2 === mY2) { return x; }
214
+ if (x === 0 || x === 1) { return x; }
215
+ return calcBezier(getTForX(x), mY1, mY2);
216
+ }
217
+
218
+ }
219
+
220
+ return bezier;
221
+
222
+ })();
223
+
224
+ var penner = (function () {
225
+
226
+ // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)
227
+
228
+ var eases = { linear: function () { return function (t) { return t; }; } };
229
+
230
+ var functionEasings = {
231
+ Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },
232
+ Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },
233
+ Back: function () { return function (t) { return t * t * (3 * t - 2); }; },
234
+ Bounce: function () { return function (t) {
235
+ var pow2, b = 4;
236
+ while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}
237
+ return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)
238
+ }; },
239
+ Elastic: function (amplitude, period) {
240
+ if ( amplitude === void 0 ) amplitude = 1;
241
+ if ( period === void 0 ) period = .5;
242
+
243
+ var a = minMax(amplitude, 1, 10);
244
+ var p = minMax(period, .1, 2);
245
+ return function (t) {
246
+ return (t === 0 || t === 1) ? t :
247
+ -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);
248
+ }
249
+ }
250
+ };
251
+
252
+ var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];
253
+
254
+ baseEasings.forEach(function (name, i) {
255
+ functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };
256
+ });
257
+
258
+ Object.keys(functionEasings).forEach(function (name) {
259
+ var easeIn = functionEasings[name];
260
+ eases['easeIn' + name] = easeIn;
261
+ eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };
262
+ eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 :
263
+ 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };
264
+ eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 :
265
+ (easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };
266
+ });
267
+
268
+ return eases;
269
+
270
+ })();
271
+
272
+ function parseEasings(easing, duration) {
273
+ if (is.fnc(easing)) { return easing; }
274
+ var name = easing.split('(')[0];
275
+ var ease = penner[name];
276
+ var args = parseEasingParameters(easing);
277
+ switch (name) {
278
+ case 'spring' : return spring(easing, duration);
279
+ case 'cubicBezier' : return applyArguments(bezier, args);
280
+ case 'steps' : return applyArguments(steps, args);
281
+ default : return applyArguments(ease, args);
282
+ }
283
+ }
284
+
285
+ // Strings
286
+
287
+ function selectString(str) {
288
+ try {
289
+ var nodes = document.querySelectorAll(str);
290
+ return nodes;
291
+ } catch(e) {
292
+ return;
293
+ }
294
+ }
295
+
296
+ // Arrays
297
+
298
+ function filterArray(arr, callback) {
299
+ var len = arr.length;
300
+ var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
301
+ var result = [];
302
+ for (var i = 0; i < len; i++) {
303
+ if (i in arr) {
304
+ var val = arr[i];
305
+ if (callback.call(thisArg, val, i, arr)) {
306
+ result.push(val);
307
+ }
308
+ }
309
+ }
310
+ return result;
311
+ }
312
+
313
+ function flattenArray(arr) {
314
+ return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);
315
+ }
316
+
317
+ function toArray(o) {
318
+ if (is.arr(o)) { return o; }
319
+ if (is.str(o)) { o = selectString(o) || o; }
320
+ if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }
321
+ return [o];
322
+ }
323
+
324
+ function arrayContains(arr, val) {
325
+ return arr.some(function (a) { return a === val; });
326
+ }
327
+
328
+ // Objects
329
+
330
+ function cloneObject(o) {
331
+ var clone = {};
332
+ for (var p in o) { clone[p] = o[p]; }
333
+ return clone;
334
+ }
335
+
336
+ function replaceObjectProps(o1, o2) {
337
+ var o = cloneObject(o1);
338
+ for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }
339
+ return o;
340
+ }
341
+
342
+ function mergeObjects(o1, o2) {
343
+ var o = cloneObject(o1);
344
+ for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }
345
+ return o;
346
+ }
347
+
348
+ // Colors
349
+
350
+ function rgbToRgba(rgbValue) {
351
+ var rgb = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(rgbValue);
352
+ return rgb ? ("rgba(" + (rgb[1]) + ",1)") : rgbValue;
353
+ }
354
+
355
+ function hexToRgba(hexValue) {
356
+ var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
357
+ var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );
358
+ var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
359
+ var r = parseInt(rgb[1], 16);
360
+ var g = parseInt(rgb[2], 16);
361
+ var b = parseInt(rgb[3], 16);
362
+ return ("rgba(" + r + "," + g + "," + b + ",1)");
363
+ }
364
+
365
+ function hslToRgba(hslValue) {
366
+ var hsl = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(hslValue) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(hslValue);
367
+ var h = parseInt(hsl[1], 10) / 360;
368
+ var s = parseInt(hsl[2], 10) / 100;
369
+ var l = parseInt(hsl[3], 10) / 100;
370
+ var a = hsl[4] || 1;
371
+ function hue2rgb(p, q, t) {
372
+ if (t < 0) { t += 1; }
373
+ if (t > 1) { t -= 1; }
374
+ if (t < 1/6) { return p + (q - p) * 6 * t; }
375
+ if (t < 1/2) { return q; }
376
+ if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }
377
+ return p;
378
+ }
379
+ var r, g, b;
380
+ if (s == 0) {
381
+ r = g = b = l;
382
+ } else {
383
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
384
+ var p = 2 * l - q;
385
+ r = hue2rgb(p, q, h + 1/3);
386
+ g = hue2rgb(p, q, h);
387
+ b = hue2rgb(p, q, h - 1/3);
388
+ }
389
+ return ("rgba(" + (r * 255) + "," + (g * 255) + "," + (b * 255) + "," + a + ")");
390
+ }
391
+
392
+ function colorToRgb(val) {
393
+ if (is.rgb(val)) { return rgbToRgba(val); }
394
+ if (is.hex(val)) { return hexToRgba(val); }
395
+ if (is.hsl(val)) { return hslToRgba(val); }
396
+ }
397
+
398
+ // Units
399
+
400
+ function getUnit(val) {
401
+ var split = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);
402
+ if (split) { return split[1]; }
403
+ }
404
+
405
+ function getTransformUnit(propName) {
406
+ if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }
407
+ if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }
408
+ }
409
+
410
+ // Values
411
+
412
+ function getFunctionValue(val, animatable) {
413
+ if (!is.fnc(val)) { return val; }
414
+ return val(animatable.target, animatable.id, animatable.total);
415
+ }
416
+
417
+ function getAttribute(el, prop) {
418
+ return el.getAttribute(prop);
419
+ }
420
+
421
+ function convertPxToUnit(el, value, unit) {
422
+ var valueUnit = getUnit(value);
423
+ if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }
424
+ var cached = cache.CSS[value + unit];
425
+ if (!is.und(cached)) { return cached; }
426
+ var baseline = 100;
427
+ var tempEl = document.createElement(el.tagName);
428
+ var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;
429
+ parentEl.appendChild(tempEl);
430
+ tempEl.style.position = 'absolute';
431
+ tempEl.style.width = baseline + unit;
432
+ var factor = baseline / tempEl.offsetWidth;
433
+ parentEl.removeChild(tempEl);
434
+ var convertedUnit = factor * parseFloat(value);
435
+ cache.CSS[value + unit] = convertedUnit;
436
+ return convertedUnit;
437
+ }
438
+
439
+ function getCSSValue(el, prop, unit) {
440
+ if (prop in el.style) {
441
+ var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
442
+ var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';
443
+ return unit ? convertPxToUnit(el, value, unit) : value;
444
+ }
445
+ }
446
+
447
+ function getAnimationType(el, prop) {
448
+ if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }
449
+ if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }
450
+ if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }
451
+ if (el[prop] != null) { return 'object'; }
452
+ }
453
+
454
+ function getElementTransforms(el) {
455
+ if (!is.dom(el)) { return; }
456
+ var str = el.style.transform || '';
457
+ var reg = /(\w+)\(([^)]*)\)/g;
458
+ var transforms = new Map();
459
+ var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }
460
+ return transforms;
461
+ }
462
+
463
+ function getTransformValue(el, propName, animatable, unit) {
464
+ var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);
465
+ var value = getElementTransforms(el).get(propName) || defaultVal;
466
+ if (animatable) {
467
+ animatable.transforms.list.set(propName, value);
468
+ animatable.transforms['last'] = propName;
469
+ }
470
+ return unit ? convertPxToUnit(el, value, unit) : value;
471
+ }
472
+
473
+ function getOriginalTargetValue(target, propName, unit, animatable) {
474
+ switch (getAnimationType(target, propName)) {
475
+ case 'transform': return getTransformValue(target, propName, animatable, unit);
476
+ case 'css': return getCSSValue(target, propName, unit);
477
+ case 'attribute': return getAttribute(target, propName);
478
+ default: return target[propName] || 0;
479
+ }
480
+ }
481
+
482
+ function getRelativeValue(to, from) {
483
+ var operator = /^(\*=|\+=|-=)/.exec(to);
484
+ if (!operator) { return to; }
485
+ var u = getUnit(to) || 0;
486
+ var x = parseFloat(from);
487
+ var y = parseFloat(to.replace(operator[0], ''));
488
+ switch (operator[0][0]) {
489
+ case '+': return x + y + u;
490
+ case '-': return x - y + u;
491
+ case '*': return x * y + u;
492
+ }
493
+ }
494
+
495
+ function validateValue(val, unit) {
496
+ if (is.col(val)) { return colorToRgb(val); }
497
+ if (/\s/g.test(val)) { return val; }
498
+ var originalUnit = getUnit(val);
499
+ var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;
500
+ if (unit) { return unitLess + unit; }
501
+ return unitLess;
502
+ }
503
+
504
+ // getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes
505
+ // adapted from https://gist.github.com/SebLambla/3e0550c496c236709744
506
+
507
+ function getDistance(p1, p2) {
508
+ return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));
509
+ }
510
+
511
+ function getCircleLength(el) {
512
+ return Math.PI * 2 * getAttribute(el, 'r');
513
+ }
514
+
515
+ function getRectLength(el) {
516
+ return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);
517
+ }
518
+
519
+ function getLineLength(el) {
520
+ return getDistance(
521
+ {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')},
522
+ {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}
523
+ );
524
+ }
525
+
526
+ function getPolylineLength(el) {
527
+ var points = el.points;
528
+ var totalLength = 0;
529
+ var previousPos;
530
+ for (var i = 0 ; i < points.numberOfItems; i++) {
531
+ var currentPos = points.getItem(i);
532
+ if (i > 0) { totalLength += getDistance(previousPos, currentPos); }
533
+ previousPos = currentPos;
534
+ }
535
+ return totalLength;
536
+ }
537
+
538
+ function getPolygonLength(el) {
539
+ var points = el.points;
540
+ return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));
541
+ }
542
+
543
+ // Path animation
544
+
545
+ function getTotalLength(el) {
546
+ if (el.getTotalLength) { return el.getTotalLength(); }
547
+ switch(el.tagName.toLowerCase()) {
548
+ case 'circle': return getCircleLength(el);
549
+ case 'rect': return getRectLength(el);
550
+ case 'line': return getLineLength(el);
551
+ case 'polyline': return getPolylineLength(el);
552
+ case 'polygon': return getPolygonLength(el);
553
+ }
554
+ }
555
+
556
+ function setDashoffset(el) {
557
+ var pathLength = getTotalLength(el);
558
+ el.setAttribute('stroke-dasharray', pathLength);
559
+ return pathLength;
560
+ }
561
+
562
+ // Motion path
563
+
564
+ function getParentSvgEl(el) {
565
+ var parentEl = el.parentNode;
566
+ while (is.svg(parentEl)) {
567
+ if (!is.svg(parentEl.parentNode)) { break; }
568
+ parentEl = parentEl.parentNode;
569
+ }
570
+ return parentEl;
571
+ }
572
+
573
+ function getParentSvg(pathEl, svgData) {
574
+ var svg = svgData || {};
575
+ var parentSvgEl = svg.el || getParentSvgEl(pathEl);
576
+ var rect = parentSvgEl.getBoundingClientRect();
577
+ var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');
578
+ var width = rect.width;
579
+ var height = rect.height;
580
+ var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);
581
+ return {
582
+ el: parentSvgEl,
583
+ viewBox: viewBox,
584
+ x: viewBox[0] / 1,
585
+ y: viewBox[1] / 1,
586
+ w: width,
587
+ h: height,
588
+ vW: viewBox[2],
589
+ vH: viewBox[3]
590
+ }
591
+ }
592
+
593
+ function getPath(path, percent) {
594
+ var pathEl = is.str(path) ? selectString(path)[0] : path;
595
+ var p = percent || 100;
596
+ return function(property) {
597
+ return {
598
+ property: property,
599
+ el: pathEl,
600
+ svg: getParentSvg(pathEl),
601
+ totalLength: getTotalLength(pathEl) * (p / 100)
602
+ }
603
+ }
604
+ }
605
+
606
+ function getPathProgress(path, progress, isPathTargetInsideSVG) {
607
+ function point(offset) {
608
+ if ( offset === void 0 ) offset = 0;
609
+
610
+ var l = progress + offset >= 1 ? progress + offset : 0;
611
+ return path.el.getPointAtLength(l);
612
+ }
613
+ var svg = getParentSvg(path.el, path.svg);
614
+ var p = point();
615
+ var p0 = point(-1);
616
+ var p1 = point(+1);
617
+ var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;
618
+ var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;
619
+ switch (path.property) {
620
+ case 'x': return (p.x - svg.x) * scaleX;
621
+ case 'y': return (p.y - svg.y) * scaleY;
622
+ case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;
623
+ }
624
+ }
625
+
626
+ // Decompose value
627
+
628
+ function decomposeValue(val, unit) {
629
+ // const rgx = /-?\d*\.?\d+/g; // handles basic numbers
630
+ // const rgx = /[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g; // handles exponents notation
631
+ var rgx = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g; // handles exponents notation
632
+ var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';
633
+ return {
634
+ original: value,
635
+ numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],
636
+ strings: (is.str(val) || unit) ? value.split(rgx) : []
637
+ }
638
+ }
639
+
640
+ // Animatables
641
+
642
+ function parseTargets(targets) {
643
+ var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];
644
+ return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });
645
+ }
646
+
647
+ function getAnimatables(targets) {
648
+ var parsed = parseTargets(targets);
649
+ return parsed.map(function (t, i) {
650
+ return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };
651
+ });
652
+ }
653
+
654
+ // Properties
655
+
656
+ function normalizePropertyTweens(prop, tweenSettings) {
657
+ var settings = cloneObject(tweenSettings);
658
+ // Override duration if easing is a spring
659
+ if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }
660
+ if (is.arr(prop)) {
661
+ var l = prop.length;
662
+ var isFromTo = (l === 2 && !is.obj(prop[0]));
663
+ if (!isFromTo) {
664
+ // Duration divided by the number of tweens
665
+ if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }
666
+ } else {
667
+ // Transform [from, to] values shorthand to a valid tween value
668
+ prop = {value: prop};
669
+ }
670
+ }
671
+ var propArray = is.arr(prop) ? prop : [prop];
672
+ return propArray.map(function (v, i) {
673
+ var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};
674
+ // Default delay value should only be applied to the first tween
675
+ if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }
676
+ // Default endDelay value should only be applied to the last tween
677
+ if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }
678
+ return obj;
679
+ }).map(function (k) { return mergeObjects(k, settings); });
680
+ }
681
+
682
+
683
+ function flattenKeyframes(keyframes) {
684
+ var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })
685
+ .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);
686
+ var properties = {};
687
+ var loop = function ( i ) {
688
+ var propName = propertyNames[i];
689
+ properties[propName] = keyframes.map(function (key) {
690
+ var newKey = {};
691
+ for (var p in key) {
692
+ if (is.key(p)) {
693
+ if (p == propName) { newKey.value = key[p]; }
694
+ } else {
695
+ newKey[p] = key[p];
696
+ }
697
+ }
698
+ return newKey;
699
+ });
700
+ };
701
+
702
+ for (var i = 0; i < propertyNames.length; i++) loop( i );
703
+ return properties;
704
+ }
705
+
706
+ function getProperties(tweenSettings, params) {
707
+ var properties = [];
708
+ var keyframes = params.keyframes;
709
+ if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }
710
+ for (var p in params) {
711
+ if (is.key(p)) {
712
+ properties.push({
713
+ name: p,
714
+ tweens: normalizePropertyTweens(params[p], tweenSettings)
715
+ });
716
+ }
717
+ }
718
+ return properties;
719
+ }
720
+
721
+ // Tweens
722
+
723
+ function normalizeTweenValues(tween, animatable) {
724
+ var t = {};
725
+ for (var p in tween) {
726
+ var value = getFunctionValue(tween[p], animatable);
727
+ if (is.arr(value)) {
728
+ value = value.map(function (v) { return getFunctionValue(v, animatable); });
729
+ if (value.length === 1) { value = value[0]; }
730
+ }
731
+ t[p] = value;
732
+ }
733
+ t.duration = parseFloat(t.duration);
734
+ t.delay = parseFloat(t.delay);
735
+ return t;
736
+ }
737
+
738
+ function normalizeTweens(prop, animatable) {
739
+ var previousTween;
740
+ return prop.tweens.map(function (t) {
741
+ var tween = normalizeTweenValues(t, animatable);
742
+ var tweenValue = tween.value;
743
+ var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;
744
+ var toUnit = getUnit(to);
745
+ var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);
746
+ var previousValue = previousTween ? previousTween.to.original : originalValue;
747
+ var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;
748
+ var fromUnit = getUnit(from) || getUnit(originalValue);
749
+ var unit = toUnit || fromUnit;
750
+ if (is.und(to)) { to = previousValue; }
751
+ tween.from = decomposeValue(from, unit);
752
+ tween.to = decomposeValue(getRelativeValue(to, from), unit);
753
+ tween.start = previousTween ? previousTween.end : 0;
754
+ tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;
755
+ tween.easing = parseEasings(tween.easing, tween.duration);
756
+ tween.isPath = is.pth(tweenValue);
757
+ tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);
758
+ tween.isColor = is.col(tween.from.original);
759
+ if (tween.isColor) { tween.round = 1; }
760
+ previousTween = tween;
761
+ return tween;
762
+ });
763
+ }
764
+
765
+ // Tween progress
766
+
767
+ var setProgressValue = {
768
+ css: function (t, p, v) { return t.style[p] = v; },
769
+ attribute: function (t, p, v) { return t.setAttribute(p, v); },
770
+ object: function (t, p, v) { return t[p] = v; },
771
+ transform: function (t, p, v, transforms, manual) {
772
+ transforms.list.set(p, v);
773
+ if (p === transforms.last || manual) {
774
+ var str = '';
775
+ transforms.list.forEach(function (value, prop) { str += prop + "(" + value + ") "; });
776
+ t.style.transform = str;
777
+ }
778
+ }
779
+ };
780
+
781
+ // Set Value helper
782
+
783
+ function setTargetsValue(targets, properties) {
784
+ var animatables = getAnimatables(targets);
785
+ animatables.forEach(function (animatable) {
786
+ for (var property in properties) {
787
+ var value = getFunctionValue(properties[property], animatable);
788
+ var target = animatable.target;
789
+ var valueUnit = getUnit(value);
790
+ var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);
791
+ var unit = valueUnit || getUnit(originalValue);
792
+ var to = getRelativeValue(validateValue(value, unit), originalValue);
793
+ var animType = getAnimationType(target, property);
794
+ setProgressValue[animType](target, property, to, animatable.transforms, true);
795
+ }
796
+ });
797
+ }
798
+
799
+ // Animations
800
+
801
+ function createAnimation(animatable, prop) {
802
+ var animType = getAnimationType(animatable.target, prop.name);
803
+ if (animType) {
804
+ var tweens = normalizeTweens(prop, animatable);
805
+ var lastTween = tweens[tweens.length - 1];
806
+ return {
807
+ type: animType,
808
+ property: prop.name,
809
+ animatable: animatable,
810
+ tweens: tweens,
811
+ duration: lastTween.end,
812
+ delay: tweens[0].delay,
813
+ endDelay: lastTween.endDelay
814
+ }
815
+ }
816
+ }
817
+
818
+ function getAnimations(animatables, properties) {
819
+ return filterArray(flattenArray(animatables.map(function (animatable) {
820
+ return properties.map(function (prop) {
821
+ return createAnimation(animatable, prop);
822
+ });
823
+ })), function (a) { return !is.und(a); });
824
+ }
825
+
826
+ // Create Instance
827
+
828
+ function getInstanceTimings(animations, tweenSettings) {
829
+ var animLength = animations.length;
830
+ var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };
831
+ var timings = {};
832
+ timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;
833
+ timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;
834
+ timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;
835
+ return timings;
836
+ }
837
+
838
+ var instanceID = 0;
839
+
840
+ function createNewInstance(params) {
841
+ var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);
842
+ var tweenSettings = replaceObjectProps(defaultTweenSettings, params);
843
+ var properties = getProperties(tweenSettings, params);
844
+ var animatables = getAnimatables(params.targets);
845
+ var animations = getAnimations(animatables, properties);
846
+ var timings = getInstanceTimings(animations, tweenSettings);
847
+ var id = instanceID;
848
+ instanceID++;
849
+ return mergeObjects(instanceSettings, {
850
+ id: id,
851
+ children: [],
852
+ animatables: animatables,
853
+ animations: animations,
854
+ duration: timings.duration,
855
+ delay: timings.delay,
856
+ endDelay: timings.endDelay
857
+ });
858
+ }
859
+
860
+ // Core
861
+
862
+ var activeInstances = [];
863
+
864
+ var engine = (function () {
865
+ var raf;
866
+
867
+ function play() {
868
+ if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {
869
+ raf = requestAnimationFrame(step);
870
+ }
871
+ }
872
+ function step(t) {
873
+ // memo on algorithm issue:
874
+ // dangerous iteration over mutable `activeInstances`
875
+ // (that collection may be updated from within callbacks of `tick`-ed animation instances)
876
+ var activeInstancesLength = activeInstances.length;
877
+ var i = 0;
878
+ while (i < activeInstancesLength) {
879
+ var activeInstance = activeInstances[i];
880
+ if (!activeInstance.paused) {
881
+ activeInstance.tick(t);
882
+ i++;
883
+ } else {
884
+ activeInstances.splice(i, 1);
885
+ activeInstancesLength--;
886
+ }
887
+ }
888
+ raf = i > 0 ? requestAnimationFrame(step) : undefined;
889
+ }
890
+
891
+ function handleVisibilityChange() {
892
+ if (!anime.suspendWhenDocumentHidden) { return; }
893
+
894
+ if (isDocumentHidden()) {
895
+ // suspend ticks
896
+ raf = cancelAnimationFrame(raf);
897
+ } else { // is back to active tab
898
+ // first adjust animations to consider the time that ticks were suspended
899
+ activeInstances.forEach(
900
+ function (instance) { return instance ._onDocumentVisibility(); }
901
+ );
902
+ engine();
903
+ }
904
+ }
905
+ if (typeof document !== 'undefined') {
906
+ document.addEventListener('visibilitychange', handleVisibilityChange);
907
+ }
908
+
909
+ return play;
910
+ })();
911
+
912
+ function isDocumentHidden() {
913
+ return !!document && document.hidden;
914
+ }
915
+
916
+ // Public Instance
917
+
918
+ function anime(params) {
919
+ if ( params === void 0 ) params = {};
920
+
921
+
922
+ var startTime = 0, lastTime = 0, now = 0;
923
+ var children, childrenLength = 0;
924
+ var resolve = null;
925
+
926
+ function makePromise(instance) {
927
+ var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });
928
+ instance.finished = promise;
929
+ return promise;
930
+ }
931
+
932
+ var instance = createNewInstance(params);
933
+ makePromise(instance);
934
+
935
+ function toggleInstanceDirection() {
936
+ var direction = instance.direction;
937
+ if (direction !== 'alternate') {
938
+ instance.direction = direction !== 'normal' ? 'normal' : 'reverse';
939
+ }
940
+ instance.reversed = !instance.reversed;
941
+ children.forEach(function (child) { return child.reversed = instance.reversed; });
942
+ }
943
+
944
+ function adjustTime(time) {
945
+ return instance.reversed ? instance.duration - time : time;
946
+ }
947
+
948
+ function resetTime() {
949
+ startTime = 0;
950
+ lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);
951
+ }
952
+
953
+ function seekChild(time, child) {
954
+ if (child) { child.seek(time - child.timelineOffset); }
955
+ }
956
+
957
+ function syncInstanceChildren(time) {
958
+ if (!instance.reversePlayback) {
959
+ for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }
960
+ } else {
961
+ for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }
962
+ }
963
+ }
964
+
965
+ function setAnimationsProgress(insTime) {
966
+ var i = 0;
967
+ var animations = instance.animations;
968
+ var animationsLength = animations.length;
969
+ while (i < animationsLength) {
970
+ var anim = animations[i];
971
+ var animatable = anim.animatable;
972
+ var tweens = anim.tweens;
973
+ var tweenLength = tweens.length - 1;
974
+ var tween = tweens[tweenLength];
975
+ // Only check for keyframes if there is more than one tween
976
+ if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }
977
+ var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;
978
+ var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);
979
+ var strings = tween.to.strings;
980
+ var round = tween.round;
981
+ var numbers = [];
982
+ var toNumbersLength = tween.to.numbers.length;
983
+ var progress = (void 0);
984
+ for (var n = 0; n < toNumbersLength; n++) {
985
+ var value = (void 0);
986
+ var toNumber = tween.to.numbers[n];
987
+ var fromNumber = tween.from.numbers[n] || 0;
988
+ if (!tween.isPath) {
989
+ value = fromNumber + (eased * (toNumber - fromNumber));
990
+ } else {
991
+ value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);
992
+ }
993
+ if (round) {
994
+ if (!(tween.isColor && n > 2)) {
995
+ value = Math.round(value * round) / round;
996
+ }
997
+ }
998
+ numbers.push(value);
999
+ }
1000
+ // Manual Array.reduce for better performances
1001
+ var stringsLength = strings.length;
1002
+ if (!stringsLength) {
1003
+ progress = numbers[0];
1004
+ } else {
1005
+ progress = strings[0];
1006
+ for (var s = 0; s < stringsLength; s++) {
1007
+ var b = strings[s + 1];
1008
+ var n$1 = numbers[s];
1009
+ if (!isNaN(n$1)) {
1010
+ if (!b) {
1011
+ progress += n$1 + ' ';
1012
+ } else {
1013
+ progress += n$1 + b;
1014
+ }
1015
+ }
1016
+ }
1017
+ }
1018
+ setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);
1019
+ anim.currentValue = progress;
1020
+ i++;
1021
+ }
1022
+ }
1023
+
1024
+ function setCallback(cb) {
1025
+ if (instance[cb] && !instance.passThrough) { instance[cb](instance); }
1026
+ }
1027
+
1028
+ function countIteration() {
1029
+ if (instance.remaining && instance.remaining !== true) {
1030
+ instance.remaining--;
1031
+ }
1032
+ }
1033
+
1034
+ function setInstanceProgress(engineTime) {
1035
+ var insDuration = instance.duration;
1036
+ var insDelay = instance.delay;
1037
+ var insEndDelay = insDuration - instance.endDelay;
1038
+ var insTime = adjustTime(engineTime);
1039
+ instance.progress = minMax((insTime / insDuration) * 100, 0, 100);
1040
+ instance.reversePlayback = insTime < instance.currentTime;
1041
+ if (children) { syncInstanceChildren(insTime); }
1042
+ if (!instance.began && instance.currentTime > 0) {
1043
+ instance.began = true;
1044
+ setCallback('begin');
1045
+ }
1046
+ if (!instance.loopBegan && instance.currentTime > 0) {
1047
+ instance.loopBegan = true;
1048
+ setCallback('loopBegin');
1049
+ }
1050
+ if (insTime <= insDelay && instance.currentTime !== 0) {
1051
+ setAnimationsProgress(0);
1052
+ }
1053
+ if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {
1054
+ setAnimationsProgress(insDuration);
1055
+ }
1056
+ if (insTime > insDelay && insTime < insEndDelay) {
1057
+ if (!instance.changeBegan) {
1058
+ instance.changeBegan = true;
1059
+ instance.changeCompleted = false;
1060
+ setCallback('changeBegin');
1061
+ }
1062
+ setCallback('change');
1063
+ setAnimationsProgress(insTime);
1064
+ } else {
1065
+ if (instance.changeBegan) {
1066
+ instance.changeCompleted = true;
1067
+ instance.changeBegan = false;
1068
+ setCallback('changeComplete');
1069
+ }
1070
+ }
1071
+ instance.currentTime = minMax(insTime, 0, insDuration);
1072
+ if (instance.began) { setCallback('update'); }
1073
+ if (engineTime >= insDuration) {
1074
+ lastTime = 0;
1075
+ countIteration();
1076
+ if (!instance.remaining) {
1077
+ instance.paused = true;
1078
+ if (!instance.completed) {
1079
+ instance.completed = true;
1080
+ setCallback('loopComplete');
1081
+ setCallback('complete');
1082
+ if (!instance.passThrough && 'Promise' in window) {
1083
+ resolve();
1084
+ makePromise(instance);
1085
+ }
1086
+ }
1087
+ } else {
1088
+ startTime = now;
1089
+ setCallback('loopComplete');
1090
+ instance.loopBegan = false;
1091
+ if (instance.direction === 'alternate') {
1092
+ toggleInstanceDirection();
1093
+ }
1094
+ }
1095
+ }
1096
+ }
1097
+
1098
+ instance.reset = function() {
1099
+ var direction = instance.direction;
1100
+ instance.passThrough = false;
1101
+ instance.currentTime = 0;
1102
+ instance.progress = 0;
1103
+ instance.paused = true;
1104
+ instance.began = false;
1105
+ instance.loopBegan = false;
1106
+ instance.changeBegan = false;
1107
+ instance.completed = false;
1108
+ instance.changeCompleted = false;
1109
+ instance.reversePlayback = false;
1110
+ instance.reversed = direction === 'reverse';
1111
+ instance.remaining = instance.loop;
1112
+ children = instance.children;
1113
+ childrenLength = children.length;
1114
+ for (var i = childrenLength; i--;) { instance.children[i].reset(); }
1115
+ if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }
1116
+ setAnimationsProgress(instance.reversed ? instance.duration : 0);
1117
+ };
1118
+
1119
+ // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)
1120
+ instance._onDocumentVisibility = resetTime;
1121
+
1122
+ // Set Value helper
1123
+
1124
+ instance.set = function(targets, properties) {
1125
+ setTargetsValue(targets, properties);
1126
+ return instance;
1127
+ };
1128
+
1129
+ instance.tick = function(t) {
1130
+ now = t;
1131
+ if (!startTime) { startTime = now; }
1132
+ setInstanceProgress((now + (lastTime - startTime)) * anime.speed);
1133
+ };
1134
+
1135
+ instance.seek = function(time) {
1136
+ setInstanceProgress(adjustTime(time));
1137
+ };
1138
+
1139
+ instance.pause = function() {
1140
+ instance.paused = true;
1141
+ resetTime();
1142
+ };
1143
+
1144
+ instance.play = function() {
1145
+ if (!instance.paused) { return; }
1146
+ if (instance.completed) { instance.reset(); }
1147
+ instance.paused = false;
1148
+ activeInstances.push(instance);
1149
+ resetTime();
1150
+ engine();
1151
+ };
1152
+
1153
+ instance.reverse = function() {
1154
+ toggleInstanceDirection();
1155
+ instance.completed = instance.reversed ? false : true;
1156
+ resetTime();
1157
+ };
1158
+
1159
+ instance.restart = function() {
1160
+ instance.reset();
1161
+ instance.play();
1162
+ };
1163
+
1164
+ instance.remove = function(targets) {
1165
+ var targetsArray = parseTargets(targets);
1166
+ removeTargetsFromInstance(targetsArray, instance);
1167
+ };
1168
+
1169
+ instance.reset();
1170
+
1171
+ if (instance.autoplay) { instance.play(); }
1172
+
1173
+ return instance;
1174
+
1175
+ }
1176
+
1177
+ // Remove targets from animation
1178
+
1179
+ function removeTargetsFromAnimations(targetsArray, animations) {
1180
+ for (var a = animations.length; a--;) {
1181
+ if (arrayContains(targetsArray, animations[a].animatable.target)) {
1182
+ animations.splice(a, 1);
1183
+ }
1184
+ }
1185
+ }
1186
+
1187
+ function removeTargetsFromInstance(targetsArray, instance) {
1188
+ var animations = instance.animations;
1189
+ var children = instance.children;
1190
+ removeTargetsFromAnimations(targetsArray, animations);
1191
+ for (var c = children.length; c--;) {
1192
+ var child = children[c];
1193
+ var childAnimations = child.animations;
1194
+ removeTargetsFromAnimations(targetsArray, childAnimations);
1195
+ if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }
1196
+ }
1197
+ if (!animations.length && !children.length) { instance.pause(); }
1198
+ }
1199
+
1200
+ function removeTargetsFromActiveInstances(targets) {
1201
+ var targetsArray = parseTargets(targets);
1202
+ for (var i = activeInstances.length; i--;) {
1203
+ var instance = activeInstances[i];
1204
+ removeTargetsFromInstance(targetsArray, instance);
1205
+ }
1206
+ }
1207
+
1208
+ // Stagger helpers
1209
+
1210
+ function stagger(val, params) {
1211
+ if ( params === void 0 ) params = {};
1212
+
1213
+ var direction = params.direction || 'normal';
1214
+ var easing = params.easing ? parseEasings(params.easing) : null;
1215
+ var grid = params.grid;
1216
+ var axis = params.axis;
1217
+ var fromIndex = params.from || 0;
1218
+ var fromFirst = fromIndex === 'first';
1219
+ var fromCenter = fromIndex === 'center';
1220
+ var fromLast = fromIndex === 'last';
1221
+ var isRange = is.arr(val);
1222
+ var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);
1223
+ var val2 = isRange ? parseFloat(val[1]) : 0;
1224
+ var unit = getUnit(isRange ? val[1] : val) || 0;
1225
+ var start = params.start || 0 + (isRange ? val1 : 0);
1226
+ var values = [];
1227
+ var maxValue = 0;
1228
+ return function (el, i, t) {
1229
+ if (fromFirst) { fromIndex = 0; }
1230
+ if (fromCenter) { fromIndex = (t - 1) / 2; }
1231
+ if (fromLast) { fromIndex = t - 1; }
1232
+ if (!values.length) {
1233
+ for (var index = 0; index < t; index++) {
1234
+ if (!grid) {
1235
+ values.push(Math.abs(fromIndex - index));
1236
+ } else {
1237
+ var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;
1238
+ var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;
1239
+ var toX = index%grid[0];
1240
+ var toY = Math.floor(index/grid[0]);
1241
+ var distanceX = fromX - toX;
1242
+ var distanceY = fromY - toY;
1243
+ var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);
1244
+ if (axis === 'x') { value = -distanceX; }
1245
+ if (axis === 'y') { value = -distanceY; }
1246
+ values.push(value);
1247
+ }
1248
+ maxValue = Math.max.apply(Math, values);
1249
+ }
1250
+ if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }
1251
+ if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }
1252
+ }
1253
+ var spacing = isRange ? (val2 - val1) / maxValue : val1;
1254
+ return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;
1255
+ }
1256
+ }
1257
+
1258
+ // Timeline
1259
+
1260
+ function timeline(params) {
1261
+ if ( params === void 0 ) params = {};
1262
+
1263
+ var tl = anime(params);
1264
+ tl.duration = 0;
1265
+ tl.add = function(instanceParams, timelineOffset) {
1266
+ var tlIndex = activeInstances.indexOf(tl);
1267
+ var children = tl.children;
1268
+ if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }
1269
+ function passThrough(ins) { ins.passThrough = true; }
1270
+ for (var i = 0; i < children.length; i++) { passThrough(children[i]); }
1271
+ var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));
1272
+ insParams.targets = insParams.targets || params.targets;
1273
+ var tlDuration = tl.duration;
1274
+ insParams.autoplay = false;
1275
+ insParams.direction = tl.direction;
1276
+ insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);
1277
+ passThrough(tl);
1278
+ tl.seek(insParams.timelineOffset);
1279
+ var ins = anime(insParams);
1280
+ passThrough(ins);
1281
+ children.push(ins);
1282
+ var timings = getInstanceTimings(children, params);
1283
+ tl.delay = timings.delay;
1284
+ tl.endDelay = timings.endDelay;
1285
+ tl.duration = timings.duration;
1286
+ tl.seek(0);
1287
+ tl.reset();
1288
+ if (tl.autoplay) { tl.play(); }
1289
+ return tl;
1290
+ };
1291
+ return tl;
1292
+ }
1293
+
1294
+ anime.version = '3.2.1';
1295
+ anime.speed = 1;
1296
+ // TODO:#review: naming, documentation
1297
+ anime.suspendWhenDocumentHidden = true;
1298
+ anime.running = activeInstances;
1299
+ anime.remove = removeTargetsFromActiveInstances;
1300
+ anime.get = getOriginalTargetValue;
1301
+ anime.set = setTargetsValue;
1302
+ anime.convertPx = convertPxToUnit;
1303
+ anime.path = getPath;
1304
+ anime.setDashoffset = setDashoffset;
1305
+ anime.stagger = stagger;
1306
+ anime.timeline = timeline;
1307
+ anime.easing = parseEasings;
1308
+ anime.penner = penner;
1309
+ anime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };
1310
+
1311
+ exports.anime = anime;