@rxap/plugin-angular 16.1.0-dev.8 → 16.1.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 (102) hide show
  1. package/CHANGELOG.md +485 -0
  2. package/README.md +15 -1
  3. package/generators.json +10 -0
  4. package/package.json +61 -48
  5. package/src/generators/init/generator.js +14 -7
  6. package/src/generators/init/generator.js.map +1 -1
  7. package/src/generators/init/schema.d.ts +2 -0
  8. package/src/generators/init/schema.json +10 -0
  9. package/src/generators/init-application/files/app/app.navigation.ts.template +11 -0
  10. package/src/generators/init-application/files/app/app.routes.ts.template +14 -0
  11. package/src/generators/init-application/files/app/layout.routes.ts.template +33 -0
  12. package/src/generators/init-application/files/assets/icons/create-pwa-icons.sh +11 -0
  13. package/src/generators/init-application/files/assets/icons/icon-114x114.png +0 -0
  14. package/src/generators/init-application/files/assets/icons/icon-120x120.png +0 -0
  15. package/src/generators/init-application/files/assets/icons/icon-128x128.png +0 -0
  16. package/src/generators/init-application/files/assets/icons/icon-144x144.png +0 -0
  17. package/src/generators/init-application/files/assets/icons/icon-152x152.png +0 -0
  18. package/src/generators/init-application/files/assets/icons/icon-16x16.png +0 -0
  19. package/src/generators/init-application/files/assets/icons/icon-180x180.png +0 -0
  20. package/src/generators/init-application/files/assets/icons/icon-192x192.png +0 -0
  21. package/src/generators/init-application/files/assets/icons/icon-32x32.png +0 -0
  22. package/src/generators/init-application/files/assets/icons/icon-384x384.png +0 -0
  23. package/src/generators/init-application/files/assets/icons/icon-512x512.png +0 -0
  24. package/src/generators/init-application/files/assets/icons/icon-57x57.png +0 -0
  25. package/src/generators/init-application/files/assets/icons/icon-60x60.png +0 -0
  26. package/src/generators/init-application/files/assets/icons/icon-72x72.png +0 -0
  27. package/src/generators/init-application/files/assets/icons/icon-76x76.png +0 -0
  28. package/src/generators/init-application/files/assets/icons/icon-96x96.png +0 -0
  29. package/src/generators/init-application/files/assets/icons/icon.png +0 -0
  30. package/src/generators/init-application/files/assets/icons/icon.svg +43 -0
  31. package/src/generators/init-application/files/assets/logo.png +0 -0
  32. package/src/generators/init-application/files/assets/logo.svg +63 -0
  33. package/src/generators/init-application/files/{shared → i18n}/i18n.index.html.hbs +1 -1
  34. package/src/generators/init-application/files/monolithic/app/app.navigation.ts.template +11 -0
  35. package/src/generators/init-application/files/monolithic/app/app.routes.ts.template +14 -0
  36. package/src/generators/init-application/files/monolithic/app/layout.routes.ts.template +32 -0
  37. package/src/generators/init-application/files/monolithic/index.html.template +165 -0
  38. package/src/generators/init-application/files/monolithic/styles.scss.template +3 -0
  39. package/src/generators/init-application/files/oauth/silent-refresh.html +42 -0
  40. package/src/generators/init-application/files/service-worker/manifest.webmanifest +52 -0
  41. package/src/generators/init-application/files/shared/Dockerfile +29 -0
  42. package/src/generators/init-application/files/shared/assets/build.json +1 -0
  43. package/src/generators/init-application/files/shared/ngsw-config.json +2 -14
  44. package/src/generators/init-application/files/styles/_fonts.scss +9 -0
  45. package/src/generators/init-application/files/styles/_index.scss +10 -0
  46. package/src/generators/init-application/files/styles/_loading-animation.scss +200 -0
  47. package/src/generators/init-application/files/styles/_palette.scss +98 -0
  48. package/src/generators/init-application/files/styles/_table.scss +45 -0
  49. package/src/generators/init-application/files/styles/_theme.scss +14 -0
  50. package/src/generators/init-application/files/styles/_utilities.scss +112 -0
  51. package/src/generators/init-application/files/styles/_variables.scss +77 -0
  52. package/src/generators/init-application/files/styles/fonts/_croissant-one.scss +7 -0
  53. package/src/generators/init-application/files/styles/fonts/_fuggles.scss +7 -0
  54. package/src/generators/init-application/files/styles/fonts/_inclusive-sans.scss +7 -0
  55. package/src/generators/init-application/files/styles/fonts/_material-icons.scss +20 -0
  56. package/src/generators/init-application/files/styles/fonts/_mooli.scss +7 -0
  57. package/src/generators/init-application/files/styles/fonts/_pixelify-sans.scss +7 -0
  58. package/src/generators/init-application/files/styles/fonts/_roboto-mono.scss +7 -0
  59. package/src/generators/init-application/files/styles/fonts/_roboto.scss +95 -0
  60. package/src/generators/init-application/files/styles/fonts/_young-serif.scss +7 -0
  61. package/src/generators/init-application/files/styles/fonts/croissant-one.ttf +0 -0
  62. package/src/generators/init-application/files/styles/fonts/fuggles.ttf +0 -0
  63. package/src/generators/init-application/files/styles/fonts/inclusive-sans.ttf +0 -0
  64. package/src/generators/init-application/files/styles/fonts/material-icons.ttf +0 -0
  65. package/src/generators/init-application/files/styles/fonts/molli.ttf +0 -0
  66. package/src/generators/init-application/files/styles/fonts/pixelify-sans.ttf +0 -0
  67. package/src/generators/init-application/files/styles/fonts/roboto-mono.ttf +0 -0
  68. package/src/generators/init-application/files/styles/fonts/young-serif.ttf +0 -0
  69. package/src/generators/init-application/generator.js +560 -87
  70. package/src/generators/init-application/generator.js.map +1 -1
  71. package/src/generators/init-application/schema.d.ts +9 -0
  72. package/src/generators/init-application/schema.json +59 -8
  73. package/src/generators/init-feature/files/feature/__name__/routes.ts.template +10 -0
  74. package/src/generators/init-feature/generator.d.ts +4 -0
  75. package/src/generators/init-feature/generator.js +26 -0
  76. package/src/generators/init-feature/generator.js.map +1 -0
  77. package/src/generators/init-feature/index.d.ts +2 -0
  78. package/src/generators/init-feature/index.js +7 -0
  79. package/src/generators/init-feature/index.js.map +1 -0
  80. package/src/generators/init-feature/schema.d.ts +4 -0
  81. package/src/generators/init-feature/schema.json +20 -0
  82. package/src/generators/init-library/generator.js +106 -14
  83. package/src/generators/init-library/generator.js.map +1 -1
  84. package/src/generators/init-library/schema.d.ts +3 -0
  85. package/src/generators/init-library/schema.json +14 -0
  86. package/src/lib/add-route.d.ts +3 -0
  87. package/src/lib/add-route.js +27 -0
  88. package/src/lib/add-route.js.map +1 -0
  89. package/src/lib/build-route-object.d.ts +7 -0
  90. package/src/lib/build-route-object.js +18 -0
  91. package/src/lib/build-route-object.js.map +1 -0
  92. package/src/lib/coerce-cypress-component-testing.d.ts +2 -0
  93. package/src/lib/coerce-cypress-component-testing.js +79 -0
  94. package/src/lib/coerce-cypress-component-testing.js.map +1 -0
  95. package/src/lib/find-parent-route.d.ts +2 -0
  96. package/src/lib/find-parent-route.js +54 -0
  97. package/src/lib/find-parent-route.js.map +1 -0
  98. package/src/lib/skip-project.js +3 -3
  99. package/src/lib/skip-project.js.map +1 -1
  100. package/src/generators/init-application/files/shared/angular.Dockerfile +0 -3
  101. package/src/generators/init-application/files/shared/configuration/.gitkeep +0 -0
  102. /package/src/generators/init-application/files/{shared → assets}/.gitkeep +0 -0
