diff --git a/.gitignore b/.gitignore
index 1d304f0f0..0b5c2ea34 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,63 +1,69 @@
-# See http://help.github.com/ignore-files/ for more about ignoring files.
+### Git ###
+!.gitkeep
-# compiled output
-/dist
-/tmp
-/out-tsc
-# Only exists if Bazel was run
-/bazel-out
-# dependencies
-node_modules
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
-# profiling files
-chrome-profiler-events*.json
-speed-measure-plugin*.json
-# IDEs and editors
-/.idea
-.project
-.classpath
-.c9/
-*.launch
-.settings/
-*.sublime-workspace
-
-# IDE - VSCode
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-.history/*
-
-# misc
-/.sass-cache
-/connect.lock
-/coverage
-/libpeerconnection.log
-npm-debug.log
-yarn-error.log
-testem.log
-/typings
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+
+/.nb-gradle/
-# System Files
+
+### VS Code ###
+.vscode/
+
+dump.rdb
+
+
+### OS Specific ###
.DS_Store
-Thumbs.db
+.tmp/
+
+tmp/
+
+### Node / NPM ###
coverage/
-development/
-docs/
-static/
-.lighthouseci/
-.vscode/
+logs/
+node_modules/
+
+.npmrc
+npm-debug.log
package-lock.json
-yarn.lock
+
+
+### Project Specific ###
src/config.json
src/config-template.json
src/assets/icons/*
-!src/assets/icons/tl
-!src/assets/icons/bootstrap
+src/assets/tinymce/
+!src/assets/icons/custom/weaver-w.svg
+!src/assets/icons/feather/chevron-right.svg
.wvr-ud/static-assets/styles.css
+.verdaccio
+
+docs/
+static/
+development/
+.lighthouseci/
diff --git a/Dockerfile b/Dockerfile
index 08681678a..1fa1005bd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,38 +1,73 @@
-FROM node:16-slim as npm
+# Settings.
+ARG USER_ID=3001
+ARG USER_NAME=components
+ARG SOURCE_DIR=/$USER_NAME/source
+ARG NPM_REGISTRY=upstream
+ARG NODE_ENV=development
-COPY package.json ./
+# Node stage.
+FROM node:lts-slim as build
+ARG USER_ID
+ARG USER_NAME
+ARG SOURCE_DIR
+ARG NPM_REGISTRY
+ARG NODE_ENV
-WORKDIR /app
-COPY . .
+ENV NODE_ENV=$NODE_ENV
-RUN npm install
-RUN npm run build
+# Create the user and group (use a high ID to attempt to avoid conflicts).
+RUN groupadd --non-unique -g $USER_ID $USER_NAME && \
+ useradd --non-unique -d /$USER_NAME -m -u $USER_ID -g $USER_ID $USER_NAME
-FROM httpd:2.4-alpine
+# Update the system and install dependencies (iproute2 is needed for "ip").
+RUN apt-get update && \
+ apt-get upgrade -y && \
+ apt install iproute2 -y && \
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/*
-ARG MAJOR_VERSION=0x
-ARG MAJOR_MINOR_VERSION=0.0
+# Copy in files from outside of docker.
+COPY . $SOURCE_DIR
+
+# Ensure required file permissions.
+RUN chown -R $USER_ID:$USER_ID $SOURCE_DIR
+
+# Set deployment directory.
+WORKDIR $SOURCE_DIR
-COPY --from=npm /app/dist/bundle/ /usr/local/apache2/htdocs/tl-components/bundle
+# Login as user.
+USER $USER_NAME
-RUN ln -s /usr/local/apache2/htdocs/tl-components/bundle /usr/local/apache2/htdocs/tl-components/latest
-RUN ln -s /usr/local/apache2/htdocs/tl-components/bundle /usr/local/apache2/htdocs/tl-components/${MAJOR_VERSION}x
-RUN ln -s /usr/local/apache2/htdocs/tl-components/bundle /usr/local/apache2/htdocs/tl-components/${MAJOR_MINOR_VERSION}
+# Perform actions.
+RUN echo $NPM_REGISTRY && \
+ bash build/docker-npmrc.sh $NPM_REGISTRY && \
+ npm install && \
+ npm run build
+
+# Apache stage.
+FROM httpd:2.4-alpine
+ARG SOURCE_DIR
+ARG MAJOR_VERSION=0x
+ARG MAJOR_MINOR_VERSION=0.0
-COPY --from=npm /app/src/config-template.json tmp/config-template.json
-COPY docker-entrypoint /usr/local/bin/
+COPY --from=build $SOURCE_DIR/dist/bundle/ /usr/local/apache2/htdocs/tl-components/bundle
+COPY --from=build $SOURCE_DIR/src/config-template.json tmp/config-template.json
-RUN chmod +x /usr/local/bin/docker-entrypoint
+RUN ln -s /usr/local/apache2/htdocs/tl-components/bundle /usr/local/apache2/htdocs/tl-components/latest && \
+ ln -s /usr/local/apache2/htdocs/tl-components/bundle /usr/local/apache2/htdocs/tl-components/${MAJOR_VERSION}x && \
+ ln -s /usr/local/apache2/htdocs/tl-components/bundle /usr/local/apache2/htdocs/tl-components/${MAJOR_MINOR_VERSION}
-ENTRYPOINT ["docker-entrypoint"]
+COPY build/docker-entrypoint.sh /usr/local/bin/
+RUN chmod +x /usr/local/bin/docker-entrypoint.sh
-RUN apk update;
-RUN apk upgrade;
+ENTRYPOINT ["docker-entrypoint.sh"]
-RUN echo "" >> /usr/local/apache2/conf/httpd.conf
-RUN echo "###SPECIFIC CUSTOMIZATIONS###" >> /usr/local/apache2/conf/httpd.conf
-RUN echo "" >> /usr/local/apache2/conf/httpd.conf
+RUN apk update && \
+ apk upgrade
-RUN printf ' \nOrder Allow,Deny \nAllow from all \nAllowOverride all \nHeader set Access-Control-Allow-Origin "*" \n' >> /usr/local/apache2/conf/httpd.conf
+RUN echo "" >> /usr/local/apache2/conf/httpd.conf && \
+ echo "###SPECIFIC CUSTOMIZATIONS###" >> /usr/local/apache2/conf/httpd.conf && \
+ echo "" >> /usr/local/apache2/conf/httpd.conf && \
+ printf ' \nOrder Allow,Deny \nAllow from all \nAllowOverride all \nHeader set Access-Control-Allow-Origin "*" \n' >> /usr/local/apache2/conf/httpd.conf
CMD ["httpd", "-D", "FOREGROUND"]
diff --git a/docker-entrypoint b/build/docker-entrypoint.sh
similarity index 100%
rename from docker-entrypoint
rename to build/docker-entrypoint.sh
diff --git a/build/docker-npmrc.sh b/build/docker-npmrc.sh
new file mode 100644
index 000000000..f0a8a8a83
--- /dev/null
+++ b/build/docker-npmrc.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Requires ip and awk, but only for docker-linux.
+
+main() {
+ if [[ $1 == "docker-linux" ]] ; then
+ to_npmrc $(ip route | awk '/^default via/ { print $3 }')
+ elif [[ $1 == "docker-windows" || $1 == "docker-mac" ]] ; then
+ to_npmrc host.docker.internal
+ fi
+}
+
+to_npmrc() {
+ echo "Setting NPM registry to '$1'."
+ echo "registry=http://$1:4873" >> .npmrc
+}
+
+main "$@"
diff --git a/package.json b/package.json
index 635a8ffdb..e17132423 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"type": "git",
"url": "git+https://github.com/TAMULib/tamu-library-components.git"
},
- "version": "2.0.2",
+ "version": "2.0.3-rc.1",
"private": false,
"license": "MIT",
"engines": {
@@ -59,84 +59,68 @@
"test:ci": "npm run test:audit && npm run test:coverage"
},
"dependencies": {
- "@angular/animations": "^12.2.16",
- "@angular/common": "^12.2.16",
- "@angular/compiler": "^12.2.16",
- "@angular/core": "^12.2.16",
- "@angular/elements": "^12.2.16",
- "@angular/forms": "^12.2.16",
- "@angular/localize": "^12.2.16",
- "@angular/platform-browser": "^12.2.16",
- "@angular/platform-browser-dynamic": "^12.2.16",
- "@angular/router": "^12.2.16",
- "@ng-bootstrap/ng-bootstrap": "^10.0.0",
- "@ngrx/effects": "^12.4.0",
- "@ngrx/entity": "^12.4.0",
- "@ngrx/store": "^12.4.0",
- "@ngrx/store-devtools": "^12.4.0",
- "@stomp/stompjs": "^6.1.2",
- "@tinymce/tinymce-angular": "^4.2.4",
- "@ungap/custom-elements": "^1.1.0",
- "@wvr/elements": "2.0.2",
- "bootstrap": "^4.6.2",
- "css-element-queries": "^1.2.3",
- "handlebars": "^4.7.7",
- "jsdom": "^20.0.0",
- "karma-viewport": "^1.0.9",
- "ng-inline-svg": "^13.1.1",
- "ng-lazyload-image": "^9.1.3",
- "ngx-build-plus": "^12.2.0",
- "rxjs-compat": "^6.6.7",
- "sockjs-client": "^1.6.1",
- "tinymce": "^6.1.2",
- "tslib": "^2.4.0",
- "web-animations-js": "^2.3.2",
- "zone.js": "~0.11.8"
+ "@angular/animations": "12.2.16",
+ "@angular/elements": "12.2.16",
+ "@angular/platform-browser-dynamic": "12.2.16",
+ "@ng-bootstrap/ng-bootstrap": "10.0.0",
+ "@ngrx/effects": "12.5.1",
+ "@ngrx/entity": "12.5.1",
+ "@ngrx/store-devtools": "12.5.1",
+ "@stomp/stompjs": "6.1.2",
+ "@tinymce/tinymce-angular": "4.2.4",
+ "@wvr/elements": "next",
+ "bootstrap": "4.6.2",
+ "ng-lazyload-image": "9.1.3",
+ "ngx-build-plus": "12.2.0",
+ "sockjs-client": "1.6.1",
+ "tinymce": "6.2.0"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^12.2.16",
- "@angular-devkit/schematics": "^12.2.16",
- "@angular-eslint/eslint-plugin": "^14.0.3",
- "@angular/cli": "^12.2.16",
- "@angular/compiler-cli": "^12.2.16",
- "@angular/language-service": "^12.2.16",
- "@compodoc/compodoc": "^1.1.19",
- "@lhci/cli": "^0.8.1",
- "@types/jasmine": "~3.10.3",
- "@types/jasminewd2": "~2.0.10",
- "@types/node": "^16.11.7",
- "@typescript-eslint/eslint-plugin": "^5.36.1",
- "@typescript-eslint/eslint-plugin-tslint": "^5.36.1",
- "@typescript-eslint/parser": "^5.36.1",
- "codelyzer": "^6.0.2",
- "concat": "^1.0.3",
- "console-stamp": "^3.0.6",
- "coveralls": "^3.1.1",
- "dotenv-override-true": "^6.2.2",
- "eslint": "^8.23.0",
- "eslint-config-prettier": "^8.5.0",
- "eslint-plugin-import": "^2.26.0",
- "glob": "^7.2.3",
- "jasmine-core": "~3.9.0",
- "jasmine-spec-reporter": "~7.0.0",
- "karma": "~6.4.0",
- "karma-chrome-launcher": "~3.1.1",
- "karma-coverage": "^2.2.0",
- "karma-coverage-istanbul-reporter": "~3.0.3",
- "karma-jasmine": "~4.0.2",
- "karma-jasmine-html-reporter": "^1.7.0",
- "karma-ng-html2js-preprocessor": "^1.0.0",
- "lighthouse": "^9.6.6",
- "lighthouse-badges": "^1.1.26",
- "ng-packagr": "^12.2.7",
- "protractor": "~7.0.0",
- "rimraf": "^3.0.2",
- "shelljs": "^0.8.5",
- "static-server": "^2.2.1",
- "ts-node": "~10.2.1",
- "typescript": "~4.3.5"
+ "@angular-devkit/build-angular": "12.2.16",
+ "@angular-eslint/eslint-plugin": "14.1.2",
+ "@angular/cli": "12.2.16",
+ "@compodoc/compodoc": "1.1.19",
+ "@lhci/cli": "0.9.0",
+ "@types/jasminewd2": "2.0.10",
+ "@typescript-eslint/eslint-plugin": "5.38.1",
+ "@typescript-eslint/eslint-plugin-tslint": "5.38.1",
+ "codelyzer": "6.0.2",
+ "concat": "1.0.3",
+ "console-stamp": "3.0.6",
+ "coveralls": "3.1.1",
+ "dotenv-override-true": "6.2.2",
+ "eslint": "8.24.0",
+ "eslint-config-prettier": "8.5.0",
+ "eslint-plugin-import": "2.26.0",
+ "glob": "7.2.3",
+ "jasmine": "4.4.0",
+ "jasmine-spec-reporter": "7.0.0",
+ "jsdom": "20.0.0",
+ "karma": "6.4.1",
+ "karma-chrome-launcher": "3.1.1",
+ "karma-coverage": "2.2.0",
+ "karma-coverage-istanbul-reporter": "3.0.3",
+ "karma-jasmine": "4.0.2",
+ "karma-jasmine-html-reporter": "1.7.0",
+ "karma-ng-html2js-preprocessor": "1.0.0",
+ "karma-viewport": "1.0.9",
+ "lighthouse": "9.6.7",
+ "lighthouse-badges": "1.1.26",
+ "ng-packagr": "12.2.7",
+ "protractor": "7.0.0",
+ "shelljs": "0.8.5",
+ "static-server": "2.2.1",
+ "ts-node": "10.9.1"
},
"overrides": {
- "@types/eslint": "^6.1.3"
+ "@angular/core": "12.2.16",
+ "@types/eslint": "6.8.1",
+ "chokidar": "3.5.3",
+ "fs-extra": "10.1.0",
+ "glob": "7.2.3",
+ "latest-version": "7.0.0",
+ "selfsigned": "2.1.1",
+ "terser": "5.15.0",
+ "tslib": "2.4.0"
}
}
diff --git a/projects/tl-elements/ng-package.json b/projects/tl-elements/ng-package.json
index b116fe8ab..65ec29fa3 100644
--- a/projects/tl-elements/ng-package.json
+++ b/projects/tl-elements/ng-package.json
@@ -5,8 +5,7 @@
"entryFile": "src/public-api.ts",
"umdModuleIds": {
"@wvr/elements": "elements",
- "@tinymce/tinymce-angular": "tinymceAngular",
- "ng-inline-svg": "ngInlineSvg"
+ "@tinymce/tinymce-angular": "tinymceAngular"
}
},
"allowedNonPeerDependencies": []
diff --git a/projects/tl-elements/package.json b/projects/tl-elements/package.json
index 8d23d47bd..1a0effbf2 100644
--- a/projects/tl-elements/package.json
+++ b/projects/tl-elements/package.json
@@ -1,6 +1,6 @@
{
"name": "@wvr/tl-elements",
- "version": "2.0.2",
+ "version": "2.0.3-rc.1",
"description": "Collection of angular components for TAMU's Custom Web Component UI",
"author": "Texas A&M University Libraries",
"private": false,
@@ -21,13 +21,11 @@
],
"license": "MIT",
"dependencies": {
- "tslib": "^2.3.1"
+ "tslib": "2.4.0"
},
"peerDependencies": {
- "@angular/common": "^12.2.7",
- "@angular/core": "^12.2.7",
- "@tinymce/tinymce-angular": "^4.2.1",
- "@wvr/elements": "2.0.2",
- "ng-inline-svg": "^12.1.0"
+ "@angular/common": "12.2.16",
+ "@tinymce/tinymce-angular": "4.2.4",
+ "@wvr/elements": "next"
}
}
diff --git a/projects/tl-elements/src/lib/shared/styles/tl-branded-btn.scss b/projects/tl-elements/src/lib/shared/styles/tl-branded-btn.scss
deleted file mode 100644
index 96faae4db..000000000
--- a/projects/tl-elements/src/lib/shared/styles/tl-branded-btn.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-@import "./tl-variables.scss";
-
-:host {
-
-}
diff --git a/projects/tl-elements/src/lib/shared/tl-shared.module.ts b/projects/tl-elements/src/lib/shared/tl-shared.module.ts
index c3fde7455..f492e66d9 100644
--- a/projects/tl-elements/src/lib/shared/tl-shared.module.ts
+++ b/projects/tl-elements/src/lib/shared/tl-shared.module.ts
@@ -3,7 +3,6 @@ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { EditorModule } from '@tinymce/tinymce-angular';
import { WvrSharedModule } from '@wvr/elements';
-import { InlineSVGModule } from 'ng-inline-svg';
import { TlAlertComponent } from '../tl-alert/tl-alert.component';
import { TlButtonComponent } from '../tl-button/tl-button.component';
import { TlCardComponent } from '../tl-card/tl-card.component';
@@ -51,7 +50,6 @@ const MODULES = [
CommonModule,
EditorModule,
FormsModule,
- InlineSVGModule,
ReactiveFormsModule,
WvrSharedModule
];
diff --git a/projects/tl-elements/src/lib/tl-alert/tl-alert.component.scss b/projects/tl-elements/src/lib/tl-alert/tl-alert.component.scss
index 9981416a5..851aaa99a 100644
--- a/projects/tl-elements/src/lib/tl-alert/tl-alert.component.scss
+++ b/projects/tl-elements/src/lib/tl-alert/tl-alert.component.scss
@@ -1,5 +1,4 @@
-@import "../shared/styles/tl-encapsulated.scss";
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-button/tl-button.component.scss b/projects/tl-elements/src/lib/tl-button/tl-button.component.scss
index 423148455..7ea3f004e 100644
--- a/projects/tl-elements/src/lib/tl-button/tl-button.component.scss
+++ b/projects/tl-elements/src/lib/tl-button/tl-button.component.scss
@@ -1,4 +1,4 @@
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-card/tl-card.component.scss b/projects/tl-elements/src/lib/tl-card/tl-card.component.scss
index fe513b4d0..6173d92bb 100644
--- a/projects/tl-elements/src/lib/tl-card/tl-card.component.scss
+++ b/projects/tl-elements/src/lib/tl-card/tl-card.component.scss
@@ -1,3 +1 @@
-@import "../shared/styles/tl-encapsulated.scss";
-@import "../shared/styles/tl-branded-btn.scss";
-
+@import "../shared/styles/tl-variables.scss";
diff --git a/projects/tl-elements/src/lib/tl-dropdown-menu/tl-dropdown-menu.component.scss b/projects/tl-elements/src/lib/tl-dropdown-menu/tl-dropdown-menu.component.scss
index 7dc12728b..c6445b323 100644
--- a/projects/tl-elements/src/lib/tl-dropdown-menu/tl-dropdown-menu.component.scss
+++ b/projects/tl-elements/src/lib/tl-dropdown-menu/tl-dropdown-menu.component.scss
@@ -1,4 +1,3 @@
-@import "../shared/styles/tl-encapsulated.scss";
@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-dropdown/tl-dropdown.component.scss b/projects/tl-elements/src/lib/tl-dropdown/tl-dropdown.component.scss
index 766ae3baf..cebdad050 100644
--- a/projects/tl-elements/src/lib/tl-dropdown/tl-dropdown.component.scss
+++ b/projects/tl-elements/src/lib/tl-dropdown/tl-dropdown.component.scss
@@ -1,4 +1,4 @@
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-footer/tl-footer.component.scss b/projects/tl-elements/src/lib/tl-footer/tl-footer.component.scss
index 237533d59..f67a33307 100644
--- a/projects/tl-elements/src/lib/tl-footer/tl-footer.component.scss
+++ b/projects/tl-elements/src/lib/tl-footer/tl-footer.component.scss
@@ -1,5 +1,5 @@
@import "../shared/styles/tl-encapsulated.scss";
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
:host {
font-family: var(--tl-font-family-sans-serif);
diff --git a/projects/tl-elements/src/lib/tl-header/tl-header.component.scss b/projects/tl-elements/src/lib/tl-header/tl-header.component.scss
index 01e243b71..149eb0878 100644
--- a/projects/tl-elements/src/lib/tl-header/tl-header.component.scss
+++ b/projects/tl-elements/src/lib/tl-header/tl-header.component.scss
@@ -1,5 +1,5 @@
@import "../shared/styles/tl-encapsulated.scss";
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
:host {
font-family: var(--tl-font-family-sans-serif);
@@ -150,6 +150,10 @@
a {
padding: 8px 0px 8px 8px;
width: 100%;
+ color: rgb(0, 100, 139);
+ &:hover {
+ color: rgb(0, 63, 88);
+ }
}
tl-icon-component svg {
diff --git a/projects/tl-elements/src/lib/tl-icon/tl-icon.component.scss b/projects/tl-elements/src/lib/tl-icon/tl-icon.component.scss
index dbe63be34..408b89a72 100644
--- a/projects/tl-elements/src/lib/tl-icon/tl-icon.component.scss
+++ b/projects/tl-elements/src/lib/tl-icon/tl-icon.component.scss
@@ -3,9 +3,10 @@
:host {
tl-icon-wrapper {
display: inline-block;
+ margin-left: 5px;
}
- wvre-icon {
+ wvr-icon-component {
--wvr-icon-color: inherit;
--wvr-icon-size: inherit;
}
diff --git a/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.scss b/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.scss
index e748096b5..3f5727cd6 100644
--- a/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.scss
+++ b/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.scss
@@ -1,4 +1,3 @@
-@import "../shared/styles/tl-encapsulated.scss";
@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.ts b/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.ts
index 5bfa456e8..a947e270a 100644
--- a/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.ts
+++ b/projects/tl-elements/src/lib/tl-it-works/tl-it-works.component.ts
@@ -1,11 +1,10 @@
-import { ChangeDetectionStrategy, Component, Injector, Input, ViewEncapsulation } from '@angular/core';
+import { ChangeDetectionStrategy, Component, Injector, Input } from '@angular/core';
import { TamuAbstractBaseComponent } from '../shared/tl-abstract-base.component';
@Component({
selector: 'tl-it-works-component',
templateUrl: './tl-it-works.component.html',
styleUrls: ['./tl-it-works.component.scss'],
- encapsulation: ViewEncapsulation.ShadowDom,
changeDetection: ChangeDetectionStrategy.Default
})
export class TlItWorksComponent extends TamuAbstractBaseComponent {
diff --git a/projects/tl-elements/src/lib/tl-mega-menu/tl-mega-menu.component.scss b/projects/tl-elements/src/lib/tl-mega-menu/tl-mega-menu.component.scss
index 9a24dfd86..31e086b11 100644
--- a/projects/tl-elements/src/lib/tl-mega-menu/tl-mega-menu.component.scss
+++ b/projects/tl-elements/src/lib/tl-mega-menu/tl-mega-menu.component.scss
@@ -1,4 +1,3 @@
-@import "../shared/styles/tl-encapsulated.scss";
@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-modal/tl-modal.component.scss b/projects/tl-elements/src/lib/tl-modal/tl-modal.component.scss
index bc3a22b21..0ce1953b9 100644
--- a/projects/tl-elements/src/lib/tl-modal/tl-modal.component.scss
+++ b/projects/tl-elements/src/lib/tl-modal/tl-modal.component.scss
@@ -1,5 +1,4 @@
-@import "../shared/styles/tl-encapsulated.scss";
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.scss b/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.scss
index 880c0e667..6173d92bb 100644
--- a/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.scss
+++ b/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.scss
@@ -1,2 +1 @@
-@import "../shared/styles/tl-encapsulated.scss";
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
diff --git a/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.ts b/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.ts
index 7aa605eac..f9d8241fb 100644
--- a/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.ts
+++ b/projects/tl-elements/src/lib/tl-nav-list/tl-nav-list.component.ts
@@ -1,4 +1,4 @@
-import { ChangeDetectionStrategy, Component, Injector, Input, ViewEncapsulation } from '@angular/core';
+import { ChangeDetectionStrategy, Component, Injector, Input } from '@angular/core';
import { Alignment } from '@wvr/elements';
import { TamuAbstractBaseComponent } from '../shared/tl-abstract-base.component';
@@ -10,7 +10,6 @@ import { TamuAbstractBaseComponent } from '../shared/tl-abstract-base.component'
selector: 'tl-nav-list-component',
templateUrl: './tl-nav-list.component.html',
styleUrls: ['./tl-nav-list.component.scss'],
- encapsulation: ViewEncapsulation.ShadowDom,
changeDetection: ChangeDetectionStrategy.Default
})
export class TlNavListComponent extends TamuAbstractBaseComponent {
diff --git a/projects/tl-elements/src/lib/tl-tabs/tl-tab/tl-tab.component.scss b/projects/tl-elements/src/lib/tl-tabs/tl-tab/tl-tab.component.scss
index 159ec2683..ea50b7d98 100644
--- a/projects/tl-elements/src/lib/tl-tabs/tl-tab/tl-tab.component.scss
+++ b/projects/tl-elements/src/lib/tl-tabs/tl-tab/tl-tab.component.scss
@@ -1,5 +1,4 @@
-@import "../../shared/styles/tl-encapsulated.scss";
-@import "../../shared/styles/tl-branded-btn.scss";
+@import "../../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/lib/tl-wysiwyg/tl-wysiwyg.component.scss b/projects/tl-elements/src/lib/tl-wysiwyg/tl-wysiwyg.component.scss
index 9a72b7283..8fab198a6 100644
--- a/projects/tl-elements/src/lib/tl-wysiwyg/tl-wysiwyg.component.scss
+++ b/projects/tl-elements/src/lib/tl-wysiwyg/tl-wysiwyg.component.scss
@@ -1,5 +1,4 @@
-@import "../shared/styles/tl-encapsulated.scss";
-@import "../shared/styles/tl-branded-btn.scss";
+@import "../shared/styles/tl-variables.scss";
:host {
diff --git a/projects/tl-elements/src/test.ts b/projects/tl-elements/src/test.ts
index e84a96d6d..7277a6b53 100644
--- a/projects/tl-elements/src/test.ts
+++ b/projects/tl-elements/src/test.ts
@@ -1,6 +1,4 @@
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
-// tslint:disable-next-line:no-import-side-effect
-import '@angular/localize/init';
/* tslint:disable: no-import-side-effect */
import 'zone.js';
import 'zone.js/testing';
diff --git a/scripts/serve-dist.js b/scripts/serve-dist.js
index 7d0e63e1b..8ada5da29 100644
--- a/scripts/serve-dist.js
+++ b/scripts/serve-dist.js
@@ -3,9 +3,20 @@
const fs = require('fs');
const path = require('path');
const express = require('express');
+const compression = require('compression');
const server = express();
+server.use(compression({
+ filter: (req, res) => {
+ if (req.headers['x-no-compression']) {
+ return false;
+ }
+
+ return compression.filter(req, res);
+ }
+}));
+
server.use(express.static('www', { maxAge: 3600000 }));
fs.copyFileSync('src/index.html', `dist/bundle/index.html`);
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 831f1f7df..ff94d41fd 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -1,7 +1,7 @@
import { Injector, NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { Store } from '@ngrx/store';
-import { StoreDevtoolsModule } from '@ngrx/store-devtools';
+import { storeDevtoolsInstrument } from '../environments/environment';
import { TINYMCE_SCRIPT_SRC } from '@tinymce/tinymce-angular';
import { actions, AppConfig, APP_CONFIG, registerWeaverElements, RootState, ThemeVariants } from '@wvr/elements';
import { themes } from '../../projects/tl-elements/src/lib/shared/themes';
@@ -13,10 +13,7 @@ const getTinyMCEScript = (appConfig: AppConfig): string => `${appConfig.assetsUr
@NgModule({
imports: [
BrowserAnimationsModule,
- StoreDevtoolsModule.instrument({
- maxAge: 25, // retains last 25 states
- logOnly: true // restrict extension to log-only mode
- }),
+ ...storeDevtoolsInstrument,
TLCoreModule,
TLSharedModule
],
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
index 3612073bc..5be57f1b1 100644
--- a/src/environments/environment.prod.ts
+++ b/src/environments/environment.prod.ts
@@ -1,3 +1,6 @@
+// Excluse devtools from production as per https://ngrx.io/guide/store-devtools/recipes/exclude .
+export const storeDevtoolsInstrument = [];
+
export const environment = {
production: true
};
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 30d7bccb1..61967a0c7 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -1,3 +1,13 @@
+import { StoreDevtoolsModule } from '@ngrx/store-devtools';
+
+// Excluse devtools from production as per https://ngrx.io/guide/store-devtools/recipes/exclude .
+export const storeDevtoolsInstrument = [
+ StoreDevtoolsModule.instrument({
+ maxAge: 25, // retains last 25 states
+ logOnly: true // restrict extension to log-only mode
+ })
+];
+
// This file can be replaced during build by using the `fileReplacements` array.
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
// The list of file replacements can be found in `angular.json`.
diff --git a/src/index.html b/src/index.html
old mode 100755
new mode 100644
index 501164b22..652aff9ea
--- a/src/index.html
+++ b/src/index.html
@@ -5,6 +5,8 @@
TAMU Library Components
+
+