@angular-wave/angular.ts 0.7.8 → 0.8.0

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 (285) hide show
  1. package/@types/core/parse/parse.d.ts +6 -7
  2. package/@types/directive/bind/bind.d.ts +2 -1
  3. package/@types/index.d.ts +1 -1
  4. package/@types/interface.d.ts +3 -1
  5. package/@types/{public.d.ts → ng.d.ts} +2 -2
  6. package/@types/router/globals.d.ts +1 -1
  7. package/@types/router/path/path-utils.d.ts +8 -11
  8. package/@types/router/state/interface.d.ts +1 -1
  9. package/@types/router/state/state-object.d.ts +1 -1
  10. package/@types/router/state/state-service.d.ts +8 -7
  11. package/@types/router/state-filters.d.ts +24 -2
  12. package/@types/router/transition/transition.d.ts +12 -15
  13. package/@types/router/url/url-matcher.d.ts +3 -3
  14. package/@types/router/url/url-rule.d.ts +1 -0
  15. package/@types/router/url/url-rules.d.ts +26 -6
  16. package/@types/router/url/url-service.d.ts +28 -38
  17. package/@types/services/http/http.d.ts +48 -1
  18. package/@types/services/http-backend/http-backend.d.ts +48 -35
  19. package/@types/services/location/interface.d.ts +55 -0
  20. package/@types/services/location/location.d.ts +225 -252
  21. package/@types/shared/common.d.ts +0 -2
  22. package/@types/shared/interface.d.ts +0 -4
  23. package/@types/{router/common → shared}/queue.d.ts +2 -2
  24. package/@types/shared/url-utils/interface.d.ts +0 -1
  25. package/@types/shared/url-utils/url-utils.d.ts +0 -5
  26. package/@types/shared/utils.d.ts +29 -6
  27. package/Makefile +6 -3
  28. package/dist/angular-ts.esm.js +960 -1062
  29. package/dist/angular-ts.umd.js +960 -1062
  30. package/dist/angular-ts.umd.min.js +1 -1
  31. package/docs/assets/scss/index.scss +23 -0
  32. package/docs/content/_index.md +9 -8
  33. package/docs/content/docs/_index.md +1 -1
  34. package/docs/content/docs/directive/app.md +1 -1
  35. package/docs/content/docs/directive/bind.md +1 -1
  36. package/docs/content/docs/directive/blur.md +1 -1
  37. package/docs/content/docs/directive/channel.md +2 -2
  38. package/docs/content/docs/directive/class-even.md +1 -1
  39. package/docs/content/docs/directive/class-odd.md +1 -1
  40. package/docs/content/docs/directive/class.md +1 -1
  41. package/docs/content/docs/directive/click.md +1 -1
  42. package/docs/content/docs/directive/copy.md +1 -1
  43. package/docs/content/docs/directive/cut.md +1 -1
  44. package/docs/content/docs/directive/dblclick.md +1 -1
  45. package/docs/content/docs/directive/focus.md +1 -1
  46. package/docs/content/docs/directive/get.md +3 -3
  47. package/docs/content/docs/directive/keydown.md +1 -1
  48. package/docs/content/docs/directive/keyup.md +1 -1
  49. package/docs/content/docs/directive/load.md +1 -1
  50. package/docs/content/docs/directive/mousedown.md +1 -1
  51. package/docs/content/docs/directive/mouseenter.md +1 -1
  52. package/docs/content/docs/directive/mouseleave.md +1 -1
  53. package/docs/content/docs/directive/mousemove.md +1 -1
  54. package/docs/content/docs/directive/mouseout.md +1 -1
  55. package/docs/content/docs/directive/mouseover.md +1 -1
  56. package/docs/content/docs/directive/mouseup.md +1 -1
  57. package/docs/content/docs/directive/non-bindable.md +28 -0
  58. package/docs/content/docs/provider/locationProvider.md +26 -0
  59. package/docs/content/docs/provider/templateCacheProvider.md +2 -2
  60. package/docs/content/docs/service/location.md +57 -0
  61. package/docs/content/docs/service/url.md +5 -0
  62. package/docs/layouts/partials/hooks/head-end.html +1 -1
  63. package/docs/layouts/shortcodes/version.html +1 -0
  64. package/docs/static/examples/counter/counter-test.html +0 -4
  65. package/docs/static/examples/eventbus/eventbus-test.html +0 -4
  66. package/docs/static/examples/ng-non-bindable/ng-non-bindable-test.html +13 -0
  67. package/docs/static/examples/ng-non-bindable/ng-non-bindable.html +3 -0
  68. package/docs/static/examples/ng-non-bindable/ng-non-bindable.test.js +11 -0
  69. package/docs/static/typedoc/assets/highlight.css +6 -6
  70. package/docs/static/typedoc/assets/navigation.js +1 -1
  71. package/docs/static/typedoc/assets/search.js +1 -1
  72. package/docs/static/typedoc/classes/Location.html +55 -0
  73. package/docs/static/typedoc/classes/LocationProvider.html +20 -0
  74. package/docs/static/typedoc/index.html +1 -1
  75. package/docs/static/typedoc/interfaces/DefaultPorts.html +5 -0
  76. package/docs/static/typedoc/interfaces/Html5Mode.html +23 -0
  77. package/docs/static/typedoc/interfaces/Provider.html +2 -1
  78. package/docs/static/typedoc/interfaces/UrlParts.html +9 -0
  79. package/docs/static/typedoc/types/AnnotatedFactory.html +1 -1
  80. package/docs/static/typedoc/types/Expression.html +1 -1
  81. package/docs/static/typedoc/types/UrlChangeListener.html +5 -0
  82. package/docs/static/version.js +13 -0
  83. package/docs/test-results/.last-run.json +4 -0
  84. package/docs/test-results/static-examples-counter-counter-counter-example/error-context.md +50 -0
  85. package/package.json +1 -1
  86. package/src/{loader.js → angular.js} +1 -1
  87. package/src/angular.spec.js +189 -21
  88. package/src/animations/animate-css.js +17 -18
  89. package/src/animations/animate.spec.js +1 -1
  90. package/src/animations/shared.js +2 -3
  91. package/src/binding.spec.js +1 -1
  92. package/src/core/compile/compile.js +4 -7
  93. package/src/core/compile/compile.spec.js +1 -1
  94. package/src/core/controller/controller.spec.js +1 -1
  95. package/src/core/controller/controller.test.js +1 -0
  96. package/src/core/di/injector.js +7 -8
  97. package/src/core/di/injector.spec.js +2 -2
  98. package/src/core/di/injector.test.js +2 -2
  99. package/src/core/di/internal-injector.js +3 -6
  100. package/src/core/filter/filter.js +1 -1
  101. package/src/core/filter/filter.spec.js +1 -1
  102. package/src/core/filter/filter.test.js +1 -0
  103. package/src/core/interpolate/interpolate.js +4 -6
  104. package/src/core/interpolate/interpolate.spec.js +1 -1
  105. package/src/core/interpolate/interpolate.test.js +1 -0
  106. package/src/core/parse/ast/ast.spec.js +1 -1
  107. package/src/core/parse/ast/ast.test.js +1 -1
  108. package/src/core/parse/lexer/lexer.spec.js +1 -1
  109. package/src/core/parse/parse.js +150 -146
  110. package/src/core/parse/parse.spec.js +17 -16
  111. package/src/core/prop.spec.js +1 -1
  112. package/src/core/root-element.spec.js +1 -1
  113. package/src/core/scope/scope.js +10 -11
  114. package/src/core/scope/scope.spec.js +3 -4
  115. package/src/directive/aria/aria.spec.js +1 -1
  116. package/src/directive/aria/aria.test.js +1 -0
  117. package/src/directive/attrs/attrs.spec.js +1 -1
  118. package/src/directive/attrs/attrs.test.js +1 -0
  119. package/src/directive/attrs/boolean.spec.js +1 -1
  120. package/src/directive/attrs/boolean.test.js +1 -0
  121. package/src/directive/attrs/element-style.spec.js +1 -1
  122. package/src/directive/attrs/element-style.test.js +1 -0
  123. package/src/directive/attrs/src.spec.js +1 -1
  124. package/src/directive/attrs/src.test.js +1 -0
  125. package/src/directive/bind/bind-html.spec.js +1 -1
  126. package/src/directive/bind/bind.js +1 -0
  127. package/src/directive/bind/bind.spec.js +1 -1
  128. package/src/directive/bind/bind.test.js +1 -0
  129. package/src/directive/channel/channel.spec.js +1 -1
  130. package/src/directive/channel/channel.test.js +1 -0
  131. package/src/directive/class/class.spec.js +1 -1
  132. package/src/directive/class/class.test.js +1 -0
  133. package/src/directive/cloak/cloak.spec.js +1 -1
  134. package/src/directive/cloak/cloak.test.js +1 -0
  135. package/src/directive/controller/controller.spec.js +1 -1
  136. package/src/directive/controller/controller.test.js +1 -0
  137. package/src/directive/events/click.spec.js +1 -1
  138. package/src/directive/events/event.spec.js +1 -1
  139. package/src/directive/events/events.test.js +1 -0
  140. package/src/directive/form/form.js +8 -5
  141. package/src/directive/form/form.spec.js +1 -1
  142. package/src/directive/form/form.test.js +1 -0
  143. package/src/directive/http/delete.spec.js +1 -1
  144. package/src/directive/http/form-test.html +18 -0
  145. package/src/directive/http/get.spec.js +1 -1
  146. package/src/directive/http/http.js +12 -3
  147. package/src/directive/http/post.spec.js +504 -9
  148. package/src/directive/http/put.spec.js +1 -1
  149. package/src/directive/if/if.spec.js +1 -1
  150. package/src/directive/include/include.spec.js +1 -1
  151. package/src/directive/init/init.spec.js +1 -1
  152. package/src/directive/init/init.test.js +1 -0
  153. package/src/directive/input/input.js +13 -15
  154. package/src/directive/input/input.spec.js +1 -2
  155. package/src/directive/input/input.test.js +1 -0
  156. package/src/directive/messages/messages.spec.js +1 -1
  157. package/src/directive/messages/messages.test.js +1 -0
  158. package/src/directive/model/model.js +13 -13
  159. package/src/directive/model/model.spec.js +1 -1
  160. package/src/directive/model/model.test.js +1 -0
  161. package/src/directive/model-options/model-option.test.js +1 -0
  162. package/src/directive/model-options/model-options.js +1 -1
  163. package/src/directive/model-options/model-options.spec.js +1 -1
  164. package/src/directive/non-bindable/non-bindable.spec.js +1 -1
  165. package/src/directive/non-bindable/non-bindable.test.js +1 -0
  166. package/src/directive/observe/observe.spec.js +1 -1
  167. package/src/directive/observe/observe.test.js +1 -0
  168. package/src/directive/on/on.spec.js +1 -1
  169. package/src/directive/on/on.test.js +1 -0
  170. package/src/directive/options/options.spec.js +1 -1
  171. package/src/directive/options/options.test.js +1 -0
  172. package/src/directive/ref/href.spec.js +1 -1
  173. package/src/directive/ref/href.test.js +2 -0
  174. package/src/directive/ref/ref.spec.js +1 -1
  175. package/src/directive/repeat/repeat.spec.js +2 -3
  176. package/src/directive/repeat/repeat.test.js +1 -0
  177. package/src/directive/script/script.spec.js +1 -1
  178. package/src/directive/script/script.test.js +1 -0
  179. package/src/directive/select/select.js +1 -1
  180. package/src/directive/select/select.spec.js +1 -1
  181. package/src/directive/select/select.test.js +1 -0
  182. package/src/directive/setter/setter.spec.js +1 -1
  183. package/src/directive/setter/setter.test.js +1 -0
  184. package/src/directive/show-hide/show-hide.spec.js +1 -1
  185. package/src/directive/show-hide/show-hide.test.js +1 -0
  186. package/src/directive/style/style.spec.js +1 -1
  187. package/src/directive/style/style.test.js +1 -0
  188. package/src/directive/switch/switch.spec.js +1 -1
  189. package/src/directive/switch/switch.test.js +1 -0
  190. package/src/directive/validators/validators.js +82 -84
  191. package/src/directive/validators/validators.spec.js +5 -4
  192. package/src/directive/validators/validators.test.js +1 -0
  193. package/src/filters/filter.spec.js +1 -1
  194. package/src/filters/filters.spec.js +1 -1
  195. package/src/filters/limit-to.js +2 -3
  196. package/src/filters/limit-to.spec.js +1 -1
  197. package/src/filters/order-by.spec.js +1 -1
  198. package/src/index.js +1 -1
  199. package/src/injection-tokens.js +5 -1
  200. package/src/interface.ts +3 -1
  201. package/src/loader.md +0 -155
  202. package/src/{public.js → ng.js} +7 -8
  203. package/src/{public.spec.js → ng.spec.js} +1 -1
  204. package/src/router/directives/state-directives.spec.js +8 -7
  205. package/src/router/directives/view-directive.js +2 -8
  206. package/src/router/directives/view-directive.spec.js +8 -9
  207. package/src/router/{common/common.html → glob/glob.html} +2 -3
  208. package/src/router/{common/common.test.js → glob/glob.test.js} +2 -1
  209. package/src/router/globals.js +1 -1
  210. package/src/router/path/path-utils.js +5 -0
  211. package/src/router/router-test-hashbang.html +45 -0
  212. package/src/router/services.spec.js +5 -6
  213. package/src/router/state/interface.ts +1 -1
  214. package/src/router/state/state-builder.js +3 -3
  215. package/src/router/state/state-builder.spec.js +1 -1
  216. package/src/router/state/state-object.js +1 -1
  217. package/src/router/state/state-registry.js +2 -2
  218. package/src/router/state/state-service.js +13 -10
  219. package/src/router/state/state.spec.js +23 -22
  220. package/src/router/state/state.test.js +1 -0
  221. package/src/router/state/views.js +1 -1
  222. package/src/router/state-filter.spec.js +1 -1
  223. package/src/router/state-filters.js +13 -9
  224. package/src/router/template-factory.js +5 -4
  225. package/src/router/template-factory.spec.js +1 -1
  226. package/src/router/transition/hook-registry.js +1 -1
  227. package/src/router/transition/transition-service.js +6 -5
  228. package/src/router/transition/transition.js +4 -4
  229. package/src/router/url/url-matcher.js +3 -3
  230. package/src/router/url/url-rule.js +1 -0
  231. package/src/router/url/url-rules.js +8 -5
  232. package/src/router/url/url-service.js +77 -76
  233. package/src/router/url/url-service.spec.js +55 -39
  234. package/src/router/url/url.test.js +1 -0
  235. package/src/router/view/view.js +4 -5
  236. package/src/router/view/view.spec.js +10 -12
  237. package/src/router/view/view.test.js +1 -0
  238. package/src/router/view-hook.spec.js +1 -1
  239. package/src/router/view-scroll.spec.js +1 -1
  240. package/src/services/anchor-scroll.html +2 -2
  241. package/src/services/anchor-scroll.js +5 -4
  242. package/src/services/http/http.js +9 -4
  243. package/src/services/http/http.spec.js +2 -7
  244. package/src/services/http/template-request.spec.js +1 -1
  245. package/src/services/http-backend/http-backend.js +51 -77
  246. package/src/services/http-backend/http-backend.spec.js +1 -2
  247. package/src/services/http-backend/http-backend.test.js +1 -0
  248. package/src/services/location/interface.ts +62 -0
  249. package/src/services/location/location.js +433 -520
  250. package/src/services/location/location.spec.js +909 -530
  251. package/src/services/location/location.test.js +2 -2
  252. package/src/services/log/log.spec.js +1 -1
  253. package/src/services/log/log.test.js +1 -0
  254. package/src/services/pubsub/pubsub.spec.js +1 -1
  255. package/src/services/sce/sce.js +5 -7
  256. package/src/services/sce/sce.md +2 -2
  257. package/src/services/sce/sce.spec.js +1 -1
  258. package/src/services/template-cache/template-cache.spec.js +1 -1
  259. package/src/services/template-cache/template-cache.test.js +1 -0
  260. package/src/shared/common.js +0 -5
  261. package/src/shared/common.spec.js +1 -1
  262. package/src/shared/interface.ts +0 -4
  263. package/src/{router/common → shared}/queue.js +7 -7
  264. package/src/shared/shared.html +1 -0
  265. package/src/shared/shared.test.js +1 -0
  266. package/src/shared/url-utils/interface.ts +0 -2
  267. package/src/shared/url-utils/url-utils.js +6 -30
  268. package/src/shared/url-utils/url-utils.spec.js +10 -9
  269. package/src/shared/utils.js +32 -9
  270. package/src/shared/utils.spec.js +35 -1
  271. package/src/src.html +1 -2
  272. package/typedoc.json +0 -1
  273. package/utils/express.js +27 -1
  274. package/utils/version.cjs +23 -0
  275. package/@types/router/state-provider.d.ts +0 -123
  276. package/src/directive/non-bindable/non-bindable.md +0 -17
  277. package/src/loader.spec.js +0 -169
  278. package/src/router/state-provider.js +0 -146
  279. package/src/services/location/location.md +0 -114
  280. package/src/shared/url-utils/url-utils.md +0 -46
  281. /package/@types/{loader.d.ts → angular.d.ts} +0 -0
  282. /package/@types/router/{common → glob}/glob.d.ts +0 -0
  283. /package/src/router/{common → glob}/glob.js +0 -0
  284. /package/src/router/{common → glob}/glob.spec.js +0 -0
  285. /package/src/{router/common → shared}/queue.spec.js +0 -0