@@ -0,0 +1,165 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8"/>
5
+ <title><%= classify(name) %></title>
6
+ <base href="/"/>
7
+ <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/>
8
+ <meta content="true" name="HandheldFriendly"/>
9
+ <link href="favicon.ico" rel="icon" type="image/x-icon"/>
10
+ <% if (serviceWorker) { %><link href="manifest.webmanifest" rel="manifest"/><% } %>
11
+ <meta content="#1976d2" name="theme-color"/>
12
+
13
+ <link href="assets/icons/icon-57x57.png" rel="apple-touch-icon" sizes="57x57">
14
+ <link href="assets/icons/icon-60x60.png" rel="apple-touch-icon" sizes="60x60">
15
+ <link href="assets/icons/icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
16
+ <link href="assets/icons/icon-76x76.png" rel="apple-touch-icon" sizes="76x76">
17
+ <link href="assets/icons/icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
18
+ <link href="assets/icons/icon-120x120.png" rel="apple-touch-icon" sizes="120x120">
19
+ <link href="assets/icons/icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
20
+ <link href="assets/icons/icon-152x152.png" rel="apple-touch-icon" sizes="152x152">
21
+ <link href="assets/icons/icon-180x180.png" rel="apple-touch-icon" sizes="180x180">
22
+ <link href="assets/icons/icon-192x192.png" rel="icon" sizes="192x192" type="image/png">
23
+ <link href="assets/icons/icon-32x32.png" rel="icon" sizes="32x32" type="image/png">
24
+ <link href="assets/icons/icon-96x96.png" rel="icon" sizes="96x96" type="image/png">
25
+ <link href="assets/icons/icon-16x16.png" rel="icon" sizes="16x16" type="image/png">
26
+
27
+ <meta content="<%= classify(name) %>" name="application-name"/>
28
+ <meta content="#1976d2" name="msapplication-TileColor"/>
29
+ <meta content="assets/icons/icon-144x144.png" name="msapplication-TileImage"/>
30
+ <meta content="#ffffff" name="theme-color">
31
+ <meta content="yes" name="apple-mobile-web-app-capable">
32
+ <meta content="black-translucent" name="apple-mobile-web-app-status-bar-style">
33
+ <meta content="#ffffff" name="msapplication-navbutton-color">
34
+
35
+ <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500&amp;display=swap" rel="stylesheet"/>
36
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"/>
37
+ <link href="https://fonts.gstatic.com" rel="preconnect">
38
+ <style>
39
+
40
+ html {
41
+ -webkit-font-smoothing: antialiased;
42
+ }
43
+
44
+ html,
45
+ body {
46
+ height: 100%;
47
+ margin: 0;
48
+ }
49
+
50
+ * {
51
+ box-sizing: border-box;
52
+ }
53
+
54
+ *:before, *:after {
55
+ box-sizing: border-box;
56
+ }
57
+
58
+ .loading-container {
59
+ max-height: 100vh;
60
+ min-height: 100vh;
61
+ display: flex;
62
+ justify-content: center;
63
+ align-items: center;
64
+ }
65
+ </style>
66
+ <script src="https://cdn.tailwindcss.com?plugins=typography"></script>
67
+ <script>
68
+ tailwind.config = {
69
+ darkMode: 'class',
70
+ theme: {
71
+ extend: {
72
+ colors: {
73
+ primary: {
74
+ 50: 'var(--primary-50)',
75
+ 100: 'var(--primary-100)',
76
+ 200: 'var(--primary-200)',
77
+ 300: 'var(--primary-300)',
78
+ 400: 'var(--primary-400)',
79
+ 500: 'var(--primary-500)',
80
+ 600: 'var(--primary-600)',
81
+ 700: 'var(--primary-700)',
82
+ 800: 'var(--primary-800)',
83
+ 900: 'var(--primary-900)',
84
+ a100: 'var(--primary-a100)',
85
+ a200: 'var(--primary-a200)',
86
+ a400: 'var(--primary-a400)',
87
+ a700: 'var(--primary-a700)',
88
+ },
89
+ accent: {
90
+ 50: 'var(--accent-50)',
91
+ 100: 'var(--accent-100)',
92
+ 200: 'var(--accent-200)',
93
+ 300: 'var(--accent-300)',
94
+ 400: 'var(--accent-400)',
95
+ 500: 'var(--accent-500)',
96
+ 600: 'var(--accent-600)',
97
+ 700: 'var(--accent-700)',
98
+ 800: 'var(--accent-800)',
99
+ 900: 'var(--accent-900)',
100
+ a100: 'var(--accent-a100)',
101
+ a200: 'var(--accent-a200)',
102
+ a400: 'var(--accent-a400)',
103
+ a700: 'var(--accent-a700)',
104
+ },
105
+ warn: {
106
+ 50: 'var(--warn-50)',
107
+ 100: 'var(--warn-100)',
108
+ 200: 'var(--warn-200)',
109
+ 300: 'var(--warn-300)',
110
+ 400: 'var(--warn-400)',
111
+ 500: 'var(--warn-500)',
112
+ 600: 'var(--warn-600)',
113
+ 700: 'var(--warn-700)',
114
+ 800: 'var(--warn-800)',
115
+ 900: 'var(--warn-900)',
116
+ a100: 'var(--warn-a100)',
117
+ a200: 'var(--warn-a200)',
118
+ a400: 'var(--warn-a400)',
119
+ a700: 'var(--warn-a700)',
120
+ },
121
+ contrast: {
122
+ 50: 'var(--contrast-50)',
123
+ 100: 'var(--contrast-100)',
124
+ 200: 'var(--contrast-200)',
125
+ 300: 'var(--contrast-300)',
126
+ 400: 'var(--contrast-400)',
127
+ 500: 'var(--contrast-500)',
128
+ 600: 'var(--contrast-600)',
129
+ 700: 'var(--contrast-700)',
130
+ 800: 'var(--contrast-800)',
131
+ 900: 'var(--contrast-900)',
132
+ a100: 'var(--contrast-a100)',
133
+ a200: 'var(--contrast-a200)',
134
+ a400: 'var(--contrast-a400)',
135
+ a700: 'var(--contrast-a700)',
136
+ },
137
+ },
138
+ },
139
+ },
140
+ };
141
+ </script>
142
+ </head>
143
+ <body class="mat-typography">
144
+ <<%= prefix %>-root>
145
+ <div class="loading-container">
146
+ <div class="e-loadholder">
147
+ <div class="m-loader">
148
+ <span class="e-text">Loading</span>
149
+ </div>
150
+ </div>
151
+ <div id="particleCanvas-Blue"></div>
152
+ <div id="particleCanvas-White"></div>
153
+ </div>
154
+ </<%= prefix %>-root>
155
+ <noscript>Please enable JavaScript to continue using this application.</noscript>
156
+ <script>
157
+ if (
158
+ localStorage.getItem('rxap-dark-mode') === 'true' ||
159
+ (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches)
160
+ ) {
161
+ document.body.classList.add('dark-theme', 'dark', 'dark-mode');
162
+ }
163
+ </script>
164
+ </body>
165
+ </html>
@@ -0,0 +1,3 @@
1
+ @use "<%= relativePathToWorkspaceRoot %>/shared/angular/styles";
2
+
3
+ /* You can add global styles to this file, and also import other style files */
@@ -0,0 +1,42 @@
1
+ <html>
2
+ <body>
3
+ <script>
4
+ var checks = [ /[\?|&|#]code=/, /[\?|&|#]error=/, /[\?|&|#]token=/, /[\?|&|#]id_token=/ ];
5
+
6
+ function isResponse(str) {
7
+ if (!str) {
8
+ return false;
9
+ }
10
+ for (var i = 0; i < checks.length; i++) {
11
+ if (str.match(checks[i])) {
12
+ return true;
13
+ }
14
+ }
15
+ return false;
16
+ }
17
+
18
+ var message = isResponse(location.hash) ? location.hash : '#' + location.search;
19
+
20
+ if (window.parent && window.parent !== window) {
21
+ // if loaded as an iframe during silent refresh
22
+ window.parent.postMessage(
23
+ message,
24
+ location.origin,
25
+ );
26
+ } else if (window.opener && window.opener !== window) {
27
+ // if loaded as a popup during initial login
28
+ window.opener.postMessage(
29
+ message,
30
+ location.origin,
31
+ );
32
+ } else {
33
+ // last resort for a popup which has been through redirects and can't use window.opener
34
+ localStorage.setItem(
35
+ 'auth_hash',
36
+ message,
37
+ );
38
+ localStorage.removeItem('auth_hash');
39
+ }
40
+ </script>
41
+ </body>
42
+ </html>
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "<%= classify(name) %>",
3
+ "short_name": "<%= classify(name) %>",
4
+ "theme_color": "#ffc107",
5
+ "background_color": "#303030",
6
+ "display": "standalone",
7
+ "scope": "./",
8
+ "start_url": "./",
9
+ "id": "<%= dasherize(name) %>",
10
+ "icons": [
11
+ {
12
+ "src": "assets/icons/icon-72x72.png",
13
+ "sizes": "72x72",
14
+ "type": "image/png"
15
+ },
16
+ {
17
+ "src": "assets/icons/icon-96x96.png",
18
+ "sizes": "96x96",
19
+ "type": "image/png"
20
+ },
21
+ {
22
+ "src": "assets/icons/icon-128x128.png",
23
+ "sizes": "128x128",
24
+ "type": "image/png"
25
+ },
26
+ {
27
+ "src": "assets/icons/icon-144x144.png",
28
+ "sizes": "144x144",
29
+ "type": "image/png"
30
+ },
31
+ {
32
+ "src": "assets/icons/icon-152x152.png",
33
+ "sizes": "152x152",
34
+ "type": "image/png"
35
+ },
36
+ {
37
+ "src": "assets/icons/icon-192x192.png",
38
+ "sizes": "192x192",
39
+ "type": "image/png"
40
+ },
41
+ {
42
+ "src": "assets/icons/icon-384x384.png",
43
+ "sizes": "384x384",
44
+ "type": "image/png"
45
+ },
46
+ {
47
+ "src": "assets/icons/icon-512x512.png",
48
+ "sizes": "512x512",
49
+ "type": "image/png"
50
+ }
51
+ ]
52
+ }
@@ -0,0 +1,29 @@
1
+ FROM registry.gitlab.com/rxap/docker/i18n-nginx:alpine
2
+
3
+ ARG PROJECT_NAME
4
+ ARG SUB_DOMAIN
5
+
6
+ RUN if [ -z "$PROJECT_NAME" ]; then exit 1; fi
7
+
8
+ ENV TRAEFIK_SERVICE_NAME=$PROJECT_NAME
9
+
10
+ ENV TRAEFIK_ROUTER_NAME=$PROJECT_NAME
11
+ ENV TRAEFIK_ROUTER_PRIORITY=10
12
+ ENV TRAEFIK_ROUTER_SUB_DOMAIN=$SUB_DOMAIN
13
+
14
+ ENV TREAFIK_HEALTH_CHECK_INTERVAL=60s
15
+ ENV TREAFIK_HEALTH_CHECK_TIMEOUT=10s
16
+ ENV TREAFIK_HEALTH_CHECK_PATH=/index.html
17
+
18
+ LABEL traefik.enable=true
19
+
20
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.path=$TREAFIK_HEALTH_CHECK_PATH
21
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.interval=$TREAFIK_HEALTH_CHECK_INTERVAL
22
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.healthCheck.timeout=$TREAFIK_HEALTH_CHECK_TIMEOUT
23
+ LABEL traefik.http.services.$TRAEFIK_SERVICE_NAME.loadbalancer.server.port=80
24
+
25
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.rule=HostRegexp(`${TRAEFIK_ROUTER_SUB_DOMAIN}{domain:.+}`)
26
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.priority=$TRAEFIK_ROUTER_PRIORITY
27
+ LABEL traefik.http.routers.$TRAEFIK_ROUTER_NAME.service=$TRAEFIK_SERVICE_NAME
28
+
29
+ COPY . /usr/share/nginx/html
@@ -18,25 +18,13 @@
18
18
  "installMode": "prefetch",
19
19
  "resources": {
20
20
  "files": [
21
- "/assets/**",
22
- "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
21
+ "assets/**",
22
+ "*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
23
23
  ]
24
24
  }
25
25
  }
