@angular-wave/angular.ts 0.9.3 → 0.9.5

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/@types/angular.d.ts +4 -19
  2. package/@types/animations/animate.d.ts +2 -2
  3. package/@types/animations/animation.d.ts +1 -1
  4. package/@types/core/compile/attributes.d.ts +1 -1
  5. package/@types/core/compile/compile.d.ts +2 -2
  6. package/@types/core/controller/controller.d.ts +1 -1
  7. package/@types/core/controller/interface.d.ts +6 -0
  8. package/@types/core/di/ng-module.d.ts +27 -26
  9. package/@types/core/filter/filter.d.ts +5 -5
  10. package/@types/core/interpolate/interface.d.ts +13 -0
  11. package/@types/core/interpolate/interpolate.d.ts +1 -13
  12. package/@types/core/scope/scope.d.ts +4 -1
  13. package/@types/directive/http/http.d.ts +16 -16
  14. package/@types/directive/http/interface.d.ts +27 -0
  15. package/@types/directive/include/include.d.ts +4 -4
  16. package/@types/directive/inject/inject.d.ts +12 -0
  17. package/@types/directive/model/model.d.ts +1 -1
  18. package/@types/directive/script/script.d.ts +2 -2
  19. package/@types/directive/setter/setter.d.ts +4 -4
  20. package/@types/filters/filter.d.ts +2 -2
  21. package/@types/filters/filters.d.ts +2 -2
  22. package/@types/filters/interface.d.ts +8 -0
  23. package/@types/filters/limit-to.d.ts +2 -2
  24. package/@types/filters/order-by.d.ts +2 -2
  25. package/@types/interface.d.ts +105 -82
  26. package/@types/namespace.d.ts +76 -0
  27. package/@types/router/state/interface.d.ts +8 -8
  28. package/@types/router/state-filters.d.ts +4 -4
  29. package/@types/router/template-factory.d.ts +8 -8
  30. package/@types/router/transition/hook-builder.d.ts +5 -2
  31. package/@types/router/transition/hook-registry.d.ts +11 -2
  32. package/@types/router/transition/transition-service.d.ts +6 -2
  33. package/@types/router/transition/transition.d.ts +2 -2
  34. package/@types/router/view/view.d.ts +1 -8
  35. package/@types/router/view-scroll.d.ts +4 -2
  36. package/@types/services/{anchor-scroll.d.ts → anchor-scroll/anchor-scroll.d.ts} +2 -2
  37. package/@types/services/exception/exception-handler.d.ts +2 -2
  38. package/@types/services/exception/interface.d.ts +1 -1
  39. package/@types/services/http/http.d.ts +40 -2
  40. package/@types/services/http/interface.d.ts +11 -0
  41. package/@types/services/location/location.d.ts +1 -4
  42. package/@types/services/sce/sce.d.ts +3 -4
  43. package/@types/services/template-cache/template-cache.d.ts +4 -4
  44. package/@types/services/template-request/interface.d.ts +22 -0
  45. package/@types/services/{template-request.d.ts → template-request/template-request.d.ts} +4 -7
  46. package/@types/shared/common.d.ts +8 -69
  47. package/@types/shared/hof.d.ts +7 -7
  48. package/dist/angular-ts.esm.js +510 -570
  49. package/dist/angular-ts.umd.js +510 -570
  50. package/dist/angular-ts.umd.min.js +1 -1
  51. package/package.json +8 -1
  52. package/.github/workflows/ci.yml +0 -104
  53. package/.github/workflows/gh-pages.yml +0 -75
  54. package/.husky/pre-commit +0 -5
  55. package/.prettierignore +0 -9
  56. package/@types/services/cookie-reader.d.ts +0 -4
  57. package/@types/services/http-backend/http-backend.d.ts +0 -58
  58. package/@types/services/template-cache/interface.d.ts +0 -10
  59. package/CHANGELOG.md +0 -17667
  60. package/CODE_OF_CONDUCT.md +0 -3
  61. package/CONTRIBUTING.md +0 -247
  62. package/DEVELOPERS.md +0 -499
  63. package/Makefile +0 -60
  64. package/RELEASE.md +0 -86
  65. package/TRIAGING.md +0 -127
  66. package/docs/.cspell.yml +0 -8
  67. package/docs/.github/dependabot.yml +0 -14
  68. package/docs/.nvmrc +0 -1
  69. package/docs/CONTRIBUTING.md +0 -28
  70. package/docs/Dockerfile +0 -4
  71. package/docs/LICENSE +0 -201
  72. package/docs/README.md +0 -217
  73. package/docs/assets/icons/logo.svg +0 -1
  74. package/docs/assets/scss/_variables_project.scss +0 -12
  75. package/docs/assets/scss/_variables_project_after_bs.scss +0 -8
  76. package/docs/assets/scss/index.scss +0 -48
  77. package/docs/config.yaml +0 -15
  78. package/docs/content/_index.md +0 -28
  79. package/docs/content/docs/_index.md +0 -61
  80. package/docs/content/docs/directive/_index.md +0 -4
  81. package/docs/content/docs/directive/app.md +0 -11
  82. package/docs/content/docs/directive/aria.md +0 -0
  83. package/docs/content/docs/directive/bind.md +0 -72
  84. package/docs/content/docs/directive/blur.md +0 -38
  85. package/docs/content/docs/directive/channel.md +0 -37
  86. package/docs/content/docs/directive/class-even.md +0 -47
  87. package/docs/content/docs/directive/class-odd.md +0 -48
  88. package/docs/content/docs/directive/class.md +0 -64
  89. package/docs/content/docs/directive/click.md +0 -41
  90. package/docs/content/docs/directive/cloak.md +0 -74
  91. package/docs/content/docs/directive/copy.md +0 -38
  92. package/docs/content/docs/directive/cut.md +0 -40
  93. package/docs/content/docs/directive/dblclick.md +0 -41
  94. package/docs/content/docs/directive/focus.md +0 -38
  95. package/docs/content/docs/directive/get.md +0 -203
  96. package/docs/content/docs/directive/include.md +0 -7
  97. package/docs/content/docs/directive/keydown.md +0 -38
  98. package/docs/content/docs/directive/keyup.md +0 -38
  99. package/docs/content/docs/directive/load.md +0 -43
  100. package/docs/content/docs/directive/mousedown.md +0 -38
  101. package/docs/content/docs/directive/mouseenter.md +0 -38
  102. package/docs/content/docs/directive/mouseleave.md +0 -38
  103. package/docs/content/docs/directive/mousemove.md +0 -38
  104. package/docs/content/docs/directive/mouseout.md +0 -38
  105. package/docs/content/docs/directive/mouseover.md +0 -38
  106. package/docs/content/docs/directive/mouseup.md +0 -38
  107. package/docs/content/docs/directive/non-bindable.md +0 -28
  108. package/docs/content/docs/filter/_index.md +0 -4
  109. package/docs/content/docs/provider/_index.md +0 -4
  110. package/docs/content/docs/provider/eventBusProvider.md +0 -35
  111. package/docs/content/docs/provider/locationProvider.md +0 -26
  112. package/docs/content/docs/provider/logProvider.md +0 -59
  113. package/docs/content/docs/provider/templateCacheProvider.md +0 -100
  114. package/docs/content/docs/service/_index.md +0 -4
  115. package/docs/content/docs/service/eventBus.md +0 -56
  116. package/docs/content/docs/service/location.md +0 -57
  117. package/docs/content/docs/service/log.md +0 -113
  118. package/docs/content/docs/service/templateCache.md +0 -64
  119. package/docs/content/docs/service/url.md +0 -5
  120. package/docs/docker-compose.yaml +0 -12
  121. package/docs/docsy.work +0 -5
  122. package/docs/docsy.work.sum +0 -0
  123. package/docs/go.mod +0 -5
  124. package/docs/go.sum +0 -6
  125. package/docs/hugo-disabled.toml +0 -220
  126. package/docs/hugo.yaml +0 -200
  127. package/docs/layouts/404.html +0 -13
  128. package/docs/layouts/_markup/render-heading.html +0 -1
  129. package/docs/layouts/partials/hooks/head-end.html +0 -3
  130. package/docs/layouts/shortcodes/showcss.html +0 -2
  131. package/docs/layouts/shortcodes/showhtml.html +0 -2
  132. package/docs/layouts/shortcodes/showjs.html +0 -2
  133. package/docs/layouts/shortcodes/showraw.html +0 -1
  134. package/docs/layouts/shortcodes/version.html +0 -1
  135. package/docs/package-lock.json +0 -2293
  136. package/docs/package.json +0 -53
  137. package/docs/static/examples/counter/counter-test.html +0 -13
  138. package/docs/static/examples/counter/counter.html +0 -5
  139. package/docs/static/examples/counter/counter.test.js +0 -28
  140. package/docs/static/examples/eventbus/eventbus-test.html +0 -15
  141. package/docs/static/examples/eventbus/eventbus.html +0 -13
  142. package/docs/static/examples/eventbus/eventbus.js +0 -15
  143. package/docs/static/examples/eventbus/eventbus.test.js +0 -19
  144. package/docs/static/examples/ng-bind/ng-bind.html +0 -9
  145. package/docs/static/examples/ng-blur/ng-blur.html +0 -9
  146. package/docs/static/examples/ng-channel/ng-channel-test.html +0 -17
  147. package/docs/static/examples/ng-channel/ng-channel.html +0 -24
  148. package/docs/static/examples/ng-channel/ng-channel.test.js +0 -31
  149. package/docs/static/examples/ng-class/ng-class.html +0 -71
  150. package/docs/static/examples/ng-class-even/ng-class-even.html +0 -8
  151. package/docs/static/examples/ng-class-odd/ng-class-odd.html +0 -8
  152. package/docs/static/examples/ng-click/ng-click.html +0 -6
  153. package/docs/static/examples/ng-copy/ng-copy.html +0 -6
  154. package/docs/static/examples/ng-cut/ng-cut.html +0 -6
  155. package/docs/static/examples/ng-dblclick/ng-dblclick.html +0 -10
  156. package/docs/static/examples/ng-focus/ng-focus.html +0 -9
  157. package/docs/static/examples/ng-keydown/ng-keydown.html +0 -9
  158. package/docs/static/examples/ng-keyup/ng-keyup.html +0 -9
  159. package/docs/static/examples/ng-load/ng-load.html +0 -8
  160. package/docs/static/examples/ng-mousedown/ng-mousedown.html +0 -6
  161. package/docs/static/examples/ng-mouseenter/ng-mouseenter.html +0 -4
  162. package/docs/static/examples/ng-mouseleave/ng-mouseleave.html +0 -4
  163. package/docs/static/examples/ng-mousemove/ng-mousemove.html +0 -4
  164. package/docs/static/examples/ng-mouseout/ng-mouseout.html +0 -4
  165. package/docs/static/examples/ng-mouseover/ng-mouseover.html +0 -4
  166. package/docs/static/examples/ng-mouseup/ng-mouseup.html +0 -4
  167. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +0 -13
  168. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +0 -3
  169. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +0 -11
  170. package/docs/static/typedoc/.nojekyll +0 -1
  171. package/docs/static/typedoc/assets/hierarchy.js +0 -1
  172. package/docs/static/typedoc/assets/highlight.css +0 -78
  173. package/docs/static/typedoc/assets/icons.js +0 -18
  174. package/docs/static/typedoc/assets/icons.svg +0 -1
  175. package/docs/static/typedoc/assets/main.js +0 -60
  176. package/docs/static/typedoc/assets/navigation.js +0 -1
  177. package/docs/static/typedoc/assets/search.js +0 -1
  178. package/docs/static/typedoc/assets/style.css +0 -1633
  179. package/docs/static/typedoc/classes/Location.html +0 -55
  180. package/docs/static/typedoc/classes/LocationProvider.html +0 -20
  181. package/docs/static/typedoc/classes/LogProvider.html +0 -6
  182. package/docs/static/typedoc/classes/PubSub.html +0 -71
  183. package/docs/static/typedoc/classes/PubSubProvider.html +0 -3
  184. package/docs/static/typedoc/classes/TemplateCacheProvider.html +0 -5
  185. package/docs/static/typedoc/hierarchy.html +0 -1
  186. package/docs/static/typedoc/index.html +0 -1
  187. package/docs/static/typedoc/interfaces/ChangesObject.html +0 -6
  188. package/docs/static/typedoc/interfaces/ComponentOptions.html +0 -16
  189. package/docs/static/typedoc/interfaces/Controller.html +0 -12
  190. package/docs/static/typedoc/interfaces/DefaultPorts.html +0 -5
  191. package/docs/static/typedoc/interfaces/Directive.html +0 -37
  192. package/docs/static/typedoc/interfaces/DirectivePrePost.html +0 -4
  193. package/docs/static/typedoc/interfaces/Html5Mode.html +0 -23
  194. package/docs/static/typedoc/interfaces/HttpHeadersGetter.html +0 -1
  195. package/docs/static/typedoc/interfaces/HttpProviderDefaults.html +0 -31
  196. package/docs/static/typedoc/interfaces/HttpRequestConfigHeaders.html +0 -6
  197. package/docs/static/typedoc/interfaces/HttpRequestTransformer.html +0 -1
  198. package/docs/static/typedoc/interfaces/HttpResponse.html +0 -7
  199. package/docs/static/typedoc/interfaces/HttpResponseTransformer.html +0 -1
  200. package/docs/static/typedoc/interfaces/HttpService.html +0 -38
  201. package/docs/static/typedoc/interfaces/LogService.html +0 -12
  202. package/docs/static/typedoc/interfaces/NgModelController.html +0 -30
  203. package/docs/static/typedoc/interfaces/NgModelOptions.html +0 -16
  204. package/docs/static/typedoc/interfaces/Provider.html +0 -34
  205. package/docs/static/typedoc/interfaces/RequestConfig.html +0 -48
  206. package/docs/static/typedoc/interfaces/RequestShortcutConfig.html +0 -38
  207. package/docs/static/typedoc/interfaces/ServiceProvider.html +0 -5
  208. package/docs/static/typedoc/interfaces/TemplateCache.html +0 -7
  209. package/docs/static/typedoc/interfaces/TranscludeFunctionObject.html +0 -8
  210. package/docs/static/typedoc/interfaces/UrlParts.html +0 -9
  211. package/docs/static/typedoc/types/AnnotatedDirectiveFactory.html +0 -1
  212. package/docs/static/typedoc/types/AnnotatedFactory.html +0 -8
  213. package/docs/static/typedoc/types/CloneAttachFunction.html +0 -2
  214. package/docs/static/typedoc/types/ControllerConstructor.html +0 -2
  215. package/docs/static/typedoc/types/DirectiveCompileFn.html +0 -2
  216. package/docs/static/typedoc/types/DirectiveController.html +0 -2
  217. package/docs/static/typedoc/types/DirectiveFactory.html +0 -1
  218. package/docs/static/typedoc/types/DirectiveFactoryFn.html +0 -1
  219. package/docs/static/typedoc/types/DirectiveLinkFn.html +0 -2
  220. package/docs/static/typedoc/types/ExpandoStore.html +0 -2
  221. package/docs/static/typedoc/types/Expression.html +0 -6
  222. package/docs/static/typedoc/types/FilterFactory.html +0 -2
  223. package/docs/static/typedoc/types/FilterFn.html +0 -2
  224. package/docs/static/typedoc/types/HttpPromise.html +0 -1
  225. package/docs/static/typedoc/types/HttpResponseStatus.html +0 -1
  226. package/docs/static/typedoc/types/Injectable.html +0 -4
  227. package/docs/static/typedoc/types/InjectableClass.html +0 -1
  228. package/docs/static/typedoc/types/InjectableFactory.html +0 -1
  229. package/docs/static/typedoc/types/LogCall.html +0 -2
  230. package/docs/static/typedoc/types/LogServiceFactory.html +0 -2
  231. package/docs/static/typedoc/types/OnChangesObject.html +0 -2
  232. package/docs/static/typedoc/types/SwapModeType.html +0 -2
  233. package/docs/static/typedoc/types/TController.html +0 -2
  234. package/docs/static/typedoc/types/UrlChangeListener.html +0 -5
  235. package/docs/static/typedoc/variables/EventBus.html +0 -1
  236. package/docs/static/typedoc/variables/SwapMode.html +0 -11
  237. package/docs/static/version.js +0 -13
  238. package/docs/test-results/.last-run.json +0 -4
  239. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +0 -50
  240. package/eslint.config.js +0 -26
  241. package/images/android-chrome-192x192.png +0 -0
  242. package/images/android-chrome-512x512.png +0 -0
  243. package/images/apple-touch-icon.png +0 -0
  244. package/images/favicon-16x16.png +0 -0
  245. package/images/favicon-32x32.png +0 -0
  246. package/images/favicon.ico +0 -0
  247. package/images/site.webmanifest +0 -19
  248. package/index.html +0 -86
  249. package/legacy.d.ts +0 -2599
  250. package/playwright.config.ts +0 -81
  251. package/public/jasmine/boot0.js +0 -66
  252. package/public/jasmine/boot1.js +0 -134
  253. package/public/jasmine/jasmine-html.js +0 -970
  254. package/public/jasmine/jasmine.css +0 -323
  255. package/public/jasmine/jasmine.js +0 -11406
  256. package/public/public/README.md +0 -1
  257. package/public/public/circle.html +0 -1
  258. package/public/public/jasmine-helper.css +0 -9
  259. package/public/public/my_child_directive.html +0 -1
  260. package/public/public/my_directive.html +0 -1
  261. package/public/public/my_other_directive.html +0 -1
  262. package/public/public/test.html +0 -1
  263. package/rollup.config.js +0 -51
  264. package/src/angular.js +0 -293
  265. package/src/angular.spec.js +0 -1191
  266. package/src/animations/animate-cache.js +0 -80
  267. package/src/animations/animate-children-directive.js +0 -32
  268. package/src/animations/animate-children-directive.md +0 -80
  269. package/src/animations/animate-css-driver.js +0 -284
  270. package/src/animations/animate-css.html +0 -58
  271. package/src/animations/animate-css.js +0 -915
  272. package/src/animations/animate-css.md +0 -263
  273. package/src/animations/animate-js-driver.js +0 -60
  274. package/src/animations/animate-js.html +0 -47
  275. package/src/animations/animate-js.js +0 -371
  276. package/src/animations/animate-queue.js +0 -859
  277. package/src/animations/animate-runner.js +0 -193
  278. package/src/animations/animate-swap.js +0 -33
  279. package/src/animations/animate-swap.md +0 -88
  280. package/src/animations/animate.html +0 -19
  281. package/src/animations/animate.js +0 -546
  282. package/src/animations/animate.md +0 -933
  283. package/src/animations/animate.spec.js +0 -490
  284. package/src/animations/animation.js +0 -519
  285. package/src/animations/animations.test.js +0 -10
  286. package/src/animations/interface.ts +0 -19
  287. package/src/animations/raf-scheduler.html +0 -19
  288. package/src/animations/raf-scheduler.js +0 -92
  289. package/src/animations/raf-scheduler.spec.js +0 -98
  290. package/src/animations/shared.js +0 -341
  291. package/src/binding.html +0 -19
  292. package/src/binding.spec.js +0 -474
  293. package/src/binding.test.js +0 -10
  294. package/src/core/compile/attributes.js +0 -337
  295. package/src/core/compile/compile.html +0 -19
  296. package/src/core/compile/compile.js +0 -3270
  297. package/src/core/compile/compile.md +0 -1128
  298. package/src/core/compile/compile.spec.js +0 -15574
  299. package/src/core/compile/compile.test.js +0 -12
  300. package/src/core/controller/controller.html +0 -22
  301. package/src/core/controller/controller.js +0 -189
  302. package/src/core/controller/controller.spec.js +0 -334
  303. package/src/core/controller/controller.test.js +0 -12
  304. package/src/core/core.html +0 -20
  305. package/src/core/core.test.js +0 -12
  306. package/src/core/di/injector.html +0 -19
  307. package/src/core/di/injector.js +0 -307
  308. package/src/core/di/injector.md +0 -740
  309. package/src/core/di/injector.spec.js +0 -2310
  310. package/src/core/di/injector.test.js +0 -12
  311. package/src/core/di/internal-injector.js +0 -284
  312. package/src/core/di/ng-module.html +0 -19
  313. package/src/core/di/ng-module.js +0 -226
  314. package/src/core/di/ng-module.spec.js +0 -263
  315. package/src/core/di/ng-module.test.js +0 -12
  316. package/src/core/filter/filter.html +0 -19
  317. package/src/core/filter/filter.js +0 -55
  318. package/src/core/filter/filter.md +0 -132
  319. package/src/core/filter/filter.spec.js +0 -149
  320. package/src/core/filter/filter.test.js +0 -12
  321. package/src/core/interpolate/interpolate.html +0 -22
  322. package/src/core/interpolate/interpolate.js +0 -408
  323. package/src/core/interpolate/interpolate.spec.js +0 -601
  324. package/src/core/interpolate/interpolate.test.js +0 -12
  325. package/src/core/parse/ast/ast-node.ts +0 -81
  326. package/src/core/parse/ast/ast.html +0 -19
  327. package/src/core/parse/ast/ast.js +0 -574
  328. package/src/core/parse/ast/ast.spec.js +0 -1453
  329. package/src/core/parse/ast/ast.test.js +0 -10
  330. package/src/core/parse/ast-type.js +0 -23
  331. package/src/core/parse/interface.ts +0 -84
  332. package/src/core/parse/interpreter.js +0 -915
  333. package/src/core/parse/lexer/lexer.html +0 -19
  334. package/src/core/parse/lexer/lexer.js +0 -338
  335. package/src/core/parse/lexer/lexer.spec.js +0 -303
  336. package/src/core/parse/lexer/lexer.test.js +0 -10
  337. package/src/core/parse/lexer/token.ts +0 -22
  338. package/src/core/parse/parse.html +0 -19
  339. package/src/core/parse/parse.js +0 -337
  340. package/src/core/parse/parse.md +0 -57
  341. package/src/core/parse/parse.spec.js +0 -2107
  342. package/src/core/parse/parse.test.js +0 -10
  343. package/src/core/parse/parser/parser.html +0 -19
  344. package/src/core/parse/parser/parser.js +0 -64
  345. package/src/core/parse/parser/parser.spec.js +0 -8
  346. package/src/core/parse/parser/parser.test.js +0 -10
  347. package/src/core/prop.spec.js +0 -775
  348. package/src/core/root-element.spec.js +0 -14
  349. package/src/core/sanitize/interface.ts +0 -10
  350. package/src/core/sanitize/sanitize-uri.js +0 -75
  351. package/src/core/sanitize/sanitize-uri.spec.js +0 -249
  352. package/src/core/sanitize/sanitize-uri.test.js +0 -12
  353. package/src/core/sanitize/sanitize.html +0 -22
  354. package/src/core/scope/scope.html +0 -19
  355. package/src/core/scope/scope.js +0 -1249
  356. package/src/core/scope/scope.spec.js +0 -3000
  357. package/src/core/scope/scope.test.js +0 -12
  358. package/src/directive/aria/aria.html +0 -19
  359. package/src/directive/aria/aria.js +0 -382
  360. package/src/directive/aria/aria.md +0 -145
  361. package/src/directive/aria/aria.spec.js +0 -1241
  362. package/src/directive/aria/aria.test.js +0 -12
  363. package/src/directive/attrs/attrs.html +0 -19
  364. package/src/directive/attrs/attrs.js +0 -106
  365. package/src/directive/attrs/attrs.md +0 -224
  366. package/src/directive/attrs/attrs.spec.js +0 -71
  367. package/src/directive/attrs/attrs.test.js +0 -12
  368. package/src/directive/attrs/boolean.html +0 -19
  369. package/src/directive/attrs/boolean.spec.js +0 -137
  370. package/src/directive/attrs/boolean.test.js +0 -12
  371. package/src/directive/attrs/element-style.html +0 -22
  372. package/src/directive/attrs/element-style.spec.js +0 -85
  373. package/src/directive/attrs/element-style.test.js +0 -12
  374. package/src/directive/attrs/src.html +0 -19
  375. package/src/directive/attrs/src.spec.js +0 -163
  376. package/src/directive/attrs/src.test.js +0 -12
  377. package/src/directive/bind/bind-html.spec.js +0 -36
  378. package/src/directive/bind/bind.html +0 -20
  379. package/src/directive/bind/bind.js +0 -78
  380. package/src/directive/bind/bind.md +0 -142
  381. package/src/directive/bind/bind.spec.js +0 -314
  382. package/src/directive/bind/bind.test.js +0 -12
  383. package/src/directive/channel/channel.html +0 -19
  384. package/src/directive/channel/channel.js +0 -30
  385. package/src/directive/channel/channel.spec.js +0 -67
  386. package/src/directive/channel/channel.test.js +0 -10
  387. package/src/directive/class/class-test.html +0 -23
  388. package/src/directive/class/class.html +0 -19
  389. package/src/directive/class/class.js +0 -184
  390. package/src/directive/class/class.spec.js +0 -704
  391. package/src/directive/class/class.test.js +0 -12
  392. package/src/directive/cloak/cloak.html +0 -19
  393. package/src/directive/cloak/cloak.js +0 -11
  394. package/src/directive/cloak/cloak.spec.js +0 -44
  395. package/src/directive/cloak/cloak.test.js +0 -12
  396. package/src/directive/controller/controller.html +0 -22
  397. package/src/directive/controller/controller.js +0 -11
  398. package/src/directive/controller/controller.md +0 -46
  399. package/src/directive/controller/controller.spec.js +0 -175
  400. package/src/directive/controller/controller.test.js +0 -12
  401. package/src/directive/events/click.spec.js +0 -35
  402. package/src/directive/events/event.spec.js +0 -267
  403. package/src/directive/events/events-test.html +0 -36
  404. package/src/directive/events/events.html +0 -20
  405. package/src/directive/events/events.js +0 -65
  406. package/src/directive/events/events.md +0 -125
  407. package/src/directive/events/events.test.js +0 -12
  408. package/src/directive/form/form.html +0 -19
  409. package/src/directive/form/form.js +0 -669
  410. package/src/directive/form/form.spec.js +0 -1515
  411. package/src/directive/form/form.test.js +0 -12
  412. package/src/directive/http/delete.spec.js +0 -26
  413. package/src/directive/http/form-router-test.html +0 -44
  414. package/src/directive/http/form-test.html +0 -18
  415. package/src/directive/http/get.spec.js +0 -488
  416. package/src/directive/http/http.html +0 -22
  417. package/src/directive/http/http.js +0 -342
  418. package/src/directive/http/http.test.js +0 -12
  419. package/src/directive/http/post-example.html +0 -30
  420. package/src/directive/http/post.spec.js +0 -521
  421. package/src/directive/http/put.spec.js +0 -26
  422. package/src/directive/if/if-animate-css.html +0 -57
  423. package/src/directive/if/if-animate-svg.html +0 -25
  424. package/src/directive/if/if.html +0 -19
  425. package/src/directive/if/if.js +0 -72
  426. package/src/directive/if/if.md +0 -76
  427. package/src/directive/if/if.spec.js +0 -293
  428. package/src/directive/if/if.test.js +0 -114
  429. package/src/directive/include/include.html +0 -19
  430. package/src/directive/include/include.js +0 -151
  431. package/src/directive/include/include.md +0 -87
  432. package/src/directive/include/include.spec.js +0 -734
  433. package/src/directive/include/include.test.js +0 -12
  434. package/src/directive/init/init.html +0 -19
  435. package/src/directive/init/init.js +0 -22
  436. package/src/directive/init/init.md +0 -41
  437. package/src/directive/init/init.spec.js +0 -68
  438. package/src/directive/init/init.test.js +0 -12
  439. package/src/directive/input/input-example.html +0 -15
  440. package/src/directive/input/input.html +0 -19
  441. package/src/directive/input/input.js +0 -1078
  442. package/src/directive/input/input.md +0 -706
  443. package/src/directive/input/input.spec.js +0 -3700
  444. package/src/directive/input/input.test.js +0 -12
  445. package/src/directive/messages/messages.html +0 -22
  446. package/src/directive/messages/messages.js +0 -349
  447. package/src/directive/messages/messages.md +0 -543
  448. package/src/directive/messages/messages.spec.js +0 -1083
  449. package/src/directive/messages/messages.test.js +0 -12
  450. package/src/directive/model/change.md +0 -25
  451. package/src/directive/model/model.html +0 -19
  452. package/src/directive/model/model.js +0 -1170
  453. package/src/directive/model/model.spec.js +0 -1976
  454. package/src/directive/model/model.test.js +0 -12
  455. package/src/directive/model-options/model-option.test.js +0 -12
  456. package/src/directive/model-options/model-options.html +0 -22
  457. package/src/directive/model-options/model-options.js +0 -142
  458. package/src/directive/model-options/model-options.md +0 -407
  459. package/src/directive/model-options/model-options.spec.js +0 -1022
  460. package/src/directive/non-bindable/non-bindable.html +0 -22
  461. package/src/directive/non-bindable/non-bindable.js +0 -9
  462. package/src/directive/non-bindable/non-bindable.spec.js +0 -59
  463. package/src/directive/non-bindable/non-bindable.test.js +0 -12
  464. package/src/directive/observe/observe-demo.html +0 -184
  465. package/src/directive/observe/observe.html +0 -19
  466. package/src/directive/observe/observe.js +0 -41
  467. package/src/directive/observe/observe.spec.js +0 -106
  468. package/src/directive/observe/observe.test.js +0 -10
  469. package/src/directive/on/on.html +0 -19
  470. package/src/directive/on/on.spec.js +0 -215
  471. package/src/directive/on/on.test.js +0 -12
  472. package/src/directive/options/options-example.html +0 -17
  473. package/src/directive/options/options.html +0 -22
  474. package/src/directive/options/options.js +0 -542
  475. package/src/directive/options/options.md +0 -179
  476. package/src/directive/options/options.spec.js +0 -3554
  477. package/src/directive/options/options.test.js +0 -12
  478. package/src/directive/ref/href.html +0 -19
  479. package/src/directive/ref/href.spec.js +0 -141
  480. package/src/directive/ref/href.test.js +0 -19
  481. package/src/directive/ref/ref.html +0 -19
  482. package/src/directive/ref/ref.js +0 -89
  483. package/src/directive/ref/ref.spec.js +0 -546
  484. package/src/directive/repeat/repeat.html +0 -19
  485. package/src/directive/repeat/repeat.js +0 -333
  486. package/src/directive/repeat/repeat.md +0 -330
  487. package/src/directive/repeat/repeat.spec.js +0 -1209
  488. package/src/directive/repeat/repeat.test.js +0 -12
  489. package/src/directive/script/script.html +0 -19
  490. package/src/directive/script/script.js +0 -17
  491. package/src/directive/script/script.md +0 -11
  492. package/src/directive/script/script.spec.js +0 -47
  493. package/src/directive/script/script.test.js +0 -12
  494. package/src/directive/select/select.html +0 -19
  495. package/src/directive/select/select.js +0 -594
  496. package/src/directive/select/select.md +0 -74
  497. package/src/directive/select/select.spec.js +0 -2566
  498. package/src/directive/select/select.test.js +0 -12
  499. package/src/directive/setter/setter.html +0 -19
  500. package/src/directive/setter/setter.js +0 -59
  501. package/src/directive/setter/setter.spec.js +0 -100
  502. package/src/directive/setter/setter.test.js +0 -12
  503. package/src/directive/show-hide/show-hide.html +0 -22
  504. package/src/directive/show-hide/show-hide.js +0 -65
  505. package/src/directive/show-hide/show-hide.md +0 -255
  506. package/src/directive/show-hide/show-hide.spec.js +0 -268
  507. package/src/directive/show-hide/show-hide.test.js +0 -12
  508. package/src/directive/style/style.html +0 -19
  509. package/src/directive/style/style.js +0 -27
  510. package/src/directive/style/style.md +0 -23
  511. package/src/directive/style/style.spec.js +0 -183
  512. package/src/directive/style/style.test.js +0 -12
  513. package/src/directive/switch/switch.html +0 -19
  514. package/src/directive/switch/switch.js +0 -133
  515. package/src/directive/switch/switch.md +0 -66
  516. package/src/directive/switch/switch.spec.js +0 -509
  517. package/src/directive/switch/switch.test.js +0 -12
  518. package/src/directive/transclude/transclude.js +0 -122
  519. package/src/directive/validators/validators.html +0 -22
  520. package/src/directive/validators/validators.js +0 -346
  521. package/src/directive/validators/validators.spec.js +0 -740
  522. package/src/directive/validators/validators.test.js +0 -12
  523. package/src/filters/filter.js +0 -213
  524. package/src/filters/filter.md +0 -69
  525. package/src/filters/filter.spec.js +0 -719
  526. package/src/filters/filters.html +0 -22
  527. package/src/filters/filters.js +0 -239
  528. package/src/filters/filters.spec.js +0 -36
  529. package/src/filters/filters.test.js +0 -12
  530. package/src/filters/json.md +0 -16
  531. package/src/filters/limit-to.js +0 -55
  532. package/src/filters/limit-to.md +0 -19
  533. package/src/filters/limit-to.spec.js +0 -252
  534. package/src/filters/order-by.js +0 -181
  535. package/src/filters/order-by.md +0 -83
  536. package/src/filters/order-by.spec.js +0 -883
  537. package/src/index.js +0 -6
  538. package/src/index.spec.js +0 -11
  539. package/src/injection-tokens.js +0 -78
  540. package/src/interface.ts +0 -421
  541. package/src/ng.js +0 -289
  542. package/src/ng.spec.js +0 -33
  543. package/src/router/common/trace.js +0 -240
  544. package/src/router/directives/component-example.html +0 -37
  545. package/src/router/directives/state-directives.html +0 -22
  546. package/src/router/directives/state-directives.js +0 -393
  547. package/src/router/directives/state-directives.md +0 -435
  548. package/src/router/directives/state-directives.spec.js +0 -1091
  549. package/src/router/directives/state-directives.test.js +0 -10
  550. package/src/router/directives/view-directive.js +0 -489
  551. package/src/router/directives/view-directive.spec.js +0 -1937
  552. package/src/router/directives/view-directive.test.js +0 -10
  553. package/src/router/directives/view-directives.html +0 -22
  554. package/src/router/glob/glob.html +0 -19
  555. package/src/router/glob/glob.js +0 -102
  556. package/src/router/glob/glob.spec.js +0 -108
  557. package/src/router/glob/glob.test.js +0 -12
  558. package/src/router/hooks/core-resolvables.js +0 -38
  559. package/src/router/hooks/ignored-transition.js +0 -25
  560. package/src/router/hooks/invalid-transition.js +0 -14
  561. package/src/router/hooks/lazy-load.js +0 -104
  562. package/src/router/hooks/on-enter-exit-retain.js +0 -55
  563. package/src/router/hooks/redirect-to.js +0 -38
  564. package/src/router/hooks/resolve.js +0 -57
  565. package/src/router/hooks/update-globals.js +0 -34
  566. package/src/router/hooks/url.js +0 -34
  567. package/src/router/hooks/views.js +0 -41
  568. package/src/router/params/interface.ts +0 -626
  569. package/src/router/params/param-factory.js +0 -23
  570. package/src/router/params/param-type.js +0 -133
  571. package/src/router/params/param-types.js +0 -153
  572. package/src/router/params/param.js +0 -243
  573. package/src/router/params/state-params.js +0 -36
  574. package/src/router/path/path-node.js +0 -78
  575. package/src/router/path/path-utils.js +0 -207
  576. package/src/router/resolve/interface.ts +0 -208
  577. package/src/router/resolve/resolvable.js +0 -123
  578. package/src/router/resolve/resolve-context.js +0 -190
  579. package/src/router/router-test-hashbang.html +0 -45
  580. package/src/router/router-test.html +0 -41
  581. package/src/router/router.html +0 -22
  582. package/src/router/router.js +0 -54
  583. package/src/router/router.test.js +0 -12
  584. package/src/router/services.spec.js +0 -52
  585. package/src/router/state/README.md +0 -21
  586. package/src/router/state/interface.ts +0 -1007
  587. package/src/router/state/state-builder.js +0 -376
  588. package/src/router/state/state-builder.spec.js +0 -86
  589. package/src/router/state/state-matcher.js +0 -64
  590. package/src/router/state/state-object.js +0 -118
  591. package/src/router/state/state-queue-manager.js +0 -95
  592. package/src/router/state/state-registry.js +0 -257
  593. package/src/router/state/state-service.js +0 -699
  594. package/src/router/state/state.html +0 -23
  595. package/src/router/state/state.spec.js +0 -1002
  596. package/src/router/state/state.test.js +0 -12
  597. package/src/router/state/target-state.js +0 -162
  598. package/src/router/state/views.js +0 -195
  599. package/src/router/state-filter.spec.js +0 -139
  600. package/src/router/state-filters.js +0 -46
  601. package/src/router/template-factory.html +0 -19
  602. package/src/router/template-factory.js +0 -249
  603. package/src/router/template-factory.spec.js +0 -155
  604. package/src/router/template-factory.test.js +0 -12
  605. package/src/router/transition/hook-builder.js +0 -133
  606. package/src/router/transition/hook-registry.js +0 -172
  607. package/src/router/transition/interface.js +0 -18
  608. package/src/router/transition/interface.ts +0 -922
  609. package/src/router/transition/reject-factory.js +0 -122
  610. package/src/router/transition/transition-event-type.js +0 -26
  611. package/src/router/transition/transition-hook.js +0 -199
  612. package/src/router/transition/transition-service.js +0 -302
  613. package/src/router/transition/transition.js +0 -652
  614. package/src/router/url/url-config.js +0 -155
  615. package/src/router/url/url-matcher.js +0 -532
  616. package/src/router/url/url-rule.js +0 -231
  617. package/src/router/url/url-rules.js +0 -350
  618. package/src/router/url/url-service.js +0 -446
  619. package/src/router/url/url-service.spec.js +0 -1288
  620. package/src/router/url/url.html +0 -19
  621. package/src/router/url/url.test.js +0 -12
  622. package/src/router/view/interface.ts +0 -51
  623. package/src/router/view/view.html +0 -19
  624. package/src/router/view/view.js +0 -274
  625. package/src/router/view/view.spec.js +0 -100
  626. package/src/router/view/view.test.js +0 -12
  627. package/src/router/view-hook.spec.js +0 -215
  628. package/src/router/view-scroll.js +0 -33
  629. package/src/router/view-scroll.spec.js +0 -72
  630. package/src/services/anchor-scroll.html +0 -76
  631. package/src/services/anchor-scroll.js +0 -147
  632. package/src/services/cookie-reader.js +0 -48
  633. package/src/services/exception/exception-handler.js +0 -75
  634. package/src/services/exception/interface.ts +0 -7
  635. package/src/services/http/http.html +0 -23
  636. package/src/services/http/http.js +0 -922
  637. package/src/services/http/http.md +0 -413
  638. package/src/services/http/http.spec.js +0 -3941
  639. package/src/services/http/http.test.js +0 -11
  640. package/src/services/http/interface.ts +0 -243
  641. package/src/services/http/template-request.spec.js +0 -220
  642. package/src/services/http-backend/http-backend.html +0 -22
  643. package/src/services/http-backend/http-backend.js +0 -158
  644. package/src/services/http-backend/http-backend.spec.js +0 -389
  645. package/src/services/http-backend/http-backend.test.js +0 -12
  646. package/src/services/location/interface.ts +0 -70
  647. package/src/services/location/location.html +0 -22
  648. package/src/services/location/location.js +0 -1006
  649. package/src/services/location/location.spec.js +0 -3792
  650. package/src/services/location/location.test.js +0 -12
  651. package/src/services/log/interface.ts +0 -39
  652. package/src/services/log/log.html +0 -19
  653. package/src/services/log/log.js +0 -74
  654. package/src/services/log/log.spec.js +0 -64
  655. package/src/services/log/log.test.js +0 -12
  656. package/src/services/pubsub/pubsub.html +0 -19
  657. package/src/services/pubsub/pubsub.js +0 -349
  658. package/src/services/pubsub/pubsub.spec.js +0 -400
  659. package/src/services/pubsub/pubsub.test.js +0 -12
  660. package/src/services/sce/sce.html +0 -19
  661. package/src/services/sce/sce.js +0 -847
  662. package/src/services/sce/sce.md +0 -300
  663. package/src/services/sce/sce.spec.js +0 -617
  664. package/src/services/sce/sce.test.js +0 -12
  665. package/src/services/template-cache/interface.ts +0 -10
  666. package/src/services/template-cache/template-cache.html +0 -22
  667. package/src/services/template-cache/template-cache.js +0 -15
  668. package/src/services/template-cache/template-cache.spec.js +0 -134
  669. package/src/services/template-cache/template-cache.test.js +0 -12
  670. package/src/services/template-request.js +0 -142
  671. package/src/shared/cache.js +0 -7
  672. package/src/shared/common.js +0 -438
  673. package/src/shared/common.spec.js +0 -294
  674. package/src/shared/constants.js +0 -21
  675. package/src/shared/dom.js +0 -716
  676. package/src/shared/hof.js +0 -151
  677. package/src/shared/hof.spec.js +0 -60
  678. package/src/shared/interface.ts +0 -21
  679. package/src/shared/min-err.spec.js +0 -178
  680. package/src/shared/noderef.js +0 -225
  681. package/src/shared/predicates.js +0 -34
  682. package/src/shared/queue.js +0 -105
  683. package/src/shared/queue.spec.js +0 -80
  684. package/src/shared/shared.html +0 -24
  685. package/src/shared/shared.test.js +0 -12
  686. package/src/shared/strings.js +0 -142
  687. package/src/shared/strings.spec.js +0 -40
  688. package/src/shared/test-utils.js +0 -47
  689. package/src/shared/url-utils/interface.ts +0 -54
  690. package/src/shared/url-utils/url-utils.html +0 -22
  691. package/src/shared/url-utils/url-utils.js +0 -122
  692. package/src/shared/url-utils/url-utils.spec.js +0 -148
  693. package/src/shared/url-utils/url-utils.test.js +0 -12
  694. package/src/shared/utils.js +0 -1255
  695. package/src/shared/utils.spec.js +0 -178
  696. package/src/src.html +0 -21
  697. package/src/src.test.js +0 -10
  698. package/tsconfig.json +0 -19
  699. package/tsconfig.types.json +0 -14
  700. package/typedoc.json +0 -8
  701. package/utils/express.js +0 -203
  702. package/utils/version.cjs +0 -23
  703. package/vite.config.js +0 -14