@@ -22,4 +22,27 @@
22
22
  margin-right: 2rem;
23
23
  }
24
24
  }
25
+
26
+ #npm {
27
+ margin-top: 2rem;
28
+ display: flex;
29
+ justify-content: center;
30
+
31
+ .click-to-copy {
32
+ display: block;
33
+ float: right;
34
+ }
35
+
36
+ pre {
37
+ color: white;
38
+ background-color: gray !important;
39
+ border-radius: 5px;
40
+ }
41
+
42
+ code > :first-child {
43
+ padding: 1rem;
44
+ border-radius: 5px;
45
+ padding-right: 3rem;
46
+ }
47
+ }
25
48
  }
@@ -11,17 +11,18 @@ title: AngularTS
11
11
  <p class="lead mb-5">A modern, reactive and typesafe evolution of the classic JS framework from Google&copy;</p>
12
12
 
13
13
  <div id="download">
14
- <span id="version"></span>
14
+ <span id="version"> {{< version >}} </span>
15
15
  <a class="btn btn-lg btn-secondary me-3 mb-4" href="https://github.com/Angular-Wave/angular.ts">
16
16
  Download <i class="fab fa-github ms-2 "></i>
17
17
  </a>
18
- <script defer>
19
- window.addEventListener("DOMContentLoaded", () => {
20
- const versionSpan = document.getElementById("version");
21
- const version = window.angular.version;
22
- versionSpan.textContent = `Latest release: ${version}`;
23
- });
24
- </script>
18
+ </div>
19
+
20
+ <div id="npm">
21
+
22
+ ```bash
23
+ npm i @angular-wave/angular.ts
24
+ ```
25
+
25
26
  </div>