26
26
  ],
27
27
  "dataGroups": [
28
- {
29
- "name": "config",
30
- "urls": [
31
- "/*.json"
32
- ],
33
- "cacheConfig": {
34
- "strategy": "freshness",
35
- "maxSize": 10,
36
- "maxAge": "1d",
37
- "timeout": "30s"
38
- }
39
- },
40
28
  {
41
29
  "name": "api",
42
30
  "urls": [
@@ -0,0 +1,9 @@
1
+ @import "fonts/material-icons";
2
+ @import "fonts/croissant-one";
3
+ @import "fonts/inclusive-sans";
4
+ @import "fonts/pixelify-sans";
5
+ @import "fonts/roboto-mono";
6
+ @import "fonts/young-serif";
7
+ @import "fonts/roboto";
8
+ @import "fonts/mooli";
9
+ @import "fonts/fuggles";
@@ -0,0 +1,10 @@
1
+ @use "./theme";
2
+
3
+ html, body {
4
+ @apply h-full;
5
+ }
6
+
7
+ body {
8
+ @apply m-0;
9
+ @apply font-sans;
10
+ }
@@ -0,0 +1,200 @@
1
+ @mixin centre($axis: "both") {
2
+ position: absolute;
3
+ @if $axis == "y" {
4
+ top: 50%;
5
+ -webkit-transform: translateY(-50%);
6
+ -moz-transform: translateY(-50%);
7
+ -ms-transform: translateY(-50%);
8
+ -o-transform: translateY(-50%);
9
+ transform: translateY(-50%);
10
+ }
11
+ @if $axis == "x" {
12
+ left: 50%;
13
+ -webkit-transform: translateX(-50%);
14
+ -moz-transform: translateX(-50%);
15
+ -ms-transform: translateX(-50%);
16
+ -o-transform: translateX(-50%);
17
+ transform: translateX(-50%);
18
+ }
19
+ @if $axis == "both" {
20
+ top: 50%;
21
+ left: 50%;
22
+ -webkit-transform: translate(-51%, -50%);
23
+ -moz-transform: translate(-51%, -50%);
24
+ -ms-transform: translate(-51%, -50%);
25
+ -o-transform: translate(-51%, -50%);
26
+ transform: translate(-51%, -50%);
27
+ }
28
+ }
29
+
30
+ @mixin font-size($sizeValue: 1.6, $lineHeight: 2.4) {
31
+ font-size: ($sizeValue * 10) + px;
32
+ font-size: $sizeValue + rem;
33
+ line-height: ($lineHeight * 10) + px;
34
+ }
35
+
36
+ @mixin animation($animate...) {
37
+ $max: length($animate);
38
+ $animations: '';
39
+
40
+ @for $i from 1 through $max {
41
+ $animations: #{$animations + nth($animate, $i)};
42
+
43
+ @if $i < $max {
44
+ $animations: #{$animations + ", "};
45
+ }
46
+ }
47
+ -webkit-animation: $animations;
48
+ -moz-animation: $animations;
49
+ -o-animation: $animations;
50
+ animation: $animations;
51
+ }
52
+
53
+ @mixin keyframes($animationName) {
54
+ @-webkit-keyframes #{$animationName} {
55
+ @content;
56
+ }
57
+ @-moz-keyframes #{$animationName} {
58
+ @content;
59
+ }
60
+ @-o-keyframes #{$animationName} {
61
+ @content;
62
+ }
63
+ @keyframes #{$animationName} {
64
+ @content;
65
+ }
66
+ }
67
+
68
+ @mixin loadingAnimation($background) {
69
+
70
+ $f-title: 'Roboto', sans-serif;
71
+ $f-body: 'Open Sans', sans-serif;
72
+
73
+ @include keyframes(outerRotate1) {
74
+ 0% {
75
+ transform: translate(-50%, -50%) rotate(0)
76
+ }
77
+ 100% {
78
+ transform: translate(-50%, -50%) rotate(360deg)
79
+ }
80
+ }
81
+ @include keyframes(outerRotate2) {
82
+ 0% {
83
+ transform: translate(-50%, -50%) rotate(0)
84
+ }
85
+ 100% {
86
+ transform: translate(-50%, -50%) rotate(-360deg)
87
+ }
88
+ }
89
+
90
+ @include keyframes(textColour) {
91
+ 0% {
92
+ color: #fff;
93
+ }
94
+ 100% {
95
+ color: #3BB2D0;
96
+ }
97
+ }
98
+
99
+ .e-loadholder {
100
+ @include centre();
101
+ width: 240px;
102
+ height: 240px;
103
+ border: 5px solid #1B5F70;
104
+ border-radius: 120px;
105
+ box-sizing: border-box;
106
+
107
+
108
+ &:after {
109
+ @include centre;
110
+ content: " ";
111
+ display: block;
112
+ background: $background;
113
+ transform-origin: center;
114
+ z-index: 0;
115
+ }
116
+
117
+ &:after {
118
+ width: 100px;
119
+ height: 200%;
120
+ @include animation('outerRotate2 30s infinite linear');
121
+ }
122
+
123
+ .m-loader {
124
+ @include centre();
125
+ width: 200px;
126
+ height: 200px;
127
+ color: #888;
128
+ text-align: center;
129
+ border: 5px solid lighten(#1B5F70, 15%);
130
+ border-radius: 100px;
131
+ box-sizing: border-box;
132
+ z-index: 20;
133
+ text-transform: uppercase;
134
+
135
+ &:after {
136
+ @include centre;
137
+ content: " ";
138
+ display: block;
139
+ background: $background;
140
+ transform-origin: center;
141
+ z-index: -1;
142
+ }
143
+
144
+ &:after {
145
+ width: 100px;
146
+ height: 106%;
147
+ @include animation('outerRotate1 15s infinite linear');
148
+ }
149
+
150
+ .e-text {
151
+ @include font-size(1.4, 13);
152
+ @include centre();
153
+ @include animation('textColour 1s alternate linear infinite');
154
+ display: block;
155
+ width: 140px;
156
+ height: 140px;
157
+ text-align: center;
158
+ border: 5px solid lighten(#1B5F70, 25%);
159
+ border-radius: 70px;
160
+ box-sizing: border-box;
161
+ z-index: 20;
162
+
163
+ &:before, &:after {
164
+ @include centre;
165
+ content: " ";
166
+ display: block;
167
+ background: $background;
168
+ transform-origin: center;
169
+ z-index: -1;
170
+ }
171
+
172
+ &:before {
173
+ width: 110%;
174
+ height: 40px;
175
+ @include animation('outerRotate2 3.5s infinite linear');
176
+ }
177
+
178
+ &:after {
179
+ width: 40px;
180
+ height: 110%;
181
+ @include animation('outerRotate1 8s infinite linear');
182
+ }
183
+ }
184
+ }
185
+ }
186
+
187
+ #particleCanvas-White {
188
+ @include centre();
189
+ width: 100%;
190
+ height: 50%;
191
+ opacity: 0.1;
192
+ }
193
+
194
+ #particleCanvas-Blue {
195
+ @include centre();
196
+ width: 300px;
197
+ height: 300px;
198
+ }
199
+
200
+ }
@@ -0,0 +1,98 @@
1
+ $primary-pat: (
2
+ 50: var(--primary-50),
3
+ 100: var(--primary-100),
4
+ 200: var(--primary-200),
5
+ 300: var(--primary-300),
6
+ 400: var(--primary-400),
7
+ 500: var(--primary-500),
8
+ 600: var(--primary-600),
9
+ 700: var(--primary-700),
10
+ 800: var(--primary-800),
11
+ 900: var(--primary-900),
12
+ A100: var(--primary-a100),
13
+ A200: var(--primary-a200),
14
+ A400: var(--primary-a400),
15
+ A700: var(--primary-a700),
16
+ contrast: (
17
+ 50: var(--contrast-50),
18
+ 100: var(--contrast-100),
19
+ 200: var(--contrast-200),
20
+ 300: var(--contrast-300),
21
+ 400: var(--contrast-400),
22
+ 500: var(--contrast-500),
23
+ 600: var(--contrast-600),
24
+ 700: var(--contrast-700),
25
+ 800: var(--contrast-800),
26
+ 900: var(--contrast-900),
27
+ A100: var(--contrast-a100),
28
+ A200: var(--contrast-a200),
29
+ A400: var(--contrast-a400),
30
+ A700: var(--contrast-a700),
31
+ ),
32
+ );
33
+
34
+ $accent-pat: (
35
+ 50: var(--accent-50),
36
+ 100: var(--accent-100),
37
+ 200: var(--accent-200),
38
+ 300: var(--accent-300),
39
+ 400: var(--accent-400),
40
+ 500: var(--accent-500),
41
+ 600: var(--accent-600),
42
+ 700: var(--accent-700),
43
+ 800: var(--accent-800),
44
+ 900: var(--accent-900),
45
+ A100: var(--accent-a100),
46
+ A200: var(--accent-a200),
47
+ A400: var(--accent-a400),
48
+ A700: var(--accent-a700),
49
+ contrast: (
50
+ 50: var(--contrast-50),
51
+ 100: var(--contrast-100),
52
+ 200: var(--contrast-200),
53
+ 300: var(--contrast-300),
54
+ 400: var(--contrast-400),
55
+ 500: var(--contrast-500),
56
+ 600: var(--contrast-600),
57
+ 700: var(--contrast-700),
58
+ 800: var(--contrast-800),
59
+ 900: var(--contrast-900),
60
+ A100: var(--contrast-a100),
61
+ A200: var(--contrast-a200),
62
+ A400: var(--contrast-a400),
63
+ A700: var(--contrast-a700),
64
+ ),
65
+ );
66
+
67
+ $warn-pat: (
68
+ 50: var(--warn-50),
69
+ 100: var(--warn-100),
70
+ 200: var(--warn-200),
71
+ 300: var(--warn-300),
72
+ 400: var(--warn-400),
73
+ 500: var(--warn-500),
74
+ 600: var(--warn-600),
75
+ 700: var(--warn-700),
76
+ 800: var(--warn-800),
77
+ 900: var(--warn-900),
78
+ A100: var(--warn-a100),
79
+ A200: var(--warn-a200),
80
+ A400: var(--warn-a400),
81
+ A700: var(--warn-a700),
82
+ contrast: (
83
+ 50: var(--contrast-50),
84
+ 100: var(--contrast-100),
85
+ 200: var(--contrast-200),
86
+ 300: var(--contrast-300),
87
+ 400: var(--contrast-400),
88
+ 500: var(--contrast-500),
89
+ 600: var(--contrast-600),
90
+ 700: var(--contrast-700),
91
+ 800: var(--contrast-800),
92
+ 900: var(--contrast-900),
93
+ A100: var(--contrast-a100),
94
+ A200: var(--contrast-a200),
95
+ A400: var(--contrast-a400),
96
+ A700: var(--contrast-a700),
97
+ ),
98
+ );
@@ -0,0 +1,45 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ @mixin table-theme($theme) {
4
+ $background: map-get($theme, background);
5
+ $accent: map-get($theme, accent);
6
+ $isDark: map-get($theme, is-dark);
7
+
8
+ .table-scroll-container {
9
+ // region scrollbar
10
+
11
+ &::-webkit-scrollbar {
12
+ height: 6px;
13
+ }
14
+
15
+ &::-webkit-scrollbar-track {
16
+ border-radius: 2px;
17
+ }
18
+
19
+ &::-webkit-scrollbar-thumb {
20
+ border-radius: 10px;
21
+ background: mat.get-color-from-palette($accent, 100);
22
+
23
+ &:hover {
24
+ background: mat.get-color-from-palette($accent, 300);
25
+ }
26
+ }
27
+
28
+ // endregion
29
+ }
30
+
31
+ .dark {
32
+
33
+ .table-scroll-container {
34
+ &::-webkit-scrollbar-thumb {
35
+ background: mat.get-color-from-palette($accent, 900) !important;
36
+
37
+ &:hover {
38
+ background: mat.get-color-from-palette($accent, 700) !important;
39
+ }
40
+ }
41
+ }
42
+
43
+ }
44
+
45
+ }