@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,669 +0,0 @@
1
- import {
2
- assertNotHasOwnProperty,
3
- shallowCopy,
4
- arrayRemove,
5
- isBoolean,
6
- snakeCase,
7
- extend,
8
- isUndefined,
9
- isObjectEmpty,
10
- isProxy,
11
- } from "../../shared/utils.js";
12
- import {
13
- PRISTINE_CLASS,
14
- DIRTY_CLASS,
15
- VALID_CLASS,
16
- INVALID_CLASS,
17
- } from "../../shared/constants.js";
18
-
19
- /**
20
- * @type {{
21
- * $nonscope: boolean,
22
- * $addControl: Function,
23
- * $getControls: () => any[],
24
- * $$renameControl: Function,
25
- * $removeControl: Function,
26
- * $setValidity: Function | ((key: any, isValid: boolean, control: any) => any),
27
- * $setDirty: Function,
28
- * $setPristine: Function,
29
- * $setSubmitted: Function,
30
- * $$setSubmitted: Function
31
- * }}
32
- */
33
- export const nullFormCtrl = {
34
- $nonscope: true,
35
- $addControl: () => {},
36
- $getControls: () => [],
37
- $$renameControl: (control, name) => {
38
- control.$name = name;
39
- },
40
- $removeControl: () => {},
41
- $setValidity: () => {},
42
- $setDirty: () => {},
43
- $setPristine: () => {},
44
- $setSubmitted: () => {},
45
- $$setSubmitted: () => {},
46
- };
47
-
48
- export const PENDING_CLASS = "ng-pending";
49
- const SUBMITTED_CLASS = "ng-submitted";
50
-
51
- /**
52
- * @property {boolean} $dirty True if user has already interacted with the form.
53
- * @property {boolean} $valid True if all of the containing forms and controls are valid.
54
- * @property {boolean} $invalid True if at least one containing control or form is invalid.
55
- * @property {boolean} $submitted True if user has submitted the form even if its invalid.
56
- *
57
- * @property {Object} $pending An object hash, containing references to controls or forms with
58
- * pending validators, where:
59
- *
60
- * - keys are validations tokens (error names).
61
- * - values are arrays of controls or forms that have a pending validator for the given error name.
62
- *
63
- * See {@link form.FormController#$error $error} for a list of built-in validation tokens.
64
- *
65
- * @property {Object} $error An object hash, containing references to controls or forms with failing
66
- * validators, where:
67
- *
68
- * - keys are validation tokens (error names),
69
- * - values are arrays of controls or forms that have a failing validator for the given error name.
70
- *
71
- * Built-in validation tokens:
72
- * - `email`
73
- * - `max`
74
- * - `maxlength`
75
- * - `min`
76
- * - `minlength`
77
- * - `number`
78
- * - `pattern`
79
- * - `required`
80
- * - `url`
81
- * - `date`
82
- * - `datetimelocal`
83
- * - `time`
84
- * - `week`
85
- * - `month`
86
- *
87
- * @description
88
- * `FormController` keeps track of all its controls and nested forms as well as the state of them,
89
- * such as being valid/invalid or dirty/pristine.
90
- *
91
- * Each {@link ng.directive:form form} directive creates an instance
92
- * of `FormController`.
93
- *
94
- */
95
- // asks for $scope to fool the BC controller module
96
-
97
- export class FormController {
98
- static $nonscope = true;
99
- /* @ignore */ static $inject = [
100
- "$element",
101
- "$attrs",
102
- "$scope",
103
- "$animate",
104
- "$interpolate",
105
- ];
106
-
107
- /**
108
- * @param {Element} $element
109
- * @param {import("../../core/compile/attributes.js").Attributes} $attrs
110
- * @param {import("../../core/scope/scope.js").Scope} $scope
111
- * @param {*} $animate
112
- * @param {*} $interpolate
113
- */
114
- constructor($element, $attrs, $scope, $animate, $interpolate) {
115
- this.$$controls = [];
116
-
117
- this.$name = $interpolate($attrs["name"] || $attrs["ngForm"] || "")($scope);
118
-
119
- /**
120
- * @property {boolean} $dirty True if user has already interacted with the form.
121
- */
122
- this.$dirty = false;
123
-
124
- /**
125
- * @propertys {boolean} $pristine - True if user has not interacted with the form yet.s
126
- */
127
- this.$pristine = true;
128
- this.$valid = true;
129
- this.$invalid = false;
130
- this.$submitted = false;
131
- /** @type {FormController|Object} */
132
- this.$$parentForm = nullFormCtrl;
133
-
134
- this.$$element = $element;
135
- this.$$animate = $animate;
136
- this.$error = {};
137
- this.$$success = {};
138
- this.$pending = undefined;
139
- this.$$classCache = {};
140
- const isValid = this.$$element.classList.contains(VALID_CLASS);
141
- this.$$classCache[VALID_CLASS] = isValid;
142
- this.$$classCache[INVALID_CLASS] = !isValid;
143
- }
144
-
145
- /**
146
- * Rollback all form controls pending updates to the `$modelValue`.
147
- *
148
- * Updates may be pending by a debounced event or because the input is waiting for a some future
149
- * event defined in `ng-model-options`. This method is typically needed by the reset button of
150
- * a form that uses `ng-model-options` to pend updates.
151
- */
152
- $rollbackViewValue() {
153
- this.$$controls.forEach((control) => {
154
- control.$rollbackViewValue();
155
- });
156
- }
157
-
158
- /**
159
- * Commit all form controls pending updates to the `$modelValue`.
160
- *
161
- * Updates may be pending by a debounced event or because the input is waiting for a some future
162
- * event defined in `ng-model-options`. This method is rarely needed as `NgModelController`
163
- * usually handles calling this in response to input events.
164
- */
165
- $commitViewValue() {
166
- this.$$controls.forEach((control) => {
167
- control.$commitViewValue();
168
- });
169
- }
170
-
171
- /**
172
- * Register a control with the form. Input elements using ngModelController do this automatically
173
- * when they are linked.
174
- *
175
- * Note that the current state of the control will not be reflected on the new parent form. This
176
- * is not an issue with normal use, as freshly compiled and linked controls are in a `$pristine`
177
- * state.
178
- *
179
- * However, if the method is used programmatically, for example by adding dynamically created controls,
180
- * or controls that have been previously removed without destroying their corresponding DOM element,
181
- * it's the developers responsibility to make sure the current state propagates to the parent form.
182
- *
183
- * For example, if an input control is added that is already `$dirty` and has `$error` properties,
184
- * calling `$setDirty()` and `$validate()` afterwards will propagate the state to the parent form.
185
- */
186
- $addControl(control) {
187
- // Breaking change - before, inputs whose name was "hasOwnProperty" were quietly ignored
188
- // and not added to the scope. Now we throw an error.
189
- assertNotHasOwnProperty(control.$name, "input");
190
- this.$$controls.push(control);
191
-
192
- if (control.$name) {
193
- this[control.$name] = control;
194
- }
195
- control.$target.$$parentForm = this;
196
- }
197
-
198
- /**
199
- * This method returns a **shallow copy** of the controls that are currently part of this form.
200
- * The controls can be instances of {@link form.FormController `FormController`}
201
- * ({@link ngForm "child-forms"}) and of {@link ngModel.NgModelController `NgModelController`}.
202
- * If you need access to the controls of child-forms, you have to call `$getControls()`
203
- * recursively on them.
204
- * This can be used for example to iterate over all controls to validate them.
205
- *
206
- * The controls can be accessed normally, but adding to, or removing controls from the array has
207
- * no effect on the form. Instead, use {@link form.FormController#$addControl `$addControl()`} and
208
- * {@link form.FormController#$removeControl `$removeControl()`} for this use-case.
209
- * Likewise, adding a control to, or removing a control from the form is not reflected
210
- * in the shallow copy. That means you should get a fresh copy from `$getControls()` every time
211
- * you need access to the controls.
212
- */
213
- $getControls() {
214
- return shallowCopy(this.$$controls);
215
- }
216
-
217
- // Private API: rename a form control
218
- $$renameControl(control, newName) {
219
- const oldName = control.$name;
220
-
221
- if (this[oldName] === control) {
222
- delete this[oldName];
223
- }
224
- this[newName] = control;
225
- control.$name = newName;
226
- }
227
-
228
- /**
229
- * Deregister a control from the form.
230
- *
231
- * Input elements using ngModelController do this automatically when they are destroyed.
232
- *
233
- * Note that only the removed control's validation state (`$errors`etc.) will be removed from the
234
- * form. `$dirty`, `$submitted` states will not be changed, because the expected behavior can be
235
- * different from case to case. For example, removing the only `$dirty` control from a form may or
236
- * may not mean that the form is still `$dirty`.
237
- */
238
- $removeControl(control) {
239
- if (control.$name && this[control.$name] === control) {
240
- delete this[control.$name];
241
- }
242
- this.$pending &&
243
- Object.keys(this.$pending).forEach((name) => {
244
- this.$setValidity(name, null, control);
245
- });
246
- this.$error &&
247
- Object.keys(this.$error).forEach((name) => {
248
- this.$setValidity(name, null, control);
249
- });
250
- this.$$success &&
251
- Object.keys(this.$$success).forEach((name) => {
252
- this.$setValidity(name, null, control);
253
- });
254
-
255
- arrayRemove(this.$$controls, control);
256
-
257
- control.$target["$$parentForm"] = nullFormCtrl;
258
- }
259
-
260
- /**
261
- * Sets the form to a dirty state.
262
- *
263
- * This method can be called to add the 'ng-dirty' class and set the form to a dirty
264
- * state (ng-dirty class). This method will also propagate to parent forms.
265
- */
266
- $setDirty() {
267
- this.$$animate.removeClass(this.$$element, PRISTINE_CLASS);
268
- this.$$animate.addClass(this.$$element, DIRTY_CLASS);
269
- this.$dirty = true;
270
- this.$pristine = false;
271
- this.$$parentForm.$setDirty();
272
- }
273
-
274
- /**
275
- * Sets the form to its pristine state.
276
- *
277
- * This method sets the form's `$pristine` state to true, the `$dirty` state to false, removes
278
- * the `ng-dirty` class and adds the `ng-pristine` class. Additionally, it sets the `$submitted`
279
- * state to false.
280
- *
281
- * This method will also propagate to all the controls contained in this form.
282
- *
283
- * Setting a form back to a pristine state is often useful when we want to 'reuse' a form after
284
- * saving or resetting it.
285
- */
286
- $setPristine() {
287
- this.$$animate.setClass(
288
- this.$$element,
289
- PRISTINE_CLASS,
290
- `${DIRTY_CLASS} ${SUBMITTED_CLASS}`,
291
- );
292
- this.$dirty = false;
293
- this.$pristine = true;
294
- this.$submitted = false;
295
- this.$$controls.forEach((control) => {
296
- control.$setPristine();
297
- });
298
- }
299
-
300
- /**
301
- * Sets the form to its untouched state.
302
- *
303
- * This method can be called to remove the 'ng-touched' class and set the form controls to their
304
- * untouched state (ng-untouched class).
305
- *
306
- * Setting a form controls back to their untouched state is often useful when setting the form
307
- * back to its pristine state.
308
- */
309
- $setUntouched() {
310
- this.$$controls.forEach((control) => {
311
- control.$setUntouched();
312
- });
313
- }
314
-
315
- /**
316
- * Sets the form to its `$submitted` state. This will also set `$submitted` on all child and
317
- * parent forms of the form.
318
- */
319
- $setSubmitted() {
320
- /** @type {FormController} */
321
- let rootForm = this;
322
- while (rootForm.$$parentForm && rootForm.$$parentForm !== nullFormCtrl) {
323
- rootForm = rootForm.$$parentForm;
324
- }
325
- rootForm.$$setSubmitted();
326
- }
327
-
328
- $$setSubmitted() {
329
- this.$$animate.addClass(this.$$element, SUBMITTED_CLASS);
330
- this.$submitted = true;
331
- this.$$controls.forEach((control) => {
332
- if (control.$$setSubmitted) {
333
- control.$$setSubmitted();
334
- }
335
- });
336
- }
337
-
338
- set(object, property, controller) {
339
- const list = object[property];
340
- if (!list) {
341
- if (isProxy(object)) {
342
- object = object.$target;
343
- }
344
- object[property] = [controller];
345
- } else {
346
- const index = list.indexOf(controller);
347
- if (index === -1) {
348
- list.push(controller);
349
- }
350
- }
351
- }
352
-
353
- unset(object, property, controller) {
354
- const list = object[property];
355
- if (!list) {
356
- return;
357
- }
358
- const index = arrayRemove(list, controller);
359
- if (index === -1) {
360
- arrayRemove(list, controller.$target);
361
- }
362
- if (list.length === 0) {
363
- delete object[property];
364
- }
365
- }
366
-
367
- /**
368
- * Change the validity state of the form, and notify the parent form (if any).
369
- *
370
- * Application developers will rarely need to call this method directly. It is used internally, by
371
- * {@link ngModel.NgModelController#$setValidity NgModelController.$setValidity()}, to propagate a
372
- * control's validity state to the parent `FormController`.
373
- *
374
- * @param {string} validationErrorKey Name of the validator. The `validationErrorKey` will be
375
- * assigned to either `$error[validationErrorKey]` or `$pending[validationErrorKey]` (for
376
- * unfulfilled `$asyncValidators`), so that it is available for data-binding. The
377
- * `validationErrorKey` should be in camelCase and will get converted into dash-case for
378
- * class name. Example: `myError` will result in `ng-valid-my-error` and
379
- * `ng-invalid-my-error` classes and can be bound to as `{{ someForm.$error.myError }}`.
380
- * @param {boolean} state Whether the current state is valid (true), invalid (false), pending
381
- * (undefined), or skipped (null). Pending is used for unfulfilled `$asyncValidators`.
382
- * Skipped is used by AngularTS when validators do not run because of parse errors and when
383
- * `$asyncValidators` do not run because any of the `$validators` failed.
384
- * @param {import("../model/model.js").NgModelController | FormController} controller - The controller whose validity state is
385
- * triggering the change.
386
- */
387
- $setValidity(validationErrorKey, state, controller) {
388
- let that = this;
389
- if (isUndefined(state)) {
390
- createAndSet(this, "$pending", validationErrorKey, controller);
391
- } else {
392
- unsetAndCleanup(this, "$pending", validationErrorKey, controller);
393
- }
394
- if (!isBoolean(state)) {
395
- this.unset(this.$error, validationErrorKey, controller);
396
- this.unset(this.$$success, validationErrorKey, controller);
397
- } else if (state) {
398
- this.unset(this.$error, validationErrorKey, controller);
399
- this.set(this.$$success, validationErrorKey, controller);
400
- } else {
401
- this.set(this.$error, validationErrorKey, controller);
402
- this.unset(this.$$success, validationErrorKey, controller);
403
- }
404
- if (this.$pending) {
405
- cachedToggleClass(this, PENDING_CLASS, true);
406
- this.$valid = this.$invalid = undefined;
407
- toggleValidationCss(this, "", null);
408
- } else {
409
- cachedToggleClass(this, PENDING_CLASS, false);
410
- this.$valid = isObjectEmpty(this.$error);
411
- this.$invalid = !this.$valid;
412
- toggleValidationCss(this, "", this.$valid);
413
- }
414
-
415
- // re-read the state as the set/unset methods could have
416
- // combined state in this.$error[validationError] (used for forms),
417
- // where setting/unsetting only increments/decrements the value,
418
- // and does not replace it.
419
- let combinedState;
420
- if (this.$pending && this.$pending[validationErrorKey]) {
421
- combinedState = undefined;
422
- } else if (this.$error[validationErrorKey]) {
423
- combinedState = false;
424
- } else if (this.$$success[validationErrorKey]) {
425
- combinedState = true;
426
- } else {
427
- combinedState = null;
428
- }
429
-
430
- toggleValidationCss(this, validationErrorKey, combinedState);
431
- this.$$parentForm.$setValidity(validationErrorKey, combinedState, this);
432
- function createAndSet(ctrl, name, value, controller) {
433
- if (!ctrl[name]) {
434
- ctrl[name] = {};
435
- }
436
- that.set(ctrl[name], value, controller);
437
- }
438
-
439
- function unsetAndCleanup(ctrl, name, value, controller) {
440
- if (ctrl[name]) {
441
- that.unset(ctrl[name], value, controller);
442
- }
443
- if (isObjectEmpty(ctrl[name])) {
444
- ctrl[name] = undefined;
445
- }
446
- }
447
-
448
- function cachedToggleClass(ctrl, className, switchValue) {
449
- if (switchValue && !ctrl.$$classCache[className]) {
450
- ctrl.$$animate.addClass(ctrl.$$element, className);
451
- ctrl.$$classCache[className] = true;
452
- } else if (!switchValue && ctrl.$$classCache[className]) {
453
- ctrl.$$animate.removeClass(ctrl.$$element, className);
454
- ctrl.$$classCache[className] = false;
455
- }
456
- }
457
-
458
- function toggleValidationCss(ctrl, validationErrorKey, isValid) {
459
- validationErrorKey = validationErrorKey
460
- ? `-${snakeCase(validationErrorKey, "-")}`
461
- : "";
462
-
463
- cachedToggleClass(
464
- ctrl,
465
- VALID_CLASS + validationErrorKey,
466
- isValid === true,
467
- );
468
- cachedToggleClass(
469
- ctrl,
470
- INVALID_CLASS + validationErrorKey,
471
- isValid === false,
472
- );
473
- }
474
- }
475
- }
476
-
477
- /**
478
- * Helper directive that makes it possible to create control groups inside a
479
- * {@link ng.directive:form `form`} directive.
480
- * These "child forms" can be used, for example, to determine the validity of a sub-group of
481
- * controls.
482
- *
483
- * <div class="alert alert-danger">
484
- * **Note**: `ngForm` cannot be used as a replacement for `<form>`, because it lacks its
485
- * [built-in HTML functionality](https://html.spec.whatwg.org/#the-form-element).
486
- * Specifically, you cannot submit `ngForm` like a `<form>` tag. That means,
487
- * you cannot send data to the server with `ngForm`, or integrate it with
488
- * {@link ng.directive:ngSubmit `ngSubmit`}.
489
- * </div>
490
- *
491
- * @param {string=} ngForm|name Name of the form. If specified, the form controller will
492
- * be published into the related scope, under this name.
493
- *
494
- */
495
-
496
- /**
497
- * Directive that instantiates
498
- * {@link form.FormController FormController}.
499
- *
500
- * If the `name` attribute is specified, the form controller is published onto the current scope under
501
- * this name.
502
- *
503
- * ## Alias: {@link ng.directive:ngForm `ngForm`}
504
- *
505
- * In AngularTS, forms can be nested. This means that the outer form is valid when all of the child
506
- * forms are valid as well. However, browsers do not allow nesting of `<form>` elements, so
507
- * AngularTS provides the {@link ng.directive:ngForm `ngForm`} directive, which behaves identically to
508
- * `form` but can be nested. Nested forms can be useful, for example, if the validity of a sub-group
509
- * of controls needs to be determined.
510
- *
511
- * ## CSS classes
512
- * - `ng-valid` is set if the form is valid.
513
- * - `ng-invalid` is set if the form is invalid.
514
- * - `ng-pending` is set if the form is pending.
515
- * - `ng-pristine` is set if the form is pristine.
516
- * - `ng-dirty` is set if the form is dirty.
517
- * - `ng-submitted` is set if the form was submitted.
518
- *
519
- * Keep in mind that ngAnimate can detect each of these classes when added and removed.
520
- *
521
- *
522
- * ## Submitting a form and preventing the default action
523
- *
524
- * Since the role of forms in client-side AngularTS applications is different than in classical
525
- * roundtrip apps, it is desirable for the browser not to translate the form submission into a full
526
- * page reload that sends the data to the server. Instead some javascript logic should be triggered
527
- * to handle the form submission in an application-specific way.
528
- *
529
- * For this reason, AngularTS prevents the default action (form submission to the server) unless the
530
- * `<form>` element has an `action` attribute specified.
531
- *
532
- * You can use one of the following two ways to specify what javascript method should be called when
533
- * a form is submitted:
534
- *
535
- * - {@link ng.directive:ngSubmit ngSubmit} directive on the form element
536
- * - {@link ng.directive:ngClick ngClick} directive on the first
537
- * button or input field of type submit (input[type=submit])
538
- *
539
- * To prevent double execution of the handler, use only one of the {@link ng.directive:ngSubmit ngSubmit}
540
- * or {@link ng.directive:ngClick ngClick} directives.
541
- * This is because of the following form submission rules in the HTML specification:
542
- *
543
- * - If a form has only one input field then hitting enter in this field triggers form submit
544
- * (`ngSubmit`)
545
- * - if a form has 2+ input fields and no buttons or input[type=submit] then hitting enter
546
- * doesn't trigger submit
547
- * - if a form has one or more input fields and one or more buttons or input[type=submit] then
548
- * hitting enter in any of the input fields will trigger the click handler on the *first* button or
549
- * input[type=submit] (`ngClick`) *and* a submit handler on the enclosing form (`ngSubmit`)
550
- *
551
- * Any pending `ngModelOptions` changes will take place immediately when an enclosing form is
552
- * submitted. Note that `ngClick` events will occur before the model is updated. Use `ngSubmit`
553
- * to have access to the updated model.
554
- *
555
- * @animations
556
- * Animations in ngForm are triggered when any of the associated CSS classes are added and removed.
557
- * These classes are: `.ng-pristine`, `.ng-dirty`, `.ng-invalid` and `.ng-valid` as well as any
558
- * other validations that are performed within the form. Animations in ngForm are similar to how
559
- * they work in ngClass and animations can be hooked into using CSS transitions, keyframes as well
560
- * as JS animations.
561
- *
562
- * @param {string=} isNgForm Name of the form. If specified, the form controller will be published into
563
- * related scope, under this name.
564
- */
565
- const formDirectiveFactory = function (isNgForm) {
566
- return [
567
- "$parse",
568
- function ($parse) {
569
- return {
570
- name: "form",
571
- restrict: isNgForm ? "EA" : "E",
572
- require: ["form", "^^?form"], // first is the form's own ctrl, second is an optional parent form
573
- controller: FormController,
574
- compile: function ngFormCompile(formElement, attr) {
575
- // Setup initial state of the control
576
- formElement.classList.add(PRISTINE_CLASS, VALID_CLASS);
577
-
578
- const nameAttr = attr.name
579
- ? "name"
580
- : isNgForm && attr.ngForm
581
- ? "ngForm"
582
- : false;
583
-
584
- return {
585
- pre: function ngFormPreLink(scope, formElement, attr, ctrls) {
586
- const controller = ctrls[0];
587
-
588
- // if `action` attr is not present on the form, prevent the default action (submission)
589
- if (!("action" in attr)) {
590
- // we can't use jq events because if a form is destroyed during submission the default
591
- // action is not prevented. see #1238
592
- //
593
- // IE 9 is not affected because it doesn't fire a submit event and try to do a full
594
- // page reload if the form was destroyed by submission of the form via a click handler
595
- // on a button in the form. Looks like an IE9 specific bug.
596
- const handleFormSubmission = function (event) {
597
- controller.$commitViewValue();
598
- controller.$setSubmitted();
599
- event.preventDefault();
600
- };
601
-
602
- formElement.addEventListener("submit", handleFormSubmission);
603
-
604
- // unregister the preventDefault listener so that we don't not leak memory but in a
605
- // way that will achieve the prevention of the default action.
606
- formElement.addEventListener("$destroy", () => {
607
- setTimeout(
608
- () => {
609
- formElement.removeEventListener(
610
- "submit",
611
- handleFormSubmission,
612
- );
613
- },
614
- 0,
615
- false,
616
- );
617
- });
618
- }
619
-
620
- const parentFormCtrl = ctrls[1] || controller.$$parentForm;
621
- parentFormCtrl.$addControl(controller);
622
-
623
- let setter = nameAttr ? getSetter(controller.$name) : () => {};
624
-
625
- if (nameAttr) {
626
- setter(scope, controller);
627
- attr.$observe(nameAttr, (newValue) => {
628
- if (controller.$name === newValue) return;
629
- scope.$target[controller.$name] = undefined;
630
- controller.$$parentForm.$$renameControl(controller, newValue);
631
- if (
632
- scope.$target !== controller.$$parentForm &&
633
- controller.$$parentForm !== nullFormCtrl
634
- ) {
635
- // form moved
636
- } else {
637
- scope.$target[newValue] = controller;
638
- }
639
- });
640
- }
641
- formElement.addEventListener("$destroy", () => {
642
- controller.$target.$$parentForm.$removeControl(controller);
643
- setter(scope, undefined);
644
- extend(controller, nullFormCtrl); // stop propagating child destruction handlers upwards
645
- });
646
- },
647
- };
648
- },
649
- };
650
- function getSetter(expression) {
651
- if (expression === "") {
652
- // create an assignable expression, so forms with an empty name can be renamed later
653
- return $parse('this[""]').assign;
654
- }
655
- return $parse(expression).assign || (() => {});
656
- }
657
- },
658
- ];
659
- };
660
-
661
- export const formDirective = formDirectiveFactory();
662
- export const ngFormDirective = formDirectiveFactory("ngForm");
663
-
664
- // helper methods
665
- export function setupValidity(instance) {
666
- instance.$$classCache = {};
667
- instance.$$classCache[INVALID_CLASS] = !(instance.$$classCache[VALID_CLASS] =
668
- instance.$$element.classList.contains(VALID_CLASS));
669
- }