26
27
 
27
28
  {{< /blocks/cover >}}
@@ -47,7 +47,7 @@ This code demonstrates the following key AngularTS features:
47
47
 
48
48
  - **Island-first and zero-cost:** AngularTS creates an application on any HTML
49
49
  tag with `ng-app` attribute, allowing multiple independent applications
50
- (modules) to live on a single page. The enables AngularTS to work alongside
50
+ (modules) to live on a single page. This allows AngularTS to work alongside
51
51
  your existing tech stack where the majority of your page is rendered on the
52
52
  server, while AngularTS is isolated to small “islands” (regions of your page)
53
53
  where custom interactivity or personalization is required.
@@ -8,4 +8,4 @@ description: >
8
8
 
9
9
  Use this directive to auto-bootstrap an AngularTS application. The `ng-app`
10
10
  directive designates the root element of the application and is typically placed
11
- near the root element of the page - e.g. on the <body> or <html> tags.
11
+ near the root element of the page - e.g. on the `<body>` or `<html>` tags.
@@ -26,7 +26,7 @@ This is useful for rendering server-generated content, while keeping the UI
26
26
  dynamic. In other frameworks, this technieque is known as
27
27
  [hydration](<https://en.wikipedia.org/wiki/Hydration_(web_development)>).
28
28
 
29
- ### Directive parameters
29
+ ### Parameters
30
30
 
31
31
  ---
32
32
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-blur` directive allows you to specify custom behavior when an element
10
10
  loses focus.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -13,8 +13,8 @@ using `$eventBus`.
13
13
  directive will **replace the element's inner HTML** with the published value.
14
14
  - If the element **does** contain a template and the published value is an
15
15
  **object**, the directive will **merge the object’s key-value pairs into the
16
- current scope**, allowing Angular expressions like `{{ user.firstName }}` to
17
- be evaluated and rendered.
16
+ current scope**, allowing Angular expressions like to be evaluated and
17
+ rendered.
18
18
 
19
19
  The directive automatically unsubscribes from the event channel when the scope
20
20
  is destroyed.
@@ -21,7 +21,7 @@ to the element:
21
21
  | [`add-class`](../../service/animate) | Before the class is applied to the element |
22
22
  | [`remove-class`](../../service/animate) | Before the class is removed from the element |
23
23
 
24
- ### Directive parameters
24
+ ### Parameters
25
25
 
26
26
  ---
27
27
 
@@ -22,7 +22,7 @@ to the element:
22
22
  | [`add-class`](../../service/animate) | Before the class is applied to the element |
23
23
  | [`remove-class`](../../service/animate) | Before the class is removed from the element |
24
24
 
25
- ### Directive parameters
25
+ ### Parameters
26
26
 
27
27
  ---
28
28
 
@@ -40,7 +40,7 @@ to the element:
40
40
  > `ng-class` supports standard CSS3 transitions/animations even if they don’t
41
41
  > follow `$animate` service naming conventions.
42
42
 
43
- ### Directive parameters
43
+ ### Parameters
44
44
 
45
45
  ---
46
46
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-click` directive allows you to specify custom behavior when an element
10
10
  is clicked.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-copy` directive allows you to specify custom behavior when an element is
10
10
  copied.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-cut` directive allows you to specify custom behavior when an element is
10
10
  cut.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-dblclick` directive allows you to specify custom behavior when an
10
10
  element is double clicked.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-focus` directive allows you to specify custom behavior when an element
10
10
  is focused.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -11,7 +11,7 @@ remote URL and insert, replace, or manipulate it into the DOM. In case of server
11
11
  error, the directive displays the error in place of success result. This
12
12
  behavior can be modified with error parameters below.
13
13
 
14
- ### Directive parameters
14
+ ### Parameters
15
15
 
16
16
  ---
17
17
 
@@ -27,7 +27,7 @@ behavior can be modified with error parameters below.
27
27
 
28
28
  ---
29
29
 
30
- ### Directive parameters
30
+ ### Modifiers
31
31
 
32
32
  #### `data-trigger`
33
33
 
@@ -114,7 +114,7 @@ behavior can be modified with error parameters below.
114
114
 
115
115
  - **Type:**
116
116
  [delay](https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#delay)
117
- - **Description:** Ignores subsequent requests for N millisecond
117
+ - **Description:** Ignores subsequent requests for N milliseconds
118
118
  - **Example:**
119
119
 
120
120
  ```html
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-keydown` directive allows you to specify custom behavior when pressing
10
10
  keys, regardless of whether they produce a character value.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-keyup` directive allows you to specify custom behavior when releasing
10
10
  keys, regardless of whether they produce a character value.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -15,7 +15,7 @@ event.
15
15
  before loading its resource. Demo below is using a large image to showcase
16
16
  itself.
17
17
 
18
- ### Directive parameters
18
+ ### Parameters
19
19
 
20
20
  ---
21
21
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-mousedown` directive allows you to specify custom behavior when a mouse
10
10
  is pressed over an element.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-mouseenter` directive allows you to specify custom behavior when a mouse
10
10
  enters an element.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-mouseleave` directive allows you to specify custom behavior when an
10
10
  element a mouse leaves entire element.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-mousemove` directive allows you to specify custom custom behavior when a
10
10
  mouse is moved over an element.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-mouseout` directive allows you to specify custom behavior when a mouse
10
10
  leaves any part of the element or its children.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-mouseover` directive allows you to specify custom behavior when a mouse
10
10
  is placed over an element.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -9,7 +9,7 @@ description: >
9
9
  The `ng-mouseup` directive allows you to specify custom behavior when a pressed
10
10
  mouse is released over an element.
11
11
 
12
- ### Directive parameters
12
+ ### Parameters
13
13
 
14
14
  ---
15
15
 
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: ng-non-bindable
3
+ description: >
4
+ Stops compilation for element
5
+ ---
6
+
7
+ ### Description
8
+
9
+ The `ng-non-bindable` directive tells the framework not to compile or bind the
10
+ contents of the current DOM element, including directives on the element itself
11
+ that have a lower priority than `ngNonBindable`. This is useful if the element
12
+ contains what appears to be directives and bindings but which should be ignored.
13
+ This could be the case if you have a site that displays snippets of code, for
14
+ instance.
15
+
16
+ #### `ng-non-bindable`
17
+
18
+ - **Type:** N/A
19
+ - **Description:** Stops compilation process for element
20
+ - **Priority:** 1000
21
+ - **Element:** ANY
22
+ - **Example:**
23
+
24
+ {{< showhtml src="examples/ng-non-bindable/ng-non-bindable.html" >}}
25
+
26
+ ***
27
+
28
+ {{< showraw src="examples/ng-non-bindable/ng-non-bindable.html" >}}
@@ -0,0 +1,26 @@
1
+ ---
2
+ title: $locationProvider
3
+ description: >
4
+ Configuration provider for `$location` service.
5
+ ---
6
+
7
+ ### Description
8
+
9
+ Use the `$locationProvider` to configure how the application deep linking paths
10
+ are stored.
11
+
12
+ ### Properties
13
+
14
+ ---
15
+
16
+ #### $locationProvider.html5ModeConf
17
+
18
+ - **Type:** Html5Mode
19
+ - **Default:** `{ enabled: true, requireBase: false, rewriteLinks: true }`
20
+ - **Example:**
21
+
22
+ ```js
23
+ angular.module('demo', []).config(($locationProvider) => {
24
+ $locationProvider.html5ModeConf.enabled = false;
25
+ });
26
+ ```
@@ -15,8 +15,8 @@ An alternative caching implementation can be provided by implementing
15
15
  standard storage options like `localStorage`, `sessionStorage`, `IndexedDB`, or
16
16
  `Cache API`. You can also use third-party storage engines like
17
17
  [pouch](https://github.com/pouchdb/pouchdb) or
18
- [SQLite](https://github.com/sqlitebrowser/sqlitebrowser). With WebAssembly
19
- (WASM), even more powerful and flexible storage backends become possible.
18
+ [SQLite](https://sqlite.org/wasm/doc/trunk/index.md). With WebAssembly (WASM),
19
+ even more powerful and flexible storage backends become possible.
20
20
 
21
21
  Below is an example implementation using `localStorage`:
22
22
 
@@ -0,0 +1,57 @@
1
+ ---
2
+ title: $location
3
+ description: >
4
+ URL normalization for HTML5/hashbang modes
5
+ ---
6
+
7
+ ### Description
8
+
9
+ The `$location` service parses the URL in the browser address bar (based on the
10
+ [window.location](https://developer.mozilla.org/en/window.location)) and makes
11
+ the URL available to your application in a uniform manner. Changes to the URL in
12
+ the address bar are reflected into `$location` service and changes to
13
+ `$location` are reflected into the browser address bar. Using `$location` you
14
+ can:
15
+
16
+ - Watch and observe the URL
17
+ - Change the URL
18
+ - Detect users changes to address bar by clicking on links or using back or
19
+ forward buttons in browser
20
+
21
+ To configure the HTML5 mode and link behavior for the service, use the
22
+ `$locationProvider`.
23
+
24
+ ### Events
25
+
26
+ ---
27
+
28
+ #### $location#$locationChangeStart
29
+
30
+ - **Description:** Broadcast on root scope before a URL will change. This change
31
+ can be prevented by calling `preventDefault` method of the event. See
32
+ [Scope#$ons](TODO) for more details about event object. Upon successful change
33
+ `$location#$locationChangeSuccess` is fired.
34
+
35
+ The `newState` and `oldState` parameters may be defined only in HTML5 mode and
36
+ when the browser supports the HTML5 History API.
37
+
38
+ - **Parameters:** | `angularEvent` | `Object` | No | Synthetic event object. | |
39
+ `newUrl` | `string` | No | The new URL being navigated to. | | `oldUrl` |
40
+ `string` | Yes | The URL prior to the change. | | `newState` | `string` | Yes
41
+ | New history state object (HTML5 mode only). | | `oldState` | `string` | Yes
42
+ | Previ
43
+
44
+ ## `$location#$locationChangeSuccess`
45
+
46
+ **Description:**
47
+ Broadcasted on the root scope **after** a URL was changed. The `newState` and
48
+ `oldState` parameters may be defined only in HTML5 mode and when the browser
49
+ supports the HTML5 History API.
50
+
51
+ ### Parameters
52
+
53
+ | `angularEvent` | `Object` | No | Synthetic event object. | | `newUrl` |
54
+ `string` | No | The new URL after change. | | `oldUrl` | `string` | Yes | The
55
+ previous URL before the change. | | `newState` | `string` | Yes | New history
56
+ state object (HTML5 mode only). | | `oldState` | `string` | Yes | Previous
57
+ history state object (HTML5 mode only). |
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: $url
3
+ description: >
4
+ URL management for state transitions
5
+ ---
@@ -1,3 +1,3 @@
1
1
  <script src="
2
- https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/dist/angular-ts.umd.js
2
+ https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts@latest/dist/angular-ts.umd.js
3
3
  "></script>
@@ -0,0 +1 @@
1
+ <p>Version: 0.8.0</p>
@@ -1,10 +1,6 @@
1
1
  <!doctype html>
2
2
  <html>
3
3
  <head>
4
- <meta charset="utf-8" />
5
- <title>AngularTS Test Runner</title>
6
-
7
- <link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
8
4
  <script src="
9
5
  https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/dist/angular-ts.umd.min.js
10
6
  "></script>
@@ -1,10 +1,6 @@
1
1
  <!doctype html>
2
2
  <html>
3
3
  <head>
4
- <meta charset="utf-8" />
5
- <title>AngularTS Test Runner</title>
6
-
7
- <link rel="shortcut icon" type="image/png" href="/images/favicon.ico" />
8
4
  <script src="
9
5
  https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/dist/angular-ts.umd.min.js
10
6
  "></script>
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <script src="
5
+ https://cdn.jsdelivr.net/npm/@angular-wave/angular.ts/dist/angular-ts.umd.min.js
6
+ "></script>
7
+ </head>
8
+ <body>
9
+ <div ng-app>
10
+ <div ng-include="'./ng-non-bindable.html'"></div>
11
+ </div>
12
+ </body>
13
+ </html>
@@ -0,0 +1,3 @@
1
+ <section ng-app>
2
+ <div ng-non-bindable>{{ 2 + 2 }}</div>
3
+ </section>
@@ -0,0 +1,11 @@
1
+ import { test, expect } from '@playwright/test';
2
+
3
+ const TEST_URL =
4
+ 'docs/static/examples/ng-non-bindable/ng-non-bindable-test.html';
5
+
6
+ test('ng-non-bindable example', async ({ page }) => {
7
+ await page.goto(TEST_URL);
8
+ await page.content();
9
+
10
+ await expect(page.locator('div[ng-non-bindable]')).toHaveText('{{ 2 + 2 }}');
11
+ });
@@ -1,10 +1,10 @@
1
1
  :root {
2
- --light-hl-0: #000000;
3
- --dark-hl-0: #D4D4D4;
4
- --light-hl-1: #A31515;
5
- --dark-hl-1: #CE9178;
6
- --light-hl-2: #0000FF;
7
- --dark-hl-2: #569CD6;
2
+ --light-hl-0: #0000FF;
3
+ --dark-hl-0: #569CD6;
4
+ --light-hl-1: #000000;
5
+ --dark-hl-1: #D4D4D4;
6
+ --light-hl-2: #A31515;
7
+ --dark-hl-2: #CE9178;
8
8
  --light-hl-3: #001080;
9
9
  --dark-hl-3: #9CDCFE;
10
10
  --light-hl-4: #800000;
@@ -1 +1 @@
1
- window.navigationData = "eJyVl8tu2zAQRf9F66BpXKSP7FInbgqktVF5V3RBS2ObCU2q5MhNUPTfS8V6UXxmZ/BeHg5nyKH882+G8ITZVXYvdispjrQEmZ1lFcG9HiwYUQrU+Uh8s8cD045Hysvs6mL28d9Zz/i++ybKmoEN6JTQ7FW9yeuNPfc0Hp/pD9/UQ6Q1HCpGEOak2IMf6LSFuPM94TtQy80DFDjwKEeQW1JopOEwUbPL92OUOFSCA8dlhVRw5aZNTGEgRykYG2/UQHVyCHJDpY6bHsHJ6NUkxErCSih3mqamEPAOsboDokujvgCiZ3+WK4bs6n0DW1IzdBfAZYyBf8DvGhTqhG/prg3JC3eZExdYS8LVVshDICO2NQ5X+sgp9wEYG1JBaWFa3hg+B3mkhT/MVg9hdDsMUQY5BHlpicAit89yJSBDjcG0hGB29xth3D3PBBgn1EkxHAmofC8kFnUC0nSG0G2lgrudeEI442VwwgxHENWc6YLVJSxqXjT1CjwfPnNogWvOBepIyr6pLkiBQj4PK+BzpeFe44T+9tOHi8uZa4UYOJE3Z/pRu0bUqeu2OUU6LFFqf7n0L4WybmKxuC5TjNznq3mPKYOFFa7teAXT7hwW1NM2/FRPpV5b+ak/sPPekcy8p/wxADzJMdrtU0V4KXK9NkxRYy2BI0Epx1EclBhjQZm+yZ7UG2IiyYqlG4/Nb79bDlRZSRlJKZTuac71Ba+VC2Y6YsyvvOlnZMOswAYlneHJtWWIEfVbPyeMTTntcMLs9m3xxGMZYsQl9/zVOPEmcoyW/yFV872w1pOnqLEW46z9vWqd3qNuj/oPzefxWToSSZti6bvWaibjnWszrumdZk3/9R8p2DA0"
1
+ window.navigationData = "eJyVl12T0yAUhv9LrnfUrVM/9m6t1nWm2oypV44XNDltcSlEIHV3HP+7xCZNCHBg7zq873lyOMCBfv+TaXjQ2U22EiXRVPDsKquJPpiRkhGlQD3vlWcHfWRGvqe8ym6uZ2/+XjnRuRQnWoEMU3oHTttjoH0K48v+s6gaBi6gV7DovNkWzdaNPY/HI8Pp2zpG2sCxZkTDgpQHCAO9Noy7OBC+B7Xe/oRSDzzKNcgdKQ3Sctio2fzVGCWOteDA9bpu11b5aRMTDuRaCsbGE7VQvYxB3sOONEznQmp/RmMDCqLSFICewE/p1SRELiEXyl/vqQkD3hlpbjawP6eLiiN0fQfEbBP1EbQO1NpxxZD93uuq6y+9zxgDf4VfDShtFn9H911KQbjPnPiBjSRc7YQ8IhVxrXG4MttfhdZrMKSC0tJ0vDF8AfJEy3CanY5hTGvGKIOMQf63Z2CRTuC4EpBYk7ItGMztxCOMv//aAGuHeimWIwFVHEwnK5sEpO3E0N1KobOdeDCcdUt5YZYDRbV7umRNBcuGl+16IVdZyIx94JtkOQndHb2IAW45F9pMpbo09iUptZCPA1E/1gYWNE7oL96+vp7PfF+IgRN5C2Zu6FutTe37Ok2RHkuUejmd5pfSsmlzcbg+U4x8qVf7uKAMlk66ruMJTLf1ONBA3wlTAyv11JWf+pGZXxzJzBXl9wjwLMdoHx5qwitRmG/DFDXWEjgSlPJsxUGJMZaUmZMbKL0lJpKcXPrxWHz38DlS5RRlJKVQ+ru9MAe8UT6Y7YgxP/G2IZItcxIblHRGoNaOIUY0j4UFYWzK6YYTorvLKZCPY4gR1zzwv+nMm8gxWvGb1O2DY2OCp6ixFuNswr1qk96jzJ12zn5FlQbushxD9OyezP+9d+PdeSKStstvTm+n2YyXvvL4wnvNCf/xD+ZGwOI="
@@ -1 +1 @@
1
- window.searchData = "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";
1
+ window.searchData = "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";