diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 000000000..01cfe4c64
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,15 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "node",
+ "request": "launch",
+ "name": "Launch Program",
+ "program": "${workspaceFolder}/scripts/helper.js",
+ "args": "generate init"
+ }
+ ]
+}pa
\ No newline at end of file
diff --git a/README.md b/README.md
index fad9395b4..7bb488dee 100644
--- a/README.md
+++ b/README.md
@@ -236,6 +236,16 @@ All modules have to work on the below browsers:
----------
+
+ @gov.au/core-ng
+ npm install @gov.au/core-ng
+ See the visual test file for core-ng
+ See the readme file for core-ng
\ No newline at end of file
diff --git a/packages/direction-links/tests/angular/src/app/app.component.ts b/packages/direction-links/tests/angular/src/app/app.component.ts
new file mode 100644
index 000000000..1ea069e26
--- /dev/null
+++ b/packages/direction-links/tests/angular/src/app/app.component.ts
@@ -0,0 +1,16 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-root',
+ templateUrl: './app.component.html',
+ styleUrls: ['./app.component.css']
+})
+export class AppComponent {
+ title = 'app';
+
+ triggerClickAlert = () => {
+ alert("You clicked?")
+ }
+
+
+}
diff --git a/packages/direction-links/tests/angular/src/app/app.module.ts b/packages/direction-links/tests/angular/src/app/app.module.ts
new file mode 100644
index 000000000..22b95c466
--- /dev/null
+++ b/packages/direction-links/tests/angular/src/app/app.module.ts
@@ -0,0 +1,20 @@
+import { DirectionLinkModule } from './../../../../src/ts/direction-link.module';
+import { BrowserModule } from '@angular/platform-browser';
+import { NgModule } from '@angular/core';
+
+
+import { AppComponent } from './app.component';
+
+
+@NgModule({
+ declarations: [
+ AppComponent
+ ],
+ imports: [
+ BrowserModule,
+ DirectionLinkModule
+ ],
+ providers: [],
+ bootstrap: [AppComponent]
+})
+export class AppModule { }
diff --git a/packages/direction-links/tests/angular/src/index.html b/packages/direction-links/tests/angular/src/index.html
new file mode 100644
index 000000000..6408f4c63
--- /dev/null
+++ b/packages/direction-links/tests/angular/src/index.html
@@ -0,0 +1,31 @@
+
+
+
+
+ Demo
+
+
+
+ Test: direction-links
+
+
+
+
+
+
+
+
+
+ ← back to the module index
+
+
Angular test: direction-links
+
+
+
+
+
+
diff --git a/packages/direction-links/tests/angular/src/main.ts b/packages/direction-links/tests/angular/src/main.ts
new file mode 100644
index 000000000..ec4a4fec0
--- /dev/null
+++ b/packages/direction-links/tests/angular/src/main.ts
@@ -0,0 +1,8 @@
+import { enableProdMode } from '@angular/core';
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app/app.module';
+
+enableProdMode();
+platformBrowserDynamic().bootstrapModule(AppModule)
+ .catch(err => console.log(err));
diff --git a/packages/direction-links/tests/angular/src/polyfills.ts b/packages/direction-links/tests/angular/src/polyfills.ts
new file mode 100644
index 000000000..d75523975
--- /dev/null
+++ b/packages/direction-links/tests/angular/src/polyfills.ts
@@ -0,0 +1,79 @@
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ * file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/** IE9, IE10 and IE11 requires all of the following polyfills. **/
+import 'core-js/es6/symbol';
+import 'core-js/es6/object';
+import 'core-js/es6/function';
+import 'core-js/es6/parse-int';
+import 'core-js/es6/parse-float';
+import 'core-js/es6/number';
+import 'core-js/es6/math';
+import 'core-js/es6/string';
+import 'core-js/es6/date';
+import 'core-js/es6/array';
+import 'core-js/es6/regexp';
+import 'core-js/es6/map';
+import 'core-js/es6/weak-map';
+import 'core-js/es6/set';
+
+/** IE10 and IE11 requires the following for NgClass support on SVG elements */
+// import 'classlist.js'; // Run `npm install --save classlist.js`.
+
+/** IE10 and IE11 requires the following for the Reflect API. */
+// import 'core-js/es6/reflect';
+
+
+/** Evergreen browsers require these. **/
+// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
+import 'core-js/es7/reflect';
+
+
+/**
+ * Required to support Web Animations `@angular/platform-browser/animations`.
+ * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
+ **/
+// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
+
+/**
+ * By default, zone.js will patch all possible macroTask and DomEvents
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
+ */
+
+ // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
+ // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
+ // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
+
+ /*
+ * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
+ * with the following flag, it will bypass `zone.js` patch for IE/Edge
+ */
+// (window as any).__Zone_enable_cross_context_check = true;
+
+/***************************************************************************************************
+ * Zone JS is required by default for Angular itself.
+ */
+import 'zone.js/dist/zone'; // Included with Angular CLI.
+
+
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
diff --git a/packages/direction-links/tests/angular/src/tsconfig.demo.json b/packages/direction-links/tests/angular/src/tsconfig.demo.json
new file mode 100644
index 000000000..6eccd536d
--- /dev/null
+++ b/packages/direction-links/tests/angular/src/tsconfig.demo.json
@@ -0,0 +1,20 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "outDir": "./dist/out-tsc",
+ "sourceMap": true,
+ "declaration": false,
+ "moduleResolution": "node",
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "target": "es5",
+ "module": "es2015",
+ "typeRoots": [
+ "node_modules/@types"
+ ],
+ "lib": [
+ "es2017",
+ "dom"
+ ]
+ }
+}
diff --git a/packages/direction-links/tests/index.html b/packages/direction-links/tests/index.html
index 5fa6198c2..f5e06fb9d 100644
--- a/packages/direction-links/tests/index.html
+++ b/packages/direction-links/tests/index.html
@@ -47,6 +47,7 @@