install nifi-fds module and update systemjs paths
Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/dcbb1ac2 Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/dcbb1ac2 Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/dcbb1ac2 Branch: refs/heads/gh-pages Commit: dcbb1ac2e9e8dd6aa1d2dd5f1814f44bb3aee7b8 Parents: 2d47c86 Author: Scott Aslan <[email protected]> Authored: Sat Mar 24 10:52:25 2018 -0400 Committer: Scott Aslan <[email protected]> Committed: Sat Mar 24 10:52:25 2018 -0400 ---------------------------------------------------------------------- NOTICE | 5 + index.html | 2 +- node_modules/nifi-fds/Gruntfile.js | 68 ++++++ node_modules/nifi-fds/LICENSE | 240 +++++++++++++++++++ node_modules/nifi-fds/NOTICE | 5 + node_modules/nifi-fds/README.md | 128 ++++++++++ node_modules/nifi-fds/karma-test-shim.js | 112 +++++++++ node_modules/nifi-fds/karma.conf.js | 134 +++++++++++ node_modules/nifi-fds/package.json | 97 ++++++++ .../platform/core/common/fds-common.module.js | 48 ++++ .../platform/core/common/fds.animations.js | 133 ++++++++++ .../core/common/services/fds-storage.service.js | 219 +++++++++++++++++ .../common/services/fds-storage.service.spec.js | 61 +++++ .../core/common/styles/_basicElements.scss | 130 ++++++++++ .../core/common/styles/_buttonToggles.scss | 98 ++++++++ .../platform/core/common/styles/_buttons.scss | 214 +++++++++++++++++ .../core/common/styles/_checkboxes.scss | 85 +++++++ .../platform/core/common/styles/_chips.scss | 69 ++++++ .../core/common/styles/_expansionPanels.scss | 62 +++++ .../core/common/styles/_globalVars.scss | 69 ++++++ .../core/common/styles/_helperClasses.scss | 85 +++++++ .../platform/core/common/styles/_inputs.scss | 109 +++++++++ .../platform/core/common/styles/_links.scss | 35 +++ .../platform/core/common/styles/_menus.scss | 118 +++++++++ .../platform/core/common/styles/_modals.scss | 23 ++ .../platform/core/common/styles/_panels.scss | 54 +++++ .../platform/core/common/styles/_radios.scss | 56 +++++ .../platform/core/common/styles/_sideNav.scss | 20 ++ .../platform/core/common/styles/_stepper.scss | 20 ++ .../platform/core/common/styles/_tables.scss | 118 +++++++++ .../platform/core/common/styles/_tabs.scss | 41 ++++ .../platform/core/common/styles/_tooltips.scss | 24 ++ .../styles/css/fluid-design-system.min.css | 3 + .../styles/css/fluid-design-system.min.css.gz | Bin 0 -> 3176 bytes .../styles/css/fluid-design-system.min.css.map | 27 +++ .../core/common/styles/fluid-design-system.scss | 35 +++ .../core/dialogs/_fds-dialog-component.scss | 21 ++ .../confirm-dialog.component.html | 45 ++++ .../confirm-dialog/confirm-dialog.component.js | 64 +++++ .../confirm-dialog.component.spec.js | 50 ++++ .../core/dialogs/fds-dialog.component.html | 29 +++ .../core/dialogs/fds-dialog.component.js | 85 +++++++ .../core/dialogs/fds-dialogs.component.spec.js | 32 +++ .../platform/core/dialogs/fds-dialogs.module.js | 87 +++++++ .../core/dialogs/services/dialog.service.js | 134 +++++++++++ .../platform/core/fluid-design-system.module.js | 155 ++++++++++++ .../snackbars/coaster/_coaster.component.scss | 63 +++++ .../snackbars/coaster/coaster.component.html | 33 +++ .../core/snackbars/coaster/coaster.component.js | 70 ++++++ .../snackbars/coaster/coaster.component.spec.js | 32 +++ .../core/snackbars/fds-snackbar.component.html | 29 +++ .../core/snackbars/fds-snackbar.component.js | 85 +++++++ .../snackbars/fds-snackbar.component.spec.js | 32 +++ .../core/snackbars/fds-snackbars.module.js | 87 +++++++ .../core/snackbars/services/snackbar.service.js | 132 ++++++++++ .../platform/core/theming/_all-theme.scss | 36 +++ .../platform/systemjs-angular-loader.js | 66 +++++ .../nifi-fds/platform/systemjs.spec.config.js | 106 ++++++++ package-lock.json | 23 ++ .../fluid-design-system/fds-demo.html | 4 +- webapp/systemjs.config.js | 18 +- 61 files changed, 4253 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/NOTICE ---------------------------------------------------------------------- diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..50b77ff --- /dev/null +++ b/NOTICE @@ -0,0 +1,5 @@ +Apache NiFi Fluid Design System +Copyright 2014-2018 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/index.html ---------------------------------------------------------------------- diff --git a/index.html b/index.html index a821920..0a6213d 100644 --- a/index.html +++ b/index.html @@ -23,7 +23,7 @@ <meta name='viewport' content='width=device-width, initial-scale=1'> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> <link rel="stylesheet" href="node_modules/@covalent/core/common/platform.css"> - <link rel="stylesheet" href='node_modules/fluid-design-system/platform/core/common/styles/css/fluid-design-system.min.css'/> + <link rel="stylesheet" href='node_modules/nifi-fds/platform/core/common/styles/css/fluid-design-system.min.css'/> <link rel="stylesheet" href='webapp/css/fds-demo.min.css'/> <link rel='stylesheet' href='node_modules/font-awesome/css/font-awesome.css'/> </head> http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/Gruntfile.js ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/Gruntfile.js b/node_modules/nifi-fds/Gruntfile.js new file mode 100644 index 0000000..f4f8ae7 --- /dev/null +++ b/node_modules/nifi-fds/Gruntfile.js @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +module.exports = function (grunt) { + // load all grunt tasks matching the ['grunt-*', '@*/grunt-*'] patterns + require('load-grunt-tasks')(grunt); + + grunt.initConfig({ + sass: { + options: { + outputStyle: 'compressed', + sourceMap: true + }, + minifyFds: { + files: [{ + './platform/core/common/styles/css/fluid-design-system.min.css': ['./platform/core/common/styles/fluid-design-system.scss'] + }] + } + }, + compress: { + options: { + mode: 'gzip' + }, + fdsStyles: { + files: [{ + expand: true, + src: ['./platform/core/common/styles/css/fluid-design-system.min.css'], + dest: './', + ext: '.min.css.gz' + }] + } + }, + bump: { + options: { + files: ['package.json'], + updateConfigs: [], + commit: true, + commitMessage: 'Release FDS-%VERSION%', + commitFiles: ['-a'], + createTag: true, + tagName: 'FDS-%VERSION%', + tagMessage: 'Version FDS-%VERSION%', + push: true, + pushTo: 'origin', + gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d', + globalReplace: false, + prereleaseName: 'RC', + metadata: '', + regExp: false + } + } + }); + grunt.registerTask('compile-fds-styles', ['sass:minifyFds', 'compress:fdsStyles']); +}; http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/LICENSE ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/LICENSE b/node_modules/nifi-fds/LICENSE new file mode 100644 index 0000000..c7c91cd --- /dev/null +++ b/node_modules/nifi-fds/LICENSE @@ -0,0 +1,240 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +This product bundles 'Apache NiFi Registry' source code which is available under an ASLv2 license. + + Copyright (c) 2018 Apache NiFi Registry https://nifi.apache.org/registry.html + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +This product bundles 'Angular Quickstart' which is available under an MIT license. + + Copyright (c) 2010-2016 Google, Inc. http://angularjs.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/NOTICE ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/NOTICE b/node_modules/nifi-fds/NOTICE new file mode 100644 index 0000000..50b77ff --- /dev/null +++ b/node_modules/nifi-fds/NOTICE @@ -0,0 +1,5 @@ +Apache NiFi Fluid Design System +Copyright 2014-2018 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/README.md ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/README.md b/node_modules/nifi-fds/README.md new file mode 100644 index 0000000..5ac1f90 --- /dev/null +++ b/node_modules/nifi-fds/README.md @@ -0,0 +1,128 @@ +# Apache NiFi Fluid Design System + +The Apache NiFi Fluid Design System module is an atomic reusable platform providing consistent set of UI/UX components for open source friendly web applications to consume. Checkout the demo web application on the `gh-pages` branch to see a complete example of an Angular application that leverages this NGModule. This demo application allows users to interact with and provides sample code for the available UI/UX components: [https://apache.github.io/nifi-fds/](https://apache.github.io/nifi-fds/). + +#### npm + +For developers not interested in building the FDS NgModule you can use **npm** to install the distribution files. + +```bash +npm install nifi-fds +``` + +## Setup + +Import the **Fluid Design System** NgModule into your angular application: + +```javascript +var fdsCore = require('fluid-design-system/core'); +AppModule.prototype = { + constructor: AppModule +}; + +AppModule.annotations = [ + new ngCore.NgModule({ + imports: [ + fdsCore, + ... + ], + ... +}) +... +``` + +## Styles, Icons and Theming + +A typical theme file will look something like this: + +```javascript +@import '../../platform/core/theming/all-theme'; + +$primaryColor: #9E737D; +$primaryColorHover: #915D69; +$accentColor: #d0dbe0; +$accentColorHover: #CCCCCC; + +// Include the base styles for Angular Material core. We include this here so that you only +// have to load a single css file for Angular Material in your app. +@include mat-core; + +// Define the palettes +$fds-base-palette: (50: #89df79, 100: $primaryColorHover, 200: #65d550, 300: #53d03b, 400: #46c32f, 500: $primaryColor, 600: $primaryColor, 700: #89df79, 800: #29701b, 900: #215c16, A100: #9be48d, A200: #ade9a2, A400: #bfedb6, A700: #1a4711, contrast: (50: $black-87-opacity, 100: $black-87-opacity, 200: $black-87-opacity, 300: white, 400: white, 500: $white-87-opacity, 600: $white-87-opacity, 700: $white-87-opacity, 800: $white-87-opacity, 900: $white-87-opacity, A100: $black-87-opacity, A200: white, A400: white, A700: $white-87-opacity)); +$fds-accent-palette: (50: #89df79, 100: $accentColorHover, 200: #65d550, 300: #53d03b, 400: #46c32f, 500: $accentColor, 600: $accentColor, 700: #89df79, 800: #29701b, 900: #215c16, A100: #9be48d, A200: #ade9a2, A400: #bfedb6, A700: #1a4711, contrast: (50: $black-87-opacity, 100: $black-87-opacity, 200: $black-87-opacity, 300: white, 400: white, 500: $white-87-opacity, 600: $white-87-opacity, 700: $white-87-opacity, 800: $white-87-opacity, 900: $white-87-opacity, A100: $black-87-opacity, A200: white, A400: white, A700: $white-87-opacity)); +$fds-warn-palette: (50: #81410f, 100: #D14A50, 200: #af5814, 300: #c66317, 400: #dd6f19, 500: $warnColor, 600: $warnColor, 700: #eea66e, 800: #f1b485, 900: #f4c29b, A100: #ec9857, A200: #89df79, A400: #89df79, A700: #f6d0b2, contrast: (50: $black-87-opacity, 100: $black-87-opacity, 200: $black-87-opacity, 300: white, 400: white, 500: $white-87-opacity, 600: $white-87-opacity, 700: $white-87-opacity, 800: $white-87-opacity, 900: $white-87-opacity, A100: $black-87-opacity, A200: white, A400: white, A700: $white-87-opacity)); +$fds-primary: mat-palette($fds-base-palette, 500, 100, 500); +$fds-accent: mat-palette($fds-accent-palette, 500, 100, 500); +$fds-warn: mat-palette($fds-warn-palette, 500, 100, 500); + +// Define the theme (Optionally specify a default, lighter, and darker hue.) +$fds-theme: mat-light-theme($fds-primary, $fds-accent, $fds-warn); + +// FDS theme mixin +@include fds-theme($fds-theme); +``` + +NiFi Fluid Design System UI/UX Platform comes with a base CSS file `node_modules/fluid-design-system/core/common/styles/css/fluid-design-system.min.css` (includes icons). + +## Building + +Developers can easily build this project using **npm**. + +First install or update your local project's **npm** tools: + +```bash +npm install +``` + +Next run: + +```bash +npm run build +``` + +## Testing + +Developers can easily test this project using **npm**. + +```bash +npm test +``` + +Or, during development: + +```bash +npm run test:dev +``` + +## Release Managment + +For developers with permissions releasing a new version of the NiFi Fluid Design System is simple with [grunt bump](https://github.com/vojtajina/grunt-bump) + +## Running the demo locally + +For developers that would like to contribute to the demo please checkout the `gh-pages` branch: + +```bash +git checkout gh-pages +``` + +Next, you will need to update the base url. To do this simply edit the index.html file on line 21: + +```bash +<base href='/fluid-design-system/'> +``` + +should be: + +```bash +<base href='/'> +``` + +Finally, start the application: + +```bash +npm start +``` + +The demo application should now be availalbe at: [http://127.0.0.1:8080/](http://127.0.0.1:8080/). + http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/karma-test-shim.js ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/karma-test-shim.js b/node_modules/nifi-fds/karma-test-shim.js new file mode 100644 index 0000000..eeeb18d --- /dev/null +++ b/node_modules/nifi-fds/karma-test-shim.js @@ -0,0 +1,112 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// /*global jasmine, __karma__, window*/ +Error.stackTraceLimit = 0; // "No stacktrace"" is usually best for app testing. + +// Uncomment to get full stacktrace output. Sometimes helpful, usually not. +// Error.stackTraceLimit = Infinity; // + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000; + +// builtPaths: root paths for output ("built") files +// get from karma.config.js, then prefix with '/base/' +var builtPaths = (__karma__.config.builtPaths) + .map(function (p) { + return '/base/' + p; + }); + +__karma__.loaded = function () { +}; + +function isJsFile(path) { + return path.slice(-3) == '.js'; +} + +function isSpecFile(path) { + return /\.spec\.(.*\.)?js$/.test(path); +} + +// Is a "built" file if is JavaScript file in one of the "built" folders +function isBuiltFile(path) { + return isJsFile(path) && + builtPaths.reduce(function (keep, bp) { + return keep || (path.substr(0, bp.length) === bp); + }, false); +} + +var allSpecFiles = Object.keys(window.__karma__.files) + .filter(isSpecFile) + .filter(isBuiltFile); + +System.config({ + // Base URL for System.js calls. 'base/' is where Karma serves files from. + baseURL: 'base', + + // Map the angular testing umd bundles + map: { + '@angular/core/testing': 'npm:@angular/core/bundles/core-testing.umd.js', + '@angular/common/testing': 'npm:@angular/common/bundles/common-testing.umd.js', + '@angular/compiler/testing': 'npm:@angular/compiler/bundles/compiler-testing.umd.js', + '@angular/platform-browser/testing': 'npm:@angular/platform-browser/bundles/platform-browser-testing.umd.js', + '@angular/platform-browser-dynamic/testing': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic-testing.umd.js', + '@angular/http/testing': 'npm:@angular/http/bundles/http-testing.umd.js', + '@angular/router/testing': 'npm:@angular/router/bundles/router-testing.umd.js', + '@angular/forms/testing': 'npm:@angular/forms/bundles/forms-testing.umd.js' + } +}); + +System.import('platform/systemjs.spec.config.js') + .then(initTestBed) + .then(initTesting); + +/** Optional SystemJS configuration extras. Keep going w/o it */ +function importSystemJsExtras() { + return System.import('platform/systemjs.config.extras.js') + .catch(function (reason) { + console.log( + 'Warning: System.import could not load the optional "systemjs.config.extras.js". Did you omit it by accident? Continuing without it.' + ); + console.log(reason); + }); +} + +function initTestBed() { + return Promise.all([ + System.import('@angular/core/testing'), + System.import('@angular/platform-browser-dynamic/testing') + ]) + + .then(function (providers) { + var coreTesting = providers[0]; + var browserTesting = providers[1]; + + coreTesting.TestBed.initTestEnvironment( + browserTesting.BrowserDynamicTestingModule, + browserTesting.platformBrowserDynamicTesting()); + }) +} + +// Import all spec files and start karma +function initTesting() { + return Promise.all( + allSpecFiles.map(function (moduleName) { + return System.import(moduleName); + }) + ) + .then(__karma__.start, __karma__.error); +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/karma.conf.js ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/karma.conf.js b/node_modules/nifi-fds/karma.conf.js new file mode 100644 index 0000000..4b0f692 --- /dev/null +++ b/node_modules/nifi-fds/karma.conf.js @@ -0,0 +1,134 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +module.exports = function (config) { + + var appBase = 'platform/'; // app JS and map files + + config.set({ + basePath: '', + browserNoActivityTimeout: 9999999, //default 10000 + browserDisconnectTimeout: 999999, // default 2000 + browserDisconnectTolerance: 1, // default 0 + captureTimeout: 999999, + frameworks: ['jasmine'], + customLaunchers: { + Chrome_travis_ci: { + base: 'ChromeHeadless', + flags: ['--no-sandbox'] + } + }, + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-spec-reporter'), + require('karma-coverage') + ], + + client: { + builtPaths: [appBase], // add more spec base paths as needed + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + + files: [ + // System.js for module loading + 'node_modules/systemjs/dist/system.src.js', + + // Polyfills + 'node_modules/core-js/client/shim.js', + + // zone.js + 'node_modules/zone.js/dist/zone.js', + 'node_modules/zone.js/dist/long-stack-trace-zone.js', + 'node_modules/zone.js/dist/proxy.js', + 'node_modules/zone.js/dist/sync-test.js', + 'node_modules/zone.js/dist/jasmine-patch.js', + 'node_modules/zone.js/dist/async-test.js', + 'node_modules/zone.js/dist/fake-async-test.js', + + // RxJs + {pattern: 'node_modules/rxjs/**/*.js', included: false, watched: false}, + {pattern: 'node_modules/rxjs/**/*.js.map', included: false, watched: false}, + + // Paths loaded via module imports: + {pattern: 'node_modules/systemjs/**/*.js.map', included: false, watched: false}, + {pattern: 'node_modules/@angular/**/*.js', included: false, watched: false}, + {pattern: 'node_modules/@angular/**/*.js.map', included: false, watched: false}, + {pattern: 'node_modules/jquery/**/*.js', included: false, watched: false}, + {pattern: 'node_modules/systemjs-plugin-text/text.js', included: false, watched: false}, + + {pattern: appBase + 'systemjs.spec.config.js', included: false, watched: false}, + 'karma-test-shim.js', // optionally extend SystemJS mapping e.g., with barrels + + // Include the Fluid Design System templates in the test suite. + { + pattern: 'platform/core/**/*.html', + included: true, + watched: true, + served: true + }, + + // Paths for debugging with source maps in dev tools + {pattern: appBase + '**/*.css.map', included: false, watched: false}, + {pattern: appBase + '**/*.js', included: false, watched: false} + ], + + // Proxied base paths for loading assets + proxies: { + // required for modules fetched by SystemJS + '/base/fds/node_modules/': '/base/node_modules/', + '/base/systemjs-angular-loader.js': '/base/platform/systemjs-angular-loader.js', + '/base/fds/': '/base/platform/' + }, + + exclude: [], + preprocessors: { + 'platform/**/!(*spec|*mock|*stub|*config|*extras|).js': 'coverage' + }, + reporters: ['kjhtml', 'spec', 'coverage'], + coverageReporter: { + type: 'html', + dir: 'coverage/' + }, + specReporter: { + failFast: false + }, + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); + + if (process.env.TRAVIS) { + config.set({ + browsers: ['Chrome_travis_ci'] + }); + + // Override base config + config.set({ + singleRun: true, + autoWatch: false, + reporters: ['spec', 'coverage'], + specReporter: { + failFast: true + } + }); + } +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/package.json ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/package.json b/node_modules/nifi-fds/package.json new file mode 100644 index 0000000..72296e0 --- /dev/null +++ b/node_modules/nifi-fds/package.json @@ -0,0 +1,97 @@ +{ + "_from": "git://github.com/apache/nifi-fds.git", + "_id": "[email protected]", + "_inBundle": false, + "_location": "/nifi-fds", + "_phantomChildren": {}, + "_requested": { + "type": "git", + "raw": "git://github.com/apache/nifi-fds.git", + "rawSpec": "git://github.com/apache/nifi-fds.git", + "saveSpec": "git://github.com/apache/nifi-fds.git", + "fetchSpec": "git://github.com/apache/nifi-fds.git", + "gitCommittish": null + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "git://github.com/apache/nifi-fds.git#3567be34f6b26acd4b4b6e341b04afa44b054015", + "_spec": "git://github.com/apache/nifi-fds.git", + "_where": "/Users/scottyaslan/Development/nifi-fds", + "author": { + "name": "Scott Aslan" + }, + "bugs": { + "url": "https://github.com/apache/nifi-fds/issues" + }, + "bundleDependencies": false, + "contributors": [ + { + "name": "Scott Aslan", + "email": "[email protected]" + } + ], + "dependencies": { + "@angular/animations": "4.4.6", + "@angular/cdk": "2.0.0-beta.12", + "@angular/common": "4.4.6", + "@angular/compiler": "4.4.6", + "@angular/core": "4.4.6", + "@angular/flex-layout": "2.0.0-beta.9", + "@angular/forms": "4.4.6", + "@angular/http": "4.4.6", + "@angular/material": "2.0.0-beta.12", + "@angular/platform-browser": "4.4.6", + "@angular/platform-browser-dynamic": "4.4.6", + "@angular/router": "4.4.6", + "jquery": "3.2.1", + "roboto-fontface": "0.7.0", + "rxjs": "5.4.3", + "systemjs": "0.20.17", + "systemjs-plugin-text": "0.0.11", + "zone.js": "0.8.7" + }, + "deprecated": false, + "description": "The Apache NiFi Fluid Design System module is an atomic reusable platform providing consistent set of UI/UX components for open source friendly web applications to consume.", + "devDependencies": { + "grunt": "0.4.5", + "grunt-bump": "^0.8.0", + "grunt-cli": "1.2.0", + "grunt-contrib-compress": "1.4.3", + "grunt-sass": "2.0.0", + "jasmine-core": "2.8.0", + "karma": "1.7.1", + "karma-chrome-launcher": "2.2.0", + "karma-cli": "1.0.1", + "karma-coverage": "1.1.1", + "karma-jasmine": "1.1.1", + "karma-jasmine-html-reporter": "0.2.2", + "karma-spec-reporter": "0.0.31", + "load-grunt-tasks": "3.5.2", + "protractor": "4.0.14" + }, + "homepage": "https://github.com/apache/nifi-fds#readme", + "keywords": [ + "fluid design system", + "angular", + "material", + "material design", + "components", + "reusable", + "covalent" + ], + "license": "Apache License, Version 2.0", + "module": "./platform/core/fluid-design-system.module.js", + "name": "nifi-fds", + "repository": { + "type": "git", + "url": "git+https://github.com/apache/nifi-fds.git" + }, + "scripts": { + "build": "./node_modules/grunt-cli/bin/grunt compile-fds-styles", + "test": "./node_modules/protractor/bin/webdriver-manager update --gecko false && karma start karma.conf.js --single-run", + "test:dev": "./node_modules/protractor/bin/webdriver-manager update --gecko false && karma start karma.conf.js" + }, + "version": "0.0.1" +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/fds-common.module.js ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/fds-common.module.js b/node_modules/nifi-fds/platform/core/common/fds-common.module.js new file mode 100644 index 0000000..32b5512 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/fds-common.module.js @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var ngCore = require('@angular/core'); +var fdsStorageServiceModule = require('@fluid-design-system/storage-service'); + +/** + * FdsCommonsModule constructor. + * + * @constructor + */ +function FdsCommonsModule() { + +}; + +FdsCommonsModule.prototype = { + constructor: FdsCommonsModule +}; + +FdsCommonsModule.annotations = [ + new ngCore.NgModule({ + imports: [], + declarations: [], + exports: [], + providers: [ + fdsStorageServiceModule.FdsStorageService + ] + }) +]; + +module.exports = { + FdsCommonsModule: FdsCommonsModule, + FdsStorageService: fdsStorageServiceModule.FdsStorageService +}; http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/fds.animations.js ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/fds.animations.js b/node_modules/nifi-fds/platform/core/common/fds.animations.js new file mode 100644 index 0000000..90cb660 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/fds.animations.js @@ -0,0 +1,133 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var ngAnimate = require('@angular/animations'); + +/** + * FdsAnimations constructor. + * + * @constructor + */ +function FdsAnimations() { +}; + +FdsAnimations.prototype = { + constructor: FdsAnimations, + + /** + * Fade animation + */ + fadeAnimation: ngAnimate.trigger('routeAnimation', [ + ngAnimate.state('*', + ngAnimate.style({ + opacity: 1 + }) + ), + ngAnimate.transition(':enter', [ + ngAnimate.style({ + opacity: 0 + }), + ngAnimate.animate('0.5s ease-in') + ]), + ngAnimate.transition(':leave', [ + ngAnimate.animate('0.5s ease-out', ngAnimate.style({ + opacity: 0 + })) + ]) + ]), + + /** + * Slide in from the left animation + */ + slideInLeftAnimation: ngAnimate.trigger('routeAnimation', [ + ngAnimate.state('*', + ngAnimate.style({ + opacity: 1, + transform: 'translateX(0)' + }) + ), + ngAnimate.transition(':enter', [ + ngAnimate.style({ + opacity: 0, + transform: 'translateX(-100%)' + }), + ngAnimate.animate('0.5s ease-in') + ]), + ngAnimate.transition(':leave', [ + ngAnimate.animate('0.5s ease-out', ngAnimate.style({ + opacity: 0, + transform: 'translateX(100%)' + })) + ]) + ]), + + /** + * Slide in from the top animation + */ + slideInDownAnimation: ngAnimate.trigger('routeAnimation', [ + ngAnimate.state('*', + ngAnimate.style({ + opacity: 1, + transform: 'translateY(0)' + }) + ), + ngAnimate.transition(':enter', [ + ngAnimate.style({ + opacity: 0, + transform: 'translateY(-100%)' + }), + ngAnimate.animate('0.5s ease-in') + ]), + ngAnimate.transition(':leave', [ + ngAnimate.animate('0.5s ease-out', ngAnimate.style({ + opacity: 0, + transform: 'translateY(100%)' + })) + ]) + ]), + + /** + * Fly in/out animation + */ + flyInOutAnimation: ngAnimate.trigger('flyInOut', [ + ngAnimate.state('in', + ngAnimate.style({transform: 'translateX(0)'}) + ), + ngAnimate.transition('void => *', [ + ngAnimate.style({transform: 'translateX(100%)'}), + ngAnimate.animate('0.4s 0.1s ease-in') + ]), + ngAnimate.transition('* => void', ngAnimate.animate('0.2s ease-out', ngAnimate.style({transform: 'translateX(-100%)'}))) + ]), + + /** + * Fly in/out animation + */ + fadeInOutAnimation: ngAnimate.trigger('fadeInOut', [ + ngAnimate.state('in', + ngAnimate.style({opacity: 1}) + ), + ngAnimate.transition('void => *', [ + ngAnimate.style({opacity: 0}), + ngAnimate.animate('0.5s 0.1s ease-in') + ]), + ngAnimate.transition('* => void', ngAnimate.animate('0.5s ease-out', ngAnimate.style({opacity: 0}))) + ]) + +}; + +module.exports = new FdsAnimations(); http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.js ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.js b/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.js new file mode 100644 index 0000000..8dff679 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.js @@ -0,0 +1,219 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Store items for two days before being eligible for removal. +var MILLIS_PER_DAY = 86400000; +var TWO_DAYS = MILLIS_PER_DAY * 2; + +var isUndefined = function (obj) { + return typeof obj === 'undefined'; +}; + +var isNull = function (obj) { + return obj === null; +}; + +var isDefinedAndNotNull = function (obj) { + return !isUndefined(obj) && !isNull(obj); +}; + +/** + * Checks the expiration for the specified entry. + * + * @param {object} entry + * @returns {boolean} + */ +var checkExpiration = function (entry) { + if (isDefinedAndNotNull(entry.expires)) { + // get the expiration + var expires = new Date(entry.expires); + var now = new Date(); + + // return whether the expiration date has passed + return expires.valueOf() < now.valueOf(); + } else { + return false; + } +}; + +/** + * Gets an enty for the key. The entry expiration is not checked. + * + * @param {string} key + */ +var getEntry = function (key) { + try { + // parse the entry + var entry = JSON.parse(localStorage.getItem(key)); + + // ensure the entry and item are present + if (isDefinedAndNotNull(entry)) { + return entry; + } else { + return null; + } + } catch (e) { + return null; + } +}; + +/** + * FdsStorageService constructor. + * @constructor + */ +function FdsStorageService() { +}; + +FdsStorageService.prototype = { + constructor: FdsStorageService, + /** + * Initializes the storage. Items will be persisted for two days. Once the scripts runs + * thereafter, all eligible items will be removed. This strategy does not support persistence. + */ + init: function () { + for (var i = 0; i < localStorage.length; i++) { + try { + // get the next item + var key = localStorage.key(i); + + // attempt to get the item which will expire if necessary + this.getItem(key); + } catch (e) { + } + } + }, + + /** + * Stores the specified item. + * + * @param {string} key + * @param {object} item + * @param {integer} expires + */ + setItem: function (key, item, expires) { + // calculate the expiration + expires = isDefinedAndNotNull(expires) ? expires : new Date().valueOf() + TWO_DAYS; + + // create the entry + var entry = { + expires: expires, + item: item + }; + + // store the item + localStorage.setItem(key, JSON.stringify(entry)); + }, + + /** + * Returns whether there is an entry for this key. This will not check the expiration. If + * the entry is expired, it will return null on a subsequent getItem invocation. + * + * @param {string} key + * @returns {boolean} + */ + hasItem: function (key) { + return getEntry(key) !== null; + }, + + /** + * Gets the item with the specified key. If an item with this key does + * not exist, null is returned. If an item exists but cannot be parsed + * or is malformed/unrecognized, null is returned. + * + * @param {type} key + */ + getItem: function (key) { + var entry = getEntry(key); + if (entry === null) { + return null; + } + + // if the entry is expired, drop it and return null + if (checkExpiration(entry)) { + this.removeItem(key); + return null; + } + + // if the entry has the specified field return its value + if (isDefinedAndNotNull(entry['item'])) { + return entry['item']; + } else { + return null; + } + }, + + /** + * Gets the expiration for the specified item. This will not check the expiration. If + * the entry is expired, it will return null on a subsequent getItem invocation. + * + * @param {string} key + * @returns {integer} + */ + getItemExpiration: function (key) { + var entry = getEntry(key); + if (entry === null) { + return null; + } + + // if the entry has the specified field return its value + if (isDefinedAndNotNull(entry['expires'])) { + return entry['expires']; + } else { + return null; + } + }, + + /** + * Extracts the subject from the specified jwt. If the jwt is not as expected + * an empty string is returned. + * + * @param {string} jwt + * @returns {string} + */ + getJwtPayload: function (jwt) { + if (isDefinedAndNotNull(jwt)) { + var segments = jwt.split(/\./); + if (segments.length !== 3) { + return ''; + } + + var rawPayload = window.atob(segments[1]); + var payload = JSON.parse(rawPayload); + + if (isDefinedAndNotNull(payload)) { + return payload; + } else { + return null; + } + } + + return null; + }, + + /** + * Removes the item with the specified key. + * + * @param {type} key + */ + removeItem: function (key) { + localStorage.removeItem(key); + } +}; + +FdsStorageService.parameters = []; + +module.exports = FdsStorageService; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.spec.js ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.spec.js b/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.spec.js new file mode 100644 index 0000000..f990af1 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/services/fds-storage.service.spec.js @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var FdsStorageService = require('@fluid-design-system/common/storage-service'); + +describe('FdsStorageService isolated unit tests', function () { + var fdsStorage; + + beforeEach(function () { + fdsStorage = new FdsStorageService(); + }); + + it('should set, retrieve, and remove an item from local storage.', function () { + fdsStorage.init(); + + var jwt = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ'; + var expiration; + var item; + + if (!fdsStorage.hasItem('jwt')) { + fdsStorage.setItem('jwt', jwt); + item = fdsStorage.getItem('jwt'); + + //assertions + expect(item).toBe('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ'); + + var payload = fdsStorage.getItemExpiration('jwt'); + + fdsStorage.removeItem('jwt'); + item = fdsStorage.getItem('jwt'); + + //assertions + expect(item).toBe(null); + } + }); + + it('should get jet payload.', function () { + + var jwt = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ'; + + var payload = fdsStorage.getJwtPayload(jwt); + + //assertions + expect(payload).toBeDefined(); + expect(payload.sub).toBe('1234567890'); + }); +}); http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_basicElements.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_basicElements.scss b/node_modules/nifi-fds/platform/core/common/styles/_basicElements.scss new file mode 100644 index 0000000..76c3a58 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_basicElements.scss @@ -0,0 +1,130 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + src: local("Roboto Light"), local("Roboto-Light"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto/Roboto-Light.ttf") format("truetype"); +} + +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: 300; + src: local("Roboto LightItalic"), local("Roboto-LightItalic"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto/Roboto-LightItalic.ttf") format("truetype"); +} + +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: normal; + src: local("Roboto Regular"), local("Roboto-Regular"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto/Roboto-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + src: local("Roboto Medium"), local("Roboto-Medium"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto/Roboto-Medium.ttf") format("truetype"); +} + +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: bold; + src: local("Roboto Bold"), local("Roboto-Bold"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto/Roboto-Bold.ttf") format("truetype"); +} + +@font-face { + font-family: 'Roboto'; + font-style: italic; + font-weight: normal; + src: local("Roboto Italic"), local("Roboto-Italic"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto/Roboto-RegularItalic.ttf") format("truetype"); +} + +@font-face { + font-family: 'Roboto Slab'; + font-style: normal; + font-weight: normal; + src: local("RobotoSlab Regular"), local("RobotoSlab-Regular"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto-Slab/Roboto-Slab-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: 'Roboto Slab'; + font-style: normal; + font-weight: bold; + src: local("RobotoSlab Bold"), local("RobotoSlab-Bold"), url("../../../../../../../node_modules/roboto-fontface/fonts/Roboto-Slab/Roboto-Slab-Bold.ttf") format("truetype"); +} + +body, +html { + height: 100%; +} + +body, +button, +input, +label, +select, +td, +textarea { + font-family: $fontPrimary; + font-size: 14px; +} + +body { + color: $bodyTextColor; +} + +strong { + font-weight: bold; +} + +pre { + overflow-x: auto; +} + +em { + font-style: italic; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: $fontPrimary; + font-weight: normal; + font-style: normal; + background: #FFFFFF; +} + +h1 { + color: $pageHeaderTextColor; +} + +h2 { + color: $subHeaderTextColor; +} + +table { + font-family: $fontPrimary; + font-size: 13px; + color: $grey2; +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_buttonToggles.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_buttonToggles.scss b/node_modules/nifi-fds/platform/core/common/styles/_buttonToggles.scss new file mode 100644 index 0000000..73f4263 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_buttonToggles.scss @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +body[fds] .expansion-panel-filter-toggle-group { + box-shadow: none !important; +} + +body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle { + height: 75px; + width: 125px; + border: 1px solid $grey4; +} + +body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle-label-content { + height: 100%; + width: 100%; + padding: 0; + line-height: 63px; + text-align: center; +} + +body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle-checked { + background-color: $blue-grey1; + color: white; +} + +body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle-checked .md-display-1 { + color: white; +} + +body[fds] .expansion-panel-filter-toggle-group .md-display-1 { + color: $blue-grey1; +} + +body[fds] .expansion-panel-filter-toggle-group div { + line-height: normal; +} + +body[fds] .tab-toggle-group { + box-shadow: none !important; +} + +body[fds] .tab-toggle-group .mat-button-toggle-label-content { + border-bottom: 2px solid $grey5; +} + +body[fds] .tab-toggle-group .mat-button-toggle-checked { + background: transparent; +} + +body[fds] .tab-toggle-group .mat-button-toggle-checked .mat-button-toggle-label-content { + border-bottom: 2px solid $blue-grey1; + background: transparent; +} + +body[fds] .on-off-toggle-group { + box-shadow: none !important; +} + +body[fds] .on-off-toggle-group .mat-button-toggle { + height: 20px; + width: 35px; + border: 1px solid $grey4; +} + +body[fds] .on-off-toggle-group .mat-button-toggle-label-content { + height: 100%; + width: 100%; + padding: 0; + line-height: 20px; + text-align: center; +} + +body[fds] .on-off-toggle-group .mat-button-toggle-checked { + background-color: $blue-grey1; + color: white; + border: 1px solid $blue-grey1; +} + +body[fds] .off-toggle.mat-button-toggle-checked { + background-color: $grey4; + color: $grey1; + border: 1px solid $grey4; +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_buttons.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_buttons.scss b/node_modules/nifi-fds/platform/core/common/styles/_buttons.scss new file mode 100644 index 0000000..a9c9627 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_buttons.scss @@ -0,0 +1,214 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* Buttons */ + +@mixin fds-buttons-theme($theme) { + $primaryColor: map-get(map-get($theme, primary), 500); + $primaryColorHover: map-get(map-get($theme, primary), 100); + $accentColor: map-get(map-get($theme, accent), 500); + $accentColorHover: map-get(map-get($theme, accent), 100); + $buttonFontColor: #FFFFFF; + $buttonFontColorDisabled: #D1E8D1; + $buttonBgColorPrimary: $primaryColor; + $buttonBgColorPrimaryHover: $primaryColorHover; + $buttonBgColorPrimaryDisabled: $primaryColor; + $buttonBgColorPrimarySelected: $primaryColor; + $buttonBgColorSecondary: #FFFFFF; + $buttonBgColorSecondaryHover: $primaryColorHover; + $buttonBgColorSecondarySelected: #FFFFFF; + $buttonBgColorRegular: #FFFFFF; + $buttonBgColorRegularHover: #808793; + $buttonBgColorRegularDisabled: #808793; + $buttonBgColorRegularSelected: #FFFFFF; + $buttonBorderColorSecondary: $primaryColor; + $buttonBorderColorSecondaryHover: $buttonBgColorSecondaryHover; + $buttonBorderColorSecondaryDisabled: $buttonBgColorSecondaryHover; + $buttonBorderColorSecondarySelected: $primaryColor; + $buttonBorderColorRegular: #CFD3D7; + $buttonBorderColorRegularHover: $buttonBgColorRegularHover; + $buttonBorderColorRegularDisabled: $buttonBgColorRegularHover; + $buttonBorderColorRegularSelected: #CFD3D7; + $buttonFontPrimaryColor: $buttonFontColor; + $buttonFontPrimaryColorHover: $buttonFontColor; + $buttonFontPrimaryColorDisabled: $buttonFontColorDisabled; + $buttonFontPrimaryColorSelected: $buttonFontColor; + $buttonFontSecondaryColor: $primaryColorHover; + $buttonFontSecondaryColorHover: $buttonFontColor; + $buttonFontSecondaryColorDisabled: $buttonFontColorDisabled; + $buttonFontSecondaryColorSelected: $primaryColorHover; + $buttonFontRegularColor: $descriptionTextColor; + $buttonFontRegularColorHover: $buttonFontColor; + $buttonFontRegularColorDisabled: $buttonFontColorDisabled; + $buttonFontRegularColorSelected: $bodyTextColor; + $buttonFontWarnColor: $buttonFontColor; + $buttonFontWarnColorHover: $buttonFontColor; + $buttonFontWarnColorDisabled: $buttonFontColorDisabled; + $buttonFontWarnColorSelected: $buttonFontColor; + $buttonFontCriticalColor: $buttonFontColor; + $buttonFontCriticalColorHover: $buttonFontColor; + $buttonFontCriticalColorDisabled: $buttonFontColorDisabled; + $buttonFontCriticalColorSelected: $buttonFontColor; + + body[fds] .mat-raised-button { + height: 34px; + font-family: $fontPrimary; + font-weight: normal; + font-size: 14px; + text-transform: uppercase; + line-height: normal; + box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12); + } + + body[fds] .mat-raised-button.cdk-focused:focus { + box-shadow: 0px 0px 2px 0px rgba(19, 145, 193, 1); + } + + body[fds] .mat-raised-button[disabled] { + opacity: .6; + cursor: not-allowed; + } + + body[fds] .mat-button-toggle-disabled .mat-button-toggle-label-content { + cursor: not-allowed; + } + + body[fds] .mat-button-focus-overlay { + background-color: transparent; + } + + body[fds] .mat-raised-button.mat-fds-primary { + border: 1px solid $buttonBgColorPrimary; + background-color: $buttonBgColorPrimary; + color: $buttonFontPrimaryColor; + } + + body[fds] .mat-raised-button.mat-fds-primary:hover { + background-color: $buttonBgColorPrimaryHover; + color: $buttonFontPrimaryColorHover; + } + + body[fds] .mat-raised-button.mat-fds-primary.mat-button-focus { + color: $buttonFontPrimaryColorSelected; + background-color: $buttonBgColorPrimarySelected; + } + + body[fds] .mat-raised-button.mat-fds-primary[disabled] { + color: $buttonFontPrimaryColorDisabled; + background-color: $buttonBgColorPrimaryDisabled; + color: $buttonFontPrimaryColorDisabled; + } + + body[fds] .mat-raised-button.mat-fds-secondary { + color: $buttonFontSecondaryColor; + border: 1px solid $buttonBorderColorSecondary; + } + + body[fds] .mat-raised-button.mat-fds-secondary:hover:not([disabled]) { + color: $buttonFontSecondaryColorHover; + background-color: $buttonBgColorSecondaryHover; + border: 1px solid $buttonBorderColorSecondaryHover; + } + + body[fds] .mat-raised-button.mat-fds-secondary.mat-button-focus { + color: $buttonFontSecondaryColorSelected; + background-color: $buttonBgColorSecondarySelected; + border: 1px solid $buttonBorderColorSecondarySelected; + } + + body[fds] .mat-raised-button.mat-fds-secondary[disabled] { + color: $buttonFontPrimaryColorDisabled; + background-color: $buttonBgColorPrimaryDisabled; + } + + body[fds] .mat-raised-button.mat-fds-regular { + color: $buttonFontRegularColor; + background-color: $buttonBgColorRegular; + border: 1px solid $buttonBorderColorRegular; + } + + body[fds] .mat-raised-button.mat-fds-regular:hover { + color: $buttonFontRegularColorHover; + background-color: $buttonBgColorRegularHover; + border: 1px solid $buttonBorderColorRegularHover; + } + + body[fds] .mat-raised-button.mat-fds-regular.mat-button-focus { + color: $buttonFontRegularColorSelected; + background-color: $buttonBgColorRegularSelected; + border: 1px solid $buttonBorderColorRegularSelected; + } + + body[fds] .mat-raised-button.mat-fds-regular[disabled] { + color: $buttonFontRegularColorDisabled; + background-color: $buttonBgColorRegularDisabled; + border: 1px solid $buttonBorderColorRegularDisabled; + } + + body[fds] .mat-raised-button.mat-fds-warn { + border: 1px solid $warnColor; + background-color: $warnColor; + color: $buttonFontWarnColor; + } + + body[fds] .mat-raised-button.mat-fds-warn:hover { + color: $buttonFontWarnColorHover; + background-color: $red2; + border: 1px solid $warnColor; + } + + body[fds] .mat-raised-button.mat-fds-warn.mat-button-focus { + color: $buttonFontWarnColorSelected; + background-color: $warnColor; + border: 1px solid $buttonBorderColorRegularSelected; + } + + body[fds] .mat-raised-button.mat-fds-warn[disabled] { + color: $buttonFontWarnColorDisabled; + background-color: $warnColor; + border: 1px solid $warnColor; + } + + body[fds] .mat-raised-button.mat-fds-critical { + color: $buttonFontCriticalColor; + background-color: $orange1; + border: 1px solid $orange1; + } + + body[fds] .mat-raised-button.mat-fds-critical:hover { + color: $buttonFontCriticalColorHover; + background-color: $orange2; + border: 1px solid $orange2; + } + + body[fds] .mat-raised-button.mat-fds-critical.mat-button-focus { + color: $buttonFontCriticalColorSelected; + background-color: $orange2; + border: 1px solid $buttonBorderColorRegularSelected; + } + + body[fds] .mat-raised-button.mat-fds-critical[disabled] { + color: $buttonFontCriticalColorDisabled; + background-color: $orange1; + border: 1px solid $orange1; + } + + .fds-primary-dropdown-button-menu .cdk-focused { + color: $buttonFontPrimaryColorSelected; + background-color: $buttonBgColorPrimarySelected; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_checkboxes.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_checkboxes.scss b/node_modules/nifi-fds/platform/core/common/styles/_checkboxes.scss new file mode 100644 index 0000000..0268fde --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_checkboxes.scss @@ -0,0 +1,85 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* Checkboxes */ + +body[fds] .mat-checkbox-inner-container { + height: 10px !important; + width: 10px !important; +} + +body[fds] .mat-checkbox-frame { + height: 10px; + width: 10px; + border-color: $grey7; +} + +body[fds] .mat-checkbox-ripple { + left: -7px; + top: -7px; + right: -7px; + bottom: -7px; +} + +body[fds] .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, +body[fds] .mat-checkbox-checked.mat-accent .mat-checkbox-background { + background-color: $blue-grey1; +} + +body[fds] .mat-checkbox-inner-container:hover { + background-color: $blue-grey1; + border-radius: 2px; +} + +body[fds] .mat-checkbox-background { + height: 10px; + width: 10px; +} + +/* Covalent TdDataTableComponent 'selectable' property checkboxes */ + +body[fds] .mat-pseudo-checkbox { + height: 10px !important; + width: 10px !important; + border: 1px solid $grey7; +} + +body[fds] .mat-pseudo-checkbox:hover { + background-color: $blue-grey1; + border: 1px solid $blue-grey1; +} + +body[fds] .mat-pseudo-checkbox-checked::after { + content: '\f00c'; + font-size: 8px; + font-family: fontawesome; + margin-top: -9px; + margin-left: -1px; + border: none; + transform: initial; +} + +body[fds] .mat-pseudo-checkbox-checked, body[fds] .mat-pseudo-checkbox-indeterminate { + background-color: $blue-grey1; + border: 1px solid $blue-grey1; + height: 10px; + width: 10px; +} + +body[fds] .mat-checkbox-disabled { + cursor: not-allowed; +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_chips.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_chips.scss b/node_modules/nifi-fds/platform/core/common/styles/_chips.scss new file mode 100644 index 0000000..894fbec --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_chips.scss @@ -0,0 +1,69 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* Chips */ + +body[fds] .mat-chip { + border-radius: 2px; + font-size: 10px; + font-family: $fontPrimary; + font-style: normal; + font-weight: normal; + padding: 4px 12px 4px 12px; +} + +body[fds] .mat-chip i { + margin-left: 10px; + float: right; + margin-top: 2px; +} + +body[fds] .mat-basic-chip { + color: $grey2; + height: 24px; + margin: 22px 8px 0 0; +} + +body[fds] .mat-basic-chip i { + margin-left: 10px; + float: right; + margin-top: 2px; +} + +body[fds] .mat-basic-chip .td-chip { + font-size: 10px; + min-height: unset; + line-height: 20px; + position: relative; + top: -2px; +} + +body[fds] .td-chip span { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + width: 65px; +} + +body[fds] .td-chip-disabled .td-chip { + padding: 0px 0px 0px 12px; +} + +body[fds] .mat-basic-chip mat-icon.td-chip-removal { + font-size: 15px; + margin-bottom: 7px; +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_expansionPanels.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_expansionPanels.scss b/node_modules/nifi-fds/platform/core/common/styles/_expansionPanels.scss new file mode 100644 index 0000000..fdf9d4f --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_expansionPanels.scss @@ -0,0 +1,62 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* Expansion Panels */ + +@mixin fds-expansion-panels-theme($theme) { + $primaryColor: map-get(map-get($theme, primary), 500); + $primaryColorHover: map-get(map-get($theme, primary), 100); + $accentColor: map-get(map-get($theme, accent), 500); + $accentColorHover: map-get(map-get($theme, accent), 100); + + body[fds] td-expansion-panel:not(:last-of-type) .td-expanded { + margin-bottom: 0px; + } + + body[fds] .td-expansion-panel-header-content { + height: 80px !important; + padding: 0px 30px !important; + border-bottom: 1px solid $grey7; + } + + body[fds] .td-expansion-content form { + padding: 15px 10px 20px 20px; + } + + body[fds] .md-subhead { + font-size: 18px; + color: $grey3; + } + + body[fds] td-expansion-panel .td-expansion-panel-header .td-expansion-panel-header-content mat-icon.td-expand-icon { + font-size: 28px; + color: $blue-grey1; + font-weight: bold; + } + + body[fds] td-expansion-panel .td-expansion-panel-header:hover:not(.mat-disabled) { + background: $blue4; + } + + body[fds] td-expansion-panel .td-expansion-panel-header:focus { + background: #FFFFFF; + } + + body[fds] td-expansion-panel .td-expansion-panel-header:focus .td-expansion-panel-header-content { + border-bottom: 1px solid $primaryColor; + } +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_globalVars.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_globalVars.scss b/node_modules/nifi-fds/platform/core/common/styles/_globalVars.scss new file mode 100644 index 0000000..aede0a3 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_globalVars.scss @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Text */ + +$fontPrimary: "Roboto", +sans-serif; +$fontSecondary: "Robot Slab", +sans-serif; +$fontMedium: "Roboto Medium", +sans-serif; +$fontLight: "Roboto Light", +sans-serif; + +/* Define colors */ + +$grey1: #333333; +$grey2: #666666; +$grey3: #999999; +$grey4: #CCCCCC; +$grey5: #EEEEEE; +$grey6: #F8F9F9; +$grey7: #DDDDDD; +$grey8: #CFD3D7; +$grey9: #b2b8c1; +$grey10: #dbdee2; +$grey11: #2C3E44; +$grey12: #EEEFF0; +$grey13: #808793; +$blue1: #1491C1; +$blue2: #E7f6Fc; +$blue3: #A7DFF2; +$blue4: #F3FAFF; +$blue5: #728E9B; +$blue6: #004849; +$blue7: #d0dbe0; +$blue8: #1291c1; +$red1: #EF6162; +$red2: #D14A50; +$orange1: #E98A40; +$orange2: #D3702D; +$green1: #1EB475; +$green2: #3FAE2A; +$green3: #429929; +$rose1: #9E737D; +$rose2: #915D69; +$blue-grey1: #6B8791; +$blue-grey2: #B2C1C6; +$bodyTextColor: $grey1; +$pageHeaderTextColor: $grey1; +$subHeaderTextColor: $grey2; +$descriptionTextColor: $grey2; +$linkColor: $blue-grey1; +$linkColorDisabled: $grey1; +$warnColor: $red1; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_helperClasses.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_helperClasses.scss b/node_modules/nifi-fds/platform/core/common/styles/_helperClasses.scss new file mode 100644 index 0000000..1298358 --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_helperClasses.scss @@ -0,0 +1,85 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Text */ + +.camel-case { + text-transform: capitalize; +} + +.header { + font-family: $fontMedium; + font-size: 16px; + color: $pageHeaderTextColor; + padding-bottom: 10px; +} + +.help-icon { + font-size: 12px; + color: $blue1; +} + +.details-header { + height: 92px; +} + +.details-header-container { + position: relative; + top: 22px; + left: 10px; +} + +.description { + font-family: $fontLight; + font-size: 12px; + color: $descriptionTextColor; +} + +.description i { + padding-right: 5px; +} + +.label { + font-family: $fontMedium; + font-size: 14px; + color: $bodyTextColor; + text-transform: uppercase; +} + +.units { + font-family: $fontLight; + font-size: 14px; + color: $bodyTextColor; +} + +.align-vertical { + margin-top: auto; + margin-bottom: auto; +} + +.align-horizontal { + margin-left: auto; + margin-right: auto; +} + +.fill-available-width { + width: 100%; +} + +.pointer { + cursor: pointer; +} http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/dcbb1ac2/node_modules/nifi-fds/platform/core/common/styles/_inputs.scss ---------------------------------------------------------------------- diff --git a/node_modules/nifi-fds/platform/core/common/styles/_inputs.scss b/node_modules/nifi-fds/platform/core/common/styles/_inputs.scss new file mode 100644 index 0000000..392f5cb --- /dev/null +++ b/node_modules/nifi-fds/platform/core/common/styles/_inputs.scss @@ -0,0 +1,109 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You under the Apache License, Version 2.0 +* (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/* Inputs */ + +body[fds] .mat-input-container { + min-width: 200px; +} + +body[fds] .mat-input-wrapper { + margin: 0; + padding-bottom: 0; +} + +body[fds] input.mat-input-element, body[fds] textarea.mat-input-element { + border-radius: 2px; + color: $grey2; + border: 1px solid $grey8; + height: 32px; + padding: 0px 10px; + width: calc(100% - 26px); +} + +body[fds] textarea.mat-input-element { + padding: 10px 10px; +} + +body[fds] input.mat-input-element[disabled], body[fds] textarea.mat-input-element[disabled] { + background: $grey9; + color: $grey10; + border: 1px solid $grey9; +} + +body[fds] .mat-input-subscript-wrapper { + margin-top: 18px; + width: calc(100% - 23px); +} + +body[fds] input.mat-input-element:focus, body[fds] textarea.mat-input-element:focus { + border-color: $blue-grey1; +} + +body[fds] .mat-input-underline { + display: none; +} + +body[fds] .mat-input-placeholder { + font-size: 14px; + color: $grey3; + font-weight: 300; +} + +body[fds] .mat-input-placeholder { + top: 29px; + left: 10px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + width: calc(100% - 44px); +} + +body[fds] mat-input-container.mat-focused .mat-input-placeholder { + transform: translateY(-26px) translateX(-10px) scale(0.75); +} + +body[fds] .mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder { + transform: translateY(-26px) translateX(-10px) scale(.75); +} + +body[fds] .mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder { + transform: translateY(-26px) translateX(-10px) scale(.75); +} + +body[fds] .input-button { + top: 5px; + left: -4px; + border-left: none !important; +} + +body[fds] .input-button.mat-raised-button[disabled] { + opacity: 1; +} + +body[fds] td-chips .mat-input-placeholder-wrapper::after { + content: '\f0b0'; + display: inline-table; + font-family: FontAwesome; + float: right; + margin: 12px 10px 0px 0px; + color: $grey3; +} + +body[fds] .mat-hint { + color: $grey3; +}
