From 31d179dc53a9f0f5486004295d3d03f923b653d7 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Wed, 14 Jul 2021 15:54:57 -0300 Subject: [PATCH 1/9] dark theme --- .../web/themes/material-dark/css/LICENSE | 212 + .../themes/material-dark/css/Roboto_300.woff2 | Bin 0 -> 14524 bytes .../themes/material-dark/css/Roboto_400.woff2 | Bin 0 -> 14584 bytes .../themes/material-dark/css/Roboto_500.woff2 | Bin 0 -> 14596 bytes .../themes/material-dark/css/Roboto_600.woff2 | Bin 0 -> 14552 bytes .../web/themes/material-dark/css/_base.scss | 92 + .../themes/material-dark/css/_elements.scss | 148 + .../web/themes/material-dark/css/_login.scss | 75 + .../themes/material-dark/css/_noheader.scss | 99 + .../web/themes/material-dark/css/fonts.css | 26 + .../themes/material-dark/css/fonts.min.css | 27 + .../material-dark/css/material-custom.css | 192 + .../material-dark/css/material-custom.min.css | 191 + .../themes/material-dark/css/material.min.css | 7777 +++++++++++++++++ .../material-dark/css/mdl-datetimepicker.css | 178 + .../css/mdl-datetimepicker.css.map | 7 + .../css/mdl-datetimepicker.min.css | 215 + .../material-dark/css/mdl-datetimepicker.scss | 218 + .../css/mdl-jquery-modal-dialog.css | 53 + .../css/mdl-jquery-modal-dialog.css.map | 7 + .../css/mdl-jquery-modal-dialog.min.css | 58 + .../css/mdl-jquery-modal-dialog.scss | 61 + .../themes/material-dark/css/search-card.css | 100 + .../material-dark/css/search-card.css.map | 7 + .../material-dark/css/search-card.min.css | 144 + .../themes/material-dark/css/search-card.scss | 142 + .../themes/material-dark/css/search-grid.css | 119 + .../material-dark/css/search-grid.css.map | 7 + .../material-dark/css/search-grid.min.css | 1 + .../themes/material-dark/css/search-grid.scss | 178 + .../material-dark/css/selectize-custom.css | 406 + .../css/selectize-custom.css.map | 7 + .../css/selectize-custom.min.css | 447 + .../material-dark/css/selectize-custom.scss | 487 ++ .../themes/material-dark/css/styles-wiki.css | 58 + .../material-dark/css/styles-wiki.css.map | 7 + .../material-dark/css/styles-wiki.min.css | 1 + .../themes/material-dark/css/styles-wiki.scss | 92 + .../web/themes/material-dark/css/styles.css | 1298 +++ .../themes/material-dark/css/styles.css.map | 7 + .../themes/material-dark/css/styles.min.css | 1833 ++++ .../web/themes/material-dark/css/styles.scss | 1499 ++++ .../web/themes/material-dark/css/toastr.css | 33 + .../themes/material-dark/css/toastr.css.map | 7 + .../themes/material-dark/css/toastr.min.css | 39 + .../web/themes/material-dark/css/toastr.scss | 37 + .../web/themes/material-dark/inc/Icons.php | 73 + .../web/themes/material-dark/index.php | 30 + .../web/themes/material-dark/js/LICENSE | 212 + .../web/themes/material-dark/js/app-theme.js | 538 ++ .../web/themes/material-dark/js/app-theme.map | 8 + .../themes/material-dark/js/app-theme.min.js | 21 + .../js/bootstrap-material-datetimepicker.js | 1106 +++ .../js/bootstrap-material-datetimepicker.map | 8 + .../bootstrap-material-datetimepicker.min.js | 48 + .../web/themes/material-dark/js/material.js | 3996 +++++++++ .../web/themes/material-dark/js/material.map | 8 + .../themes/material-dark/js/material.min.js | 135 + .../js/mdl-jquery-modal-dialog.js | 122 + .../js/mdl-jquery-modal-dialog.map | 8 + .../js/mdl-jquery-modal-dialog.min.js | 8 + .../material-dark/views/_layouts/main.inc | 67 + .../views/_partials/error-full.inc | 9 + .../views/_partials/error-list.inc | 49 + .../material-dark/views/_partials/error.inc | 23 + .../views/_partials/fixed-header.inc | 198 + .../material-dark/views/_partials/footer.inc | 83 + .../views/_partials/help_account_search.inc | 31 + .../views/_partials/no_records_found.inc | 14 + .../views/account/account-editpass.inc | 161 + .../views/account/account-history.inc | 196 + .../views/account/account-link.inc | 145 + .../views/account/account-permissions.inc | 261 + .../views/account/account-request.inc | 93 + .../material-dark/views/account/account.inc | 399 + .../material-dark/views/account/actions.inc | 56 + .../material-dark/views/account/details.inc | 111 + .../views/account/files-list.inc | 69 + .../material-dark/views/account/files.inc | 53 + .../views/account/linkedAccounts.inc | 43 + .../views/account/search-header.inc | 54 + .../views/account/search-index.inc | 46 + .../views/account/search-rows.inc | 288 + .../views/account/search-searchbox.inc | 156 + .../material-dark/views/account/viewpass.inc | 63 + .../views/common/aux-customfields.inc | 87 + .../material-dark/views/common/datatabs.inc | 35 + .../material-dark/views/common/debug.inc | 23 + .../material-dark/views/common/errorfancy.inc | 3 + .../material-dark/views/config/accounts.inc | 412 + .../material-dark/views/config/backup.inc | 217 + .../material-dark/views/config/encryption.inc | 363 + .../views/config/general-auth.inc | 135 + .../views/config/general-events.inc | 126 + .../views/config/general-proxy.inc | 105 + .../views/config/general-site.inc | 232 + .../material-dark/views/config/general.inc | 44 + .../material-dark/views/config/import.inc | 212 + .../material-dark/views/config/info.inc | 210 + .../material-dark/views/config/ldap.inc | 508 ++ .../material-dark/views/config/mail.inc | 243 + .../views/config/wiki-dokuwiki.inc | 220 + .../material-dark/views/config/wiki.inc | 161 + .../views/error/error-database.inc | 28 + .../views/error/error-maintenance.inc | 22 + .../views/eventlog/datagrid-rows.inc | 30 + .../material-dark/views/eventlog/index.inc | 6 + .../views/grid/datagrid-grid.inc | 141 + .../views/grid/datagrid-nav-full.inc | 76 + .../views/grid/datagrid-rows.inc | 102 + .../views/grid/datagrid-table-simple.inc | 33 + .../views/grid/datagrid-table.inc | 37 + .../views/grid/datatabs-grid.inc | 33 + .../material-dark/views/install/index.inc | 190 + .../views/itemshow/account_bulkedit.inc | 309 + .../views/itemshow/auth_token.inc | 108 + .../material-dark/views/itemshow/category.inc | 70 + .../material-dark/views/itemshow/client.inc | 97 + .../views/itemshow/custom_field.inc | 123 + .../material-dark/views/itemshow/file.inc | 24 + .../views/itemshow/item_preset-password.inc | 178 + .../views/itemshow/item_preset-permission.inc | 103 + .../views/itemshow/item_preset-private.inc | 67 + .../itemshow/item_preset-session_timeout.inc | 47 + .../views/itemshow/item_preset.inc | 171 + .../views/itemshow/public_link.inc | 144 + .../material-dark/views/itemshow/results.inc | 27 + .../material-dark/views/itemshow/tag.inc | 53 + .../material-dark/views/itemshow/user.inc | 371 + .../views/itemshow/user_group.inc | 139 + .../views/itemshow/user_pass.inc | 90 + .../views/itemshow/user_profile.inc | 627 ++ .../material-dark/views/login/index.inc | 117 + .../material-dark/views/login/logout.inc | 2 + .../material-dark/views/main/update.inc | 50 + .../material-dark/views/main/upgrade.inc | 205 + .../views/notification/index.inc | 6 + .../views/notification/notification.inc | 156 + .../material-dark/views/plugin/index.inc | 6 + .../material-dark/views/plugin/plugin.inc | 98 + .../material-dark/views/upgrade/index.inc | 64 + .../views/userpassreset/request.inc | 56 + .../views/userpassreset/reset.inc | 72 + .../views/usersettings/general.inc | 243 + .../material-dark/views/wiki/wikipage.inc | 47 + 145 files changed, 33485 insertions(+) create mode 100644 app/modules/web/themes/material-dark/css/LICENSE create mode 100644 app/modules/web/themes/material-dark/css/Roboto_300.woff2 create mode 100644 app/modules/web/themes/material-dark/css/Roboto_400.woff2 create mode 100644 app/modules/web/themes/material-dark/css/Roboto_500.woff2 create mode 100644 app/modules/web/themes/material-dark/css/Roboto_600.woff2 create mode 100644 app/modules/web/themes/material-dark/css/_base.scss create mode 100644 app/modules/web/themes/material-dark/css/_elements.scss create mode 100644 app/modules/web/themes/material-dark/css/_login.scss create mode 100644 app/modules/web/themes/material-dark/css/_noheader.scss create mode 100644 app/modules/web/themes/material-dark/css/fonts.css create mode 100644 app/modules/web/themes/material-dark/css/fonts.min.css create mode 100644 app/modules/web/themes/material-dark/css/material-custom.css create mode 100644 app/modules/web/themes/material-dark/css/material-custom.min.css create mode 100644 app/modules/web/themes/material-dark/css/material.min.css create mode 100644 app/modules/web/themes/material-dark/css/mdl-datetimepicker.css create mode 100644 app/modules/web/themes/material-dark/css/mdl-datetimepicker.css.map create mode 100644 app/modules/web/themes/material-dark/css/mdl-datetimepicker.min.css create mode 100644 app/modules/web/themes/material-dark/css/mdl-datetimepicker.scss create mode 100644 app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css create mode 100644 app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css.map create mode 100644 app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.min.css create mode 100644 app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.scss create mode 100644 app/modules/web/themes/material-dark/css/search-card.css create mode 100644 app/modules/web/themes/material-dark/css/search-card.css.map create mode 100644 app/modules/web/themes/material-dark/css/search-card.min.css create mode 100644 app/modules/web/themes/material-dark/css/search-card.scss create mode 100644 app/modules/web/themes/material-dark/css/search-grid.css create mode 100644 app/modules/web/themes/material-dark/css/search-grid.css.map create mode 100644 app/modules/web/themes/material-dark/css/search-grid.min.css create mode 100644 app/modules/web/themes/material-dark/css/search-grid.scss create mode 100644 app/modules/web/themes/material-dark/css/selectize-custom.css create mode 100644 app/modules/web/themes/material-dark/css/selectize-custom.css.map create mode 100644 app/modules/web/themes/material-dark/css/selectize-custom.min.css create mode 100644 app/modules/web/themes/material-dark/css/selectize-custom.scss create mode 100644 app/modules/web/themes/material-dark/css/styles-wiki.css create mode 100644 app/modules/web/themes/material-dark/css/styles-wiki.css.map create mode 100644 app/modules/web/themes/material-dark/css/styles-wiki.min.css create mode 100644 app/modules/web/themes/material-dark/css/styles-wiki.scss create mode 100644 app/modules/web/themes/material-dark/css/styles.css create mode 100644 app/modules/web/themes/material-dark/css/styles.css.map create mode 100644 app/modules/web/themes/material-dark/css/styles.min.css create mode 100644 app/modules/web/themes/material-dark/css/styles.scss create mode 100644 app/modules/web/themes/material-dark/css/toastr.css create mode 100644 app/modules/web/themes/material-dark/css/toastr.css.map create mode 100644 app/modules/web/themes/material-dark/css/toastr.min.css create mode 100644 app/modules/web/themes/material-dark/css/toastr.scss create mode 100644 app/modules/web/themes/material-dark/inc/Icons.php create mode 100644 app/modules/web/themes/material-dark/index.php create mode 100644 app/modules/web/themes/material-dark/js/LICENSE create mode 100644 app/modules/web/themes/material-dark/js/app-theme.js create mode 100644 app/modules/web/themes/material-dark/js/app-theme.map create mode 100644 app/modules/web/themes/material-dark/js/app-theme.min.js create mode 100644 app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.js create mode 100644 app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.map create mode 100644 app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.min.js create mode 100644 app/modules/web/themes/material-dark/js/material.js create mode 100644 app/modules/web/themes/material-dark/js/material.map create mode 100644 app/modules/web/themes/material-dark/js/material.min.js create mode 100644 app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.js create mode 100644 app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.map create mode 100644 app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.min.js create mode 100644 app/modules/web/themes/material-dark/views/_layouts/main.inc create mode 100644 app/modules/web/themes/material-dark/views/_partials/error-full.inc create mode 100644 app/modules/web/themes/material-dark/views/_partials/error-list.inc create mode 100644 app/modules/web/themes/material-dark/views/_partials/error.inc create mode 100644 app/modules/web/themes/material-dark/views/_partials/fixed-header.inc create mode 100644 app/modules/web/themes/material-dark/views/_partials/footer.inc create mode 100644 app/modules/web/themes/material-dark/views/_partials/help_account_search.inc create mode 100644 app/modules/web/themes/material-dark/views/_partials/no_records_found.inc create mode 100644 app/modules/web/themes/material-dark/views/account/account-editpass.inc create mode 100644 app/modules/web/themes/material-dark/views/account/account-history.inc create mode 100644 app/modules/web/themes/material-dark/views/account/account-link.inc create mode 100644 app/modules/web/themes/material-dark/views/account/account-permissions.inc create mode 100644 app/modules/web/themes/material-dark/views/account/account-request.inc create mode 100644 app/modules/web/themes/material-dark/views/account/account.inc create mode 100644 app/modules/web/themes/material-dark/views/account/actions.inc create mode 100644 app/modules/web/themes/material-dark/views/account/details.inc create mode 100644 app/modules/web/themes/material-dark/views/account/files-list.inc create mode 100644 app/modules/web/themes/material-dark/views/account/files.inc create mode 100644 app/modules/web/themes/material-dark/views/account/linkedAccounts.inc create mode 100644 app/modules/web/themes/material-dark/views/account/search-header.inc create mode 100644 app/modules/web/themes/material-dark/views/account/search-index.inc create mode 100644 app/modules/web/themes/material-dark/views/account/search-rows.inc create mode 100644 app/modules/web/themes/material-dark/views/account/search-searchbox.inc create mode 100644 app/modules/web/themes/material-dark/views/account/viewpass.inc create mode 100644 app/modules/web/themes/material-dark/views/common/aux-customfields.inc create mode 100644 app/modules/web/themes/material-dark/views/common/datatabs.inc create mode 100644 app/modules/web/themes/material-dark/views/common/debug.inc create mode 100644 app/modules/web/themes/material-dark/views/common/errorfancy.inc create mode 100644 app/modules/web/themes/material-dark/views/config/accounts.inc create mode 100644 app/modules/web/themes/material-dark/views/config/backup.inc create mode 100644 app/modules/web/themes/material-dark/views/config/encryption.inc create mode 100644 app/modules/web/themes/material-dark/views/config/general-auth.inc create mode 100644 app/modules/web/themes/material-dark/views/config/general-events.inc create mode 100644 app/modules/web/themes/material-dark/views/config/general-proxy.inc create mode 100644 app/modules/web/themes/material-dark/views/config/general-site.inc create mode 100644 app/modules/web/themes/material-dark/views/config/general.inc create mode 100644 app/modules/web/themes/material-dark/views/config/import.inc create mode 100644 app/modules/web/themes/material-dark/views/config/info.inc create mode 100644 app/modules/web/themes/material-dark/views/config/ldap.inc create mode 100644 app/modules/web/themes/material-dark/views/config/mail.inc create mode 100644 app/modules/web/themes/material-dark/views/config/wiki-dokuwiki.inc create mode 100644 app/modules/web/themes/material-dark/views/config/wiki.inc create mode 100644 app/modules/web/themes/material-dark/views/error/error-database.inc create mode 100644 app/modules/web/themes/material-dark/views/error/error-maintenance.inc create mode 100644 app/modules/web/themes/material-dark/views/eventlog/datagrid-rows.inc create mode 100644 app/modules/web/themes/material-dark/views/eventlog/index.inc create mode 100644 app/modules/web/themes/material-dark/views/grid/datagrid-grid.inc create mode 100644 app/modules/web/themes/material-dark/views/grid/datagrid-nav-full.inc create mode 100644 app/modules/web/themes/material-dark/views/grid/datagrid-rows.inc create mode 100644 app/modules/web/themes/material-dark/views/grid/datagrid-table-simple.inc create mode 100644 app/modules/web/themes/material-dark/views/grid/datagrid-table.inc create mode 100644 app/modules/web/themes/material-dark/views/grid/datatabs-grid.inc create mode 100644 app/modules/web/themes/material-dark/views/install/index.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/account_bulkedit.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/auth_token.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/category.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/client.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/custom_field.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/file.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/item_preset-password.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/item_preset-permission.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/item_preset-private.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/item_preset-session_timeout.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/item_preset.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/public_link.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/results.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/tag.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/user.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/user_group.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/user_pass.inc create mode 100644 app/modules/web/themes/material-dark/views/itemshow/user_profile.inc create mode 100644 app/modules/web/themes/material-dark/views/login/index.inc create mode 100644 app/modules/web/themes/material-dark/views/login/logout.inc create mode 100644 app/modules/web/themes/material-dark/views/main/update.inc create mode 100644 app/modules/web/themes/material-dark/views/main/upgrade.inc create mode 100644 app/modules/web/themes/material-dark/views/notification/index.inc create mode 100644 app/modules/web/themes/material-dark/views/notification/notification.inc create mode 100644 app/modules/web/themes/material-dark/views/plugin/index.inc create mode 100644 app/modules/web/themes/material-dark/views/plugin/plugin.inc create mode 100644 app/modules/web/themes/material-dark/views/upgrade/index.inc create mode 100644 app/modules/web/themes/material-dark/views/userpassreset/request.inc create mode 100644 app/modules/web/themes/material-dark/views/userpassreset/reset.inc create mode 100644 app/modules/web/themes/material-dark/views/usersettings/general.inc create mode 100644 app/modules/web/themes/material-dark/views/wiki/wikipage.inc diff --git a/app/modules/web/themes/material-dark/css/LICENSE b/app/modules/web/themes/material-dark/css/LICENSE new file mode 100644 index 000000000..9faf10865 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/LICENSE @@ -0,0 +1,212 @@ + + 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 2015 Google Inc + + 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. + + All code in any directories or sub-directories that end with *.html or + *.css is licensed under the Creative Commons Attribution International + 4.0 License, which full text can be found here: + https://creativecommons.org/licenses/by/4.0/legalcode. + + As an exception to this license, all html or css that is generated by + the software at the direction of the user is copyright the user. The + user has full ownership and control over such content, including + whether and how they wish to license it. diff --git a/app/modules/web/themes/material-dark/css/Roboto_300.woff2 b/app/modules/web/themes/material-dark/css/Roboto_300.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c34c128065cbeee902296858fc0fc97860766212 GIT binary patch literal 14524 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 literal 0 HcmV?d00001 diff --git a/app/modules/web/themes/material-dark/css/Roboto_500.woff2 b/app/modules/web/themes/material-dark/css/Roboto_500.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5f96609d81a812b8f2557a4e9bba6db29205ae0e GIT binary patch literal 14596 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 literal 0 HcmV?d00001 diff --git a/app/modules/web/themes/material-dark/css/Roboto_600.woff2 b/app/modules/web/themes/material-dark/css/Roboto_600.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..11cde5d04c470947b1c88e42a684fcf0d5b396b0 GIT binary patch literal 14552 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 C(C%db literal 0 HcmV?d00001 diff --git a/app/modules/web/themes/material-dark/css/_base.scss b/app/modules/web/themes/material-dark/css/_base.scss new file mode 100644 index 000000000..9bb336fb1 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/_base.scss @@ -0,0 +1,92 @@ +$font-stack: "Roboto Regular", Verdana, Tahoma, sans-serif; +$font-stack-mono: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; +$color-teal-bg: #e0f2f1; +$color-teal-fg: #26a69a; +$color-red-bg: #ffebee; +$color-red-fg: #ef5350; +$color-amber-bg: #fff8e1; +$color-amber-fg: #ffca28; +$color-indigo-bg: #e8eaf6; +$color-indigo-fg: #5c6bc0; +$color-indigo-fg-accent: #536dfe; +$color-bluegrey-bg: #eceff1; +$color-bluegrey-fg: #607d8b; +$color-blue-bg: #e3f2fd; +$color-blue-fg: #2196f3; +$color-grey: #555; +$public-path: 'public'; + +@mixin box-shadow() { + -webkit-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.14); +} + +@mixin box-shadow-top() { + -webkit-box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); + box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); +} + +@mixin box-shadow-top-white() { + -webkit-box-shadow: 0 -3px 2px -2px rgba(255, 255, 255, 0.25); + -moz-box-shadow: 0 -3px 2px -2px rgba(255, 255, 255, 0.25); + box-shadow: 0 -3px 2px -2px rgba(255, 255, 255, 0.25); +} + +@mixin shadow-full() { + -moz-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); +} + +@mixin border-radius($radius) { + border-radius: $radius !important; + -moz-border-radius: $radius !important; + -webkit-border-radius: $radius !important; +} + +@mixin color-red() { + color: $color-red-fg; + background-color: $color-red-bg; + border: 1px solid $color-red-fg; +} + +@mixin color-teal() { + color: $color-teal-fg; + background-color: $color-teal-bg; + border: 1px solid $color-teal-fg; +} + +@mixin color-amber() { + color: $color-amber-fg; + background-color: $color-amber-bg; + border: 1px solid $color-amber-fg; +} + +@mixin color-blue() { + color: $color-blue-fg; + background-color: $color-blue-bg; + border: 1px solid $color-blue-fg; +} + +@mixin fit-ccntent() { + width: -webkit-min-content; + width: -moz-min-content; + width: min-content; +} + +@mixin flexbox() { + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} + +@mixin flex($values) { + -webkit-box-flex: $values; + -moz-box-flex: $values; + -webkit-flex: $values; + -ms-flex: $values; + flex: $values; +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/_elements.scss b/app/modules/web/themes/material-dark/css/_elements.scss new file mode 100644 index 000000000..6ce9a5ebc --- /dev/null +++ b/app/modules/web/themes/material-dark/css/_elements.scss @@ -0,0 +1,148 @@ +html, body { + margin: 0; + padding: 0; + text-align: left; + background-color: #f5f5f5; + color: #555; + font-size: 12px; + font-weight: normal; + box-sizing: border-box; + max-width: 100%; +} + +* { + font-family: $font-stack; + box-sizing: inherit; + &:before, &:after { + box-sizing: inherit; + } +} + +table { + font-size: 11px; + border-spacing: 0; + th { + border-bottom: 2px solid transparent; + vertical-align: middle; + .icon { + width: 24px; + height: 24px; + } + } + tr { + &.odd { + background-color: #f9f9f9; + } + &.even > td, &.odd > td { + border-bottom: 1px solid #d9d9d9 !important; + } + &.even:hover, &.odd:hover { + background-color: #e8ff99; + } + height: 20px; + } + td { + padding: 3px; + &.txtCliente { + font-weight: bold; + text-align: center; + } + } +} + +form { + font-size: 11px; + margin: 0; +} + +input.inputImg, img.inputImg { + background-color: transparent !important; + width: 24px !important; + height: 24px !important; + border: 0; + vertical-align: middle; + margin: 0 0.5em; +} + +input { + &.txtFile { + width: 200px; + } + &.txtLong { + width: 300px; + } +} + +textarea { + width: 350px; +} + +select.files { + width: 250px; +} + +input.spinner { + width: 5em; +} + +img { + margin: 0; + padding: 0; + border: 0; + cursor: pointer; + &.inputImgMini { + background-color: transparent !important; + width: 16px !important; + height: 16px !important; + margin: 0 5px 0 5px; + border: 0; + vertical-align: middle; + } +} + +i { + cursor: pointer; +} + +form .form-field { + display: flex; + justify-content: space-between; + > { + label { + min-width: 12em; + padding: .5em 0; + font-size: 16px; + align-self: center; + } + div { + width: 100%; + align-self: center; + } + } +} + +a { + text-decoration: none; + color: $color-indigo-fg-accent; + &:visited { + text-decoration: none; + color: $color-indigo-fg-accent; + } + &:hover, &:active, &:focus { + text-decoration: none; + /*color: rgba(83, 109, 254, .6);*/ + cursor: pointer; + } +} + +pre, code, samp, kbd { + font-family: $font-stack-mono; + font-size: 1em; + direction: ltr; + text-align: left; + background-color: #fbfaf9; + color: #333; + box-shadow: inset 0 0 .3em #ccc; + border-radius: 2px; +} + diff --git a/app/modules/web/themes/material-dark/css/_login.scss b/app/modules/web/themes/material-dark/css/_login.scss new file mode 100644 index 000000000..0877a68db --- /dev/null +++ b/app/modules/web/themes/material-dark/css/_login.scss @@ -0,0 +1,75 @@ +#box-pub-noheader { + #box-login { + position: relative; + min-height: 14em; + #box-buttons { + position: absolute; + top: 2em; + right: 2em; + } + #box-actions { + width: 100%; + text-align: right; + a { + color: #c9c9c9; + } + } + } + #box-updated { + width: 350px; + margin: 3em auto; + font-size: 14px; + text-align: center; + padding: 0.5em; + @include color-teal(); + } + #demo-info { + padding: .5em; + margin: 3em auto 0 auto; + color: #c9c9c9; + border-top: 1px solid #d9d9d9; + border-bottom: 1px solid #d9d9d9; + ul { + display: flex; + justify-content: space-around; + list-style: none; + li { + > span { + padding: 0 1em; + } + } + } + } +} + +@media screen and (max-width: 600px) { + #box-pub-noheader { + #box-login { + #box-buttons { + position: relative; + top: 0; + right: 0; + text-align: right; + } + #box-actions { + margin-top: 1em; + } + } + #demo-info { + ul { + display: flex; + flex-direction: column; + align-items: center; + list-style: none; + li { + width: 11em; + text-align: left; + > span { + padding: 0 1em; + } + } + } + } + } +} + diff --git a/app/modules/web/themes/material-dark/css/_noheader.scss b/app/modules/web/themes/material-dark/css/_noheader.scss new file mode 100644 index 000000000..e2b0fb71e --- /dev/null +++ b/app/modules/web/themes/material-dark/css/_noheader.scss @@ -0,0 +1,99 @@ +@mixin background-logo-outline() { + background: transparent url($public-path + "/images/logo_full_nobg_outline.png") no-repeat top center; + background-size: 75% auto; +} + +body.login, +body.logout, +body.userpassreset { + background: $color-bluegrey-fg; + #wrap { + background: transparent; + } + #container { + padding-top: 5%; + } + footer { + background: #78909C; + a { + color: #f2f2f2; + } + } +} + +#box-pub-noheader { + @include background-logo-outline; + width: 40em; + min-height: 20em; + margin: 0 auto; + > div { + width: 100%; + padding: 1em; + margin: 0 auto; + } + .box-spacer { + height: 15em; + background-color: transparent; + } + .box-header { + width: 100%; + color: #f2f2f2; + font-size: 16px; + font-weight: bold; + text-align: center; + margin: 1em 0; + letter-spacing: .1em; + padding: 0.2em 0; + } + .box-form { + @include shadow-full(); + background-color: #f2f2f2; + form { + fieldset#box-data { + height: 100%; + min-height: 14em; + text-align: left; + background-color: transparent; + legend { + width: 100%; + color: $color-bluegrey-fg; + font-size: 14px; + font-weight: bold; + text-align: center; + margin: 1em 0; + letter-spacing: .1em; + padding: 0.2em 0; + } + .form-control > i { + margin-right: .5em; + opacity: .5; + } + .extra-hidden { + display: none; + } + margin-bottom: 2em; + } + } + div#box-buttons { + margin-top: 2em; + text-align: center; + } + } +} + +@media screen and (max-width: 600px) { + #box-pub-noheader { + width: 25em; + .box-spacer { + height: 10em; + } + form { + fieldset#box-data { + .mdl-textfield { + width: 100%; + } + } + } + } +} + diff --git a/app/modules/web/themes/material-dark/css/fonts.css b/app/modules/web/themes/material-dark/css/fonts.css new file mode 100644 index 000000000..7f82ff0db --- /dev/null +++ b/app/modules/web/themes/material-dark/css/fonts.css @@ -0,0 +1,26 @@ +/* Fuente Roboto */ +@font-face { + font-family: 'Roboto Light'; + font-style: normal; + font-weight: 300; + src: local('Roboto Light'), local('Roboto-Light'), url('app/modules/web/themes/material-blue/css/Roboto_300.woff2') format('woff2'); +} +@font-face { + font-family: 'Roboto Regular'; + font-style: normal; + font-weight: 400; + /*src: local('Roboto'), local('Roboto-Regular'), url('app/modules/web/themes/material-blue/css/Roboto_400.woff2') format('woff2');*/ + src: url('app/modules/web/themes/material-blue/css/Roboto_400.woff2') format('woff2'); +} +@font-face { + font-family: 'Roboto Medium'; + font-style: normal; + font-weight: 500; + src: local('Roboto Medium'), local('Roboto-Medium'), url('app/modules/web/themes/material-blue/css/Roboto_500.woff2') format('woff2'); +} +@font-face { + font-family: 'Roboto Bold'; + font-style: normal; + font-weight: 700; + src: local('Roboto Bold'), local('Roboto-Bold'), url('app/modules/web/themes/material-blue/css/Roboto_600.woff2') format('woff2'); +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/fonts.min.css b/app/modules/web/themes/material-dark/css/fonts.min.css new file mode 100644 index 000000000..530b2ba00 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/fonts.min.css @@ -0,0 +1,27 @@ +@font-face { + font-family: 'Roboto Light'; + font-style: normal; + font-weight: 300; + src: local('Roboto Light'), local('Roboto-Light'), url('app/modules/web/themes/material-blue/css/Roboto_300.woff2') format('woff2') +} + +@font-face { + font-family: 'Roboto Regular'; + font-style: normal; + font-weight: 400; + src: url('app/modules/web/themes/material-blue/css/Roboto_400.woff2') format('woff2') +} + +@font-face { + font-family: 'Roboto Medium'; + font-style: normal; + font-weight: 500; + src: local('Roboto Medium'), local('Roboto-Medium'), url('app/modules/web/themes/material-blue/css/Roboto_500.woff2') format('woff2') +} + +@font-face { + font-family: 'Roboto Bold'; + font-style: normal; + font-weight: 700; + src: local('Roboto Bold'), local('Roboto-Bold'), url('app/modules/web/themes/material-blue/css/Roboto_600.woff2') format('woff2') +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/material-custom.css b/app/modules/web/themes/material-dark/css/material-custom.css new file mode 100644 index 000000000..a8044247d --- /dev/null +++ b/app/modules/web/themes/material-dark/css/material-custom.css @@ -0,0 +1,192 @@ +/* Personalización de MDL */ +.mdl-button { + margin: 0 .3em; +} + +.fg-blue20 { + color: rgba(83, 109, 254, .2) +} + +.fg-blue40 { + color: rgba(83, 109, 254, .4) +} + +.fg-blue60 { + color: rgba(83, 109, 254, .6) +} + +.fg-blue80 { + color: rgba(83, 109, 254, .8) +} + +.fg-blue100 { + color: rgb(83, 109, 254) +} + +.mdl-button--fab.mdl-button--colored.bg-blue20 { + background-color: rgba(83, 109, 254, .2) +} + +.mdl-button--fab.mdl-button--colored.bg-blue40 { + background-color: rgba(83, 109, 254, .4) +} + +.mdl-button--fab.mdl-button--colored.bg-blue60 { + background-color: rgba(83, 109, 254, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-blue80 { + background-color: rgba(83, 109, 254, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-blue100 { + background-color: rgb(83, 109, 254) +} + +.fg-orange20 { + color: rgba(255, 193, 7, .2) +} + +.fg-orange40 { + color: rgba(255, 193, 7, .4) +} + +.fg-orange60 { + color: rgba(255, 193, 7, .6) +} + +.fg-orange80 { + color: rgba(255, 193, 7, .8) +} + +.fg-orange100 { + color: rgba(255, 193, 7, 1) +} + +.mdl-button--fab.mdl-button--colored.bg-orange20 { + background-color: rgba(255, 193, 7, .2) +} + +.mdl-button--fab.mdl-button--colored.bg-orange40 { + background-color: rgba(255, 193, 7, .4) +} + +.mdl-button--fab.mdl-button--colored.bg-orange60 { + background-color: rgba(255, 193, 7, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-orange80 { + background-color: rgba(255, 193, 7, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-orange100 { + background-color: rgba(255, 193, 7, 1) +} + +.fg-red20 { + color: rgba(244, 67, 54, .2) +} + +.fg-red40 { + color: rgba(244, 67, 54, .4) +} + +.fg-red60 { + color: rgba(244, 67, 54, .6) +} + +.fg-red80 { + color: rgba(244, 67, 54, .8) +} + +.fg-red100 { + color: rgb(244, 67, 54) +} + +.mdl-button--fab.mdl-button--colored.bg-red20 { + background-color: rgba(244, 67, 54, .2) +} + +.mdl-button--fab.mdl-button--colored.bg-red40 { + background-color: rgba(244, 67, 54, .4) +} + +.mdl-button--fab.mdl-button--colored.bg-red60 { + background-color: rgba(244, 67, 54, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-red80 { + background-color: rgba(244, 67, 54, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-red100 { + background-color: rgb(244, 67, 54) +} + +.fg-green20 { + color: rgba(0, 150, 136, .2) +} + +.fg-green40 { + color: rgba(0, 150, 136, .4) +} + +.fg-green60 { + color: rgba(0, 150, 136, .6) +} + +.fg-green80 { + color: rgba(0, 150, 136, .8) +} + +.fg-green100 { + color: rgb(0, 150, 136) +} + +.mdl-button--fab.mdl-button--colored.bg-green20 { + background-color: rgba(0, 150, 136, 0.2) +} + +.mdl-button--fab.mdl-button--colored.bg-green40 { + background-color: rgba(0, 150, 136, 0.4) +} + +.mdl-button--fab.mdl-button--colored.bg-green60 { + background-color: rgba(0, 150, 136, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-green80 { + background-color: rgba(0, 150, 136, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-green100 { + background-color: rgb(0, 150, 136) +} + +.mdl-tooltip { + text-align: justify; + max-width: 400px; +} + +.mdl-switch--inline { + display: inline; + margin: 0 1em; +} + +label.mdl-switch { + margin: .5em 0; +} + +.mdl-switch__box { + width: 48px; +} + +.mdl-list__item--two-line { + height: auto; + min-height: 72px; +} + +.mdl-list__item--two-line .mdl-list__item-primary-content { + height: auto; + min-height: 36px; +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/material-custom.min.css b/app/modules/web/themes/material-dark/css/material-custom.min.css new file mode 100644 index 000000000..ff0343505 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/material-custom.min.css @@ -0,0 +1,191 @@ +.mdl-button { + margin: 0 .3em +} + +.fg-blue20 { + color: rgba(83, 109, 254, .2) +} + +.fg-blue40 { + color: rgba(83, 109, 254, .4) +} + +.fg-blue60 { + color: rgba(83, 109, 254, .6) +} + +.fg-blue80 { + color: rgba(83, 109, 254, .8) +} + +.fg-blue100 { + color: #536dfe +} + +.mdl-button--fab.mdl-button--colored.bg-blue20 { + background-color: rgba(83, 109, 254, .2) +} + +.mdl-button--fab.mdl-button--colored.bg-blue40 { + background-color: rgba(83, 109, 254, .4) +} + +.mdl-button--fab.mdl-button--colored.bg-blue60 { + background-color: rgba(83, 109, 254, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-blue80 { + background-color: rgba(83, 109, 254, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-blue100 { + background-color: #536dfe +} + +.fg-orange20 { + color: rgba(255, 193, 7, .2) +} + +.fg-orange40 { + color: rgba(255, 193, 7, .4) +} + +.fg-orange60 { + color: rgba(255, 193, 7, .6) +} + +.fg-orange80 { + color: rgba(255, 193, 7, .8) +} + +.fg-orange100 { + color: rgba(255, 193, 7, 1) +} + +.mdl-button--fab.mdl-button--colored.bg-orange20 { + background-color: rgba(255, 193, 7, .2) +} + +.mdl-button--fab.mdl-button--colored.bg-orange40 { + background-color: rgba(255, 193, 7, .4) +} + +.mdl-button--fab.mdl-button--colored.bg-orange60 { + background-color: rgba(255, 193, 7, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-orange80 { + background-color: rgba(255, 193, 7, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-orange100 { + background-color: rgba(255, 193, 7, 1) +} + +.fg-red20 { + color: rgba(244, 67, 54, .2) +} + +.fg-red40 { + color: rgba(244, 67, 54, .4) +} + +.fg-red60 { + color: rgba(244, 67, 54, .6) +} + +.fg-red80 { + color: rgba(244, 67, 54, .8) +} + +.fg-red100 { + color: #f44336 +} + +.mdl-button--fab.mdl-button--colored.bg-red20 { + background-color: rgba(244, 67, 54, .2) +} + +.mdl-button--fab.mdl-button--colored.bg-red40 { + background-color: rgba(244, 67, 54, .4) +} + +.mdl-button--fab.mdl-button--colored.bg-red60 { + background-color: rgba(244, 67, 54, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-red80 { + background-color: rgba(244, 67, 54, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-red100 { + background-color: #f44336 +} + +.fg-green20 { + color: rgba(0, 150, 136, .2) +} + +.fg-green40 { + color: rgba(0, 150, 136, .4) +} + +.fg-green60 { + color: rgba(0, 150, 136, .6) +} + +.fg-green80 { + color: rgba(0, 150, 136, .8) +} + +.fg-green100 { + color: #009688 +} + +.mdl-button--fab.mdl-button--colored.bg-green20 { + background-color: rgba(0, 150, 136, 0.2) +} + +.mdl-button--fab.mdl-button--colored.bg-green40 { + background-color: rgba(0, 150, 136, 0.4) +} + +.mdl-button--fab.mdl-button--colored.bg-green60 { + background-color: rgba(0, 150, 136, .6) +} + +.mdl-button--fab.mdl-button--colored.bg-green80 { + background-color: rgba(0, 150, 136, .8) +} + +.mdl-button--fab.mdl-button--colored.bg-green100 { + background-color: #009688 +} + +.mdl-tooltip { + text-align: justify; + max-width: 400px +} + +.mdl-switch--inline { + display: inline; + margin: 0 1em +} + +label.mdl-switch { + margin: .5em 0 +} + +.mdl-switch__box { + width: 48px +} + +.mdl-list__item--two-line { + height: auto; + min-height: 72px +} + +.mdl-list__item--two-line .mdl-list__item-primary-content { + height: auto; + min-height: 36px +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/material.min.css b/app/modules/web/themes/material-dark/css/material.min.css new file mode 100644 index 000000000..0dc0db8df --- /dev/null +++ b/app/modules/web/themes/material-dark/css/material.min.css @@ -0,0 +1,7777 @@ +/** + * material-design-lite - Material Design Components in CSS, JS and HTML + * @version v1.2.0 + * @license Apache-2.0 + * @copyright 2015 Google, Inc. + * @link https://github.com/google/material-design-lite + */ + +@charset "UTF-8"; +html { + color: rgba(0, 0, 0, .87) +} + +::-moz-selection { + background: #b3d4fc; + text-shadow: none +} + +::selection { + background: #b3d4fc; + text-shadow: none +} + +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1em 0; + padding: 0 +} + +audio, +canvas, +iframe, +img, +svg, +video { + vertical-align: middle +} + +fieldset { + border: 0; + margin: 0; + padding: 0 +} + +textarea { + resize: vertical +} + +.browserupgrade { + margin: .2em 0; + background: #ccc; + color: #000; + padding: .2em 0 +} + +.hidden { + display: none!important +} + +.visuallyhidden { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px +} + +.visuallyhidden.focusable:active, +.visuallyhidden.focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto +} + +.invisible { + visibility: hidden +} + +.clearfix:before, +.clearfix:after { + content: " "; + display: table +} + +.clearfix:after { + clear: both +} + +@media print { + *, + *:before, + *:after, + *:first-letter { + background: transparent!important; + color: #000!important; + box-shadow: none!important + } + a, + a:visited { + text-decoration: underline + } + a[href]:after { + content: " (" attr(href)")" + } + abbr[title]:after { + content: " (" attr(title)")" + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: "" + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid + } + thead { + display: table-header-group + } + tr, + img { + page-break-inside: avoid + } + img { + max-width: 100%!important + } + p, + h2, + h3 { + orphans: 3; + widows: 3 + } + h2, + h3 { + page-break-after: avoid + } +} + +a, +.mdl-accordion, +.mdl-button, +.mdl-card, +.mdl-checkbox, +.mdl-dropdown-menu, +.mdl-icon-toggle, +.mdl-item, +.mdl-radio, +.mdl-slider, +.mdl-switch, +.mdl-tabs__tab { + -webkit-tap-highlight-color: transparent; + -webkit-tap-highlight-color: rgba(255, 255, 255, 0) +} + +html { + width: 100%; + height: 100%; + -ms-touch-action: manipulation; + touch-action: manipulation +} + +body { + width: 100%; + min-height: 100% +} + +main { + display: block +} + +*[hidden] { + display: none!important +} + +html, +body { + font-family: "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 20px +} + +h1, +h2, +h3, +h4, +h5, +h6, +p { + padding: 0 +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-weight: 400; + line-height: 1.35; + letter-spacing: -.02em; + opacity: .54; + font-size: .6em +} + +h1 { + font-size: 56px; + line-height: 1.35; + letter-spacing: -.02em; + margin: 24px 0 +} + +h1, +h2 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-weight: 400 +} + +h2 { + font-size: 45px; + line-height: 48px +} + +h2, +h3 { + margin: 24px 0 +} + +h3 { + font-size: 34px; + line-height: 40px +} + +h3, +h4 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-weight: 400 +} + +h4 { + font-size: 24px; + line-height: 32px; + -moz-osx-font-smoothing: grayscale; + margin: 24px 0 16px +} + +h5 { + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: .02em +} + +h5, +h6 { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + margin: 24px 0 16px +} + +h6 { + font-size: 16px; + letter-spacing: .04em +} + +h6, +p { + font-weight: 400; + line-height: 24px +} + +p { + font-size: 14px; + letter-spacing: 0; + margin: 0 0 16px +} + +a { + color: rgb(83, 109, 254); + font-weight: 500 +} + +blockquote { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + position: relative; + font-size: 24px; + font-weight: 300; + font-style: italic; + line-height: 1.35; + letter-spacing: .08em +} + +blockquote:before { + position: absolute; + left: -.5em; + content: '“' +} + +blockquote:after { + content: '”'; + margin-left: -.05em +} + +mark { + background-color: #f4ff81 +} + +dt { + font-weight: 700 +} + +address { + font-size: 12px; + line-height: 1; + font-style: normal +} + +address, +ul, +ol { + font-weight: 400; + letter-spacing: 0 +} + +ul, +ol { + font-size: 14px; + line-height: 24px +} + +.mdl-typography--display-4, +.mdl-typography--display-4-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 112px; + font-weight: 300; + line-height: 1; + letter-spacing: -.04em +} + +.mdl-typography--display-4-color-contrast { + opacity: .54 +} + +.mdl-typography--display-3, +.mdl-typography--display-3-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 56px; + font-weight: 400; + line-height: 1.35; + letter-spacing: -.02em +} + +.mdl-typography--display-3-color-contrast { + opacity: .54 +} + +.mdl-typography--display-2, +.mdl-typography--display-2-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 45px; + font-weight: 400; + line-height: 48px +} + +.mdl-typography--display-2-color-contrast { + opacity: .54 +} + +.mdl-typography--display-1, +.mdl-typography--display-1-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 34px; + font-weight: 400; + line-height: 40px +} + +.mdl-typography--display-1-color-contrast { + opacity: .54 +} + +.mdl-typography--headline, +.mdl-typography--headline-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 24px; + font-weight: 400; + line-height: 32px; + -moz-osx-font-smoothing: grayscale +} + +.mdl-typography--headline-color-contrast { + opacity: .87 +} + +.mdl-typography--title, +.mdl-typography--title-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 20px; + font-weight: 500; + line-height: 1; + letter-spacing: .02em +} + +.mdl-typography--title-color-contrast { + opacity: .87 +} + +.mdl-typography--subhead, +.mdl-typography--subhead-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 16px; + font-weight: 400; + line-height: 24px; + letter-spacing: .04em +} + +.mdl-typography--subhead-color-contrast { + opacity: .87 +} + +.mdl-typography--body-2, +.mdl-typography--body-2-color-contrast { + font-size: 14px; + font-weight: 700; + line-height: 24px; + letter-spacing: 0 +} + +.mdl-typography--body-2-color-contrast { + opacity: .87 +} + +.mdl-typography--body-1, +.mdl-typography--body-1-color-contrast { + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0 +} + +.mdl-typography--body-1-color-contrast { + opacity: .87 +} + +.mdl-typography--body-2-force-preferred-font, +.mdl-typography--body-2-force-preferred-font-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 24px; + letter-spacing: 0 +} + +.mdl-typography--body-2-force-preferred-font-color-contrast { + opacity: .87 +} + +.mdl-typography--body-1-force-preferred-font, +.mdl-typography--body-1-force-preferred-font-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0 +} + +.mdl-typography--body-1-force-preferred-font-color-contrast { + opacity: .87 +} + +.mdl-typography--caption, +.mdl-typography--caption-force-preferred-font { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0 +} + +.mdl-typography--caption-force-preferred-font { + font-family: "Roboto", "Helvetica", "Arial", sans-serif +} + +.mdl-typography--caption-color-contrast, +.mdl-typography--caption-force-preferred-font-color-contrast { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + opacity: .54 +} + +.mdl-typography--caption-force-preferred-font-color-contrast, +.mdl-typography--menu { + font-family: "Roboto", "Helvetica", "Arial", sans-serif +} + +.mdl-typography--menu { + font-size: 14px; + font-weight: 500; + line-height: 1; + letter-spacing: 0 +} + +.mdl-typography--menu-color-contrast { + opacity: .87 +} + +.mdl-typography--menu-color-contrast, +.mdl-typography--button, +.mdl-typography--button-color-contrast { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + line-height: 1; + letter-spacing: 0 +} + +.mdl-typography--button, +.mdl-typography--button-color-contrast { + text-transform: uppercase +} + +.mdl-typography--button-color-contrast { + opacity: .87 +} + +.mdl-typography--text-left { + text-align: left +} + +.mdl-typography--text-right { + text-align: right +} + +.mdl-typography--text-center { + text-align: center +} + +.mdl-typography--text-justify { + text-align: justify +} + +.mdl-typography--text-nowrap { + white-space: nowrap +} + +.mdl-typography--text-lowercase { + text-transform: lowercase +} + +.mdl-typography--text-uppercase { + text-transform: uppercase +} + +.mdl-typography--text-capitalize { + text-transform: capitalize +} + +.mdl-typography--font-thin { + font-weight: 200!important +} + +.mdl-typography--font-light { + font-weight: 300!important +} + +.mdl-typography--font-regular { + font-weight: 400!important +} + +.mdl-typography--font-medium { + font-weight: 500!important +} + +.mdl-typography--font-bold { + font-weight: 700!important +} + +.mdl-typography--font-black { + font-weight: 900!important +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: 400; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + word-wrap: normal; + -moz-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased +} + +.mdl-color-text--red { + color: #f44336 !important +} + +.mdl-color--red { + background-color: #f44336 !important +} + +.mdl-color-text--red-50 { + color: #ffebee !important +} + +.mdl-color--red-50 { + background-color: #ffebee !important +} + +.mdl-color-text--red-100 { + color: #ffcdd2 !important +} + +.mdl-color--red-100 { + background-color: #ffcdd2 !important +} + +.mdl-color-text--red-200 { + color: #ef9a9a !important +} + +.mdl-color--red-200 { + background-color: #ef9a9a !important +} + +.mdl-color-text--red-300 { + color: #e57373 !important +} + +.mdl-color--red-300 { + background-color: #e57373 !important +} + +.mdl-color-text--red-400 { + color: #ef5350 !important +} + +.mdl-color--red-400 { + background-color: #ef5350 !important +} + +.mdl-color-text--red-500 { + color: #f44336 !important +} + +.mdl-color--red-500 { + background-color: #f44336 !important +} + +.mdl-color-text--red-600 { + color: #e53935 !important +} + +.mdl-color--red-600 { + background-color: #e53935 !important +} + +.mdl-color-text--red-700 { + color: #d32f2f !important +} + +.mdl-color--red-700 { + background-color: #d32f2f !important +} + +.mdl-color-text--red-800 { + color: #c62828 !important +} + +.mdl-color--red-800 { + background-color: #c62828 !important +} + +.mdl-color-text--red-900 { + color: #b71c1c !important +} + +.mdl-color--red-900 { + background-color: #b71c1c !important +} + +.mdl-color-text--red-A100 { + color: #ff8a80 !important +} + +.mdl-color--red-A100 { + background-color: #ff8a80 !important +} + +.mdl-color-text--red-A200 { + color: #ff5252 !important +} + +.mdl-color--red-A200 { + background-color: #ff5252 !important +} + +.mdl-color-text--red-A400 { + color: #ff1744 !important +} + +.mdl-color--red-A400 { + background-color: #ff1744 !important +} + +.mdl-color-text--red-A700 { + color: #d50000 !important +} + +.mdl-color--red-A700 { + background-color: #d50000 !important +} + +.mdl-color-text--pink { + color: #e91e63 !important +} + +.mdl-color--pink { + background-color: #e91e63 !important +} + +.mdl-color-text--pink-50 { + color: #fce4ec !important +} + +.mdl-color--pink-50 { + background-color: #fce4ec !important +} + +.mdl-color-text--pink-100 { + color: #f8bbd0 !important +} + +.mdl-color--pink-100 { + background-color: #f8bbd0 !important +} + +.mdl-color-text--pink-200 { + color: #f48fb1 !important +} + +.mdl-color--pink-200 { + background-color: #f48fb1 !important +} + +.mdl-color-text--pink-300 { + color: #f06292 !important +} + +.mdl-color--pink-300 { + background-color: #f06292 !important +} + +.mdl-color-text--pink-400 { + color: #ec407a !important +} + +.mdl-color--pink-400 { + background-color: #ec407a !important +} + +.mdl-color-text--pink-500 { + color: #e91e63 !important +} + +.mdl-color--pink-500 { + background-color: #e91e63 !important +} + +.mdl-color-text--pink-600 { + color: #d81b60 !important +} + +.mdl-color--pink-600 { + background-color: #d81b60 !important +} + +.mdl-color-text--pink-700 { + color: #c2185b !important +} + +.mdl-color--pink-700 { + background-color: #c2185b !important +} + +.mdl-color-text--pink-800 { + color: #ad1457 !important +} + +.mdl-color--pink-800 { + background-color: #ad1457 !important +} + +.mdl-color-text--pink-900 { + color: #880e4f !important +} + +.mdl-color--pink-900 { + background-color: #880e4f !important +} + +.mdl-color-text--pink-A100 { + color: #ff80ab !important +} + +.mdl-color--pink-A100 { + background-color: #ff80ab !important +} + +.mdl-color-text--pink-A200 { + color: #ff4081 !important +} + +.mdl-color--pink-A200 { + background-color: #ff4081 !important +} + +.mdl-color-text--pink-A400 { + color: #f50057 !important +} + +.mdl-color--pink-A400 { + background-color: #f50057 !important +} + +.mdl-color-text--pink-A700 { + color: #c51162 !important +} + +.mdl-color--pink-A700 { + background-color: #c51162 !important +} + +.mdl-color-text--purple { + color: #9c27b0 !important +} + +.mdl-color--purple { + background-color: #9c27b0 !important +} + +.mdl-color-text--purple-50 { + color: #f3e5f5 !important +} + +.mdl-color--purple-50 { + background-color: #f3e5f5 !important +} + +.mdl-color-text--purple-100 { + color: #e1bee7 !important +} + +.mdl-color--purple-100 { + background-color: #e1bee7 !important +} + +.mdl-color-text--purple-200 { + color: #ce93d8 !important +} + +.mdl-color--purple-200 { + background-color: #ce93d8 !important +} + +.mdl-color-text--purple-300 { + color: #ba68c8 !important +} + +.mdl-color--purple-300 { + background-color: #ba68c8 !important +} + +.mdl-color-text--purple-400 { + color: #ab47bc !important +} + +.mdl-color--purple-400 { + background-color: #ab47bc !important +} + +.mdl-color-text--purple-500 { + color: #9c27b0 !important +} + +.mdl-color--purple-500 { + background-color: #9c27b0 !important +} + +.mdl-color-text--purple-600 { + color: #8e24aa !important +} + +.mdl-color--purple-600 { + background-color: #8e24aa !important +} + +.mdl-color-text--purple-700 { + color: #7b1fa2 !important +} + +.mdl-color--purple-700 { + background-color: #7b1fa2 !important +} + +.mdl-color-text--purple-800 { + color: #6a1b9a !important +} + +.mdl-color--purple-800 { + background-color: #6a1b9a !important +} + +.mdl-color-text--purple-900 { + color: #4a148c !important +} + +.mdl-color--purple-900 { + background-color: #4a148c !important +} + +.mdl-color-text--purple-A100 { + color: #ea80fc !important +} + +.mdl-color--purple-A100 { + background-color: #ea80fc !important +} + +.mdl-color-text--purple-A200 { + color: #e040fb !important +} + +.mdl-color--purple-A200 { + background-color: #e040fb !important +} + +.mdl-color-text--purple-A400 { + color: #d500f9 !important +} + +.mdl-color--purple-A400 { + background-color: #d500f9 !important +} + +.mdl-color-text--purple-A700 { + color: #a0f !important +} + +.mdl-color--purple-A700 { + background-color: #a0f !important +} + +.mdl-color-text--deep-purple { + color: #673ab7 !important +} + +.mdl-color--deep-purple { + background-color: #673ab7 !important +} + +.mdl-color-text--deep-purple-50 { + color: #ede7f6 !important +} + +.mdl-color--deep-purple-50 { + background-color: #ede7f6 !important +} + +.mdl-color-text--deep-purple-100 { + color: #d1c4e9 !important +} + +.mdl-color--deep-purple-100 { + background-color: #d1c4e9 !important +} + +.mdl-color-text--deep-purple-200 { + color: #b39ddb !important +} + +.mdl-color--deep-purple-200 { + background-color: #b39ddb !important +} + +.mdl-color-text--deep-purple-300 { + color: #9575cd !important +} + +.mdl-color--deep-purple-300 { + background-color: #9575cd !important +} + +.mdl-color-text--deep-purple-400 { + color: #7e57c2 !important +} + +.mdl-color--deep-purple-400 { + background-color: #7e57c2 !important +} + +.mdl-color-text--deep-purple-500 { + color: #673ab7 !important +} + +.mdl-color--deep-purple-500 { + background-color: #673ab7 !important +} + +.mdl-color-text--deep-purple-600 { + color: #5e35b1 !important +} + +.mdl-color--deep-purple-600 { + background-color: #5e35b1 !important +} + +.mdl-color-text--deep-purple-700 { + color: #512da8 !important +} + +.mdl-color--deep-purple-700 { + background-color: #512da8 !important +} + +.mdl-color-text--deep-purple-800 { + color: #4527a0 !important +} + +.mdl-color--deep-purple-800 { + background-color: #4527a0 !important +} + +.mdl-color-text--deep-purple-900 { + color: #311b92 !important +} + +.mdl-color--deep-purple-900 { + background-color: #311b92 !important +} + +.mdl-color-text--deep-purple-A100 { + color: #b388ff !important +} + +.mdl-color--deep-purple-A100 { + background-color: #b388ff !important +} + +.mdl-color-text--deep-purple-A200 { + color: #7c4dff !important +} + +.mdl-color--deep-purple-A200 { + background-color: #7c4dff !important +} + +.mdl-color-text--deep-purple-A400 { + color: #651fff !important +} + +.mdl-color--deep-purple-A400 { + background-color: #651fff !important +} + +.mdl-color-text--deep-purple-A700 { + color: #6200ea !important +} + +.mdl-color--deep-purple-A700 { + background-color: #6200ea !important +} + +.mdl-color-text--indigo { + color: #3f51b5 !important +} + +.mdl-color--indigo { + background-color: #3f51b5 !important +} + +.mdl-color-text--indigo-50 { + color: #e8eaf6 !important +} + +.mdl-color--indigo-50 { + background-color: #e8eaf6 !important +} + +.mdl-color-text--indigo-100 { + color: #c5cae9 !important +} + +.mdl-color--indigo-100 { + background-color: #c5cae9 !important +} + +.mdl-color-text--indigo-200 { + color: #9fa8da !important +} + +.mdl-color--indigo-200 { + background-color: #9fa8da !important +} + +.mdl-color-text--indigo-300 { + color: #7986cb !important +} + +.mdl-color--indigo-300 { + background-color: #7986cb !important +} + +.mdl-color-text--indigo-400 { + color: #5c6bc0 !important +} + +.mdl-color--indigo-400 { + background-color: #161B22 !important +} + +.mdl-color-text--indigo-500 { + color: #3f51b5 !important +} + +.mdl-color--indigo-500 { + background-color: #3f51b5 !important +} + +.mdl-color-text--indigo-600 { + color: #3949ab !important +} + +.mdl-color--indigo-600 { + background-color: #3949ab !important +} + +.mdl-color-text--indigo-700 { + color: #303f9f !important +} + +.mdl-color--indigo-700 { + background-color: #303f9f !important +} + +.mdl-color-text--indigo-800 { + color: #283593 !important +} + +.mdl-color--indigo-800 { + background-color: #283593 !important +} + +.mdl-color-text--indigo-900 { + color: #1a237e !important +} + +.mdl-color--indigo-900 { + background-color: #1a237e !important +} + +.mdl-color-text--indigo-A100 { + color: #8c9eff !important +} + +.mdl-color--indigo-A100 { + background-color: #8c9eff !important +} + +.mdl-color-text--indigo-A200 { + color: #536dfe !important +} + +.mdl-color--indigo-A200 { + background-color: #536dfe !important +} + +.mdl-color-text--indigo-A400 { + color: #3d5afe !important +} + +.mdl-color--indigo-A400 { + background-color: #3d5afe !important +} + +.mdl-color-text--indigo-A700 { + color: #304ffe !important +} + +.mdl-color--indigo-A700 { + background-color: #304ffe !important +} + +.mdl-color-text--blue { + color: #2196f3 !important +} + +.mdl-color--blue { + background-color: #2196f3 !important +} + +.mdl-color-text--blue-50 { + color: #e3f2fd !important +} + +.mdl-color--blue-50 { + background-color: #e3f2fd !important +} + +.mdl-color-text--blue-100 { + color: #bbdefb !important +} + +.mdl-color--blue-100 { + background-color: #bbdefb !important +} + +.mdl-color-text--blue-200 { + color: #90caf9 !important +} + +.mdl-color--blue-200 { + background-color: #90caf9 !important +} + +.mdl-color-text--blue-300 { + color: #64b5f6 !important +} + +.mdl-color--blue-300 { + background-color: #64b5f6 !important +} + +.mdl-color-text--blue-400 { + color: #42a5f5 !important +} + +.mdl-color--blue-400 { + background-color: #42a5f5 !important +} + +.mdl-color-text--blue-500 { + color: #2196f3 !important +} + +.mdl-color--blue-500 { + background-color: #2196f3 !important +} + +.mdl-color-text--blue-600 { + color: #1e88e5 !important +} + +.mdl-color--blue-600 { + background-color: #1e88e5 !important +} + +.mdl-color-text--blue-700 { + color: #1976d2 !important +} + +.mdl-color--blue-700 { + background-color: #1976d2 !important +} + +.mdl-color-text--blue-800 { + color: #1565c0 !important +} + +.mdl-color--blue-800 { + background-color: #1565c0 !important +} + +.mdl-color-text--blue-900 { + color: #0d47a1 !important +} + +.mdl-color--blue-900 { + background-color: #0d47a1 !important +} + +.mdl-color-text--blue-A100 { + color: #82b1ff !important +} + +.mdl-color--blue-A100 { + background-color: #82b1ff !important +} + +.mdl-color-text--blue-A200 { + color: #448aff !important +} + +.mdl-color--blue-A200 { + background-color: #448aff !important +} + +.mdl-color-text--blue-A400 { + color: #2979ff !important +} + +.mdl-color--blue-A400 { + background-color: #2979ff !important +} + +.mdl-color-text--blue-A700 { + color: #2962ff !important +} + +.mdl-color--blue-A700 { + background-color: #2962ff !important +} + +.mdl-color-text--light-blue { + color: #03a9f4 !important +} + +.mdl-color--light-blue { + background-color: #03a9f4 !important +} + +.mdl-color-text--light-blue-50 { + color: #e1f5fe !important +} + +.mdl-color--light-blue-50 { + background-color: #e1f5fe !important +} + +.mdl-color-text--light-blue-100 { + color: #b3e5fc !important +} + +.mdl-color--light-blue-100 { + background-color: #b3e5fc !important +} + +.mdl-color-text--light-blue-200 { + color: #81d4fa !important +} + +.mdl-color--light-blue-200 { + background-color: #81d4fa !important +} + +.mdl-color-text--light-blue-300 { + color: #4fc3f7 !important +} + +.mdl-color--light-blue-300 { + background-color: #4fc3f7 !important +} + +.mdl-color-text--light-blue-400 { + color: #29b6f6 !important +} + +.mdl-color--light-blue-400 { + background-color: #29b6f6 !important +} + +.mdl-color-text--light-blue-500 { + color: #03a9f4 !important +} + +.mdl-color--light-blue-500 { + background-color: #03a9f4 !important +} + +.mdl-color-text--light-blue-600 { + color: #039be5 !important +} + +.mdl-color--light-blue-600 { + background-color: #039be5 !important +} + +.mdl-color-text--light-blue-700 { + color: #0288d1 !important +} + +.mdl-color--light-blue-700 { + background-color: #0288d1 !important +} + +.mdl-color-text--light-blue-800 { + color: #0277bd !important +} + +.mdl-color--light-blue-800 { + background-color: #0277bd !important +} + +.mdl-color-text--light-blue-900 { + color: #01579b !important +} + +.mdl-color--light-blue-900 { + background-color: #01579b !important +} + +.mdl-color-text--light-blue-A100 { + color: #80d8ff !important +} + +.mdl-color--light-blue-A100 { + background-color: #80d8ff !important +} + +.mdl-color-text--light-blue-A200 { + color: #40c4ff !important +} + +.mdl-color--light-blue-A200 { + background-color: #40c4ff !important +} + +.mdl-color-text--light-blue-A400 { + color: #00b0ff !important +} + +.mdl-color--light-blue-A400 { + background-color: #00b0ff !important +} + +.mdl-color-text--light-blue-A700 { + color: #0091ea !important +} + +.mdl-color--light-blue-A700 { + background-color: #0091ea !important +} + +.mdl-color-text--cyan { + color: #00bcd4 !important +} + +.mdl-color--cyan { + background-color: #00bcd4 !important +} + +.mdl-color-text--cyan-50 { + color: #e0f7fa !important +} + +.mdl-color--cyan-50 { + background-color: #e0f7fa !important +} + +.mdl-color-text--cyan-100 { + color: #b2ebf2 !important +} + +.mdl-color--cyan-100 { + background-color: #b2ebf2 !important +} + +.mdl-color-text--cyan-200 { + color: #80deea !important +} + +.mdl-color--cyan-200 { + background-color: #80deea !important +} + +.mdl-color-text--cyan-300 { + color: #4dd0e1 !important +} + +.mdl-color--cyan-300 { + background-color: #4dd0e1 !important +} + +.mdl-color-text--cyan-400 { + color: #26c6da !important +} + +.mdl-color--cyan-400 { + background-color: #26c6da !important +} + +.mdl-color-text--cyan-500 { + color: #00bcd4 !important +} + +.mdl-color--cyan-500 { + background-color: #00bcd4 !important +} + +.mdl-color-text--cyan-600 { + color: #00acc1 !important +} + +.mdl-color--cyan-600 { + background-color: #00acc1 !important +} + +.mdl-color-text--cyan-700 { + color: #0097a7 !important +} + +.mdl-color--cyan-700 { + background-color: #0097a7 !important +} + +.mdl-color-text--cyan-800 { + color: #00838f !important +} + +.mdl-color--cyan-800 { + background-color: #00838f !important +} + +.mdl-color-text--cyan-900 { + color: #006064 !important +} + +.mdl-color--cyan-900 { + background-color: #006064 !important +} + +.mdl-color-text--cyan-A100 { + color: #84ffff !important +} + +.mdl-color--cyan-A100 { + background-color: #84ffff !important +} + +.mdl-color-text--cyan-A200 { + color: #18ffff !important +} + +.mdl-color--cyan-A200 { + background-color: #18ffff !important +} + +.mdl-color-text--cyan-A400 { + color: #00e5ff !important +} + +.mdl-color--cyan-A400 { + background-color: #00e5ff !important +} + +.mdl-color-text--cyan-A700 { + color: #00b8d4 !important +} + +.mdl-color--cyan-A700 { + background-color: #00b8d4 !important +} + +.mdl-color-text--teal { + color: #009688 !important +} + +.mdl-color--teal { + background-color: #009688 !important +} + +.mdl-color-text--teal-50 { + color: #e0f2f1 !important +} + +.mdl-color--teal-50 { + background-color: #e0f2f1 !important +} + +.mdl-color-text--teal-100 { + color: #b2dfdb !important +} + +.mdl-color--teal-100 { + background-color: #b2dfdb !important +} + +.mdl-color-text--teal-200 { + color: #80cbc4 !important +} + +.mdl-color--teal-200 { + background-color: #80cbc4 !important +} + +.mdl-color-text--teal-300 { + color: #4db6ac !important +} + +.mdl-color--teal-300 { + background-color: #4db6ac !important +} + +.mdl-color-text--teal-400 { + color: #26a69a !important +} + +.mdl-color--teal-400 { + background-color: #26a69a !important +} + +.mdl-color-text--teal-500 { + color: #009688 !important +} + +.mdl-color--teal-500 { + background-color: #009688 !important +} + +.mdl-color-text--teal-600 { + color: #00897b !important +} + +.mdl-color--teal-600 { + background-color: #00897b !important +} + +.mdl-color-text--teal-700 { + color: #00796b !important +} + +.mdl-color--teal-700 { + background-color: #00796b !important +} + +.mdl-color-text--teal-800 { + color: #00695c !important +} + +.mdl-color--teal-800 { + background-color: #00695c !important +} + +.mdl-color-text--teal-900 { + color: #004d40 !important +} + +.mdl-color--teal-900 { + background-color: #004d40 !important +} + +.mdl-color-text--teal-A100 { + color: #a7ffeb !important +} + +.mdl-color--teal-A100 { + background-color: #a7ffeb !important +} + +.mdl-color-text--teal-A200 { + color: #64ffda !important +} + +.mdl-color--teal-A200 { + background-color: #64ffda !important +} + +.mdl-color-text--teal-A400 { + color: #1de9b6 !important +} + +.mdl-color--teal-A400 { + background-color: #1de9b6 !important +} + +.mdl-color-text--teal-A700 { + color: #00bfa5 !important +} + +.mdl-color--teal-A700 { + background-color: #00bfa5 !important +} + +.mdl-color-text--green { + color: #4caf50 !important +} + +.mdl-color--green { + background-color: #4caf50 !important +} + +.mdl-color-text--green-50 { + color: #e8f5e9 !important +} + +.mdl-color--green-50 { + background-color: #e8f5e9 !important +} + +.mdl-color-text--green-100 { + color: #c8e6c9 !important +} + +.mdl-color--green-100 { + background-color: #c8e6c9 !important +} + +.mdl-color-text--green-200 { + color: #a5d6a7 !important +} + +.mdl-color--green-200 { + background-color: #a5d6a7 !important +} + +.mdl-color-text--green-300 { + color: #81c784 !important +} + +.mdl-color--green-300 { + background-color: #81c784 !important +} + +.mdl-color-text--green-400 { + color: #66bb6a !important +} + +.mdl-color--green-400 { + background-color: #66bb6a !important +} + +.mdl-color-text--green-500 { + color: #4caf50 !important +} + +.mdl-color--green-500 { + background-color: #4caf50 !important +} + +.mdl-color-text--green-600 { + color: #43a047 !important +} + +.mdl-color--green-600 { + background-color: #43a047 !important +} + +.mdl-color-text--green-700 { + color: #388e3c !important +} + +.mdl-color--green-700 { + background-color: #388e3c !important +} + +.mdl-color-text--green-800 { + color: #2e7d32 !important +} + +.mdl-color--green-800 { + background-color: #2e7d32 !important +} + +.mdl-color-text--green-900 { + color: #1b5e20 !important +} + +.mdl-color--green-900 { + background-color: #1b5e20 !important +} + +.mdl-color-text--green-A100 { + color: #b9f6ca !important +} + +.mdl-color--green-A100 { + background-color: #b9f6ca !important +} + +.mdl-color-text--green-A200 { + color: #69f0ae !important +} + +.mdl-color--green-A200 { + background-color: #69f0ae !important +} + +.mdl-color-text--green-A400 { + color: #00e676 !important +} + +.mdl-color--green-A400 { + background-color: #00e676 !important +} + +.mdl-color-text--green-A700 { + color: #00c853 !important +} + +.mdl-color--green-A700 { + background-color: #00c853 !important +} + +.mdl-color-text--light-green { + color: #8bc34a !important +} + +.mdl-color--light-green { + background-color: #8bc34a !important +} + +.mdl-color-text--light-green-50 { + color: #f1f8e9 !important +} + +.mdl-color--light-green-50 { + background-color: #f1f8e9 !important +} + +.mdl-color-text--light-green-100 { + color: #dcedc8 !important +} + +.mdl-color--light-green-100 { + background-color: #dcedc8 !important +} + +.mdl-color-text--light-green-200 { + color: #c5e1a5 !important +} + +.mdl-color--light-green-200 { + background-color: #c5e1a5 !important +} + +.mdl-color-text--light-green-300 { + color: #aed581 !important +} + +.mdl-color--light-green-300 { + background-color: #aed581 !important +} + +.mdl-color-text--light-green-400 { + color: #9ccc65 !important +} + +.mdl-color--light-green-400 { + background-color: #9ccc65 !important +} + +.mdl-color-text--light-green-500 { + color: #8bc34a !important +} + +.mdl-color--light-green-500 { + background-color: #8bc34a !important +} + +.mdl-color-text--light-green-600 { + color: #7cb342 !important +} + +.mdl-color--light-green-600 { + background-color: #7cb342 !important +} + +.mdl-color-text--light-green-700 { + color: #689f38 !important +} + +.mdl-color--light-green-700 { + background-color: #689f38 !important +} + +.mdl-color-text--light-green-800 { + color: #558b2f !important +} + +.mdl-color--light-green-800 { + background-color: #558b2f !important +} + +.mdl-color-text--light-green-900 { + color: #33691e !important +} + +.mdl-color--light-green-900 { + background-color: #33691e !important +} + +.mdl-color-text--light-green-A100 { + color: #ccff90 !important +} + +.mdl-color--light-green-A100 { + background-color: #ccff90 !important +} + +.mdl-color-text--light-green-A200 { + color: #b2ff59 !important +} + +.mdl-color--light-green-A200 { + background-color: #b2ff59 !important +} + +.mdl-color-text--light-green-A400 { + color: #76ff03 !important +} + +.mdl-color--light-green-A400 { + background-color: #76ff03 !important +} + +.mdl-color-text--light-green-A700 { + color: #64dd17 !important +} + +.mdl-color--light-green-A700 { + background-color: #64dd17 !important +} + +.mdl-color-text--lime { + color: #cddc39 !important +} + +.mdl-color--lime { + background-color: #cddc39 !important +} + +.mdl-color-text--lime-50 { + color: #f9fbe7 !important +} + +.mdl-color--lime-50 { + background-color: #f9fbe7 !important +} + +.mdl-color-text--lime-100 { + color: #f0f4c3 !important +} + +.mdl-color--lime-100 { + background-color: #f0f4c3 !important +} + +.mdl-color-text--lime-200 { + color: #e6ee9c !important +} + +.mdl-color--lime-200 { + background-color: #e6ee9c !important +} + +.mdl-color-text--lime-300 { + color: #dce775 !important +} + +.mdl-color--lime-300 { + background-color: #dce775 !important +} + +.mdl-color-text--lime-400 { + color: #d4e157 !important +} + +.mdl-color--lime-400 { + background-color: #d4e157 !important +} + +.mdl-color-text--lime-500 { + color: #cddc39 !important +} + +.mdl-color--lime-500 { + background-color: #cddc39 !important +} + +.mdl-color-text--lime-600 { + color: #c0ca33 !important +} + +.mdl-color--lime-600 { + background-color: #c0ca33 !important +} + +.mdl-color-text--lime-700 { + color: #afb42b !important +} + +.mdl-color--lime-700 { + background-color: #afb42b !important +} + +.mdl-color-text--lime-800 { + color: #9e9d24 !important +} + +.mdl-color--lime-800 { + background-color: #9e9d24 !important +} + +.mdl-color-text--lime-900 { + color: #827717 !important +} + +.mdl-color--lime-900 { + background-color: #827717 !important +} + +.mdl-color-text--lime-A100 { + color: #f4ff81 !important +} + +.mdl-color--lime-A100 { + background-color: #f4ff81 !important +} + +.mdl-color-text--lime-A200 { + color: #eeff41 !important +} + +.mdl-color--lime-A200 { + background-color: #eeff41 !important +} + +.mdl-color-text--lime-A400 { + color: #c6ff00 !important +} + +.mdl-color--lime-A400 { + background-color: #c6ff00 !important +} + +.mdl-color-text--lime-A700 { + color: #aeea00 !important +} + +.mdl-color--lime-A700 { + background-color: #aeea00 !important +} + +.mdl-color-text--yellow { + color: #ffeb3b !important +} + +.mdl-color--yellow { + background-color: #ffeb3b !important +} + +.mdl-color-text--yellow-50 { + color: #fffde7 !important +} + +.mdl-color--yellow-50 { + background-color: #fffde7 !important +} + +.mdl-color-text--yellow-100 { + color: #fff9c4 !important +} + +.mdl-color--yellow-100 { + background-color: #fff9c4 !important +} + +.mdl-color-text--yellow-200 { + color: #fff59d !important +} + +.mdl-color--yellow-200 { + background-color: #fff59d !important +} + +.mdl-color-text--yellow-300 { + color: #fff176 !important +} + +.mdl-color--yellow-300 { + background-color: #fff176 !important +} + +.mdl-color-text--yellow-400 { + color: #ffee58 !important +} + +.mdl-color--yellow-400 { + background-color: #ffee58 !important +} + +.mdl-color-text--yellow-500 { + color: #ffeb3b !important +} + +.mdl-color--yellow-500 { + background-color: #ffeb3b !important +} + +.mdl-color-text--yellow-600 { + color: #fdd835 !important +} + +.mdl-color--yellow-600 { + background-color: #fdd835 !important +} + +.mdl-color-text--yellow-700 { + color: #fbc02d !important +} + +.mdl-color--yellow-700 { + background-color: #fbc02d !important +} + +.mdl-color-text--yellow-800 { + color: #f9a825 !important +} + +.mdl-color--yellow-800 { + background-color: #f9a825 !important +} + +.mdl-color-text--yellow-900 { + color: #f57f17 !important +} + +.mdl-color--yellow-900 { + background-color: #f57f17 !important +} + +.mdl-color-text--yellow-A100 { + color: #ffff8d !important +} + +.mdl-color--yellow-A100 { + background-color: #ffff8d !important +} + +.mdl-color-text--yellow-A200 { + color: #ff0 !important +} + +.mdl-color--yellow-A200 { + background-color: #ff0 !important +} + +.mdl-color-text--yellow-A400 { + color: #ffea00 !important +} + +.mdl-color--yellow-A400 { + background-color: #ffea00 !important +} + +.mdl-color-text--yellow-A700 { + color: #ffd600 !important +} + +.mdl-color--yellow-A700 { + background-color: #ffd600 !important +} + +.mdl-color-text--amber { + color: #ffc107 !important +} + +.mdl-color--amber { + background-color: #0D1117 !important; + color: #ffc107; +} + +.mdl-color-text--amber-50 { + color: #fff8e1 !important +} + +.mdl-color--amber-50 { + background-color: #fff8e1 !important +} + +.mdl-color-text--amber-100 { + color: #ffecb3 !important +} + +.mdl-color--amber-100 { + background-color: #ffecb3 !important +} + +.mdl-color-text--amber-200 { + color: #ffe082 !important +} + +.mdl-color--amber-200 { + background-color: #ffe082 !important +} + +.mdl-color-text--amber-300 { + color: #ffd54f !important +} + +.mdl-color--amber-300 { + background-color: #ffd54f !important +} + +.mdl-color-text--amber-400 { + color: #ffca28 !important +} + +.mdl-color--amber-400 { + background-color: #ffca28 !important +} + +.mdl-color-text--amber-500 { + color: #ffc107 !important +} + +.mdl-color--amber-500 { + background-color: #ffc107 !important +} + +.mdl-color-text--amber-600 { + color: #ffb300 !important +} + +.mdl-color--amber-600 { + background-color: #ffb300 !important +} + +.mdl-color-text--amber-700 { + color: #ffa000 !important +} + +.mdl-color--amber-700 { + background-color: #ffa000 !important +} + +.mdl-color-text--amber-800 { + color: #ff8f00 !important +} + +.mdl-color--amber-800 { + background-color: #ff8f00 !important +} + +.mdl-color-text--amber-900 { + color: #ff6f00 !important +} + +.mdl-color--amber-900 { + background-color: #ff6f00 !important +} + +.mdl-color-text--amber-A100 { + color: #ffe57f !important +} + +.mdl-color--amber-A100 { + background-color: #ffe57f !important +} + +.mdl-color-text--amber-A200 { + color: #ffd740 !important +} + +.mdl-color--amber-A200 { + background-color: #ffd740 !important +} + +.mdl-color-text--amber-A400 { + color: #ffc400 !important +} + +.mdl-color--amber-A400 { + background-color: #ffc400 !important +} + +.mdl-color-text--amber-A700 { + color: #ffab00 !important +} + +.mdl-color--amber-A700 { + background-color: #ffab00 !important +} + +.mdl-color-text--orange { + color: #ff9800 !important +} + +.mdl-color--orange { + background-color: #ff9800 !important +} + +.mdl-color-text--orange-50 { + color: #fff3e0 !important +} + +.mdl-color--orange-50 { + background-color: #fff3e0 !important +} + +.mdl-color-text--orange-100 { + color: #ffe0b2 !important +} + +.mdl-color--orange-100 { + background-color: #ffe0b2 !important +} + +.mdl-color-text--orange-200 { + color: #ffcc80 !important +} + +.mdl-color--orange-200 { + background-color: #ffcc80 !important +} + +.mdl-color-text--orange-300 { + color: #ffb74d !important +} + +.mdl-color--orange-300 { + background-color: #ffb74d !important +} + +.mdl-color-text--orange-400 { + color: #ffa726 !important +} + +.mdl-color--orange-400 { + background-color: #ffa726 !important +} + +.mdl-color-text--orange-500 { + color: #ff9800 !important +} + +.mdl-color--orange-500 { + background-color: #ff9800 !important +} + +.mdl-color-text--orange-600 { + color: #fb8c00 !important +} + +.mdl-color--orange-600 { + background-color: #fb8c00 !important +} + +.mdl-color-text--orange-700 { + color: #f57c00 !important +} + +.mdl-color--orange-700 { + background-color: #f57c00 !important +} + +.mdl-color-text--orange-800 { + color: #ef6c00 !important +} + +.mdl-color--orange-800 { + background-color: #ef6c00 !important +} + +.mdl-color-text--orange-900 { + color: #e65100 !important +} + +.mdl-color--orange-900 { + background-color: #e65100 !important +} + +.mdl-color-text--orange-A100 { + color: #ffd180 !important +} + +.mdl-color--orange-A100 { + background-color: #ffd180 !important +} + +.mdl-color-text--orange-A200 { + color: #ffab40 !important +} + +.mdl-color--orange-A200 { + background-color: #ffab40 !important +} + +.mdl-color-text--orange-A400 { + color: #ff9100 !important +} + +.mdl-color--orange-A400 { + background-color: #ff9100 !important +} + +.mdl-color-text--orange-A700 { + color: #ff6d00 !important +} + +.mdl-color--orange-A700 { + background-color: #ff6d00 !important +} + +.mdl-color-text--deep-orange { + color: #ff5722 !important +} + +.mdl-color--deep-orange { + background-color: #ff5722 !important +} + +.mdl-color-text--deep-orange-50 { + color: #fbe9e7 !important +} + +.mdl-color--deep-orange-50 { + background-color: #fbe9e7 !important +} + +.mdl-color-text--deep-orange-100 { + color: #ffccbc !important +} + +.mdl-color--deep-orange-100 { + background-color: #ffccbc !important +} + +.mdl-color-text--deep-orange-200 { + color: #ffab91 !important +} + +.mdl-color--deep-orange-200 { + background-color: #ffab91 !important +} + +.mdl-color-text--deep-orange-300 { + color: #ff8a65 !important +} + +.mdl-color--deep-orange-300 { + background-color: #ff8a65 !important +} + +.mdl-color-text--deep-orange-400 { + color: #ff7043 !important +} + +.mdl-color--deep-orange-400 { + background-color: #ff7043 !important +} + +.mdl-color-text--deep-orange-500 { + color: #ff5722 !important +} + +.mdl-color--deep-orange-500 { + background-color: #ff5722 !important +} + +.mdl-color-text--deep-orange-600 { + color: #f4511e !important +} + +.mdl-color--deep-orange-600 { + background-color: #f4511e !important +} + +.mdl-color-text--deep-orange-700 { + color: #e64a19 !important +} + +.mdl-color--deep-orange-700 { + background-color: #e64a19 !important +} + +.mdl-color-text--deep-orange-800 { + color: #d84315 !important +} + +.mdl-color--deep-orange-800 { + background-color: #d84315 !important +} + +.mdl-color-text--deep-orange-900 { + color: #bf360c !important +} + +.mdl-color--deep-orange-900 { + background-color: #bf360c !important +} + +.mdl-color-text--deep-orange-A100 { + color: #ff9e80 !important +} + +.mdl-color--deep-orange-A100 { + background-color: #ff9e80 !important +} + +.mdl-color-text--deep-orange-A200 { + color: #ff6e40 !important +} + +.mdl-color--deep-orange-A200 { + background-color: #ff6e40 !important +} + +.mdl-color-text--deep-orange-A400 { + color: #ff3d00 !important +} + +.mdl-color--deep-orange-A400 { + background-color: #ff3d00 !important +} + +.mdl-color-text--deep-orange-A700 { + color: #dd2c00 !important +} + +.mdl-color--deep-orange-A700 { + background-color: #dd2c00 !important +} + +.mdl-color-text--brown { + color: #795548 !important +} + +.mdl-color--brown { + background-color: #795548 !important +} + +.mdl-color-text--brown-50 { + color: #efebe9 !important +} + +.mdl-color--brown-50 { + background-color: #efebe9 !important +} + +.mdl-color-text--brown-100 { + color: #d7ccc8 !important +} + +.mdl-color--brown-100 { + background-color: #d7ccc8 !important +} + +.mdl-color-text--brown-200 { + color: #bcaaa4 !important +} + +.mdl-color--brown-200 { + background-color: #bcaaa4 !important +} + +.mdl-color-text--brown-300 { + color: #a1887f !important +} + +.mdl-color--brown-300 { + background-color: #a1887f !important +} + +.mdl-color-text--brown-400 { + color: #8d6e63 !important +} + +.mdl-color--brown-400 { + background-color: #8d6e63 !important +} + +.mdl-color-text--brown-500 { + color: #795548 !important +} + +.mdl-color--brown-500 { + background-color: #795548 !important +} + +.mdl-color-text--brown-600 { + color: #6d4c41 !important +} + +.mdl-color--brown-600 { + background-color: #6d4c41 !important +} + +.mdl-color-text--brown-700 { + color: #5d4037 !important +} + +.mdl-color--brown-700 { + background-color: #5d4037 !important +} + +.mdl-color-text--brown-800 { + color: #4e342e !important +} + +.mdl-color--brown-800 { + background-color: #4e342e !important +} + +.mdl-color-text--brown-900 { + color: #3e2723 !important +} + +.mdl-color--brown-900 { + background-color: #3e2723 !important +} + +.mdl-color-text--grey { + color: #9e9e9e !important +} + +.mdl-color--grey { + background-color: #9e9e9e !important +} + +.mdl-color-text--grey-50 { + color: #fafafa !important +} + +.mdl-color--grey-50 { + background-color: #fafafa !important +} + +.mdl-color-text--grey-100 { + color: #f5f5f5 !important +} + +.mdl-color--grey-100 { + background-color: #f5f5f5 !important +} + +.mdl-color-text--grey-200 { + color: #eee !important +} + +.mdl-color--grey-200 { + background-color: #eee !important +} + +.mdl-color-text--grey-300 { + color: #e0e0e0 !important +} + +.mdl-color--grey-300 { + background-color: #e0e0e0 !important +} + +.mdl-color-text--grey-400 { + color: #bdbdbd !important +} + +.mdl-color--grey-400 { + background-color: #bdbdbd !important +} + +.mdl-color-text--grey-500 { + color: #9e9e9e !important +} + +.mdl-color--grey-500 { + background-color: #9e9e9e !important +} + +.mdl-color-text--grey-600 { + color: #757575 !important +} + +.mdl-color--grey-600 { + background-color: #757575 !important +} + +.mdl-color-text--grey-700 { + color: #616161 !important +} + +.mdl-color--grey-700 { + background-color: #616161 !important +} + +.mdl-color-text--grey-800 { + color: #424242 !important +} + +.mdl-color--grey-800 { + background-color: #424242 !important +} + +.mdl-color-text--grey-900 { + color: #212121 !important +} + +.mdl-color--grey-900 { + background-color: #212121 !important +} + +.mdl-color-text--blue-grey { + color: #607d8b !important +} + +.mdl-color--blue-grey { + background-color: #607d8b !important +} + +.mdl-color-text--blue-grey-50 { + color: #eceff1 !important +} + +.mdl-color--blue-grey-50 { + background-color: #eceff1 !important +} + +.mdl-color-text--blue-grey-100 { + color: #cfd8dc !important +} + +.mdl-color--blue-grey-100 { + background-color: #cfd8dc !important +} + +.mdl-color-text--blue-grey-200 { + color: #b0bec5 !important +} + +.mdl-color--blue-grey-200 { + background-color: #b0bec5 !important +} + +.mdl-color-text--blue-grey-300 { + color: #90a4ae !important +} + +.mdl-color--blue-grey-300 { + background-color: #90a4ae !important +} + +.mdl-color-text--blue-grey-400 { + color: #78909c !important +} + +.mdl-color--blue-grey-400 { + background-color: #78909c !important +} + +.mdl-color-text--blue-grey-500 { + color: #607d8b !important +} + +.mdl-color--blue-grey-500 { + background-color: #607d8b !important +} + +.mdl-color-text--blue-grey-600 { + color: #546e7a !important +} + +.mdl-color--blue-grey-600 { + background-color: #546e7a !important +} + +.mdl-color-text--blue-grey-700 { + color: #455a64 !important +} + +.mdl-color--blue-grey-700 { + background-color: #455a64 !important +} + +.mdl-color-text--blue-grey-800 { + color: #37474f !important +} + +.mdl-color--blue-grey-800 { + background-color: #37474f !important +} + +.mdl-color-text--blue-grey-900 { + color: #263238 !important +} + +.mdl-color--blue-grey-900 { + background-color: #263238 !important +} + +.mdl-color--black { + background-color: #000 !important +} + +.mdl-color-text--black { + color: #000 !important +} + +.mdl-color--white { + background-color: #fff !important +} + +.mdl-color-text--white { + color: #fff !important +} + +.mdl-color--primary { + background-color: rgb(96, 125, 139)!important +} + +.mdl-color--primary-contrast { + background-color: rgb(255, 255, 255)!important +} + +.mdl-color--primary-dark { + background-color: rgb(69, 90, 100)!important +} + +.mdl-color--accent { + background-color: rgb(83, 109, 254)!important +} + +.mdl-color--accent-contrast { + background-color: rgb(255, 255, 255)!important +} + +.mdl-color-text--primary { + color: rgb(96, 125, 139)!important +} + +.mdl-color-text--primary-contrast { + color: rgb(255, 255, 255)!important +} + +.mdl-color-text--primary-dark { + color: rgb(69, 90, 100)!important +} + +.mdl-color-text--accent { + color: rgb(83, 109, 254)!important +} + +.mdl-color-text--accent-contrast { + color: rgb(255, 255, 255)!important +} + +.mdl-ripple { + background: #000; + border-radius: 50%; + height: 50px; + left: 0; + opacity: 0; + pointer-events: none; + position: absolute; + top: 0; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + width: 50px; + overflow: hidden +} + +.mdl-ripple.is-animating { + transition: transform .3s cubic-bezier(0, 0, .2, 1), width .3s cubic-bezier(0, 0, .2, 1), height .3s cubic-bezier(0, 0, .2, 1), opacity .6s cubic-bezier(0, 0, .2, 1); + transition: transform .3s cubic-bezier(0, 0, .2, 1), width .3s cubic-bezier(0, 0, .2, 1), height .3s cubic-bezier(0, 0, .2, 1), opacity .6s cubic-bezier(0, 0, .2, 1), -webkit-transform .3s cubic-bezier(0, 0, .2, 1) +} + +.mdl-ripple.is-visible { + opacity: .3 +} + +.mdl-animation--default, +.mdl-animation--fast-out-slow-in { + transition-timing-function: cubic-bezier(.4, 0, .2, 1) +} + +.mdl-animation--linear-out-slow-in { + transition-timing-function: cubic-bezier(0, 0, .2, 1) +} + +.mdl-animation--fast-out-linear-in { + transition-timing-function: cubic-bezier(.4, 0, 1, 1) +} + +.mdl-badge { + position: relative; + white-space: nowrap; + margin-right: 24px +} + +.mdl-badge:not([data-badge]) { + margin-right: auto +} + +.mdl-badge[data-badge]:after { + content: attr(data-badge); + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-content: center; + -ms-flex-line-pack: center; + align-content: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + position: absolute; + top: -11px; + right: -24px; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-weight: 600; + font-size: 12px; + width: 22px; + height: 22px; + border-radius: 50%; + background: rgb(83, 109, 254); + color: rgb(255, 255, 255) +} + +.mdl-button .mdl-badge[data-badge]:after { + top: -10px; + right: -5px +} + +.mdl-badge.mdl-badge--no-background[data-badge]:after { + color: rgb(83, 109, 254); + background: rgba(255, 255, 255, .2); + box-shadow: 0 0 1px gray +} + +.mdl-badge.mdl-badge--overlap { + margin-right: 10px +} + +.mdl-badge.mdl-badge--overlap:after { + right: -10px +} + +.mdl-button { + background: 0 0; + border: none; + border-radius: 2px; + color: #c9c9c9; + position: relative; + height: 36px; + margin: 0; + min-width: 64px; + padding: 0 16px; + display: inline-block; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 0; + overflow: hidden; + will-change: box-shadow; + transition: box-shadow .2s cubic-bezier(.4, 0, 1, 1), background-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1); + outline: none; + cursor: pointer; + text-decoration: none; + text-align: center; + line-height: 36px; + vertical-align: middle +} + +.mdl-button::-moz-focus-inner { + border: 0 +} + +.mdl-button:hover { + background-color: rgba(158, 158, 158, .2) +} + +.mdl-button:focus:not(:active) { + background-color: rgba(0, 0, 0, .12) +} + +.mdl-button:active { + background-color: rgba(158, 158, 158, .4) +} + +.mdl-button.mdl-button--colored { + color: rgb(96, 125, 139) +} + +.mdl-button.mdl-button--colored:focus:not(:active) { + background-color: rgba(0, 0, 0, .12) +} + +input.mdl-button[type="submit"] { + -webkit-appearance: none +} + +.mdl-button--raised { + background: rgba(158, 158, 158, .2); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12) +} + +.mdl-button--raised:active { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .2); + background-color: rgba(158, 158, 158, .4) +} + +.mdl-button--raised:focus:not(:active) { + box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36); + background-color: rgba(158, 158, 158, .4) +} + +.mdl-button--raised.mdl-button--colored { + background: rgb(96, 125, 139); + color: rgb(255, 255, 255) +} + +.mdl-button--raised.mdl-button--colored:hover { + background-color: rgb(96, 125, 139) +} + +.mdl-button--raised.mdl-button--colored:active { + background-color: rgb(96, 125, 139) +} + +.mdl-button--raised.mdl-button--colored:focus:not(:active) { + background-color: rgb(96, 125, 139) +} + +.mdl-button--raised.mdl-button--colored .mdl-ripple { + background: rgb(255, 255, 255) +} + +.mdl-button--fab { + border-radius: 50%; + font-size: 24px; + height: 56px; + margin: auto; + min-width: 56px; + width: 56px; + padding: 0; + overflow: hidden; + background: rgba(158, 158, 158, .2); + box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, .12), 0 1px 1px 0 rgba(0, 0, 0, .24); + position: relative; + line-height: normal +} + +.mdl-button--fab .material-icons { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px +} + +.mdl-button--fab.mdl-button--mini-fab { + height: 40px; + min-width: 40px; + width: 40px +} + +.mdl-button--fab .mdl-button__ripple-container { + border-radius: 50%; + -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000) +} + +.mdl-button--fab:active { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .2); + background-color: rgba(158, 158, 158, .4) +} + +.mdl-button--fab:focus:not(:active) { + box-shadow: 0 0 8px rgba(0, 0, 0, .18), 0 8px 16px rgba(0, 0, 0, .36); + background-color: rgba(158, 158, 158, .4) +} + +.mdl-button--fab.mdl-button--colored { + background: rgb(83, 109, 254); + color: rgb(255, 255, 255) +} + +.mdl-button--fab.mdl-button--colored:hover { + background-color: rgb(83, 109, 254) +} + +.mdl-button--fab.mdl-button--colored:focus:not(:active) { + background-color: rgb(83, 109, 254) +} + +.mdl-button--fab.mdl-button--colored:active { + background-color: rgb(83, 109, 254) +} + +.mdl-button--fab.mdl-button--colored .mdl-ripple { + background: rgb(255, 255, 255) +} + +.mdl-button--icon { + border-radius: 50%; + font-size: 24px; + height: 32px; + margin-left: 0; + margin-right: 0; + min-width: 32px; + width: 32px; + padding: 0; + overflow: hidden; + color: inherit; + line-height: normal +} + +.mdl-button--icon .material-icons { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-12px, -12px); + transform: translate(-12px, -12px); + line-height: 24px; + width: 24px +} + +.mdl-button--icon.mdl-button--mini-icon { + height: 24px; + min-width: 24px; + width: 24px +} + +.mdl-button--icon.mdl-button--mini-icon .material-icons { + top: 0; + left: 0 +} + +.mdl-button--icon .mdl-button__ripple-container { + border-radius: 50%; + -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000) +} + +.mdl-button__ripple-container { + display: block; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 0; + overflow: hidden +} + +.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple, +.mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple { + background-color: transparent +} + +.mdl-button--primary.mdl-button--primary { + color: rgb(96, 125, 139) +} + +.mdl-button--primary.mdl-button--primary .mdl-ripple { + background: rgb(255, 255, 255) +} + +.mdl-button--primary.mdl-button--primary.mdl-button--raised, +.mdl-button--primary.mdl-button--primary.mdl-button--fab { + color: rgb(255, 255, 255); + background-color: rgb(96, 125, 139) +} + +.mdl-button--accent.mdl-button--accent { + color: rgb(83, 109, 254) +} + +.mdl-button--accent.mdl-button--accent .mdl-ripple { + background: rgb(255, 255, 255) +} + +.mdl-button--accent.mdl-button--accent.mdl-button--raised, +.mdl-button--accent.mdl-button--accent.mdl-button--fab { + color: rgb(255, 255, 255); + background-color: rgb(83, 109, 254) +} + +.mdl-button[disabled][disabled], +.mdl-button.mdl-button--disabled.mdl-button--disabled { + color: rgba(0, 0, 0, .26); + cursor: default; + background-color: transparent +} + +.mdl-button--fab[disabled][disabled], +.mdl-button--fab.mdl-button--disabled.mdl-button--disabled { + background-color: rgba(0, 0, 0, .12); + color: rgba(0, 0, 0, .26) +} + +.mdl-button--raised[disabled][disabled], +.mdl-button--raised.mdl-button--disabled.mdl-button--disabled { + background-color: rgba(0, 0, 0, .12); + color: rgba(0, 0, 0, .26); + box-shadow: none +} + +.mdl-button--colored[disabled][disabled], +.mdl-button--colored.mdl-button--disabled.mdl-button--disabled { + color: rgba(0, 0, 0, .26) +} + +.mdl-button .material-icons { + vertical-align: middle +} + +.mdl-card { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + font-size: 16px; + font-weight: 400; + min-height: 200px; + overflow: hidden; + width: 330px; + z-index: 1; + position: relative; + background: #161B22; + border-radius: 2px; + box-sizing: border-box +} + +.mdl-card__media { + background-color: rgb(83, 109, 254); + background-repeat: repeat; + background-position: 50% 50%; + background-size: cover; + background-origin: padding-box; + background-attachment: scroll; + box-sizing: border-box +} + +.mdl-card__title { + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + color: #000; + display: block; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: stretch; + -ms-flex-pack: stretch; + justify-content: stretch; + line-height: normal; + padding: 16px; + -webkit-perspective-origin: 165px 56px; + perspective-origin: 165px 56px; + -webkit-transform-origin: 165px 56px; + transform-origin: 165px 56px; + box-sizing: border-box +} + +.mdl-card__title.mdl-card--border { + border-bottom: 1px solid rgba(0, 0, 0, .1) +} + +.mdl-card__title-text { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end; + color: inherit; + display: block; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + font-size: 24px; + font-weight: 300; + line-height: normal; + overflow: hidden; + -webkit-transform-origin: 149px 48px; + transform-origin: 149px 48px; + margin: 0 +} + +.mdl-card__subtitle-text { + font-size: 14px; + color: rgba(0, 0, 0, .54); + margin: 0 +} + +.mdl-card__supporting-text { + color: rgba(0, 0, 0, .54); + font-size: 1rem; + line-height: 18px; + overflow: hidden; + padding: 16px; + width: 90% +} + +.mdl-card__actions { + font-size: 16px; + line-height: normal; + width: 100%; + background-color: transparent; + padding: 8px; + box-sizing: border-box +} + +.mdl-card__actions.mdl-card--border { + border-top: 1px solid rgba(0, 0, 0, .1) +} + +.mdl-card--expand { + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1 +} + +.mdl-card__menu { + position: absolute; + right: 16px; + top: 16px +} + +.mdl-checkbox { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + box-sizing: border-box; + width: 100%; + height: 24px; + margin: 0; + padding: 0 +} + +.mdl-checkbox.is-upgraded { + padding-left: 24px +} + +.mdl-checkbox__input { + line-height: 24px +} + +.mdl-checkbox.is-upgraded .mdl-checkbox__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none +} + +.mdl-checkbox__box-outline { + position: absolute; + top: 3px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + overflow: hidden; + border: 2px solid rgba(0, 0, 0, .54); + border-radius: 2px; + z-index: 2 +} + +.mdl-checkbox.is-checked .mdl-checkbox__box-outline { + border: 2px solid rgb(96, 125, 139) +} + +fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline, +.mdl-checkbox.is-disabled .mdl-checkbox__box-outline { + border: 2px solid rgba(0, 0, 0, .26); + cursor: auto +} + +.mdl-checkbox__focus-helper { + position: absolute; + top: 3px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + border-radius: 50%; + background-color: transparent +} + +.mdl-checkbox.is-focused .mdl-checkbox__focus-helper { + box-shadow: 0 0 0 8px rgba(0, 0, 0, .1); + background-color: rgba(0, 0, 0, .1) +} + +.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper { + box-shadow: 0 0 0 8px rgba(96, 125, 139, .26); + background-color: rgba(96, 125, 139, .26) +} + +.mdl-checkbox__tick-outline { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); + mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8ZGVmcz4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMCwwIDAsMSAxLDEgMSwwIDAsMCB6IE0gMC44NTM0Mzc1LDAuMTY3MTg3NSAwLjk1OTY4NzUsMC4yNzMxMjUgMC40MjkzNzUsMC44MDM0Mzc1IDAuMzIzMTI1LDAuOTA5Njg3NSAwLjIxNzE4NzUsMC44MDM0Mzc1IDAuMDQwMzEyNSwwLjYyNjg3NSAwLjE0NjU2MjUsMC41MjA2MjUgMC4zMjMxMjUsMC42OTc1IDAuODUzNDM3NSwwLjE2NzE4NzUgeiIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8bWFzayBpZD0ibWFzayIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgbWFza0NvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8cGF0aAogICAgICAgICBkPSJNIDAsMCAwLDEgMSwxIDEsMCAwLDAgeiBNIDAuODUzNDM3NSwwLjE2NzE4NzUgMC45NTk2ODc1LDAuMjczMTI1IDAuNDI5Mzc1LDAuODAzNDM3NSAwLjMyMzEyNSwwLjkwOTY4NzUgMC4yMTcxODc1LDAuODAzNDM3NSAwLjA0MDMxMjUsMC42MjY4NzUgMC4xNDY1NjI1LDAuNTIwNjI1IDAuMzIzMTI1LDAuNjk3NSAwLjg1MzQzNzUsMC4xNjcxODc1IHoiCiAgICAgICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiIC8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgogIDxyZWN0CiAgICAgd2lkdGg9IjEiCiAgICAgaGVpZ2h0PSIxIgogICAgIHg9IjAiCiAgICAgeT0iMCIKICAgICBjbGlwLXBhdGg9InVybCgjY2xpcCkiCiAgICAgc3R5bGU9ImZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIgLz4KPC9zdmc+Cg=="); + background: 0 0; + transition-duration: .28s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-property: background +} + +.mdl-checkbox.is-checked .mdl-checkbox__tick-outline { + background: rgb(96, 125, 139)url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K") +} + +fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline, +.mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline { + background: rgba(0, 0, 0, .26)url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K") +} + +.mdl-checkbox__label { + position: relative; + cursor: pointer; + font-size: 16px; + line-height: 24px; + margin: 0; + color: #c9c9c9; +} + +fieldset[disabled] .mdl-checkbox .mdl-checkbox__label, +.mdl-checkbox.is-disabled .mdl-checkbox__label { + color: rgba(0, 0, 0, .26); + cursor: auto +} + +.mdl-checkbox__ripple-container { + position: absolute; + z-index: 2; + top: -6px; + left: -10px; + box-sizing: border-box; + width: 36px; + height: 36px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000) +} + +.mdl-checkbox__ripple-container .mdl-ripple { + background: rgb(96, 125, 139) +} + +fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container, +.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container { + cursor: auto +} + +fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, +.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple { + background: 0 0 +} + +.mdl-chip { + height: 32px; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + line-height: 32px; + padding: 0 12px; + border: 0; + border-radius: 16px; + background-color: #dedede; + display: inline-block; + color: rgba(0, 0, 0, .87); + margin: 2px 0; + font-size: 0; + white-space: nowrap +} + +.mdl-chip__text { + font-size: 13px; + vertical-align: middle; + display: inline-block +} + +.mdl-chip__action { + height: 24px; + width: 24px; + background: 0 0; + opacity: .54; + cursor: pointer; + padding: 0; + margin: 0 0 0 4px; + font-size: 13px; + text-decoration: none; + color: rgba(0, 0, 0, .87); + border: none; + outline: none +} + +.mdl-chip__action, +.mdl-chip__contact { + display: inline-block; + vertical-align: middle; + overflow: hidden; + text-align: center +} + +.mdl-chip__contact { + height: 32px; + width: 32px; + border-radius: 16px; + margin-right: 8px; + font-size: 18px; + line-height: 32px +} + +.mdl-chip:focus { + outline: 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12) +} + +.mdl-chip:active { + background-color: #d6d6d6 +} + +.mdl-chip--deletable { + padding-right: 4px +} + +.mdl-chip--contact { + padding-left: 0 +} + +.mdl-data-table { + position: relative; + border: 1px solid #161B22; + border-collapse: collapse; + white-space: nowrap; + font-size: 13px; + background-color: #161B22; +} + +.mdl-data-table thead { + padding-bottom: 3px +} + +.mdl-data-table thead .mdl-data-table__select { + margin-top: 0 +} + +.mdl-data-table tbody tr { + position: relative; + height: 48px; + transition-duration: .28s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-property: background-color +} + +.mdl-data-table tbody tr.is-selected { + background-color: #e0e0e0 +} + +.mdl-data-table tbody tr:hover { + background-color: #0D1117; +} + +.mdl-data-table td { + text-align: right +} + +.mdl-data-table th { + padding: 0 18px 12px 18px; + text-align: right +} + +.mdl-data-table td:first-of-type, +.mdl-data-table th:first-of-type { + padding-left: 24px +} + +.mdl-data-table td:last-of-type, +.mdl-data-table th:last-of-type { + padding-right: 24px +} + +.mdl-data-table td { + position: relative; + height: 48px; + border-top: 1px solid rgba(0, 0, 0, .12); + border-bottom: 1px solid rgba(0, 0, 0, .12); + padding: 12px 18px; + box-sizing: border-box; + color: #c9c9c9; +} + +.mdl-data-table td, +.mdl-data-table td .mdl-data-table__select { + vertical-align: middle +} + +.mdl-data-table th { + position: relative; + vertical-align: bottom; + text-overflow: ellipsis; + font-weight: 700; + line-height: 24px; + letter-spacing: 0; + height: 48px; + font-size: 12px; + color: rgba(0, 0, 0, .54); + padding-bottom: 8px; + box-sizing: border-box +} + +.mdl-data-table th.mdl-data-table__header--sorted-ascending, +.mdl-data-table th.mdl-data-table__header--sorted-descending { + color: rgba(0, 0, 0, .87) +} + +.mdl-data-table th.mdl-data-table__header--sorted-ascending:before, +.mdl-data-table th.mdl-data-table__header--sorted-descending:before { + font-family: 'Material Icons'; + font-weight: 400; + font-style: normal; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + word-wrap: normal; + -moz-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + font-size: 16px; + content: "\e5d8"; + margin-right: 5px; + vertical-align: sub +} + +.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover, +.mdl-data-table th.mdl-data-table__header--sorted-descending:hover { + cursor: pointer +} + +.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before, +.mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before { + color: rgba(0, 0, 0, .26) +} + +.mdl-data-table th.mdl-data-table__header--sorted-descending:before { + content: "\e5db" +} + +.mdl-data-table__select { + width: 16px +} + +.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric { + text-align: left +} + +.mdl-dialog { + border: none; + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14), 0 11px 15px -7px rgba(0, 0, 0, .12), 0 24px 38px 3px rgba(0, 0, 0, .2); + width: 280px +} + +.mdl-dialog__title { + padding: 24px 24px 0; + margin: 0; + font-size: 2.5rem +} + +.mdl-dialog__actions { + padding: 8px 8px 8px 24px; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap +} + +.mdl-dialog__actions>* { + margin-right: 8px; + height: 36px +} + +.mdl-dialog__actions>*:first-child { + margin-right: 0 +} + +.mdl-dialog__actions--full-width { + padding: 0 0 8px +} + +.mdl-dialog__actions--full-width>* { + height: 48px; + -webkit-flex: 0 0 100%; + -ms-flex: 0 0 100%; + flex: 0 0 100%; + padding-right: 16px; + margin-right: 0; + text-align: right +} + +.mdl-dialog__content { + padding: 20px 24px 24px; + color: rgba(0, 0, 0, .54) +} + +.mdl-mega-footer { + padding: 16px 40px; + color: #9e9e9e; + background-color: #424242 +} + +.mdl-mega-footer--top-section:after, +.mdl-mega-footer--middle-section:after, +.mdl-mega-footer--bottom-section:after, +.mdl-mega-footer__top-section:after, +.mdl-mega-footer__middle-section:after, +.mdl-mega-footer__bottom-section:after { + content: ''; + display: block; + clear: both +} + +.mdl-mega-footer--left-section, +.mdl-mega-footer__left-section, +.mdl-mega-footer--right-section, +.mdl-mega-footer__right-section { + margin-bottom: 16px +} + +.mdl-mega-footer--right-section a, +.mdl-mega-footer__right-section a { + display: block; + margin-bottom: 16px; + color: inherit; + text-decoration: none +} + +@media screen and (min-width:760px) { + .mdl-mega-footer--left-section, + .mdl-mega-footer__left-section { + float: left + } + .mdl-mega-footer--right-section, + .mdl-mega-footer__right-section { + float: right + } + .mdl-mega-footer--right-section a, + .mdl-mega-footer__right-section a { + display: inline-block; + margin-left: 16px; + line-height: 36px; + vertical-align: middle + } +} + +.mdl-mega-footer--social-btn, +.mdl-mega-footer__social-btn { + width: 36px; + height: 36px; + padding: 0; + margin: 0; + background-color: #9e9e9e; + border: none +} + +.mdl-mega-footer--drop-down-section, +.mdl-mega-footer__drop-down-section { + display: block; + position: relative +} + +@media screen and (min-width:760px) { + .mdl-mega-footer--drop-down-section, + .mdl-mega-footer__drop-down-section { + width: 33% + } + .mdl-mega-footer--drop-down-section:nth-child(1), + .mdl-mega-footer--drop-down-section:nth-child(2), + .mdl-mega-footer__drop-down-section:nth-child(1), + .mdl-mega-footer__drop-down-section:nth-child(2) { + float: left + } + .mdl-mega-footer--drop-down-section:nth-child(3), + .mdl-mega-footer__drop-down-section:nth-child(3) { + float: right + } + .mdl-mega-footer--drop-down-section:nth-child(3):after, + .mdl-mega-footer__drop-down-section:nth-child(3):after { + clear: right + } + .mdl-mega-footer--drop-down-section:nth-child(4), + .mdl-mega-footer__drop-down-section:nth-child(4) { + clear: right; + float: right + } + .mdl-mega-footer--middle-section:after, + .mdl-mega-footer__middle-section:after { + content: ''; + display: block; + clear: both + } + .mdl-mega-footer--bottom-section, + .mdl-mega-footer__bottom-section { + padding-top: 0 + } +} + +@media screen and (min-width:1024px) { + .mdl-mega-footer--drop-down-section, + .mdl-mega-footer--drop-down-section:nth-child(3), + .mdl-mega-footer--drop-down-section:nth-child(4), + .mdl-mega-footer__drop-down-section, + .mdl-mega-footer__drop-down-section:nth-child(3), + .mdl-mega-footer__drop-down-section:nth-child(4) { + width: 24%; + float: left + } +} + +.mdl-mega-footer--heading-checkbox, +.mdl-mega-footer__heading-checkbox { + position: absolute; + width: 100%; + height: 55.8px; + padding: 32px; + margin: -16px 0 0; + cursor: pointer; + z-index: 1; + opacity: 0 +} + +.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after, +.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after, +.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after, +.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after { + font-family: 'Material Icons'; + content: '\E5CE' +} + +.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list, +.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list, +.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list, +.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list, +.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list, +.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list, +.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list, +.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list { + display: none +} + +.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after, +.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after, +.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after, +.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after { + font-family: 'Material Icons'; + content: '\E5CF' +} + +.mdl-mega-footer--heading, +.mdl-mega-footer__heading { + position: relative; + width: 100%; + padding-right: 39.8px; + margin-bottom: 16px; + box-sizing: border-box; + font-size: 14px; + line-height: 23.8px; + font-weight: 500; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + color: #e0e0e0 +} + +.mdl-mega-footer--heading:after, +.mdl-mega-footer__heading:after { + content: ''; + position: absolute; + top: 0; + right: 0; + display: block; + width: 23.8px; + height: 23.8px; + background-size: cover +} + +.mdl-mega-footer--link-list, +.mdl-mega-footer__link-list { + list-style: none; + padding: 0; + margin: 0 0 32px +} + +.mdl-mega-footer--link-list:after, +.mdl-mega-footer__link-list:after { + clear: both; + display: block; + content: '' +} + +.mdl-mega-footer--link-list li, +.mdl-mega-footer__link-list li { + font-size: 14px; + font-weight: 400; + letter-spacing: 0; + line-height: 20px +} + +.mdl-mega-footer--link-list a, +.mdl-mega-footer__link-list a { + color: inherit; + text-decoration: none; + white-space: nowrap +} + +@media screen and (min-width:760px) { + .mdl-mega-footer--heading-checkbox, + .mdl-mega-footer__heading-checkbox { + display: none + } + .mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after, + .mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after, + .mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after, + .mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after { + content: '' + } + .mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list, + .mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list, + .mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list, + .mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list, + .mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list, + .mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list, + .mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list, + .mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list { + display: block + } + .mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after, + .mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after, + .mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after, + .mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after { + content: '' + } +} + +.mdl-mega-footer--bottom-section, +.mdl-mega-footer__bottom-section { + padding-top: 16px; + margin-bottom: 16px +} + +.mdl-logo { + margin-bottom: 16px; + color: #fff +} + +.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li, +.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li { + float: left; + margin-bottom: 0; + margin-right: 16px +} + +@media screen and (min-width:760px) { + .mdl-logo { + float: left; + margin-bottom: 0; + margin-right: 16px + } +} + +.mdl-mini-footer { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 32px 16px; + color: #9e9e9e; + background-color: #424242 +} + +.mdl-mini-footer:after { + content: ''; + display: block +} + +.mdl-mini-footer .mdl-logo { + line-height: 36px +} + +.mdl-mini-footer--link-list, +.mdl-mini-footer__link-list { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row nowrap; + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + list-style: none; + margin: 0; + padding: 0 +} + +.mdl-mini-footer--link-list li, +.mdl-mini-footer__link-list li { + margin-bottom: 0; + margin-right: 16px +} + +@media screen and (min-width:760px) { + .mdl-mini-footer--link-list li, + .mdl-mini-footer__link-list li { + line-height: 36px + } +} + +.mdl-mini-footer--link-list a, +.mdl-mini-footer__link-list a { + color: inherit; + text-decoration: none; + white-space: nowrap +} + +.mdl-mini-footer--left-section, +.mdl-mini-footer__left-section { + display: inline-block; + -webkit-order: 0; + -ms-flex-order: 0; + order: 0 +} + +.mdl-mini-footer--right-section, +.mdl-mini-footer__right-section { + display: inline-block; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1 +} + +.mdl-mini-footer--social-btn, +.mdl-mini-footer__social-btn { + width: 36px; + height: 36px; + padding: 0; + margin: 0; + background-color: #9e9e9e; + border: none +} + +.mdl-icon-toggle { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + height: 32px; + margin: 0; + padding: 0 +} + +.mdl-icon-toggle__input { + line-height: 32px +} + +.mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none +} + +.mdl-icon-toggle__label { + display: inline-block; + position: relative; + cursor: pointer; + height: 32px; + width: 32px; + min-width: 32px; + color: #616161; + border-radius: 50%; + padding: 0; + margin-left: 0; + margin-right: 0; + text-align: center; + background-color: transparent; + will-change: background-color; + transition: background-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1) +} + +.mdl-icon-toggle__label.material-icons { + line-height: 32px; + font-size: 24px +} + +.mdl-icon-toggle.is-checked .mdl-icon-toggle__label { + color: rgb(96, 125, 139) +} + +.mdl-icon-toggle.is-disabled .mdl-icon-toggle__label { + color: rgba(0, 0, 0, .26); + cursor: auto; + transition: none +} + +.mdl-icon-toggle.is-focused .mdl-icon-toggle__label { + background-color: rgba(0, 0, 0, .12) +} + +.mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label { + background-color: rgba(96, 125, 139, .26) +} + +.mdl-icon-toggle__ripple-container { + position: absolute; + z-index: 2; + top: -2px; + left: -2px; + box-sizing: border-box; + width: 36px; + height: 36px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000) +} + +.mdl-icon-toggle__ripple-container .mdl-ripple { + background: #616161 +} + +.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container { + cursor: auto +} + +.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple { + background: 0 0 +} + +.mdl-list { + display: block; + padding: 8px 0; + list-style: none +} + +.mdl-list__item { + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 16px; + font-weight: 400; + letter-spacing: .04em; + line-height: 1; + min-height: 48px; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + padding: 16px; + cursor: default; + color: #c9c9c9; + overflow: hidden +} + +.mdl-list__item, +.mdl-list__item .mdl-list__item-primary-content { + box-sizing: border-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center +} + +.mdl-list__item .mdl-list__item-primary-content { + -webkit-order: 0; + -ms-flex-order: 0; + order: 0; + -webkit-flex-grow: 2; + -ms-flex-positive: 2; + flex-grow: 2; + text-decoration: none +} + +.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon { + margin-right: 32px +} + +.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar { + margin-right: 16px +} + +.mdl-list__item .mdl-list__item-secondary-content { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: column; + -ms-flex-flow: column; + flex-flow: column; + -webkit-align-items: flex-end; + -ms-flex-align: end; + align-items: flex-end; + margin-left: 16px +} + +.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label { + display: inline +} + +.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info { + font-size: 12px; + font-weight: 400; + line-height: 1; + letter-spacing: 0; + color: rgba(0, 0, 0, .54) +} + +.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header { + padding: 0 0 0 16px +} + +.mdl-list__item-icon, +.mdl-list__item-icon.material-icons { + height: 24px; + width: 24px; + font-size: 24px; + box-sizing: border-box; + color: #757575 +} + +.mdl-list__item-avatar, +.mdl-list__item-avatar.material-icons { + height: 40px; + width: 40px; + box-sizing: border-box; + border-radius: 50%; + background-color: #757575; + font-size: 40px; + color: #fff +} + +.mdl-list__item--two-line { + height: 72px +} + +.mdl-list__item--two-line .mdl-list__item-primary-content { + height: 36px; + line-height: 20px; + display: block +} + +.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar { + float: left +} + +.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon { + float: left; + margin-top: 6px +} + +.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content { + height: 36px +} + +.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title { + font-size: 14px; + font-weight: 400; + letter-spacing: 0; + line-height: 18px; + color: #555555; + display: block; + padding: 0 +} + +.mdl-list__item--three-line { + height: 88px +} + +.mdl-list__item--three-line .mdl-list__item-primary-content { + height: 52px; + line-height: 20px; + display: block +} + +.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar, +.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon { + float: left +} + +.mdl-list__item--three-line .mdl-list__item-secondary-content { + height: 52px +} + +.mdl-list__item--three-line .mdl-list__item-text-body { + font-size: 14px; + font-weight: 400; + letter-spacing: 0; + line-height: 18px; + height: 52px; + color: rgba(0, 0, 0, .54); + display: block; + padding: 0 +} + +.mdl-menu__container { + display: block; + margin: 0; + padding: 0; + border: none; + position: absolute; + overflow: visible; + height: 0; + width: 0; + visibility: hidden; + z-index: -1 +} + +.mdl-menu__container.is-visible, +.mdl-menu__container.is-animating { + z-index: 999; + visibility: visible +} + +.mdl-menu__outline { + display: block; + background: #0D1117; + margin: 0; + padding: 0; + border: none; + border-radius: 2px; + position: absolute; + top: 0; + left: 0; + overflow: hidden; + opacity: 0; + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12); + will-change: transform; + transition: transform .3s cubic-bezier(.4, 0, .2, 1), opacity .2s cubic-bezier(.4, 0, .2, 1); + transition: transform .3s cubic-bezier(.4, 0, .2, 1), opacity .2s cubic-bezier(.4, 0, .2, 1), -webkit-transform .3s cubic-bezier(.4, 0, .2, 1); + z-index: -1 +} + +.mdl-menu__container.is-visible .mdl-menu__outline { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + z-index: 999 +} + +.mdl-menu__outline.mdl-menu--bottom-right { + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0 +} + +.mdl-menu__outline.mdl-menu--top-left { + -webkit-transform-origin: 0 100%; + transform-origin: 0 100% +} + +.mdl-menu__outline.mdl-menu--top-right { + -webkit-transform-origin: 100% 100%; + transform-origin: 100% 100% +} + +.mdl-menu { + position: absolute; + list-style: none; + top: 0; + left: 0; + height: auto; + width: auto; + min-width: 124px; + padding: 8px 0; + margin: 0; + opacity: 0; + clip: rect(0 0 0 0); + z-index: -1 +} + +.mdl-menu__container.is-visible .mdl-menu { + opacity: 1; + z-index: 999 +} + +.mdl-menu.is-animating { + transition: opacity .2s cubic-bezier(.4, 0, .2, 1), clip .3s cubic-bezier(.4, 0, .2, 1) +} + +.mdl-menu.mdl-menu--bottom-right { + left: auto; + right: 0 +} + +.mdl-menu.mdl-menu--top-left { + top: auto; + bottom: 0 +} + +.mdl-menu.mdl-menu--top-right { + top: auto; + left: auto; + bottom: 0; + right: 0 +} + +.mdl-menu.mdl-menu--unaligned { + top: auto; + left: auto +} + +.mdl-menu__item { + display: block; + border: none; + color: #c9c9c9; + background-color: transparent; + text-align: left; + margin: 0; + padding: 0 16px; + outline-color: #bdbdbd; + position: relative; + overflow: hidden; + font-size: 14px; + font-weight: 400; + letter-spacing: 0; + text-decoration: none; + cursor: pointer; + height: 48px; + line-height: 48px; + white-space: nowrap; + opacity: 0; + transition: opacity .2s cubic-bezier(.4, 0, .2, 1); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.mdl-menu__container.is-visible .mdl-menu__item { + opacity: 1 +} + +.mdl-menu__item::-moz-focus-inner { + border: 0 +} + +.mdl-menu__item--full-bleed-divider { + border-bottom: 1px solid rgba(0, 0, 0, .12) +} + +.mdl-menu__item[disabled], +.mdl-menu__item[data-mdl-disabled] { + color: #bdbdbd; + background-color: transparent; + cursor: auto +} + +.mdl-menu__item[disabled]:hover, +.mdl-menu__item[data-mdl-disabled]:hover { + background-color: transparent +} + +.mdl-menu__item[disabled]:focus, +.mdl-menu__item[data-mdl-disabled]:focus { + background-color: transparent +} + +.mdl-menu__item[disabled] .mdl-ripple, +.mdl-menu__item[data-mdl-disabled] .mdl-ripple { + background: 0 0 +} + +.mdl-menu__item:hover { + background-color: #161B22; +} + +.mdl-menu__item:focus { + outline: none; + background-color: #161B22; +} + +.mdl-menu__item:active { + background-color: #e0e0e0 +} + +.mdl-menu__item--ripple-container { + display: block; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 0; + overflow: hidden +} + +.mdl-progress { + display: block; + position: relative; + height: 4px; + width: 500px; + max-width: 100% +} + +.mdl-progress>.bar { + display: block; + position: absolute; + top: 0; + bottom: 0; + width: 0%; + transition: width .2s cubic-bezier(.4, 0, .2, 1) +} + +.mdl-progress>.progressbar { + background-color: rgb(96, 125, 139); + z-index: 1; + left: 0 +} + +.mdl-progress>.bufferbar { + background-image: linear-gradient(to right, rgba(255, 255, 255, .7), rgba(255, 255, 255, .7)), linear-gradient(to right, rgb(96, 125, 139), rgb(96, 125, 139)); + z-index: 0; + left: 0 +} + +.mdl-progress>.auxbar { + right: 0 +} + +@supports (-webkit-appearance:none) { + .mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate)>.auxbar, + .mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate)>.auxbar { + background-image: linear-gradient(to right, rgba(255, 255, 255, .7), rgba(255, 255, 255, .7)), linear-gradient(to right, rgb(96, 125, 139), rgb(96, 125, 139)); + -webkit-mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo="); + mask: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjQiIHZpZXdQb3J0PSIwIDAgMTIgNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxlbGxpcHNlIGN4PSIyIiBjeT0iMiIgcng9IjIiIHJ5PSIyIj4KICAgIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9ImN4IiBmcm9tPSIyIiB0bz0iLTEwIiBkdXI9IjAuNnMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPgogIDwvZWxsaXBzZT4KICA8ZWxsaXBzZSBjeD0iMTQiIGN5PSIyIiByeD0iMiIgcnk9IjIiIGNsYXNzPSJsb2FkZXIiPgogICAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0iY3giIGZyb209IjE0IiB0bz0iMiIgZHVyPSIwLjZzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4KICA8L2VsbGlwc2U+Cjwvc3ZnPgo=") + } +} + +.mdl-progress:not(.mdl-progress--indeterminate)>.auxbar, +.mdl-progress:not(.mdl-progress__indeterminate)>.auxbar { + background-image: linear-gradient(to right, rgba(255, 255, 255, .9), rgba(255, 255, 255, .9)), linear-gradient(to right, rgb(96, 125, 139), rgb(96, 125, 139)) +} + +.mdl-progress.mdl-progress--indeterminate>.bar1, +.mdl-progress.mdl-progress__indeterminate>.bar1 { + -webkit-animation-name: indeterminate1; + animation-name: indeterminate1 +} + +.mdl-progress.mdl-progress--indeterminate>.bar1, +.mdl-progress.mdl-progress__indeterminate>.bar1, +.mdl-progress.mdl-progress--indeterminate>.bar3, +.mdl-progress.mdl-progress__indeterminate>.bar3 { + background-color: rgb(96, 125, 139); + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-timing-function: linear; + animation-timing-function: linear +} + +.mdl-progress.mdl-progress--indeterminate>.bar3, +.mdl-progress.mdl-progress__indeterminate>.bar3 { + background-image: none; + -webkit-animation-name: indeterminate2; + animation-name: indeterminate2 +} + +@-webkit-keyframes indeterminate1 { + 0% { + left: 0%; + width: 0% + } + 50% { + left: 25%; + width: 75% + } + 75% { + left: 100%; + width: 0% + } +} + +@keyframes indeterminate1 { + 0% { + left: 0%; + width: 0% + } + 50% { + left: 25%; + width: 75% + } + 75% { + left: 100%; + width: 0% + } +} + +@-webkit-keyframes indeterminate2 { + 0%, + 50% { + left: 0%; + width: 0% + } + 75% { + left: 0%; + width: 25% + } + 100% { + left: 100%; + width: 0% + } +} + +@keyframes indeterminate2 { + 0%, + 50% { + left: 0%; + width: 0% + } + 75% { + left: 0%; + width: 25% + } + 100% { + left: 100%; + width: 0% + } +} + +.mdl-navigation { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + box-sizing: border-box +} + +.mdl-navigation__link { + color: #424242; + text-decoration: none; + margin: 0; + font-size: 14px; + font-weight: 400; + line-height: 24px; + letter-spacing: 0; + opacity: .87 +} + +.mdl-navigation__link .material-icons { + vertical-align: middle +} + +.mdl-layout { + width: 100%; + height: 100%; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + overflow-y: auto; + overflow-x: hidden; + position: relative; + -webkit-overflow-scrolling: touch +} + +.mdl-layout.is-small-screen .mdl-layout--large-screen-only { + display: none +} + +.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only { + display: none +} + +.mdl-layout__container { + position: absolute; + width: 100%; + height: 100% +} + +.mdl-layout__title, +.mdl-layout-title { + display: block; + position: relative; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 20px; + line-height: 1; + letter-spacing: .02em; + font-weight: 400; + box-sizing: border-box +} + +.mdl-layout-spacer { + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1 +} + +.mdl-layout__drawer { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + width: 240px; + height: 100%; + max-height: 100%; + position: absolute; + top: 0; + left: 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12); + box-sizing: border-box; + border-right: 1px solid #e0e0e0; + background: #fafafa; + -webkit-transform: translateX(-250px); + transform: translateX(-250px); + -webkit-transform-style: preserve-3d; + transform-style: preserve-3d; + will-change: transform; + transition-duration: .2s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-property: transform; + transition-property: transform, -webkit-transform; + color: #424242; + overflow: visible; + overflow-y: auto; + z-index: 5 +} + +.mdl-layout__drawer.is-visible { + -webkit-transform: translateX(0); + transform: translateX(0) +} + +.mdl-layout__drawer.is-visible~.mdl-layout__content.mdl-layout__content { + overflow: hidden +} + +.mdl-layout__drawer>* { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0 +} + +.mdl-layout__drawer>.mdl-layout__title, +.mdl-layout__drawer>.mdl-layout-title { + line-height: 64px; + padding-left: 40px +} + +@media screen and (max-width:1024px) { + .mdl-layout__drawer>.mdl-layout__title, + .mdl-layout__drawer>.mdl-layout-title { + line-height: 56px; + padding-left: 16px + } +} + +.mdl-layout__drawer .mdl-navigation { + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + -ms-grid-row-align: stretch; + align-items: stretch; + padding-top: 16px +} + +.mdl-layout__drawer .mdl-navigation .mdl-navigation__link { + display: block; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + padding: 16px 40px; + margin: 0; + color: #757575 +} + +@media screen and (max-width:1024px) { + .mdl-layout__drawer .mdl-navigation .mdl-navigation__link { + padding: 16px + } +} + +.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover { + background-color: #e0e0e0 +} + +.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current { + background-color: #e0e0e0; + color: #000 +} + +@media screen and (min-width:1025px) { + .mdl-layout--fixed-drawer>.mdl-layout__drawer { + -webkit-transform: translateX(0); + transform: translateX(0) + } +} + +.mdl-layout__drawer-button { + display: block; + position: absolute; + height: 48px; + width: 48px; + border: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + overflow: hidden; + text-align: center; + cursor: pointer; + font-size: 26px; + line-height: 56px; + font-family: Helvetica, Arial, sans-serif; + margin: 10px 12px; + top: 0; + left: 0; + color: rgb(255, 255, 255); + z-index: 4 +} + +.mdl-layout__header .mdl-layout__drawer-button { + position: absolute; + color: rgb(255, 255, 255); + background-color: inherit +} + +@media screen and (max-width:1024px) { + .mdl-layout__header .mdl-layout__drawer-button { + margin: 4px + } +} + +@media screen and (max-width:1024px) { + .mdl-layout__drawer-button { + margin: 4px; + color: rgba(0, 0, 0, .5) + } +} + +@media screen and (min-width:1025px) { + .mdl-layout__drawer-button { + line-height: 64px + } + .mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button, + .mdl-layout--fixed-drawer>.mdl-layout__drawer-button, + .mdl-layout--no-drawer-button .mdl-layout__drawer-button { + display: none + } +} + +.mdl-layout__header { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-justify-content: flex-start; + -ms-flex-pack: start; + justify-content: flex-start; + box-sizing: border-box; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; + margin: 0; + padding: 0; + border: none; + min-height: 64px; + max-height: 1000px; + z-index: 3; + background-color: rgb(96, 125, 139); + color: rgb(255, 255, 255); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12); + transition-duration: .2s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-property: max-height, box-shadow +} + +@media screen and (max-width:1024px) { + .mdl-layout__header { + min-height: 56px + } +} + +.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen)>.mdl-layout__header { + margin-left: 240px; + width: calc(100% - 240px) +} + +@media screen and (min-width:1025px) { + .mdl-layout--fixed-drawer>.mdl-layout__header .mdl-layout__header-row { + padding-left: 40px + } +} + +.mdl-layout__header>.mdl-layout-icon { + position: absolute; + left: 40px; + top: 16px; + height: 32px; + width: 32px; + overflow: hidden; + z-index: 3; + display: block +} + +@media screen and (max-width:1024px) { + .mdl-layout__header>.mdl-layout-icon { + left: 16px; + top: 12px + } +} + +.mdl-layout.has-drawer .mdl-layout__header>.mdl-layout-icon { + display: none +} + +.mdl-layout__header.is-compact { + max-height: 64px +} + +@media screen and (max-width:1024px) { + .mdl-layout__header.is-compact { + max-height: 56px + } +} + +.mdl-layout__header.is-compact.has-tabs { + height: 112px +} + +@media screen and (max-width:1024px) { + .mdl-layout__header.is-compact.has-tabs { + min-height: 104px + } +} + +@media screen and (max-width:1024px) { + .mdl-layout__header { + display: none + } + .mdl-layout--fixed-header>.mdl-layout__header { + display: -webkit-flex; + display: -ms-flexbox; + display: flex + } +} + +.mdl-layout__header--transparent.mdl-layout__header--transparent { + background-color: transparent; + box-shadow: none +} + +.mdl-layout__header--seamed, +.mdl-layout__header--scroll { + box-shadow: none +} + +.mdl-layout__header--waterfall { + box-shadow: none; + overflow: hidden +} + +.mdl-layout__header--waterfall.is-casting-shadow { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12) +} + +.mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top { + -webkit-justify-content: flex-end; + -ms-flex-pack: end; + justify-content: flex-end +} + +.mdl-layout__header-row { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + box-sizing: border-box; + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 64px; + margin: 0; + padding: 0 40px 0 80px +} + +.mdl-layout--no-drawer-button .mdl-layout__header-row { + padding-left: 40px +} + +@media screen and (min-width:1025px) { + .mdl-layout--no-desktop-drawer-button .mdl-layout__header-row { + padding-left: 40px + } +} + +@media screen and (max-width:1024px) { + .mdl-layout__header-row { + height: 56px; + padding: 0 16px 0 72px + } + .mdl-layout--no-drawer-button .mdl-layout__header-row { + padding-left: 16px + } +} + +.mdl-layout__header-row>* { + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0 +} + +.mdl-layout__header--scroll .mdl-layout__header-row { + width: 100% +} + +.mdl-layout__header-row .mdl-navigation { + margin: 0; + padding: 0; + height: 64px; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-align-items: center; + -ms-flex-align: center; + -ms-grid-row-align: center; + align-items: center +} + +@media screen and (max-width:1024px) { + .mdl-layout__header-row .mdl-navigation { + height: 56px + } +} + +.mdl-layout__header-row .mdl-navigation__link { + display: block; + color: rgb(255, 255, 255); + line-height: 64px; + padding: 0 24px +} + +@media screen and (max-width:1024px) { + .mdl-layout__header-row .mdl-navigation__link { + line-height: 56px; + padding: 0 16px + } +} + +.mdl-layout__obfuscator { + background-color: transparent; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 4; + visibility: hidden; + transition-property: background-color; + transition-duration: .2s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1) +} + +.mdl-layout__obfuscator.is-visible { + background-color: rgba(0, 0, 0, .5); + visibility: visible +} + +@supports (pointer-events:auto) { + .mdl-layout__obfuscator { + background-color: rgba(0, 0, 0, .5); + opacity: 0; + transition-property: opacity; + visibility: visible; + pointer-events: none + } + .mdl-layout__obfuscator.is-visible { + pointer-events: auto; + opacity: 1 + } +} + +.mdl-layout__content { + -ms-flex: 0 1 auto; + position: relative; + display: inline-block; + overflow-y: auto; + overflow-x: hidden; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + z-index: 1; + -webkit-overflow-scrolling: touch +} + +.mdl-layout--fixed-drawer>.mdl-layout__content { + margin-left: 240px +} + +.mdl-layout__container.has-scrolling-header .mdl-layout__content { + overflow: visible +} + +@media screen and (max-width:1024px) { + .mdl-layout--fixed-drawer>.mdl-layout__content { + margin-left: 0 + } + .mdl-layout__container.has-scrolling-header .mdl-layout__content { + overflow-y: auto; + overflow-x: hidden + } +} + +.mdl-layout__tab-bar { + height: 96px; + margin: 0; + width: calc(100% - 112px); + padding: 0 0 0 56px; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + background-color: rgb(96, 125, 139); + overflow-y: hidden; + overflow-x: scroll +} + +.mdl-layout__tab-bar::-webkit-scrollbar { + display: none +} + +.mdl-layout--no-drawer-button .mdl-layout__tab-bar { + padding-left: 16px; + width: calc(100% - 32px) +} + +@media screen and (min-width:1025px) { + .mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar { + padding-left: 16px; + width: calc(100% - 32px) + } +} + +@media screen and (max-width:1024px) { + .mdl-layout__tab-bar { + width: calc(100% - 60px); + padding: 0 0 0 60px + } + .mdl-layout--no-drawer-button .mdl-layout__tab-bar { + width: calc(100% - 8px); + padding-left: 4px + } +} + +.mdl-layout--fixed-tabs .mdl-layout__tab-bar { + padding: 0; + overflow: hidden; + width: 100% +} + +.mdl-layout__tab-bar-container { + position: relative; + height: 48px; + width: 100%; + border: none; + margin: 0; + z-index: 2; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + overflow: hidden +} + +.mdl-layout__container>.mdl-layout__tab-bar-container { + position: absolute; + top: 0; + left: 0 +} + +.mdl-layout__tab-bar-button { + display: inline-block; + position: absolute; + top: 0; + height: 48px; + width: 56px; + z-index: 4; + text-align: center; + background-color: rgb(96, 125, 139); + color: transparent; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button, +.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button { + width: 16px +} + +.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons, +.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons { + position: relative; + left: -4px +} + +@media screen and (max-width:1024px) { + .mdl-layout__tab-bar-button { + width: 60px + } +} + +.mdl-layout--fixed-tabs .mdl-layout__tab-bar-button { + display: none +} + +.mdl-layout__tab-bar-button .material-icons { + line-height: 48px +} + +.mdl-layout__tab-bar-button.is-active { + color: rgb(255, 255, 255) +} + +.mdl-layout__tab-bar-left-button { + left: 0 +} + +.mdl-layout__tab-bar-right-button { + right: 0 +} + +.mdl-layout__tab { + margin: 0; + border: none; + padding: 0 24px; + float: left; + position: relative; + display: block; + -webkit-flex-grow: 0; + -ms-flex-positive: 0; + flex-grow: 0; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + text-decoration: none; + height: 48px; + line-height: 48px; + text-align: center; + font-weight: 500; + font-size: 14px; + text-transform: uppercase; + color: rgba(255, 255, 255, .6); + overflow: hidden +} + +@media screen and (max-width:1024px) { + .mdl-layout__tab { + padding: 0 12px + } +} + +.mdl-layout--fixed-tabs .mdl-layout__tab { + float: none; + -webkit-flex-grow: 1; + -ms-flex-positive: 1; + flex-grow: 1; + padding: 0 +} + +.mdl-layout.is-upgraded .mdl-layout__tab.is-active { + color: rgb(255, 255, 255) +} + +.mdl-layout.is-upgraded .mdl-layout__tab.is-active::after { + height: 2px; + width: 100%; + display: block; + content: " "; + bottom: 0; + left: 0; + position: absolute; + background: rgb(83, 109, 254); + -webkit-animation: border-expand .2s cubic-bezier(.4, 0, .4, 1).01s alternate forwards; + animation: border-expand .2s cubic-bezier(.4, 0, .4, 1).01s alternate forwards; + transition: all 1s cubic-bezier(.4, 0, 1, 1) +} + +.mdl-layout__tab .mdl-layout__tab-ripple-container { + display: block; + position: absolute; + height: 100%; + width: 100%; + left: 0; + top: 0; + z-index: 1; + overflow: hidden +} + +.mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple { + background-color: rgb(255, 255, 255) +} + +.mdl-layout__tab-panel { + display: block +} + +.mdl-layout.is-upgraded .mdl-layout__tab-panel { + display: none +} + +.mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active { + display: block +} + +.mdl-radio { + position: relative; + font-size: 16px; + line-height: 24px; + display: inline-block; + box-sizing: border-box; + margin: 0; + padding-left: 0 +} + +.mdl-radio.is-upgraded { + padding-left: 24px +} + +.mdl-radio__button { + line-height: 24px +} + +.mdl-radio.is-upgraded .mdl-radio__button { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none +} + +.mdl-radio__outer-circle { + position: absolute; + top: 4px; + left: 0; + display: inline-block; + box-sizing: border-box; + width: 16px; + height: 16px; + margin: 0; + cursor: pointer; + border: 2px solid rgba(0, 0, 0, .54); + border-radius: 50%; + z-index: 2 +} + +.mdl-radio.is-checked .mdl-radio__outer-circle { + border: 2px solid rgb(96, 125, 139) +} + +.mdl-radio__outer-circle fieldset[disabled] .mdl-radio, +.mdl-radio.is-disabled .mdl-radio__outer-circle { + border: 2px solid rgba(0, 0, 0, .26); + cursor: auto +} + +.mdl-radio__inner-circle { + position: absolute; + z-index: 1; + margin: 0; + top: 8px; + left: 4px; + box-sizing: border-box; + width: 8px; + height: 8px; + cursor: pointer; + transition-duration: .28s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-property: transform; + transition-property: transform, -webkit-transform; + -webkit-transform: scale3d(0, 0, 0); + transform: scale3d(0, 0, 0); + border-radius: 50%; + background: rgb(96, 125, 139) +} + +.mdl-radio.is-checked .mdl-radio__inner-circle { + -webkit-transform: scale3d(1, 1, 1); + transform: scale3d(1, 1, 1) +} + +fieldset[disabled] .mdl-radio .mdl-radio__inner-circle, +.mdl-radio.is-disabled .mdl-radio__inner-circle { + background: rgba(0, 0, 0, .26); + cursor: auto +} + +.mdl-radio.is-focused .mdl-radio__inner-circle { + box-shadow: 0 0 0 10px rgba(0, 0, 0, .1) +} + +.mdl-radio__label { + cursor: pointer +} + +fieldset[disabled] .mdl-radio .mdl-radio__label, +.mdl-radio.is-disabled .mdl-radio__label { + color: rgba(0, 0, 0, .26); + cursor: auto +} + +.mdl-radio__ripple-container { + position: absolute; + z-index: 2; + top: -9px; + left: -13px; + box-sizing: border-box; + width: 42px; + height: 42px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000) +} + +.mdl-radio__ripple-container .mdl-ripple { + background: rgb(96, 125, 139) +} + +fieldset[disabled] .mdl-radio .mdl-radio__ripple-container, +.mdl-radio.is-disabled .mdl-radio__ripple-container { + cursor: auto +} + +fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple, +.mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple { + background: 0 0 +} + +_:-ms-input-placeholder, +:root .mdl-slider.mdl-slider.is-upgraded { + -ms-appearance: none; + height: 32px; + margin: 0 +} + +.mdl-slider { + width: calc(100% - 40px); + margin: 0 20px +} + +.mdl-slider.is-upgraded { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 2px; + background: 0 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + outline: 0; + padding: 0; + color: rgb(96, 125, 139); + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; + z-index: 1; + cursor: pointer +} + +.mdl-slider.is-upgraded::-moz-focus-outer { + border: 0 +} + +.mdl-slider.is-upgraded::-ms-tooltip { + display: none +} + +.mdl-slider.is-upgraded::-webkit-slider-runnable-track { + background: 0 0 +} + +.mdl-slider.is-upgraded::-moz-range-track { + background: 0 0; + border: none +} + +.mdl-slider.is-upgraded::-ms-track { + background: 0 0; + color: transparent; + height: 2px; + width: 100%; + border: none +} + +.mdl-slider.is-upgraded::-ms-fill-lower { + padding: 0; + background: linear-gradient(to right, transparent, transparent 16px, rgb(96, 125, 139)16px, rgb(96, 125, 139)0) +} + +.mdl-slider.is-upgraded::-ms-fill-upper { + padding: 0; + background: linear-gradient(to left, transparent, transparent 16px, rgba(0, 0, 0, .26)16px, rgba(0, 0, 0, .26)0) +} + +.mdl-slider.is-upgraded::-webkit-slider-thumb { + -webkit-appearance: none; + width: 12px; + height: 12px; + box-sizing: border-box; + border-radius: 50%; + background: rgb(96, 125, 139); + border: none; + transition: transform .18s cubic-bezier(.4, 0, .2, 1), border .18s cubic-bezier(.4, 0, .2, 1), box-shadow .18s cubic-bezier(.4, 0, .2, 1), background .28s cubic-bezier(.4, 0, .2, 1); + transition: transform .18s cubic-bezier(.4, 0, .2, 1), border .18s cubic-bezier(.4, 0, .2, 1), box-shadow .18s cubic-bezier(.4, 0, .2, 1), background .28s cubic-bezier(.4, 0, .2, 1), -webkit-transform .18s cubic-bezier(.4, 0, .2, 1) +} + +.mdl-slider.is-upgraded::-moz-range-thumb { + -moz-appearance: none; + width: 12px; + height: 12px; + box-sizing: border-box; + border-radius: 50%; + background-image: none; + background: rgb(96, 125, 139); + border: none +} + +.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb { + box-shadow: 0 0 0 10px rgba(96, 125, 139, .26) +} + +.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb { + box-shadow: 0 0 0 10px rgba(96, 125, 139, .26) +} + +.mdl-slider.is-upgraded:active::-webkit-slider-thumb { + background-image: none; + background: rgb(96, 125, 139); + -webkit-transform: scale(1.5); + transform: scale(1.5) +} + +.mdl-slider.is-upgraded:active::-moz-range-thumb { + background-image: none; + background: rgb(96, 125, 139); + transform: scale(1.5) +} + +.mdl-slider.is-upgraded::-ms-thumb { + width: 32px; + height: 32px; + border: none; + border-radius: 50%; + background: rgb(96, 125, 139); + transform: scale(.375); + transition: transform .18s cubic-bezier(.4, 0, .2, 1), background .28s cubic-bezier(.4, 0, .2, 1); + transition: transform .18s cubic-bezier(.4, 0, .2, 1), background .28s cubic-bezier(.4, 0, .2, 1), -webkit-transform .18s cubic-bezier(.4, 0, .2, 1) +} + +.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb { + background: radial-gradient(circle closest-side, rgb(96, 125, 139)0%, rgb(96, 125, 139)37.5%, rgba(96, 125, 139, .26)37.5%, rgba(96, 125, 139, .26)100%); + transform: scale(1) +} + +.mdl-slider.is-upgraded:active::-ms-thumb { + background: rgb(96, 125, 139); + transform: scale(.5625) +} + +.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb { + border: 2px solid rgba(0, 0, 0, .26); + background: 0 0 +} + +.mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb { + border: 2px solid rgba(0, 0, 0, .26); + background: 0 0 +} + +.mdl-slider.is-upgraded.is-lowest-value+.mdl-slider__background-flex>.mdl-slider__background-upper { + left: 6px +} + +.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb { + box-shadow: 0 0 0 10px rgba(0, 0, 0, .12); + background: rgba(0, 0, 0, .12) +} + +.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb { + box-shadow: 0 0 0 10px rgba(0, 0, 0, .12); + background: rgba(0, 0, 0, .12) +} + +.mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb { + border: 1.6px solid rgba(0, 0, 0, .26); + -webkit-transform: scale(1.5); + transform: scale(1.5) +} + +.mdl-slider.is-upgraded.is-lowest-value:active+.mdl-slider__background-flex>.mdl-slider__background-upper { + left: 9px +} + +.mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb { + border: 1.5px solid rgba(0, 0, 0, .26); + transform: scale(1.5) +} + +.mdl-slider.is-upgraded.is-lowest-value::-ms-thumb { + background: radial-gradient(circle closest-side, transparent 0%, transparent 66.67%, rgba(0, 0, 0, .26)66.67%, rgba(0, 0, 0, .26)100%) +} + +.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb { + background: radial-gradient(circle closest-side, rgba(0, 0, 0, .12)0%, rgba(0, 0, 0, .12)25%, rgba(0, 0, 0, .26)25%, rgba(0, 0, 0, .26)37.5%, rgba(0, 0, 0, .12)37.5%, rgba(0, 0, 0, .12)100%); + transform: scale(1) +} + +.mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb { + transform: scale(.5625); + background: radial-gradient(circle closest-side, transparent 0%, transparent 77.78%, rgba(0, 0, 0, .26)77.78%, rgba(0, 0, 0, .26)100%) +} + +.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower { + background: 0 0 +} + +.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper { + margin-left: 6px +} + +.mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper { + margin-left: 9px +} + +.mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb, +.mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb, +.mdl-slider.is-upgraded:disabled::-webkit-slider-thumb { + -webkit-transform: scale(.667); + transform: scale(.667); + background: rgba(0, 0, 0, .26) +} + +.mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb, +.mdl-slider.is-upgraded:disabled:active::-moz-range-thumb, +.mdl-slider.is-upgraded:disabled::-moz-range-thumb { + transform: scale(.667); + background: rgba(0, 0, 0, .26) +} + +.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-lower { + background-color: rgba(0, 0, 0, .26); + left: -6px +} + +.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-upper { + left: 6px +} + +.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb, +.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb, +.mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb { + border: 3px solid rgba(0, 0, 0, .26); + background: 0 0; + -webkit-transform: scale(.667); + transform: scale(.667) +} + +.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb, +.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb, +.mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb { + border: 3px solid rgba(0, 0, 0, .26); + background: 0 0; + transform: scale(.667) +} + +.mdl-slider.is-upgraded.is-lowest-value:disabled:active+.mdl-slider__background-flex>.mdl-slider__background-upper { + left: 6px +} + +.mdl-slider.is-upgraded:disabled:focus::-ms-thumb, +.mdl-slider.is-upgraded:disabled:active::-ms-thumb, +.mdl-slider.is-upgraded:disabled::-ms-thumb { + transform: scale(.25); + background: rgba(0, 0, 0, .26) +} + +.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb, +.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb, +.mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb { + transform: scale(.25); + background: radial-gradient(circle closest-side, transparent 0%, transparent 50%, rgba(0, 0, 0, .26)50%, rgba(0, 0, 0, .26)100%) +} + +.mdl-slider.is-upgraded:disabled::-ms-fill-lower { + margin-right: 6px; + background: linear-gradient(to right, transparent, transparent 25px, rgba(0, 0, 0, .26)25px, rgba(0, 0, 0, .26)0) +} + +.mdl-slider.is-upgraded:disabled::-ms-fill-upper { + margin-left: 6px +} + +.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper { + margin-left: 6px +} + +.mdl-slider__ie-container { + height: 18px; + overflow: visible; + border: none; + margin: none; + padding: none +} + +.mdl-slider__container { + height: 18px; + position: relative; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row +} + +.mdl-slider__container, +.mdl-slider__background-flex { + background: 0 0; + display: -webkit-flex; + display: -ms-flexbox; + display: flex +} + +.mdl-slider__background-flex { + position: absolute; + height: 2px; + width: calc(100% - 52px); + top: 50%; + left: 0; + margin: 0 26px; + overflow: hidden; + border: 0; + padding: 0; + -webkit-transform: translate(0, -1px); + transform: translate(0, -1px) +} + +.mdl-slider__background-lower { + background: rgb(96, 125, 139) +} + +.mdl-slider__background-lower, +.mdl-slider__background-upper { + -webkit-flex: 0; + -ms-flex: 0; + flex: 0; + position: relative; + border: 0; + padding: 0 +} + +.mdl-slider__background-upper { + background: rgba(0, 0, 0, .26); + transition: left .18s cubic-bezier(.4, 0, .2, 1) +} + +.mdl-snackbar { + position: fixed; + bottom: 0; + left: 50%; + cursor: default; + background-color: #323232; + z-index: 3; + display: block; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + will-change: transform; + -webkit-transform: translate(0, 80px); + transform: translate(0, 80px); + transition: transform .25s cubic-bezier(.4, 0, 1, 1); + transition: transform .25s cubic-bezier(.4, 0, 1, 1), -webkit-transform .25s cubic-bezier(.4, 0, 1, 1); + pointer-events: none +} + +@media (max-width:479px) { + .mdl-snackbar { + width: 100%; + left: 0; + min-height: 48px; + max-height: 80px + } +} + +@media (min-width:480px) { + .mdl-snackbar { + min-width: 288px; + max-width: 568px; + border-radius: 2px; + -webkit-transform: translate(-50%, 80px); + transform: translate(-50%, 80px) + } +} + +.mdl-snackbar--active { + -webkit-transform: translate(0, 0); + transform: translate(0, 0); + pointer-events: auto; + transition: transform .25s cubic-bezier(0, 0, .2, 1); + transition: transform .25s cubic-bezier(0, 0, .2, 1), -webkit-transform .25s cubic-bezier(0, 0, .2, 1) +} + +@media (min-width:480px) { + .mdl-snackbar--active { + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0) + } +} + +.mdl-snackbar__text { + padding: 14px 12px 14px 24px; + vertical-align: middle; + color: #fff; + float: left +} + +.mdl-snackbar__action { + background: 0 0; + border: none; + color: rgb(83, 109, 254); + float: right; + padding: 14px 24px 14px 12px; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; + font-size: 14px; + font-weight: 500; + text-transform: uppercase; + line-height: 1; + letter-spacing: 0; + overflow: hidden; + outline: none; + opacity: 0; + pointer-events: none; + cursor: pointer; + text-decoration: none; + text-align: center; + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center +} + +.mdl-snackbar__action::-moz-focus-inner { + border: 0 +} + +.mdl-snackbar__action:not([aria-hidden]) { + opacity: 1; + pointer-events: auto +} + +.mdl-spinner { + display: inline-block; + position: relative; + width: 28px; + height: 28px +} + +.mdl-spinner:not(.is-upgraded).is-active:after { + content: "Loading..." +} + +.mdl-spinner.is-upgraded.is-active { + -webkit-animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite; + animation: mdl-spinner__container-rotate 1568.23529412ms linear infinite +} + +@-webkit-keyframes mdl-spinner__container-rotate { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +@keyframes mdl-spinner__container-rotate { + to { + -webkit-transform: rotate(360deg); + transform: rotate(360deg) + } +} + +.mdl-spinner__layer { + position: absolute; + width: 100%; + height: 100%; + opacity: 0 +} + +.mdl-spinner__layer-1 { + border-color: #42a5f5 +} + +.mdl-spinner--single-color .mdl-spinner__layer-1 { + border-color: rgb(96, 125, 139) +} + +.mdl-spinner.is-active .mdl-spinner__layer-1 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-1-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both +} + +.mdl-spinner__layer-2 { + border-color: #f44336 +} + +.mdl-spinner--single-color .mdl-spinner__layer-2 { + border-color: rgb(96, 125, 139) +} + +.mdl-spinner.is-active .mdl-spinner__layer-2 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-2-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both +} + +.mdl-spinner__layer-3 { + border-color: #fdd835 +} + +.mdl-spinner--single-color .mdl-spinner__layer-3 { + border-color: rgb(96, 125, 139) +} + +.mdl-spinner.is-active .mdl-spinner__layer-3 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-3-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both +} + +.mdl-spinner__layer-4 { + border-color: #4caf50 +} + +.mdl-spinner--single-color .mdl-spinner__layer-4 { + border-color: rgb(96, 125, 139) +} + +.mdl-spinner.is-active .mdl-spinner__layer-4 { + -webkit-animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both; + animation: mdl-spinner__fill-unfill-rotate 5332ms cubic-bezier(.4, 0, .2, 1)infinite both, mdl-spinner__layer-4-fade-in-out 5332ms cubic-bezier(.4, 0, .2, 1)infinite both +} + +@-webkit-keyframes mdl-spinner__fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg) + } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg) + } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg) + } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg) + } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg) + } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg) + } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg) + } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg) + } +} + +@keyframes mdl-spinner__fill-unfill-rotate { + 12.5% { + -webkit-transform: rotate(135deg); + transform: rotate(135deg) + } + 25% { + -webkit-transform: rotate(270deg); + transform: rotate(270deg) + } + 37.5% { + -webkit-transform: rotate(405deg); + transform: rotate(405deg) + } + 50% { + -webkit-transform: rotate(540deg); + transform: rotate(540deg) + } + 62.5% { + -webkit-transform: rotate(675deg); + transform: rotate(675deg) + } + 75% { + -webkit-transform: rotate(810deg); + transform: rotate(810deg) + } + 87.5% { + -webkit-transform: rotate(945deg); + transform: rotate(945deg) + } + to { + -webkit-transform: rotate(1080deg); + transform: rotate(1080deg) + } +} + +@-webkit-keyframes mdl-spinner__layer-1-fade-in-out { + from, + 25% { + opacity: .99 + } + 26%, + 89% { + opacity: 0 + } + 90%, + 100% { + opacity: .99 + } +} + +@keyframes mdl-spinner__layer-1-fade-in-out { + from, + 25% { + opacity: .99 + } + 26%, + 89% { + opacity: 0 + } + 90%, + 100% { + opacity: .99 + } +} + +@-webkit-keyframes mdl-spinner__layer-2-fade-in-out { + from, + 15% { + opacity: 0 + } + 25%, + 50% { + opacity: .99 + } + 51% { + opacity: 0 + } +} + +@keyframes mdl-spinner__layer-2-fade-in-out { + from, + 15% { + opacity: 0 + } + 25%, + 50% { + opacity: .99 + } + 51% { + opacity: 0 + } +} + +@-webkit-keyframes mdl-spinner__layer-3-fade-in-out { + from, + 40% { + opacity: 0 + } + 50%, + 75% { + opacity: .99 + } + 76% { + opacity: 0 + } +} + +@keyframes mdl-spinner__layer-3-fade-in-out { + from, + 40% { + opacity: 0 + } + 50%, + 75% { + opacity: .99 + } + 76% { + opacity: 0 + } +} + +@-webkit-keyframes mdl-spinner__layer-4-fade-in-out { + from, + 65% { + opacity: 0 + } + 75%, + 90% { + opacity: .99 + } + 100% { + opacity: 0 + } +} + +@keyframes mdl-spinner__layer-4-fade-in-out { + from, + 65% { + opacity: 0 + } + 75%, + 90% { + opacity: .99 + } + 100% { + opacity: 0 + } +} + +.mdl-spinner__gap-patch { + position: absolute; + box-sizing: border-box; + top: 0; + left: 45%; + width: 10%; + height: 100%; + overflow: hidden; + border-color: inherit +} + +.mdl-spinner__gap-patch .mdl-spinner__circle { + width: 1000%; + left: -450% +} + +.mdl-spinner__circle-clipper { + display: inline-block; + position: relative; + width: 50%; + height: 100%; + overflow: hidden; + border-color: inherit +} + +.mdl-spinner__circle-clipper .mdl-spinner__circle { + width: 200% +} + +.mdl-spinner__circle { + box-sizing: border-box; + height: 100%; + border-width: 3px; + border-style: solid; + border-color: inherit; + border-bottom-color: transparent!important; + border-radius: 50%; + -webkit-animation: none; + animation: none; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0 +} + +.mdl-spinner__left .mdl-spinner__circle { + border-right-color: transparent!important; + -webkit-transform: rotate(129deg); + transform: rotate(129deg) +} + +.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle { + -webkit-animation: mdl-spinner__left-spin 1333ms cubic-bezier(.4, 0, .2, 1)infinite both; + animation: mdl-spinner__left-spin 1333ms cubic-bezier(.4, 0, .2, 1)infinite both +} + +.mdl-spinner__right .mdl-spinner__circle { + left: -100%; + border-left-color: transparent!important; + -webkit-transform: rotate(-129deg); + transform: rotate(-129deg) +} + +.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle { + -webkit-animation: mdl-spinner__right-spin 1333ms cubic-bezier(.4, 0, .2, 1)infinite both; + animation: mdl-spinner__right-spin 1333ms cubic-bezier(.4, 0, .2, 1)infinite both +} + +@-webkit-keyframes mdl-spinner__left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg) + } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg) + } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg) + } +} + +@keyframes mdl-spinner__left-spin { + from { + -webkit-transform: rotate(130deg); + transform: rotate(130deg) + } + 50% { + -webkit-transform: rotate(-5deg); + transform: rotate(-5deg) + } + to { + -webkit-transform: rotate(130deg); + transform: rotate(130deg) + } +} + +@-webkit-keyframes mdl-spinner__right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg) + } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg) + } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg) + } +} + +@keyframes mdl-spinner__right-spin { + from { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg) + } + 50% { + -webkit-transform: rotate(5deg); + transform: rotate(5deg) + } + to { + -webkit-transform: rotate(-130deg); + transform: rotate(-130deg) + } +} + +.mdl-switch { + position: relative; + z-index: 1; + vertical-align: middle; + display: inline-block; + box-sizing: border-box; + width: 100%; + height: 24px; + margin: 0; + padding: 0; + overflow: visible; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.mdl-switch.is-upgraded { + padding-left: 28px +} + +.mdl-switch__input { + line-height: 24px +} + +.mdl-switch.is-upgraded .mdl-switch__input { + position: absolute; + width: 0; + height: 0; + margin: 0; + padding: 0; + opacity: 0; + -ms-appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + border: none +} + +.mdl-switch__track { + background: rgba(0, 0, 0, .26); + position: absolute; + left: 0; + top: 5px; + height: 14px; + width: 36px; + border-radius: 14px; + cursor: pointer +} + +.mdl-switch.is-checked .mdl-switch__track { + background: rgba(96, 125, 139, .5) +} + +.mdl-switch__track fieldset[disabled] .mdl-switch, +.mdl-switch.is-disabled .mdl-switch__track { + background: rgba(0, 0, 0, .12); + cursor: auto +} + +.mdl-switch__thumb { + background: #c9c9c9; + position: absolute; + left: 0; + top: 2px; + height: 20px; + width: 20px; + border-radius: 50%; + cursor: pointer; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12); + transition-duration: .28s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + transition-property: left +} + +.mdl-switch.is-checked .mdl-switch__thumb { + background: rgb(96, 125, 139); + left: 16px; + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14), 0 3px 3px -2px rgba(0, 0, 0, .2), 0 1px 8px 0 rgba(0, 0, 0, .12) +} + +.mdl-switch__thumb fieldset[disabled] .mdl-switch, +.mdl-switch.is-disabled .mdl-switch__thumb { + background: #bdbdbd; + cursor: auto +} + +.mdl-switch__focus-helper { + position: absolute; + top: 50%; + left: 50%; + -webkit-transform: translate(-4px, -4px); + transform: translate(-4px, -4px); + display: inline-block; + box-sizing: border-box; + width: 8px; + height: 8px; + border-radius: 50%; + background-color: transparent +} + +.mdl-switch.is-focused .mdl-switch__focus-helper { + box-shadow: 0 0 0 20px rgba(0, 0, 0, .1); + background-color: rgba(0, 0, 0, .1) +} + +.mdl-switch.is-focused.is-checked .mdl-switch__focus-helper { + box-shadow: 0 0 0 20px rgba(96, 125, 139, .26); + background-color: rgba(96, 125, 139, .26) +} + +.mdl-switch__label { + position: relative; + cursor: pointer; + font-size: 16px; + line-height: 24px; + margin: 0; + left: 24px +} + +.mdl-switch__label fieldset[disabled] .mdl-switch, +.mdl-switch.is-disabled .mdl-switch__label { + color: #bdbdbd; + cursor: auto +} + +.mdl-switch__ripple-container { + position: absolute; + z-index: 2; + top: -12px; + left: -14px; + box-sizing: border-box; + width: 48px; + height: 48px; + border-radius: 50%; + cursor: pointer; + overflow: hidden; + -webkit-mask-image: -webkit-radial-gradient(circle, #fff, #000); + transition-duration: .4s; + transition-timing-function: step-end; + transition-property: left +} + +.mdl-switch__ripple-container .mdl-ripple { + background: rgb(96, 125, 139) +} + +.mdl-switch__ripple-container fieldset[disabled] .mdl-switch, +.mdl-switch.is-disabled .mdl-switch__ripple-container { + cursor: auto +} + +fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple, +.mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple { + background: 0 0 +} + +.mdl-switch.is-checked .mdl-switch__ripple-container { + left: 2px +} + +.mdl-tabs { + display: block; + width: 100% +} + +.mdl-tabs__tab-bar { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-content: space-between; + -ms-flex-line-pack: justify; + align-content: space-between; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + height: 48px; + padding: 0; + margin: 0; + border-bottom: 1px solid #0D1117; + background: #161B22; +} + +.mdl-tabs__tab { + margin: 0; + border: none; + padding: 0 24px; + float: left; + position: relative; + display: block; + text-decoration: none; + height: 48px; + line-height: 48px; + text-align: center; + font-weight: 500; + font-size: 14px; + text-transform: uppercase; + color: #595B60; + overflow: hidden +} + +.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active { + color: #5C6BC0 +} + +.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after { + height: 2px; + width: 100%; + display: block; + content: " "; + bottom: 0; + left: 0; + position: absolute; + background: rgb(96, 125, 139); + -webkit-animation: border-expand .2s cubic-bezier(.4, 0, .4, 1).01s alternate forwards; + animation: border-expand .2s cubic-bezier(.4, 0, .4, 1).01s alternate forwards; + transition: all 1s cubic-bezier(.4, 0, 1, 1) +} + +.mdl-tabs__tab .mdl-tabs__ripple-container { + display: block; + position: absolute; + height: 100%; + width: 100%; + left: 0; + top: 0; + z-index: 1; + overflow: hidden +} + +.mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple { + background: rgb(96, 125, 139) +} + +.mdl-tabs__panel { + display: block +} + +.mdl-tabs.is-upgraded .mdl-tabs__panel { + display: none +} + +.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active { + display: block +} + +@-webkit-keyframes border-expand { + 0% { + opacity: 0; + width: 0 + } + 100% { + opacity: 1; + width: 100% + } +} + +@keyframes border-expand { + 0% { + opacity: 0; + width: 0 + } + 100% { + opacity: 1; + width: 100% + } +} + +.mdl-textfield { + position: relative; + font-size: 16px; + display: inline-block; + box-sizing: border-box; + width: 300px; + max-width: 100%; + margin: 0; + padding: 20px 0 +} + +.mdl-textfield .mdl-button { + position: absolute; + bottom: 20px +} + +.mdl-textfield--align-right { + text-align: right +} + +.mdl-textfield--full-width { + width: 100% +} + +.mdl-textfield--expandable { + min-width: 32px; + width: auto; + min-height: 32px +} + +.mdl-textfield--expandable .mdl-button--icon { + top: 16px +} + +.mdl-textfield__input { + border: none; + border-bottom: 1px solid rgba(0, 0, 0, .12); + display: block; + font-size: 16px; + font-family: "Helvetica", "Arial", sans-serif; + margin: 0; + padding: 4px 0; + width: 100%; + background: 0 0; + text-align: left; + color: #c9c9c9; +} + +.mdl-textfield__input[type="number"] { + -moz-appearance: textfield +} + +.mdl-textfield__input[type="number"]::-webkit-inner-spin-button, +.mdl-textfield__input[type="number"]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0 +} + +.mdl-textfield.is-focused .mdl-textfield__input { + outline: none +} + +.mdl-textfield.is-invalid .mdl-textfield__input { + border-color: #d50000; + box-shadow: none +} + +fieldset[disabled] .mdl-textfield .mdl-textfield__input, +.mdl-textfield.is-disabled .mdl-textfield__input { + background-color: transparent; + border-bottom: 1px dotted rgba(0, 0, 0, .12); + color: rgba(0, 0, 0, .26) +} + +.mdl-textfield textarea.mdl-textfield__input { + display: block +} + +.mdl-textfield__label { + bottom: 0; + color: #c9c9c9; + font-size: 16px; + left: 0; + right: 0; + pointer-events: none; + position: absolute; + display: block; + top: 24px; + width: 100%; + overflow: hidden; + white-space: nowrap; + text-align: left +} + +.mdl-textfield.is-dirty .mdl-textfield__label, +.mdl-textfield.has-placeholder .mdl-textfield__label { + visibility: hidden +} + +.mdl-textfield--floating-label .mdl-textfield__label { + transition-duration: .2s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1) +} + +.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label { + transition: none +} + +fieldset[disabled] .mdl-textfield .mdl-textfield__label, +.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label { + color: #555555; +} + +.mdl-textfield--floating-label.is-focused .mdl-textfield__label, +.mdl-textfield--floating-label.is-dirty .mdl-textfield__label, +.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label { + color: rgb(96, 125, 139); + font-size: 12px; + top: 4px; + visibility: visible +} + +.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label, +.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label, +.mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label { + top: -16px +} + +.mdl-textfield--floating-label.is-invalid .mdl-textfield__label { + color: #d50000; + font-size: 12px +} + +.mdl-textfield__label:after { + background-color: rgb(96, 125, 139); + bottom: 20px; + content: ''; + height: 2px; + left: 45%; + position: absolute; + transition-duration: .2s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + visibility: hidden; + width: 10px +} + +.mdl-textfield.is-focused .mdl-textfield__label:after { + left: 0; + visibility: visible; + width: 100% +} + +.mdl-textfield.is-invalid .mdl-textfield__label:after { + background-color: #d50000 +} + +.mdl-textfield__error { + color: #d50000; + position: absolute; + font-size: 12px; + margin-top: 3px; + visibility: hidden; + display: block +} + +.mdl-textfield.is-invalid .mdl-textfield__error { + visibility: visible +} + +.mdl-textfield__expandable-holder { + display: inline-block; + position: relative; + margin-left: 32px; + transition-duration: .2s; + transition-timing-function: cubic-bezier(.4, 0, .2, 1); + display: inline-block; + max-width: .1px +} + +.mdl-textfield.is-focused .mdl-textfield__expandable-holder, +.mdl-textfield.is-dirty .mdl-textfield__expandable-holder { + max-width: 600px +} + +.mdl-textfield__expandable-holder .mdl-textfield__label:after { + bottom: 0 +} + +.mdl-tooltip { + -webkit-transform: scale(0); + transform: scale(0); + -webkit-transform-origin: top center; + transform-origin: top center; + z-index: 999; + background: rgba(97, 97, 97, .9); + border-radius: 2px; + color: #fff; + display: inline-block; + font-size: 10px; + font-weight: 500; + line-height: 14px; + max-width: 170px; + position: fixed; + top: -500px; + left: -500px; + padding: 8px; + text-align: center +} + +.mdl-tooltip.is-active { + -webkit-animation: pulse 200ms cubic-bezier(0, 0, .2, 1)forwards; + animation: pulse 200ms cubic-bezier(0, 0, .2, 1)forwards +} + +.mdl-tooltip--large { + line-height: 14px; + font-size: 14px; + padding: 16px +} + +@-webkit-keyframes pulse { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0 + } + 50% { + -webkit-transform: scale(.99); + transform: scale(.99) + } + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible + } +} + +@keyframes pulse { + 0% { + -webkit-transform: scale(0); + transform: scale(0); + opacity: 0 + } + 50% { + -webkit-transform: scale(.99); + transform: scale(.99) + } + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 1; + visibility: visible + } +} + +.mdl-shadow--2dp { + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12) +} + +.mdl-shadow--3dp { + box-shadow: 0 3px 4px 0 rgba(0, 0, 0, .14), 0 3px 3px -2px rgba(0, 0, 0, .2), 0 1px 8px 0 rgba(0, 0, 0, .12) +} + +.mdl-shadow--4dp { + box-shadow: 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12), 0 2px 4px -1px rgba(0, 0, 0, .2) +} + +.mdl-shadow--6dp { + box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12), 0 3px 5px -1px rgba(0, 0, 0, .2) +} + +.mdl-shadow--8dp { + box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12), 0 5px 5px -3px rgba(0, 0, 0, .2) +} + +.mdl-shadow--16dp { + box-shadow: 0 16px 24px 2px rgba(0, 0, 0, .14), 0 6px 30px 5px rgba(0, 0, 0, .12), 0 8px 10px -5px rgba(0, 0, 0, .2) +} + +.mdl-shadow--24dp { + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, .14), 0 11px 15px -7px rgba(0, 0, 0, .12), 0 24px 38px 3px rgba(0, 0, 0, .2) +} + +.mdl-grid { + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-flex-flow: row wrap; + -ms-flex-flow: row wrap; + flex-flow: row wrap; + margin: 0 auto; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch +} + +.mdl-grid.mdl-grid--no-spacing { + padding: 0 +} + +.mdl-cell { + box-sizing: border-box +} + +.mdl-cell--top { + -webkit-align-self: flex-start; + -ms-flex-item-align: start; + align-self: flex-start +} + +.mdl-cell--middle { + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center +} + +.mdl-cell--bottom { + -webkit-align-self: flex-end; + -ms-flex-item-align: end; + align-self: flex-end +} + +.mdl-cell--stretch { + -webkit-align-self: stretch; + -ms-flex-item-align: stretch; + align-self: stretch +} + +.mdl-grid.mdl-grid--no-spacing>.mdl-cell { + margin: 0 +} + +.mdl-cell--order-1 { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1 +} + +.mdl-cell--order-2 { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2 +} + +.mdl-cell--order-3 { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3 +} + +.mdl-cell--order-4 { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4 +} + +.mdl-cell--order-5 { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5 +} + +.mdl-cell--order-6 { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6 +} + +.mdl-cell--order-7 { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7 +} + +.mdl-cell--order-8 { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8 +} + +.mdl-cell--order-9 { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9 +} + +.mdl-cell--order-10 { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10 +} + +.mdl-cell--order-11 { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11 +} + +.mdl-cell--order-12 { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12 +} + +@media (max-width:479px) { + .mdl-grid { + padding: 8px + } + .mdl-cell { + margin: 8px; + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell { + width: 100% + } + .mdl-cell--hide-phone { + display: none!important + } + .mdl-cell--order-1-phone.mdl-cell--order-1-phone { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1 + } + .mdl-cell--order-2-phone.mdl-cell--order-2-phone { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2 + } + .mdl-cell--order-3-phone.mdl-cell--order-3-phone { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3 + } + .mdl-cell--order-4-phone.mdl-cell--order-4-phone { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4 + } + .mdl-cell--order-5-phone.mdl-cell--order-5-phone { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5 + } + .mdl-cell--order-6-phone.mdl-cell--order-6-phone { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6 + } + .mdl-cell--order-7-phone.mdl-cell--order-7-phone { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7 + } + .mdl-cell--order-8-phone.mdl-cell--order-8-phone { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8 + } + .mdl-cell--order-9-phone.mdl-cell--order-9-phone { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9 + } + .mdl-cell--order-10-phone.mdl-cell--order-10-phone { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10 + } + .mdl-cell--order-11-phone.mdl-cell--order-11-phone { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11 + } + .mdl-cell--order-12-phone.mdl-cell--order-12-phone { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12 + } + .mdl-cell--1-col, + .mdl-cell--1-col-phone.mdl-cell--1-col-phone { + width: calc(25% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--1-col, + .mdl-grid--no-spacing>.mdl-cell--1-col-phone.mdl-cell--1-col-phone { + width: 25% + } + .mdl-cell--2-col, + .mdl-cell--2-col-phone.mdl-cell--2-col-phone { + width: calc(50% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--2-col, + .mdl-grid--no-spacing>.mdl-cell--2-col-phone.mdl-cell--2-col-phone { + width: 50% + } + .mdl-cell--3-col, + .mdl-cell--3-col-phone.mdl-cell--3-col-phone { + width: calc(75% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--3-col, + .mdl-grid--no-spacing>.mdl-cell--3-col-phone.mdl-cell--3-col-phone { + width: 75% + } + .mdl-cell--4-col, + .mdl-cell--4-col-phone.mdl-cell--4-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--4-col, + .mdl-grid--no-spacing>.mdl-cell--4-col-phone.mdl-cell--4-col-phone { + width: 100% + } + .mdl-cell--5-col, + .mdl-cell--5-col-phone.mdl-cell--5-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--5-col, + .mdl-grid--no-spacing>.mdl-cell--5-col-phone.mdl-cell--5-col-phone { + width: 100% + } + .mdl-cell--6-col, + .mdl-cell--6-col-phone.mdl-cell--6-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--6-col, + .mdl-grid--no-spacing>.mdl-cell--6-col-phone.mdl-cell--6-col-phone { + width: 100% + } + .mdl-cell--7-col, + .mdl-cell--7-col-phone.mdl-cell--7-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--7-col, + .mdl-grid--no-spacing>.mdl-cell--7-col-phone.mdl-cell--7-col-phone { + width: 100% + } + .mdl-cell--8-col, + .mdl-cell--8-col-phone.mdl-cell--8-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--8-col, + .mdl-grid--no-spacing>.mdl-cell--8-col-phone.mdl-cell--8-col-phone { + width: 100% + } + .mdl-cell--9-col, + .mdl-cell--9-col-phone.mdl-cell--9-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--9-col, + .mdl-grid--no-spacing>.mdl-cell--9-col-phone.mdl-cell--9-col-phone { + width: 100% + } + .mdl-cell--10-col, + .mdl-cell--10-col-phone.mdl-cell--10-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--10-col, + .mdl-grid--no-spacing>.mdl-cell--10-col-phone.mdl-cell--10-col-phone { + width: 100% + } + .mdl-cell--11-col, + .mdl-cell--11-col-phone.mdl-cell--11-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--11-col, + .mdl-grid--no-spacing>.mdl-cell--11-col-phone.mdl-cell--11-col-phone { + width: 100% + } + .mdl-cell--12-col, + .mdl-cell--12-col-phone.mdl-cell--12-col-phone { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--12-col, + .mdl-grid--no-spacing>.mdl-cell--12-col-phone.mdl-cell--12-col-phone { + width: 100% + } + .mdl-cell--1-offset, + .mdl-cell--1-offset-phone.mdl-cell--1-offset-phone { + margin-left: calc(25% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone { + margin-left: 25% + } + .mdl-cell--2-offset, + .mdl-cell--2-offset-phone.mdl-cell--2-offset-phone { + margin-left: calc(50% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone { + margin-left: 50% + } + .mdl-cell--3-offset, + .mdl-cell--3-offset-phone.mdl-cell--3-offset-phone { + margin-left: calc(75% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone { + margin-left: 75% + } +} + +@media (min-width:480px) and (max-width:839px) { + .mdl-grid { + padding: 8px + } + .mdl-cell { + margin: 8px; + width: calc(50% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell { + width: 50% + } + .mdl-cell--hide-tablet { + display: none!important + } + .mdl-cell--order-1-tablet.mdl-cell--order-1-tablet { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1 + } + .mdl-cell--order-2-tablet.mdl-cell--order-2-tablet { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2 + } + .mdl-cell--order-3-tablet.mdl-cell--order-3-tablet { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3 + } + .mdl-cell--order-4-tablet.mdl-cell--order-4-tablet { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4 + } + .mdl-cell--order-5-tablet.mdl-cell--order-5-tablet { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5 + } + .mdl-cell--order-6-tablet.mdl-cell--order-6-tablet { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6 + } + .mdl-cell--order-7-tablet.mdl-cell--order-7-tablet { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7 + } + .mdl-cell--order-8-tablet.mdl-cell--order-8-tablet { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8 + } + .mdl-cell--order-9-tablet.mdl-cell--order-9-tablet { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9 + } + .mdl-cell--order-10-tablet.mdl-cell--order-10-tablet { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10 + } + .mdl-cell--order-11-tablet.mdl-cell--order-11-tablet { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11 + } + .mdl-cell--order-12-tablet.mdl-cell--order-12-tablet { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12 + } + .mdl-cell--1-col, + .mdl-cell--1-col-tablet.mdl-cell--1-col-tablet { + width: calc(12.5% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--1-col, + .mdl-grid--no-spacing>.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet { + width: 12.5% + } + .mdl-cell--2-col, + .mdl-cell--2-col-tablet.mdl-cell--2-col-tablet { + width: calc(25% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--2-col, + .mdl-grid--no-spacing>.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet { + width: 25% + } + .mdl-cell--3-col, + .mdl-cell--3-col-tablet.mdl-cell--3-col-tablet { + width: calc(37.5% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--3-col, + .mdl-grid--no-spacing>.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet { + width: 37.5% + } + .mdl-cell--4-col, + .mdl-cell--4-col-tablet.mdl-cell--4-col-tablet { + width: calc(50% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--4-col, + .mdl-grid--no-spacing>.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet { + width: 50% + } + .mdl-cell--5-col, + .mdl-cell--5-col-tablet.mdl-cell--5-col-tablet { + width: calc(62.5% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--5-col, + .mdl-grid--no-spacing>.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet { + width: 62.5% + } + .mdl-cell--6-col, + .mdl-cell--6-col-tablet.mdl-cell--6-col-tablet { + width: calc(75% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--6-col, + .mdl-grid--no-spacing>.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet { + width: 75% + } + .mdl-cell--7-col, + .mdl-cell--7-col-tablet.mdl-cell--7-col-tablet { + width: calc(87.5% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--7-col, + .mdl-grid--no-spacing>.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet { + width: 87.5% + } + .mdl-cell--8-col, + .mdl-cell--8-col-tablet.mdl-cell--8-col-tablet { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--8-col, + .mdl-grid--no-spacing>.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet { + width: 100% + } + .mdl-cell--9-col, + .mdl-cell--9-col-tablet.mdl-cell--9-col-tablet { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--9-col, + .mdl-grid--no-spacing>.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet { + width: 100% + } + .mdl-cell--10-col, + .mdl-cell--10-col-tablet.mdl-cell--10-col-tablet { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--10-col, + .mdl-grid--no-spacing>.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet { + width: 100% + } + .mdl-cell--11-col, + .mdl-cell--11-col-tablet.mdl-cell--11-col-tablet { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--11-col, + .mdl-grid--no-spacing>.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet { + width: 100% + } + .mdl-cell--12-col, + .mdl-cell--12-col-tablet.mdl-cell--12-col-tablet { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--12-col, + .mdl-grid--no-spacing>.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet { + width: 100% + } + .mdl-cell--1-offset, + .mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet { + margin-left: calc(12.5% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet { + margin-left: 12.5% + } + .mdl-cell--2-offset, + .mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet { + margin-left: calc(25% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet { + margin-left: 25% + } + .mdl-cell--3-offset, + .mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet { + margin-left: calc(37.5% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet { + margin-left: 37.5% + } + .mdl-cell--4-offset, + .mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet { + margin-left: calc(50% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet { + margin-left: 50% + } + .mdl-cell--5-offset, + .mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet { + margin-left: calc(62.5% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet { + margin-left: 62.5% + } + .mdl-cell--6-offset, + .mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet { + margin-left: calc(75% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet { + margin-left: 75% + } + .mdl-cell--7-offset, + .mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet { + margin-left: calc(87.5% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet { + margin-left: 87.5% + } +} + +@media (min-width:840px) { + .mdl-grid { + padding: 8px + } + .mdl-cell { + margin: 8px; + width: calc(33.3333333333% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell { + width: 33.3333333333% + } + .mdl-cell--hide-desktop { + display: none!important + } + .mdl-cell--order-1-desktop.mdl-cell--order-1-desktop { + -webkit-order: 1; + -ms-flex-order: 1; + order: 1 + } + .mdl-cell--order-2-desktop.mdl-cell--order-2-desktop { + -webkit-order: 2; + -ms-flex-order: 2; + order: 2 + } + .mdl-cell--order-3-desktop.mdl-cell--order-3-desktop { + -webkit-order: 3; + -ms-flex-order: 3; + order: 3 + } + .mdl-cell--order-4-desktop.mdl-cell--order-4-desktop { + -webkit-order: 4; + -ms-flex-order: 4; + order: 4 + } + .mdl-cell--order-5-desktop.mdl-cell--order-5-desktop { + -webkit-order: 5; + -ms-flex-order: 5; + order: 5 + } + .mdl-cell--order-6-desktop.mdl-cell--order-6-desktop { + -webkit-order: 6; + -ms-flex-order: 6; + order: 6 + } + .mdl-cell--order-7-desktop.mdl-cell--order-7-desktop { + -webkit-order: 7; + -ms-flex-order: 7; + order: 7 + } + .mdl-cell--order-8-desktop.mdl-cell--order-8-desktop { + -webkit-order: 8; + -ms-flex-order: 8; + order: 8 + } + .mdl-cell--order-9-desktop.mdl-cell--order-9-desktop { + -webkit-order: 9; + -ms-flex-order: 9; + order: 9 + } + .mdl-cell--order-10-desktop.mdl-cell--order-10-desktop { + -webkit-order: 10; + -ms-flex-order: 10; + order: 10 + } + .mdl-cell--order-11-desktop.mdl-cell--order-11-desktop { + -webkit-order: 11; + -ms-flex-order: 11; + order: 11 + } + .mdl-cell--order-12-desktop.mdl-cell--order-12-desktop { + -webkit-order: 12; + -ms-flex-order: 12; + order: 12 + } + .mdl-cell--1-col, + .mdl-cell--1-col-desktop.mdl-cell--1-col-desktop { + width: calc(8.3333333333% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--1-col, + .mdl-grid--no-spacing>.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop { + width: 8.3333333333% + } + .mdl-cell--2-col, + .mdl-cell--2-col-desktop.mdl-cell--2-col-desktop { + width: calc(16.6666666667% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--2-col, + .mdl-grid--no-spacing>.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop { + width: 16.6666666667% + } + .mdl-cell--3-col, + .mdl-cell--3-col-desktop.mdl-cell--3-col-desktop { + width: calc(25% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--3-col, + .mdl-grid--no-spacing>.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop { + width: 25% + } + .mdl-cell--4-col, + .mdl-cell--4-col-desktop.mdl-cell--4-col-desktop { + width: calc(33.3333333333% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--4-col, + .mdl-grid--no-spacing>.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop { + width: 33.3333333333% + } + .mdl-cell--5-col, + .mdl-cell--5-col-desktop.mdl-cell--5-col-desktop { + width: calc(41.6666666667% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--5-col, + .mdl-grid--no-spacing>.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop { + width: 41.6666666667% + } + .mdl-cell--6-col, + .mdl-cell--6-col-desktop.mdl-cell--6-col-desktop { + width: calc(50% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--6-col, + .mdl-grid--no-spacing>.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop { + width: 50% + } + .mdl-cell--7-col, + .mdl-cell--7-col-desktop.mdl-cell--7-col-desktop { + width: calc(58.3333333333% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--7-col, + .mdl-grid--no-spacing>.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop { + width: 58.3333333333% + } + .mdl-cell--8-col, + .mdl-cell--8-col-desktop.mdl-cell--8-col-desktop { + width: calc(66.6666666667% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--8-col, + .mdl-grid--no-spacing>.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop { + width: 66.6666666667% + } + .mdl-cell--9-col, + .mdl-cell--9-col-desktop.mdl-cell--9-col-desktop { + width: calc(75% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--9-col, + .mdl-grid--no-spacing>.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop { + width: 75% + } + .mdl-cell--10-col, + .mdl-cell--10-col-desktop.mdl-cell--10-col-desktop { + width: calc(83.3333333333% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--10-col, + .mdl-grid--no-spacing>.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop { + width: 83.3333333333% + } + .mdl-cell--11-col, + .mdl-cell--11-col-desktop.mdl-cell--11-col-desktop { + width: calc(91.6666666667% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--11-col, + .mdl-grid--no-spacing>.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop { + width: 91.6666666667% + } + .mdl-cell--12-col, + .mdl-cell--12-col-desktop.mdl-cell--12-col-desktop { + width: calc(100% - 16px) + } + .mdl-grid--no-spacing>.mdl-cell--12-col, + .mdl-grid--no-spacing>.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop { + width: 100% + } + .mdl-cell--1-offset, + .mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop { + margin-left: calc(8.3333333333% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop { + margin-left: 8.3333333333% + } + .mdl-cell--2-offset, + .mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop { + margin-left: calc(16.6666666667% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop { + margin-left: 16.6666666667% + } + .mdl-cell--3-offset, + .mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop { + margin-left: calc(25% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop { + margin-left: 25% + } + .mdl-cell--4-offset, + .mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop { + margin-left: calc(33.3333333333% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop { + margin-left: 33.3333333333% + } + .mdl-cell--5-offset, + .mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop { + margin-left: calc(41.6666666667% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop { + margin-left: 41.6666666667% + } + .mdl-cell--6-offset, + .mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop { + margin-left: calc(50% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop { + margin-left: 50% + } + .mdl-cell--7-offset, + .mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop { + margin-left: calc(58.3333333333% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop { + margin-left: 58.3333333333% + } + .mdl-cell--8-offset, + .mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop { + margin-left: calc(66.6666666667% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop { + margin-left: 66.6666666667% + } + .mdl-cell--9-offset, + .mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop { + margin-left: calc(75% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop { + margin-left: 75% + } + .mdl-cell--10-offset, + .mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop { + margin-left: calc(83.3333333333% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop { + margin-left: 83.3333333333% + } + .mdl-cell--11-offset, + .mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop { + margin-left: calc(91.6666666667% + 8px) + } + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset, + .mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop { + margin-left: 91.6666666667% + } +} + +body { + margin: 0 +} + +.styleguide-demo h1 { + margin: 48px 24px 0 +} + +.styleguide-demo h1:after { + content: ''; + display: block; + width: 100%; + border-bottom: 1px solid rgba(0, 0, 0, .5); + margin-top: 24px +} + +.styleguide-demo { + opacity: 0; + transition: opacity .6s ease +} + +.styleguide-masthead { + height: 256px; + background: #212121; + padding: 115px 16px 0 +} + +.styleguide-container { + position: relative; + max-width: 960px; + width: 100% +} + +.styleguide-title { + color: #fff; + bottom: auto; + position: relative; + font-size: 56px; + font-weight: 300; + line-height: 1; + letter-spacing: -.02em +} + +.styleguide-title:after { + border-bottom: 0 +} + +.styleguide-title span { + font-weight: 300 +} + +.mdl-styleguide .mdl-layout__drawer .mdl-navigation__link { + padding: 10px 24px +} + +.demosLoaded .styleguide-demo { + opacity: 1 +} + +iframe { + display: block; + width: 100%; + border: none +} + +iframe.heightSet { + overflow: hidden +} + +.demo-wrapper { + margin: 24px +} + +.demo-wrapper iframe { + border: 1px solid rgba(0, 0, 0, .5) +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/mdl-datetimepicker.css b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.css new file mode 100644 index 000000000..7cf71451a --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.css @@ -0,0 +1,178 @@ +.dtp { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + z-index: 2000; + font-size: 15px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } + +.dtp > .dtp-content { + background: #fff; + max-width: 300px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + max-height: 520px; + position: relative; + left: 50%; } + +.dtp > .dtp-content > .dtp-date-view > header.dtp-header { + background: #607d8b; + color: #eceff1; + text-align: center; + padding: 0.3em; } + +.dtp div.dtp-date, .dtp div.dtp-time { + background: #607d8b; + text-align: center; + color: #eceff1; + padding: 10px; } + +.dtp div.dtp-date > div { + padding: 0; + margin: 0; } + +.dtp div.dtp-actual-month { + font-size: 1.5em; } + +.dtp div.dtp-actual-num { + font-size: 3em; + line-height: 0.9; } + +.dtp div.dtp-actual-maxtime { + font-size: 3em; + line-height: 0.9; } + +.dtp div.dtp-actual-year { + font-size: 1.5em; + color: #fff; } + +.dtp div.dtp-picker { + padding: 1em; + text-align: center; } + +.dtp div.dtp-picker-month, .dtp div.dtp-actual-time { + font-weight: 500; + text-align: center; } + +.dtp div.dtp-picker-month { + padding-bottom: 20px !important; + text-transform: uppercase !important; } + +.dtp .dtp-close { + position: absolute; + top: 0.5em; + right: 1em; } + +.dtp .dtp-close > a { + color: #fff; } + +.dtp .dtp-close > a > i { + font-size: 1em; } + +.dtp table.dtp-picker-days { + margin: 0; + min-height: 251px; } + +.dtp table.dtp-picker-days, .dtp table.dtp-picker-days tr, .dtp table.dtp-picker-days tr > td { + border: none; } + +.dtp table.dtp-picker-days tr > td { + font-weight: 700; + text-align: center; + padding: 0.5em; } + +.dtp table.dtp-picker-days tr > td > span.dtp-select-day { + color: #BDBDBD !important; + padding: 0.4em 0.5em 0.5em 0.6em; } + +.dtp table.dtp-picker-days tr > td > a, .dtp .dtp-picker-time > a { + color: #212121; + text-decoration: none; + padding: 0.4em; + border-radius: 5px !important; } + +.dtp table.dtp-picker-days tr > td > a.selected { + background: #607d8b; + color: #eceff1; } + +.dtp table.dtp-picker-days tr > th { + color: #757575; + text-align: center; + font-weight: 700; + padding: 0.4em 0.3em; } + +.dtp .p10 > a { + color: #fff; + text-decoration: none; } + +.dtp .p10 { + width: 10%; + display: inline-block; } + +.dtp .p20 { + width: 20%; + display: inline-block; } + +.dtp .p60 { + width: 60%; + display: inline-block; } + +.dtp .p80 { + width: 80%; + display: inline-block; } + +.dtp a.dtp-meridien-am, .dtp a.dtp-meridien-pm { + position: relative; + top: 10px; + color: #212121; + font-weight: 500; + padding: 0.7em 0.5em; + border-radius: 50% !important; + text-decoration: none; + background: #eee; + font-size: 1em; } + +.dtp .dtp-actual-meridien a.selected { + background: #607d8b; + color: #eceff1; } + +.dtp .dtp-picker-time > .dtp-select-hour { + cursor: pointer; } + +.dtp .dtp-picker-time > .dtp-select-minute { + cursor: pointer; } + +.dtp .dtp-buttons { + padding: 0 1em 1em 1em; + text-align: right; } + +/*.dtp .dtp-buttons .btn-flat {*/ +/*border: none;*/ +/*padding: .5em;*/ +/*color: #fff;*/ +/*background-color: #607D8B;*/ +/*}*/ +.dtp.hidden, .dtp .hidden { + display: none; } + +.dtp .invisible { + visibility: hidden; } + +.dtp .left { + float: left; } + +.dtp .right { + float: right; } + +.dtp .clearfix { + clear: both; } + +.dtp .center { + text-align: center; } + +/*# sourceMappingURL=mdl-datetimepicker.css.map */ diff --git a/app/modules/web/themes/material-dark/css/mdl-datetimepicker.css.map b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.css.map new file mode 100644 index 000000000..84efad5c8 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AAEA,IAAK;EACH,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,CAAC;EACR,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,kBAAkB;EAC9B,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,IAAI;EACf,mBAAmB,EAAE,IAAI;EACzB,gBAAgB,EAAE,IAAI;EACtB,eAAe,EAAE,IAAI;EACrB,WAAW,EAAE,IAAI;;AAGnB,mBAAoB;EAClB,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,KAAK;EAChB,UAAU,EAAE,iEAAiE;EAC7E,UAAU,EAAE,KAAK;EACjB,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,GAAG;;AAGX,wDAAyD;EACvD,UAAU,ECfQ,OAAO;EDgBzB,KAAK,ECjBa,OAAO;EDkBzB,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,KAAK;;AAGhB,oCAAqC;EACnC,UAAU,ECtBQ,OAAO;EDuBzB,UAAU,EAAE,MAAM;EAClB,KAAK,ECzBa,OAAO;ED0BzB,OAAO,EAAE,IAAI;;AAGf,uBAAwB;EACtB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;;AAGX,yBAA0B;EACxB,SAAS,EAAE,KAAK;;AAGlB,uBAAwB;EACtB,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,GAAG;;AAGlB,2BAA4B;EAC1B,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,GAAG;;AAGlB,wBAAyB;EACvB,SAAS,EAAE,KAAK;EAChB,KAAK,EAAE,IAAI;;AAGb,mBAAoB;EAClB,OAAO,EAAE,GAAG;EACZ,UAAU,EAAE,MAAM;;AAGpB,mDAAoD;EAClD,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,MAAM;;AAGpB,yBAA0B;EACxB,cAAc,EAAE,eAAe;EAC/B,cAAc,EAAE,oBAAoB;;AAGtC,eAAgB;EACd,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,KAAK;EACV,KAAK,EAAE,GAAG;;AAGZ,mBAAoB;EAClB,KAAK,EAAE,IAAI;;AAGb,uBAAwB;EACtB,SAAS,EAAE,GAAG;;AAGhB,0BAA2B;EACzB,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,KAAK;;AAGnB,6FAA8F;EAC5F,MAAM,EAAE,IAAI;;AAGd,kCAAmC;EACjC,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,KAAK;;AAGhB,wDAAyD;EACvD,KAAK,EAAE,kBAAkB;EACzB,OAAO,EAAE,uBAAuB;;AAGlC,iEAAkE;EAChE,KAAK,EAAE,OAAO;EACd,eAAe,EAAE,IAAI;EACrB,OAAO,EAAE,KAAK;EACd,aAAa,EAAE,cAAc;;AAG/B,+CAAgD;EAC9C,UAAU,EC7GQ,OAAO;ED8GzB,KAAK,EC/Ga,OAAO;;ADkH3B,kCAAmC;EACjC,KAAK,EAAE,OAAO;EACd,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,WAAW;;AAGtB,aAAc;EACZ,KAAK,EAAE,IAAI;EACX,eAAe,EAAE,IAAI;;AAGvB,SAAU;EACR,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,YAAY;;AAGvB,SAAU;EACR,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,YAAY;;AAGvB,SAAU;EACR,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,YAAY;;AAGvB,SAAU;EACR,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,YAAY;;AAGvB,8CAA+C;EAC7C,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,WAAW;EACpB,aAAa,EAAE,cAAc;EAC7B,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,GAAG;;AAGhB,oCAAqC;EACnC,UAAU,EC9JQ,OAAO;ED+JzB,KAAK,EChKa,OAAO;;ADmK3B,wCAAyC;EACvC,MAAM,EAAE,OAAO;;AAGjB,0CAA2C;EACzC,MAAM,EAAE,OAAO;;AAGjB,iBAAkB;EAChB,OAAO,EAAE,aAAa;EACtB,UAAU,EAAE,KAAK;;AAGnB,iCAAiC;AACjC,iBAAiB;AACjB,kBAAkB;AAClB,gBAAgB;AAChB,8BAA8B;AAC9B,KAAK;AAEL,yBAA0B;EACxB,OAAO,EAAE,IAAI;;AAGf,eAAgB;EACd,UAAU,EAAE,MAAM;;AAGpB,UAAW;EACT,KAAK,EAAE,IAAI;;AAGb,WAAY;EACV,KAAK,EAAE,KAAK;;AAGd,cAAe;EACb,KAAK,EAAE,IAAI;;AAGb,YAAa;EACX,UAAU,EAAE,MAAM", +"sources": ["mdl-datetimepicker.scss","_base.scss"], +"names": [], +"file": "mdl-datetimepicker.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/mdl-datetimepicker.min.css b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.min.css new file mode 100644 index 000000000..c40b29b71 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.min.css @@ -0,0 +1,215 @@ +.dtp { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + z-index: 2000; + font-size: 15px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none +} + +.dtp>.dtp-content { + background: #fff; + max-width: 300px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + max-height: 520px; + position: relative; + left: 50% +} + +.dtp>.dtp-content>.dtp-date-view>header.dtp-header { + background: #607d8b; + color: #eceff1; + text-align: center; + padding: .3em +} + +.dtp div.dtp-date, +.dtp div.dtp-time { + background: #607d8b; + text-align: center; + color: #eceff1; + padding: 10px +} + +.dtp div.dtp-date>div { + padding: 0; + margin: 0 +} + +.dtp div.dtp-actual-month { + font-size: 1.5em +} + +.dtp div.dtp-actual-num { + font-size: 3em; + line-height: .9 +} + +.dtp div.dtp-actual-maxtime { + font-size: 3em; + line-height: .9 +} + +.dtp div.dtp-actual-year { + font-size: 1.5em; + color: #fff +} + +.dtp div.dtp-picker { + padding: 1em; + text-align: center +} + +.dtp div.dtp-picker-month, +.dtp div.dtp-actual-time { + font-weight: 500; + text-align: center +} + +.dtp div.dtp-picker-month { + padding-bottom: 20px !important; + text-transform: uppercase !important +} + +.dtp .dtp-close { + position: absolute; + top: .5em; + right: 1em +} + +.dtp .dtp-close>a { + color: #fff +} + +.dtp .dtp-close>a>i { + font-size: 1em +} + +.dtp table.dtp-picker-days { + margin: 0; + min-height: 251px +} + +.dtp table.dtp-picker-days, +.dtp table.dtp-picker-days tr, +.dtp table.dtp-picker-days tr>td { + border: 0 +} + +.dtp table.dtp-picker-days tr>td { + font-weight: 700; + text-align: center; + padding: .5em +} + +.dtp table.dtp-picker-days tr>td>span.dtp-select-day { + color: #bdbdbd !important; + padding: .4em .5em .5em .6em +} + +.dtp table.dtp-picker-days tr>td>a, +.dtp .dtp-picker-time>a { + color: #212121; + text-decoration: none; + padding: .4em; + border-radius: 5px !important +} + +.dtp table.dtp-picker-days tr>td>a.selected { + background: #607d8b; + color: #eceff1 +} + +.dtp table.dtp-picker-days tr>th { + color: #757575; + text-align: center; + font-weight: 700; + padding: .4em .3em +} + +.dtp .p10>a { + color: #fff; + text-decoration: none +} + +.dtp .p10 { + width: 10%; + display: inline-block +} + +.dtp .p20 { + width: 20%; + display: inline-block +} + +.dtp .p60 { + width: 60%; + display: inline-block +} + +.dtp .p80 { + width: 80%; + display: inline-block +} + +.dtp a.dtp-meridien-am, +.dtp a.dtp-meridien-pm { + position: relative; + top: 10px; + color: #212121; + font-weight: 500; + padding: .7em .5em; + border-radius: 50% !important; + text-decoration: none; + background: #eee; + font-size: 1em +} + +.dtp .dtp-actual-meridien a.selected { + background: #607d8b; + color: #eceff1 +} + +.dtp .dtp-picker-time>.dtp-select-hour { + cursor: pointer +} + +.dtp .dtp-picker-time>.dtp-select-minute { + cursor: pointer +} + +.dtp .dtp-buttons { + padding: 0 1em 1em 1em; + text-align: right +} + +.dtp.hidden, +.dtp .hidden { + display: none +} + +.dtp .invisible { + visibility: hidden +} + +.dtp .left { + float: left +} + +.dtp .right { + float: right +} + +.dtp .clearfix { + clear: both +} + +.dtp .center { + text-align: center +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/mdl-datetimepicker.scss b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.scss new file mode 100644 index 000000000..6894f9c96 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-datetimepicker.scss @@ -0,0 +1,218 @@ +@import "base"; + +.dtp { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.2); + z-index: 2000; + font-size: 15px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.dtp > .dtp-content { + background: #fff; + max-width: 300px; + box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); + max-height: 520px; + position: relative; + left: 50%; +} + +.dtp > .dtp-content > .dtp-date-view > header.dtp-header { + background: $color-bluegrey-fg; + color: $color-bluegrey-bg; + text-align: center; + padding: 0.3em; +} + +.dtp div.dtp-date, .dtp div.dtp-time { + background: $color-bluegrey-fg; + text-align: center; + color: $color-bluegrey-bg; + padding: 10px; +} + +.dtp div.dtp-date > div { + padding: 0; + margin: 0; +} + +.dtp div.dtp-actual-month { + font-size: 1.5em; +} + +.dtp div.dtp-actual-num { + font-size: 3em; + line-height: 0.9; +} + +.dtp div.dtp-actual-maxtime { + font-size: 3em; + line-height: 0.9; +} + +.dtp div.dtp-actual-year { + font-size: 1.5em; + color: #fff; +} + +.dtp div.dtp-picker { + padding: 1em; + text-align: center; +} + +.dtp div.dtp-picker-month, .dtp div.dtp-actual-time { + font-weight: 500; + text-align: center; +} + +.dtp div.dtp-picker-month { + padding-bottom: 20px !important; + text-transform: uppercase !important; +} + +.dtp .dtp-close { + position: absolute; + top: 0.5em; + right: 1em; +} + +.dtp .dtp-close > a { + color: #fff; +} + +.dtp .dtp-close > a > i { + font-size: 1em; +} + +.dtp table.dtp-picker-days { + margin: 0; + min-height: 251px; +} + +.dtp table.dtp-picker-days, .dtp table.dtp-picker-days tr, .dtp table.dtp-picker-days tr > td { + border: none; +} + +.dtp table.dtp-picker-days tr > td { + font-weight: 700; + text-align: center; + padding: 0.5em; +} + +.dtp table.dtp-picker-days tr > td > span.dtp-select-day { + color: #BDBDBD !important; + padding: 0.4em 0.5em 0.5em 0.6em; +} + +.dtp table.dtp-picker-days tr > td > a, .dtp .dtp-picker-time > a { + color: #212121; + text-decoration: none; + padding: 0.4em; + border-radius: 5px !important; +} + +.dtp table.dtp-picker-days tr > td > a.selected { + background: $color-bluegrey-fg; + color: $color-bluegrey-bg; +} + +.dtp table.dtp-picker-days tr > th { + color: #757575; + text-align: center; + font-weight: 700; + padding: 0.4em 0.3em; +} + +.dtp .p10 > a { + color: #fff; + text-decoration: none; +} + +.dtp .p10 { + width: 10%; + display: inline-block; +} + +.dtp .p20 { + width: 20%; + display: inline-block; +} + +.dtp .p60 { + width: 60%; + display: inline-block; +} + +.dtp .p80 { + width: 80%; + display: inline-block; +} + +.dtp a.dtp-meridien-am, .dtp a.dtp-meridien-pm { + position: relative; + top: 10px; + color: #212121; + font-weight: 500; + padding: 0.7em 0.5em; + border-radius: 50% !important; + text-decoration: none; + background: #eee; + font-size: 1em; +} + +.dtp .dtp-actual-meridien a.selected { + background: $color-bluegrey-fg; + color: $color-bluegrey-bg; +} + +.dtp .dtp-picker-time > .dtp-select-hour { + cursor: pointer; +} + +.dtp .dtp-picker-time > .dtp-select-minute { + cursor: pointer; +} + +.dtp .dtp-buttons { + padding: 0 1em 1em 1em; + text-align: right; +} + +/*.dtp .dtp-buttons .btn-flat {*/ +/*border: none;*/ +/*padding: .5em;*/ +/*color: #fff;*/ +/*background-color: #607D8B;*/ +/*}*/ + +.dtp.hidden, .dtp .hidden { + display: none; +} + +.dtp .invisible { + visibility: hidden; +} + +.dtp .left { + float: left; +} + +.dtp .right { + float: right; +} + +.dtp .clearfix { + clear: both; +} + +.dtp .center { + text-align: center; +} + diff --git a/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css new file mode 100644 index 000000000..0ecad7d84 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css @@ -0,0 +1,53 @@ +.dialog-container, +.loading-container { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: scroll; + background: rgba(0, 0, 0, 0.4); + z-index: 9999; + opacity: 0; + -webkit-transition: opacity 400ms ease-in; + -moz-transition: opacity 400ms ease-in; + transition: opacity 400ms ease-in; } + +.dialog-container > div { + position: relative; + width: 90%; + max-width: 500px; + min-height: 25px; + margin: 10% auto; + z-index: 9999; + padding-bottom: 1em; } + +.dialog-container > div > * { + padding: 0 1em; } + +.dialog-container header { + font-size: 20px; + font-weight: 500; + letter-spacing: 0.02em; + line-height: 1; + background-color: #607d8b; + color: #eceff1; + padding: .5em; + text-align: center; } + +.dialog-button-bar { + text-align: right; + margin-top: 8px; } + +.loading-container > div { + position: relative; + width: 50px; + height: 50px; + margin: 10% auto; + z-index: 9999; } + +.loading-container > div > div { + width: 100%; + height: 100%; } + +/*# sourceMappingURL=mdl-jquery-modal-dialog.css.map */ diff --git a/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css.map b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css.map new file mode 100644 index 000000000..32b3f0a2c --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AAEA;kBACmB;EACjB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,CAAC;EACR,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,CAAC;EACP,QAAQ,EAAE,MAAM;EAChB,UAAU,EAAE,kBAAkB;EAC9B,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,CAAC;EACV,kBAAkB,EAAE,qBAAqB;EACzC,eAAe,EAAE,qBAAqB;EACtC,UAAU,EAAE,qBAAqB;;AAGnC,uBAAwB;EACtB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,GAAG;EACV,SAAS,EAAE,KAAK;EAChB,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,QAAQ;EAChB,OAAO,EAAE,IAAI;EACb,cAAc,EAAE,GAAG;;AAGrB,2BAA4B;EAC1B,OAAO,EAAE,KAAK;;AAGhB,wBAAyB;EACvB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,MAAM;EACtB,WAAW,EAAE,CAAC;EACd,gBAAgB,ECzBE,OAAO;ED0BzB,KAAK,EC3Ba,OAAO;ED4BzB,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,MAAM;;AAGpB,kBAAmB;EACjB,UAAU,EAAE,KAAK;EACjB,UAAU,EAAE,GAAG;;AAGjB,wBAAyB;EACvB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,QAAQ;EAChB,OAAO,EAAE,IAAI;;AAGf,8BAA+B;EAC7B,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI", +"sources": ["mdl-jquery-modal-dialog.scss","_base.scss"], +"names": [], +"file": "mdl-jquery-modal-dialog.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.min.css b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.min.css new file mode 100644 index 000000000..90c091bf1 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.min.css @@ -0,0 +1,58 @@ +.dialog-container, +.loading-container { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: scroll; + background: rgba(0, 0, 0, 0.4); + z-index: 9999; + opacity: 0; + -webkit-transition: opacity 400ms ease-in; + -moz-transition: opacity 400ms ease-in; + transition: opacity 400ms ease-in +} + +.dialog-container>div { + position: relative; + width: 90%; + max-width: 500px; + min-height: 25px; + margin: 10% auto; + z-index: 9999; + padding-bottom: 1em +} + +.dialog-container>div>* { + padding: 0 1em +} + +.dialog-container header { + font-size: 20px; + font-weight: 500; + letter-spacing: .02em; + line-height: 1; + background-color: #0D1117; + color: #c9c9c9; + padding: .5em; + text-align: center +} + +.dialog-button-bar { + text-align: right; + margin-top: 8px +} + +.loading-container>div { + position: relative; + width: 50px; + height: 50px; + margin: 10% auto; + z-index: 9999 +} + +.loading-container>div>div { + width: 100%; + height: 100% +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.scss b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.scss new file mode 100644 index 000000000..64fd02579 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/mdl-jquery-modal-dialog.scss @@ -0,0 +1,61 @@ +@import "base"; + +.dialog-container, +.loading-container { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: scroll; + background: rgba(0, 0, 0, 0.4); + z-index: 9999; + opacity: 0; + -webkit-transition: opacity 400ms ease-in; + -moz-transition: opacity 400ms ease-in; + transition: opacity 400ms ease-in; +} + +.dialog-container > div { + position: relative; + width: 90%; + max-width: 500px; + min-height: 25px; + margin: 10% auto; + z-index: 9999; + padding-bottom: 1em; +} + +.dialog-container > div > * { + padding: 0 1em; +} + +.dialog-container header { + font-size: 20px; + font-weight: 500; + letter-spacing: 0.02em; + line-height: 1; + background-color: $color-bluegrey-fg; + color: $color-bluegrey-bg; + padding: .5em; + text-align: center; +} + +.dialog-button-bar { + text-align: right; + margin-top: 8px; +} + +.loading-container > div { + position: relative; + width: 50px; + height: 50px; + margin: 10% auto; + z-index: 9999; +} + +.loading-container > div > div { + width: 100%; + height: 100%; +} + diff --git a/app/modules/web/themes/material-dark/css/search-card.css b/app/modules/web/themes/material-dark/css/search-card.css new file mode 100644 index 000000000..eaa5c5215 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-card.css @@ -0,0 +1,100 @@ +@charset "UTF-8"; +/* Estilos para mostrar la búsqueda en formato cuadrícula */ +#content #data-search { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + text-align: center; + padding: 0.5em 0; + width: 100%; + margin: 0 auto; } + #content #data-search .account-label { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + width: 25em; + min-height: 8em; + height: auto; + text-align: left; + margin: .5em .5em; + color: #696969; + background-color: #fcfcfc; + padding: 0 .5em; } + #content #data-search .account-label .label-row-up, + #content #data-search .account-label .label-row-down { + display: flex; + flex-wrap: wrap; + height: auto; + min-height: 3em; + width: 100%; + padding: 0.5em 0; } + #content #data-search .account-label .label-row-down { + height: 3em; } + #content #data-search .account-label .label-left { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; + height: auto; } + #content #data-search .account-label .label-right { + display: flex; + flex-wrap: wrap; + width: 100%; + height: auto; } + #content #data-search .account-label .label-right > div { + width: 100%; } + #content #data-search .account-label .label-field { + width: 100%; + min-height: 3em; + height: auto; + padding: 0 .3em; } + #content #data-search .account-label .field-text { + word-wrap: break-word; } + #content #data-search .account-label .field-text a { + color: #5c6bc0; } + #content #data-search .account-label .field-customer { + flex-grow: 2; } + #content #data-search .account-label .field-name { + padding: 0.3em 0.2em; + color: #b9b9b9; + text-align: left; + border-bottom: 1px solid #d9d9d9; } + #content #data-search .account-label .field-name-hidden { + display: none; } + #content #data-search .account-label .header .field-name { + color: white; + font-weight: bold; } + #content #data-search .account-label .no-link, + #content #data-search .account-label .no-link a { + color: white; + font-weight: bold; } + #content #data-search .account-info { + padding: .5em 0 .5em 0; + text-align: left; + opacity: 0.3; + min-height: 4em; } + #content #data-search .account-info:hover { + opacity: 1; } + #content #data-search .account-actions { + align-self: baseline; + padding: .5em 0; + text-align: right; + border-top: 1px solid #c9c9c9; } + #content #data-search .account-actions i { + opacity: .5; } + #content #data-search .account-actions i:hover { + opacity: 1; } + #content #data-search .account-spacer { + float: left; + clear: left; + height: 2em; + width: 20%; } + #content #data-search .tags-box { + display: inline-block; } + #content #data-search .tags-box span.tag { + cursor: pointer; + opacity: 0.3; } + #content #data-search .tags-box span.tag:hover { + opacity: 1; } + +/*# sourceMappingURL=search-card.css.map */ diff --git a/app/modules/web/themes/material-dark/css/search-card.css.map b/app/modules/web/themes/material-dark/css/search-card.css.map new file mode 100644 index 000000000..3ef7a4be0 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-card.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": ";AAAA,4DAA4D;AAI1D,qBAAa;EACX,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,IAAI;EACf,eAAe,EAAE,UAAU;EAC3B,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,OAAO;EAChB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,MAAM;EAEd,oCAAe;IACb,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,GAAG;IACf,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,OAAO;IACzB,OAAO,EAAE,MAAM;IAEf;wDACgB;MACd,OAAO,EAAE,IAAI;MACb,SAAS,EAAE,IAAI;MACf,MAAM,EAAE,IAAI;MACZ,UAAU,EAAE,GAAG;MACf,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,OAAO;IAGlB,oDAAgB;MACd,MAAM,EAAE,GAAG;IAGb,gDAAY;MACV,OAAO,EAAE,IAAI;MACb,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,MAAM;MACnB,KAAK,EAAE,IAAI;MACX,MAAM,EAAE,IAAI;IAGd,iDAAa;MACX,OAAO,EAAE,IAAI;MACb,SAAS,EAAE,IAAI;MACf,KAAK,EAAE,IAAI;MACX,MAAM,EAAE,IAAI;MACZ,uDAAQ;QACN,KAAK,EAAE,IAAI;IAIf,iDAAa;MACX,KAAK,EAAE,IAAI;MACX,UAAU,EAAE,GAAG;MACf,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,MAAM;IAGjB,gDAAY;MACV,SAAS,EAAE,UAAU;MACrB,kDAAE;QACA,KAAK,EC3DG,OAAO;ID+DnB,oDAAgB;MACd,SAAS,EAAE,CAAC;IAGd,gDAAY;MACV,OAAO,EAAE,WAAW;MACpB,KAAK,EAAE,OAAO;MACd,UAAU,EAAE,IAAI;MAChB,aAAa,EAAE,iBACjB;IAEA,uDAAmB;MACjB,OAAO,EAAE,IAAI;IAGf,wDAAoB;MAClB,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,IAAI;IAGnB;mDACW;MACT,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,IAAI;EAIrB,mCAAc;IACZ,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,GAAG;IACZ,UAAU,EAAE,GAAG;IACf,yCAAQ;MACN,OAAO,EAAE,CAAC;EAId,sCAAiB;IACf,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,iBAAiB;IAC7B,wCAAE;MACA,OAAO,EAAE,EAAE;MACX,8CAAQ;QACN,OAAO,EAAE,CAAC;EAKhB,qCAAgB;IACd,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;EAGZ,+BAAU;IACR,OAAO,EAAE,YAAY;IAErB,wCAAS;MACP,MAAM,EAAE,OAAO;MACf,OAAO,EAAE,GAAG;MACZ,8CAAQ;QACN,OAAO,EAAE,CAAC", +"sources": ["search-card.scss","_base.scss"], +"names": [], +"file": "search-card.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/search-card.min.css b/app/modules/web/themes/material-dark/css/search-card.min.css new file mode 100644 index 000000000..0953d7b29 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-card.min.css @@ -0,0 +1,144 @@ +@charset "UTF-8"; +#content #data-search { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + text-align: center; + padding: .5em 0; + width: 100%; + margin: 0 auto +} + +#content #data-search .account-label { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + width: 25em; + min-height: 8em; + height: auto; + text-align: left; + margin: .5em .5em; + color: #696969; + background-color: #161B22; + padding: 0 .5em +} + +#content #data-search .account-label .label-row-up, +#content #data-search .account-label .label-row-down { + display: flex; + flex-wrap: wrap; + height: auto; + min-height: 3em; + width: 100%; + padding: .5em 0 +} + +#content #data-search .account-label .label-row-down { + height: 3em +} + +#content #data-search .account-label .label-left { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; + height: auto +} + +#content #data-search .account-label .label-right { + display: flex; + flex-wrap: wrap; + width: 100%; + height: auto +} + +#content #data-search .account-label .label-right>div { + width: 100% +} + +#content #data-search .account-label .label-field { + width: 100%; + min-height: 3em; + height: auto; + padding: 0 .3em +} + +#content #data-search .account-label .field-text { + word-wrap: break-word +} + +#content #data-search .account-label .field-text a { + color: #5c6bc0 +} + +#content #data-search .account-label .field-customer { + flex-grow: 2 +} + +#content #data-search .account-label .field-name { + padding: .3em .2em; + color: #b9b9b9; + text-align: left; + border-bottom: 1px solid #0D1117; +} + +#content #data-search .account-label .field-name-hidden { + display: none +} + +#content #data-search .account-label .header .field-name { + color: white; + font-weight: bold +} + +#content #data-search .account-label .no-link, +#content #data-search .account-label .no-link a { + color: white; + font-weight: bold +} + +#content #data-search .account-info { + padding: .5em 0 .5em 0; + text-align: left; + opacity: .3; + min-height: 4em +} + +#content #data-search .account-info:hover { + opacity: 1 +} + +#content #data-search .account-actions { + align-self: baseline; + padding: .5em 0; + text-align: right; + border-top: 1px solid #0D1117; +} + +#content #data-search .account-actions i { + opacity: .5 +} + +#content #data-search .account-actions i:hover { + opacity: 1 +} + +#content #data-search .account-spacer { + float: left; + clear: left; + height: 2em; + width: 20% +} + +#content #data-search .tags-box { + display: inline-block +} + +#content #data-search .tags-box span.tag { + cursor: pointer; + opacity: .3 +} + +#content #data-search .tags-box span.tag:hover { + opacity: 1 +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/search-card.scss b/app/modules/web/themes/material-dark/css/search-card.scss new file mode 100644 index 000000000..1549b2a4e --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-card.scss @@ -0,0 +1,142 @@ +/* Estilos para mostrar la búsqueda en formato cuadrícula */ +@import "base"; + +#content { + #data-search { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + text-align: center; + padding: 0.5em 0; + width: 100%; + margin: 0 auto; + + .account-label { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + width: 25em; + min-height: 8em; + height: auto; + text-align: left; + margin: .5em .5em; + color: #696969; + background-color: #fcfcfc; + padding: 0 .5em; + + .label-row-up, + .label-row-down { + display: flex; + flex-wrap: wrap; + height: auto; + min-height: 3em; + width: 100%; + padding: 0.5em 0; + } + + .label-row-down { + height: 3em; + } + + .label-left { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; + height: auto; + } + + .label-right { + display: flex; + flex-wrap: wrap; + width: 100%; + height: auto; + & > div { + width: 100%; + } + } + + .label-field { + width: 100%; + min-height: 3em; + height: auto; + padding: 0 .3em; + } + + .field-text { + word-wrap: break-word; + a { + color: $color-indigo-fg; + } + } + + .field-customer { + flex-grow: 2; + } + + .field-name { + padding: 0.3em 0.2em; + color: #b9b9b9; + text-align: left; + border-bottom: 1px solid #d9d9d9 + } + + .field-name-hidden { + display: none; + } + + .header .field-name { + color: white; + font-weight: bold + } + + .no-link, + .no-link a { + color: white; + font-weight: bold; + } + } + + .account-info { + padding: .5em 0 .5em 0; + text-align: left; + opacity: 0.3; + min-height: 4em; + &:hover { + opacity: 1; + } + } + + .account-actions { + align-self: baseline; + padding: .5em 0; + text-align: right; + border-top: 1px solid #c9c9c9; + i { + opacity: .5; + &:hover { + opacity: 1; + } + } + } + + .account-spacer { + float: left; + clear: left; + height: 2em; + width: 20% + } + + .tags-box { + display: inline-block; + + span.tag { + cursor: pointer; + opacity: 0.3; + &:hover { + opacity: 1; + } + } + } + } +} diff --git a/app/modules/web/themes/material-dark/css/search-grid.css b/app/modules/web/themes/material-dark/css/search-grid.css new file mode 100644 index 000000000..dc62e20a4 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-grid.css @@ -0,0 +1,119 @@ +@charset "UTF-8"; +/* Estilos para mostrar la búsqueda en formato cuadrícula */ +#content #data-search { + text-align: center; + padding: 0.5em 0; + width: 100%; + margin: 0 auto; } + #content #data-search .account-info img, + #content #data-search .account-actions img { + width: 24px; + height: 24px; + margin: 0 0.5em; } + #content #data-search .account-label { + display: flex; + justify-content: space-between; + width: 100%; + min-height: 8em; + height: auto; + text-align: left; + margin: 0 auto 0.5em; + color: #696969; + background-color: #fcfcfc; + padding: 0 .5em; } + #content #data-search .account-label .label-row-up, + #content #data-search .account-label .label-row-down { + display: flex; + min-height: 3em; + height: auto; + width: 100%; + padding: 0.5em 0; } + #content #data-search .account-label .label-row-down { + height: 3em; } + #content #data-search .account-label .label-left { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; + height: 4em; } + #content #data-search .account-label .label-right { + display: flex; + flex-wrap: wrap; + width: 18em; + height: 4em; } + #content #data-search .account-label .label-right > div { + width: 18em; } + #content #data-search .account-label .label-field { + width: 100%; + min-height: 3em; + height: auto; + padding: 0 .3em; } + #content #data-search .account-label .field-text { + word-wrap: break-word; } + #content #data-search .account-label .field-text a { + color: #5c6bc0; } + #content #data-search .account-label .field-customer { + flex-grow: 2; } + #content #data-search .account-label .field-name { + padding: 0.3em 0.2em; + color: #b9b9b9; + display: none; } + #content #data-search .account-label .field-name-hidden { + display: none; } + #content #data-search .account-label .header .field-name { + color: white; + font-weight: bold; } + #content #data-search .account-label .no-link, + #content #data-search .account-label .no-link a { + color: white; + font-weight: bold; } + #content #data-search .account-info { + padding: .5em 0 .5em 0; + text-align: left; + opacity: 0.3; + min-height: 4em; } + #content #data-search .account-info:hover { + opacity: 1; } + #content #data-search .account-actions { + align-self: baseline; + padding: .5em 0; + text-align: right; + border-top: 1px solid #c9c9c9; } + #content #data-search .account-spacer { + float: left; + clear: left; + height: 2em; + width: 20%; } + #content #data-search .tags-box { + display: inline-block; } + #content #data-search .tags-box span.tag { + cursor: pointer; + opacity: 0.3; } + #content #data-search .tags-box span.tag:hover { + opacity: 1; } + +@media screen and (max-width: 1000px) { + #content #data-search .account-label { + flex-wrap: wrap; } + #content #data-search .account-label .label-row-up, + #content #data-search .account-label .label-row-down { + flex-wrap: wrap; + height: auto; } + #content #data-search .account-label .label-field .field-name { + display: block; + text-align: left; + border-bottom: 1px solid #d9d9d9; + color: #607d8b; } + #content #data-search .account-label .label-left, + #content #data-search .account-label .label-right { + height: auto; } + #content #data-search .account-label .label-right, + #content #data-search .account-label .label-right > div { + width: 100%; } } +/* Default styles first then media queries */ +/*@media screen and (min-width: 400px) {}*/ +/*@media screen and (min-width: 600px) {}*/ +/*@media screen and (min-width: 1000px) {}*/ +/*@media screen and (min-width: 1400px) {}*/ + +/*# sourceMappingURL=search-grid.css.map */ diff --git a/app/modules/web/themes/material-dark/css/search-grid.css.map b/app/modules/web/themes/material-dark/css/search-grid.css.map new file mode 100644 index 000000000..3e792bfb5 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-grid.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": ";AAAA,4DAA4D;AAI1D,qBAAa;EACX,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,OAAO;EAChB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,MAAM;EAEd;4CACqB;IACnB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,OAAO;EAGjB,oCAAe;IACb,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,aAAa;IAC9B,KAAK,EAAE,IAAI;IACX,UAAU,EAAE,GAAG;IACf,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,OAAO;IACzB,OAAO,EAAE,MAAM;IAEf;wDACgB;MACd,OAAO,EAAE,IAAI;MACb,UAAU,EAAE,GAAG;MACf,MAAM,EAAE,IAAI;MACZ,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,OAAO;IAGlB,oDAAgB;MACd,MAAM,EAAE,GAAG;IAGb,gDAAY;MACV,OAAO,EAAE,IAAI;MACb,SAAS,EAAE,IAAI;MACf,WAAW,EAAE,MAAM;MACnB,KAAK,EAAE,IAAI;MACX,MAAM,EAAE,GAAG;IAGb,iDAAa;MACX,OAAO,EAAE,IAAI;MACb,SAAS,EAAE,IAAI;MACf,KAAK,EAAE,IAAI;MACX,MAAM,EAAE,GAAG;MACX,uDAAQ;QACN,KAAK,EAAE,IAAI;IAIf,iDAAa;MACX,KAAK,EAAE,IAAI;MACX,UAAU,EAAE,GAAG;MACf,MAAM,EAAE,IAAI;MACZ,OAAO,EAAE,MAAM;IAGjB,gDAAY;MACV,SAAS,EAAE,UAAU;MACrB,kDAAE;QACA,KAAK,EC7DG,OAAO;IDiEnB,oDAAgB;MACd,SAAS,EAAE,CAAC;IAGd,gDAAY;MACV,OAAO,EAAE,WAAW;MACpB,KAAK,EAAE,OAAO;MACd,OAAO,EAAE,IAAI;IAGf,uDAAmB;MACjB,OAAO,EAAE,IAAI;IAGf,wDAAoB;MAClB,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,IAAI;IAGnB;mDACW;MACT,KAAK,EAAE,KAAK;MACZ,WAAW,EAAE,IAAI;EAIrB,mCAAc;IACZ,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,GAAG;IACZ,UAAU,EAAE,GAAG;IACf,yCAAQ;MACN,OAAO,EAAE,CAAC;EAId,sCAAiB;IACf,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,iBAAiB;EAG/B,qCAAgB;IACd,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;EAGZ,+BAAU;IACR,OAAO,EAAE,YAAY;IAErB,wCAAS;MACP,MAAM,EAAE,OAAO;MACf,OAAO,EAAE,GAAG;MACZ,8CAAQ;QACN,OAAO,EAAE,CAAC;;AAOpB,qCAAsC;EAGhC,oCAAe;IACb,SAAS,EAAE,IAAI;IAEf;wDACgB;MACd,SAAS,EAAE,IAAI;MACf,MAAM,EAAE,IAAI;IAIZ,6DAAY;MACV,OAAO,EAAE,KAAK;MACd,UAAU,EAAE,IAAI;MAChB,aAAa,EAAE,iBAAiB;MAChC,KAAK,EC/IG,OAAO;IDmJnB;qDACa;MACX,MAAM,EAAE,IAAI;IAGd;2DACmB;MACjB,KAAK,EAAE,IAAI;AAOrB,6CAA6C;AAC7C,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C", +"sources": ["search-grid.scss","_base.scss"], +"names": [], +"file": "search-grid.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/search-grid.min.css b/app/modules/web/themes/material-dark/css/search-grid.min.css new file mode 100644 index 000000000..56b71199e --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-grid.min.css @@ -0,0 +1 @@ +@charset "UTF-8";#content #data-search{text-align:center;padding:.5em 0;width:100%;margin:0 auto}#content #data-search .account-info img,#content #data-search .account-actions img{width:24px;height:24px;margin:0 .5em}#content #data-search .account-label{display:flex;justify-content:space-between;width:100%;min-height:8em;height:auto;text-align:left;margin:0 auto .5em;color:#696969;background-color:#fcfcfc;padding:0 .5em}#content #data-search .account-label .label-row-up,#content #data-search .account-label .label-row-down{display:flex;min-height:3em;height:auto;width:100%;padding:.5em 0}#content #data-search .account-label .label-row-down{height:3em}#content #data-search .account-label .label-left{display:flex;flex-wrap:wrap;align-items:center;width:100%;height:4em}#content #data-search .account-label .label-right{display:flex;flex-wrap:wrap;width:18em;height:4em}#content #data-search .account-label .label-right>div{width:18em}#content #data-search .account-label .label-field{width:100%;min-height:3em;height:auto;padding:0 .3em}#content #data-search .account-label .field-text{word-wrap:break-word}#content #data-search .account-label .field-text a{color:#5c6bc0}#content #data-search .account-label .field-customer{flex-grow:2}#content #data-search .account-label .field-name{padding:.3em .2em;color:#b9b9b9;display:none}#content #data-search .account-label .field-name-hidden{display:none}#content #data-search .account-label .header .field-name{color:white;font-weight:bold}#content #data-search .account-label .no-link,#content #data-search .account-label .no-link a{color:white;font-weight:bold}#content #data-search .account-info{padding:.5em 0 .5em 0;text-align:left;opacity:.3;min-height:4em}#content #data-search .account-info:hover{opacity:1}#content #data-search .account-actions{align-self:baseline;padding:.5em 0;text-align:right;border-top:1px solid #c9c9c9}#content #data-search .account-spacer{float:left;clear:left;height:2em;width:20%}#content #data-search .tags-box{display:inline-block}#content #data-search .tags-box span.tag{cursor:pointer;opacity:.3}#content #data-search .tags-box span.tag:hover{opacity:1}@media screen and (max-width:1000px){#content #data-search .account-label{flex-wrap:wrap}#content #data-search .account-label .label-row-up,#content #data-search .account-label .label-row-down{flex-wrap:wrap;height:auto}#content #data-search .account-label .label-field .field-name{display:block;text-align:left;border-bottom:1px solid #d9d9d9;color:#607d8b}#content #data-search .account-label .label-left,#content #data-search .account-label .label-right{height:auto}#content #data-search .account-label .label-right,#content #data-search .account-label .label-right>div{width:100%}} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/search-grid.scss b/app/modules/web/themes/material-dark/css/search-grid.scss new file mode 100644 index 000000000..0a8da08f5 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/search-grid.scss @@ -0,0 +1,178 @@ +/* Estilos para mostrar la búsqueda en formato cuadrícula */ +@import "base"; + +#content { + #data-search { + text-align: center; + padding: 0.5em 0; + width: 100%; + margin: 0 auto; + + .account-info img, + .account-actions img { + width: 24px; + height: 24px; + margin: 0 0.5em; + } + + .account-label { + display: flex; + justify-content: space-between; + width: 100%; + min-height: 8em; + height: auto; + text-align: left; + margin: 0 auto 0.5em; + color: #696969; + background-color: #fcfcfc; + padding: 0 .5em; + + .label-row-up, + .label-row-down { + display: flex; + min-height: 3em; + height: auto; + width: 100%; + padding: 0.5em 0; + } + + .label-row-down { + height: 3em; + } + + .label-left { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; + height: 4em; + } + + .label-right { + display: flex; + flex-wrap: wrap; + width: 18em; + height: 4em; + & > div { + width: 18em; + } + } + + .label-field { + width: 100%; + min-height: 3em; + height: auto; + padding: 0 .3em; + } + + .field-text { + word-wrap: break-word; + a { + color: $color-indigo-fg; + } + } + + .field-customer { + flex-grow: 2; + } + + .field-name { + padding: 0.3em 0.2em; + color: #b9b9b9; + display: none + } + + .field-name-hidden { + display: none; + } + + .header .field-name { + color: white; + font-weight: bold + } + + .no-link, + .no-link a { + color: white; + font-weight: bold; + } + } + + .account-info { + padding: .5em 0 .5em 0; + text-align: left; + opacity: 0.3; + min-height: 4em; + &:hover { + opacity: 1; + } + } + + .account-actions { + align-self: baseline; + padding: .5em 0; + text-align: right; + border-top: 1px solid #c9c9c9; + } + + .account-spacer { + float: left; + clear: left; + height: 2em; + width: 20% + } + + .tags-box { + display: inline-block; + + span.tag { + cursor: pointer; + opacity: 0.3; + &:hover { + opacity: 1; + } + } + } + } +} + +@media screen and (max-width: 1000px) { + #content { + #data-search { + .account-label { + flex-wrap: wrap; + + .label-row-up, + .label-row-down { + flex-wrap: wrap; + height: auto; + } + + .label-field { + .field-name { + display: block; + text-align: left; + border-bottom: 1px solid #d9d9d9; + color: $color-bluegrey-fg; + } + } + + .label-left, + .label-right { + height: auto; + } + + .label-right, + .label-right > div { + width: 100%; + } + } + } + } +} + +/* Default styles first then media queries */ +/*@media screen and (min-width: 400px) {}*/ +/*@media screen and (min-width: 600px) {}*/ +/*@media screen and (min-width: 1000px) {}*/ +/*@media screen and (min-width: 1400px) {}*/ diff --git a/app/modules/web/themes/material-dark/css/selectize-custom.css b/app/modules/web/themes/material-dark/css/selectize-custom.css new file mode 100644 index 000000000..8f6a51317 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/selectize-custom.css @@ -0,0 +1,406 @@ +@charset "UTF-8"; +/** + * selectize.bootstrap3.css (v0.12.1) - Bootstrap 3 Theme + * Copyright (c) 2013–2015 Brian Reavis & contributors + * + * 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. + * + * @author Brian Reavis + */ +.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + -webkit-box-shadow: inset 0 0 12px 4px #ffffff; + box-shadow: inset 0 0 12px 4px #ffffff; } + +.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; } + +.selectize-control.plugin-drag_drop .ui-sortable-helper { + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); } + +.selectize-dropdown-header { + position: relative; + padding: 3px 12px; + border-bottom: 1px solid #d0d0d0; + background: #f8f8f8; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; } + +.selectize-dropdown-header-close { + position: absolute; + right: 12px; + top: 50%; + color: #333333; + opacity: 0.4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important; } + +.selectize-dropdown-header-close:hover { + color: #000000; } + +.selectize-dropdown.plugin-optgroup_columns .optgroup { + border-right: 1px solid #f2f2f2; + border-top: 0 none; + float: left; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none; } + +.selectize-dropdown.plugin-optgroup_columns .optgroup:before { + display: none; } + +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; } + +.selectize-control.plugin-remove_button [data-value] { + position: relative; + padding-right: 24px !important; } + +.selectize-control.plugin-remove_button [data-value] .remove { + z-index: 1; + /* fixes ie bug (see #392) */ + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 17px; + text-align: center; + font-weight: bold; + font-size: 12px; + color: inherit; + text-decoration: none; + vertical-align: middle; + display: inline-block; + padding: 1px 0 0 0; + border-left: 1px solid transparent; + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.selectize-control.plugin-remove_button [data-value] .remove:hover { + background: rgba(0, 0, 0, 0.05); } + +.selectize-control.plugin-remove_button [data-value].active .remove { + border-left-color: transparent; } + +.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover { + background: none; } + +.selectize-control.plugin-remove_button .disabled [data-value] .remove { + border-left-color: rgba(77, 77, 77, 0); } + +.selectize-control { + position: relative; + padding: 20px 0; } + +.selectize-dropdown, +.selectize-input, +.selectize-input input { + color: #333333; + /*font-family: inherit;*/ + /*font-size: inherit;*/ + line-height: 20px; + -webkit-font-smoothing: inherit; } + +.selectize-control.single { + display: inline-block; } + +.selectize-input, +.selectize-control.single .selectize-input.input-active { + background: #ffffff; + cursor: text; + display: inline-block; } + +.selectize-input { + border-bottom: 1px solid #cccccc; + padding: 3px 0; + display: inline-block; + width: 300px; + overflow: hidden; + position: relative; + z-index: 1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-shadow: none; + box-shadow: none; } + +.selectize-input.has-items { + color: #5c6bc0; + font-size: 1.3em; } + +.selectize-control.multi .selectize-input.has-items { + padding: 5px 12px 2px; } + +.selectize-input.full, +.selectize-input.not-full { + background-color: #ffffff; } + +.selectize-input.disabled, +.selectize-input.disabled * { + cursor: default !important; } + +.selectize-input.focus { + -webkit-box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.15); } + +.selectize-input > * { + vertical-align: baseline; + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; } + +.selectize-control.multi .selectize-input { + width: 95%; } + +.selectize-control.multi .selectize-input > div { + cursor: pointer; + margin: 0 3px 3px 0; + padding: 1px 3px; + background: #5c6bc0; + color: #fff; + border: 0 solid transparent; } + +.selectize-control.multi .selectize-input > div.active { + background: #607d8b; + color: #ffffff; + border: 0 solid transparent; } + +.selectize-control.multi .selectize-input.disabled > div, +.selectize-control.multi .selectize-input.disabled > div.active { + color: #808080; + background: #ffffff; + border: 0 solid rgba(77, 77, 77, 0); } + +.selectize-input > input { + display: inline-block !important; + padding: 0 !important; + min-height: 0 !important; + max-height: none !important; + max-width: 100% !important; + margin: 0 !important; + text-indent: 0 !important; + border: 0 none !important; + background: none !important; + line-height: inherit !important; + -webkit-user-select: auto !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + font-size: 16px; + color: #888; + color: rgba(0, 0, 0, 0.5); } + +.selectize-input > input::-ms-clear { + display: none; } + +.selectize-input > input:focus { + outline: none !important; } + +.selectize-input::after { + content: ' '; + display: block; + clear: left; } + +.selectize-input.dropdown-active::before { + content: ' '; + display: block; + position: absolute; + background: #ffffff; + height: 1px; + bottom: 0; + left: 0; + right: 0; } + +.selectize-dropdown { + position: absolute; + z-index: 10; + border: 1px solid #d0d0d0; + background: #ffffff; + margin: -1px 0 0 0; + border-top: 0 none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; } + +.selectize-dropdown [data-selectable] { + cursor: pointer; + overflow: hidden; } + +.selectize-dropdown [data-selectable] .highlight { + background: rgba(255, 237, 40, 0.4); + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; } + +.selectize-dropdown [data-selectable], +.selectize-dropdown .optgroup-header { + padding: 3px 12px; } + +.selectize-dropdown .optgroup:first-child .optgroup-header { + border-top: 0 none; } + +.selectize-dropdown .optgroup-header { + color: #777777; + background: #ffffff; + cursor: default; } + +.selectize-dropdown .active { + /*background-color: #f5f5f5; + color: #262626;*/ + background-color: #5c6bc0; + color: #fff; } + +.selectize-dropdown .active.create { + color: #262626; } + +.selectize-dropdown .create { + color: rgba(51, 51, 51, 0.5); } + +.selectize-dropdown-content { + overflow-y: auto; + overflow-x: hidden; + max-height: 200px; } + +.selectize-control.single .selectize-input, +.selectize-control.single .selectize-input input { + cursor: pointer; } + +.selectize-control.single .selectize-input.input-active, +.selectize-control.single .selectize-input.input-active input { + cursor: text; } + +.selectize-control.single .selectize-input:after { + content: ' '; + display: block; + position: absolute; + top: 50%; + right: 17px; + margin-top: -3px; + width: 0; + height: 0; + border-style: solid; + border-width: 5px 5px 0 5px; + border-color: #333333 transparent transparent transparent; } + +.selectize-control.single .selectize-input.dropdown-active:after { + margin-top: -4px; + border-width: 0 5px 5px 5px; + border-color: transparent transparent #333333 transparent; } + +.selectize-control.rtl.single .selectize-input:after { + left: 17px; + right: auto; } + +.selectize-control.rtl .selectize-input > input { + margin: 0 4px 0 -2px !important; } + +.selectize-control .selectize-input.disabled { + background-color: #ffffff; } + +.selectize-dropdown, +.selectize-dropdown.form-control { + height: auto; + padding: 0; + margin: 2px 0 0 0; + z-index: 1000; + background: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); } + +.selectize-dropdown .optgroup-header { + font-size: 12px; + line-height: 1.42857143; } + +.selectize-dropdown .optgroup:first-child:before { + display: none; } + +.selectize-dropdown .optgroup:before { + content: ' '; + display: block; + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; + margin-left: -12px; + margin-right: -12px; } + +.selectize-dropdown-content { + padding: 5px 0; } + +.selectize-dropdown-header { + padding: 6px 12px; } + +.selectize-input.dropdown-active::before { + display: none; } + +.selectize-input.focus { + /*border-color: #66afe9;*/ + border-color: #607d8b; + outline: 0; + /*-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);*/ + -webkit-box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.075); + /*box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);*/ + box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.075); } + +.has-error .selectize-input { + border-color: #ef5350; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } + +.has-error .selectize-input:focus { + border-color: #ef5350; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; } + +.selectize-control.multi .selectize-input.has-items { + padding-left: 9px; + padding-right: 9px; } + +.selectize-control.multi .selectize-input > div { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; } + +.form-control.selectize-control { + padding: 0; + height: auto; + border: none; + background: none; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; } + +/*# sourceMappingURL=selectize-custom.css.map */ diff --git a/app/modules/web/themes/material-dark/css/selectize-custom.css.map b/app/modules/web/themes/material-dark/css/selectize-custom.css.map new file mode 100644 index 000000000..b0803da99 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/selectize-custom.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["selectize-custom.scss","_base.scss"], +"names": [], +"file": "selectize-custom.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/selectize-custom.min.css b/app/modules/web/themes/material-dark/css/selectize-custom.min.css new file mode 100644 index 000000000..5ef5fb67c --- /dev/null +++ b/app/modules/web/themes/material-dark/css/selectize-custom.min.css @@ -0,0 +1,447 @@ +@charset "UTF-8"; +.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + -webkit-box-shadow: inset 0 0 12px 4px #fff; + box-shadow: inset 0 0 12px 4px #fff +} + +.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden +} + +.selectize-control.plugin-drag_drop .ui-sortable-helper { + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) +} + +.selectize-dropdown-header { + position: relative; + padding: 3px 12px; + border-bottom: 1px solid #161B22; + background: #161B22; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0 +} + +.selectize-dropdown-header-close { + position: absolute; + right: 12px; + top: 50%; + color: #c9c9c9; + opacity: .4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important +} + +.selectize-dropdown-header-close:hover { + color: #555555; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup { + border-right: 1px solid #f2f2f2; + border-top: 0 none; + float: left; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:before { + display: none +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none +} + +.selectize-control.plugin-remove_button [data-value] { + position: relative; + padding-right: 24px !important +} + +.selectize-control.plugin-remove_button [data-value] .remove { + z-index: 1; + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 17px; + text-align: center; + font-weight: bold; + font-size: 12px; + color: inherit; + text-decoration: none; + vertical-align: middle; + display: inline-block; + padding: 1px 0 0 0; + border-left: 1px solid transparent; + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box +} + +.selectize-control.plugin-remove_button [data-value] .remove:hover { + background: rgba(0, 0, 0, 0.05) +} + +.selectize-control.plugin-remove_button [data-value].active .remove { + border-left-color: transparent +} + +.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover { + background: 0 +} + +.selectize-control.plugin-remove_button .disabled [data-value] .remove { + border-left-color: rgba(77, 77, 77, 0) +} + +.selectize-control { + position: relative; + padding: 20px 0 +} + +.selectize-dropdown, +.selectize-input, +.selectize-input input { + color: #c9c9c9; + line-height: 20px; + -webkit-font-smoothing: inherit +} + +.selectize-control.single { + display: inline-block +} + +.selectize-input, +.selectize-control.single .selectize-input.input-active { + background: #161B22; + cursor: text; + display: inline-block +} + +.selectize-input { + border-bottom: 1px solid #13181E; + padding: 3px 0; + display: inline-block; + width: 300px; + overflow: hidden; + position: relative; + z-index: 1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-shadow: none; + box-shadow: none +} + +.selectize-input.has-items { + color: #5c6bc0; + font-size: 1.3em +} + +.selectize-control.multi .selectize-input.has-items { + padding: 5px 12px 2px +} + +.selectize-input.full, +.selectize-input.not-full { + background-color: #161B22 +} + +.selectize-input.disabled, +.selectize-input.disabled * { + cursor: default !important +} + +.selectize-input.focus { + -webkit-box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.15) +} + +.selectize-input>* { + vertical-align: baseline; + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline +} + +.selectize-control.multi .selectize-input { + width: 95% +} + +.selectize-control.multi .selectize-input>div { + cursor: pointer; + margin: 0 3px 3px 0; + padding: 1px 3px; + background: #5c6bc0; + color: #fff; + border: 0 solid transparent +} + +.selectize-control.multi .selectize-input>div.active { + background: #607d8b; + color: #fff; + border: 0 solid transparent +} + +.selectize-control.multi .selectize-input.disabled>div, +.selectize-control.multi .selectize-input.disabled>div.active { + color: gray; + background: #fff; + border: 0 solid rgba(77, 77, 77, 0) +} + +.selectize-input>input { + display: inline-block !important; + padding: 0 !important; + min-height: 0 !important; + max-height: none !important; + max-width: 100% !important; + margin: 0 !important; + text-indent: 0 !important; + border: 0 none !important; + background: none !important; + line-height: inherit !important; + -webkit-user-select: auto !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + font-size: 16px; + color: #888; + color: #c9c9c9 +} + +.selectize-input>input::-ms-clear { + display: none +} + +.selectize-input>input:focus { + outline: none !important +} + +.selectize-input::after { + content: ' '; + display: block; + clear: left +} + +.selectize-input.dropdown-active::before { + content: ' '; + display: block; + position: absolute; + background: #fff; + height: 1px; + bottom: 0; + left: 0; + right: 0 +} + +.selectize-dropdown { + position: absolute; + z-index: 10; + border: 1px solid #d0d0d0; + background: #fff; + margin: -1px 0 0 0; + border-top: 0 none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px +} + +.selectize-dropdown [data-selectable] { + cursor: pointer; + overflow: hidden +} + +.selectize-dropdown [data-selectable] .highlight { + background: rgba(255, 237, 40, 0.4); + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px +} + +.selectize-dropdown [data-selectable], +.selectize-dropdown .optgroup-header { + padding: 3px 12px +} + +.selectize-dropdown .optgroup:first-child .optgroup-header { + border-top: 0 none +} + +.selectize-dropdown .optgroup-header { + color: #777; + background: #fff; + cursor: default +} + +.selectize-dropdown .active { + background-color: #5c6bc0; + color: #fff +} + +.selectize-dropdown .active.create { + color: #262626 +} + +.selectize-dropdown .create { + color: rgba(51, 51, 51, 0.5) +} + +.selectize-dropdown-content { + overflow-y: auto; + overflow-x: hidden; + max-height: 200px +} + +.selectize-control.single .selectize-input, +.selectize-control.single .selectize-input input { + cursor: pointer +} + +.selectize-control.single .selectize-input.input-active, +.selectize-control.single .selectize-input.input-active input { + cursor: text +} + +.selectize-control.single .selectize-input:after { + content: ' '; + display: block; + position: absolute; + top: 50%; + right: 17px; + margin-top: -3px; + width: 0; + height: 0; + border-style: solid; + border-width: 5px 5px 0 5px; + border-color: #333 transparent transparent transparent +} + +.selectize-control.single .selectize-input.dropdown-active:after { + margin-top: -4px; + border-width: 0 5px 5px 5px; + border-color: transparent transparent #333 transparent +} + +.selectize-control.rtl.single .selectize-input:after { + left: 17px; + right: auto +} + +.selectize-control.rtl .selectize-input>input { + margin: 0 4px 0 -2px !important +} + +.selectize-control .selectize-input.disabled { + background-color: #161B22 +} + +.selectize-dropdown, +.selectize-dropdown.form-control { + height: auto; + padding: 0; + margin: 2px 0 0 0; + z-index: 1000; + background: #161B22; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175) +} + +.selectize-dropdown .optgroup-header { + font-size: 12px; + line-height: 1.42857143 +} + +.selectize-dropdown .optgroup:first-child:before { + display: none +} + +.selectize-dropdown .optgroup:before { + content: ' '; + display: block; + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; + margin-left: -12px; + margin-right: -12px +} + +.selectize-dropdown-content { + padding: 5px 0 +} + +.selectize-dropdown-header { + padding: 6px 12px +} + +.selectize-input.dropdown-active::before { + display: none +} + +.selectize-input.focus { + border-color: #607d8b; + outline: 0; + -webkit-box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.075) +} + +.has-error .selectize-input { + border-color: #ef5350; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075) +} + +.has-error .selectize-input:focus { + border-color: #ef5350; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483 +} + +.selectize-control.multi .selectize-input.has-items { + padding-left: 9px; + padding-right: 9px +} + +.selectize-control.multi .selectize-input>div { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px +} + +.form-control.selectize-control { + padding: 0; + height: auto; + border: 0; + background: 0; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0 +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/selectize-custom.scss b/app/modules/web/themes/material-dark/css/selectize-custom.scss new file mode 100644 index 000000000..14d6558ff --- /dev/null +++ b/app/modules/web/themes/material-dark/css/selectize-custom.scss @@ -0,0 +1,487 @@ +/** + * selectize.bootstrap3.css (v0.12.1) - Bootstrap 3 Theme + * Copyright (c) 2013–2015 Brian Reavis & contributors + * + * 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. + * + * @author Brian Reavis + */ +@import "base"; + +.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder { + visibility: visible !important; + background: #f2f2f2 !important; + background: rgba(0, 0, 0, 0.06) !important; + border: 0 none !important; + -webkit-box-shadow: inset 0 0 12px 4px #ffffff; + box-shadow: inset 0 0 12px 4px #ffffff; +} + +.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after { + content: '!'; + visibility: hidden; +} + +.selectize-control.plugin-drag_drop .ui-sortable-helper { + -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); +} + +.selectize-dropdown-header { + position: relative; + padding: 3px 12px; + border-bottom: 1px solid #d0d0d0; + background: #f8f8f8; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.selectize-dropdown-header-close { + position: absolute; + right: 12px; + top: 50%; + color: #333333; + opacity: 0.4; + margin-top: -12px; + line-height: 20px; + font-size: 20px !important; +} + +.selectize-dropdown-header-close:hover { + color: #000000; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup { + border-right: 1px solid #f2f2f2; + border-top: 0 none; + float: left; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child { + border-right: 0 none; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup:before { + display: none; +} + +.selectize-dropdown.plugin-optgroup_columns .optgroup-header { + border-top: 0 none; +} + +.selectize-control.plugin-remove_button [data-value] { + position: relative; + padding-right: 24px !important; +} + +.selectize-control.plugin-remove_button [data-value] .remove { + z-index: 1; + /* fixes ie bug (see #392) */ + position: absolute; + top: 0; + right: 0; + bottom: 0; + width: 17px; + text-align: center; + font-weight: bold; + font-size: 12px; + color: inherit; + text-decoration: none; + vertical-align: middle; + display: inline-block; + padding: 1px 0 0 0; + border-left: 1px solid rgba(0, 0, 0, 0); + -webkit-border-radius: 0 2px 2px 0; + -moz-border-radius: 0 2px 2px 0; + border-radius: 0 2px 2px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.selectize-control.plugin-remove_button [data-value] .remove:hover { + background: rgba(0, 0, 0, 0.05); +} + +.selectize-control.plugin-remove_button [data-value].active .remove { + border-left-color: rgba(0, 0, 0, 0); +} + +.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover { + background: none; +} + +.selectize-control.plugin-remove_button .disabled [data-value] .remove { + border-left-color: rgba(77, 77, 77, 0); +} + +.selectize-control { + position: relative; + padding: 20px 0; +} + +.selectize-dropdown, +.selectize-input, +.selectize-input input { + color: #333333; + /*font-family: inherit;*/ + /*font-size: inherit;*/ + line-height: 20px; + -webkit-font-smoothing: inherit; +} + +.selectize-control.single { + display: inline-block; +} + +.selectize-input, +.selectize-control.single .selectize-input.input-active { + background: #ffffff; + cursor: text; + display: inline-block; +} + +.selectize-input { + border-bottom: 1px solid #cccccc; + padding: 3px 0; + display: inline-block; + width: 300px; + overflow: hidden; + position: relative; + z-index: 1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-shadow: none; + box-shadow: none; + //-webkit-border-radius: 4px; + //-moz-border-radius: 4px; + //border-radius: 4px; +} + +.selectize-input.has-items { + color: $color-indigo-fg; + font-size: 1.3em; +} + +.selectize-control.multi .selectize-input.has-items { + padding: 5px 12px 2px; +} + +.selectize-input.full, +.selectize-input.not-full { + background-color: #ffffff; +} + +.selectize-input.disabled, +.selectize-input.disabled * { + cursor: default !important; +} + +.selectize-input.focus { + -webkit-box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 2px rgba(0, 0, 0, 0.15); +} + +.selectize-input > * { + vertical-align: baseline; + display: -moz-inline-stack; + display: inline-block; + zoom: 1; + *display: inline; +} + +.selectize-control.multi .selectize-input { + width: 95%; +} + +.selectize-control.multi .selectize-input > div { + cursor: pointer; + margin: 0 3px 3px 0; + padding: 1px 3px; + background: $color-indigo-fg; + color: #fff; + border: 0 solid rgba(0, 0, 0, 0); +} + +.selectize-control.multi .selectize-input > div.active { + background: $color-bluegrey-fg; + color: #ffffff; + border: 0 solid rgba(0, 0, 0, 0); +} + +.selectize-control.multi .selectize-input.disabled > div, +.selectize-control.multi .selectize-input.disabled > div.active { + color: #808080; + background: #ffffff; + border: 0 solid rgba(77, 77, 77, 0); +} + +.selectize-input > input { + display: inline-block !important; + padding: 0 !important; + min-height: 0 !important; + max-height: none !important; + max-width: 100% !important; + margin: 0 !important; + text-indent: 0 !important; + border: 0 none !important; + background: none !important; + line-height: inherit !important; + -webkit-user-select: auto !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + font-size: 16px; + color: #888; + color: rgba(0, 0, 0, .5); +} + +.selectize-input > input::-ms-clear { + display: none; +} + +.selectize-input > input:focus { + outline: none !important; +} + +.selectize-input::after { + content: ' '; + display: block; + clear: left; +} + +.selectize-input.dropdown-active::before { + content: ' '; + display: block; + position: absolute; + background: #ffffff; + height: 1px; + bottom: 0; + left: 0; + right: 0; +} + +.selectize-dropdown { + position: absolute; + z-index: 10; + border: 1px solid #d0d0d0; + background: #ffffff; + margin: -1px 0 0 0; + border-top: 0 none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.selectize-dropdown [data-selectable] { + cursor: pointer; + overflow: hidden; +} + +.selectize-dropdown [data-selectable] .highlight { + background: rgba(255, 237, 40, 0.4); + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; +} + +.selectize-dropdown [data-selectable], +.selectize-dropdown .optgroup-header { + padding: 3px 12px; +} + +.selectize-dropdown .optgroup:first-child .optgroup-header { + border-top: 0 none; +} + +.selectize-dropdown .optgroup-header { + color: #777777; + background: #ffffff; + cursor: default; +} + +.selectize-dropdown .active { + /*background-color: #f5f5f5; + color: #262626;*/ + background-color: $color-indigo-fg; + color: #fff; +} + +.selectize-dropdown .active.create { + color: #262626; +} + +.selectize-dropdown .create { + color: rgba(51, 51, 51, 0.5); +} + +.selectize-dropdown-content { + overflow-y: auto; + overflow-x: hidden; + max-height: 200px; +} + +.selectize-control.single .selectize-input, +.selectize-control.single .selectize-input input { + cursor: pointer; +} + +.selectize-control.single .selectize-input.input-active, +.selectize-control.single .selectize-input.input-active input { + cursor: text; +} + +.selectize-control.single .selectize-input:after { + content: ' '; + display: block; + position: absolute; + top: 50%; + right: 17px; + margin-top: -3px; + width: 0; + height: 0; + border-style: solid; + border-width: 5px 5px 0 5px; + border-color: #333333 transparent transparent transparent; +} + +.selectize-control.single .selectize-input.dropdown-active:after { + margin-top: -4px; + border-width: 0 5px 5px 5px; + border-color: transparent transparent #333333 transparent; +} + +.selectize-control.rtl.single .selectize-input:after { + left: 17px; + right: auto; +} + +.selectize-control.rtl .selectize-input > input { + margin: 0 4px 0 -2px !important; +} + +.selectize-control .selectize-input.disabled { + //opacity: 0.5; + background-color: #ffffff; +} + +.selectize-dropdown, +.selectize-dropdown.form-control { + height: auto; + padding: 0; + margin: 2px 0 0 0; + z-index: 1000; + background: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} + +.selectize-dropdown .optgroup-header { + font-size: 12px; + line-height: 1.42857143; +} + +.selectize-dropdown .optgroup:first-child:before { + display: none; +} + +.selectize-dropdown .optgroup:before { + content: ' '; + display: block; + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; + margin-left: -12px; + margin-right: -12px; +} + +.selectize-dropdown-content { + padding: 5px 0; +} + +.selectize-dropdown-header { + padding: 6px 12px; +} + +.selectize-input { + //min-height: 30px; +} + +.selectize-input.dropdown-active { + //-webkit-border-radius: 4px; + //-moz-border-radius: 4px; + //border-radius: 4px; +} + +.selectize-input.dropdown-active::before { + display: none; +} + +.selectize-input.focus { + /*border-color: #66afe9;*/ + border-color: $color-bluegrey-fg; + outline: 0; + /*-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);*/ + //-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 3px rgba(96, 125, 139, 0.6); + -webkit-box-shadow: inset 0 -1px 1px rgba(0, 0, 0, .075); + /*box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);*/ + //box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 3px rgba(96, 125, 139, 0.6); + box-shadow: inset 0 -1px 1px rgba(0, 0, 0, .075); +} + +.has-error .selectize-input { + border-color: $color-red-fg; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-error .selectize-input:focus { + border-color: $color-red-fg; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} + +.selectize-control.multi .selectize-input.has-items { + padding-left: 9px; + padding-right: 9px; +} + +.selectize-control.multi .selectize-input > div { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.form-control.selectize-control { + padding: 0; + height: auto; + border: none; + background: none; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/styles-wiki.css b/app/modules/web/themes/material-dark/css/styles-wiki.css new file mode 100644 index 000000000..95b13516d --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles-wiki.css @@ -0,0 +1,58 @@ +#box-popup #wikiPage { + text-align: left; + width: 100%; + padding: 0 1em; } + #box-popup #wikiPage h1, #box-popup #wikiPage h2, #box-popup #wikiPage h3, #box-popup #wikiPage h4, #box-popup #wikiPage h5, #box-popup #wikiPage h6 { + font-weight: bold; + padding: 0; + line-height: 1.2; + clear: left; + color: #777777; + border-bottom: 1px solid #777777; } + #box-popup #wikiPage h1 a, #box-popup #wikiPage h2 a, #box-popup #wikiPage h3 a, #box-popup #wikiPage h4 a, #box-popup #wikiPage h5 a, #box-popup #wikiPage h6 a { + color: #777; } + #box-popup #wikiPage h1 { + font-size: 2em; + margin: 0 0 .444em; } + #box-popup #wikiPage h2 { + font-size: 1.5em; + margin: 0 0 .666em; } + #box-popup #wikiPage h3 { + font-size: 1.125em; + margin: 0 0 .888em; } + #box-popup #wikiPage h4 { + font-size: 1em; + margin: 0 0 1em; } + #box-popup #wikiPage h5 { + font-size: .875em; + margin: 0 0 1.1428em; } + #box-popup #wikiPage h6 { + font-size: .75em; + margin: 0 0 1.333em; } + #box-popup #wikiPage pre { + overflow: auto; + word-wrap: normal; + border: 1px solid #ccc; + border-radius: 2px; + box-shadow: inset 0 0 .5em #ccc; + padding: .7em 1em; } + #box-popup #wikiPage li, #box-popup #wikiPage ol { + padding: 0; + margin: 0 0 0 1.5em; } + #box-popup #wikiPage ul li { + color: #999; } + #box-popup #wikiPage li .li { + color: #333; } + #box-popup #wikiPage ol li { + color: #666; } +#box-popup #wikiPageInfo { + margin: 1em 0; + border-top: 1px solid #607d8b; + color: #607d8b; } + #box-popup #wikiPageInfo ul { + list-style: none; } + #box-popup #wikiPageInfo li { + float: left; + padding: .5em; } + +/*# sourceMappingURL=styles-wiki.css.map */ diff --git a/app/modules/web/themes/material-dark/css/styles-wiki.css.map b/app/modules/web/themes/material-dark/css/styles-wiki.css.map new file mode 100644 index 000000000..52c08aad0 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles-wiki.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AAGE,oBAAU;EACR,UAAU,EAAE,IAAI;EAChB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EAEd,oJAAuB;IACrB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,iBAAiB;IAChC,gKAAE;MACA,KAAK,EAAE,IAAI;EAGf,uBAAG;IACD,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,UAAU;EAGpB,uBAAG;IACD,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,UAAU;EAGpB,uBAAG;IACD,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,UAAU;EAGpB,uBAAG;IACD,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,OAAO;EAGjB,uBAAG;IACD,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,YAAY;EAGtB,uBAAG;IACD,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,WAAW;EAGrB,wBAAI;IACF,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,MAAM;IACjB,MAAM,EAAE,cAAc;IACtB,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,mBAAmB;IAC/B,OAAO,EAAE,QAAQ;EAGnB,gDAAO;IACL,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,WAAW;EAGrB,0BAAM;IACJ,KAAK,EAAE,IAAI;EAGb,2BAAO;IACL,KAAK,EAAE,IAAI;EAGb,0BAAM;IACJ,KAAK,EAAE,IAAI;AAIf,wBAAc;EACZ,MAAM,EAAE,KAAK;EACb,UAAU,EAAE,iBAA4B;EACxC,KAAK,ECnEW,OAAO;EDqEvB,2BAAG;IACD,UAAU,EAAE,IAAI;EAGlB,2BAAG;IACD,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,IAAI", +"sources": ["styles-wiki.scss","_base.scss"], +"names": [], +"file": "styles-wiki.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/styles-wiki.min.css b/app/modules/web/themes/material-dark/css/styles-wiki.min.css new file mode 100644 index 000000000..3597a80b7 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles-wiki.min.css @@ -0,0 +1 @@ +#box-popup #wikiPage{text-align:left;width:100%;padding:0 1em}#box-popup #wikiPage h1,#box-popup #wikiPage h2,#box-popup #wikiPage h3,#box-popup #wikiPage h4,#box-popup #wikiPage h5,#box-popup #wikiPage h6{font-weight:bold;padding:0;line-height:1.2;clear:left;color:#777;border-bottom:1px solid #777}#box-popup #wikiPage h1 a,#box-popup #wikiPage h2 a,#box-popup #wikiPage h3 a,#box-popup #wikiPage h4 a,#box-popup #wikiPage h5 a,#box-popup #wikiPage h6 a{color:#777}#box-popup #wikiPage h1{font-size:2em;margin:0 0 .444em}#box-popup #wikiPage h2{font-size:1.5em;margin:0 0 .666em}#box-popup #wikiPage h3{font-size:1.125em;margin:0 0 .888em}#box-popup #wikiPage h4{font-size:1em;margin:0 0 1em}#box-popup #wikiPage h5{font-size:.875em;margin:0 0 1.1428em}#box-popup #wikiPage h6{font-size:.75em;margin:0 0 1.333em}#box-popup #wikiPage pre{overflow:auto;word-wrap:normal;border:1px solid #ccc;border-radius:2px;box-shadow:inset 0 0 .5em #ccc;padding:.7em 1em}#box-popup #wikiPage li,#box-popup #wikiPage ol{padding:0;margin:0 0 0 1.5em}#box-popup #wikiPage ul li{color:#999}#box-popup #wikiPage li .li{color:#333}#box-popup #wikiPage ol li{color:#666}#box-popup #wikiPageInfo{margin:1em 0;border-top:1px solid #607d8b;color:#607d8b}#box-popup #wikiPageInfo ul{list-style:none}#box-popup #wikiPageInfo li{float:left;padding:.5em} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/styles-wiki.scss b/app/modules/web/themes/material-dark/css/styles-wiki.scss new file mode 100644 index 000000000..90e7f257c --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles-wiki.scss @@ -0,0 +1,92 @@ +@import "base"; + +#box-popup { + #wikiPage { + text-align: left; + width: 100%; + padding: 0 1em; + + h1, h2, h3, h4, h5, h6 { + font-weight: bold; + padding: 0; + line-height: 1.2; + clear: left; + color: #777777; + border-bottom: 1px solid #777777; + a { + color: #777; + } + } + h1 { + font-size: 2em; + margin: 0 0 .444em; + } + + h2 { + font-size: 1.5em; + margin: 0 0 .666em; + } + + h3 { + font-size: 1.125em; + margin: 0 0 .888em; + } + + h4 { + font-size: 1em; + margin: 0 0 1em; + } + + h5 { + font-size: .875em; + margin: 0 0 1.1428em; + } + + h6 { + font-size: .75em; + margin: 0 0 1.333em; + } + + pre { + overflow: auto; + word-wrap: normal; + border: 1px solid #ccc; + border-radius: 2px; + box-shadow: inset 0 0 .5em #ccc; + padding: .7em 1em; + } + + li, ol { + padding: 0; + margin: 0 0 0 1.5em; + } + + ul li { + color: #999; + } + + li .li { + color: #333; + } + + ol li { + color: #666; + } + } + + #wikiPageInfo { + margin: 1em 0; + border-top: 1px solid $color-bluegrey-fg; + color: $color-bluegrey-fg; + + ul { + list-style: none; + } + + li { + float: left; + padding: .5em; + } + } +} + diff --git a/app/modules/web/themes/material-dark/css/styles.css b/app/modules/web/themes/material-dark/css/styles.css new file mode 100644 index 000000000..dcb3316cf --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles.css @@ -0,0 +1,1298 @@ +html, body { + margin: 0; + padding: 0; + text-align: left; + background-color: #f5f5f5; + color: #555; + font-size: 12px; + font-weight: normal; + box-sizing: border-box; + max-width: 100%; } + +* { + font-family: "Roboto Regular", Verdana, Tahoma, sans-serif; + box-sizing: inherit; } + *:before, *:after { + box-sizing: inherit; } + +table { + font-size: 11px; + border-spacing: 0; } + table th { + border-bottom: 2px solid transparent; + vertical-align: middle; } + table th .icon { + width: 24px; + height: 24px; } + table tr { + height: 20px; } + table tr.odd { + background-color: #f9f9f9; } + table tr.even > td, table tr.odd > td { + border-bottom: 1px solid #d9d9d9 !important; } + table tr.even:hover, table tr.odd:hover { + background-color: #e8ff99; } + table td { + padding: 3px; } + table td.txtCliente { + font-weight: bold; + text-align: center; } + +form { + font-size: 11px; + margin: 0; } + +input.inputImg, img.inputImg { + background-color: transparent !important; + width: 24px !important; + height: 24px !important; + border: 0; + vertical-align: middle; + margin: 0 0.5em; } + +input.txtFile { + width: 200px; } +input.txtLong { + width: 300px; } + +textarea { + width: 350px; } + +select.files { + width: 250px; } + +input.spinner { + width: 5em; } + +img { + margin: 0; + padding: 0; + border: 0; + cursor: pointer; } + img.inputImgMini { + background-color: transparent !important; + width: 16px !important; + height: 16px !important; + margin: 0 5px 0 5px; + border: 0; + vertical-align: middle; } + +i { + cursor: pointer; } + +form .form-field { + display: flex; + justify-content: space-between; } + form .form-field > label { + min-width: 12em; + padding: .5em 0; + font-size: 16px; + align-self: center; } + form .form-field > div { + width: 100%; + align-self: center; } + +a { + text-decoration: none; + color: #536dfe; } + a:visited { + text-decoration: none; + color: #536dfe; } + a:hover, a:active, a:focus { + text-decoration: none; + /*color: rgba(83, 109, 254, .6);*/ + cursor: pointer; } + +pre, code, samp, kbd { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; + font-size: 1em; + direction: ltr; + text-align: left; + background-color: #fbfaf9; + color: #333; + box-shadow: inset 0 0 .3em #ccc; + border-radius: 2px; } + +body.login, +body.logout, +body.userpassreset { + background: #607d8b; } + body.login #wrap, + body.logout #wrap, + body.userpassreset #wrap { + background: transparent; } + body.login #container, + body.logout #container, + body.userpassreset #container { + padding-top: 5%; } + body.login footer, + body.logout footer, + body.userpassreset footer { + background: #78909C; } + body.login footer a, + body.logout footer a, + body.userpassreset footer a { + color: #f2f2f2; } + +#box-pub-noheader { + background: transparent url("public/images/logo_full_nobg_outline.png") no-repeat top center; + background-size: 75% auto; + width: 40em; + min-height: 20em; + margin: 0 auto; } + #box-pub-noheader > div { + width: 100%; + padding: 1em; + margin: 0 auto; } + #box-pub-noheader .box-spacer { + height: 15em; + background-color: transparent; } + #box-pub-noheader .box-header { + width: 100%; + color: #f2f2f2; + font-size: 16px; + font-weight: bold; + text-align: center; + margin: 1em 0; + letter-spacing: .1em; + padding: 0.2em 0; } + #box-pub-noheader .box-form { + -moz-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + background-color: #f2f2f2; } + #box-pub-noheader .box-form form fieldset#box-data { + height: 100%; + min-height: 14em; + text-align: left; + background-color: transparent; + margin-bottom: 2em; } + #box-pub-noheader .box-form form fieldset#box-data legend { + width: 100%; + color: #607d8b; + font-size: 14px; + font-weight: bold; + text-align: center; + margin: 1em 0; + letter-spacing: .1em; + padding: 0.2em 0; } + #box-pub-noheader .box-form form fieldset#box-data .form-control > i { + margin-right: .5em; + opacity: .5; } + #box-pub-noheader .box-form form fieldset#box-data .extra-hidden { + display: none; } + #box-pub-noheader .box-form div#box-buttons { + margin-top: 2em; + text-align: center; } + +@media screen and (max-width: 600px) { + #box-pub-noheader { + width: 25em; } + #box-pub-noheader .box-spacer { + height: 10em; } + #box-pub-noheader form fieldset#box-data .mdl-textfield { + width: 100%; } } +#nojs { + width: 80%; + text-align: center; + vertical-align: middle; + margin: 10px auto; + padding: 3px; + background-color: #ef5350; + color: white; + font-weight: bold; + font-size: 14px; } + +#wrap { + height: auto !important; + min-height: 100%; + /*min-width: 1024px;*/ + /*height: 100%;*/ + width: 100%; + background-color: #f5f5f5; + padding-bottom: 5em; } + +#wrap-loading { + position: fixed; + z-index: 9999; + top: 50%; + left: 50%; + padding: 1em; + background-color: rgba(255, 255, 255, 0.8); + display: none; + border-radius: 5px !important; + -moz-border-radius: 5px !important; + -webkit-border-radius: 5px !important; } + #wrap-loading.overlay-full { + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, 0.5); } + #wrap-loading.overlay-full #loading { + position: absolute; + top: 50%; + left: 50%; } + #wrap-loading.overlay-full #taskStatus { + display: none; } + #wrap-loading #taskStatus { + display: none; + position: absolute; + left: 0; + top: 55%; + width: 100%; + text-align: center; + color: white; + background-color: rgba(0, 0, 0, 0.5); + padding: 1em 0; } + +#container { + margin: auto; + width: 100%; } + #container.error, #container.install { + width: 100%; } + #container .logo { + height: 64px; } + #container #actions-bar { + z-index: 100; + display: flex; + justify-content: space-between; + position: fixed; + border: 0 none; + top: 0; + left: 0; + width: 100%; + padding: 1em 0; + background-color: transparent; } + #container #actions-bar-icons { + flex-grow: 1; + text-align: center; } + #container #actions-bar-logo { + display: none; + padding: 0 .5em; } + #container #actions-bar-logo img { + display: inline-block; + width: 50px; + opacity: 0.75; } + #container #content { + width: 95%; + margin: 2em auto 8em auto; } + #container #content.public-link { + width: 70%; + min-height: 0; + margin: 5em auto; } + +#content td.descField, #box-popup td.descField { + text-align: right; + padding-right: 20px; + width: 25%; + border-right: 1px solid #d9d9d9; + color: #999; + font-size: 12px; + font-weight: bold; } +#content td.valField, #box-popup td.valField { + padding-left: 1em; + width: 100%; } + #content td.valField .lowres-title, #box-popup td.valField .lowres-title { + display: none; + width: 100%; + color: #607d8b; + font-size: 12px; } + #content td.valField .notification-description, #box-popup td.valField .notification-description { + font-size: 16px; + max-width: 100%; } + #content td.valField .notification-description .event-description, #content td.valField .notification-description .event-details, #box-popup td.valField .notification-description .event-description, #box-popup td.valField .notification-description .event-details { + padding: .5em 0; } + #content td.valField .notification-description .event-description, #box-popup td.valField .notification-description .event-description { + color: #5c6bc0; + border-bottom: 1px solid #e9e9e9; } + #content td.valField .notification-description .event-details .detail, #box-popup td.valField .notification-description .event-details .detail { + display: flex; + padding: .2em 0; } + #content td.valField .notification-description .event-details .detail .detail-left, #box-popup td.valField .notification-description .event-details .detail .detail-left { + flex: none; + width: 8em; + font-weight: bold; } + #content td.valField .notification-description .event-details .detail .detail-right, #box-popup td.valField .notification-description .event-details .detail .detail-right { + flex-grow: 1; } + +#content .pager { + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + justify-content: space-between; + align-content: space-between; + flex-wrap: wrap; + width: 100%; + margin-top: 15px; + padding: .5em; + font-size: 11px; + color: #999; + background-color: #fcfcfc; } + #content .pager img { + margin-left: 5px; + vertical-align: middle; } + #content .pager a { + margin-left: 5px; + font-size: 12px; + color: #999; } +#content #title { + width: 100%; + padding: 7px; + background-color: #d9d9d9; + color: #fff; + font-size: 17px; + letter-spacing: .2em; } + #content #title.titleNormal { + background-color: #607d8b; + color: #fff; } +#content .data-container { + width: 75%; + margin: 0 auto; } +#content fieldset.data { + margin: 2em auto; } + #content fieldset.data > legend { + color: #607d8b; + padding: 0 .5em; + font-size: 1.5em; } + #content fieldset.data > div { + display: none; } + #content fieldset.data > div table { + width: 100%; } +#content .data { + width: 100%; + padding: 10px; + margin: 0 auto; + background-color: #fff; + -webkit-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.14); } + #content .data #history-icon { + position: relative; + top: 5em; + right: 2em; } + #content .data td { + text-align: left; } + #content .data td.descField { + text-align: right; } + #content .data select { + min-width: 210px; } + #content .data .list-wrap { + max-height: 10em; + overflow: auto; + padding: .5em; + margin: 1em 0; } + #content .data .dropzone { + width: 100%; + padding: 1em; + border: 2px dashed #26a69a; + text-align: center; + opacity: .3; } + #content .data .dropzone:hover { + opacity: 1; } + #content .data .dropzone img { + vertical-align: middle; } + #content .data .file-upload { + display: none; } + #content .data .account-permissions { + width: 100%; } +#content .extra-info { + margin-top: 20px; } +#content #tabs fieldset { + border: 1px solid #c9c9c9; } +#content #tabs #frmConfig label { + float: left; } +#content .tblConfig { + margin-bottom: 2em; } + #content .tblConfig td.descField { + width: 35%; + font-size: 11px; + font-weight: bold; } + #content .tblConfig td.rowHeader { + padding: 5px 0 5px 0; + background-color: #f5f5f5; + text-align: center; + font-weight: bold; + border-top: 15px solid #f9f9f9; + border-bottom: 3px solid #a9c1d7; + letter-spacing: .5em; + color: #696969; } + #content .tblConfig input.checkbox { + width: 15px; + text-align: left; + padding: 0; } + #content .tblConfig .option-disabled { + text-align: center; + background-color: #fff8e1; + color: #ffca28; + font-weight: bold; } +#content h2 { + width: 100%; + height: 1.5em; + font-size: 18px; + color: white; + background-color: #a9c1d7; + margin: 0; + padding-top: 0.1em; } +#content .section { + margin-top: 2.5em; + border-bottom: 1px solid #d9d9d9; + text-align: left; + font-size: 14px; + font-weight: bold; + color: #5c6bc0; } +#content .row_even > td { + background-color: #f5f5f5; } +#content .row_odd > td { + background-color: white; } +#content .data-header ul { + list-style: none; + width: 100%; + margin: 0 0 10px 0; + padding: 0; } +#content .data-header li { + display: inline-block; + padding: .2em .5em; + font-weight: bold; + letter-spacing: .2em; + color: #fff; + text-align: center; } + #content .data-header li a { + color: #777; } + #content .data-header li img { + float: right; + width: 24px; + height: 24px; + vertical-align: middle; } +#content .data-header-minimal { + border-bottom: 1px solid #dfdfdf; } + #content .data-header-minimal ul { + display: flex; + flex-flow: row; + flex-wrap: wrap; + align-content: flex-start; + justify-content: space-around; + margin: 0; } + #content .data-header-minimal li { + min-width: 10em; + font-weight: normal; + letter-spacing: normal; } + #content .data-header-minimal li a { + color: #b9b9b9; + padding: 0.3em 0.8em; } + #content .data-header-minimal li.search-filter-spacer { + flex: 0 0 18em; } +#content .data-table { + width: 100%; } + #content .data-table td:first-of-type, + #content .data-table th:first-of-type { + width: 5em; } + #content .data-table thead th { + background-color: #607d8b; + color: #fff; } + #content .data-table tbody td.cell-data { + text-align: left; } + #content .data-table tbody td.cell-nodata { + padding: 0 .5em; + text-align: left; } + #content .data-table tbody td.cell-actions { + text-align: right; } + #content .data-table tbody td.cell-actions i { + opacity: .5; } + #content .data-table tbody td.cell-actions i:hover { + opacity: 1; } +#content .data-rows ul { + display: table; + list-style: none; + width: 100%; + margin: 0 0 10px 0; + padding: 0; + background-color: #fcfcfc; } +#content .data-rows li { + float: left; + display: block; + padding: 1em; + color: #696969; + text-align: center; + min-height: 2em; } + #content .data-rows li.cell-nodata { + padding: 1em 0; + min-height: 2em; + text-align: left; } + #content .data-rows li.cell-actions { + float: right; + min-height: 2em; + padding: 1em 0; + text-align: left; + background-color: #fcfcfc; + width: 15em; } + #content .data-rows li.cell-nodata img, #content .data-rows li.cell-actions img { + width: 24px; + height: 24px; + margin: 0 0.5em; } +#content #resEventLog .data { + width: 100%; } +#content #resEventLog thead { + text-align: center; } +#content #resEventLog tbody { + width: 100%; + height: 500px; + overflow: auto; } +#content #resEventLog td { + border-bottom: 1px solid #d9d9d9; } +#content #resEventLog .cell { + text-align: center; } +#content #resEventLog .cell-description { + width: 60%; } +#content #searchbox { + background-color: #fcfcfc; + vertical-align: middle; + position: relative; + height: auto; + padding: .5em 1em; + margin-bottom: 2em; } + #content #searchbox form { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + text-align: left; } + #content #searchbox .search-filters > * { + margin: 0 .5em; } + #content #searchbox .search-filters .filter-buttons { + display: inline-block; } + #content #searchbox .search-filters .filter-slider { + width: 10em; } + #content #searchbox .search-filters-tags { + display: none; + flex-grow: 2; } +#content .btn-clear { + opacity: .35; + filter: alpha(opacity=35); } + #content .btn-clear:hover { + opacity: 1; + filter: alpha(opacity=100); } +#content .actions-optional { + display: none; } +#content .error { + width: 350px; + padding: 15px; + margin: 0 auto; + text-align: center; + font-size: 16px; + line-height: 1.5em; + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28; } + +#content .data .user-list-action, +#content .data .profile-list-action, +#box-popup .user-list-action, +#box-popup .profile-list-action { + width: 75%; + margin: 0 auto; } +#content .data .list-wrap, +#box-popup .list-wrap { + max-height: 20em; + overflow: auto; + padding: .5em; + margin: 1em 0; } + #content .data .list-wrap ul, + #box-popup .list-wrap ul { + list-style-type: none; + margin: 0; + padding: 0; } + #content .data .list-wrap li, + #box-popup .list-wrap li { + display: flex; + background: #f2f2f2; + padding: .5em; + font-size: 1em; + margin-bottom: .5em; } + #content .data .list-wrap li:hover, + #box-popup .list-wrap li:hover { + background: #e8eaf6; + color: #000; } + #content .data .list-wrap div.files-item-info, + #box-popup .list-wrap div.files-item-info { + flex-grow: 2; } + #content .data .list-wrap div.files-item-info img, + #box-popup .list-wrap div.files-item-info img { + margin: 0 .5em; } + #content .data .list-wrap div.files-item-actions, + #box-popup .list-wrap div.files-item-actions { + padding: .3em 0; } +#content .data .list-actions i, +#box-popup .list-actions i { + opacity: .5; } + #content .data .list-actions i:hover, + #box-popup .list-actions i:hover { + opacity: 1; } + +#box-popup { + width: -webkit-min-content; + width: -moz-min-content; + width: min-content; + min-width: 50em; + margin: 5em auto; + padding: 0; + background-color: #fff; } + #box-popup.box-password-view { + width: -webkit-min-content; + width: -moz-min-content; + width: min-content; + min-width: 30em; } + #box-popup > h2 { + position: relative; + width: 100%; + font-size: 18px; + color: #fff; + background-color: #607d8b; + margin: 0; + padding: .5em 0; + line-height: 1em; } + #box-popup > h2 .btn-popup-close { + display: none; + position: absolute; + right: .5em; + top: .2em; } + #box-popup > table { + width: 100%; + padding-bottom: 1em; } + #box-popup select { + width: 220px; } + #box-popup #resFancyAccion { + display: none; } + #box-popup #resCheck { + display: inline-block; + width: 80%; + height: 4em; + padding: 1em 0; } + #box-popup.image { + background-color: transparent; + max-width: 100%; + margin: 0 auto; + border-radius: 0 !important; + -moz-border-radius: 0 !important; + -webkit-border-radius: 0 !important; } + #box-popup.image img { + width: auto; + margin: 0 auto; } + #box-popup.image > div.title { + background-color: #607d8b; + color: #fff; + padding: .5em; } + #box-popup.help { + min-height: 100px; + background-color: #f5f5f5; } + #box-popup.help p { + font-size: 14px; + text-align: justify; + line-height: 2em; } + +#box-complexity > div { + text-align: justify; + line-height: 1.5em; + margin-top: 1em; } + +#box-upload-files > * { + margin: 0 auto; } + +#debug { + float: left; + text-align: left; } + +#debuginfo { + width: 100%; + min-height: 10em; + padding: 1em; + background-color: #fff8e1; + text-align: left; + line-height: 1.5em; } + #debuginfo H3 { + text-align: center; } + +.popup-data { + width: 100%; + min-width: 400px; + border: 0; + text-align: left; + margin: 0; + padding: 1em .5em; } + .popup-data .descField { + min-width: 100px; } + +footer { + display: flex; + justify-content: space-between; + position: fixed; + bottom: 0; + z-index: 100; + width: 100%; + padding: .5em 0; + background-color: #f5f5f5; + color: #b9b9b9; + font-size: 1em; + -webkit-box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); + box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); } + footer .footer-parts { + display: flex; + justify-content: space-between; } + footer #footer-left { + width: 50%; + margin: 0 1em; } + footer #footer-right { + width: 50%; + margin: 0 1em; + justify-content: flex-end; + text-align: right; } + footer #updates, footer #notices { + min-width: 5em; + text-align: center; + cursor: pointer; } + footer #notices .notices-title { + font-weight: bold; + border-bottom: 1px solid #c9c9c9; + margin-bottom: 1em; } + footer #status { + margin: 0 1em; } + footer #status > div { + display: inline-block; } + footer #status .status-info { + padding: 0.5em; } + footer #session { + text-align: left; + color: #999; + font-size: .8em; } + footer a { + color: #b9b9b9; } + footer a:visited { + color: #b9b9b9; } + footer #project a:hover { + color: #a9c1d7; + border-bottom: 1px solid #a9c1d7; } + footer #updates a:hover { + color: #a9c1d7; } + footer img { + border: 0; + width: 16px; + height: 16px; + vertical-align: middle; } + +.round, .round5 { + border-radius: 5px !important; + -moz-border-radius: 5px !important; + -webkit-border-radius: 5px !important; } + +.midround { + border-radius: 0 0 10px 10px !important; + -moz-border-radius: 0 0 10px 10px !important; + -webkit-border-radius: 0 0 10px 10px !important; } + +.midroundup { + border-radius: 10px 10px 0 0 !important; + -moz-border-radius: 10px 10px 0 0 !important; + -webkit-border-radius: 10px 10px 0 0 !important; } + +.fullround { + border-radius: 50% !important; + -moz-border-radius: 50% !important; + -webkit-border-radius: 50% !important; } + +.iconMini { + width: 16px !important; + height: 16px !important; + vertical-align: middle; } + +.hide { + display: none !important; } + +.btn-checks { + padding: 5px; + margin: .2em 0; + width: 30em; + border-bottom: 1px solid #c9c9c9; } + +.shadow { + -webkit-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.14); } + +.noRes { + width: 60%; + padding: 15px; + background-color: #f9f9f9; + color: #a9a9a9; + border: #c9c9c9 1px solid; + margin: 20px auto; + text-align: center; + font-size: 16px; } + +.header-grey { + background-color: #607d8b; + color: #fff; + min-height: 2em; } + +.no-background { + background: none !important; } + +.action-in-box { + padding: 1em; + text-align: right; } + .action-in-box ul { + list-style: none; + margin: 0; + padding: 0; } + +.tab-data { + margin: 2em auto 0; + width: 75%; } + +.item-actions { + display: flex; + justify-content: flex-end; + position: relative; + margin: 1em auto; } + .item-actions > div { + display: inline-block; } + +.tab-actions { + margin: 2em 0; } + +.item-actions > ul, +.tab-actions > ul { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + align-items: center; + list-style: none; + margin: 0; + padding: 0; } + .item-actions > ul > li, + .tab-actions > ul > li { + width: auto; + min-width: 2em; + margin-left: .5em; } + .item-actions > ul > li.datagrid-action-search, + .tab-actions > ul > li.datagrid-action-search { + min-width: 5em; } + .item-actions > ul > li.datagrid-action-search form, + .tab-actions > ul > li.datagrid-action-search form { + width: 100%; } + +h5.datagrid-header-title { + padding: .7em; + border-bottom: 1px solid #d9d9d9; } + +.fullWidth { + max-width: 100% !important; } + +.filter-on { + color: #26a69a; + background-color: #e0f2f1; + border: 1px solid #26a69a; + padding: .3em 1em; } + +.global-on { + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28; + padding: .3em 1em; } + +.opacity50 { + filter: alpha(opacity=50); + opacity: 0.5; } + +.custom-combobox { + position: relative; + display: inline-block; } + .custom-combobox input { + width: 80%; } + +.custom-combobox-toggle { + position: absolute; + top: 0; + bottom: 0; + margin-left: -1px; + padding: 0; + *height: 1.7em; + *top: 0.1em; } + +.custom-combobox-input { + margin: 0; + padding: 0.3em; } + +.password-level.strongest { + color: #26a69a; } +.password-level.strong { + color: #2196f3; } +.password-level.good { + color: #ffca28; } +.password-level.weak { + color: #ef5350; } + +#alert #alert-text { + margin: 15px auto; + font-size: 14px; + font-weight: bold; } +#alert #alert-pass { + width: 50%; + padding: 10px; + margin: 15px auto; + border: 1px solid #c9c9c9; + color: #555; + font-weight: bold; } + +.dialog-text, .dialog-user-text, .dialog-pass-text { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; + padding: .5em; + text-align: center; + min-width: 200px; } + +.dialog-user-text { + border-bottom: #d9d9d9 1px solid; + color: #a9a9a9; } + +.dialog-pass-text { + border: transparent 1px solid; + letter-spacing: .2em; } + +.dialog-button { + width: 150px; } + +.dialog-buttons { + text-align: center; + padding: .5em; + border-top: 1px solid #c9c9c9; + line-height: 2.5em; } + +.dialog-clip-copy { + color: #26a69a; + background-color: #e0f2f1; } + +.btn-help { + cursor: pointer; } + +.help-box { + display: none; + background-color: #fff !important; + color: #607d8b; } + .help-box > * { + font-weight: bold; } + +.help-container ul { + padding: 0 .5em; + list-style: none; } + .help-container ul li { + padding: .5em 0; } +.help-container .help-text { + text-align: justify; + line-height: 1.5em; + margin-top: 1em; } + +.tooltip { + width: 300px; + max-width: 300px; + background-color: #777; + color: #fff; + z-index: 101; } + +.tooltip-text { + padding: .5em; } + .tooltip-text .tooltip-header { + text-transform: capitalize; + font-weight: bold; + border-bottom: 1px solid #c9c9c9; } + +.cursor-pointer { + cursor: pointer; } + +.password-actions { + display: inline-block; + width: 12em; } + .password-actions > span, .password-actions i { + margin-right: 0.6em; } + +.form-control { + position: relative; } + .form-control .password-actions { + position: absolute; + right: 0; + padding: 20px; } + +.custom-input-color { + width: 3em; + height: 1em; + display: inline-block; } + +.account-pass-image { + height: 32px; + width: auto; } + +.select-box { + min-width: 300px; + max-width: 100%; } + +fieldset.warning { + padding: 8px; + border-radius: 5px; + color: #ef5350; + background-color: #ffebee; + border: 1px solid #ef5350; } + fieldset.warning legend { + color: #ef5350 !important; } + fieldset.warning a { + color: #ef5350 !important; + font-weight: bold; } + +#actions { + width: 100%; + /*margin: auto auto 50px;*/ + line-height: 2em; + margin-bottom: 5em; } + #actions #logo { + display: flex; + width: 100%; + margin-bottom: 30px; + color: #607d8b; + align-items: center; + background: url("public/images/logo_full_bg.png") left no-repeat; + background-size: auto 150px; + height: 150px; } + #actions #page-title { + width: 100%; + color: #607d8b; + text-align: center; } + #actions #page-title h1 { + font-weight: bold; + font-size: 24px; + letter-spacing: 3px; } + #actions ul.errors { + max-width: 40vw; + margin: 0 auto; + list-style: none; + font-size: 14px; + text-align: left; } + #actions ul.errors > li { + margin: 1.5em auto; + border-radius: 3px; + padding: 1em 0.5em; } + #actions ul.errors > li.msg-critical { + color: #ef5350; + background-color: #ffebee; + border: 1px solid #ef5350; } + #actions ul.errors > li.msg-warning { + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28; + color: #555; } + #actions ul.errors > li.msg-ok { + color: #26a69a; + background-color: #e0f2f1; + border: 1px solid #26a69a; } + #actions ul.errors > li > p.hint { + color: #555; + font-size: 12px; } + #actions ul.errors > li > p.hint i { + margin-right: .5em; } + #actions form { + width: 450px; + margin: 0 auto; + text-align: left; } + #actions form fieldset { + margin-bottom: 2em; } + #actions form fieldset legend { + width: 100%; + color: #fff; + font-size: 14px; + font-weight: bold; + text-align: center; + background-color: #607d8b; + margin: 1em 0; + letter-spacing: .2em; + padding: 0.2em 0; } + #actions div.buttons { + margin-top: 2em; + text-align: center; } + +.center { + text-align: center !important; } + +.right { + text-align: right !important; } + +.left { + text-align: left !important; } + +.opacity50 { + opacity: .5 !important; } + +.msg-option-unvailable { + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28; + border: none; + padding: .5em; + text-align: center; + margin: 1em 0; + font-size: 1.5em; } + +div.tag-list-box { + margin-bottom: 1em; } + div.tag-list-box .tag-list-header { + text-align: left; + border-bottom: 1px solid #d9d9d9; + color: #607d8b; + font-size: 12px; + font-weight: bold; + margin-bottom: .5em; } + div.tag-list-box .tag-list-body .tags-list-items { + display: inline-block; + padding: .5em; + width: 95%; + height: 3em; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + border-radius: 3px !important; + -moz-border-radius: 3px !important; + -webkit-border-radius: 3px !important; } + div.tag-list-box i.select-icon { + margin-right: .5em; + color: #607d8b; + font-size: 18px; } + +div.tag-list-box span.tag, div.tags-box span.tag { + margin: 0 3px 3px 0; + padding: 3px; + background: #5c6bc0; + color: #fff; + border: none; + border-radius: 3px !important; + -moz-border-radius: 3px !important; + -webkit-border-radius: 3px !important; } + +#box-pub-noheader #box-login { + position: relative; + min-height: 14em; } + #box-pub-noheader #box-login #box-buttons { + position: absolute; + top: 2em; + right: 2em; } + #box-pub-noheader #box-login #box-actions { + width: 100%; + text-align: right; } + #box-pub-noheader #box-login #box-actions a { + color: #c9c9c9; } +#box-pub-noheader #box-updated { + width: 350px; + margin: 3em auto; + font-size: 14px; + text-align: center; + padding: 0.5em; + color: #26a69a; + background-color: #e0f2f1; + border: 1px solid #26a69a; } +#box-pub-noheader #demo-info { + padding: .5em; + margin: 3em auto 0 auto; + color: #c9c9c9; + border-top: 1px solid #d9d9d9; + border-bottom: 1px solid #d9d9d9; } + #box-pub-noheader #demo-info ul { + display: flex; + justify-content: space-around; + list-style: none; } + #box-pub-noheader #demo-info ul li > span { + padding: 0 1em; } + +@media screen and (max-width: 600px) { + #box-pub-noheader #box-login #box-buttons { + position: relative; + top: 0; + right: 0; + text-align: right; } + #box-pub-noheader #box-login #box-actions { + margin-top: 1em; } + #box-pub-noheader #demo-info ul { + display: flex; + flex-direction: column; + align-items: center; + list-style: none; } + #box-pub-noheader #demo-info ul li { + width: 11em; + text-align: left; } + #box-pub-noheader #demo-info ul li > span { + padding: 0 1em; } } +/* Default styles first then media queries */ +/*@media screen and (min-width: 400px) {}*/ +/*@media screen and (min-width: 600px) {}*/ +/*@media screen and (min-width: 1000px) {}*/ +/*@media screen and (min-width: 1400px) {}*/ +@media screen and (max-width: 1000px) { + #content #searchbox .search-filters > * { + margin: .5em 1em .5em 0; } + + footer { + display: none; + justify-content: space-between; + flex-wrap: wrap; } + footer .footer-parts { + justify-content: space-between; + flex-wrap: wrap; } + footer #footer-left, footer #footer-right { + width: 100%; } + footer .footer-parts > div { + width: 100%; + padding: .5em 0; } } +@media screen and (max-width: 600px) { + #content input, #box-popup input { + width: 100%; } + #content .mdl-textfield, #box-popup .mdl-textfield { + width: 100%; } + #content td.descField, #box-popup td.descField { + display: none; } + #content td.valField .lowres-title, #box-popup td.valField .lowres-title { + display: block; } + + #content #searchbox .mdl-textfield { + width: 90%; } + #content #searchbox .search-text { + width: 90%; } + #content #searchbox .search-filters .selectize-control { + width: 100%; } + #content .data-header-minimal li.search-filter-spacer { + display: none; } + #content .data-container, #content .tab-data { + width: 100%; } + #content .data-container .selectize-control, #content .tab-data .selectize-control { + width: 100%; } + #content .mdl-tabs__tab-bar { + flex-wrap: wrap; + height: auto; } + #content .pager { + flex-direction: column-reverse; } + #content .pager > div { + text-align: center; + width: 100%; } + + #box-popup h2 > .btn-popup-close { + display: inline-block; } + + #actions ul.errors { + max-width: 90vw; } + + .mdl-data-table { + table-layout: fixed; + width: 100%; } + + .table-responsive td, .table-responsive th { + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; } + .table-responsive .cell-actions i { + display: block !important; } } + +/*# sourceMappingURL=styles.css.map */ diff --git a/app/modules/web/themes/material-dark/css/styles.css.map b/app/modules/web/themes/material-dark/css/styles.css.map new file mode 100644 index 000000000..ce91de079 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["_elements.scss","_base.scss","_noheader.scss","styles.scss","_login.scss"], +"names": [], +"file": "styles.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/styles.min.css b/app/modules/web/themes/material-dark/css/styles.min.css new file mode 100644 index 000000000..b1eca9568 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles.min.css @@ -0,0 +1,1833 @@ +html, +body { + margin: 0; + padding: 0; + text-align: left; + background-color: #0D1117; + color: #555; + font-size: 12px; + font-weight: normal; + box-sizing: border-box; + max-width: 100% +} + +* { + font-family: "Roboto Regular", Verdana, Tahoma, sans-serif; + box-sizing: inherit +} + +*:before, +*:after { + box-sizing: inherit +} + +table { + font-size: 11px; + border-spacing: 0 +} + +table th { + border-bottom: 2px solid transparent; + vertical-align: middle +} + +table th .icon { + width: 24px; + height: 24px +} + +table tr { + height: 20px +} + +table tr.odd { + background-color: #f9f9f9 +} + +table tr.even>td, +table tr.odd>td { + border-bottom: 1px solid #d9d9d9 !important +} + +table tr.even:hover, +table tr.odd:hover { + background-color: #e8ff99 +} + +table td { + padding: 3px +} + +table td.txtCliente { + font-weight: bold; + text-align: center +} + +form { + font-size: 11px; + margin: 0 +} + +input.inputImg, +img.inputImg { + background-color: transparent !important; + width: 24px !important; + height: 24px !important; + border: 0; + vertical-align: middle; + margin: 0 .5em +} + +input.txtFile { + width: 200px +} + +input.txtLong { + width: 300px +} + +textarea { + width: 350px +} + +select.files { + width: 250px +} + +input.spinner { + width: 5em +} + +img { + margin: 0; + padding: 0; + border: 0; + cursor: pointer +} + +img.inputImgMini { + background-color: transparent !important; + width: 16px !important; + height: 16px !important; + margin: 0 5px 0 5px; + border: 0; + vertical-align: middle +} + +i { + cursor: pointer +} + +form .form-field { + display: flex; + justify-content: space-between +} + +form .form-field>label { + min-width: 12em; + padding: .5em 0; + font-size: 16px; + align-self: center +} + +form .form-field>div { + width: 100%; + align-self: center +} + +a { + text-decoration: none; + color: #536dfe +} + +a:visited { + text-decoration: none; + color: #536dfe +} + +a:hover, +a:active, +a:focus { + text-decoration: none; + cursor: pointer +} + +pre, +code, +samp, +kbd { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; + font-size: 1em; + direction: ltr; + text-align: left; + background-color: #fbfaf9; + color: #333; + box-shadow: inset 0 0 .3em #ccc; + border-radius: 2px +} + +body.login, +body.logout, +body.userpassreset { + background: #0D1117 +} + +body.login #wrap, +body.logout #wrap, +body.userpassreset #wrap { + background: transparent +} + +body.login #container, +body.logout #container, +body.userpassreset #container { + padding-top: 5% +} + +body.login footer, +body.logout footer, +body.userpassreset footer { + background: #78909c +} + +body.login footer a, +body.logout footer a, +body.userpassreset footer a { + color: #f2f2f2 +} + +#box-pub-noheader { + background: transparent url("public/images/logo_full_nobg_outline.png") no-repeat top center; + background-size: 75% auto; + width: 40em; + min-height: 20em; + margin: 0 auto +} + +#box-pub-noheader>div { + width: 100%; + padding: 1em; + margin: 0 auto +} + +#box-pub-noheader .box-spacer { + height: 15em; + background-color: transparent +} + +#box-pub-noheader .box-header { + width: 100%; + color: #f2f2f2; + font-size: 16px; + font-weight: bold; + text-align: center; + margin: 1em 0; + letter-spacing: .1em; + padding: .2em 0 +} + +#box-pub-noheader .box-form { + -moz-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2); + background-color: #161B22 +} + +#box-pub-noheader .box-form form fieldset#box-data { + height: 100%; + min-height: 14em; + text-align: left; + background-color: transparent; + margin-bottom: 2em +} + +#box-pub-noheader .box-form form fieldset#box-data legend { + width: 100%; + color: #607d8b; + font-size: 14px; + font-weight: bold; + text-align: center; + margin: 1em 0; + letter-spacing: .1em; + padding: .2em 0 +} + +#box-pub-noheader .box-form form fieldset#box-data .form-control>i { + margin-right: .5em; + opacity: .5 +} + +#box-pub-noheader .box-form form fieldset#box-data .extra-hidden { + display: none +} + +#box-pub-noheader .box-form div#box-buttons { + margin-top: 2em; + text-align: center +} + +@media screen and (max-width:600px) { + #box-pub-noheader { + width: 25em + } + #box-pub-noheader .box-spacer { + height: 10em + } + #box-pub-noheader form fieldset#box-data .mdl-textfield { + width: 100% + } +} + +#nojs { + width: 80%; + text-align: center; + vertical-align: middle; + margin: 10px auto; + padding: 3px; + background-color: #ef5350; + color: white; + font-weight: bold; + font-size: 14px +} + +#wrap { + height: auto !important; + min-height: 100%; + width: 100%; + background-color: #0D1117; + padding-bottom: 5em +} + +#wrap-loading { + position: fixed; + z-index: 9999; + top: 50%; + left: 50%; + padding: 1em; + background-color: #0D1117; + display: none; + border-radius: 5px !important; + -moz-border-radius: 5px !important; + -webkit-border-radius: 5px !important +} + +#wrap-loading.overlay-full { + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, 0.5) +} + +#wrap-loading.overlay-full #loading { + position: absolute; + top: 50%; + left: 50% +} + +#wrap-loading.overlay-full #taskStatus { + display: none +} + +#wrap-loading #taskStatus { + display: none; + position: absolute; + left: 0; + top: 55%; + width: 100%; + text-align: center; + color: white; + background-color: rgba(0, 0, 0, 0.5); + padding: 1em 0 +} + +#container { + margin: auto; + width: 100% +} + +#container.error, +#container.install { + width: 100% +} + +#container .logo { + height: 64px +} + +#container #actions-bar { + z-index: 100; + display: flex; + justify-content: space-between; + position: fixed; + border: 0 none; + top: 0; + left: 0; + width: 100%; + padding: 1em 0; + background-color: transparent +} + +#container #actions-bar-icons { + flex-grow: 1; + text-align: center +} + +#container #actions-bar-logo { + display: none; + padding: 0 .5em +} + +#container #actions-bar-logo img { + display: inline-block; + width: 50px; + opacity: .75 +} + +#container #content { + width: 95%; + margin: 2em auto 8em auto +} + +#container #content.public-link { + width: 70%; + min-height: 0; + margin: 5em auto +} + +#content td.descField, +#box-popup td.descField { + text-align: right; + padding-right: 20px; + width: 25%; + border-right: 1px solid #13181E; + color: #999; + font-size: 12px; + font-weight: bold +} + +#content td.valField, +#box-popup td.valField { + padding-left: 1em; + width: 100% +} + +#content td.valField .lowres-title, +#box-popup td.valField .lowres-title { + display: none; + width: 100%; + color: #607d8b; + font-size: 12px +} + +#content td.valField .notification-description, +#box-popup td.valField .notification-description { + font-size: 16px; + max-width: 100% +} + +#content td.valField .notification-description .event-description, +#content td.valField .notification-description .event-details, +#box-popup td.valField .notification-description .event-description, +#box-popup td.valField .notification-description .event-details { + padding: .5em 0 +} + +#content td.valField .notification-description .event-description, +#box-popup td.valField .notification-description .event-description { + color: #5c6bc0; + border-bottom: 1px solid #e9e9e9 +} + +#content td.valField .notification-description .event-details .detail, +#box-popup td.valField .notification-description .event-details .detail { + display: flex; + padding: .2em 0 +} + +#content td.valField .notification-description .event-details .detail .detail-left, +#box-popup td.valField .notification-description .event-details .detail .detail-left { + flex: none; + width: 8em; + font-weight: bold +} + +#content td.valField .notification-description .event-details .detail .detail-right, +#box-popup td.valField .notification-description .event-details .detail .detail-right { + flex-grow: 1 +} + +#content .pager { + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + justify-content: space-between; + align-content: space-between; + flex-wrap: wrap; + width: 100%; + margin-top: 15px; + padding: .5em; + font-size: 11px; + color: #999; + background-color: #161B22 +} + +#content .pager img { + margin-left: 5px; + vertical-align: middle +} + +#content .pager a { + margin-left: 5px; + font-size: 12px; + color: #999 +} + +#content #title { + width: 100%; + padding: 7px; + background-color: #161B22; + color: #fff; + font-size: 17px; + letter-spacing: .2em +} + +#content #title.titleNormal { + background-color: #161B22; + color: #c9c9c9; +} + +#content .data-container { + width: 75%; + margin: 0 auto +} + +#content fieldset.data { + margin: 2em auto +} + +#content fieldset.data>legend { + color: #607d8b; + padding: 0 .5em; + font-size: 1.5em +} + +#content fieldset.data>div { + display: none +} + +#content fieldset.data>div table { + width: 100% +} + +#content .data { + width: 100%; + padding: 10px; + margin: 0 auto; + background-color: #161B22; + -webkit-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.14) +} + +#content .data #history-icon { + position: relative; + top: 5em; + right: 2em +} + +#content .data td { + text-align: left +} + +#content .data td.descField { + text-align: right +} + +#content .data select { + min-width: 210px +} + +#content .data .list-wrap { + max-height: 10em; + overflow: auto; + padding: .5em; + margin: 1em 0 +} + +#content .data .dropzone { + width: 100%; + padding: 1em; + border: 2px dashed #26a69a; + text-align: center; + opacity: .3 +} + +#content .data .dropzone:hover { + opacity: 1 +} + +#content .data .dropzone img { + vertical-align: middle +} + +#content .data .file-upload { + display: none +} + +#content .data .account-permissions { + width: 100% +} + +#content .extra-info { + margin-top: 20px +} + +#content #tabs fieldset { + border: 1px solid #c9c9c9 +} + +#content #tabs #frmConfig label { + float: left +} + +#content .tblConfig { + margin-bottom: 2em +} + +#content .tblConfig td.descField { + width: 35%; + font-size: 11px; + font-weight: bold +} + +#content .tblConfig td.rowHeader { + padding: 5px 0 5px 0; + background-color: #f5f5f5; + text-align: center; + font-weight: bold; + border-top: 15px solid #f9f9f9; + border-bottom: 3px solid #a9c1d7; + letter-spacing: .5em; + color: #696969 +} + +#content .tblConfig input.checkbox { + width: 15px; + text-align: left; + padding: 0 +} + +#content .tblConfig .option-disabled { + text-align: center; + background-color: #fff8e1; + color: #ffca28; + font-weight: bold +} + +#content h2 { + width: 100%; + height: 1.5em; + font-size: 18px; + color: white; + background-color: #a9c1d7; + margin: 0; + padding-top: .1em +} + +#content .section { + margin-top: 2.5em; + border-bottom: 1px solid #d9d9d9; + text-align: left; + font-size: 14px; + font-weight: bold; + color: #5c6bc0 +} + +#content .row_even>td { + background-color: #f5f5f5 +} + +#content .row_odd>td { + background-color: white +} + +#content .data-header ul { + list-style: none; + width: 100%; + margin: 0 0 10px 0; + padding: 0 +} + +#content .data-header li { + display: inline-block; + padding: .2em .5em; + font-weight: bold; + letter-spacing: .2em; + color: #fff; + text-align: center +} + +#content .data-header li a { + color: #777 +} + +#content .data-header li img { + float: right; + width: 24px; + height: 24px; + vertical-align: middle +} + +#content .data-header-minimal { + border-bottom: 1px solid #dfdfdf +} + +#content .data-header-minimal ul { + display: flex; + flex-flow: row; + flex-wrap: wrap; + align-content: flex-start; + justify-content: space-around; + margin: 0 +} + +#content .data-header-minimal li { + min-width: 10em; + font-weight: normal; + letter-spacing: normal +} + +#content .data-header-minimal li a { + color: #b9b9b9; + padding: .3em .8em +} + +#content .data-header-minimal li.search-filter-spacer { + flex: 0 0 18em +} + +#content .data-table { + width: 100% +} + +#content .data-table td:first-of-type, +#content .data-table th:first-of-type { + width: 5em +} + +#content .data-table thead th { + background-color: #161B22; + color: #c9c9c9; +} + +#content .data-table tbody td.cell-data { + text-align: left +} + +#content .data-table tbody td.cell-nodata { + padding: 0 .5em; + text-align: left +} + +#content .data-table tbody td.cell-actions { + text-align: right +} + +#content .data-table tbody td.cell-actions i { + opacity: .5 +} + +#content .data-table tbody td.cell-actions i:hover { + opacity: 1 +} + +#content .data-rows ul { + display: table; + list-style: none; + width: 100%; + margin: 0 0 10px 0; + padding: 0; + background-color: #fcfcfc +} + +#content .data-rows li { + float: left; + display: block; + padding: 1em; + color: #696969; + text-align: center; + min-height: 2em +} + +#content .data-rows li.cell-nodata { + padding: 1em 0; + min-height: 2em; + text-align: left +} + +#content .data-rows li.cell-actions { + float: right; + min-height: 2em; + padding: 1em 0; + text-align: left; + background-color: #fcfcfc; + width: 15em +} + +#content .data-rows li.cell-nodata img, +#content .data-rows li.cell-actions img { + width: 24px; + height: 24px; + margin: 0 .5em +} + +#content #resEventLog .data { + width: 100% +} + +#content #resEventLog thead { + text-align: center +} + +#content #resEventLog tbody { + width: 100%; + height: 500px; + overflow: auto +} + +#content #resEventLog td { + border-bottom: 1px solid #d9d9d9 +} + +#content #resEventLog .cell { + text-align: center +} + +#content #resEventLog .cell-description { + width: 60% +} + +#content #searchbox { + background-color: #161B22; + vertical-align: middle; + position: relative; + height: auto; + padding: .5em 1em; + margin-bottom: 2em +} + +#content #searchbox form { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + text-align: left +} + +#content #searchbox .search-filters>* { + margin: 0 .5em +} + +#content #searchbox .search-filters .filter-buttons { + display: inline-block +} + +#content #searchbox .search-filters .filter-slider { + width: 10em +} + +#content #searchbox .search-filters-tags { + display: none; + flex-grow: 2 +} + +#content .btn-clear { + opacity: .35; + filter: alpha(opacity=35) +} + +#content .btn-clear:hover { + opacity: 1; + filter: alpha(opacity=100) +} + +#content .actions-optional { + display: none +} + +#content .error { + width: 350px; + padding: 15px; + margin: 0 auto; + text-align: center; + font-size: 16px; + line-height: 1.5em; + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28 +} + +#content .data .user-list-action, +#content .data .profile-list-action, +#box-popup .user-list-action, +#box-popup .profile-list-action { + width: 75%; + margin: 0 auto +} + +#content .data .list-wrap, +#box-popup .list-wrap { + max-height: 20em; + overflow: auto; + padding: .5em; + margin: 1em 0 +} + +#content .data .list-wrap ul, +#box-popup .list-wrap ul { + list-style-type: none; + margin: 0; + padding: 0 +} + +#content .data .list-wrap li, +#box-popup .list-wrap li { + display: flex; + background: #f2f2f2; + padding: .5em; + font-size: 1em; + margin-bottom: .5em +} + +#content .data .list-wrap li:hover, +#box-popup .list-wrap li:hover { + background: #e8eaf6; + color: #000 +} + +#content .data .list-wrap div.files-item-info, +#box-popup .list-wrap div.files-item-info { + flex-grow: 2 +} + +#content .data .list-wrap div.files-item-info img, +#box-popup .list-wrap div.files-item-info img { + margin: 0 .5em +} + +#content .data .list-wrap div.files-item-actions, +#box-popup .list-wrap div.files-item-actions { + padding: .3em 0 +} + +#content .data .list-actions i, +#box-popup .list-actions i { + opacity: .5 +} + +#content .data .list-actions i:hover, +#box-popup .list-actions i:hover { + opacity: 1 +} + +#box-popup { + width: -webkit-min-content; + width: -moz-min-content; + width: min-content; + min-width: 50em; + margin: 5em auto; + padding: 0; + background-color: #161B22; +} + +#box-popup.box-password-view { + width: -webkit-min-content; + width: -moz-min-content; + width: min-content; + min-width: 30em +} + +#box-popup>h2 { + position: relative; + width: 100%; + font-size: 18px; + color: #c9c9c9; + background-color: #0D1117; + margin: 0; + padding: .5em 0; + line-height: 1em +} + +#box-popup>h2 .btn-popup-close { + display: none; + position: absolute; + right: .5em; + top: .2em +} + +#box-popup>table { + width: 100%; + padding-bottom: 1em +} + +#box-popup select { + width: 220px +} + +#box-popup #resFancyAccion { + display: none +} + +#box-popup #resCheck { + display: inline-block; + width: 80%; + height: 4em; + padding: 1em 0 +} + +#box-popup.image { + background-color: transparent; + max-width: 100%; + margin: 0 auto; + border-radius: 0 !important; + -moz-border-radius: 0 !important; + -webkit-border-radius: 0 !important +} + +#box-popup.image img { + width: auto; + margin: 0 auto +} + +#box-popup.image>div.title { + background-color: #607d8b; + color: #fff; + padding: .5em +} + +#box-popup.help { + min-height: 100px; + background-color: #f5f5f5 +} + +#box-popup.help p { + font-size: 14px; + text-align: justify; + line-height: 2em +} + +#box-complexity>div { + text-align: justify; + line-height: 1.5em; + margin-top: 1em +} + +#box-upload-files>* { + margin: 0 auto +} + +#debug { + float: left; + text-align: left +} + +#debuginfo { + width: 100%; + min-height: 10em; + padding: 1em; + background-color: #fff8e1; + text-align: left; + line-height: 1.5em +} + +#debuginfo H3 { + text-align: center +} + +.popup-data { + width: 100%; + min-width: 400px; + border: 0; + text-align: left; + margin: 0; + padding: 1em .5em +} + +.popup-data .descField { + min-width: 100px +} + +footer { + display: flex; + justify-content: space-between; + position: fixed; + bottom: 0; + z-index: 100; + width: 100%; + padding: .5em 0; + background-color: #161B22; + color: #b9b9b9; + font-size: 1em; + -webkit-box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14); + box-shadow: 0 -3px 2px -2px rgba(0, 0, 0, 0.14) +} + +footer .footer-parts { + display: flex; + justify-content: space-between +} + +footer #footer-left { + width: 50%; + margin: 0 1em +} + +footer #footer-right { + width: 50%; + margin: 0 1em; + justify-content: flex-end; + text-align: right +} + +footer #updates, +footer #notices { + min-width: 5em; + text-align: center; + cursor: pointer +} + +footer #notices .notices-title { + font-weight: bold; + border-bottom: 1px solid #c9c9c9; + margin-bottom: 1em +} + +footer #status { + margin: 0 1em +} + +footer #status>div { + display: inline-block +} + +footer #status .status-info { + padding: .5em +} + +footer #session { + text-align: left; + color: #999; + font-size: .8em +} + +footer a { + color: #b9b9b9 +} + +footer a:visited { + color: #b9b9b9 +} + +footer #project a:hover { + color: #a9c1d7; + border-bottom: 1px solid #a9c1d7 +} + +footer #updates a:hover { + color: #a9c1d7 +} + +footer img { + border: 0; + width: 16px; + height: 16px; + vertical-align: middle +} + +.round, +.round5 { + border-radius: 5px !important; + -moz-border-radius: 5px !important; + -webkit-border-radius: 5px !important +} + +.midround { + border-radius: 0 0 10px 10px !important; + -moz-border-radius: 0 0 10px 10px !important; + -webkit-border-radius: 0 0 10px 10px !important +} + +.midroundup { + border-radius: 10px 10px 0 0 !important; + -moz-border-radius: 10px 10px 0 0 !important; + -webkit-border-radius: 10px 10px 0 0 !important +} + +.fullround { + border-radius: 50% !important; + -moz-border-radius: 50% !important; + -webkit-border-radius: 50% !important +} + +.iconMini { + width: 16px !important; + height: 16px !important; + vertical-align: middle +} + +.hide { + display: none !important +} + +.btn-checks { + padding: 5px; + margin: .2em 0; + width: 30em; + border-bottom: 1px solid #c9c9c9 +} + +.shadow { + -webkit-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 2px 2px 3px -3px rgba(0, 0, 0, 0.14); + box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.14) +} + +.noRes { + width: 60%; + padding: 15px; + background-color: #0D1117; + color: #a9a9a9; + border: #0D1117 1px solid; + margin: 20px auto; + text-align: center; + font-size: 16px +} + +.header-grey { + background-color: #607d8b; + color: #fff; + min-height: 2em +} + +.no-background { + background: none !important +} + +.action-in-box { + padding: 1em; + text-align: right +} + +.action-in-box ul { + list-style: none; + margin: 0; + padding: 0 +} + +.tab-data { + margin: 2em auto 0; + width: 75% +} + +.item-actions { + display: flex; + justify-content: flex-end; + position: relative; + margin: 1em auto +} + +.item-actions>div { + display: inline-block +} + +.tab-actions { + margin: 2em 0 +} + +.item-actions>ul, +.tab-actions>ul { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + align-items: center; + list-style: none; + margin: 0; + padding: 0 +} + +.item-actions>ul>li, +.tab-actions>ul>li { + width: auto; + min-width: 2em; + margin-left: .5em +} + +.item-actions>ul>li.datagrid-action-search, +.tab-actions>ul>li.datagrid-action-search { + min-width: 5em +} + +.item-actions>ul>li.datagrid-action-search form, +.tab-actions>ul>li.datagrid-action-search form { + width: 100% +} + +h5.datagrid-header-title { + padding: .7em; + border-bottom: 1px solid #161B22; +} + +.fullWidth { + max-width: 100% !important +} + +.filter-on { + color: #26a69a; + background-color: #e0f2f1; + border: 1px solid #26a69a; + padding: .3em 1em +} + +.global-on { + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28; + padding: .3em 1em +} + +.opacity50 { + filter: alpha(opacity=50); + opacity: .5 +} + +.custom-combobox { + position: relative; + display: inline-block +} + +.custom-combobox input { + width: 80% +} + +.custom-combobox-toggle { + position: absolute; + top: 0; + bottom: 0; + margin-left: -1px; + padding: 0; + *height: 1.7em; + *top: .1em +} + +.custom-combobox-input { + margin: 0; + padding: .3em +} + +.password-level.strongest { + color: #26a69a +} + +.password-level.strong { + color: #2196f3 +} + +.password-level.good { + color: #ffca28 +} + +.password-level.weak { + color: #ef5350 +} + +#alert #alert-text { + margin: 15px auto; + font-size: 14px; + font-weight: bold +} + +#alert #alert-pass { + width: 50%; + padding: 10px; + margin: 15px auto; + border: 1px solid #c9c9c9; + color: #555; + font-weight: bold +} + +.dialog-text, +.dialog-user-text, +.dialog-pass-text { + font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace; + padding: .5em; + text-align: center; + min-width: 200px +} + +.dialog-user-text { + border-bottom: #d9d9d9 1px solid; + color: #a9a9a9 +} + +.dialog-pass-text { + border: transparent 1px solid; + letter-spacing: .2em +} + +.dialog-button { + width: 150px +} + +.dialog-buttons { + text-align: center; + padding: .5em; + border-top: 1px solid #c9c9c9; + line-height: 2.5em +} + +.dialog-clip-copy { + color: #26a69a; + background-color: #e0f2f1 +} + +.btn-help { + cursor: pointer +} + +.help-box { + display: none; + background-color: #fff !important; + color: #607d8b +} + +.help-box>* { + font-weight: bold +} + +.help-container ul { + padding: 0 .5em; + list-style: none +} + +.help-container ul li { + padding: .5em 0 +} + +.help-container .help-text { + text-align: justify; + line-height: 1.5em; + margin-top: 1em +} + +.tooltip { + width: 300px; + max-width: 300px; + background-color: #777; + color: #fff; + z-index: 101 +} + +.tooltip-text { + padding: .5em +} + +.tooltip-text .tooltip-header { + text-transform: capitalize; + font-weight: bold; + border-bottom: 1px solid #c9c9c9 +} + +.cursor-pointer { + cursor: pointer +} + +.password-actions { + display: inline-block; + width: 12em +} + +.password-actions>span, +.password-actions i { + margin-right: .6em +} + +.form-control { + position: relative +} + +.form-control .password-actions { + position: absolute; + right: 0; + padding: 20px +} + +.custom-input-color { + width: 3em; + height: 1em; + display: inline-block +} + +.account-pass-image { + height: 32px; + width: auto +} + +.select-box { + min-width: 300px; + max-width: 100% +} + +fieldset.warning { + padding: 8px; + border-radius: 5px; + color: #ef5350; + background-color: #ffebee; + border: 1px solid #ef5350 +} + +fieldset.warning legend { + color: #ef5350 !important +} + +fieldset.warning a { + color: #ef5350 !important; + font-weight: bold +} + +#actions { + width: 100%; + line-height: 2em; + margin-bottom: 5em +} + +#actions #logo { + display: flex; + width: 100%; + margin-bottom: 30px; + color: #607d8b; + align-items: center; + background: url("public/images/logo_full_bg.png") left no-repeat; + background-size: auto 150px; + height: 150px +} + +#actions #page-title { + width: 100%; + color: #607d8b; + text-align: center +} + +#actions #page-title h1 { + font-weight: bold; + font-size: 24px; + letter-spacing: 3px +} + +#actions ul.errors { + max-width: 40vw; + margin: 0 auto; + list-style: none; + font-size: 14px; + text-align: left +} + +#actions ul.errors>li { + margin: 1.5em auto; + border-radius: 3px; + padding: 1em .5em +} + +#actions ul.errors>li.msg-critical { + color: #ef5350; + background-color: #ffebee; + border: 1px solid #ef5350 +} + +#actions ul.errors>li.msg-warning { + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28; + color: #555 +} + +#actions ul.errors>li.msg-ok { + color: #26a69a; + background-color: #e0f2f1; + border: 1px solid #26a69a +} + +#actions ul.errors>li>p.hint { + color: #555; + font-size: 12px +} + +#actions ul.errors>li>p.hint i { + margin-right: .5em +} + +#actions form { + width: 450px; + margin: 0 auto; + text-align: left +} + +#actions form fieldset { + margin-bottom: 2em +} + +#actions form fieldset legend { + width: 100%; + color: #fff; + font-size: 14px; + font-weight: bold; + text-align: center; + background-color: #607d8b; + margin: 1em 0; + letter-spacing: .2em; + padding: .2em 0 +} + +#actions div.buttons { + margin-top: 2em; + text-align: center +} + +.center { + text-align: center !important +} + +.right { + text-align: right !important +} + +.left { + text-align: left !important +} + +.opacity50 { + opacity: .5 !important +} + +.msg-option-unvailable { + color: #ffca28; + background-color: #fff8e1; + border: 1px solid #ffca28; + border: 0; + padding: .5em; + text-align: center; + margin: 1em 0; + font-size: 1.5em +} + +div.tag-list-box { + margin-bottom: 1em +} + +div.tag-list-box .tag-list-header { + text-align: left; + border-bottom: 1px solid #d9d9d9; + color: #607d8b; + font-size: 12px; + font-weight: bold; + margin-bottom: .5em +} + +div.tag-list-box .tag-list-body .tags-list-items { + display: inline-block; + padding: .5em; + width: 95%; + height: 3em; + border-bottom: 1px solid rgba(0, 0, 0, 0.12); + border-radius: 3px !important; + -moz-border-radius: 3px !important; + -webkit-border-radius: 3px !important +} + +div.tag-list-box i.select-icon { + margin-right: .5em; + color: #607d8b; + font-size: 18px +} + +div.tag-list-box span.tag, +div.tags-box span.tag { + margin: 0 3px 3px 0; + padding: 3px; + background: #5c6bc0; + color: #fff; + border: 0; + border-radius: 3px !important; + -moz-border-radius: 3px !important; + -webkit-border-radius: 3px !important +} + +#box-pub-noheader #box-login { + position: relative; + min-height: 14em +} + +#box-pub-noheader #box-login #box-buttons { + position: absolute; + top: 2em; + right: 2em +} + +#box-pub-noheader #box-login #box-actions { + width: 100%; + text-align: right +} + +#box-pub-noheader #box-login #box-actions a { + color: #c9c9c9 +} + +#box-pub-noheader #box-updated { + width: 350px; + margin: 3em auto; + font-size: 14px; + text-align: center; + padding: .5em; + color: #26a69a; + background-color: #e0f2f1; + border: 1px solid #26a69a +} + +#box-pub-noheader #demo-info { + padding: .5em; + margin: 3em auto 0 auto; + color: #c9c9c9; + border-top: 1px solid #d9d9d9; + border-bottom: 1px solid #d9d9d9 +} + +#box-pub-noheader #demo-info ul { + display: flex; + justify-content: space-around; + list-style: none +} + +#box-pub-noheader #demo-info ul li>span { + padding: 0 1em +} + +@media screen and (max-width:600px) { + #box-pub-noheader #box-login #box-buttons { + position: relative; + top: 0; + right: 0; + text-align: right + } + #box-pub-noheader #box-login #box-actions { + margin-top: 1em + } + #box-pub-noheader #demo-info ul { + display: flex; + flex-direction: column; + align-items: center; + list-style: none + } + #box-pub-noheader #demo-info ul li { + width: 11em; + text-align: left + } + #box-pub-noheader #demo-info ul li>span { + padding: 0 1em + } +} + +@media screen and (max-width:1000px) { + #content #searchbox .search-filters>* { + margin: .5em 1em .5em 0 + } + footer { + display: none; + justify-content: space-between; + flex-wrap: wrap + } + footer .footer-parts { + justify-content: space-between; + flex-wrap: wrap + } + footer #footer-left, + footer #footer-right { + width: 100% + } + footer .footer-parts>div { + width: 100%; + padding: .5em 0 + } +} + +@media screen and (max-width:600px) { + #content input, + #box-popup input { + width: 100% + } + #content .mdl-textfield, + #box-popup .mdl-textfield { + width: 100% + } + #content td.descField, + #box-popup td.descField { + display: none + } + #content td.valField .lowres-title, + #box-popup td.valField .lowres-title { + display: block + } + #content #searchbox .mdl-textfield { + width: 90% + } + #content #searchbox .search-text { + width: 90% + } + #content #searchbox .search-filters .selectize-control { + width: 100% + } + #content .data-header-minimal li.search-filter-spacer { + display: none + } + #content .data-container, + #content .tab-data { + width: 100% + } + #content .data-container .selectize-control, + #content .tab-data .selectize-control { + width: 100% + } + #content .mdl-tabs__tab-bar { + flex-wrap: wrap; + height: auto + } + #content .pager { + flex-direction: column-reverse + } + #content .pager>div { + text-align: center; + width: 100% + } + #box-popup h2>.btn-popup-close { + display: inline-block + } + #actions ul.errors { + max-width: 90vw + } + .mdl-data-table { + table-layout: fixed; + width: 100% + } + .table-responsive td, + .table-responsive th { + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis + } + .table-responsive .cell-actions i { + display: block !important + } +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/styles.scss b/app/modules/web/themes/material-dark/css/styles.scss new file mode 100644 index 000000000..aab4b6872 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/styles.scss @@ -0,0 +1,1499 @@ +@import "base"; +@import "elements"; +@import "noheader"; + +#nojs { + width: 80%; + text-align: center; + vertical-align: middle; + margin: 10px auto; + padding: 3px; + background-color: $color-red-fg; + color: white; + font-weight: bold; + font-size: 14px; +} + +#wrap { + height: auto !important; + min-height: 100%; + /*min-width: 1024px;*/ + /*height: 100%;*/ + width: 100%; + background-color: #f5f5f5; + padding-bottom: 5em; +} + +#wrap-loading { + position: fixed; + z-index: 9999; + top: 50%; + left: 50%; + padding: 1em; + background-color: rgba(255, 255, 255, 0.8); + display: none; + @include border-radius(5px); + + &.overlay-full { + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, 0.5); + + #loading { + position: absolute; + top: 50%; + left: 50%; + } + + #taskStatus { + display: none; + } + } + + #taskStatus { + display: none; + position: absolute; + left: 0; + top: 55%; + width: 100%; + text-align: center; + color: white; + background-color: rgba(0, 0, 0, 0.5); + padding: 1em 0; + } +} + +#container { + margin: auto; + width: 100%; + + &.error, &.install { + width: 100%; + } + + .logo { + height: 64px; + } + + #actions-bar { + z-index: 100; + display: flex; + justify-content: space-between; + position: fixed; + border: 0 none; + top: 0; + left: 0; + width: 100%; + padding: 1em 0; + background-color: transparent; + } + + #actions-bar-icons { + flex-grow: 1; + text-align: center; + } + + #actions-bar-logo { + display: none; + padding: 0 .5em; + + img { + display: inline-block; + width: 50px; + opacity: 0.75; + } + } + + #content { + width: 95%; + margin: 2em auto 8em auto; + + &.public-link { + width: 70%; + min-height: 0; + margin: 5em auto; + } + } +} + +#content, #box-popup { + td.descField { + text-align: right; + padding-right: 20px; + width: 25%; + border-right: 1px solid #d9d9d9; + color: #999; + font-size: 12px; + font-weight: bold; + } + + td.valField { + padding-left: 1em; + width: 100%; + + .lowres-title { + display: none; + width: 100%; + color: $color-bluegrey-fg; + font-size: 12px; + } + + .notification-description { + font-size: 16px; + max-width: 100%; + + .event-description, .event-details { + padding: .5em 0; + } + + .event-description { + color: $color-indigo-fg; + border-bottom: 1px solid #e9e9e9; + } + + .event-details { + .detail { + display: flex; + padding: .2em 0; + + .detail-left { + flex: none; + width: 8em; + font-weight: bold; + } + + .detail-right { + flex-grow: 1; + } + } + } + } + } +} + +#content { + .pager { + @include flexbox(); + justify-content: space-between; + align-content: space-between; + flex-wrap: wrap; + width: 100%; + margin-top: 15px; + padding: .5em; + font-size: 11px; + color: #999; + background-color: #fcfcfc; + + img { + margin-left: 5px; + vertical-align: middle; + } + + a { + margin-left: 5px; + font-size: 12px; + color: #999; + } + } + + #title { + width: 100%; + padding: 7px; + background-color: #d9d9d9; + color: #fff; + font-size: 17px; + letter-spacing: .2em; + + &.titleNormal { + background-color: $color-bluegrey-fg; + color: #fff; + } + } + + .data-container { + width: 75%; + margin: 0 auto; + } + + fieldset.data { + margin: 2em auto; + + > { + legend { + color: $color-bluegrey-fg; + padding: 0 .5em; + font-size: 1.5em; + } + + div { + display: none; + + table { + width: 100%; + } + } + } + } + + .data { + width: 100%; + padding: 10px; + //border: 1px solid #d9d9d9; + margin: 0 auto; + background-color: #fff; + @include box-shadow(); + + #history-icon { + position: relative; + top: 5em; + right: 2em; + } + + td { + text-align: left; + + &.descField { + text-align: right; + } + } + + select { + min-width: 210px; + } + + .list-wrap { + max-height: 10em; + overflow: auto; + padding: .5em; + margin: 1em 0; + } + + .dropzone { + &:hover { + opacity: 1; + } + + width: 100%; + padding: 1em; + border: 2px dashed $color-teal-fg; + text-align: center; + opacity: .3; + + img { + vertical-align: middle; + } + } + + .file-upload { + display: none; + } + + .account-permissions { + width: 100%; + } + } + + .extra-info { + margin-top: 20px; + } + + #tabs { + fieldset { + border: 1px solid #c9c9c9; + } + + #frmConfig label { + float: left; + } + } + + .tblConfig { + margin-bottom: 2em; + + td { + &.descField { + width: 35%; + font-size: 11px; + font-weight: bold; + } + + &.rowHeader { + padding: 5px 0 5px 0; + background-color: #f5f5f5; + text-align: center; + font-weight: bold; + border-top: 15px solid #f9f9f9; + border-bottom: 3px solid #a9c1d7; + letter-spacing: .5em; + color: #696969; + } + } + + input.checkbox { + width: 15px; + text-align: left; + padding: 0; + } + + .option-disabled { + text-align: center; + background-color: $color-amber-bg; + color: $color-amber-fg; + font-weight: bold; + } + } + + h2 { + width: 100%; + height: 1.5em; + font-size: 18px; + color: white; + background-color: #a9c1d7; + margin: 0; + padding-top: 0.1em; + } + + .section { + margin-top: 2.5em; + border-bottom: 1px solid #d9d9d9; + text-align: left; + font-size: 14px; + font-weight: bold; + color: $color-indigo-fg; + } + + .row_even > td { + background-color: #f5f5f5; + } + + .row_odd > td { + background-color: white; + } + + .data-header { + ul { + list-style: none; + width: 100%; + margin: 0 0 10px 0; + padding: 0; + } + + li { + display: inline-block; + padding: .2em .5em; + font-weight: bold; + letter-spacing: .2em; + color: #fff; + text-align: center; + + a { + color: #777; + } + + img { + float: right; + width: 24px; + height: 24px; + vertical-align: middle; + } + } + } + + .data-header-minimal { + border-bottom: 1px solid #dfdfdf; + + ul { + display: flex; + flex-flow: row; + flex-wrap: wrap; + align-content: flex-start; + justify-content: space-around; + margin: 0; + } + + li { + min-width: 10em; + font-weight: normal; + letter-spacing: normal; + + a { + color: #b9b9b9; + padding: 0.3em 0.8em; + } + } + + li.search-filter-spacer { + flex: 0 0 18em; + } + } + + .data-table { + width: 100%; + + td:first-of-type, + th:first-of-type { + width: 5em; + } + + thead th { + background-color: $color-bluegrey-fg; + color: #fff; + } + + tbody td { + &.cell-data { + text-align: left; + } + + &.cell-nodata { + padding: 0 .5em; + text-align: left; + } + + &.cell-actions { + text-align: right; + + i { + opacity: .5; + + &:hover { + opacity: 1; + } + } + } + } + } + + .data-rows { + ul { + display: table; + list-style: none; + width: 100%; + margin: 0 0 10px 0; + padding: 0; + background-color: #fcfcfc; + } + + li { + float: left; + display: block; + padding: 1em; + color: #696969; + text-align: center; + min-height: 2em; + + &.cell-nodata { + padding: 1em 0; + min-height: 2em; + text-align: left; + } + + &.cell-actions { + float: right; + min-height: 2em; + padding: 1em 0; + text-align: left; + background-color: #fcfcfc; + width: 15em; + } + + &.cell-nodata img, &.cell-actions img { + width: 24px; + height: 24px; + margin: 0 0.5em; + } + } + } + + #resEventLog { + .data { + width: 100%; + } + + thead { + text-align: center; + } + + tbody { + width: 100%; + height: 500px; + overflow: auto; + } + + td { + border-bottom: 1px solid #d9d9d9; + } + + .cell { + text-align: center; + } + + .cell-description { + width: 60%; + } + } + + #searchbox { + background-color: #fcfcfc; + vertical-align: middle; + position: relative; + height: auto; + padding: .5em 1em; + margin-bottom: 2em; + + form { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + text-align: left; + } + + .search-filters { + & > * { + margin: 0 .5em; + } + + .filter-buttons { + display: inline-block; + } + + .filter-slider { + width: 10em; + } + } + + .search-filters-tags { + display: none; + flex-grow: 2; + } + } + + .btn-clear { + opacity: .35; + filter: alpha(opacity=35); + + &:hover { + opacity: 1; + filter: alpha(opacity=100); + } + } + + .actions-optional { + display: none; + } + + .error { + width: 350px; + padding: 15px; + margin: 0 auto; + text-align: center; + font-size: 16px; + line-height: 1.5em; + @include color-amber(); + } +} + +#content .data, +#box-popup { + .user-list-action, + .profile-list-action { + width: 75%; + margin: 0 auto; + } + + .list-wrap { + max-height: 20em; + overflow: auto; + padding: .5em; + margin: 1em 0; + + ul { + list-style-type: none; + margin: 0; + padding: 0; + } + + li { + display: flex; + background: #f2f2f2; + padding: .5em; + font-size: 1em; + margin-bottom: .5em; + } + + li:hover { + background: #e8eaf6; + color: #000; + } + + div.files-item-info { + flex-grow: 2; + } + + div.files-item-info img { + margin: 0 .5em; + } + + div.files-item-actions { + padding: .3em 0; + } + } + + .list-actions { + i { + opacity: .5; + + &:hover { + opacity: 1; + } + } + } +} + +#box-popup { + @include fit-ccntent(); + min-width: 50em; + margin: 5em auto; + padding: 0; + background-color: #fff; + + &.box-password-view { + @include fit-ccntent(); + min-width: 30em; + //max-width: 35em; + } + + > { + h2 { + position: relative; + width: 100%; + font-size: 18px; + color: #fff; + background-color: $color-bluegrey-fg; + margin: 0; + padding: .5em 0; + line-height: 1em; + + .btn-popup-close { + display: none; + position: absolute; + right: .5em; + top: .2em; + } + } + + table { + width: 100%; + padding-bottom: 1em; + } + } + + select { + width: 220px; + } + + #resFancyAccion { + display: none; + } + + #resCheck { + display: inline-block; + width: 80%; + height: 4em; + padding: 1em 0; + } + + &.image { + background-color: transparent; + max-width: 100%; + margin: 0 auto; + @include border-radius(0); + + img { + width: auto; + margin: 0 auto; + } + + > div.title { + background-color: $color-bluegrey-fg; + color: #fff; + padding: .5em; + } + } + + &.help { + min-height: 100px; + background-color: #f5f5f5; + + p { + font-size: 14px; + text-align: justify; + line-height: 2em; + } + } +} + +#box-complexity { + & > div { + text-align: justify; + line-height: 1.5em; + margin-top: 1em; + } +} + +#box-upload-files > * { + margin: 0 auto; +} + +#debug { + float: left; + text-align: left; +} + +#debuginfo { + width: 100%; + min-height: 10em; + padding: 1em; + background-color: $color-amber-bg; + text-align: left; + line-height: 1.5em; + + H3 { + text-align: center; + } +} + +.popup-data { + width: 100%; + min-width: 400px; + border: 0; + text-align: left; + margin: 0; + padding: 1em .5em; + + .descField { + min-width: 100px; + } +} + +footer { + display: flex; + justify-content: space-between; + position: fixed; + bottom: 0; + z-index: 100; + width: 100%; + padding: .5em 0; + background-color: #f5f5f5; + color: #b9b9b9; + font-size: 1em; + @include box-shadow-top(); + + .footer-parts { + display: flex; + justify-content: space-between; + } + + #footer-left { + width: 50%; + margin: 0 1em; + } + + #footer-right { + width: 50%; + margin: 0 1em; + justify-content: flex-end; + text-align: right; + } + + #updates, #notices { + min-width: 5em; + text-align: center; + cursor: pointer; + } + + #notices .notices-title { + font-weight: bold; + border-bottom: 1px solid #c9c9c9; + margin-bottom: 1em; + } + + #status { + margin: 0 1em; + + > div { + display: inline-block; + } + + .status-info { + padding: 0.5em; + } + } + + #session { + text-align: left; + color: #999; + font-size: .8em; + } + + a { + color: #b9b9b9; + + &:visited { + color: #b9b9b9; + } + } + + #project a:hover { + color: #a9c1d7; + border-bottom: 1px solid #a9c1d7; + } + + #updates a:hover { + color: #a9c1d7; + } + + img { + border: 0; + width: 16px; + height: 16px; + vertical-align: middle; + } +} + +.round, .round5 { + @include border-radius(5px); +} + +.midround { + border-radius: 0 0 10px 10px !important; + -moz-border-radius: 0 0 10px 10px !important; + -webkit-border-radius: 0 0 10px 10px !important; +} + +.midroundup { + border-radius: 10px 10px 0 0 !important; + -moz-border-radius: 10px 10px 0 0 !important; + -webkit-border-radius: 10px 10px 0 0 !important; +} + +.fullround { + @include border-radius(50%); +} + +.iconMini { + width: 16px !important; + height: 16px !important; + vertical-align: middle; +} + +.hide { + display: none !important; +} + +.btn-checks { + padding: 5px; + margin: .2em 0; + width: 30em; + border-bottom: 1px solid #c9c9c9; +} + +.shadow { + @include box-shadow(); +} + +.noRes { + width: 60%; + padding: 15px; + background-color: #f9f9f9; + color: #a9a9a9; + border: #c9c9c9 1px solid; + margin: 20px auto; + text-align: center; + font-size: 16px; +} + +.header-grey { + background-color: $color-bluegrey-fg; + color: #fff; + min-height: 2em; +} + +.no-background { + background: none !important; +} + +.action-in-box { + padding: 1em; + text-align: right; + + ul { + list-style: none; + margin: 0; + padding: 0; + } +} + +.tab-data { + margin: 2em auto 0; + width: 75%; +} + +.item-actions { + display: flex; + justify-content: flex-end; + position: relative; + margin: 1em auto; + + > div { + display: inline-block; + } +} + +.tab-actions { + margin: 2em 0; +} + +.item-actions > ul, +.tab-actions > ul { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + align-items: center; + list-style: none; + margin: 0; + padding: 0; + + & > li { + width: auto; + min-width: 2em; + margin-left: .5em; + + &.datagrid-action-search { + min-width: 5em; + + form { + width: 100%; + } + } + } +} + +h5.datagrid-header-title { + padding: .7em; + border-bottom: 1px solid #d9d9d9; +} + +.fullWidth { + max-width: 100% !important; +} + +.filter-on { + @include color-teal(); + padding: .3em 1em; +} + +.global-on { + @include color-amber(); + padding: .3em 1em; +} + +.opacity50 { + filter: alpha(opacity=50); + opacity: 0.5; +} + +.custom-combobox { + position: relative; + display: inline-block; + + input { + width: 80%; + } +} + +.custom-combobox-toggle { + position: absolute; + top: 0; + bottom: 0; + margin-left: -1px; + padding: 0; + *height: 1.7em; + *top: 0.1em; +} + +.custom-combobox-input { + margin: 0; + padding: 0.3em; +} + +.password-level { + &.strongest { + color: $color-teal-fg; + } + + &.strong { + color: $color-blue-fg; + } + + &.good { + color: $color-amber-fg; + } + + &.weak { + color: $color-red-fg; + } +} + +#alert { + #alert-text { + margin: 15px auto; + font-size: 14px; + font-weight: bold; + } + + #alert-pass { + width: 50%; + padding: 10px; + margin: 15px auto; + border: 1px solid #c9c9c9; + color: #555; + font-weight: bold; + } +} + +.dialog-text { + font-family: $font-stack-mono; + padding: .5em; + text-align: center; + min-width: 200px; +} + +.dialog-user-text { + @extend .dialog-text; + border-bottom: #d9d9d9 1px solid; + color: #a9a9a9; +} + +.dialog-pass-text { + @extend .dialog-text; + border: transparent 1px solid; + letter-spacing: .2em; +} + +.dialog-button { + width: 150px; +} + +.dialog-buttons { + text-align: center; + padding: .5em; + border-top: 1px solid #c9c9c9; + line-height: 2.5em; +} + +.dialog-clip-copy { + color: $color-teal-fg; + background-color: $color-teal-bg; +} + +.btn-help { + cursor: pointer; +} + +.help-box { + display: none; + background-color: #fff !important; + color: $color-bluegrey-fg; + + > * { + font-weight: bold; + } +} + +.help-container { + ul { + padding: 0 .5em; + list-style: none; + + li { + padding: .5em 0; + } + } + + .help-text { + text-align: justify; + line-height: 1.5em; + margin-top: 1em; + } +} + +.tooltip { + width: 300px; + max-width: 300px; + background-color: #777; + color: #fff; + z-index: 101; +} + +.tooltip-text { + padding: .5em; + + .tooltip-header { + text-transform: capitalize; + font-weight: bold; + border-bottom: 1px solid #c9c9c9; + } +} + +.cursor-pointer { + cursor: pointer; +} + +.password-actions { + display: inline-block; + width: 12em; + + > span, i { + margin-right: 0.6em; + } +} + +.form-control { + position: relative; + + .password-actions { + position: absolute; + right: 0; + padding: 20px; + } +} + +.custom-input-color { + width: 3em; + height: 1em; + display: inline-block; +} + +.account-pass-image { + height: 32px; + width: auto; +} + +.select-box { + min-width: 300px; + max-width: 100%; +} + +fieldset.warning { + padding: 8px; + border-radius: 5px; + @include color-red(); + + legend { + color: $color-red-fg !important; + } + + a { + color: $color-red-fg !important; + font-weight: bold; + } +} + +#actions { + width: 100%; + /*margin: auto auto 50px;*/ + line-height: 2em; + margin-bottom: 5em; + + #logo { + display: flex; + width: 100%; + margin-bottom: 30px; + color: $color-bluegrey-fg; + align-items: center; + background: url($public-path + "/images/logo_full_bg.png") left no-repeat; + background-size: auto 150px; + height: 150px; + } + + #page-title { + width: 100%; + color: $color-bluegrey-fg; + text-align: center; + + h1 { + font-weight: bold; + font-size: 24px; + letter-spacing: 3px; + } + } + + ul.errors { + max-width: 40vw; + margin: 0 auto; + list-style: none; + font-size: 14px; + text-align: left; + + > li { + margin: 1.5em auto; + border-radius: 3px; + padding: 1em 0.5em; + + &.msg-critical { + @include color-red(); + } + + &.msg-warning { + @include color-amber(); + color: #555; + } + + &.msg-ok { + @include color-teal(); + } + + > p.hint { + color: #555; + font-size: 12px; + + i { + margin-right: .5em; + } + } + } + } + + form { + width: 450px; + margin: 0 auto; + text-align: left; + + fieldset { + margin-bottom: 2em; + + legend { + width: 100%; + color: #fff; + font-size: 14px; + font-weight: bold; + text-align: center; + background-color: $color-bluegrey-fg; + margin: 1em 0; + letter-spacing: .2em; + padding: 0.2em 0; + } + } + } + + div.buttons { + margin-top: 2em; + text-align: center; + } +} + +.center { + text-align: center !important; +} + +.right { + text-align: right !important; +} + +.left { + text-align: left !important; +} + +.opacity50 { + opacity: .5 !important; +} + +.msg-option-unvailable { + @include color-amber(); + border: none; + padding: .5em; + text-align: center; + margin: 1em 0; + font-size: 1.5em; +} + +div.tag-list-box { + margin-bottom: 1em; + + .tag-list-header { + text-align: left; + border-bottom: 1px solid #d9d9d9; + color: $color-bluegrey-fg; + font-size: 12px; + font-weight: bold; + margin-bottom: .5em; + } + + .tag-list-body { + .tags-list-items { + display: inline-block; + padding: .5em; + width: 95%; + height: 3em; + border-bottom: 1px solid rgba(0, 0, 0, .12); + @include border-radius(3px); + } + } + + i.select-icon { + margin-right: .5em; + color: $color-bluegrey-fg; + font-size: 18px; + } +} + +div.tag-list-box, div.tags-box { + span.tag { + margin: 0 3px 3px 0; + padding: 3px; + background: $color-indigo-fg; + color: #fff; + border: none; + @include border-radius(3px); + } +} + +@import "login"; + +/* Default styles first then media queries */ +/*@media screen and (min-width: 400px) {}*/ +/*@media screen and (min-width: 600px) {}*/ +/*@media screen and (min-width: 1000px) {}*/ +/*@media screen and (min-width: 1400px) {}*/ + +@media screen and (max-width: 1000px) { + #content { + #searchbox { + .search-filters { + & > * { + margin: .5em 1em .5em 0; + } + } + } + } + footer { + display: none; + justify-content: space-between; + flex-wrap: wrap; + + .footer-parts { + justify-content: space-between; + flex-wrap: wrap; + } + + #footer-left, #footer-right { + width: 100%; + } + + .footer-parts > div { + width: 100%; + padding: .5em 0; + } + } +} + +@media screen and (max-width: 600px) { + #content, #box-popup { + input { + width: 100%; + } + + .mdl-textfield { + width: 100%; + } + + td.descField { + display: none; + } + + td.valField { + .lowres-title { + display: block; + } + } + } + + #content { + #searchbox { + .mdl-textfield { + width: 90%; + } + + .search-text { + width: 90%; + } + + .search-filters { + .selectize-control { + width: 100%; + } + } + } + + .data-header-minimal li.search-filter-spacer { + display: none; + } + + .data-container, .tab-data { + width: 100%; + + .selectize-control { + width: 100%; + } + } + + .mdl-tabs__tab-bar { + flex-wrap: wrap; + height: auto; + } + + .pager { + flex-direction: column-reverse; + + > div { + text-align: center; + width: 100%; + } + } + } + + #box-popup { + h2 > .btn-popup-close { + display: inline-block; + } + } + + #actions { + ul.errors { + max-width: 90vw; + } + } + + .mdl-data-table { + table-layout: fixed; + width: 100%; + } + + .table-responsive { + td, th { + width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + } + + .cell-actions i { + display: block !important; + } + } +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/toastr.css b/app/modules/web/themes/material-dark/css/toastr.css new file mode 100644 index 000000000..14c55a133 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/toastr.css @@ -0,0 +1,33 @@ +#toast-container > div { + opacity: 1; + box-shadow: none; + filter: none; } + +#toast-container > div:hover { + box-shadow: none; + filter: none; } + +#toast-container.toast-top-center > div, +#toast-container.toast-bottom-center > div { + width: 50%; + margin-left: auto; + margin-right: auto; + text-align: center; } + +.toast { + background-color: #030303; } + +.toast-success { + background-color: #26a69a; } + +.toast-error { + background-color: #ef5350; } + +.toast-info { + background-color: #2196f3; } + +.toast-warning { + background-color: #ffca28; + color: #555; } + +/*# sourceMappingURL=toastr.css.map */ diff --git a/app/modules/web/themes/material-dark/css/toastr.css.map b/app/modules/web/themes/material-dark/css/toastr.css.map new file mode 100644 index 000000000..a01ec1826 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/toastr.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "AAEA,sBAAuB;EACrB,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,IAAI;;AAGd,4BAA6B;EAC3B,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,IAAI;;AAGd;0CAC2C;EACzC,KAAK,EAAE,GAAG;EACV,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,UAAU,EAAE,MAAM;;AAGpB,MAAO;EACL,gBAAgB,EAAE,OAAO;;AAE3B,cAAe;EACb,gBAAgB,ECtBF,OAAO;;ADwBvB,YAAa;EACX,gBAAgB,ECvBH,OAAO;;ADyBtB,WAAY;EACV,gBAAgB,ECjBF,OAAO;;ADmBvB,cAAe;EACb,gBAAgB,EC3BD,OAAO;ED4BtB,KAAK,ECpBM,IAAI", +"sources": ["toastr.scss","_base.scss"], +"names": [], +"file": "toastr.css" +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/toastr.min.css b/app/modules/web/themes/material-dark/css/toastr.min.css new file mode 100644 index 000000000..8933fb536 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/toastr.min.css @@ -0,0 +1,39 @@ +#toast-container>div { + opacity: 1; + box-shadow: none; + filter: none +} + +#toast-container>div:hover { + box-shadow: none; + filter: none +} + +#toast-container.toast-top-center>div, +#toast-container.toast-bottom-center>div { + width: 50%; + margin-left: auto; + margin-right: auto; + text-align: center +} + +.toast { + background-color: #030303 +} + +.toast-success { + background-color: #26a69a +} + +.toast-error { + background-color: #ef5350 +} + +.toast-info { + background-color: #2196f3 +} + +.toast-warning { + background-color: #ffca28; + color: #555 +} \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/css/toastr.scss b/app/modules/web/themes/material-dark/css/toastr.scss new file mode 100644 index 000000000..2b9334ab4 --- /dev/null +++ b/app/modules/web/themes/material-dark/css/toastr.scss @@ -0,0 +1,37 @@ +@import "base"; + +#toast-container > div { + opacity: 1; + box-shadow: none; + filter: none; +} + +#toast-container > div:hover { + box-shadow: none; + filter: none; +} + +#toast-container.toast-top-center > div, +#toast-container.toast-bottom-center > div { + width: 50%; + margin-left: auto; + margin-right: auto; + text-align: center; +} + +.toast { + background-color: #030303; +} +.toast-success { + background-color: $color-teal-fg; +} +.toast-error { + background-color: $color-red-fg; +} +.toast-info { + background-color: $color-blue-fg; +} +.toast-warning { + background-color: $color-amber-fg; + color: $color-grey; +} diff --git a/app/modules/web/themes/material-dark/inc/Icons.php b/app/modules/web/themes/material-dark/inc/Icons.php new file mode 100644 index 000000000..a7ef8a1e7 --- /dev/null +++ b/app/modules/web/themes/material-dark/inc/Icons.php @@ -0,0 +1,73 @@ +. + */ + +defined('APP_ROOT') || die(); + +use SP\Core\UI\ThemeIcons; +use SP\Html\Assets\FontIcon; + +$themeIcons = new ThemeIcons(); +$themeIcons->addIcon('add', new FontIcon('add', 'mdl-color-text--indigo-A200', __u('Add'))); +$themeIcons->addIcon('view', new FontIcon('visibility', 'mdl-color-text--indigo-A200', __u('View Details'))); +$themeIcons->addIcon('viewPass', new FontIcon('lock_open', 'mdl-color-text--indigo-A200', __u('View password'))); +$themeIcons->addIcon('edit', new FontIcon('mode_edit', 'mdl-color-text--amber-A200', __u('Edit'))); +$themeIcons->addIcon('delete', new FontIcon('remove_circle', 'mdl-color-text--red-A200', __u('Delete'))); +$themeIcons->addIcon('editPass', new FontIcon('lock_outline', 'mdl-color-text--amber-A200', __u('Change Password'))); +$themeIcons->addIcon('appAdmin', new FontIcon('star', 'mdl-color-text--amber-A100', __u('Application Admin'))); +$themeIcons->addIcon('accAdmin', new FontIcon('star_half', 'mdl-color-text--amber-A100', __u('Accounts Admin'))); +$themeIcons->addIcon('ldapUser', new FontIcon('business', 'mdl-color-text--deep-purple-A100', __u('LDAP User'))); +$themeIcons->addIcon('disabled', new FontIcon('error', 'mdl-color-text--red-A100', __u('Disabled'))); +$themeIcons->addIcon('enabled', new FontIcon('check_circle', 'mdl-color-text--teal-500', __u('Enabled'))); +$themeIcons->addIcon('refresh', new FontIcon('refresh', 'mdl-color-text--teal-500', __u('Update'))); +$themeIcons->addIcon('copy', new FontIcon('content_copy', 'mdl-color-text--indigo-A200', __u('Copy'))); +$themeIcons->addIcon('clipboard', new FontIcon('content_paste', 'mdl-color-text--indigo-A200')); +$themeIcons->addIcon('email', new FontIcon('email', 'mdl-color-text--indigo-A200', __u('Email'))); +$themeIcons->addIcon('optional', new FontIcon('settings')); +$themeIcons->addIcon('publicLink', new FontIcon('link', 'mdl-color-text--teal-500')); +$themeIcons->addIcon('back', new FontIcon('arrow_back', 'mdl-color-text--indigo-A200', __u('Back'))); +$themeIcons->addIcon('restore', new FontIcon('restore', 'mdl-color-text--teal-500', __u('Restore'))); +$themeIcons->addIcon('save', new FontIcon('save', 'mdl-color-text--teal-500', __u('Save'))); +$themeIcons->addIcon('help', new FontIcon('help_outline', 'mdl-color-text--primary', __u('Help'))); +$themeIcons->addIcon('clear', new FontIcon('clear_all', 'mdl-color--indigo-A200', __u('Clear'))); +$themeIcons->addIcon('play', new FontIcon('play_circle_filled', 'mdl-color-text--teal-500', __u('Perform'))); +$themeIcons->addIcon('download', new FontIcon('file_download', 'mdl-color-text--indigo-A200', __u('Download'))); +$themeIcons->addIcon('warning', new FontIcon('warning', 'mdl-color-text--amber-A100', __u('Warning'))); +$themeIcons->addIcon('check', new FontIcon('cached', 'mdl-color-text--indigo-A200', __u('Check'))); +$themeIcons->addIcon('search', new FontIcon('search', 'mdl-color-text--indigo-A200', __u('Search'))); +$themeIcons->addIcon('account', new FontIcon('account_box', 'mdl-color-text--indigo-A200')); +$themeIcons->addIcon('group', new FontIcon('group_work', 'mdl-color-text--indigo-A200')); +$themeIcons->addIcon('settings', new FontIcon('settings', 'mdl-color-text--indigo-A200', __u('Configuration'))); +$themeIcons->addIcon('headline', new FontIcon('view_headline', 'mdl-color-text--indigo-A200')); +$themeIcons->addIcon('info', new FontIcon('info_outline', 'mdl-color-text--indigo-A200', __u('Information'))); +$themeIcons->addIcon('critical', new FontIcon('error_outline', 'mdl-color-text--red-A200', __u('Critical'))); +$themeIcons->addIcon('notices', new FontIcon('notifications', 'mdl-color-text--indigo-A200', __u('Notifications'))); +$themeIcons->addIcon('remove', new FontIcon('remove', 'mdl-color-text--indigo-A200', __u('Delete'))); +$themeIcons->addIcon('previous', new FontIcon('chevron_left', null, __u('Previous page'))); +$themeIcons->addIcon('next', new FontIcon('chevron_right', null, __u('Next page'))); +$themeIcons->addIcon('first', new FontIcon('first_page', null, __u('First page'))); +$themeIcons->addIcon('last', new FontIcon('last_page', null, __u('Last page'))); +$themeIcons->addIcon('up', new FontIcon('arrow_drop_up')); +$themeIcons->addIcon('down', new FontIcon('arrow_drop_down')); + +return $themeIcons; \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/index.php b/app/modules/web/themes/material-dark/index.php new file mode 100644 index 000000000..5f8813256 --- /dev/null +++ b/app/modules/web/themes/material-dark/index.php @@ -0,0 +1,30 @@ + 'Material Dark', + 'creator' => 'ThigSchuch', + 'version' => '3.0', + 'targetversion' => '3.0.0', + 'js' => [ + 'bootstrap-material-datetimepicker.min.js', + 'material.min.js', + 'mdl-jquery-modal-dialog.min.js', + 'app-theme.min.js' + ], + 'css' => [ + 'fonts.min.css', + 'material.min.css', + 'material-custom.min.css', + 'mdl-datetimepicker.min.css', + 'mdl-jquery-modal-dialog.min.css', + 'selectize-custom.min.css', + 'toastr.min.css', + 'styles.min.css' + ] +]; diff --git a/app/modules/web/themes/material-dark/js/LICENSE b/app/modules/web/themes/material-dark/js/LICENSE new file mode 100644 index 000000000..9faf10865 --- /dev/null +++ b/app/modules/web/themes/material-dark/js/LICENSE @@ -0,0 +1,212 @@ + + 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 2015 Google Inc + + 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. + + All code in any directories or sub-directories that end with *.html or + *.css is licensed under the Creative Commons Attribution International + 4.0 License, which full text can be found here: + https://creativecommons.org/licenses/by/4.0/legalcode. + + As an exception to this license, all html or css that is generated by + the software at the direction of the user is copyright the user. The + user has full ownership and control over such content, including + whether and how they wish to license it. diff --git a/app/modules/web/themes/material-dark/js/app-theme.js b/app/modules/web/themes/material-dark/js/app-theme.js new file mode 100644 index 000000000..c64cb20eb --- /dev/null +++ b/app/modules/web/themes/material-dark/js/app-theme.js @@ -0,0 +1,538 @@ +/* + * sysPass + * + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org + * + * This file is part of sysPass. + * + * sysPass is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * sysPass is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with sysPass. If not, see . + */ + +sysPass.Theme = function (log) { + "use strict"; + + const updateEvent = $.Event("theme:update"); + + /** + * Funciones a realizar en peticiones AJAX + * + * @type {{complete: ajax.complete}} + */ + const ajax = { + complete: function () { + log.info("ajax:complete"); + + update(); + } + }; + + /** + * Mostrar/Ocultar el spinner de carga + * + * @type {{show: loading.show, hide: loading.hide}} + */ + const loading = { + elems: { + $wrap: $("#wrap-loading"), + $loading: $("#loading") + }, + show: function (full) { + if (full !== undefined && full === true) { + loading.elems.$wrap.addClass("overlay-full"); + } + + loading.elems.$wrap.show(); + loading.elems.$loading.addClass("is-active"); + }, + hide: function () { + loading.elems.$wrap.removeClass("overlay-full").hide(); + loading.elems.$loading.removeClass("is-active"); + }, + upgradeFull: function () { + loading.elems.$wrap.addClass("overlay-full"); + } + }; + + // Función para generar claves aleatorias. + const randomPassword = function ($target) { + sysPassApp.util.password.random(function (password, level) { + $target.attr("data-pass", password); + + // if ($target) { + const $dstParent = $target.parent(); + const $targetR = $("#" + $target.attr("id") + "_repeat"); + + sysPassApp.util.password.output(level, $target); + + // Actualizar los componentes de MDL + const mdl = new MaterialTextfield(); + + // Poner la clave en los input y actualizar MDL + $dstParent.find("input:password").val(password); + $dstParent + .addClass(mdl.CssClasses_.IS_DIRTY) + .removeClass(mdl.CssClasses_.IS_INVALID); + + // Poner la clave en el input de repetición y encriptarla + if ($targetR.length > 0) { + $targetR.val(password).parent() + .addClass(mdl.CssClasses_.IS_DIRTY) + .removeClass(mdl.CssClasses_.IS_INVALID); + sysPassApp.encryptFormValue($targetR); + } + }); + }; + + // Diálogo de configuración de complejidad de clave + const complexityDialog = function () { + + const content = + `
+
+ + + + +
+ + +
+
+
+ `; + + mdlDialog().show({ + title: sysPassApp.config.LANG[29], + text: content, + negative: { + title: sysPassApp.config.LANG[44] + }, + positive: { + title: sysPassApp.config.LANG[43], + onClick: function (e) { + e.preventDefault(); + + sysPassApp.util.password.config.complexity.chars = $("#checkbox-chars").is(":checked"); + sysPassApp.util.password.config.complexity.numbers = $("#checkbox-numbers").is(":checked"); + sysPassApp.util.password.config.complexity.uppercase = $("#checkbox-uppercase").is(":checked"); + sysPassApp.util.password.config.complexity.symbols = $("#checkbox-symbols").is(":checked"); + sysPassApp.util.password.config.complexity.numlength = parseInt($("#passlength").val()); + } + }, + cancelable: true, + contentStyle: {"max-width": "300px"}, + onLoaded: function () { + $("#checkbox-chars").prop("checked", sysPassApp.util.password.config.complexity.chars); + $("#checkbox-numbers").prop("checked", sysPassApp.util.password.config.complexity.numbers); + $("#checkbox-uppercase").prop("checked", sysPassApp.util.password.config.complexity.uppercase); + $("#checkbox-symbols").prop("checked", sysPassApp.util.password.config.complexity.symbols); + } + }); + }; + + /** + * Detectar los campos de clave y añadir funciones + */ + const passwordDetect = function ($container) { + // Crear los iconos de acciones sobre claves + $container.find(".passwordfield__input").each(function () { + const $this = $(this); + + if ($this.attr("data-pass-upgraded") === "true") { + return; + } + + const uniqueId = sysPassApp.util.uniqueId(); + const $thisParent = $this.parent(); + const $form = $this.closest("form"); + const targetId = $this.attr("id") + "-" + uniqueId; + + const $passwordRepeat = $form.find("#" + $this.attr("id") + "_repeat"); + $passwordRepeat.attr("id", targetId + "_repeat"); + + $this.attr("id", targetId); + $this.attr("data-pass", $this.val()); + + let btnMenu = + ` +
    +
  • settings${sysPassApp.config.LANG[28]}
  • +
  • vpn_key${sysPassApp.config.LANG[29]}
  • +
  • refresh${sysPassApp.config.LANG[30]}
`; + + $thisParent.after(`
`); + + $thisParent.next(".password-actions") + .prepend(`remove_red_eye`) + .prepend(btnMenu); + + $this.on("keyup", function () { + sysPassApp.util.password.checkLevel($this); + + this.dataset.pass = $this.val(); + }); + + const $passwordActions = $this.parent().next(); + + // Crear evento para generar clave aleatoria + $passwordActions + .find(".passGen") + .on("click", function () { + randomPassword($this); + + $this.blur(); + }); + + $passwordActions + .find(".passComplexity") + .on("click", function () { + complexityDialog(); + }); + + // Crear evento para mostrar clave generada/introducida + $passwordActions + .find(".showpass") + .on("mouseover", function () { + if (this.dataset.levelMsg !== "") { + $(this).attr("title", this.dataset.levelMsg + "\n\n" + $this[0].dataset.pass); + } else { + $(this).attr("title", $this[0].dataset.pass); + } + }); + + // Reset de los campos de clave + $passwordActions + .find(".reset") + .on("click", function () { + $this.val(""); + $this[0].dataset.pass = ""; + + if ($passwordRepeat.length > 0) { + $passwordRepeat.val(""); + } + + // Actualizar objetos de MDL + componentHandler.upgradeDom(); + }); + + $this.attr("data-pass-upgraded", "true"); + + // Actualizar objetos de MDL + componentHandler.upgradeDom(); + }); + + // Crear los iconos de acciones sobre claves (sólo mostrar clave) + $container.find(".passwordfield__input-show").each(function () { + const $this = $(this); + const $icon = $("remove_red_eye"); + + if ($this.data("clipboard") === 1) { + const $clip = $("content_paste"); + $this.parent().after($clip).after($icon); + } else { + $this.parent().after($icon); + } + + // Crear evento para mostrar clave generada/introducida + $icon.on("mouseover", function () { + $icon.attr("title", $this[0].dataset.pass); + }); + }); + }; + + /** + * Inicializar el selector de fecha + * @param $container + */ + const setupDatePicker = function ($container) { + log.info("setupDatePicker"); + + const datePickerOpts = { + format: "YYYY-MM-DD", + lang: sysPassApp.config.BROWSER.LOCALE.substr(0, 2), + time: false, + cancelText: sysPassApp.config.LANG[44], + okText: sysPassApp.config.LANG[43], + clearText: sysPassApp.config.LANG[30], + nowText: sysPassApp.config.LANG[56], + minDate: new Date(), + triggerEvent: "dateIconClick" + }; + + const getUnixtime = function (val) { + return moment.tz(val, sysPassApp.config.BROWSER.TIMEZONE).format("X"); + }; + + $container.find(".password-datefield__input").each(function () { + const $this = $(this); + const $parent = $this.parent(); + + $this.bootstrapMaterialDatePicker(datePickerOpts); + + // Search for an input to set the unix timestamp from a localized date + const $dstUnix = $parent.find("input[name=" + $this.data('dst-unix') + "]"); + + if ($this.val() > 0) { + $dstUnix.val(getUnixtime($this.val())); + } + + // Evento de click para el icono de calendario + $parent.next("i").on("click", function () { + $this.trigger("dateIconClick"); + }); + + // Actualizar el campo oculto cuando cambie la fecha + $this.on("change", function () { + $dstUnix.val(getUnixtime($this.val())); + }); + }); + }; + + /** + * Triggers que se ejecutan en determinadas vistas + */ + const viewsTriggers = { + main: function () { + const layout = document.querySelector(".mdl-layout"); + const $drawer = $(".mdl-layout__drawer"); + + $drawer.find("a").click(function () { + layout.MaterialLayout.toggleDrawer(); + }); + }, + search: function () { + const $frmSearch = $("#frmSearch"); + const $resContent = $("#res-content"); + + $frmSearch.find("button.btn-clear").on("click", function (e) { + $(".icon-searchfav").find("i").removeClass("mdl-color-text--amber-A200"); + }); + + $frmSearch.find(".icon-searchfav").on("click", function () { + const $icon = $(this).find("i"); + const $searchfav = $frmSearch.find("input[name='searchfav']"); + + if ($searchfav.val() == 0) { + $icon.addClass("mdl-color-text--amber-A200"); + $icon.attr("title", sysPassApp.config.LANG[53]); + + $searchfav.val(1); + } else { + $icon.removeClass("mdl-color-text--amber-A200"); + $icon.attr("title", sysPassApp.config.LANG[52]); + + $searchfav.val(0); + } + + $frmSearch.submit(); + }); + + const checkFavorite = function ($obj) { + if ($obj.data("status") === "on") { + $obj.addClass("mdl-color-text--amber-A100"); + $obj.attr("title", sysPassApp.config.LANG[50]); + $obj.html("star"); + } else { + $obj.removeClass("mdl-color-text--amber-A100"); + $obj.attr("title", sysPassApp.config.LANG[49]); + $obj.html("star_border"); + } + }; + + const $tagsSelect = $frmSearch.find("#tags")[0]; + const $tagsBar = $frmSearch.find(".search-filters-tags"); + const $showFilter = $frmSearch.find("i.show-filter"); + + $resContent.on("click", "#data-search-header .sort-down,#data-search-header .sort-up", function () { + const $this = $(this); + $this.parent().find("a").addClass("filterOn"); + + sysPassApp.actions.account.sort($this); + }).on("click", "#search-rows i.icon-favorite", function () { + const $this = $(this); + + sysPassApp.actions.account.saveFavorite($this, function () { + checkFavorite($this); + }); + }).on("click", "#search-rows span.tag", function () { + if ($tagsBar.is(":hidden")) { + $showFilter.trigger("click"); + } + + $tagsSelect.selectize.addItem($(this).data("tag-id"), false); + }); + + $showFilter.on("click", function () { + const $this = $(this); + + if ($tagsBar.is(":hidden")) { + $tagsBar.slideDown("slow"); + $this.html($this.data("icon-up")); + } else { + $tagsBar.slideUp("slow"); + $this.html($this.data("icon-down")); + } + }); + + if ($tagsSelect.selectedIndex !== -1 + || $showFilter.data('show') === 1 + ) { + $showFilter.trigger("click"); + } + }, + common: function ($container) { + passwordDetect($container); + setupDatePicker($container); + } + }; + + /** + * Función para crear el menu estático al hacer scroll + */ + var setFixedMenu = function () { + // Stick the #nav to the top of the window + var $actionBar = $("#actions-bar"); + + if ($actionBar.length > 0) { + var $actionBarLogo = $actionBar.find("#actions-bar-logo"); + var isFixed = false; + + var scroll = { + on: function () { + $actionBar.css({ + backgroundColor: "rgba(255, 255, 255, .75)", + borderBottom: "1px solid #ccc" + }); + $actionBarLogo.show(); + isFixed = true; + }, + off: function () { + $actionBar.css({ + backgroundColor: "transparent", + borderBottom: "none" + }); + $actionBarLogo.hide(); + isFixed = false; + } + }; + + + $(window).on("scroll", function () { + var scrollTop = $(this).scrollTop(); + var shouldBeFixed = scrollTop > $actionBar.height(); + + if (shouldBeFixed && !isFixed) { + scroll.on(); + } else if (!shouldBeFixed && isFixed) { + scroll.off(); + } + }).on("resize", function () { + // Detectar si al cargar la barra de iconos no está en la posición 0 + if ($actionBar.offset().top > 0) { + scroll.on(); + } + }); + + // Detectar si al cargar la barra de iconos no está en la posición 0 + if ($actionBar.offset().top > 0) { + scroll.on(); + } + } + }; + + /** + * Elementos HTML del tema + */ + const html = { + getList: function (items, icon) { + const $ul = $("
    "); + const $li = $("
  • "); + const $span = $(""); + + const i = "" + (icon === undefined || icon === "" ? "description" : icon) + ""; + + items.forEach(function (value) { + const $spanClone = $span.clone(); + $spanClone.append(i); + $spanClone.append(value); + + const $item = $li.clone().append($spanClone); + $ul.append($item); + }); + + return $ul; + }, + tabs: { + add: function (header, index, title, isActive) { + const $header = $(header); + let active; + + if (isActive === 1) { + $header.parent().find("#tabs-" + index).addClass("is-active"); + active = "is-active"; + } + + const tab = "" + title + ""; + + $header.append(tab); + } + } + }; + + /** + * Triggers an update of the theme components + */ + const update = function () { + log.info("theme:update"); + + // Actualizar componentes de MDL cargados con AJAX + componentHandler.upgradeDom(); + + $("body").trigger(updateEvent); + }; + + /** + * Initialization + */ + const init = function () { + }; + + init(); + + return { + passwordDetect: passwordDetect, + password: randomPassword, + update: update, + viewsTriggers: viewsTriggers, + loading: loading, + ajax: ajax, + html: html + }; +}; \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/js/app-theme.map b/app/modules/web/themes/material-dark/js/app-theme.map new file mode 100644 index 000000000..f5d132dfe --- /dev/null +++ b/app/modules/web/themes/material-dark/js/app-theme.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"app-theme.min.js", +"lineCount":20, +"mappings":"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", +"sources":[" [synthetic:base] "," [synthetic:util/findinternal] "," [synthetic:util/defineproperty] "," [synthetic:util/global] "," [synthetic:util/polyfill] "," [synthetic:es6/array/find] ","app-theme.js"], +"names":["sysPass","Theme","sysPass.Theme","Common","log","loading","elems","$wrap","$","$loading","show","full","undefined","addClass","hide","removeClass","upgradeFull","password","$target","i","chars","genPassword","passwordData","complexity","symbols","numbers","uppercase","numlength","charAt","Math","floor","random","length","min","attr","level","zxcvbn","passLength","$dstParent","parent","$targetR","outputResult","mdl","MaterialTextfield","find","val","CssClasses_","IS_DIRTY","IS_INVALID","encryptFormValue","complexityDialog","content","config","LANG","mdlDialog","title","text","negative","positive","onClick","e","preventDefault","is","parseInt","cancelable","contentStyle","onLoaded","prop","passwordDetect","$container","each","$this","$thisParent","targetId","btnMenu","after","next","prepend","on","checkPassLevel","$passwordActions","focus","$targetIdR","componentHandler","upgradeDom","$icon","data","$clip","setupDatePicker","info","datePickerOpts","format","lang","LOCALE","substr","time","cancelText","okText","clearText","nowText","minDate","Date","triggerEvent","bootstrapMaterialDatePicker","append","moment","tz","TIMEZONE","trigger","unixtime","viewsTriggers","main","layout","document","querySelector","$drawer","click","MaterialLayout","toggleDrawer","search","$frmSearch","$resContent","$searchfav","submit","$tagsSelect","$tagsBar","$showFilter","appActions","account","sort","savefavorite","html","selectize","addItem","slideDown","slideUp","selectedIndex","common","ajax","complete","getList","items","$ul","$li","$span","forEach","value","$spanClone","clone","icon","$item","tabs","add","header","index","isActive","$header","active"] +} diff --git a/app/modules/web/themes/material-dark/js/app-theme.min.js b/app/modules/web/themes/material-dark/js/app-theme.min.js new file mode 100644 index 000000000..d7ac91786 --- /dev/null +++ b/app/modules/web/themes/material-dark/js/app-theme.min.js @@ -0,0 +1,21 @@ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,e,b){a instanceof String&&(a=String(a));for(var f=a.length,g=0;g\n \n \n \n \n
    \n \n \n
    \n
    \n \n ';mdlDialog().show({title:sysPassApp.config.LANG[29],text:a,negative:{title:sysPassApp.config.LANG[44]}, +positive:{title:sysPassApp.config.LANG[43],onClick:function(c){c.preventDefault();sysPassApp.util.password.config.complexity.chars=$("#checkbox-chars").is(":checked");sysPassApp.util.password.config.complexity.numbers=$("#checkbox-numbers").is(":checked");sysPassApp.util.password.config.complexity.uppercase=$("#checkbox-uppercase").is(":checked");sysPassApp.util.password.config.complexity.symbols=$("#checkbox-symbols").is(":checked");sysPassApp.util.password.config.complexity.numlength=parseInt($("#passlength").val())}}, +cancelable:!0,contentStyle:{"max-width":"300px"},onLoaded:function(){$("#checkbox-chars").prop("checked",sysPassApp.util.password.config.complexity.chars);$("#checkbox-numbers").prop("checked",sysPassApp.util.password.config.complexity.numbers);$("#checkbox-uppercase").prop("checked",sysPassApp.util.password.config.complexity.uppercase);$("#checkbox-symbols").prop("checked",sysPassApp.util.password.config.complexity.symbols)}})},k=function(a){a.find(".passwordfield__input").each(function(){var c= +$(this);if("true"!==c.attr("data-pass-upgraded")){var a=sysPassApp.util.uniqueId(),d=c.parent(),b=c.closest("form");a=c.attr("id")+"-"+a;var l=b.find("#"+c.attr("id")+"_repeat");l.attr("id",a+"_repeat");c.attr("id",a);c.attr("data-pass",c.val());b='\n
      \n
    • settings'+sysPassApp.config.LANG[28]+'
    • \n
    • vpn_key'+sysPassApp.config.LANG[29]+'
    • \n
    • refresh'+sysPassApp.config.LANG[30]+"
    ";d.after('
    ');d.next(".password-actions").prepend("remove_red_eye').prepend(b);c.on("keyup",function(){sysPassApp.util.password.checkLevel(c);this.dataset.pass=c.val()});d=c.parent().next();d.find(".passGen").on("click",function(){f(c);c.blur()});d.find(".passComplexity").on("click",function(){g()});d.find(".showpass").on("mouseover",function(){""!==this.dataset.levelMsg?$(this).attr("title",this.dataset.levelMsg+"\n\n"+c[0].dataset.pass):$(this).attr("title",c[0].dataset.pass)}); +d.find(".reset").on("click",function(){c.val("");c[0].dataset.pass="";0remove_red_eye');if(1===a.data("clipboard")){var b=$('content_paste');a.parent().after(b).after(d)}else a.parent().after(d);d.on("mouseover",function(){d.attr("title",a[0].dataset.pass)})})},n=function(d){a.info("setupDatePicker");var c={format:"YYYY-MM-DD",lang:sysPassApp.config.BROWSER.LOCALE.substr(0,2),time:!1,cancelText:sysPassApp.config.LANG[44],okText:sysPassApp.config.LANG[43],clearText:sysPassApp.config.LANG[30],nowText:sysPassApp.config.LANG[56],minDate:new Date,triggerEvent:"dateIconClick"};d.find(".password-datefield__input").each(function(){var a= +$(this),d=a.parent();a.bootstrapMaterialDatePicker(c);var b=d.find("input[name="+a.data("dst-unix")+"]");0'),d=$('
  • '),e=$(''),f=''+(void 0===b||""===b?"description":b)+"";a.forEach(function(a){var b=e.clone();b.append(f);b.append(a);a=d.clone().append(b); +c.append(a)});return c},tabs:{add:function(a,b,e,f){a=$(a);if(1===f){a.parent().find("#tabs-"+b).addClass("is-active");var c="is-active"}a.append(''+e+"")}}}}}; diff --git a/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.js b/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.js new file mode 100644 index 000000000..904f059e9 --- /dev/null +++ b/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.js @@ -0,0 +1,1106 @@ + +(function ($, moment) { + var pluginName = "bootstrapMaterialDatePicker"; + var pluginDataName = "plugin_" + pluginName; + + moment.locale('en'); + + function Plugin(element, options) { + this.currentView = 0; + + this.minDate; + this.maxDate; + + this._attachedEvents = []; + + this.element = element; + this.$element = $(element); + + this.params = { + date: true, + time: true, + format: 'YYYY-MM-DD', + minDate: null, + maxDate: null, + currentDate: null, + lang: 'en', + weekStart: 0, + shortTime: false, + clearButton: false, + nowButton: false, + cancelText: 'Cancel', + okText: 'OK', + clearText: 'Clear', + nowText: 'Now', + switchOnClick: false, + triggerEvent: 'focus' + }; + this.params = $.fn.extend(this.params, options); + + this.name = "dtp_" + this.setName(); + this.$element.attr("data-dtp", this.name); + + moment.locale(this.params.lang); + + this.init(); + } + + $.fn[pluginName] = function (options, p) { + this.each(function () { + if (!$.data(this, pluginDataName)) { + $.data(this, pluginDataName, new Plugin(this, options)); + } else { + if (typeof ($.data(this, pluginDataName)[options]) === 'function') { + $.data(this, pluginDataName)[options](p); + } + if (options === 'destroy') { + $.removeData(this); + } + } + }); + return this; + }; + + Plugin.prototype = + { + init: function () { + this.initDays(); + this.initDates(); + + this.initTemplate(); + + this.initButtons(); + + this._attachEvent($(window), 'resize', this._centerBox.bind(this)); + this._attachEvent(this.$dtpElement.find('.dtp-content'), 'click', this._onElementClick.bind(this)); + this._attachEvent(this.$dtpElement, 'click', this._onBackgroundClick.bind(this)); + this._attachEvent(this.$dtpElement.find('.dtp-close > a'), 'click', this._onCloseClick.bind(this)); + this._attachEvent(this.$element, this.params.triggerEvent, this._fireCalendar.bind(this)); + }, + initDays: function () { + this.days = []; + for (var i = this.params.weekStart; this.days.length < 7; i++) { + if (i > 6) { + i = 0; + } + this.days.push(i.toString()); + } + }, + initDates: function () { + if (this.$element.val().length > 0) { + if (typeof (this.params.format) !== 'undefined' && this.params.format !== null) { + this.currentDate = moment(this.$element.val(), this.params.format).locale(this.params.lang); + } else { + this.currentDate = moment(this.$element.val()).locale(this.params.lang); + } + } else { + if (typeof (this.$element.attr('value')) !== 'undefined' && this.$element.attr('value') !== null && this.$element.attr('value') !== "") { + if (typeof (this.$element.attr('value')) === 'string') { + if (typeof (this.params.format) !== 'undefined' && this.params.format !== null) { + this.currentDate = moment(this.$element.attr('value'), this.params.format).locale(this.params.lang); + } else { + this.currentDate = moment(this.$element.attr('value')).locale(this.params.lang); + } + } + } else { + if (typeof (this.params.currentDate) !== 'undefined' && this.params.currentDate !== null) { + if (typeof (this.params.currentDate) === 'string') { + if (typeof (this.params.format) !== 'undefined' && this.params.format !== null) { + this.currentDate = moment(this.params.currentDate, this.params.format).locale(this.params.lang); + } else { + this.currentDate = moment(this.params.currentDate).locale(this.params.lang); + } + } else { + if (typeof (this.params.currentDate.isValid) === 'undefined' || typeof (this.params.currentDate.isValid) !== 'function') { + var x = this.params.currentDate.getTime(); + this.currentDate = moment(x, "x").locale(this.params.lang); + } else { + this.currentDate = this.params.currentDate; + } + } + this.$element.val(this.currentDate.format(this.params.format)); + } else + this.currentDate = moment(); + } + } + + if (typeof (this.params.minDate) !== 'undefined' && this.params.minDate !== null) { + if (typeof (this.params.minDate) === 'string') { + if (typeof (this.params.format) !== 'undefined' && this.params.format !== null) { + this.minDate = moment(this.params.minDate, this.params.format).locale(this.params.lang); + } else { + this.minDate = moment(this.params.minDate).locale(this.params.lang); + } + } else { + if (typeof (this.params.minDate.isValid) === 'undefined' || typeof (this.params.minDate.isValid) !== 'function') { + var x = this.params.minDate.getTime(); + this.minDate = moment(x, "x").locale(this.params.lang); + } else { + this.minDate = this.params.minDate; + } + } + } else if (this.params.minDate === null) { + this.minDate = null; + } + + if (typeof (this.params.maxDate) !== 'undefined' && this.params.maxDate !== null) { + if (typeof (this.params.maxDate) === 'string') { + if (typeof (this.params.format) !== 'undefined' && this.params.format !== null) { + this.maxDate = moment(this.params.maxDate, this.params.format).locale(this.params.lang); + } else { + this.maxDate = moment(this.params.maxDate).locale(this.params.lang); + } + } else { + if (typeof (this.params.maxDate.isValid) === 'undefined' || typeof (this.params.maxDate.isValid) !== 'function') { + var x = this.params.maxDate.getTime(); + this.maxDate = moment(x, "x").locale(this.params.lang); + } else { + this.maxDate = this.params.maxDate; + } + } + } else if (this.params.maxDate === null) { + this.maxDate = null; + } + + if (!this.isAfterMinDate(this.currentDate)) { + this.currentDate = moment(this.minDate); + } + if (!this.isBeforeMaxDate(this.currentDate)) { + this.currentDate = moment(this.maxDate); + } + }, + initTemplate: function () { + this.template = ''; + + var $body = $("body"); + + if ($body.find("#" + this.name).length <= 0) { + $body.append(this.template); + + if (this) + this.dtpElement = $body.find("#" + this.name); + this.$dtpElement = $(this.dtpElement); + } + }, + initButtons: function () { + this._attachEvent(this.$dtpElement.find('.dtp-btn-cancel'), 'click', this._onCancelClick.bind(this)); + this._attachEvent(this.$dtpElement.find('.dtp-btn-ok'), 'click', this._onOKClick.bind(this)); + this._attachEvent(this.$dtpElement.find('a.dtp-select-month-before'), 'click', this._onMonthBeforeClick.bind(this)); + this._attachEvent(this.$dtpElement.find('a.dtp-select-month-after'), 'click', this._onMonthAfterClick.bind(this)); + this._attachEvent(this.$dtpElement.find('a.dtp-select-year-before'), 'click', this._onYearBeforeClick.bind(this)); + this._attachEvent(this.$dtpElement.find('a.dtp-select-year-after'), 'click', this._onYearAfterClick.bind(this)); + + if (this.params.clearButton === true) { + this._attachEvent(this.$dtpElement.find('.dtp-btn-clear'), 'click', this._onClearClick.bind(this)); + this.$dtpElement.find('.dtp-btn-clear').removeClass('hidden'); + } + + if (this.params.nowButton === true) { + this._attachEvent(this.$dtpElement.find('.dtp-btn-now'), 'click', this._onNowClick.bind(this)); + this.$dtpElement.find('.dtp-btn-now').removeClass('hidden'); + } + + if ((this.params.nowButton === true) && (this.params.clearButton === true)) { + this.$dtpElement.find('.dtp-btn-clear, .dtp-btn-now, .dtp-btn-cancel, .dtp-btn-ok').addClass('btn-xs'); + } else if ((this.params.nowButton === true) || (this.params.clearButton === true)) { + this.$dtpElement.find('.dtp-btn-clear, .dtp-btn-now, .dtp-btn-cancel, .dtp-btn-ok').addClass('btn-sm'); + } + }, + initMeridienButtons: function () { + this.$dtpElement.find('a.dtp-meridien-am').off('click').on('click', this._onSelectAM.bind(this)); + this.$dtpElement.find('a.dtp-meridien-pm').off('click').on('click', this._onSelectPM.bind(this)); + }, + initDate: function (d) { + this.currentView = 0; + + this.$dtpElement.find('.dtp-picker-calendar').removeClass('hidden'); + this.$dtpElement.find('.dtp-picker-datetime').addClass('hidden'); + + var _date = ((typeof (this.currentDate) !== 'undefined' && this.currentDate !== null) ? this.currentDate : null); + var _calendar = this.generateCalendar(this.currentDate); + + if (typeof (_calendar.week) !== 'undefined' && typeof (_calendar.days) !== 'undefined') { + var _template = this.constructHTMLCalendar(_date, _calendar); + + this.$dtpElement.find('a.dtp-select-day').off('click'); + this.$dtpElement.find('.dtp-picker-calendar').html(_template); + + this.$dtpElement.find('a.dtp-select-day').on('click', this._onSelectDate.bind(this)); + + this.toggleButtons(_date); + } + + this._centerBox(); + this.showDate(_date); + }, + initHours: function () { + this.currentView = 1; + + this.showTime(this.currentDate); + this.initMeridienButtons(); + + if (this.currentDate.hour() < 12) { + this.$dtpElement.find('a.dtp-meridien-am').click(); + } else { + this.$dtpElement.find('a.dtp-meridien-pm').click(); + } + + var hFormat = ((this.params.shortTime) ? 'h' : 'H'); + + this.$dtpElement.find('.dtp-picker-datetime').removeClass('hidden'); + this.$dtpElement.find('.dtp-picker-calendar').addClass('hidden'); + + var svgClockElement = this.createSVGClock(true); + + for (var i = 0; i < 12; i++) { + var x = -(162 * (Math.sin(-Math.PI * 2 * (i / 12)))); + var y = -(162 * (Math.cos(-Math.PI * 2 * (i / 12)))); + + var fill = ((this.currentDate.format(hFormat) == i) ? "#8BC34A" : 'transparent'); + var color = ((this.currentDate.format(hFormat) == i) ? "#fff" : '#000'); + + var svgHourCircle = this.createSVGElement("circle", { + 'id': 'h-' + i, + 'class': 'dtp-select-hour', + 'style': 'cursor:pointer', + r: '30', + cx: x, + cy: y, + fill: fill, + 'data-hour': i + }); + + var svgHourText = this.createSVGElement("text", { + 'id': 'th-' + i, + 'class': 'dtp-select-hour-text', + 'text-anchor': 'middle', + 'style': 'cursor:pointer', + 'font-weight': 'bold', + 'font-size': '20', + x: x, + y: y + 7, + fill: color, + 'data-hour': i + }); + svgHourText.textContent = ((i === 0) ? ((this.params.shortTime) ? 12 : i) : i); + + if (!this.toggleTime(i, true)) { + svgHourCircle.className += " disabled"; + svgHourText.className += " disabled"; + svgHourText.setAttribute('fill', '#bdbdbd'); + } else { + svgHourCircle.addEventListener('click', this._onSelectHour.bind(this)); + svgHourText.addEventListener('click', this._onSelectHour.bind(this)); + } + + svgClockElement.appendChild(svgHourCircle) + svgClockElement.appendChild(svgHourText) + } + + if (!this.params.shortTime) { + for (var i = 0; i < 12; i++) { + var x = -(110 * (Math.sin(-Math.PI * 2 * (i / 12)))); + var y = -(110 * (Math.cos(-Math.PI * 2 * (i / 12)))); + + var fill = ((this.currentDate.format(hFormat) == (i + 12)) ? "#8BC34A" : 'transparent'); + var color = ((this.currentDate.format(hFormat) == (i + 12)) ? "#fff" : '#000'); + + var svgHourCircle = this.createSVGElement("circle", { + 'id': 'h-' + (i + 12), + 'class': 'dtp-select-hour', + 'style': 'cursor:pointer', + r: '30', + cx: x, + cy: y, + fill: fill, + 'data-hour': (i + 12) + }); + + var svgHourText = this.createSVGElement("text", { + 'id': 'th-' + (i + 12), + 'class': 'dtp-select-hour-text', + 'text-anchor': 'middle', + 'style': 'cursor:pointer', + 'font-weight': 'bold', + 'font-size': '22', + x: x, + y: y + 7, + fill: color, + 'data-hour': (i + 12) + }); + svgHourText.textContent = i + 12; + + if (!this.toggleTime(i + 12, true)) { + svgHourCircle.className += " disabled"; + svgHourText.className += " disabled"; + svgHourText.setAttribute('fill', '#bdbdbd'); + } else { + svgHourCircle.addEventListener('click', this._onSelectHour.bind(this)); + svgHourText.addEventListener('click', this._onSelectHour.bind(this)); + } + + svgClockElement.appendChild(svgHourCircle) + svgClockElement.appendChild(svgHourText) + } + + this.$dtpElement.find('a.dtp-meridien-am').addClass('hidden'); + this.$dtpElement.find('a.dtp-meridien-pm').addClass('hidden'); + } + + this._centerBox(); + }, + initMinutes: function () { + this.currentView = 2; + + this.showTime(this.currentDate); + + this.initMeridienButtons(); + + if (this.currentDate.hour() < 12) { + this.$dtpElement.find('a.dtp-meridien-am').click(); + } else { + this.$dtpElement.find('a.dtp-meridien-pm').click(); + } + + this.$dtpElement.find('.dtp-picker-calendar').addClass('hidden'); + this.$dtpElement.find('.dtp-picker-datetime').removeClass('hidden'); + + var svgClockElement = this.createSVGClock(false); + + for (var i = 0; i < 60; i++) { + var s = ((i % 5 === 0) ? 162 : 158); + var r = ((i % 5 === 0) ? 30 : 20); + + var x = -(s * (Math.sin(-Math.PI * 2 * (i / 60)))); + var y = -(s * (Math.cos(-Math.PI * 2 * (i / 60)))); + + var color = ((this.currentDate.format("m") == i) ? "#8BC34A" : 'transparent'); + + var svgMinuteCircle = this.createSVGElement("circle", { + 'id': 'm-' + i, + 'class': 'dtp-select-minute', + 'style': 'cursor:pointer', + r: r, + cx: x, + cy: y, + fill: color, + 'data-minute': i + }); + + if (!this.toggleTime(i, false)) { + svgMinuteCircle.className += " disabled"; + } else { + svgMinuteCircle.addEventListener('click', this._onSelectMinute.bind(this)); + } + + svgClockElement.appendChild(svgMinuteCircle) + } + + for (var i = 0; i < 60; i++) { + if ((i % 5) === 0) { + var x = -(162 * (Math.sin(-Math.PI * 2 * (i / 60)))); + var y = -(162 * (Math.cos(-Math.PI * 2 * (i / 60)))); + + var color = ((this.currentDate.format("m") == i) ? "#fff" : '#000'); + + var svgMinuteText = this.createSVGElement("text", { + 'id': 'tm-' + i, + 'class': 'dtp-select-minute-text', + 'text-anchor': 'middle', + 'style': 'cursor:pointer', + 'font-weight': 'bold', + 'font-size': '20', + x: x, + y: y + 7, + fill: color, + 'data-minute': i + }); + svgMinuteText.textContent = i; + + if (!this.toggleTime(i, false)) { + svgMinuteText.className += " disabled"; + svgMinuteText.setAttribute('fill', '#bdbdbd'); + } else { + svgMinuteText.addEventListener('click', this._onSelectMinute.bind(this)); + } + + svgClockElement.appendChild(svgMinuteText) + } + } + + this._centerBox(); + }, + animateHands: function () { + var H = this.currentDate.hour(); + var M = this.currentDate.minute(); + + var hh = this.$dtpElement.find('.hour-hand'); + hh[0].setAttribute('transform', "rotate(" + 360 * H / 12 + ")"); + + var mh = this.$dtpElement.find('.minute-hand'); + mh[0].setAttribute('transform', "rotate(" + 360 * M / 60 + ")"); + }, + createSVGClock: function (isHour) { + var hl = ((this.params.shortTime) ? -120 : -90); + + var svgElement = this.createSVGElement("svg", {class: 'svg-clock', viewBox: '0,0,400,400'}); + var svgGElement = this.createSVGElement("g", {transform: 'translate(200,200) '}); + var svgClockFace = this.createSVGElement("circle", { + r: '192', + fill: '#eee', + stroke: '#bdbdbd', + 'stroke-width': 2 + }); + var svgClockCenter = this.createSVGElement("circle", {r: '15', fill: '#757575'}); + + svgGElement.appendChild(svgClockFace) + + if (isHour) { + var svgMinuteHand = this.createSVGElement("line", { + class: 'minute-hand', + x1: 0, + y1: 0, + x2: 0, + y2: -150, + stroke: '#bdbdbd', + 'stroke-width': 2 + }); + var svgHourHand = this.createSVGElement("line", { + class: 'hour-hand', + x1: 0, + y1: 0, + x2: 0, + y2: hl, + stroke: '#8BC34A', + 'stroke-width': 8 + }); + + svgGElement.appendChild(svgMinuteHand); + svgGElement.appendChild(svgHourHand); + } else { + var svgMinuteHand = this.createSVGElement("line", { + class: 'minute-hand', + x1: 0, + y1: 0, + x2: 0, + y2: -150, + stroke: '#8BC34A', + 'stroke-width': 2 + }); + var svgHourHand = this.createSVGElement("line", { + class: 'hour-hand', + x1: 0, + y1: 0, + x2: 0, + y2: hl, + stroke: '#bdbdbd', + 'stroke-width': 8 + }); + + svgGElement.appendChild(svgHourHand); + svgGElement.appendChild(svgMinuteHand); + } + + svgGElement.appendChild(svgClockCenter) + + svgElement.appendChild(svgGElement) + + this.$dtpElement.find("#dtp-svg-clock").empty(); + this.$dtpElement.find("#dtp-svg-clock")[0].appendChild(svgElement); + + this.animateHands(); + + return svgGElement; + }, + createSVGElement: function (tag, attrs) { + var el = document.createElementNS('http://www.w3.org/2000/svg', tag); + for (var k in attrs) { + el.setAttribute(k, attrs[k]); + } + return el; + }, + isAfterMinDate: function (date, checkHour, checkMinute) { + var _return = true; + + if (typeof (this.minDate) !== 'undefined' && this.minDate !== null) { + var _minDate = moment(this.minDate); + var _date = moment(date); + + if (!checkHour && !checkMinute) { + _minDate.hour(0); + _minDate.minute(0); + + _date.hour(0); + _date.minute(0); + } + + _minDate.second(0); + _date.second(0); + _minDate.millisecond(0); + _date.millisecond(0); + + if (!checkMinute) { + _date.minute(0); + _minDate.minute(0); + + _return = (parseInt(_date.format("X")) >= parseInt(_minDate.format("X"))); + } else { + _return = (parseInt(_date.format("X")) >= parseInt(_minDate.format("X"))); + } + } + + return _return; + }, + isBeforeMaxDate: function (date, checkTime, checkMinute) { + var _return = true; + + if (typeof (this.maxDate) !== 'undefined' && this.maxDate !== null) { + var _maxDate = moment(this.maxDate); + var _date = moment(date); + + if (!checkTime && !checkMinute) { + _maxDate.hour(0); + _maxDate.minute(0); + + _date.hour(0); + _date.minute(0); + } + + _maxDate.second(0); + _date.second(0); + _maxDate.millisecond(0); + _date.millisecond(0); + + if (!checkMinute) { + _date.minute(0); + _maxDate.minute(0); + + _return = (parseInt(_date.format("X")) <= parseInt(_maxDate.format("X"))); + } else { + _return = (parseInt(_date.format("X")) <= parseInt(_maxDate.format("X"))); + } + } + + return _return; + }, + rotateElement: function (el, deg) { + $(el).css + ({ + WebkitTransform: 'rotate(' + deg + 'deg)', + '-moz-transform': 'rotate(' + deg + 'deg)' + }); + }, + showDate: function (date) { + if (date) { + this.$dtpElement.find('.dtp-actual-day').html(date.locale(this.params.lang).format('dddd')); + this.$dtpElement.find('.dtp-actual-month').html(date.locale(this.params.lang).format('MMM').toUpperCase()); + this.$dtpElement.find('.dtp-actual-num').html(date.locale(this.params.lang).format('DD')); + this.$dtpElement.find('.dtp-actual-year').html(date.locale(this.params.lang).format('YYYY')); + } + }, + showTime: function (date) { + if (date) { + var minutes = date.minute(); + var content = ((this.params.shortTime) ? date.format('hh') : date.format('HH')) + ':' + ((minutes.toString().length == 2) ? minutes : '0' + minutes) + ((this.params.shortTime) ? ' ' + date.format('A') : ''); + + if (this.params.date) + this.$dtpElement.find('.dtp-actual-time').html(content); + else { + if (this.params.shortTime) + this.$dtpElement.find('.dtp-actual-day').html(date.format('A')); + else + this.$dtpElement.find('.dtp-actual-day').html(' '); + + this.$dtpElement.find('.dtp-actual-maxtime').html(content); + } + } + }, + selectDate: function (date) { + if (date) { + this.currentDate.date(date); + + this.showDate(this.currentDate); + this.$element.trigger('dateSelected', this.currentDate); + } + }, + generateCalendar: function (date) { + var _calendar = {}; + + if (date !== null) { + var startOfMonth = moment(date).locale(this.params.lang).startOf('month'); + var endOfMonth = moment(date).locale(this.params.lang).endOf('month'); + + var iNumDay = startOfMonth.format('d'); + + _calendar.week = this.days; + _calendar.days = []; + + for (var i = startOfMonth.date(); i <= endOfMonth.date(); i++) { + if (i === startOfMonth.date()) { + var iWeek = _calendar.week.indexOf(iNumDay.toString()); + if (iWeek > 0) { + for (var x = 0; x < iWeek; x++) { + _calendar.days.push(0); + } + } + } + _calendar.days.push(moment(startOfMonth).locale(this.params.lang).date(i)); + } + } + + return _calendar; + }, + constructHTMLCalendar: function (date, calendar) { + var _template = ""; + + _template += '
    ' + date.locale(this.params.lang).format('MMMM YYYY') + '
    '; + _template += ''; + for (var i = 0; i < calendar.week.length; i++) { + _template += ''; + } + + _template += ''; + _template += ''; + + for (var i = 0; i < calendar.days.length; i++) { + if (i % 7 == 0) + _template += ''; + _template += ''; + } + } + _template += '
    ' + moment(parseInt(calendar.week[i]), "d").locale(this.params.lang).format("dd").substring(0, 1) + '
    '; + if (calendar.days[i] != 0) { + if (this.isBeforeMaxDate(moment(calendar.days[i]), false, false) === false || this.isAfterMinDate(moment(calendar.days[i]), false, false) === false) { + _template += '' + moment(calendar.days[i]).locale(this.params.lang).format("DD") + ''; + } else { + if (moment(calendar.days[i]).locale(this.params.lang).format("DD") === moment(this.currentDate).locale(this.params.lang).format("DD")) { + _template += '' + moment(calendar.days[i]).locale(this.params.lang).format("DD") + ''; + } else { + _template += '' + moment(calendar.days[i]).locale(this.params.lang).format("DD") + ''; + } + } + + _template += '
    '; + + return _template; + }, + setName: function () { + var text = ""; + var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + + for (var i = 0; i < 5; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)); + } + + return text; + }, + isPM: function () { + return this.$dtpElement.find('a.dtp-meridien-pm').hasClass('selected'); + }, + setElementValue: function () { + this.$element.trigger('beforeChange', this.currentDate); + if (this.$element.hasClass("mdl-textfield__input")) { + this.$element.removeClass('empty'); + this.$element.parent().addClass("is-dirty"); + } + + this.$element.val(moment(this.currentDate).locale(this.params.lang).format(this.params.format)); + + this.$element.trigger('change', this.currentDate); + }, + toggleButtons: function (date) { + if (date && date.isValid()) { + var startOfMonth = moment(date).locale(this.params.lang).startOf('month'); + var endOfMonth = moment(date).locale(this.params.lang).endOf('month'); + + if (!this.isAfterMinDate(startOfMonth, false, false)) { + this.$dtpElement.find('a.dtp-select-month-before').addClass('invisible'); + } else { + this.$dtpElement.find('a.dtp-select-month-before').removeClass('invisible'); + } + + if (!this.isBeforeMaxDate(endOfMonth, false, false)) { + this.$dtpElement.find('a.dtp-select-month-after').addClass('invisible'); + } else { + this.$dtpElement.find('a.dtp-select-month-after').removeClass('invisible'); + } + + var startOfYear = moment(date).locale(this.params.lang).startOf('year'); + var endOfYear = moment(date).locale(this.params.lang).endOf('year'); + + if (!this.isAfterMinDate(startOfYear, false, false)) { + this.$dtpElement.find('a.dtp-select-year-before').addClass('invisible'); + } else { + this.$dtpElement.find('a.dtp-select-year-before').removeClass('invisible'); + } + + if (!this.isBeforeMaxDate(endOfYear, false, false)) { + this.$dtpElement.find('a.dtp-select-year-after').addClass('invisible'); + } else { + this.$dtpElement.find('a.dtp-select-year-after').removeClass('invisible'); + } + } + }, + toggleTime: function (value, isHours) { + var result = false; + + if (isHours) { + var _date = moment(this.currentDate); + _date.hour(this.convertHours(value)).minute(0).second(0); + + result = !(this.isAfterMinDate(_date, true, false) === false || this.isBeforeMaxDate(_date, true, false) === false); + } else { + var _date = moment(this.currentDate); + _date.minute(value).second(0); + + result = !(this.isAfterMinDate(_date, true, true) === false || this.isBeforeMaxDate(_date, true, true) === false); + } + + return result; + }, + _attachEvent: function (el, ev, fn) { + el.on(ev, null, null, fn); + this._attachedEvents.push([el, ev, fn]); + }, + _detachEvents: function () { + for (var i = this._attachedEvents.length - 1; i >= 0; i--) { + this._attachedEvents[i][0].off(this._attachedEvents[i][1], this._attachedEvents[i][2]); + this._attachedEvents.splice(i, 1); + } + }, + _fireCalendar: function () { + this.currentView = 0; + this.$element.blur(); + + this.initDates(); + + this.show(); + + if (this.params.date) { + this.$dtpElement.find('.dtp-date').removeClass('hidden'); + this.initDate(); + } else { + if (this.params.time) { + this.$dtpElement.find('.dtp-time').removeClass('hidden'); + this.initHours(); + } + } + }, + _onBackgroundClick: function (e) { + e.stopPropagation(); + this.hide(); + }, + _onElementClick: function (e) { + e.stopPropagation(); + }, + _onKeydown: function (e) { + if (e.which === 27) { + this.hide(); + } + }, + _onCloseClick: function () { + this.hide(); + }, + _onClearClick: function () { + this.currentDate = null; + this.$element.trigger('beforeChange', this.currentDate); + this.hide(); + if (typeof ($.material) !== 'undefined') { + this.$element.addClass('empty'); + } + this.$element.val(''); + this.$element.trigger('change', this.currentDate); + }, + _onNowClick: function () { + this.currentDate = moment(); + + if (this.params.date === true) { + this.showDate(this.currentDate); + + if (this.currentView === 0) { + this.initDate(); + } + } + + if (this.params.time === true) { + this.showTime(this.currentDate); + + switch (this.currentView) { + case 1 : + this.initHours(); + break; + case 2 : + this.initMinutes(); + break; + } + + this.animateHands(); + } + }, + _onOKClick: function () { + switch (this.currentView) { + case 0: + if (this.params.time === true) { + this.initHours(); + } else { + this.setElementValue(); + this.hide(); + } + break; + case 1: + this.initMinutes(); + break; + case 2: + this.setElementValue(); + this.hide(); + break; + } + }, + _onCancelClick: function () { + if (this.params.time) { + switch (this.currentView) { + case 0: + this.hide(); + break; + case 1: + if (this.params.date) { + this.initDate(); + } else { + this.hide(); + } + break; + case 2: + this.initHours(); + break; + } + } else { + this.hide(); + } + }, + _onMonthBeforeClick: function () { + this.currentDate.subtract(1, 'months'); + this.initDate(this.currentDate); + }, + _onMonthAfterClick: function () { + this.currentDate.add(1, 'months'); + this.initDate(this.currentDate); + }, + _onYearBeforeClick: function () { + this.currentDate.subtract(1, 'years'); + this.initDate(this.currentDate); + }, + _onYearAfterClick: function () { + this.currentDate.add(1, 'years'); + this.initDate(this.currentDate); + }, + _onSelectDate: function (e) { + this.$dtpElement.find('a.dtp-select-day').removeClass('selected'); + $(e.currentTarget).addClass('selected'); + + this.selectDate($(e.currentTarget).parent().data("date")); + + if (this.params.switchOnClick === true && this.params.time === true) + setTimeout(this.initHours.bind(this), 200); + + if (this.params.switchOnClick === true && this.params.time === false) { + setTimeout(this._onOKClick.bind(this), 200); + } + + }, + _onSelectHour: function (e) { + if (!$(e.target).hasClass('disabled')) { + var value = $(e.target).data('hour'); + var parent = $(e.target).parent(); + + var h = parent.find('.dtp-select-hour'); + for (var i = 0; i < h.length; i++) { + $(h[i]).attr('fill', 'transparent'); + } + var th = parent.find('.dtp-select-hour-text'); + for (var i = 0; i < th.length; i++) { + $(th[i]).attr('fill', '#000'); + } + + $(parent.find('#h-' + value)).attr('fill', '#8BC34A'); + $(parent.find('#th-' + value)).attr('fill', '#fff'); + + this.currentDate.hour(parseInt(value)); + + if (this.params.shortTime === true && this.isPM()) { + this.currentDate.add(12, 'hours'); + } + + this.showTime(this.currentDate); + + this.animateHands(); + + if (this.params.switchOnClick === true) + setTimeout(this.initMinutes.bind(this), 200); + } + }, + _onSelectMinute: function (e) { + if (!$(e.target).hasClass('disabled')) { + var value = $(e.target).data('minute'); + var parent = $(e.target).parent(); + + var m = parent.find('.dtp-select-minute'); + for (var i = 0; i < m.length; i++) { + $(m[i]).attr('fill', 'transparent'); + } + var tm = parent.find('.dtp-select-minute-text'); + for (var i = 0; i < tm.length; i++) { + $(tm[i]).attr('fill', '#000'); + } + + $(parent.find('#m-' + value)).attr('fill', '#8BC34A'); + $(parent.find('#tm-' + value)).attr('fill', '#fff'); + + this.currentDate.minute(parseInt(value)); + this.showTime(this.currentDate); + + this.animateHands(); + + if (this.params.switchOnClick === true) + setTimeout(function () { + this.setElementValue(); + this.hide(); + }.bind(this), 200); + } + }, + _onSelectAM: function (e) { + $('.dtp-actual-meridien').find('a').removeClass('selected'); + $(e.currentTarget).addClass('selected'); + + if (this.currentDate.hour() >= 12) { + if (this.currentDate.subtract(12, 'hours')) + this.showTime(this.currentDate); + } + this.toggleTime((this.currentView === 1)); + }, + _onSelectPM: function (e) { + $('.dtp-actual-meridien').find('a').removeClass('selected'); + $(e.currentTarget).addClass('selected'); + + if (this.currentDate.hour() < 12) { + if (this.currentDate.add(12, 'hours')) + this.showTime(this.currentDate); + } + this.toggleTime((this.currentView === 1)); + }, + convertHours: function (h) { + var _return = h; + + if (this.params.shortTime === true) { + if ((h < 12) && this.isPM()) { + _return += 12; + } + } + + return _return; + }, + setDate: function (date) { + this.params.currentDate = date; + this.initDates(); + }, + setMinDate: function (date) { + this.params.minDate = date; + this.initDates(); + }, + setMaxDate: function (date) { + this.params.maxDate = date; + this.initDates(); + }, + destroy: function () { + this._detachEvents(); + this.$dtpElement.remove(); + }, + show: function () { + this.$dtpElement.removeClass('hidden'); + this._attachEvent($(window), 'keydown', this._onKeydown.bind(this)); + this._centerBox(); + }, + hide: function () { + $(window).off('keydown', null, null, this._onKeydown.bind(this)); + this.$dtpElement.addClass('hidden'); + }, + _centerBox: function () { + var h = (this.$dtpElement.height() - this.$dtpElement.find('.dtp-content').height()) / 2; + this.$dtpElement.find('.dtp-content').css('marginLeft', -(this.$dtpElement.find('.dtp-content').width() / 2) + 'px'); + this.$dtpElement.find('.dtp-content').css('top', h + 'px'); + }, + enableDays: function () { + var enableDays = this.params.enableDays; + if (enableDays) { + $(".dtp-picker-days tbody tr td").each(function () { + if (!(($.inArray($(this).index(), enableDays)) >= 0)) { + $(this).find('a').css({ + "background": "#e3e3e3", + "cursor": "no-drop", + "opacity": "0.5" + }).off("click"); + } + }); + } + } + + }; +})(jQuery, moment); \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.map b/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.map new file mode 100644 index 000000000..76f1256ca --- /dev/null +++ b/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"bootstrap-material-datetimepicker.min.js", +"lineCount":48, +"mappings":"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", +"sources":[" [synthetic:base] "," [synthetic:util/findinternal] "," [synthetic:util/defineproperty] "," [synthetic:util/global] "," [synthetic:util/polyfill] "," [synthetic:es6/array/find] ","bootstrap-material-datetimepicker.js"], +"names":["$","moment","Plugin","element","options","currentView","minDate","maxDate","_attachedEvents","$element","params","date","time","format","currentDate","lang","weekStart","shortTime","clearButton","nowButton","cancelText","okText","clearText","nowText","switchOnClick","triggerEvent","fn","extend","name","setName","attr","locale","init","p","each","data","pluginDataName","removeData","prototype","initDays","initDates","initTemplate","initButtons","_attachEvent","window","_centerBox","bind","$dtpElement","find","_onElementClick","_onBackgroundClick","_onCloseClick","_fireCalendar","days","i","length","push","toString","val","isValid","x","getTime","isAfterMinDate","isBeforeMaxDate","template","$body","append","dtpElement","_onCancelClick","_onOKClick","_onMonthBeforeClick","_onMonthAfterClick","_onYearBeforeClick","_onYearAfterClick","_onClearClick","removeClass","_onNowClick","addClass","initMeridienButtons","off","on","_onSelectAM","_onSelectPM","initDate","d","_date","_calendar","generateCalendar","week","_template","constructHTMLCalendar","html","_onSelectDate","toggleButtons","showDate","initHours","showTime","hour","click","hFormat","svgClockElement","createSVGClock","Math","sin","PI","y","cos","fill","color","svgHourCircle","createSVGElement","r","cx","cy","svgHourText","textContent","toggleTime","addEventListener","_onSelectHour","className","setAttribute","appendChild","initMinutes","s","svgMinuteCircle","_onSelectMinute","svgMinuteText","animateHands","H","M","minute","hh","mh","isHour","hl","svgElement","class","viewBox","svgGElement","transform","svgClockFace","stroke","svgClockCenter","svgMinuteHand","x1","y1","x2","y2","svgHourHand","empty","tag","attrs","el","document","createElementNS","k","checkHour","checkMinute","_return","_minDate","second","millisecond","parseInt","checkTime","_maxDate","rotateElement","deg","css","WebkitTransform","toUpperCase","minutes","content","selectDate","trigger","startOfMonth","startOf","endOfMonth","endOf","iNumDay","iWeek","indexOf","calendar","substring","text","possible","charAt","floor","random","isPM","hasClass","setElementValue","parent","startOfYear","endOfYear","value","isHours","result","convertHours","ev","_detachEvents","splice","blur","show","e","stopPropagation","hide","_onKeydown","which","material","subtract","add","currentTarget","setTimeout","target","h","th","m","tm","setDate","setMinDate","setMaxDate","destroy","remove","height","width","enableDays","inArray","index","jQuery"] +} diff --git a/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.min.js b/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.min.js new file mode 100644 index 000000000..b10fa528a --- /dev/null +++ b/app/modules/web/themes/material-dark/js/bootstrap-material-datetimepicker.min.js @@ -0,0 +1,48 @@ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(c,d,g){c instanceof String&&(c=String(c));for(var a=c.length,b=0;b a"),"click",this._onCloseClick.bind(this));this._attachEvent(this.$element,this.params.triggerEvent,this._fireCalendar.bind(this))},initDays:function(){this.days=[];for(var a=this.params.weekStart;7> +this.days.length;a++)6
    ';var a=c("body");0>=a.find("#"+this.name).length&&(a.append(this.template), +this&&(this.dtpElement=a.find("#"+this.name)),this.$dtpElement=c(this.dtpElement))},initButtons:function(){this._attachEvent(this.$dtpElement.find(".dtp-btn-cancel"),"click",this._onCancelClick.bind(this));this._attachEvent(this.$dtpElement.find(".dtp-btn-ok"),"click",this._onOKClick.bind(this));this._attachEvent(this.$dtpElement.find("a.dtp-select-month-before"),"click",this._onMonthBeforeClick.bind(this));this._attachEvent(this.$dtpElement.find("a.dtp-select-month-after"),"click",this._onMonthAfterClick.bind(this)); +this._attachEvent(this.$dtpElement.find("a.dtp-select-year-before"),"click",this._onYearBeforeClick.bind(this));this._attachEvent(this.$dtpElement.find("a.dtp-select-year-after"),"click",this._onYearAfterClick.bind(this));!0===this.params.clearButton&&(this._attachEvent(this.$dtpElement.find(".dtp-btn-clear"),"click",this._onClearClick.bind(this)),this.$dtpElement.find(".dtp-btn-clear").removeClass("hidden"));!0===this.params.nowButton&&(this._attachEvent(this.$dtpElement.find(".dtp-btn-now"),"click", +this._onNowClick.bind(this)),this.$dtpElement.find(".dtp-btn-now").removeClass("hidden"));!0===this.params.nowButton&&!0===this.params.clearButton?this.$dtpElement.find(".dtp-btn-clear, .dtp-btn-now, .dtp-btn-cancel, .dtp-btn-ok").addClass("btn-xs"):(!0===this.params.nowButton||!0===this.params.clearButton)&&this.$dtpElement.find(".dtp-btn-clear, .dtp-btn-now, .dtp-btn-cancel, .dtp-btn-ok").addClass("btn-sm")},initMeridienButtons:function(){this.$dtpElement.find("a.dtp-meridien-am").off("click").on("click", +this._onSelectAM.bind(this));this.$dtpElement.find("a.dtp-meridien-pm").off("click").on("click",this._onSelectPM.bind(this))},initDate:function(a){this.currentView=0;this.$dtpElement.find(".dtp-picker-calendar").removeClass("hidden");this.$dtpElement.find(".dtp-picker-datetime").addClass("hidden");a="undefined"!==typeof this.currentDate&&null!==this.currentDate?this.currentDate:null;var b=this.generateCalendar(this.currentDate);"undefined"!==typeof b.week&&"undefined"!==typeof b.days&&(b=this.constructHTMLCalendar(a, +b),this.$dtpElement.find("a.dtp-select-day").off("click"),this.$dtpElement.find(".dtp-picker-calendar").html(b),this.$dtpElement.find("a.dtp-select-day").on("click",this._onSelectDate.bind(this)),this.toggleButtons(a));this._centerBox();this.showDate(a)},initHours:function(){this.currentView=1;this.showTime(this.currentDate);this.initMeridienButtons();12>this.currentDate.hour()?this.$dtpElement.find("a.dtp-meridien-am").click():this.$dtpElement.find("a.dtp-meridien-pm").click();var a=this.params.shortTime? +"h":"H";this.$dtpElement.find(".dtp-picker-datetime").removeClass("hidden");this.$dtpElement.find(".dtp-picker-calendar").addClass("hidden");for(var b=this.createSVGClock(!0),f=0;12>f;f++){var e=-(162*Math.sin(f/12*-Math.PI*2)),c=-(162*Math.cos(f/12*-Math.PI*2)),d=this.currentDate.format(a)==f?"#8BC34A":"transparent",g=this.currentDate.format(a)==f?"#fff":"#000";d=this.createSVGElement("circle",{id:"h-"+f,"class":"dtp-select-hour",style:"cursor:pointer",r:"30",cx:e,cy:c,fill:d,"data-hour":f});e=this.createSVGElement("text", +{id:"th-"+f,"class":"dtp-select-hour-text","text-anchor":"middle",style:"cursor:pointer","font-weight":"bold","font-size":"20",x:e,y:c+7,fill:g,"data-hour":f});e.textContent=0===f?this.params.shortTime?12:f:f;this.toggleTime(f,!0)?(d.addEventListener("click",this._onSelectHour.bind(this)),e.addEventListener("click",this._onSelectHour.bind(this))):(d.className+=" disabled",e.className+=" disabled",e.setAttribute("fill","#bdbdbd"));b.appendChild(d);b.appendChild(e)}if(!this.params.shortTime){for(f= +0;12>f;f++)e=-(110*Math.sin(f/12*-Math.PI*2)),c=-(110*Math.cos(f/12*-Math.PI*2)),d=this.currentDate.format(a)==f+12?"#8BC34A":"transparent",g=this.currentDate.format(a)==f+12?"#fff":"#000",d=this.createSVGElement("circle",{id:"h-"+(f+12),"class":"dtp-select-hour",style:"cursor:pointer",r:"30",cx:e,cy:c,fill:d,"data-hour":f+12}),e=this.createSVGElement("text",{id:"th-"+(f+12),"class":"dtp-select-hour-text","text-anchor":"middle",style:"cursor:pointer","font-weight":"bold","font-size":"22",x:e,y:c+ +7,fill:g,"data-hour":f+12}),e.textContent=f+12,this.toggleTime(f+12,!0)?(d.addEventListener("click",this._onSelectHour.bind(this)),e.addEventListener("click",this._onSelectHour.bind(this))):(d.className+=" disabled",e.className+=" disabled",e.setAttribute("fill","#bdbdbd")),b.appendChild(d),b.appendChild(e);this.$dtpElement.find("a.dtp-meridien-am").addClass("hidden");this.$dtpElement.find("a.dtp-meridien-pm").addClass("hidden")}this._centerBox()},initMinutes:function(){this.currentView=2;this.showTime(this.currentDate); +this.initMeridienButtons();12>this.currentDate.hour()?this.$dtpElement.find("a.dtp-meridien-am").click():this.$dtpElement.find("a.dtp-meridien-pm").click();this.$dtpElement.find(".dtp-picker-calendar").addClass("hidden");this.$dtpElement.find(".dtp-picker-datetime").removeClass("hidden");for(var a=this.createSVGClock(!1),b=0;60>b;b++){var f=0===b%5?162:158,e=0===b%5?30:20,c=-(f*Math.sin(b/60*-Math.PI*2));f=-(f*Math.cos(b/60*-Math.PI*2));var d=this.currentDate.format("m")==b?"#8BC34A":"transparent"; +e=this.createSVGElement("circle",{id:"m-"+b,"class":"dtp-select-minute",style:"cursor:pointer",r:e,cx:c,cy:f,fill:d,"data-minute":b});this.toggleTime(b,!1)?e.addEventListener("click",this._onSelectMinute.bind(this)):e.className+=" disabled";a.appendChild(e)}for(b=0;60>b;b++)0===b%5&&(c=-(162*Math.sin(b/60*-Math.PI*2)),f=-(162*Math.cos(b/60*-Math.PI*2)),d=this.currentDate.format("m")==b?"#fff":"#000",e=this.createSVGElement("text",{id:"tm-"+b,"class":"dtp-select-minute-text","text-anchor":"middle", +style:"cursor:pointer","font-weight":"bold","font-size":"20",x:c,y:f+7,fill:d,"data-minute":b}),e.textContent=b,this.toggleTime(b,!1)?e.addEventListener("click",this._onSelectMinute.bind(this)):(e.className+=" disabled",e.setAttribute("fill","#bdbdbd")),a.appendChild(e));this._centerBox()},animateHands:function(){var a=this.currentDate.hour(),b=this.currentDate.minute();this.$dtpElement.find(".hour-hand")[0].setAttribute("transform","rotate("+360*a/12+")");this.$dtpElement.find(".minute-hand")[0].setAttribute("transform", +"rotate("+360*b/60+")")},createSVGClock:function(a){var b=this.params.shortTime?-120:-90,f=this.createSVGElement("svg",{class:"svg-clock",viewBox:"0,0,400,400"}),e=this.createSVGElement("g",{transform:"translate(200,200) "}),c=this.createSVGElement("circle",{r:"192",fill:"#eee",stroke:"#bdbdbd","stroke-width":2}),d=this.createSVGElement("circle",{r:"15",fill:"#757575"});e.appendChild(c);a?(a=this.createSVGElement("line",{class:"minute-hand",x1:0,y1:0,x2:0,y2:-150,stroke:"#bdbdbd","stroke-width":2}), +b=this.createSVGElement("line",{class:"hour-hand",x1:0,y1:0,x2:0,y2:b,stroke:"#8BC34A","stroke-width":8}),e.appendChild(a),e.appendChild(b)):(a=this.createSVGElement("line",{class:"minute-hand",x1:0,y1:0,x2:0,y2:-150,stroke:"#8BC34A","stroke-width":2}),b=this.createSVGElement("line",{class:"hour-hand",x1:0,y1:0,x2:0,y2:b,stroke:"#bdbdbd","stroke-width":8}),e.appendChild(b),e.appendChild(a));e.appendChild(d);f.appendChild(e);this.$dtpElement.find("#dtp-svg-clock").empty();this.$dtpElement.find("#dtp-svg-clock")[0].appendChild(f); +this.animateHands();return e},createSVGElement:function(a,b){a=document.createElementNS("http://www.w3.org/2000/svg",a);for(var f in b)a.setAttribute(f,b[f]);return a},isAfterMinDate:function(a,b,f){var c=!0;"undefined"!==typeof this.minDate&&null!==this.minDate&&(c=d(this.minDate),a=d(a),b||f||(c.hour(0),c.minute(0),a.hour(0),a.minute(0)),c.second(0),a.second(0),c.millisecond(0),a.millisecond(0),f||(a.minute(0),c.minute(0)),c=parseInt(a.format("X"))>=parseInt(c.format("X")));return c},isBeforeMaxDate:function(a, +b,c){var f=!0;"undefined"!==typeof this.maxDate&&null!==this.maxDate&&(f=d(this.maxDate),a=d(a),b||c||(f.hour(0),f.minute(0),a.hour(0),a.minute(0)),f.second(0),a.second(0),f.millisecond(0),a.millisecond(0),c||(a.minute(0),f.minute(0)),f=parseInt(a.format("X"))<=parseInt(f.format("X")));return f},rotateElement:function(a,b){c(a).css({WebkitTransform:"rotate("+b+"deg)","-moz-transform":"rotate("+b+"deg)"})},showDate:function(a){a&&(this.$dtpElement.find(".dtp-actual-day").html(a.locale(this.params.lang).format("dddd")), +this.$dtpElement.find(".dtp-actual-month").html(a.locale(this.params.lang).format("MMM").toUpperCase()),this.$dtpElement.find(".dtp-actual-num").html(a.locale(this.params.lang).format("DD")),this.$dtpElement.find(".dtp-actual-year").html(a.locale(this.params.lang).format("YYYY")))},showTime:function(a){if(a){var b=a.minute();b=(this.params.shortTime?a.format("hh"):a.format("HH"))+":"+(2==b.toString().length?b:"0"+b)+(this.params.shortTime?" "+a.format("A"):"");this.params.date?this.$dtpElement.find(".dtp-actual-time").html(b): +(this.params.shortTime?this.$dtpElement.find(".dtp-actual-day").html(a.format("A")):this.$dtpElement.find(".dtp-actual-day").html(" "),this.$dtpElement.find(".dtp-actual-maxtime").html(b))}},selectDate:function(a){a&&(this.currentDate.date(a),this.showDate(this.currentDate),this.$element.trigger("dateSelected",this.currentDate))},generateCalendar:function(a){var b={};if(null!==a){var c=d(a).locale(this.params.lang).startOf("month");a=d(a).locale(this.params.lang).endOf("month");var e=c.format("d"); +b.week=this.days;b.days=[];for(var g=c.date();g<=a.date();g++){if(g===c.date()){var h=b.week.indexOf(e.toString());if(0";a+='';for(var c=0;c"+d(parseInt(b.week[c]),"d").locale(this.params.lang).format("dd").substring(0, +1)+"";a+="";for(c=0;c"),a+='");return a+"
    ',0!=b.days[c]&&(a=!1===this.isBeforeMaxDate(d(b.days[c]),!1,!1)||!1===this.isAfterMinDate(d(b.days[c]),!1,!1)?a+(''+d(b.days[c]).locale(this.params.lang).format("DD")+""):d(b.days[c]).locale(this.params.lang).format("DD")===d(this.currentDate).locale(this.params.lang).format("DD")?a+(''+ +d(b.days[c]).locale(this.params.lang).format("DD")+""):a+(''+d(b.days[c]).locale(this.params.lang).format("DD")+""),a+="
    "},setName:function(){for(var a="",b=0;5>b;b++)a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return a},isPM:function(){return this.$dtpElement.find("a.dtp-meridien-pm").hasClass("selected")},setElementValue:function(){this.$element.trigger("beforeChange", +this.currentDate);this.$element.hasClass("mdl-textfield__input")&&(this.$element.removeClass("empty"),this.$element.parent().addClass("is-dirty"));this.$element.val(d(this.currentDate).locale(this.params.lang).format(this.params.format));this.$element.trigger("change",this.currentDate)},toggleButtons:function(a){if(a&&a.isValid()){var b=d(a).locale(this.params.lang).startOf("month"),c=d(a).locale(this.params.lang).endOf("month");this.isAfterMinDate(b,!1,!1)?this.$dtpElement.find("a.dtp-select-month-before").removeClass("invisible"): +this.$dtpElement.find("a.dtp-select-month-before").addClass("invisible");this.isBeforeMaxDate(c,!1,!1)?this.$dtpElement.find("a.dtp-select-month-after").removeClass("invisible"):this.$dtpElement.find("a.dtp-select-month-after").addClass("invisible");b=d(a).locale(this.params.lang).startOf("year");a=d(a).locale(this.params.lang).endOf("year");this.isAfterMinDate(b,!1,!1)?this.$dtpElement.find("a.dtp-select-year-before").removeClass("invisible"):this.$dtpElement.find("a.dtp-select-year-before").addClass("invisible"); +this.isBeforeMaxDate(a,!1,!1)?this.$dtpElement.find("a.dtp-select-year-after").removeClass("invisible"):this.$dtpElement.find("a.dtp-select-year-after").addClass("invisible")}},toggleTime:function(a,b){b?(b=d(this.currentDate),b.hour(this.convertHours(a)).minute(0).second(0),a=!(!1===this.isAfterMinDate(b,!0,!1)||!1===this.isBeforeMaxDate(b,!0,!1))):(b=d(this.currentDate),b.minute(a).second(0),a=!(!1===this.isAfterMinDate(b,!0,!0)||!1===this.isBeforeMaxDate(b,!0,!0)));return a},_attachEvent:function(a, +b,c){a.on(b,null,null,c);this._attachedEvents.push([a,b,c])},_detachEvents:function(){for(var a=this._attachedEvents.length-1;0<=a;a--)this._attachedEvents[a][0].off(this._attachedEvents[a][1],this._attachedEvents[a][2]),this._attachedEvents.splice(a,1)},_fireCalendar:function(){this.currentView=0;this.$element.blur();this.initDates();this.show();this.params.date?(this.$dtpElement.find(".dtp-date").removeClass("hidden"),this.initDate()):this.params.time&&(this.$dtpElement.find(".dtp-time").removeClass("hidden"), +this.initHours())},_onBackgroundClick:function(a){a.stopPropagation();this.hide()},_onElementClick:function(a){a.stopPropagation()},_onKeydown:function(a){27===a.which&&this.hide()},_onCloseClick:function(){this.hide()},_onClearClick:function(){this.currentDate=null;this.$element.trigger("beforeChange",this.currentDate);this.hide();"undefined"!==typeof c.material&&this.$element.addClass("empty");this.$element.val("");this.$element.trigger("change",this.currentDate)},_onNowClick:function(){this.currentDate= +d();!0===this.params.date&&(this.showDate(this.currentDate),0===this.currentView&&this.initDate());if(!0===this.params.time){this.showTime(this.currentDate);switch(this.currentView){case 1:this.initHours();break;case 2:this.initMinutes()}this.animateHands()}},_onOKClick:function(){switch(this.currentView){case 0:!0===this.params.time?this.initHours():(this.setElementValue(),this.hide());break;case 1:this.initMinutes();break;case 2:this.setElementValue(),this.hide()}},_onCancelClick:function(){if(this.params.time)switch(this.currentView){case 0:this.hide(); +break;case 1:this.params.date?this.initDate():this.hide();break;case 2:this.initHours()}else this.hide()},_onMonthBeforeClick:function(){this.currentDate.subtract(1,"months");this.initDate(this.currentDate)},_onMonthAfterClick:function(){this.currentDate.add(1,"months");this.initDate(this.currentDate)},_onYearBeforeClick:function(){this.currentDate.subtract(1,"years");this.initDate(this.currentDate)},_onYearAfterClick:function(){this.currentDate.add(1,"years");this.initDate(this.currentDate)},_onSelectDate:function(a){this.$dtpElement.find("a.dtp-select-day").removeClass("selected"); +c(a.currentTarget).addClass("selected");this.selectDate(c(a.currentTarget).parent().data("date"));!0===this.params.switchOnClick&&!0===this.params.time&&setTimeout(this.initHours.bind(this),200);!0===this.params.switchOnClick&&!1===this.params.time&&setTimeout(this._onOKClick.bind(this),200)},_onSelectHour:function(a){if(!c(a.target).hasClass("disabled")){var b=c(a.target).data("hour");a=c(a.target).parent();for(var d=a.find(".dtp-select-hour"),e=0;ethis.currentDate.hour()&&this.currentDate.add(12,"hours")&&this.showTime(this.currentDate);this.toggleTime(1===this.currentView)},convertHours:function(a){var b=a;!0===this.params.shortTime&&12>a&& +this.isPM()&&(b+=12);return b},setDate:function(a){this.params.currentDate=a;this.initDates()},setMinDate:function(a){this.params.minDate=a;this.initDates()},setMaxDate:function(a){this.params.maxDate=a;this.initDates()},destroy:function(){this._detachEvents();this.$dtpElement.remove()},show:function(){this.$dtpElement.removeClass("hidden");this._attachEvent(c(window),"keydown",this._onKeydown.bind(this));this._centerBox()},hide:function(){c(window).off("keydown",null,null,this._onKeydown.bind(this)); +this.$dtpElement.addClass("hidden")},_centerBox:function(){var a=(this.$dtpElement.height()-this.$dtpElement.find(".dtp-content").height())/2;this.$dtpElement.find(".dtp-content").css("marginLeft",-(this.$dtpElement.find(".dtp-content").width()/2)+"px");this.$dtpElement.find(".dtp-content").css("top",a+"px")},enableDays:function(){var a=this.params.enableDays;a&&c(".dtp-picker-days tbody tr td").each(function(){0<=c.inArray(c(this).index(),a)||c(this).find("a").css({background:"#e3e3e3",cursor:"no-drop", +opacity:"0.5"}).off("click")})}}})(jQuery,moment); diff --git a/app/modules/web/themes/material-dark/js/material.js b/app/modules/web/themes/material-dark/js/material.js new file mode 100644 index 000000000..994825a4b --- /dev/null +++ b/app/modules/web/themes/material-dark/js/material.js @@ -0,0 +1,3996 @@ +;(function() { +"use strict"; + +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ + +/** + * A component handler interface using the revealing module design pattern. + * More details on this design pattern here: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @author Jason Mayes. + */ +/* exported componentHandler */ + +// Pre-defining the componentHandler interface, for closure documentation and +// static verification. +var componentHandler = { + /** + * Searches existing DOM for elements of our component type and upgrades them + * if they have not already been upgraded. + * + * @param {string=} optJsClass the programatic name of the element class we + * need to create a new instance of. + * @param {string=} optCssClass the name of the CSS class elements of this + * type will have. + */ + upgradeDom: function(optJsClass, optCssClass) {}, + /** + * Upgrades a specific element rather than all in the DOM. + * + * @param {!Element} element The element we wish to upgrade. + * @param {string=} optJsClass Optional name of the class we want to upgrade + * the element to. + */ + upgradeElement: function(element, optJsClass) {}, + /** + * Upgrades a specific list of elements rather than all in the DOM. + * + * @param {!Element|!Array|!NodeList|!HTMLCollection} elements + * The elements we wish to upgrade. + */ + upgradeElements: function(elements) {}, + /** + * Upgrades all registered components found in the current DOM. This is + * automatically called on window load. + */ + upgradeAllRegistered: function() {}, + /** + * Allows user to be alerted to any upgrades that are performed for a given + * component type + * + * @param {string} jsClass The class name of the MDL component we wish + * to hook into for any upgrades performed. + * @param {function(!HTMLElement)} callback The function to call upon an + * upgrade. This function should expect 1 parameter - the HTMLElement which + * got upgraded. + */ + registerUpgradedCallback: function(jsClass, callback) {}, + /** + * Registers a class for future use and attempts to upgrade existing DOM. + * + * @param {componentHandler.ComponentConfigPublic} config the registration configuration + */ + register: function(config) {}, + /** + * Downgrade either a given node, an array of nodes, or a NodeList. + * + * @param {!Node|!Array|!NodeList} nodes + */ + downgradeElements: function(nodes) {} +}; + +componentHandler = (function() { + 'use strict'; + + /** @type {!Array} */ + var registeredComponents_ = []; + + /** @type {!Array} */ + var createdComponents_ = []; + + var componentConfigProperty_ = 'mdlComponentConfigInternal_'; + + /** + * Searches registered components for a class we are interested in using. + * Optionally replaces a match with passed object if specified. + * + * @param {string} name The name of a class we want to use. + * @param {componentHandler.ComponentConfig=} optReplace Optional object to replace match with. + * @return {!Object|boolean} + * @private + */ + function findRegisteredClass_(name, optReplace) { + for (var i = 0; i < registeredComponents_.length; i++) { + if (registeredComponents_[i].className === name) { + if (typeof optReplace !== 'undefined') { + registeredComponents_[i] = optReplace; + } + return registeredComponents_[i]; + } + } + return false; + } + + /** + * Returns an array of the classNames of the upgraded classes on the element. + * + * @param {!Element} element The element to fetch data from. + * @return {!Array} + * @private + */ + function getUpgradedListOfElement_(element) { + var dataUpgraded = element.getAttribute('data-upgraded'); + // Use `['']` as default value to conform the `,name,name...` style. + return dataUpgraded === null ? [''] : dataUpgraded.split(','); + } + + /** + * Returns true if the given element has already been upgraded for the given + * class. + * + * @param {!Element} element The element we want to check. + * @param {string} jsClass The class to check for. + * @returns {boolean} + * @private + */ + function isElementUpgraded_(element, jsClass) { + var upgradedList = getUpgradedListOfElement_(element); + return upgradedList.indexOf(jsClass) !== -1; + } + + /** + * Create an event object. + * + * @param {string} eventType The type name of the event. + * @param {boolean} bubbles Whether the event should bubble up the DOM. + * @param {boolean} cancelable Whether the event can be canceled. + * @returns {!Event} + */ + function createEvent_(eventType, bubbles, cancelable) { + if ('CustomEvent' in window && typeof window.CustomEvent === 'function') { + return new CustomEvent(eventType, { + bubbles: bubbles, + cancelable: cancelable + }); + } else { + var ev = document.createEvent('Events'); + ev.initEvent(eventType, bubbles, cancelable); + return ev; + } + } + + /** + * Searches existing DOM for elements of our component type and upgrades them + * if they have not already been upgraded. + * + * @param {string=} optJsClass the programatic name of the element class we + * need to create a new instance of. + * @param {string=} optCssClass the name of the CSS class elements of this + * type will have. + */ + function upgradeDomInternal(optJsClass, optCssClass) { + if (typeof optJsClass === 'undefined' && + typeof optCssClass === 'undefined') { + for (var i = 0; i < registeredComponents_.length; i++) { + upgradeDomInternal(registeredComponents_[i].className, + registeredComponents_[i].cssClass); + } + } else { + var jsClass = /** @type {string} */ (optJsClass); + if (typeof optCssClass === 'undefined') { + var registeredClass = findRegisteredClass_(jsClass); + if (registeredClass) { + optCssClass = registeredClass.cssClass; + } + } + + var elements = document.querySelectorAll('.' + optCssClass); + for (var n = 0; n < elements.length; n++) { + upgradeElementInternal(elements[n], jsClass); + } + } + } + + /** + * Upgrades a specific element rather than all in the DOM. + * + * @param {!Element} element The element we wish to upgrade. + * @param {string=} optJsClass Optional name of the class we want to upgrade + * the element to. + */ + function upgradeElementInternal(element, optJsClass) { + // Verify argument type. + if (!(typeof element === 'object' && element instanceof Element)) { + throw new Error('Invalid argument provided to upgrade MDL element.'); + } + // Allow upgrade to be canceled by canceling emitted event. + var upgradingEv = createEvent_('mdl-componentupgrading', true, true); + element.dispatchEvent(upgradingEv); + if (upgradingEv.defaultPrevented) { + return; + } + + var upgradedList = getUpgradedListOfElement_(element); + var classesToUpgrade = []; + // If jsClass is not provided scan the registered components to find the + // ones matching the element's CSS classList. + if (!optJsClass) { + var classList = element.classList; + registeredComponents_.forEach(function(component) { + // Match CSS & Not to be upgraded & Not upgraded. + if (classList.contains(component.cssClass) && + classesToUpgrade.indexOf(component) === -1 && + !isElementUpgraded_(element, component.className)) { + classesToUpgrade.push(component); + } + }); + } else if (!isElementUpgraded_(element, optJsClass)) { + classesToUpgrade.push(findRegisteredClass_(optJsClass)); + } + + // Upgrade the element for each classes. + for (var i = 0, n = classesToUpgrade.length, registeredClass; i < n; i++) { + registeredClass = classesToUpgrade[i]; + if (registeredClass) { + // Mark element as upgraded. + upgradedList.push(registeredClass.className); + element.setAttribute('data-upgraded', upgradedList.join(',')); + var instance = new registeredClass.classConstructor(element); + instance[componentConfigProperty_] = registeredClass; + createdComponents_.push(instance); + // Call any callbacks the user has registered with this component type. + for (var j = 0, m = registeredClass.callbacks.length; j < m; j++) { + registeredClass.callbacks[j](element); + } + + if (registeredClass.widget) { + // Assign per element instance for control over API + element[registeredClass.className] = instance; + } + } else { + throw new Error( + 'Unable to find a registered component for the given class.'); + } + + var upgradedEv = createEvent_('mdl-componentupgraded', true, false); + element.dispatchEvent(upgradedEv); + } + } + + /** + * Upgrades a specific list of elements rather than all in the DOM. + * + * @param {!Element|!Array|!NodeList|!HTMLCollection} elements + * The elements we wish to upgrade. + */ + function upgradeElementsInternal(elements) { + if (!Array.isArray(elements)) { + if (elements instanceof Element) { + elements = [elements]; + } else { + elements = Array.prototype.slice.call(elements); + } + } + for (var i = 0, n = elements.length, element; i < n; i++) { + element = elements[i]; + if (element instanceof HTMLElement) { + upgradeElementInternal(element); + if (element.children.length > 0) { + upgradeElementsInternal(element.children); + } + } + } + } + + /** + * Registers a class for future use and attempts to upgrade existing DOM. + * + * @param {componentHandler.ComponentConfigPublic} config + */ + function registerInternal(config) { + // In order to support both Closure-compiled and uncompiled code accessing + // this method, we need to allow for both the dot and array syntax for + // property access. You'll therefore see the `foo.bar || foo['bar']` + // pattern repeated across this method. + var widgetMissing = (typeof config.widget === 'undefined' && + typeof config['widget'] === 'undefined'); + var widget = true; + + if (!widgetMissing) { + widget = config.widget || config['widget']; + } + + var newConfig = /** @type {componentHandler.ComponentConfig} */ ({ + classConstructor: config.constructor || config['constructor'], + className: config.classAsString || config['classAsString'], + cssClass: config.cssClass || config['cssClass'], + widget: widget, + callbacks: [] + }); + + registeredComponents_.forEach(function(item) { + if (item.cssClass === newConfig.cssClass) { + throw new Error('The provided cssClass has already been registered: ' + item.cssClass); + } + if (item.className === newConfig.className) { + throw new Error('The provided className has already been registered'); + } + }); + + if (config.constructor.prototype + .hasOwnProperty(componentConfigProperty_)) { + throw new Error( + 'MDL component classes must not have ' + componentConfigProperty_ + + ' defined as a property.'); + } + + var found = findRegisteredClass_(config.classAsString, newConfig); + + if (!found) { + registeredComponents_.push(newConfig); + } + } + + /** + * Allows user to be alerted to any upgrades that are performed for a given + * component type + * + * @param {string} jsClass The class name of the MDL component we wish + * to hook into for any upgrades performed. + * @param {function(!HTMLElement)} callback The function to call upon an + * upgrade. This function should expect 1 parameter - the HTMLElement which + * got upgraded. + */ + function registerUpgradedCallbackInternal(jsClass, callback) { + var regClass = findRegisteredClass_(jsClass); + if (regClass) { + regClass.callbacks.push(callback); + } + } + + /** + * Upgrades all registered components found in the current DOM. This is + * automatically called on window load. + */ + function upgradeAllRegisteredInternal() { + for (var n = 0; n < registeredComponents_.length; n++) { + upgradeDomInternal(registeredComponents_[n].className); + } + } + + /** + * Check the component for the downgrade method. + * Execute if found. + * Remove component from createdComponents list. + * + * @param {?componentHandler.Component} component + */ + function deconstructComponentInternal(component) { + if (component) { + var componentIndex = createdComponents_.indexOf(component); + createdComponents_.splice(componentIndex, 1); + + var upgrades = component.element_.getAttribute('data-upgraded').split(','); + var componentPlace = upgrades.indexOf(component[componentConfigProperty_].classAsString); + upgrades.splice(componentPlace, 1); + component.element_.setAttribute('data-upgraded', upgrades.join(',')); + + var ev = createEvent_('mdl-componentdowngraded', true, false); + component.element_.dispatchEvent(ev); + } + } + + /** + * Downgrade either a given node, an array of nodes, or a NodeList. + * + * @param {!Node|!Array|!NodeList} nodes + */ + function downgradeNodesInternal(nodes) { + /** + * Auxiliary function to downgrade a single node. + * @param {!Node} node the node to be downgraded + */ + var downgradeNode = function(node) { + createdComponents_.filter(function(item) { + return item.element_ === node; + }).forEach(deconstructComponentInternal); + }; + if (nodes instanceof Array || nodes instanceof NodeList) { + for (var n = 0; n < nodes.length; n++) { + downgradeNode(nodes[n]); + } + } else if (nodes instanceof Node) { + downgradeNode(nodes); + } else { + throw new Error('Invalid argument provided to downgrade MDL nodes.'); + } + } + + // Now return the functions that should be made public with their publicly + // facing names... + return { + upgradeDom: upgradeDomInternal, + upgradeElement: upgradeElementInternal, + upgradeElements: upgradeElementsInternal, + upgradeAllRegistered: upgradeAllRegisteredInternal, + registerUpgradedCallback: registerUpgradedCallbackInternal, + register: registerInternal, + downgradeElements: downgradeNodesInternal + }; +})(); + +/** + * Describes the type of a registered component type managed by + * componentHandler. Provided for benefit of the Closure compiler. + * + * @typedef {{ + * constructor: Function, + * classAsString: string, + * cssClass: string, + * widget: (string|boolean|undefined) + * }} + */ +componentHandler.ComponentConfigPublic; // jshint ignore:line + +/** + * Describes the type of a registered component type managed by + * componentHandler. Provided for benefit of the Closure compiler. + * + * @typedef {{ + * constructor: !Function, + * className: string, + * cssClass: string, + * widget: (string|boolean), + * callbacks: !Array + * }} + */ +componentHandler.ComponentConfig; // jshint ignore:line + +/** + * Created component (i.e., upgraded element) type as managed by + * componentHandler. Provided for benefit of the Closure compiler. + * + * @typedef {{ + * element_: !HTMLElement, + * className: string, + * classAsString: string, + * cssClass: string, + * widget: string + * }} + */ +componentHandler.Component; // jshint ignore:line + +// Export all symbols, for the benefit of Closure compiler. +// No effect on uncompiled code. +componentHandler['upgradeDom'] = componentHandler.upgradeDom; +componentHandler['upgradeElement'] = componentHandler.upgradeElement; +componentHandler['upgradeElements'] = componentHandler.upgradeElements; +componentHandler['upgradeAllRegistered'] = + componentHandler.upgradeAllRegistered; +componentHandler['registerUpgradedCallback'] = + componentHandler.registerUpgradedCallback; +componentHandler['register'] = componentHandler.register; +componentHandler['downgradeElements'] = componentHandler.downgradeElements; +window.componentHandler = componentHandler; +window['componentHandler'] = componentHandler; + +window.addEventListener('load', function() { + 'use strict'; + + /** + * Performs a "Cutting the mustard" test. If the browser supports the features + * tested, adds a mdl-js class to the element. It then upgrades all MDL + * components requiring JavaScript. + */ + if ('classList' in document.createElement('div') && + 'querySelector' in document && + 'addEventListener' in window && Array.prototype.forEach) { + document.documentElement.classList.add('mdl-js'); + componentHandler.upgradeAllRegistered(); + } else { + /** + * Dummy function to avoid JS errors. + */ + componentHandler.upgradeElement = function() {}; + /** + * Dummy function to avoid JS errors. + */ + componentHandler.register = function() {}; + } +}); + +// Source: https://github.com/darius/requestAnimationFrame/blob/master/requestAnimationFrame.js +// Adapted from https://gist.github.com/paulirish/1579671 which derived from +// http://paulirish.com/2011/requestanimationframe-for-smart-animating/ +// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating +// requestAnimationFrame polyfill by Erik Möller. +// Fixes from Paul Irish, Tino Zijdel, Andrew Mao, Klemen Slavič, Darius Bacon +// MIT license +if (!Date.now) { + /** + * Date.now polyfill. + * @return {number} the current Date + */ + Date.now = function () { + return new Date().getTime(); + }; + Date['now'] = Date.now; +} +var vendors = [ + 'webkit', + 'moz' +]; +for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) { + var vp = vendors[i]; + window.requestAnimationFrame = window[vp + 'RequestAnimationFrame']; + window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame']; + window['requestAnimationFrame'] = window.requestAnimationFrame; + window['cancelAnimationFrame'] = window.cancelAnimationFrame; +} +if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) { + var lastTime = 0; + /** + * requestAnimationFrame polyfill. + * @param {!Function} callback the callback function. + */ + window.requestAnimationFrame = function (callback) { + var now = Date.now(); + var nextTime = Math.max(lastTime + 16, now); + return setTimeout(function () { + callback(lastTime = nextTime); + }, nextTime - now); + }; + window.cancelAnimationFrame = clearTimeout; + window['requestAnimationFrame'] = window.requestAnimationFrame; + window['cancelAnimationFrame'] = window.cancelAnimationFrame; +} +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Button MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialButton = function MaterialButton(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialButton'] = MaterialButton; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialButton.prototype.Constant_ = {}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialButton.prototype.CssClasses_ = { + RIPPLE_EFFECT: 'mdl-js-ripple-effect', + RIPPLE_CONTAINER: 'mdl-button__ripple-container', + RIPPLE: 'mdl-ripple' +}; +/** + * Handle blur of element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialButton.prototype.blurHandler_ = function (event) { + if (event) { + this.element_.blur(); + } +}; +// Public methods. +/** + * Disable button. + * + * @public + */ +MaterialButton.prototype.disable = function () { + this.element_.disabled = true; +}; +MaterialButton.prototype['disable'] = MaterialButton.prototype.disable; +/** + * Enable button. + * + * @public + */ +MaterialButton.prototype.enable = function () { + this.element_.disabled = false; +}; +MaterialButton.prototype['enable'] = MaterialButton.prototype.enable; +/** + * Initialize element. + */ +MaterialButton.prototype.init = function () { + if (this.element_) { + if (this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)) { + var rippleContainer = document.createElement('span'); + rippleContainer.classList.add(this.CssClasses_.RIPPLE_CONTAINER); + this.rippleElement_ = document.createElement('span'); + this.rippleElement_.classList.add(this.CssClasses_.RIPPLE); + rippleContainer.appendChild(this.rippleElement_); + this.boundRippleBlurHandler = this.blurHandler_.bind(this); + this.rippleElement_.addEventListener('mouseup', this.boundRippleBlurHandler); + this.element_.appendChild(rippleContainer); + } + this.boundButtonBlurHandler = this.blurHandler_.bind(this); + this.element_.addEventListener('mouseup', this.boundButtonBlurHandler); + this.element_.addEventListener('mouseleave', this.boundButtonBlurHandler); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialButton, + classAsString: 'MaterialButton', + cssClass: 'mdl-js-button', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Checkbox MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialCheckbox = function MaterialCheckbox(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialCheckbox'] = MaterialCheckbox; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialCheckbox.prototype.Constant_ = { TINY_TIMEOUT: 0.001 }; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialCheckbox.prototype.CssClasses_ = { + INPUT: 'mdl-checkbox__input', + BOX_OUTLINE: 'mdl-checkbox__box-outline', + FOCUS_HELPER: 'mdl-checkbox__focus-helper', + TICK_OUTLINE: 'mdl-checkbox__tick-outline', + RIPPLE_EFFECT: 'mdl-js-ripple-effect', + RIPPLE_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events', + RIPPLE_CONTAINER: 'mdl-checkbox__ripple-container', + RIPPLE_CENTER: 'mdl-ripple--center', + RIPPLE: 'mdl-ripple', + IS_FOCUSED: 'is-focused', + IS_DISABLED: 'is-disabled', + IS_CHECKED: 'is-checked', + IS_UPGRADED: 'is-upgraded' +}; +/** + * Handle change of state. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialCheckbox.prototype.onChange_ = function (event) { + this.updateClasses_(); +}; +/** + * Handle focus of element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialCheckbox.prototype.onFocus_ = function (event) { + this.element_.classList.add(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle lost focus of element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialCheckbox.prototype.onBlur_ = function (event) { + this.element_.classList.remove(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle mouseup. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialCheckbox.prototype.onMouseUp_ = function (event) { + this.blur_(); +}; +/** + * Handle class updates. + * + * @private + */ +MaterialCheckbox.prototype.updateClasses_ = function () { + this.checkDisabled(); + this.checkToggleState(); +}; +/** + * Add blur. + * + * @private + */ +MaterialCheckbox.prototype.blur_ = function () { + // TODO: figure out why there's a focus event being fired after our blur, + // so that we can avoid this hack. + window.setTimeout(function () { + this.inputElement_.blur(); + }.bind(this), this.Constant_.TINY_TIMEOUT); +}; +// Public methods. +/** + * Check the inputs toggle state and update display. + * + * @public + */ +MaterialCheckbox.prototype.checkToggleState = function () { + if (this.inputElement_.checked) { + this.element_.classList.add(this.CssClasses_.IS_CHECKED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_CHECKED); + } +}; +MaterialCheckbox.prototype['checkToggleState'] = MaterialCheckbox.prototype.checkToggleState; +/** + * Check the inputs disabled state and update display. + * + * @public + */ +MaterialCheckbox.prototype.checkDisabled = function () { + if (this.inputElement_.disabled) { + this.element_.classList.add(this.CssClasses_.IS_DISABLED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_DISABLED); + } +}; +MaterialCheckbox.prototype['checkDisabled'] = MaterialCheckbox.prototype.checkDisabled; +/** + * Disable checkbox. + * + * @public + */ +MaterialCheckbox.prototype.disable = function () { + this.inputElement_.disabled = true; + this.updateClasses_(); +}; +MaterialCheckbox.prototype['disable'] = MaterialCheckbox.prototype.disable; +/** + * Enable checkbox. + * + * @public + */ +MaterialCheckbox.prototype.enable = function () { + this.inputElement_.disabled = false; + this.updateClasses_(); +}; +MaterialCheckbox.prototype['enable'] = MaterialCheckbox.prototype.enable; +/** + * Check checkbox. + * + * @public + */ +MaterialCheckbox.prototype.check = function () { + this.inputElement_.checked = true; + this.updateClasses_(); +}; +MaterialCheckbox.prototype['check'] = MaterialCheckbox.prototype.check; +/** + * Uncheck checkbox. + * + * @public + */ +MaterialCheckbox.prototype.uncheck = function () { + this.inputElement_.checked = false; + this.updateClasses_(); +}; +MaterialCheckbox.prototype['uncheck'] = MaterialCheckbox.prototype.uncheck; +/** + * Initialize element. + */ +MaterialCheckbox.prototype.init = function () { + if (this.element_) { + this.inputElement_ = this.element_.querySelector('.' + this.CssClasses_.INPUT); + var boxOutline = document.createElement('span'); + boxOutline.classList.add(this.CssClasses_.BOX_OUTLINE); + var tickContainer = document.createElement('span'); + tickContainer.classList.add(this.CssClasses_.FOCUS_HELPER); + var tickOutline = document.createElement('span'); + tickOutline.classList.add(this.CssClasses_.TICK_OUTLINE); + boxOutline.appendChild(tickOutline); + this.element_.appendChild(tickContainer); + this.element_.appendChild(boxOutline); + if (this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)) { + this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS); + this.rippleContainerElement_ = document.createElement('span'); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_EFFECT); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER); + this.boundRippleMouseUp = this.onMouseUp_.bind(this); + this.rippleContainerElement_.addEventListener('mouseup', this.boundRippleMouseUp); + var ripple = document.createElement('span'); + ripple.classList.add(this.CssClasses_.RIPPLE); + this.rippleContainerElement_.appendChild(ripple); + this.element_.appendChild(this.rippleContainerElement_); + } + this.boundInputOnChange = this.onChange_.bind(this); + this.boundInputOnFocus = this.onFocus_.bind(this); + this.boundInputOnBlur = this.onBlur_.bind(this); + this.boundElementMouseUp = this.onMouseUp_.bind(this); + this.inputElement_.addEventListener('change', this.boundInputOnChange); + this.inputElement_.addEventListener('focus', this.boundInputOnFocus); + this.inputElement_.addEventListener('blur', this.boundInputOnBlur); + this.element_.addEventListener('mouseup', this.boundElementMouseUp); + this.updateClasses_(); + this.element_.classList.add(this.CssClasses_.IS_UPGRADED); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialCheckbox, + classAsString: 'MaterialCheckbox', + cssClass: 'mdl-js-checkbox', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for icon toggle MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialIconToggle = function MaterialIconToggle(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialIconToggle'] = MaterialIconToggle; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialIconToggle.prototype.Constant_ = { TINY_TIMEOUT: 0.001 }; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialIconToggle.prototype.CssClasses_ = { + INPUT: 'mdl-icon-toggle__input', + JS_RIPPLE_EFFECT: 'mdl-js-ripple-effect', + RIPPLE_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events', + RIPPLE_CONTAINER: 'mdl-icon-toggle__ripple-container', + RIPPLE_CENTER: 'mdl-ripple--center', + RIPPLE: 'mdl-ripple', + IS_FOCUSED: 'is-focused', + IS_DISABLED: 'is-disabled', + IS_CHECKED: 'is-checked' +}; +/** + * Handle change of state. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialIconToggle.prototype.onChange_ = function (event) { + this.updateClasses_(); +}; +/** + * Handle focus of element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialIconToggle.prototype.onFocus_ = function (event) { + this.element_.classList.add(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle lost focus of element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialIconToggle.prototype.onBlur_ = function (event) { + this.element_.classList.remove(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle mouseup. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialIconToggle.prototype.onMouseUp_ = function (event) { + this.blur_(); +}; +/** + * Handle class updates. + * + * @private + */ +MaterialIconToggle.prototype.updateClasses_ = function () { + this.checkDisabled(); + this.checkToggleState(); +}; +/** + * Add blur. + * + * @private + */ +MaterialIconToggle.prototype.blur_ = function () { + // TODO: figure out why there's a focus event being fired after our blur, + // so that we can avoid this hack. + window.setTimeout(function () { + this.inputElement_.blur(); + }.bind(this), this.Constant_.TINY_TIMEOUT); +}; +// Public methods. +/** + * Check the inputs toggle state and update display. + * + * @public + */ +MaterialIconToggle.prototype.checkToggleState = function () { + if (this.inputElement_.checked) { + this.element_.classList.add(this.CssClasses_.IS_CHECKED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_CHECKED); + } +}; +MaterialIconToggle.prototype['checkToggleState'] = MaterialIconToggle.prototype.checkToggleState; +/** + * Check the inputs disabled state and update display. + * + * @public + */ +MaterialIconToggle.prototype.checkDisabled = function () { + if (this.inputElement_.disabled) { + this.element_.classList.add(this.CssClasses_.IS_DISABLED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_DISABLED); + } +}; +MaterialIconToggle.prototype['checkDisabled'] = MaterialIconToggle.prototype.checkDisabled; +/** + * Disable icon toggle. + * + * @public + */ +MaterialIconToggle.prototype.disable = function () { + this.inputElement_.disabled = true; + this.updateClasses_(); +}; +MaterialIconToggle.prototype['disable'] = MaterialIconToggle.prototype.disable; +/** + * Enable icon toggle. + * + * @public + */ +MaterialIconToggle.prototype.enable = function () { + this.inputElement_.disabled = false; + this.updateClasses_(); +}; +MaterialIconToggle.prototype['enable'] = MaterialIconToggle.prototype.enable; +/** + * Check icon toggle. + * + * @public + */ +MaterialIconToggle.prototype.check = function () { + this.inputElement_.checked = true; + this.updateClasses_(); +}; +MaterialIconToggle.prototype['check'] = MaterialIconToggle.prototype.check; +/** + * Uncheck icon toggle. + * + * @public + */ +MaterialIconToggle.prototype.uncheck = function () { + this.inputElement_.checked = false; + this.updateClasses_(); +}; +MaterialIconToggle.prototype['uncheck'] = MaterialIconToggle.prototype.uncheck; +/** + * Initialize element. + */ +MaterialIconToggle.prototype.init = function () { + if (this.element_) { + this.inputElement_ = this.element_.querySelector('.' + this.CssClasses_.INPUT); + if (this.element_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)) { + this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS); + this.rippleContainerElement_ = document.createElement('span'); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER); + this.rippleContainerElement_.classList.add(this.CssClasses_.JS_RIPPLE_EFFECT); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER); + this.boundRippleMouseUp = this.onMouseUp_.bind(this); + this.rippleContainerElement_.addEventListener('mouseup', this.boundRippleMouseUp); + var ripple = document.createElement('span'); + ripple.classList.add(this.CssClasses_.RIPPLE); + this.rippleContainerElement_.appendChild(ripple); + this.element_.appendChild(this.rippleContainerElement_); + } + this.boundInputOnChange = this.onChange_.bind(this); + this.boundInputOnFocus = this.onFocus_.bind(this); + this.boundInputOnBlur = this.onBlur_.bind(this); + this.boundElementOnMouseUp = this.onMouseUp_.bind(this); + this.inputElement_.addEventListener('change', this.boundInputOnChange); + this.inputElement_.addEventListener('focus', this.boundInputOnFocus); + this.inputElement_.addEventListener('blur', this.boundInputOnBlur); + this.element_.addEventListener('mouseup', this.boundElementOnMouseUp); + this.updateClasses_(); + this.element_.classList.add('is-upgraded'); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialIconToggle, + classAsString: 'MaterialIconToggle', + cssClass: 'mdl-js-icon-toggle', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for dropdown MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialMenu = function MaterialMenu(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialMenu'] = MaterialMenu; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialMenu.prototype.Constant_ = { + // Total duration of the menu animation. + TRANSITION_DURATION_SECONDS: 0.3, + // The fraction of the total duration we want to use for menu item animations. + TRANSITION_DURATION_FRACTION: 0.8, + // How long the menu stays open after choosing an option (so the user can see + // the ripple). + CLOSE_TIMEOUT: 150 +}; +/** + * Keycodes, for code readability. + * + * @enum {number} + * @private + */ +MaterialMenu.prototype.Keycodes_ = { + ENTER: 13, + ESCAPE: 27, + SPACE: 32, + UP_ARROW: 38, + DOWN_ARROW: 40 +}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialMenu.prototype.CssClasses_ = { + CONTAINER: 'mdl-menu__container', + OUTLINE: 'mdl-menu__outline', + ITEM: 'mdl-menu__item', + ITEM_RIPPLE_CONTAINER: 'mdl-menu__item-ripple-container', + RIPPLE_EFFECT: 'mdl-js-ripple-effect', + RIPPLE_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events', + RIPPLE: 'mdl-ripple', + // Statuses + IS_UPGRADED: 'is-upgraded', + IS_VISIBLE: 'is-visible', + IS_ANIMATING: 'is-animating', + // Alignment options + BOTTOM_LEFT: 'mdl-menu--bottom-left', + // This is the default. + BOTTOM_RIGHT: 'mdl-menu--bottom-right', + TOP_LEFT: 'mdl-menu--top-left', + TOP_RIGHT: 'mdl-menu--top-right', + UNALIGNED: 'mdl-menu--unaligned' +}; +/** + * Initialize element. + */ +MaterialMenu.prototype.init = function () { + if (this.element_) { + // Create container for the menu. + var container = document.createElement('div'); + container.classList.add(this.CssClasses_.CONTAINER); + this.element_.parentElement.insertBefore(container, this.element_); + this.element_.parentElement.removeChild(this.element_); + container.appendChild(this.element_); + this.container_ = container; + // Create outline for the menu (shadow and background). + var outline = document.createElement('div'); + outline.classList.add(this.CssClasses_.OUTLINE); + this.outline_ = outline; + container.insertBefore(outline, this.element_); + // Find the "for" element and bind events to it. + var forElId = this.element_.getAttribute('for') || this.element_.getAttribute('data-mdl-for'); + var forEl = null; + if (forElId) { + forEl = document.getElementById(forElId); + if (forEl) { + this.forElement_ = forEl; + forEl.addEventListener('click', this.handleForClick_.bind(this)); + forEl.addEventListener('keydown', this.handleForKeyboardEvent_.bind(this)); + } + } + var items = this.element_.querySelectorAll('.' + this.CssClasses_.ITEM); + this.boundItemKeydown_ = this.handleItemKeyboardEvent_.bind(this); + this.boundItemClick_ = this.handleItemClick_.bind(this); + for (var i = 0; i < items.length; i++) { + // Add a listener to each menu item. + items[i].addEventListener('click', this.boundItemClick_); + // Add a tab index to each menu item. + items[i].tabIndex = '-1'; + // Add a keyboard listener to each menu item. + items[i].addEventListener('keydown', this.boundItemKeydown_); + } + // Add ripple classes to each item, if the user has enabled ripples. + if (this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)) { + this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS); + for (i = 0; i < items.length; i++) { + var item = items[i]; + var rippleContainer = document.createElement('span'); + rippleContainer.classList.add(this.CssClasses_.ITEM_RIPPLE_CONTAINER); + var ripple = document.createElement('span'); + ripple.classList.add(this.CssClasses_.RIPPLE); + rippleContainer.appendChild(ripple); + item.appendChild(rippleContainer); + item.classList.add(this.CssClasses_.RIPPLE_EFFECT); + } + } + // Copy alignment classes to the container, so the outline can use them. + if (this.element_.classList.contains(this.CssClasses_.BOTTOM_LEFT)) { + this.outline_.classList.add(this.CssClasses_.BOTTOM_LEFT); + } + if (this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)) { + this.outline_.classList.add(this.CssClasses_.BOTTOM_RIGHT); + } + if (this.element_.classList.contains(this.CssClasses_.TOP_LEFT)) { + this.outline_.classList.add(this.CssClasses_.TOP_LEFT); + } + if (this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)) { + this.outline_.classList.add(this.CssClasses_.TOP_RIGHT); + } + if (this.element_.classList.contains(this.CssClasses_.UNALIGNED)) { + this.outline_.classList.add(this.CssClasses_.UNALIGNED); + } + container.classList.add(this.CssClasses_.IS_UPGRADED); + } +}; +/** + * Handles a click on the "for" element, by positioning the menu and then + * toggling it. + * + * @param {Event} evt The event that fired. + * @private + */ +MaterialMenu.prototype.handleForClick_ = function (evt) { + if (this.element_ && this.forElement_) { + var rect = this.forElement_.getBoundingClientRect(); + var forRect = this.forElement_.parentElement.getBoundingClientRect(); + if (this.element_.classList.contains(this.CssClasses_.UNALIGNED)) { + } else if (this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)) { + // Position below the "for" element, aligned to its right. + this.container_.style.right = forRect.right - rect.right + 'px'; + this.container_.style.top = this.forElement_.offsetTop + this.forElement_.offsetHeight + 'px'; + } else if (this.element_.classList.contains(this.CssClasses_.TOP_LEFT)) { + // Position above the "for" element, aligned to its left. + this.container_.style.left = this.forElement_.offsetLeft + 'px'; + this.container_.style.bottom = forRect.bottom - rect.top + 'px'; + } else if (this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)) { + // Position above the "for" element, aligned to its right. + this.container_.style.right = forRect.right - rect.right + 'px'; + this.container_.style.bottom = forRect.bottom - rect.top + 'px'; + } else { + // Default: position below the "for" element, aligned to its left. + this.container_.style.left = this.forElement_.offsetLeft + 'px'; + this.container_.style.top = this.forElement_.offsetTop + this.forElement_.offsetHeight + 'px'; + } + } + this.toggle(evt); +}; +/** + * Handles a keyboard event on the "for" element. + * + * @param {Event} evt The event that fired. + * @private + */ +MaterialMenu.prototype.handleForKeyboardEvent_ = function (evt) { + if (this.element_ && this.container_ && this.forElement_) { + var items = this.element_.querySelectorAll('.' + this.CssClasses_.ITEM + ':not([disabled])'); + if (items && items.length > 0 && this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)) { + if (evt.keyCode === this.Keycodes_.UP_ARROW) { + evt.preventDefault(); + items[items.length - 1].focus(); + } else if (evt.keyCode === this.Keycodes_.DOWN_ARROW) { + evt.preventDefault(); + items[0].focus(); + } + } + } +}; +/** + * Handles a keyboard event on an item. + * + * @param {Event} evt The event that fired. + * @private + */ +MaterialMenu.prototype.handleItemKeyboardEvent_ = function (evt) { + if (this.element_ && this.container_) { + var items = this.element_.querySelectorAll('.' + this.CssClasses_.ITEM + ':not([disabled])'); + if (items && items.length > 0 && this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)) { + var currentIndex = Array.prototype.slice.call(items).indexOf(evt.target); + if (evt.keyCode === this.Keycodes_.UP_ARROW) { + evt.preventDefault(); + if (currentIndex > 0) { + items[currentIndex - 1].focus(); + } else { + items[items.length - 1].focus(); + } + } else if (evt.keyCode === this.Keycodes_.DOWN_ARROW) { + evt.preventDefault(); + if (items.length > currentIndex + 1) { + items[currentIndex + 1].focus(); + } else { + items[0].focus(); + } + } else if (evt.keyCode === this.Keycodes_.SPACE || evt.keyCode === this.Keycodes_.ENTER) { + evt.preventDefault(); + // Send mousedown and mouseup to trigger ripple. + var e = new MouseEvent('mousedown'); + evt.target.dispatchEvent(e); + e = new MouseEvent('mouseup'); + evt.target.dispatchEvent(e); + // Send click. + evt.target.click(); + } else if (evt.keyCode === this.Keycodes_.ESCAPE) { + evt.preventDefault(); + this.hide(); + } + } + } +}; +/** + * Handles a click event on an item. + * + * @param {Event} evt The event that fired. + * @private + */ +MaterialMenu.prototype.handleItemClick_ = function (evt) { + if (evt.target.hasAttribute('disabled')) { + evt.stopPropagation(); + } else { + // Wait some time before closing menu, so the user can see the ripple. + this.closing_ = true; + window.setTimeout(function (evt) { + this.hide(); + this.closing_ = false; + }.bind(this), this.Constant_.CLOSE_TIMEOUT); + } +}; +/** + * Calculates the initial clip (for opening the menu) or final clip (for closing + * it), and applies it. This allows us to animate from or to the correct point, + * that is, the point it's aligned to in the "for" element. + * + * @param {number} height Height of the clip rectangle + * @param {number} width Width of the clip rectangle + * @private + */ +MaterialMenu.prototype.applyClip_ = function (height, width) { + if (this.element_.classList.contains(this.CssClasses_.UNALIGNED)) { + // Do not clip. + this.element_.style.clip = ''; + } else if (this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)) { + // Clip to the top right corner of the menu. + this.element_.style.clip = 'rect(0 ' + width + 'px ' + '0 ' + width + 'px)'; + } else if (this.element_.classList.contains(this.CssClasses_.TOP_LEFT)) { + // Clip to the bottom left corner of the menu. + this.element_.style.clip = 'rect(' + height + 'px 0 ' + height + 'px 0)'; + } else if (this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)) { + // Clip to the bottom right corner of the menu. + this.element_.style.clip = 'rect(' + height + 'px ' + width + 'px ' + height + 'px ' + width + 'px)'; + } else { + // Default: do not clip (same as clipping to the top left corner). + this.element_.style.clip = ''; + } +}; +/** + * Cleanup function to remove animation listeners. + * + * @param {Event} evt + * @private + */ +MaterialMenu.prototype.removeAnimationEndListener_ = function (evt) { + evt.target.classList.remove(MaterialMenu.prototype.CssClasses_.IS_ANIMATING); +}; +/** + * Adds an event listener to clean up after the animation ends. + * + * @private + */ +MaterialMenu.prototype.addAnimationEndListener_ = function () { + this.element_.addEventListener('transitionend', this.removeAnimationEndListener_); + this.element_.addEventListener('webkitTransitionEnd', this.removeAnimationEndListener_); +}; +/** + * Displays the menu. + * + * @public + */ +MaterialMenu.prototype.show = function (evt) { + if (this.element_ && this.container_ && this.outline_) { + // Measure the inner element. + var height = this.element_.getBoundingClientRect().height; + var width = this.element_.getBoundingClientRect().width; + // Apply the inner element's size to the container and outline. + this.container_.style.width = width + 'px'; + this.container_.style.height = height + 'px'; + this.outline_.style.width = width + 'px'; + this.outline_.style.height = height + 'px'; + var transitionDuration = this.Constant_.TRANSITION_DURATION_SECONDS * this.Constant_.TRANSITION_DURATION_FRACTION; + // Calculate transition delays for individual menu items, so that they fade + // in one at a time. + var items = this.element_.querySelectorAll('.' + this.CssClasses_.ITEM); + for (var i = 0; i < items.length; i++) { + var itemDelay = null; + if (this.element_.classList.contains(this.CssClasses_.TOP_LEFT) || this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)) { + itemDelay = (height - items[i].offsetTop - items[i].offsetHeight) / height * transitionDuration + 's'; + } else { + itemDelay = items[i].offsetTop / height * transitionDuration + 's'; + } + items[i].style.transitionDelay = itemDelay; + } + // Apply the initial clip to the text before we start animating. + this.applyClip_(height, width); + // Wait for the next frame, turn on animation, and apply the final clip. + // Also make it visible. This triggers the transitions. + window.requestAnimationFrame(function () { + this.element_.classList.add(this.CssClasses_.IS_ANIMATING); + this.element_.style.clip = 'rect(0 ' + width + 'px ' + height + 'px 0)'; + this.container_.classList.add(this.CssClasses_.IS_VISIBLE); + }.bind(this)); + // Clean up after the animation is complete. + this.addAnimationEndListener_(); + // Add a click listener to the document, to close the menu. + var callback = function (e) { + // Check to see if the document is processing the same event that + // displayed the menu in the first place. If so, do nothing. + // Also check to see if the menu is in the process of closing itself, and + // do nothing in that case. + // Also check if the clicked element is a menu item + // if so, do nothing. + if (e !== evt && !this.closing_ && e.target.parentNode !== this.element_) { + document.removeEventListener('click', callback); + this.hide(); + } + }.bind(this); + document.addEventListener('click', callback); + } +}; +MaterialMenu.prototype['show'] = MaterialMenu.prototype.show; +/** + * Hides the menu. + * + * @public + */ +MaterialMenu.prototype.hide = function () { + if (this.element_ && this.container_ && this.outline_) { + var items = this.element_.querySelectorAll('.' + this.CssClasses_.ITEM); + // Remove all transition delays; menu items fade out concurrently. + for (var i = 0; i < items.length; i++) { + items[i].style.removeProperty('transition-delay'); + } + // Measure the inner element. + var rect = this.element_.getBoundingClientRect(); + var height = rect.height; + var width = rect.width; + // Turn on animation, and apply the final clip. Also make invisible. + // This triggers the transitions. + this.element_.classList.add(this.CssClasses_.IS_ANIMATING); + this.applyClip_(height, width); + this.container_.classList.remove(this.CssClasses_.IS_VISIBLE); + // Clean up after the animation is complete. + this.addAnimationEndListener_(); + } +}; +MaterialMenu.prototype['hide'] = MaterialMenu.prototype.hide; +/** + * Displays or hides the menu, depending on current state. + * + * @public + */ +MaterialMenu.prototype.toggle = function (evt) { + if (this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)) { + this.hide(); + } else { + this.show(evt); + } +}; +MaterialMenu.prototype['toggle'] = MaterialMenu.prototype.toggle; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialMenu, + classAsString: 'MaterialMenu', + cssClass: 'mdl-js-menu', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Progress MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialProgress = function MaterialProgress(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialProgress'] = MaterialProgress; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialProgress.prototype.Constant_ = {}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialProgress.prototype.CssClasses_ = { INDETERMINATE_CLASS: 'mdl-progress__indeterminate' }; +/** + * Set the current progress of the progressbar. + * + * @param {number} p Percentage of the progress (0-100) + * @public + */ +MaterialProgress.prototype.setProgress = function (p) { + if (this.element_.classList.contains(this.CssClasses_.INDETERMINATE_CLASS)) { + return; + } + this.progressbar_.style.width = p + '%'; +}; +MaterialProgress.prototype['setProgress'] = MaterialProgress.prototype.setProgress; +/** + * Set the current progress of the buffer. + * + * @param {number} p Percentage of the buffer (0-100) + * @public + */ +MaterialProgress.prototype.setBuffer = function (p) { + this.bufferbar_.style.width = p + '%'; + this.auxbar_.style.width = 100 - p + '%'; +}; +MaterialProgress.prototype['setBuffer'] = MaterialProgress.prototype.setBuffer; +/** + * Initialize element. + */ +MaterialProgress.prototype.init = function () { + if (this.element_) { + var el = document.createElement('div'); + el.className = 'progressbar bar bar1'; + this.element_.appendChild(el); + this.progressbar_ = el; + el = document.createElement('div'); + el.className = 'bufferbar bar bar2'; + this.element_.appendChild(el); + this.bufferbar_ = el; + el = document.createElement('div'); + el.className = 'auxbar bar bar3'; + this.element_.appendChild(el); + this.auxbar_ = el; + this.progressbar_.style.width = '0%'; + this.bufferbar_.style.width = '100%'; + this.auxbar_.style.width = '0%'; + this.element_.classList.add('is-upgraded'); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialProgress, + classAsString: 'MaterialProgress', + cssClass: 'mdl-js-progress', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Radio MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialRadio = function MaterialRadio(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialRadio'] = MaterialRadio; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialRadio.prototype.Constant_ = { TINY_TIMEOUT: 0.001 }; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialRadio.prototype.CssClasses_ = { + IS_FOCUSED: 'is-focused', + IS_DISABLED: 'is-disabled', + IS_CHECKED: 'is-checked', + IS_UPGRADED: 'is-upgraded', + JS_RADIO: 'mdl-js-radio', + RADIO_BTN: 'mdl-radio__button', + RADIO_OUTER_CIRCLE: 'mdl-radio__outer-circle', + RADIO_INNER_CIRCLE: 'mdl-radio__inner-circle', + RIPPLE_EFFECT: 'mdl-js-ripple-effect', + RIPPLE_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events', + RIPPLE_CONTAINER: 'mdl-radio__ripple-container', + RIPPLE_CENTER: 'mdl-ripple--center', + RIPPLE: 'mdl-ripple' +}; +/** + * Handle change of state. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialRadio.prototype.onChange_ = function (event) { + // Since other radio buttons don't get change events, we need to look for + // them to update their classes. + var radios = document.getElementsByClassName(this.CssClasses_.JS_RADIO); + for (var i = 0; i < radios.length; i++) { + var button = radios[i].querySelector('.' + this.CssClasses_.RADIO_BTN); + // Different name == different group, so no point updating those. + if (button.getAttribute('name') === this.btnElement_.getAttribute('name')) { + if (typeof radios[i]['MaterialRadio'] !== 'undefined') { + radios[i]['MaterialRadio'].updateClasses_(); + } + } + } +}; +/** + * Handle focus. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialRadio.prototype.onFocus_ = function (event) { + this.element_.classList.add(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle lost focus. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialRadio.prototype.onBlur_ = function (event) { + this.element_.classList.remove(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle mouseup. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialRadio.prototype.onMouseup_ = function (event) { + this.blur_(); +}; +/** + * Update classes. + * + * @private + */ +MaterialRadio.prototype.updateClasses_ = function () { + this.checkDisabled(); + this.checkToggleState(); +}; +/** + * Add blur. + * + * @private + */ +MaterialRadio.prototype.blur_ = function () { + // TODO: figure out why there's a focus event being fired after our blur, + // so that we can avoid this hack. + window.setTimeout(function () { + this.btnElement_.blur(); + }.bind(this), this.Constant_.TINY_TIMEOUT); +}; +// Public methods. +/** + * Check the components disabled state. + * + * @public + */ +MaterialRadio.prototype.checkDisabled = function () { + if (this.btnElement_.disabled) { + this.element_.classList.add(this.CssClasses_.IS_DISABLED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_DISABLED); + } +}; +MaterialRadio.prototype['checkDisabled'] = MaterialRadio.prototype.checkDisabled; +/** + * Check the components toggled state. + * + * @public + */ +MaterialRadio.prototype.checkToggleState = function () { + if (this.btnElement_.checked) { + this.element_.classList.add(this.CssClasses_.IS_CHECKED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_CHECKED); + } +}; +MaterialRadio.prototype['checkToggleState'] = MaterialRadio.prototype.checkToggleState; +/** + * Disable radio. + * + * @public + */ +MaterialRadio.prototype.disable = function () { + this.btnElement_.disabled = true; + this.updateClasses_(); +}; +MaterialRadio.prototype['disable'] = MaterialRadio.prototype.disable; +/** + * Enable radio. + * + * @public + */ +MaterialRadio.prototype.enable = function () { + this.btnElement_.disabled = false; + this.updateClasses_(); +}; +MaterialRadio.prototype['enable'] = MaterialRadio.prototype.enable; +/** + * Check radio. + * + * @public + */ +MaterialRadio.prototype.check = function () { + this.btnElement_.checked = true; + this.onChange_(null); +}; +MaterialRadio.prototype['check'] = MaterialRadio.prototype.check; +/** + * Uncheck radio. + * + * @public + */ +MaterialRadio.prototype.uncheck = function () { + this.btnElement_.checked = false; + this.onChange_(null); +}; +MaterialRadio.prototype['uncheck'] = MaterialRadio.prototype.uncheck; +/** + * Initialize element. + */ +MaterialRadio.prototype.init = function () { + if (this.element_) { + this.btnElement_ = this.element_.querySelector('.' + this.CssClasses_.RADIO_BTN); + this.boundChangeHandler_ = this.onChange_.bind(this); + this.boundFocusHandler_ = this.onChange_.bind(this); + this.boundBlurHandler_ = this.onBlur_.bind(this); + this.boundMouseUpHandler_ = this.onMouseup_.bind(this); + var outerCircle = document.createElement('span'); + outerCircle.classList.add(this.CssClasses_.RADIO_OUTER_CIRCLE); + var innerCircle = document.createElement('span'); + innerCircle.classList.add(this.CssClasses_.RADIO_INNER_CIRCLE); + this.element_.appendChild(outerCircle); + this.element_.appendChild(innerCircle); + var rippleContainer; + if (this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)) { + this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS); + rippleContainer = document.createElement('span'); + rippleContainer.classList.add(this.CssClasses_.RIPPLE_CONTAINER); + rippleContainer.classList.add(this.CssClasses_.RIPPLE_EFFECT); + rippleContainer.classList.add(this.CssClasses_.RIPPLE_CENTER); + rippleContainer.addEventListener('mouseup', this.boundMouseUpHandler_); + var ripple = document.createElement('span'); + ripple.classList.add(this.CssClasses_.RIPPLE); + rippleContainer.appendChild(ripple); + this.element_.appendChild(rippleContainer); + } + this.btnElement_.addEventListener('change', this.boundChangeHandler_); + this.btnElement_.addEventListener('focus', this.boundFocusHandler_); + this.btnElement_.addEventListener('blur', this.boundBlurHandler_); + this.element_.addEventListener('mouseup', this.boundMouseUpHandler_); + this.updateClasses_(); + this.element_.classList.add(this.CssClasses_.IS_UPGRADED); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialRadio, + classAsString: 'MaterialRadio', + cssClass: 'mdl-js-radio', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Slider MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialSlider = function MaterialSlider(element) { + this.element_ = element; + // Browser feature detection. + this.isIE_ = window.navigator.msPointerEnabled; + // Initialize instance. + this.init(); +}; +window['MaterialSlider'] = MaterialSlider; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialSlider.prototype.Constant_ = {}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialSlider.prototype.CssClasses_ = { + IE_CONTAINER: 'mdl-slider__ie-container', + SLIDER_CONTAINER: 'mdl-slider__container', + BACKGROUND_FLEX: 'mdl-slider__background-flex', + BACKGROUND_LOWER: 'mdl-slider__background-lower', + BACKGROUND_UPPER: 'mdl-slider__background-upper', + IS_LOWEST_VALUE: 'is-lowest-value', + IS_UPGRADED: 'is-upgraded' +}; +/** + * Handle input on element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialSlider.prototype.onInput_ = function (event) { + this.updateValueStyles_(); +}; +/** + * Handle change on element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialSlider.prototype.onChange_ = function (event) { + this.updateValueStyles_(); +}; +/** + * Handle mouseup on element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialSlider.prototype.onMouseUp_ = function (event) { + event.target.blur(); +}; +/** + * Handle mousedown on container element. + * This handler is purpose is to not require the use to click + * exactly on the 2px slider element, as FireFox seems to be very + * strict about this. + * + * @param {Event} event The event that fired. + * @private + * @suppress {missingProperties} + */ +MaterialSlider.prototype.onContainerMouseDown_ = function (event) { + // If this click is not on the parent element (but rather some child) + // ignore. It may still bubble up. + if (event.target !== this.element_.parentElement) { + return; + } + // Discard the original event and create a new event that + // is on the slider element. + event.preventDefault(); + var newEvent = new MouseEvent('mousedown', { + target: event.target, + buttons: event.buttons, + clientX: event.clientX, + clientY: this.element_.getBoundingClientRect().y + }); + this.element_.dispatchEvent(newEvent); +}; +/** + * Handle updating of values. + * + * @private + */ +MaterialSlider.prototype.updateValueStyles_ = function () { + // Calculate and apply percentages to div structure behind slider. + var fraction = (this.element_.value - this.element_.min) / (this.element_.max - this.element_.min); + if (fraction === 0) { + this.element_.classList.add(this.CssClasses_.IS_LOWEST_VALUE); + } else { + this.element_.classList.remove(this.CssClasses_.IS_LOWEST_VALUE); + } + if (!this.isIE_) { + this.backgroundLower_.style.flex = fraction; + this.backgroundLower_.style.webkitFlex = fraction; + this.backgroundUpper_.style.flex = 1 - fraction; + this.backgroundUpper_.style.webkitFlex = 1 - fraction; + } +}; +// Public methods. +/** + * Disable slider. + * + * @public + */ +MaterialSlider.prototype.disable = function () { + this.element_.disabled = true; +}; +MaterialSlider.prototype['disable'] = MaterialSlider.prototype.disable; +/** + * Enable slider. + * + * @public + */ +MaterialSlider.prototype.enable = function () { + this.element_.disabled = false; +}; +MaterialSlider.prototype['enable'] = MaterialSlider.prototype.enable; +/** + * Update slider value. + * + * @param {number} value The value to which to set the control (optional). + * @public + */ +MaterialSlider.prototype.change = function (value) { + if (typeof value !== 'undefined') { + this.element_.value = value; + } + this.updateValueStyles_(); +}; +MaterialSlider.prototype['change'] = MaterialSlider.prototype.change; +/** + * Initialize element. + */ +MaterialSlider.prototype.init = function () { + if (this.element_) { + if (this.isIE_) { + // Since we need to specify a very large height in IE due to + // implementation limitations, we add a parent here that trims it down to + // a reasonable size. + var containerIE = document.createElement('div'); + containerIE.classList.add(this.CssClasses_.IE_CONTAINER); + this.element_.parentElement.insertBefore(containerIE, this.element_); + this.element_.parentElement.removeChild(this.element_); + containerIE.appendChild(this.element_); + } else { + // For non-IE browsers, we need a div structure that sits behind the + // slider and allows us to style the left and right sides of it with + // different colors. + var container = document.createElement('div'); + container.classList.add(this.CssClasses_.SLIDER_CONTAINER); + this.element_.parentElement.insertBefore(container, this.element_); + this.element_.parentElement.removeChild(this.element_); + container.appendChild(this.element_); + var backgroundFlex = document.createElement('div'); + backgroundFlex.classList.add(this.CssClasses_.BACKGROUND_FLEX); + container.appendChild(backgroundFlex); + this.backgroundLower_ = document.createElement('div'); + this.backgroundLower_.classList.add(this.CssClasses_.BACKGROUND_LOWER); + backgroundFlex.appendChild(this.backgroundLower_); + this.backgroundUpper_ = document.createElement('div'); + this.backgroundUpper_.classList.add(this.CssClasses_.BACKGROUND_UPPER); + backgroundFlex.appendChild(this.backgroundUpper_); + } + this.boundInputHandler = this.onInput_.bind(this); + this.boundChangeHandler = this.onChange_.bind(this); + this.boundMouseUpHandler = this.onMouseUp_.bind(this); + this.boundContainerMouseDownHandler = this.onContainerMouseDown_.bind(this); + this.element_.addEventListener('input', this.boundInputHandler); + this.element_.addEventListener('change', this.boundChangeHandler); + this.element_.addEventListener('mouseup', this.boundMouseUpHandler); + this.element_.parentElement.addEventListener('mousedown', this.boundContainerMouseDownHandler); + this.updateValueStyles_(); + this.element_.classList.add(this.CssClasses_.IS_UPGRADED); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialSlider, + classAsString: 'MaterialSlider', + cssClass: 'mdl-js-slider', + widget: true +}); +/** + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Snackbar MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialSnackbar = function MaterialSnackbar(element) { + this.element_ = element; + this.textElement_ = this.element_.querySelector('.' + this.cssClasses_.MESSAGE); + this.actionElement_ = this.element_.querySelector('.' + this.cssClasses_.ACTION); + if (!this.textElement_) { + throw new Error('There must be a message element for a snackbar.'); + } + if (!this.actionElement_) { + throw new Error('There must be an action element for a snackbar.'); + } + this.active = false; + this.actionHandler_ = undefined; + this.message_ = undefined; + this.actionText_ = undefined; + this.queuedNotifications_ = []; + this.setActionHidden_(true); +}; +window['MaterialSnackbar'] = MaterialSnackbar; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialSnackbar.prototype.Constant_ = { + // The duration of the snackbar show/hide animation, in ms. + ANIMATION_LENGTH: 250 +}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialSnackbar.prototype.cssClasses_ = { + SNACKBAR: 'mdl-snackbar', + MESSAGE: 'mdl-snackbar__text', + ACTION: 'mdl-snackbar__action', + ACTIVE: 'mdl-snackbar--active' +}; +/** + * Display the snackbar. + * + * @private + */ +MaterialSnackbar.prototype.displaySnackbar_ = function () { + this.element_.setAttribute('aria-hidden', 'true'); + if (this.actionHandler_) { + this.actionElement_.textContent = this.actionText_; + this.actionElement_.addEventListener('click', this.actionHandler_); + this.setActionHidden_(false); + } + this.textElement_.textContent = this.message_; + this.element_.classList.add(this.cssClasses_.ACTIVE); + this.element_.setAttribute('aria-hidden', 'false'); + setTimeout(this.cleanup_.bind(this), this.timeout_); +}; +/** + * Show the snackbar. + * + * @param {Object} data The data for the notification. + * @public + */ +MaterialSnackbar.prototype.showSnackbar = function (data) { + if (data === undefined) { + throw new Error('Please provide a data object with at least a message to display.'); + } + if (data['message'] === undefined) { + throw new Error('Please provide a message to be displayed.'); + } + if (data['actionHandler'] && !data['actionText']) { + throw new Error('Please provide action text with the handler.'); + } + if (this.active) { + this.queuedNotifications_.push(data); + } else { + this.active = true; + this.message_ = data['message']; + if (data['timeout']) { + this.timeout_ = data['timeout']; + } else { + this.timeout_ = 2750; + } + if (data['actionHandler']) { + this.actionHandler_ = data['actionHandler']; + } + if (data['actionText']) { + this.actionText_ = data['actionText']; + } + this.displaySnackbar_(); + } +}; +MaterialSnackbar.prototype['showSnackbar'] = MaterialSnackbar.prototype.showSnackbar; +/** + * Check if the queue has items within it. + * If it does, display the next entry. + * + * @private + */ +MaterialSnackbar.prototype.checkQueue_ = function () { + if (this.queuedNotifications_.length > 0) { + this.showSnackbar(this.queuedNotifications_.shift()); + } +}; +/** + * Cleanup the snackbar event listeners and accessiblity attributes. + * + * @private + */ +MaterialSnackbar.prototype.cleanup_ = function () { + this.element_.classList.remove(this.cssClasses_.ACTIVE); + setTimeout(function () { + this.element_.setAttribute('aria-hidden', 'true'); + this.textElement_.textContent = ''; + if (!Boolean(this.actionElement_.getAttribute('aria-hidden'))) { + this.setActionHidden_(true); + this.actionElement_.textContent = ''; + this.actionElement_.removeEventListener('click', this.actionHandler_); + } + this.actionHandler_ = undefined; + this.message_ = undefined; + this.actionText_ = undefined; + this.active = false; + this.checkQueue_(); + }.bind(this), this.Constant_.ANIMATION_LENGTH); +}; +/** + * Set the action handler hidden state. + * + * @param {boolean} value + * @private + */ +MaterialSnackbar.prototype.setActionHidden_ = function (value) { + if (value) { + this.actionElement_.setAttribute('aria-hidden', 'true'); + } else { + this.actionElement_.removeAttribute('aria-hidden'); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialSnackbar, + classAsString: 'MaterialSnackbar', + cssClass: 'mdl-js-snackbar', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Spinner MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @param {HTMLElement} element The element that will be upgraded. + * @constructor + */ +var MaterialSpinner = function MaterialSpinner(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialSpinner'] = MaterialSpinner; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialSpinner.prototype.Constant_ = { MDL_SPINNER_LAYER_COUNT: 4 }; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialSpinner.prototype.CssClasses_ = { + MDL_SPINNER_LAYER: 'mdl-spinner__layer', + MDL_SPINNER_CIRCLE_CLIPPER: 'mdl-spinner__circle-clipper', + MDL_SPINNER_CIRCLE: 'mdl-spinner__circle', + MDL_SPINNER_GAP_PATCH: 'mdl-spinner__gap-patch', + MDL_SPINNER_LEFT: 'mdl-spinner__left', + MDL_SPINNER_RIGHT: 'mdl-spinner__right' +}; +/** + * Auxiliary method to create a spinner layer. + * + * @param {number} index Index of the layer to be created. + * @public + */ +MaterialSpinner.prototype.createLayer = function (index) { + var layer = document.createElement('div'); + layer.classList.add(this.CssClasses_.MDL_SPINNER_LAYER); + layer.classList.add(this.CssClasses_.MDL_SPINNER_LAYER + '-' + index); + var leftClipper = document.createElement('div'); + leftClipper.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER); + leftClipper.classList.add(this.CssClasses_.MDL_SPINNER_LEFT); + var gapPatch = document.createElement('div'); + gapPatch.classList.add(this.CssClasses_.MDL_SPINNER_GAP_PATCH); + var rightClipper = document.createElement('div'); + rightClipper.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER); + rightClipper.classList.add(this.CssClasses_.MDL_SPINNER_RIGHT); + var circleOwners = [ + leftClipper, + gapPatch, + rightClipper + ]; + for (var i = 0; i < circleOwners.length; i++) { + var circle = document.createElement('div'); + circle.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE); + circleOwners[i].appendChild(circle); + } + layer.appendChild(leftClipper); + layer.appendChild(gapPatch); + layer.appendChild(rightClipper); + this.element_.appendChild(layer); +}; +MaterialSpinner.prototype['createLayer'] = MaterialSpinner.prototype.createLayer; +/** + * Stops the spinner animation. + * Public method for users who need to stop the spinner for any reason. + * + * @public + */ +MaterialSpinner.prototype.stop = function () { + this.element_.classList.remove('is-active'); +}; +MaterialSpinner.prototype['stop'] = MaterialSpinner.prototype.stop; +/** + * Starts the spinner animation. + * Public method for users who need to manually start the spinner for any reason + * (instead of just adding the 'is-active' class to their markup). + * + * @public + */ +MaterialSpinner.prototype.start = function () { + this.element_.classList.add('is-active'); +}; +MaterialSpinner.prototype['start'] = MaterialSpinner.prototype.start; +/** + * Initialize element. + */ +MaterialSpinner.prototype.init = function () { + if (this.element_) { + for (var i = 1; i <= this.Constant_.MDL_SPINNER_LAYER_COUNT; i++) { + this.createLayer(i); + } + this.element_.classList.add('is-upgraded'); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialSpinner, + classAsString: 'MaterialSpinner', + cssClass: 'mdl-js-spinner', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Checkbox MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialSwitch = function MaterialSwitch(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialSwitch'] = MaterialSwitch; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialSwitch.prototype.Constant_ = { TINY_TIMEOUT: 0.001 }; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialSwitch.prototype.CssClasses_ = { + INPUT: 'mdl-switch__input', + TRACK: 'mdl-switch__track', + THUMB: 'mdl-switch__thumb', + FOCUS_HELPER: 'mdl-switch__focus-helper', + RIPPLE_EFFECT: 'mdl-js-ripple-effect', + RIPPLE_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events', + RIPPLE_CONTAINER: 'mdl-switch__ripple-container', + RIPPLE_CENTER: 'mdl-ripple--center', + RIPPLE: 'mdl-ripple', + IS_FOCUSED: 'is-focused', + IS_DISABLED: 'is-disabled', + IS_CHECKED: 'is-checked' +}; +/** + * Handle change of state. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialSwitch.prototype.onChange_ = function (event) { + this.updateClasses_(); +}; +/** + * Handle focus of element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialSwitch.prototype.onFocus_ = function (event) { + this.element_.classList.add(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle lost focus of element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialSwitch.prototype.onBlur_ = function (event) { + this.element_.classList.remove(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle mouseup. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialSwitch.prototype.onMouseUp_ = function (event) { + this.blur_(); +}; +/** + * Handle class updates. + * + * @private + */ +MaterialSwitch.prototype.updateClasses_ = function () { + this.checkDisabled(); + this.checkToggleState(); +}; +/** + * Add blur. + * + * @private + */ +MaterialSwitch.prototype.blur_ = function () { + // TODO: figure out why there's a focus event being fired after our blur, + // so that we can avoid this hack. + window.setTimeout(function () { + this.inputElement_.blur(); + }.bind(this), this.Constant_.TINY_TIMEOUT); +}; +// Public methods. +/** + * Check the components disabled state. + * + * @public + */ +MaterialSwitch.prototype.checkDisabled = function () { + if (this.inputElement_.disabled) { + this.element_.classList.add(this.CssClasses_.IS_DISABLED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_DISABLED); + } +}; +MaterialSwitch.prototype['checkDisabled'] = MaterialSwitch.prototype.checkDisabled; +/** + * Check the components toggled state. + * + * @public + */ +MaterialSwitch.prototype.checkToggleState = function () { + if (this.inputElement_.checked) { + this.element_.classList.add(this.CssClasses_.IS_CHECKED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_CHECKED); + } +}; +MaterialSwitch.prototype['checkToggleState'] = MaterialSwitch.prototype.checkToggleState; +/** + * Disable switch. + * + * @public + */ +MaterialSwitch.prototype.disable = function () { + this.inputElement_.disabled = true; + this.updateClasses_(); +}; +MaterialSwitch.prototype['disable'] = MaterialSwitch.prototype.disable; +/** + * Enable switch. + * + * @public + */ +MaterialSwitch.prototype.enable = function () { + this.inputElement_.disabled = false; + this.updateClasses_(); +}; +MaterialSwitch.prototype['enable'] = MaterialSwitch.prototype.enable; +/** + * Activate switch. + * + * @public + */ +MaterialSwitch.prototype.on = function () { + this.inputElement_.checked = true; + this.updateClasses_(); +}; +MaterialSwitch.prototype['on'] = MaterialSwitch.prototype.on; +/** + * Deactivate switch. + * + * @public + */ +MaterialSwitch.prototype.off = function () { + this.inputElement_.checked = false; + this.updateClasses_(); +}; +MaterialSwitch.prototype['off'] = MaterialSwitch.prototype.off; +/** + * Initialize element. + */ +MaterialSwitch.prototype.init = function () { + if (this.element_) { + this.inputElement_ = this.element_.querySelector('.' + this.CssClasses_.INPUT); + var track = document.createElement('div'); + track.classList.add(this.CssClasses_.TRACK); + var thumb = document.createElement('div'); + thumb.classList.add(this.CssClasses_.THUMB); + var focusHelper = document.createElement('span'); + focusHelper.classList.add(this.CssClasses_.FOCUS_HELPER); + thumb.appendChild(focusHelper); + this.element_.appendChild(track); + this.element_.appendChild(thumb); + this.boundMouseUpHandler = this.onMouseUp_.bind(this); + if (this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)) { + this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS); + this.rippleContainerElement_ = document.createElement('span'); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_EFFECT); + this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER); + this.rippleContainerElement_.addEventListener('mouseup', this.boundMouseUpHandler); + var ripple = document.createElement('span'); + ripple.classList.add(this.CssClasses_.RIPPLE); + this.rippleContainerElement_.appendChild(ripple); + this.element_.appendChild(this.rippleContainerElement_); + } + this.boundChangeHandler = this.onChange_.bind(this); + this.boundFocusHandler = this.onFocus_.bind(this); + this.boundBlurHandler = this.onBlur_.bind(this); + this.inputElement_.addEventListener('change', this.boundChangeHandler); + this.inputElement_.addEventListener('focus', this.boundFocusHandler); + this.inputElement_.addEventListener('blur', this.boundBlurHandler); + this.element_.addEventListener('mouseup', this.boundMouseUpHandler); + this.updateClasses_(); + this.element_.classList.add('is-upgraded'); + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialSwitch, + classAsString: 'MaterialSwitch', + cssClass: 'mdl-js-switch', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Tabs MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {Element} element The element that will be upgraded. + */ +var MaterialTabs = function MaterialTabs(element) { + // Stores the HTML element. + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialTabs'] = MaterialTabs; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string} + * @private + */ +MaterialTabs.prototype.Constant_ = {}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialTabs.prototype.CssClasses_ = { + TAB_CLASS: 'mdl-tabs__tab', + PANEL_CLASS: 'mdl-tabs__panel', + ACTIVE_CLASS: 'is-active', + UPGRADED_CLASS: 'is-upgraded', + MDL_JS_RIPPLE_EFFECT: 'mdl-js-ripple-effect', + MDL_RIPPLE_CONTAINER: 'mdl-tabs__ripple-container', + MDL_RIPPLE: 'mdl-ripple', + MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events' +}; +/** + * Handle clicks to a tabs component + * + * @private + */ +MaterialTabs.prototype.initTabs_ = function () { + if (this.element_.classList.contains(this.CssClasses_.MDL_JS_RIPPLE_EFFECT)) { + this.element_.classList.add(this.CssClasses_.MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS); + } + // Select element tabs, document panels + this.tabs_ = this.element_.querySelectorAll('.' + this.CssClasses_.TAB_CLASS); + this.panels_ = this.element_.querySelectorAll('.' + this.CssClasses_.PANEL_CLASS); + // Create new tabs for each tab element + for (var i = 0; i < this.tabs_.length; i++) { + new MaterialTab(this.tabs_[i], this); + } + this.element_.classList.add(this.CssClasses_.UPGRADED_CLASS); +}; +/** + * Reset tab state, dropping active classes + * + * @private + */ +MaterialTabs.prototype.resetTabState_ = function () { + for (var k = 0; k < this.tabs_.length; k++) { + this.tabs_[k].classList.remove(this.CssClasses_.ACTIVE_CLASS); + } +}; +/** + * Reset panel state, droping active classes + * + * @private + */ +MaterialTabs.prototype.resetPanelState_ = function () { + for (var j = 0; j < this.panels_.length; j++) { + this.panels_[j].classList.remove(this.CssClasses_.ACTIVE_CLASS); + } +}; +/** + * Initialize element. + */ +MaterialTabs.prototype.init = function () { + if (this.element_) { + this.initTabs_(); + } +}; +/** + * Constructor for an individual tab. + * + * @constructor + * @param {Element} tab The HTML element for the tab. + * @param {MaterialTabs} ctx The MaterialTabs object that owns the tab. + */ +function MaterialTab(tab, ctx) { + if (tab) { + if (ctx.element_.classList.contains(ctx.CssClasses_.MDL_JS_RIPPLE_EFFECT)) { + var rippleContainer = document.createElement('span'); + rippleContainer.classList.add(ctx.CssClasses_.MDL_RIPPLE_CONTAINER); + rippleContainer.classList.add(ctx.CssClasses_.MDL_JS_RIPPLE_EFFECT); + var ripple = document.createElement('span'); + ripple.classList.add(ctx.CssClasses_.MDL_RIPPLE); + rippleContainer.appendChild(ripple); + tab.appendChild(rippleContainer); + } + tab.addEventListener('click', function (e) { + if (tab.getAttribute('href').charAt(0) === '#') { + e.preventDefault(); + var href = tab.href.split('#')[1]; + var panel = ctx.element_.querySelector('#' + href); + ctx.resetTabState_(); + ctx.resetPanelState_(); + tab.classList.add(ctx.CssClasses_.ACTIVE_CLASS); + panel.classList.add(ctx.CssClasses_.ACTIVE_CLASS); + } + }); + } +} +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialTabs, + classAsString: 'MaterialTabs', + cssClass: 'mdl-js-tabs' +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Textfield MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialTextfield = function MaterialTextfield(element) { + this.element_ = element; + this.maxRows = this.Constant_.NO_MAX_ROWS; + // Initialize instance. + this.init(); +}; +window['MaterialTextfield'] = MaterialTextfield; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialTextfield.prototype.Constant_ = { + NO_MAX_ROWS: -1, + MAX_ROWS_ATTRIBUTE: 'maxrows' +}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialTextfield.prototype.CssClasses_ = { + LABEL: 'mdl-textfield__label', + INPUT: 'mdl-textfield__input', + IS_DIRTY: 'is-dirty', + IS_FOCUSED: 'is-focused', + IS_DISABLED: 'is-disabled', + IS_INVALID: 'is-invalid', + IS_UPGRADED: 'is-upgraded', + HAS_PLACEHOLDER: 'has-placeholder' +}; +/** + * Handle input being entered. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialTextfield.prototype.onKeyDown_ = function (event) { + var currentRowCount = event.target.value.split('\n').length; + if (event.keyCode === 13) { + if (currentRowCount >= this.maxRows) { + event.preventDefault(); + } + } +}; +/** + * Handle focus. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialTextfield.prototype.onFocus_ = function (event) { + this.element_.classList.add(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle lost focus. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialTextfield.prototype.onBlur_ = function (event) { + this.element_.classList.remove(this.CssClasses_.IS_FOCUSED); +}; +/** + * Handle reset event from out side. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialTextfield.prototype.onReset_ = function (event) { + this.updateClasses_(); +}; +/** + * Handle class updates. + * + * @private + */ +MaterialTextfield.prototype.updateClasses_ = function () { + this.checkDisabled(); + this.checkValidity(); + this.checkDirty(); + this.checkFocus(); +}; +// Public methods. +/** + * Check the disabled state and update field accordingly. + * + * @public + */ +MaterialTextfield.prototype.checkDisabled = function () { + if (this.input_.disabled) { + this.element_.classList.add(this.CssClasses_.IS_DISABLED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_DISABLED); + } +}; +MaterialTextfield.prototype['checkDisabled'] = MaterialTextfield.prototype.checkDisabled; +/** + * Check the focus state and update field accordingly. + * + * @public + */ +MaterialTextfield.prototype.checkFocus = function () { + if (Boolean(this.element_.querySelector(':focus'))) { + this.element_.classList.add(this.CssClasses_.IS_FOCUSED); + } else { + this.element_.classList.remove(this.CssClasses_.IS_FOCUSED); + } +}; +MaterialTextfield.prototype['checkFocus'] = MaterialTextfield.prototype.checkFocus; +/** + * Check the validity state and update field accordingly. + * + * @public + */ +MaterialTextfield.prototype.checkValidity = function () { + if (this.input_.validity) { + if (this.input_.validity.valid) { + this.element_.classList.remove(this.CssClasses_.IS_INVALID); + } else { + this.element_.classList.add(this.CssClasses_.IS_INVALID); + } + } +}; +MaterialTextfield.prototype['checkValidity'] = MaterialTextfield.prototype.checkValidity; +/** + * Check the dirty state and update field accordingly. + * + * @public + */ +MaterialTextfield.prototype.checkDirty = function () { + if (this.input_.value && this.input_.value.length > 0) { + this.element_.classList.add(this.CssClasses_.IS_DIRTY); + } else { + this.element_.classList.remove(this.CssClasses_.IS_DIRTY); + } +}; +MaterialTextfield.prototype['checkDirty'] = MaterialTextfield.prototype.checkDirty; +/** + * Disable text field. + * + * @public + */ +MaterialTextfield.prototype.disable = function () { + this.input_.disabled = true; + this.updateClasses_(); +}; +MaterialTextfield.prototype['disable'] = MaterialTextfield.prototype.disable; +/** + * Enable text field. + * + * @public + */ +MaterialTextfield.prototype.enable = function () { + this.input_.disabled = false; + this.updateClasses_(); +}; +MaterialTextfield.prototype['enable'] = MaterialTextfield.prototype.enable; +/** + * Update text field value. + * + * @param {string} value The value to which to set the control (optional). + * @public + */ +MaterialTextfield.prototype.change = function (value) { + this.input_.value = value || ''; + this.updateClasses_(); +}; +MaterialTextfield.prototype['change'] = MaterialTextfield.prototype.change; +/** + * Initialize element. + */ +MaterialTextfield.prototype.init = function () { + if (this.element_) { + this.label_ = this.element_.querySelector('.' + this.CssClasses_.LABEL); + this.input_ = this.element_.querySelector('.' + this.CssClasses_.INPUT); + if (this.input_) { + if (this.input_.hasAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE)) { + this.maxRows = parseInt(this.input_.getAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE), 10); + if (isNaN(this.maxRows)) { + this.maxRows = this.Constant_.NO_MAX_ROWS; + } + } + if (this.input_.hasAttribute('placeholder')) { + this.element_.classList.add(this.CssClasses_.HAS_PLACEHOLDER); + } + this.boundUpdateClassesHandler = this.updateClasses_.bind(this); + this.boundFocusHandler = this.onFocus_.bind(this); + this.boundBlurHandler = this.onBlur_.bind(this); + this.boundResetHandler = this.onReset_.bind(this); + this.input_.addEventListener('input', this.boundUpdateClassesHandler); + this.input_.addEventListener('focus', this.boundFocusHandler); + this.input_.addEventListener('blur', this.boundBlurHandler); + this.input_.addEventListener('reset', this.boundResetHandler); + if (this.maxRows !== this.Constant_.NO_MAX_ROWS) { + // TODO: This should handle pasting multi line text. + // Currently doesn't. + this.boundKeyDownHandler = this.onKeyDown_.bind(this); + this.input_.addEventListener('keydown', this.boundKeyDownHandler); + } + var invalid = this.element_.classList.contains(this.CssClasses_.IS_INVALID); + this.updateClasses_(); + this.element_.classList.add(this.CssClasses_.IS_UPGRADED); + if (invalid) { + this.element_.classList.add(this.CssClasses_.IS_INVALID); + } + if (this.input_.hasAttribute('autofocus')) { + this.element_.focus(); + this.checkFocus(); + } + } + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialTextfield, + classAsString: 'MaterialTextfield', + cssClass: 'mdl-js-textfield', + widget: true +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Tooltip MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialTooltip = function MaterialTooltip(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialTooltip'] = MaterialTooltip; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialTooltip.prototype.Constant_ = {}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialTooltip.prototype.CssClasses_ = { + IS_ACTIVE: 'is-active', + BOTTOM: 'mdl-tooltip--bottom', + LEFT: 'mdl-tooltip--left', + RIGHT: 'mdl-tooltip--right', + TOP: 'mdl-tooltip--top' +}; +/** + * Handle mouseenter for tooltip. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialTooltip.prototype.handleMouseEnter_ = function (event) { + var props = event.target.getBoundingClientRect(); + var left = props.left + props.width / 2; + var top = props.top + props.height / 2; + var marginLeft = -1 * (this.element_.offsetWidth / 2); + var marginTop = -1 * (this.element_.offsetHeight / 2); + if (this.element_.classList.contains(this.CssClasses_.LEFT) || this.element_.classList.contains(this.CssClasses_.RIGHT)) { + left = props.width / 2; + if (top + marginTop < 0) { + this.element_.style.top = '0'; + this.element_.style.marginTop = '0'; + } else { + this.element_.style.top = top + 'px'; + this.element_.style.marginTop = marginTop + 'px'; + } + } else { + if (left + marginLeft < 0) { + this.element_.style.left = '0'; + this.element_.style.marginLeft = '0'; + } else { + this.element_.style.left = left + 'px'; + this.element_.style.marginLeft = marginLeft + 'px'; + } + } + if (this.element_.classList.contains(this.CssClasses_.TOP)) { + this.element_.style.top = props.top - this.element_.offsetHeight - 10 + 'px'; + } else if (this.element_.classList.contains(this.CssClasses_.RIGHT)) { + this.element_.style.left = props.left + props.width + 10 + 'px'; + } else if (this.element_.classList.contains(this.CssClasses_.LEFT)) { + this.element_.style.left = props.left - this.element_.offsetWidth - 10 + 'px'; + } else { + this.element_.style.top = props.top + props.height + 10 + 'px'; + } + this.element_.classList.add(this.CssClasses_.IS_ACTIVE); +}; +/** + * Hide tooltip on mouseleave or scroll + * + * @private + */ +MaterialTooltip.prototype.hideTooltip_ = function () { + this.element_.classList.remove(this.CssClasses_.IS_ACTIVE); +}; +/** + * Initialize element. + */ +MaterialTooltip.prototype.init = function () { + if (this.element_) { + var forElId = this.element_.getAttribute('for') || this.element_.getAttribute('data-mdl-for'); + if (forElId) { + this.forElement_ = document.getElementById(forElId); + } + if (this.forElement_) { + // It's left here because it prevents accidental text selection on Android + if (!this.forElement_.hasAttribute('tabindex')) { + this.forElement_.setAttribute('tabindex', '0'); + } + this.boundMouseEnterHandler = this.handleMouseEnter_.bind(this); + this.boundMouseLeaveAndScrollHandler = this.hideTooltip_.bind(this); + this.forElement_.addEventListener('mouseenter', this.boundMouseEnterHandler, false); + this.forElement_.addEventListener('touchend', this.boundMouseEnterHandler, false); + this.forElement_.addEventListener('mouseleave', this.boundMouseLeaveAndScrollHandler, false); + window.addEventListener('scroll', this.boundMouseLeaveAndScrollHandler, true); + window.addEventListener('touchstart', this.boundMouseLeaveAndScrollHandler); + } + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialTooltip, + classAsString: 'MaterialTooltip', + cssClass: 'mdl-tooltip' +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Layout MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialLayout = function MaterialLayout(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialLayout'] = MaterialLayout; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialLayout.prototype.Constant_ = { + MAX_WIDTH: '(max-width: 1024px)', + TAB_SCROLL_PIXELS: 100, + RESIZE_TIMEOUT: 100, + MENU_ICON: '', + CHEVRON_LEFT: 'chevron_left', + CHEVRON_RIGHT: 'chevron_right' +}; +/** + * Keycodes, for code readability. + * + * @enum {number} + * @private + */ +MaterialLayout.prototype.Keycodes_ = { + ENTER: 13, + ESCAPE: 27, + SPACE: 32 +}; +/** + * Modes. + * + * @enum {number} + * @private + */ +MaterialLayout.prototype.Mode_ = { + STANDARD: 0, + SEAMED: 1, + WATERFALL: 2, + SCROLL: 3 +}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialLayout.prototype.CssClasses_ = { + CONTAINER: 'mdl-layout__container', + HEADER: 'mdl-layout__header', + DRAWER: 'mdl-layout__drawer', + CONTENT: 'mdl-layout__content', + DRAWER_BTN: 'mdl-layout__drawer-button', + ICON: 'material-icons', + JS_RIPPLE_EFFECT: 'mdl-js-ripple-effect', + RIPPLE_CONTAINER: 'mdl-layout__tab-ripple-container', + RIPPLE: 'mdl-ripple', + RIPPLE_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events', + HEADER_SEAMED: 'mdl-layout__header--seamed', + HEADER_WATERFALL: 'mdl-layout__header--waterfall', + HEADER_SCROLL: 'mdl-layout__header--scroll', + FIXED_HEADER: 'mdl-layout--fixed-header', + OBFUSCATOR: 'mdl-layout__obfuscator', + TAB_BAR: 'mdl-layout__tab-bar', + TAB_CONTAINER: 'mdl-layout__tab-bar-container', + TAB: 'mdl-layout__tab', + TAB_BAR_BUTTON: 'mdl-layout__tab-bar-button', + TAB_BAR_LEFT_BUTTON: 'mdl-layout__tab-bar-left-button', + TAB_BAR_RIGHT_BUTTON: 'mdl-layout__tab-bar-right-button', + TAB_MANUAL_SWITCH: 'mdl-layout__tab-manual-switch', + PANEL: 'mdl-layout__tab-panel', + HAS_DRAWER: 'has-drawer', + HAS_TABS: 'has-tabs', + HAS_SCROLLING_HEADER: 'has-scrolling-header', + CASTING_SHADOW: 'is-casting-shadow', + IS_COMPACT: 'is-compact', + IS_SMALL_SCREEN: 'is-small-screen', + IS_DRAWER_OPEN: 'is-visible', + IS_ACTIVE: 'is-active', + IS_UPGRADED: 'is-upgraded', + IS_ANIMATING: 'is-animating', + ON_LARGE_SCREEN: 'mdl-layout--large-screen-only', + ON_SMALL_SCREEN: 'mdl-layout--small-screen-only' +}; +/** + * Handles scrolling on the content. + * + * @private + */ +MaterialLayout.prototype.contentScrollHandler_ = function () { + if (this.header_.classList.contains(this.CssClasses_.IS_ANIMATING)) { + return; + } + var headerVisible = !this.element_.classList.contains(this.CssClasses_.IS_SMALL_SCREEN) || this.element_.classList.contains(this.CssClasses_.FIXED_HEADER); + if (this.content_.scrollTop > 0 && !this.header_.classList.contains(this.CssClasses_.IS_COMPACT)) { + this.header_.classList.add(this.CssClasses_.CASTING_SHADOW); + this.header_.classList.add(this.CssClasses_.IS_COMPACT); + if (headerVisible) { + this.header_.classList.add(this.CssClasses_.IS_ANIMATING); + } + } else if (this.content_.scrollTop <= 0 && this.header_.classList.contains(this.CssClasses_.IS_COMPACT)) { + this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW); + this.header_.classList.remove(this.CssClasses_.IS_COMPACT); + if (headerVisible) { + this.header_.classList.add(this.CssClasses_.IS_ANIMATING); + } + } +}; +/** + * Handles a keyboard event on the drawer. + * + * @param {Event} evt The event that fired. + * @private + */ +MaterialLayout.prototype.keyboardEventHandler_ = function (evt) { + // Only react when the drawer is open. + if (evt.keyCode === this.Keycodes_.ESCAPE && this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)) { + this.toggleDrawer(); + } +}; +/** + * Handles changes in screen size. + * + * @private + */ +MaterialLayout.prototype.screenSizeHandler_ = function () { + if (this.screenSizeMediaQuery_.matches) { + this.element_.classList.add(this.CssClasses_.IS_SMALL_SCREEN); + } else { + this.element_.classList.remove(this.CssClasses_.IS_SMALL_SCREEN); + // Collapse drawer (if any) when moving to a large screen size. + if (this.drawer_) { + this.drawer_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN); + this.obfuscator_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN); + } + } +}; +/** + * Handles events of drawer button. + * + * @param {Event} evt The event that fired. + * @private + */ +MaterialLayout.prototype.drawerToggleHandler_ = function (evt) { + if (evt && evt.type === 'keydown') { + if (evt.keyCode === this.Keycodes_.SPACE || evt.keyCode === this.Keycodes_.ENTER) { + // prevent scrolling in drawer nav + evt.preventDefault(); + } else { + // prevent other keys + return; + } + } + this.toggleDrawer(); +}; +/** + * Handles (un)setting the `is-animating` class + * + * @private + */ +MaterialLayout.prototype.headerTransitionEndHandler_ = function () { + this.header_.classList.remove(this.CssClasses_.IS_ANIMATING); +}; +/** + * Handles expanding the header on click + * + * @private + */ +MaterialLayout.prototype.headerClickHandler_ = function () { + if (this.header_.classList.contains(this.CssClasses_.IS_COMPACT)) { + this.header_.classList.remove(this.CssClasses_.IS_COMPACT); + this.header_.classList.add(this.CssClasses_.IS_ANIMATING); + } +}; +/** + * Reset tab state, dropping active classes + * + * @private + */ +MaterialLayout.prototype.resetTabState_ = function (tabBar) { + for (var k = 0; k < tabBar.length; k++) { + tabBar[k].classList.remove(this.CssClasses_.IS_ACTIVE); + } +}; +/** + * Reset panel state, droping active classes + * + * @private + */ +MaterialLayout.prototype.resetPanelState_ = function (panels) { + for (var j = 0; j < panels.length; j++) { + panels[j].classList.remove(this.CssClasses_.IS_ACTIVE); + } +}; +/** + * Toggle drawer state + * + * @public + */ +MaterialLayout.prototype.toggleDrawer = function () { + var drawerButton = this.element_.querySelector('.' + this.CssClasses_.DRAWER_BTN); + this.drawer_.classList.toggle(this.CssClasses_.IS_DRAWER_OPEN); + this.obfuscator_.classList.toggle(this.CssClasses_.IS_DRAWER_OPEN); + // Set accessibility properties. + if (this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)) { + this.drawer_.setAttribute('aria-hidden', 'false'); + drawerButton.setAttribute('aria-expanded', 'true'); + } else { + this.drawer_.setAttribute('aria-hidden', 'true'); + drawerButton.setAttribute('aria-expanded', 'false'); + } +}; +MaterialLayout.prototype['toggleDrawer'] = MaterialLayout.prototype.toggleDrawer; +/** + * Initialize element. + */ +MaterialLayout.prototype.init = function () { + if (this.element_) { + var container = document.createElement('div'); + container.classList.add(this.CssClasses_.CONTAINER); + var focusedElement = this.element_.querySelector(':focus'); + this.element_.parentElement.insertBefore(container, this.element_); + this.element_.parentElement.removeChild(this.element_); + container.appendChild(this.element_); + if (focusedElement) { + focusedElement.focus(); + } + var directChildren = this.element_.childNodes; + var numChildren = directChildren.length; + for (var c = 0; c < numChildren; c++) { + var child = directChildren[c]; + if (child.classList && child.classList.contains(this.CssClasses_.HEADER)) { + this.header_ = child; + } + if (child.classList && child.classList.contains(this.CssClasses_.DRAWER)) { + this.drawer_ = child; + } + if (child.classList && child.classList.contains(this.CssClasses_.CONTENT)) { + this.content_ = child; + } + } + window.addEventListener('pageshow', function (e) { + if (e.persisted) { + // when page is loaded from back/forward cache + // trigger repaint to let layout scroll in safari + this.element_.style.overflowY = 'hidden'; + requestAnimationFrame(function () { + this.element_.style.overflowY = ''; + }.bind(this)); + } + }.bind(this), false); + if (this.header_) { + this.tabBar_ = this.header_.querySelector('.' + this.CssClasses_.TAB_BAR); + } + var mode = this.Mode_.STANDARD; + if (this.header_) { + if (this.header_.classList.contains(this.CssClasses_.HEADER_SEAMED)) { + mode = this.Mode_.SEAMED; + } else if (this.header_.classList.contains(this.CssClasses_.HEADER_WATERFALL)) { + mode = this.Mode_.WATERFALL; + this.header_.addEventListener('transitionend', this.headerTransitionEndHandler_.bind(this)); + this.header_.addEventListener('click', this.headerClickHandler_.bind(this)); + } else if (this.header_.classList.contains(this.CssClasses_.HEADER_SCROLL)) { + mode = this.Mode_.SCROLL; + container.classList.add(this.CssClasses_.HAS_SCROLLING_HEADER); + } + if (mode === this.Mode_.STANDARD) { + this.header_.classList.add(this.CssClasses_.CASTING_SHADOW); + if (this.tabBar_) { + this.tabBar_.classList.add(this.CssClasses_.CASTING_SHADOW); + } + } else if (mode === this.Mode_.SEAMED || mode === this.Mode_.SCROLL) { + this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW); + if (this.tabBar_) { + this.tabBar_.classList.remove(this.CssClasses_.CASTING_SHADOW); + } + } else if (mode === this.Mode_.WATERFALL) { + // Add and remove shadows depending on scroll position. + // Also add/remove auxiliary class for styling of the compact version of + // the header. + this.content_.addEventListener('scroll', this.contentScrollHandler_.bind(this)); + this.contentScrollHandler_(); + } + } + // Add drawer toggling button to our layout, if we have an openable drawer. + if (this.drawer_) { + var drawerButton = this.element_.querySelector('.' + this.CssClasses_.DRAWER_BTN); + if (!drawerButton) { + drawerButton = document.createElement('div'); + drawerButton.setAttribute('aria-expanded', 'false'); + drawerButton.setAttribute('role', 'button'); + drawerButton.setAttribute('tabindex', '0'); + drawerButton.classList.add(this.CssClasses_.DRAWER_BTN); + var drawerButtonIcon = document.createElement('i'); + drawerButtonIcon.classList.add(this.CssClasses_.ICON); + drawerButtonIcon.innerHTML = this.Constant_.MENU_ICON; + drawerButton.appendChild(drawerButtonIcon); + } + if (this.drawer_.classList.contains(this.CssClasses_.ON_LARGE_SCREEN)) { + //If drawer has ON_LARGE_SCREEN class then add it to the drawer toggle button as well. + drawerButton.classList.add(this.CssClasses_.ON_LARGE_SCREEN); + } else if (this.drawer_.classList.contains(this.CssClasses_.ON_SMALL_SCREEN)) { + //If drawer has ON_SMALL_SCREEN class then add it to the drawer toggle button as well. + drawerButton.classList.add(this.CssClasses_.ON_SMALL_SCREEN); + } + drawerButton.addEventListener('click', this.drawerToggleHandler_.bind(this)); + drawerButton.addEventListener('keydown', this.drawerToggleHandler_.bind(this)); + // Add a class if the layout has a drawer, for altering the left padding. + // Adds the HAS_DRAWER to the elements since this.header_ may or may + // not be present. + this.element_.classList.add(this.CssClasses_.HAS_DRAWER); + // If we have a fixed header, add the button to the header rather than + // the layout. + if (this.element_.classList.contains(this.CssClasses_.FIXED_HEADER)) { + this.header_.insertBefore(drawerButton, this.header_.firstChild); + } else { + this.element_.insertBefore(drawerButton, this.content_); + } + var obfuscator = document.createElement('div'); + obfuscator.classList.add(this.CssClasses_.OBFUSCATOR); + this.element_.appendChild(obfuscator); + obfuscator.addEventListener('click', this.drawerToggleHandler_.bind(this)); + this.obfuscator_ = obfuscator; + this.drawer_.addEventListener('keydown', this.keyboardEventHandler_.bind(this)); + this.drawer_.setAttribute('aria-hidden', 'true'); + } + // Keep an eye on screen size, and add/remove auxiliary class for styling + // of small screens. + this.screenSizeMediaQuery_ = window.matchMedia(this.Constant_.MAX_WIDTH); + this.screenSizeMediaQuery_.addListener(this.screenSizeHandler_.bind(this)); + this.screenSizeHandler_(); + // Initialize tabs, if any. + if (this.header_ && this.tabBar_) { + this.element_.classList.add(this.CssClasses_.HAS_TABS); + var tabContainer = document.createElement('div'); + tabContainer.classList.add(this.CssClasses_.TAB_CONTAINER); + this.header_.insertBefore(tabContainer, this.tabBar_); + this.header_.removeChild(this.tabBar_); + var leftButton = document.createElement('div'); + leftButton.classList.add(this.CssClasses_.TAB_BAR_BUTTON); + leftButton.classList.add(this.CssClasses_.TAB_BAR_LEFT_BUTTON); + var leftButtonIcon = document.createElement('i'); + leftButtonIcon.classList.add(this.CssClasses_.ICON); + leftButtonIcon.textContent = this.Constant_.CHEVRON_LEFT; + leftButton.appendChild(leftButtonIcon); + leftButton.addEventListener('click', function () { + this.tabBar_.scrollLeft -= this.Constant_.TAB_SCROLL_PIXELS; + }.bind(this)); + var rightButton = document.createElement('div'); + rightButton.classList.add(this.CssClasses_.TAB_BAR_BUTTON); + rightButton.classList.add(this.CssClasses_.TAB_BAR_RIGHT_BUTTON); + var rightButtonIcon = document.createElement('i'); + rightButtonIcon.classList.add(this.CssClasses_.ICON); + rightButtonIcon.textContent = this.Constant_.CHEVRON_RIGHT; + rightButton.appendChild(rightButtonIcon); + rightButton.addEventListener('click', function () { + this.tabBar_.scrollLeft += this.Constant_.TAB_SCROLL_PIXELS; + }.bind(this)); + tabContainer.appendChild(leftButton); + tabContainer.appendChild(this.tabBar_); + tabContainer.appendChild(rightButton); + // Add and remove tab buttons depending on scroll position and total + // window size. + var tabUpdateHandler = function () { + if (this.tabBar_.scrollLeft > 0) { + leftButton.classList.add(this.CssClasses_.IS_ACTIVE); + } else { + leftButton.classList.remove(this.CssClasses_.IS_ACTIVE); + } + if (this.tabBar_.scrollLeft < this.tabBar_.scrollWidth - this.tabBar_.offsetWidth) { + rightButton.classList.add(this.CssClasses_.IS_ACTIVE); + } else { + rightButton.classList.remove(this.CssClasses_.IS_ACTIVE); + } + }.bind(this); + this.tabBar_.addEventListener('scroll', tabUpdateHandler); + tabUpdateHandler(); + // Update tabs when the window resizes. + var windowResizeHandler = function () { + // Use timeouts to make sure it doesn't happen too often. + if (this.resizeTimeoutId_) { + clearTimeout(this.resizeTimeoutId_); + } + this.resizeTimeoutId_ = setTimeout(function () { + tabUpdateHandler(); + this.resizeTimeoutId_ = null; + }.bind(this), this.Constant_.RESIZE_TIMEOUT); + }.bind(this); + window.addEventListener('resize', windowResizeHandler); + if (this.tabBar_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)) { + this.tabBar_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS); + } + // Select element tabs, document panels + var tabs = this.tabBar_.querySelectorAll('.' + this.CssClasses_.TAB); + var panels = this.content_.querySelectorAll('.' + this.CssClasses_.PANEL); + // Create new tabs for each tab element + for (var i = 0; i < tabs.length; i++) { + new MaterialLayoutTab(tabs[i], tabs, panels, this); + } + } + this.element_.classList.add(this.CssClasses_.IS_UPGRADED); + } +}; +/** + * Constructor for an individual tab. + * + * @constructor + * @param {HTMLElement} tab The HTML element for the tab. + * @param {!Array} tabs Array with HTML elements for all tabs. + * @param {!Array} panels Array with HTML elements for all panels. + * @param {MaterialLayout} layout The MaterialLayout object that owns the tab. + */ +function MaterialLayoutTab(tab, tabs, panels, layout) { + /** + * Auxiliary method to programmatically select a tab in the UI. + */ + function selectTab() { + var href = tab.href.split('#')[1]; + var panel = layout.content_.querySelector('#' + href); + layout.resetTabState_(tabs); + layout.resetPanelState_(panels); + tab.classList.add(layout.CssClasses_.IS_ACTIVE); + panel.classList.add(layout.CssClasses_.IS_ACTIVE); + } + if (layout.tabBar_.classList.contains(layout.CssClasses_.JS_RIPPLE_EFFECT)) { + var rippleContainer = document.createElement('span'); + rippleContainer.classList.add(layout.CssClasses_.RIPPLE_CONTAINER); + rippleContainer.classList.add(layout.CssClasses_.JS_RIPPLE_EFFECT); + var ripple = document.createElement('span'); + ripple.classList.add(layout.CssClasses_.RIPPLE); + rippleContainer.appendChild(ripple); + tab.appendChild(rippleContainer); + } + if (!layout.tabBar_.classList.contains(layout.CssClasses_.TAB_MANUAL_SWITCH)) { + tab.addEventListener('click', function (e) { + if (tab.getAttribute('href').charAt(0) === '#') { + e.preventDefault(); + selectTab(); + } + }); + } + tab.show = selectTab; +} +window['MaterialLayoutTab'] = MaterialLayoutTab; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialLayout, + classAsString: 'MaterialLayout', + cssClass: 'mdl-js-layout' +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Data Table Card MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {Element} element The element that will be upgraded. + */ +var MaterialDataTable = function MaterialDataTable(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialDataTable'] = MaterialDataTable; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialDataTable.prototype.Constant_ = {}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialDataTable.prototype.CssClasses_ = { + DATA_TABLE: 'mdl-data-table', + SELECTABLE: 'mdl-data-table--selectable', + SELECT_ELEMENT: 'mdl-data-table__select', + IS_SELECTED: 'is-selected', + IS_UPGRADED: 'is-upgraded' +}; +/** + * Generates and returns a function that toggles the selection state of a + * single row (or multiple rows). + * + * @param {Element} checkbox Checkbox that toggles the selection state. + * @param {Element} row Row to toggle when checkbox changes. + * @param {(Array|NodeList)=} opt_rows Rows to toggle when checkbox changes. + * @private + */ +MaterialDataTable.prototype.selectRow_ = function (checkbox, row, opt_rows) { + if (row) { + return function () { + if (checkbox.checked) { + row.classList.add(this.CssClasses_.IS_SELECTED); + } else { + row.classList.remove(this.CssClasses_.IS_SELECTED); + } + }.bind(this); + } + if (opt_rows) { + return function () { + var i; + var el; + if (checkbox.checked) { + for (i = 0; i < opt_rows.length; i++) { + el = opt_rows[i].querySelector('td').querySelector('.mdl-checkbox'); + el['MaterialCheckbox'].check(); + opt_rows[i].classList.add(this.CssClasses_.IS_SELECTED); + } + } else { + for (i = 0; i < opt_rows.length; i++) { + el = opt_rows[i].querySelector('td').querySelector('.mdl-checkbox'); + el['MaterialCheckbox'].uncheck(); + opt_rows[i].classList.remove(this.CssClasses_.IS_SELECTED); + } + } + }.bind(this); + } +}; +/** + * Creates a checkbox for a single or or multiple rows and hooks up the + * event handling. + * + * @param {Element} row Row to toggle when checkbox changes. + * @param {(Array|NodeList)=} opt_rows Rows to toggle when checkbox changes. + * @private + */ +MaterialDataTable.prototype.createCheckbox_ = function (row, opt_rows) { + var label = document.createElement('label'); + var labelClasses = [ + 'mdl-checkbox', + 'mdl-js-checkbox', + 'mdl-js-ripple-effect', + this.CssClasses_.SELECT_ELEMENT + ]; + label.className = labelClasses.join(' '); + var checkbox = document.createElement('input'); + checkbox.type = 'checkbox'; + checkbox.classList.add('mdl-checkbox__input'); + if (row) { + checkbox.checked = row.classList.contains(this.CssClasses_.IS_SELECTED); + checkbox.addEventListener('change', this.selectRow_(checkbox, row)); + } else if (opt_rows) { + checkbox.addEventListener('change', this.selectRow_(checkbox, null, opt_rows)); + } + label.appendChild(checkbox); + componentHandler.upgradeElement(label, 'MaterialCheckbox'); + return label; +}; +/** + * Initialize element. + */ +MaterialDataTable.prototype.init = function () { + if (this.element_) { + var firstHeader = this.element_.querySelector('th'); + var bodyRows = Array.prototype.slice.call(this.element_.querySelectorAll('tbody tr')); + var footRows = Array.prototype.slice.call(this.element_.querySelectorAll('tfoot tr')); + var rows = bodyRows.concat(footRows); + if (this.element_.classList.contains(this.CssClasses_.SELECTABLE)) { + var th = document.createElement('th'); + var headerCheckbox = this.createCheckbox_(null, rows); + th.appendChild(headerCheckbox); + firstHeader.parentElement.insertBefore(th, firstHeader); + for (var i = 0; i < rows.length; i++) { + var firstCell = rows[i].querySelector('td'); + if (firstCell) { + var td = document.createElement('td'); + if (rows[i].parentNode.nodeName.toUpperCase() === 'TBODY') { + var rowCheckbox = this.createCheckbox_(rows[i]); + td.appendChild(rowCheckbox); + } + rows[i].insertBefore(td, firstCell); + } + } + this.element_.classList.add(this.CssClasses_.IS_UPGRADED); + } + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialDataTable, + classAsString: 'MaterialDataTable', + cssClass: 'mdl-js-data-table' +}); +/** + * @license + * Copyright 2015 Google Inc. All Rights Reserved. + * + * 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. + */ +/** + * Class constructor for Ripple MDL component. + * Implements MDL component design pattern defined at: + * https://github.com/jasonmayes/mdl-component-design-pattern + * + * @constructor + * @param {HTMLElement} element The element that will be upgraded. + */ +var MaterialRipple = function MaterialRipple(element) { + this.element_ = element; + // Initialize instance. + this.init(); +}; +window['MaterialRipple'] = MaterialRipple; +/** + * Store constants in one place so they can be updated easily. + * + * @enum {string | number} + * @private + */ +MaterialRipple.prototype.Constant_ = { + INITIAL_SCALE: 'scale(0.0001, 0.0001)', + INITIAL_SIZE: '1px', + INITIAL_OPACITY: '0.4', + FINAL_OPACITY: '0', + FINAL_SCALE: '' +}; +/** + * Store strings for class names defined by this component that are used in + * JavaScript. This allows us to simply change it in one place should we + * decide to modify at a later date. + * + * @enum {string} + * @private + */ +MaterialRipple.prototype.CssClasses_ = { + RIPPLE_CENTER: 'mdl-ripple--center', + RIPPLE_EFFECT_IGNORE_EVENTS: 'mdl-js-ripple-effect--ignore-events', + RIPPLE: 'mdl-ripple', + IS_ANIMATING: 'is-animating', + IS_VISIBLE: 'is-visible' +}; +/** + * Handle mouse / finger down on element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialRipple.prototype.downHandler_ = function (event) { + if (!this.rippleElement_.style.width && !this.rippleElement_.style.height) { + var rect = this.element_.getBoundingClientRect(); + this.boundHeight = rect.height; + this.boundWidth = rect.width; + this.rippleSize_ = Math.sqrt(rect.width * rect.width + rect.height * rect.height) * 2 + 2; + this.rippleElement_.style.width = this.rippleSize_ + 'px'; + this.rippleElement_.style.height = this.rippleSize_ + 'px'; + } + this.rippleElement_.classList.add(this.CssClasses_.IS_VISIBLE); + if (event.type === 'mousedown' && this.ignoringMouseDown_) { + this.ignoringMouseDown_ = false; + } else { + if (event.type === 'touchstart') { + this.ignoringMouseDown_ = true; + } + var frameCount = this.getFrameCount(); + if (frameCount > 0) { + return; + } + this.setFrameCount(1); + var bound = event.currentTarget.getBoundingClientRect(); + var x; + var y; + // Check if we are handling a keyboard click. + if (event.clientX === 0 && event.clientY === 0) { + x = Math.round(bound.width / 2); + y = Math.round(bound.height / 2); + } else { + var clientX = event.clientX !== undefined ? event.clientX : event.touches[0].clientX; + var clientY = event.clientY !== undefined ? event.clientY : event.touches[0].clientY; + x = Math.round(clientX - bound.left); + y = Math.round(clientY - bound.top); + } + this.setRippleXY(x, y); + this.setRippleStyles(true); + window.requestAnimationFrame(this.animFrameHandler.bind(this)); + } +}; +/** + * Handle mouse / finger up on element. + * + * @param {Event} event The event that fired. + * @private + */ +MaterialRipple.prototype.upHandler_ = function (event) { + // Don't fire for the artificial "mouseup" generated by a double-click. + if (event && event.detail !== 2) { + // Allow a repaint to occur before removing this class, so the animation + // shows for tap events, which seem to trigger a mouseup too soon after + // mousedown. + window.setTimeout(function () { + this.rippleElement_.classList.remove(this.CssClasses_.IS_VISIBLE); + }.bind(this), 0); + } +}; +/** + * Initialize element. + */ +MaterialRipple.prototype.init = function () { + if (this.element_) { + var recentering = this.element_.classList.contains(this.CssClasses_.RIPPLE_CENTER); + if (!this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT_IGNORE_EVENTS)) { + this.rippleElement_ = this.element_.querySelector('.' + this.CssClasses_.RIPPLE); + this.frameCount_ = 0; + this.rippleSize_ = 0; + this.x_ = 0; + this.y_ = 0; + // Touch start produces a compat mouse down event, which would cause a + // second ripples. To avoid that, we use this property to ignore the first + // mouse down after a touch start. + this.ignoringMouseDown_ = false; + this.boundDownHandler = this.downHandler_.bind(this); + this.element_.addEventListener('mousedown', this.boundDownHandler); + this.element_.addEventListener('touchstart', this.boundDownHandler); + this.boundUpHandler = this.upHandler_.bind(this); + this.element_.addEventListener('mouseup', this.boundUpHandler); + this.element_.addEventListener('mouseleave', this.boundUpHandler); + this.element_.addEventListener('touchend', this.boundUpHandler); + this.element_.addEventListener('blur', this.boundUpHandler); + /** + * Getter for frameCount_. + * @return {number} the frame count. + */ + this.getFrameCount = function () { + return this.frameCount_; + }; + /** + * Setter for frameCount_. + * @param {number} fC the frame count. + */ + this.setFrameCount = function (fC) { + this.frameCount_ = fC; + }; + /** + * Getter for rippleElement_. + * @return {Element} the ripple element. + */ + this.getRippleElement = function () { + return this.rippleElement_; + }; + /** + * Sets the ripple X and Y coordinates. + * @param {number} newX the new X coordinate + * @param {number} newY the new Y coordinate + */ + this.setRippleXY = function (newX, newY) { + this.x_ = newX; + this.y_ = newY; + }; + /** + * Sets the ripple styles. + * @param {boolean} start whether or not this is the start frame. + */ + this.setRippleStyles = function (start) { + if (this.rippleElement_ !== null) { + var transformString; + var scale; + var size; + var offset = 'translate(' + this.x_ + 'px, ' + this.y_ + 'px)'; + if (start) { + scale = this.Constant_.INITIAL_SCALE; + size = this.Constant_.INITIAL_SIZE; + } else { + scale = this.Constant_.FINAL_SCALE; + size = this.rippleSize_ + 'px'; + if (recentering) { + offset = 'translate(' + this.boundWidth / 2 + 'px, ' + this.boundHeight / 2 + 'px)'; + } + } + transformString = 'translate(-50%, -50%) ' + offset + scale; + this.rippleElement_.style.webkitTransform = transformString; + this.rippleElement_.style.msTransform = transformString; + this.rippleElement_.style.transform = transformString; + if (start) { + this.rippleElement_.classList.remove(this.CssClasses_.IS_ANIMATING); + } else { + this.rippleElement_.classList.add(this.CssClasses_.IS_ANIMATING); + } + } + }; + /** + * Handles an animation frame. + */ + this.animFrameHandler = function () { + if (this.frameCount_-- > 0) { + window.requestAnimationFrame(this.animFrameHandler.bind(this)); + } else { + this.setRippleStyles(false); + } + }; + } + } +}; +// The component registers itself. It can assume componentHandler is available +// in the global scope. +componentHandler.register({ + constructor: MaterialRipple, + classAsString: 'MaterialRipple', + cssClass: 'mdl-js-ripple-effect', + widget: false +}); +}()); diff --git a/app/modules/web/themes/material-dark/js/material.map b/app/modules/web/themes/material-dark/js/material.map new file mode 100644 index 000000000..6b0a0075b --- /dev/null +++ b/app/modules/web/themes/material-dark/js/material.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"material.min.js", +"lineCount":345, +"mappings":"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", +"sources":["material.js"], +"names":["MaterialTab","tab","ctx","element_","classList","contains","CssClasses_","MDL_JS_RIPPLE_EFFECT","rippleContainer","document","createElement","add","MDL_RIPPLE_CONTAINER","ripple","MDL_RIPPLE","appendChild","addEventListener","e","getAttribute","charAt","preventDefault","href","split","panel","querySelector","resetTabState_","resetPanelState_","ACTIVE_CLASS","MaterialLayoutTab","tabs","panels","layout","selectTab","content_","IS_ACTIVE","tabBar_","JS_RIPPLE_EFFECT","RIPPLE_CONTAINER","RIPPLE","TAB_MANUAL_SWITCH","show","componentHandler","upgradeDom","optJsClass","optCssClass","upgradeElement","element","upgradeElements","elements","upgradeAllRegistered","registerUpgradedCallback","jsClass","callback","register","config","downgradeElements","nodes","findRegisteredClass_","name","optReplace","i","registeredComponents_","length","className","getUpgradedListOfElement_","dataUpgraded","isElementUpgraded_","upgradedList","indexOf","createEvent_","eventType","bubbles","cancelable","window","CustomEvent","ev","createEvent","initEvent","upgradeDomInternal","cssClass","registeredClass","querySelectorAll","n","upgradeElementInternal","Element","Error","upgradingEv","dispatchEvent","defaultPrevented","classesToUpgrade","push","forEach","component","setAttribute","join","instance","classConstructor","createdComponents_","j","m","callbacks","widget","upgradedEv","upgradeElementsInternal","Array","isArray","prototype","slice","call","HTMLElement","children","deconstructComponentInternal","componentIndex","splice","upgrades","componentPlace","classAsString","upgradeAllRegisteredInternal","registerUpgradedCallbackInternal","regClass","registerInternal","newConfig","constructor","item","hasOwnProperty","componentConfigProperty_","found","downgradeNodesInternal","downgradeNode","node","filter","NodeList","Node","documentElement","componentHandler.upgradeElement","componentHandler.register","Date","now","Date.now","getTime","vendors","requestAnimationFrame","vp","cancelAnimationFrame","test","navigator","userAgent","lastTime","window.requestAnimationFrame","nextTime","Math","max","setTimeout","clearTimeout","MaterialButton","init","Constant_","RIPPLE_EFFECT","blurHandler_","MaterialButton.prototype.blurHandler_","event","blur","disable","MaterialButton.prototype.disable","disabled","enable","MaterialButton.prototype.enable","MaterialButton.prototype.init","rippleElement_","boundRippleBlurHandler","bind","boundButtonBlurHandler","MaterialCheckbox","TINY_TIMEOUT","INPUT","BOX_OUTLINE","FOCUS_HELPER","TICK_OUTLINE","RIPPLE_IGNORE_EVENTS","RIPPLE_CENTER","IS_FOCUSED","IS_DISABLED","IS_CHECKED","IS_UPGRADED","onChange_","MaterialCheckbox.prototype.onChange_","updateClasses_","onFocus_","MaterialCheckbox.prototype.onFocus_","onBlur_","MaterialCheckbox.prototype.onBlur_","remove","onMouseUp_","MaterialCheckbox.prototype.onMouseUp_","blur_","MaterialCheckbox.prototype.updateClasses_","checkDisabled","checkToggleState","MaterialCheckbox.prototype.blur_","inputElement_","MaterialCheckbox.prototype.checkToggleState","checked","MaterialCheckbox.prototype.checkDisabled","MaterialCheckbox.prototype.disable","MaterialCheckbox.prototype.enable","check","MaterialCheckbox.prototype.check","uncheck","MaterialCheckbox.prototype.uncheck","MaterialCheckbox.prototype.init","boxOutline","tickContainer","tickOutline","rippleContainerElement_","boundRippleMouseUp","boundInputOnChange","boundInputOnFocus","boundInputOnBlur","boundElementMouseUp","MaterialIconToggle","MaterialIconToggle.prototype.onChange_","MaterialIconToggle.prototype.onFocus_","MaterialIconToggle.prototype.onBlur_","MaterialIconToggle.prototype.onMouseUp_","MaterialIconToggle.prototype.updateClasses_","MaterialIconToggle.prototype.blur_","MaterialIconToggle.prototype.checkToggleState","MaterialIconToggle.prototype.checkDisabled","MaterialIconToggle.prototype.disable","MaterialIconToggle.prototype.enable","MaterialIconToggle.prototype.check","MaterialIconToggle.prototype.uncheck","MaterialIconToggle.prototype.init","boundElementOnMouseUp","MaterialMenu","TRANSITION_DURATION_SECONDS","TRANSITION_DURATION_FRACTION","CLOSE_TIMEOUT","Keycodes_","ENTER","ESCAPE","SPACE","UP_ARROW","DOWN_ARROW","CONTAINER","OUTLINE","ITEM","ITEM_RIPPLE_CONTAINER","IS_VISIBLE","IS_ANIMATING","BOTTOM_LEFT","BOTTOM_RIGHT","TOP_LEFT","TOP_RIGHT","UNALIGNED","MaterialMenu.prototype.init","container","parentElement","insertBefore","removeChild","container_","outline","outline_","forElId","forEl","getElementById","forElement_","handleForClick_","handleForKeyboardEvent_","items","boundItemKeydown_","handleItemKeyboardEvent_","boundItemClick_","handleItemClick_","tabIndex","MaterialMenu.prototype.handleForClick_","evt","rect","getBoundingClientRect","forRect","style","right","top","offsetTop","offsetHeight","left","offsetLeft","bottom","toggle","MaterialMenu.prototype.handleForKeyboardEvent_","keyCode","focus","MaterialMenu.prototype.handleItemKeyboardEvent_","currentIndex","target","MouseEvent","click","hide","MaterialMenu.prototype.handleItemClick_","hasAttribute","stopPropagation","closing_","applyClip_","MaterialMenu.prototype.applyClip_","height","width","clip","removeAnimationEndListener_","MaterialMenu.prototype.removeAnimationEndListener_","addAnimationEndListener_","MaterialMenu.prototype.addAnimationEndListener_","MaterialMenu.prototype.show","transitionDuration","itemDelay","transitionDelay","parentNode","removeEventListener","MaterialMenu.prototype.hide","removeProperty","MaterialMenu.prototype.toggle","MaterialProgress","INDETERMINATE_CLASS","setProgress","MaterialProgress.prototype.setProgress","p","progressbar_","setBuffer","MaterialProgress.prototype.setBuffer","bufferbar_","auxbar_","MaterialProgress.prototype.init","el","MaterialRadio","JS_RADIO","RADIO_BTN","RADIO_OUTER_CIRCLE","RADIO_INNER_CIRCLE","MaterialRadio.prototype.onChange_","radios","getElementsByClassName","button","btnElement_","MaterialRadio.prototype.onFocus_","MaterialRadio.prototype.onBlur_","onMouseup_","MaterialRadio.prototype.onMouseup_","MaterialRadio.prototype.updateClasses_","MaterialRadio.prototype.blur_","MaterialRadio.prototype.checkDisabled","MaterialRadio.prototype.checkToggleState","MaterialRadio.prototype.disable","MaterialRadio.prototype.enable","MaterialRadio.prototype.check","MaterialRadio.prototype.uncheck","MaterialRadio.prototype.init","boundChangeHandler_","boundFocusHandler_","boundBlurHandler_","boundMouseUpHandler_","outerCircle","innerCircle","MaterialSlider","isIE_","msPointerEnabled","IE_CONTAINER","SLIDER_CONTAINER","BACKGROUND_FLEX","BACKGROUND_LOWER","BACKGROUND_UPPER","IS_LOWEST_VALUE","onInput_","MaterialSlider.prototype.onInput_","updateValueStyles_","MaterialSlider.prototype.onChange_","MaterialSlider.prototype.onMouseUp_","onContainerMouseDown_","MaterialSlider.prototype.onContainerMouseDown_","newEvent","buttons","clientX","clientY","y","MaterialSlider.prototype.updateValueStyles_","fraction","value","min","backgroundLower_","flex","webkitFlex","backgroundUpper_","MaterialSlider.prototype.disable","MaterialSlider.prototype.enable","change","MaterialSlider.prototype.change","MaterialSlider.prototype.init","containerIE","backgroundFlex","boundInputHandler","boundChangeHandler","boundMouseUpHandler","boundContainerMouseDownHandler","MaterialSnackbar","textElement_","cssClasses_","MESSAGE","actionElement_","ACTION","active","actionText_","message_","actionHandler_","undefined","queuedNotifications_","setActionHidden_","ANIMATION_LENGTH","SNACKBAR","ACTIVE","displaySnackbar_","MaterialSnackbar.prototype.displaySnackbar_","textContent","cleanup_","timeout_","showSnackbar","MaterialSnackbar.prototype.showSnackbar","data","checkQueue_","MaterialSnackbar.prototype.checkQueue_","shift","MaterialSnackbar.prototype.cleanup_","MaterialSnackbar.prototype.setActionHidden_","removeAttribute","MaterialSpinner","MDL_SPINNER_LAYER_COUNT","MDL_SPINNER_LAYER","MDL_SPINNER_CIRCLE_CLIPPER","MDL_SPINNER_CIRCLE","MDL_SPINNER_GAP_PATCH","MDL_SPINNER_LEFT","MDL_SPINNER_RIGHT","createLayer","MaterialSpinner.prototype.createLayer","index","layer","leftClipper","gapPatch","rightClipper","circleOwners","circle","stop","MaterialSpinner.prototype.stop","start","MaterialSpinner.prototype.start","MaterialSpinner.prototype.init","MaterialSwitch","TRACK","THUMB","MaterialSwitch.prototype.onChange_","MaterialSwitch.prototype.onFocus_","MaterialSwitch.prototype.onBlur_","MaterialSwitch.prototype.onMouseUp_","MaterialSwitch.prototype.updateClasses_","MaterialSwitch.prototype.blur_","MaterialSwitch.prototype.checkDisabled","MaterialSwitch.prototype.checkToggleState","MaterialSwitch.prototype.disable","MaterialSwitch.prototype.enable","on","MaterialSwitch.prototype.on","off","MaterialSwitch.prototype.off","MaterialSwitch.prototype.init","track","thumb","focusHelper","boundFocusHandler","boundBlurHandler","MaterialTabs","TAB_CLASS","PANEL_CLASS","UPGRADED_CLASS","MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS","initTabs_","MaterialTabs.prototype.initTabs_","tabs_","panels_","MaterialTabs.prototype.resetTabState_","k","MaterialTabs.prototype.resetPanelState_","MaterialTabs.prototype.init","MaterialTextfield","maxRows","NO_MAX_ROWS","MAX_ROWS_ATTRIBUTE","LABEL","IS_DIRTY","IS_INVALID","HAS_PLACEHOLDER","onKeyDown_","MaterialTextfield.prototype.onKeyDown_","currentRowCount","MaterialTextfield.prototype.onFocus_","MaterialTextfield.prototype.onBlur_","onReset_","MaterialTextfield.prototype.onReset_","MaterialTextfield.prototype.updateClasses_","checkValidity","checkDirty","checkFocus","MaterialTextfield.prototype.checkDisabled","input_","MaterialTextfield.prototype.checkFocus","MaterialTextfield.prototype.checkValidity","validity","valid","MaterialTextfield.prototype.checkDirty","MaterialTextfield.prototype.disable","MaterialTextfield.prototype.enable","MaterialTextfield.prototype.change","MaterialTextfield.prototype.init","label_","parseInt","isNaN","boundUpdateClassesHandler","boundResetHandler","boundKeyDownHandler","invalid","MaterialTooltip","BOTTOM","LEFT","RIGHT","TOP","handleMouseEnter_","MaterialTooltip.prototype.handleMouseEnter_","props","marginLeft","offsetWidth","marginTop","hideTooltip_","MaterialTooltip.prototype.hideTooltip_","MaterialTooltip.prototype.init","boundMouseEnterHandler","boundMouseLeaveAndScrollHandler","MaterialLayout","MAX_WIDTH","TAB_SCROLL_PIXELS","RESIZE_TIMEOUT","MENU_ICON","CHEVRON_LEFT","CHEVRON_RIGHT","Mode_","STANDARD","SEAMED","WATERFALL","SCROLL","HEADER","DRAWER","CONTENT","DRAWER_BTN","ICON","HEADER_SEAMED","HEADER_WATERFALL","HEADER_SCROLL","FIXED_HEADER","OBFUSCATOR","TAB_BAR","TAB_CONTAINER","TAB","TAB_BAR_BUTTON","TAB_BAR_LEFT_BUTTON","TAB_BAR_RIGHT_BUTTON","PANEL","HAS_DRAWER","HAS_TABS","HAS_SCROLLING_HEADER","CASTING_SHADOW","IS_COMPACT","IS_SMALL_SCREEN","IS_DRAWER_OPEN","ON_LARGE_SCREEN","ON_SMALL_SCREEN","contentScrollHandler_","MaterialLayout.prototype.contentScrollHandler_","header_","headerVisible","scrollTop","keyboardEventHandler_","MaterialLayout.prototype.keyboardEventHandler_","drawer_","toggleDrawer","screenSizeHandler_","MaterialLayout.prototype.screenSizeHandler_","screenSizeMediaQuery_","matches","obfuscator_","drawerToggleHandler_","MaterialLayout.prototype.drawerToggleHandler_","type","headerTransitionEndHandler_","MaterialLayout.prototype.headerTransitionEndHandler_","headerClickHandler_","MaterialLayout.prototype.headerClickHandler_","MaterialLayout.prototype.resetTabState_","tabBar","MaterialLayout.prototype.resetPanelState_","MaterialLayout.prototype.toggleDrawer","drawerButton","MaterialLayout.prototype.init","focusedElement","directChildren","childNodes","numChildren","c","child","persisted","overflowY","mode","drawerButtonIcon","innerHTML","firstChild","obfuscator","matchMedia","addListener","tabContainer","leftButton","leftButtonIcon","scrollLeft","rightButton","rightButtonIcon","tabUpdateHandler","scrollWidth","windowResizeHandler","resizeTimeoutId_","MaterialDataTable","DATA_TABLE","SELECTABLE","SELECT_ELEMENT","IS_SELECTED","selectRow_","MaterialDataTable.prototype.selectRow_","checkbox","row","opt_rows","createCheckbox_","MaterialDataTable.prototype.createCheckbox_","label","labelClasses","MaterialDataTable.prototype.init","firstHeader","bodyRows","footRows","rows","concat","th","headerCheckbox","firstCell","td","nodeName","toUpperCase","rowCheckbox","MaterialRipple","INITIAL_SCALE","INITIAL_SIZE","INITIAL_OPACITY","FINAL_OPACITY","FINAL_SCALE","RIPPLE_EFFECT_IGNORE_EVENTS","downHandler_","MaterialRipple.prototype.downHandler_","boundHeight","boundWidth","rippleSize_","sqrt","ignoringMouseDown_","getFrameCount","frameCount","setFrameCount","bound","currentTarget","x","round","touches","setRippleXY","setRippleStyles","animFrameHandler","upHandler_","MaterialRipple.prototype.upHandler_","detail","MaterialRipple.prototype.init","recentering","y_","x_","frameCount_","boundDownHandler","boundUpHandler","this.getFrameCount","this.setFrameCount","fC","getRippleElement","this.getRippleElement","this.setRippleXY","newX","newY","this.setRippleStyles","transformString","offset","scale","webkitTransform","msTransform","transform","this.animFrameHandler"] +} diff --git a/app/modules/web/themes/material-dark/js/material.min.js b/app/modules/web/themes/material-dark/js/material.min.js new file mode 100644 index 000000000..1aef68d77 --- /dev/null +++ b/app/modules/web/themes/material-dark/js/material.min.js @@ -0,0 +1,135 @@ +/* + + Copyright 2015 Google Inc. All Rights Reserved. + + 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. +*/ +(function(){function x(b,a){if(b){if(a.element_.classList.contains(a.CssClasses_.MDL_JS_RIPPLE_EFFECT)){var c=document.createElement("span");c.classList.add(a.CssClasses_.MDL_RIPPLE_CONTAINER);c.classList.add(a.CssClasses_.MDL_JS_RIPPLE_EFFECT);var g=document.createElement("span");g.classList.add(a.CssClasses_.MDL_RIPPLE);c.appendChild(g);b.appendChild(c)}b.addEventListener("click",function(c){"#"===b.getAttribute("href").charAt(0)&&(c.preventDefault(),c=b.href.split("#")[1],c=a.element_.querySelector("#"+ +c),a.resetTabState_(),a.resetPanelState_(),b.classList.add(a.CssClasses_.ACTIVE_CLASS),c.classList.add(a.CssClasses_.ACTIVE_CLASS))})}}function v(b,a,d,g){function c(){var c=b.href.split("#")[1];c=g.content_.querySelector("#"+c);g.resetTabState_(a);g.resetPanelState_(d);b.classList.add(g.CssClasses_.IS_ACTIVE);c.classList.add(g.CssClasses_.IS_ACTIVE)}if(g.tabBar_.classList.contains(g.CssClasses_.JS_RIPPLE_EFFECT)){var e=document.createElement("span");e.classList.add(g.CssClasses_.RIPPLE_CONTAINER); +e.classList.add(g.CssClasses_.JS_RIPPLE_EFFECT);var f=document.createElement("span");f.classList.add(g.CssClasses_.RIPPLE);e.appendChild(f);b.appendChild(e)}g.tabBar_.classList.contains(g.CssClasses_.TAB_MANUAL_SWITCH)||b.addEventListener("click",function(a){"#"===b.getAttribute("href").charAt(0)&&(a.preventDefault(),c())});b.show=c}var e={upgradeDom:function(b,a){},upgradeElement:function(b,a){},upgradeElements:function(b){},upgradeAllRegistered:function(){},registerUpgradedCallback:function(b,a){}, +register:function(b){},downgradeElements:function(b){}};e=function(){function b(b,a){for(var c=0;cd+1?a[d+1].focus():a[0].focus()):b.keyCode===this.Keycodes_.SPACE||b.keyCode===this.Keycodes_.ENTER?(b.preventDefault(),a=new MouseEvent("mousedown"),b.target.dispatchEvent(a),a=new MouseEvent("mouseup"), +b.target.dispatchEvent(a),b.target.click()):b.keyCode===this.Keycodes_.ESCAPE&&(b.preventDefault(),this.hide())}}};f.prototype.handleItemClick_=function(b){b.target.hasAttribute("disabled")?b.stopPropagation():(this.closing_=!0,window.setTimeout(function(b){this.hide();this.closing_=!1}.bind(this),this.Constant_.CLOSE_TIMEOUT))};f.prototype.applyClip_=function(b,a){this.element_.classList.contains(this.CssClasses_.UNALIGNED)?this.element_.style.clip="":this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)? +this.element_.style.clip="rect(0 "+a+"px 0 "+a+"px)":this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?this.element_.style.clip="rect("+b+"px 0 "+b+"px 0)":this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?this.element_.style.clip="rect("+b+"px "+a+"px "+b+"px "+a+"px)":this.element_.style.clip=""};f.prototype.removeAnimationEndListener_=function(b){b.target.classList.remove(f.prototype.CssClasses_.IS_ANIMATING)};f.prototype.addAnimationEndListener_=function(){this.element_.addEventListener("transitionend", +this.removeAnimationEndListener_);this.element_.addEventListener("webkitTransitionEnd",this.removeAnimationEndListener_)};f.prototype.show=function(b){if(this.element_&&this.container_&&this.outline_){var a=this.element_.getBoundingClientRect().height,d=this.element_.getBoundingClientRect().width;this.container_.style.width=d+"px";this.container_.style.height=a+"px";this.outline_.style.width=d+"px";this.outline_.style.height=a+"px";for(var g=this.Constant_.TRANSITION_DURATION_SECONDS*this.Constant_.TRANSITION_DURATION_FRACTION, +e=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),f=0;f=this.maxRows&&a.preventDefault()};a.prototype.onFocus_=function(a){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)};a.prototype.onBlur_=function(a){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)};a.prototype.onReset_= +function(a){this.updateClasses_()};a.prototype.updateClasses_=function(){this.checkDisabled();this.checkValidity();this.checkDirty();this.checkFocus()};a.prototype.checkDisabled=function(){this.input_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)};a.prototype.checkDisabled=a.prototype.checkDisabled;a.prototype.checkFocus=function(){this.element_.querySelector(":focus")?this.element_.classList.add(this.CssClasses_.IS_FOCUSED): +this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)};a.prototype.checkFocus=a.prototype.checkFocus;a.prototype.checkValidity=function(){this.input_.validity&&(this.input_.validity.valid?this.element_.classList.remove(this.CssClasses_.IS_INVALID):this.element_.classList.add(this.CssClasses_.IS_INVALID))};a.prototype.checkValidity=a.prototype.checkValidity;a.prototype.checkDirty=function(){this.input_.value&&0d+e?(this.element_.style.top="0",this.element_.style.marginTop="0"):(this.element_.style.top=d+"px",this.element_.style.marginTop=e+"px"):0>b+g?(this.element_.style.left= +"0",this.element_.style.marginLeft="0"):(this.element_.style.left=b+"px",this.element_.style.marginLeft=g+"px");this.element_.classList.contains(this.CssClasses_.TOP)?this.element_.style.top=a.top-this.element_.offsetHeight-10+"px":this.element_.classList.contains(this.CssClasses_.RIGHT)?this.element_.style.left=a.left+a.width+10+"px":this.element_.classList.contains(this.CssClasses_.LEFT)?this.element_.style.left=a.left-this.element_.offsetWidth-10+"px":this.element_.style.top=a.top+a.height+10+ +"px";this.element_.classList.add(this.CssClasses_.IS_ACTIVE)};a.prototype.hideTooltip_=function(){this.element_.classList.remove(this.CssClasses_.IS_ACTIVE)};a.prototype.init=function(){if(this.element_){var a=this.element_.getAttribute("for")||this.element_.getAttribute("data-mdl-for");a&&(this.forElement_=document.getElementById(a));this.forElement_&&(this.forElement_.hasAttribute("tabindex")||this.forElement_.setAttribute("tabindex","0"),this.boundMouseEnterHandler=this.handleMouseEnter_.bind(this), +this.boundMouseLeaveAndScrollHandler=this.hideTooltip_.bind(this),this.forElement_.addEventListener("mouseenter",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("touchend",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("mouseleave",this.boundMouseLeaveAndScrollHandler,!1),window.addEventListener("scroll",this.boundMouseLeaveAndScrollHandler,!0),window.addEventListener("touchstart",this.boundMouseLeaveAndScrollHandler))}};e.register({constructor:a,classAsString:"MaterialTooltip", +cssClass:"mdl-tooltip"});a=function(a){this.element_=a;this.init()};window.MaterialLayout=a;a.prototype.Constant_={MAX_WIDTH:"(max-width: 1024px)",TAB_SCROLL_PIXELS:100,RESIZE_TIMEOUT:100,MENU_ICON:"",CHEVRON_LEFT:"chevron_left",CHEVRON_RIGHT:"chevron_right"};a.prototype.Keycodes_={ENTER:13,ESCAPE:27,SPACE:32};a.prototype.Mode_={STANDARD:0,SEAMED:1,WATERFALL:2,SCROLL:3};a.prototype.CssClasses_={CONTAINER:"mdl-layout__container",HEADER:"mdl-layout__header",DRAWER:"mdl-layout__drawer",CONTENT:"mdl-layout__content", +DRAWER_BTN:"mdl-layout__drawer-button",ICON:"material-icons",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-layout__tab-ripple-container",RIPPLE:"mdl-ripple",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",HEADER_SEAMED:"mdl-layout__header--seamed",HEADER_WATERFALL:"mdl-layout__header--waterfall",HEADER_SCROLL:"mdl-layout__header--scroll",FIXED_HEADER:"mdl-layout--fixed-header",OBFUSCATOR:"mdl-layout__obfuscator",TAB_BAR:"mdl-layout__tab-bar",TAB_CONTAINER:"mdl-layout__tab-bar-container", +TAB:"mdl-layout__tab",TAB_BAR_BUTTON:"mdl-layout__tab-bar-button",TAB_BAR_LEFT_BUTTON:"mdl-layout__tab-bar-left-button",TAB_BAR_RIGHT_BUTTON:"mdl-layout__tab-bar-right-button",TAB_MANUAL_SWITCH:"mdl-layout__tab-manual-switch",PANEL:"mdl-layout__tab-panel",HAS_DRAWER:"has-drawer",HAS_TABS:"has-tabs",HAS_SCROLLING_HEADER:"has-scrolling-header",CASTING_SHADOW:"is-casting-shadow",IS_COMPACT:"is-compact",IS_SMALL_SCREEN:"is-small-screen",IS_DRAWER_OPEN:"is-visible",IS_ACTIVE:"is-active",IS_UPGRADED:"is-upgraded", +IS_ANIMATING:"is-animating",ON_LARGE_SCREEN:"mdl-layout--large-screen-only",ON_SMALL_SCREEN:"mdl-layout--small-screen-only"};a.prototype.contentScrollHandler_=function(){if(!this.header_.classList.contains(this.CssClasses_.IS_ANIMATING)){var a=!this.element_.classList.contains(this.CssClasses_.IS_SMALL_SCREEN)||this.element_.classList.contains(this.CssClasses_.FIXED_HEADER);0=this.content_.scrollTop&&this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW),this.header_.classList.remove(this.CssClasses_.IS_COMPACT),a&&this.header_.classList.add(this.CssClasses_.IS_ANIMATING))}};a.prototype.keyboardEventHandler_=function(a){a.keyCode===this.Keycodes_.ESCAPE&&this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)&& +this.toggleDrawer()};a.prototype.screenSizeHandler_=function(){this.screenSizeMediaQuery_.matches?this.element_.classList.add(this.CssClasses_.IS_SMALL_SCREEN):(this.element_.classList.remove(this.CssClasses_.IS_SMALL_SCREEN),this.drawer_&&(this.drawer_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN),this.obfuscator_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN)))};a.prototype.drawerToggleHandler_=function(a){if(a&&"keydown"===a.type)if(a.keyCode===this.Keycodes_.SPACE||a.keyCode===this.Keycodes_.ENTER)a.preventDefault(); +else return;this.toggleDrawer()};a.prototype.headerTransitionEndHandler_=function(){this.header_.classList.remove(this.CssClasses_.IS_ANIMATING)};a.prototype.headerClickHandler_=function(){this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.IS_COMPACT),this.header_.classList.add(this.CssClasses_.IS_ANIMATING))};a.prototype.resetTabState_=function(a){for(var b=0;b
    ').appendTo("body"); + const dialog = $('#' + options.id); + const content = dialog.find('.mdl-card'); + if (options.contentStyle !== null) { + content.css(options.contentStyle); + } + + if (options.title !== null) { + $('
    ' + options.title + '
    ').appendTo(content); + } + + if (options.text !== null) { + $(options.text).appendTo(content); + } + + if (options.neutral || options.negative || options.positive) { + const buttonBar = $('
    '); + if (options.neutral) { + options.neutral = $.extend({ + id: 'neutral', + title: 'Neutral', + onClick: null + }, options.neutral); + var neuButton = $(''); + neuButton.click(function (e) { + e.preventDefault(); + if (options.neutral.onClick === null || !options.neutral.onClick(e)) { + hideDialog(dialog); + } + }); + neuButton.appendTo(buttonBar); + } + if (options.negative) { + options.negative = $.extend({ + id: 'negative', + title: 'Cancel', + onClick: null + }, options.negative); + var negButton = $(''); + negButton.click(function (e) { + e.preventDefault(); + if (options.negative.onClick === null || !options.negative.onClick(e)) { + hideDialog(dialog); + } + }); + negButton.appendTo(buttonBar); + } + if (options.positive) { + options.positive = $.extend({ + id: 'positive', + title: 'OK', + onClick: null + }, options.positive); + var posButton = $(''); + posButton.click(function (e) { + e.preventDefault(); + if (options.positive.onClick === null || !options.positive.onClick(e)) { + hideDialog(dialog); + } + }); + posButton.appendTo(buttonBar); + } + buttonBar.appendTo(content); + } + + if (options.cancelable) { + dialog.click(function () { + hideDialog(dialog); + }); + $(document).on("keyup.dialog", function (e) { + if (e.which === 27) { + hideDialog(dialog); + } + }); + content.click(function (e) { + e.stopPropagation(); + }); + } + setTimeout(function () { + if (options.onLoaded) { + options.onLoaded(); + } + + componentHandler.upgradeDom(); + dialog.css({opacity: 1}); + }, 1); + } + + function hideDialog(dialog) { + $(document).off("keyup.dialog"); + dialog.css({opacity: 0}); + setTimeout(function () { + dialog.remove(); + }, 400); + } + + return { + show: showDialog, + hide: hideDialog + }; +}; \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.map b/app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.map new file mode 100644 index 000000000..f3f9c38db --- /dev/null +++ b/app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"mdl-jquery-modal-dialog.min.js", +"lineCount":7, +"mappings":"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", +"sources":[" [synthetic:base] "," [synthetic:util/findinternal] "," [synthetic:util/defineproperty] "," [synthetic:util/global] "," [synthetic:util/polyfill] "," [synthetic:es6/array/find] ","mdl-jquery-modal-dialog.js"], +"names":["mdlDialog","hideDialog","dialog","$","document","off","css","opacity","setTimeout","remove","show","showDialog","options","extend","id","title","text","neutral","negative","positive","cancelable","contentStyle","onLoaded","hideOther","appendTo","content","find","buttonBar","onClick","neuButton","click","e","preventDefault","negButton","posButton","on","which","stopPropagation","componentHandler","upgradeDom","hide"] +} diff --git a/app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.min.js b/app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.min.js new file mode 100644 index 000000000..0b159c392 --- /dev/null +++ b/app/modules/web/themes/material-dark/js/mdl-jquery-modal-dialog.min.js @@ -0,0 +1,8 @@ +var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(b,a,d){b instanceof String&&(b=String(b));for(var c=b.length,e=0;e
    ').appendTo("body"); +var d=$("#"+a.id),c=d.find(".mdl-card");null!==a.contentStyle&&c.css(a.contentStyle);null!==a.title&&$("
    "+a.title+"
    ").appendTo(c);null!==a.text&&$(a.text).appendTo(c);if(a.neutral||a.negative||a.positive){var e=$('
    ');if(a.neutral){a.neutral=$.extend({id:"neutral",title:"Neutral",onClick:null},a.neutral);var f=$('"); +f.click(function(c){c.preventDefault();null!==a.neutral.onClick&&a.neutral.onClick(c)||b(d)});f.appendTo(e)}a.negative&&(a.negative=$.extend({id:"negative",title:"Cancel",onClick:null},a.negative),f=$('"),f.click(function(c){c.preventDefault();null!==a.negative.onClick&&a.negative.onClick(c)||b(d)}),f.appendTo(e));a.positive&&(a.positive=$.extend({id:"positive",title:"OK",onClick:null}, +a.positive),f=$('"),f.click(function(c){c.preventDefault();null!==a.positive.onClick&&a.positive.onClick(c)||b(d)}),f.appendTo(e));e.appendTo(c)}a.cancelable&&(d.click(function(){b(d)}),$(document).on("keyup.dialog",function(a){27===a.which&&b(d)}),c.click(function(a){a.stopPropagation()}));setTimeout(function(){if(a.onLoaded)a.onLoaded();componentHandler.upgradeDom(); +d.css({opacity:1})},1)},hide:b}}; diff --git a/app/modules/web/themes/material-dark/views/_layouts/main.inc b/app/modules/web/themes/material-dark/views/_layouts/main.inc new file mode 100644 index 000000000..5287ff635 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_layouts/main.inc @@ -0,0 +1,67 @@ + + + + + <?php printf('%s :: %s', $_getvar('app_name'), $_getvar('app_desc')); ?> + + + + + + + + +
    + + +
    +
    +
    +
    + +
    + includePartial('fixed-header'); + elseif ($this->hashContentTemplates()): + foreach ($this->getContentTemplates() as $template): + include $template; + endforeach; + endif; + ?> +
    + + includePartial('footer'); ?> +
    + + + + + + + + + + diff --git a/app/modules/web/themes/material-dark/views/_partials/error-full.inc b/app/modules/web/themes/material-dark/views/_partials/error-full.inc new file mode 100644 index 000000000..ffe1884bd --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_partials/error-full.inc @@ -0,0 +1,9 @@ +
    +
    + includePartial('error'); ?> +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/_partials/error-list.inc b/app/modules/web/themes/material-dark/views/_partials/error-list.inc new file mode 100644 index 000000000..1848efc22 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_partials/error-list.inc @@ -0,0 +1,49 @@ + + 0): ?> +
      + + + +
    • + getIconCritical()->getIcon(); ?> + + +

      + +

      + +
    • + +
    • + getIconWarning()->getIcon(); ?> + + +

      + +

      + +
    • + +
    • + + + getIconInfo()->getIcon(); ?> +

      + +

      + +
    • + + + +
    + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/_partials/error.inc b/app/modules/web/themes/material-dark/views/_partials/error.inc new file mode 100644 index 000000000..6b5eaa504 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_partials/error.inc @@ -0,0 +1,23 @@ + +
    + includePartial('error-list'); ?> + + +
    + +
    + +
    diff --git a/app/modules/web/themes/material-dark/views/_partials/fixed-header.inc b/app/modules/web/themes/material-dark/views/_partials/fixed-header.inc new file mode 100644 index 000000000..f3bb3baa3 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_partials/fixed-header.inc @@ -0,0 +1,198 @@ + +
    +
    +
    + + + + + + + +
    + + + +
    +
    + + + + + +
    +
    + hashContentTemplates()): + foreach ($this->getContentTemplates() as $template): + include $template; + endforeach; + endif; ?> +
    +
    +
    diff --git a/app/modules/web/themes/material-dark/views/_partials/footer.inc b/app/modules/web/themes/material-dark/views/_partials/footer.inc new file mode 100644 index 000000000..2567051d7 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_partials/footer.inc @@ -0,0 +1,83 @@ + +
    + + + +
    diff --git a/app/modules/web/themes/material-dark/views/_partials/help_account_search.inc b/app/modules/web/themes/material-dark/views/_partials/help_account_search.inc new file mode 100644 index 000000000..e17cd4c39 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_partials/help_account_search.inc @@ -0,0 +1,31 @@ + + +
    +
    + +
    +
    + +
    +
    +

    +
      +
    • user:"login"
      %s', __('Search for accounts which \'login\' has access rights')); ?>
    • +
    • owner:"login"
      %s', __('Get the accounts in which user login "login" is the owner')); ?>
    • +
    • group:"group_name"
      %s', __('Search for accounts which \'group_name\' has access rights')); ?>
    • +
    • maingroup:"group_name"
      %s', __('Get the accounts in which main group "group_name" is set')); ?>
    • +
    • file:"file_name"
      %s', __('Search for accounts which contain a file with the name \'file_name\'')); ?>
    • +
    • client:"client_name"
      %s', __('Search for accounts by client name')); ?>
    • +
    • category:"category_name"
      %s', __('Search for accounts by category name')); ?>
    • +
    • id:"account_id"
      %s', __('Returns the account for the given ID')); ?>
    • +
    • name_regex:"regex"
      %s', __('Search for accounts name by regular expression')); ?>
    • +
    • is|not:expired
      %s', __('Search for accounts with expired password')); ?>
    • +
    • is|not:private
      %s', __('Get private accounts for current user')); ?>
    • +
    • op:and|or
      %s', __('Operator for special parameters')); ?>
    • +
    +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/_partials/no_records_found.inc b/app/modules/web/themes/material-dark/views/_partials/no_records_found.inc new file mode 100644 index 000000000..3d3888aec --- /dev/null +++ b/app/modules/web/themes/material-dark/views/_partials/no_records_found.inc @@ -0,0 +1,14 @@ + + +
    + +
    + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/account-editpass.inc b/app/modules/web/themes/material-dark/views/account/account-editpass.inc new file mode 100644 index 000000000..18d3c88da --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/account-editpass.inc @@ -0,0 +1,161 @@ + + +
    +
    + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + isAccountExpireEnabled()): ?> + + + + + +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + + +
    + date_range +
    + + + + +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    +
    +
    + + diff --git a/app/modules/web/themes/material-dark/views/account/account-history.inc b/app/modules/web/themes/material-dark/views/account/account-history.inc new file mode 100644 index 000000000..bee4ec23c --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/account-history.inc @@ -0,0 +1,196 @@ + + +
    +
    + + +
    + +
    +
    + + + isShowDetails()): ?> + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + isShowHistory() + && count($_getvar('historyData', [])) > 0): ?> + + + + + + + + + + +
    +
    + + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    getDateEdit(), $accountData->getUserEditName() ?: $accountData->getUserEditLogin()); ?>
    + +
    +
    + +
    + isShowDetails()): include $this->includeTemplate('details'); endif; ?> +
    + +
    + + includeTemplate('actions'); ?> +
    diff --git a/app/modules/web/themes/material-dark/views/account/account-link.inc b/app/modules/web/themes/material-dark/views/account/account-link.inc new file mode 100644 index 000000000..a8a3eefc4 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/account-link.inc @@ -0,0 +1,145 @@ + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/account-permissions.inc b/app/modules/web/themes/material-dark/views/account/account-permissions.inc new file mode 100644 index 000000000..8711308f6 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/account-permissions.inc @@ -0,0 +1,261 @@ + + +
    + + isShowPermission()): ?> + + + + + + + + + + + + + + + + + + getUserId())) + ): ?> + + + + + + + getUserId() + || $_getvar('ctx_userGroupId') === $accountData->getUserGroupId()))) + ): ?> + + + + + + + getIsPrivate()) || $_getvar('privateUserCheck'); + ?> + + + + + + + getIsPrivateGroup()) || $_getvar('privateUserGroupCheck'); + ?> + + + + + +
    + +
    + +
    + +
    + +
    + +
    + +
    +
    + diff --git a/app/modules/web/themes/material-dark/views/account/account-request.inc b/app/modules/web/themes/material-dark/views/account/account-request.inc new file mode 100644 index 000000000..ce2cd94fe --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/account-request.inc @@ -0,0 +1,93 @@ + + +
    +
    + +
    + + + + + + + + + + + + + +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + + + +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/account.inc b/app/modules/web/themes/material-dark/views/account/account.inc new file mode 100644 index 000000000..683232660 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/account.inc @@ -0,0 +1,399 @@ + 0; +$showFiles = $gotData && $configData->isFilesEnabled() && $accountAcl->isShowFiles(); +$showDetails = $gotData && $accountAcl->isShowDetails(); +$showPermissions = $accountAcl->isShowPermission() + || $_getvar('allowPrivate', false) + || $_getvar('allowPrivateGroup', false); +$showCustomFields = count($_getvar('customFields', 0)) > 0; +?> + +
    +
    + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + isShowPass()): ?> + + + + + + + + + isAccountExpireEnabled()): ?> + + + + + + + + + + + + + + + + + + + + + + isShowHistory() + && count($_getvar('historyData', [])) > 0): ?> + + + + + + + getUserEditName()): ?> + + + + + + + + + + + + + + + + + +
    +
    + > + +
    +
    +
    + + + + getIconAdd()->getIcon(); ?> + +
    +
    + + + + getIconAdd()->getIcon(); ?> + +
    +
    + > + +
    +
    +
    + > + +
    +
    +
    + + +
    +
    +
    + + +
    +
    +
    + > + + +
    + + date_range +
    +
    + + +
    +
    +
    + + + + + getIconAdd()->getIcon(); ?> + + + + + +
    +
    +
    + + isSelected()): ?> + getName(); ?> + + +
    +
    +
    + +
    +
    + + +
    +
    + + +
    getDateEdit(), $accountData->getUserEditName()); ?>
    +
    + + + getIconPublicLink()->getIcon(); ?> + +
    +
    + + + getIconPublicLink()->getIcon(); ?> + +
    +
    + +
    + +
    + + includeTemplate('aux-customfields', 'common'); ?> +
    +
    + +
    + +
    + includeTemplate('account-permissions'); + endif; ?> +
    +
    + +
    + includeTemplate('files'); + endif; ?> +
    + +
    + includeTemplate('details'); + endif; ?> +
    + +
    + includeTemplate('linkedAccounts'); + endif; ?> +
    +
    + + includeTemplate('actions'); ?> +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/actions.inc b/app/modules/web/themes/material-dark/views/account/actions.inc new file mode 100644 index 000000000..31de3f06f --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/actions.inc @@ -0,0 +1,56 @@ + + +
    +
      + +
    • + +
    • + +
    + 0): ?> +
    + +
      + +
    • getData() as $key => $value): echo 'data-', $key, '="', $value, '"'; endforeach; ?> + getAttributes() as $key => $value): echo $key, '="', $value, '"'; endforeach; ?> + title="getTitle(); ?>"> + getIcon()->getIcon(); ?> + getName(); ?> +
    • + +
    +
    + +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/details.inc b/app/modules/web/themes/material-dark/views/account/details.inc new file mode 100644 index 000000000..f2e3a0c55 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/details.inc @@ -0,0 +1,111 @@ + + +
    + + + + + + + + + + + getUserEditName()): ?> + + + + + + + + + + + + + + + + isModified()): ?> + + + + + + + + + + + + + + + + 0): ?> + + + + + + + + + +
    +
    + + getCountView() . '(' . $accountData->getCountDecrypt() . ')'; ?> +
    +
    + + getDateAdd() ?> +
    +
    + + getDateEdit(), $accountData->getUserEditName()); ?> +
    +
    + + getUserName() ?: $accountData->getUserLogin(); ?> +
    +
    + + getUserGroupName(); ?> +
    +
    + + getDateEdit(); ?> +
    +
    + + getUserEditName() ?: $accountData->getUserEditLogin(); ?> +
    +
    + + +
    +
    + + +
    +
    + + getId(); ?> +
    +
    diff --git a/app/modules/web/themes/material-dark/views/account/files-list.inc b/app/modules/web/themes/material-dark/views/account/files-list.inc new file mode 100644 index 000000000..2c1e16ddd --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/files-list.inc @@ -0,0 +1,69 @@ + + +
    +
      + getExtension()); + ?> +
    • + + attachment + getName(), 50), $file->getSize() / 1024); ?> + + + + getThumb() !== 'no_thumb'): ?> + + thumbnail + + + + + + getIconDelete()->getIcon(); ?> + + + + getIconDownload()->getIcon(); ?> + + + + getIconView()->getIcon(); ?> + + +
    • + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/files.inc b/app/modules/web/themes/material-dark/views/account/files.inc new file mode 100644 index 000000000..60c13e498 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/files.inc @@ -0,0 +1,53 @@ + + +
    +
    +
    +
    + + +
    +
    + cloud_upload +
    +
    + +
    +
    +
    ' + . __('Maximum file size: %d MB'), + $_getvar('maxFileSize')); ?> +
    +
    + +
    +
    diff --git a/app/modules/web/themes/material-dark/views/account/linkedAccounts.inc b/app/modules/web/themes/material-dark/views/account/linkedAccounts.inc new file mode 100644 index 000000000..b210811f4 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/linkedAccounts.inc @@ -0,0 +1,43 @@ + + +
    +
    +
      + +
    • + + layers + name, $account->clientName); ?> + + + + getIconEdit()->getIcon(); ?> + + + getIconView()->getIcon(); ?> + +
    • + +
    +
    +
    diff --git a/app/modules/web/themes/material-dark/views/account/search-header.inc b/app/modules/web/themes/material-dark/views/account/search-header.inc new file mode 100644 index 000000000..8d31a0c14 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/search-header.inc @@ -0,0 +1,54 @@ + + +
    +
      + getHeader()->getSortFields() as $field): ?> +
    • + + getName(); ?> + + getTitle(); ?> + getPager()->getSortKey() == $field->getSortKey() + && $data->getPager()->getSortOrder() === 0) ? 'mdl-color--amber-A200' : 'md-dark md-inactive'; + $classUp = ($data->getPager()->getSortKey() == $field->getSortKey() + && $data->getPager()->getSortOrder() === 1) ? 'mdl-color--amber-A200' : 'md-dark md-inactive'; + ?> +
      + getIconDown()->getIcon(); ?> +
      +
      + getIconUp()->getIcon(); ?> +
      +
    • + +
    • +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/search-index.inc b/app/modules/web/themes/material-dark/views/account/search-index.inc new file mode 100644 index 000000000..e76a4eee1 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/search-index.inc @@ -0,0 +1,46 @@ + + +
    + getData()->getDataCount() === 0): ?> +
    + + +
    + getDataHeaderTemplate(); ?> +
    + + + +
    + getDataPagerTemplate(); ?> +
    + + + +
    + getDataRowTemplate(); ?> +
    + + +
    + getDataPagerTemplate(); ?> +
    + +
    diff --git a/app/modules/web/themes/material-dark/views/account/search-rows.inc b/app/modules/web/themes/material-dark/views/account/search-rows.inc new file mode 100644 index 000000000..7bfe1cabe --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/search-rows.inc @@ -0,0 +1,288 @@ + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/search-searchbox.inc b/app/modules/web/themes/material-dark/views/account/search-searchbox.inc new file mode 100644 index 000000000..0e3524d96 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/search-searchbox.inc @@ -0,0 +1,156 @@ +getPager(); +?> + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/account/viewpass.inc b/app/modules/web/themes/material-dark/views/account/viewpass.inc new file mode 100644 index 000000000..4d5af0890 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/account/viewpass.inc @@ -0,0 +1,63 @@ + +
    +

      + + getIconPublicLink()->getIcon(); ?> + +

    + + + + + + + + + + + + + + + + + + + + + +
    + + + +  
    + + + +  
    +
    diff --git a/app/modules/web/themes/material-dark/views/common/aux-customfields.inc b/app/modules/web/themes/material-dark/views/common/aux-customfields.inc new file mode 100644 index 000000000..98c2b51cb --- /dev/null +++ b/app/modules/web/themes/material-dark/views/common/aux-customfields.inc @@ -0,0 +1,87 @@ + $field):?> + + + definitionName; ?> + isEncrypted && $field->isValueEncrypted === true): ?> + + lock_outline + + isEncrypted && $field->isValueEncrypted === false): ?> + + lock_outline + + isEncrypted === 0 && $field->isValueEncrypted === true): ?> + + lock_open + + + + help): ?> +
    + getIconHelp()->getIcon(); ?> +
    +
    +

    help; ?>

    +
    + + + + typeName === 'color' && $_getvar('isView')): ?> + + typeName === 'password'): ?> +
    + required ? 'required' : ''; ?> > + +
    + typeName === 'textarea'): ?> +
    + + +
    + +
    + required ? 'required' : ''; ?> > + +
    + + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/common/datatabs.inc b/app/modules/web/themes/material-dark/views/common/datatabs.inc new file mode 100644 index 000000000..51835299c --- /dev/null +++ b/app/modules/web/themes/material-dark/views/common/datatabs.inc @@ -0,0 +1,35 @@ + + + +
    +
    + + $tab): ?> +
    +
    + render(); ?> +
    +
    + + + +
    + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/common/debug.inc b/app/modules/web/themes/material-dark/views/common/debug.inc new file mode 100644 index 000000000..3c96adda9 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/common/debug.inc @@ -0,0 +1,23 @@ + +
    +

    DEBUG INFO

    +
      +
    • RENDER -> sec
    • +
    • MEM -> Init: KB - + End: KB - + Total: KB +
    • +
    • SESSION: +
      +
    • +
    diff --git a/app/modules/web/themes/material-dark/views/common/errorfancy.inc b/app/modules/web/themes/material-dark/views/common/errorfancy.inc new file mode 100644 index 000000000..2c1aa68c3 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/common/errorfancy.inc @@ -0,0 +1,3 @@ +
    + includeTemplate('error-list', 'main'); ?> +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/config/accounts.inc b/app/modules/web/themes/material-dark/views/config/accounts.inc new file mode 100644 index 000000000..279a2b520 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/accounts.inc @@ -0,0 +1,412 @@ + + + +
    + + getIconHelp()->getIcon(); ?> +
    +

    + +

    +
    +
    + + +
    + +
    + search + +
    + + + + + + + + + + + + + + + + + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    +
      +
    • +
      + +
      + + + + + +
    • +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    +
      +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
      + +
      +
      +
    • + +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + +
      + +
      +
      +
    • +
    +
    + +
    + link + +
    + + + + + + + + + + + + + + +
    + +
    + + +
    + + +
    +
    + + +
    + + +
    +
    + +
    + attachment + +
    + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
    • +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    +
    +
    +
    + + +
    +
    +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/backup.inc b/app/modules/web/themes/material-dark/views/config/backup.inc new file mode 100644 index 000000000..d248d914e --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/backup.inc @@ -0,0 +1,217 @@ + + + +
    + + getIconHelp()->getIcon(); ?> +
    +

    + +

    +
    +
    + + +
    + backup + +
    + + + + + + + + + + + + +
    + + +
    + + +
    + + +
    + + + + + + + + + + + + +
    + +
    +
      +
    • + + +
      +
      +

      + +

      +
      +
      +
    • +
    • + + +
    • +
    +
    + +
    + import_export + +
    + +
    + + + + + + + + + + + + + + + + + + + +
    + + +
    + + +
    + + +
    + + + + + + + +
    + + +
    + + +
    +
    + + +
    + + +
    +
    +
    + +
    +
      +
    • + +
    • +
    • + + +
      +
      +

      + +

      + +

      + +

      +
      +
      +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/encryption.inc b/app/modules/web/themes/material-dark/views/config/encryption.inc new file mode 100644 index 000000000..9d172a63d --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/encryption.inc @@ -0,0 +1,363 @@ +isMaintenance() ? '' : 'disabled'; +?> + +
    + +
    + enhanced_encryption + +
    + + + 0): ?> + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + +
    + + +
    + /> + +
    +
    + + +
    + /> + +
    +
    + + +
    + /> + +
    +
    + isMaintenance()): ?> +
    getIconWarning()->getIcon(); ?>
    + . +
    + +
    getIconWarning()->getIcon(); ?>
    + +
    +
    getIconWarning()->getIcon(); ?>
    + +
    +
    getIconWarning()->getIcon(); ?>
    + +
    +
    getIconWarning()->getIcon(); ?>
    + +
    +
      +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • +
    +
    + + + + + +
    +
    +
      +
    • + + +
      +
      +

      + +

      + +

      https://doc.syspass.org'); ?>

      +
      +
      +
    • + +
    • + +
    • + + + isMaintenance() && $_getvar('numAccounts') > 0): ?> +
    • + +
    • + +
    +
    + +
    + enhanced_encryption + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + 0) ? date('r', $_getvar('tempMasterPassTime')) : __('Not generated'); ?> +
    + + +
    + + $tempMasterMaxTime): ?> + + 0): echo date('r', $tempMasterMaxTime); ?> + + +
    + + +
    + + +
    + + +
    + + +
    +
    +
      +
    • +
      + +
      + + + + + + + +
    • +
    +
    + + +
    + + +
    + + +
    + + +
    +
    + +
    +
      +
    • + +
    • +
    • + + + +
      +
      +

      +
      +
      +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/general-auth.inc b/app/modules/web/themes/material-dark/views/config/general-auth.inc new file mode 100644 index 000000000..b212f0a63 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/general-auth.inc @@ -0,0 +1,135 @@ + + +
    + verified_user + +
    + + + + + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/config/general-events.inc b/app/modules/web/themes/material-dark/views/config/general-events.inc new file mode 100644 index 000000000..025172c18 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/general-events.inc @@ -0,0 +1,126 @@ + + +
    + view_headline + +
    + + + + + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • + +
    +
    + + +
    + + +
    +
    + + +
    + + +
    +
    + + +
    + + +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/config/general-proxy.inc b/app/modules/web/themes/material-dark/views/config/general-proxy.inc new file mode 100644 index 000000000..d8213754e --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/general-proxy.inc @@ -0,0 +1,105 @@ + + +
    + device_hub + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
    • +
    +
    + + +
    + + +
    +
    + + +
    + + +
    +
    + + +
    + + +
    +
    + + +
    + + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/config/general-site.inc b/app/modules/web/themes/material-dark/views/config/general-site.inc new file mode 100644 index 000000000..c35b9565b --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/general-site.inc @@ -0,0 +1,232 @@ + + + +
    + + getIconHelp()->getIcon(); ?> +
    +

    + +

    +
    +
    + + +
    + home + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + + +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    +
      +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + + + + +
    • +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/config/general.inc b/app/modules/web/themes/material-dark/views/config/general.inc new file mode 100644 index 000000000..845f862b6 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/general.inc @@ -0,0 +1,44 @@ + +
    + + includeTemplate('general-site'); ?> + includeTemplate('general-events'); ?> + includeTemplate('general-proxy'); ?> + includeTemplate('general-auth'); ?> + + +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/import.inc b/app/modules/web/themes/material-dark/views/config/import.inc new file mode 100644 index 000000000..ad5d04feb --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/import.inc @@ -0,0 +1,212 @@ + + +
    + import_export + +
    + + + + + + + + + + + + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    + +
    + cloud_upload +
    +
    + +
    +
    + +
    +
      +
    • + +
    • +
    • + + +
      +
      +

      + +

      + +

      + +

      + +

      + +

      + +

      +
      +
      +
    • +
    +
    + +
    + +
    + + + + + + + + + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    + +
    + +
    + + + + + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/info.inc b/app/modules/web/themes/material-dark/views/config/info.inc new file mode 100644 index 000000000..3e08c8de8 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/info.inc @@ -0,0 +1,210 @@ + + +
    + info + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + +
    + getConfigVersion()); ?> +
    + getAppVersion()); ?> +
    + getDatabaseVersion()); ?> +
    + + +
    + + $infoval): ?> + +
    + + +
    + + +
    + + +
    + +
    + '; + } + ?> + +
    + +
    + + =')): ?> +
    + + $value): ?> +
    + + +
    + + +
    + + +
    + + +
    + + + + + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + + +
    + +
      + $plugin): ?> +
    • + + extension + +
      + getVersion())); ?> +
      + getAuthor()); ?> +
      +
    • + +
    +
    + + +
    + + + + + +
    + +
    +
      +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/ldap.inc b/app/modules/web/themes/material-dark/views/config/ldap.inc new file mode 100644 index 000000000..80e1f2343 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/ldap.inc @@ -0,0 +1,508 @@ + + + +
    + + getIconHelp()->getIcon(); ?> +
    +

    + +

    +
    +
    + + +
    + business + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
      + +
      +
      +
    • + +
    • +
      + +
      + + + TLS + + + + +
    • + +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    + +
      +
    • ldap.example.org
    • +
    • ldap://ldap.example.org
    • +
    • ldaps://ldap.example.org
    • +
    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    + +
      +
    • cn=syspass,ou=Users,dc=syspass,o=org
    • +
    • syspass
    • +
    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + + +
    + getLdapBindPass()): ?> +
    getIconWarning()->getIcon(); ?>
    +
    +

    + +

    +
    + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    + +
      +
    • cn=Users,dc=example,dc=org
    • +
    • ou=AdminUsers,dc=example,o=org
    • +
    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    + +

    + +

    + +
      +
    • cn=GRP_SPUSERS,cn=Users,dc=example,dc=org
    • +
    • GRP_SPUSERS
    • +
    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + + +
    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    +
    + +
    + import_export + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
      +
    • +
      + +
      + + + + + +
    • +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/config/mail.inc b/app/modules/web/themes/material-dark/views/config/mail.inc new file mode 100644 index 000000000..496abf3cc --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/mail.inc @@ -0,0 +1,243 @@ + + +
    + mail + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • +
    +
    + + +
    + + +
    +
    + + +
    + + +
    +
    +
      +
    • +
      + +
      + + + + + +
    • +
    +
    + + +
    + + +
    +
    + + +
    + + +
    +
    + + +
    + + +
    + + +
    + + +
    +
    + + +
    + + +
    + + +
    + + +
    +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/wiki-dokuwiki.inc b/app/modules/web/themes/material-dark/views/config/wiki-dokuwiki.inc new file mode 100644 index 000000000..fb815e563 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/wiki-dokuwiki.inc @@ -0,0 +1,220 @@ + + + +
    + + getIconHelp()->getIcon(); ?> +
    +

    + +

    +
    +
    + + +
    + +
    + folder + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
      + +
      +
      +
    • +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

      +
    • http://wiki.syspass.org/lib/exe/xmlrpc.php
    • +
    +

    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

      +
    • http://wiki.syspass.org/dokuwiki
    • +
    +

    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    + + +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/config/wiki.inc b/app/modules/web/themes/material-dark/views/config/wiki.inc new file mode 100644 index 000000000..307488055 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/config/wiki.inc @@ -0,0 +1,161 @@ + + +
    + +
    + folder + +
    + + + + + + + + + + + + + + + + + + +
    +
      +
    • +
      + +
      + + + + + +
    • +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    + +

    + +

    + +

    + https://wiki.example.org/search.php?phrase= +

    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    + +

    + +

    + +

    + https://wiki.example.org/show.php?name= +

    +
    +
    +
    + + +
    +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    + +

    + +

    +
    +
    +
    + + +
    +
    + +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/error/error-database.inc b/app/modules/web/themes/material-dark/views/error/error-database.inc new file mode 100644 index 000000000..32e9c4352 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/error/error-database.inc @@ -0,0 +1,28 @@ + +
    + includePartial('error-list'); ?> + +
    + + + + getIconPlay()->getIcon(); ?> + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/error/error-maintenance.inc b/app/modules/web/themes/material-dark/views/error/error-maintenance.inc new file mode 100644 index 000000000..55c648f02 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/error/error-maintenance.inc @@ -0,0 +1,22 @@ + +
    + includePartial('error-list'); ?> + +
    + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/eventlog/datagrid-rows.inc b/app/modules/web/themes/material-dark/views/eventlog/datagrid-rows.inc new file mode 100644 index 000000000..d94a98ba4 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/eventlog/datagrid-rows.inc @@ -0,0 +1,30 @@ + + + +getData()->getDataCount() > 0): + foreach ($data->getData()->getData() as $dataIndex => $dataItem): + if ($dataIndex === 'count'): continue; endif; ?> + + + getData()->getDataRowSources() as $rowSrc): ?> + {$rowSrc['name']}() : $dataItem->{$rowSrc['name']}; ?> + + + + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/eventlog/index.inc b/app/modules/web/themes/material-dark/views/eventlog/index.inc new file mode 100644 index 000000000..a309e5468 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/eventlog/index.inc @@ -0,0 +1,6 @@ +
    +includeTemplate('datagrid-grid', 'grid'); \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/grid/datagrid-grid.inc b/app/modules/web/themes/material-dark/views/grid/datagrid-grid.inc new file mode 100644 index 000000000..f9f6820c1 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/grid/datagrid-grid.inc @@ -0,0 +1,141 @@ + + +
    +
      + getDataActions() as $action): + if ($action->getType() === DataGridActionType::MENUBAR_ITEM): + ?> +
    • + + getName(); ?> +
    • + getType() === DataGridActionType::SEARCH_ITEM): ?> + + getType() === DataGridActionType::HELP_ITEM): ?> +
    • + includePartial('help_account_search'); ?> +
    • + + +
    • + + getIconBack()->getTitle(); ?> +
    • + + getDataActionsMenuCount() > 0): ?> +
    • + + +
        + getDataActionsMenu() as $action): ?> +
      • isSelection()): ?> + data-selection="#data-table-getId(); ?>" + + data-onclick="getOnClick(); ?>" + getData() as $dataName => $dataValue): echo 'data-', $dataName, '=', '"', $dataValue, '"'; endforeach; ?>> + getIcon()->getIcon(); ?> + getName(); ?> +
      • + +
      +
    • + +
    +
    + +
    + getDataTableTemplate()): ?> + getDataTableTemplate(); ?> + + + +
    diff --git a/app/modules/web/themes/material-dark/views/grid/datagrid-nav-full.inc b/app/modules/web/themes/material-dark/views/grid/datagrid-nav-full.inc new file mode 100644 index 000000000..d47c4e2fb --- /dev/null +++ b/app/modules/web/themes/material-dark/views/grid/datagrid-nav-full.inc @@ -0,0 +1,76 @@ +getPager(); +?> +
    +
    + getData()->getDataCount(); ?> + @ getTime(); ?>s + getFilterOn()): ?> + + +
    +
    + getLimitStart() > 1): ?> + getIconFirst()->getIcon(); ?> + getIconFirst()->getTitle(); ?> + + getIconPrev()->getIcon(); ?> + + getIconPrev()->getTitle(); ?> + +   + getFirstPage(), $pager->getLastPage(), $pager->getLimitCount()); ?> +   + getLimitStart() < $pager->getTotalRows() && $pager->getFirstPage() != $pager->getLastPage()): ?> + getIconNext()->getIcon(); ?> + + getIconNext()->getTitle(); ?> + getIconLast()->getIcon(); ?> + getIconLast()->getTitle(); ?> + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/grid/datagrid-rows.inc b/app/modules/web/themes/material-dark/views/grid/datagrid-rows.inc new file mode 100644 index 000000000..2b9212bbf --- /dev/null +++ b/app/modules/web/themes/material-dark/views/grid/datagrid-rows.inc @@ -0,0 +1,102 @@ + + + +getData()->getDataCount() > 0): + $numFields = count($data->getData()->getDataRowSources()); + foreach ($data->getData()->getData() as $dataIndex => $dataItem): + $itemId = $dataItem->{$data->getData()->getDataRowSourceId()}; + ?> + + getData()->getDataRowSources() as $rowSrc): ?> + {$rowSrc['name']}(); + else: + $value = $dataItem->{$rowSrc['name']}; + endif; + + if ($rowSrc['filter'] !== null): + $value = $rowSrc['filter']($value); + endif; + + if ($value !== ''): + if ($rowSrc['truncate'] === true): + $value = Html::truncate($value, 150 / $numFields); + endif; + else: + $value = ' '; + endif; + ?> + + + + getData()->getDataRowSourcesWithIcon(); + + if (count($rowIcons) > 0): ?> + + + {$rowSrcIcon['field']} == $rowSrcIcon['value']): ?> + getIcon(); ?> + + + + + + getDataActionsCount() > 0): ?> + +
    + getDataActions() as $action): + if (!$action->isSkip()): + $actionUid = uniqid('btn-action-', true); + $filter = $action->getFilterRowSource(); + + if ($filter !== null): + /** @var array $filter */ + foreach ($filter as $f): + if ($dataItem->{$f['field']} == $f['value']): + continue 2; + endif; + endforeach; + endif; + + if ($action->getRuntimeData() !== null) : + $nodeData = array_merge($action->getData(), $action->getRuntimeData()($dataItem)); + else: + $nodeData = $action->getData(); + endif; + ?> + $dataValue): + echo 'data-', $dataName, '=', '"', $dataValue, '"'; + endforeach; ?>>getIcon()->getIcon(); ?> + getTitle(); ?> + + +
    + + + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/grid/datagrid-table-simple.inc b/app/modules/web/themes/material-dark/views/grid/datagrid-table-simple.inc new file mode 100644 index 000000000..201f1b0b8 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/grid/datagrid-table-simple.inc @@ -0,0 +1,33 @@ + + + + + + getHeader()->getHeaders() as $header): ?> + + + + + + + getDataRowTemplate(); ?> + +
    + + +getDataPagerTemplate(); ?> \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/grid/datagrid-table.inc b/app/modules/web/themes/material-dark/views/grid/datagrid-table.inc new file mode 100644 index 000000000..e46c3bc1a --- /dev/null +++ b/app/modules/web/themes/material-dark/views/grid/datagrid-table.inc @@ -0,0 +1,37 @@ + + + + + getHeader()->getHeaders() as $header): ?> + + + + getDataActionsCount() > 0): ?> + + + + + + + getDataRowTemplate(); ?> + +
     
    + + +getDataPagerTemplate(); ?> \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/grid/datatabs-grid.inc b/app/modules/web/themes/material-dark/views/grid/datatabs-grid.inc new file mode 100644 index 000000000..46dd77257 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/grid/datatabs-grid.inc @@ -0,0 +1,33 @@ + +
    +
    + + $data): ?> +
    + + +
    + + + +
    + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/install/index.inc b/app/modules/web/themes/material-dark/views/install/index.inc new file mode 100644 index 000000000..9bfa22d90 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/install/index.inc @@ -0,0 +1,190 @@ + +
    +
    +

    +
    + + includePartial('error-list'); ?> + +
    + + + +
    + + +
    + + +
    + +
    + getIconHelp()->getIcon(); ?> +
    +
    + +
    + +
    + + +
    +
    + +
    + +
    + + +
    + +
    + + +
    +
    + +
    + + + + + +
    + + +
    + +
    + getIconHelp()->getIcon(); ?> +
    +
    + +
    + +
    + + +
    + +
    + + +
    + +
    + getIconHelp()->getIcon(); ?> +
    +
    + +
    + +
    + + +
    + +
    + getIconHelp()->getIcon(); ?> +
    +
    + +
    +
    + +
    + + +
    + + +
    + +
    + + +
    + +
    +
    +
    + +
    + +
    +
    +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/account_bulkedit.inc b/app/modules/web/themes/material-dark/views/itemshow/account_bulkedit.inc new file mode 100644 index 000000000..0b5ce7136 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/account_bulkedit.inc @@ -0,0 +1,309 @@ + + +
    +

    close

    + +
    +
    + + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + + +
    + + + +
    +
    + +
    + +
    +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/auth_token.inc b/app/modules/web/themes/material-dark/views/itemshow/auth_token.inc new file mode 100644 index 000000000..baebb8ee4 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/auth_token.inc @@ -0,0 +1,108 @@ + +
    +

    close

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/category.inc b/app/modules/web/themes/material-dark/views/itemshow/category.inc new file mode 100644 index 000000000..5b6485b69 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/category.inc @@ -0,0 +1,70 @@ + +
    +

    close

    + +
    + + + + + + + + + + + + includeTemplate('aux-customfields', 'common'); ?> + + + + + +
    +
    + +
    +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/client.inc b/app/modules/web/themes/material-dark/views/itemshow/client.inc new file mode 100644 index 000000000..e994fb321 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/client.inc @@ -0,0 +1,97 @@ + + +
    +

    close

    + +
    + + + + + + + + + + + + + + + + + + + includeTemplate('aux-customfields', 'common'); ?> + + + + + +
    +
    + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/custom_field.inc b/app/modules/web/themes/material-dark/views/itemshow/custom_field.inc new file mode 100644 index 000000000..a857f6d1c --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/custom_field.inc @@ -0,0 +1,123 @@ + + +
    +

    close

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/file.inc b/app/modules/web/themes/material-dark/views/itemshow/file.inc new file mode 100644 index 000000000..5e7bcb59a --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/file.inc @@ -0,0 +1,24 @@ + + + + +
    getName(); ?>
    + +
    + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/item_preset-password.inc b/app/modules/web/themes/material-dark/views/itemshow/item_preset-password.inc new file mode 100644 index 000000000..c0ae6302b --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/item_preset-password.inc @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/item_preset-permission.inc b/app/modules/web/themes/material-dark/views/itemshow/item_preset-permission.inc new file mode 100644 index 000000000..7a796a55c --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/item_preset-permission.inc @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/item_preset-private.inc b/app/modules/web/themes/material-dark/views/itemshow/item_preset-private.inc new file mode 100644 index 000000000..1c3d5cca6 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/item_preset-private.inc @@ -0,0 +1,67 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/item_preset-session_timeout.inc b/app/modules/web/themes/material-dark/views/itemshow/item_preset-session_timeout.inc new file mode 100644 index 000000000..be7060a85 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/item_preset-session_timeout.inc @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/item_preset.inc b/app/modules/web/themes/material-dark/views/itemshow/item_preset.inc new file mode 100644 index 000000000..f952107bf --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/item_preset.inc @@ -0,0 +1,171 @@ + + +
    +

    close

    + +
    +
    + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + includeTemplate($_getvar('typeTemplate'), 'itemshow'); endif; ?> +
    + + + + +
    +
    +
    + +
    +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/public_link.inc b/app/modules/web/themes/material-dark/views/itemshow/public_link.inc new file mode 100644 index 000000000..c9ace8145 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/public_link.inc @@ -0,0 +1,144 @@ + +
    +

    close

    + + + +
    + +
    + +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/results.inc b/app/modules/web/themes/material-dark/views/itemshow/results.inc new file mode 100644 index 000000000..8120d5c6e --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/results.inc @@ -0,0 +1,27 @@ + +
    +

    close

    + + + + + + + +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/tag.inc b/app/modules/web/themes/material-dark/views/itemshow/tag.inc new file mode 100644 index 000000000..36da664ec --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/tag.inc @@ -0,0 +1,53 @@ + +
    +

    close

    + +
    + + + + + + + + + + +
    +
    + +
    +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/user.inc b/app/modules/web/themes/material-dark/views/itemshow/user.inc new file mode 100644 index 000000000..3ce26a59b --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/user.inc @@ -0,0 +1,371 @@ + + +
    +

    close

    + +
    +
    + + + + + + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + includeTemplate('aux-customfields', 'common'); ?> + + + + +
    + +
    + + + + + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    + + +
    + +
    + +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/user_group.inc b/app/modules/web/themes/material-dark/views/itemshow/user_group.inc new file mode 100644 index 000000000..427bc44b4 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/user_group.inc @@ -0,0 +1,139 @@ + + +
    +

    close

    + +
    + + + + + + + + + + + + + + + + + + + includeTemplate('aux-customfields', 'common'); ?> + + + + + + + + + + + + + +
    + +
    + +
    + +
    diff --git a/app/modules/web/themes/material-dark/views/itemshow/user_pass.inc b/app/modules/web/themes/material-dark/views/itemshow/user_pass.inc new file mode 100644 index 000000000..4650104a5 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/user_pass.inc @@ -0,0 +1,90 @@ + + +
    +

    close

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/itemshow/user_profile.inc b/app/modules/web/themes/material-dark/views/itemshow/user_profile.inc new file mode 100644 index 000000000..aee7f2f9b --- /dev/null +++ b/app/modules/web/themes/material-dark/views/itemshow/user_profile.inc @@ -0,0 +1,627 @@ + + +
    +

    close

    + +
    + +
    +
    + + + + +
    + +
    +
      +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • +
    +
    + +
    +
      +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • +
    +
    + +
    +
      +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • + +
    • + + vpn_key + + + + + + + +
    • +
    +
    + +
    +
      +
    • + + vpn_key + + + + + + + +
    • +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    + +
    diff --git a/app/modules/web/themes/material-dark/views/login/index.inc b/app/modules/web/themes/material-dark/views/login/index.inc new file mode 100644 index 000000000..545710668 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/login/index.inc @@ -0,0 +1,117 @@ + + +
    +
    +
    +
    +
    +
    + perm_identity +
    + + +
    +
    + +
    + vpn_key +
    + + +
    +
    + +
    + vpn_key +
    + + +
    +
    + +
    + vpn_key +
    + + +
    +
    + + + + + + + + + +
    +
    + +
    +
    + + + +
    + +
    + +
    + + +
    + + + +
    +
      +
    • + perm_identity + demo +
    • +
    • + vpn_key + syspass +
    • +
    • + vpn_key + 12345678900 +
    • +
    +
    + +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/login/logout.inc b/app/modules/web/themes/material-dark/views/login/logout.inc new file mode 100644 index 000000000..398b0f253 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/login/logout.inc @@ -0,0 +1,2 @@ +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/main/update.inc b/app/modules/web/themes/material-dark/views/main/update.inc new file mode 100644 index 000000000..489a764ed --- /dev/null +++ b/app/modules/web/themes/material-dark/views/main/update.inc @@ -0,0 +1,50 @@ + + + 0): ?> + +
    feedback +
    +
    + + + + + + +    +
    + cloud_download +
    +
    + + +
    + check_circle +
    + + +
    + warning +
    + + \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/main/upgrade.inc b/app/modules/web/themes/material-dark/views/main/upgrade.inc new file mode 100644 index 000000000..59ae0f9d7 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/main/upgrade.inc @@ -0,0 +1,205 @@ + +
    +
    +
    +

    +
    + +
    +
    + + + + + + +
    + + +
    + +
    + getIconHelp()->getIcon(); ?> +
    +
    + +
    + + 0): + ?> +
    +
      +
    • + getIconWarning()->getIcon(); ?> + +
      + +
    • +
    +
    +
    +
      + +
    • + +
    +
    + + accounts_user > 0 + || $checkConstraints->accounts_useredit > 0 + || $checkConstraints->accountshistory_user > 0 + || $checkConstraints->accountshistory_useredit > 0 + ): ?> +
    + + +
    + + + accounts_category > 0 + || $checkConstraints->accountshistory_category > 0): ?> +
    + + +
    + + + accounts_customer > 0 + || $checkConstraints->accountshistory_customer > 0): ?> +
    + + +
    + + + users_group > 0 + || $checkConstraints->accounts_group > 0 + || $checkConstraints->accountshistory_group > 0): ?> +
    + + +
    + + + users_profile > 0): ?> +
    + + +
    + + + + +
    +
      +
    • + getIconWarning()->getIcon(); ?> + +
      + +
      + https://doc.syspass.org'); ?> +
    • +
    +
    + +
    + + +
    + +
    + + +
    + + = 500): ?> + + + + + + + + + + + + + +
    + +
    +
      +
    • + getIconWarning()->getIcon(); ?> + +
    • +
    +
    + +
    + +
    +
    +
    +
    diff --git a/app/modules/web/themes/material-dark/views/notification/index.inc b/app/modules/web/themes/material-dark/views/notification/index.inc new file mode 100644 index 000000000..b188e3e8e --- /dev/null +++ b/app/modules/web/themes/material-dark/views/notification/index.inc @@ -0,0 +1,6 @@ +
    +includeTemplate('datagrid-grid', 'grid'); \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/notification/notification.inc b/app/modules/web/themes/material-dark/views/notification/notification.inc new file mode 100644 index 000000000..78552b330 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/notification/notification.inc @@ -0,0 +1,156 @@ + +
    +

    close

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/plugin/index.inc b/app/modules/web/themes/material-dark/views/plugin/index.inc new file mode 100644 index 000000000..49c701fb6 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/plugin/index.inc @@ -0,0 +1,6 @@ +
    +includeTemplate('datagrid-grid', 'grid'); \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/plugin/plugin.inc b/app/modules/web/themes/material-dark/views/plugin/plugin.inc new file mode 100644 index 000000000..d4ddff1ce --- /dev/null +++ b/app/modules/web/themes/material-dark/views/plugin/plugin.inc @@ -0,0 +1,98 @@ + + +
    +

    close

    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/upgrade/index.inc b/app/modules/web/themes/material-dark/views/upgrade/index.inc new file mode 100644 index 000000000..08b74bea6 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/upgrade/index.inc @@ -0,0 +1,64 @@ + +
    +
      +
    • + getIconWarning()->getIcon(); ?> + +

      + +

      +

      + +

      +
    • +
    + +
    +
    +
    + + +
    + + +
    + +
    +
      +
    • + getIconWarning()->getIcon(); ?> + +
    • +
    +
    + +
    + +
    +
    +
    \ No newline at end of file diff --git a/app/modules/web/themes/material-dark/views/userpassreset/request.inc b/app/modules/web/themes/material-dark/views/userpassreset/request.inc new file mode 100644 index 000000000..b84088034 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/userpassreset/request.inc @@ -0,0 +1,56 @@ + + +
    +
    +
    + +
    +
    +
    +
    +
    + perm_identity +
    + + +
    +
    +
    + email +
    + + +
    +
    + + +
    + +
    + + + +
    +
    +
    +
    diff --git a/app/modules/web/themes/material-dark/views/userpassreset/reset.inc b/app/modules/web/themes/material-dark/views/userpassreset/reset.inc new file mode 100644 index 000000000..47bc32012 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/userpassreset/reset.inc @@ -0,0 +1,72 @@ + + +
    +
    +
    + +
    +
    +
    +
    +
    + vpn_key +
    + + +
    +
    +
    + vpn_key +
    + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    diff --git a/app/modules/web/themes/material-dark/views/usersettings/general.inc b/app/modules/web/themes/material-dark/views/usersettings/general.inc new file mode 100644 index 000000000..0af01f1b3 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/usersettings/general.inc @@ -0,0 +1,243 @@ + + +
    + home + +
    + +
    + + + + + + + + + + + + + + + + + + +
    +
    + + +
    +
    + + +
    + +
    getIconHelp()->getIcon(); ?>
    +
    +

    + +

    +
    +
    +
    + + +
    +
    +
      +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • + +
    • +
      + +
      + + + + + + + +
    • +
    +
    + + + +
    +
    +
      +
    • + +
    • +
    • + +
    • +
    +
    diff --git a/app/modules/web/themes/material-dark/views/wiki/wikipage.inc b/app/modules/web/themes/material-dark/views/wiki/wikipage.inc new file mode 100644 index 000000000..e932255e6 --- /dev/null +++ b/app/modules/web/themes/material-dark/views/wiki/wikipage.inc @@ -0,0 +1,47 @@ + + +
    +

    + +
    + + + 0): ?> +

    +
    + +
      + +
    • %s', __('Page'), $_getvar('wikiUrlBase') . '/' . $result['id'], $result['id']); ?>
    • + +
    + +

    + +
    +
    + +
      +
    • %s', __('Page'), $_getvar('wikiUrlBase') . $pageInfo['name'], $pageInfo['name']); ?>
    • +
    • +
    • +
    + +
    +
    From 7887995462feb44a2aae29cc63b95b862daa2bc7 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 09:08:58 -0300 Subject: [PATCH 2/9] fixed ripple, drawer and other minor things --- .../web/themes/material-dark/css/material.min.css | 14 ++++++++------ .../web/themes/material-dark/css/styles.min.css | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/modules/web/themes/material-dark/css/material.min.css b/app/modules/web/themes/material-dark/css/material.min.css index 0dc0db8df..a7d5f9a40 100644 --- a/app/modules/web/themes/material-dark/css/material.min.css +++ b/app/modules/web/themes/material-dark/css/material.min.css @@ -601,7 +601,8 @@ ol { -moz-font-feature-settings: 'liga'; font-feature-settings: 'liga'; -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased + -webkit-font-smoothing: antialiased; + color: #c9c9c9; } .mdl-color-text--red { @@ -2266,7 +2267,7 @@ ol { } .mdl-color--amber-A200 { - background-color: #ffd740 !important + color: #ffd740 !important } .mdl-color-text--amber-A400 { @@ -3571,7 +3572,7 @@ fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, } .mdl-data-table tbody tr.is-selected { - background-color: #e0e0e0 + background-color: #0D1117 } .mdl-data-table tbody tr:hover { @@ -4516,7 +4517,7 @@ fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, } .mdl-menu__item:active { - background-color: #e0e0e0 + background-color: #161B22; } .mdl-menu__item--ripple-container { @@ -4756,7 +4757,7 @@ fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12); box-sizing: border-box; border-right: 1px solid #e0e0e0; - background: #fafafa; + background: #161B22; -webkit-transform: translateX(-250px); transform: translateX(-250px); -webkit-transform-style: preserve-3d; @@ -4797,7 +4798,8 @@ fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, .mdl-layout__drawer>.mdl-layout__title, .mdl-layout__drawer>.mdl-layout-title { line-height: 56px; - padding-left: 16px + padding-left: 16px; + color: #c9c9c9; } } diff --git a/app/modules/web/themes/material-dark/css/styles.min.css b/app/modules/web/themes/material-dark/css/styles.min.css index b1eca9568..9bac12341 100644 --- a/app/modules/web/themes/material-dark/css/styles.min.css +++ b/app/modules/web/themes/material-dark/css/styles.min.css @@ -681,7 +681,7 @@ body.userpassreset footer a { } #content .data-header-minimal { - border-bottom: 1px solid #dfdfdf + border-bottom: 1px solid #161B22; } #content .data-header-minimal ul { From ab3c9825f5b230d5114ad3fc04ce95d7c8fb3c16 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 09:27:50 -0300 Subject: [PATCH 3/9] fixed sorted filter colors --- app/modules/web/themes/material-dark/css/material.min.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/modules/web/themes/material-dark/css/material.min.css b/app/modules/web/themes/material-dark/css/material.min.css index a7d5f9a40..754b7d0d6 100644 --- a/app/modules/web/themes/material-dark/css/material.min.css +++ b/app/modules/web/themes/material-dark/css/material.min.css @@ -605,6 +605,10 @@ ol { color: #c9c9c9; } +.material-icons.md-dark.md-inactive { + color: #c9c9c9; +} + .mdl-color-text--red { color: #f44336 !important } From 44c9b0017bac348d391c38a00d526315615471d9 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 09:41:36 -0300 Subject: [PATCH 4/9] fix events list --- app/modules/web/themes/material-dark/css/styles.min.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/modules/web/themes/material-dark/css/styles.min.css b/app/modules/web/themes/material-dark/css/styles.min.css index 9bac12341..7366f5490 100644 --- a/app/modules/web/themes/material-dark/css/styles.min.css +++ b/app/modules/web/themes/material-dark/css/styles.min.css @@ -895,7 +895,7 @@ body.userpassreset footer a { #content .data .list-wrap li, #box-popup .list-wrap li { display: flex; - background: #f2f2f2; + background: #161B22; padding: .5em; font-size: 1em; margin-bottom: .5em @@ -904,7 +904,7 @@ body.userpassreset footer a { #content .data .list-wrap li:hover, #box-popup .list-wrap li:hover { background: #e8eaf6; - color: #000 + color: #fff } #content .data .list-wrap div.files-item-info, From 8e2a06e8f9228e5a13f6585289df6332466a56e4 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 10:05:44 -0300 Subject: [PATCH 5/9] darker copy wrap --- app/modules/web/themes/material-dark/css/styles.min.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/modules/web/themes/material-dark/css/styles.min.css b/app/modules/web/themes/material-dark/css/styles.min.css index 7366f5490..7312a1b86 100644 --- a/app/modules/web/themes/material-dark/css/styles.min.css +++ b/app/modules/web/themes/material-dark/css/styles.min.css @@ -1390,7 +1390,7 @@ h5.datagrid-header-title { .dialog-clip-copy { color: #26a69a; - background-color: #e0f2f1 + background-color: #0D1117 } .btn-help { From 5d6b6d54d5ae739d2e4224813c52003b34fe5f68 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 10:13:13 -0300 Subject: [PATCH 6/9] darker hover drawer mobile --- app/modules/web/themes/material-dark/css/material.min.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/modules/web/themes/material-dark/css/material.min.css b/app/modules/web/themes/material-dark/css/material.min.css index 754b7d0d6..b3566fb39 100644 --- a/app/modules/web/themes/material-dark/css/material.min.css +++ b/app/modules/web/themes/material-dark/css/material.min.css @@ -4835,7 +4835,7 @@ fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple, } .mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover { - background-color: #e0e0e0 + background-color: #0D1117 } .mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current { From 95f3d7afa183c69528d9b491ba684e4a162fa628 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 10:25:46 -0300 Subject: [PATCH 7/9] fix footer on logout --- app/modules/web/themes/material-dark/css/styles.min.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/modules/web/themes/material-dark/css/styles.min.css b/app/modules/web/themes/material-dark/css/styles.min.css index 7312a1b86..da3e4dbaa 100644 --- a/app/modules/web/themes/material-dark/css/styles.min.css +++ b/app/modules/web/themes/material-dark/css/styles.min.css @@ -187,7 +187,7 @@ body.userpassreset #container { body.login footer, body.logout footer, body.userpassreset footer { - background: #78909c + background: #161B22; } body.login footer a, From 890f914d2add76685ca6ad00d9e4d566c16b4709 Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 14:50:50 -0300 Subject: [PATCH 8/9] fix list events hover --- app/modules/web/themes/material-dark/css/styles.min.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/modules/web/themes/material-dark/css/styles.min.css b/app/modules/web/themes/material-dark/css/styles.min.css index da3e4dbaa..92f461594 100644 --- a/app/modules/web/themes/material-dark/css/styles.min.css +++ b/app/modules/web/themes/material-dark/css/styles.min.css @@ -903,7 +903,7 @@ body.userpassreset footer a { #content .data .list-wrap li:hover, #box-popup .list-wrap li:hover { - background: #e8eaf6; + background: #0D1117; color: #fff } From e51313b6b36b22ebcc01539dc59ceded4c97b72a Mon Sep 17 00:00:00 2001 From: Thiago Felipe Schuch Date: Thu, 15 Jul 2021 16:16:20 -0300 Subject: [PATCH 9/9] forgot about grid style --- .../material-dark/css/search-grid.min.css | 163 +++++++++++++++++- 1 file changed, 162 insertions(+), 1 deletion(-) diff --git a/app/modules/web/themes/material-dark/css/search-grid.min.css b/app/modules/web/themes/material-dark/css/search-grid.min.css index 56b71199e..0e0b8b70e 100644 --- a/app/modules/web/themes/material-dark/css/search-grid.min.css +++ b/app/modules/web/themes/material-dark/css/search-grid.min.css @@ -1 +1,162 @@ -@charset "UTF-8";#content #data-search{text-align:center;padding:.5em 0;width:100%;margin:0 auto}#content #data-search .account-info img,#content #data-search .account-actions img{width:24px;height:24px;margin:0 .5em}#content #data-search .account-label{display:flex;justify-content:space-between;width:100%;min-height:8em;height:auto;text-align:left;margin:0 auto .5em;color:#696969;background-color:#fcfcfc;padding:0 .5em}#content #data-search .account-label .label-row-up,#content #data-search .account-label .label-row-down{display:flex;min-height:3em;height:auto;width:100%;padding:.5em 0}#content #data-search .account-label .label-row-down{height:3em}#content #data-search .account-label .label-left{display:flex;flex-wrap:wrap;align-items:center;width:100%;height:4em}#content #data-search .account-label .label-right{display:flex;flex-wrap:wrap;width:18em;height:4em}#content #data-search .account-label .label-right>div{width:18em}#content #data-search .account-label .label-field{width:100%;min-height:3em;height:auto;padding:0 .3em}#content #data-search .account-label .field-text{word-wrap:break-word}#content #data-search .account-label .field-text a{color:#5c6bc0}#content #data-search .account-label .field-customer{flex-grow:2}#content #data-search .account-label .field-name{padding:.3em .2em;color:#b9b9b9;display:none}#content #data-search .account-label .field-name-hidden{display:none}#content #data-search .account-label .header .field-name{color:white;font-weight:bold}#content #data-search .account-label .no-link,#content #data-search .account-label .no-link a{color:white;font-weight:bold}#content #data-search .account-info{padding:.5em 0 .5em 0;text-align:left;opacity:.3;min-height:4em}#content #data-search .account-info:hover{opacity:1}#content #data-search .account-actions{align-self:baseline;padding:.5em 0;text-align:right;border-top:1px solid #c9c9c9}#content #data-search .account-spacer{float:left;clear:left;height:2em;width:20%}#content #data-search .tags-box{display:inline-block}#content #data-search .tags-box span.tag{cursor:pointer;opacity:.3}#content #data-search .tags-box span.tag:hover{opacity:1}@media screen and (max-width:1000px){#content #data-search .account-label{flex-wrap:wrap}#content #data-search .account-label .label-row-up,#content #data-search .account-label .label-row-down{flex-wrap:wrap;height:auto}#content #data-search .account-label .label-field .field-name{display:block;text-align:left;border-bottom:1px solid #d9d9d9;color:#607d8b}#content #data-search .account-label .label-left,#content #data-search .account-label .label-right{height:auto}#content #data-search .account-label .label-right,#content #data-search .account-label .label-right>div{width:100%}} \ No newline at end of file +@charset "UTF-8"; +#content #data-search { + text-align: center; + padding: .5em 0; + width: 100%; + margin: 0 auto +} + +#content #data-search .account-info img, +#content #data-search .account-actions img { + width: 24px; + height: 24px; + margin: 0 .5em +} + +#content #data-search .account-label { + display: flex; + justify-content: space-between; + width: 100%; + min-height: 8em; + height: auto; + text-align: left; + margin: 0 auto .5em; + color: #696969; + background-color: #161B22; + padding: 0 .5em +} + +#content #data-search .account-label .label-row-up, +#content #data-search .account-label .label-row-down { + display: flex; + min-height: 3em; + height: auto; + width: 100%; + padding: .5em 0 +} + +#content #data-search .account-label .label-row-down { + height: 3em +} + +#content #data-search .account-label .label-left { + display: flex; + flex-wrap: wrap; + align-items: center; + width: 100%; + height: 4em +} + +#content #data-search .account-label .label-right { + display: flex; + flex-wrap: wrap; + width: 18em; + height: 4em +} + +#content #data-search .account-label .label-right>div { + width: 18em +} + +#content #data-search .account-label .label-field { + width: 100%; + min-height: 3em; + height: auto; + padding: 0 .3em +} + +#content #data-search .account-label .field-text { + word-wrap: break-word +} + +#content #data-search .account-label .field-text a { + color: #5c6bc0 +} + +#content #data-search .account-label .field-customer { + flex-grow: 2 +} + +#content #data-search .account-label .field-name { + padding: .3em .2em; + color: #b9b9b9; + display: none +} + +#content #data-search .account-label .field-name-hidden { + display: none +} + +#content #data-search .account-label .header .field-name { + color: white; + font-weight: bold +} + +#content #data-search .account-label .no-link, +#content #data-search .account-label .no-link a { + color: white; + font-weight: bold +} + +#content #data-search .account-info { + padding: .5em 0 .5em 0; + text-align: left; + opacity: .3; + min-height: 4em +} + +#content #data-search .account-info:hover { + opacity: 1 +} + +#content #data-search .account-actions { + align-self: baseline; + padding: .5em 0; + text-align: right; + border-top: 1px solid #0D1117 +} + +#content #data-search .account-spacer { + float: left; + clear: left; + height: 2em; + width: 20% +} + +#content #data-search .tags-box { + display: inline-block +} + +#content #data-search .tags-box span.tag { + cursor: pointer; + opacity: .3 +} + +#content #data-search .tags-box span.tag:hover { + opacity: 1 +} + +@media screen and (max-width:1000px) { + #content #data-search .account-label { + flex-wrap: wrap + } + #content #data-search .account-label .label-row-up, + #content #data-search .account-label .label-row-down { + flex-wrap: wrap; + height: auto + } + #content #data-search .account-label .label-field .field-name { + display: block; + text-align: left; + border-bottom: 1px solid #d9d9d9; + color: #607d8b + } + #content #data-search .account-label .label-left, + #content #data-search .account-label .label-right { + height: auto + } + #content #data-search .account-label .label-right, + #content #data-search .account-label .label-right>div { + width: 100% + } +} \ No newline at end of file