@@ -1,933 +0,0 @@
1
- /\*\*
2
-
3
- - @ngdoc module
4
- - @name ng.animate
5
- - @description
6
- -
7
- - The `ng.animate` module provides support for CSS-based animations (keyframes and transitions) as well as JavaScript-based animations via
8
- - callback hooks. Animations are not enabled by default, however, by including `ng.animate` the animation hooks are enabled for an AngularTS app.
9
- -
10
- - ## Usage
11
- - Simply put, there are two ways to make use of animations when ng.animate is used: by using **CSS** and **JavaScript**. The former works purely based
12
- - using CSS (by using matching CSS selectors/styles) and the latter triggers animations that are registered via `module.animation()`. For
13
- - both CSS and JS animations the sole requirement is to have a matching `CSS class` that exists both in the registered animation and within
14
- - the HTML element that the animation will be triggered on.
15
- -
16
- - ## Directive Support
17
- - The following directives are "animation aware":
18
- -
19
- - | Directive | Supported Animations |
20
- - |-------------------------------------------------------------------------------|---------------------------------------------------------------------------|
21
- - | {@link ng.directive:form#animations form / ngForm} | add and remove ({@link ng.directive:form#css-classes various classes}) |
22
- - | {@link ng.animate.directive:ng.animateSwap#animations ng.animateSwap} | enter and leave |
23
- - | {@link ng.directive:ngClass#animations ngClass / class}​}} | add and remove |
24
- - | {@link ng.directive:ngClassEven#animations ngClassEven} | add and remove |
25
- - | {@link ng.directive:ngClassOdd#animations ngClassOdd} | add and remove |
26
- - | {@link ng.directive:ngHide#animations ngHide} | add and remove (the `ng-hide` class) |
27
- - | {@link ng.directive:ngIf#animations ngIf} | enter and leave |
28
- - | {@link ng.directive:ngInclude#animations ngInclude} | enter and leave |
29
- - | {@link module:ngMessages#animations ngMessage / ngMessageExp} | enter and leave |
30
- - | {@link module:ngMessages#animations ngMessages} | add and remove (the `ng-active`/`ng-inactive` classes) |
31
- - | {@link ng.directive:ngModel#animations ngModel} | add and remove ({@link ng.directive:ngModel#css-classes various classes}) |
32
- - | {@link ng.directive:ngRepeat#animations ngRepeat} | enter, leave, and move |
33
- - | {@link ng.directive:ngShow#animations ngShow} | add and remove (the `ng-hide` class) |
34
- - | {@link ng.directive:ngSwitch#animations ngSwitch} | enter and leave |
35
- - | {@link ngRoute.directive:ngView#animations ngView} | enter and leave |
36
- -
37
- - (More information can be found by visiting the documentation associated with each directive.)
38
- -
39
- - For a full breakdown of the steps involved during each animation event, refer to the
40
- - {@link ng.$animate `$animate` API docs}.
41
- -
42
- - ## CSS-based Animations
43
- -
44
- - CSS-based animations with ng.animate are unique since they require no JavaScript code at all. By using a CSS class that we reference between our HTML
45
- - and CSS code we can create an animation that will be picked up by AngularTS when an underlying directive performs an operation.
46
- -
47
- - The example below shows how an `enter` animation can be made possible on an element using `ng-if`:
48
- -
49
- - ```html
50
-
51
- ```
52
-
53
- - <div ng-if="bool" class="fade">
54
- - Fade me in out
55
- - </div>
56
- - <button ng-click="bool=true">Fade In!</button>
57
- - <button ng-click="bool=false">Fade Out!</button>
58
- - ```
59
-
60
- ```
61
-
62
- -
63
- - Notice the CSS class **fade**? We can now create the CSS transition code that references this class:
64
- -
65
- - ```css
66
-
67
- ```
68
-
69
- - /\* The starting CSS styles for the enter animation \*/
70
- - .fade.ng-enter {
71
- - transition:0.5s linear all;
72
- - opacity:0;
73
- - }
74
- -
75
- - /\* The finishing CSS styles for the enter animation \*/
76
- - .fade.ng-enter.ng-enter-active {
77
- - opacity:1;
78
- - }
79
- - ```
80
-
81
- ```
82
-
83
- -
84
- - The key thing to remember here is that, depending on the animation event (which each of the directives above trigger depending on what's going on) two
85
- - generated CSS classes will be applied to the element; in the example above we have `.ng-enter` and `.ng-enter-active`. For CSS transitions, the transition
86
- - code **must** be defined within the starting CSS class (in this case `.ng-enter`). The destination class is what the transition will animate towards.
87
- -
88
- - If for example we wanted to create animations for `leave` and `move` (ngRepeat triggers move) then we can do so using the same CSS naming conventions:
89
- -
90
- - ```css
91
-
92
- ```
93
-
94
- - /\* now the element will fade out before it is removed from the DOM \*/
95
- - .fade.ng-leave {
96
- - transition:0.5s linear all;
97
- - opacity:1;
98
- - }
99
- - .fade.ng-leave.ng-leave-active {
100
- - opacity:0;
101
- - }
102
- - ```
103
-
104
- ```
105
-
106
- -
107
- - We can also make use of **CSS Keyframes** by referencing the keyframe animation within the starting CSS class:
108
- -
109
- - ```css
110
-
111
- ```
112
-
113
- - /\* there is no need to define anything inside of the destination
114
- - CSS class since the keyframe will take charge of the animation \*/
115
- - .fade.ng-leave {
116
- - animation: my_fade_animation 0.5s linear;
117
- - -webkit-animation: my_fade_animation 0.5s linear;
118
- - }
119
- -
120
- - @keyframes my_fade_animation {
121
- - from { opacity:1; }
122
- - to { opacity:0; }
123
- - }
124
- -
125
- - @-webkit-keyframes my_fade_animation {
126
- - from { opacity:1; }
127
- - to { opacity:0; }
128
- - }
129
- - ```
130
-
131
- ```
132
-
133
- -
134
- - Feel free also mix transitions and keyframes together as well as any other CSS classes on the same element.
135
- -
136
- - ### CSS Class-based Animations
137
- -
138
- - Class-based animations (animations that are triggered via `ngClass`, `ngShow`, `ngHide` and some other directives) have a slightly different
139
- - naming convention. Class-based animations are basic enough that a standard transition or keyframe can be referenced on the class being added
140
- - and removed.
141
- -
142
- - For example if we wanted to do a CSS animation for `ngHide` then we place an animation on the `.ng-hide` CSS class:
143
- -
144
- - ```html
145
-
146
- ```
147
-
148
- - <div ng-show="bool" class="fade">
149
- - Show and hide me
150
- - </div>
151
- - <button ng-click="bool=!bool">Toggle</button>
152
- -
153
- - <style>
154
- - .fade.ng-hide {
155
- - transition:0.5s linear all;
156
- - opacity:0;
157
- - }
158
- - </style>
159
- - ```
160
-
161
- ```
162
-
163
- -
164
- - All that is going on here with ngShow/ngHide behind the scenes is the `.ng-hide` class is added/removed (when the hidden state is valid). Since
165
- - ngShow and ngHide are animation aware then we can match up a transition and ng.animate handles the rest.
166
- -
167
- - In addition the addition and removal of the CSS class, ng.animate also provides two helper methods that we can use to further decorate the animation
168
- - with CSS styles.
169
- -
170
- - ```html
171
-
172
- ```
173
-
174
- - <div ng-class="{on:onOff}" class="highlight">
175
- - Highlight this box
176
- - </div>
177
- - <button ng-click="onOff=!onOff">Toggle</button>
178
- -
179
- - <style>
180
- - .highlight {
181
- - transition:0.5s linear all;
182
- - }
183
- - .highlight.on-add {
184
- - background:white;
185
- - }
186
- - .highlight.on {
187
- - background:yellow;
188
- - }
189
- - .highlight.on-remove {
190
- - background:black;
191
- - }
192
- - </style>
193
- - ```
194
-
195
- ```
196
-
197
- -
198
- - We can also make use of CSS keyframes by placing them within the CSS classes.
199
- -
200
- -
201
- - ### CSS Staggering Animations
202
- - A Staggering animation is a collection of animations that are issued with a slight delay in between each successive operation resulting in a
203
- - curtain-like effect. The ng.animate module (versions >=1.2) supports staggering animations and the stagger effect can be
204
- - performed by creating a **ng-EVENT-stagger** CSS class and attaching that class to the base CSS class used for
205
- - the animation. The style property expected within the stagger class can either be a **transition-delay** or an
206
- - **animation-delay** property (or both if your animation contains both transitions and keyframe animations).
207
- -
208
- - ```css
209
-
210
- ```
211
-
212
- - .my-animation.ng-enter {
213
- - /\* standard transition code \*/
214
- - transition: 1s linear all;
215
- - opacity:0;
216
- - }
217
- - .my-animation.ng-enter-stagger {
218
- - /\* this will have a 100ms delay between each successive leave animation \*/
219
- - transition-delay: 0.1s;
220
- -
221
- - /\* As of 1.4.4, this must always be set: it signals ng.animate
222
- - to not accidentally inherit a delay property from another CSS class &#42;/
223
- - transition-duration: 0s;
224
- -
225
- - /\* if you are using animations instead of transitions you should configure as follows:
226
- - animation-delay: 0.1s;
227
- - animation-duration: 0s; &#42;/
228
- - }
229
- - .my-animation.ng-enter.ng-enter-active {
230
- - /\* standard transition styles \*/
231
- - opacity:1;
232
- - }
233
- - ```
234
-
235
- ```
236
-
237
- -
238
- - Staggering animations work by default in ngRepeat (so long as the CSS class is defined). Outside of ngRepeat, to use staggering animations
239
- - on your own, they can be triggered by firing multiple calls to the same event on $animate. However, the restrictions surrounding this
240
- - are that each of the elements must have the same CSS className value as well as the same parent element. A stagger operation
241
- - will also be reset if one or more animation frames have passed since the multiple calls to `$animate` were fired.
242
- -
243
- - The following code will issue the **ng-leave-stagger** event on the element provided:
244
- -
245
- - ```js
246
-
247
- ```
248
-
249
- - let kids = parent.children();
250
- -
251
- - $animate.leave(kids[0]); //stagger index=0
252
- - $animate.leave(kids[1]); //stagger index=1
253
- - $animate.leave(kids[2]); //stagger index=2
254
- - $animate.leave(kids[3]); //stagger index=3
255
- - $animate.leave(kids[4]); //stagger index=4
256
- -
257
- - window.requestAnimationFrame(function() {
258
- - //stagger has reset itself
259
- - $animate.leave(kids[5]); //stagger index=0
260
- - $animate.leave(kids[6]); //stagger index=1
261
- -
262
- - ;
263
- - });
264
- - ```
265
-
266
- ```
267
-
268
- -
269
- - Stagger animations are currently only supported within CSS-defined animations.
270
- -
271
- - ### The `ng-animate` CSS class
272
- -
273
- - When ng.animate is animating an element it will apply the `ng-animate` CSS class to the element for the duration of the animation.
274
- - This is a temporary CSS class and it will be removed once the animation is over (for both JavaScript and CSS-based animations).
275
- -
276
- - Therefore, animations can be applied to an element using this temporary class directly via CSS.
277
- -
278
- - ```css
279
-
280
- ```
281
-
282
- - .zipper.ng-animate {
283
- - transition:0.5s linear all;
284
- - }
285
- - .zipper.ng-enter {
286
- - opacity:0;
287
- - }
288
- - .zipper.ng-enter.ng-enter-active {
289
- - opacity:1;
290
- - }
291
- - .zipper.ng-leave {
292
- - opacity:1;
293
- - }
294
- - .zipper.ng-leave.ng-leave-active {
295
- - opacity:0;
296
- - }
297
- - ```
298
-
299
- ```
300
-
301
- -
302
- - (Note that the `ng-animate` CSS class is reserved and it cannot be applied on an element directly since ng.animate will always remove
303
- - the CSS class once an animation has completed.)
304
- -
305
- -
306
- - ### The `ng-[event]-prepare` class
307
- -
308
- - This is a special class that can be used to prevent unwanted flickering / flash of content before
309
- - the actual animation starts. The class is added as soon as an animation is initialized, but removed
310
- - before the actual animation starts (after waiting for a $digest).
311
- - It is also only added for _structural_ animations (`enter`, `move`, and `leave`).
312
- -
313
- - In practice, flickering can appear when nesting elements with structural animations such as `ngIf`
314
- - into elements that have class-based animations such as `ngClass`.
315
- -
316
- - ```html
317
-
318
- ```
319
-
320
- - <div ng-class="{red: myProp}">
321
- - <div ng-class="{blue: myProp}">
322
- - <div class="message" ng-if="myProp"></div>
323
- - </div>
324
- - </div>
325
- - ```
326
-
327
- ```
328
-
329
- -
330
- - It is possible that during the `enter` animation, the `.message` div will be briefly visible before it starts animating.
331
- - In that case, you can add styles to the CSS that make sure the element stays hidden before the animation starts:
332
- -
333
- - ```css
334
-
335
- ```
336
-
337
- - .message.ng-enter-prepare {
338
- - opacity: 0;
339
- - }
340
- - ```
341
-
342
- ```
343
-
344
- -
345
- - ### Animating between value changes
346
- -
347
- - Sometimes you need to animate between different expression states, whose values
348
- - don't necessary need to be known or referenced in CSS styles.
349
- - Unless possible with another {@link ng.animate#directive-support "animation aware" directive},
350
- - that specific use case can always be covered with {@link ng.animate.directive:ng.animateSwap} as
351
- - can be seen in {@link ng.animate.directive:ng.animateSwap#examples this example}.
352
- -
353
- - Note that {@link ng.animate.directive:ng.animateSwap} is a _structural directive_, which means it
354
- - creates a new instance of the element (including any other/child directives it may have) and
355
- - links it to a new scope every time _swap_ happens. In some cases this might not be desirable
356
- - (e.g. for performance reasons, or when you wish to retain internal state on the original
357
- - element instance).
358
- -
359
- - ## JavaScript-based Animations
360
- -
361
- - ng.animate also allows for animations to be consumed by JavaScript code. The approach is similar to CSS-based animations (where there is a shared
362
- - CSS class that is referenced in our HTML code) but in addition we need to register the JavaScript animation on the module. By making use of the
363
- - `module.animation()` module function we can register the animation.
364
- -
365
- - Let's see an example of a enter/leave animation using `ngRepeat`:
366
- -
367
- - ```html
368
-
369
- ```
370
-
371
- - <div ng-repeat="item in items" class="slide">
372
- - {{ item }}
373
- - </div>
374
- - ```
375
-
376
- ```
377
-
378
- -
379
- - See the **slide** CSS class? Let's use that class to define an animation that we'll structure in our module code by using `module.animation`:
380
- -
381
- - ```js
382
-
383
- ```
384
-
385
- - myModule.animation('.slide', [function() {
386
- - return {
387
- - // make note that other events (like addClass/removeClass)
388
- - // have different function input parameters
389
- - enter: function(element, doneFn) {
390
- - jQuery(element).fadeIn(1000, doneFn);
391
- -
392
- - // remember to call doneFn so that AngularTS
393
- - // knows that the animation has concluded
394
- - },
395
- -
396
- - move: function(element, doneFn) {
397
- - jQuery(element).fadeIn(1000, doneFn);
398
- - },
399
- -
400
- - leave: function(element, doneFn) {
401
- - jQuery(element).fadeOut(1000, doneFn);
402
- - }
403
- - }
404
- - }]);
405
- - ```
406
-
407
- ```
408
-
409
- -
410
- - The nice thing about JS-based animations is that we can inject other services and make use of advanced animation libraries such as
411
- - greensock.js and velocity.js.
412
- -
413
- - If our animation code class-based (meaning that something like `ngClass`, `ngHide` and `ngShow` triggers it) then we can still define
414
- - our animations inside of the same registered animation, however, the function input arguments are a bit different:
415
- -
416
- - ```html
417
-
418
- ```
419
-
420
- - <div ng-class="color" class="colorful">
421
- - this box is moody
422
- - </div>
423
- - <button ng-click="color='red'">Change to red</button>
424
- - <button ng-click="color='blue'">Change to blue</button>
425
- - <button ng-click="color='green'">Change to green</button>
426
- - ```
427
-
428
- ```
429
-
430
- -
431
- - ```js
432
-
433
- ```
434
-
435
- - myModule.animation('.colorful', [function() {
436
- - return {
437
- - addClass: function(element, className, doneFn) {
438
- - // do some cool animation and call the doneFn
439
- - },
440
- - removeClass: function(element, className, doneFn) {
441
- - // do some cool animation and call the doneFn
442
- - },
443
- - setClass: function(element, addedClass, removedClass, doneFn) {
444
- - // do some cool animation and call the doneFn
445
- - }
446
- - }
447
- - }]);
448
- - ```
449
-
450
- ```
451
-
452
- -
453
- - ## CSS + JS Animations Together
454
- -
455
- - AngularTS 1.4 and higher has taken steps to make the amalgamation of CSS and JS animations more flexible. However, unlike earlier versions of AngularTS,
456
- - defining CSS and JS animations to work off of the same CSS class will not work anymore. Therefore the example below will only result in \*\*JS animations taking
457
- - charge of the animation\*\*:
458
- -
459
- - ```html
460
-
461
- ```
462
-
463
- - <div ng-if="bool" class="slide">
464
- - Slide in and out
465
- - </div>
466
- - ```
467
-
468
- ```
469
-
470
- -
471
- - ```js
472
-
473
- ```
474
-
475
- - myModule.animation('.slide', [function() {
476
- - return {
477
- - enter: function(element, doneFn) {
478
- - jQuery(element).slideIn(1000, doneFn);
479
- - }
480
- - }
481
- - }]);
482
- - ```
483
-
484
- ```
485
-
486
- -
487
- - ```css
488
-
489
- ```
490
-
491
- - .slide.ng-enter {
492
- - transition:0.5s linear all;
493
- - transform:translateY(-100px);
494
- - }
495
- - .slide.ng-enter.ng-enter-active {
496
- - transform:translateY(0);
497
- - }
498
- - ```
499
-
500
- ```
501
-
502
- -
503
- - Does this mean that CSS and JS animations cannot be used together? Do JS-based animations always have higher priority? We can make up for the
504
- - lack of CSS animations by using the `$animateCss` service to trigger our own tweaked-out, CSS-based animations directly from
505
- - our own JS-based animation code:
506
- -
507
- - ```js
508
-
509
- ```
510
-
511
- - myModule.animation('.slide', ['$animateCss', function($animateCss) {
512
- - return {
513
- - enter: function(element) {
514
- - // this will trigger `.slide.ng-enter` and `.slide.ng-enter-active`.
515
- - return $animateCss(element, {
516
- - event: 'enter',
517
- - structural: true
518
- - });
519
- - }
520
- - }
521
- - }]);
522
- - ```
523
-
524
- ```
525
-
526
- -
527
- - The nice thing here is that we can save bandwidth by sticking to our CSS-based animation code and we don't need to rely on a 3rd-party animation framework.
528
- -
529
- - The `$animateCss` service is very powerful since we can feed in all kinds of extra properties that will be evaluated and fed into a CSS transition or
530
- - keyframe animation. For example if we wanted to animate the height of an element while adding and removing classes then we can do so by providing that
531
- - data into `$animateCss` directly:
532
- -
533
- - ```js
534
-
535
- ```
536
-
537
- - myModule.animation('.slide', ['$animateCss', function($animateCss) {
538
- - return {
539
- - enter: function(element) {
540
- - return $animateCss(element, {
541
- - event: 'enter',
542
- - structural: true,
543
- - addClass: 'maroon-setting',
544
- - from: { height:0 },
545
- - to: { height: 200 }
546
- - });
547
- - }
548
- - }
549
- - }]);
550
- - ```
551
-
552
- ```
553
-
554
- -
555
- - Now we can fill in the rest via our transition CSS code:
556
- -
557
- - ```css
558
-
559
- ```
560
-
561
- - /\* the transition tells ng.animate to make the animation happen \*/
562
- - .slide.ng-enter { transition:0.5s linear all; }
563
- -
564
- - /\* this extra CSS class will be absorbed into the transition
565
- - since the $animateCss code is adding the class \*/
566
- - .maroon-setting { background:red; }
567
- - ```
568
-
569
- ```
570
-
571
- -
572
- - And `$animateCss` will figure out the rest. Just make sure to have the `done()` callback fire the `doneFn` function to signal when the animation is over.
573
- -
574
- - To learn more about what's possible be sure to visit the {@link ng.animate.$animateCss $animateCss service}.
575
- -
576
- - ## Animation Anchoring (via `ng-animate-ref`)
577
- -
578
- - ng.animate in AngularTS 1.4 comes packed with the ability to cross-animate elements between
579
- - structural areas of an application (like views) by pairing up elements using an attribute
580
- - called `ng-animate-ref`.
581
- -
582
- - Let's say for example we have two views that are managed by `ng-view` and we want to show
583
- - that there is a relationship between two components situated in within these views. By using the
584
- - `ng-animate-ref` attribute we can identify that the two components are paired together and we
585
- - can then attach an animation, which is triggered when the view changes.
586
- -
587
- - Say for example we have the following template code:
588
- -
589
- - ```html
590
-
591
- ```
592
-
593
- - <!-- index.html -->
594
- - <div ng-view class="view-animation">
595
- - </div>
596
- -
597
- - <!-- home.html -->
598
- - <a href="#/banner-page">
599
- - <img src="./banner.jpg" class="banner" ng-animate-ref="banner">
600
- - </a>
601
- -
602
- - <!-- banner-page.html -->
603
- - <img src="./banner.jpg" class="banner" ng-animate-ref="banner">
604
- - ```
605
-
606
- ```
607
-
608
- -
609
- - Now, when the view changes (once the link is clicked), ng.animate will examine the
610
- - HTML contents to see if there is a match reference between any components in the view
611
- - that is leaving and the view that is entering. It will scan both the view which is being
612
- - removed (leave) and inserted (enter) to see if there are any paired DOM elements that
613
- - contain a matching ref value.
614
- -
615
- - The two images match since they share the same ref value. ng.animate will now create a
616
- - transport element (which is a clone of the first image element) and it will then attempt
617
- - to animate to the position of the second image element in the next view. For the animation to
618
- - work a special CSS class called `ng-anchor` will be added to the transported element.
619
- -
620
- - We can now attach a transition onto the `.banner.ng-anchor` CSS class and then
621
- - ng.animate will handle the entire transition for us as well as the addition and removal of
622
- - any changes of CSS classes between the elements:
623
- -
624
- - ```css
625
-
626
- ```
627
-
628
- - .banner.ng-anchor {
629
- - /\* this animation will last for 1 second since there are
630
- - two phases to the animation (an `in` and an `out` phase) &#42;/
631
- - transition:0.5s linear all;
632
- - }
633
- - ```
634
-
635
- ```
636
-
637
- -
638
- - We also **must** include animations for the views that are being entered and removed
639
- - (otherwise anchoring wouldn't be possible since the new view would be inserted right away).
640
- -
641
- - ```css
642
-
643
- ```
644
-
645
- - .view-animation.ng-enter, .view-animation.ng-leave {
646
- - transition:0.5s linear all;
647
- - position:fixed;
648
- - left:0;
649
- - top:0;
650
- - width:100%;
651
- - }
652
- - .view-animation.ng-enter {
653
- - transform:translateX(100%);
654
- - }
655
- - .view-animation.ng-leave,
656
- - .view-animation.ng-enter.ng-enter-active {
657
- - transform:translateX(0%);
658
- - }
659
- - .view-animation.ng-leave.ng-leave-active {
660
- - transform:translateX(-100%);
661
- - }
662
- - ```
663
-
664
- ```
665
-
666
- -
667
- - Now we can jump back to the anchor animation. When the animation happens, there are two stages that occur:
668
- - an `out` and an `in` stage. The `out` stage happens first and that is when the element is animated away
669
- - from its origin. Once that animation is over then the `in` stage occurs which animates the
670
- - element to its destination. The reason why there are two animations is to give enough time
671
- - for the enter animation on the new element to be ready.
672
- -
673
- - The example above sets up a transition for both the in and out phases, but we can also target the out or
674
- - in phases directly via `ng-anchor-out` and `ng-anchor-in`.
675
- -
676
- - ```css
677
-
678
- ```
679
-
680
- - .banner.ng-anchor-out {
681
- - transition: 0.5s linear all;
682
- -
683
- - /\* the scale will be applied during the out animation,
684
- - but will be animated away when the in animation runs &#42;/
685
- - transform: scale(1.2);
686
- - }
687
- -
688
- - .banner.ng-anchor-in {
689
- - transition: 1s linear all;
690
- - }
691
- - ```
692
-
693
- ```
694
-
695
- -
696
- -
697
- -
698
- -
699
- - ### Anchoring Demo
700
- - <example module="anchoringExample"
701
- name="anchoringExample"
702
- id="anchoringExample"
703
- deps="angular-animate.js;angular-route.js"
704
- animations="true">
705
- <file name="index.html">
706
- <a href="#!/">Home</a>
707
- <hr />
708
- <div class="view-container">
709
- <div ng-view class="view"></div>
710
- </div>
711
- </file>
712
- <file name="script.js">
713
- angular.module('anchoringExample', ['ng.animate', 'ngRoute'])
714
- .config(['$routeProvider', function($routeProvider) {
715
- $routeProvider.when('/', {
716
- templateUrl: 'home.html',
717
- controller: 'HomeController as home'
718
- });
719
- $routeProvider.when('/profile/:id', {
720
- templateUrl: 'profile.html',
721
- controller: 'ProfileController as profile'
722
- });
723
- }])
724
- .run(['$rootScope', function($rootScope) {
725
- $rootScope.records = [
726
- { id: 1, title: 'Miss Beulah Roob' },
727
- { id: 2, title: 'Trent Morissette' },
728
- { id: 3, title: 'Miss Ava Pouros' },
729
- { id: 4, title: 'Rod Pouros' },
730
- { id: 5, title: 'Abdul Rice' },
731
- { id: 6, title: 'Laurie Rutherford Sr.' },
732
- { id: 7, title: 'Nakia McLaughlin' },
733
- { id: 8, title: 'Jordon Blanda DVM' },
734
- { id: 9, title: 'Rhoda Hand' },
735
- { id: 10, title: 'Alexandrea Sauer' }
736
- ];
737
- }])
738
- .controller('HomeController', [function() {
739
- //empty
740
- }])
741
- .controller('ProfileController', ['$rootScope', '$routeParams',
742
- function ProfileController($rootScope, $routeParams) {
743
- let index = parseInt($routeParams.id, 10);
744
- let record = $rootScope.records[index - 1];
745
-
746
- this.title = record.title;
747
- this.id = record.id;
748
- }]);
749
-
750
- </file>
751
- <file name="home.html">
752
- <h2>Welcome to the home page</h1>
753
- <p>Please click on an element</p>
754
- <a class="record"
755
- ng-href="#!/profile/{{ record.id }}"
756
- ng-animate-ref="{{ record.id }}"
757
- ng-repeat="record in records">
758
- {{ record.title }}
759
- </a>
760
- </file>
761
- <file name="profile.html">
762
- <div class="profile record" ng-animate-ref="{{ profile.id }}">
763
- {{ profile.title }}
764
- </div>
765
- </file>
766
- <file name="animations.css">
767
- .record {
768
- display:block;
769
- font-size:20px;
770
- }
771
- .profile {
772
- background:black;
773
- color:white;
774
- font-size:100px;
775
- }
776
- .view-container {
777
- position:relative;
778
- }
779
- .view-container > .view.ng-animate {
780
- position:absolute;
781
- top:0;
782
- left:0;
783
- width:100%;
784
- min-height:500px;
785
- }
786
- .view.ng-enter, .view.ng-leave,
787
- .record.ng-anchor {
788
- transition:0.5s linear all;
789
- }
790
- .view.ng-enter {
791
- transform:translateX(100%);
792
- }
793
- .view.ng-enter.ng-enter-active, .view.ng-leave {
794
- transform:translateX(0%);
795
- }
796
- .view.ng-leave.ng-leave-active {
797
- transform:translateX(-100%);
798
- }
799
- .record.ng-anchor-out {
800
- background:red;
801
- }
802
- </file>
803
- </example>
804
-
805
- -
806
- - ### How is the element transported?
807
- -
808
- - When an anchor animation occurs, ng.animate will clone the starting element and position it exactly where the starting
809
- - element is located on screen via absolute positioning. The cloned element will be placed inside of the root element
810
- - of the application (where ng-app was defined) and all of the CSS classes of the starting element will be applied. The
811
- - element will then animate into the `out` and `in` animations and will eventually reach the coordinates and match
812
- - the dimensions of the destination element. During the entire animation a CSS class of `.ng-animate-shim` will be applied
813
- - to both the starting and destination elements in order to hide them from being visible (the CSS styling for the class
814
- - is: `visibility:hidden`). Once the anchor reaches its destination then it will be removed and the destination element
815
- - will become visible since the shim class will be removed.
816
- -
817
- - ### How is the morphing handled?
818
- -
819
- - CSS Anchoring relies on transitions and keyframes and the internal code is intelligent enough to figure out
820
- - what CSS classes differ between the starting element and the destination element. These different CSS classes
821
- - will be added/removed on the anchor element and a transition will be applied (the transition that is provided
822
- - in the anchor class). Long story short, ng.animate will figure out what classes to add and remove which will
823
- - make the transition of the element as smooth and automatic as possible. Be sure to use simple CSS classes that
824
- - do not rely on DOM nesting structure so that the anchor element appears the same as the starting element (since
825
- - the cloned element is placed inside of root element which is likely close to the body element).
826
- -
827
- - Note that if the root element is on the `<html>` element then the cloned node will be placed inside of body.
828
- -
829
- -
830
- - ## Using $animate in your directive code
831
- -
832
- - So far we've explored how to feed in animations into an AngularTS application, but how do we trigger animations within our own directives in our application?
833
- - By injecting the `$animate` service into our directive code, we can trigger structural and class-based hooks which can then be consumed by animations. Let's
834
- - imagine we have a greeting box that shows and hides itself when the data changes
835
- -
836
- - ```html
837
-
838
- ```
839
-
840
- - <greeting-box active="onOrOff">Hi there</greeting-box>
841
- - ```
842
-
843
- ```
844
-
845
- -
846
- - ```js
847
-
848
- ```
849
-
850
- - ngModule.directive('greetingBox', ['$animate', function($animate) {
851
- - return function(scope, element, attrs) {
852
- - attrs.$observe('active', function(value) {
853
- - value ? $animate.addClass(element, 'on') : $animate.removeClass(element, 'on');
854
- - });
855
- - });
856
- - }]);
857
- - ```
858
-
859
- ```
860
-
861
- -
862
- - Now the `on` CSS class is added and removed on the greeting box component. Now if we add a CSS class on top of the greeting box element
863
- - in our HTML code then we can trigger a CSS or JS animation to happen.
864
- -
865
- - ```css
866
-
867
- ```
868
-
869
- - /\* normally we would create a CSS class to reference on the element \*/
870
- - greeting-box.on { transition:0.5s linear all; background:green; color:white; }
871
- - ```
872
-
873
- ```
874
-
875
- -
876
- - The `$animate` service contains a variety of other methods like `enter`, `leave`, `animate` and `setClass`. To learn more about what's
877
- - possible be sure to visit the {@link ng.$animate $animate service API page}.
878
- -
879
- -
880
- - ## Callbacks and Promises
881
- -
882
- - When `$animate` is called it returns a promise that can be used to capture when the animation has ended. Therefore if we were to trigger
883
- - an animation (within our directive code) then we can continue performing directive and scope related activities after the animation has
884
- - ended by chaining onto the returned promise that animation method returns.
885
- -
886
- - ```js
887
-
888
- ```
889
-
890
- - // somewhere within the depths of the directive
891
- - $animate.enter(element, parent).then(function() {
892
- - //the animation has completed
893
- - });
894
- - ```
895
-
896
- ```
897
-
898
- -
899
- - (Note that earlier versions of AngularTS prior to v1.4 required the promise code to be wrapped using `$scope.$apply(...)`. This is not the case
900
- - anymore.)
901
- -
902
- - In addition to the animation promise, we can also make use of animation-related callbacks within our directives and controller code by registering
903
- - an event listener using the `$animate` service. Let's say for example that an animation was triggered on our view
904
- - routing controller to hook into that:
905
- -
906
- - ```js
907
-
908
- ```
909
-
910
- - ngModule.controller('HomePageController', ['$animate', function($animate) {
911
- - $animate.on('enter', ngViewElement, function(element) {
912
- - // the animation for this route has completed
913
- - }]);
914
- - }])
915
- - ```
916
-
917
- ```
918
-
919
- -
920
- - (Note that you will need to trigger a digest within the callback to get AngularTS to notice any scope-related changes.)
921
- \*/
922
-
923
- /\*\*
924
-
925
- - @ngdoc service
926
- - @name $animate
927
- - @kind object
928
- -
929
- - @description
930
- - The ng.animate `$animate` service documentation is the same for the core `$animate` service.
931
- -
932
- - Click here {@link ng.$animate to learn more about animations with `$animate`}.
933
- \*/