diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..3191e885 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at https://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.bat] +end_of_line = crlf + diff --git a/.gitattributes b/.gitattributes index 83517436..307be399 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,8 @@ +# Define the line ending behavior of the different file extensions # Set the default behavior, in case people don't have core.autocrlf set. -* eol=lf -* text=auto +* text text=auto eol=lf + +*.php diff=php # Denote all files that are truly binary and should not be modified. *.png binary @@ -17,15 +19,18 @@ *.mo binary *.pdf binary *.xsd binary -*.ts binary *.exe binary # Remove files for archives generated using `git archive` -codeception.yml export-ignore dependency.json export-ignore +phpstan.json export-ignore +phpstan.neon export-ignore +psalm-report.json export-ignore linguist-generated=true +tooling.yml export-ignore .coveralls.yml export-ignore .travis.yml export-ignore .editorconfig export-ignore .gitattributes export-ignore .gitignore export-ignore -tooling.yml export-ignore +architecture-baseline.json export-ignore +.github/ export-ignore diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..844581a3 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,13 @@ +## PR Description +Add a meaningful description here that will let us know what you want to fix with this PR or what functionality you want to add. + +## Steps before you submit a PR +- Please add tests for the code you add if it's possible. +- Please check out our contribution guide: https://docs.spryker.com/docs/dg/dev/code-contribution-guide.html +- Add a `contribution-license-agreement.txt` file with the following content: +`I hereby agree to Spryker\'s Contribution License Agreement in https://github.com/spryker/gui/blob/HASH_OF_COMMIT_YOU_ARE_BASING_YOUR_BRANCH_FROM_MASTER_BRANCH/CONTRIBUTING.md.` + +This is a mandatory step to make sure you are aware of the license agreement and agree to it. `HASH_OF_COMMIT_YOU_ARE_BASING_YOUR_BRANCH_FROM_MASTER_BRANCH` is a hash of the commit you are basing your branch from the master branch. You can take it from commits list of master branch before you submit a PR. + +## Checklist +- [x] I agree with the Code Contribution License Agreement in CONTRIBUTING.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..5d6b48fd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,52 @@ +name: CI + +on: + push: + branches: + - 'master' + pull_request: + workflow_dispatch: + +jobs: + validation: + name: Validation + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.3' + extensions: mbstring, intl, bcmath + coverage: none + + - name: Composer Install + run: composer install --prefer-dist --no-interaction --profile + + - name: Run validation + run: composer validate + + - name: Syntax check + run: find ./src -path src -prune -o -type f -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) + + lowest: + name: Prefer Lowest + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.2' + extensions: mbstring, intl, bcmath + coverage: none + + - name: Composer Install + run: composer install --prefer-dist --no-interaction --profile + + - name: Composer Update + run: composer update --prefer-lowest --prefer-dist --no-interaction --profile -vvv diff --git a/.gitignore b/.gitignore index 0d27ebd1..58b3e11f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,36 @@ -# IDEs -/.idea -/.project -/nbproject -/.buildpath -/.settings +# IDE +.idea/ +.project/ +nbproject/ +.buildpath/ +.settings/ *.sublime-* + +# OS +.DS_Store *.AppleDouble *.AppleDB *.AppleDesktop -# OS -.DS_Store +# grunt stuff +.grunt +.sass-cache +/node_modules/ + +# tooling +vendor/ +composer.lock +.phpunit.result.cache + +# built client resources +src/*/Zed/*/Static/Public +src/*/Zed/*/Static/Assets/sprite -/vendor -/composer.lock +# Propel classes +src/*/Zed/*/Persistence/Propel/Base/* +src/*/Zed/*/Persistence/Propel/Map/* -/tests/_output/* -!/tests/_output/.gitkeep +# tests +tests/**/_generated/ +tests/_output/* +!tests/_output/.gitkeep diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5eff362d..6a2d4c07 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,46 +1,69 @@ -CODE CONTRIBUTION LICENSE AGREEMENT - -BY DISPLAYING, PUBLISHING, UPLOADING OR PROMOTING (COLLECTIVELY, “POSTING”) SOURCE CODE (“SOURCE CODE”) -TO SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER -HRB 134310 (“WE”, “US” OR ”SPRYKER”), YOU AGREE TO THIS CODE CONTRIBUTION LICENSE AGREEMENT (THE “AGREEMENT”). - -You grant us and our affiliates an irrevocable, perpetual, worldwide, royalty-free, non-exclusive, unrestricted -license and right to use, reproduce and store, disseminate and otherwise exploit, modify, delete from, add to, -create derivative works of, publicly perform, publicly display, reproduce, exchange parts of Source Code or combine them with -other Source Code, use in data networks and distribute with or without consideration and without limitations as to the -number of items via all distribution channels (and to sublicense the foregoing rights through multiple tiers of licensees) -of such Source Code and any other copyright protected material for any reason and in connection with advertising and -promoting our software and/or our products in any media formats and through any channels now existing or developed in -the future. The transfer and assignment of rights covers any usage and exploitation rights for any unknown types of use -as well as with regard to any known types of use the right to unrestrictedly make publicly available and publish, -irrespective of the medium including any editions and versions and grant simple or exclusive usage, exploitation or -adaptation rights to third parties. - -Spryker may reject, refuse to post or delete any Source Code for any or no reason, including, without limitation. - -From time to time, we may remove the Source Code permanently or temporarily, provided that even if we do remove such -Source Code, we shall have no obligation to cease our other uses of the Source Code as permitted above. - -You agree to be fully responsible for and to pay any and all royalties, fees, and any other monies owing any person or -entity by reason of any Source Code posted by you. - -Spryker respects the intellectual property of others, and requires that you do the same. Your postings and the Source Code -must not infringe any copyright, patent, trademark, trade secret or other proprietary rights or other rights of any person -or entity and you may not upload, embed, post, email, transmit or otherwise make available Source Code, software or any other -material that that infringes such rights. - -YOU GUARANTEE THAT: (I) YOU OWN THE SOURCE CODE POSTED BY YOU OR OTHERWISE HAVE THE RIGHT TO GRANT THE LICENSES AND RIGHTS -SET FORTH ABOVE, AND (II) THE POSTING OF YOUR SOURCE CODE DOES NOT VIOLATE THE PRIVACY RIGHTS, PUBLICITY RIGHTS, CONTRACT RIGHTS, -INTELLECTUAL PROPERTY OR ANY OTHER RIGHTS OF ANY PERSON OR ENTITY OR ANY APPLICABLE LAW. - -YOU AGREE TO INDEMNIFY AND HOLD SPRYKER, ITS SUBSIDIARIES, AND AFFILIATES, AND THEIR RESPECTIVE OFFICERS, AGENTS, PARTNERS -AND EMPLOYEES, HARMLESS FROM ANY LOSS, LIABILITY, COST, EXPENSE, CLAIM OR DEMAND, INCLUDING WITHOUT LIMITATION, REASONABLE -ATTORNEYS’ FEES, DUE OR RELATING TO OR ARISING OUT OF THE USE OF YOUR SOURCE CODE IN VIOLATION OF THIS AGREEMENT AND/OR -ARISING FROM A BREACH OF ANY TERMS OF THIS AGREEMENT AND/OR ANY BREACH OF YOUR REPRESENTATIONS AND WARRANTIES SET FORTH IN -THIS AGREEMENT AND/OR ARISING OUT OF OR RELATING TO ANY SOURCE CODE THAT YOU POST. - -This Agreement shall be governed by the laws of Germany to the exclusion of IPR (International Law) and the United Nations Convention -on Contracts for the International Sale of Goods (CISG). The parties consent to the jurisdiction of the courts in Berlin (Germany). - -This Agreement constitutes the entire agreement between you and us concerning Spryker’s use of the Source Code. This Agreement -supersedes any prior verbal understanding between the parties. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. +SPRYKER - CONTRIBUTION AGREEMENT FOR PLATFORM CONTRIBUTIONS + +Spryker Systems GmbH, Heidestraße 9-10, 10557 Berlin, Germany (“Spryker”), and its affiliates invite you to contribute +to Spryker’s Software, including but not limited to with bug fixes, enhancements, additions or features +(each a “Platform Contribution”). For the purposes of this Agreement, the “Software” includes any software, +which is owned and made available by Spryker. Contributions can consist of source code, documentation and/or other +code-related elements. + +BY DISPLAYING, PUBLISHING, UPLOADING, PROMOTING OR OTHERWISE PROVIDING A PLATFORM CONTRIBUTION TO SPRYKER +(COLLECTIVELY, “SUBMITTING”), YOU AGREE TO THIS CONTRIBUTION AGREEMENT FOR PLATFORM CONTRIBUTIONS (THE “AGREEMENT”). + +Spryker grants you the right to use the Software for the purpose of developing and submitting Platform Contributions +to the Software and/or Spryker’s documentation subject to your compliance with this Agreement. +Under the license granted in this Agreement, you must not (i) use the Software to set up a production live system; +(ii) copy any part of the Software except to develop and provide a Platform Contribution or make one copy for back-up +purposes; (iii) distribute, disclose, market, rent, lease, or transfer the Software or act as a service bureau with +respect to the Software; (iv) export the Software or install it in multiple locations; (v) disclose any confidential +information provided by Spryker; (vi) modify or make derivative works of the Software beyond what you will submit to +Spryker as Platform Contribution; or (vii) allow others to make or obtain copies of the Software. + +You grant Spryker and its affiliates an irrevocable, perpetual, worldwide, royalty-free, non-exclusive, +unrestricted license and right to use, including to reproduce and store, disseminate and otherwise exploit, modify, +delete from, add to, create derivative works of, publicly perform, publicly display, reproduce, exchange parts +of a Platform Contribution or combine them with other code, use in data networks and distribute with or without +consideration and without limitations as to the number of items via all distribution channels (and to sublicense +the foregoing rights through multiple tiers of licensees) such Platform Contribution and any other copyright +protected material for any reason and in connection with advertising and promoting our software and/or Spryker’s +products in any media formats and through any channels now existing or developed in the future. +The granting of these rights covers any usage and exploitation rights for any unknown types of use as well as +with regard to any known types of use the right to unrestrictedly make publicly available and publish, +irrespective of the medium including any editions and versions and grant simple or exclusive usage, +exploitation or adaptation rights to third parties. + +Spryker may reject, refuse to post or delete any Platform Contribution for any or no reason, including, +without limitation. Spryker may or may not mention your name when publishing the Platform Contribution. +From time to time, Spryker may remove the Platform Contribution permanently or temporarily, provided that even +if Spryker does remove such Platform Contribution, Spryker shall have no obligation to cease its other uses of +the Platform Contribution as permitted above. +Spryker respects the intellectual property of others, and requires that you do the same. Your Platform Contributions +must not infringe any copyright, patent, trademark, trade secret or other proprietary rights or other rights of any +person or entity and you may not upload, embed, post, email, transmit or otherwise make available a Platform Contribution +or any other material that infringes such rights. +If you are submitting a Platform Contribution that includes licensed rights, you will inform Spryker of the name of +such third-party licensor, the third-party license as such and any restrictions you are aware of. +If you are submitting a Platform Contribution that was developed by you in the course of your work for your employer +or as a contractor, vendor or agent for another principal, you are responsible for obtaining permission from your +employer or such other principal. +You will not include a Platform Contribution containing code governed by a license with copyleft effect. You agree +to be fully responsible for and to pay any and all royalties, fees, and any other monies owed to any person or +entity for any rights in a Platform Contribution submitted by you. +YOU REPRESENT AND WARRANT THAT: (I) YOU OWN THE PLATFORM CONTRIBUTION POSTED BY YOU OR OTHERWISE ARE ENTITLED TO +GRANT THE LICENSES AND RIGHTS SET FORTH ABOVE, INCLUDING WHERE NECESSARY HAVE OBTAINED YOUR EMPLOYER’S OR OTHER +PRINCIPAL’S PERMISSION, AND (II) THE SUBMISSION OF YOUR PLATFORM CONTRIBUTION DOES NOT VIOLATE THE PRIVACY RIGHTS, +PUBLICITY RIGHTS, CONTRACT RIGHTS, INTELLECTUAL PROPERTY OR ANY OTHER RIGHTS OF ANY PERSON OR ENTITY OR ANY +APPLICABLE LAW. + +YOU AGREE TO INDEMNIFY AND HOLD SPRYKER AND ITS AFFILIATES, AND THEIR RESPECTIVE OFFICERS, AGENTS, PARTNERS AND EMPLOYEES, +HARMLESS FROM ANY LOSS, LIABILITY, COST, EXPENSE, CLAIM, OR DEMAND, INCLUDING WITHOUT LIMITATION, REASONABLE ATTORNEYS’ FEES, +DUE OR RELATING TO OR ARISING OUT OF THE USE OF THE YOUR PLATFORM CONTRIBUTION IN VIOLATION OF THIS AGREEMENT AND/OR +ARISING FROM A BREACH OF ANY TERMS OF THIS AGREEMENT AND/OR ANY BREACH OF YOUR REPRESENTATIONS AND WARRANTIES SET +FORTH IN THIS AGREEMENT AND/OR ARISING OUT OF OR RELATING TO ANY PLATFORM CONTRIBUTION THAT YOU SUBMIT. + +This Agreement is governed by the laws of Germany to the exclusion of its conflict of laws provisions and +the United Nations Convention on Contracts for the International Sale of Goods (CISG). The parties consent to the +jurisdiction of the courts in Berlin (Germany). + +This Agreement constitutes the entire agreement between the parties concerning the Platform Contributions submitted +by you. This Agreement supersedes any prior verbal understanding between the parties on the matter. This Agreement +may be amended only in a writing signed by an authorized officer of Spryker. diff --git a/LICENSE b/LICENSE index d376fd6f..fc1838ec 100644 --- a/LICENSE +++ b/LICENSE @@ -1,40 +1,27 @@ -SPRYKER SYSTEMS GMBH EVALUATION LICENSE AGREEMENT - -SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER HRB 134310 -(“WE” OR ”SPRYKER”)GRANTS YOU (THE “LICENSEE”) THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) -UNDER THE PROVISIONS OF THIS EVALUATION LICENSE AGREEMENT (THE “AGREEMENT”). - -The “Software” includes any software owned and distributed by Spryker under this Agreement. The Software -contains elements of open source components, to which different license terms apply respectively. -These open source components are needed to be installed separately. - -Spryker grants to Licensee, during the 45-calendar-day period (the “Evaluation Period”) following the download of the Software, -the nontransferable, nonexclusive limited, free of charge license to permit Licensee’s employees to internally use the Software -to test and evaluate the Software in connection with potentially purchasing non-evaluation licenses to the Software. - -Licensee shall not (i) use the Software to set up a productive live system, for development purposes or any other purposes apart -from evaluating the Software; (ii) copy any part of the Software except to make one copy for back-up purposes; (iii) distribute, -disclose, market, rent, lease, or transfer the Software or act as a service bureau with respect to the Software; (iv) export the -Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make -derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. - -THE SOFTWARE IS PROVIDED “AS-IS” AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING -BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT -BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL -DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES. - -Licensee's license to use the Software shall terminate on the earlier of (i) the expiration of the Evaluation Period, or (ii) the date -both parties enter into a definitive agreement for the provision by Spryker to Licensee of a non-evaluation license to the Software. -Upon termination of the license as provided above, Licensee shall promptly destroy the Software and any back-up copy of the Software -made during the Evaluation Period if Spryker and the Licensee have not agreed a non-evaluation license to the Software. - -This Agreement shall be governed by the laws of Germany to the exclusion of IPR (International Law) and the United Nations Convention -on Contracts for the International Sale of Goods (CISG). The parties consent to the jurisdiction of the courts in Berlin (Germany). - -This Agreement is not assignable or transferable by Licensee and any attempt to do so is null and void. - -This Agreement constitutes the entire agreement between the parties concerning Licensee’s use of the Software. This Agreement supersedes -any prior verbal understanding between the parties and any Licensee purchase order or other ordering document, regardless of whether such -document is received by Spryker before or after execution of this Agreement. This Agreement may be amended only in a writing signed by -an authorized officer of Spryker. +SPRYKER - LICENSE AGREEMENT FOR EVALUATION OF AND EARLY ACCESS TO SOFTWARE + +SPRYKER SYSTEMS GMBH, REGISTERED WITH THE COMMERCIAL REGISTER OF THE LOWER COURT OF HAMBURG UNDER HRB 134310 ("WE" OR "SPRYKER") GRANTS YOU ("LICENSEE") THE RIGHT TO USE THE SOFTWARE (AS DEFINED BELOW) UNDER THE PROVISIONS OF THIS LICENSE AGREEMENT FOR EVALUATION AND EARLY ACCESS (THE "AGREEMENT"). + +For the purposes of this Agreement, the "Software" includes any software, which is owned and made available (i) by Spryker for evaluation purposes or (ii) as part of Spryker`s early access program under this Agreement. + +Spryker grants to Licensee, (i) during the 45-calendar-day period (the "Evaluation Period") following the first download of the Software or (ii) during the period it makes available a feature, module or functionality as part of its early access program (the "Early Access Period"), the non-transferable, non-exclusive limited, free of charge license (for (i) the "Evaluation License" or for (ii) the "Early Access License", as applicable, both a "License") to permit Licensee and/or Licensee`s employees to internally use the Software to test and evaluate the Software. In case of the Evaluation License, Licensee will not be granted the license under this Agreement for one particular piece of the Software more than once. + +Under the License granted in this Agreement, Licensee shall not (i) use the Software to set up a production live system, for development purposes or any other purposes apart from evaluating and testing the Software; (ii) copy any part of the Software except to make one copy for back-up purposes; (iii) distribute, disclose, market, rent, lease, or transfer the Software or act as a service bureau with respect to the Software; (iv) export the Software or install it in multiple locations; (v) disclose any confidential information provided by Spryker; (vi) modify or make derivative works of the Software; or (vii) allow others to make or obtain copies of the Software. + +The use of the Software in a production environment, to the extent permitted at all, requires prior conclusion of a separate agreement between Spryker and Licensee. Spryker will not support any versions of the Software being provided for evaluation purposes or as part of Spryker`s early access program. The provision of the Software as part of Spryker`s early access program does not necessarily mean it will be released as part of Spryker`s products in the future. + +The Software may contain elements of open source components, to which different license terms apply respectively. Licensee may need to install these open source components separately. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND. SPRYKER DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, TITLE, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. SPRYKER WILL NOT BE LIABLE FOR ANY DAMAGES ASSOCIATED WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION ORDINARY, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DAMAGES RELATING TO LOST DATA OR LOST PROFITS, EVEN IF SPRYKER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +Licensee can provide input, suggestions, suggest or recommend changes or enhancements of the Software ("Feedback"). Any Feedback provided by Licensee is not considered confidential information and is received and treated by Spryker on a non-confidential and unrestricted basis. Licensee grants Spryker a sub-licenseable right to use, distribute, disclose and/or incorporate it into the Software or other products of Spryker, free of charge and without restriction as to time and place. + +Licensee`s License to use the Software under this Agreement shall terminate on the earlier of (i) the expiration of the Evaluation Period or the Early Access Period (as applicable), or (ii) the date both parties enter into a definitive agreement for the provision by Spryker to Licensee of a full non-evaluation license to Spryker`s software. + +Upon termination of the License as provided under this Agreement, Licensee shall promptly destroy the Software and any back-up copy of the Software made during the Evaluation Period or Early Access Period if Spryker and Licensee have not agreed a non-evaluation license to Spryker`s software. + +This Agreement shall be governed by the laws of Germany to the exclusion of IPR (International Law) and the United Nations Convention on Contracts for the International Sale of Goods (CISG). The parties consent to the jurisdiction of the courts in Berlin (Germany). + +This Agreement and/or the License is not assignable or transferable by Licensee and any attempt to do so is null and void. + +This Agreement constitutes the entire agreement between the parties concerning Licensee`s use of the Software. This Agreement supersedes any prior verbal understanding between the parties. This Agreement may be amended only in a writing signed by an authorized officer of Spryker. diff --git a/README.md b/README.md index 2ca872a8..cd11d722 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ # Gui Module +[![Latest Stable Version](https://poser.pugx.org/spryker/gui/v/stable.svg)](https://packagist.org/packages/spryker/gui) +[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.2-8892BF.svg)](https://php.net/) Gui provides the main logic for GUI functionality across all modules. @@ -10,4 +12,4 @@ composer require spryker/gui ## Documentation -[Module Documentation](https://academy.spryker.com/developing_with_spryker/module_guide/modules.html) +[Spryker Documentation](https://docs.spryker.com) diff --git a/architecture-baseline.json b/architecture-baseline.json new file mode 100644 index 00000000..b269432e --- /dev/null +++ b/architecture-baseline.json @@ -0,0 +1,51 @@ +[ + { + "fileName": "src/Spryker/Zed/Gui/Communication/Form/Type/AutosuggestType.php", + "description": "Method `Spryker\\Zed\\Gui\\Communication\\Form\\Type\\AutosuggestType::getParent()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Gui/Communication/Form/Type/AutosuggestType.php", + "description": "Method `Spryker\\Zed\\Gui\\Communication\\Form\\Type\\AutosuggestType::getBlockPrefix()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Gui/Communication/Form/Type/ImageType.php", + "description": "Method `Spryker\\Zed\\Gui\\Communication\\Form\\Type\\ImageType::getParent()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Gui/Communication/Form/Type/ParagraphType.php", + "description": "Method `Spryker\\Zed\\Gui\\Communication\\Form\\Type\\ParagraphType::getBlockPrefix()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Gui/Communication/Form/Type/Select2ComboBoxType.php", + "description": "Method `Spryker\\Zed\\Gui\\Communication\\Form\\Type\\Select2ComboBoxType::getParent()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Gui/Communication/Form/Type/Select2ComboBoxType.php", + "description": "Method `Spryker\\Zed\\Gui\\Communication\\Form\\Type\\Select2ComboBoxType::getBlockPrefix()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + }, + { + "fileName": "src/Spryker/Zed/Gui/Communication/Form/Type/SelectType.php", + "description": "Method `Spryker\\Zed\\Gui\\Communication\\Form\\Type\\SelectType::getParent()` must have return type.", + "rule": "ExternalMethodExtensionReturnTypeRule", + "ruleset": "Spryker", + "priority": "1" + } +] diff --git a/assets/Automation/zed.antelope.js b/assets/Automation/zed.antelope.js index 0a3de306..ebdd3881 100644 --- a/assets/Automation/zed.antelope.js +++ b/assets/Automation/zed.antelope.js @@ -22,33 +22,38 @@ let config = { alias: { ZedGui: `${guiFolder}/assets/Zed/js/modules/commons`, ZedGuiEditorConfiguration: `${guiFolder}/assets/Zed/js/modules/editor`, - ZedGuiModules: `${guiFolder}/assets/Zed/js/modules` - } + ZedGuiModules: `${guiFolder}/assets/Zed/js/modules`, + }, }, resolveLoader: { - root: antelope.paths.loaders + root: antelope.paths.loaders, }, output: { path: path.join(cwd, './public/Zed'), - filename: 'assets/js/[name].js' + filename: 'assets/js/[name].js', }, module: { - loaders: [{ - test: /\.css\??(\d*\w*=?\.?)+$/i, - loader: ExtractTextPlugin.extract('style', 'css') - }, { - test: /\.scss$/i, - loader: ExtractTextPlugin.extract('style', 'css!resolve-url!sass?sourceMap') - }, { - test: /\.(ttf|woff2?|eot)\??(\d*\w*=?\.?)+$/i, - loader: 'file?name=/assets/fonts/[name].[ext]' - }, { - test: /\.(jpe?g|png|gif|svg)\??(\d*\w*=?\.?)+$/i, - loader: 'file?name=/assets/img/[name].[ext]' - }] + loaders: [ + { + test: /\.css\??(\d*\w*=?\.?)+$/i, + loader: ExtractTextPlugin.extract('style', 'css'), + }, + { + test: /\.scss$/i, + loader: ExtractTextPlugin.extract('style', 'css!resolve-url!sass?sourceMap'), + }, + { + test: /\.(ttf|woff2?|eot)\??(\d*\w*=?\.?)+$/i, + loader: 'file?name=/assets/fonts/[name].[ext]', + }, + { + test: /\.(jpe?g|png|gif|svg)\??(\d*\w*=?\.?)+$/i, + loader: 'file?name=/assets/img/[name].[ext]', + }, + ], }, sassLoader: { - includePaths: antelope.paths.loaders + includePaths: antelope.paths.loaders, }, plugins: [ new webpack.optimize.CommonsChunkPlugin('spryker-zed-gui-commons', 'assets/js/spryker-zed-gui-commons.js'), @@ -59,27 +64,27 @@ let config = { // legacy provider SprykerAjax: `${guiFolder}/assets/Zed/js/modules/legacy/SprykerAjax`, SprykerAjaxCallbacks: `${guiFolder}/assets/Zed/js/modules/legacy/SprykerAjaxCallbacks`, - SprykerAlert: `${guiFolder}/assets/Zed/js/modules/legacy/SprykerAlert` + SprykerAlert: `${guiFolder}/assets/Zed/js/modules/legacy/SprykerAlert`, }), new ExtractTextPlugin('assets/css/[name].css', { - allChunks: true + allChunks: true, }), new webpack.DefinePlugin({ PRODUCTION: antelope.options.production, DEV: !antelope.options.production, WATCH: antelope.options.watch, - 'require.specified': 'require.resolve' - }) + 'require.specified': 'require.resolve', + }), ], watchOptions: { aggregateTimeout: 300, - poll: 1000 + poll: 1000, }, progress: true, failOnError: false, devtool: 'sourceMap', debug: antelope.options.debug, - watch: antelope.options.watch + watch: antelope.options.watch, }; if (antelope.options.production) { @@ -88,12 +93,12 @@ if (antelope.options.production) { comments: false, sourceMap: false, compress: { - warnings: false + warnings: false, }, mangle: { - except: ['$', 'exports', 'require'] - } - }) + except: ['$', 'exports', 'require'], + }, + }), ]); } diff --git a/assets/Inspinia/css/fonts.css b/assets/Inspinia/css/fonts.css deleted file mode 100644 index 0fb3ec02..00000000 --- a/assets/Inspinia/css/fonts.css +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. - */ - -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 300; - src: local('Lato Light'), local('Lato-Light'), url(../fonts/Lato-Light.ttf) format('truetype'); -} - -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 400; - src: local('Lato'), local('Lato'), url(../fonts/Lato-Regular.ttf) format('truetype'); -} - -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 600; - src: local('Lato Bold'), local('Lato-Bold'), url(../fonts/Lato-Bold.ttf) format('truetype'); -} - -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 700; - src: local('Lato Black'), local('Lato-Black'), url(../fonts/Lato-Black.ttf) format('truetype'); -} diff --git a/assets/Inspinia/css/style.css b/assets/Inspinia/css/style.css index 605d82f7..ab0f6f91 100755 --- a/assets/Inspinia/css/style.css +++ b/assets/Inspinia/css/style.css @@ -1,659 +1,666 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. * * INSPINIA - Responsive Admin Theme * version 2.7.1 */ - + +:root { + --grey-dark: #646464; + --green-default: #11856e; +} + h1, h2, h3, h4, h5, h6 { - font-weight: 100; + font-weight: 100; } h1 { - font-size: 30px; + font-size: 30px; } h2 { - font-size: 24px; + font-size: 24px; } h3 { - font-size: 16px; + font-size: 16px; } h4 { - font-size: 14px; + font-size: 14px; } h5 { - font-size: 12px; + font-size: 12px; } h6 { - font-size: 10px; + font-size: 10px; } h3, h4, h5 { - margin-top: 5px; - font-weight: 600; + margin-top: 5px; + font-weight: 600; } .nav > li > a { - color: #a7b1c2; - font-weight: 600; - padding: 14px 20px 14px 25px; + color: #a7b1c2; + font-weight: 600; + padding: 14px 20px 14px 25px; } .nav.navbar-right > li > a { - color: #999c9e; -} -.nav > li.active > a { - color: #ffffff; + color: var(--grey-dark); } .navbar-default .nav > li > a:hover, .navbar-default .nav > li > a:focus { - background-color: #293846; - color: white; + background-color: #f8f8f8; + color: #676a6c; +} +.navbar-default .nav > li > a:hover .fa, +.navbar-default .nav > li > a:focus .fa { + color: #19aa8d; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { - background: #fff; + background: #fff; } .nav.navbar-top-links > li > a:hover, .nav.navbar-top-links > li > a:focus { - background-color: transparent; + background-color: transparent; } .nav > li > a i { - margin-right: 6px; + margin-right: 6px; } .navbar { - border: 0; + border: 0; } .navbar-default { - background-color: transparent; - border-color: #2f4050; + background-color: transparent; + border-color: #2f4050; } .navbar-top-links li { - display: inline-block; + display: inline-block; } .navbar-top-links li:last-child { - margin-right: 40px; + margin-right: 40px; } .body-small .navbar-top-links li:last-child { - margin-right: 0; + margin-right: 0; } .navbar-top-links li a { - padding: 20px 10px; - min-height: 50px; + padding: 20px 10px; + min-height: 50px; } .dropdown-menu { - border: medium none; - border-radius: 3px; - box-shadow: 0 0 3px rgba(86, 96, 117, 0.7); - display: none; - float: left; - font-size: 12px; - left: 0; - list-style: none outside none; - padding: 0; - position: absolute; - text-shadow: none; - top: 100%; - z-index: 1000; + border: medium none; + border-radius: 3px; + box-shadow: 0 0 3px rgba(86, 96, 117, 0.7); + display: none; + float: left; + font-size: 12px; + left: 0; + list-style: none outside none; + padding: 0; + position: absolute; + text-shadow: none; + top: 100%; + z-index: 1000; } .dropdown-menu > li > a { - border-radius: 3px; - color: inherit; - line-height: 25px; - margin: 4px; - text-align: left; - font-weight: normal; + border-radius: 3px; + color: inherit; + line-height: 25px; + margin: 4px; + text-align: left; + font-weight: normal; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover { - color: #fff; - text-decoration: none; - background-color: #1ab394; - outline: 0; + color: #fff; + text-decoration: none; + background-color: #1ab394; + outline: 0; } .dropdown-menu > li > a.font-bold { - font-weight: 600; + font-weight: 600; } .navbar-top-links .dropdown-menu li { - display: block; + display: block; } .navbar-top-links .dropdown-menu li:last-child { - margin-right: 0; + margin-right: 0; } .navbar-top-links .dropdown-menu li a { - padding: 3px 20px; - min-height: 0; + padding: 3px 20px; + min-height: 0; } .navbar-top-links .dropdown-menu li a div { - white-space: normal; + white-space: normal; } .navbar-top-links .dropdown-messages, .navbar-top-links .dropdown-tasks, .navbar-top-links .dropdown-alerts { - width: 310px; - min-width: 0; + width: 310px; + min-width: 0; } .navbar-top-links .dropdown-messages { - margin-left: 5px; + margin-left: 5px; } .navbar-top-links .dropdown-tasks { - margin-left: -59px; + margin-left: -59px; } .navbar-top-links .dropdown-alerts { - margin-left: -123px; + margin-left: -123px; } .navbar-top-links .dropdown-user { - right: 0; - left: auto; + right: 0; + left: auto; } .dropdown-messages, .dropdown-alerts { - padding: 10px 10px 10px 10px; + padding: 10px 10px 10px 10px; } .dropdown-messages li a, .dropdown-alerts li a { - font-size: 12px; + font-size: 12px; } .dropdown-messages li em, .dropdown-alerts li em { - font-size: 10px; + font-size: 10px; } .nav.navbar-top-links .dropdown-alerts a { - font-size: 12px; + font-size: 12px; } .nav-header { - padding: 33px 25px; - background-color: #2f4050; - background-image: url("../img/patterns/header-profile.png"); + padding: 10px; } .pace-done .nav-header { - transition: all 0.4s; -} -ul.nav-second-level { - background: #293846; + transition: all 0.4s; } .nav > li.active { - border-left: 4px solid #19aa8d; - background: #293846; + border-left: 4px solid #19aa8d; + background: #f8f8f8; +} +.nav > li.active a { + color: #676a6c; +} +.nav > li.active .fa { + color: #19aa8d; } .nav.nav-second-level > li.active { - border: none; + border: none; } .nav.nav-second-level.collapse[style] { - height: auto !important; + height: auto !important; } .nav-header a { - color: #DFE4ED; + color: #dfe4ed; } .nav-header .text-muted { - color: #8095a8; + color: #8095a8; } .minimalize-styl-2 { - padding: 4px 12px; - margin: 14px 5px 5px 20px; - font-size: 14px; - float: left; + padding: 4px 12px; + margin: 14px 5px 5px 20px; + font-size: 14px; + float: left; } .navbar-form-custom { - float: left; - height: 50px; - padding: 0; - width: 200px; - display: block; + float: left; + height: 50px; + padding: 0; + width: 200px; + display: block; } .navbar-form-custom .form-group { - margin-bottom: 0; + margin-bottom: 0; } .nav.navbar-top-links a { - font-size: 14px; + font-size: 14px; } .navbar-form-custom .form-control { - background: none repeat scroll 0 0 rgba(0, 0, 0, 0); - border: medium none; - font-size: 14px; - height: 60px; - margin: 0; - z-index: 2000; + background: none repeat scroll 0 0 rgba(0, 0, 0, 0); + border: medium none; + font-size: 14px; + height: 60px; + margin: 0; + z-index: 2000; } .count-info .label { - line-height: 12px; - padding: 2px 5px; - position: absolute; - right: 6px; - top: 12px; + line-height: 12px; + padding: 2px 5px; + position: absolute; + right: 6px; + top: 12px; } .arrow { - float: right; + float: right; } .fa.arrow:before { - content: "\f104"; + content: '\f104'; } .active > a > .fa.arrow:before { - content: "\f107"; + content: '\f107'; } .nav-second-level li, .nav-third-level li { - border-bottom: none !important; + border-bottom: none !important; } .nav-second-level li a { - padding: 7px 10px 7px 10px; - padding-left: 52px; + padding: 7px 10px 7px 10px; + padding-left: 52px; } .nav-third-level li a { - padding-left: 62px; + padding-left: 62px; } .nav-second-level li:last-child { - margin-bottom: 10px; + margin-bottom: 10px; } body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav li:hover > .nav-second-level, .mini-navbar .nav li:focus > .nav-second-level { - display: block; - border-radius: 0 2px 2px 0; - min-width: 140px; - height: auto; + display: block; + border-radius: 0 2px 2px 0; + min-width: 140px; + height: auto; } body.mini-navbar .navbar-default .nav > li > .nav-second-level li a { - font-size: 12px; - border-radius: 3px; + font-size: 12px; + border-radius: 3px; } .fixed-nav .slimScrollDiv #side-menu { - padding-bottom: 60px; + padding-bottom: 60px; } .mini-navbar .nav-second-level li a { - padding: 10px 10px 10px 15px; + padding: 10px 10px 10px 15px; } .mini-navbar .nav .nav-second-level { - position: absolute; - left: 70px; - top: 0; - background-color: #2f4050; - padding: 10px 10px 10px 10px; - font-size: 12px; + position: absolute; + left: 70px; + top: 0; + background-color: #ffffff; + padding: 10px 10px 10px 10px; + font-size: 12px; } .canvas-menu.mini-navbar .nav-second-level { - background: #293846; + background: #293846; } .mini-navbar li.active .nav-second-level { - left: 65px; + left: 65px; } .navbar-default .special_link a { - background: #1ab394; - color: white; + background: #1ab394; + color: white; } .navbar-default .special_link a:hover { - background: #17987e !important; - color: white; + background: #17987e !important; + color: white; } .navbar-default .special_link a span.label { - background: #fff; - color: #1ab394; + background: #fff; + color: #1ab394; } .navbar-default .landing_link a { - background: #1cc09f; - color: white; + background: #1cc09f; + color: white; } .navbar-default .landing_link a:hover { - background: #1ab394 !important; - color: white; + background: #1ab394 !important; + color: white; } .navbar-default .landing_link a span.label { - background: #fff; - color: #1cc09f; + background: #fff; + color: #1cc09f; } .logo-element { - text-align: center; - font-size: 18px; - font-weight: 600; - color: white; - display: none; - padding: 18px 0; + text-align: center; + font-size: 18px; + font-weight: 600; + color: white; + display: none; + padding: 18px 0; } .pace-done .navbar-static-side, .pace-done .nav-header, .pace-done li.active, .pace-done #page-wrapper, .pace-done .footer { - -webkit-transition: all 0.4s; - -moz-transition: all 0.4s; - -o-transition: all 0.4s; - transition: all 0.4s; + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + transition: all 0.4s; } .navbar-fixed-top { - background: #fff; - transition-duration: 0.4s; - border-bottom: 1px solid #e7eaec !important; - z-index: 2030; + background: #fff; + transition-duration: 0.4s; + border-bottom: 1px solid #e7eaec !important; + z-index: 2030; } .navbar-fixed-top, .navbar-static-top { - background: #f3f3f4; + background: #f8f8f8; } .fixed-nav #wrapper { - margin-top: 0; + margin-top: 0; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { - -moz-border-bottom-colors: none; - -moz-border-left-colors: none; - -moz-border-right-colors: none; - -moz-border-top-colors: none; - background: none; - border-color: #dddddd #dddddd rgba(0, 0, 0, 0); - border-bottom: #f3f3f4; - border-image: none; - border-style: solid; - border-width: 1px; - color: #555555; - cursor: default; + -moz-border-bottom-colors: none; + -moz-border-left-colors: none; + -moz-border-right-colors: none; + -moz-border-top-colors: none; + background: none; + border-color: #dddddd #dddddd rgba(0, 0, 0, 0); + border-bottom: #f3f3f4; + border-image: none; + border-style: solid; + border-width: 1px; + color: #555555; + cursor: default; } .nav.nav-tabs li { - background: none; - border: none; + background: none; + border: none; } body.fixed-nav #wrapper .navbar-static-side, body.fixed-nav #wrapper #page-wrapper { - margin-top: 60px; + margin-top: 60px; } body.top-navigation.fixed-nav #wrapper #page-wrapper { - margin-top: 0; + margin-top: 0; } body.fixed-nav.fixed-nav-basic .navbar-fixed-top { - left: 220px; + left: 220px; } body.fixed-nav.fixed-nav-basic.mini-navbar .navbar-fixed-top { - left: 70px; + left: 70px; } body.fixed-nav.fixed-nav-basic.fixed-sidebar.mini-navbar .navbar-fixed-top { - left: 0; + left: 0; } body.fixed-nav.fixed-nav-basic #wrapper .navbar-static-side { - margin-top: 0; + margin-top: 0; } body.fixed-nav.fixed-nav-basic.body-small .navbar-fixed-top { - left: 0; + left: 0; } body.fixed-nav.fixed-nav-basic.fixed-sidebar.mini-navbar.body-small .navbar-fixed-top { - left: 220px; + left: 220px; } .fixed-nav .minimalize-styl-2 { - margin: 14px 5px 5px 15px; + margin: 14px 5px 5px 15px; } .body-small .navbar-fixed-top { - margin-left: 0; + margin-left: 0; } body.mini-navbar .navbar-static-side { - width: 70px; + width: 70px; } body.mini-navbar .profile-element, body.mini-navbar .nav-label, body.mini-navbar .navbar-default .nav li a span { - display: none; + display: none; } body.canvas-menu .profile-element { - display: block; + display: block; } body:not(.fixed-sidebar):not(.canvas-menu).mini-navbar .nav-second-level { - display: none; + display: none; } body.mini-navbar .navbar-default .nav > li > a { - font-size: 16px; + font-size: 16px; } body.mini-navbar .logo-element { - display: block; + display: block; } body.canvas-menu .logo-element { - display: none; + display: none; } body.mini-navbar .nav-header { - padding: 0; - background-color: #1ab394; + padding: 0; + background-color: #1ab394; } body.canvas-menu .nav-header { - padding: 33px 25px; + padding: 33px 25px; } body.mini-navbar #page-wrapper { - margin: 0 0 0 70px; + margin: 0 0 0 70px; } body.fixed-sidebar.mini-navbar .footer, body.canvas-menu.mini-navbar .footer { - margin: 0 0 0 0 !important; + margin: 0 0 0 0 !important; } body.canvas-menu.mini-navbar #page-wrapper, body.canvas-menu.mini-navbar .footer { - margin: 0 0 0 0; + margin: 0 0 0 0; } body.fixed-sidebar .navbar-static-side, body.canvas-menu .navbar-static-side { - position: fixed; - width: 220px; - z-index: 2001; - height: 100%; + position: fixed; + width: 220px; + z-index: 2001; + height: 100%; } body.fixed-sidebar.mini-navbar .navbar-static-side { - width: 0; + width: 0; } body.fixed-sidebar.mini-navbar #page-wrapper { - margin: 0 0 0 0; + margin: 0 0 0 0; } body.body-small.fixed-sidebar.mini-navbar #page-wrapper { - margin: 0 0 0 220px; + margin: 0 0 0 220px; } body.body-small.fixed-sidebar.mini-navbar .navbar-static-side { - width: 220px; + width: 220px; } .fixed-sidebar.mini-navbar .nav li:focus > .nav-second-level, .canvas-menu.mini-navbar .nav li:focus > .nav-second-level { - display: block; - height: auto; + display: block; + height: auto; } body.fixed-sidebar.mini-navbar .navbar-default .nav > li > .nav-second-level li a { - font-size: 12px; - border-radius: 3px; + font-size: 12px; + border-radius: 3px; } body.canvas-menu.mini-navbar .navbar-default .nav > li > .nav-second-level li a { - font-size: 13px; - border-radius: 3px; + font-size: 13px; + border-radius: 3px; } .fixed-sidebar.mini-navbar .nav-second-level li a, .canvas-menu.mini-navbar .nav-second-level li a { - padding: 10px 10px 10px 15px; + padding: 10px 10px 10px 15px; } .fixed-sidebar.mini-navbar .nav-second-level, .canvas-menu.mini-navbar .nav-second-level { - position: relative; - padding: 0; - font-size: 13px; + position: relative; + padding: 0; + font-size: 13px; } .fixed-sidebar.mini-navbar li.active .nav-second-level, .canvas-menu.mini-navbar li.active .nav-second-level { - left: 0; + left: 0; } body.fixed-sidebar.mini-navbar .navbar-default .nav > li > a, body.canvas-menu.mini-navbar .navbar-default .nav > li > a { - font-size: 13px; + font-size: 13px; } body.fixed-sidebar.mini-navbar .nav-label, body.fixed-sidebar.mini-navbar .navbar-default .nav li a span, body.canvas-menu.mini-navbar .nav-label, body.canvas-menu.mini-navbar .navbar-default .nav li a span { - display: inline; + display: inline; } body.canvas-menu.mini-navbar .navbar-default .nav li .profile-element a span { - display: block; + display: block; } .canvas-menu.mini-navbar .nav-second-level li a, .fixed-sidebar.mini-navbar .nav-second-level li a { - padding: 7px 10px 7px 52px; + padding: 7px 10px 7px 52px; } .fixed-sidebar.mini-navbar .nav-second-level, .canvas-menu.mini-navbar .nav-second-level { - left: 0; + left: 0; } body.canvas-menu nav.navbar-static-side { - z-index: 2001; - background: #2f4050; - height: 100%; - position: fixed; - display: none; + z-index: 2001; + background: #2f4050; + height: 100%; + position: fixed; + display: none; } body.canvas-menu.mini-navbar nav.navbar-static-side { - display: block; - width: 220px; + display: block; + width: 220px; } .top-navigation #page-wrapper { - margin-left: 0; + margin-left: 0; } .top-navigation .navbar-nav .dropdown-menu > .active > a { - background: white; - color: #1ab394; - font-weight: bold; + background: white; + color: #1ab394; + font-weight: bold; } .white-bg .navbar-fixed-top, .white-bg .navbar-static-top { - background: #fff; + background: #fff; } .top-navigation .navbar { - margin-bottom: 0; + margin-bottom: 0; } .top-navigation .nav > li > a { - padding: 15px 20px; - color: #676a6c; + padding: 15px 20px; + color: #676a6c; } .top-navigation .nav > li a:hover, .top-navigation .nav > li a:focus { - background: #fff; - color: #1ab394; + background: #fff; + color: #1ab394; } .top-navigation .navbar .nav > li.active { - background: #fff; - border: none; + background: #fff; + border: none; } .top-navigation .nav > li.active > a { - color: #1ab394; + color: #1ab394; } .top-navigation .navbar-right { - margin-right: 10px; + margin-right: 10px; } .top-navigation .navbar-nav .dropdown-menu { - box-shadow: none; - border: 1px solid #e7eaec; + box-shadow: none; + border: 1px solid #e7eaec; } .top-navigation .dropdown-menu > li > a { - margin: 0; - padding: 7px 20px; + margin: 0; + padding: 7px 20px; } .navbar .dropdown-menu { - margin-top: 0; + margin-top: 0; } .top-navigation .navbar-brand { - background: #1ab394; - color: #fff; - padding: 15px 25px; + background: #1ab394; + color: #fff; + padding: 15px 25px; } .top-navigation .navbar-top-links li:last-child { - margin-right: 0; + margin-right: 0; } .top-navigation.mini-navbar #page-wrapper, .top-navigation.body-small.fixed-sidebar.mini-navbar #page-wrapper, .mini-navbar .top-navigation #page-wrapper, .body-small.fixed-sidebar.mini-navbar .top-navigation #page-wrapper, .canvas-menu #page-wrapper { - margin: 0; + margin: 0; } .top-navigation.fixed-nav #wrapper, .fixed-nav #wrapper.top-navigation { - margin-top: 50px; + margin-top: 50px; } .top-navigation .footer.fixed { - margin-left: 0 !important; + margin-left: 0 !important; } .top-navigation .wrapper.wrapper-content { - padding: 40px; + padding: 40px; } .top-navigation.body-small .wrapper.wrapper-content, .body-small .top-navigation .wrapper.wrapper-content { - padding: 40px 0 40px 0; + padding: 40px 0 40px 0; } .navbar-toggle { - background-color: #1ab394; - color: #fff; - padding: 6px 12px; - font-size: 14px; + background-color: #1ab394; + color: #fff; + padding: 6px 12px; + font-size: 14px; } .top-navigation .navbar-nav .open .dropdown-menu > li > a, .top-navigation .navbar-nav .open .dropdown-menu .dropdown-header { - padding: 10px 15px 10px 20px; + padding: 10px 15px 10px 20px; } @media (max-width: 768px) { - .top-navigation .navbar-header { - display: block; - float: none; - } + .top-navigation .navbar-header { + display: block; + float: none; + } } .menu-visible-lg, .menu-visible-md { - display: none !important; + display: none !important; } @media (min-width: 1200px) { - .menu-visible-lg { - display: block !important; - } + .menu-visible-lg { + display: block !important; + } } @media (min-width: 992px) { - .menu-visible-md { - display: block !important; - } + .menu-visible-md { + display: block !important; + } } @media (max-width: 767px) { - .menu-visible-md { - display: block !important; - } - .menu-visible-lg { - display: block !important; - } + .menu-visible-md { + display: block !important; + } + .menu-visible-lg { + display: block !important; + } } .btn { - border-radius: 3px; + border-radius: 10px; } .float-e-margins .btn { - margin-bottom: 5px; + margin-bottom: 5px; } .btn-w-m { - min-width: 120px; + min-width: 120px; } .btn-primary.btn-outline { - color: #1ab394; + color: #1ab394; } .btn-success.btn-outline { - color: #1c84c6; + color: #1c84c6; } .btn-info.btn-outline { - color: #23c6c8; + color: #23c6c8; } .btn-warning.btn-outline { - color: #f8ac59; + color: #f8ac59; } .btn-danger.btn-outline { - color: #ed5565; + color: #ed5565; } .btn-primary.btn-outline:hover, .btn-success.btn-outline:hover, .btn-info.btn-outline:hover, .btn-warning.btn-outline:hover, .btn-danger.btn-outline:hover { - color: #fff; + color: #fff; } .btn-primary { - background-color: #1ab394; - border-color: #1ab394; - color: #FFFFFF; + background-color: #1bbea0; + border-color: #1bbea0; + color: #ffffff; } .btn-primary:hover, .btn-primary:focus, @@ -664,14 +671,15 @@ body.canvas-menu.mini-navbar nav.navbar-static-side { .btn-primary:active:hover, .btn-primary.active:hover, .btn-primary.active:focus { - background-color: #18a689; - border-color: #18a689; - color: #FFFFFF; + background-color: #1bbea0; + border-color: #1bbea0; + box-shadow: 0 4px 18px 0 rgba(27, 190, 160, 0.4); + color: #ffffff; } .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary { - background-image: none; + background-image: none; } .btn-primary.disabled, .btn-primary.disabled:hover, @@ -688,13 +696,13 @@ fieldset[disabled] .btn-primary:hover, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary.active { - background-color: #1dc5a3; - border-color: #1dc5a3; + background-color: #1dc5a3; + border-color: #1dc5a3; } .btn-success { - background-color: #1c84c6; - border-color: #1c84c6; - color: #FFFFFF; + background-color: #1c84c6; + border-color: #1c84c6; + color: #ffffff; } .btn-success:hover, .btn-success:focus, @@ -705,14 +713,14 @@ fieldset[disabled] .btn-primary.active { .btn-success:active:hover, .btn-success.active:hover, .btn-success.active:focus { - background-color: #1a7bb9; - border-color: #1a7bb9; - color: #FFFFFF; + background-color: #1a7bb9; + border-color: #1a7bb9; + color: #ffffff; } .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success { - background-image: none; + background-image: none; } .btn-success.disabled, .btn-success.disabled:hover, @@ -729,13 +737,13 @@ fieldset[disabled] .btn-success:hover, fieldset[disabled] .btn-success:focus, fieldset[disabled] .btn-success:active, fieldset[disabled] .btn-success.active { - background-color: #1f90d8; - border-color: #1f90d8; + background-color: #1f90d8; + border-color: #1f90d8; } .btn-info { - background-color: #23c6c8; - border-color: #23c6c8; - color: #FFFFFF; + background-color: #23c6c8; + border-color: #23c6c8; + color: #ffffff; } .btn-info:hover, .btn-info:focus, @@ -746,14 +754,14 @@ fieldset[disabled] .btn-success.active { .btn-info:active:hover, .btn-info.active:hover, .btn-info.active:focus { - background-color: #21b9bb; - border-color: #21b9bb; - color: #FFFFFF; + background-color: #21b9bb; + border-color: #21b9bb; + color: #ffffff; } .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info { - background-image: none; + background-image: none; } .btn-info.disabled, .btn-info.disabled:hover, @@ -770,13 +778,13 @@ fieldset[disabled] .btn-info:hover, fieldset[disabled] .btn-info:focus, fieldset[disabled] .btn-info:active, fieldset[disabled] .btn-info.active { - background-color: #26d7d9; - border-color: #26d7d9; + background-color: #26d7d9; + border-color: #26d7d9; } .btn-default { - color: inherit; - background: white; - border: 1px solid #e7eaec; + color: inherit; + background: white; + border: 1px solid #e7eaec; } .btn-default:hover, .btn-default:focus, @@ -787,13 +795,13 @@ fieldset[disabled] .btn-info.active { .btn-default:active:hover, .btn-default.active:hover, .btn-default.active:focus { - color: inherit; - border: 1px solid #d2d2d2; + color: inherit; + border: 1px solid #d2d2d2; } .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default { - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset; } .btn-default.disabled, .btn-default.disabled:hover, @@ -810,12 +818,12 @@ fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { - color: #cacaca; + color: #cacaca; } .btn-warning { - background-color: #f8ac59; - border-color: #f8ac59; - color: #FFFFFF; + background-color: #f8ac59; + border-color: #f8ac59; + color: #ffffff; } .btn-warning:hover, .btn-warning:focus, @@ -826,14 +834,14 @@ fieldset[disabled] .btn-default.active { .btn-warning:active:hover, .btn-warning.active:hover, .btn-warning.active:focus { - background-color: #f7a54a; - border-color: #f7a54a; - color: #FFFFFF; + background-color: #f7a54a; + border-color: #f7a54a; + color: #ffffff; } .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning { - background-image: none; + background-image: none; } .btn-warning.disabled, .btn-warning.disabled:hover, @@ -850,13 +858,13 @@ fieldset[disabled] .btn-warning:hover, fieldset[disabled] .btn-warning:focus, fieldset[disabled] .btn-warning:active, fieldset[disabled] .btn-warning.active { - background-color: #f9b66d; - border-color: #f9b66d; + background-color: #f9b66d; + border-color: #f9b66d; } .btn-danger { - background-color: #ed5565; - border-color: #ed5565; - color: #FFFFFF; + background-color: #ed5565; + border-color: #ed5565; + color: #ffffff; } .btn-danger:hover, .btn-danger:focus, @@ -867,14 +875,14 @@ fieldset[disabled] .btn-warning.active { .btn-danger:active:hover, .btn-danger.active:hover, .btn-danger.active:focus { - background-color: #ec4758; - border-color: #ec4758; - color: #FFFFFF; + background-color: #ec4758; + border-color: #ec4758; + color: #ffffff; } .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger { - background-image: none; + background-image: none; } .btn-danger.disabled, .btn-danger.disabled:hover, @@ -891,24 +899,24 @@ fieldset[disabled] .btn-danger:hover, fieldset[disabled] .btn-danger:focus, fieldset[disabled] .btn-danger:active, fieldset[disabled] .btn-danger.active { - background-color: #ef6776; - border-color: #ef6776; + background-color: #ef6776; + border-color: #ef6776; } .btn-link { - color: inherit; + color: inherit; } .btn-link:hover, .btn-link:focus, .btn-link:active, .btn-link.active, .open .dropdown-toggle.btn-link { - color: #1ab394; - text-decoration: none; + color: #1ab394; + text-decoration: none; } .btn-link:active, .btn-link.active, .open .dropdown-toggle.btn-link { - background-image: none; + background-image: none; } .btn-link.disabled, .btn-link.disabled:hover, @@ -925,12 +933,12 @@ fieldset[disabled] .btn-link:hover, fieldset[disabled] .btn-link:focus, fieldset[disabled] .btn-link:active, fieldset[disabled] .btn-link.active { - color: #cacaca; + color: #cacaca; } .btn-white { - color: inherit; - background: white; - border: 1px solid #e7eaec; + color: inherit; + background: white; + border: 1px solid #e7eaec; } .btn-white:hover, .btn-white:focus, @@ -941,17 +949,17 @@ fieldset[disabled] .btn-link.active { .btn-white:active:hover, .btn-white.active:hover, .btn-white.active:focus { - color: inherit; - border: 1px solid #d2d2d2; + color: inherit; + border: 1px solid #d2d2d2; } .btn-white:active, .btn-white.active { - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset; } .btn-white:active, .btn-white.active, .open .dropdown-toggle.btn-white { - background-image: none; + background-image: none; } .btn-white.disabled, .btn-white.disabled:hover, @@ -968,7 +976,7 @@ fieldset[disabled] .btn-white:hover, fieldset[disabled] .btn-white:focus, fieldset[disabled] .btn-white:active, fieldset[disabled] .btn-white.active { - color: #cacaca; + color: #cacaca; } .form-control, .form-control:focus, @@ -984,269 +992,269 @@ fieldset[disabled] .btn-white.active { .popover, .progress, .progress-bar { - box-shadow: none; + box-shadow: none; } .btn-outline { - color: inherit; - background-color: transparent; - transition: all .5s; + color: inherit; + background-color: transparent; + transition: all 0.5s; } .btn-rounded { - border-radius: 50px; + border-radius: 50px; } .btn-large-dim { - width: 90px; - height: 90px; - font-size: 42px; + width: 90px; + height: 90px; + font-size: 42px; } button.dim { - display: inline-block; - text-decoration: none; - text-transform: uppercase; - text-align: center; - padding-top: 6px; - margin-right: 10px; - position: relative; - cursor: pointer; - border-radius: 5px; - font-weight: 600; - margin-bottom: 20px !important; + display: inline-block; + text-decoration: none; + text-transform: uppercase; + text-align: center; + padding-top: 6px; + margin-right: 10px; + position: relative; + cursor: pointer; + border-radius: 5px; + font-weight: 600; + margin-bottom: 20px !important; } button.dim:active { - top: 3px; + top: 3px; } button.btn-primary.dim { - box-shadow: inset 0 0 0 #16987e, 0 5px 0 0 #16987e, 0 10px 5px #999999; + box-shadow: inset 0 0 0 #16987e, 0 5px 0 0 #16987e, 0 10px 5px #999999; } button.btn-primary.dim:active { - box-shadow: inset 0 0 0 #16987e, 0 2px 0 0 #16987e, 0 5px 3px #999999; + box-shadow: inset 0 0 0 #16987e, 0 2px 0 0 #16987e, 0 5px 3px #999999; } button.btn-default.dim { - box-shadow: inset 0 0 0 #b3b3b3, 0 5px 0 0 #b3b3b3, 0 10px 5px #999999; + box-shadow: inset 0 0 0 #b3b3b3, 0 5px 0 0 #b3b3b3, 0 10px 5px #999999; } button.btn-default.dim:active { - box-shadow: inset 0 0 0 #b3b3b3, 0 2px 0 0 #b3b3b3, 0 5px 3px #999999; + box-shadow: inset 0 0 0 #b3b3b3, 0 2px 0 0 #b3b3b3, 0 5px 3px #999999; } button.btn-warning.dim { - box-shadow: inset 0 0 0 #f79d3c, 0 5px 0 0 #f79d3c, 0 10px 5px #999999; + box-shadow: inset 0 0 0 #f79d3c, 0 5px 0 0 #f79d3c, 0 10px 5px #999999; } button.btn-warning.dim:active { - box-shadow: inset 0 0 0 #f79d3c, 0 2px 0 0 #f79d3c, 0 5px 3px #999999; + box-shadow: inset 0 0 0 #f79d3c, 0 2px 0 0 #f79d3c, 0 5px 3px #999999; } button.btn-info.dim { - box-shadow: inset 0 0 0 #1eacae, 0 5px 0 0 #1eacae, 0 10px 5px #999999; + box-shadow: inset 0 0 0 #1eacae, 0 5px 0 0 #1eacae, 0 10px 5px #999999; } button.btn-info.dim:active { - box-shadow: inset 0 0 0 #1eacae, 0 2px 0 0 #1eacae, 0 5px 3px #999999; + box-shadow: inset 0 0 0 #1eacae, 0 2px 0 0 #1eacae, 0 5px 3px #999999; } button.btn-success.dim { - box-shadow: inset 0 0 0 #1872ab, 0 5px 0 0 #1872ab, 0 10px 5px #999999; + box-shadow: inset 0 0 0 #1872ab, 0 5px 0 0 #1872ab, 0 10px 5px #999999; } button.btn-success.dim:active { - box-shadow: inset 0 0 0 #1872ab, 0 2px 0 0 #1872ab, 0 5px 3px #999999; + box-shadow: inset 0 0 0 #1872ab, 0 2px 0 0 #1872ab, 0 5px 3px #999999; } button.btn-danger.dim { - box-shadow: inset 0 0 0 #ea394c, 0 5px 0 0 #ea394c, 0 10px 5px #999999; + box-shadow: inset 0 0 0 #ea394c, 0 5px 0 0 #ea394c, 0 10px 5px #999999; } button.btn-danger.dim:active { - box-shadow: inset 0 0 0 #ea394c, 0 2px 0 0 #ea394c, 0 5px 3px #999999; + box-shadow: inset 0 0 0 #ea394c, 0 2px 0 0 #ea394c, 0 5px 3px #999999; } button.dim:before { - font-size: 50px; - line-height: 1em; - font-weight: normal; - color: #fff; - display: block; - padding-top: 10px; + font-size: 50px; + line-height: 1em; + font-weight: normal; + color: #fff; + display: block; + padding-top: 10px; } button.dim:active:before { - top: 7px; - font-size: 50px; + top: 7px; + font-size: 50px; } .btn:focus { - outline: none !important; + outline: none !important; } .label { - background-color: #d1dade; - color: #5e5e5e; - font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-weight: 600; - padding: 3px 8px; - text-shadow: none; + background-color: #d1dade; + color: #5e5e5e; + font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 600; + padding: 3px 8px; + text-shadow: none; } .nav .label, .ibox .label { - font-size: 10px; + font-size: 10px; } .badge { - background-color: #d1dade; - color: #5e5e5e; - font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 11px; - font-weight: 600; - padding-bottom: 4px; - padding-left: 6px; - padding-right: 6px; - text-shadow: none; + background-color: #d1dade; + color: #5e5e5e; + font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-size: 11px; + font-weight: 600; + padding-bottom: 4px; + padding-left: 6px; + padding-right: 6px; + text-shadow: none; } .label-primary, .badge-primary { - background-color: #1ab394; - color: #FFFFFF; + background-color: #1ab394; + color: #ffffff; } .label-success, .badge-success { - background-color: #1c84c6; - color: #FFFFFF; + background-color: #1c84c6; + color: #ffffff; } .label-warning, .badge-warning { - background-color: #f8ac59; - color: #FFFFFF; + background-color: #f8ac59; + color: #ffffff; } .label-warning-light, .badge-warning-light { - background-color: #f8ac59; - color: #ffffff; + background-color: #f8ac59; + color: #ffffff; } .label-danger, .badge-danger { - background-color: #ed5565; - color: #FFFFFF; + background-color: #ed5565; + color: #ffffff; } .label-info, .badge-info { - background-color: #23c6c8; - color: #FFFFFF; + background-color: #23c6c8; + color: #ffffff; } .label-inverse, .badge-inverse { - background-color: #262626; - color: #FFFFFF; + background-color: #262626; + color: #ffffff; } .label-white, .badge-white { - background-color: #FFFFFF; - color: #5E5E5E; + background-color: #ffffff; + color: #5e5e5e; } .label-white, .badge-disable { - background-color: #2A2E36; - color: #8B91A0; + background-color: #2a2e36; + color: #8b91a0; } /* TOOGLE SWICH */ .onoffswitch { - position: relative; - width: 64px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; + position: relative; + width: 64px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; } .onoffswitch-checkbox { - display: none; + display: none; } .onoffswitch-label { - display: block; - overflow: hidden; - cursor: pointer; - border: 2px solid #1ab394; - border-radius: 2px; + display: block; + overflow: hidden; + cursor: pointer; + border: 2px solid #1ab394; + border-radius: 2px; } .onoffswitch-inner { - width: 200%; - margin-left: -100%; - -moz-transition: margin 0.3s ease-in 0s; - -webkit-transition: margin 0.3s ease-in 0s; - -o-transition: margin 0.3s ease-in 0s; - transition: margin 0.3s ease-in 0s; + width: 200%; + margin-left: -100%; + -moz-transition: margin 0.3s ease-in 0s; + -webkit-transition: margin 0.3s ease-in 0s; + -o-transition: margin 0.3s ease-in 0s; + transition: margin 0.3s ease-in 0s; } .onoffswitch-inner:before, .onoffswitch-inner:after { - float: left; - width: 50%; - height: 20px; - padding: 0; - line-height: 20px; - font-size: 12px; - color: white; - font-family: Trebuchet, Arial, sans-serif; - font-weight: bold; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; + float: left; + width: 50%; + height: 20px; + padding: 0; + line-height: 20px; + font-size: 12px; + color: white; + font-family: Trebuchet, Arial, sans-serif; + font-weight: bold; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; } .onoffswitch-inner:before { - content: "ON"; - padding-left: 10px; - background-color: #1ab394; - color: #FFFFFF; + content: 'ON'; + padding-left: 10px; + background-color: #1ab394; + color: #ffffff; } .onoffswitch-inner:after { - content: "OFF"; - padding-right: 10px; - background-color: #FFFFFF; - color: #999999; - text-align: right; + content: 'OFF'; + padding-right: 10px; + background-color: #ffffff; + color: #999999; + text-align: right; } .onoffswitch-switch { - width: 20px; - margin: 0; - background: #FFFFFF; - border: 2px solid #1ab394; - border-radius: 2px; - position: absolute; - top: 0; - bottom: 0; - right: 44px; - -moz-transition: all 0.3s ease-in 0s; - -webkit-transition: all 0.3s ease-in 0s; - -o-transition: all 0.3s ease-in 0s; - transition: all 0.3s ease-in 0s; + width: 20px; + margin: 0; + background: #ffffff; + border: 2px solid #1ab394; + border-radius: 2px; + position: absolute; + top: 0; + bottom: 0; + right: 44px; + -moz-transition: all 0.3s ease-in 0s; + -webkit-transition: all 0.3s ease-in 0s; + -o-transition: all 0.3s ease-in 0s; + transition: all 0.3s ease-in 0s; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { - margin-left: 0; + margin-left: 0; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { - right: 0; + right: 0; } .onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-inner:before { - background-color: #919191; + background-color: #919191; } .onoffswitch-checkbox:disabled + .onoffswitch-label, .onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-switch { - border-color: #919191; + border-color: #919191; } /* CHOSEN PLUGIN */ .chosen-container-single .chosen-single { - background: #ffffff; - box-shadow: none; - -moz-box-sizing: border-box; - border-radius: 2px; - cursor: text; - height: auto !important; - margin: 0; - min-height: 30px; - overflow: hidden; - padding: 4px 12px; - position: relative; - width: 100%; + background: #ffffff; + box-shadow: none; + -moz-box-sizing: border-box; + border-radius: 2px; + cursor: text; + height: auto !important; + margin: 0; + min-height: 30px; + overflow: hidden; + padding: 4px 12px; + position: relative; + width: 100%; } .chosen-container-multi .chosen-choices li.search-choice { - background: #f1f1f1; - border: 1px solid #e5e6e7; - border-radius: 2px; - box-shadow: none; - color: #333333; - cursor: default; - line-height: 13px; - margin: 3px 0 3px 5px; - padding: 3px 20px 3px 5px; - position: relative; + background: #f1f1f1; + border: 1px solid #e5e6e7; + border-radius: 2px; + box-shadow: none; + color: #333333; + cursor: default; + line-height: 13px; + margin: 3px 0 3px 5px; + padding: 3px 20px 3px 5px; + position: relative; } /* Tags Input Plugin */ .bootstrap-tagsinput { - border: 1px solid #e5e6e7; - box-shadow: none; + border: 1px solid #e5e6e7; + box-shadow: none; } /* PAGINATIN */ .pagination > .active > a, @@ -1255,379 +1263,379 @@ button.dim:active:before { .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { - background-color: #f4f4f4; - border-color: #DDDDDD; - color: inherit; - cursor: default; - z-index: 2; + background-color: #f4f4f4; + border-color: #dddddd; + color: inherit; + cursor: default; + z-index: 2; } .pagination > li > a, .pagination > li > span { - background-color: #FFFFFF; - border: 1px solid #DDDDDD; - color: inherit; - float: left; - line-height: 1.42857; - margin-left: -1px; - padding: 4px 10px; - position: relative; - text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + color: inherit; + float: left; + line-height: 1.42857; + margin-left: -1px; + padding: 4px 10px; + position: relative; + text-decoration: none; } /* TOOLTIPS */ .tooltip-inner { - background-color: #2F4050; + background-color: #2f4050; } .tooltip.top .tooltip-arrow { - border-top-color: #2F4050; + border-top-color: #2f4050; } .tooltip.right .tooltip-arrow { - border-right-color: #2F4050; + border-right-color: #2f4050; } .tooltip.bottom .tooltip-arrow { - border-bottom-color: #2F4050; + border-bottom-color: #2f4050; } .tooltip.left .tooltip-arrow { - border-left-color: #2F4050; + border-left-color: #2f4050; } /* EASY PIE CHART*/ .easypiechart { - position: relative; - text-align: center; + position: relative; + text-align: center; } .easypiechart .h2 { - margin-left: 10px; - margin-top: 10px; - display: inline-block; + margin-left: 10px; + margin-top: 10px; + display: inline-block; } .easypiechart canvas { - top: 0; - left: 0; + top: 0; + left: 0; } .easypiechart .easypie-text { - line-height: 1; - position: absolute; - top: 33px; - width: 100%; - z-index: 1; + line-height: 1; + position: absolute; + top: 33px; + width: 100%; + z-index: 1; } .easypiechart img { - margin-top: -4px; + margin-top: -4px; } .jqstooltip { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; } /* FULLCALENDAR */ .fc-state-default { - background-color: #ffffff; - background-image: none; - background-repeat: repeat-x; - box-shadow: none; - color: #333333; - text-shadow: none; + background-color: #ffffff; + background-image: none; + background-repeat: repeat-x; + box-shadow: none; + color: #333333; + text-shadow: none; } .fc-state-default { - border: 1px solid; + border: 1px solid; } .fc-button { - color: inherit; - border: 1px solid #e7eaec; - cursor: pointer; - display: inline-block; - height: 1.9em; - line-height: 1.9em; - overflow: hidden; - padding: 0 0.6em; - position: relative; - white-space: nowrap; + color: inherit; + border: 1px solid #e7eaec; + cursor: pointer; + display: inline-block; + height: 1.9em; + line-height: 1.9em; + overflow: hidden; + padding: 0 0.6em; + position: relative; + white-space: nowrap; } .fc-state-active { - background-color: #1ab394; - border-color: #1ab394; - color: #ffffff; + background-color: #1ab394; + border-color: #1ab394; + color: #ffffff; } .fc-header-title h2 { - font-size: 16px; - font-weight: 600; - color: inherit; + font-size: 16px; + font-weight: 600; + color: inherit; } .fc-content .fc-widget-header, .fc-content .fc-widget-content { - border-color: #e7eaec; - font-weight: normal; + border-color: #e7eaec; + font-weight: normal; } .fc-border-separate tbody { - background-color: #F8F8F8; + background-color: #f8f8f8; } .fc-state-highlight { - background: none repeat scroll 0 0 #FCF8E3; + background: none repeat scroll 0 0 #fcf8e3; } .external-event { - padding: 5px 10px; - border-radius: 2px; - cursor: pointer; - margin-bottom: 5px; + padding: 5px 10px; + border-radius: 2px; + cursor: pointer; + margin-bottom: 5px; } .fc-ltr .fc-event-hori.fc-event-end, .fc-rtl .fc-event-hori.fc-event-start { - border-radius: 2px; + border-radius: 2px; } .fc-event, .fc-agenda .fc-event-time, .fc-event a { - padding: 4px 6px; - background-color: #1ab394; - /* background color */ - border-color: #1ab394; - /* border color */ + padding: 4px 6px; + background-color: #1ab394; + /* background color */ + border-color: #1ab394; + /* border color */ } .fc-event-time, .fc-event-title { - color: #717171; - padding: 0 1px; + color: #717171; + padding: 0 1px; } .ui-calendar .fc-event-time, .ui-calendar .fc-event-title { - color: #fff; + color: #fff; } /* Chat */ .chat-activity-list .chat-element { - border-bottom: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; } .chat-element:first-child { - margin-top: 0; + margin-top: 0; } .chat-element { - padding-bottom: 15px; + padding-bottom: 15px; } .chat-element, .chat-element .media { - margin-top: 15px; + margin-top: 15px; } .chat-element, .media-body { - overflow: hidden; + overflow: hidden; } .chat-element .media-body { - display: block; - width: auto; + display: block; + width: auto; } .chat-element > .pull-left { - margin-right: 10px; + margin-right: 10px; } .chat-element img.img-circle, .dropdown-messages-box img.img-circle { - width: 38px; - height: 38px; + width: 38px; + height: 38px; } .chat-element .well { - border: 1px solid #e7eaec; - box-shadow: none; - margin-top: 10px; - margin-bottom: 5px; - padding: 10px 20px; - font-size: 11px; - line-height: 16px; + border: 1px solid #e7eaec; + box-shadow: none; + margin-top: 10px; + margin-bottom: 5px; + padding: 10px 20px; + font-size: 11px; + line-height: 16px; } .chat-element .actions { - margin-top: 10px; + margin-top: 10px; } .chat-element .photos { - margin: 10px 0; + margin: 10px 0; } .right.chat-element > .pull-right { - margin-left: 10px; + margin-left: 10px; } .chat-photo { - max-height: 180px; - border-radius: 4px; - overflow: hidden; - margin-right: 10px; - margin-bottom: 10px; + max-height: 180px; + border-radius: 4px; + overflow: hidden; + margin-right: 10px; + margin-bottom: 10px; } .chat { - margin: 0; - padding: 0; - list-style: none; + margin: 0; + padding: 0; + list-style: none; } .chat li { - margin-bottom: 10px; - padding-bottom: 5px; - border-bottom: 1px dotted #B3A9A9; + margin-bottom: 10px; + padding-bottom: 5px; + border-bottom: 1px dotted #b3a9a9; } .chat li.left .chat-body { - margin-left: 60px; + margin-left: 60px; } .chat li.right .chat-body { - margin-right: 60px; + margin-right: 60px; } .chat li .chat-body p { - margin: 0; - color: #777777; + margin: 0; + color: #777777; } .panel .slidedown .glyphicon, .chat .glyphicon { - margin-right: 5px; + margin-right: 5px; } .chat-panel .panel-body { - height: 350px; - overflow-y: scroll; + height: 350px; + overflow-y: scroll; } /* LIST GROUP */ a.list-group-item.active, a.list-group-item.active:hover, a.list-group-item.active:focus { - background-color: #1ab394; - border-color: #1ab394; - color: #FFFFFF; - z-index: 2; + background-color: #1ab394; + border-color: #1ab394; + color: #ffffff; + z-index: 2; } .list-group-item-heading { - margin-top: 10px; + margin-top: 10px; } .list-group-item-text { - margin: 0 0 10px; - color: inherit; - font-size: 12px; - line-height: inherit; + margin: 0 0 10px; + color: inherit; + font-size: 12px; + line-height: inherit; } .no-padding .list-group-item { - border-left: none; - border-right: none; - border-bottom: none; + border-left: none; + border-right: none; + border-bottom: none; } .no-padding .list-group-item:first-child { - border-left: none; - border-right: none; - border-bottom: none; - border-top: none; + border-left: none; + border-right: none; + border-bottom: none; + border-top: none; } .no-padding .list-group { - margin-bottom: 0; + margin-bottom: 0; } .list-group-item { - background-color: inherit; - border: 1px solid #e7eaec; - display: block; - margin-bottom: -1px; - padding: 10px 15px; - position: relative; + background-color: inherit; + border: 1px solid #e7eaec; + display: block; + margin-bottom: -1px; + padding: 10px 15px; + position: relative; } .elements-list .list-group-item { - border-left: none; - border-right: none; - padding: 15px 25px; + border-left: none; + border-right: none; + padding: 15px 25px; } .elements-list .list-group-item:first-child { - border-left: none; - border-right: none; - border-top: none !important; + border-left: none; + border-right: none; + border-top: none !important; } .elements-list .list-group { - margin-bottom: 0; + margin-bottom: 0; } .elements-list a { - color: inherit; + color: inherit; } .elements-list .list-group-item.active, .elements-list .list-group-item:hover { - background: #f3f3f4; - color: inherit; - border-color: #e7eaec; - border-radius: 0; + background: #f3f3f4; + color: inherit; + border-color: #e7eaec; + border-radius: 0; } .elements-list li.active { - transition: none; + transition: none; } .element-detail-box { - padding: 25px; + padding: 25px; } /* FLOT CHART */ .flot-chart { - display: block; - height: 200px; + display: block; + height: 200px; } .widget .flot-chart.dashboard-chart { - display: block; - height: 120px; - margin-top: 40px; + display: block; + height: 120px; + margin-top: 40px; } .flot-chart.dashboard-chart { - display: block; - height: 180px; - margin-top: 40px; + display: block; + height: 180px; + margin-top: 40px; } .flot-chart-content { - width: 100%; - height: 100%; + width: 100%; + height: 100%; } .flot-chart-pie-content { - width: 200px; - height: 200px; - margin: auto; + width: 200px; + height: 200px; + margin: auto; } .jqstooltip { - position: absolute; - display: block; - left: 0; - top: 0; - visibility: hidden; - background: #2b303a; - background-color: rgba(43, 48, 58, 0.8); - color: white; - text-align: left; - white-space: nowrap; - z-index: 10000; - padding: 5px 5px 5px 5px; - min-height: 22px; - border-radius: 3px; + position: absolute; + display: block; + left: 0; + top: 0; + visibility: hidden; + background: #2b303a; + background-color: rgba(43, 48, 58, 0.8); + color: white; + text-align: left; + white-space: nowrap; + z-index: 10000; + padding: 5px 5px 5px 5px; + min-height: 22px; + border-radius: 3px; } .jqsfield { - color: white; - text-align: left; + color: white; + text-align: left; } .fh-150 { - height: 150px; + height: 150px; } .fh-200 { - height: 200px; + height: 200px; } .h-150 { - min-height: 150px; + min-height: 150px; } .h-200 { - min-height: 200px; + min-height: 200px; } .h-300 { - min-height: 300px; + min-height: 300px; } .w-150 { - min-width: 150px; + min-width: 150px; } .w-200 { - min-width: 200px; + min-width: 200px; } .w-300 { - min-width: 300px; + min-width: 300px; } .legendLabel { - padding-left: 5px; + padding-left: 5px; } .stat-list li:first-child { - margin-top: 0; + margin-top: 0; } .stat-list { - list-style: none; - padding: 0; - margin: 0; + list-style: none; + padding: 0; + margin: 0; } .stat-percent { - float: right; + float: right; } .stat-list li { - margin-top: 15px; - position: relative; + margin-top: 15px; + position: relative; } /* DATATABLES */ table.dataTable thead .sorting, @@ -1635,2024 +1643,2038 @@ table.dataTable thead .sorting_asc:after, table.dataTable thead .sorting_desc, table.dataTable thead .sorting_asc_disabled, table.dataTable thead .sorting_desc_disabled { - background: transparent; + background: transparent; } .dataTables_wrapper { - padding-bottom: 30px; + padding-bottom: 30px; } .dataTables_length { - float: left; + float: left; } .dataTables_filter label { - margin-right: 5px; + margin-right: 5px; } .html5buttons { - float: right; + float: right; } .html5buttons a { - border: 1px solid #e7eaec; - background: #fff; - color: #676a6c; - box-shadow: none; - padding: 6px 8px; - font-size: 12px; + border: 1px solid #e7eaec; + background: #fff; + color: #676a6c; + box-shadow: none; + padding: 6px 8px; + font-size: 12px; } .html5buttons a:hover, .html5buttons a:focus:active { - background-color: #eee; - color: inherit; - border-color: #d2d2d2; + background-color: #eee; + color: inherit; + border-color: #d2d2d2; } div.dt-button-info { - z-index: 100; + z-index: 100; } @media (max-width: 768px) { - .html5buttons { - float: none; - margin-top: 10px; - } - .dataTables_length { - float: none; - } + .html5buttons { + float: none; + margin-top: 10px; + } + .dataTables_length { + float: none; + } } /* CIRCLE */ .img-circle { - border-radius: 50%; + border-radius: 50%; } .btn-circle { - width: 30px; - height: 30px; - padding: 6px 0; - border-radius: 15px; - text-align: center; - font-size: 12px; - line-height: 1.428571429; + width: 30px; + height: 30px; + padding: 6px 0; + border-radius: 15px; + text-align: center; + font-size: 12px; + line-height: 1.428571429; } .btn-circle.btn-lg { - width: 50px; - height: 50px; - padding: 10px 16px; - border-radius: 25px; - font-size: 18px; - line-height: 1.33; + width: 50px; + height: 50px; + padding: 10px 16px; + border-radius: 25px; + font-size: 18px; + line-height: 1.33; } .btn-circle.btn-xl { - width: 70px; - height: 70px; - padding: 10px 16px; - border-radius: 35px; - font-size: 24px; - line-height: 1.33; -} -.show-grid [class^="col-"] { - padding-top: 10px; - padding-bottom: 10px; - border: 1px solid #ddd; - background-color: #eee !important; + width: 70px; + height: 70px; + padding: 10px 16px; + border-radius: 35px; + font-size: 24px; + line-height: 1.33; +} +.show-grid [class^='col-'] { + padding-top: 10px; + padding-bottom: 10px; + border: 1px solid #ddd; + background-color: #eee !important; } .show-grid { - margin: 15px 0; + margin: 15px 0; } /* ANIMATION */ .css-animation-box h1 { - font-size: 44px; + font-size: 44px; } .animation-efect-links a { - padding: 4px 6px; - font-size: 12px; + padding: 4px 6px; + font-size: 12px; } #animation_box { - background-color: #f9f8f8; - border-radius: 16px; - width: 80%; - margin: 0 auto; - padding-top: 80px; + background-color: #f9f8f8; + border-radius: 16px; + width: 80%; + margin: 0 auto; + padding-top: 80px; } .animation-text-box { - position: absolute; - margin-top: 40px; - left: 50%; - margin-left: -100px; - width: 200px; + position: absolute; + margin-top: 40px; + left: 50%; + margin-left: -100px; + width: 200px; } .animation-text-info { - position: absolute; - margin-top: -60px; - left: 50%; - margin-left: -100px; - width: 200px; - font-size: 10px; + position: absolute; + margin-top: -60px; + left: 50%; + margin-left: -100px; + width: 200px; + font-size: 10px; } .animation-text-box h2 { - font-size: 54px; - font-weight: 600; - margin-bottom: 5px; + font-size: 54px; + font-weight: 600; + margin-bottom: 5px; } .animation-text-box p { - font-size: 12px; - text-transform: uppercase; + font-size: 12px; + text-transform: uppercase; } /* PEACE */ .pace { - -webkit-pointer-events: none; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; + -webkit-pointer-events: none; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; } .pace-inactive { - display: none; + display: none; } .pace .pace-progress { - background: #1ab394; - position: fixed; - z-index: 2040; - top: 0; - right: 100%; - width: 100%; - height: 2px; + background: #1ab394; + position: fixed; + z-index: 2040; + top: 0; + right: 100%; + width: 100%; + height: 2px; } .pace-inactive { - display: none; + display: none; } /* WIDGETS */ .widget { - border-radius: 5px; - padding: 15px 20px; - margin-bottom: 10px; - margin-top: 10px; + border-radius: 5px; + padding: 15px 20px; + margin-bottom: 10px; + margin-top: 10px; } .widget.style1 h2 { - font-size: 30px; + font-size: 30px; } .widget h2, .widget h3 { - margin-top: 5px; - margin-bottom: 0; + margin-top: 5px; + margin-bottom: 0; } .widget-text-box { - padding: 20px; - border: 1px solid #e7eaec; - background: #ffffff; + padding: 20px; + border: 1px solid #e7eaec; + background: #ffffff; } .widget-head-color-box { - border-radius: 5px 5px 0 0; - margin-top: 10px; + border-radius: 5px 5px 0 0; + margin-top: 10px; } .widget .flot-chart { - height: 100px; + height: 100px; } .vertical-align div { - display: inline-block; - vertical-align: middle; + display: inline-block; + vertical-align: middle; } .vertical-align h2, .vertical-align h3 { - margin: 0; + margin: 0; } .todo-list { - list-style: none outside none; - margin: 0; - padding: 0; - font-size: 14px; + list-style: none outside none; + margin: 0; + padding: 0; + font-size: 14px; } .todo-list.small-list { - font-size: 12px; + font-size: 12px; } .todo-list.small-list > li { - background: #f3f3f4; - border-left: none; - border-right: none; - border-radius: 4px; - color: inherit; - margin-bottom: 2px; - padding: 6px 6px 6px 12px; + background: #f3f3f4; + border-left: none; + border-right: none; + border-radius: 4px; + color: inherit; + margin-bottom: 2px; + padding: 6px 6px 6px 12px; } .todo-list.small-list .btn-xs, .todo-list.small-list .btn-group-xs > .btn { - border-radius: 5px; - font-size: 10px; - line-height: 1.5; - padding: 1px 2px 1px 5px; + border-radius: 5px; + font-size: 10px; + line-height: 1.5; + padding: 1px 2px 1px 5px; } .todo-list > li { - background: #f3f3f4; - border-left: 6px solid #e7eaec; - border-right: 6px solid #e7eaec; - border-radius: 4px; - color: inherit; - margin-bottom: 2px; - padding: 10px; + background: #f3f3f4; + border-left: 6px solid #e7eaec; + border-right: 6px solid #e7eaec; + border-radius: 4px; + color: inherit; + margin-bottom: 2px; + padding: 10px; } .todo-list .handle { - cursor: move; - display: inline-block; - font-size: 16px; - margin: 0 5px; + cursor: move; + display: inline-block; + font-size: 16px; + margin: 0 5px; } .todo-list > li .label { - font-size: 9px; - margin-left: 10px; + font-size: 9px; + margin-left: 10px; } .check-link { - font-size: 16px; + font-size: 16px; } .todo-completed { - text-decoration: line-through; + text-decoration: line-through; } .geo-statistic h1 { - font-size: 36px; - margin-bottom: 0; + font-size: 36px; + margin-bottom: 0; } .glyphicon.fa { - font-family: "FontAwesome"; + font-family: 'FontAwesome'; } /* INPUTS */ .inline { - display: inline-block !important; + display: inline-block !important; } .input-s-sm { - width: 120px; + width: 120px; } .input-s { - width: 200px; + width: 200px; } .input-s-lg { - width: 250px; + width: 250px; } .i-checks { - padding-left: 0; + padding-left: 0; } .form-control, .single-line { - background-color: #FFFFFF; - background-image: none; - border: 1px solid #e5e6e7; - border-radius: 1px; - color: inherit; - display: block; - padding: 6px 12px; - transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s; - width: 100%; + background-color: #ffffff; + background-image: none; + border: 1px solid #e5e6e7; + border-radius: 1px; + color: inherit; + display: block; + padding: 6px 12px; + transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s; + width: 100%; } .form-control:focus, .single-line:focus { - border-color: #1ab394; + border-color: #1ab394; } .has-success .form-control, .has-success .form-control:focus { - border-color: #1ab394; + border-color: #1ab394; } .has-warning .form-control, .has-warning .form-control:focus { - border-color: #f8ac59; + border-color: #f8ac59; } .has-error .form-control, .has-error .form-control:focus { - border-color: #ed5565; + border-color: #f2392e; } .has-success .control-label { - color: #1ab394; + color: #1ab394; } .has-warning .control-label { - color: #f8ac59; + color: #f8ac59; } .has-error .control-label { - color: #ed5565; -} -.input-group-addon { - background-color: #fff; - border: 1px solid #E5E6E7; - border-radius: 1px; - color: inherit; - font-size: 14px; - font-weight: 400; - line-height: 1; - padding: 6px 12px; - text-align: center; + color: #121212; } -.spinner-buttons.input-group-btn .btn-xs { - line-height: 1.13; +.has-error .help-block { + color: #f2392e; +} +.input-group-addon { + background-color: #fff; + border: 1px solid #e5e6e7; + border-radius: 1px; + color: inherit; + font-size: 14px; + font-weight: 400; + line-height: 1; + padding: 6px 12px; + text-align: center; +} +.spinner-buttons.input-group-btn .btn-xs { + line-height: 1.13; } .spinner-buttons.input-group-btn { - width: 20%; + width: 20%; } .noUi-connect { - background: none repeat scroll 0 0 #1ab394; - box-shadow: none; + background: none repeat scroll 0 0 #1ab394; + box-shadow: none; } .slider_red .noUi-connect { - background: none repeat scroll 0 0 #ed5565; - box-shadow: none; + background: none repeat scroll 0 0 #ed5565; + box-shadow: none; } /* UI Sortable */ .ui-sortable .ibox-title { - cursor: move; + cursor: move; } .ui-sortable-placeholder { - border: 1px dashed #cecece !important; - visibility: visible !important; - background: #e7eaec; + border: 1px dashed #cecece !important; + visibility: visible !important; + background: #e7eaec; } .ibox.ui-sortable-placeholder { - margin: 0 0 23px !important; + margin: 0 0 23px !important; } /* SWITCHES */ .onoffswitch { - position: relative; - width: 54px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; + position: relative; + width: 54px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; } .onoffswitch-checkbox { - display: none; + display: none; } .onoffswitch-label { - display: block; - overflow: hidden; - cursor: pointer; - border: 2px solid #1AB394; - border-radius: 3px; + display: block; + overflow: hidden; + cursor: pointer; + border: 2px solid #1ab394; + border-radius: 3px; } .onoffswitch-inner { - display: block; - width: 200%; - margin-left: -100%; - -moz-transition: margin 0.3s ease-in 0s; - -webkit-transition: margin 0.3s ease-in 0s; - -o-transition: margin 0.3s ease-in 0s; - transition: margin 0.3s ease-in 0s; + display: block; + width: 200%; + margin-left: -100%; + -moz-transition: margin 0.3s ease-in 0s; + -webkit-transition: margin 0.3s ease-in 0s; + -o-transition: margin 0.3s ease-in 0s; + transition: margin 0.3s ease-in 0s; } .onoffswitch-inner:before, .onoffswitch-inner:after { - display: block; - float: left; - width: 50%; - height: 16px; - padding: 0; - line-height: 16px; - font-size: 10px; - color: white; - font-family: Trebuchet, Arial, sans-serif; - font-weight: bold; - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; + display: block; + float: left; + width: 50%; + height: 16px; + padding: 0; + line-height: 16px; + font-size: 10px; + color: white; + font-family: Trebuchet, Arial, sans-serif; + font-weight: bold; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; } .onoffswitch-inner:before { - content: "ON"; - padding-left: 7px; - background-color: #1AB394; - color: #FFFFFF; + content: 'ON'; + padding-left: 7px; + background-color: #1ab394; + color: #ffffff; } .onoffswitch-inner:after { - content: "OFF"; - padding-right: 7px; - background-color: #FFFFFF; - color: #919191; - text-align: right; + content: 'OFF'; + padding-right: 7px; + background-color: #ffffff; + color: #919191; + text-align: right; } .onoffswitch-switch { - display: block; - width: 18px; - margin: 0; - background: #FFFFFF; - border: 2px solid #1AB394; - border-radius: 3px; - position: absolute; - top: 0; - bottom: 0; - right: 36px; - -moz-transition: all 0.3s ease-in 0s; - -webkit-transition: all 0.3s ease-in 0s; - -o-transition: all 0.3s ease-in 0s; - transition: all 0.3s ease-in 0s; + display: block; + width: 18px; + margin: 0; + background: #ffffff; + border: 2px solid #1ab394; + border-radius: 3px; + position: absolute; + top: 0; + bottom: 0; + right: 36px; + -moz-transition: all 0.3s ease-in 0s; + -webkit-transition: all 0.3s ease-in 0s; + -o-transition: all 0.3s ease-in 0s; + transition: all 0.3s ease-in 0s; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner { - margin-left: 0; + margin-left: 0; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch { - right: 0; + right: 0; } /* jqGrid */ .ui-jqgrid { - -moz-box-sizing: content-box; + -moz-box-sizing: content-box; } .ui-jqgrid-btable { - border-collapse: separate; + border-collapse: separate; } .ui-jqgrid-htable { - border-collapse: separate; + border-collapse: separate; } .ui-jqgrid-titlebar { - height: 40px; - line-height: 15px; - color: #676a6c; - background-color: #F9F9F9; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + height: 40px; + line-height: 15px; + color: #676a6c; + background-color: #f9f9f9; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } .ui-jqgrid .ui-jqgrid-title { - float: left; - margin: 1.1em 1em 0.2em; + float: left; + margin: 1.1em 1em 0.2em; } .ui-jqgrid .ui-jqgrid-titlebar { - position: relative; - border-left: 0 solid; - border-right: 0 solid; - border-top: 0 solid; + position: relative; + border-left: 0 solid; + border-right: 0 solid; + border-top: 0 solid; } .ui-widget-header { - background: none; - background-image: none; - background-color: #f5f5f6; - text-transform: uppercase; - border-top-left-radius: 0; - border-top-right-radius: 0; + background: none; + background-image: none; + background-color: #f5f5f6; + text-transform: uppercase; + border-top-left-radius: 0; + border-top-right-radius: 0; } .ui-jqgrid tr.ui-row-ltr td { - border-right-color: inherit; - border-right-style: solid; - border-right-width: 1px; - text-align: left; - border-color: #DDDDDD; - background-color: inherit; -} -.ui-search-toolbar input[type="text"] { - font-size: 12px; - height: 15px; - border: 1px solid #CCCCCC; - border-radius: 0; + border-right-color: inherit; + border-right-style: solid; + border-right-width: 1px; + text-align: left; + border-color: #dddddd; + background-color: inherit; +} +.ui-search-toolbar input[type='text'] { + font-size: 12px; + height: 15px; + border: 1px solid #cccccc; + border-radius: 0; } .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { - background: #F9F9F9; - border: 1px solid #DDDDDD; - line-height: 15px; - font-weight: bold; - color: #676a6c; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background: #f9f9f9; + border: 1px solid #dddddd; + line-height: 15px; + font-weight: bold; + color: #676a6c; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } .ui-widget-content { - box-sizing: content-box; + box-sizing: content-box; } .ui-icon-triangle-1-n { - background-position: 1px -16px; + background-position: 1px -16px; } .ui-jqgrid tr.ui-search-toolbar th { - border-top-width: 0 !important; - border-top-color: inherit !important; - border-top-style: ridge !important; + border-top-width: 0 !important; + border-top-color: inherit !important; + border-top-style: ridge !important; } .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { - background: #f5f5f5; - border-collapse: separate; + background: #f5f5f5; + border-collapse: separate; } .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { - background: #f2fbff; + background: #f2fbff; } .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { - border: 1px solid #dddddd; - background: #ffffff; - font-weight: normal; - color: #212121; + border: 1px solid #dddddd; + background: #ffffff; + font-weight: normal; + color: #212121; } .ui-jqgrid .ui-pg-input { - font-size: inherit; - width: 50px; - border: 1px solid #CCCCCC; - height: 15px; + font-size: inherit; + width: 50px; + border: 1px solid #cccccc; + height: 15px; } .ui-jqgrid .ui-pg-selbox { - display: block; - font-size: 1em; - height: 25px; - line-height: 18px; - margin: 0; - width: auto; + display: block; + font-size: 1em; + height: 25px; + line-height: 18px; + margin: 0; + width: auto; } .ui-jqgrid .ui-pager-control { - position: relative; + position: relative; } .ui-jqgrid .ui-jqgrid-pager { - height: 32px; - position: relative; + height: 32px; + position: relative; } .ui-pg-table .navtable .ui-corner-all { - border-radius: 0; + border-radius: 0; } .ui-jqgrid .ui-pg-button:hover { - padding: 1px; - border: 0; + padding: 1px; + border: 0; } .ui-jqgrid .loading { - position: absolute; - top: 45%; - left: 45%; - width: auto; - height: auto; - z-index: 101; - padding: 6px; - margin: 5px; - text-align: center; - font-weight: bold; - display: none; - border-width: 2px !important; - font-size: 11px; + position: absolute; + top: 45%; + left: 45%; + width: auto; + height: auto; + z-index: 101; + padding: 6px; + margin: 5px; + text-align: center; + font-weight: bold; + display: none; + border-width: 2px !important; + font-size: 11px; } .ui-jqgrid .form-control { - height: 10px; - width: auto; - display: inline; - padding: 10px 12px; + height: 10px; + width: auto; + display: inline; + padding: 10px 12px; } .ui-jqgrid-pager { - height: 32px; + height: 32px; } .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { - border-top-left-radius: 0; + border-top-left-radius: 0; } .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { - border-top-right-radius: 0; + border-top-right-radius: 0; } .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { - border-bottom-left-radius: 0; + border-bottom-left-radius: 0; } .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { - border-bottom-right-radius: 0; + border-bottom-right-radius: 0; } .ui-widget-content { - border: 1px solid #ddd; + border: 1px solid #ddd; } .ui-jqgrid .ui-jqgrid-titlebar { - padding: 0; + padding: 0; } .ui-jqgrid .ui-jqgrid-titlebar { - border-bottom: 1px solid #ddd; + border-bottom: 1px solid #ddd; } .ui-jqgrid tr.jqgrow td { - padding: 6px; + padding: 6px; } .ui-jqdialog .ui-jqdialog-titlebar { - padding: 10px 10px; + padding: 10px 10px; } .ui-jqdialog .ui-jqdialog-title { - float: none !important; + float: none !important; } .ui-jqdialog > .ui-resizable-se { - position: absolute; + position: absolute; } /* Nestable list */ .dd { - position: relative; - display: block; - margin: 0; - padding: 0; - list-style: none; - font-size: 13px; - line-height: 20px; + position: relative; + display: block; + margin: 0; + padding: 0; + list-style: none; + font-size: 13px; + line-height: 20px; } .dd-list { - display: block; - position: relative; - margin: 0; - padding: 0; - list-style: none; + display: block; + position: relative; + margin: 0; + padding: 0; + list-style: none; } .dd-list .dd-list { - padding-left: 30px; + padding-left: 30px; } .dd-collapsed .dd-list { - display: none; + display: none; } .dd-item, .dd-empty, .dd-placeholder { - display: block; - position: relative; - margin: 0; - padding: 0; - min-height: 20px; - font-size: 13px; - line-height: 20px; + display: block; + position: relative; + margin: 0; + padding: 0; + min-height: 20px; + font-size: 13px; + line-height: 20px; } .dd-handle { - display: block; - margin: 5px 0; - padding: 5px 10px; - color: #333; - text-decoration: none; - border: 1px solid #e7eaec; - background: #f5f5f5; - -webkit-border-radius: 3px; - border-radius: 3px; - box-sizing: border-box; - -moz-box-sizing: border-box; + display: block; + margin: 5px 0; + padding: 5px 10px; + color: #333; + text-decoration: none; + border: 1px solid #e7eaec; + background: #f5f5f5; + -webkit-border-radius: 3px; + border-radius: 3px; + box-sizing: border-box; + -moz-box-sizing: border-box; } .dd-handle span { - font-weight: bold; + font-weight: bold; } .dd-handle:hover { - background: #f0f0f0; - cursor: pointer; - font-weight: bold; + background: #f0f0f0; + cursor: pointer; + font-weight: bold; } .dd-item > button { - display: block; - position: relative; - cursor: pointer; - float: left; - width: 25px; - height: 20px; - margin: 5px 0; - padding: 0; - text-indent: 100%; - white-space: nowrap; - overflow: hidden; - border: 0; - background: transparent; - font-size: 12px; - line-height: 1; - text-align: center; - font-weight: bold; + display: block; + position: relative; + cursor: pointer; + float: left; + width: 25px; + height: 20px; + margin: 5px 0; + padding: 0; + text-indent: 100%; + white-space: nowrap; + overflow: hidden; + border: 0; + background: transparent; + font-size: 12px; + line-height: 1; + text-align: center; + font-weight: bold; } .dd-item > button:before { - content: '+'; - display: block; - position: absolute; - width: 100%; - text-align: center; - text-indent: 0; + content: '+'; + display: block; + position: absolute; + width: 100%; + text-align: center; + text-indent: 0; } -.dd-item > button[data-action="collapse"]:before { - content: '-'; +.dd-item > button[data-action='collapse']:before { + content: '-'; } #nestable2 .dd-item > button { - font-family: FontAwesome; - height: 34px; - width: 33px; - color: #c1c1c1; + font-family: FontAwesome; + height: 34px; + width: 33px; + color: #c1c1c1; } #nestable2 .dd-item > button:before { - content: "\f067"; + content: '\f067'; } -#nestable2 .dd-item > button[data-action="collapse"]:before { - content: "\f068"; +#nestable2 .dd-item > button[data-action='collapse']:before { + content: '\f068'; } .dd-placeholder, .dd-empty { - margin: 5px 0; - padding: 0; - min-height: 30px; - background: #f2fbff; - border: 1px dashed #b6bcbf; - box-sizing: border-box; - -moz-box-sizing: border-box; + margin: 5px 0; + padding: 0; + min-height: 30px; + background: #f2fbff; + border: 1px dashed #b6bcbf; + box-sizing: border-box; + -moz-box-sizing: border-box; } .dd-empty { - border: 1px dashed #bbb; - min-height: 100px; - background-color: #e5e5e5; - background-image: -webkit-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), -webkit-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff); - background-image: -moz-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), -moz-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff); - background-image: linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff); - background-size: 60px 60px; - background-position: 0 0, 30px 30px; + border: 1px dashed #bbb; + min-height: 100px; + background-color: #e5e5e5; + background-image: -webkit-linear-gradient( + 45deg, + #ffffff 25%, + transparent 25%, + transparent 75%, + #ffffff 75%, + #ffffff + ), + -webkit-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff); + background-image: -moz-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), + -moz-linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff); + background-image: linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff), + linear-gradient(45deg, #ffffff 25%, transparent 25%, transparent 75%, #ffffff 75%, #ffffff); + background-size: 60px 60px; + background-position: 0 0, 30px 30px; } .dd-dragel { - position: absolute; - z-index: 9999; - pointer-events: none; + position: absolute; + z-index: 9999; + pointer-events: none; } .dd-dragel > .dd-item .dd-handle { - margin-top: 0; + margin-top: 0; } .dd-dragel .dd-handle { - -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); - box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); + box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1); } /** * Nestable Extras */ .nestable-lists { - display: block; - clear: both; - padding: 30px 0; - width: 100%; - border: 0; - border-top: 2px solid #ddd; - border-bottom: 2px solid #ddd; + display: block; + clear: both; + padding: 30px 0; + width: 100%; + border: 0; + border-top: 2px solid #ddd; + border-bottom: 2px solid #ddd; } #nestable-menu { - padding: 0; - margin: 10px 0 20px 0; + padding: 0; + margin: 10px 0 20px 0; } #nestable-output, #nestable2-output { - width: 100%; - font-size: 0.75em; - line-height: 1.333333em; - font-family: 'Lato', 'Lucida grande', 'Lucida sans unicode', 'Helvetica', 'Arial', sans-serif; - padding: 5px; - box-sizing: border-box; - -moz-box-sizing: border-box; + width: 100%; + font-size: 0.75em; + line-height: 1.333333em; + font-family: 'Lato', 'Lucida grande', 'Lucida sans unicode', 'Helvetica', 'Arial', sans-serif; + padding: 5px; + box-sizing: border-box; + -moz-box-sizing: border-box; } #nestable2 .dd-handle { - color: inherit; - border: 1px dashed #e7eaec; - background: #f3f3f4; - padding: 10px; + color: inherit; + border: 1px dashed #e7eaec; + background: #f3f3f4; + padding: 10px; } #nestable2 span.label { - margin-right: 10px; + margin-right: 10px; } #nestable-output, #nestable2-output { - font-size: 12px; - padding: 25px; - box-sizing: border-box; - -moz-box-sizing: border-box; + font-size: 12px; + padding: 25px; + box-sizing: border-box; + -moz-box-sizing: border-box; } /* CodeMirror */ .CodeMirror { - border: 1px solid #eee; - height: auto; + border: 1px solid #eee; + height: auto; } .CodeMirror-scroll { - overflow-y: hidden; - overflow-x: auto; + overflow-y: hidden; + overflow-x: auto; } /* Google Maps */ .google-map { - height: 300px; + height: 300px; } /* Validation */ label.error { - color: #cc5965; - display: inline-block; - margin-left: 5px; + color: #cc5965; + display: inline-block; + margin-left: 5px; } .form-control.error { - border: 1px dotted #cc5965; + border: 1px dotted #cc5965; } /* ngGrid */ .gridStyle { - border: 1px solid #d4d4d4; - width: 100%; - height: 400px; + border: 1px solid #d4d4d4; + width: 100%; + height: 400px; } .gridStyle2 { - border: 1px solid #d4d4d4; - width: 500px; - height: 300px; + border: 1px solid #d4d4d4; + width: 500px; + height: 300px; } .ngH eaderCell { - border-right: none; - border-bottom: 1px solid #e7eaec; + border-right: none; + border-bottom: 1px solid #e7eaec; } .ngCell { - border-right: none; + border-right: none; } .ngTopPanel { - background: #F5F5F6; + background: #f5f5f6; } .ngRow.even { - background: #f9f9f9; + background: #f9f9f9; } .ngRow.selected { - background: #EBF2F1; + background: #ebf2f1; } .ngRow { - border-bottom: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; } .ngCell { - background-color: transparent; + background-color: transparent; } .ngHeaderCell { - border-right: none; + border-right: none; } /* Toastr custom style */ #toast-container > .toast { - background-image: none !important; + background-image: none !important; } #toast-container > .toast:before { - position: fixed; - font-family: FontAwesome; - font-size: 24px; - line-height: 24px; - float: left; - color: #FFF; - padding-right: 0.5em; - margin: auto 0.5em auto -1.5em; + position: fixed; + font-family: FontAwesome; + font-size: 24px; + line-height: 24px; + float: left; + color: #fff; + padding-right: 0.5em; + margin: auto 0.5em auto -1.5em; } #toast-container > .toast-warning:before { - content: "\f0e7"; + content: '\f0e7'; } #toast-container > .toast-error:before { - content: "\f071"; + content: '\f071'; } #toast-container > .toast-info:before { - content: "\f005"; + content: '\f005'; } #toast-container > .toast-success:before { - content: "\f00C"; + content: '\f00C'; } #toast-container > div { - -moz-box-shadow: 0 0 3px #999; - -webkit-box-shadow: 0 0 3px #999; - box-shadow: 0 0 3px #999; - opacity: .9; - -ms-filter: alpha(opacity=90); - filter: alpha(opacity=90); + -moz-box-shadow: 0 0 3px #999; + -webkit-box-shadow: 0 0 3px #999; + box-shadow: 0 0 3px #999; + opacity: 0.9; + -ms-filter: alpha(opacity=90); + filter: alpha(opacity=90); } #toast-container > :hover { - -moz-box-shadow: 0 0 4px #999; - -webkit-box-shadow: 0 0 4px #999; - box-shadow: 0 0 4px #999; - opacity: 1; - -ms-filter: alpha(opacity=100); - filter: alpha(opacity=100); - cursor: pointer; + -moz-box-shadow: 0 0 4px #999; + -webkit-box-shadow: 0 0 4px #999; + box-shadow: 0 0 4px #999; + opacity: 1; + -ms-filter: alpha(opacity=100); + filter: alpha(opacity=100); + cursor: pointer; } .toast { - background-color: #1ab394; + background-color: #1ab394; } .toast-success { - background-color: #1ab394; + background-color: #1ab394; } .toast-error { - background-color: #ed5565; + background-color: #ed5565; } .toast-info { - background-color: #23c6c8; + background-color: #23c6c8; } .toast-warning { - background-color: #f8ac59; + background-color: #f8ac59; } .toast-top-full-width { - margin-top: 20px; + margin-top: 20px; } .toast-bottom-full-width { - margin-bottom: 20px; + margin-bottom: 20px; } /* Notifie */ .cg-notify-message.inspinia-notify { - background: #fff; - padding: 0; - box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); - -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); - border: none; - margin-top: 30px; - color: inherit; + background: #fff; + padding: 0; + box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.2); + border: none; + margin-top: 30px; + color: inherit; } .inspinia-notify.alert-warning { - border-left: 6px solid #f8ac59; + border-left: 6px solid #f8ac59; } .inspinia-notify.alert-success { - border-left: 6px solid #1c84c6; + border-left: 6px solid #1c84c6; } .inspinia-notify.alert-danger { - border-left: 6px solid #ed5565; + border-left: 6px solid #ed5565; } .inspinia-notify.alert-info { - border-left: 6px solid #1ab394; + border-left: 6px solid #1ab394; } /* Image cropper style */ .img-container, .img-preview { - overflow: hidden; - text-align: center; - width: 100%; + overflow: hidden; + text-align: center; + width: 100%; } .img-preview-sm { - height: 130px; - width: 200px; + height: 130px; + width: 200px; } /* Forum styles */ .forum-post-container .media { - margin: 10px 10px 10px 10px; - padding: 20px 10px 20px 10px; - border-bottom: 1px solid #f1f1f1; + margin: 10px 10px 10px 10px; + padding: 20px 10px 20px 10px; + border-bottom: 1px solid #f1f1f1; } .forum-avatar { - float: left; - margin-right: 20px; - text-align: center; - width: 110px; + float: left; + margin-right: 20px; + text-align: center; + width: 110px; } .forum-avatar .img-circle { - height: 48px; - width: 48px; + height: 48px; + width: 48px; } .author-info { - color: #676a6c; - font-size: 11px; - margin-top: 5px; - text-align: center; + color: #676a6c; + font-size: 11px; + margin-top: 5px; + text-align: center; } .forum-post-info { - padding: 9px 12px 6px 12px; - background: #f9f9f9; - border: 1px solid #f1f1f1; + padding: 9px 12px 6px 12px; + background: #f9f9f9; + border: 1px solid #f1f1f1; } .media-body > .media { - background: #f9f9f9; - border-radius: 3px; - border: 1px solid #f1f1f1; + background: #f9f9f9; + border-radius: 3px; + border: 1px solid #f1f1f1; } .forum-post-container .media-body .photos { - margin: 10px 0; + margin: 10px 0; } .forum-photo { - max-width: 140px; - border-radius: 3px; + max-width: 140px; + border-radius: 3px; } .media-body > .media .forum-avatar { - width: 70px; - margin-right: 10px; + width: 70px; + margin-right: 10px; } .media-body > .media .forum-avatar .img-circle { - height: 38px; - width: 38px; + height: 38px; + width: 38px; } .mid-icon { - font-size: 66px; + font-size: 66px; } .forum-item { - margin: 10px 0; - padding: 10px 0 20px; - border-bottom: 1px solid #f1f1f1; + margin: 10px 0; + padding: 10px 0 20px; + border-bottom: 1px solid #f1f1f1; } .views-number { - font-size: 24px; - line-height: 18px; - font-weight: 400; + font-size: 24px; + line-height: 18px; + font-weight: 400; } .forum-container, .forum-post-container { - padding: 30px !important; + padding: 30px !important; } .forum-item small { - color: #999; + color: #999; } .forum-item .forum-sub-title { - color: #999; - margin-left: 50px; + color: #999; + margin-left: 50px; } .forum-title { - margin: 15px 0 15px 0; + margin: 15px 0 15px 0; } .forum-info { - text-align: center; + text-align: center; } .forum-desc { - color: #999; + color: #999; } .forum-icon { - float: left; - width: 30px; - margin-right: 20px; - text-align: center; + float: left; + width: 30px; + margin-right: 20px; + text-align: center; } a.forum-item-title { - color: inherit; - display: block; - font-size: 18px; - font-weight: 600; + color: inherit; + display: block; + font-size: 18px; + font-weight: 600; } a.forum-item-title:hover { - color: inherit; + color: inherit; } .forum-icon .fa { - font-size: 30px; - margin-top: 8px; - color: #9b9b9b; + font-size: 30px; + margin-top: 8px; + color: #9b9b9b; } .forum-item.active .fa { - color: #1ab394; + color: #1ab394; } .forum-item.active a.forum-item-title { - color: #1ab394; + color: #1ab394; } @media (max-width: 992px) { - .forum-info { - margin: 15px 0 10px 0; - /* Comment this is you want to show forum info in small devices */ - display: none; - } - .forum-desc { - float: none !important; - } + .forum-info { + margin: 15px 0 10px 0; + /* Comment this is you want to show forum info in small devices */ + display: none; + } + .forum-desc { + float: none !important; + } } /* New Timeline style */ .vertical-container { - /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */ - width: 90%; - max-width: 1170px; - margin: 0 auto; + /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */ + width: 90%; + max-width: 1170px; + margin: 0 auto; } .vertical-container::after { - /* clearfix */ - content: ''; - display: table; - clear: both; + /* clearfix */ + content: ''; + display: table; + clear: both; } #vertical-timeline { - position: relative; - padding: 0; - margin-top: 2em; - margin-bottom: 2em; + position: relative; + padding: 0; + margin-top: 2em; + margin-bottom: 2em; } #vertical-timeline::before { - content: ''; - position: absolute; - top: 0; - left: 18px; - height: 100%; - width: 4px; - background: #f1f1f1; + content: ''; + position: absolute; + top: 0; + left: 18px; + height: 100%; + width: 4px; + background: #f1f1f1; } .vertical-timeline-content .btn { - float: right; + float: right; } #vertical-timeline.light-timeline:before { - background: #e7eaec; + background: #e7eaec; } .dark-timeline .vertical-timeline-content:before { - border-color: transparent #f5f5f5 transparent transparent; + border-color: transparent #f5f5f5 transparent transparent; } .dark-timeline.center-orientation .vertical-timeline-content:before { - border-color: transparent transparent transparent #f5f5f5; + border-color: transparent transparent transparent #f5f5f5; } .dark-timeline .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before, .dark-timeline.center-orientation .vertical-timeline-block:nth-child(2n) .vertical-timeline-content:before { - border-color: transparent #f5f5f5 transparent transparent; + border-color: transparent #f5f5f5 transparent transparent; } .dark-timeline .vertical-timeline-content, .dark-timeline.center-orientation .vertical-timeline-content { - background: #f5f5f5; + background: #f5f5f5; } @media only screen and (min-width: 1170px) { - #vertical-timeline.center-orientation { - margin-top: 3em; - margin-bottom: 3em; - } - #vertical-timeline.center-orientation:before { - left: 50%; - margin-left: -2px; - } + #vertical-timeline.center-orientation { + margin-top: 3em; + margin-bottom: 3em; + } + #vertical-timeline.center-orientation:before { + left: 50%; + margin-left: -2px; + } } @media only screen and (max-width: 1170px) { - .center-orientation.dark-timeline .vertical-timeline-content:before { - border-color: transparent #f5f5f5 transparent transparent; - } + .center-orientation.dark-timeline .vertical-timeline-content:before { + border-color: transparent #f5f5f5 transparent transparent; + } } .vertical-timeline-block { - position: relative; - margin: 2em 0; + position: relative; + margin: 2em 0; } .vertical-timeline-block:after { - content: ""; - display: table; - clear: both; + content: ''; + display: table; + clear: both; } .vertical-timeline-block:first-child { - margin-top: 0; + margin-top: 0; } .vertical-timeline-block:last-child { - margin-bottom: 0; + margin-bottom: 0; } @media only screen and (min-width: 1170px) { - .center-orientation .vertical-timeline-block { - margin: 4em 0; - } - .center-orientation .vertical-timeline-block:first-child { - margin-top: 0; - } - .center-orientation .vertical-timeline-block:last-child { - margin-bottom: 0; - } + .center-orientation .vertical-timeline-block { + margin: 4em 0; + } + .center-orientation .vertical-timeline-block:first-child { + margin-top: 0; + } + .center-orientation .vertical-timeline-block:last-child { + margin-bottom: 0; + } } .vertical-timeline-icon { - position: absolute; - top: 0; - left: 0; - width: 40px; - height: 40px; - border-radius: 50%; - font-size: 16px; - border: 3px solid #f1f1f1; - text-align: center; + position: absolute; + top: 0; + left: 0; + width: 40px; + height: 40px; + border-radius: 50%; + font-size: 16px; + border: 3px solid #f1f1f1; + text-align: center; } .vertical-timeline-icon i { - display: block; - width: 24px; - height: 24px; - position: relative; - left: 50%; - top: 50%; - margin-left: -12px; - margin-top: -9px; -} -@media only screen and (min-width: 1170px) { - .center-orientation .vertical-timeline-icon { - width: 50px; - height: 50px; + display: block; + width: 24px; + height: 24px; + position: relative; left: 50%; - margin-left: -25px; - -webkit-transform: translateZ(0); - -webkit-backface-visibility: hidden; - font-size: 19px; - } - .center-orientation .vertical-timeline-icon i { + top: 50%; margin-left: -12px; - margin-top: -10px; - } - .center-orientation .cssanimations .vertical-timeline-icon.is-hidden { - visibility: hidden; - } + margin-top: -9px; +} +@media only screen and (min-width: 1170px) { + .center-orientation .vertical-timeline-icon { + width: 50px; + height: 50px; + left: 50%; + margin-left: -25px; + -webkit-transform: translateZ(0); + -webkit-backface-visibility: hidden; + font-size: 19px; + } + .center-orientation .vertical-timeline-icon i { + margin-left: -12px; + margin-top: -10px; + } + .center-orientation .cssanimations .vertical-timeline-icon.is-hidden { + visibility: hidden; + } } .vertical-timeline-content { - position: relative; - margin-left: 60px; - background: white; - border-radius: 0.25em; - padding: 1em; + position: relative; + margin-left: 60px; + background: white; + border-radius: 0.25em; + padding: 1em; } .vertical-timeline-content:after { - content: ""; - display: table; - clear: both; + content: ''; + display: table; + clear: both; } .vertical-timeline-content h2 { - font-weight: 400; - margin-top: 4px; + font-weight: 400; + margin-top: 4px; } .vertical-timeline-content p { - margin: 1em 0; - line-height: 1.6; + margin: 1em 0; + line-height: 1.6; } .vertical-timeline-content .vertical-date { - float: left; - font-weight: 500; + float: left; + font-weight: 500; } .vertical-date small { - color: #1ab394; - font-weight: 400; + color: #1ab394; + font-weight: 400; } .vertical-timeline-content::before { - content: ''; - position: absolute; - top: 16px; - right: 100%; - height: 0; - width: 0; - border: 7px solid transparent; - border-right: 7px solid white; + content: ''; + position: absolute; + top: 16px; + right: 100%; + height: 0; + width: 0; + border: 7px solid transparent; + border-right: 7px solid white; } @media only screen and (min-width: 768px) { - .vertical-timeline-content h2 { - font-size: 18px; - } - .vertical-timeline-content p { - font-size: 13px; - } + .vertical-timeline-content h2 { + font-size: 18px; + } + .vertical-timeline-content p { + font-size: 13px; + } } @media only screen and (min-width: 1170px) { - .center-orientation .vertical-timeline-content { - margin-left: 0; - padding: 1.6em; - width: 45%; - } - .center-orientation .vertical-timeline-content::before { - top: 24px; - left: 100%; - border-color: transparent; - border-left-color: white; - } - .center-orientation .vertical-timeline-content .btn { - float: left; - } - .center-orientation .vertical-timeline-content .vertical-date { - position: absolute; - width: 100%; - left: 122%; - top: 2px; - font-size: 14px; - } - .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content { - float: right; - } - .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content::before { - top: 24px; - left: auto; - right: 100%; - border-color: transparent; - border-right-color: white; - } - .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .btn { - float: right; - } - .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .vertical-date { - left: auto; - right: 122%; - text-align: right; - } - .center-orientation .cssanimations .vertical-timeline-content.is-hidden { - visibility: hidden; - } + .center-orientation .vertical-timeline-content { + margin-left: 0; + padding: 1.6em; + width: 45%; + } + .center-orientation .vertical-timeline-content::before { + top: 24px; + left: 100%; + border-color: transparent; + border-left-color: white; + } + .center-orientation .vertical-timeline-content .btn { + float: left; + } + .center-orientation .vertical-timeline-content .vertical-date { + position: absolute; + width: 100%; + left: 122%; + top: 2px; + font-size: 14px; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content { + float: right; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content::before { + top: 24px; + left: auto; + right: 100%; + border-color: transparent; + border-right-color: white; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .btn { + float: right; + } + .center-orientation .vertical-timeline-block:nth-child(even) .vertical-timeline-content .vertical-date { + left: auto; + right: 122%; + text-align: right; + } + .center-orientation .cssanimations .vertical-timeline-content.is-hidden { + visibility: hidden; + } } /* Tabs */ .tabs-container .panel-body { - background: #fff; - border: 1px solid #e7eaec; - border-radius: 2px; - padding: 20px; - position: relative; + background: #fff; + border: 1px solid #e7eaec; + border-radius: 2px; + padding: 20px; + position: relative; } .tabs-container .nav-tabs > li.active > a, .tabs-container .nav-tabs > li.active > a:hover, .tabs-container .nav-tabs > li.active > a:focus { - border: 1px solid #e7eaec; - border-bottom-color: transparent; - background-color: #fff; + border: 1px solid #e7eaec; + border-bottom-color: transparent; + background-color: #fff; } .tabs-container .nav-tabs > li { - float: left; - margin-bottom: -1px; + float: left; + margin-bottom: -1px; } .tabs-container .tab-pane .panel-body { - border-top: none; + border-top: none; } .tabs-container .nav-tabs > li.active > a, .tabs-container .nav-tabs > li.active > a:hover, .tabs-container .nav-tabs > li.active > a:focus { - border: 1px solid #e7eaec; - border-bottom-color: transparent; + border: 1px solid #e7eaec; + border-bottom-color: transparent; } .tabs-container .nav-tabs { - border-bottom: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; } .tabs-container .tab-pane .panel-body { - border-top: none; + border-top: none; } .tabs-container .tabs-left .tab-pane .panel-body, .tabs-container .tabs-right .tab-pane .panel-body { - border-top: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; } .tabs-container .nav-tabs > li a:hover { - background: transparent; - border-color: transparent; + background: transparent; + border-color: transparent; } .tabs-container .tabs-below > .nav-tabs, .tabs-container .tabs-right > .nav-tabs, .tabs-container .tabs-left > .nav-tabs { - border-bottom: 0; + border-bottom: 0; } .tabs-container .tabs-left .panel-body { - position: static; + position: static; } .tabs-container .tabs-left > .nav-tabs, .tabs-container .tabs-right > .nav-tabs { - width: 20%; + width: 20%; } .tabs-container .tabs-left .panel-body { - width: 80%; - margin-left: 20%; + width: 80%; + margin-left: 20%; } .tabs-container .tabs-right .panel-body { - width: 80%; - margin-right: 20%; + width: 80%; + margin-right: 20%; } .tabs-container .tab-content > .tab-pane, .tabs-container .pill-content > .pill-pane { - display: none; + display: none; } .tabs-container .tab-content > .active, .tabs-container .pill-content > .active { - display: block; + display: block; } .tabs-container .tabs-below > .nav-tabs { - border-top: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; } .tabs-container .tabs-below > .nav-tabs > li { - margin-top: -1px; - margin-bottom: 0; + margin-top: -1px; + margin-bottom: 0; } .tabs-container .tabs-below > .nav-tabs > li > a { - -webkit-border-radius: 0 0 4px 4px; - -moz-border-radius: 0 0 4px 4px; - border-radius: 0 0 4px 4px; + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; } .tabs-container .tabs-below > .nav-tabs > li > a:hover, .tabs-container .tabs-below > .nav-tabs > li > a:focus { - border-top-color: #e7eaec; - border-bottom-color: transparent; + border-top-color: #e7eaec; + border-bottom-color: transparent; } .tabs-container .tabs-left > .nav-tabs > li, .tabs-container .tabs-right > .nav-tabs > li { - float: none; + float: none; } .tabs-container .tabs-left > .nav-tabs > li > a, .tabs-container .tabs-right > .nav-tabs > li > a { - min-width: 74px; - margin-right: 0; - margin-bottom: 3px; + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; } .tabs-container .tabs-left > .nav-tabs { - float: left; - margin-right: 19px; + float: left; + margin-right: 19px; } .tabs-container .tabs-left > .nav-tabs > li > a { - margin-right: -1px; - -webkit-border-radius: 4px 0 0 4px; - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; } .tabs-container .tabs-left > .nav-tabs .active > a, .tabs-container .tabs-left > .nav-tabs .active > a:hover, .tabs-container .tabs-left > .nav-tabs .active > a:focus { - border-color: #e7eaec transparent #e7eaec #e7eaec; + border-color: #e7eaec transparent #e7eaec #e7eaec; } .tabs-container .tabs-right > .nav-tabs { - float: right; - margin-left: 19px; + float: right; + margin-left: 19px; } .tabs-container .tabs-right > .nav-tabs > li > a { - margin-left: -1px; - -webkit-border-radius: 0 4px 4px 0; - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; } .tabs-container .tabs-right > .nav-tabs .active > a, .tabs-container .tabs-right > .nav-tabs .active > a:hover, .tabs-container .tabs-right > .nav-tabs .active > a:focus { - border-color: #e7eaec #e7eaec #e7eaec transparent; - z-index: 1; + border-color: #e7eaec #e7eaec #e7eaec transparent; + z-index: 1; } @media (max-width: 767px) { - .tabs-container .nav-tabs > li { - float: none !important; - } - .tabs-container .nav-tabs > li.active > a { - border-bottom: 1px solid #e7eaec !important; - margin: 0; - } + .tabs-container .nav-tabs > li { + float: none !important; + } + .tabs-container .nav-tabs > li.active > a { + border-bottom: 1px solid #e7eaec !important; + margin: 0; + } } /* jsvectormap */ .jvectormap-container { - width: 100%; - height: 100%; - position: relative; - overflow: hidden; + width: 100%; + height: 100%; + position: relative; + overflow: hidden; } .jvectormap-tip { - position: absolute; - display: none; - border: solid 1px #CDCDCD; - border-radius: 3px; - background: #292929; - color: white; - font-family: sans-serif, Verdana; - font-size: smaller; - padding: 5px; + position: absolute; + display: none; + border: solid 1px #cdcdcd; + border-radius: 3px; + background: #292929; + color: white; + font-family: sans-serif, Verdana; + font-size: smaller; + padding: 5px; } .jvectormap-zoomin, .jvectormap-zoomout, .jvectormap-goback { - position: absolute; - left: 10px; - border-radius: 3px; - background: #1ab394; - padding: 3px; - color: white; - cursor: pointer; - line-height: 10px; - text-align: center; - box-sizing: content-box; + position: absolute; + left: 10px; + border-radius: 3px; + background: #1ab394; + padding: 3px; + color: white; + cursor: pointer; + line-height: 10px; + text-align: center; + box-sizing: content-box; } .jvectormap-zoomin, .jvectormap-zoomout { - width: 10px; - height: 10px; + width: 10px; + height: 10px; } .jvectormap-zoomin { - top: 10px; + top: 10px; } .jvectormap-zoomout { - top: 30px; + top: 30px; } .jvectormap-goback { - bottom: 10px; - z-index: 1000; - padding: 6px; + bottom: 10px; + z-index: 1000; + padding: 6px; } .jvectormap-spinner { - position: absolute; - left: 0; - top: 0; - right: 0; - bottom: 0; - background: center no-repeat url(data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==); + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + background: center no-repeat + url(data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==); } .jvectormap-legend-title { - font-weight: bold; - font-size: 14px; - text-align: center; + font-weight: bold; + font-size: 14px; + text-align: center; } .jvectormap-legend-cnt { - position: absolute; + position: absolute; } .jvectormap-legend-cnt-h { - bottom: 0; - right: 0; + bottom: 0; + right: 0; } .jvectormap-legend-cnt-v { - top: 0; - right: 0; + top: 0; + right: 0; } .jvectormap-legend { - background: black; - color: white; - border-radius: 3px; + background: black; + color: white; + border-radius: 3px; } .jvectormap-legend-cnt-h .jvectormap-legend { - float: left; - margin: 0 10px 10px 0; - padding: 3px 3px 1px 3px; + float: left; + margin: 0 10px 10px 0; + padding: 3px 3px 1px 3px; } .jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick { - float: left; + float: left; } .jvectormap-legend-cnt-v .jvectormap-legend { - margin: 10px 10px 0 0; - padding: 3px; + margin: 10px 10px 0 0; + padding: 3px; } .jvectormap-legend-cnt-h .jvectormap-legend-tick { - width: 40px; + width: 40px; } .jvectormap-legend-cnt-h .jvectormap-legend-tick-sample { - height: 15px; + height: 15px; } .jvectormap-legend-cnt-v .jvectormap-legend-tick-sample { - height: 20px; - width: 20px; - display: inline-block; - vertical-align: middle; + height: 20px; + width: 20px; + display: inline-block; + vertical-align: middle; } .jvectormap-legend-tick-text { - font-size: 12px; + font-size: 12px; } .jvectormap-legend-cnt-h .jvectormap-legend-tick-text { - text-align: center; + text-align: center; } .jvectormap-legend-cnt-v .jvectormap-legend-tick-text { - display: inline-block; - vertical-align: middle; - line-height: 20px; - padding-left: 3px; + display: inline-block; + vertical-align: middle; + line-height: 20px; + padding-left: 3px; } /*Slick Carousel */ .slick-prev:before, .slick-next:before { - color: #1ab394 !important; + color: #1ab394 !important; } /* Payments */ .payment-card { - background: #ffffff; - padding: 20px; - margin-bottom: 25px; - border: 1px solid #e7eaec; + background: #ffffff; + padding: 20px; + margin-bottom: 25px; + border: 1px solid #e7eaec; } .payment-icon-big { - font-size: 60px; - color: #d1dade; + font-size: 60px; + color: #d1dade; } .payments-method.panel-group .panel + .panel { - margin-top: -1px; + margin-top: -1px; } .payments-method .panel-heading { - padding: 15px; + padding: 15px; } .payments-method .panel { - border-radius: 0; + border-radius: 0; } .payments-method .panel-heading h5 { - margin-bottom: 5px; + margin-bottom: 5px; } .payments-method .panel-heading i { - font-size: 26px; + font-size: 26px; } /* Select2 custom styles */ .select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple { - border-color: #e7eaec; + border-color: #e7eaec; } .select2-container--default.select2-container--focus .select2-selection--single, .select2-container--default.select2-container--focus .select2-selection--multiple { - border-color: #1ab394; + border-color: #1ab394; } .select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: #1ab394; + background-color: #1ab394; } .select2-container--default .select2-search--dropdown .select2-search__field { - border-color: #e7eaec; + border-color: #e7eaec; } .select2-dropdown { - border-color: #e7eaec; + border-color: #e7eaec; } .select2-dropdown input:focus { - outline: none; + outline: none; } .select2-selection { - outline: none; + outline: none; } .ui-select-container.ui-select-bootstrap .ui-select-choices-row.active > a { - background-color: #1ab394; + background-color: #1ab394; } /* Tour */ .tour-tour .btn.btn-default { - background-color: #ffffff; - border: 1px solid #d2d2d2; - color: inherit; + background-color: #ffffff; + border: 1px solid #d2d2d2; + color: inherit; } .tour-step-backdrop { - z-index: 2101; + z-index: 2101; } .tour-backdrop { - z-index: 2100; - opacity: .7; + z-index: 2100; + opacity: 0.7; } -.popover[class*=tour-] { - z-index: 2100; +.popover[class*='tour-'] { + z-index: 2100; } body.tour-open .animated { - animation-fill-mode: initial; + animation-fill-mode: initial; } /* Resizable */ .resizable-panels .ibox { - clear: none; - margin: 10px; - float: left; - overflow: hidden; - min-height: 150px; - min-width: 150px; + clear: none; + margin: 10px; + float: left; + overflow: hidden; + min-height: 150px; + min-width: 150px; } .resizable-panels .ibox .ibox-content { - height: calc(100% - 49px); + height: calc(100% - 49px); } .ui-resizable-helper { - background: rgba(211, 211, 211, 0.4); + background: rgba(211, 211, 211, 0.4); } /* Wizard step fix */ .wizard > .content > .body { - position: relative; + position: relative; } /* PDF js style */ .pdf-toolbar { - max-width: 600px; - margin: 0 auto; + max-width: 600px; + margin: 0 auto; } /* Dropzone */ .dropzone { - min-height: 140px; - border: 1px dashed #1ab394; - background: white; - padding: 20px 20px; + min-height: 140px; + border: 1px dashed #1ab394; + background: white; + padding: 20px 20px; } .dropzone .dz-message { - font-size: 16px; + font-size: 16px; } /* Activity stream */ .stream { - position: relative; - padding: 10px 0; + position: relative; + padding: 10px 0; } .stream:first-child .stream-badge:before { - top: 10px; + top: 10px; } .stream:last-child .stream-badge:before { - height: 30px; + height: 30px; } .stream .stream-badge { - width: 50px; + width: 50px; } .stream .stream-badge i { - border: 1px solid #e7eaec; - border-radius: 50%; - padding: 6px; - color: #808486; - position: absolute; - background-color: #ffffff; - left: 8px; + border: 1px solid #e7eaec; + border-radius: 50%; + padding: 6px; + color: #808486; + position: absolute; + background-color: #ffffff; + left: 8px; } .stream .stream-badge i.fa-circle { - color: #ced0d1; + color: #ced0d1; } .stream .stream-badge i.bg-success { - color: #ffffff; - background-color: #1c84c6; - border-color: #1c84c6; + color: #ffffff; + background-color: #1c84c6; + border-color: #1c84c6; } .stream .stream-badge i.bg-primary { - color: #ffffff; - background-color: #1ab394; - border-color: #1ab394; + color: #ffffff; + background-color: #1ab394; + border-color: #1ab394; } .stream .stream-badge i.bg-warning { - color: #ffffff; - background-color: #f8ac59; - border-color: #f8ac59; + color: #ffffff; + background-color: #f8ac59; + border-color: #f8ac59; } .stream .stream-badge i.bg-info { - color: #ffffff; - background-color: #23c6c8; - border-color: #23c6c8; + color: #ffffff; + background-color: #23c6c8; + border-color: #23c6c8; } .stream .stream-badge i.bg-danger { - color: #ffffff; - background-color: #ed5565; - border-color: #ed5565; + color: #ffffff; + background-color: #ed5565; + border-color: #ed5565; } .stream .stream-badge:before { - content: ''; - width: 1px; - background-color: #e7eaec; - position: absolute; - top: 0; - bottom: 0; - left: 20px; + content: ''; + width: 1px; + background-color: #e7eaec; + position: absolute; + top: 0; + bottom: 0; + left: 20px; } .stream .stream-info { - font-size: 12px; - margin-bottom: 5px; + font-size: 12px; + margin-bottom: 5px; } .stream .stream-info img { - border-radius: 50%; - width: 18px; - height: 18px; - margin-right: 2px; - margin-top: -4px; + border-radius: 50%; + width: 18px; + height: 18px; + margin-right: 2px; + margin-top: -4px; } .stream .stream-info .date { - color: #9a9d9f; - font-size: 80%; + color: #9a9d9f; + font-size: 80%; } .stream .stream-panel { - margin-left: 55px; + margin-left: 55px; } .stream-small { - margin: 10px 0; + margin: 10px 0; } .stream-small .label { - padding: 2px 6px; - margin-right: 2px; + padding: 2px 6px; + margin-right: 2px; } .sidebar-panel { - width: 220px; - background: #ebebed; - padding: 10px 20px; - position: absolute; - right: 0; + width: 220px; + background: #ebebed; + padding: 10px 20px; + position: absolute; + right: 0; } .sidebar-panel .feed-element img.img-circle { - width: 32px; - height: 32px; + width: 32px; + height: 32px; } .sidebar-panel .feed-element, .media-body, .sidebar-panel p { - font-size: 12px; + font-size: 12px; } .sidebar-panel .feed-element { - margin-top: 20px; - padding-bottom: 0; + margin-top: 20px; + padding-bottom: 0; } .sidebar-panel .list-group { - margin-bottom: 10px; + margin-bottom: 10px; } .sidebar-panel .list-group .list-group-item { - padding: 5px 0; - font-size: 12px; - border: 0; + padding: 5px 0; + font-size: 12px; + border: 0; } .sidebar-content .wrapper, .wrapper.sidebar-content { - padding-right: 230px !important; + padding-right: 230px !important; } .body-small .sidebar-content .wrapper, .body-small .wrapper.sidebar-content { - padding-right: 20px !important; + padding-right: 20px !important; } #right-sidebar { - background-color: #fff; - border-left: 1px solid #e7eaec; - border-top: 1px solid #e7eaec; - overflow: hidden; - position: fixed; - top: 60px; - width: 260px !important; - z-index: 1009; - bottom: 0; - right: -260px; + background-color: #fff; + border-left: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + overflow: hidden; + position: fixed; + top: 60px; + width: 260px !important; + z-index: 1009; + bottom: 0; + right: -260px; } #right-sidebar.sidebar-open { - right: 0; + right: 0; } #right-sidebar.sidebar-open.sidebar-top { - top: 0; - border-top: none; + top: 0; + border-top: none; } .sidebar-container ul.nav-tabs { - border: none; + border: none; } .sidebar-container ul.nav-tabs.navs-4 li { - width: 25%; + width: 25%; } .sidebar-container ul.nav-tabs.navs-3 li { - width: 33.3333%; + width: 33.3333%; } .sidebar-container ul.nav-tabs.navs-2 li { - width: 50%; + width: 50%; } .sidebar-container ul.nav-tabs li { - border: none; + border: none; } .sidebar-container ul.nav-tabs li a { - border: none; - padding: 12px 10px; - margin: 0; - border-radius: 0; - background: #2f4050; - color: #fff; - text-align: center; - border-right: 1px solid #334556; + border: none; + padding: 12px 10px; + margin: 0; + border-radius: 0; + background: #2f4050; + color: #fff; + text-align: center; + border-right: 1px solid #334556; } .sidebar-container ul.nav-tabs li.active a { - border: none; - background: #f9f9f9; - color: #676a6c; - font-weight: bold; + border: none; + background: #f9f9f9; + color: #676a6c; + font-weight: bold; } .sidebar-container .nav-tabs > li.active > a:hover, .sidebar-container .nav-tabs > li.active > a:focus { - border: none; + border: none; } .sidebar-container ul.sidebar-list { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .sidebar-container ul.sidebar-list li { - border-bottom: 1px solid #e7eaec; - padding: 15px 20px; - list-style: none; - font-size: 12px; + border-bottom: 1px solid #e7eaec; + padding: 15px 20px; + list-style: none; + font-size: 12px; } -.sidebar-container .sidebar-message:nth-child(2n+2) { - background: #f9f9f9; +.sidebar-container .sidebar-message:nth-child(2n + 2) { + background: #f9f9f9; } .sidebar-container ul.sidebar-list li a { - text-decoration: none; - color: inherit; + text-decoration: none; + color: inherit; } .sidebar-container .sidebar-content { - padding: 15px 20px; - font-size: 12px; + padding: 15px 20px; + font-size: 12px; } .sidebar-container .sidebar-title { - background: #f9f9f9; - padding: 20px; - border-bottom: 1px solid #e7eaec; + background: #f9f9f9; + padding: 20px; + border-bottom: 1px solid #e7eaec; } .sidebar-container .sidebar-title h3 { - margin-bottom: 3px; - padding-left: 2px; + margin-bottom: 3px; + padding-left: 2px; } .sidebar-container .tab-content h4 { - margin-bottom: 5px; + margin-bottom: 5px; } .sidebar-container .sidebar-message > a > .pull-left { - margin-right: 10px; + margin-right: 10px; } .sidebar-container .sidebar-message > a { - text-decoration: none; - color: inherit; + text-decoration: none; + color: inherit; } .sidebar-container .sidebar-message { - padding: 15px 20px; + padding: 15px 20px; } .sidebar-container .sidebar-message .media-body { - display: block; - width: auto; + display: block; + width: auto; } .sidebar-container .sidebar-message .message-avatar { - height: 38px; - width: 38px; - border-radius: 50%; + height: 38px; + width: 38px; + border-radius: 50%; } .sidebar-container .setings-item { - padding: 15px 20px; - border-bottom: 1px solid #e7eaec; + padding: 15px 20px; + border-bottom: 1px solid #e7eaec; } body { - font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; - background-color: #2f4050; - font-size: 13px; - color: #676a6c; - overflow-x: hidden; + font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif; + background-color: #f8f8f8; + font-size: 13px; + color: #676a6c; + overflow-x: hidden; } html, body { - height: 100%; + height: 100%; } body.full-height-layout #wrapper, body.full-height-layout #page-wrapper { - height: 100%; + height: 100%; } #page-wrapper { - min-height: auto; + min-height: auto; } body.boxed-layout { - background: url('../img/patterns/shattered.png'); + background: url('../img/patterns/shattered.png'); } body.boxed-layout #wrapper { - background-color: #2f4050; - max-width: 1200px; - margin: 0 auto; - -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75); - -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75); - box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75); + background-color: #2f4050; + max-width: 1200px; + margin: 0 auto; + -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75); + -moz-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75); + box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.75); } .top-navigation.boxed-layout #wrapper, .boxed-layout #wrapper.top-navigation { - max-width: 1300px !important; + max-width: 1300px !important; } .block { - display: block; + display: block; } .clear { - display: block; - overflow: hidden; + display: block; + overflow: hidden; } a { - cursor: pointer; + cursor: pointer; } a:hover, a:focus { - text-decoration: none; + text-decoration: none; } .border-bottom { - border-bottom: 1px solid #e7eaec !important; + border-bottom: 1px solid #e7eaec !important; } .font-bold { - font-weight: 600; + font-weight: 600; } .font-normal { - font-weight: 400; + font-weight: 400; } .text-uppercase { - text-transform: uppercase; + text-transform: uppercase; } .font-italic { - font-style: italic; + font-style: italic; } .b-r { - border-right: 1px solid #e7eaec; + border-right: 1px solid #e7eaec; } .hr-line-dashed { - border-top: 1px dashed #e7eaec; - color: #ffffff; - background-color: #ffffff; - height: 1px; - margin: 20px 0; + border-top: 1px dashed #e7eaec; + color: #ffffff; + background-color: #ffffff; + height: 1px; + margin: 20px 0; } .hr-line-solid { - border-bottom: 1px solid #e7eaec; - background-color: rgba(0, 0, 0, 0); - border-style: solid !important; - margin-top: 15px; - margin-bottom: 15px; + border-bottom: 1px solid #e7eaec; + background-color: rgba(0, 0, 0, 0); + border-style: solid !important; + margin-top: 15px; + margin-bottom: 15px; } video { - width: 100% !important; - height: auto !important; + width: 100% !important; + height: auto !important; } /* GALLERY */ .gallery > .row > div { - margin-bottom: 15px; + margin-bottom: 15px; } .fancybox img { - margin-bottom: 5px; - /* Only for demo */ - width: 24%; + margin-bottom: 5px; + /* Only for demo */ + width: 24%; } /* Summernote text editor */ .note-editor { - height: auto !important; + height: auto !important; } .note-editor.fullscreen { - z-index: 2050; + z-index: 2050; } .note-editor.note-frame.fullscreen { - z-index: 2020; + z-index: 2020; } .note-editor.note-frame .note-editing-area .note-editable { - color: #676a6c; - padding: 15px; + color: #676a6c; + padding: 15px; } .note-editor.note-frame { - border: none; + border: none; } .note-editor.panel { - margin-bottom: 0; + margin-bottom: 0; } /* MODAL */ .modal-content { - background-clip: padding-box; - background-color: #FFFFFF; - border: 1px solid rgba(0, 0, 0, 0); - border-radius: 4px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); - outline: 0 none; - position: relative; + background-clip: padding-box; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0); + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); + outline: 0 none; + position: relative; } .modal-dialog { - z-index: 2200; + z-index: 2200; } .modal-body { - padding: 20px 30px 30px 30px; + padding: 20px 30px 30px 30px; } .inmodal .modal-body { - background: #f8fafb; + background: #f8fafb; } .inmodal .modal-header { - padding: 30px 15px; - text-align: center; + padding: 30px 15px; + text-align: center; } .animated.modal.fade .modal-dialog { - -webkit-transform: none; - -ms-transform: none; - -o-transform: none; - transform: none; + -webkit-transform: none; + -ms-transform: none; + -o-transform: none; + transform: none; } .inmodal .modal-title { - font-size: 26px; + font-size: 26px; } .inmodal .modal-icon { - font-size: 84px; - color: #e2e3e3; + font-size: 84px; + color: #e2e3e3; } .modal-footer { - margin-top: 0; + margin-top: 0; } /* WRAPPERS */ #wrapper { - width: 100%; - overflow-x: hidden; + width: 100%; + overflow-x: hidden; } .wrapper { - padding: 0 20px; + padding: 0 20px; } .wrapper-content { - padding: 20px 10px 40px; + padding: 20px 10px 40px; } #page-wrapper { - padding: 0 15px; - min-height: 568px; - position: relative !important; + padding: 0 15px; + min-height: 568px; + position: relative !important; } @media (min-width: 768px) { - #page-wrapper { - position: inherit; - margin: 0 0 0 240px; - min-height: 2002px; - } + #page-wrapper { + position: inherit; + margin: 0 0 0 240px; + min-height: 2002px; + } } .title-action { - text-align: right; - padding-top: 30px; + text-align: right; + padding-top: 30px; } .ibox-content h1, .ibox-content h2, @@ -3664,79 +3686,79 @@ video { .ibox-title h3, .ibox-title h4, .ibox-title h5 { - margin-top: 5px; + margin-top: 5px; } ul.unstyled, ol.unstyled { - list-style: none outside none; - margin-left: 0; + list-style: none outside none; + margin-left: 0; } .big-icon { - font-size: 160px !important; - color: #e5e6e7; + font-size: 160px !important; + color: #e5e6e7; } /* FOOTER */ .footer { - background: none repeat scroll 0 0 white; - border-top: 1px solid #e7eaec; - bottom: 0; - left: 0; - padding: 10px 20px; - position: absolute; - right: 0; + background: none repeat scroll 0 0 white; + border-top: 1px solid #e7eaec; + bottom: 0; + left: 0; + padding: 10px 20px; + position: absolute; + right: 0; } .footer.fixed_full { - position: fixed; - bottom: 0; - left: 0; - right: 0; - z-index: 1000; - padding: 10px 20px; - background: white; - border-top: 1px solid #e7eaec; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 1000; + padding: 10px 20px; + background: white; + border-top: 1px solid #e7eaec; } .footer.fixed { - position: fixed; - bottom: 0; - left: 0; - right: 0; - z-index: 1000; - padding: 10px 20px; - background: white; - border-top: 1px solid #e7eaec; - margin-left: 220px; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 1000; + padding: 10px 20px; + background: white; + border-top: 1px solid #e7eaec; + margin-left: 220px; } body.mini-navbar .footer.fixed, body.body-small.mini-navbar .footer.fixed { - margin: 0 0 0 70px; + margin: 0 0 0 70px; } body.mini-navbar.canvas-menu .footer.fixed, body.canvas-menu .footer.fixed { - margin: 0 !important; + margin: 0 !important; } body.fixed-sidebar.body-small.mini-navbar .footer.fixed { - margin: 0 0 0 220px; + margin: 0 0 0 220px; } body.body-small .footer.fixed { - margin-left: 0; + margin-left: 0; } /* PANELS */ .page-heading { - border-top: 0; - padding: 0 10px 20px 10px; + border-top: 0; + padding: 0 10px 20px 10px; } .panel-heading h1, .panel-heading h2 { - margin-bottom: 5px; + margin-bottom: 5px; } /* TABLES */ .table-bordered { - border: 1px solid #EBEBEB; + border: 1px solid #ebebeb; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { - background-color: #F5F5F6; - border-bottom-width: 1px; + background-color: #f5f5f6; + border-bottom-width: 1px; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, @@ -3744,11 +3766,11 @@ body.body-small .footer.fixed { .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { - border: 1px solid #e7e7e7; + border: 1px solid #e7e7e7; } .table > thead > tr > th { - border-bottom: 1px solid #DDDDDD; - vertical-align: bottom; + border-bottom: 1px solid #dddddd; + vertical-align: bottom; } .table > thead > tr > th, .table > tbody > tr > th, @@ -3756,432 +3778,433 @@ body.body-small .footer.fixed { .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { - border-top: 1px solid #e7eaec; - line-height: 1.42857; - padding: 8px; - vertical-align: top; + border-top: 1px solid #e7eaec; + line-height: 1.42857; + padding: 8px; + vertical-align: top; } /* PANELS */ .panel.blank-panel { - background: none; - margin: 0; + background: none; + margin: 0; } .blank-panel .panel-heading { - padding-bottom: 0; + padding-bottom: 0; } .nav-tabs > li > a { - color: #A7B1C2; - font-weight: 600; - padding: 10px 20px 10px 25px; + color: #a7b1c2; + font-weight: 600; + padding: 10px 20px 10px 25px; } .nav-tabs > li > a:hover, .nav-tabs > li > a:focus { - background-color: #e6e6e6; - color: #676a6c; + background-color: #e6e6e6; + color: #676a6c; } .ui-tab .tab-content { - padding: 20px 0; + padding: 20px 0; } /* GLOBAL */ .no-padding { - padding: 0 !important; + padding: 0 !important; } .no-borders { - border: none !important; + border: none !important; } .no-margins { - margin: 0 !important; + margin: 0 !important; } .no-top-border { - border-top: 0 !important; + border-top: 0 !important; } .ibox-content.text-box { - padding-bottom: 0; - padding-top: 15px; + padding-bottom: 0; + padding-top: 15px; } .border-left-right { - border-left: 1px solid #e7eaec; - border-right: 1px solid #e7eaec; + border-left: 1px solid #e7eaec; + border-right: 1px solid #e7eaec; } .border-top-bottom { - border-top: 1px solid #e7eaec; - border-bottom: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; } .border-left { - border-left: 1px solid #e7eaec; + border-left: 1px solid #e7eaec; } .border-right { - border-right: 1px solid #e7eaec; + border-right: 1px solid #e7eaec; } .border-top { - border-top: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; } .border-bottom { - border-bottom: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; } .border-size-sm { - border-width: 3px; + border-width: 3px; } .border-size-md { - border-width: 6px; + border-width: 6px; } .border-size-lg { - border-width: 9px; + border-width: 9px; } .border-size-xl { - border-width: 12px; + border-width: 12px; } .full-width { - width: 100% !important; + width: 100% !important; } .link-block { - font-size: 12px; - padding: 10px; + font-size: 12px; + padding: 10px; } .nav.navbar-top-links .link-block a { - font-size: 12px; + font-size: 12px; } .link-block a { - font-size: 10px; - color: inherit; + font-size: 10px; + color: inherit; } body.mini-navbar .branding { - display: none; + display: none; } img.circle-border { - border: 6px solid #FFFFFF; - border-radius: 50%; + border: 6px solid #ffffff; + border-radius: 50%; } .branding { - float: left; - color: #FFFFFF; - font-size: 18px; - font-weight: 600; - padding: 17px 20px; - text-align: center; - background-color: #1ab394; + float: left; + color: #ffffff; + font-size: 18px; + font-weight: 600; + padding: 17px 20px; + text-align: center; + background-color: #1ab394; } .login-panel { - margin-top: 25%; + margin-top: 25%; } .icons-box h3 { - margin-top: 10px; - margin-bottom: 10px; + margin-top: 10px; + margin-bottom: 10px; } .icons-box .infont a i { - font-size: 25px; - display: block; - color: #676a6c; + font-size: 25px; + display: block; + color: #676a6c; } .icons-box .infont a { - color: #a6a8a9; + color: #a6a8a9; } .icons-box .infont a { - padding: 10px; - margin: 1px; - display: block; + padding: 10px; + margin: 1px; + display: block; } .ui-draggable .ibox-title { - cursor: move; + cursor: move; } .breadcrumb { - background-color: #ffffff; - padding: 0; - margin-bottom: 0; + background-color: #ffffff; + padding: 0; + margin-bottom: 0; } .breadcrumb > li a { - color: inherit; + color: inherit; } .breadcrumb > .active { - color: inherit; + color: inherit; } code { - background-color: #F9F2F4; - border-radius: 4px; - color: #ca4440; - font-size: 90%; - padding: 2px 4px; - white-space: nowrap; + background-color: #f9f2f4; + border-radius: 4px; + color: #ca4440; + font-size: 90%; + padding: 2px 4px; + white-space: nowrap; } .ibox { - clear: both; - margin-bottom: 25px; - margin-top: 0; - padding: 0; + clear: both; + margin-bottom: 25px; + margin-top: 0; + padding: 0; } .ibox.collapsed .ibox-content { - display: none; + display: none; } + .ibox.collapsed .fa.fa-chevron-up:before { - content: "\f078"; + content: '\f078'; } .ibox.collapsed .fa.fa-chevron-down:before { - content: "\f077"; + content: '\f077'; } .ibox:after, .ibox:before { - display: table; + display: table; } .ibox-title { - -moz-border-bottom-colors: none; - -moz-border-left-colors: none; - -moz-border-right-colors: none; - -moz-border-top-colors: none; - background-color: #ffffff; - border-color: #e7eaec; - border-image: none; - border-style: solid solid none; - border-width: 2px 0 0; - color: inherit; - margin-bottom: 0; - padding: 15px 15px 7px; - min-height: 48px; + -moz-border-bottom-colors: none; + -moz-border-left-colors: none; + -moz-border-right-colors: none; + -moz-border-top-colors: none; + background-color: #ffffff; + border-color: #e7eaec; + border-image: none; + border-style: solid solid none; + border-width: 2px 0 0; + color: inherit; + margin-bottom: 0; + padding: 15px 15px 7px; + min-height: 48px; } .ibox-content { - background-color: #ffffff; - color: inherit; - padding: 15px 20px 20px 20px; - border-color: #e7eaec; - border-image: none; - border-style: solid solid none; - border-width: 1px 0; + background-color: #ffffff; + color: inherit; + padding: 15px 20px 20px 20px; + border-color: #e7eaec; + border-image: none; + border-style: solid solid none; + border-width: 1px 0; } .ibox-footer { - color: inherit; - border-top: 1px solid #e7eaec; - font-size: 90%; - background: #ffffff; - padding: 10px 15px; + color: inherit; + border-top: 1px solid #e7eaec; + font-size: 90%; + background: #ffffff; + padding: 10px 15px; } table.table-mail tr td { - padding: 12px; + padding: 12px; } .table-mail .check-mail { - padding-left: 20px; + padding-left: 20px; } .table-mail .mail-date { - padding-right: 20px; + padding-right: 20px; } .star-mail, .check-mail { - width: 40px; + width: 40px; } .unread td a, .unread td { - font-weight: 600; - color: inherit; + font-weight: 600; + color: inherit; } .read td a, .read td { - font-weight: normal; - color: inherit; + font-weight: normal; + color: inherit; } .unread td { - background-color: #f9f8f8; + background-color: #f9f8f8; } .ibox-content { - clear: both; + clear: both; } .ibox-heading { - background-color: #f3f6fb; - border-bottom: none; + background-color: #f3f6fb; + border-bottom: none; } .ibox-heading h3 { - font-weight: 200; - font-size: 24px; + font-weight: 200; + font-size: 24px; } .ibox-title h5 { - display: inline-block; - font-size: 14px; - margin: 0 0 7px; - padding: 0; - text-overflow: ellipsis; - float: left; + display: inline-block; + font-size: 14px; + margin: 0 0 7px; + padding: 0; + text-overflow: ellipsis; + float: left; } .ibox-title .label { - float: left; - margin-left: 4px; + float: left; + margin-left: 4px; } .ibox-tools { - display: block; - float: none; - margin-top: 0; - position: relative; - padding: 0; - text-align: right; + display: block; + float: none; + margin-top: 0; + position: relative; + padding: 0; + text-align: right; } .ibox-tools a { - cursor: pointer; - margin-left: 5px; - color: #c4c4c4; + cursor: pointer; + margin-left: 5px; + color: #c4c4c4; } .ibox-tools a.btn-primary { - color: #fff; + color: #fff; } .ibox-tools .dropdown-menu > li > a { - padding: 4px 10px; - font-size: 12px; + padding: 4px 10px; + font-size: 12px; } .ibox .ibox-tools.open > .dropdown-menu { - left: auto; - right: 0; + left: auto; + right: 0; } /* BACKGROUNDS */ .gray-bg, .bg-muted { - background-color: #f3f3f4; + background-color: #f8f8f8; } .white-bg { - background-color: #ffffff; + background-color: #ffffff; } .blue-bg, .bg-success { - background-color: #1c84c6; - color: #ffffff; + background-color: #1c84c6; + color: #ffffff; } .navy-bg, .bg-primary { - background-color: #1ab394; - color: #ffffff; + background-color: #1ab394; + color: #ffffff; } .lazur-bg, .bg-info { - background-color: #23c6c8; - color: #ffffff; + background-color: #23c6c8; + color: #ffffff; } .yellow-bg, .bg-warning { - background-color: #f8ac59; - color: #ffffff; + background-color: #f8ac59; + color: #ffffff; } .red-bg, .bg-danger { - background-color: #ed5565; - color: #ffffff; + background-color: #ed5565; + color: #ffffff; } .black-bg { - background-color: #262626; + background-color: #262626; } .panel-primary { - border-color: #1ab394; + border-color: #1ab394; } .panel-primary > .panel-heading { - background-color: #1ab394; - border-color: #1ab394; + background-color: #1ab394; + border-color: #1ab394; } .panel-success { - border-color: #1c84c6; + border-color: #1c84c6; } .panel-success > .panel-heading { - background-color: #1c84c6; - border-color: #1c84c6; - color: #ffffff; + background-color: #1c84c6; + border-color: #1c84c6; + color: #ffffff; } .panel-info { - border-color: #23c6c8; + border-color: #23c6c8; } .panel-info > .panel-heading { - background-color: #23c6c8; - border-color: #23c6c8; - color: #ffffff; + background-color: #23c6c8; + border-color: #23c6c8; + color: #ffffff; } .panel-warning { - border-color: #f8ac59; + border-color: #f8ac59; } .panel-warning > .panel-heading { - background-color: #f8ac59; - border-color: #f8ac59; - color: #ffffff; + background-color: #f8ac59; + border-color: #f8ac59; + color: #ffffff; } .panel-danger { - border-color: #ed5565; + border-color: #ed5565; } .panel-danger > .panel-heading { - background-color: #ed5565; - border-color: #ed5565; - color: #ffffff; + background-color: #ed5565; + border-color: #ed5565; + color: #ffffff; } .progress-bar { - background-color: #1ab394; + background-color: #1ab394; } .progress-small, .progress-small .progress-bar { - height: 10px; + height: 10px; } .progress-small, .progress-mini { - margin-top: 5px; + margin-top: 5px; } .progress-mini, .progress-mini .progress-bar { - height: 5px; - margin-bottom: 0; + height: 5px; + margin-bottom: 0; } .progress-bar-navy-light { - background-color: #3dc7ab; + background-color: #3dc7ab; } .progress-bar-success { - background-color: #1c84c6; + background-color: #1c84c6; } .progress-bar-info { - background-color: #23c6c8; + background-color: #23c6c8; } .progress-bar-warning { - background-color: #f8ac59; + background-color: #f8ac59; } .progress-bar-danger { - background-color: #ed5565; + background-color: #ed5565; } .panel-title { - font-size: inherit; + font-size: inherit; } .jumbotron { - border-radius: 6px; - padding: 40px; + border-radius: 6px; + padding: 40px; } .jumbotron h1 { - margin-top: 0; + margin-top: 0; } /* COLORS */ .text-navy { - color: #1ab394; + color: #1ab394; } .text-primary { - color: inherit; + color: inherit; } .text-success { - color: #1c84c6; + color: #1c84c6; } .text-info { - color: #23c6c8; + color: #23c6c8; } .text-warning { - color: #f8ac59; + color: #f8ac59; } .text-danger { - color: #ed5565; + color: #ed5565; } .text-muted { - color: #888888; + color: var(--grey-dark); } .text-white { - color: #ffffff; + color: #ffffff; } .simple_tag { - background-color: #f3f3f4; - border: 1px solid #e7eaec; - border-radius: 2px; - color: inherit; - font-size: 10px; - margin-right: 5px; - margin-top: 5px; - padding: 5px 12px; - display: inline-block; + background-color: #f3f3f4; + border: 1px solid #e7eaec; + border-radius: 2px; + color: inherit; + font-size: 10px; + margin-right: 5px; + margin-top: 5px; + padding: 5px 12px; + display: inline-block; } .img-shadow { - -webkit-box-shadow: 0 0 3px 0 #919191; - -moz-box-shadow: 0 0 3px 0 #919191; - box-shadow: 0 0 3px 0 #919191; + -webkit-box-shadow: 0 0 3px 0 #919191; + -moz-box-shadow: 0 0 3px 0 #919191; + box-shadow: 0 0 3px 0 #919191; } /* For handle diferent bg color in AngularJS version */ .dashboards\.dashboard_2 nav.navbar, @@ -4193,7 +4216,7 @@ table.table-mail tr td { .metrics nav.navbar, .metrics\.index nav.navbar, .dashboards\.dashboard_5 nav.navbar { - background: #fff; + background: #fff; } /* For handle diferent bg color in MVC version */ .Dashboard_2 .navbar.navbar-static-top, @@ -4204,1622 +4227,1622 @@ table.table-mail tr td { .Inbox .navbar.navbar-static-top, .Metrics .navbar.navbar-static-top, .Dashboard_5 .navbar.navbar-static-top { - background: #fff; + background: #fff; } a.close-canvas-menu { - position: absolute; - top: 10px; - right: 15px; - z-index: 1011; - color: #a7b1c2; + position: absolute; + top: 10px; + right: 15px; + z-index: 1011; + color: #a7b1c2; } a.close-canvas-menu:hover { - color: #fff; + color: #fff; } .close-canvas-menu { - display: none; + display: none; } .canvas-menu .close-canvas-menu { - display: block; + display: block; } .light-navbar .navbar.navbar-static-top { - background-color: #ffffff; + background-color: #ffffff; } /* FULL HEIGHT */ .full-height { - height: 100%; + height: 100%; } .fh-breadcrumb { - height: calc(100% - 196px); - margin: 0 -15px; - position: relative; + height: calc(100% - 196px); + margin: 0 -15px; + position: relative; } .fh-no-breadcrumb { - height: calc(100% - 99px); - margin: 0 -15px; - position: relative; + height: calc(100% - 99px); + margin: 0 -15px; + position: relative; } .fh-column { - background: #fff; - height: 100%; - width: 240px; - float: left; + background: #fff; + height: 100%; + width: 240px; + float: left; } .modal-backdrop { - z-index: 2040 !important; + z-index: 2040 !important; } .modal { - z-index: 2050 !important; + z-index: 2050 !important; } .spiner-example { - height: 200px; - padding-top: 70px; + height: 200px; + padding-top: 70px; } /* MARGINS & PADDINGS */ .p-xxs { - padding: 5px; + padding: 5px; } .p-xs { - padding: 10px; + padding: 10px; } .p-sm { - padding: 15px; + padding: 15px; } .p-m { - padding: 20px; + padding: 20px; } .p-md { - padding: 25px; + padding: 25px; } .p-lg { - padding: 30px; + padding: 30px; } .p-xl { - padding: 40px; + padding: 40px; } .p-w-xs { - padding: 0 10px; + padding: 0 10px; } .p-w-sm { - padding: 0 15px; + padding: 0 15px; } .p-w-m { - padding: 0 20px; + padding: 0 20px; } .p-w-md { - padding: 0 25px; + padding: 0 25px; } .p-w-lg { - padding: 0 30px; + padding: 0 30px; } .p-w-xl { - padding: 0 40px; + padding: 0 40px; } .p-h-xs { - padding: 10px 0; + padding: 10px 0; } .p-h-sm { - padding: 15px 0; + padding: 15px 0; } .p-h-m { - padding: 20px 0; + padding: 20px 0; } .p-h-md { - padding: 25px 0; + padding: 25px 0; } .p-h-lg { - padding: 30px 0; + padding: 30px 0; } .p-h-xl { - padding: 40px 0; + padding: 40px 0; } .m-xxs { - margin: 2px 4px; + margin: 2px 4px; } .m { - margin: 15px; + margin: 15px; } .m-xs { - margin: 5px; + margin: 5px; } .m-sm { - margin: 10px; + margin: 10px; } .m-md { - margin: 20px; + margin: 20px; } .m-lg { - margin: 30px; + margin: 30px; } .m-xl { - margin: 50px; + margin: 50px; } .m-n { - margin: 0 !important; + margin: 0 !important; } .m-l-none { - margin-left: 0; + margin-left: 0; } .m-l-xs { - margin-left: 5px; + margin-left: 5px; } .m-l-sm { - margin-left: 10px; + margin-left: 10px; } .m-l { - margin-left: 15px; + margin-left: 15px; } .m-l-md { - margin-left: 20px; + margin-left: 20px; } .m-l-lg { - margin-left: 30px; + margin-left: 30px; } .m-l-xl { - margin-left: 40px; + margin-left: 40px; } .m-l-n-xxs { - margin-left: -1px; + margin-left: -1px; } .m-l-n-xs { - margin-left: -5px; + margin-left: -5px; } .m-l-n-sm { - margin-left: -10px; + margin-left: -10px; } .m-l-n { - margin-left: -15px; + margin-left: -15px; } .m-l-n-md { - margin-left: -20px; + margin-left: -20px; } .m-l-n-lg { - margin-left: -30px; + margin-left: -30px; } .m-l-n-xl { - margin-left: -40px; + margin-left: -40px; } .m-t-none { - margin-top: 0; + margin-top: 0; } .m-t-xxs { - margin-top: 1px; + margin-top: 1px; } .m-t-xs { - margin-top: 5px; + margin-top: 5px; } .m-t-sm { - margin-top: 10px; + margin-top: 10px; } .m-t { - margin-top: 15px; + margin-top: 15px; } .m-t-md { - margin-top: 20px; + margin-top: 20px; } .m-t-lg { - margin-top: 30px; + margin-top: 30px; } .m-t-xl { - margin-top: 40px; + margin-top: 40px; } .m-t-n-xxs { - margin-top: -1px; + margin-top: -1px; } .m-t-n-xs { - margin-top: -5px; + margin-top: -5px; } .m-t-n-sm { - margin-top: -10px; + margin-top: -10px; } .m-t-n { - margin-top: -15px; + margin-top: -15px; } .m-t-n-md { - margin-top: -20px; + margin-top: -20px; } .m-t-n-lg { - margin-top: -30px; + margin-top: -30px; } .m-t-n-xl { - margin-top: -40px; + margin-top: -40px; } .m-r-none { - margin-right: 0; + margin-right: 0; } .m-r-xxs { - margin-right: 1px; + margin-right: 1px; } .m-r-xs { - margin-right: 5px; + margin-right: 5px; } .m-r-sm { - margin-right: 10px; + margin-right: 10px; } .m-r { - margin-right: 15px; + margin-right: 15px; } .m-r-md { - margin-right: 20px; + margin-right: 20px; } .m-r-lg { - margin-right: 30px; + margin-right: 30px; } .m-r-xl { - margin-right: 40px; + margin-right: 40px; } .m-r-n-xxs { - margin-right: -1px; + margin-right: -1px; } .m-r-n-xs { - margin-right: -5px; + margin-right: -5px; } .m-r-n-sm { - margin-right: -10px; + margin-right: -10px; } .m-r-n { - margin-right: -15px; + margin-right: -15px; } .m-r-n-md { - margin-right: -20px; + margin-right: -20px; } .m-r-n-lg { - margin-right: -30px; + margin-right: -30px; } .m-r-n-xl { - margin-right: -40px; + margin-right: -40px; } .m-b-none { - margin-bottom: 0; + margin-bottom: 0; } .m-b-xxs { - margin-bottom: 1px; + margin-bottom: 1px; } .m-b-xs { - margin-bottom: 5px; + margin-bottom: 5px; } .m-b-sm { - margin-bottom: 10px; + margin-bottom: 10px; } .m-b { - margin-bottom: 15px; + margin-bottom: 15px; } .m-b-md { - margin-bottom: 20px; + margin-bottom: 20px; } .m-b-lg { - margin-bottom: 30px; + margin-bottom: 30px; } .m-b-xl { - margin-bottom: 40px; + margin-bottom: 40px; } .m-b-n-xxs { - margin-bottom: -1px; + margin-bottom: -1px; } .m-b-n-xs { - margin-bottom: -5px; + margin-bottom: -5px; } .m-b-n-sm { - margin-bottom: -10px; + margin-bottom: -10px; } .m-b-n { - margin-bottom: -15px; + margin-bottom: -15px; } .m-b-n-md { - margin-bottom: -20px; + margin-bottom: -20px; } .m-b-n-lg { - margin-bottom: -30px; + margin-bottom: -30px; } .m-b-n-xl { - margin-bottom: -40px; + margin-bottom: -40px; } .space-15 { - margin: 15px 0; + margin: 15px 0; } .space-20 { - margin: 20px 0; + margin: 20px 0; } .space-25 { - margin: 25px 0; + margin: 25px 0; } .space-30 { - margin: 30px 0; + margin: 30px 0; } .img-sm { - width: 32px; - height: 32px; + width: 32px; + height: 32px; } .img-md { - width: 64px; - height: 64px; + width: 64px; + height: 64px; } .img-lg { - width: 96px; - height: 96px; + width: 96px; + height: 96px; } .b-r-xs { - -webkit-border-radius: 1px; - -moz-border-radius: 1px; - border-radius: 1px; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; } .b-r-sm { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; } .b-r-md { - -webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; } .b-r-lg { - -webkit-border-radius: 12px; - -moz-border-radius: 12px; - border-radius: 12px; + -webkit-border-radius: 12px; + -moz-border-radius: 12px; + border-radius: 12px; } .b-r-xl { - -webkit-border-radius: 24px; - -moz-border-radius: 24px; - border-radius: 24px; + -webkit-border-radius: 24px; + -moz-border-radius: 24px; + border-radius: 24px; } .fullscreen-ibox-mode .animated { - animation: none; + animation: none; } body.fullscreen-ibox-mode { - overflow-y: hidden; + overflow-y: hidden; } .ibox.fullscreen { - z-index: 2030; - position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; - overflow: auto; - margin-bottom: 0; + z-index: 2030; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: auto; + margin-bottom: 0; } .ibox.fullscreen .collapse-link { - display: none; + display: none; } .ibox.fullscreen .ibox-content { - min-height: calc(100% - 48px); + min-height: calc(100% - 48px); } body.modal-open { - padding-right: inherit !important; + padding-right: inherit !important; } body.modal-open .wrapper-content.animated { - -webkit-animation: none; - -ms-animation-nam: none; - animation: none; + -webkit-animation: none; + -ms-animation-nam: none; + animation: none; } body.modal-open .animated { - animation-fill-mode: initial; - z-index: inherit; + animation-fill-mode: initial; + z-index: inherit; } /* Show profile dropdown on fixed sidebar */ body.mini-navbar.fixed-sidebar .profile-element, .block { - display: block !important; + display: block !important; } body.mini-navbar.fixed-sidebar .nav-header { - padding: 33px 25px; + padding: 33px 25px; } body.mini-navbar.fixed-sidebar .logo-element { - display: none; + display: none; } .fullscreen-video .animated { - animation: none; + animation: none; } /* SEARCH PAGE */ .search-form { - margin-top: 10px; + margin-top: 10px; } .search-result h3 { - margin-bottom: 0; - color: #1E0FBE; + margin-bottom: 0; + color: #1e0fbe; } .search-result .search-link { - color: #006621; + color: #006621; } .search-result p { - font-size: 12px; - margin-top: 5px; + font-size: 12px; + margin-top: 5px; } /* CONTACTS */ .contact-box { - background-color: #ffffff; - border: 1px solid #e7eaec; - padding: 20px; - margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid #e7eaec; + padding: 20px; + margin-bottom: 20px; } .contact-box > a { - color: inherit; + color: inherit; } .contact-box.center-version { - border: 1px solid #e7eaec; - padding: 0; + border: 1px solid #e7eaec; + padding: 0; } .contact-box.center-version > a { - display: block; - background-color: #ffffff; - padding: 20px; - text-align: center; + display: block; + background-color: #ffffff; + padding: 20px; + text-align: center; } .contact-box.center-version > a img { - width: 80px; - height: 80px; - margin-top: 10px; - margin-bottom: 10px; + width: 80px; + height: 80px; + margin-top: 10px; + margin-bottom: 10px; } .contact-box.center-version address { - margin-bottom: 0; + margin-bottom: 0; } .contact-box .contact-box-footer { - text-align: center; - background-color: #ffffff; - border-top: 1px solid #e7eaec; - padding: 15px 20px; + text-align: center; + background-color: #ffffff; + border-top: 1px solid #e7eaec; + padding: 15px 20px; } /* INVOICE */ .invoice-table tbody > tr > td:last-child, .invoice-table tbody > tr > td:nth-child(4), .invoice-table tbody > tr > td:nth-child(3), .invoice-table tbody > tr > td:nth-child(2) { - text-align: right; + text-align: right; } .invoice-table thead > tr > th:last-child, .invoice-table thead > tr > th:nth-child(4), .invoice-table thead > tr > th:nth-child(3), .invoice-table thead > tr > th:nth-child(2) { - text-align: right; + text-align: right; } .invoice-total > tbody > tr > td:first-child { - text-align: right; + text-align: right; } .invoice-total > tbody > tr > td { - border: 0 none; + border: 0 none; } .invoice-total > tbody > tr > td:last-child { - border-bottom: 1px solid #DDDDDD; - text-align: right; - width: 15%; + border-bottom: 1px solid #dddddd; + text-align: right; + width: 15%; } /* ERROR & LOGIN & LOCKSCREEN*/ .middle-box { - max-width: 400px; - z-index: 100; - margin: 0 auto; - padding-top: 40px; + max-width: 400px; + z-index: 100; + margin: 0 auto; + padding-top: 40px; } .lockscreen.middle-box { - width: 200px; - padding-top: 110px; + width: 200px; + padding-top: 110px; } .loginscreen.middle-box { - width: 300px; + width: 300px; } .loginColumns { - max-width: 800px; - margin: 0 auto; - padding: 100px 20px 20px 20px; + max-width: 800px; + margin: 0 auto; + padding: 100px 20px 20px 20px; } .passwordBox { - max-width: 460px; - margin: 0 auto; - padding: 100px 20px 20px 20px; + max-width: 460px; + margin: 0 auto; + padding: 100px 20px 20px 20px; } .logo-name { - color: #e6e6e6; - font-size: 180px; - font-weight: 800; - letter-spacing: -10px; - margin-bottom: 0; + color: #e6e6e6; + font-size: 180px; + font-weight: 800; + letter-spacing: -10px; + margin-bottom: 0; } .middle-box h1 { - font-size: 170px; + font-size: 170px; } .wrapper .middle-box { - margin-top: 140px; + margin-top: 140px; } .lock-word { - z-index: 10; - position: absolute; - top: 110px; - left: 50%; - margin-left: -470px; + z-index: 10; + position: absolute; + top: 110px; + left: 50%; + margin-left: -470px; } .lock-word span { - font-size: 100px; - font-weight: 600; - color: #e9e9e9; - display: inline-block; + font-size: 100px; + font-weight: 600; + color: #e9e9e9; + display: inline-block; } .lock-word .first-word { - margin-right: 160px; + margin-right: 160px; } /* DASBOARD */ .dashboard-header { - border-top: 0; - padding: 20px 20px 20px 20px; + border-top: 0; + padding: 20px 20px 20px 20px; } .dashboard-header h2 { - margin-top: 10px; - font-size: 26px; + margin-top: 10px; + font-size: 26px; } .fist-item { - border-top: none !important; + border-top: none !important; } .statistic-box { - margin-top: 40px; + margin-top: 40px; } .dashboard-header .list-group-item span.label { - margin-right: 10px; + margin-right: 10px; } .list-group.clear-list .list-group-item { - border-top: 1px solid #e7eaec; - border-bottom: 0; - border-right: 0; - border-left: 0; - padding: 10px 0; + border-top: 1px solid #e7eaec; + border-bottom: 0; + border-right: 0; + border-left: 0; + padding: 10px 0; } ul.clear-list:first-child { - border-top: none !important; + border-top: none !important; } /* Intimeline */ .timeline-item .date i { - position: absolute; - top: 0; - right: 0; - padding: 5px; - width: 30px; - text-align: center; - border-top: 1px solid #e7eaec; - border-bottom: 1px solid #e7eaec; - border-left: 1px solid #e7eaec; - background: #f8f8f8; + position: absolute; + top: 0; + right: 0; + padding: 5px; + width: 30px; + text-align: center; + border-top: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; + border-left: 1px solid #e7eaec; + background: #f8f8f8; } .timeline-item .date { - text-align: right; - width: 110px; - position: relative; - padding-top: 30px; + text-align: right; + width: 110px; + position: relative; + padding-top: 30px; } .timeline-item .content { - border-left: 1px solid #e7eaec; - border-top: 1px solid #e7eaec; - padding-top: 10px; - min-height: 100px; + border-left: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + padding-top: 10px; + min-height: 100px; } .timeline-item .content:hover { - background: #f6f6f6; + background: #f6f6f6; } /* PIN BOARD */ ul.notes li, ul.tag-list li { - list-style: none; + list-style: none; } ul.notes li h4 { - margin-top: 20px; - font-size: 16px; + margin-top: 20px; + font-size: 16px; } ul.notes li div { - text-decoration: none; - color: #000; - background: #ffc; - display: block; - height: 140px; - width: 140px; - padding: 1em; - position: relative; + text-decoration: none; + color: #000; + background: #ffc; + display: block; + height: 140px; + width: 140px; + padding: 1em; + position: relative; } ul.notes li div small { - position: absolute; - top: 5px; - right: 5px; - font-size: 10px; + position: absolute; + top: 5px; + right: 5px; + font-size: 10px; } ul.notes li div a { - position: absolute; - right: 10px; - bottom: 10px; - color: inherit; + position: absolute; + right: 10px; + bottom: 10px; + color: inherit; } ul.notes li { - margin: 10px 40px 50px 0; - float: left; + margin: 10px 40px 50px 0; + float: left; } ul.notes li div p { - font-size: 12px; + font-size: 12px; } ul.notes li div { - text-decoration: none; - color: #000; - background: #ffc; - display: block; - height: 140px; - width: 140px; - padding: 1em; - /* Firefox */ - -moz-box-shadow: 5px 5px 2px #212121; - /* Safari+Chrome */ - -webkit-box-shadow: 5px 5px 2px rgba(33, 33, 33, 0.7); - /* Opera */ - box-shadow: 5px 5px 2px rgba(33, 33, 33, 0.7); + text-decoration: none; + color: #000; + background: #ffc; + display: block; + height: 140px; + width: 140px; + padding: 1em; + /* Firefox */ + -moz-box-shadow: 5px 5px 2px #212121; + /* Safari+Chrome */ + -webkit-box-shadow: 5px 5px 2px rgba(33, 33, 33, 0.7); + /* Opera */ + box-shadow: 5px 5px 2px rgba(33, 33, 33, 0.7); } ul.notes li div { - -webkit-transform: rotate(-6deg); - -o-transform: rotate(-6deg); - -moz-transform: rotate(-6deg); - -ms-transform: rotate(-6deg); + -webkit-transform: rotate(-6deg); + -o-transform: rotate(-6deg); + -moz-transform: rotate(-6deg); + -ms-transform: rotate(-6deg); } ul.notes li:nth-child(even) div { - -o-transform: rotate(4deg); - -webkit-transform: rotate(4deg); - -moz-transform: rotate(4deg); - -ms-transform: rotate(4deg); - position: relative; - top: 5px; + -o-transform: rotate(4deg); + -webkit-transform: rotate(4deg); + -moz-transform: rotate(4deg); + -ms-transform: rotate(4deg); + position: relative; + top: 5px; } ul.notes li:nth-child(3n) div { - -o-transform: rotate(-3deg); - -webkit-transform: rotate(-3deg); - -moz-transform: rotate(-3deg); - -ms-transform: rotate(-3deg); - position: relative; - top: -5px; + -o-transform: rotate(-3deg); + -webkit-transform: rotate(-3deg); + -moz-transform: rotate(-3deg); + -ms-transform: rotate(-3deg); + position: relative; + top: -5px; } ul.notes li:nth-child(5n) div { - -o-transform: rotate(5deg); - -webkit-transform: rotate(5deg); - -moz-transform: rotate(5deg); - -ms-transform: rotate(5deg); - position: relative; - top: -10px; + -o-transform: rotate(5deg); + -webkit-transform: rotate(5deg); + -moz-transform: rotate(5deg); + -ms-transform: rotate(5deg); + position: relative; + top: -10px; } ul.notes li div:hover, ul.notes li div:focus { - -webkit-transform: scale(1.1); - -moz-transform: scale(1.1); - -o-transform: scale(1.1); - -ms-transform: scale(1.1); - position: relative; - z-index: 5; + -webkit-transform: scale(1.1); + -moz-transform: scale(1.1); + -o-transform: scale(1.1); + -ms-transform: scale(1.1); + position: relative; + z-index: 5; } ul.notes li div { - text-decoration: none; - color: #000; - background: #ffc; - display: block; - height: 210px; - width: 210px; - padding: 1em; - -moz-box-shadow: 5px 5px 7px #212121; - -webkit-box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7); - box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7); - -moz-transition: -moz-transform 0.15s linear; - -o-transition: -o-transform 0.15s linear; - -webkit-transition: -webkit-transform 0.15s linear; + text-decoration: none; + color: #000; + background: #ffc; + display: block; + height: 210px; + width: 210px; + padding: 1em; + -moz-box-shadow: 5px 5px 7px #212121; + -webkit-box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7); + box-shadow: 5px 5px 7px rgba(33, 33, 33, 0.7); + -moz-transition: -moz-transform 0.15s linear; + -o-transition: -o-transform 0.15s linear; + -webkit-transition: -webkit-transform 0.15s linear; } /* FILE MANAGER */ .file-box { - float: left; - width: 220px; + float: left; + width: 220px; } .file-manager h5 { - text-transform: uppercase; + text-transform: uppercase; } .file-manager { - list-style: none outside none; - margin: 0; - padding: 0; + list-style: none outside none; + margin: 0; + padding: 0; } .folder-list li a { - color: #666666; - display: block; - padding: 5px 0; + color: #666666; + display: block; + padding: 5px 0; } .folder-list li { - border-bottom: 1px solid #e7eaec; - display: block; + border-bottom: 1px solid #e7eaec; + display: block; } .folder-list li i { - margin-right: 8px; - color: #3d4d5d; + margin-right: 8px; + color: #3d4d5d; } .category-list li a { - color: #666666; - display: block; - padding: 5px 0; + color: #666666; + display: block; + padding: 5px 0; } .category-list li { - display: block; + display: block; } .category-list li i { - margin-right: 8px; - color: #3d4d5d; + margin-right: 8px; + color: #3d4d5d; } .category-list li a .text-navy { - color: #1ab394; + color: #1ab394; } .category-list li a .text-primary { - color: #1c84c6; + color: #1c84c6; } .category-list li a .text-info { - color: #23c6c8; + color: #23c6c8; } .category-list li a .text-danger { - color: #EF5352; + color: #ef5352; } .category-list li a .text-warning { - color: #F8AC59; + color: #f8ac59; } .file-manager h5.tag-title { - margin-top: 20px; + margin-top: 20px; } .tag-list li { - float: left; + float: left; } .tag-list li a { - font-size: 10px; - background-color: #f3f3f4; - padding: 5px 12px; - color: inherit; - border-radius: 2px; - border: 1px solid #e7eaec; - margin-right: 5px; - margin-top: 5px; - display: block; + font-size: 10px; + background-color: #f3f3f4; + padding: 5px 12px; + color: inherit; + border-radius: 2px; + border: 1px solid #e7eaec; + margin-right: 5px; + margin-top: 5px; + display: block; } .file { - border: 1px solid #e7eaec; - padding: 0; - background-color: #ffffff; - position: relative; - margin-bottom: 20px; - margin-right: 20px; + border: 1px solid #e7eaec; + padding: 0; + background-color: #ffffff; + position: relative; + margin-bottom: 20px; + margin-right: 20px; } .file-manager .hr-line-dashed { - margin: 15px 0; + margin: 15px 0; } .file .icon, .file .image { - height: 100px; - overflow: hidden; + height: 100px; + overflow: hidden; } .file .icon { - padding: 15px 10px; - text-align: center; + padding: 15px 10px; + text-align: center; } .file-control { - color: inherit; - font-size: 11px; - margin-right: 10px; + color: inherit; + font-size: 11px; + margin-right: 10px; } .file-control.active { - text-decoration: underline; + text-decoration: underline; } .file .icon i { - font-size: 70px; - color: #dadada; + font-size: 70px; + color: #dadada; } .file .file-name { - padding: 10px; - background-color: #f8f8f8; - border-top: 1px solid #e7eaec; + padding: 10px; + background-color: #f8f8f8; + border-top: 1px solid #e7eaec; } .file-name small { - color: #676a6c; + color: #676a6c; } .corner { - position: absolute; - display: inline-block; - width: 0; - height: 0; - line-height: 0; - border: 0.6em solid transparent; - border-right: 0.6em solid #f1f1f1; - border-bottom: 0.6em solid #f1f1f1; - right: 0em; - bottom: 0em; + position: absolute; + display: inline-block; + width: 0; + height: 0; + line-height: 0; + border: 0.6em solid transparent; + border-right: 0.6em solid #f1f1f1; + border-bottom: 0.6em solid #f1f1f1; + right: 0em; + bottom: 0em; } a.compose-mail { - padding: 8px 10px; + padding: 8px 10px; } .mail-search { - max-width: 300px; + max-width: 300px; } /* PROFILE */ .profile-content { - border-top: none !important; + border-top: none !important; } .profile-stats { - margin-right: 10px; + margin-right: 10px; } .profile-image { - width: 120px; - float: left; + width: 120px; + float: left; } .profile-image img { - width: 96px; - height: 96px; + width: 96px; + height: 96px; } .profile-info { - margin-left: 120px; + margin-left: 120px; } .feed-activity-list .feed-element { - border-bottom: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; } .feed-element:first-child { - margin-top: 0; + margin-top: 0; } .feed-element { - padding-bottom: 15px; + padding-bottom: 15px; } .feed-element, .feed-element .media { - margin-top: 15px; + margin-top: 15px; } .feed-element, .media-body { - overflow: hidden; + overflow: hidden; } .feed-element > .pull-left { - margin-right: 10px; + margin-right: 10px; } .feed-element img.img-circle, .dropdown-messages-box img.img-circle { - width: 38px; - height: 38px; + width: 38px; + height: 38px; } .feed-element .well { - border: 1px solid #e7eaec; - box-shadow: none; - margin-top: 10px; - margin-bottom: 5px; - padding: 10px 20px; - font-size: 11px; - line-height: 16px; + border: 1px solid #e7eaec; + box-shadow: none; + margin-top: 10px; + margin-bottom: 5px; + padding: 10px 20px; + font-size: 11px; + line-height: 16px; } .feed-element .actions { - margin-top: 10px; + margin-top: 10px; } .feed-element .photos { - margin: 10px 0; + margin: 10px 0; } .feed-photo { - max-height: 180px; - border-radius: 4px; - overflow: hidden; - margin-right: 10px; - margin-bottom: 10px; + max-height: 180px; + border-radius: 4px; + overflow: hidden; + margin-right: 10px; + margin-bottom: 10px; } .file-list li { - padding: 5px 10px; - font-size: 11px; - border-radius: 2px; - border: 1px solid #e7eaec; - margin-bottom: 5px; + padding: 5px 10px; + font-size: 11px; + border-radius: 2px; + border: 1px solid #e7eaec; + margin-bottom: 5px; } .file-list li a { - color: inherit; + color: inherit; } .file-list li a:hover { - color: #1ab394; + color: #1ab394; } .user-friends img { - width: 42px; - height: 42px; - margin-bottom: 5px; - margin-right: 5px; + width: 42px; + height: 42px; + margin-bottom: 5px; + margin-right: 5px; } /* MAILBOX */ .mail-box { - background-color: #ffffff; - border: 1px solid #e7eaec; - border-top: 0; - padding: 0; - margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid #e7eaec; + border-top: 0; + padding: 0; + margin-bottom: 20px; } .mail-box-header { - background-color: #ffffff; - border: 1px solid #e7eaec; - border-bottom: 0; - padding: 30px 20px 20px 20px; + background-color: #ffffff; + border: 1px solid #e7eaec; + border-bottom: 0; + padding: 30px 20px 20px 20px; } .mail-box-header h2 { - margin-top: 0; + margin-top: 0; } .mailbox-content .tag-list li a { - background: #ffffff; + background: #ffffff; } .mail-body { - border-top: 1px solid #e7eaec; - padding: 20px; + border-top: 1px solid #e7eaec; + padding: 20px; } .mail-text { - border-top: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; } .mail-text .note-toolbar { - padding: 10px 15px; + padding: 10px 15px; } .mail-body .form-group { - margin-bottom: 5px; + margin-bottom: 5px; } .mail-text .note-editor .note-toolbar { - background-color: #F9F8F8; + background-color: #f9f8f8; } .mail-attachment { - border-top: 1px solid #e7eaec; - padding: 20px; - font-size: 12px; + border-top: 1px solid #e7eaec; + padding: 20px; + font-size: 12px; } .mailbox-content { - background: none; - border: none; - padding: 10px; + background: none; + border: none; + padding: 10px; } .mail-ontact { - width: 23%; + width: 23%; } /* PROJECTS */ .project-people, .project-actions { - text-align: right; - vertical-align: middle; + text-align: right; + vertical-align: middle; } dd.project-people { - text-align: left; - margin-top: 5px; + text-align: left; + margin-top: 5px; } .project-people img { - width: 32px; - height: 32px; + width: 32px; + height: 32px; } .project-title a { - font-size: 14px; - color: #676a6c; - font-weight: 600; + font-size: 14px; + color: #676a6c; + font-weight: 600; } .project-list table tr td { - border-top: none; - border-bottom: 1px solid #e7eaec; - padding: 15px 10px; - vertical-align: middle; + border-top: none; + border-bottom: 1px solid #e7eaec; + padding: 15px 10px; + vertical-align: middle; } .project-manager .tag-list li a { - font-size: 10px; - background-color: white; - padding: 5px 12px; - color: inherit; - border-radius: 2px; - border: 1px solid #e7eaec; - margin-right: 5px; - margin-top: 5px; - display: block; + font-size: 10px; + background-color: white; + padding: 5px 12px; + color: inherit; + border-radius: 2px; + border: 1px solid #e7eaec; + margin-right: 5px; + margin-top: 5px; + display: block; } .project-files li a { - font-size: 11px; - color: #676a6c; - margin-left: 10px; - line-height: 22px; + font-size: 11px; + color: #676a6c; + margin-left: 10px; + line-height: 22px; } /* FAQ */ .faq-item { - padding: 20px; - margin-bottom: 2px; - background: #fff; + padding: 20px; + margin-bottom: 2px; + background: #fff; } .faq-question { - font-size: 18px; - font-weight: 600; - color: #1ab394; - display: block; + font-size: 18px; + font-weight: 600; + color: #1ab394; + display: block; } .faq-question:hover { - color: #179d82; + color: #179d82; } .faq-answer { - margin-top: 10px; - background: #f3f3f4; - border: 1px solid #e7eaec; - border-radius: 3px; - padding: 15px; + margin-top: 10px; + background: #f3f3f4; + border: 1px solid #e7eaec; + border-radius: 3px; + padding: 15px; } .faq-item .tag-item { - background: #f3f3f4; - padding: 2px 6px; - font-size: 10px; - text-transform: uppercase; + background: #f3f3f4; + padding: 2px 6px; + font-size: 10px; + text-transform: uppercase; } /* Chat view */ .message-input { - height: 90px !important; + height: 90px !important; } .chat-avatar { - width: 36px; - height: 36px; - float: left; - margin-right: 10px; + width: 36px; + height: 36px; + float: left; + margin-right: 10px; } .chat-user-name { - padding: 10px; + padding: 10px; } .chat-user { - padding: 8px 10px; - border-bottom: 1px solid #e7eaec; + padding: 8px 10px; + border-bottom: 1px solid #e7eaec; } .chat-user a { - color: inherit; + color: inherit; } .chat-view { - z-index: 20012; + z-index: 20012; } .chat-users, .chat-statistic { - margin-left: -30px; + margin-left: -30px; } @media (max-width: 992px) { - .chat-users, - .chat-statistic { - margin-left: 0; - } + .chat-users, + .chat-statistic { + margin-left: 0; + } } .chat-view .ibox-content { - padding: 0; + padding: 0; } .chat-message { - padding: 10px 20px; + padding: 10px 20px; } .message-avatar { - height: 48px; - width: 48px; - border: 1px solid #e7eaec; - border-radius: 4px; - margin-top: 1px; + height: 48px; + width: 48px; + border: 1px solid #e7eaec; + border-radius: 4px; + margin-top: 1px; } .chat-discussion .chat-message.left .message-avatar { - float: left; - margin-right: 10px; + float: left; + margin-right: 10px; } .chat-discussion .chat-message.right .message-avatar { - float: right; - margin-left: 10px; + float: right; + margin-left: 10px; } .message { - background-color: #fff; - border: 1px solid #e7eaec; - text-align: left; - display: block; - padding: 10px 20px; - position: relative; - border-radius: 4px; + background-color: #fff; + border: 1px solid #e7eaec; + text-align: left; + display: block; + padding: 10px 20px; + position: relative; + border-radius: 4px; } .chat-discussion .chat-message.left .message-date { - float: right; + float: right; } .chat-discussion .chat-message.right .message-date { - float: left; + float: left; } .chat-discussion .chat-message.left .message { - text-align: left; - margin-left: 55px; + text-align: left; + margin-left: 55px; } .chat-discussion .chat-message.right .message { - text-align: right; - margin-right: 55px; + text-align: right; + margin-right: 55px; } .message-date { - font-size: 10px; - color: #888888; + font-size: 10px; + color: var(--grey-dark); } .message-content { - display: block; + display: block; } .chat-discussion { - background: #eee; - padding: 15px; - height: 400px; - overflow-y: auto; + background: #eee; + padding: 15px; + height: 400px; + overflow-y: auto; } .chat-users { - overflow-y: auto; - height: 400px; + overflow-y: auto; + height: 400px; } .chat-message-form .form-group { - margin-bottom: 0; + margin-bottom: 0; } /* jsTree */ .jstree-open > .jstree-anchor > .fa-folder:before { - content: "\f07c"; + content: '\f07c'; } .jstree-default .jstree-icon.none { - width: 0; + width: 0; } /* CLIENTS */ .clients-list { - margin-top: 20px; + margin-top: 20px; } .clients-list .tab-pane { - position: relative; - height: 600px; + position: relative; + height: 600px; } .client-detail { - position: relative; - height: 620px; + position: relative; + height: 620px; } .clients-list table tr td { - height: 46px; - vertical-align: middle; - border: none; + height: 46px; + vertical-align: middle; + border: none; } .client-link { - font-weight: 600; - color: inherit; + font-weight: 600; + color: inherit; } .client-link:hover { - color: inherit; + color: inherit; } .client-avatar { - width: 42px; + width: 42px; } .client-avatar img { - width: 28px; - height: 28px; - border-radius: 50%; + width: 28px; + height: 28px; + border-radius: 50%; } .contact-type { - width: 20px; - color: #c1c3c4; + width: 20px; + color: #c1c3c4; } .client-status { - text-align: left; + text-align: left; } .client-detail .vertical-timeline-content p { - margin: 0; + margin: 0; } .client-detail .vertical-timeline-icon.gray-bg { - color: #a7aaab; + color: #a7aaab; } .clients-list .nav-tabs > li.active > a, .clients-list .nav-tabs > li.active > a:hover, .clients-list .nav-tabs > li.active > a:focus { - border-bottom: 1px solid #fff; + border-bottom: 1px solid #fff; } /* BLOG ARTICLE */ .blog h2 { - font-weight: 700; + font-weight: 700; } .blog h5 { - margin: 0 0 5px 0; + margin: 0 0 5px 0; } .blog .btn { - margin: 0 0 5px 0; + margin: 0 0 5px 0; } .article h1 { - font-size: 48px; - font-weight: 700; - color: #2F4050; + font-size: 48px; + font-weight: 700; + color: #2f4050; } .article p { - font-size: 15px; - line-height: 26px; + font-size: 15px; + line-height: 26px; } .article-title { - text-align: center; - margin: 40px 0 100px 0; + text-align: center; + margin: 40px 0 100px 0; } .article .ibox-content { - padding: 40px; + padding: 40px; } /* ISSUE TRACKER */ .issue-tracker .btn-link { - color: #1ab394; + color: #1ab394; } table.issue-tracker tbody tr td { - vertical-align: middle; - height: 50px; + vertical-align: middle; + height: 50px; } .issue-info { - width: 50%; + width: 50%; } .issue-info a { - font-weight: 600; - color: #676a6c; + font-weight: 600; + color: #676a6c; } .issue-info small { - display: block; + display: block; } /* TEAMS */ .team-members { - margin: 10px 0; + margin: 10px 0; } .team-members img.img-circle { - width: 42px; - height: 42px; - margin-bottom: 5px; + width: 42px; + height: 42px; + margin-bottom: 5px; } /* AGILE BOARD */ .sortable-list { - padding: 10px 0; + padding: 10px 0; } .agile-list { - list-style: none; - margin: 0; + list-style: none; + margin: 0; } .agile-list li { - background: #FAFAFB; - border: 1px solid #e7eaec; - margin: 0 0 10px 0; - padding: 10px; - border-radius: 2px; + background: #fafafb; + border: 1px solid #e7eaec; + margin: 0 0 10px 0; + padding: 10px; + border-radius: 2px; } .agile-list li:hover { - cursor: pointer; - background: #fff; + cursor: pointer; + background: #fff; } .agile-list li.warning-element { - border-left: 3px solid #f8ac59; + border-left: 3px solid #f8ac59; } .agile-list li.danger-element { - border-left: 3px solid #ed5565; + border-left: 3px solid #ed5565; } .agile-list li.info-element { - border-left: 3px solid #1c84c6; + border-left: 3px solid #1c84c6; } .agile-list li.success-element { - border-left: 3px solid #1ab394; + border-left: 3px solid #1ab394; } .agile-detail { - margin-top: 5px; - font-size: 12px; + margin-top: 5px; + font-size: 12px; } /* DIFF */ ins { - background-color: #c6ffc6; - text-decoration: none; + background-color: #c6ffc6; + text-decoration: none; } del { - background-color: #ffc6c6; + background-color: #ffc6c6; } /* E-commerce */ .product-box { - padding: 0; - border: 1px solid #e7eaec; + padding: 0; + border: 1px solid #e7eaec; } .product-box:hover, .product-box.active { - border: 1px solid transparent; - -webkit-box-shadow: 0 3px 7px 0 #a8a8a8; - -moz-box-shadow: 0 3px 7px 0 #a8a8a8; - box-shadow: 0 3px 7px 0 #a8a8a8; + border: 1px solid transparent; + -webkit-box-shadow: 0 3px 7px 0 #a8a8a8; + -moz-box-shadow: 0 3px 7px 0 #a8a8a8; + box-shadow: 0 3px 7px 0 #a8a8a8; } .product-imitation { - text-align: center; - padding: 90px 0; - background-color: #f8f8f9; - color: #bebec3; - font-weight: 600; + text-align: center; + padding: 90px 0; + background-color: #f8f8f9; + color: #bebec3; + font-weight: 600; } .cart-product-imitation { - text-align: center; - padding-top: 30px; - height: 80px; - width: 80px; - background-color: #f8f8f9; + text-align: center; + padding-top: 30px; + height: 80px; + width: 80px; + background-color: #f8f8f9; } .product-imitation.xl { - padding: 120px 0; + padding: 120px 0; } .product-desc { - padding: 20px; - position: relative; + padding: 20px; + position: relative; } .ecommerce .tag-list { - padding: 0; + padding: 0; } .ecommerce .fa-star { - color: #d1dade; + color: #d1dade; } .ecommerce .fa-star.active { - color: #f8ac59; + color: #f8ac59; } .ecommerce .note-editor { - border: 1px solid #e7eaec; + border: 1px solid #e7eaec; } table.shoping-cart-table { - margin-bottom: 0; + margin-bottom: 0; } table.shoping-cart-table tr td { - border: none; - text-align: right; -} + border: none; + text-align: right; +} table.shoping-cart-table tr td.desc, table.shoping-cart-table tr td:first-child { - text-align: left; + text-align: left; } table.shoping-cart-table tr td:last-child { - width: 80px; + width: 80px; } .product-name { - font-size: 16px; - font-weight: 600; - color: #676a6c; - display: block; - margin: 2px 0 5px 0; + font-size: 16px; + font-weight: 600; + color: #676a6c; + display: block; + margin: 2px 0 5px 0; } .product-name:hover, .product-name:focus { - color: #1ab394; + color: #1ab394; } .product-price { - font-size: 14px; - font-weight: 600; - color: #ffffff; - background-color: #1ab394; - padding: 6px 12px; - position: absolute; - top: -32px; - right: 0; + font-size: 14px; + font-weight: 600; + color: #ffffff; + background-color: #1ab394; + padding: 6px 12px; + position: absolute; + top: -32px; + right: 0; } .product-detail .ibox-content { - padding: 30px 30px 50px 30px; + padding: 30px 30px 50px 30px; } .image-imitation { - background-color: #f8f8f9; - text-align: center; - padding: 200px 0; + background-color: #f8f8f9; + text-align: center; + padding: 200px 0; } .product-main-price small { - font-size: 10px; + font-size: 10px; } .product-images { - margin: 0 20px; + margin: 0 20px; } /* Social feed */ .social-feed-separated .social-feed-box { - margin-left: 62px; + margin-left: 62px; } .social-feed-separated .social-avatar { - float: left; - padding: 0; + float: left; + padding: 0; } .social-feed-separated .social-avatar img { - width: 52px; - height: 52px; - border: 1px solid #e7eaec; + width: 52px; + height: 52px; + border: 1px solid #e7eaec; } .social-feed-separated .social-feed-box .social-avatar { - padding: 15px 15px 0 15px; - float: none; + padding: 15px 15px 0 15px; + float: none; } .social-feed-box { - /*padding: 15px;*/ - border: 1px solid #e7eaec; - background: #fff; - margin-bottom: 15px; + /*padding: 15px;*/ + border: 1px solid #e7eaec; + background: #fff; + margin-bottom: 15px; } .article .social-feed-box { - margin-bottom: 0; - border-bottom: none; + margin-bottom: 0; + border-bottom: none; } .article .social-feed-box:last-child { - margin-bottom: 0; - border-bottom: 1px solid #e7eaec; + margin-bottom: 0; + border-bottom: 1px solid #e7eaec; } .article .social-feed-box p { - font-size: 13px; - line-height: 18px; + font-size: 13px; + line-height: 18px; } .social-action { - margin: 15px; + margin: 15px; } .social-avatar { - padding: 15px 15px 0 15px; + padding: 15px 15px 0 15px; } .social-comment .social-comment { - margin-left: 45px; + margin-left: 45px; } .social-avatar img { - height: 40px; - width: 40px; - margin-right: 10px; + height: 40px; + width: 40px; + margin-right: 10px; } .social-avatar .media-body a { - font-size: 14px; - display: block; + font-size: 14px; + display: block; } .social-body { - padding: 15px; + padding: 15px; } .social-body img { - margin-bottom: 10px; + margin-bottom: 10px; } .social-footer { - border-top: 1px solid #e7eaec; - padding: 10px 15px; - background: #f9f9f9; + border-top: 1px solid #e7eaec; + padding: 10px 15px; + background: #f9f9f9; } .social-footer .social-comment img { - width: 32px; - margin-right: 10px; + width: 32px; + margin-right: 10px; } .social-comment:first-child { - margin-top: 0; + margin-top: 0; } .social-comment { - margin-top: 15px; + margin-top: 15px; } .social-comment textarea { - font-size: 12px; + font-size: 12px; } /* Vote list */ .vote-item { - padding: 20px 25px; - background: #ffffff; - border-top: 1px solid #e7eaec; + padding: 20px 25px; + background: #ffffff; + border-top: 1px solid #e7eaec; } .vote-item:last-child { - border-bottom: 1px solid #e7eaec; + border-bottom: 1px solid #e7eaec; } .vote-item:hover { - background: #fbfbfb; + background: #fbfbfb; } .vote-actions { - float: left; - width: 30px; - margin-right: 15px; - text-align: center; + float: left; + width: 30px; + margin-right: 15px; + text-align: center; } .vote-actions a { - color: #1ab394; - font-weight: 600; + color: #1ab394; + font-weight: 600; } .vote-actions { - font-weight: 600; + font-weight: 600; } .vote-title { - display: block; - color: inherit; - font-size: 18px; - font-weight: 600; - margin-top: 5px; - margin-bottom: 2px; + display: block; + color: inherit; + font-size: 18px; + font-weight: 600; + margin-top: 5px; + margin-bottom: 2px; } .vote-title:hover, .vote-title:focus { - color: inherit; + color: inherit; } .vote-info, .vote-title { - margin-left: 45px; + margin-left: 45px; } .vote-info, .vote-info a { - color: #b4b6b8; - font-size: 12px; + color: #b4b6b8; + font-size: 12px; } .vote-info a { - margin-right: 10px; + margin-right: 10px; } .vote-info a:hover { - color: #1ab394; + color: #1ab394; } .vote-icon { - text-align: right; - font-size: 38px; - display: block; - color: #e8e9ea; + text-align: right; + font-size: 38px; + display: block; + color: #e8e9ea; } .vote-icon.active { - color: #1ab394; + color: #1ab394; } body.body-small .vote-icon { - display: none; + display: none; } .lightBoxGallery { - text-align: center; + text-align: center; } .lightBoxGallery img { - margin: 5px; + margin: 5px; } #small-chat { - position: fixed; - bottom: 20px; - right: 20px; - z-index: 100; + position: fixed; + bottom: 20px; + right: 20px; + z-index: 100; } #small-chat .badge { - position: absolute; - top: -3px; - right: -4px; + position: absolute; + top: -3px; + right: -4px; } .open-small-chat { - height: 38px; - width: 38px; - display: block; - background: #1ab394; - padding: 9px 8px; - text-align: center; - color: #fff; - border-radius: 50%; + height: 38px; + width: 38px; + display: block; + background: #1ab394; + padding: 9px 8px; + text-align: center; + color: #fff; + border-radius: 50%; } .open-small-chat:hover { - color: white; - background: #1ab394; + color: white; + background: #1ab394; } .small-chat-box { - display: none; - position: fixed; - bottom: 20px; - right: 75px; - background: #fff; - border: 1px solid #e7eaec; - width: 230px; - height: 320px; - border-radius: 4px; + display: none; + position: fixed; + bottom: 20px; + right: 75px; + background: #fff; + border: 1px solid #e7eaec; + width: 230px; + height: 320px; + border-radius: 4px; } .small-chat-box.ng-small-chat { - display: block; + display: block; } .body-small .small-chat-box { - bottom: 70px; - right: 20px; + bottom: 70px; + right: 20px; } .small-chat-box.active { - display: block; + display: block; } .small-chat-box .heading { - background: #2f4050; - padding: 8px 15px; - font-weight: bold; - color: #fff; + background: #2f4050; + padding: 8px 15px; + font-weight: bold; + color: #fff; } .small-chat-box .chat-date { - opacity: 0.6; - font-size: 10px; - font-weight: normal; + opacity: 0.6; + font-size: 10px; + font-weight: normal; } .small-chat-box .content { - padding: 15px 15px; + padding: 15px 15px; } .small-chat-box .content .author-name { - font-weight: bold; - margin-bottom: 3px; - font-size: 11px; + font-weight: bold; + margin-bottom: 3px; + font-size: 11px; } .small-chat-box .content > div { - padding-bottom: 20px; + padding-bottom: 20px; } .small-chat-box .content .chat-message { - padding: 5px 10px; - border-radius: 6px; - font-size: 11px; - line-height: 14px; - max-width: 80%; - background: #f3f3f4; - margin-bottom: 10px; + padding: 5px 10px; + border-radius: 6px; + font-size: 11px; + line-height: 14px; + max-width: 80%; + background: #f3f3f4; + margin-bottom: 10px; } .small-chat-box .content .chat-message.active { - background: #1ab394; - color: #fff; + background: #1ab394; + color: #fff; } .small-chat-box .content .left { - text-align: left; - clear: both; + text-align: left; + clear: both; } .small-chat-box .content .left .chat-message { - float: left; + float: left; } .small-chat-box .content .right { - text-align: right; - clear: both; + text-align: right; + clear: both; } .small-chat-box .content .right .chat-message { - float: right; + float: right; } .small-chat-box .form-chat { - padding: 10px 10px; + padding: 10px 10px; } /* * metismenu - v2.0.2 @@ -5831,70 +5854,70 @@ body.body-small .vote-icon { */ .metismenu .plus-minus, .metismenu .plus-times { - float: right; + float: right; } .metismenu .arrow { - float: right; - line-height: 1.42857; + float: right; + line-height: 1.42857; } .metismenu .glyphicon.arrow:before { - content: "\e079"; + content: '\e079'; } .metismenu .active > a > .glyphicon.arrow:before { - content: "\e114"; + content: '\e114'; } .metismenu .fa.arrow:before { - content: "\f104"; + content: '\f104'; } .metismenu .active > a > .fa.arrow:before { - content: "\f107"; + content: '\f107'; } .metismenu .ion.arrow:before { - content: "\f3d2"; + content: '\f3d2'; } .metismenu .active > a > .ion.arrow:before { - content: "\f3d0"; + content: '\f3d0'; } .metismenu .fa.plus-minus:before, .metismenu .fa.plus-times:before { - content: "\f067"; + content: '\f067'; } .metismenu .active > a > .fa.plus-times { - -webkit-transform: rotate(45deg); - -ms-transform: rotate(45deg); - transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); } .metismenu .active > a > .fa.plus-minus:before { - content: "\f068"; + content: '\f068'; } .metismenu .collapse { - display: none; + display: none; } .metismenu .collapse.in { - display: block; + display: block; } .metismenu .collapsing { - position: relative; - height: 0; - overflow: hidden; - -webkit-transition-timing-function: ease; - transition-timing-function: ease; - -webkit-transition-duration: .35s; - transition-duration: .35s; - -webkit-transition-property: height, visibility; - transition-property: height, visibility; + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-property: height, visibility; + transition-property: height, visibility; } .mini-navbar .metismenu .collapse { - opacity: 0; + opacity: 0; } .mini-navbar .metismenu .collapse.in { - opacity: 1; + opacity: 1; } .mini-navbar .metismenu .collapse a { - display: none; + display: none; } .mini-navbar .metismenu .collapse.in a { - display: block; + display: block; } /* * Usage: @@ -5903,40 +5926,40 @@ body.body-small .vote-icon { * */ .sk-spinner-rotating-plane.sk-spinner { - width: 30px; - height: 30px; - background-color: #1ab394; - margin: 0 auto; - -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out; - animation: sk-rotatePlane 1.2s infinite ease-in-out; + width: 30px; + height: 30px; + background-color: #1ab394; + margin: 0 auto; + -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out; + animation: sk-rotatePlane 1.2s infinite ease-in-out; } @-webkit-keyframes sk-rotatePlane { - 0% { - -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); - transform: perspective(120px) rotateX(0deg) rotateY(0deg); - } - 50% { - -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); - transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); - } - 100% { - -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); - transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); - } + 0% { + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + 50% { + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + 100% { + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + } } @keyframes sk-rotatePlane { - 0% { - -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); - transform: perspective(120px) rotateX(0deg) rotateY(0deg); - } - 50% { - -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); - transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); - } - 100% { - -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); - transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); - } + 0% { + -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg); + transform: perspective(120px) rotateX(0deg) rotateY(0deg); + } + 50% { + -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); + } + 100% { + -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); + } } /* * Usage: @@ -5948,49 +5971,49 @@ body.body-small .vote-icon { * */ .sk-spinner-double-bounce.sk-spinner { - width: 40px; - height: 40px; - position: relative; - margin: 0 auto; + width: 40px; + height: 40px; + position: relative; + margin: 0 auto; } .sk-spinner-double-bounce .sk-double-bounce1, .sk-spinner-double-bounce .sk-double-bounce2 { - width: 100%; - height: 100%; - border-radius: 50%; - background-color: #1ab394; - opacity: 0.6; - position: absolute; - top: 0; - left: 0; - -webkit-animation: sk-doubleBounce 2s infinite ease-in-out; - animation: sk-doubleBounce 2s infinite ease-in-out; + width: 100%; + height: 100%; + border-radius: 50%; + background-color: #1ab394; + opacity: 0.6; + position: absolute; + top: 0; + left: 0; + -webkit-animation: sk-doubleBounce 2s infinite ease-in-out; + animation: sk-doubleBounce 2s infinite ease-in-out; } .sk-spinner-double-bounce .sk-double-bounce2 { - -webkit-animation-delay: -1s; - animation-delay: -1s; + -webkit-animation-delay: -1s; + animation-delay: -1s; } @-webkit-keyframes sk-doubleBounce { - 0%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 50% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } } @keyframes sk-doubleBounce { - 0%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 50% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } } /* * Usage: @@ -6005,59 +6028,59 @@ body.body-small .vote-icon { * */ .sk-spinner-wave.sk-spinner { - margin: 0 auto; - width: 50px; - height: 30px; - text-align: center; - font-size: 10px; + margin: 0 auto; + width: 50px; + height: 30px; + text-align: center; + font-size: 10px; } .sk-spinner-wave div { - background-color: #1ab394; - height: 100%; - width: 6px; - display: inline-block; - -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out; - animation: sk-waveStretchDelay 1.2s infinite ease-in-out; + background-color: #1ab394; + height: 100%; + width: 6px; + display: inline-block; + -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out; + animation: sk-waveStretchDelay 1.2s infinite ease-in-out; } .sk-spinner-wave .sk-rect2 { - -webkit-animation-delay: -1.1s; - animation-delay: -1.1s; + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; } .sk-spinner-wave .sk-rect3 { - -webkit-animation-delay: -1s; - animation-delay: -1s; + -webkit-animation-delay: -1s; + animation-delay: -1s; } .sk-spinner-wave .sk-rect4 { - -webkit-animation-delay: -0.9s; - animation-delay: -0.9s; + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } .sk-spinner-wave .sk-rect5 { - -webkit-animation-delay: -0.8s; - animation-delay: -0.8s; + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; } @-webkit-keyframes sk-waveStretchDelay { - 0%, - 40%, - 100% { - -webkit-transform: scaleY(0.4); - transform: scaleY(0.4); - } - 20% { - -webkit-transform: scaleY(1); - transform: scaleY(1); - } + 0%, + 40%, + 100% { + -webkit-transform: scaleY(0.4); + transform: scaleY(0.4); + } + 20% { + -webkit-transform: scaleY(1); + transform: scaleY(1); + } } @keyframes sk-waveStretchDelay { - 0%, - 40%, - 100% { - -webkit-transform: scaleY(0.4); - transform: scaleY(0.4); - } - 20% { - -webkit-transform: scaleY(1); - transform: scaleY(1); - } + 0%, + 40%, + 100% { + -webkit-transform: scaleY(0.4); + transform: scaleY(0.4); + } + 20% { + -webkit-transform: scaleY(1); + transform: scaleY(1); + } } /* * Usage: @@ -6069,71 +6092,71 @@ body.body-small .vote-icon { * */ .sk-spinner-wandering-cubes.sk-spinner { - margin: 0 auto; - width: 32px; - height: 32px; - position: relative; + margin: 0 auto; + width: 32px; + height: 32px; + position: relative; } .sk-spinner-wandering-cubes .sk-cube1, .sk-spinner-wandering-cubes .sk-cube2 { - background-color: #1ab394; - width: 10px; - height: 10px; - position: absolute; - top: 0; - left: 0; - -webkit-animation: sk-wanderingCubeMove 1.8s infinite ease-in-out; - animation: sk-wanderingCubeMove 1.8s infinite ease-in-out; + background-color: #1ab394; + width: 10px; + height: 10px; + position: absolute; + top: 0; + left: 0; + -webkit-animation: sk-wanderingCubeMove 1.8s infinite ease-in-out; + animation: sk-wanderingCubeMove 1.8s infinite ease-in-out; } .sk-spinner-wandering-cubes .sk-cube2 { - -webkit-animation-delay: -0.9s; - animation-delay: -0.9s; + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } @-webkit-keyframes sk-wanderingCubeMove { - 25% { - -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); - transform: translateX(42px) rotate(-90deg) scale(0.5); - } - 50% { - /* Hack to make FF rotate in the right direction */ - -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); - transform: translateX(42px) translateY(42px) rotate(-179deg); - } - 50.1% { - -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); - transform: translateX(42px) translateY(42px) rotate(-180deg); - } - 75% { - -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); - transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); - } - 100% { - -webkit-transform: rotate(-360deg); - transform: rotate(-360deg); - } + 25% { + -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); + transform: translateX(42px) rotate(-90deg) scale(0.5); + } + 50% { + /* Hack to make FF rotate in the right direction */ + -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); + transform: translateX(42px) translateY(42px) rotate(-179deg); + } + 50.1% { + -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); + transform: translateX(42px) translateY(42px) rotate(-180deg); + } + 75% { + -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); + transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); + } + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } } @keyframes sk-wanderingCubeMove { - 25% { - -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); - transform: translateX(42px) rotate(-90deg) scale(0.5); - } - 50% { - /* Hack to make FF rotate in the right direction */ - -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); - transform: translateX(42px) translateY(42px) rotate(-179deg); - } - 50.1% { - -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); - transform: translateX(42px) translateY(42px) rotate(-180deg); - } - 75% { - -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); - transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); - } - 100% { - -webkit-transform: rotate(-360deg); - transform: rotate(-360deg); - } + 25% { + -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5); + transform: translateX(42px) rotate(-90deg) scale(0.5); + } + 50% { + /* Hack to make FF rotate in the right direction */ + -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg); + transform: translateX(42px) translateY(42px) rotate(-179deg); + } + 50.1% { + -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg); + transform: translateX(42px) translateY(42px) rotate(-180deg); + } + 75% { + -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); + transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5); + } + 100% { + -webkit-transform: rotate(-360deg); + transform: rotate(-360deg); + } } /* * Usage: @@ -6142,35 +6165,35 @@ body.body-small .vote-icon { * */ .sk-spinner-pulse.sk-spinner { - width: 40px; - height: 40px; - margin: 0 auto; - background-color: #1ab394; - border-radius: 100%; - -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out; - animation: sk-pulseScaleOut 1s infinite ease-in-out; + width: 40px; + height: 40px; + margin: 0 auto; + background-color: #1ab394; + border-radius: 100%; + -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out; + animation: sk-pulseScaleOut 1s infinite ease-in-out; } @-webkit-keyframes sk-pulseScaleOut { - 0% { - -webkit-transform: scale(0); - transform: scale(0); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 0; - } + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } } @keyframes sk-pulseScaleOut { - 0% { - -webkit-transform: scale(0); - transform: scale(0); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 0; - } + 0% { + -webkit-transform: scale(0); + transform: scale(0); + } + 100% { + -webkit-transform: scale(1); + transform: scale(1); + opacity: 0; + } } /* * Usage: @@ -6182,65 +6205,65 @@ body.body-small .vote-icon { * */ .sk-spinner-chasing-dots.sk-spinner { - margin: 0 auto; - width: 40px; - height: 40px; - position: relative; - text-align: center; - -webkit-animation: sk-chasingDotsRotate 2s infinite linear; - animation: sk-chasingDotsRotate 2s infinite linear; + margin: 0 auto; + width: 40px; + height: 40px; + position: relative; + text-align: center; + -webkit-animation: sk-chasingDotsRotate 2s infinite linear; + animation: sk-chasingDotsRotate 2s infinite linear; } .sk-spinner-chasing-dots .sk-dot1, .sk-spinner-chasing-dots .sk-dot2 { - width: 60%; - height: 60%; - display: inline-block; - position: absolute; - top: 0; - background-color: #1ab394; - border-radius: 100%; - -webkit-animation: sk-chasingDotsBounce 2s infinite ease-in-out; - animation: sk-chasingDotsBounce 2s infinite ease-in-out; + width: 60%; + height: 60%; + display: inline-block; + position: absolute; + top: 0; + background-color: #1ab394; + border-radius: 100%; + -webkit-animation: sk-chasingDotsBounce 2s infinite ease-in-out; + animation: sk-chasingDotsBounce 2s infinite ease-in-out; } .sk-spinner-chasing-dots .sk-dot2 { - top: auto; - bottom: 0; - -webkit-animation-delay: -1s; - animation-delay: -1s; + top: auto; + bottom: 0; + -webkit-animation-delay: -1s; + animation-delay: -1s; } @-webkit-keyframes sk-chasingDotsRotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } } @keyframes sk-chasingDotsRotate { - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } } @-webkit-keyframes sk-chasingDotsBounce { - 0%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 50% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } } @keyframes sk-chasingDotsBounce { - 0%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 50% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 50% { + -webkit-transform: scale(1); + transform: scale(1); + } } /* * Usage: @@ -6253,53 +6276,53 @@ body.body-small .vote-icon { * */ .sk-spinner-three-bounce.sk-spinner { - margin: 0 auto; - width: 70px; - text-align: center; + margin: 0 auto; + width: 70px; + text-align: center; } .sk-spinner-three-bounce div { - width: 18px; - height: 18px; - background-color: #1ab394; - border-radius: 100%; - display: inline-block; - -webkit-animation: sk-threeBounceDelay 1.4s infinite ease-in-out; - animation: sk-threeBounceDelay 1.4s infinite ease-in-out; - /* Prevent first frame from flickering when animation starts */ - -webkit-animation-fill-mode: both; - animation-fill-mode: both; + width: 18px; + height: 18px; + background-color: #1ab394; + border-radius: 100%; + display: inline-block; + -webkit-animation: sk-threeBounceDelay 1.4s infinite ease-in-out; + animation: sk-threeBounceDelay 1.4s infinite ease-in-out; + /* Prevent first frame from flickering when animation starts */ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } .sk-spinner-three-bounce .sk-bounce1 { - -webkit-animation-delay: -0.32s; - animation-delay: -0.32s; + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; } .sk-spinner-three-bounce .sk-bounce2 { - -webkit-animation-delay: -0.16s; - animation-delay: -0.16s; + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; } @-webkit-keyframes sk-threeBounceDelay { - 0%, - 80%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 40% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 80%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 40% { + -webkit-transform: scale(1); + transform: scale(1); + } } @keyframes sk-threeBounceDelay { - 0%, - 80%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 40% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 80%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 40% { + -webkit-transform: scale(1); + transform: scale(1); + } } /* * Usage: @@ -6321,154 +6344,154 @@ body.body-small .vote-icon { * */ .sk-spinner-circle.sk-spinner { - margin: 0 auto; - width: 22px; - height: 22px; - position: relative; + margin: 0 auto; + width: 22px; + height: 22px; + position: relative; } .sk-spinner-circle .sk-circle { - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; } .sk-spinner-circle .sk-circle:before { - content: ''; - display: block; - margin: 0 auto; - width: 20%; - height: 20%; - background-color: #1ab394; - border-radius: 100%; - -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out; - animation: sk-circleBounceDelay 1.2s infinite ease-in-out; - /* Prevent first frame from flickering when animation starts */ - -webkit-animation-fill-mode: both; - animation-fill-mode: both; + content: ''; + display: block; + margin: 0 auto; + width: 20%; + height: 20%; + background-color: #1ab394; + border-radius: 100%; + -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out; + animation: sk-circleBounceDelay 1.2s infinite ease-in-out; + /* Prevent first frame from flickering when animation starts */ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } .sk-spinner-circle .sk-circle2 { - -webkit-transform: rotate(30deg); - -ms-transform: rotate(30deg); - transform: rotate(30deg); + -webkit-transform: rotate(30deg); + -ms-transform: rotate(30deg); + transform: rotate(30deg); } .sk-spinner-circle .sk-circle3 { - -webkit-transform: rotate(60deg); - -ms-transform: rotate(60deg); - transform: rotate(60deg); + -webkit-transform: rotate(60deg); + -ms-transform: rotate(60deg); + transform: rotate(60deg); } .sk-spinner-circle .sk-circle4 { - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } .sk-spinner-circle .sk-circle5 { - -webkit-transform: rotate(120deg); - -ms-transform: rotate(120deg); - transform: rotate(120deg); + -webkit-transform: rotate(120deg); + -ms-transform: rotate(120deg); + transform: rotate(120deg); } .sk-spinner-circle .sk-circle6 { - -webkit-transform: rotate(150deg); - -ms-transform: rotate(150deg); - transform: rotate(150deg); + -webkit-transform: rotate(150deg); + -ms-transform: rotate(150deg); + transform: rotate(150deg); } .sk-spinner-circle .sk-circle7 { - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } .sk-spinner-circle .sk-circle8 { - -webkit-transform: rotate(210deg); - -ms-transform: rotate(210deg); - transform: rotate(210deg); + -webkit-transform: rotate(210deg); + -ms-transform: rotate(210deg); + transform: rotate(210deg); } .sk-spinner-circle .sk-circle9 { - -webkit-transform: rotate(240deg); - -ms-transform: rotate(240deg); - transform: rotate(240deg); + -webkit-transform: rotate(240deg); + -ms-transform: rotate(240deg); + transform: rotate(240deg); } .sk-spinner-circle .sk-circle10 { - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); } .sk-spinner-circle .sk-circle11 { - -webkit-transform: rotate(300deg); - -ms-transform: rotate(300deg); - transform: rotate(300deg); + -webkit-transform: rotate(300deg); + -ms-transform: rotate(300deg); + transform: rotate(300deg); } .sk-spinner-circle .sk-circle12 { - -webkit-transform: rotate(330deg); - -ms-transform: rotate(330deg); - transform: rotate(330deg); + -webkit-transform: rotate(330deg); + -ms-transform: rotate(330deg); + transform: rotate(330deg); } .sk-spinner-circle .sk-circle2:before { - -webkit-animation-delay: -1.1s; - animation-delay: -1.1s; + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; } .sk-spinner-circle .sk-circle3:before { - -webkit-animation-delay: -1s; - animation-delay: -1s; + -webkit-animation-delay: -1s; + animation-delay: -1s; } .sk-spinner-circle .sk-circle4:before { - -webkit-animation-delay: -0.9s; - animation-delay: -0.9s; + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } .sk-spinner-circle .sk-circle5:before { - -webkit-animation-delay: -0.8s; - animation-delay: -0.8s; + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; } .sk-spinner-circle .sk-circle6:before { - -webkit-animation-delay: -0.7s; - animation-delay: -0.7s; + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; } .sk-spinner-circle .sk-circle7:before { - -webkit-animation-delay: -0.6s; - animation-delay: -0.6s; + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; } .sk-spinner-circle .sk-circle8:before { - -webkit-animation-delay: -0.5s; - animation-delay: -0.5s; + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; } .sk-spinner-circle .sk-circle9:before { - -webkit-animation-delay: -0.4s; - animation-delay: -0.4s; + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; } .sk-spinner-circle .sk-circle10:before { - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; } .sk-spinner-circle .sk-circle11:before { - -webkit-animation-delay: -0.2s; - animation-delay: -0.2s; + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; } .sk-spinner-circle .sk-circle12:before { - -webkit-animation-delay: -0.1s; - animation-delay: -0.1s; + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; } @-webkit-keyframes sk-circleBounceDelay { - 0%, - 80%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 40% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 80%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 40% { + -webkit-transform: scale(1); + transform: scale(1); + } } @keyframes sk-circleBounceDelay { - 0%, - 80%, - 100% { - -webkit-transform: scale(0); - transform: scale(0); - } - 40% { - -webkit-transform: scale(1); - transform: scale(1); - } + 0%, + 80%, + 100% { + -webkit-transform: scale(0); + transform: scale(0); + } + 40% { + -webkit-transform: scale(1); + transform: scale(1); + } } /* * Usage: @@ -6487,7 +6510,7 @@ body.body-small .vote-icon { * */ .sk-spinner-cube-grid { - /* + /* * Spinner positions * 1 2 3 * 4 5 6 @@ -6495,77 +6518,77 @@ body.body-small .vote-icon { */ } .sk-spinner-cube-grid.sk-spinner { - width: 30px; - height: 30px; - margin: 0 auto; + width: 30px; + height: 30px; + margin: 0 auto; } .sk-spinner-cube-grid .sk-cube { - width: 33%; - height: 33%; - background-color: #1ab394; - float: left; - -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; - animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; + width: 33%; + height: 33%; + background-color: #1ab394; + float: left; + -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; + animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; } .sk-spinner-cube-grid .sk-cube:nth-child(1) { - -webkit-animation-delay: 0.2s; - animation-delay: 0.2s; + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } .sk-spinner-cube-grid .sk-cube:nth-child(2) { - -webkit-animation-delay: 0.3s; - animation-delay: 0.3s; + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; } .sk-spinner-cube-grid .sk-cube:nth-child(3) { - -webkit-animation-delay: 0.4s; - animation-delay: 0.4s; + -webkit-animation-delay: 0.4s; + animation-delay: 0.4s; } .sk-spinner-cube-grid .sk-cube:nth-child(4) { - -webkit-animation-delay: 0.1s; - animation-delay: 0.1s; + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; } .sk-spinner-cube-grid .sk-cube:nth-child(5) { - -webkit-animation-delay: 0.2s; - animation-delay: 0.2s; + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } .sk-spinner-cube-grid .sk-cube:nth-child(6) { - -webkit-animation-delay: 0.3s; - animation-delay: 0.3s; + -webkit-animation-delay: 0.3s; + animation-delay: 0.3s; } .sk-spinner-cube-grid .sk-cube:nth-child(7) { - -webkit-animation-delay: 0s; - animation-delay: 0s; + -webkit-animation-delay: 0s; + animation-delay: 0s; } .sk-spinner-cube-grid .sk-cube:nth-child(8) { - -webkit-animation-delay: 0.1s; - animation-delay: 0.1s; + -webkit-animation-delay: 0.1s; + animation-delay: 0.1s; } .sk-spinner-cube-grid .sk-cube:nth-child(9) { - -webkit-animation-delay: 0.2s; - animation-delay: 0.2s; + -webkit-animation-delay: 0.2s; + animation-delay: 0.2s; } @-webkit-keyframes sk-cubeGridScaleDelay { - 0%, - 70%, - 100% { - -webkit-transform: scale3D(1, 1, 1); - transform: scale3D(1, 1, 1); - } - 35% { - -webkit-transform: scale3D(0, 0, 1); - transform: scale3D(0, 0, 1); - } + 0%, + 70%, + 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); + } + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); + } } @keyframes sk-cubeGridScaleDelay { - 0%, - 70%, - 100% { - -webkit-transform: scale3D(1, 1, 1); - transform: scale3D(1, 1, 1); - } - 35% { - -webkit-transform: scale3D(0, 0, 1); - transform: scale3D(0, 0, 1); - } + 0%, + 70%, + 100% { + -webkit-transform: scale3D(1, 1, 1); + transform: scale3D(1, 1, 1); + } + 35% { + -webkit-transform: scale3D(0, 0, 1); + transform: scale3D(0, 0, 1); + } } /* * Usage: @@ -6576,44 +6599,44 @@ body.body-small .vote-icon { * */ .sk-spinner-wordpress.sk-spinner { - background-color: #1ab394; - width: 30px; - height: 30px; - border-radius: 30px; - position: relative; - margin: 0 auto; - -webkit-animation: sk-innerCircle 1s linear infinite; - animation: sk-innerCircle 1s linear infinite; + background-color: #1ab394; + width: 30px; + height: 30px; + border-radius: 30px; + position: relative; + margin: 0 auto; + -webkit-animation: sk-innerCircle 1s linear infinite; + animation: sk-innerCircle 1s linear infinite; } .sk-spinner-wordpress .sk-inner-circle { - display: block; - background-color: #fff; - width: 8px; - height: 8px; - position: absolute; - border-radius: 8px; - top: 5px; - left: 5px; + display: block; + background-color: #fff; + width: 8px; + height: 8px; + position: absolute; + border-radius: 8px; + top: 5px; + left: 5px; } @-webkit-keyframes sk-innerCircle { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } } @keyframes sk-innerCircle { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } } /* * Usage: @@ -6635,173 +6658,173 @@ body.body-small .vote-icon { * */ .sk-spinner-fading-circle.sk-spinner { - margin: 0 auto; - width: 22px; - height: 22px; - position: relative; + margin: 0 auto; + width: 22px; + height: 22px; + position: relative; } .sk-spinner-fading-circle .sk-circle { - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; } .sk-spinner-fading-circle .sk-circle:before { - content: ''; - display: block; - margin: 0 auto; - width: 18%; - height: 18%; - background-color: #1ab394; - border-radius: 100%; - -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out; - animation: sk-circleFadeDelay 1.2s infinite ease-in-out; - /* Prevent first frame from flickering when animation starts */ - -webkit-animation-fill-mode: both; - animation-fill-mode: both; + content: ''; + display: block; + margin: 0 auto; + width: 18%; + height: 18%; + background-color: #1ab394; + border-radius: 100%; + -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out; + animation: sk-circleFadeDelay 1.2s infinite ease-in-out; + /* Prevent first frame from flickering when animation starts */ + -webkit-animation-fill-mode: both; + animation-fill-mode: both; } .sk-spinner-fading-circle .sk-circle2 { - -webkit-transform: rotate(30deg); - -ms-transform: rotate(30deg); - transform: rotate(30deg); + -webkit-transform: rotate(30deg); + -ms-transform: rotate(30deg); + transform: rotate(30deg); } .sk-spinner-fading-circle .sk-circle3 { - -webkit-transform: rotate(60deg); - -ms-transform: rotate(60deg); - transform: rotate(60deg); + -webkit-transform: rotate(60deg); + -ms-transform: rotate(60deg); + transform: rotate(60deg); } .sk-spinner-fading-circle .sk-circle4 { - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); } .sk-spinner-fading-circle .sk-circle5 { - -webkit-transform: rotate(120deg); - -ms-transform: rotate(120deg); - transform: rotate(120deg); + -webkit-transform: rotate(120deg); + -ms-transform: rotate(120deg); + transform: rotate(120deg); } .sk-spinner-fading-circle .sk-circle6 { - -webkit-transform: rotate(150deg); - -ms-transform: rotate(150deg); - transform: rotate(150deg); + -webkit-transform: rotate(150deg); + -ms-transform: rotate(150deg); + transform: rotate(150deg); } .sk-spinner-fading-circle .sk-circle7 { - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); } .sk-spinner-fading-circle .sk-circle8 { - -webkit-transform: rotate(210deg); - -ms-transform: rotate(210deg); - transform: rotate(210deg); + -webkit-transform: rotate(210deg); + -ms-transform: rotate(210deg); + transform: rotate(210deg); } .sk-spinner-fading-circle .sk-circle9 { - -webkit-transform: rotate(240deg); - -ms-transform: rotate(240deg); - transform: rotate(240deg); + -webkit-transform: rotate(240deg); + -ms-transform: rotate(240deg); + transform: rotate(240deg); } .sk-spinner-fading-circle .sk-circle10 { - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); } .sk-spinner-fading-circle .sk-circle11 { - -webkit-transform: rotate(300deg); - -ms-transform: rotate(300deg); - transform: rotate(300deg); + -webkit-transform: rotate(300deg); + -ms-transform: rotate(300deg); + transform: rotate(300deg); } .sk-spinner-fading-circle .sk-circle12 { - -webkit-transform: rotate(330deg); - -ms-transform: rotate(330deg); - transform: rotate(330deg); + -webkit-transform: rotate(330deg); + -ms-transform: rotate(330deg); + transform: rotate(330deg); } .sk-spinner-fading-circle .sk-circle2:before { - -webkit-animation-delay: -1.1s; - animation-delay: -1.1s; + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; } .sk-spinner-fading-circle .sk-circle3:before { - -webkit-animation-delay: -1s; - animation-delay: -1s; + -webkit-animation-delay: -1s; + animation-delay: -1s; } .sk-spinner-fading-circle .sk-circle4:before { - -webkit-animation-delay: -0.9s; - animation-delay: -0.9s; + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; } .sk-spinner-fading-circle .sk-circle5:before { - -webkit-animation-delay: -0.8s; - animation-delay: -0.8s; + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; } .sk-spinner-fading-circle .sk-circle6:before { - -webkit-animation-delay: -0.7s; - animation-delay: -0.7s; + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; } .sk-spinner-fading-circle .sk-circle7:before { - -webkit-animation-delay: -0.6s; - animation-delay: -0.6s; + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; } .sk-spinner-fading-circle .sk-circle8:before { - -webkit-animation-delay: -0.5s; - animation-delay: -0.5s; + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; } .sk-spinner-fading-circle .sk-circle9:before { - -webkit-animation-delay: -0.4s; - animation-delay: -0.4s; + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; } .sk-spinner-fading-circle .sk-circle10:before { - -webkit-animation-delay: -0.3s; - animation-delay: -0.3s; + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; } .sk-spinner-fading-circle .sk-circle11:before { - -webkit-animation-delay: -0.2s; - animation-delay: -0.2s; + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; } .sk-spinner-fading-circle .sk-circle12:before { - -webkit-animation-delay: -0.1s; - animation-delay: -0.1s; + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { - 0%, - 39%, - 100% { - opacity: 0; - } - 40% { - opacity: 1; - } + 0%, + 39%, + 100% { + opacity: 0; + } + 40% { + opacity: 1; + } } @keyframes sk-circleFadeDelay { - 0%, - 39%, - 100% { - opacity: 0; - } - 40% { - opacity: 1; - } + 0%, + 39%, + 100% { + opacity: 0; + } + 40% { + opacity: 1; + } } .ibox-content > .sk-spinner { - display: none; + display: none; } .ibox-content.sk-loading { - position: relative; + position: relative; } .ibox-content.sk-loading:after { - content: ''; - background-color: rgba(255, 255, 255, 0.7); - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; + content: ''; + background-color: rgba(255, 255, 255, 0.7); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; } .ibox-content.sk-loading > .sk-spinner { - display: block; - position: absolute; - top: 40%; - left: 0; - right: 0; - z-index: 2000; + display: block; + position: absolute; + top: 40%; + left: 0; + right: 0; + z-index: 2000; } /* * @@ -6814,480 +6837,480 @@ body.body-small .vote-icon { /* PACE PLUGIN -------------------------------------------------- */ .landing-page.pace .pace-progress { - background: #fff; - position: fixed; - z-index: 2000; - top: 0; - left: 0; - height: 2px; - -webkit-transition: width 1s; - -moz-transition: width 1s; - -o-transition: width 1s; - transition: width 1s; + background: #fff; + position: fixed; + z-index: 2000; + top: 0; + left: 0; + height: 2px; + -webkit-transition: width 1s; + -moz-transition: width 1s; + -o-transition: width 1s; + transition: width 1s; } .pace-inactive { - display: none; + display: none; } body.landing-page { - color: #676a6c; - font-family: 'Lato', helvetica, arial, sans-serif; - background-color: #fff; + color: #676a6c; + font-family: 'Lato', helvetica, arial, sans-serif; + background-color: #fff; } .landing-page { - /* CUSTOMIZE THE NAVBAR + /* CUSTOMIZE THE NAVBAR -------------------------------------------------- */ - /* Flip around the padding for proper display in narrow viewports */ - /* BACKGROUNDS SLIDER + /* Flip around the padding for proper display in narrow viewports */ + /* BACKGROUNDS SLIDER -------------------------------------------------- */ - /* CUSTOMIZE THE CAROUSEL + /* CUSTOMIZE THE CAROUSEL -------------------------------------------------- */ - /* Carousel base class */ - /* Since positioning the image, we need to help out the caption */ - /* Declare heights because of positioning of img element */ - /* Sections + /* Carousel base class */ + /* Since positioning the image, we need to help out the caption */ + /* Declare heights because of positioning of img element */ + /* Sections ------------------------- */ - /* Buttons - only primary custom button + /* Buttons - only primary custom button ------------------------- */ - /* RESPONSIVE CSS + /* RESPONSIVE CSS -------------------------------------------------- */ } .landing-page .container { - overflow: hidden; + overflow: hidden; } .landing-page span.navy { - color: #1ab394; + color: #1ab394; } .landing-page p.text-color { - color: #676a6c; + color: #676a6c; } .landing-page a.navy-link { - color: #1ab394; - text-decoration: none; + color: #1ab394; + text-decoration: none; } .landing-page a.navy-link:hover { - color: #179d82; + color: #179d82; } .landing-page section p { - color: #aeaeae; - font-size: 13px; + color: #aeaeae; + font-size: 13px; } .landing-page address { - font-size: 13px; + font-size: 13px; } .landing-page h1 { - margin-top: 10px; - font-size: 30px; - font-weight: 200; + margin-top: 10px; + font-size: 30px; + font-weight: 200; } .landing-page .navy-line { - width: 60px; - height: 1px; - margin: 60px auto 0; - border-bottom: 2px solid #1ab394; + width: 60px; + height: 1px; + margin: 60px auto 0; + border-bottom: 2px solid #1ab394; } .landing-page .navbar-wrapper { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 200; + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 200; } .landing-page .navbar-wrapper > .container { - padding-right: 0; - padding-left: 0; + padding-right: 0; + padding-left: 0; } .landing-page .navbar-wrapper .navbar { - padding-right: 15px; - padding-left: 15px; + padding-right: 15px; + padding-left: 15px; } .landing-page .navbar-default.navbar-scroll { - background-color: #fff; - border-color: #fff; - padding: 15px 0; + background-color: #fff; + border-color: #fff; + padding: 15px 0; } .landing-page .navbar-default { - background-color: transparent; - border-color: transparent; - transition: all 0.3s ease-in-out 0s; + background-color: transparent; + border-color: transparent; + transition: all 0.3s ease-in-out 0s; } .landing-page .navbar-default .nav li a { - color: #fff; - font-family: 'Lato', helvetica, arial, sans-serif; - font-weight: 700; - letter-spacing: 1px; - text-transform: uppercase; - font-size: 14px; + color: #fff; + font-family: 'Lato', helvetica, arial, sans-serif; + font-weight: 700; + letter-spacing: 1px; + text-transform: uppercase; + font-size: 14px; } .landing-page .navbar-nav > li > a { - padding-top: 25px; - border-top: 6px solid transparent; + padding-top: 25px; + border-top: 6px solid transparent; } .landing-page .navbar-default .navbar-nav > .active > a, .landing-page .navbar-default .navbar-nav > .active > a:hover { - background: transparent; - color: #fff; - border-top: 6px solid #1ab394; + background: transparent; + color: #fff; + border-top: 6px solid #1ab394; } .landing-page .navbar-default .navbar-nav > li > a:hover, .landing-page .navbar-default .navbar-nav > li > a:focus { - color: #1ab394; - background: inherit; + color: #1ab394; + background: inherit; } .landing-page .navbar-default .navbar-nav > .active > a:focus { - background: transparent; - color: #fff; + background: transparent; + color: #fff; } .landing-page .navbar-default .navbar-nav > .active > a:focus { - background: transparent; - color: #ffffff; + background: transparent; + color: #ffffff; } .landing-page .navbar-default.navbar-scroll .navbar-nav > .active > a:focus { - background: transparent; - color: inherit; + background: transparent; + color: inherit; } .landing-page .navbar-default .navbar-brand:hover, .landing-page .navbar-default .navbar-brand:focus { - background: #179d82; - color: #fff; + background: #179d82; + color: #fff; } .landing-page .navbar-default .navbar-brand { - color: #fff; - height: auto; - display: block; - font-size: 14px; - background: #1ab394; - padding: 15px 20px 15px 20px; - border-radius: 0 0 5px 5px; - font-weight: 700; - transition: all 0.3s ease-in-out 0s; + color: #fff; + height: auto; + display: block; + font-size: 14px; + background: #1ab394; + padding: 15px 20px 15px 20px; + border-radius: 0 0 5px 5px; + font-weight: 700; + transition: all 0.3s ease-in-out 0s; } .landing-page .navbar-scroll.navbar-default .nav li a { - color: #676a6c; + color: #676a6c; } .landing-page .navbar-scroll.navbar-default .nav li a:hover { - color: #1ab394; + color: #1ab394; } .landing-page .navbar-wrapper .navbar.navbar-scroll { - padding-top: 0; - padding-bottom: 5px; - border-bottom: 1px solid #e7eaec; - border-radius: 0; + padding-top: 0; + padding-bottom: 5px; + border-bottom: 1px solid #e7eaec; + border-radius: 0; } .landing-page .nav > li.active { - border: none; - background: inherit; + border: none; + background: inherit; } .landing-page .nav > li > a { - padding: 25px 10px 15px 10px; + padding: 25px 10px 15px 10px; } .landing-page .navbar-scroll .navbar-nav > li > a { - padding: 20px 10px; + padding: 20px 10px; } .landing-page .navbar-default .navbar-nav > .active > a, .landing-page .navbar-default .navbar-nav > .active > a:hover { - border-top: 6px solid #1ab394; + border-top: 6px solid #1ab394; } .landing-page .navbar-fixed-top { - border: none !important; + border: none !important; } .landing-page .navbar-fixed-top.navbar-scroll { - border-bottom: 1px solid #e7eaec !important; + border-bottom: 1px solid #e7eaec !important; } .landing-page .navbar.navbar-scroll .navbar-brand { - margin-top: 15px; - border-radius: 5px; - font-size: 12px; - padding: 10px; - height: auto; + margin-top: 15px; + border-radius: 5px; + font-size: 12px; + padding: 10px; + height: auto; } .landing-page .header-back { - height: 470px; - width: 100%; + height: 470px; + width: 100%; } .landing-page .carousel { - height: 470px; + height: 470px; } .landing-page .carousel-caption { - z-index: 10; + z-index: 10; } .landing-page .carousel .item { - height: 470px; - background-color: #777; + height: 470px; + background-color: #777; } .landing-page .carousel-inner > .item > img { - position: absolute; - top: 0; - left: 0; - min-width: 100%; - height: 470px; + position: absolute; + top: 0; + left: 0; + min-width: 100%; + height: 470px; } .landing-page .carousel-fade .carousel-inner .item { - opacity: 0; - -webkit-transition-property: opacity; - transition-property: opacity; + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; } .landing-page .carousel-fade .carousel-inner .active { - opacity: 1; + opacity: 1; } .landing-page .carousel-fade .carousel-inner .active.left, .landing-page .carousel-fade .carousel-inner .active.right { - left: 0; - opacity: 0; - z-index: 1; + left: 0; + opacity: 0; + z-index: 1; } .landing-page .carousel-fade .carousel-inner .next.left, .landing-page .carousel-fade .carousel-inner .prev.right { - opacity: 1; + opacity: 1; } .landing-page .carousel-fade .carousel-control { - z-index: 2; + z-index: 2; } .landing-page .carousel-control.left, .landing-page .carousel-control.right { - background: none; + background: none; } .landing-page .carousel-control { - width: 6%; + width: 6%; } .landing-page .carousel-inner .container { - position: relative; - overflow: visible; + position: relative; + overflow: visible; } .landing-page .carousel-inner { - overflow: visible; + overflow: visible; } .landing-page .carousel-caption { - position: absolute; - top: 100px; - left: 0; - bottom: auto; - right: auto; - text-align: left; + position: absolute; + top: 100px; + left: 0; + bottom: auto; + right: auto; + text-align: left; } .landing-page .carousel-caption { - position: absolute; - top: 100px; - left: 0; - bottom: auto; - right: auto; - text-align: left; + position: absolute; + top: 100px; + left: 0; + bottom: auto; + right: auto; + text-align: left; } .landing-page .carousel-caption.blank { - top: 140px; + top: 140px; } .landing-page .carousel-image { - position: absolute; - right: 10px; - top: 150px; + position: absolute; + right: 10px; + top: 150px; } .landing-page .carousel-indicators { - padding-right: 60px; + padding-right: 60px; } .landing-page .carousel-caption h1 { - font-weight: 700; - font-size: 38px; - text-transform: uppercase; - text-shadow: none; - letter-spacing: -1.5px; + font-weight: 700; + font-size: 38px; + text-transform: uppercase; + text-shadow: none; + letter-spacing: -1.5px; } .landing-page .carousel-caption p { - font-weight: 700; - text-transform: uppercase; - text-shadow: none; + font-weight: 700; + text-transform: uppercase; + text-shadow: none; } .landing-page .caption-link { - color: #fff; - margin-left: 10px; - text-transform: capitalize; - font-weight: 400; + color: #fff; + margin-left: 10px; + text-transform: capitalize; + font-weight: 400; } .landing-page .caption-link:hover { - text-decoration: none; - color: inherit; + text-decoration: none; + color: inherit; } .landing-page .services { - padding-top: 60px; + padding-top: 60px; } .landing-page .services h2 { - font-size: 20px; - letter-spacing: -1px; - font-weight: 600; - text-transform: uppercase; + font-size: 20px; + letter-spacing: -1px; + font-weight: 600; + text-transform: uppercase; } .landing-page .features-block { - margin-top: 40px; + margin-top: 40px; } .landing-page .features-text { - margin-top: 40px; + margin-top: 40px; } .landing-page .features small { - color: #1ab394; + color: #1ab394; } .landing-page .features h2 { - font-size: 18px; - margin-top: 5px; + font-size: 18px; + margin-top: 5px; } .landing-page .features-text-alone { - margin: 40px 0; + margin: 40px 0; } .landing-page .features-text-alone h1 { - font-weight: 200; + font-weight: 200; } .landing-page .features-icon { - color: #1ab394; - font-size: 40px; + color: #1ab394; + font-size: 40px; } .landing-page .navy-section { - margin-top: 60px; - background: #1ab394; - color: #fff; - padding: 20px 0; + margin-top: 60px; + background: #1ab394; + color: #fff; + padding: 20px 0; } .landing-page .gray-section { - background: #f4f4f4; - margin-top: 60px; + background: #f4f4f4; + margin-top: 60px; } .landing-page .team-member { - text-align: center; + text-align: center; } .landing-page .team-member img { - margin: auto; + margin: auto; } .landing-page .social-icon a { - background: #1ab394; - color: #fff; - padding: 4px 8px; - height: 28px; - width: 28px; - display: block; - border-radius: 50px; + background: #1ab394; + color: #fff; + padding: 4px 8px; + height: 28px; + width: 28px; + display: block; + border-radius: 50px; } .landing-page .social-icon a:hover { - background: #179d82; + background: #179d82; } .landing-page .img-small { - height: 88px; - width: 88px; + height: 88px; + width: 88px; } .landing-page .pricing-plan { - margin: 20px 30px 0 30px; - border-radius: 4px; + margin: 20px 30px 0 30px; + border-radius: 4px; } .landing-page .pricing-plan.selected { - transform: scale(1.1); - background: #f4f4f4; + transform: scale(1.1); + background: #f4f4f4; } .landing-page .pricing-plan li { - padding: 10px 16px; - border-top: 1px solid #e7eaec; - text-align: center; - color: #aeaeae; + padding: 10px 16px; + border-top: 1px solid #e7eaec; + text-align: center; + color: #aeaeae; } .landing-page .pricing-plan .pricing-price span { - font-weight: 700; - color: #1ab394; + font-weight: 700; + color: #1ab394; } .landing-page li.pricing-desc { - font-size: 13px; - border-top: none; - padding: 20px 16px; + font-size: 13px; + border-top: none; + padding: 20px 16px; } .landing-page li.pricing-title { - background: #1ab394; - color: #fff; - padding: 10px; - border-radius: 4px 4px 0 0; - font-size: 22px; - font-weight: 600; + background: #1ab394; + color: #fff; + padding: 10px; + border-radius: 4px 4px 0 0; + font-size: 22px; + font-weight: 600; } .landing-page .testimonials { - padding-top: 80px; - padding-bottom: 90px; - background-color: #1ab394; + padding-top: 80px; + padding-bottom: 90px; + background-color: #1ab394; } .landing-page .big-icon { - font-size: 56px !important; + font-size: 56px !important; } .landing-page .features .big-icon { - color: #1ab394 !important; + color: #1ab394 !important; } .landing-page .contact { - background-position: 50% 50%; - background-repeat: no-repeat; - margin-top: 60px; + background-position: 50% 50%; + background-repeat: no-repeat; + margin-top: 60px; } .landing-page section.timeline { - padding-bottom: 30px; + padding-bottom: 30px; } .landing-page section.comments { - padding-bottom: 80px; + padding-bottom: 80px; } .landing-page .comments-avatar { - margin-top: 25px; - margin-left: 22px; - margin-bottom: 25px; + margin-top: 25px; + margin-left: 22px; + margin-bottom: 25px; } .landing-page .comments-avatar .commens-name { - font-weight: 600; - font-size: 14px; + font-weight: 600; + font-size: 14px; } .landing-page .comments-avatar img { - width: 42px; - height: 42px; - border-radius: 50%; - margin-right: 10px; + width: 42px; + height: 42px; + border-radius: 50%; + margin-right: 10px; } .landing-page .bubble { - position: relative; - height: 120px; - padding: 20px; - background: #FFFFFF; - -webkit-border-radius: 10px; - -moz-border-radius: 10px; - border-radius: 10px; - font-style: italic; - font-size: 14px; + position: relative; + height: 120px; + padding: 20px; + background: #ffffff; + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + border-radius: 10px; + font-style: italic; + font-size: 14px; } .landing-page .bubble:after { - content: ''; - position: absolute; - border-style: solid; - border-width: 15px 14px 0; - border-color: #FFFFFF transparent; - display: block; - width: 0; - z-index: 1; - bottom: -15px; - left: 30px; + content: ''; + position: absolute; + border-style: solid; + border-width: 15px 14px 0; + border-color: #ffffff transparent; + display: block; + width: 0; + z-index: 1; + bottom: -15px; + left: 30px; } .landing-page .btn-primary.btn-outline:hover, .landing-page .btn-success.btn-outline:hover, .landing-page .btn-info.btn-outline:hover, .landing-page .btn-warning.btn-outline:hover, .landing-page .btn-danger.btn-outline:hover { - color: #fff; + color: #fff; } .landing-page .btn-primary { - background-color: #1ab394; - border-color: #1ab394; - color: #FFFFFF; - font-size: 14px; - padding: 10px 20px; - font-weight: 600; + background-color: #1ab394; + border-color: #1ab394; + color: #ffffff; + font-size: 14px; + padding: 10px 20px; + font-weight: 600; } .landing-page .btn-primary:hover, .landing-page .btn-primary:focus, .landing-page .btn-primary:active, .landing-page .btn-primary.active, .landing-page .open .dropdown-toggle.btn-primary { - background-color: #179d82; - border-color: #179d82; - color: #FFFFFF; + background-color: #179d82; + border-color: #179d82; + color: #ffffff; } .landing-page .btn-primary:active, .landing-page .btn-primary.active, .landing-page .open .dropdown-toggle.btn-primary { - background-image: none; + background-image: none; } .landing-page .btn-primary.disabled, .landing-page .btn-primary.disabled:hover, @@ -7304,338 +7327,338 @@ body.landing-page { .landing-page fieldset[disabled] .btn-primary:focus, .landing-page fieldset[disabled] .btn-primary:active, .landing-page fieldset[disabled] .btn-primary.active { - background-color: #1dc5a3; - border-color: #1dc5a3; + background-color: #1dc5a3; + border-color: #1dc5a3; } @media (min-width: 768px) { - .landing-page { - /* Navbar positioning foo */ - /* The navbar becomes detached from the top, so we round the corners */ - /* Bump up size of carousel content */ - } - .landing-page .navbar-wrapper { - margin-top: 20px; - } - .landing-page .navbar-wrapper .container { - padding-right: 15px; - padding-left: 15px; - } - .landing-page .navbar-wrapper .navbar { - padding-right: 0; - padding-left: 0; - } - .landing-page .navbar-wrapper .navbar { - border-radius: 4px; - } - .landing-page .carousel-caption p { - margin-bottom: 20px; - font-size: 14px; - line-height: 1.4; - } - .landing-page .featurette-heading { - font-size: 50px; - } + .landing-page { + /* Navbar positioning foo */ + /* The navbar becomes detached from the top, so we round the corners */ + /* Bump up size of carousel content */ + } + .landing-page .navbar-wrapper { + margin-top: 20px; + } + .landing-page .navbar-wrapper .container { + padding-right: 15px; + padding-left: 15px; + } + .landing-page .navbar-wrapper .navbar { + padding-right: 0; + padding-left: 0; + } + .landing-page .navbar-wrapper .navbar { + border-radius: 4px; + } + .landing-page .carousel-caption p { + margin-bottom: 20px; + font-size: 14px; + line-height: 1.4; + } + .landing-page .featurette-heading { + font-size: 50px; + } } @media (max-width: 992px) { - .landing-page .carousel-image { - display: none; - } + .landing-page .carousel-image { + display: none; + } } @media (max-width: 768px) { - .landing-page .carousel-caption, - .landing-page .carousel-caption.blank { - left: 5%; - top: 80px; - } - .landing-page .carousel-caption h1 { - font-size: 28px; - } - .landing-page .navbar.navbar-scroll .navbar-brand { - margin-top: 6px; - } - .landing-page .navbar-default { - background-color: #fff; - border-color: #fff; - padding: 15px 0; - } - .landing-page .navbar-default .navbar-nav > .active > a:focus { - background: transparent; - color: inherit; - } - .landing-page .navbar-default .nav li a { - color: #676a6c; - } - .landing-page .navbar-default .nav li a:hover { - color: #1ab394; - } - .landing-page .navbar-wrapper .navbar { - padding-top: 0; - padding-bottom: 5px; - border-bottom: 1px solid #e7eaec; - border-radius: 0; - } - .landing-page .nav > li > a { - padding: 25px 10px 15px 10px; - } - .landing-page .navbar-nav > li > a { - padding: 20px 10px; - } - .landing-page .navbar .navbar-brand { - margin-top: 6px; - border-radius: 5px; - font-size: 12px; - padding: 10px; - height: auto; - } - .landing-page .navbar-wrapper .navbar { - padding-left: 15px; - padding-right: 5px; - } - .landing-page .navbar-default .navbar-nav > .active > a, - .landing-page .navbar-default .navbar-nav > .active > a:hover { - color: inherit; - } - .landing-page .carousel-control { - display: none; - } + .landing-page .carousel-caption, + .landing-page .carousel-caption.blank { + left: 5%; + top: 80px; + } + .landing-page .carousel-caption h1 { + font-size: 28px; + } + .landing-page .navbar.navbar-scroll .navbar-brand { + margin-top: 6px; + } + .landing-page .navbar-default { + background-color: #fff; + border-color: #fff; + padding: 15px 0; + } + .landing-page .navbar-default .navbar-nav > .active > a:focus { + background: transparent; + color: inherit; + } + .landing-page .navbar-default .nav li a { + color: #676a6c; + } + .landing-page .navbar-default .nav li a:hover { + color: #1ab394; + } + .landing-page .navbar-wrapper .navbar { + padding-top: 0; + padding-bottom: 5px; + border-bottom: 1px solid #e7eaec; + border-radius: 0; + } + .landing-page .nav > li > a { + padding: 25px 10px 15px 10px; + } + .landing-page .navbar-nav > li > a { + padding: 20px 10px; + } + .landing-page .navbar .navbar-brand { + margin-top: 6px; + border-radius: 5px; + font-size: 12px; + padding: 10px; + height: auto; + } + .landing-page .navbar-wrapper .navbar { + padding-left: 15px; + padding-right: 5px; + } + .landing-page .navbar-default .navbar-nav > .active > a, + .landing-page .navbar-default .navbar-nav > .active > a:hover { + color: inherit; + } + .landing-page .carousel-control { + display: none; + } } @media (min-width: 992px) { - .landing-page .featurette-heading { - margin-top: 120px; - } + .landing-page .featurette-heading { + margin-top: 120px; + } } @media (max-width: 768px) { - .landing-page .navbar .navbar-header { - display: block; - float: none; - } - .landing-page .navbar .navbar-header .navbar-toggle { - background-color: #ffffff; - padding: 9px 10px; - border: none; - } + .landing-page .navbar .navbar-header { + display: block; + float: none; + } + .landing-page .navbar .navbar-header .navbar-toggle { + background-color: #ffffff; + padding: 9px 10px; + border: none; + } } body.rtls { - /* Theme config */ + /* Theme config */ } body.rtls #page-wrapper { - margin: 0 220px 0 0; + margin: 0 220px 0 0; } body.rtls .nav-second-level li a { - padding: 7px 35px 7px 10px; + padding: 7px 35px 7px 10px; } body.rtls .ibox-title h5 { - float: right; + float: right; } body.rtls .pull-right { - float: left !important; + float: left !important; } body.rtls .pull-left { - float: right !important; + float: right !important; } body.rtls .ibox-tools { - float: left; + float: left; } body.rtls .stat-percent { - float: left; + float: left; } body.rtls .navbar-right { - float: left !important; + float: left !important; } body.rtls .navbar-top-links li:last-child { - margin-left: 40px; - margin-right: 0; + margin-left: 40px; + margin-right: 0; } body.rtls .minimalize-styl-2 { - float: right; - margin: 14px 20px 5px 5px; + float: right; + margin: 14px 20px 5px 5px; } body.rtls .feed-element > .pull-left { - margin-left: 10px; - margin-right: 0; + margin-left: 10px; + margin-right: 0; } body.rtls .timeline-item .date { - text-align: left; + text-align: left; } body.rtls .timeline-item .date i { - left: 0; - right: auto; + left: 0; + right: auto; } body.rtls .timeline-item .content { - border-right: 1px solid #e7eaec; - border-left: none; + border-right: 1px solid #e7eaec; + border-left: none; } body.rtls .theme-config { - left: 0; - right: auto; + left: 0; + right: auto; } body.rtls .spin-icon { - border-radius: 0 20px 20px 0; + border-radius: 0 20px 20px 0; } body.rtls .toast-close-button { - float: left; + float: left; } body.rtls #toast-container > .toast:before { - margin: auto -1.5em auto 0.5em; + margin: auto -1.5em auto 0.5em; } body.rtls #toast-container > div { - padding: 15px 50px 15px 15px; + padding: 15px 50px 15px 15px; } body.rtls .center-orientation .vertical-timeline-icon i { - margin-left: 0; - margin-right: -12px; + margin-left: 0; + margin-right: -12px; } body.rtls .vertical-timeline-icon i { - right: 50%; - left: auto; - margin-left: auto; - margin-right: -12px; + right: 50%; + left: auto; + margin-left: auto; + margin-right: -12px; } body.rtls .file-box { - float: right; + float: right; } body.rtls ul.notes li { - float: right; + float: right; } body.rtls .chat-users, body.rtls .chat-statistic { - margin-right: -30px; - margin-left: auto; + margin-right: -30px; + margin-left: auto; } body.rtls .dropdown-menu > li > a { - text-align: right; + text-align: right; } body.rtls .b-r { - border-left: 1px solid #e7eaec; - border-right: none; + border-left: 1px solid #e7eaec; + border-right: none; } body.rtls .dd-list .dd-list { - padding-right: 30px; - padding-left: 0; + padding-right: 30px; + padding-left: 0; } body.rtls .dd-item > button { - float: right; + float: right; } body.rtls .theme-config-box { - margin-left: -220px; - margin-right: 0; + margin-left: -220px; + margin-right: 0; } body.rtls .theme-config-box.show { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } body.rtls .spin-icon { - right: 0; - left: auto; + right: 0; + left: auto; } body.rtls .skin-settings { - margin-right: 40px; - margin-left: 0; + margin-right: 40px; + margin-left: 0; } body.rtls .skin-settings { - direction: ltr; + direction: ltr; } body.rtls .footer.fixed { - margin-right: 220px; - margin-left: 0; + margin-right: 220px; + margin-left: 0; } @media (max-width: 992px) { - body.rtls .chat-users, - body.rtls .chat-statistic { - margin-right: 0; - } + body.rtls .chat-users, + body.rtls .chat-statistic { + margin-right: 0; + } } body.rtls.mini-navbar .footer.fixed, body.body-small.mini-navbar .footer.fixed { - margin: 0 70px 0 0; + margin: 0 70px 0 0; } body.rtls.mini-navbar.fixed-sidebar .footer.fixed, body.body-small.mini-navbar .footer.fixed { - margin: 0 0 0 0; + margin: 0 0 0 0; } body.rtls.top-navigation .navbar-toggle { - float: right; - margin-left: 15px; - margin-right: 15px; + float: right; + margin-left: 15px; + margin-right: 15px; } .body-small.rtls.top-navigation .navbar-header { - float: none; + float: none; } body.rtls.top-navigation #page-wrapper { - margin: 0; + margin: 0; } body.rtls.mini-navbar #page-wrapper { - margin: 0 70px 0 0; + margin: 0 70px 0 0; } body.rtls.mini-navbar.fixed-sidebar #page-wrapper { - margin: 0 0 0 0; + margin: 0 0 0 0; } body.rtls.body-small.fixed-sidebar.mini-navbar #page-wrapper { - margin: 0 220px 0 0; + margin: 0 220px 0 0; } body.rtls.body-small.fixed-sidebar.mini-navbar .navbar-static-side { - width: 220px; + width: 220px; } .body-small.rtls .navbar-fixed-top { - margin-right: 0; + margin-right: 0; } .body-small.rtls .navbar-header { - float: right; + float: right; } body.rtls .navbar-top-links li:last-child { - margin-left: 20px; + margin-left: 20px; } body.rtls .top-navigation #page-wrapper, body.rtls.mini-navbar .top-navigation #page-wrapper, body.rtls.mini-navbar.top-navigation #page-wrapper { - margin: 0; + margin: 0; } body.rtls .top-navigation .footer.fixed, body.rtls.top-navigation .footer.fixed { - margin: 0; + margin: 0; } @media (max-width: 768px) { - body.rtls .navbar-top-links li:last-child { - margin-left: 20px; - } - .body-small.rtls #page-wrapper { - position: inherit; - margin: 0 0 0 0; - min-height: 1000px; - } - .body-small.rtls .navbar-static-side { - display: none; - z-index: 2001; - position: absolute; - width: 70px; - } - .body-small.rtls.mini-navbar .navbar-static-side { - display: block; - } - .rtls.fixed-sidebar.body-small .navbar-static-side { - display: none; - z-index: 2001; - position: fixed; - width: 220px; - } - .rtls.fixed-sidebar.body-small.mini-navbar .navbar-static-side { - display: block; - } + body.rtls .navbar-top-links li:last-child { + margin-left: 20px; + } + .body-small.rtls #page-wrapper { + position: inherit; + margin: 0 0 0 0; + min-height: 1000px; + } + .body-small.rtls .navbar-static-side { + display: none; + z-index: 2001; + position: absolute; + width: 70px; + } + .body-small.rtls.mini-navbar .navbar-static-side { + display: block; + } + .rtls.fixed-sidebar.body-small .navbar-static-side { + display: none; + z-index: 2001; + position: fixed; + width: 220px; + } + .rtls.fixed-sidebar.body-small.mini-navbar .navbar-static-side { + display: block; + } } .rtls .ltr-support { - direction: ltr; + direction: ltr; } .rtls.mini-navbar .nav-second-level, .rtls.mini-navbar li.active .nav-second-level { - left: auto; - right: 70px; + left: auto; + right: 70px; } .rtls #right-sidebar { - left: -260px; - right: auto; + left: -260px; + right: auto; } .rtls #right-sidebar.sidebar-open { - left: 0; + left: 0; } /* * @@ -7644,95 +7667,95 @@ body.rtls.top-navigation .footer.fixed { * */ .theme-config { - position: absolute; - top: 90px; - right: 0; - overflow: hidden; + position: absolute; + top: 90px; + right: 0; + overflow: hidden; } .theme-config-box { - margin-right: -220px; - position: relative; - z-index: 2000; - transition-duration: 0.8s; + margin-right: -220px; + position: relative; + z-index: 2000; + transition-duration: 0.8s; } .theme-config-box.show { - margin-right: 0; + margin-right: 0; } .spin-icon { - background: #1ab394; - position: absolute; - padding: 7px 10px 7px 13px; - border-radius: 20px 0 0 20px; - font-size: 16px; - top: 0; - left: 0; - width: 40px; - color: #fff; - cursor: pointer; + background: #1ab394; + position: absolute; + padding: 7px 10px 7px 13px; + border-radius: 20px 0 0 20px; + font-size: 16px; + top: 0; + left: 0; + width: 40px; + color: #fff; + cursor: pointer; } .skin-settings { - width: 220px; - margin-left: 40px; - background: #f3f3f4; + width: 220px; + margin-left: 40px; + background: #f3f3f4; } .skin-settings .title { - background: #efefef; - text-align: center; - text-transform: uppercase; - font-weight: 600; - display: block; - padding: 10px 15px; - font-size: 12px; + background: #efefef; + text-align: center; + text-transform: uppercase; + font-weight: 600; + display: block; + padding: 10px 15px; + font-size: 12px; } .setings-item { - padding: 10px 30px; + padding: 10px 30px; } .setings-item.skin { - text-align: center; + text-align: center; } .setings-item .switch { - float: right; + float: right; } .skin-name a { - text-transform: uppercase; + text-transform: uppercase; } .setings-item a { - color: #fff; + color: #fff; } .default-skin, .blue-skin, .ultra-skin, .yellow-skin { - text-align: center; + text-align: center; } .default-skin { - font-weight: 600; - background: #283A49; + font-weight: 600; + background: #283a49; } .default-skin:hover { - background: #1e2e3d; + background: #1e2e3d; } .blue-skin { - font-weight: 600; - background: url("../img/patterns/header-profile-skin-1.png") repeat scroll 0 0; + font-weight: 600; + background: url('../img/patterns/header-profile-skin-1.png') repeat scroll 0 0; } .blue-skin:hover { - background: #0d8ddb; + background: #0d8ddb; } .yellow-skin { - font-weight: 600; - background: url("../img/patterns/header-profile-skin-3.png") repeat scroll 0 100%; + font-weight: 600; + background: url('../img/patterns/header-profile-skin-3.png') repeat scroll 0 100%; } .yellow-skin:hover { - background: #ce8735; + background: #ce8735; } .ultra-skin { - padding: 20px 10px; - font-weight: 600; - background: url("../img/patterns/3.png") repeat scroll 0 0; + padding: 20px 10px; + font-weight: 600; + background: url('../img/patterns/3.png') repeat scroll 0 0; } .ultra-skin:hover { - background: url("../img/patterns/4.png") repeat scroll 0 0; + background: url('../img/patterns/4.png') repeat scroll 0 0; } /* * @@ -7741,104 +7764,104 @@ body.rtls.top-navigation .footer.fixed { * */ .skin-1 .minimalize-styl-2 { - margin: 14px 5px 5px 30px; + margin: 14px 5px 5px 30px; } .skin-1 .navbar-top-links li:last-child { - margin-right: 30px; + margin-right: 30px; } .skin-1.fixed-nav .minimalize-styl-2 { - margin: 14px 5px 5px 15px; + margin: 14px 5px 5px 15px; } .skin-1 .spin-icon { - background: #0e9aef !important; + background: #0e9aef !important; } .skin-1 .nav-header { - background-color: #0e9aef; - background-image: url('../img/patterns/header-profile-skin-1.png'); + background-color: #0e9aef; + background-image: url('../img/patterns/header-profile-skin-1.png'); } .skin-1.mini-navbar .nav-second-level { - background: #3e495f; + background: #3e495f; } .skin-1 .breadcrumb { - background: transparent; + background: transparent; } .skin-1 .page-heading { - border: none; + border: none; } .skin-1 .nav > li.active { - background: #3a4459; + background: #3a4459; } .skin-1 .nav > li > a { - color: #9ea6b9; + color: #9ea6b9; } .skin-1 ul.nav-second-level { - background-color: inherit; + background-color: inherit; } .skin-1 .nav > li.active > a { - color: #fff; + color: #fff; } .skin-1 .navbar-minimalize { - background: #0e9aef; - border-color: #0e9aef; + background: #0e9aef; + border-color: #0e9aef; } body.skin-1 { - background: #3e495f; + background: #3e495f; } .skin-1 .navbar-static-top { - background: #ffffff; + background: #ffffff; } .skin-1 .dashboard-header { - background: transparent; - border-bottom: none !important; - border-top: none; - padding: 20px 30px 10px 30px; + background: transparent; + border-bottom: none !important; + border-top: none; + padding: 20px 30px 10px 30px; } .fixed-nav.skin-1 .navbar-fixed-top { - background: #fff; + background: #fff; } .skin-1 .wrapper-content { - padding: 30px 15px; + padding: 30px 15px; } .skin-1 #page-wrapper { - background: #f4f6fa; + background: #f4f6fa; } .skin-1 .ibox-title, .skin-1 .ibox-content { - border-width: 1px; + border-width: 1px; } .skin-1 .ibox-content:last-child { - border-style: solid solid solid solid; + border-style: solid solid solid solid; } .skin-1 .nav > li.active { - border: none; + border: none; } .skin-1 .nav-header { - padding: 35px 25px 25px 25px; + padding: 35px 25px 25px 25px; } .skin-1 .nav-header a.dropdown-toggle { - color: #fff; - margin-top: 10px; + color: #fff; + margin-top: 10px; } .skin-1 .nav-header a.dropdown-toggle .text-muted { - color: #fff; - opacity: 0.8; + color: #fff; + opacity: 0.8; } .skin-1 .profile-element { - text-align: center; + text-align: center; } .skin-1 .img-circle { - border-radius: 5px; + border-radius: 5px; } .skin-1 .navbar-default .nav > li > a:hover, .skin-1 .navbar-default .nav > li > a:focus { - background: #3a4459; - color: #fff; + background: #f8f8f8; + color: #676a6c; } .skin-1 .nav.nav-tabs > li.active > a { - color: #555; + color: #555; } .skin-1 .nav.nav-tabs > li.active { - background: transparent; + background: transparent; } /* * @@ -7847,148 +7870,148 @@ body.skin-1 { * */ body.skin-2 { - color: #565758 !important; + color: #565758 !important; } .skin-2 .minimalize-styl-2 { - margin: 14px 5px 5px 25px; + margin: 14px 5px 5px 25px; } .skin-2 .navbar-top-links li:last-child { - margin-right: 25px; + margin-right: 25px; } .skin-2 .spin-icon { - background: #23c6c8 !important; + background: #23c6c8 !important; } .skin-2 .nav-header { - background-color: #23c6c8; - background-image: url('../img/patterns/header-profile-skin-2.png'); + background-color: #23c6c8; + background-image: url('../img/patterns/header-profile-skin-2.png'); } .skin-2.mini-navbar .nav-second-level { - background: #ededed; + background: #ededed; } .skin-2 .breadcrumb { - background: transparent; + background: transparent; } .skin-2.fixed-nav .minimalize-styl-2 { - margin: 14px 5px 5px 15px; + margin: 14px 5px 5px 15px; } .skin-2 .page-heading { - border: none; - background: rgba(255, 255, 255, 0.7); + border: none; + background: rgba(255, 255, 255, 0.7); } .skin-2 ul.nav-second-level { - background-color: inherit; + background-color: inherit; } .skin-2 .nav > li.active { - background: #e0e0e0; + background: #e0e0e0; } .skin-2 .logo-element { - padding: 17px 0; + padding: 17px 0; } .skin-2 .nav > li > a, .skin-2 .welcome-message { - color: #edf6ff; + color: #edf6ff; } .skin-2 #top-search::-moz-placeholder { - color: #edf6ff; - opacity: 0.5; + color: #edf6ff; + opacity: 0.5; } .skin-2 #side-menu > li > a, .skin-2 .nav.nav-second-level > li > a { - color: #586b7d; + color: #586b7d; } .skin-2 .nav > li.active > a { - color: #213a53; + color: #213a53; } .skin-2.mini-navbar .nav-header { - background: #213a53; + background: #213a53; } .skin-2 .navbar-minimalize { - background: #23c6c8; - border-color: #23c6c8; + background: #23c6c8; + border-color: #23c6c8; } .skin-2 .border-bottom { - border-bottom: none !important; + border-bottom: none !important; } .skin-2 #top-search { - color: #fff; + color: #fff; } body.skin-2 #wrapper { - background-color: #ededed; + background-color: #ededed; } .skin-2 .navbar-static-top { - background: #213a53; + background: #213a53; } .fixed-nav.skin-2 .navbar-fixed-top { - background: #213a53; - border-bottom: none !important; + background: #213a53; + border-bottom: none !important; } .skin-2 .nav-header { - padding: 30px 25px 30px 25px; + padding: 30px 25px 30px 25px; } .skin-2 .dashboard-header { - background: rgba(255, 255, 255, 0.4); - border-bottom: none !important; - border-top: none; - padding: 20px 30px 20px 30px; + background: rgba(255, 255, 255, 0.4); + border-bottom: none !important; + border-top: none; + padding: 20px 30px 20px 30px; } .skin-2 .wrapper-content { - padding: 30px 15px; + padding: 30px 15px; } .skin-2 .dashoard-1 .wrapper-content { - padding: 0 30px 25px 30px; + padding: 0 30px 25px 30px; } .skin-2 .ibox-title { - background: rgba(255, 255, 255, 0.7); - border: none; - margin-bottom: 1px; + background: rgba(255, 255, 255, 0.7); + border: none; + margin-bottom: 1px; } .skin-2 .ibox-content { - background: rgba(255, 255, 255, 0.4); - border: none !important; + background: rgba(255, 255, 255, 0.4); + border: none !important; } .skin-2 #page-wrapper { - background: #f6f6f6; - background: -webkit-radial-gradient(center, ellipse cover, #f6f6f6 20%, #d5d5d5 100%); - background: -o-radial-gradient(center, ellipse cover, #f6f6f6 20%, #d5d5d5 100%); - background: -ms-radial-gradient(center, ellipse cover, #f6f6f6 20%, #d5d5d5 100%); - background: radial-gradient(ellipse at center, #f6f6f6 20%, #d5d5d5 100%); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#f6f6f6, endColorstr=#d5d5d5)"; + background: #f6f6f6; + background: -webkit-radial-gradient(center, ellipse cover, #f6f6f6 20%, #d5d5d5 100%); + background: -o-radial-gradient(center, ellipse cover, #f6f6f6 20%, #d5d5d5 100%); + background: -ms-radial-gradient(center, ellipse cover, #f6f6f6 20%, #d5d5d5 100%); + background: radial-gradient(ellipse at center, #f6f6f6 20%, #d5d5d5 100%); + -ms-filter: 'progid:DXImageTransform.Microsoft.gradient(startColorstr=#f6f6f6, endColorstr=#d5d5d5)'; } .skin-2 .ibox-title, .skin-2 .ibox-content { - border-width: 1px; + border-width: 1px; } .skin-2 .ibox-content:last-child { - border-style: solid solid solid solid; + border-style: solid solid solid solid; } .skin-2 .nav > li.active { - border: none; + border: none; } .skin-2 .nav-header a.dropdown-toggle { - color: #edf6ff; - margin-top: 10px; + color: #edf6ff; + margin-top: 10px; } .skin-2 .nav-header a.dropdown-toggle .text-muted { - color: #edf6ff; - opacity: 0.8; + color: #edf6ff; + opacity: 0.8; } .skin-2 .img-circle { - border-radius: 10px; + border-radius: 10px; } .skin-2 .nav.navbar-top-links > li > a:hover, .skin-2 .nav.navbar-top-links > li > a:focus { - background: #1a2d41; + background: #1a2d41; } .skin-2 .navbar-default .nav > li > a:hover, .skin-2 .navbar-default .nav > li > a:focus { - background: #e0e0e0; - color: #213a53; + background: #e0e0e0; + color: #213a53; } .skin-2 .nav.nav-tabs > li.active > a { - color: #555; + color: #555; } .skin-2 .nav.nav-tabs > li.active { - background: transparent; + background: transparent; } /* * @@ -7997,540 +8020,540 @@ body.skin-2 #wrapper { * */ .skin-3 .minimalize-styl-2 { - margin: 14px 5px 5px 30px; + margin: 14px 5px 5px 30px; } .skin-3 .navbar-top-links li:last-child { - margin-right: 30px; + margin-right: 30px; } .skin-3.fixed-nav .minimalize-styl-2 { - margin: 14px 5px 5px 15px; + margin: 14px 5px 5px 15px; } .skin-3 .spin-icon { - background: #ecba52 !important; + background: #ecba52 !important; } body.boxed-layout.skin-3 #wrapper { - background: #3e2c42; + background: #3e2c42; } .skin-3 .nav-header { - background-color: #ecba52; - background-image: url('../img/patterns/header-profile-skin-3.png'); + background-color: #ecba52; + background-image: url('../img/patterns/header-profile-skin-3.png'); } .skin-3.mini-navbar .nav-second-level { - background: #3e2c42; + background: #3e2c42; } .skin-3 .breadcrumb { - background: transparent; + background: transparent; } .skin-3 .page-heading { - border: none; + border: none; } .skin-3 ul.nav-second-level { - background-color: inherit; + background-color: inherit; } .skin-3 .nav > li.active { - background: #38283c; + background: #38283c; } .fixed-nav.skin-3 .navbar-fixed-top { - background: #fff; + background: #fff; } .skin-3 .nav > li > a { - color: #948b96; + color: #948b96; } .skin-3 .nav > li.active > a { - color: #fff; + color: #fff; } .skin-3 .navbar-minimalize { - background: #ecba52; - border-color: #ecba52; + background: #ecba52; + border-color: #ecba52; } body.skin-3 { - background: #3e2c42; + background: #3e2c42; } .skin-3 .navbar-static-top { - background: #ffffff; + background: #ffffff; } .skin-3 .dashboard-header { - background: transparent; - border-bottom: none !important; - border-top: none; - padding: 20px 30px 10px 30px; + background: transparent; + border-bottom: none !important; + border-top: none; + padding: 20px 30px 10px 30px; } .skin-3 .wrapper-content { - padding: 30px 15px; + padding: 30px 15px; } .skin-3 #page-wrapper { - background: #f4f6fa; + background: #f4f6fa; } .skin-3 .ibox-title, .skin-3 .ibox-content { - border-width: 1px; + border-width: 1px; } .skin-3 .ibox-content:last-child { - border-style: solid solid solid solid; + border-style: solid solid solid solid; } .skin-3 .nav > li.active { - border: none; + border: none; } .skin-3 .nav-header { - padding: 35px 25px 25px 25px; + padding: 35px 25px 25px 25px; } .skin-3 .nav-header a.dropdown-toggle { - color: #fff; - margin-top: 10px; + color: #fff; + margin-top: 10px; } .skin-3 .nav-header a.dropdown-toggle .text-muted { - color: #fff; - opacity: 0.8; + color: #fff; + opacity: 0.8; } .skin-3 .profile-element { - text-align: center; + text-align: center; } .skin-3 .img-circle { - border-radius: 5px; + border-radius: 5px; } .skin-3 .navbar-default .nav > li > a:hover, .skin-3 .navbar-default .nav > li > a:focus { - background: #38283c; - color: #fff; + background: #38283c; + color: #fff; } .skin-3 .nav.nav-tabs > li.active > a { - color: #555; + color: #555; } .skin-3 .nav.nav-tabs > li.active { - background: transparent; + background: transparent; } body.md-skin { - background-color: #ffffff; + background-color: #ffffff; } .md-skin .nav-header { - background: url("../img/patterns/4.png") no-repeat; + background: url('../img/patterns/4.png') no-repeat; } .md-skin ul.nav-second-level { - background-color: inherit; + background-color: inherit; } .md-skin .font-bold { - font-weight: 500; + font-weight: 500; } .md-skin .wrapper-content { - padding: 30px 20px 40px; + padding: 30px 20px 40px; } @media (max-width: 768px) { - .md-skin .wrapper-content { - padding: 30px 0 40px; - } + .md-skin .wrapper-content { + padding: 30px 0 40px; + } } .md-skin .page-heading { - border-bottom: none !important; - border-top: 0; - padding: 0 10px 20px 10px; - box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.34), 0 0 6px 0 rgba(0, 0, 0, 0.14); + border-bottom: none !important; + border-top: 0; + padding: 0 10px 20px 10px; + box-shadow: 0 1px 1px -1px rgba(0, 0, 0, 0.34), 0 0 6px 0 rgba(0, 0, 0, 0.14); } .md-skin .full-height-layout .page-heading { - border-bottom: 1px solid #e7eaec !important; + border-bottom: 1px solid #e7eaec !important; } .md-skin .ibox { - clear: both; - margin-bottom: 25px; - margin-top: 0; - padding: 0; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + clear: both; + margin-bottom: 25px; + margin-top: 0; + padding: 0; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md-skin .ibox.border-bottom { - border-bottom: none !important; + border-bottom: none !important; } .md-skin .ibox-title, .md-skin .ibox-content { - border-style: none; + border-style: none; } .md-skin .ibox-title h5 { - font-size: 16px; - font-weight: 400; + font-size: 16px; + font-weight: 400; } .md-skin a.close-canvas-menu { - color: #ffffff; + color: #ffffff; } .md-skin .welcome-message { - color: #ffffff; - font-weight: 300; + color: #ffffff; + font-weight: 300; } .md-skin #top-search::-moz-placeholder { - color: #ffffff; + color: #ffffff; } .md-skin #top-search::-webkit-input-placeholder { - color: #ffffff; + color: #ffffff; } .md-skin .landing-page.navbar-default.navbar-scroll { - background-color: #fff !important; + background-color: #fff !important; } .md-skin .landing-page.navbar-default { - background-color: transparent !important; - box-shadow: none; + background-color: transparent !important; + box-shadow: none; } .md-skin .nav > li > a { - color: #676a6c; - padding: 14px 20px 14px 25px; + color: #676a6c; + padding: 14px 20px 14px 25px; } .md-skin .nav.navbar-right > li > a { - color: #ffffff; + color: #ffffff; } .md-skin .nav > li.active > a { - color: #5b5d5f; - font-weight: 700; + color: #5b5d5f; + font-weight: 700; } .md-skin .navbar-default .nav > li > a:hover, .md-skin .navbar-default .nav > li > a:focus { - font-weight: 700; - color: #5b5d5f; + font-weight: 700; + color: #5b5d5f; } .md-skin .nav .open > a, .md-skin .nav .open > a:hover, .md-skin .nav .open > a:focus { - background: #1ab394; + background: #1ab394; } .md-skin .navbar-top-links li { - display: inline-table; + display: inline-table; } .md-skin .navbar-top-links .dropdown-menu li { - display: block; + display: block; } .md-skin .pace-done .nav-header { - transition: all 0.4s; + transition: all 0.4s; } .md-skin .nav > li.active { - background: #f8f8f9; + background: #f8f8f9; } .md-skin .nav-second-level li a { - padding: 7px 10px 7px 52px; + padding: 7px 10px 7px 52px; } .md-skin .nav-third-level li a { - padding-left: 62px; + padding-left: 62px; } .md-skin .navbar-top-links li a { - padding: 20px 10px; - min-height: 50px; + padding: 20px 10px; + min-height: 50px; } .md-skin .nav > li > a { - font-weight: 400; + font-weight: 400; } .md-skin .navbar-static-side .nav > li > a:focus, .md-skin .navbar-static-side .nav > li > a:hover { - background-color: inherit; + background-color: inherit; } .md-skin .navbar-top-links .dropdown-menu li a { - padding: 3px 20px; - min-height: inherit; + padding: 3px 20px; + min-height: inherit; } .md-skin .nav-header .navbar-fixed-top a { - color: #ffffff; + color: #ffffff; } .md-skin .nav-header .text-muted { - color: #ffffff; + color: #ffffff; } .md-skin .navbar-form-custom .form-control { - font-weight: 300; + font-weight: 300; } .md-skin .mini-navbar .nav-second-level { - background-color: inherit; + background-color: inherit; } .md-skin .mini-navbar li.active .nav-second-level { - left: 65px; + left: 65px; } .md-skin .canvas-menu.mini-navbar .nav-second-level { - background: inherit; + background: inherit; } .md-skin .pace-done .navbar-static-side, .md-skin .pace-done .nav-header, .md-skin .pace-done li.active, .md-skin .pace-done #page-wrapper, .md-skin .pace-done .footer { - -webkit-transition: all 0.4s; - -moz-transition: all 0.4s; - -o-transition: all 0.4s; - transition: all 0.4s; + -webkit-transition: all 0.4s; + -moz-transition: all 0.4s; + -o-transition: all 0.4s; + transition: all 0.4s; } .md-skin .navbar-fixed-top { - background: #fff; - transition-duration: 0.4s; - z-index: 2030; - border-bottom: none !important; + background: #fff; + transition-duration: 0.4s; + z-index: 2030; + border-bottom: none !important; } .md-skin .navbar-fixed-top, .md-skin .navbar-static-top { - background-color: #1ab394 !important; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + background-color: #1ab394 !important; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md-skin .navbar-static-side { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md-skin #right-sidebar { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - border: none; - z-index: 900; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border: none; + z-index: 900; } .md-skin .white-bg .navbar-fixed-top, .md-skin .white-bg .navbar-static-top { - background: #fff !important; + background: #fff !important; } .md-skin .contact-box { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - border: none; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border: none; } .md-skin .dashboard-header { - border-bottom: none !important; - border-top: 0; - padding: 20px 20px 20px 20px; - margin: 30px 20px 0 20px; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border-bottom: none !important; + border-top: 0; + padding: 20px 20px 20px 20px; + margin: 30px 20px 0 20px; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } @media (max-width: 768px) { - .md-skin .dashboard-header { - margin: 20px 0 0 0; - } + .md-skin .dashboard-header { + margin: 20px 0 0 0; + } } .md-skin ul.notes li div { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md-skin .file { - border: none; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border: none; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md-skin .mail-box { - background-color: #ffffff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - padding: 0; - margin-bottom: 20px; - border: none; + background-color: #ffffff; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + padding: 0; + margin-bottom: 20px; + border: none; } .md-skin .mail-box-header { - border: none; - background-color: #ffffff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - padding: 30px 20px 20px 20px; + border: none; + background-color: #ffffff; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + padding: 30px 20px 20px 20px; } .md-skin .mailbox-content { - border: none; - padding: 20px; - background: #ffffff; + border: none; + padding: 20px; + background: #ffffff; } .md-skin .social-feed-box { - border: none; - background: #fff; - margin-bottom: 15px; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + border: none; + background: #fff; + margin-bottom: 15px; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md-skin.landing-page .navbar-default { - background-color: transparent !important; - border-color: transparent; - transition: all 0.3s ease-in-out 0s; - box-shadow: none; + background-color: transparent !important; + border-color: transparent; + transition: all 0.3s ease-in-out 0s; + box-shadow: none; } .md-skin.landing-page .navbar-default.navbar-scroll, .md-skin.landing-page.body-small .navbar-default { - background-color: #ffffff !important; + background-color: #ffffff !important; } .md-skin.landing-page .nav > li.active { - background: inherit; + background: inherit; } .md-skin.landing-page .navbar-scroll .navbar-nav > li > a { - padding: 20px 10px; + padding: 20px 10px; } .md-skin.landing-page .nav > li > a { - padding: 25px 10px 15px 10px; + padding: 25px 10px 15px 10px; } .md-skin.landing-page .navbar-default .navbar-nav > li > a:hover, .md-skin.landing-page .navbar-default .navbar-nav > li > a:focus { - background: inherit; - color: #1ab394; + background: inherit; + color: #1ab394; } .md-skin.landing-page.body-small .nav.navbar-right > li > a { - color: #676a6c; + color: #676a6c; } .md-skin .landing_link a, .md-skin .special_link a { - color: #ffffff !important; + color: #ffffff !important; } .md-skin.canvas-menu.mini-navbar .nav-second-level { - background: #f8f8f9; + background: #f8f8f9; } .md-skin.mini-navbar .nav-second-level { - background-color: #ffffff; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + background-color: #ffffff; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } .md-skin.mini-navbar .nav-second-level li a { - padding-left: 0; + padding-left: 0; } .md-skin.mini-navbar.fixed-sidebar .nav-second-level li a { - padding-left: 52px; + padding-left: 52px; } .md-skin.top-navigation .nav.navbar-right > li > a { - padding: 15px 20px; - color: #676a6c; + padding: 15px 20px; + color: #676a6c; } .md-skin.top-navigation .nav > li a:hover, .md-skin .top-navigation .nav > li a:focus, .md-skin.top-navigation .nav .open > a, .md-skin.top-navigation .nav .open > a:hover, .md-skin.top-navigation .nav .open > a:focus { - color: #1ab394; - background: #ffffff; + color: #1ab394; + background: #ffffff; } .md-skin.top-navigation .nav > li.active a { - color: #1ab394; - background: #ffffff; + color: #1ab394; + background: #ffffff; } .md-skin.fixed-nav #side-menu { - background-color: #fff; + background-color: #fff; } .md-skin.fixed-nav #wrapper.top-navigation #page-wrapper { - margin-top: 0; + margin-top: 0; } .md-skin.fixed-sidebar.mini-navbar .navbar-static-side { - width: 0; + width: 0; } .md-skin.fixed-sidebar.mini-navbar #page-wrapper { - margin: 0 0 0 0; + margin: 0 0 0 0; } .md-skin.body-small.fixed-sidebar.mini-navbar #page-wrapper { - margin: 0 0 0 0; + margin: 0 0 0 0; } .md-skin.body-small.fixed-sidebar.mini-navbar .navbar-static-side { - width: 220px; - background-color: #ffffff; + width: 220px; + background-color: #ffffff; } .md-skin.boxed-layout #wrapper { - background-color: #ffffff; + background-color: #ffffff; } .md-skin.canvas-menu nav.navbar-static-side { - z-index: 2001; - background: #ffffff; - height: 100%; - position: fixed; - display: none; + z-index: 2001; + background: #ffffff; + height: 100%; + position: fixed; + display: none; } @media (min-width: 768px) { - #page-wrapper { - position: inherit; - margin: 0 0 0 220px; - min-height: 100vh; - } - .navbar-static-side { - z-index: 2001; - position: absolute; - width: 220px; - } - .navbar-top-links .dropdown-messages, - .navbar-top-links .dropdown-tasks, - .navbar-top-links .dropdown-alerts { - margin-left: auto; - } + #page-wrapper { + position: inherit; + margin: 0 0 0 220px; + min-height: 100vh; + } + .navbar-static-side { + z-index: 2001; + position: absolute; + width: 220px; + } + .navbar-top-links .dropdown-messages, + .navbar-top-links .dropdown-tasks, + .navbar-top-links .dropdown-alerts { + margin-left: auto; + } } @media (max-width: 768px) { - #page-wrapper { - position: inherit; - margin: 0 0 0 0; - min-height: 100vh; - } - .body-small .navbar-static-side { - display: none; - z-index: 2001; - position: absolute; - width: 70px; - } - .body-small.mini-navbar .navbar-static-side { - display: block; - } - .lock-word { - display: none; - } - .navbar-form-custom { - display: none; - } - .navbar-header { - display: inline; - float: left; - } - .sidebar-panel { - z-index: 2; - position: relative; - width: auto; - min-height: 100% !important; - } - .sidebar-content .wrapper { - padding-right: 0; - z-index: 1; - } - .fixed-sidebar.body-small .navbar-static-side { - display: none; - z-index: 2001; - position: fixed; - width: 220px; - } - .fixed-sidebar.body-small.mini-navbar .navbar-static-side { - display: block; - } - .ibox-tools { - float: none; - text-align: right; - display: block; - } - .navbar-static-side { - display: none; - } - body:not(.mini-navbar) { - -webkit-transition: background-color 500ms linear; - -moz-transition: background-color 500ms linear; - -o-transition: background-color 500ms linear; - -ms-transition: background-color 500ms linear; - transition: background-color 500ms linear; - background-color: #f3f3f4; - } + #page-wrapper { + position: inherit; + margin: 0 0 0 0; + min-height: 100vh; + } + .body-small .navbar-static-side { + display: none; + z-index: 2001; + position: absolute; + width: 70px; + } + .body-small.mini-navbar .navbar-static-side { + display: block; + } + .lock-word { + display: none; + } + .navbar-form-custom { + display: none; + } + .navbar-header { + display: inline; + float: left; + } + .sidebar-panel { + z-index: 2; + position: relative; + width: auto; + min-height: 100% !important; + } + .sidebar-content .wrapper { + padding-right: 0; + z-index: 1; + } + .fixed-sidebar.body-small .navbar-static-side { + display: none; + z-index: 2001; + position: fixed; + width: 220px; + } + .fixed-sidebar.body-small.mini-navbar .navbar-static-side { + display: block; + } + .ibox-tools { + float: none; + text-align: right; + display: block; + } + .navbar-static-side { + display: none; + } + body:not(.mini-navbar) { + -webkit-transition: background-color 500ms linear; + -moz-transition: background-color 500ms linear; + -o-transition: background-color 500ms linear; + -ms-transition: background-color 500ms linear; + transition: background-color 500ms linear; + background-color: #f3f3f4; + } } @media (max-width: 350px) { - .timeline-item .date { - text-align: left; - width: 110px; - position: relative; - padding-top: 30px; - } - .timeline-item .date i { - position: absolute; - top: 0; - left: 15px; - padding: 5px; - width: 30px; - text-align: center; - border: 1px solid #e7eaec; - background: #f8f8f8; - } - .timeline-item .content { - border-left: none; - border-top: 1px solid #e7eaec; - padding-top: 10px; - min-height: 100px; - } - .nav.navbar-top-links li.dropdown { - display: none; - } - .ibox-tools { - float: none; - text-align: left; - display: inline-block; - } + .timeline-item .date { + text-align: left; + width: 110px; + position: relative; + padding-top: 30px; + } + .timeline-item .date i { + position: absolute; + top: 0; + left: 15px; + padding: 5px; + width: 30px; + text-align: center; + border: 1px solid #e7eaec; + background: #f8f8f8; + } + .timeline-item .content { + border-left: none; + border-top: 1px solid #e7eaec; + padding-top: 10px; + min-height: 100px; + } + .nav.navbar-top-links li.dropdown { + display: none; + } + .ibox-tools { + float: none; + text-align: left; + display: inline-block; + } } /* Only demo */ @media (max-width: 1000px) { - .welcome-message { - display: none; - } + .welcome-message { + display: none; + } } @media print { - nav.navbar-static-side { - display: none; - } - body { - overflow: visible !important; - } - #page-wrapper { - margin: 0; - } + nav.navbar-static-side { + display: none; + } + body { + overflow: visible !important; + } + #page-wrapper { + margin: 0; + } } diff --git a/assets/Inspinia/fonts/Lato-Black.ttf b/assets/Inspinia/fonts/Lato-Black.ttf deleted file mode 100755 index 6848db0d..00000000 Binary files a/assets/Inspinia/fonts/Lato-Black.ttf and /dev/null differ diff --git a/assets/Inspinia/fonts/Lato-Bold.ttf b/assets/Inspinia/fonts/Lato-Bold.ttf deleted file mode 100755 index 74343694..00000000 Binary files a/assets/Inspinia/fonts/Lato-Bold.ttf and /dev/null differ diff --git a/assets/Inspinia/fonts/Lato-Light.ttf b/assets/Inspinia/fonts/Lato-Light.ttf deleted file mode 100755 index a958067a..00000000 Binary files a/assets/Inspinia/fonts/Lato-Light.ttf and /dev/null differ diff --git a/assets/Inspinia/fonts/Lato-Regular.ttf b/assets/Inspinia/fonts/Lato-Regular.ttf deleted file mode 100755 index 04ea8efb..00000000 Binary files a/assets/Inspinia/fonts/Lato-Regular.ttf and /dev/null differ diff --git a/assets/Inspinia/fonts/OFL.txt b/assets/Inspinia/fonts/OFL.txt deleted file mode 100755 index 98383e3d..00000000 --- a/assets/Inspinia/fonts/OFL.txt +++ /dev/null @@ -1,93 +0,0 @@ -Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato" - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/assets/Inspinia/inspinia-helpers.js b/assets/Inspinia/inspinia-helpers.js index c5eeecd1..9d7d0315 100644 --- a/assets/Inspinia/inspinia-helpers.js +++ b/assets/Inspinia/inspinia-helpers.js @@ -1,12 +1,12 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ 'use strict'; function removeStyleAttribute(elementId) { - setTimeout(function() { + setTimeout(function () { $(elementId).removeAttr('style'); }, 500); } @@ -17,55 +17,56 @@ function sideMenuFadeIn() { module.exports = { // Full height of sidebar - fix_height: function() { - var heightWithoutNavbar = $("body > #wrapper").height() - 61; - $(".sidebard-panel").css("min-height", heightWithoutNavbar + "px"); + fix_height: function () { + var heightWithoutNavbar = $('body > #wrapper').height() - 61; + $('.sidebard-panel').css('min-height', heightWithoutNavbar + 'px'); var navbarHeigh = $('nav.navbar-default').height(); var wrapperHeigh = $('#page-wrapper').height(); if (navbarHeigh > wrapperHeigh) { - $('#page-wrapper').css("min-height", navbarHeigh + "px"); + $('#page-wrapper').css('min-height', navbarHeigh + 'px'); } if (navbarHeigh < wrapperHeigh) { - $('#page-wrapper').css("min-height", $(window).height() + "px"); + $('#page-wrapper').css('min-height', $(window).height() + 'px'); } if ($('body').hasClass('fixed-nav')) { - $('#page-wrapper').css("min-height", $(window).height() - 60 + "px"); + $('#page-wrapper').css('min-height', $(window).height() - 60 + 'px'); } }, - fixBodyClassByResolution: function() { + fixBodyClassByResolution: function () { if ($(document).width() < 769) { - $('body').addClass('body-small') + $('body').addClass('body-small'); } else { - $('body').removeClass('body-small') + $('body').removeClass('body-small'); } }, // check if browser support HTML5 local storage - localStorageSupport: function() { - return (('localStorage' in window) && window['localStorage'] !== null) + localStorageSupport: function () { + return 'localStorage' in window && window['localStorage'] !== null; }, // For demo purpose - animation css script - animationHover: function(element, animation) { + animationHover: function (element, animation) { element = $(element); element.hover( - function() { + function () { element.addClass('animated ' + animation); }, - function() { + function () { //wait for animation to finish before removing classes - window.setTimeout(function() { + window.setTimeout(function () { element.removeClass('animated ' + animation); }, 2000); - }); + }, + ); }, - SmoothlyMenu: function() { + SmoothlyMenu: function () { if (!$('body').hasClass('mini-navbar') || $('body').hasClass('body-small')) { // Hide menu in order to smoothly turn on when maximize menu $('#side-menu').hide(); @@ -82,18 +83,18 @@ module.exports = { }, // Dragable panels - WinMove: function() { - var element = "[class*=col]"; - var handle = ".ibox-title"; - var connect = "[class*=col]"; + WinMove: function () { + var element = '[class*=col]'; + var handle = '.ibox-title'; + var connect = '[class*=col]'; $(element) .sortable({ handle: handle, connectWith: connect, tolerance: 'pointer', forcePlaceholderSize: true, - opacity: 0.8 + opacity: 0.8, }) .disableSelection(); - } + }, }; diff --git a/assets/Inspinia/inspinia.js b/assets/Inspinia/inspinia.js index 27a367c3..fe24bc59 100755 --- a/assets/Inspinia/inspinia.js +++ b/assets/Inspinia/inspinia.js @@ -1,18 +1,17 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. * * INSPINIA - Responsive Admin Theme * version 2.7.1 */ $(document).ready(function () { - // Add body-small class if window less than 768px if ($(this).width() < 769) { - $('body').addClass('body-small') + $('body').addClass('body-small'); } else { - $('body').removeClass('body-small') + $('body').removeClass('body-small'); } // MetisMenu @@ -24,8 +23,8 @@ $(document).ready(function () { var button = $(this).find('i'); var content = ibox.children('.ibox-content'); content.slideToggle(200); - button.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down'); - ibox.toggleClass('').toggleClass('border-bottom'); + button.toggleClass('fa-minus').toggleClass('fa-plus'); + ibox.toggleClass('border-bottom'); setTimeout(function () { ibox.resize(); ibox.find('[id^=map-]').resize(); @@ -52,7 +51,7 @@ $(document).ready(function () { // Close menu in canvas mode $('.close-canvas-menu').on('click', function () { - $("body").toggleClass("mini-navbar"); + $('body').toggleClass('mini-navbar'); SmoothlyMenu(); }); @@ -86,42 +85,39 @@ $(document).ready(function () { // Minimalize menu $('.navbar-minimalize').on('click', function (event) { event.preventDefault(); - $("body").toggleClass("mini-navbar"); + $('body').toggleClass('mini-navbar'); SmoothlyMenu(); - }); // Tooltips demo $('.tooltip-demo').tooltip({ - selector: "[data-toggle=tooltip]", - container: "body" + selector: '[data-toggle=tooltip]', + container: 'body', }); - // Full height of sidebar function fix_height() { - var heightWithoutNavbar = $("body > #wrapper").height() - 61; - $(".sidebar-panel").css("min-height", heightWithoutNavbar + "px"); + var heightWithoutNavbar = $('body > #wrapper').height() - 61; + $('.sidebar-panel').css('min-height', heightWithoutNavbar + 'px'); var navbarheight = $('nav.navbar-default').height(); var wrapperHeight = $('#page-wrapper').height(); if (navbarheight > wrapperHeight) { - $('#page-wrapper').css("min-height", navbarheight + "px"); + $('#page-wrapper').css('min-height', navbarheight + 'px'); } if (navbarheight < wrapperHeight) { - $('#page-wrapper').css("min-height", $(window).height() + "px"); + $('#page-wrapper').css('min-height', $(window).height() + 'px'); } if ($('body').hasClass('fixed-nav')) { if (navbarheight > wrapperHeight) { - $('#page-wrapper').css("min-height", navbarheight + "px"); + $('#page-wrapper').css('min-height', navbarheight + 'px'); } else { - $('#page-wrapper').css("min-height", $(window).height() - 60 + "px"); + $('#page-wrapper').css('min-height', $(window).height() - 60 + 'px'); } } - } fix_height(); @@ -135,23 +131,21 @@ $(document).ready(function () { } }); - $(window).bind("load resize scroll", function () { - if (!$("body").hasClass('body-small')) { + $(window).bind('load resize scroll', function () { + if (!$('body').hasClass('body-small')) { fix_height(); } }); - $("[data-toggle=popover]") - .popover(); + $('[data-toggle=popover]').popover(); }); - // Minimalize menu when screen is less than 768px -$(window).bind("resize", function () { +$(window).bind('resize', function () { if ($(this).width() < 769) { - $('body').addClass('body-small') + $('body').addClass('body-small'); } else { - $('body').removeClass('body-small') + $('body').removeClass('body-small'); } }); @@ -159,12 +153,11 @@ $(window).bind("resize", function () { // Set proper body class and plugins based on user configuration $(document).ready(function () { if (localStorageSupport()) { - - var collapse = localStorage.getItem("collapse_menu"); - var fixedsidebar = localStorage.getItem("fixedsidebar"); - var fixednavbar = localStorage.getItem("fixednavbar"); - var boxedlayout = localStorage.getItem("boxedlayout"); - var fixedfooter = localStorage.getItem("fixedfooter"); + var collapse = localStorage.getItem('collapse_menu'); + var fixedsidebar = localStorage.getItem('fixedsidebar'); + var fixednavbar = localStorage.getItem('fixednavbar'); + var boxedlayout = localStorage.getItem('boxedlayout'); + var fixedfooter = localStorage.getItem('fixedfooter'); var body = $('body'); @@ -177,12 +170,11 @@ $(document).ready(function () { if (!body.hasClass('body-small')) { body.addClass('mini-navbar'); } - } } if (fixednavbar == 'on') { - $(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top'); + $('.navbar-static-top').removeClass('navbar-static-top').addClass('navbar-fixed-top'); body.addClass('fixed-nav'); } @@ -191,14 +183,14 @@ $(document).ready(function () { } if (fixedfooter == 'on') { - $(".footer").addClass('fixed'); + $('.footer').addClass('fixed'); } } }); // check if browser support HTML5 local storage function localStorageSupport() { - return (('localStorage' in window) && window['localStorage'] !== null) + return 'localStorage' in window && window['localStorage'] !== null; } // For demo purpose - animation css script @@ -213,7 +205,8 @@ function animationHover(element, animation) { window.setTimeout(function () { element.removeClass('animated ' + animation); }, 2000); - }); + }, + ); } function SmoothlyMenu() { @@ -221,16 +214,14 @@ function SmoothlyMenu() { // Hide menu in order to smoothly turn on when maximize menu $('#side-menu').hide(); // For smoothly turn on menu - setTimeout( - function () { - $('#side-menu').fadeIn(400); - }, 200); + setTimeout(function () { + $('#side-menu').fadeIn(400); + }, 200); } else if ($('body').hasClass('fixed-sidebar')) { $('#side-menu').hide(); - setTimeout( - function () { - $('#side-menu').fadeIn(400); - }, 100); + setTimeout(function () { + $('#side-menu').fadeIn(400); + }, 100); } else { // Remove all inline style from jquery fadeIn function to reset menu state $('#side-menu').removeAttr('style'); @@ -239,18 +230,16 @@ function SmoothlyMenu() { // Dragable panels function WinMove() { - var element = "[class*=col]"; - var handle = ".ibox-title"; - var connect = "[class*=col]"; - $(element).sortable( - { + var element = '[class*=col]'; + var handle = '.ibox-title'; + var connect = '[class*=col]'; + $(element) + .sortable({ handle: handle, connectWith: connect, tolerance: 'pointer', forcePlaceholderSize: true, - opacity: 0.8 + opacity: 0.8, }) .disableSelection(); } - - diff --git a/assets/Zed/img/sort-arrow-down.svg b/assets/Zed/img/sort-arrow-down.svg new file mode 100644 index 00000000..69d24fac --- /dev/null +++ b/assets/Zed/img/sort-arrow-down.svg @@ -0,0 +1 @@ + diff --git a/assets/Zed/img/sort-arrow-down@2x.png b/assets/Zed/img/sort-arrow-down@2x.png new file mode 100644 index 00000000..a7b6178c Binary files /dev/null and b/assets/Zed/img/sort-arrow-down@2x.png differ diff --git a/assets/Zed/img/sort-arrow-up.svg b/assets/Zed/img/sort-arrow-up.svg new file mode 100644 index 00000000..f158db57 --- /dev/null +++ b/assets/Zed/img/sort-arrow-up.svg @@ -0,0 +1,37 @@ + + + Sort-arrow-up + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/Zed/img/sort-arrow-up@2x.png b/assets/Zed/img/sort-arrow-up@2x.png new file mode 100644 index 00000000..d0380983 Binary files /dev/null and b/assets/Zed/img/sort-arrow-up@2x.png differ diff --git a/assets/Zed/img/sort.svg b/assets/Zed/img/sort.svg new file mode 100644 index 00000000..fd4875af --- /dev/null +++ b/assets/Zed/img/sort.svg @@ -0,0 +1,36 @@ + + + Sort + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/Zed/img/sort@2x.png b/assets/Zed/img/sort@2x.png new file mode 100644 index 00000000..a06c18e7 Binary files /dev/null and b/assets/Zed/img/sort@2x.png differ diff --git a/assets/Zed/js/modules/commons.js b/assets/Zed/js/modules/commons.js index a2a5c04f..ade9a229 100644 --- a/assets/Zed/js/modules/commons.js +++ b/assets/Zed/js/modules/commons.js @@ -5,12 +5,14 @@ 'use strict'; -// polyfill for Promise() -// extend webpack 2 support on IE11 and PhantomJS -require('es6-promise/auto'); - // external dependencies -require('jquery'); +const $ = require('jquery'); +require('datatables.net')(window, $); +require('datatables.net-bs')(window, $); +require('datatables.net-buttons')(window, $); +require('datatables.net-buttons-bs')(window, $); +require('datatables.net-responsive')(window, $); +require('datatables.net-select')(window, $); require('jquery-migrate/dist/jquery-migrate.min'); require('jquery-ui/ui/core'); require('jquery-ui/ui/effect'); @@ -24,22 +26,18 @@ require('jquery-ui/ui/widgets/tooltip'); require('bootstrap-sass'); require('metismenu'); require('pace'); -require('datatables.net'); -require('datatables.net-bs'); -require('datatables.net-buttons'); -require('datatables.net-buttons-bs'); -require('datatables.net-responsive'); -require('datatables.net-select'); -require('nestable'); +require('@spryker/nestable'); require('select2'); -require('codemirror'); +window.CodeMirror = require('codemirror'); +require('codemirror/mode/htmlmixed/htmlmixed.js'); require('summernote'); require('sweetalert'); +XMLHttpRequest.prototype = Object.getPrototypeOf(new XMLHttpRequest()); + // inspinia require('../../../Inspinia/inspinia'); // spryker customization require('../../sass/main.scss'); require('./legacy/fixHeight'); -require('./init'); diff --git a/assets/Zed/js/modules/editor.js b/assets/Zed/js/modules/editor.js index 6035112c..27eb00e9 100644 --- a/assets/Zed/js/modules/editor.js +++ b/assets/Zed/js/modules/editor.js @@ -1,16 +1,48 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ 'use strict'; module.exports = { - getConfig: function(content) { - content = content || ''; + getGlobalConfig: function (configName) { + return Boolean(configName && window.editorConfiguration && window.editorConfiguration[configName]) + ? window.editorConfiguration[configName] + : null; + }, + mergeConfigs: function (baseConfig, newConfig) { + for (var property in newConfig) { + switch (property) { + case 'toolbar': + updateToolbarOptions(baseConfig, newConfig); + break; + case 'buttons': + if (baseConfig.hasOwnProperty('buttons') && newConfig.hasOwnProperty('buttons')) { + $.extend(baseConfig.buttons, newConfig.buttons); + } + if (!baseConfig.hasOwnProperty('buttons')) { + baseConfig.buttons = newConfig.buttons; + } + break; + case 'popover': + var defaultPopoverOptions = $.summernote.options.popover; + var extendedOptions = $.extend(defaultPopoverOptions, newConfig.popover); + + baseConfig.popover = extendedOptions; + break; + default: + baseConfig[property] = newConfig[property]; + } + } + + return baseConfig; + }, + getConfig: function (content) { + content = content || ''; return { - height: 300, + height: 300, maxHeight: 600, inputText: content, focus: true, @@ -21,8 +53,51 @@ module.exports = { ['color', ['color']], ['para', ['ul', 'ol', 'paragraph']], ['insert', ['picture', 'link', 'video', 'table', 'hr']], - ['misc', ['undo', 'redo', 'codeview']] - ] + ['misc', ['undo', 'redo', 'codeview']], + ['custom', []], + ], }; - } + }, +}; + +if (!Array.prototype.findIndex) { + Array.prototype.findIndex = function (predicate) { + if (this === null) { + throw new TypeError('Array.prototype.findIndex called on null or undefined'); + } + if (typeof predicate !== 'function') { + throw new TypeError('predicate must be a function'); + } + var list = Object(this); + var length = list.length >>> 0; + var thisArg = arguments[1]; + var value; + + for (var i = 0; i < length; i++) { + value = list[i]; + if (predicate.call(thisArg, value, i, list)) { + return i; + } + } + return -1; + }; +} + +var updateToolbarOptions = function (baseConfig, newConfig) { + newConfig.toolbar.forEach(function (newToolbarOption) { + var existingOptionIndex = baseConfig.toolbar.findIndex(function (defaultToolbarOption) { + return newToolbarOption[0] === defaultToolbarOption[0]; + }); + + if (existingOptionIndex) { + var newToolbarOptionsArray = newToolbarOption[1].slice(0); + var toolbarOptionGroup = baseConfig.toolbar[existingOptionIndex]; + var toolbarOptionsArray = toolbarOptionGroup[1]; + + toolbarOptionsArray.push(newToolbarOptionsArray); + return; + } + + baseConfig.toolbar.push(newToolbarOption); + }); }; diff --git a/assets/Zed/js/modules/init.js b/assets/Zed/js/modules/init.js index 91268279..b94c5ff1 100644 --- a/assets/Zed/js/modules/init.js +++ b/assets/Zed/js/modules/init.js @@ -5,110 +5,221 @@ 'use strict'; -var editor = require('ZedGuiEditorConfiguration'); +var editorConfig = require('ZedGuiEditorConfiguration'); var Tabs = require('./libs/tabs'); var TranslationCopyFields = require('./libs/translation-copy-fields'); var Ibox = require('./libs/ibox'); var dataTable = require('./libs/data-table'); var safeChecks = require('./libs/safe-checks'); +var initFormattedNumber = require('./libs/formatted-number-input'); +var initFormattedMoney = require('./libs/formatted-money-input'); +var select2combobox = require('./libs/select2-combobox'); +var timeoutId = 0; -var dataTablesSearchDelay = function() { +var dataTablesSearchDelay = function () { var dataTablesWrapper = $('.dataTables_wrapper'); - dataTablesWrapper.each(function(index, wrapper) { + dataTablesWrapper.each(function (index, wrapper) { var searchInput = $(wrapper).find('input[type="search"]'); var dataTable = $(wrapper).find('.gui-table-data'); var dataTableApi = dataTable.dataTable().api(); - var timeOutId = 0; - - if(searchInput.length && dataTable.length) { - searchInput - .unbind() - .bind("input", function(e) { + + if (searchInput.length && dataTable.length) { + searchInput.unbind().bind('input', function (e) { var self = this; - - clearTimeout(timeOutId); - timeOutId = setTimeout(function() { + + clearTimeout(timeoutId); + timeoutId = setTimeout(function () { + dataTableApi.settings()[0].jqXHR.abort(); dataTableApi.search(self.value).draw(); }, 1000); return; }); } }); -} +}; + +var editorInit = function () { + $('.html-editor').each(function () { + var $textarea = $(this); + var textareaConfigName = $textarea.data('editor-config'); + + var config = editorConfig.getGlobalConfig(textareaConfigName); + + if (!config) { + config = editorConfig.getConfig(); + } + + $textarea.summernote(config); + }); +}; -$(document).ready(function() { +$(document).ready(function () { // editor - $('.html-editor').summernote(editor.getConfig()); + editorInit(); /* Data tables custom error handling */ dataTable.setTableErrorMode('none'); /* Draw data tables */ - $('.gui-table-data') - .on('error.dt', dataTable.onError) - .dataTable(dataTable.defaultConfiguration); - + $('.gui-table-data').on('error.dt', dataTable.onError).dataTable(dataTable.defaultConfiguration); + + $('.gui-table-data').on('draw.dt', function (e, settings) { + var windowWidth = $(document).width(), + windowHeight = $(document).height(), + $toggleWrap = $(this).find('.dropdown'), + $toggleDropdown; + + $toggleWrap.on('show.bs.dropdown', function () { + $toggleDropdown = $(this).find('.dropdown-menu'); + + var $button = $(this).find('.dropdown-toggle'), + buttonWidth = $button.width(), + buttonHeight = $button.height(), + buttonTopOffset = $button.offset().top, + buttonLeftOffset = $button.offset().left, + dropdownWidth = $toggleDropdown.width(), + dropdownHeight = $toggleDropdown.height(), + requiredWidth = buttonLeftOffset + dropdownWidth, + requiredHeight = buttonTopOffset + buttonHeight + dropdownHeight, + dropdownPositionStyles = { + top: buttonTopOffset + buttonHeight + 5 + 'px', + left: buttonLeftOffset + 'px', + display: 'block', + zIndex: '10000', + }; + + if (requiredWidth >= windowWidth) { + dropdownPositionStyles.left = buttonLeftOffset + buttonWidth - dropdownWidth + 'px'; + } + + if (requiredHeight >= windowHeight) { + dropdownPositionStyles.top = buttonTopOffset - dropdownHeight - 11 + 'px'; + } + + $('body').append($toggleDropdown.css(dropdownPositionStyles).detach()); + }); + + $toggleWrap.on('hidden.bs.dropdown', function () { + $(this).append($toggleDropdown.removeAttr('style').detach()); + }); + var api = new $.fn.dataTable.Api(settings); + var tableBody = $(e.target).find('tbody'); + var searchRow = ''; + + isSearchable = true; + } + searchRow += ''; + }); + searchRow += ''; + + if (isSearchable === true) { + tableBody.append(searchRow); + + tableBody + .find('input') + .off('keyup change click') + .on('keyup', function (e) { + var self = this; + + clearTimeout(timeoutId); + timeoutId = setTimeout(function () { + api.settings()[0].jqXHR.abort(); + api.columns(parseInt(self.getAttribute('data-column-index'))) + .search(self.value, false, false) + .draw(); + }, 1000); + }); + } + + document.querySelectorAll('.paginate_button.disabled > a').forEach((element) => { + element.setAttribute('tabindex', '-1'); + }); + }); + /* Draw data tables without search */ - $('.gui-table-data-no-search') - .on('error.dt', dataTable.onError) - .dataTable(dataTable.noSearchConfiguration); + $('.gui-table-data-no-search').on('error.dt', dataTable.onError).dataTable(dataTable.noSearchConfiguration); /* All elements with the same class will have the same height */ $('.fix-height').sprykerFixHeight(); - $('.spryker-form-autocomplete').each(function(key, value) { - var obj = $(value); - if (obj.data('url') === 'undefined') { + $('.spryker-form-autocomplete').each(function (key, value) { + var autoCompletedField = $(value); + if (autoCompletedField.data('url') === 'undefined') { return; } - obj.autocomplete({ - source: obj.data('url'), - minLength: 3 + + if (autoCompletedField.hasClass('ui-autocomplete')) { + autoCompletedField.autocomplete('destroy'); + } + + autoCompletedField.autocomplete({ + source: autoCompletedField.data('url'), + minLength: 3, }); }); $('.table-dependency tr').hover( - function(){ + function () { $(this).addClass('warning'); }, - function(){ + function () { $(this).removeClass('warning'); - } + }, ); $('.table-dependency .btn-xs').hover( - function(){ + function () { $(this).removeClass('btn-default'); $(this).addClass('btn-primary'); }, - function(){ + function () { $(this).addClass('btn-default'); $(this).removeClass('btn-primary'); - } + }, ); $('.dropdown-toggle').dropdown(); - $('.spryker-form-select2combobox').each(function(index, element) { - var select2InitOptions = {}; - - if ($(element).data('autocomplete-url')) { - var autocompleteUrl = $(element).data('autocomplete-url'); - select2InitOptions = { - ajax: { - url: autocompleteUrl, - dataType: 'json', - delay: 500, - cache: true, - }, - minimumInputLength: 3 - }; - } + $('.more-history').click(function (e) { + e.preventDefault(); + var idProductItem = $(this).data('id'); + var $history = $('#history_details_' + idProductItem); + var $button = $('#history-btn-' + idProductItem); + var isHidden = $history.hasClass('hidden'); - $(element).select2(select2InitOptions); + $history.toggleClass('hidden', !isHidden); + $button.toggleClass('is-hidden', !isHidden); + $button.toggleClass('is-shown', isHidden); }); + /* Init Select2 combobox */ + select2combobox(); + /* Init tabs */ - $('.tabs-container').each(function(index, item){ + $('.tabs-container').each(function (index, item) { new Tabs(item, dataTable.onTabChange); }); @@ -120,8 +231,11 @@ $(document).ready(function() { safeChecks.addSafeSubmitCheck(); safeChecks.addSafeDatetimeCheck(); + + initFormattedNumber(); + initFormattedMoney(); }); -$(window).on('load', function() { +$(window).on('load', function () { dataTablesSearchDelay(); }); diff --git a/assets/Zed/js/modules/legacy/SprykerAjax.js b/assets/Zed/js/modules/legacy/SprykerAjax.js index 994bc896..2aa15201 100644 --- a/assets/Zed/js/modules/legacy/SprykerAjax.js +++ b/assets/Zed/js/modules/legacy/SprykerAjax.js @@ -1,13 +1,13 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ 'use strict'; var SprykerAjaxCallbacks = require('./SprykerAjaxCallbacks'); -module.exports = new function() { +module.exports = new (function () { var self = this; /** if ajax url is null, the action will be in the same page */ @@ -19,7 +19,7 @@ module.exports = new function() { * @param newUrl * @returns {SprykerAjax} */ - self.setUrl = function(newUrl){ + self.setUrl = function (newUrl) { self.url = newUrl; return self; }; @@ -28,20 +28,19 @@ module.exports = new function() { * @param newDataType * @returns {SprykerAjax} */ - self.setDataType = function(newDataType){ + self.setDataType = function (newDataType) { self.dataType = newDataType; return self; }; - self.ajaxSubmit = function(options, callbackFunction, parameters, isGet) { - var callType = (!!isGet) ? 'get' : 'post'; + self.ajaxSubmit = function (options, callbackFunction, parameters, isGet) { + var callType = !!isGet ? 'get' : 'post'; return $.ajax({ url: this.url, type: callType, dataType: this.dataType, - data: options - }) - .done(function(response){ + data: options, + }).done(function (response) { if (typeof callbackFunction === 'function') { return callbackFunction(response, parameters); } else if (typeof callbackFunction === 'string') { @@ -53,10 +52,10 @@ module.exports = new function() { }; /* change active */ - self.changeActiveStatus = function(elementId) { + self.changeActiveStatus = function (elementId) { var options = { - id: elementId + id: elementId, }; self.ajaxSubmit(options, 'changeStatusMarkInGrid'); }; -}; +})(); diff --git a/assets/Zed/js/modules/legacy/SprykerAjaxCallbacks.js b/assets/Zed/js/modules/legacy/SprykerAjaxCallbacks.js index 93028966..95c25073 100644 --- a/assets/Zed/js/modules/legacy/SprykerAjaxCallbacks.js +++ b/assets/Zed/js/modules/legacy/SprykerAjaxCallbacks.js @@ -1,11 +1,11 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ 'use strict'; -module.exports = new function() { +module.exports = new (function () { var self = this; /* HTML success code */ @@ -23,11 +23,11 @@ module.exports = new function() { * * @param ajaxResponse */ - self.changeStatusMarkInGrid = function(ajaxResponse){ + self.changeStatusMarkInGrid = function (ajaxResponse) { if (ajaxResponse.code == self.codeSuccess) { $('#active-' + ajaxResponse.id).prop('checked', ajaxResponse.newStatus); } else { self.alerter.error(ajaxResponse.message); } }; -}; +})(); diff --git a/assets/Zed/js/modules/legacy/SprykerAlert.js b/assets/Zed/js/modules/legacy/SprykerAlert.js index ca5749da..2f81f89a 100644 --- a/assets/Zed/js/modules/legacy/SprykerAlert.js +++ b/assets/Zed/js/modules/legacy/SprykerAlert.js @@ -1,63 +1,58 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ 'use strict'; -module.exports = new function() { +module.exports = new (function () { var self = this; - self.init = function(){ + self.init = function () { self.clean(); }; - self.success = function(message){ + self.success = function (message) { var data = { - "message": message, - "title": "Success" + message: message, + title: 'Success', }; self.clangeClass('alert-success'); self.displayAlert(data); }; - self.error = function(message) { + self.error = function (message) { var data = { - "message": message, - "title": "Error" + message: message, + title: 'Error', }; self.clangeClass('alert-danger'); self.displayAlert(data); }; - self.info = function(message){ + self.info = function (message) { return self.custom(message); }; - self.custom = function(message, title){ + self.custom = function (message, title) { var data = { - "message": message, - "title": title || "Info" + message: message, + title: title || 'Info', }; self.clangeClass('alert-info'); self.displayAlert(data); }; - self.clean = function() { - $('#modal-content').removeClass([ - 'alert-success', - 'alert-danger', - 'alert-info', - 'alert-warning' - ]); + self.clean = function () { + $('#modal-content').removeClass(['alert-success', 'alert-danger', 'alert-info', 'alert-warning']); $('#modal-title').html(''); $('#modal-body').html(''); }; - self.clangeClass = function(className){ + self.clangeClass = function (className) { self.clean(); $('#modal-content').addClass(className); }; - self.displayAlert = function(options){ + self.displayAlert = function (options) { $('#modal-title').html(options.title); $('#modal-body').html(options.message); self.show(); }; - self.show = function(){ + self.show = function () { $('#modal-alert').modal('show'); }; self.init(); -}; +})(); diff --git a/assets/Zed/js/modules/legacy/fixHeight.js b/assets/Zed/js/modules/legacy/fixHeight.js index 48d93013..a21307a8 100644 --- a/assets/Zed/js/modules/legacy/fixHeight.js +++ b/assets/Zed/js/modules/legacy/fixHeight.js @@ -1,36 +1,36 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ 'use strict'; -(function($){ - $.fn.sprykerFixHeight = function(){ +(function ($) { + $.fn.sprykerFixHeight = function () { var self = this; var maxHeight = 0; - self.getFullHeight = function(element) { + self.getFullHeight = function (element) { return element.outerHeight(); }; - self.calculateElementCoreHeight = function(element){ + self.calculateElementCoreHeight = function (element) { return parseInt(maxHeight - self.getElementExtraHeight(element)); }; - self.getElementExtraHeight = function(element){ + self.getElementExtraHeight = function (element) { return self.getFullHeight(element) - element.height(); }; - self.changeHeight = function(element){ - element.each(function(){ + self.changeHeight = function (element) { + element.each(function () { var newHeight = self.calculateElementCoreHeight($(this)); $(this).height(newHeight + 'px'); }); }; - self.calculateHeight = function(element){ - element.each(function(){ + self.calculateHeight = function (element) { + element.each(function () { var elementHeight = self.getFullHeight($(this)); if (elementHeight > maxHeight) { maxHeight = elementHeight; @@ -41,4 +41,4 @@ self.calculateHeight(self); }; -}(jQuery)); +})(jQuery); diff --git a/assets/Zed/js/modules/libs/data-table.js b/assets/Zed/js/modules/libs/data-table.js index b6bad9fe..1a5b3a30 100644 --- a/assets/Zed/js/modules/libs/data-table.js +++ b/assets/Zed/js/modules/libs/data-table.js @@ -1,38 +1,45 @@ 'use strict'; function getLocale() { - var locale = document.documentElement.dataset.applicationLocale - if (typeof(locale) === 'string') { - + var locale = document.documentElement.dataset.applicationLocale; + if (typeof locale === 'string') { return locale.split('_')[0].split('-')[0]; } return 'en'; } function getTranslation(locale) { - return require('./i18n/' + locale + '.json') + return require('./i18n/' + locale + '.json'); } -var locale = getLocale() +var locale = getLocale(); + +var translationObj = getTranslation(locale); + +if (translationObj.sSearch) { + translationObj.searchPlaceholder = translationObj.sSearch.replace(/\ |:/gi, ''); +} var defaultConfiguration = { scrollX: 'auto', - autoWidth: false, - language: getTranslation(locale) + language: translationObj, + dom: + "<'row'<'col-sm-12 col-md-6'i><'col-sm-12 col-md-6'f>>" + + "<'row'<'col-sm-12'tr>>" + + "<'alt-row'<'alt-row__left'l><'alt-row__center'p>>", }; var noSearchConfiguration = { bFilter: false, bInfo: false, scrollX: 'auto', - autoWidth: false }; function setTableErrorMode(errorMode) { $.fn.dataTable.ext.errMode = errorMode || 'none'; } -function onTabChange (tabId) { +function onTabChange(tabId) { var $tab = $(tabId); var $dataTables = $tab.find('.gui-table-data, .gui-table-data-no-search'); @@ -41,7 +48,7 @@ function onTabChange (tabId) { } } -function onError (e, settings, techNote, message) { +function onError(e, settings, techNote, message) { var debugMessage = ''; if (DEV) { @@ -50,9 +57,11 @@ function onError (e, settings, techNote, message) { window.sweetAlert({ title: 'Error', - text: 'Something went wrong. Please refresh the page or try again later.' + debugMessage, + text: + 'Something went wrong. Please refresh the page or try again later.' + + debugMessage, html: true, - type: 'error' + type: 'error', }); } @@ -61,5 +70,5 @@ module.exports = { noSearchConfiguration: noSearchConfiguration, setTableErrorMode: setTableErrorMode, onTabChange: onTabChange, - onError: onError + onError: onError, }; diff --git a/assets/Zed/js/modules/libs/dependent-select-box.js b/assets/Zed/js/modules/libs/dependent-select-box.js new file mode 100644 index 00000000..136e04ec --- /dev/null +++ b/assets/Zed/js/modules/libs/dependent-select-box.js @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2017-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + */ + +'use strict'; + +function DependentSelectBox(options) { + var _self = this; + this.data = {}; + this.requestMethod = 'POST'; + + $.extend(this, options); + + this.init = function () { + this.mapEvents(); + }; + + this.mapEvents = function () { + this.$trigger.on('change', function () { + _self.getData($(this)); + _self.requestData(); + }); + }; + + this.getData = function (trigger) { + if (this.dataKey.length) { + this.data[this.dataKey] = trigger.val(); + + return; + } + + this.data = trigger.val(); + }; + + this.requestData = function () { + this.$target.attr('disabled', true); + + $.ajax({ + url: this.requestUrl, + type: this.requestMethod, + data: this.data, + success: function (data) { + _self.updateTargetSelectBox(data); + _self.successCallback ? _self.successCallback(data) : null; + }, + }); + }; + + this.updateTargetSelectBox = function (data) { + if (data.length === 0) { + this.clearTargetSelectBox(true); + + return; + } + + this.clearTargetSelectBox(false); + this.fillTargetSelectBox(data); + }; + + this.clearTargetSelectBox = function (isDisabled) { + this.$target.attr('disabled', isDisabled); + this.$target.find('option:gt(0)').remove(); + }; + + this.fillTargetSelectBox = function (data) { + $.each(data[this.responseData.response], function (index, element) { + _self.$target.append( + $( + '', + ), + ); + }); + }; + + this.init(); +} + +module.exports = DependentSelectBox; diff --git a/assets/Zed/js/modules/libs/formatted-money-input.js b/assets/Zed/js/modules/libs/formatted-money-input.js new file mode 100644 index 00000000..479cad85 --- /dev/null +++ b/assets/Zed/js/modules/libs/formatted-money-input.js @@ -0,0 +1,28 @@ +'use strict'; + +var AutoNumeric = require('autonumeric'); + +function initFormattedMoney() { + var moneyInputs = Array.from(document.getElementsByClassName('js-formatted-money-input')); + + moneyInputs.forEach(function (moneyInput) { + var hiddenInput = document.getElementsByClassName(moneyInput.dataset.target)[0]; + var config = { + digitGroupSeparator: moneyInput.dataset.groupSeparator, + decimalCharacter: moneyInput.dataset.decimalSeparator, + decimalPlaces: moneyInput.dataset.decimalRounding, + allowDecimalPadding: moneyInput.hasAttribute('data-decimal-filling'), + digitalGroupSpacing: 3, + modifyValueOnWheel: false, + }; + + moneyInput.value = hiddenInput.value; + var formattedInput = new AutoNumeric(moneyInput, config); + + moneyInput.addEventListener('input', function () { + hiddenInput.value = formattedInput.rawValue; + }); + }); +} + +module.exports = initFormattedMoney; diff --git a/assets/Zed/js/modules/libs/formatted-number-input.js b/assets/Zed/js/modules/libs/formatted-number-input.js new file mode 100644 index 00000000..f7b3097e --- /dev/null +++ b/assets/Zed/js/modules/libs/formatted-number-input.js @@ -0,0 +1,28 @@ +'use strict'; + +var AutoNumeric = require('autonumeric'); + +function initFormattedNumber(rootElement = document) { + var numberInputs = Array.from(rootElement.getElementsByClassName('js-formatted-number-input')); + + numberInputs.forEach(function (numberInput) { + var hiddenInput = rootElement.getElementsByClassName(numberInput.dataset.target)[0]; + var config = { + digitGroupSeparator: numberInput.dataset.groupSeparator, + decimalCharacter: numberInput.dataset.decimalSeparator, + decimalPlaces: numberInput.dataset.decimalRounding, + allowDecimalPadding: false, + digitalGroupSpacing: 3, + modifyValueOnWheel: false, + }; + + numberInput.value = hiddenInput.value; + var formattedInput = new AutoNumeric(numberInput, config); + + numberInput.addEventListener('input', function () { + hiddenInput.value = formattedInput.rawValue; + }); + }); +} + +module.exports = initFormattedNumber; diff --git a/assets/Zed/js/modules/libs/i18n/af.json b/assets/Zed/js/modules/libs/i18n/af.json index 236666b5..c1be3411 100644 --- a/assets/Zed/js/modules/libs/i18n/af.json +++ b/assets/Zed/js/modules/libs/i18n/af.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Geen data beskikbaar in tabel", - "sInfo": "uitstalling _START_ to _END_ of _TOTAL_ inskrywings", - "sInfoEmpty": "uitstalling 0 to 0 of 0 inskrywings", - "sInfoFiltered": "(gefiltreer uit _MAX_ totaal inskrywings)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "uitstal _MENU_ inskrywings", - "sLoadingRecords": "laai...", - "sProcessing": "verwerking...", - "sSearch": "soektog:", - "sZeroRecords": "Geen treffers gevind", - "oPaginate": { - "sFirst": "eerste", - "sLast": "laaste", - "sNext": "volgende", - "sPrevious": "vorige" - }, - "oAria": { - "sSortAscending": ": aktiveer kolom stygende te sorteer", - "sSortDescending": ": aktiveer kolom orde te sorteer" - } -} \ No newline at end of file + "sEmptyTable": "Geen data beskikbaar in tabel", + "sInfo": "uitstalling _START_ to _END_ of _TOTAL_ inskrywings", + "sInfoEmpty": "uitstalling 0 to 0 of 0 inskrywings", + "sInfoFiltered": "(gefiltreer uit _MAX_ totaal inskrywings)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "uitstal _MENU_ inskrywings", + "sLoadingRecords": "laai...", + "sProcessing": "verwerking...", + "sSearch": "soektog:", + "sZeroRecords": "Geen treffers gevind", + "oPaginate": { + "sFirst": "eerste", + "sLast": "laaste", + "sNext": "volgende", + "sPrevious": "vorige" + }, + "oAria": { + "sSortAscending": ": aktiveer kolom stygende te sorteer", + "sSortDescending": ": aktiveer kolom orde te sorteer" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/am.json b/assets/Zed/js/modules/libs/i18n/am.json index 73d66c47..9a65b710 100644 --- a/assets/Zed/js/modules/libs/i18n/am.json +++ b/assets/Zed/js/modules/libs/i18n/am.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "ባዶ ሰንጠረዥ", - "sInfo": "ከጠቅላላው _TOTAL_ ዝርዝሮች ውስጥ ከ _START_ እስከ _END_ ያሉት ዝርዝር", - "sInfoEmpty": "ከጠቅላላው 0 ዝርዝሮች ውስጥ ከ 0 እስከ 0 ያሉት ዝርዝር", - "sInfoFiltered": "(ከጠቅላላው _MAX_ የተመረጡ ዝርዝሮች)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "የዝርዝሮች ብዛት _MENU_", + "sEmptyTable": "ባዶ ሰንጠረዥ", + "sInfo": "ከጠቅላላው _TOTAL_ ዝርዝሮች ውስጥ ከ _START_ እስከ _END_ ያሉት ዝርዝር", + "sInfoEmpty": "ከጠቅላላው 0 ዝርዝሮች ውስጥ ከ 0 እስከ 0 ያሉት ዝርዝር", + "sInfoFiltered": "(ከጠቅላላው _MAX_ የተመረጡ ዝርዝሮች)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "የዝርዝሮች ብዛት _MENU_", "sLoadingRecords": "በማቅረብ ላይ...", - "sProcessing": "በማቀናበር ላይ...", - "sSearch": "ፈልግ:", - "sZeroRecords": "ከሚፈለገው ጋር የሚሚሳሰል ዝርዝር አልተገኘም", + "sProcessing": "በማቀናበር ላይ...", + "sSearch": "ፈልግ:", + "sZeroRecords": "ከሚፈለገው ጋር የሚሚሳሰል ዝርዝር አልተገኘም", "oPaginate": { - "sFirst": "መጀመሪያ", - "sLast": "መጨረሻ", - "sNext": "ቀጣዩ", + "sFirst": "መጀመሪያ", + "sLast": "መጨረሻ", + "sNext": "ቀጣዩ", "sPrevious": "የበፊቱ" }, "oAria": { - "sSortAscending": ": ከመጀመሪያ ወደ መጨረሻ(ወጪ) አደራደር", + "sSortAscending": ": ከመጀመሪያ ወደ መጨረሻ(ወጪ) አደራደር", "sSortDescending": ": ከመጨረሻ ወደ መጀመሪያ(ወራጅ) አደራደር" } } diff --git a/assets/Zed/js/modules/libs/i18n/ar.json b/assets/Zed/js/modules/libs/i18n/ar.json index bab31b5e..74ca8649 100644 --- a/assets/Zed/js/modules/libs/i18n/ar.json +++ b/assets/Zed/js/modules/libs/i18n/ar.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "ليست هناك بيانات متاحة في الجدول", - "sLoadingRecords": "جارٍ التحميل...", - "sProcessing": "جارٍ التحميل...", - "sLengthMenu": "أظهر _MENU_ مدخلات", - "sZeroRecords": "لم يعثر على أية سجلات", - "sInfo": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مدخل", - "sInfoEmpty": "يعرض 0 إلى 0 من أصل 0 سجل", - "sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)", - "sInfoPostFix": "", - "sSearch": "ابحث:", - "sUrl": "", - "oPaginate": { - "sFirst": "الأول", - "sPrevious": "السابق", - "sNext": "التالي", - "sLast": "الأخير" - }, - "oAria": { - "sSortAscending": ": تفعيل لترتيب العمود تصاعدياً", - "sSortDescending": ": تفعيل لترتيب العمود تنازلياً" - } + "sEmptyTable": "ليست هناك بيانات متاحة في الجدول", + "sLoadingRecords": "جارٍ التحميل...", + "sProcessing": "جارٍ التحميل...", + "sLengthMenu": "أظهر _MENU_ مدخلات", + "sZeroRecords": "لم يعثر على أية سجلات", + "sInfo": "إظهار _START_ إلى _END_ من أصل _TOTAL_ مدخل", + "sInfoEmpty": "يعرض 0 إلى 0 من أصل 0 سجل", + "sInfoFiltered": "(منتقاة من مجموع _MAX_ مُدخل)", + "sInfoPostFix": "", + "sSearch": "ابحث:", + "sUrl": "", + "oPaginate": { + "sFirst": "الأول", + "sPrevious": "السابق", + "sNext": "التالي", + "sLast": "الأخير" + }, + "oAria": { + "sSortAscending": ": تفعيل لترتيب العمود تصاعدياً", + "sSortDescending": ": تفعيل لترتيب العمود تنازلياً" + } } diff --git a/assets/Zed/js/modules/libs/i18n/be.json b/assets/Zed/js/modules/libs/i18n/be.json index 98a49810..5b28ff84 100644 --- a/assets/Zed/js/modules/libs/i18n/be.json +++ b/assets/Zed/js/modules/libs/i18n/be.json @@ -1,21 +1,21 @@ { - "sProcessing": "Пачакайце...", - "sLengthMenu": "Паказваць _MENU_ запісаў", - "sZeroRecords": "Запісы адсутнічаюць.", - "sInfo": "Запісы з _START_ па _END_ з _TOTAL_ запісаў", - "sInfoEmpty": "Запісы з 0 па 0 з 0 запісаў", - "sInfoFiltered": "(адфільтравана з _MAX_ запісаў)", - "sInfoPostFix": "", - "sSearch": "Пошук:", - "sUrl": "", - "oPaginate": { - "sFirst": "Першая", - "sPrevious": "Папярэдняя", - "sNext": "Наступная", - "sLast": "Апошняя" - }, - "oAria": { - "sSortAscending": ": актываваць для сартавання слупка па ўзрастанні", - "sSortDescending": ": актываваць для сартавання слупка па змяншэнні" - } -} \ No newline at end of file + "sProcessing": "Пачакайце...", + "sLengthMenu": "Паказваць _MENU_ запісаў", + "sZeroRecords": "Запісы адсутнічаюць.", + "sInfo": "Запісы з _START_ па _END_ з _TOTAL_ запісаў", + "sInfoEmpty": "Запісы з 0 па 0 з 0 запісаў", + "sInfoFiltered": "(адфільтравана з _MAX_ запісаў)", + "sInfoPostFix": "", + "sSearch": "Пошук:", + "sUrl": "", + "oPaginate": { + "sFirst": "Першая", + "sPrevious": "Папярэдняя", + "sNext": "Наступная", + "sLast": "Апошняя" + }, + "oAria": { + "sSortAscending": ": актываваць для сартавання слупка па ўзрастанні", + "sSortDescending": ": актываваць для сартавання слупка па змяншэнні" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/bg.json b/assets/Zed/js/modules/libs/i18n/bg.json index 908b8107..6ddf37d9 100644 --- a/assets/Zed/js/modules/libs/i18n/bg.json +++ b/assets/Zed/js/modules/libs/i18n/bg.json @@ -1,17 +1,17 @@ { - "sProcessing": "Обработка на резултатите...", - "sLengthMenu": "Показване на _MENU_ резултата", - "sZeroRecords": "Няма намерени резултати", - "sInfo": "Показване на резултати от _START_ до _END_ от общо _TOTAL_", - "sInfoEmpty": "Показване на резултати от 0 до 0 от общо 0", - "sInfoFiltered": "(филтрирани от общо _MAX_ резултата)", - "sInfoPostFix": "", - "sSearch": "Търсене:", - "sUrl": "", - "oPaginate": { - "sFirst": "Първа", - "sPrevious": "Предишна", - "sNext": "Следваща", - "sLast": "Последна" - } + "sProcessing": "Обработка на резултатите...", + "sLengthMenu": "Показване на _MENU_ резултата", + "sZeroRecords": "Няма намерени резултати", + "sInfo": "Показване на резултати от _START_ до _END_ от общо _TOTAL_", + "sInfoEmpty": "Показване на резултати от 0 до 0 от общо 0", + "sInfoFiltered": "(филтрирани от общо _MAX_ резултата)", + "sInfoPostFix": "", + "sSearch": "Търсене:", + "sUrl": "", + "oPaginate": { + "sFirst": "Първа", + "sPrevious": "Предишна", + "sNext": "Следваща", + "sLast": "Последна" + } } diff --git a/assets/Zed/js/modules/libs/i18n/ca.json b/assets/Zed/js/modules/libs/i18n/ca.json index 4a75503d..bf9b8945 100644 --- a/assets/Zed/js/modules/libs/i18n/ca.json +++ b/assets/Zed/js/modules/libs/i18n/ca.json @@ -1,17 +1,17 @@ { - "sProcessing": "Processant...", - "sLengthMenu": "Mostra _MENU_ registres", - "sZeroRecords": "No s'han trobat registres.", - "sInfo": "Mostrant de _START_ a _END_ de _TOTAL_ registres", - "sInfoEmpty": "Mostrant de 0 a 0 de 0 registres", - "sInfoFiltered": "(filtrat de _MAX_ total registres)", - "sInfoPostFix": "", - "sSearch": "Filtrar:", - "sUrl": "", - "oPaginate": { - "sFirst": "Primer", - "sPrevious": "Anterior", - "sNext": "Següent", - "sLast": "Últim" - } + "sProcessing": "Processant...", + "sLengthMenu": "Mostra _MENU_ registres", + "sZeroRecords": "No s'han trobat registres.", + "sInfo": "Mostrant de _START_ a _END_ de _TOTAL_ registres", + "sInfoEmpty": "Mostrant de 0 a 0 de 0 registres", + "sInfoFiltered": "(filtrat de _MAX_ total registres)", + "sInfoPostFix": "", + "sSearch": "Filtrar:", + "sUrl": "", + "oPaginate": { + "sFirst": "Primer", + "sPrevious": "Anterior", + "sNext": "Següent", + "sLast": "Últim" + } } diff --git a/assets/Zed/js/modules/libs/i18n/cs.json b/assets/Zed/js/modules/libs/i18n/cs.json index cfcfc0fb..75f42ec1 100644 --- a/assets/Zed/js/modules/libs/i18n/cs.json +++ b/assets/Zed/js/modules/libs/i18n/cs.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Tabulka neobsahuje žádná data", - "sInfo": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů", - "sInfoEmpty": "Zobrazuji 0 až 0 z 0 záznamů", - "sInfoFiltered": "(filtrováno z celkem _MAX_ záznamů)", - "sInfoPostFix": "", - "sInfoThousands": " ", - "sLengthMenu": "Zobraz záznamů _MENU_", - "sLoadingRecords": "Načítám...", - "sProcessing": "Provádím...", - "sSearch": "Hledat:", - "sZeroRecords": "Žádné záznamy nebyly nalezeny", - "oPaginate": { - "sFirst": "První", - "sLast": "Poslední", - "sNext": "Další", - "sPrevious": "Předchozí" - }, - "oAria": { - "sSortAscending": ": aktivujte pro řazení sloupce vzestupně", - "sSortDescending": ": aktivujte pro řazení sloupce sestupně" - } + "sEmptyTable": "Tabulka neobsahuje žádná data", + "sInfo": "Zobrazuji _START_ až _END_ z celkem _TOTAL_ záznamů", + "sInfoEmpty": "Zobrazuji 0 až 0 z 0 záznamů", + "sInfoFiltered": "(filtrováno z celkem _MAX_ záznamů)", + "sInfoPostFix": "", + "sInfoThousands": " ", + "sLengthMenu": "Zobraz záznamů _MENU_", + "sLoadingRecords": "Načítám...", + "sProcessing": "Provádím...", + "sSearch": "Hledat:", + "sZeroRecords": "Žádné záznamy nebyly nalezeny", + "oPaginate": { + "sFirst": "První", + "sLast": "Poslední", + "sNext": "Další", + "sPrevious": "Předchozí" + }, + "oAria": { + "sSortAscending": ": aktivujte pro řazení sloupce vzestupně", + "sSortDescending": ": aktivujte pro řazení sloupce sestupně" + } } diff --git a/assets/Zed/js/modules/libs/i18n/cy.json b/assets/Zed/js/modules/libs/i18n/cy.json index b846b686..03dfcf09 100644 --- a/assets/Zed/js/modules/libs/i18n/cy.json +++ b/assets/Zed/js/modules/libs/i18n/cy.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Dim data ar gael yn y tabl", - "sInfo": "Dangos _START_ i _END_ o _TOTAL_ cofnod", - "sInfoEmpty": "Dangos 0 i 0 o 0 cofnod", - "sInfoFiltered": "(wedi hidlo o gyfanswm o _MAX_ cofnod)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Dangos _MENU_ cofnod", - "sLoadingRecords": "Wrthi'n llwytho...", - "sProcessing": "Wrthi'n prosesu...", - "sSearch": "Chwilio:", - "sZeroRecords": "Heb ddod o hyd i gofnodion sy'n cyfateb", - "oPaginate": { - "sFirst": "Cyntaf", - "sLast": "Olaf", - "sNext": "Nesaf", - "sPrevious": "Blaenorol" - }, - "oAria": { - "sSortAscending": ": rhoi ar waith i drefnu colofnau o'r lleiaf i'r mwyaf", - "sSortDescending": ": rhoi ar waith i drefnu colofnau o'r mwyaf i'r lleiaf" - } -} \ No newline at end of file + "sEmptyTable": "Dim data ar gael yn y tabl", + "sInfo": "Dangos _START_ i _END_ o _TOTAL_ cofnod", + "sInfoEmpty": "Dangos 0 i 0 o 0 cofnod", + "sInfoFiltered": "(wedi hidlo o gyfanswm o _MAX_ cofnod)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Dangos _MENU_ cofnod", + "sLoadingRecords": "Wrthi'n llwytho...", + "sProcessing": "Wrthi'n prosesu...", + "sSearch": "Chwilio:", + "sZeroRecords": "Heb ddod o hyd i gofnodion sy'n cyfateb", + "oPaginate": { + "sFirst": "Cyntaf", + "sLast": "Olaf", + "sNext": "Nesaf", + "sPrevious": "Blaenorol" + }, + "oAria": { + "sSortAscending": ": rhoi ar waith i drefnu colofnau o'r lleiaf i'r mwyaf", + "sSortDescending": ": rhoi ar waith i drefnu colofnau o'r mwyaf i'r lleiaf" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/da.json b/assets/Zed/js/modules/libs/i18n/da.json index 909f39c3..5732720a 100644 --- a/assets/Zed/js/modules/libs/i18n/da.json +++ b/assets/Zed/js/modules/libs/i18n/da.json @@ -1,17 +1,17 @@ { - "sProcessing": "Henter...", - "sLengthMenu": "Vis _MENU_ linjer", - "sZeroRecords": "Ingen linjer matcher søgningen", - "sInfo": "Viser _START_ til _END_ af _TOTAL_ linjer", - "sInfoEmpty": "Viser 0 til 0 af 0 linjer", - "sInfoFiltered": "(filtreret fra _MAX_ linjer)", - "sInfoPostFix": "", - "sSearch": "Søg:", - "sUrl": "", - "oPaginate": { - "sFirst": "Første", - "sPrevious": "Forrige", - "sNext": "Næste", - "sLast": "Sidste" - } + "sProcessing": "Henter...", + "sLengthMenu": "Vis _MENU_ linjer", + "sZeroRecords": "Ingen linjer matcher søgningen", + "sInfo": "Viser _START_ til _END_ af _TOTAL_ linjer", + "sInfoEmpty": "Viser 0 til 0 af 0 linjer", + "sInfoFiltered": "(filtreret fra _MAX_ linjer)", + "sInfoPostFix": "", + "sSearch": "Søg:", + "sUrl": "", + "oPaginate": { + "sFirst": "Første", + "sPrevious": "Forrige", + "sNext": "Næste", + "sLast": "Sidste" + } } diff --git a/assets/Zed/js/modules/libs/i18n/de.json b/assets/Zed/js/modules/libs/i18n/de.json index b109b7d7..bd2fe542 100644 --- a/assets/Zed/js/modules/libs/i18n/de.json +++ b/assets/Zed/js/modules/libs/i18n/de.json @@ -1,41 +1,41 @@ - { - "sEmptyTable": "Keine Daten in der Tabelle vorhanden", - "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", - "sInfoEmpty": "Keine Daten vorhanden", - "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "_MENU_ Einträge anzeigen", - "sLoadingRecords": "Wird geladen ..", - "sProcessing": "Bitte warten ..", - "sSearch": "Suchen", - "sZeroRecords": "Keine Einträge vorhanden", - "oPaginate": { - "sFirst": "Erste", - "sPrevious": "Zurück", - "sNext": "Nächste", - "sLast": "Letzte" - }, - "oAria": { - "sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren", - "sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren" - }, - "select": { - "rows": { - "_": "%d Zeilen ausgewählt", - "0": "", - "1": "1 Zeile ausgewählt" - } - }, - "buttons": { - "print": "Drucken", - "colvis": "Spalten", - "copy": "Kopieren", - "copyTitle": "In Zwischenablage kopieren", - "copyKeys": "Taste ctrl oder \u2318 + C um Tabelle
in Zwischenspeicher zu kopieren.

Um abzubrechen die Nachricht anklicken oder Escape drücken.", - "copySuccess": { - "_": "%d Zeilen kopiert", - "1": "1 Zeile kopiert" - } - } +{ + "sEmptyTable": "Keine Daten in der Tabelle vorhanden", + "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", + "sInfoEmpty": "Keine Daten vorhanden", + "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "_MENU_ Einträge anzeigen", + "sLoadingRecords": "Wird geladen ..", + "sProcessing": "Bitte warten ..", + "sSearch": "Suchen", + "sZeroRecords": "Keine Einträge vorhanden", + "oPaginate": { + "sFirst": "Erste", + "sPrevious": "Zurück", + "sNext": "Nächste", + "sLast": "Letzte" + }, + "oAria": { + "sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren", + "sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren" + }, + "select": { + "rows": { + "_": "%d Zeilen ausgewählt", + "0": "", + "1": "1 Zeile ausgewählt" + } + }, + "buttons": { + "print": "Drucken", + "colvis": "Spalten", + "copy": "Kopieren", + "copyTitle": "In Zwischenablage kopieren", + "copyKeys": "Taste ctrl oder \u2318 + C um Tabelle
in Zwischenspeicher zu kopieren.

Um abzubrechen die Nachricht anklicken oder Escape drücken.", + "copySuccess": { + "_": "%d Zeilen kopiert", + "1": "1 Zeile kopiert" + } + } } diff --git a/assets/Zed/js/modules/libs/i18n/el.json b/assets/Zed/js/modules/libs/i18n/el.json index 7e8d9cf2..1f3f41e5 100644 --- a/assets/Zed/js/modules/libs/i18n/el.json +++ b/assets/Zed/js/modules/libs/i18n/el.json @@ -1,27 +1,27 @@ { - "sDecimal": ",", - "sEmptyTable": "Δεν υπάρχουν δεδομένα στον πίνακα", - "sInfo": "Εμφανίζονται _START_ έως _END_ από _TOTAL_ εγγραφές", - "sInfoEmpty": "Εμφανίζονται 0 έως 0 από 0 εγγραφές", - "sInfoFiltered": "(φιλτραρισμένες από _MAX_ συνολικά εγγραφές)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "Δείξε _MENU_ εγγραφές", - "sLoadingRecords": "Φόρτωση...", - "sProcessing": "Επεξεργασία...", - "sSearch": "Αναζήτηση:", - "sSearchPlaceholder": "Αναζήτηση", - "sThousands": ".", - "sUrl": "", - "sZeroRecords": "Δεν βρέθηκαν εγγραφές που να ταιριάζουν", - "oPaginate": { - "sFirst": "Πρώτη", - "sPrevious": "Προηγούμενη", - "sNext": "Επόμενη", - "sLast": "Τελευταία" - }, - "oAria": { - "sSortAscending": ": ενεργοποιήστε για αύξουσα ταξινόμηση της στήλης", - "sSortDescending": ": ενεργοποιήστε για φθίνουσα ταξινόμηση της στήλης" - } + "sDecimal": ",", + "sEmptyTable": "Δεν υπάρχουν δεδομένα στον πίνακα", + "sInfo": "Εμφανίζονται _START_ έως _END_ από _TOTAL_ εγγραφές", + "sInfoEmpty": "Εμφανίζονται 0 έως 0 από 0 εγγραφές", + "sInfoFiltered": "(φιλτραρισμένες από _MAX_ συνολικά εγγραφές)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "Δείξε _MENU_ εγγραφές", + "sLoadingRecords": "Φόρτωση...", + "sProcessing": "Επεξεργασία...", + "sSearch": "Αναζήτηση:", + "sSearchPlaceholder": "Αναζήτηση", + "sThousands": ".", + "sUrl": "", + "sZeroRecords": "Δεν βρέθηκαν εγγραφές που να ταιριάζουν", + "oPaginate": { + "sFirst": "Πρώτη", + "sPrevious": "Προηγούμενη", + "sNext": "Επόμενη", + "sLast": "Τελευταία" + }, + "oAria": { + "sSortAscending": ": ενεργοποιήστε για αύξουσα ταξινόμηση της στήλης", + "sSortDescending": ": ενεργοποιήστε για φθίνουσα ταξινόμηση της στήλης" + } } diff --git a/assets/Zed/js/modules/libs/i18n/en.json b/assets/Zed/js/modules/libs/i18n/en.json index ddc11ae4..259f9ead 100644 --- a/assets/Zed/js/modules/libs/i18n/en.json +++ b/assets/Zed/js/modules/libs/i18n/en.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "No data available in table", - "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", - "sInfoEmpty": "Showing 0 to 0 of 0 entries", - "sInfoFiltered": "(filtered from _MAX_ total entries)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Show _MENU_ entries", - "sLoadingRecords": "Loading...", - "sProcessing": "Processing...", - "sSearch": "Search:", - "sZeroRecords": "No matching records found", - "oPaginate": { - "sFirst": "First", - "sLast": "Last", - "sNext": "Next", - "sPrevious": "Previous" - }, - "oAria": { - "sSortAscending": ": activate to sort column ascending", - "sSortDescending": ": activate to sort column descending" - } -} \ No newline at end of file + "sEmptyTable": "No data available in table", + "sInfo": "Showing _START_ to _END_ of _TOTAL_ entries", + "sInfoEmpty": "Showing 0 to 0 of 0 entries", + "sInfoFiltered": "(filtered from _MAX_ total entries)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Show _MENU_ entries", + "sLoadingRecords": "Loading...", + "sProcessing": "Processing...", + "sSearch": "Search:", + "sZeroRecords": "No matching records found", + "oPaginate": { + "sFirst": "First", + "sLast": "Last", + "sNext": "Next", + "sPrevious": "Previous" + }, + "oAria": { + "sSortAscending": ": activate to sort column ascending", + "sSortDescending": ": activate to sort column descending" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/eo.json b/assets/Zed/js/modules/libs/i18n/eo.json index f6a64c49..5cf90a95 100644 --- a/assets/Zed/js/modules/libs/i18n/eo.json +++ b/assets/Zed/js/modules/libs/i18n/eo.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Neniuj datumoj en tabelo", - "sInfo": "Montras _START_ ĝis _END_ el _TOTAL_ vicoj", - "sInfoEmpty": "Montras 0 ĝis 0 el 0 vicoj", - "sInfoFiltered": "(filtrita el entute _MAX_ vicoj)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "Montri _MENU_ vicojn", - "sLoadingRecords": "Ŝarĝas ...", - "sProcessing": "Pretigas ...", - "sSearch": "Serĉi:", - "sZeroRecords": "Neniuj rezultoj trovitaj", - "oPaginate": { - "sFirst": "Unua", - "sLast": "Lasta", - "sNext": "Venonta", - "sPrevious": "Antaŭa" - }, - "oAria": { - "sSortAscending": ": aktivigi por filtri kolumnon kreskante", - "sSortDescending": ": aktivigi por filtri kolumnon malkreskante" - } + "sEmptyTable": "Neniuj datumoj en tabelo", + "sInfo": "Montras _START_ ĝis _END_ el _TOTAL_ vicoj", + "sInfoEmpty": "Montras 0 ĝis 0 el 0 vicoj", + "sInfoFiltered": "(filtrita el entute _MAX_ vicoj)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "Montri _MENU_ vicojn", + "sLoadingRecords": "Ŝarĝas ...", + "sProcessing": "Pretigas ...", + "sSearch": "Serĉi:", + "sZeroRecords": "Neniuj rezultoj trovitaj", + "oPaginate": { + "sFirst": "Unua", + "sLast": "Lasta", + "sNext": "Venonta", + "sPrevious": "Antaŭa" + }, + "oAria": { + "sSortAscending": ": aktivigi por filtri kolumnon kreskante", + "sSortDescending": ": aktivigi por filtri kolumnon malkreskante" + } } diff --git a/assets/Zed/js/modules/libs/i18n/es.json b/assets/Zed/js/modules/libs/i18n/es.json index 53f80974..30c5ed08 100644 --- a/assets/Zed/js/modules/libs/i18n/es.json +++ b/assets/Zed/js/modules/libs/i18n/es.json @@ -1,28 +1,28 @@ { - "sProcessing": "Procesando...", - "sLengthMenu": "Mostrar _MENU_ registros", - "sZeroRecords": "No se encontraron resultados", - "sEmptyTable": "Ningún dato disponible en esta tabla =(", - "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros", - "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros", - "sInfoFiltered": "(filtrado de un total de _MAX_ registros)", - "sInfoPostFix": "", - "sSearch": "Buscar:", - "sUrl": "", - "sInfoThousands": ",", - "sLoadingRecords": "Cargando...", - "oPaginate": { - "sFirst": "Primero", - "sLast": "Último", - "sNext": "Siguiente", - "sPrevious": "Anterior" - }, - "oAria": { - "sSortAscending": ": Activar para ordenar la columna de manera ascendente", - "sSortDescending": ": Activar para ordenar la columna de manera descendente" - }, - "buttons": { - "copy": "Copiar", - "colvis": "Visibilidad" - } + "sProcessing": "Procesando...", + "sLengthMenu": "Mostrar _MENU_ registros", + "sZeroRecords": "No se encontraron resultados", + "sEmptyTable": "Ningún dato disponible en esta tabla =(", + "sInfo": "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros", + "sInfoEmpty": "Mostrando registros del 0 al 0 de un total de 0 registros", + "sInfoFiltered": "(filtrado de un total de _MAX_ registros)", + "sInfoPostFix": "", + "sSearch": "Buscar:", + "sUrl": "", + "sInfoThousands": ",", + "sLoadingRecords": "Cargando...", + "oPaginate": { + "sFirst": "Primero", + "sLast": "Último", + "sNext": "Siguiente", + "sPrevious": "Anterior" + }, + "oAria": { + "sSortAscending": ": Activar para ordenar la columna de manera ascendente", + "sSortDescending": ": Activar para ordenar la columna de manera descendente" + }, + "buttons": { + "copy": "Copiar", + "colvis": "Visibilidad" + } } diff --git a/assets/Zed/js/modules/libs/i18n/et.json b/assets/Zed/js/modules/libs/i18n/et.json index 5ee3ffd9..9c149695 100644 --- a/assets/Zed/js/modules/libs/i18n/et.json +++ b/assets/Zed/js/modules/libs/i18n/et.json @@ -1,16 +1,16 @@ { - "sProcessing": "Palun oodake, koostan kuvamiseks nimekirja!", - "sLengthMenu": "Näita kirjeid _MENU_ kaupa", - "sZeroRecords": "Otsitavat vastet ei leitud.", - "sInfo": "Kuvatud: _TOTAL_ kirjet (_START_-_END_)", - "sInfoEmpty": "Otsinguvasteid ei leitud", - "sInfoFiltered": " - filteeritud _MAX_ kirje seast.", - "sInfoPostFix": "Kõik kuvatud kirjed põhinevad reaalsetel tulemustel.", - "sSearch": "Otsi kõikide tulemuste seast:", - "oPaginate": { - "sFirst": "Algus", - "sPrevious": "Eelmine", - "sNext": "Järgmine", - "sLast": "Viimane" - } + "sProcessing": "Palun oodake, koostan kuvamiseks nimekirja!", + "sLengthMenu": "Näita kirjeid _MENU_ kaupa", + "sZeroRecords": "Otsitavat vastet ei leitud.", + "sInfo": "Kuvatud: _TOTAL_ kirjet (_START_-_END_)", + "sInfoEmpty": "Otsinguvasteid ei leitud", + "sInfoFiltered": " - filteeritud _MAX_ kirje seast.", + "sInfoPostFix": "Kõik kuvatud kirjed põhinevad reaalsetel tulemustel.", + "sSearch": "Otsi kõikide tulemuste seast:", + "oPaginate": { + "sFirst": "Algus", + "sPrevious": "Eelmine", + "sNext": "Järgmine", + "sLast": "Viimane" + } } diff --git a/assets/Zed/js/modules/libs/i18n/eu.json b/assets/Zed/js/modules/libs/i18n/eu.json index 19ceadb4..cef2d570 100644 --- a/assets/Zed/js/modules/libs/i18n/eu.json +++ b/assets/Zed/js/modules/libs/i18n/eu.json @@ -1,24 +1,24 @@ { - "sProcessing": "Prozesatzen...", - "sLengthMenu": "Erakutsi _MENU_ erregistro", - "sZeroRecords": "Ez da emaitzarik aurkitu", - "sEmptyTable": "Taula hontan ez dago inongo datu erabilgarririk", - "sInfo": "_START_ -etik _END_ -erako erregistroak erakusten, guztira _TOTAL_ erregistro", - "sInfoEmpty": "0tik 0rako erregistroak erakusten, guztira 0 erregistro", - "sInfoFiltered": "(guztira _MAX_ erregistro iragazten)", - "sInfoPostFix": "", - "sSearch": "Aurkitu:", - "sUrl": "", - "sInfoThousands": ",", - "sLoadingRecords": "Abiarazten...", - "oPaginate": { - "sFirst": "Lehena", - "sLast": "Azkena", - "sNext": "Hurrengoa", - "sPrevious": "Aurrekoa" - }, - "oAria": { - "sSortAscending": ": Zutabea goranzko eran ordenatzeko aktibatu ", - "sSortDescending": ": Zutabea beheranzko eran ordenatzeko aktibatu" - } -} \ No newline at end of file + "sProcessing": "Prozesatzen...", + "sLengthMenu": "Erakutsi _MENU_ erregistro", + "sZeroRecords": "Ez da emaitzarik aurkitu", + "sEmptyTable": "Taula hontan ez dago inongo datu erabilgarririk", + "sInfo": "_START_ -etik _END_ -erako erregistroak erakusten, guztira _TOTAL_ erregistro", + "sInfoEmpty": "0tik 0rako erregistroak erakusten, guztira 0 erregistro", + "sInfoFiltered": "(guztira _MAX_ erregistro iragazten)", + "sInfoPostFix": "", + "sSearch": "Aurkitu:", + "sUrl": "", + "sInfoThousands": ",", + "sLoadingRecords": "Abiarazten...", + "oPaginate": { + "sFirst": "Lehena", + "sLast": "Azkena", + "sNext": "Hurrengoa", + "sPrevious": "Aurrekoa" + }, + "oAria": { + "sSortAscending": ": Zutabea goranzko eran ordenatzeko aktibatu ", + "sSortDescending": ": Zutabea beheranzko eran ordenatzeko aktibatu" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/fa.json b/assets/Zed/js/modules/libs/i18n/fa.json index 41a59bb7..af440bbc 100644 --- a/assets/Zed/js/modules/libs/i18n/fa.json +++ b/assets/Zed/js/modules/libs/i18n/fa.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "هیچ داده ای در جدول وجود ندارد", - "sInfo": "نمایش _START_ تا _END_ از _TOTAL_ رکورد", - "sInfoEmpty": "نمایش 0 تا 0 از 0 رکورد", - "sInfoFiltered": "(فیلتر شده از _MAX_ رکورد)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "نمایش _MENU_ رکورد", - "sLoadingRecords": "در حال بارگزاری...", - "sProcessing": "در حال پردازش...", - "sSearch": "جستجو:", - "sZeroRecords": "رکوردی با این مشخصات پیدا نشد", - "oPaginate": { - "sFirst": "ابتدا", - "sLast": "انتها", - "sNext": "بعدی", - "sPrevious": "قبلی" - }, - "oAria": { - "sSortAscending": ": فعال سازی نمایش به صورت صعودی", - "sSortDescending": ": فعال سازی نمایش به صورت نزولی" - } + "sEmptyTable": "هیچ داده ای در جدول وجود ندارد", + "sInfo": "نمایش _START_ تا _END_ از _TOTAL_ رکورد", + "sInfoEmpty": "نمایش 0 تا 0 از 0 رکورد", + "sInfoFiltered": "(فیلتر شده از _MAX_ رکورد)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "نمایش _MENU_ رکورد", + "sLoadingRecords": "در حال بارگزاری...", + "sProcessing": "در حال پردازش...", + "sSearch": "جستجو:", + "sZeroRecords": "رکوردی با این مشخصات پیدا نشد", + "oPaginate": { + "sFirst": "ابتدا", + "sLast": "انتها", + "sNext": "بعدی", + "sPrevious": "قبلی" + }, + "oAria": { + "sSortAscending": ": فعال سازی نمایش به صورت صعودی", + "sSortDescending": ": فعال سازی نمایش به صورت نزولی" + } } diff --git a/assets/Zed/js/modules/libs/i18n/fi.json b/assets/Zed/js/modules/libs/i18n/fi.json index 40f1152f..e348065f 100644 --- a/assets/Zed/js/modules/libs/i18n/fi.json +++ b/assets/Zed/js/modules/libs/i18n/fi.json @@ -1,39 +1,39 @@ { - "sEmptyTable": "Ei näytettäviä tuloksia.", - "sInfo": "Näytetään rivit _START_ - _END_ (yhteensä _TOTAL_ )", - "sInfoEmpty": "Näytetään 0 - 0 (yhteensä 0)", - "sInfoFiltered": "(suodatettu _MAX_ tuloksen joukosta)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Näytä kerralla _MENU_ riviä", - "sLoadingRecords": "Ladataan...", - "sProcessing": "Hetkinen...", - "sSearch": "Etsi:", - "sZeroRecords": "Tietoja ei löytynyt", - "oPaginate": { - "sFirst": "Ensimmäinen", - "sLast": "Viimeinen", - "sNext": "Seuraava", - "sPrevious": "Edellinen" - }, - "oAria": { - "sSortAscending": ": lajittele sarake nousevasti", - "sSortDescending": ": lajittele sarake laskevasti" - }, - "select": { - "rows": { - "_": "Valittuna %d riviä", - "0": "Klikkaa riviä valitaksesi sen", - "1": "Valittuna vain yksi rivi" - } - }, - "buttons": { - "copy": "Kopioi", - "copySuccess": { - "1": "Yksi rivi kopioitu leikepöydälle", - "_": "%d riviä kopioitu leikepöydälle" - }, - "copyTitle": "Kopioi leikepöydälle", - "copyKeys": "Paina ctrl tai \u2318 + C kopioidaksesi taulukon arvot
leikepöydälle.

Peruuttaaksesi klikkaa tähän tai Esc." - } + "sEmptyTable": "Ei näytettäviä tuloksia.", + "sInfo": "Näytetään rivit _START_ - _END_ (yhteensä _TOTAL_ )", + "sInfoEmpty": "Näytetään 0 - 0 (yhteensä 0)", + "sInfoFiltered": "(suodatettu _MAX_ tuloksen joukosta)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Näytä kerralla _MENU_ riviä", + "sLoadingRecords": "Ladataan...", + "sProcessing": "Hetkinen...", + "sSearch": "Etsi:", + "sZeroRecords": "Tietoja ei löytynyt", + "oPaginate": { + "sFirst": "Ensimmäinen", + "sLast": "Viimeinen", + "sNext": "Seuraava", + "sPrevious": "Edellinen" + }, + "oAria": { + "sSortAscending": ": lajittele sarake nousevasti", + "sSortDescending": ": lajittele sarake laskevasti" + }, + "select": { + "rows": { + "_": "Valittuna %d riviä", + "0": "Klikkaa riviä valitaksesi sen", + "1": "Valittuna vain yksi rivi" + } + }, + "buttons": { + "copy": "Kopioi", + "copySuccess": { + "1": "Yksi rivi kopioitu leikepöydälle", + "_": "%d riviä kopioitu leikepöydälle" + }, + "copyTitle": "Kopioi leikepöydälle", + "copyKeys": "Paina ctrl tai \u2318 + C kopioidaksesi taulukon arvot
leikepöydälle.

Peruuttaaksesi klikkaa tähän tai Esc." + } } diff --git a/assets/Zed/js/modules/libs/i18n/fil.json b/assets/Zed/js/modules/libs/i18n/fil.json index 39d53f44..d293b8e0 100644 --- a/assets/Zed/js/modules/libs/i18n/fil.json +++ b/assets/Zed/js/modules/libs/i18n/fil.json @@ -1,17 +1,17 @@ { - "sProcessing": "Pagproseso...", - "sLengthMenu": "Ipakita _MENU_ entries", - "sZeroRecords": "Walang katugmang mga talaan na natagpuan", - "sInfo": "Ipinapakita ang _START_ sa _END_ ng _TOTAL_ entries", - "sInfoEmpty": "Ipinapakita ang 0-0 ng 0 entries", - "sInfoFiltered": "(na-filter mula _MAX_ kabuuang entries)", - "sInfoPostFix": "", - "sSearch": "Paghahanap:", - "sUrl": "", - "oPaginate": { - "sFirst": "Unang", - "sPrevious": "Nakaraan", - "sNext": "Susunod", - "sLast": "Huli" - } + "sProcessing": "Pagproseso...", + "sLengthMenu": "Ipakita _MENU_ entries", + "sZeroRecords": "Walang katugmang mga talaan na natagpuan", + "sInfo": "Ipinapakita ang _START_ sa _END_ ng _TOTAL_ entries", + "sInfoEmpty": "Ipinapakita ang 0-0 ng 0 entries", + "sInfoFiltered": "(na-filter mula _MAX_ kabuuang entries)", + "sInfoPostFix": "", + "sSearch": "Paghahanap:", + "sUrl": "", + "oPaginate": { + "sFirst": "Unang", + "sPrevious": "Nakaraan", + "sNext": "Susunod", + "sLast": "Huli" + } } diff --git a/assets/Zed/js/modules/libs/i18n/fr.json b/assets/Zed/js/modules/libs/i18n/fr.json index 211b2274..a8bfca26 100644 --- a/assets/Zed/js/modules/libs/i18n/fr.json +++ b/assets/Zed/js/modules/libs/i18n/fr.json @@ -1,29 +1,29 @@ { - "sProcessing": "Traitement en cours...", - "sSearch": "Rechercher :", - "sLengthMenu": "Afficher _MENU_ éléments", - "sInfo": "Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments", - "sInfoEmpty": "Affichage de l'élément 0 à 0 sur 0 élément", - "sInfoFiltered": "(filtré de _MAX_ éléments au total)", - "sInfoPostFix": "", - "sLoadingRecords": "Chargement en cours...", - "sZeroRecords": "Aucun élément à afficher", - "sEmptyTable": "Aucune donnée disponible dans le tableau", - "oPaginate": { - "sFirst": "Premier", - "sPrevious": "Précédent", - "sNext": "Suivant", - "sLast": "Dernier" - }, - "oAria": { - "sSortAscending": ": activer pour trier la colonne par ordre croissant", - "sSortDescending": ": activer pour trier la colonne par ordre décroissant" - }, - "select": { - "rows": { - "_": "%d lignes sélectionnées", - "0": "Aucune ligne sélectionnée", - "1": "1 ligne sélectionnée" - } - } + "sProcessing": "Traitement en cours...", + "sSearch": "Rechercher :", + "sLengthMenu": "Afficher _MENU_ éléments", + "sInfo": "Affichage de l'élément _START_ à _END_ sur _TOTAL_ éléments", + "sInfoEmpty": "Affichage de l'élément 0 à 0 sur 0 élément", + "sInfoFiltered": "(filtré de _MAX_ éléments au total)", + "sInfoPostFix": "", + "sLoadingRecords": "Chargement en cours...", + "sZeroRecords": "Aucun élément à afficher", + "sEmptyTable": "Aucune donnée disponible dans le tableau", + "oPaginate": { + "sFirst": "Premier", + "sPrevious": "Précédent", + "sNext": "Suivant", + "sLast": "Dernier" + }, + "oAria": { + "sSortAscending": ": activer pour trier la colonne par ordre croissant", + "sSortDescending": ": activer pour trier la colonne par ordre décroissant" + }, + "select": { + "rows": { + "_": "%d lignes sélectionnées", + "0": "Aucune ligne sélectionnée", + "1": "1 ligne sélectionnée" + } + } } diff --git a/assets/Zed/js/modules/libs/i18n/ga.json b/assets/Zed/js/modules/libs/i18n/ga.json index 6b7db0de..24d0a170 100644 --- a/assets/Zed/js/modules/libs/i18n/ga.json +++ b/assets/Zed/js/modules/libs/i18n/ga.json @@ -1,17 +1,17 @@ { - "sProcessing": "Próiseáil...", - "sLengthMenu": "Taispeáin iontrálacha _MENU_", - "sZeroRecords": "Gan aon taifead meaitseáil aimsithe", - "sInfo": "_START_ Showing a _END_ na n-iontrálacha _TOTAL_", - "sInfoEmpty": "Showing 0-0 na n-iontrálacha 0", - "sInfoFiltered": "(scagtha ó _MAX_ iontrálacha iomlán)", - "sInfoPostFix": "", - "sSearch": "Cuardaigh:", - "sUrl": "", - "oPaginate": { - "sFirst": "An Chéad", - "sPrevious": "Roimhe Seo", - "sNext": "Ar Aghaidh", - "sLast": "Last" - } + "sProcessing": "Próiseáil...", + "sLengthMenu": "Taispeáin iontrálacha _MENU_", + "sZeroRecords": "Gan aon taifead meaitseáil aimsithe", + "sInfo": "_START_ Showing a _END_ na n-iontrálacha _TOTAL_", + "sInfoEmpty": "Showing 0-0 na n-iontrálacha 0", + "sInfoFiltered": "(scagtha ó _MAX_ iontrálacha iomlán)", + "sInfoPostFix": "", + "sSearch": "Cuardaigh:", + "sUrl": "", + "oPaginate": { + "sFirst": "An Chéad", + "sPrevious": "Roimhe Seo", + "sNext": "Ar Aghaidh", + "sLast": "Last" + } } diff --git a/assets/Zed/js/modules/libs/i18n/gl.json b/assets/Zed/js/modules/libs/i18n/gl.json index 5f409837..b6a81bd0 100644 --- a/assets/Zed/js/modules/libs/i18n/gl.json +++ b/assets/Zed/js/modules/libs/i18n/gl.json @@ -1,24 +1,24 @@ { - "sProcessing": "Procesando...", - "sLengthMenu": "Mostrar _MENU_ rexistros", - "sZeroRecords": "Non se atoparon resultados", - "sEmptyTable": "Ningún dato dispoñible nesta táboa", - "sInfo": "Mostrando rexistros do _START_ ao _END_ dun total de _TOTAL_ rexistros", - "sInfoEmpty": "Mostrando rexistros do 0 ao 0 dun total de 0 rexistros", - "sInfoFiltered": "(filtrado dun total de _MAX_ rexistros)", - "sInfoPostFix": "", - "sSearch": "Buscar:", - "sUrl": "", - "sInfoThousands": ",", - "sLoadingRecords": "Cargando...", - "oPaginate": { - "sFirst": "Primeiro", - "sLast": "Último", - "sNext": "Seguinte", - "sPrevious": "Anterior" - }, - "oAria": { - "sSortAscending": ": Activar para ordenar a columna de maneira ascendente", - "sSortDescending": ": Activar para ordenar a columna de maneira descendente" - } -} \ No newline at end of file + "sProcessing": "Procesando...", + "sLengthMenu": "Mostrar _MENU_ rexistros", + "sZeroRecords": "Non se atoparon resultados", + "sEmptyTable": "Ningún dato dispoñible nesta táboa", + "sInfo": "Mostrando rexistros do _START_ ao _END_ dun total de _TOTAL_ rexistros", + "sInfoEmpty": "Mostrando rexistros do 0 ao 0 dun total de 0 rexistros", + "sInfoFiltered": "(filtrado dun total de _MAX_ rexistros)", + "sInfoPostFix": "", + "sSearch": "Buscar:", + "sUrl": "", + "sInfoThousands": ",", + "sLoadingRecords": "Cargando...", + "oPaginate": { + "sFirst": "Primeiro", + "sLast": "Último", + "sNext": "Seguinte", + "sPrevious": "Anterior" + }, + "oAria": { + "sSortAscending": ": Activar para ordenar a columna de maneira ascendente", + "sSortDescending": ": Activar para ordenar a columna de maneira descendente" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/gu.json b/assets/Zed/js/modules/libs/i18n/gu.json index cadb8d10..0b8da073 100644 --- a/assets/Zed/js/modules/libs/i18n/gu.json +++ b/assets/Zed/js/modules/libs/i18n/gu.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "કોષ્ટકમાં કોઈ ડેટા ઉપલબ્ધ નથી", - "sInfo": "કુલ_પ્રવેશો_અંત_પ્રારંભ_દર્શાવે_છે", - "sInfoEmpty": "0 પ્રવેશો 0 0 બતાવી રહ્યું છે", - "sInfoFiltered": "(_MAX_ કુલ પ્રવેશો માંથી ફિલ્ટર)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "બતાવો _MENU_ પ્રવેશો", - "sLoadingRecords": "લોડ કરી રહ્યું છે ...", - "sProcessing": "પ્રક્રિયા ...", - "sSearch": "શોધો:", - "sZeroRecords": "કોઈ મેળ ખાતા રેકોર્ડ મળી", - "oPaginate": { - "sFirst": "પ્રથમ", - "sLast": "અંતિમ", - "sNext": "આગામી", - "sPrevious": "ગત" - }, - "oAria": { - "sSortAscending": ": સ્તંભ ચડતા ક્રમમાં ગોઠવવા માટે સક્રિય", - "sSortDescending": ": કૉલમ ઉતરતા ક્રમમાં ગોઠવવા માટે સક્રિય" - } -} \ No newline at end of file + "sEmptyTable": "કોષ્ટકમાં કોઈ ડેટા ઉપલબ્ધ નથી", + "sInfo": "કુલ_પ્રવેશો_અંત_પ્રારંભ_દર્શાવે_છે", + "sInfoEmpty": "0 પ્રવેશો 0 0 બતાવી રહ્યું છે", + "sInfoFiltered": "(_MAX_ કુલ પ્રવેશો માંથી ફિલ્ટર)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "બતાવો _MENU_ પ્રવેશો", + "sLoadingRecords": "લોડ કરી રહ્યું છે ...", + "sProcessing": "પ્રક્રિયા ...", + "sSearch": "શોધો:", + "sZeroRecords": "કોઈ મેળ ખાતા રેકોર્ડ મળી", + "oPaginate": { + "sFirst": "પ્રથમ", + "sLast": "અંતિમ", + "sNext": "આગામી", + "sPrevious": "ગત" + }, + "oAria": { + "sSortAscending": ": સ્તંભ ચડતા ક્રમમાં ગોઠવવા માટે સક્રિય", + "sSortDescending": ": કૉલમ ઉતરતા ક્રમમાં ગોઠવવા માટે સક્રિય" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/hi.json b/assets/Zed/js/modules/libs/i18n/hi.json index f9dcfa3c..81de0dd0 100644 --- a/assets/Zed/js/modules/libs/i18n/hi.json +++ b/assets/Zed/js/modules/libs/i18n/hi.json @@ -1,17 +1,17 @@ { - "sProcessing": "प्रगति पे हैं ...", - "sLengthMenu": " _MENU_ प्रविष्टियां दिखाएं ", - "sZeroRecords": "रिकॉर्ड्स का मेल नहीं मिला", - "sInfo": "_START_ to _END_ of _TOTAL_ प्रविष्टियां दिखा रहे हैं", - "sInfoEmpty": "0 में से 0 से 0 प्रविष्टियां दिखा रहे हैं", - "sInfoFiltered": "(_MAX_ कुल प्रविष्टियों में से छठा हुआ)", - "sInfoPostFix": "", - "sSearch": "खोजें:", - "sUrl": "", - "oPaginate": { - "sFirst": "प्रथम", - "sPrevious": "पिछला", - "sNext": "अगला", - "sLast": "अंतिम" - } + "sProcessing": "प्रगति पे हैं ...", + "sLengthMenu": " _MENU_ प्रविष्टियां दिखाएं ", + "sZeroRecords": "रिकॉर्ड्स का मेल नहीं मिला", + "sInfo": "_START_ to _END_ of _TOTAL_ प्रविष्टियां दिखा रहे हैं", + "sInfoEmpty": "0 में से 0 से 0 प्रविष्टियां दिखा रहे हैं", + "sInfoFiltered": "(_MAX_ कुल प्रविष्टियों में से छठा हुआ)", + "sInfoPostFix": "", + "sSearch": "खोजें:", + "sUrl": "", + "oPaginate": { + "sFirst": "प्रथम", + "sPrevious": "पिछला", + "sNext": "अगला", + "sLast": "अंतिम" + } } diff --git a/assets/Zed/js/modules/libs/i18n/hr.json b/assets/Zed/js/modules/libs/i18n/hr.json index f5691170..b81b41fa 100644 --- a/assets/Zed/js/modules/libs/i18n/hr.json +++ b/assets/Zed/js/modules/libs/i18n/hr.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Nema podataka u tablici", - "sInfo": "Prikazano _START_ do _END_ od _TOTAL_ rezultata", - "sInfoEmpty": "Prikazano 0 do 0 od 0 rezultata", - "sInfoFiltered": "(filtrirano iz _MAX_ ukupnih rezultata)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Prikaži _MENU_ rezultata po stranici", - "sLoadingRecords": "Dohvaćam...", - "sProcessing": "Obrađujem...", - "sSearch": "Pretraži:", - "sZeroRecords": "Ništa nije pronađeno", + "sEmptyTable": "Nema podataka u tablici", + "sInfo": "Prikazano _START_ do _END_ od _TOTAL_ rezultata", + "sInfoEmpty": "Prikazano 0 do 0 od 0 rezultata", + "sInfoFiltered": "(filtrirano iz _MAX_ ukupnih rezultata)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Prikaži _MENU_ rezultata po stranici", + "sLoadingRecords": "Dohvaćam...", + "sProcessing": "Obrađujem...", + "sSearch": "Pretraži:", + "sZeroRecords": "Ništa nije pronađeno", "oPaginate": { - "sFirst": "Prva", - "sPrevious": "Nazad", - "sNext": "Naprijed", - "sLast": "Zadnja" + "sFirst": "Prva", + "sPrevious": "Nazad", + "sNext": "Naprijed", + "sLast": "Zadnja" }, "oAria": { - "sSortAscending": ": aktiviraj za rastući poredak", + "sSortAscending": ": aktiviraj za rastući poredak", "sSortDescending": ": aktiviraj za padajući poredak" } } diff --git a/assets/Zed/js/modules/libs/i18n/hu.json b/assets/Zed/js/modules/libs/i18n/hu.json index d0e48a10..ddce0fd0 100644 --- a/assets/Zed/js/modules/libs/i18n/hu.json +++ b/assets/Zed/js/modules/libs/i18n/hu.json @@ -1,40 +1,40 @@ { - "sEmptyTable": "Nincs rendelkezésre álló adat", - "sInfo": "Találatok: _START_ - _END_ Összesen: _TOTAL_", - "sInfoEmpty": "Nulla találat", - "sInfoFiltered": "(_MAX_ összes rekord közül szűrve)", - "sInfoPostFix": "", - "sInfoThousands": " ", - "sLengthMenu": "_MENU_ találat oldalanként", - "sLoadingRecords": "Betöltés...", - "sProcessing": "Feldolgozás...", - "sSearch": "Keresés:", - "sZeroRecords": "Nincs a keresésnek megfelelő találat", - "oPaginate": { - "sFirst": "Első", - "sPrevious": "Előző", - "sNext": "Következő", - "sLast": "Utolsó" - }, - "oAria": { - "sSortAscending": ": aktiválja a növekvő rendezéshez", - "sSortDescending": ": aktiválja a csökkenő rendezéshez" - }, - "select": { - "rows": { - "_": "%d sor kiválasztva", - "0": "", - "1": "1 sor kiválasztva" - } - }, - "buttons": { - "print": "Nyomtatás", - "colvis": "Oszlopok", - "copy": "Másolás", - "copyTitle": "Vágólapra másolás", - "copySuccess": { - "_": "%d sor másolva", - "1": "1 sor másolva" - } - } -} \ No newline at end of file + "sEmptyTable": "Nincs rendelkezésre álló adat", + "sInfo": "Találatok: _START_ - _END_ Összesen: _TOTAL_", + "sInfoEmpty": "Nulla találat", + "sInfoFiltered": "(_MAX_ összes rekord közül szűrve)", + "sInfoPostFix": "", + "sInfoThousands": " ", + "sLengthMenu": "_MENU_ találat oldalanként", + "sLoadingRecords": "Betöltés...", + "sProcessing": "Feldolgozás...", + "sSearch": "Keresés:", + "sZeroRecords": "Nincs a keresésnek megfelelő találat", + "oPaginate": { + "sFirst": "Első", + "sPrevious": "Előző", + "sNext": "Következő", + "sLast": "Utolsó" + }, + "oAria": { + "sSortAscending": ": aktiválja a növekvő rendezéshez", + "sSortDescending": ": aktiválja a csökkenő rendezéshez" + }, + "select": { + "rows": { + "_": "%d sor kiválasztva", + "0": "", + "1": "1 sor kiválasztva" + } + }, + "buttons": { + "print": "Nyomtatás", + "colvis": "Oszlopok", + "copy": "Másolás", + "copyTitle": "Vágólapra másolás", + "copySuccess": { + "_": "%d sor másolva", + "1": "1 sor másolva" + } + } +} diff --git a/assets/Zed/js/modules/libs/i18n/hy.json b/assets/Zed/js/modules/libs/i18n/hy.json index 8887f606..69d40852 100644 --- a/assets/Zed/js/modules/libs/i18n/hy.json +++ b/assets/Zed/js/modules/libs/i18n/hy.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Տվյալները բացակայում են", - "sProcessing": "Կատարվում է...", - "sInfoThousands": ",", - "sLengthMenu": "Ցուցադրել _MENU_ արդյունքներ մեկ էջում", - "sLoadingRecords": "Բեռնվում է ...", - "sZeroRecords": "Հարցմանը համապատասխանող արդյունքներ չկան", - "sInfo": "Ցուցադրված են _START_-ից _END_ արդյունքները ընդհանուր _TOTAL_-ից", - "sInfoEmpty": "Արդյունքներ գտնված չեն", - "sInfoFiltered": "(ֆիլտրվել է ընդհանուր _MAX_ արդյունքներից)", - "sInfoPostFix": "", - "sSearch": "Փնտրել", - "oPaginate": { - "sFirst": "Առաջին էջ", - "sPrevious": "Նախորդ էջ", - "sNext": "Հաջորդ էջ", - "sLast": "Վերջին էջ" - }, - "oAria": { - "sSortAscending": ": ակտիվացրեք աճման կարգով դասավորելու համար", - "sSortDescending": ": ակտիվացրեք նվազման կարգով դասավորելու համար" - } -} \ No newline at end of file + "sEmptyTable": "Տվյալները բացակայում են", + "sProcessing": "Կատարվում է...", + "sInfoThousands": ",", + "sLengthMenu": "Ցուցադրել _MENU_ արդյունքներ մեկ էջում", + "sLoadingRecords": "Բեռնվում է ...", + "sZeroRecords": "Հարցմանը համապատասխանող արդյունքներ չկան", + "sInfo": "Ցուցադրված են _START_-ից _END_ արդյունքները ընդհանուր _TOTAL_-ից", + "sInfoEmpty": "Արդյունքներ գտնված չեն", + "sInfoFiltered": "(ֆիլտրվել է ընդհանուր _MAX_ արդյունքներից)", + "sInfoPostFix": "", + "sSearch": "Փնտրել", + "oPaginate": { + "sFirst": "Առաջին էջ", + "sPrevious": "Նախորդ էջ", + "sNext": "Հաջորդ էջ", + "sLast": "Վերջին էջ" + }, + "oAria": { + "sSortAscending": ": ակտիվացրեք աճման կարգով դասավորելու համար", + "sSortDescending": ": ակտիվացրեք նվազման կարգով դասավորելու համար" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/id.json b/assets/Zed/js/modules/libs/i18n/id.json index 7391afc2..abbd41a5 100644 --- a/assets/Zed/js/modules/libs/i18n/id.json +++ b/assets/Zed/js/modules/libs/i18n/id.json @@ -1,18 +1,18 @@ { - "sEmptyTable": "Tidak ada data yang tersedia pada tabel ini", - "sProcessing": "Sedang memproses...", - "sLengthMenu": "Tampilkan _MENU_ entri", - "sZeroRecords": "Tidak ditemukan data yang sesuai", - "sInfo": "Menampilkan _START_ sampai _END_ dari _TOTAL_ entri", - "sInfoEmpty": "Menampilkan 0 sampai 0 dari 0 entri", - "sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)", - "sInfoPostFix": "", - "sSearch": "Cari:", - "sUrl": "", - "oPaginate": { - "sFirst": "Pertama", - "sPrevious": "Sebelumnya", - "sNext": "Selanjutnya", - "sLast": "Terakhir" - } + "sEmptyTable": "Tidak ada data yang tersedia pada tabel ini", + "sProcessing": "Sedang memproses...", + "sLengthMenu": "Tampilkan _MENU_ entri", + "sZeroRecords": "Tidak ditemukan data yang sesuai", + "sInfo": "Menampilkan _START_ sampai _END_ dari _TOTAL_ entri", + "sInfoEmpty": "Menampilkan 0 sampai 0 dari 0 entri", + "sInfoFiltered": "(disaring dari _MAX_ entri keseluruhan)", + "sInfoPostFix": "", + "sSearch": "Cari:", + "sUrl": "", + "oPaginate": { + "sFirst": "Pertama", + "sPrevious": "Sebelumnya", + "sNext": "Selanjutnya", + "sLast": "Terakhir" + } } diff --git a/assets/Zed/js/modules/libs/i18n/is.json b/assets/Zed/js/modules/libs/i18n/is.json index 09b40fff..61067e71 100644 --- a/assets/Zed/js/modules/libs/i18n/is.json +++ b/assets/Zed/js/modules/libs/i18n/is.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Engin gögn eru í þessari töflu", - "sInfo": "Sýni _START_ til _END_ af _TOTAL_ færslum", - "sInfoEmpty": "Sýni 0 til 0 af 0 færslum", - "sInfoFiltered": "(síað út frá _MAX_ færslum)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "Sýna _MENU_ færslur", - "sLoadingRecords": "Hleð...", - "sProcessing": "Úrvinnsla...", - "sSearch": "Leita:", - "sZeroRecords": "Engar færslur fundust", - "oPaginate": { - "sFirst": "Fyrsta", - "sLast": "Síðasta", - "sNext": "Næsta", - "sPrevious": "Fyrri" - }, - "oAria": { - "sSortAscending": ": virkja til að raða dálki í hækkandi röð", - "sSortDescending": ": virkja til að raða dálki lækkandi í röð" - } -} \ No newline at end of file + "sEmptyTable": "Engin gögn eru í þessari töflu", + "sInfo": "Sýni _START_ til _END_ af _TOTAL_ færslum", + "sInfoEmpty": "Sýni 0 til 0 af 0 færslum", + "sInfoFiltered": "(síað út frá _MAX_ færslum)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "Sýna _MENU_ færslur", + "sLoadingRecords": "Hleð...", + "sProcessing": "Úrvinnsla...", + "sSearch": "Leita:", + "sZeroRecords": "Engar færslur fundust", + "oPaginate": { + "sFirst": "Fyrsta", + "sLast": "Síðasta", + "sNext": "Næsta", + "sPrevious": "Fyrri" + }, + "oAria": { + "sSortAscending": ": virkja til að raða dálki í hækkandi röð", + "sSortDescending": ": virkja til að raða dálki lækkandi í röð" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/it.json b/assets/Zed/js/modules/libs/i18n/it.json index d3640e78..d778aad9 100644 --- a/assets/Zed/js/modules/libs/i18n/it.json +++ b/assets/Zed/js/modules/libs/i18n/it.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Nessun dato presente nella tabella", - "sInfo": "Vista da _START_ a _END_ di _TOTAL_ elementi", - "sInfoEmpty": "Vista da 0 a 0 di 0 elementi", - "sInfoFiltered": "(filtrati da _MAX_ elementi totali)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "Visualizza _MENU_ elementi", - "sLoadingRecords": "Caricamento...", - "sProcessing": "Elaborazione...", - "sSearch": "Cerca:", - "sZeroRecords": "La ricerca non ha portato alcun risultato.", - "oPaginate": { - "sFirst": "Inizio", - "sPrevious": "Precedente", - "sNext": "Successivo", - "sLast": "Fine" - }, - "oAria": { - "sSortAscending": ": attiva per ordinare la colonna in ordine crescente", - "sSortDescending": ": attiva per ordinare la colonna in ordine decrescente" - } -} \ No newline at end of file + "sEmptyTable": "Nessun dato presente nella tabella", + "sInfo": "Vista da _START_ a _END_ di _TOTAL_ elementi", + "sInfoEmpty": "Vista da 0 a 0 di 0 elementi", + "sInfoFiltered": "(filtrati da _MAX_ elementi totali)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "Visualizza _MENU_ elementi", + "sLoadingRecords": "Caricamento...", + "sProcessing": "Elaborazione...", + "sSearch": "Cerca:", + "sZeroRecords": "La ricerca non ha portato alcun risultato.", + "oPaginate": { + "sFirst": "Inizio", + "sPrevious": "Precedente", + "sNext": "Successivo", + "sLast": "Fine" + }, + "oAria": { + "sSortAscending": ": attiva per ordinare la colonna in ordine crescente", + "sSortDescending": ": attiva per ordinare la colonna in ordine decrescente" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/iw.json b/assets/Zed/js/modules/libs/i18n/iw.json index e016485e..1e2a71d7 100644 --- a/assets/Zed/js/modules/libs/i18n/iw.json +++ b/assets/Zed/js/modules/libs/i18n/iw.json @@ -1,18 +1,18 @@ { - "processing": "מעבד...", - "lengthMenu": "הצג _MENU_ פריטים", - "zeroRecords": "לא נמצאו רשומות מתאימות", - "emptyTable": "לא נמצאו רשומות מתאימות", - "info": "_START_ עד _END_ מתוך _TOTAL_ רשומות" , - "infoEmpty": "0 עד 0 מתוך 0 רשומות", + "processing": "מעבד...", + "lengthMenu": "הצג _MENU_ פריטים", + "zeroRecords": "לא נמצאו רשומות מתאימות", + "emptyTable": "לא נמצאו רשומות מתאימות", + "info": "_START_ עד _END_ מתוך _TOTAL_ רשומות", + "infoEmpty": "0 עד 0 מתוך 0 רשומות", "infoFiltered": "(מסונן מסך _MAX_ רשומות)", - "infoPostFix": "", - "search": "חפש:", - "url": "", + "infoPostFix": "", + "search": "חפש:", + "url": "", "paginate": { - "first": "ראשון", + "first": "ראשון", "previous": "קודם", - "next": "הבא", - "last": "אחרון" + "next": "הבא", + "last": "אחרון" } -} \ No newline at end of file +} diff --git a/assets/Zed/js/modules/libs/i18n/ja.json b/assets/Zed/js/modules/libs/i18n/ja.json index 76feabe1..9774cb32 100644 --- a/assets/Zed/js/modules/libs/i18n/ja.json +++ b/assets/Zed/js/modules/libs/i18n/ja.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "テーブルにデータがありません", - "sInfo": " _TOTAL_ 件中 _START_ から _END_ まで表示", - "sInfoEmpty": " 0 件中 0 から 0 まで表示", - "sInfoFiltered": "(全 _MAX_ 件より抽出)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "_MENU_ 件表示", - "sLoadingRecords": "読み込み中...", - "sProcessing": "処理中...", - "sSearch": "検索:", - "sZeroRecords": "一致するレコードがありません", - "oPaginate": { - "sFirst": "先頭", - "sLast": "最終", - "sNext": "次", - "sPrevious": "前" - }, - "oAria": { - "sSortAscending": ": 列を昇順に並べ替えるにはアクティブにする", - "sSortDescending": ": 列を降順に並べ替えるにはアクティブにする" - } -} \ No newline at end of file + "sEmptyTable": "テーブルにデータがありません", + "sInfo": " _TOTAL_ 件中 _START_ から _END_ まで表示", + "sInfoEmpty": " 0 件中 0 から 0 まで表示", + "sInfoFiltered": "(全 _MAX_ 件より抽出)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "_MENU_ 件表示", + "sLoadingRecords": "読み込み中...", + "sProcessing": "処理中...", + "sSearch": "検索:", + "sZeroRecords": "一致するレコードがありません", + "oPaginate": { + "sFirst": "先頭", + "sLast": "最終", + "sNext": "次", + "sPrevious": "前" + }, + "oAria": { + "sSortAscending": ": 列を昇順に並べ替えるにはアクティブにする", + "sSortDescending": ": 列を降順に並べ替えるにはアクティブにする" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/ka.json b/assets/Zed/js/modules/libs/i18n/ka.json index 1d491b34..0ac69338 100644 --- a/assets/Zed/js/modules/libs/i18n/ka.json +++ b/assets/Zed/js/modules/libs/i18n/ka.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "ცხრილში არ არის მონაცემები", - "sInfo": "ნაჩვენებია ჩანაწერები _START_–დან _END_–მდე, _TOTAL_ ჩანაწერიდან", - "sInfoEmpty": "ნაჩვენებია ჩანაწერები 0–დან 0–მდე, 0 ჩანაწერიდან", - "sInfoFiltered": "(გაფილტრული შედეგი _MAX_ ჩანაწერიდან)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "აჩვენე _MENU_ ჩანაწერი", - "sLoadingRecords": "იტვირთება...", - "sProcessing": "მუშავდება...", - "sSearch": "ძიება:", - "sZeroRecords": "არაფერი მოიძებნა", - "oPaginate": { - "sFirst": "პირველი", - "sLast": "ბოლო", - "sNext": "შემდეგი", - "sPrevious": "წინა" - }, - "oAria": { - "sSortAscending": ": სვეტის დალაგება ზრდის მიხედვით", - "sSortDescending": ": სვეტის დალაგება კლების მიხედვით" - } + "sEmptyTable": "ცხრილში არ არის მონაცემები", + "sInfo": "ნაჩვენებია ჩანაწერები _START_–დან _END_–მდე, _TOTAL_ ჩანაწერიდან", + "sInfoEmpty": "ნაჩვენებია ჩანაწერები 0–დან 0–მდე, 0 ჩანაწერიდან", + "sInfoFiltered": "(გაფილტრული შედეგი _MAX_ ჩანაწერიდან)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "აჩვენე _MENU_ ჩანაწერი", + "sLoadingRecords": "იტვირთება...", + "sProcessing": "მუშავდება...", + "sSearch": "ძიება:", + "sZeroRecords": "არაფერი მოიძებნა", + "oPaginate": { + "sFirst": "პირველი", + "sLast": "ბოლო", + "sNext": "შემდეგი", + "sPrevious": "წინა" + }, + "oAria": { + "sSortAscending": ": სვეტის დალაგება ზრდის მიხედვით", + "sSortDescending": ": სვეტის დალაგება კლების მიხედვით" + } } diff --git a/assets/Zed/js/modules/libs/i18n/kk.json b/assets/Zed/js/modules/libs/i18n/kk.json index 4ac6951f..44b8b6bc 100644 --- a/assets/Zed/js/modules/libs/i18n/kk.json +++ b/assets/Zed/js/modules/libs/i18n/kk.json @@ -1,22 +1,22 @@ { - "processing": "Күте тұрыңыз...", - "search": "Іздеу:", - "lengthMenu": "Жазбалар _MENU_ көрсету", - "info": "_TOTAL_ жазбалары бойынша _START_ бастап _END_ дейінгі жазбалар", - "infoEmpty": "0 жазбалары бойынша 0 бастап 0 дейінгі жазбалар", - "infoFiltered": "(_MAX_ жазбасынан сұрыпталды)", - "infoPostFix": "", - "loadingRecords": "Жазбалар жүктемесі...", - "zeroRecords": "Жазбалар жоқ", - "emptyTable": "Кестеде деректер жоқ", - "paginate": { - "first": "Бірінші", - "previous": "Алдыңғысы", - "next": "Келесі", - "last": "Соңғы" - }, - "aria": { - "sortAscending": ": өсімі бойынша бағанды сұрыптау үшін активациялау", - "sortDescending": ": кемуі бойынша бағанды сұрыптау үшін активациялау" - } -} \ No newline at end of file + "processing": "Күте тұрыңыз...", + "search": "Іздеу:", + "lengthMenu": "Жазбалар _MENU_ көрсету", + "info": "_TOTAL_ жазбалары бойынша _START_ бастап _END_ дейінгі жазбалар", + "infoEmpty": "0 жазбалары бойынша 0 бастап 0 дейінгі жазбалар", + "infoFiltered": "(_MAX_ жазбасынан сұрыпталды)", + "infoPostFix": "", + "loadingRecords": "Жазбалар жүктемесі...", + "zeroRecords": "Жазбалар жоқ", + "emptyTable": "Кестеде деректер жоқ", + "paginate": { + "first": "Бірінші", + "previous": "Алдыңғысы", + "next": "Келесі", + "last": "Соңғы" + }, + "aria": { + "sortAscending": ": өсімі бойынша бағанды сұрыптау үшін активациялау", + "sortDescending": ": кемуі бойынша бағанды сұрыптау үшін активациялау" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/km.json b/assets/Zed/js/modules/libs/i18n/km.json index a98f8378..e6bbfa63 100644 --- a/assets/Zed/js/modules/libs/i18n/km.json +++ b/assets/Zed/js/modules/libs/i18n/km.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "មិនមានទិន្នន័យក្នុងតារាងនេះទេ", - "sInfo": "បង្ហាញជួរទី _START_ ដល់ទី _END_ ក្នុងចំណោម _TOTAL_ ជួរ", - "sInfoEmpty": "បង្ហាញជួរទី 0 ដល់ទី 0 ក្នុងចំណោម 0 ជួរ", - "sInfoFiltered": "(បានចម្រាញ់ចេញពីទិន្នន័យសរុប _MAX_ ជួរ)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "បង្ហាញ _MENU_ ជួរ", + "sEmptyTable": "មិនមានទិន្នន័យក្នុងតារាងនេះទេ", + "sInfo": "បង្ហាញជួរទី _START_ ដល់ទី _END_ ក្នុងចំណោម _TOTAL_ ជួរ", + "sInfoEmpty": "បង្ហាញជួរទី 0 ដល់ទី 0 ក្នុងចំណោម 0 ជួរ", + "sInfoFiltered": "(បានចម្រាញ់ចេញពីទិន្នន័យសរុប _MAX_ ជួរ)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "បង្ហាញ _MENU_ ជួរ", "sLoadingRecords": "កំពុងផ្ទុក...", - "sProcessing": "កំពុងដំណើរការ...", - "sSearch": "ស្វែងរក:", - "sZeroRecords": "មិនមានទិន្នន័យត្រូវតាមលក្ខខណ្ឌស្វែងរកទេ", + "sProcessing": "កំពុងដំណើរការ...", + "sSearch": "ស្វែងរក:", + "sZeroRecords": "មិនមានទិន្នន័យត្រូវតាមលក្ខខណ្ឌស្វែងរកទេ", "oPaginate": { - "sFirst": "ដំបូងគេ", - "sLast": "ចុងក្រោយ", - "sNext": "បន្ទាប់", + "sFirst": "ដំបូងគេ", + "sLast": "ចុងក្រោយ", + "sNext": "បន្ទាប់", "sPrevious": "ក្រោយ" }, "oAria": { - "sSortAscending": ": ចុចដើម្បីរៀបជួរឈរនេះតាមលំដាប់ឡើង", + "sSortAscending": ": ចុចដើម្បីរៀបជួរឈរនេះតាមលំដាប់ឡើង", "sSortDescending": ": ចុចដើម្បីរៀបជួរឈរនេះតាមលំដាប់ចុះ" } } diff --git a/assets/Zed/js/modules/libs/i18n/ko.json b/assets/Zed/js/modules/libs/i18n/ko.json index b9b23721..bfc6d0f6 100644 --- a/assets/Zed/js/modules/libs/i18n/ko.json +++ b/assets/Zed/js/modules/libs/i18n/ko.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "데이터가 없습니다", - "sInfo": "_START_ - _END_ / _TOTAL_", - "sInfoEmpty": "0 - 0 / 0", - "sInfoFiltered": "(총 _MAX_ 개)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "페이지당 줄수 _MENU_", - "sLoadingRecords": "읽는중...", - "sProcessing": "처리중...", - "sSearch": "검색:", - "sZeroRecords": "검색 결과가 없습니다", - "oPaginate": { - "sFirst": "처음", - "sLast": "마지막", - "sNext": "다음", - "sPrevious": "이전" - }, - "oAria": { - "sSortAscending": ": 오름차순 정렬", - "sSortDescending": ": 내림차순 정렬" - } -} \ No newline at end of file + "sEmptyTable": "데이터가 없습니다", + "sInfo": "_START_ - _END_ / _TOTAL_", + "sInfoEmpty": "0 - 0 / 0", + "sInfoFiltered": "(총 _MAX_ 개)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "페이지당 줄수 _MENU_", + "sLoadingRecords": "읽는중...", + "sProcessing": "처리중...", + "sSearch": "검색:", + "sZeroRecords": "검색 결과가 없습니다", + "oPaginate": { + "sFirst": "처음", + "sLast": "마지막", + "sNext": "다음", + "sPrevious": "이전" + }, + "oAria": { + "sSortAscending": ": 오름차순 정렬", + "sSortDescending": ": 내림차순 정렬" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/lt.json b/assets/Zed/js/modules/libs/i18n/lt.json index 3c12f545..6e1d57a2 100644 --- a/assets/Zed/js/modules/libs/i18n/lt.json +++ b/assets/Zed/js/modules/libs/i18n/lt.json @@ -1,17 +1,17 @@ { - "sEmptyTable": "Lentelėje nėra duomenų", - "sInfo": "Rodomi įrašai nuo _START_ iki _END_ iš _TOTAL_ įrašų", - "sInfoEmpty": "Rodomi įrašai nuo 0 iki 0 iš 0", - "sInfoFiltered": "(atrinkta iš _MAX_ įrašų)", - "sInfoPostFix": "", - "sInfoThousands": " ", - "sLengthMenu": "Rodyti _MENU_ įrašus", - "sLoadingRecords": "Įkeliama...", - "sProcessing": "Apdorojama...", - "sSearch": "Ieškoti:", - "sThousands": " ", - "sUrl": "", - "sZeroRecords": "Įrašų nerasta", + "sEmptyTable": "Lentelėje nėra duomenų", + "sInfo": "Rodomi įrašai nuo _START_ iki _END_ iš _TOTAL_ įrašų", + "sInfoEmpty": "Rodomi įrašai nuo 0 iki 0 iš 0", + "sInfoFiltered": "(atrinkta iš _MAX_ įrašų)", + "sInfoPostFix": "", + "sInfoThousands": " ", + "sLengthMenu": "Rodyti _MENU_ įrašus", + "sLoadingRecords": "Įkeliama...", + "sProcessing": "Apdorojama...", + "sSearch": "Ieškoti:", + "sThousands": " ", + "sUrl": "", + "sZeroRecords": "Įrašų nerasta", "oPaginate": { "sFirst": "Pirmas", diff --git a/assets/Zed/js/modules/libs/i18n/lv.json b/assets/Zed/js/modules/libs/i18n/lv.json index a3785203..568f6fc7 100644 --- a/assets/Zed/js/modules/libs/i18n/lv.json +++ b/assets/Zed/js/modules/libs/i18n/lv.json @@ -1,22 +1,22 @@ { - "processing": "Uzgaidiet ...", - "search": "Meklēt:", - "lengthMenu": "Rādīt _MENU_ ierakstus", - "info": "Parādīti _START_ līdz _END_ no _TOTAL_ ierakstiem", - "infoEmpty": "Nav ierakstu", - "infoFiltered": "(atlasīts no pavisam _MAX_ ierakstiem)", - "infoPostFix": "", - "loadingRecords": "Notiek ielāde ...", - "zeroRecords": "Nav atrasti vaicājumam atbilstoši ieraksti", - "emptyTable": "Tabulā nav datu", - "paginate": { - "first": "Pirmā", - "previous": "Iepriekšējā", - "next": "Nākošā", - "last": "Pēdējā" - }, - "aria": { - "sortAscending": ": aktivizēt kolonnu, lai kārtotu augoši", - "sortDescending": ": aktivizēt kolonnu, lai kārtotu dilstoši" - } + "processing": "Uzgaidiet ...", + "search": "Meklēt:", + "lengthMenu": "Rādīt _MENU_ ierakstus", + "info": "Parādīti _START_ līdz _END_ no _TOTAL_ ierakstiem", + "infoEmpty": "Nav ierakstu", + "infoFiltered": "(atlasīts no pavisam _MAX_ ierakstiem)", + "infoPostFix": "", + "loadingRecords": "Notiek ielāde ...", + "zeroRecords": "Nav atrasti vaicājumam atbilstoši ieraksti", + "emptyTable": "Tabulā nav datu", + "paginate": { + "first": "Pirmā", + "previous": "Iepriekšējā", + "next": "Nākošā", + "last": "Pēdējā" + }, + "aria": { + "sortAscending": ": aktivizēt kolonnu, lai kārtotu augoši", + "sortDescending": ": aktivizēt kolonnu, lai kārtotu dilstoši" + } } diff --git a/assets/Zed/js/modules/libs/i18n/mk.json b/assets/Zed/js/modules/libs/i18n/mk.json index 03b6f546..52c71119 100644 --- a/assets/Zed/js/modules/libs/i18n/mk.json +++ b/assets/Zed/js/modules/libs/i18n/mk.json @@ -1,19 +1,19 @@ { - "sProcessing": "Процесирање...", - "sLengthMenu": "Прикажи _MENU_ записи", - "sZeroRecords": "Не се пронајдени записи", - "sEmptyTable": "Нема податоци во табелата", - "sLoadingRecords": "Вчитување...", - "sInfo": "Прикажани _START_ до _END_ од _TOTAL_ записи", - "sInfoEmpty": "Прикажани 0 до 0 од 0 записи", - "sInfoFiltered": "(филтрирано од вкупно _MAX_ записи)", - "sInfoPostFix": "", - "sSearch": "Барај", - "sUrl": "", - "oPaginate": { - "sFirst": "Почетна", - "sPrevious": "Претходна", - "sNext": "Следна", - "sLast": "Последна" - } + "sProcessing": "Процесирање...", + "sLengthMenu": "Прикажи _MENU_ записи", + "sZeroRecords": "Не се пронајдени записи", + "sEmptyTable": "Нема податоци во табелата", + "sLoadingRecords": "Вчитување...", + "sInfo": "Прикажани _START_ до _END_ од _TOTAL_ записи", + "sInfoEmpty": "Прикажани 0 до 0 од 0 записи", + "sInfoFiltered": "(филтрирано од вкупно _MAX_ записи)", + "sInfoPostFix": "", + "sSearch": "Барај", + "sUrl": "", + "oPaginate": { + "sFirst": "Почетна", + "sPrevious": "Претходна", + "sNext": "Следна", + "sLast": "Последна" + } } diff --git a/assets/Zed/js/modules/libs/i18n/mn.json b/assets/Zed/js/modules/libs/i18n/mn.json index 7cebbe3e..7879f998 100644 --- a/assets/Zed/js/modules/libs/i18n/mn.json +++ b/assets/Zed/js/modules/libs/i18n/mn.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Хүснэгт хоосон байна", - "sInfo": "Нийт _TOTAL_ бичлэгээс _START_ - _END_ харуулж байна", - "sInfoEmpty": "Тохирох үр дүн алга", - "sInfoFiltered": "(нийт _MAX_ бичлэгээс шүүв)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Дэлгэцэд _MENU_ бичлэг харуулна", - "sLoadingRecords": "Ачааллаж байна...", - "sProcessing": "Боловсруулж байна...", - "sSearch": "Хайлт:", - "sZeroRecords": "Тохирох бичлэг олдсонгүй", - "oPaginate": { - "sFirst": "Эхнийх", - "sLast": "Сүүлийнх", - "sNext": "Өмнөх", - "sPrevious": "Дараах" - }, - "oAria": { - "sSortAscending": ": цагаан толгойн дарааллаар эрэмбэлэх", - "sSortDescending": ": цагаан толгойн эсрэг дарааллаар эрэмбэлэх" - } + "sEmptyTable": "Хүснэгт хоосон байна", + "sInfo": "Нийт _TOTAL_ бичлэгээс _START_ - _END_ харуулж байна", + "sInfoEmpty": "Тохирох үр дүн алга", + "sInfoFiltered": "(нийт _MAX_ бичлэгээс шүүв)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Дэлгэцэд _MENU_ бичлэг харуулна", + "sLoadingRecords": "Ачааллаж байна...", + "sProcessing": "Боловсруулж байна...", + "sSearch": "Хайлт:", + "sZeroRecords": "Тохирох бичлэг олдсонгүй", + "oPaginate": { + "sFirst": "Эхнийх", + "sLast": "Сүүлийнх", + "sNext": "Өмнөх", + "sPrevious": "Дараах" + }, + "oAria": { + "sSortAscending": ": цагаан толгойн дарааллаар эрэмбэлэх", + "sSortDescending": ": цагаан толгойн эсрэг дарааллаар эрэмбэлэх" + } } diff --git a/assets/Zed/js/modules/libs/i18n/ms.json b/assets/Zed/js/modules/libs/i18n/ms.json index 8d0a6144..a2bd610f 100644 --- a/assets/Zed/js/modules/libs/i18n/ms.json +++ b/assets/Zed/js/modules/libs/i18n/ms.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Tiada data", - "sInfo": "Paparan dari _START_ hingga _END_ dari _TOTAL_ rekod", - "sInfoEmpty": "Paparan 0 hingga 0 dari 0 rekod", - "sInfoFiltered": "(Ditapis dari jumlah _MAX_ rekod)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Papar _MENU_ rekod", - "sLoadingRecords": "Diproses...", - "sProcessing": "Sedang diproses...", - "sSearch": "Carian:", - "sZeroRecords": "Tiada padanan rekod yang dijumpai.", - "oPaginate": { - "sFirst": "Pertama", - "sPrevious": "Sebelum", - "sNext": "Kemudian", - "sLast": "Akhir" - }, - "oAria": { - "sSortAscending": ": diaktifkan kepada susunan lajur menaik", - "sSortDescending": ": diaktifkan kepada susunan lajur menurun" - } + "sEmptyTable": "Tiada data", + "sInfo": "Paparan dari _START_ hingga _END_ dari _TOTAL_ rekod", + "sInfoEmpty": "Paparan 0 hingga 0 dari 0 rekod", + "sInfoFiltered": "(Ditapis dari jumlah _MAX_ rekod)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Papar _MENU_ rekod", + "sLoadingRecords": "Diproses...", + "sProcessing": "Sedang diproses...", + "sSearch": "Carian:", + "sZeroRecords": "Tiada padanan rekod yang dijumpai.", + "oPaginate": { + "sFirst": "Pertama", + "sPrevious": "Sebelum", + "sNext": "Kemudian", + "sLast": "Akhir" + }, + "oAria": { + "sSortAscending": ": diaktifkan kepada susunan lajur menaik", + "sSortDescending": ": diaktifkan kepada susunan lajur menurun" + } } diff --git a/assets/Zed/js/modules/libs/i18n/ne.json b/assets/Zed/js/modules/libs/i18n/ne.json index 4bfb0aba..76f260d6 100644 --- a/assets/Zed/js/modules/libs/i18n/ne.json +++ b/assets/Zed/js/modules/libs/i18n/ne.json @@ -1,24 +1,24 @@ { - "sEmptyTable": "टेबलमा डाटा उपलब्ध भएन", - "sInfo": "_TOTAL_ रेकर्ड मध्य _START_ देखि _END_ रेकर्ड देखाउंदै", - "sInfoEmpty": "0 मध्य 0 देखि 0 रेकर्ड देखाउंदै", - "sInfoFiltered": "(_MAX_ कुल रेकर्डबाट छनौट गरिएको)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": " _MENU_ रेकर्ड देखाउने ", - "sLoadingRecords": "लोड हुँदैछ...", - "sProcessing": "प्रगति हुदैंछ ...", - "sSearch": "खोजी:", - "sUrl": "", - "sZeroRecords": "कुनै मिल्ने रेकर्ड फेला परेन", - "oPaginate": { - "sFirst": "प्रथम", - "sPrevious": "पछिल्लो", - "sNext": "अघिल्लो", - "sLast": "अन्तिम" - }, - "oAria": { - "sSortAscending": ": अगाडिबाट अक्षरात्मक रूपमा क्रमबद्ध गराउने", - "sSortDescending": ": पछाडिबाट अक्षरात्मक रूपमा क्रमबद्ध गराउने" - } + "sEmptyTable": "टेबलमा डाटा उपलब्ध भएन", + "sInfo": "_TOTAL_ रेकर्ड मध्य _START_ देखि _END_ रेकर्ड देखाउंदै", + "sInfoEmpty": "0 मध्य 0 देखि 0 रेकर्ड देखाउंदै", + "sInfoFiltered": "(_MAX_ कुल रेकर्डबाट छनौट गरिएको)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": " _MENU_ रेकर्ड देखाउने ", + "sLoadingRecords": "लोड हुँदैछ...", + "sProcessing": "प्रगति हुदैंछ ...", + "sSearch": "खोजी:", + "sUrl": "", + "sZeroRecords": "कुनै मिल्ने रेकर्ड फेला परेन", + "oPaginate": { + "sFirst": "प्रथम", + "sPrevious": "पछिल्लो", + "sNext": "अघिल्लो", + "sLast": "अन्तिम" + }, + "oAria": { + "sSortAscending": ": अगाडिबाट अक्षरात्मक रूपमा क्रमबद्ध गराउने", + "sSortDescending": ": पछाडिबाट अक्षरात्मक रूपमा क्रमबद्ध गराउने" + } } diff --git a/assets/Zed/js/modules/libs/i18n/nl.json b/assets/Zed/js/modules/libs/i18n/nl.json index add259bf..52e5dd2c 100644 --- a/assets/Zed/js/modules/libs/i18n/nl.json +++ b/assets/Zed/js/modules/libs/i18n/nl.json @@ -17,7 +17,7 @@ "sPrevious": "Vorige" }, "oAria": { - "sSortAscending": ": activeer om kolom oplopend te sorteren", + "sSortAscending": ": activeer om kolom oplopend te sorteren", "sSortDescending": ": activeer om kolom aflopend te sorteren" } } diff --git a/assets/Zed/js/modules/libs/i18n/pl.json b/assets/Zed/js/modules/libs/i18n/pl.json index 109f8160..5a2363d3 100644 --- a/assets/Zed/js/modules/libs/i18n/pl.json +++ b/assets/Zed/js/modules/libs/i18n/pl.json @@ -1,22 +1,22 @@ { - "processing": "Przetwarzanie...", - "search": "Szukaj:", - "lengthMenu": "Pokaż _MENU_ pozycji", - "info": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie", - "infoEmpty": "Pozycji 0 z 0 dostępnych", - "infoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)", - "infoPostFix": "", - "loadingRecords": "Wczytywanie...", - "zeroRecords": "Nie znaleziono pasujących pozycji", - "emptyTable": "Brak danych", - "paginate": { - "first": "Pierwsza", - "previous": "Poprzednia", - "next": "Następna", - "last": "Ostatnia" - }, - "aria": { - "sortAscending": ": aktywuj, by posortować kolumnę rosnąco", - "sortDescending": ": aktywuj, by posortować kolumnę malejąco" - } + "processing": "Przetwarzanie...", + "search": "Szukaj:", + "lengthMenu": "Pokaż _MENU_ pozycji", + "info": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie", + "infoEmpty": "Pozycji 0 z 0 dostępnych", + "infoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)", + "infoPostFix": "", + "loadingRecords": "Wczytywanie...", + "zeroRecords": "Nie znaleziono pasujących pozycji", + "emptyTable": "Brak danych", + "paginate": { + "first": "Pierwsza", + "previous": "Poprzednia", + "next": "Następna", + "last": "Ostatnia" + }, + "aria": { + "sortAscending": ": aktywuj, by posortować kolumnę rosnąco", + "sortDescending": ": aktywuj, by posortować kolumnę malejąco" + } } diff --git a/assets/Zed/js/modules/libs/i18n/ps.json b/assets/Zed/js/modules/libs/i18n/ps.json index d3635543..fee80623 100644 --- a/assets/Zed/js/modules/libs/i18n/ps.json +++ b/assets/Zed/js/modules/libs/i18n/ps.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "جدول خالي دی", - "sInfo": "د _START_ څخه تر _END_ پوري، له ټولو _TOTAL_ څخه", - "sInfoEmpty": "د 0 څخه تر 0 پوري، له ټولو 0 څخه", - "sInfoFiltered": "(لټول سوي له ټولو _MAX_ څخه)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "_MENU_ کتاره وښايه", - "sLoadingRecords": "منتظر اوسئ...", - "sProcessing": "منتظر اوسئ...", - "sSearch": "لټون:", - "sZeroRecords": "د لټون مطابق معلومات و نه موندل سول", - "oPaginate": { - "sFirst": "لومړۍ", - "sLast": "وروستۍ", - "sNext": "بله", - "sPrevious": "شاته" - }, - "oAria": { - "sSortAscending": ": په صعودي ډول مرتبول", - "sSortDescending": ": په نزولي ډول مرتبول" - } -} \ No newline at end of file + "sEmptyTable": "جدول خالي دی", + "sInfo": "د _START_ څخه تر _END_ پوري، له ټولو _TOTAL_ څخه", + "sInfoEmpty": "د 0 څخه تر 0 پوري، له ټولو 0 څخه", + "sInfoFiltered": "(لټول سوي له ټولو _MAX_ څخه)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "_MENU_ کتاره وښايه", + "sLoadingRecords": "منتظر اوسئ...", + "sProcessing": "منتظر اوسئ...", + "sSearch": "لټون:", + "sZeroRecords": "د لټون مطابق معلومات و نه موندل سول", + "oPaginate": { + "sFirst": "لومړۍ", + "sLast": "وروستۍ", + "sNext": "بله", + "sPrevious": "شاته" + }, + "oAria": { + "sSortAscending": ": په صعودي ډول مرتبول", + "sSortDescending": ": په نزولي ډول مرتبول" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/pt.json b/assets/Zed/js/modules/libs/i18n/pt.json index c1fe48ea..279cd4be 100644 --- a/assets/Zed/js/modules/libs/i18n/pt.json +++ b/assets/Zed/js/modules/libs/i18n/pt.json @@ -1,22 +1,22 @@ { - "sEmptyTable": "Não foi encontrado nenhum registo", - "sProcessing": "A carregar...", - "sLengthMenu": "Mostrar _MENU_ registos", - "sZeroRecords": "Não foram encontrados resultados", - "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registos", - "sInfoEmpty": "Mostrando de 0 até 0 de 0 registos", - "sInfoFiltered": "(filtrado de _MAX_ registos no total)", - "sInfoPostFix": "", - "sSearch": "Procurar:", - "sUrl": "", - "oPaginate": { - "sFirst": "Primeiro", - "sPrevious": "Anterior", - "sNext": "Seguinte", - "sLast": "Último" - }, - "oAria": { - "sSortAscending": ": Ordenar colunas de forma ascendente", - "sSortDescending": ": Ordenar colunas de forma descendente" - } + "sEmptyTable": "Não foi encontrado nenhum registo", + "sProcessing": "A carregar...", + "sLengthMenu": "Mostrar _MENU_ registos", + "sZeroRecords": "Não foram encontrados resultados", + "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registos", + "sInfoEmpty": "Mostrando de 0 até 0 de 0 registos", + "sInfoFiltered": "(filtrado de _MAX_ registos no total)", + "sInfoPostFix": "", + "sSearch": "Procurar:", + "sUrl": "", + "oPaginate": { + "sFirst": "Primeiro", + "sPrevious": "Anterior", + "sNext": "Seguinte", + "sLast": "Último" + }, + "oAria": { + "sSortAscending": ": Ordenar colunas de forma ascendente", + "sSortDescending": ": Ordenar colunas de forma descendente" + } } diff --git a/assets/Zed/js/modules/libs/i18n/ro.json b/assets/Zed/js/modules/libs/i18n/ro.json index c437f5c8..b761ca6b 100644 --- a/assets/Zed/js/modules/libs/i18n/ro.json +++ b/assets/Zed/js/modules/libs/i18n/ro.json @@ -1,17 +1,17 @@ { - "sProcessing": "Procesează...", - "sLengthMenu": "Afișează _MENU_ înregistrări pe pagină", - "sZeroRecords": "Nu am găsit nimic - ne pare rău", - "sInfo": "Afișate de la _START_ la _END_ din _TOTAL_ înregistrări", - "sInfoEmpty": "Afișate de la 0 la 0 din 0 înregistrări", - "sInfoFiltered": "(filtrate dintr-un total de _MAX_ înregistrări)", - "sInfoPostFix": "", - "sSearch": "Caută:", - "sUrl": "", - "oPaginate": { - "sFirst": "Prima", - "sPrevious": "Precedenta", - "sNext": "Următoarea", - "sLast": "Ultima" - } + "sProcessing": "Procesează...", + "sLengthMenu": "Afișează _MENU_ înregistrări pe pagină", + "sZeroRecords": "Nu am găsit nimic - ne pare rău", + "sInfo": "Afișate de la _START_ la _END_ din _TOTAL_ înregistrări", + "sInfoEmpty": "Afișate de la 0 la 0 din 0 înregistrări", + "sInfoFiltered": "(filtrate dintr-un total de _MAX_ înregistrări)", + "sInfoPostFix": "", + "sSearch": "Caută:", + "sUrl": "", + "oPaginate": { + "sFirst": "Prima", + "sPrevious": "Precedenta", + "sNext": "Următoarea", + "sLast": "Ultima" + } } diff --git a/assets/Zed/js/modules/libs/i18n/ru.json b/assets/Zed/js/modules/libs/i18n/ru.json index 77bf3900..7265464e 100644 --- a/assets/Zed/js/modules/libs/i18n/ru.json +++ b/assets/Zed/js/modules/libs/i18n/ru.json @@ -1,22 +1,22 @@ { - "processing": "Подождите...", - "search": "Поиск:", - "lengthMenu": "Показать _MENU_ записей", - "info": "Записи с _START_ до _END_ из _TOTAL_ записей", - "infoEmpty": "Записи с 0 до 0 из 0 записей", - "infoFiltered": "(отфильтровано из _MAX_ записей)", - "infoPostFix": "", - "loadingRecords": "Загрузка записей...", - "zeroRecords": "Записи отсутствуют.", - "emptyTable": "В таблице отсутствуют данные", - "paginate": { - "first": "Первая", - "previous": "Предыдущая", - "next": "Следующая", - "last": "Последняя" - }, - "aria": { - "sortAscending": ": активировать для сортировки столбца по возрастанию", - "sortDescending": ": активировать для сортировки столбца по убыванию" - } + "processing": "Подождите...", + "search": "Поиск:", + "lengthMenu": "Показать _MENU_ записей", + "info": "Записи с _START_ до _END_ из _TOTAL_ записей", + "infoEmpty": "Записи с 0 до 0 из 0 записей", + "infoFiltered": "(отфильтровано из _MAX_ записей)", + "infoPostFix": "", + "loadingRecords": "Загрузка записей...", + "zeroRecords": "Записи отсутствуют.", + "emptyTable": "В таблице отсутствуют данные", + "paginate": { + "first": "Первая", + "previous": "Предыдущая", + "next": "Следующая", + "last": "Последняя" + }, + "aria": { + "sortAscending": ": активировать для сортировки столбца по возрастанию", + "sortDescending": ": активировать для сортировки столбца по убыванию" + } } diff --git a/assets/Zed/js/modules/libs/i18n/si.json b/assets/Zed/js/modules/libs/i18n/si.json index 645a2978..fd30cc9c 100644 --- a/assets/Zed/js/modules/libs/i18n/si.json +++ b/assets/Zed/js/modules/libs/i18n/si.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "වගුවේ දත්ත කිසිවක් නොමැත", - "sInfo": "_TOTAL_ න් _START_ සිට _END_ දක්වා", - "sInfoEmpty": "0 න් 0 සිට 0 දක්වා", - "sInfoFiltered": "(_MAX_ න් තෝරාගත් )", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "_MENU_ ක් පෙන්වන්න", - "sLoadingRecords": "පූරණය වෙමින් පවතී...", - "sProcessing": "සැකසෙමින් පවතී...", - "sSearch": "සොයන්න :", - "sZeroRecords": "ගැලපෙන වාර්තා නොමැත.", - "oPaginate": { - "sFirst": "පළමු", - "sLast": "අන්තිම", - "sNext": "ඊළග", - "sPrevious": "පසුගිය" - }, - "oAria": { - "sSortAscending": ": තීරුව ආරෝහනව තෝරන්න", - "sSortDescending": ": තීරුව අවරෝහනව තෝරන්න" - } -} \ No newline at end of file + "sEmptyTable": "වගුවේ දත්ත කිසිවක් නොමැත", + "sInfo": "_TOTAL_ න් _START_ සිට _END_ දක්වා", + "sInfoEmpty": "0 න් 0 සිට 0 දක්වා", + "sInfoFiltered": "(_MAX_ න් තෝරාගත් )", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "_MENU_ ක් පෙන්වන්න", + "sLoadingRecords": "පූරණය වෙමින් පවතී...", + "sProcessing": "සැකසෙමින් පවතී...", + "sSearch": "සොයන්න :", + "sZeroRecords": "ගැලපෙන වාර්තා නොමැත.", + "oPaginate": { + "sFirst": "පළමු", + "sLast": "අන්තිම", + "sNext": "ඊළග", + "sPrevious": "පසුගිය" + }, + "oAria": { + "sSortAscending": ": තීරුව ආරෝහනව තෝරන්න", + "sSortDescending": ": තීරුව අවරෝහනව තෝරන්න" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/sk.json b/assets/Zed/js/modules/libs/i18n/sk.json index 47bbcc9d..c43b49de 100644 --- a/assets/Zed/js/modules/libs/i18n/sk.json +++ b/assets/Zed/js/modules/libs/i18n/sk.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Nie sú k dispozícii žiadne dáta", - "sInfo": "Záznamy _START_ až _END_ z celkom _TOTAL_", - "sInfoEmpty": "Záznamy 0 až 0 z celkom 0 ", - "sInfoFiltered": "(vyfiltrované spomedzi _MAX_ záznamov)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Zobraz _MENU_ záznamov", - "sLoadingRecords": "Načítavam...", - "sProcessing": "Spracúvam...", - "sSearch": "Hľadať:", - "sZeroRecords": "Nenašli sa žiadne vyhovujúce záznamy", - "oPaginate": { - "sFirst": "Prvá", - "sLast": "Posledná", - "sNext": "Nasledujúca", - "sPrevious": "Predchádzajúca" - }, - "oAria": { - "sSortAscending": ": aktivujte na zoradenie stĺpca vzostupne", - "sSortDescending": ": aktivujte na zoradenie stĺpca zostupne" - } + "sEmptyTable": "Nie sú k dispozícii žiadne dáta", + "sInfo": "Záznamy _START_ až _END_ z celkom _TOTAL_", + "sInfoEmpty": "Záznamy 0 až 0 z celkom 0 ", + "sInfoFiltered": "(vyfiltrované spomedzi _MAX_ záznamov)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Zobraz _MENU_ záznamov", + "sLoadingRecords": "Načítavam...", + "sProcessing": "Spracúvam...", + "sSearch": "Hľadať:", + "sZeroRecords": "Nenašli sa žiadne vyhovujúce záznamy", + "oPaginate": { + "sFirst": "Prvá", + "sLast": "Posledná", + "sNext": "Nasledujúca", + "sPrevious": "Predchádzajúca" + }, + "oAria": { + "sSortAscending": ": aktivujte na zoradenie stĺpca vzostupne", + "sSortDescending": ": aktivujte na zoradenie stĺpca zostupne" + } } diff --git a/assets/Zed/js/modules/libs/i18n/sl.json b/assets/Zed/js/modules/libs/i18n/sl.json index b47689aa..dbd6c165 100644 --- a/assets/Zed/js/modules/libs/i18n/sl.json +++ b/assets/Zed/js/modules/libs/i18n/sl.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Nobenih podatkov ni na voljo", - "sInfo": "Prikazujem _START_ do _END_ od _TOTAL_ zapisov", - "sInfoEmpty": "Prikazujem 0 do 0 od 0 zapisov", - "sInfoFiltered": "(filtrirano od _MAX_ vseh zapisov)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Prikaži _MENU_ zapisov", - "sLoadingRecords": "Nalagam...", - "sProcessing": "Obdelujem...", - "sSearch": "Išči:", - "sZeroRecords": "Nobeden zapis ne ustreza", - "oPaginate": { - "sFirst": "Prvi", - "sLast": "Zadnji", - "sNext": "Nasl.", - "sPrevious": "Pred." - }, - "oAria": { - "sSortAscending": ": vključite za naraščujoči sort", - "sSortDescending": ": vključite za padajoči sort" - } -} \ No newline at end of file + "sEmptyTable": "Nobenih podatkov ni na voljo", + "sInfo": "Prikazujem _START_ do _END_ od _TOTAL_ zapisov", + "sInfoEmpty": "Prikazujem 0 do 0 od 0 zapisov", + "sInfoFiltered": "(filtrirano od _MAX_ vseh zapisov)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Prikaži _MENU_ zapisov", + "sLoadingRecords": "Nalagam...", + "sProcessing": "Obdelujem...", + "sSearch": "Išči:", + "sZeroRecords": "Nobeden zapis ne ustreza", + "oPaginate": { + "sFirst": "Prvi", + "sLast": "Zadnji", + "sNext": "Nasl.", + "sPrevious": "Pred." + }, + "oAria": { + "sSortAscending": ": vključite za naraščujoči sort", + "sSortDescending": ": vključite za padajoči sort" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/sq.json b/assets/Zed/js/modules/libs/i18n/sq.json index 5ebea4ea..4fcf7b05 100644 --- a/assets/Zed/js/modules/libs/i18n/sq.json +++ b/assets/Zed/js/modules/libs/i18n/sq.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Nuk ka asnjë të dhënë në tabele", - "sInfo": "Duke treguar _START_ deri _END_ prej _TOTAL_ reshtave", - "sInfoEmpty": "Duke treguar 0 deri 0 prej 0 reshtave", - "sInfoFiltered": "(të filtruara nga gjithësej _MAX_ reshtave)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Shiko _MENU_ reshta", - "sLoadingRecords": "Duke punuar...", - "sProcessing": "Duke procesuar...", - "sSearch": "Kërkoni:", - "sZeroRecords": "Asnjë e dhënë nuk u gjet", - "oPaginate": { - "sFirst": "E para", - "sLast": "E Fundit", - "sNext": "Tjetra", - "sPrevious": "E Kaluara" - }, - "oAria": { - "sSortAscending": ": aktivizo për të sortuar kolumnin me vlera në ngritje", - "sSortDescending": ": aktivizo për të sortuar kolumnin me vlera në zbritje" - } -} \ No newline at end of file + "sEmptyTable": "Nuk ka asnjë të dhënë në tabele", + "sInfo": "Duke treguar _START_ deri _END_ prej _TOTAL_ reshtave", + "sInfoEmpty": "Duke treguar 0 deri 0 prej 0 reshtave", + "sInfoFiltered": "(të filtruara nga gjithësej _MAX_ reshtave)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Shiko _MENU_ reshta", + "sLoadingRecords": "Duke punuar...", + "sProcessing": "Duke procesuar...", + "sSearch": "Kërkoni:", + "sZeroRecords": "Asnjë e dhënë nuk u gjet", + "oPaginate": { + "sFirst": "E para", + "sLast": "E Fundit", + "sNext": "Tjetra", + "sPrevious": "E Kaluara" + }, + "oAria": { + "sSortAscending": ": aktivizo për të sortuar kolumnin me vlera në ngritje", + "sSortDescending": ": aktivizo për të sortuar kolumnin me vlera në zbritje" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/sr.json b/assets/Zed/js/modules/libs/i18n/sr.json index b8f06f72..224c5348 100644 --- a/assets/Zed/js/modules/libs/i18n/sr.json +++ b/assets/Zed/js/modules/libs/i18n/sr.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Нема података у табели", - "sInfo": "Приказ _START_ до _END_ од укупно _TOTAL_ записа", - "sInfoEmpty": "Приказ 0 до 0 од укупно 0 записа", - "sInfoFiltered": "(филтрирано од укупно _MAX_ записа)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "Прикажи _MENU_ записа", - "sLoadingRecords": "Учитавање...", - "sProcessing": "Обрада...", - "sSearch": "Претрага:", - "sZeroRecords": "Нису пронађени одговарајући записи", - "oPaginate": { - "sFirst": "Почетна", - "sLast": "Последња", - "sNext": "Следећа", - "sPrevious": "Предходна" - }, - "oAria": { - "sSortAscending": ": активирајте да сортирате колону узлазно", - "sSortDescending": ": активирајте да сортирате колону силазно" - } + "sEmptyTable": "Нема података у табели", + "sInfo": "Приказ _START_ до _END_ од укупно _TOTAL_ записа", + "sInfoEmpty": "Приказ 0 до 0 од укупно 0 записа", + "sInfoFiltered": "(филтрирано од укупно _MAX_ записа)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "Прикажи _MENU_ записа", + "sLoadingRecords": "Учитавање...", + "sProcessing": "Обрада...", + "sSearch": "Претрага:", + "sZeroRecords": "Нису пронађени одговарајући записи", + "oPaginate": { + "sFirst": "Почетна", + "sLast": "Последња", + "sNext": "Следећа", + "sPrevious": "Предходна" + }, + "oAria": { + "sSortAscending": ": активирајте да сортирате колону узлазно", + "sSortDescending": ": активирајте да сортирате колону силазно" + } } diff --git a/assets/Zed/js/modules/libs/i18n/sv.json b/assets/Zed/js/modules/libs/i18n/sv.json index e480f8ac..2ad0bd74 100644 --- a/assets/Zed/js/modules/libs/i18n/sv.json +++ b/assets/Zed/js/modules/libs/i18n/sv.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Tabellen innehåller ingen data", - "sInfo": "Visar _START_ till _END_ av totalt _TOTAL_ rader", - "sInfoEmpty": "Visar 0 till 0 av totalt 0 rader", - "sInfoFiltered": "(filtrerade från totalt _MAX_ rader)", - "sInfoPostFix": "", - "sInfoThousands": " ", - "sLengthMenu": "Visa _MENU_ rader", - "sLoadingRecords": "Laddar...", - "sProcessing": "Bearbetar...", - "sSearch": "Sök:", - "sZeroRecords": "Hittade inga matchande resultat", - "oPaginate": { - "sFirst": "Första", - "sLast": "Sista", - "sNext": "Nästa", - "sPrevious": "Föregående" - }, - "oAria": { - "sSortAscending": ": aktivera för att sortera kolumnen i stigande ordning", - "sSortDescending": ": aktivera för att sortera kolumnen i fallande ordning" - } + "sEmptyTable": "Tabellen innehåller ingen data", + "sInfo": "Visar _START_ till _END_ av totalt _TOTAL_ rader", + "sInfoEmpty": "Visar 0 till 0 av totalt 0 rader", + "sInfoFiltered": "(filtrerade från totalt _MAX_ rader)", + "sInfoPostFix": "", + "sInfoThousands": " ", + "sLengthMenu": "Visa _MENU_ rader", + "sLoadingRecords": "Laddar...", + "sProcessing": "Bearbetar...", + "sSearch": "Sök:", + "sZeroRecords": "Hittade inga matchande resultat", + "oPaginate": { + "sFirst": "Första", + "sLast": "Sista", + "sNext": "Nästa", + "sPrevious": "Föregående" + }, + "oAria": { + "sSortAscending": ": aktivera för att sortera kolumnen i stigande ordning", + "sSortDescending": ": aktivera för att sortera kolumnen i fallande ordning" + } } diff --git a/assets/Zed/js/modules/libs/i18n/sw.json b/assets/Zed/js/modules/libs/i18n/sw.json index 1435c912..fc651152 100644 --- a/assets/Zed/js/modules/libs/i18n/sw.json +++ b/assets/Zed/js/modules/libs/i18n/sw.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "Hakuna data iliyo patikana", - "sInfo": "Inaonyesha _START_ mpaka _END_ ya matokeo _TOTAL_", - "sInfoEmpty": "Inaonyesha 0 hadi 0 ya matokeo 0", - "sInfoFiltered": "(uschujo kutoka matokeo idadi _MAX_)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "Onyesha _MENU_ matokeo", - "sLoadingRecords": "Inapakia...", - "sProcessing": "Processing...", - "sSearch": "Tafuta:", - "sZeroRecords": "Rekodi vinavyolingana haziku patikana", - "oPaginate": { - "sFirst": "Mwanzo", - "sLast": "Mwisho", - "sNext": "Ijayo", - "sPrevious": "Kabla" - }, - "oAria": { - "sSortAscending": ": seti kulainisha sanjari kwa mtindo wa upandaji", - "sSortDescending": ": seti kulainisha sanjari kwa mtindo wa mteremko" - } -} \ No newline at end of file + "sEmptyTable": "Hakuna data iliyo patikana", + "sInfo": "Inaonyesha _START_ mpaka _END_ ya matokeo _TOTAL_", + "sInfoEmpty": "Inaonyesha 0 hadi 0 ya matokeo 0", + "sInfoFiltered": "(uschujo kutoka matokeo idadi _MAX_)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "Onyesha _MENU_ matokeo", + "sLoadingRecords": "Inapakia...", + "sProcessing": "Processing...", + "sSearch": "Tafuta:", + "sZeroRecords": "Rekodi vinavyolingana haziku patikana", + "oPaginate": { + "sFirst": "Mwanzo", + "sLast": "Mwisho", + "sNext": "Ijayo", + "sPrevious": "Kabla" + }, + "oAria": { + "sSortAscending": ": seti kulainisha sanjari kwa mtindo wa upandaji", + "sSortDescending": ": seti kulainisha sanjari kwa mtindo wa mteremko" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/ta.json b/assets/Zed/js/modules/libs/i18n/ta.json index 40f5aa68..5cf6c67f 100644 --- a/assets/Zed/js/modules/libs/i18n/ta.json +++ b/assets/Zed/js/modules/libs/i18n/ta.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "அட்டவணையில் தரவு கிடைக்கவில்லை", - "sInfo": "உள்ளீடுகளை் _START_ முதல _END_ உள்ள _TOTAL_ காட்டும்", - "sInfoEmpty": "0 உள்ளீடுகளை 0 0 காட்டும்", - "sInfoFiltered": "(_MAX_ மொத்த உள்ளீடுகளை இருந்து வடிகட்டி)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "_MENU_ காண்பி", - "sLoadingRecords": "ஏற்றுகிறது ...", - "sProcessing": "செயலாக்க ...", - "sSearch": "தேடல்:", - "sZeroRecords": "பொருத்தமான பதிவுகள் இல்லை", - "oPaginate": { - "sFirst": "முதல்", - "sLast": "இறுதி", - "sNext": "அடுத்து", - "sPrevious": "முந்தைய" - }, - "oAria": { - "sSortAscending": ": நிரலை ஏறுவரிசையில் வரிசைப்படுத்த செயல்படுத்த", - "sSortDescending": ": நிரலை இறங்கு வரிசைப்படுத்த செயல்படுத்த" - } -} \ No newline at end of file + "sEmptyTable": "அட்டவணையில் தரவு கிடைக்கவில்லை", + "sInfo": "உள்ளீடுகளை் _START_ முதல _END_ உள்ள _TOTAL_ காட்டும்", + "sInfoEmpty": "0 உள்ளீடுகளை 0 0 காட்டும்", + "sInfoFiltered": "(_MAX_ மொத்த உள்ளீடுகளை இருந்து வடிகட்டி)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "_MENU_ காண்பி", + "sLoadingRecords": "ஏற்றுகிறது ...", + "sProcessing": "செயலாக்க ...", + "sSearch": "தேடல்:", + "sZeroRecords": "பொருத்தமான பதிவுகள் இல்லை", + "oPaginate": { + "sFirst": "முதல்", + "sLast": "இறுதி", + "sNext": "அடுத்து", + "sPrevious": "முந்தைய" + }, + "oAria": { + "sSortAscending": ": நிரலை ஏறுவரிசையில் வரிசைப்படுத்த செயல்படுத்த", + "sSortDescending": ": நிரலை இறங்கு வரிசைப்படுத்த செயல்படுத்த" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/th.json b/assets/Zed/js/modules/libs/i18n/th.json index 3f454587..52b0d362 100644 --- a/assets/Zed/js/modules/libs/i18n/th.json +++ b/assets/Zed/js/modules/libs/i18n/th.json @@ -1,23 +1,23 @@ { - "sEmptyTable": "ไม่มีข้อมูลในตาราง", - "sInfo": "แสดง _START_ ถึง _END_ จาก _TOTAL_ แถว", - "sInfoEmpty": "แสดง 0 ถึง 0 จาก 0 แถว", - "sInfoFiltered": "(กรองข้อมูล _MAX_ ทุกแถว)", - "sInfoPostFix": "", - "sInfoThousands": ",", - "sLengthMenu": "แสดง _MENU_ แถว", + "sEmptyTable": "ไม่มีข้อมูลในตาราง", + "sInfo": "แสดง _START_ ถึง _END_ จาก _TOTAL_ แถว", + "sInfoEmpty": "แสดง 0 ถึง 0 จาก 0 แถว", + "sInfoFiltered": "(กรองข้อมูล _MAX_ ทุกแถว)", + "sInfoPostFix": "", + "sInfoThousands": ",", + "sLengthMenu": "แสดง _MENU_ แถว", "sLoadingRecords": "กำลังโหลดข้อมูล...", - "sProcessing": "กำลังดำเนินการ...", - "sSearch": "ค้นหา: ", - "sZeroRecords": "ไม่พบข้อมูล", + "sProcessing": "กำลังดำเนินการ...", + "sSearch": "ค้นหา: ", + "sZeroRecords": "ไม่พบข้อมูล", "oPaginate": { - "sFirst": "หน้าแรก", - "sPrevious": "ก่อนหน้า", - "sNext": "ถัดไป", - "sLast": "หน้าสุดท้าย" + "sFirst": "หน้าแรก", + "sPrevious": "ก่อนหน้า", + "sNext": "ถัดไป", + "sLast": "หน้าสุดท้าย" }, "oAria": { - "sSortAscending": ": เปิดใช้งานการเรียงข้อมูลจากน้อยไปมาก", - "sSortDescending": ": เปิดใช้งานการเรียงข้อมูลจากมากไปน้อย" + "sSortAscending": ": เปิดใช้งานการเรียงข้อมูลจากน้อยไปมาก", + "sSortDescending": ": เปิดใช้งานการเรียงข้อมูลจากมากไปน้อย" } } diff --git a/assets/Zed/js/modules/libs/i18n/tr.json b/assets/Zed/js/modules/libs/i18n/tr.json index 91cae981..fab79917 100644 --- a/assets/Zed/js/modules/libs/i18n/tr.json +++ b/assets/Zed/js/modules/libs/i18n/tr.json @@ -1,31 +1,31 @@ { - "sDecimal": ",", - "sEmptyTable": "Tabloda herhangi bir veri mevcut değil", - "sInfo": "_TOTAL_ kayıttan _START_ - _END_ arasındaki kayıtlar gösteriliyor", - "sInfoEmpty": "Kayıt yok", - "sInfoFiltered": "(_MAX_ kayıt içerisinden bulunan)", - "sInfoPostFix": "", - "sInfoThousands": ".", - "sLengthMenu": "Sayfada _MENU_ kayıt göster", - "sLoadingRecords": "Yükleniyor...", - "sProcessing": "İşleniyor...", - "sSearch": "Ara:", - "sZeroRecords": "Eşleşen kayıt bulunamadı", - "oPaginate": { - "sFirst": "İlk", - "sLast": "Son", - "sNext": "Sonraki", - "sPrevious": "Önceki" - }, - "oAria": { - "sSortAscending": ": artan sütun sıralamasını aktifleştir", - "sSortDescending": ": azalan sütun sıralamasını aktifleştir" - }, - "select": { - "rows": { - "_": "%d kayıt seçildi", - "0": "", - "1": "1 kayıt seçildi" - } - } + "sDecimal": ",", + "sEmptyTable": "Tabloda herhangi bir veri mevcut değil", + "sInfo": "_TOTAL_ kayıttan _START_ - _END_ arasındaki kayıtlar gösteriliyor", + "sInfoEmpty": "Kayıt yok", + "sInfoFiltered": "(_MAX_ kayıt içerisinden bulunan)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "Sayfada _MENU_ kayıt göster", + "sLoadingRecords": "Yükleniyor...", + "sProcessing": "İşleniyor...", + "sSearch": "Ara:", + "sZeroRecords": "Eşleşen kayıt bulunamadı", + "oPaginate": { + "sFirst": "İlk", + "sLast": "Son", + "sNext": "Sonraki", + "sPrevious": "Önceki" + }, + "oAria": { + "sSortAscending": ": artan sütun sıralamasını aktifleştir", + "sSortDescending": ": azalan sütun sıralamasını aktifleştir" + }, + "select": { + "rows": { + "_": "%d kayıt seçildi", + "0": "", + "1": "1 kayıt seçildi" + } + } } diff --git a/assets/Zed/js/modules/libs/i18n/uk.json b/assets/Zed/js/modules/libs/i18n/uk.json index 3054a7e1..2048c7c0 100644 --- a/assets/Zed/js/modules/libs/i18n/uk.json +++ b/assets/Zed/js/modules/libs/i18n/uk.json @@ -1,21 +1,21 @@ { - "sProcessing": "Зачекайте...", - "sLengthMenu": "Показати _MENU_ записів", - "sZeroRecords": "Записи відсутні.", - "sInfo": "Записи з _START_ по _END_ із _TOTAL_ записів", - "sInfoEmpty": "Записи з 0 по 0 із 0 записів", - "sInfoFiltered": "(відфільтровано з _MAX_ записів)", - "sInfoPostFix": "", - "sSearch": "Пошук:", - "sUrl": "", - "oPaginate": { - "sFirst": "Перша", - "sPrevious": "Попередня", - "sNext": "Наступна", - "sLast": "Остання" - }, - "oAria": { - "sSortAscending": ": активувати для сортування стовпців за зростанням", - "sSortDescending": ": активувати для сортування стовпців за спаданням" - } + "sProcessing": "Зачекайте...", + "sLengthMenu": "Показати _MENU_ записів", + "sZeroRecords": "Записи відсутні.", + "sInfo": "Записи з _START_ по _END_ із _TOTAL_ записів", + "sInfoEmpty": "Записи з 0 по 0 із 0 записів", + "sInfoFiltered": "(відфільтровано з _MAX_ записів)", + "sInfoPostFix": "", + "sSearch": "Пошук:", + "sUrl": "", + "oPaginate": { + "sFirst": "Перша", + "sPrevious": "Попередня", + "sNext": "Наступна", + "sLast": "Остання" + }, + "oAria": { + "sSortAscending": ": активувати для сортування стовпців за зростанням", + "sSortDescending": ": активувати для сортування стовпців за спаданням" + } } diff --git a/assets/Zed/js/modules/libs/i18n/ur.json b/assets/Zed/js/modules/libs/i18n/ur.json index bab49ee8..dd31ec77 100644 --- a/assets/Zed/js/modules/libs/i18n/ur.json +++ b/assets/Zed/js/modules/libs/i18n/ur.json @@ -1,17 +1,17 @@ { - "sProcessing": "ہے جاري عملدرامد...", - "sLengthMenu": "دکہائين شقيں کي (_MENU_) فہرست", - "sZeroRecords": "ملے نہيں مفروضات جلتے ملتے کوئ", - "sInfo": "فہرست کي تک _END_ سے _START_ سے ميں _TOTAL_ فہرست پوري ہے نظر پيش", - "sInfoEmpty": "فہرست کي تک 0 سے 0 سے ميں 0 قل ہے نظر پيشّ", - "sInfoFiltered": "(فہرست ہوئ چھني سے ميں _MAX_ قل)", - "sInfoPostFix": "", - "sSearch": "کرو تلاش:", - "sUrl": "", - "oPaginate": { - "sFirst": "پہلا", - "sPrevious": "پچہلا", - "sNext": "اگلا", - "sLast": "آخري" - } + "sProcessing": "ہے جاري عملدرامد...", + "sLengthMenu": "دکہائين شقيں کي (_MENU_) فہرست", + "sZeroRecords": "ملے نہيں مفروضات جلتے ملتے کوئ", + "sInfo": "فہرست کي تک _END_ سے _START_ سے ميں _TOTAL_ فہرست پوري ہے نظر پيش", + "sInfoEmpty": "فہرست کي تک 0 سے 0 سے ميں 0 قل ہے نظر پيشّ", + "sInfoFiltered": "(فہرست ہوئ چھني سے ميں _MAX_ قل)", + "sInfoPostFix": "", + "sSearch": "کرو تلاش:", + "sUrl": "", + "oPaginate": { + "sFirst": "پہلا", + "sPrevious": "پچہلا", + "sNext": "اگلا", + "sLast": "آخري" + } } diff --git a/assets/Zed/js/modules/libs/i18n/uz.json b/assets/Zed/js/modules/libs/i18n/uz.json index 9458af80..ea4722e7 100644 --- a/assets/Zed/js/modules/libs/i18n/uz.json +++ b/assets/Zed/js/modules/libs/i18n/uz.json @@ -1,22 +1,22 @@ { - "sEmptyTable": "Ma'lumot yo'q", - "sInfo": "Umumiy _TOTAL_ yozuvlarlardan _START_ dan _END_ gachasi ko'rsatilmoqda", - "sInfoEmpty": "Umumiy 0 yozuvlardan 0 dan 0 gachasi ko'rsatilmoqda", - "sInfoFiltered": "(_MAX_ yozuvlardan filtrlandi)", - "sInfoPostFix": "", - "sLengthMenu": "_MENU_ ta yozuvlarni ko'rsat", - "sLoadingRecords": "Yozuvlar yuklanmoqda...", - "sProcessing": "Ishlayapman...", - "sSearch": "Izlash:", - "sZeroRecords": "Ma'lumot yo'q.", - "oPaginate": { - "sFirst": "Birinchi", - "sPrevious": "Avvalgi", - "sNext": "Keyingi", - "sLast": "Son'ggi" - }, - "oAria": { - "sSortAscending": ": to'g'ri tartiblash", - "sSortDescending": ": teskari tartiblash" - } -} \ No newline at end of file + "sEmptyTable": "Ma'lumot yo'q", + "sInfo": "Umumiy _TOTAL_ yozuvlarlardan _START_ dan _END_ gachasi ko'rsatilmoqda", + "sInfoEmpty": "Umumiy 0 yozuvlardan 0 dan 0 gachasi ko'rsatilmoqda", + "sInfoFiltered": "(_MAX_ yozuvlardan filtrlandi)", + "sInfoPostFix": "", + "sLengthMenu": "_MENU_ ta yozuvlarni ko'rsat", + "sLoadingRecords": "Yozuvlar yuklanmoqda...", + "sProcessing": "Ishlayapman...", + "sSearch": "Izlash:", + "sZeroRecords": "Ma'lumot yo'q.", + "oPaginate": { + "sFirst": "Birinchi", + "sPrevious": "Avvalgi", + "sNext": "Keyingi", + "sLast": "Son'ggi" + }, + "oAria": { + "sSortAscending": ": to'g'ri tartiblash", + "sSortDescending": ": teskari tartiblash" + } +} diff --git a/assets/Zed/js/modules/libs/i18n/vi.json b/assets/Zed/js/modules/libs/i18n/vi.json index e087b5c9..4a8a79b5 100644 --- a/assets/Zed/js/modules/libs/i18n/vi.json +++ b/assets/Zed/js/modules/libs/i18n/vi.json @@ -1,17 +1,17 @@ { - "sProcessing": "Đang xử lý...", - "sLengthMenu": "Xem _MENU_ mục", - "sZeroRecords": "Không tìm thấy dòng nào phù hợp", - "sInfo": "Đang xem _START_ đến _END_ trong tổng số _TOTAL_ mục", - "sInfoEmpty": "Đang xem 0 đến 0 trong tổng số 0 mục", - "sInfoFiltered": "(được lọc từ _MAX_ mục)", - "sInfoPostFix": "", - "sSearch": "Tìm:", - "sUrl": "", - "oPaginate": { - "sFirst": "Đầu", - "sPrevious": "Trước", - "sNext": "Tiếp", - "sLast": "Cuối" - } + "sProcessing": "Đang xử lý...", + "sLengthMenu": "Xem _MENU_ mục", + "sZeroRecords": "Không tìm thấy dòng nào phù hợp", + "sInfo": "Đang xem _START_ đến _END_ trong tổng số _TOTAL_ mục", + "sInfoEmpty": "Đang xem 0 đến 0 trong tổng số 0 mục", + "sInfoFiltered": "(được lọc từ _MAX_ mục)", + "sInfoPostFix": "", + "sSearch": "Tìm:", + "sUrl": "", + "oPaginate": { + "sFirst": "Đầu", + "sPrevious": "Trước", + "sNext": "Tiếp", + "sLast": "Cuối" + } } diff --git a/assets/Zed/js/modules/libs/i18n/zh.json b/assets/Zed/js/modules/libs/i18n/zh.json index 9f847ef5..ae6cc6cd 100644 --- a/assets/Zed/js/modules/libs/i18n/zh.json +++ b/assets/Zed/js/modules/libs/i18n/zh.json @@ -1,24 +1,24 @@ { - "sProcessing": "处理中...", - "sLengthMenu": "显示 _MENU_ 项结果", - "sZeroRecords": "没有匹配结果", - "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项", - "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项", - "sInfoFiltered": "(由 _MAX_ 项结果过滤)", - "sInfoPostFix": "", - "sSearch": "搜索:", - "sUrl": "", - "sEmptyTable": "表中数据为空", - "sLoadingRecords": "载入中...", - "sInfoThousands": ",", - "oPaginate": { - "sFirst": "首页", - "sPrevious": "上页", - "sNext": "下页", - "sLast": "末页" - }, - "oAria": { - "sSortAscending": ": 以升序排列此列", - "sSortDescending": ": 以降序排列此列" - } + "sProcessing": "处理中...", + "sLengthMenu": "显示 _MENU_ 项结果", + "sZeroRecords": "没有匹配结果", + "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项", + "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项", + "sInfoFiltered": "(由 _MAX_ 项结果过滤)", + "sInfoPostFix": "", + "sSearch": "搜索:", + "sUrl": "", + "sEmptyTable": "表中数据为空", + "sLoadingRecords": "载入中...", + "sInfoThousands": ",", + "oPaginate": { + "sFirst": "首页", + "sPrevious": "上页", + "sNext": "下页", + "sLast": "末页" + }, + "oAria": { + "sSortAscending": ": 以升序排列此列", + "sSortDescending": ": 以降序排列此列" + } } diff --git a/assets/Zed/js/modules/libs/ibox.js b/assets/Zed/js/modules/libs/ibox.js index cade0040..143b7b28 100644 --- a/assets/Zed/js/modules/libs/ibox.js +++ b/assets/Zed/js/modules/libs/ibox.js @@ -6,10 +6,10 @@ function Ibox() { this.checkErrors(); } -Ibox.prototype.checkErrors = function() { +Ibox.prototype.checkErrors = function () { var self = this; - $(self.selector + '[data-auto-errors="true"]').each(function(i, element) { + $(self.selector + '[data-auto-errors="true"]').each(function (i, element) { var hasError = $(element).find('.has-error').length; if (hasError) { diff --git a/assets/Zed/js/modules/libs/safe-checks.js b/assets/Zed/js/modules/libs/safe-checks.js index e133aa2f..986d00b5 100644 --- a/assets/Zed/js/modules/libs/safe-checks.js +++ b/assets/Zed/js/modules/libs/safe-checks.js @@ -1,20 +1,18 @@ 'use strict'; var safeSubmitSelector = '.safe-submit'; -var safeDatetimeSelector = '.safe-datetime[type=date], .safe-datetime[type=datetime], .safe-datetime[type=datetime-local]'; +var safeDatetimeSelector = + '.safe-datetime[type=date], .safe-datetime[type=datetime], .safe-datetime[type=datetime-local]'; /* Prevent .save-submit items to be pressed twice */ -function addSafeSubmitCheck() { +function addSafeSubmitCheck() { $('body').on('click', safeSubmitSelector, function () { var $item = $(this); var $forms = $item.parents('form'); var isValid = true; function disableTrigger() { - $item - .prop('disabled', true) - .addClass('disabled') - .off('click'); + $item.prop('disabled', true).addClass('disabled').off('click'); } if ($forms.length > 0) { @@ -23,6 +21,10 @@ function addSafeSubmitCheck() { if (isValid) { setTimeout(disableTrigger); + } else { + $('.ibox.collapsed').each((index, item) => { + $(item).find('.collapse-link').trigger('click'); + }); } return true; @@ -30,7 +32,7 @@ function addSafeSubmitCheck() { } /* Prevent .save-datetime inputs to show native datepickers */ -function addSafeDatetimeCheck() { +function addSafeDatetimeCheck() { $('body').on('click', safeDatetimeSelector, function (e) { function disableNativeWindow() { e.preventDefault(); @@ -44,5 +46,5 @@ function addSafeDatetimeCheck() { module.exports = { addSafeSubmitCheck: addSafeSubmitCheck, - addSafeDatetimeCheck: addSafeDatetimeCheck -} + addSafeDatetimeCheck: addSafeDatetimeCheck, +}; diff --git a/assets/Zed/js/modules/libs/select2-combobox.js b/assets/Zed/js/modules/libs/select2-combobox.js new file mode 100644 index 00000000..dd1cecdf --- /dev/null +++ b/assets/Zed/js/modules/libs/select2-combobox.js @@ -0,0 +1,74 @@ +'use strict'; + +function select2combobox(selector) { + var select2Selector = selector || '.spryker-form-select2combobox'; + + $(select2Selector).each(function (index, element) { + var select2InitOptions = {}; + var $selectElement = $(element); + var autocompleteUrl = $selectElement.data('autocomplete-url'); + var minimumInputLengthValue = Number($selectElement.data('minimum-input-length')); + var parentFieldSelector = $selectElement.data('depends-on-field'); + var $parentField = $(parentFieldSelector); + + if (autocompleteUrl) { + select2InitOptions = { + ajax: { + url: autocompleteUrl, + dataType: 'json', + delay: 500, + cache: true, + data: function (params) { + params.page = params.page || 1; + if ($parentField) { + var autocompleteKey = $selectElement.data('dependent-autocomplete-key'); + params[autocompleteKey] = $parentField.val(); + } + return params; + }, + }, + minimumInputLength: minimumInputLengthValue || 3, + }; + + $selectElement.on('select2:unselecting', function (e) { + var idSelected = String(e.params.args.data.id); + var selectedValues = $selectElement.val(); + + $selectElement + .val( + selectedValues.filter(function (value) { + return value !== idSelected; + }), + ) + .trigger('change'); + }); + } + + if ($parentField) { + var disableSelectElementWhenParentEmpty = $selectElement[0].hasAttribute( + 'data-dependent-disable-when-empty', + ); + var resetSelectElementOnParentChange = $selectElement[0].hasAttribute('data-dependent-reset-on-change'); + + if (disableSelectElementWhenParentEmpty) { + if (!$parentField.val()) { + $selectElement.prop('disabled', true); + } + + $parentField.on('change', function () { + $selectElement.prop('disabled', !$parentField.val()); + }); + } + + if (resetSelectElementOnParentChange) { + $parentField.on('change', function () { + $selectElement.val(null).trigger('change'); + }); + } + } + + $selectElement.select2(select2InitOptions); + }); +} + +module.exports = select2combobox; diff --git a/assets/Zed/js/modules/libs/tabs.js b/assets/Zed/js/modules/libs/tabs.js index ffced68c..5a36d606 100644 --- a/assets/Zed/js/modules/libs/tabs.js +++ b/assets/Zed/js/modules/libs/tabs.js @@ -7,21 +7,21 @@ function Tabs(selector, onTabChange) { this.currentUrlHash = window.location.hash; this.tabsContainer = $(selector); this.tabUrls = this.tabsContainer.find('.nav li a'); - this.onTabChange = onTabChange || function(){}; + this.onTabChange = onTabChange || function () {}; this.checkErrors(); this.setNavigation(); } -Tabs.prototype.checkErrors = function() { +Tabs.prototype.checkErrors = function () { var self = this; if (self.tabsContainer.data('autoErrors') !== true) { return; } - self.tabsContainer.find('.tab-content .tab-pane').each(function(i, tab) { - var hasError = $(tab).find('.has-error').length; + self.tabsContainer.find('.tab-content .tab-pane').each(function (i, tab) { + var hasError = $(tab).find('.has-error, .alert-danger').length; var tabHeader = self.tabsContainer.find('.nav-tabs li[data-tab-content-id="' + tab.id + '"]'); if (hasError) { @@ -32,7 +32,7 @@ Tabs.prototype.checkErrors = function() { }); }; -Tabs.prototype.setNavigation = function() { +Tabs.prototype.setNavigation = function () { var self = this; if (self.tabsContainer.data('isNavigable') !== true) { @@ -45,9 +45,9 @@ Tabs.prototype.setNavigation = function() { this.listenNavigationButtons(); }; -Tabs.prototype.listenNavigationButtons = function() { +Tabs.prototype.listenNavigationButtons = function () { var self = this; - self.tabsContainer.find('.btn-tab-previous').on('click', function(event) { + self.tabsContainer.find('.btn-tab-previous').on('click', function (event) { event.preventDefault(); var element = $(this); var hash = element.attr('hash'); @@ -58,7 +58,8 @@ Tabs.prototype.listenNavigationButtons = function() { self.navigateElement(); self.showHideNavigationButtons(); }); - self.tabsContainer.find('.btn-tab-next').on('click', function(event) { + + self.tabsContainer.find('.btn-tab-next').on('click', function (event) { event.preventDefault(); var element = $(this); var hash = element.attr('href'); @@ -71,11 +72,11 @@ Tabs.prototype.listenNavigationButtons = function() { }); }; -Tabs.prototype.checkActivatedTab = function() { +Tabs.prototype.checkActivatedTab = function () { var self = this; var position = 0; var positionChanged = false; - self.tabUrls.each(function() { + self.tabUrls.each(function () { var element = $(this); if (positionChanged === false && element.attr('href') === self.currentUrlHash) { self.currentTabPosition = position; @@ -84,13 +85,13 @@ Tabs.prototype.checkActivatedTab = function() { self.activateTab(element, self.currentUrlHash); self.showHideNavigationButtons(); } - position++ + position++; }); }; -Tabs.prototype.changeTabsOnClick = function() { +Tabs.prototype.changeTabsOnClick = function () { var self = this; - self.tabUrls.on('click', function(event) { + self.tabUrls.on('click', function (event) { event.preventDefault(); var selectedElement = $(this); var hash = selectedElement.attr('href'); @@ -98,7 +99,7 @@ Tabs.prototype.changeTabsOnClick = function() { var position = 0; var positionChanged = false; - self.tabUrls.each(function() { + self.tabUrls.each(function () { var element = $(this); if (positionChanged === false && element.attr('href') === selectedElement.attr('href')) { self.currentTabPosition = position; @@ -108,25 +109,24 @@ Tabs.prototype.changeTabsOnClick = function() { self.activateTab(element, self.currentUrlHash); self.showHideNavigationButtons(); } - position++ + position++; }); }); }; -Tabs.prototype.activateTab = function(element, hash) { - window.location.hash = hash; +Tabs.prototype.activateTab = function (element, hash) { + window.history.pushState(null, null, hash); element.tab('show'); - this.onTabChange(element.attr('href')); }; -Tabs.prototype.showHideNavigationButtons = function() { +Tabs.prototype.showHideNavigationButtons = function () { var self = this; if (self.currentTabPosition === 0) { self.tabsContainer.find('.btn-tab-previous').addClass('hidden'); self.tabsContainer.find('.btn-tab-next').removeClass('hidden'); - } else if (self.currentTabPosition === (self.tabUrls.length - 1)) { + } else if (self.currentTabPosition === self.tabUrls.length - 1) { self.tabsContainer.find('.btn-tab-previous').removeClass('hidden'); self.tabsContainer.find('.btn-tab-next').addClass('hidden'); } else { @@ -135,16 +135,15 @@ Tabs.prototype.showHideNavigationButtons = function() { } }; -Tabs.prototype.navigateElement = function() { +Tabs.prototype.navigateElement = function () { var self = this; - - var element = self.tabsContainer.find('li:eq(' + this.currentTabPosition + ') a'); + var element = self.tabsContainer.find('[data-toggle="tab"]:eq(' + this.currentTabPosition + ')'); var hash = element.attr('href'); this.proceedChange(element, hash); }; -Tabs.prototype.proceedChange = function(element, hash) { +Tabs.prototype.proceedChange = function (element, hash) { this.activateTab(element, hash); this.checkActivatedTab(); }; diff --git a/assets/Zed/js/modules/libs/translation-copy-fields.js b/assets/Zed/js/modules/libs/translation-copy-fields.js index a7615bc7..7ba72147 100644 --- a/assets/Zed/js/modules/libs/translation-copy-fields.js +++ b/assets/Zed/js/modules/libs/translation-copy-fields.js @@ -16,17 +16,19 @@ function TranslationCopyFields() { /** * Add copy buttons for fields that has the necessary data attribute */ -TranslationCopyFields.prototype.addCopyButtons = function() { +TranslationCopyFields.prototype.addCopyButtons = function () { var self = this; - $('input[' + this.translationDataAttributeName + ']').each(function(i, field) { - var copyButton = $(''); + $('input[' + this.translationDataAttributeName + ']').each(function (i, field) { + var copyButton = $( + '', + ); if ($(field).parent().hasClass('input-group')) { return; } - copyButton.on('click', function() { + copyButton.on('click', function () { self.copy($(this), field); }); @@ -42,20 +44,17 @@ TranslationCopyFields.prototype.addCopyButtons = function() { * @param button * @param field */ -TranslationCopyFields.prototype.copy = function(button, field) { +TranslationCopyFields.prototype.copy = function (button, field) { var self = this; - var selector = 'input[' + self.translationDataAttributeName + '="' + $(field).data(self.translationDataAttribute) + '"]'; + var selector = + 'input[' + self.translationDataAttributeName + '="' + $(field).data(self.translationDataAttribute) + '"]'; $(selector).val(field.value); - button.find('span') - .removeClass('fa-copy') - .addClass('fa-check'); + button.find('span').removeClass('fa-copy').addClass('fa-check'); - setTimeout(function() { - button.find('span') - .addClass('fa-copy') - .removeClass('fa-check'); + setTimeout(function () { + button.find('span').addClass('fa-copy').removeClass('fa-check'); }, 1000); }; diff --git a/assets/Zed/js/spryker-zed-gui-commons.entry.js b/assets/Zed/js/spryker-zed-gui-commons.entry.js index 229c551e..617259ad 100644 --- a/assets/Zed/js/spryker-zed-gui-commons.entry.js +++ b/assets/Zed/js/spryker-zed-gui-commons.entry.js @@ -1,6 +1,6 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ 'use strict'; diff --git a/assets/Zed/js/spryker-zed-gui-init.entry.js b/assets/Zed/js/spryker-zed-gui-init.entry.js new file mode 100644 index 00000000..85057dc6 --- /dev/null +++ b/assets/Zed/js/spryker-zed-gui-init.entry.js @@ -0,0 +1,8 @@ +/** + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + */ + +'use strict'; + +require('./modules/init'); diff --git a/assets/Zed/package-lock.json b/assets/Zed/package-lock.json index ea2f3301..c0263518 100644 --- a/assets/Zed/package-lock.json +++ b/assets/Zed/package-lock.json @@ -1,205 +1,160 @@ { - "name": "spryker-zed-gui", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "almond": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/almond/-/almond-0.3.3.tgz", - "integrity": "sha1-oOfJWsdiTWQXtElLHmi/9pMWiiA=" - }, - "animate.css": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-3.5.2.tgz", - "integrity": "sha1-keZo3AaagI5eSZUUhnuXquAWbDY=" - }, - "bootstrap-sass": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/bootstrap-sass/-/bootstrap-sass-3.4.1.tgz", - "integrity": "sha512-p5rxsK/IyEDQm2CwiHxxUi0MZZtvVFbhWmyMOt4lLkA4bujDA1TGoKT0i1FKIWiugAdP+kK8T5KMDFIKQCLYIA==" - }, - "codemirror": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.12.0.tgz", - "integrity": "sha1-lWpHK9Kw+Uyw9zBoChwzZxzX+6M=" - }, - "datatables.net": { - "version": "1.10.19", - "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.19.tgz", - "integrity": "sha512-+ljXcI6Pj3PTGy5pesp3E5Dr3x3AV45EZe0o1r0gKENN2gafBKXodVnk2ypKwl2tTmivjxbkiqoWnipTefyBTA==", - "requires": { - "jquery": "3.3.1" - }, - "dependencies": { - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" - } - } - }, - "datatables.net-bs": { - "version": "1.10.19", - "resolved": "https://registry.npmjs.org/datatables.net-bs/-/datatables.net-bs-1.10.19.tgz", - "integrity": "sha512-5gxoI2n+duZP06+4xVC2TtH6zcY369/TRKTZ1DdSgDcDUl4OYQsrXCuaLJmbVzna/5Y5lrMmK7CxgvYgIynICA==", - "requires": { - "datatables.net": "1.10.19", - "jquery": "3.2.1" - } - }, - "datatables.net-buttons": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/datatables.net-buttons/-/datatables.net-buttons-1.2.4.tgz", - "integrity": "sha1-rZCn6zlBmWEI7/bVKTxHM/GHQyk=", - "requires": { - "datatables.net": "1.10.19", - "jquery": "3.3.1" - }, - "dependencies": { - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" - } - } - }, - "datatables.net-buttons-bs": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/datatables.net-buttons-bs/-/datatables.net-buttons-bs-1.2.4.tgz", - "integrity": "sha1-GEOvK+BUSYfN06vUcQKKoj2kjOY=", - "requires": { - "datatables.net-bs": "2.1.1", - "datatables.net-buttons": "1.2.4", - "jquery": "3.3.1" - }, - "dependencies": { + "name": "spryker-zed-gui", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@fortawesome/fontawesome-free": { + "version": "5.15.3", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz", + "integrity": "sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w==" + }, + "@spryker/nestable": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@spryker/nestable/-/nestable-1.1.1.tgz", + "integrity": "sha512-4VWkVfUZaEh6nm9/n3YKmOr+GFzD2k3Wmhu66xeYR6Pjo61XbA1YOVBS40p5prbvqKJb0LvO6IyblXC17xtZGQ==" + }, + "animate.css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-3.5.2.tgz", + "integrity": "sha1-keZo3AaagI5eSZUUhnuXquAWbDY=" + }, + "autonumeric": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/autonumeric/-/autonumeric-4.6.0.tgz", + "integrity": "sha512-bYnD2oD9UMZBTxSWcvXH1MTcp0w+CUBfXe4HI1QJLGzJu+O27Ny5gqzRcFuDsZB9jrZ5SJjqAG0PieJsaUdTcg==" + }, + "bootstrap-sass": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/bootstrap-sass/-/bootstrap-sass-3.4.1.tgz", + "integrity": "sha512-p5rxsK/IyEDQm2CwiHxxUi0MZZtvVFbhWmyMOt4lLkA4bujDA1TGoKT0i1FKIWiugAdP+kK8T5KMDFIKQCLYIA==" + }, + "codemirror": { + "version": "5.63.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.63.1.tgz", + "integrity": "sha512-baivaNZreZOGh1/tYyTvCupC9NeWk7qlZeGUDi4nFKj/J0JU8FYKZND4QqLw70P7HOttlCt4JJAOj9GoIhHEkA==" + }, + "datatables.net": { + "version": "1.10.23", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.10.23.tgz", + "integrity": "sha512-we3tlNkzpxvgkKKlTxTMXPCt35untVXNg8zUYWpQyC1U5vJc+lT0+Zdc1ztK8d3lh5CfdnuFde2p8n3XwaGl3Q==", + "requires": { + "jquery": ">=1.7" + } + }, "datatables.net-bs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/datatables.net-bs/-/datatables.net-bs-2.1.1.tgz", - "integrity": "sha1-cEEIlyiRlJ0JS/RPU9BlTZ/ue84=", - "requires": { - "datatables.net": "1.10.19", - "jquery": "3.3.1" - } + "version": "1.10.23", + "resolved": "https://registry.npmjs.org/datatables.net-bs/-/datatables.net-bs-1.10.23.tgz", + "integrity": "sha512-O/kJxT93i9hIq8trdbHuIcHhrTodkVPfPqvxOqKK8lJ03XUUrT6V8ZoGyxROFjQGcgbye5CoRLVf7MY+5biOIQ==", + "requires": { + "datatables.net": "1.10.23", + "jquery": ">=1.7" + } + }, + "datatables.net-buttons": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/datatables.net-buttons/-/datatables.net-buttons-1.2.4.tgz", + "integrity": "sha1-rZCn6zlBmWEI7/bVKTxHM/GHQyk=", + "requires": { + "datatables.net": ">=1.10.9", + "jquery": ">=1.7" + } + }, + "datatables.net-buttons-bs": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/datatables.net-buttons-bs/-/datatables.net-buttons-bs-1.2.4.tgz", + "integrity": "sha1-GEOvK+BUSYfN06vUcQKKoj2kjOY=", + "requires": { + "datatables.net-bs": ">=1.10.9", + "datatables.net-buttons": ">=1.0.3", + "jquery": ">=1.7" + } + }, + "datatables.net-responsive": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/datatables.net-responsive/-/datatables.net-responsive-2.2.7.tgz", + "integrity": "sha512-pjZcR+AHa0GE++giRhMBSxFLKrfjP+X7etj7oZMMfMTi1gcdYdM8YP3gmpEyfLjDEg6uPJb9PRH4mQHcc8OYyA==", + "requires": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "datatables.net-responsive-bs": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/datatables.net-responsive-bs/-/datatables.net-responsive-bs-2.2.7.tgz", + "integrity": "sha512-hy+ItFI4/JvBW15WrQib9FPQC7RkurVu07406YaQZfXQB08FfJYzUeT42xUvhLFfIRTk4jUlDQWsc2Rbp8yHQQ==", + "requires": { + "datatables.net-bs": "^1.10.15", + "datatables.net-responsive": "2.2.7", + "jquery": ">=1.7" + } + }, + "datatables.net-select": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/datatables.net-select/-/datatables.net-select-1.3.1.tgz", + "integrity": "sha512-PeVd/hlAX58QzL0+mGvxnXP7ylLtzZMeAots/uZkQi+6c/KI6JuP8LCJoEMHAsSjQM/BnG7Uw8E1YGOz1tZpQQ==", + "requires": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "datatables.net-select-bs": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/datatables.net-select-bs/-/datatables.net-select-bs-1.3.1.tgz", + "integrity": "sha512-CbZTZoBjaALftqCHWRrrlVNn2w472vXRsn5myM/wVyVkFh4S8W8QRAkP6jEkfxdmXsXiDidXg03fR5ksVEbebw==", + "requires": { + "datatables.net-bs": "^1.10.15", + "datatables.net-select": "1.3.1", + "jquery": ">=1.7" + } }, "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" - } - } - }, - "datatables.net-responsive": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/datatables.net-responsive/-/datatables.net-responsive-2.0.2.tgz", - "integrity": "sha1-P7G5poZ9Hk2N/BsAdi9rrlyeqXg=", - "requires": { - "datatables.net": "1.10.19", - "jquery": "3.2.1" - } - }, - "datatables.net-responsive-bs": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/datatables.net-responsive-bs/-/datatables.net-responsive-bs-2.0.2.tgz", - "integrity": "sha1-UvCc/HHTjdGurbQzQ4dXQH+Xaig=", - "requires": { - "datatables.net-bs": "1.10.19", - "datatables.net-responsive": "2.0.2", - "jquery": "3.2.1" - } - }, - "datatables.net-select": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/datatables.net-select/-/datatables.net-select-1.1.2.tgz", - "integrity": "sha1-S0SOgLG75+7kmrCB/Rl6AlHq7zk=", - "requires": { - "datatables.net": "1.10.19", - "jquery": "3.2.1" - } - }, - "datatables.net-select-bs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/datatables.net-select-bs/-/datatables.net-select-bs-1.1.2.tgz", - "integrity": "sha1-yDd2JG/ikuidkNdmAB4YP49IVjU=", - "requires": { - "datatables.net-bs": "1.10.19", - "datatables.net-select": "1.1.2", - "jquery": "3.2.1" - } - }, - "es6-promise": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", - "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=" - }, - "font-awesome": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" - }, - "jquery": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", - "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=" - }, - "jquery-migrate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jquery-migrate/-/jquery-migrate-3.0.1.tgz", - "integrity": "sha1-FB3jq/5tMBuqpBMLDse5qDmEXnI=" - }, - "jquery-mousewheel": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", - "integrity": "sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU=" - }, - "jquery-ui": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz", - "integrity": "sha1-vLQEXI3QU5wTS8FIjN0+dop6nlE=" - }, - "jstree": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.6.tgz", - "integrity": "sha512-60yWq6batzrakamfhJKB/pQsR6E7O27pafHr5p/klEE3rDQjGY0zxV+C8+ljPVw90LmUJyUXEIuNbeQJB2xqcg==", - "requires": { - "jquery": "3.3.1" - }, - "dependencies": { - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", + "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==" + }, + "jquery-migrate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jquery-migrate/-/jquery-migrate-3.0.1.tgz", + "integrity": "sha512-NYlhcFnRh4Bv9jvadPlcAKQdVGRE0+TSgFYxQ+ZnCxUUHbwd+SjbOg+Xvu1Oea9mpQJ+2VB1eCfcBORWNQsHaA==" + }, + "jquery-ui": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz", + "integrity": "sha1-vLQEXI3QU5wTS8FIjN0+dop6nlE=" + }, + "jstree": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/jstree/-/jstree-3.3.11.tgz", + "integrity": "sha512-9ZJKroPjCyjb6JLPuAbBrLJKT6pS1f4m5gkwoEagG5oQWtvzm0IiDsntXTxeFtz7AmqrKfij+gLfF9MgWriNxg==", + "requires": { + "jquery": ">=1.9.1" + } + }, + "metismenu": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/metismenu/-/metismenu-2.0.3.tgz", + "integrity": "sha1-b3liFSXwzXle1oE73TK2pH1oewc=" + }, + "pace": { + "version": "npm:pace-js@1.0.2", + "resolved": "https://registry.npmjs.org/pace-js/-/pace-js-1.0.2.tgz", + "integrity": "sha512-5rIBZm4u7xQz2eYWwatBfUnurKxXRyO6meLvlxhQYyhJZoZDjvLt249nUikj9VMpmtMR0owHqade9RSSNRT/GQ==" + }, + "select2": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", + "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" + }, + "summernote": { + "version": "0.8.20", + "resolved": "https://registry.npmjs.org/summernote/-/summernote-0.8.20.tgz", + "integrity": "sha512-W9RhjQjsn+b1s9xiJQgJbCiYGJaDAc9CdEqXo+D13WuStG8lCdtKaO5AiNiSSMJsQJN2EfGSwbBQt+SFE2B8Kw==" + }, + "sweetalert": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-1.1.3.tgz", + "integrity": "sha1-0sMepJKyK2qNiHrqFZiaI4/AhK4=" } - } - }, - "metismenu": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/metismenu/-/metismenu-2.0.3.tgz", - "integrity": "sha1-b3liFSXwzXle1oE73TK2pH1oewc=" - }, - "nestable": { - "version": "git+https://git@github.com/ilmente/Nestable.git#0baf37567b5bda0bcb80acc3dd0c0d0a13ba497d" - }, - "pace": { - "version": "git+https://git@github.com/hubspot/pace.git#c6846cbf6b928e9903b569269fa9fbf32f2554f4" - }, - "select2": { - "version": "git+https://git@github.com/select2/select2.git#622a619d25358b86a93c2335f88e1884acc9ccb8", - "requires": { - "almond": "0.3.3", - "jquery-mousewheel": "3.1.13" - } - }, - "summernote": { - "version": "0.8.10", - "resolved": "https://registry.npmjs.org/summernote/-/summernote-0.8.10.tgz", - "integrity": "sha512-1b4ESCiY9HW+12HYXCntjbThVgeYNaYKfKL7pC4Jqjo/WDS4G4mMtd2kPuCw56HxeRT67d+zlehopaE+M4o6aQ==" - }, - "sweetalert": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-1.1.3.tgz", - "integrity": "sha1-0sMepJKyK2qNiHrqFZiaI4/AhK4=" } - } } diff --git a/assets/Zed/package.json b/assets/Zed/package.json index 496ae37e..472fb50b 100644 --- a/assets/Zed/package.json +++ b/assets/Zed/package.json @@ -1,30 +1,30 @@ { - "private": true, - "name": "spryker-zed-gui", - "version": "1.0.0", - "dependencies": { - "animate.css": "~3.5.1", - "bootstrap-sass": "~3.4.1", - "codemirror": "~5.12.0", - "datatables.net": "~1.10.13", - "datatables.net-bs": "~1.10.10", - "datatables.net-buttons": "~1.2.3", - "datatables.net-buttons-bs": "~1.2.3", - "datatables.net-responsive": "~2.0.0", - "datatables.net-responsive-bs": "~2.0.0", - "datatables.net-select": "~1.1.0", - "datatables.net-select-bs": "~1.1.0", - "es6-promise": "~4.0.5", - "font-awesome": "~4.7.0", - "jquery": "~3.2.1", - "jquery-migrate": "~3.0.0", - "jquery-ui": "~1.12.1", - "jstree": "~3.3.3", - "metismenu": "~2.0.2", - "nestable": "git+https://git@github.com/ilmente/Nestable#v1.1.1", - "pace": "git+https://git@github.com/hubspot/pace#v1.0.2", - "select2": "git+https://git@github.com/select2/select2#4.0.2", - "summernote": "~0.8.1", - "sweetalert": "~1.1.3" - } + "private": true, + "name": "spryker-zed-gui", + "version": "1.0.0", + "dependencies": { + "@fortawesome/fontawesome-free": "~5.15.3", + "@spryker/nestable": "~1.1.1", + "animate.css": "~3.5.1", + "autonumeric": "~4.6.0", + "bootstrap-sass": "~3.4.1", + "codemirror": "~5.63.0", + "datatables.net": "~1.11.3", + "datatables.net-bs": "~1.11.3", + "datatables.net-buttons": "~1.2.3", + "datatables.net-buttons-bs": "~1.2.3", + "datatables.net-responsive": "~2.2.3", + "datatables.net-responsive-bs": "~2.2.3", + "datatables.net-select": "~1.3.0", + "datatables.net-select-bs": "~1.3.0", + "jquery": "~3.6.3", + "jquery-migrate": "~3.0.0", + "jquery-ui": "~1.13.2", + "jstree": "~3.3.3", + "metismenu": "~2.0.2", + "pace": "npm:pace-js@~1.0.2", + "select2": "~4.0.13", + "summernote": "~0.8.20", + "sweetalert": "~1.1.3" + } } diff --git a/assets/Zed/sass/_action-buttons.scss b/assets/Zed/sass/_action-buttons.scss index 45dbb66d..f26587ff 100644 --- a/assets/Zed/sass/_action-buttons.scss +++ b/assets/Zed/sass/_action-buttons.scss @@ -1,53 +1,62 @@ -@mixin coloredButton($backgroundColor, $color, $hoverColor:'') { - background-color: $backgroundColor; - border-color: $backgroundColor; - color: $color; - - &.btn-outline { - background: transparent; - color: $backgroundColor; - - &:hover { - background-color: $backgroundColor; - border-color: $backgroundColor; - @if $hoverColor == '' { - color: $color; - } @else { - color: $hoverColor; - } +@mixin coloredButton($backgroundColor, $color, $hoverColor: '') { + background-color: $backgroundColor; + border-color: $backgroundColor; + color: $color; + + &.btn-outline { + background: transparent; + color: $backgroundColor; + + &:hover { + background-color: $backgroundColor; + border-color: $backgroundColor; + @if $hoverColor == '' { + color: $color; + } @else { + color: $hoverColor; + } + } } - } } .btn-back { - background-color: #c2c2c2; - border-color: #c2c2c2; - color: #fff; - - &.btn-outline { - background: transparent; - color: #a2a2a2; - - &:hover { - background-color: #c2c2c2; - border-color: #c2c2c2; - color: #fff; + background-color: #c2c2c2; + border-color: #c2c2c2; + color: #fff; + + &.btn-outline { + background: transparent; + color: #a2a2a2; + + &:hover { + background-color: #c2c2c2; + border-color: #c2c2c2; + color: #fff; + } } - } } .btn-view { - @include coloredButton(#1c84c6, #ffffff); + @include coloredButton(#1c84c6, #ffffff); } .btn-edit { - @include coloredButton(#d18d21, #ffffff); + @include coloredButton(#d18d21, #ffffff); } .btn-create { - @include coloredButton(#108548, #ffffff); + @include coloredButton(#108548, #ffffff); } .btn-remove { - @include coloredButton(#ed5565, #ffffff); + @include coloredButton(#ed5565, #ffffff); +} + +.btn-naked { + background: none; + border: none; + + &:is(:hover, :focus) { + opacity: 0.8; + } } diff --git a/assets/Zed/sass/_custom.scss b/assets/Zed/sass/_custom.scss index a16ff694..1919cb94 100644 --- a/assets/Zed/sass/_custom.scss +++ b/assets/Zed/sass/_custom.scss @@ -3,11 +3,105 @@ * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ +/* General styles */ +body { + font-family: $main-font; + background-color: $grey-lighter; +} + +a { + color: $green-default; + transition: color 0.2s linear, background-color 0.2s linear, border-color 0.2s linear; + + &:hover { + color: $green-dark; + } + + &:focus { + color: $green-dark; + outline-color: $green-base; + outline-width: 1px; + outline-offset: 3px; + } +} + +.page-heading { + h2, + h3 { + color: $ink-base; + font-size: 30px; + font-weight: 600; + letter-spacing: 0.2px; + line-height: 40px; + } +} + +label { + text-transform: uppercase; + margin: 0 0 7px; + color: $ink-base; + font-weight: 500; + font-size: 12px; + line-height: 1.25; + + &.required { + &::after { + content: ' *'; + } + } + + .form-group & { + margin: 7px 0; + } + + .table-vat & { + margin-top: 0; + } +} + +input, +select, +textarea { + font-family: $main-font; + font-weight: 500; +} + +select { + padding: 8px 30px 8px 12px; + appearance: none; + -webkit-text-size-adjust: none; + background: $white #{calc(100% - 10px) 50% / 12px auto} no-repeat url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIwcHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCAzMjAgNTEyIiB2ZXJzaW9uPSIxLjEiPjxwYXRoIGZpbGw9IiM5ZWExYTciIGQ9Ik0xNDMgMzUyLjNMNyAyMTYuM2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMjIuNi0yMi42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDk2LjQgOTYuNCA5Ni40LTk2LjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjIuNiAyMi42YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0xMzYgMTM2Yy05LjIgOS40LTI0LjQgOS40LTMzLjggMHoiPjwvcGF0aD48L3N2Zz4=') !important; + + &::-ms-expand { + display: none; + } + + &:focus { + outline-width: 0; + } + + &.input-sm { + height: 38px; + line-height: 18px; + } +} + +textarea { + &.form-control { + height: 95px; + min-height: 95px; + } +} + +#wrapper { + position: relative; +} + .zed-logo { display: block; - width: 165px; - height: 159px; - background-image: $zed-logo; + height: 50px; + background: center/contain no-repeat + url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTg5cHgiIGhlaWdodD0iNzdweCIgdmlld0JveD0iMCAwIDE4OSA3NyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjIgKDkxMzkwKSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5sb2dvPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9Im5hdmlnYXRpb24iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJuYXZpZ2F0aW9uLS8tZXhwYW5kZWQtLy1zdWJtZW51cy1jb2xsYXBzZWQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMS4wMDAwMDAsIC0xMC4wMDAwMDApIiBmaWxsPSIjMUQxRDFCIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8ZyBpZD0ibG9nbyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzEuMDAwMDAwLCAxMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNi45NjI0Mzc3LDcxLjk2NzQwNjEgQzI2Ljc4NDI2NTksNzIuMDk2MTc3NSAyNi41Njg4NjQzLDcyLjIzMDIwNDggMjYuMzQ4MTQ0LDcyLjM4MjYyOCBDMjYuMTI4NDAwNSw3Mi41MjczMjU3IDI1LjkxNzkxNjIsNzIuNjg1MzA2IDI1LjcxNzg5NDcsNzIuODU1NjY1NSBDMjUuNTM0MTgxMyw3My4wMDYxODA4IDI1LjM4MDAzOTYsNzMuMTg4Nzk2MSAyNS4yNjMxNTc5LDczLjM5NDQwMjcgQzI1LjE2MjcxMzIsNzMuNTg1MjcwNiAyNS4xMzYyMzU3LDczLjgwNTgxMTYgMjUuMTg4Njk4MSw3NC4wMTQ2MDc1IEMyNS4xODg2OTgxLDc0LjA1NjY1NTMgMjUuMjA5OTcyMyw3NC4wOTM0NDcxIDI1LjIyMDYwOTQsNzQuMTMyODY2OSBMMjUuMjYwNDk4Niw3NC4yNDU4NzAzIEwyNS4zMDU3MDY0LDc0LjM1ODg3MzcgTDI1LjM1MzU3MzQsNzQuNDY5MjQ5MSBDMjUuMjA5OTcyMyw3NC42Nzk0ODgxIDI1LjA4NzY0NTQsNzQuODk3NjEwOSAyNC45Njc5Nzc4LDc1LjA5OTk2NTkgQzI0Ljg2MDg4MzEsNzUuMjkyNTU1NSAyNC43MzgxNTM3LDc1LjQ3NjI0MTIgMjQuNjAwOTk3Miw3NS42NDkyMTUgQzI0LjQ3MzE4MjYsNzUuODA4MTE0NSAyNC4zMTE1ODU1LDc1LjkzNzMwNjQgMjQuMTI3NjQ1NCw3Ni4wMjc2NDUxIEMyMy45MDk2MjMzLDc2LjEyMjk0MTEgMjMuNjcxNDI2LDc2LjE2NDQyODIgMjMuNDMzNTczNCw3Ni4xNDg1MzI0IEMyMy4xNjIzNjkzLDc2LjEzNzE1MDcgMjIuODkzOTg3MSw3Ni4wODk0MTA0IDIyLjYzNTc4OTUsNzYuMDA2NjIxMiBDMjIuMzc5OTM4Niw3NS45MjQ1NjcyIDIyLjEzMzE0MjMsNzUuODE3MTQ5MSAyMS44OTkxNjksNzUuNjg2MDA2OCBDMjEuNjU1MzQzNiw3NS41NDg4MjU4IDIxLjQyMDgyOTQsNzUuMzk2MDc4NiAyMS4xOTcxMTkxLDc1LjIyODczNzIgQzIwLjk2ODQyMTEsNzUuMDYwNTQ2MSAyMC43NDIzODIzLDc0Ljg3OTIxNSAyMC41MjQzMjEzLDc0LjcwMzEzOTkgQzIwLjUyNDMyMTMsNzQuNjc0MjMyMSAyMC41MjQzMjEzLDc0LjY0Nzk1MjIgMjAuNTA1NzA2NCw3NC42MjE2NzI0IEMyMC40ODcwOTE0LDc0LjU5NTM5MjUgMjAuNTA1NzA2NCw3NC41NjkxMTI2IDIwLjQ4NzA5MTQsNzQuNTQwMjA0OCBDMjAuNDY4NDc2NSw3NC41MTEyOTY5IDIwLjQ4NzA5MTQsNzQuNDg3NjQ1MSAyMC40NjU4MTcyLDc0LjQ1ODczNzIgQzIwLjQ0NDU0MjksNzQuNDI5ODI5NCAyMC40NDcyMDIyLDc0LjQwMzU0OTUgMjAuNDQxODgzNyw3NC4zNzcyNjk2IEMyMC4zNzg2MzYyLDc0LjE4MjM3NzIgMjAuMjg5MTk0NCw3My45OTY3NTk3IDIwLjE3NTk1NTcsNzMuODI1MzkyNSBDMjAuMDU3MTQ5NSw3My42NTgzMjI1IDE5LjkyMDc2NSw3My41MDQxNjI3IDE5Ljc2OTA4NTksNzMuMzY1NDk0OSBDMTkuNjE1OTQ0Niw3My4yMjU5NDEgMTkuNDUzMzUxNCw3My4wOTY4NzAyIDE5LjI4MjQzNzcsNzIuOTc5MTgwOSBDMTkuMTEyMjQzOCw3Mi44NjM1NDk1IDE4LjkzNDA3Miw3Mi43NTMxNzQxIDE4Ljc1MDU4MTcsNzIuNjUzMzEwNiBDMTguNzUxNDc0NCw3Mi42NTg1Mjk1IDE4Ljc1MTQ3NDQsNzIuNjYzODU5NSAxOC43NTA1ODE3LDcyLjY2OTA3ODUgTDE4Ljc1MDU4MTcsNzIuNjg0ODQ2NCBMMTguNzUwNTgxNyw3Mi43MDA2MTQzIEwxOC43NTA1ODE3LDcyLjcxNjM4MjMgTDE4Ljc3NzE3NDUsNzIuODEzNjE3NyBDMTguNzc3MTc0NSw3Mi44NDUxNTM2IDE4Ljc5NTc4OTUsNzIuODc2Njg5NCAxOC44MDY0MjY2LDcyLjkxMDg1MzIgQzE4LjgxNzA2MzcsNzIuOTQ1MDE3MSAxOC44MjUwNDE2LDcyLjk3NjU1MjkgMTguODM1Njc4Nyw3My4wMTA3MTY3IEMxOC44NDYzMTU4LDczLjA0NDg4MDUgMTguODU2OTUyOSw3My4wNzY0MTY0IDE4Ljg3MDI0OTMsNzMuMTEwNTgwMiBDMTkuMDY2OTM3MSw3My42MzUyNzI0IDE5LjMzOTIxNyw3NC4xMjkxNjgxIDE5LjY3ODY3MDQsNzQuNTc2OTk2NiBDMTkuOTk3Njc5Myw3NS4wMTk2MzEyIDIwLjM3NDA3NzIsNzUuNDE4OTg5NCAyMC43OTgyMjcxLDc1Ljc2NDg0NjQgQzIxLjIxMTU3MzUsNzYuMTAzMTQ1MiAyMS42NzA3NTU5LDc2LjM4MjY2NTkgMjIuMTYyNDM3Nyw3Ni41OTUyOTAxIEMyMi42NDQ2MDg0LDc2LjgwNTI1NDcgMjMuMTYwMzg1Myw3Ni45Mjk3OTA1IDIzLjY4NjIwNSw3Ni45NjMyMDgyIEMyNC4xOTI2NDEsNzYuOTk1MzQ0MiAyNC42OTk3MDc4LDc2LjkxMDc3OCAyNS4xNjc0MjM4LDc2LjcxNjE3NzUgQzI1LjYzMTE5NDYsNzYuNTE3OTk1MiAyNi4wNDExNzAxLDc2LjIxNDU4MiAyNi4zNjQwOTk3LDc1LjgzMDU0NjEgQzI2LjcxNTQxODEsNzUuNDExMDEwMSAyNi45NjQ2ODkyLDc0LjkxNzQzNTUgMjcuMDkyNzQyNCw3NC4zODc3ODE2IEMyNy4yMzgxMjEzLDczLjc3NTQ5OTEgMjcuMjQyNjY1LDczLjEzODc4NzEgMjcuMTA2MDM4OCw3Mi41MjQ1MzkyIEwyNi45NzA0MTU1LDcxLjk2NzQwNjEiIGlkPSJQYXRoIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNi4wNjU4MTcxNyw0Ni4xMzk1NTYzIEw1LjkwMDk0MTgzLDQ2LjIxNTc2NzkgTDUuNzM4NzI1NzYsNDYuMjk5ODYzNSBMNS41NzY1MDk3LDQ2LjM5MTg0MyBMNS40MTY5NTI5MSw0Ni40OTQzMzQ1IEM1LjEyMTc3Mjg1LDQ2LjY4NjE3NzUgNC44NDc4NjcwNCw0Ni44NzUzOTI1IDQuNTg5OTE2OSw0Ny4wNzc3NDc0IEM0LjMzMjQ0NDM2LDQ3LjI3NTU5ODMgNC4wOTE0NDk2LDQ3LjQ5MzU0NDMgMy44NjkyNTIwOCw0Ny43Mjk0ODgxIEMzLjYzMDM4OTcyLDQ3Ljk4MzgyNTkgMy40MTY2NzU0MSw0OC4yNjAxNDUxIDMuMjMxMDI0OTMsNDguNTU0Njc1OCBDMy4wMTA1Mjg3Miw0OC45MDIxMTk2IDIuODE5MzAzMjMsNDkuMjY2ODg1NyAyLjY1OTI3OTc4LDQ5LjY0NTI5MDEgQzMuMTY0NzQxMzcsNDkuNTc1NDEzOSAzLjY3NzU4NTUsNDkuNTc1NDEzOSA0LjE4MzA0NzA5LDQ5LjY0NTI5MDEgQzQuNzIxMzg2MTgsNDkuNzE5MTIxOSA1LjI0ODM5MzE2LDQ5Ljg1ODU5MTggNS43NTIwMjIxNiw1MC4wNjA1MTE5IEM2LjMxMDQ1NzUxLDUwLjI4NTM1MjcgNi44NDQ5MzMwNCw1MC41NjQ0MTEgNy4zNDc1OTAwMyw1MC44OTM1ODM2IEM3LjkxMTY2MDIxLDUxLjI2NjgzNzggOC40NDUxNjAxNyw1MS42ODMzNDMxIDguOTQzMTU3ODksNTIuMTM5MjQ5MSBMNi44MTU3MzQwNyw0NS44OTI1MjU2IEw2LjYyNDI2NTkzLDQ1LjkzOTgyOTQgTDYuNDM1NDU3MDYsNDUuOTk1MDE3MSBMNi4yNDY2NDgyLDQ2LjA2MDcxNjcgTDYuMDYwNDk4NjEsNDYuMTM2OTI4MyIgaWQ9IlBhdGgiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03Ljc5NzAwODMxLDQ1LjgwMDU0NjEgTDkuODk1MTgwMDYsNTEuODgxNzA2NSBMMTQuNTU2ODk3NSw1MS45NTAwMzQxIEMxNC4xMDQxNTYzLDUxLjA0NzE1NzUgMTMuNTgwNDQ0Nyw1MC4xODA3Njg2IDEyLjk5MDU4MTcsNDkuMzU4ODM5NiBDMTIuNDk0NTExNSw0OC42NjQ4NTAzIDExLjkyNjgwOSw0OC4wMjM2ODIzIDExLjI5NjYyMDUsNDcuNDQ1NjY1NSBDMTAuNzc1ODk5Nyw0Ni45NjUwODc0IDEwLjE4NjI4MzEsNDYuNTYzMDU3MSA5LjU0NjgxNDQsNDYuMjUyNTU5NyBDOS4wMDAzNDUyMyw0NS45ODcyNDQyIDguNDA1MDQ3MzMsNDUuODM0MzU5NiA3Ljc5NzAwODMxLDQ1LjgwMzE3NDEiIGlkPSJQYXRoIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuNTYsNTMuODAwMTM2NSBDMTEuMzI3ODU5NCw1NC43MDYyODIgMTIuMDMwNzMzMyw1NS42NjQzMjQ1IDEyLjY2MzQ5MDMsNTYuNjY3MjY5NiBDMTMuMzkzMDIyNCw1Ny44MTkwMTU5IDE0LjA1NjIzNjMsNTkuMDEwNTEgMTQuNjQ5OTcyMyw2MC4yMzYwNzUxIEMxNS4yODgxOTk0LDYxLjU1MDA2ODMgMTUuODkxODU2LDYyLjk1ODY2ODkgMTYuNDUyOTY0LDY0LjQ2NDUwNTEgQzE3LjAxNDA3Miw2NS45NzAzNDEzIDE3LjU0MDYwOTQsNjcuNTk3MDY0OCAxOC4wMDg2NDI3LDY5LjI5NDc0NCBDMTguMDQzMjEzMyw2OC41NTYyNzk5IDE4LjA1MTE5MTEsNjcuNzk2NzkxOCAxOC4wMzc4OTQ3LDY3LjAyNDE2MzggQzE4LjAyNDU5ODMsNjYuMjUxNTM1OCAxNy45ODQ3MDkxLDY1LjQ2NTc2NzkgMTcuOTE4MjI3MSw2NC42NzIxMTYgQzE3Ljg1MTc0NTIsNjMuODc4NDY0MiAxNy43NjY2NDgyLDYzLjA3NjkyODMgMTcuNjUyMjk5Miw2Mi4yNzAxMzY1IEMxNy41Mzc5NTAxLDYxLjQ2MzM0NDcgMTcuMzg2MzcxMiw2MC42NTY1NTI5IDE3LjIyOTQ3MzcsNTkuODQ3MTMzMSBDMTcuMTE2MDExMSw1OS4zMDQwMTU5IDE2Ljk5MzY4NDIsNTguNzczMTYyNyAxNi44NjI0OTMxLDU4LjI1NDU3MzQgQzE2LjczMjE4ODQsNTcuNzI4OTc2MSAxNi41OTY1NjUxLDU3LjIzMjI4NjcgMTYuNDQyMzI2OSw1Ni43MzgyMjUzIEMxNi4yODgwODg2LDU2LjI0NDE2MzggMTYuMTM5MTY5LDU1Ljc2NTg3MDMgMTUuOTc2OTUyOSw1NS4zMDMzNDQ3IEMxNS44MTQ3MzY4LDU0Ljg0MDgxOTEgMTUuNjQxODgzNyw1NC4zOTE0MzM0IDE1LjQ2OTAzMDUsNTMuOTU1MTg3NyBMMTAuNTYsNTMuODAwMTM2NSIgaWQ9IlBhdGgiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wLDkuMDI5NzYxMDkgQzAuMTM0NzM2ODQyLDEwLjI3ODkzMDYgMC4yODU0MjkzNjMsMTEuNTQyOTkyIDAuNDUyMDc3NTYyLDEyLjgyMTk0NTQgQzAuNjE4NzI1NzYyLDE0LjEwMDg5ODcgMC44MDA0NDMyMTMsMTUuMzk0NzQ0IDAuOTk3MjI5OTE3LDE2LjcwMzQ4MTIgQzEuMTk3NTYyMzMsMTguMDA2OTYyNSAxLjQxMzg1MDQyLDE5LjMyNzA4NzYgMS42NDYwOTQxOCwyMC42NjM4NTY3IEMxLjg3ODMzNzk1LDIyLjAwMDYyNTcgMi4xMjc0MjM4MiwyMy4zNDcwMzA3IDIuMzkzMzUxOCwyNC43MDMwNzE3IEMyLjc0NzkyMjQ0LDI2LjQ3NzgzODUgMy4xMTY2NzU5LDI4LjIxNDkzNzQgMy40OTk2MTIxOSwyOS45MTQzNjg2IEMzLjg4MjU0ODQ4LDMxLjYxMzc5OTggNC4yODc2NDU0MywzMy4yNzgxOTExIDQuNzE0OTAzMDUsMzQuOTA3NTQyNyBDNS4xMzg2MTQ5NiwzNi41MzUxNDIyIDUuNTgxODI4MjUsMzguMTExOTM0IDYuMDQ0NTQyOTQsMzkuNjM3OTE4MSBDNi41MDcyNTc2Miw0MS4xNjM5MDIyIDYuOTc1MjkwODYsNDIuNjUzMDk0NCA3LjQ0ODY0MjY2LDQ0LjEwNTQ5NDkgQzcuNjU1Mzc1MDIsNDQuMDczNTUzNSA3Ljg2NDMzMDEyLDQ0LjA1NzczNjggOC4wNzM1NzM0MSw0NC4wNTgxOTExIEM4LjI4NjUyODQzLDQ0LjA2MDg0MTkgOC40OTg5ODE1MSw0NC4wNzkyODk3IDguNzA5MTQxMjcsNDQuMTEzMzc4OCBDOC45MjYzODQ5Niw0NC4xNDkxOTA2IDkuMTQwNjEyMDIsNDQuMjAxMDE5MSA5LjM1MDAyNzcsNDQuMjY4NDMgQzkuNTY5Mjk1NzYsNDQuMzQxOTQ0MyA5Ljc4MzM5MzU3LDQ0LjQyOTczNjEgOS45OTA5MTQxMyw0NC41MzEyMjg3IEM5LjQ5ODA2MDk0LDQzLjM4MzY3NDYgOS4wMTQ5NTg0NSw0Mi4yMDU0NjA4IDguNTQxNjA2NjUsNDAuOTk2NTg3IEM4LjA2ODI1NDg1LDM5Ljc4NzcxMzMgNy42MDczMTMwMiwzOC41NTM0MzU3IDcuMTU4NzgxMTYsMzcuMjkzNzU0MyBDNi43MTIwMjIxNiwzNi4wMzIzMjA4IDYuMjc1OTAwMjgsMzQuNzQyODU1NSA1Ljg1MDQxNTUxLDMzLjQyNTM1ODQgQzUuNDI0OTMwNzUsMzIuMTA3ODYxMiA1LjAwODMxMDI1LDMwLjc3MTk2ODEgNC42MDA1NTQwMiwyOS40MTc2NzkyIEM0LjA2ODY5ODA2LDI3LjYzNzY1NjQgMy41NzY3MzEzLDI1Ljg2ODE0NTYgMy4xMjQ2NTM3NCwyNC4xMDkxNDY4IEMyLjY3MjU3NjE4LDIyLjM1MDE0NzkgMi4yNTU5NTU2OCwyMC42MjA5MzI5IDEuODc0NzkyMjQsMTguOTIxNTAxNyBDMS40OTM2Mjg4MSwxNy4yMjM4MjI1IDEuMTQ3MDM2MDEsMTUuNTQ3MTY3MiAwLjgzNTAxMzg1LDEzLjg5MTUzNTggQzAuNTIyOTkxNjksMTIuMjM1OTA0NCAwLjI0NDY1Mzc0LDEwLjYxNTMxMjkgMCw5LjAyOTc2MTA5IiBpZD0iUGF0aCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQxLjU0MDYwOTQsMzQuOTk5NTIyMiBDNDEuMjc0NjgxNCwzNS4wNDQxOTggNDAuOTkyNzk3OCwzNS4wOTQxMjk3IDQwLjcxODg5MiwzNS4xNTE5NDU0IEM0MC40NDQ5ODYxLDM1LjIwOTc2MTEgNDAuMTg3MDM2LDM1LjI3MDIwNDggMzkuOTA1MTUyNCwzNS4zMzg1MzI0IEMzOS42MjMyNjg3LDM1LjQwNjg2MDEgMzkuMzczMjk2NCwzNS40ODA0NDM3IDM5LjEwNzM2ODQsMzUuNTU2NjU1MyBDMzguODQxNDQwNCwzNS42MzI4NjY5IDM4LjU3NTUxMjUsMzUuNzE5NTkwNCAzOC4zMDk1ODQ1LDM1LjgxOTQ1MzkgTDM3LjQzNDY4MTQsNDMuNTM1MjIxOCBDMzguMzA0MjA0MSw0Mi41NjIyMjEgMzkuMjI4NDM0OCw0MS42MzgzMzc4IDQwLjIwMjk5MTcsNDAuNzY3OTUyMiBDNDEuMTMxNTIxNSwzOS45MzU1NzQ4IDQyLjEwODIzODksMzkuMTU3MjUzNSA0My4xMjgxOTk0LDM4LjQzNjkyODMgQzQ0LjExMDQxMjYsMzcuNzQwNDc5OCA0NS4xMzQzMjk5LDM3LjEwMzM0NTEgNDYuMTk0MzQ5LDM2LjUyOTAxMDIgQzQ3LjIxOTMwNjUsMzUuOTc3NTA3NyA0OC4yNzc5NjkyLDM1LjQ4OTUxMjkgNDkuMzY0MjEwNSwzNS4wNjc4NDk4IEM0OC43NjM3OTMxLDM0Ljg4NTc5MTggNDguMTQ5MTgyLDM0Ljc1MzA2NTEgNDcuNTI2NjQ4MiwzNC42NzEwMjM5IEM0Ni45MjE5Mzg0LDM0LjU5MjM2NzcgNDYuMzEyMjQ0NiwzNC41NTcyMzU0IDQ1LjcwMjM4MjMsMzQuNTY1OTA0NCBDNDUuMDgyNzcwMSwzNC41NjU5MDQ0IDQ0LjQ0OTg2MTUsMzQuNjE4NDY0MiA0My43ODc3MDA4LDM0LjY4OTQxOTggQzQzLjEyNTU0MDIsMzQuNzYwMzc1NCA0Mi40MjM0OTAzLDM0Ljg2Mjg2NjkgNDEuNjgxNTUxMiwzNC45NzU4NzAzIEw0MS42NDQzMjEzLDM0Ljk3NTg3MDMgTDQxLjYwOTc1MDcsMzQuOTc1ODcwMyBMNDEuNTc1MTgwMSwzNC45NzU4NzAzIEw0MS41NDA2MDk0LDM0Ljk3NTg3MDMiIGlkPSJQYXRoIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzQuODY4NDc2NSw0Ni43MjU1OTczIEwyMy41MzE5NjY4LDUyLjI5NjkyODMgQzIzLjM3NzcyODUsNTIuOTE1MzgxMSAyMy4yNTAwODMxLDUzLjU0MTcxNzkgMjMuMTQ5MDMwNSw1NC4xNzU5Mzg2IEMyMy4wNDc5Nzc4LDU0LjgxMDE1OTMgMjIuOTcyNjMxNiw1NS40NTQwMTU5IDIyLjkyMjk5MTcsNTYuMTA3NTA4NSBDMjIuODcyNDY1NCw1Ni43NTkyNDkxIDIyLjg1MTE5MTEsNTcuNDIxNTAxNyAyMi44NjE4MjgzLDU4LjA3ODQ5ODMgQzIyLjg3MjQ2NTQsNTguNzM1NDk0OSAyMi45MDcwMzYsNTkuNDEzNTE1NCAyMi45NzYxNzczLDYwLjA4MTAyMzkgQzIzLjA3ODAyMDYsNjEuMDYzNTAxOSAyMy4yNDY4MjUsNjIuMDM4MDcgMjMuNDgxNDQwNCw2Mi45OTgwODg3IEMyMy43MDkxNzQ1LDYzLjkyOTkzMDYgMjQuMDAyNDA3LDY0Ljg0NDkzODcgMjQuMzU5MDAyOCw2NS43MzY0NTA1IEMyNC43MDc0OTcsNjYuNjA1MTI0IDI1LjExODA2MTcsNjcuNDQ4MjA2MiAyNS41ODc1OSw2OC4yNTkzMTc0IEMyNi4wNDc0MzAyLDY5LjA1MjA1NzMgMjYuNTY0Njc5NSw2OS44MTA4OTY0IDI3LjEzNTI5MDksNzAuNTI5ODk3NiBDMjcuMjIzMDI3LDY2LjA1OTk1NzIgMjcuOTk4NjY3Myw2MS42MjkyNDc1IDI5LjQzNTU2NzksNTcuMzg5OTY1OSBDMzAuMDk4MTc5Myw1NS40NDAzNzEzIDMwLjkwMjQ5MDEsNTMuNTQwNjQ1NiAzMS44NDIyMTYxLDUxLjcwNTYzMTQgQzMyLjcyNjgxMzgsNDkuOTc4MDIyMiAzMy43MzczNDQ3LDQ4LjMxNjI1ODIgMzQuODY1ODE3Miw0Ni43MzM0ODEyIiBpZD0iUGF0aCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMxLjQ1MTMwMTksMCBDMzEuODMyNDE0MywxLjQyNzA1NzA4IDMyLjEzODYzOTksMi44NzI2MjU2MiAzMi4zNjg3NTM1LDQuMzMwOTIxNSBDMzIuNjEzNDA3Miw1Ljg0NDY0MTY0IDMyLjc5Njg5NzUsNy40MTYxNzc0NyAzMi45MzUxODAxLDkuMDQ1NTI5MDEgQzMzLjA3MzQ2MjYsMTAuNjc0ODgwNSAzMy4xNzQ1MTUyLDEyLjQwNDA5NTYgMzMuMjQzNjU2NSwxNC4xNzUzNTg0IEMzMy4zMTI3OTc4LDE1Ljk0NjYyMTIgMzMuMzU1MzQ2MywxNy44MzM1MTU0IDMzLjM4NzI1NzYsMTkuNzU0NTczNCBDMzMuNDYxNzE3NSwyNC4yMjIxNTAyIDMzLjEyMTMyOTYsMjcuODE5ODYzNSAzMi41MjgzMTAyLDMwLjgyMTAyMzkgQzMyLjAyODk4NzYsMzMuNDM4NjUxOSAzMS4yMDY0MzksMzUuOTg1ODE4NiAzMC4wNzkxMTM2LDM4LjQwNTM5MjUgQzI5LjE2OTQ1MDQsNDAuMjU5OTgwMyAyOC4xNjE5NzIsNDIuMDY2MTM2NCAyNy4wNjA4MzEsNDMuODE2NDE2NCBDMjYuMDgyMjE2MSw0NS40NjE1MzU4IDI1LjIyMzI2ODcsNDcuMDA2NzkxOCAyNC42ODg3NTM1LDQ4LjgwOTU5MDQgQzI0LjY3MDEzODUsNDguODU2ODk0MiAyNC42NTE1MjM1LDQ4LjkwMTU3IDI0LjYzMjkwODYsNDguOTQ2MjQ1NyBDMjQuNjE0MjkzNiw0OC45OTA5MjE1IDI0LjU5MzAxOTQsNDkuMDM4MjI1MyAyNC41NzQ0MDQ0LDQ5LjA4MjkwMSBMMjQuNTE4NTU5Niw0OS4yMTk1NTYzIEMyNC40OTk5NDQ2LDQ5LjI2Njg2MDEgMjQuNDgxMzI5Niw0OS4zMTE1MzU4IDI0LjQ2MjcxNDcsNDkuMzU4ODM5NiBMMzUuMTg0OTMwNyw0NC4yNjU4MDIgTDM1LjE4NDkzMDcsNDQuMjY1ODAyIEwzNS4xODQ5MzA3LDQ0LjI2NTgwMiBDMzUuNzMyNzQyNCw0MC44NzA0NDM3IDM2LjA4NjQyNjYsMzcuNjk1ODM2MiAzNi4yODA1NTQsMzQuNzIwOTU1NiBDMzYuNDcyMDIyMiwzMS44MzAxNzA2IDM2LjUxOTg4OTIsMjkuMTMzODU2NyAzNi40NjkzNjI5LDI2LjYyNDEyOTcgQzM2LjQxNjE3NzMsMjQuMTY5NTkwNCAzNi4yNjcyNTc2LDIxLjg5Mzc1NDMgMzYuMDU3MTc0NSwxOS43OTEzNjUyIEMzNS44NDcwOTE0LDE3LjY4ODk3NjEgMzUuNTg2NDgyLDE1LjgyNTczMzggMzUuMjk2NjIwNSwxNC4xMDcwMzA3IEMzNS4wNzg1NTk2LDEyLjgwNjE3NzUgMzQuODI4NTg3MywxMS41MzQyMzIxIDM0LjU1NDY4MTQsMTAuMjkxMTk0NSBDMzQuMjgwNzc1Niw5LjA0ODE1NyAzMy45ODAyNzcsNy44NTI0MjMyMSAzMy42NTU4NDQ5LDYuNjc1MDg1MzIgQzMzLjMzMTQxMjcsNS40OTc3NDc0NCAzMi45ODU3MDY0LDQuMzY3NzEzMzEgMzIuNjE2MDY2NSwzLjI1ODcwMzA3IEMzMi4yNDY0MjY2LDIuMTQ5NjkyODMgMzEuODYwODMxLDEuMDUxMTk0NTQgMzEuNDUxMzAxOSwwIiBpZD0iUGF0aCIgb3BhY2l0eT0iMC43Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzIuOTgwOTQxOCw1OS4zNDI1NTk3IEM2NS42NTk5NDQ2LDU5LjM0MjU1OTcgNjIuMzY1MDk3LDU1LjcyNjQ1MDUgNjIuMzY1MDk3LDUxLjAyMjM1NDkgTDYyLjczMjA3NzYsNTAuNjU5NjkyOCBMNjcuMTI1MjA3OCw1MC42NTk2OTI4IEw2Ny40OTIxODg0LDUxLjAyMjM1NDkgQzY3LjQ5MjE4ODQsNTMuNTUzMTA1OCA2OC45NTc0NTE1LDU1LjAwMTEyNjMgNzMuMzQyNjAzOSw1NS4wMDExMjYzIEM3Ni42Mzc0NTE1LDU1LjAwMTEyNjMgNzguNDY3MDM2LDUzLjkxNTc2NzkgNzguNDY3MDM2LDUxLjc0NTA1MTIgQzc4LjQ2NzAzNiw0OS4yMTE2NzI0IDc3LjAwMTc3MjksNDguNDg4OTc2MSA3MS44NzczNDA3LDQ3Ljc2NjI3OTkgQzY2Ljc1MjkwODYsNDcuMDQzNTgzNiA2Mi43MjY3NTksNDUuMjM1NTI5IDYyLjcyNjc1OSw0MC4xNzEzOTkzIEM2Mi43MjY3NTksMzYuNTU1MjkwMSA2NS42NTE5NjY4LDMzLjI5OTIxNSA3Mi42MDg2NDI3LDMzLjI5OTIxNSBDNzkuNTY1MzE4NiwzMy4yOTkyMTUgODIuNDkwNTI2MywzNi41NTUyOTAxIDgyLjQ5MDUyNjMsNDAuODk0MDk1NiBMODIuMTMxNTIzNSw0MS4yNTkzODU3IEw3Ny43MzgzOTM0LDQxLjI1OTM4NTcgTDc3LjM3MTQxMjcsNDAuODk2NzIzNSBDNzcuMzcxNDEyNywzOC43MjYwMDY4IDc2LjI3MzEzMDIsMzcuNjQwNjQ4NSA3Mi4yNDY5ODA2LDM3LjY0MDY0ODUgQzY4Ljk1MjEzMywzNy42NDA2NDg1IDY3Ljg1Mzg1MDQsMzguNzI2MDA2OCA2Ny44NTM4NTA0LDQwLjE3NDAyNzMgQzY3Ljg1Mzg1MDQsNDIuMzQ0NzQ0IDY5LjMxOTExMzYsNDMuMDY0ODEyMyA3NC40NDM1NDU3LDQzLjc5MDEzNjUgQzc5LjU2Nzk3NzgsNDQuNTE1NDYwOCA4My41OTQxMjc0LDQ2LjY4MDkyMTUgODMuNTk0MTI3NCw1MS43NDc2NzkyIEM4My41OTQxMjc0LDU1LjcxMzMxMDYgODAuNjY2MjYwNCw1OS4zNDI1NTk3IDcyLjk4MDk0MTgsNTkuMzQyNTU5NyBaIiBpZD0iUGF0aCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTk2LjAzOTU1NjgsNTkuMzQyNTU5NyBDOTIuNzQ0NzA5MSw1OS4zNDI1NTk3IDkxLjI4MjEwNTMsNTcuNTM0NTA1MSA5MS4yODIxMDUzLDU3LjUzNDUwNTEgTDkwLjkxNTEyNDcsNTcuNTM0NTA1MSBMOTAuOTE1MTI0Nyw2NS44NTQ3MDk5IEw5MC41NDgxNDQsNjYuMjI1MjU2IEw4Ni4xNTUwMTM5LDY2LjIyNTI1NiBMODUuNzg4MDMzMiw2NS44NjI1OTM5IEw4NS43ODgwMzMyLDQxLjI1OTM4NTcgTDg2LjE1NTAxMzksNDAuODk2NzIzNSBMOTAuMTgxMTYzNCw0MC44OTY3MjM1IEw5MC41NDgxNDQsNDEuMjU5Mzg1NyBMOTAuOTE1MTI0Nyw0Mi4zNDQ3NDQgTDkxLjI4MjEwNTMsNDIuMzQ0NzQ0IEM5MS4yODIxMDUzLDQyLjM0NDc0NCA5Mi43NDczNjg0LDQwLjUzNjY4OTQgOTYuMDM5NTU2OCw0MC41MzY2ODk0IEMxMDAuNDMyNjg3LDQwLjUzNjY4OTQgMTA0LjA5MTg1Niw0NC4xNTI3OTg2IDEwNC4wOTE4NTYsNDkuOTQyMjUyNiBDMTA0LjA5MTg1Niw1NS43MzE3MDY1IDEwMC40MzAwMjgsNTkuMzQyNTU5NyA5Ni4wMzk1NTY4LDU5LjM0MjU1OTcgWiBNOTQuOTQxMjc0Miw0NC44NzI4NjY5IEM5Mi4wMTYwNjY1LDQ0Ljg3Mjg2NjkgOTAuOTE1MTI0Nyw0Ny4wNDM1ODM2IDkwLjkxNTEyNDcsNDkuOTM2OTk2NiBDOTAuOTE1MTI0Nyw1Mi44MzA0MDk2IDkyLjAxMzQwNzIsNTUuMDAxMTI2MyA5NC45NDEyNzQyLDU1LjAwMTEyNjMgQzk3Ljg2OTE0MTMsNTUuMDAxMTI2MyA5OC45Njc0MjM4LDUyLjgyMjUyNTYgOTguOTY3NDIzOCw0OS45MzE3NDA2IEM5OC45Njc0MjM4LDQ3LjA0MDk1NTYgOTcuODY5MTQxMyw0NC44NzI4NjY5IDk0Ljk0MTI3NDIsNDQuODcyODY2OSBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMTcuOTk3MjMsNDUuMjM1NTI5IEwxMTUuNDM2MzQzLDQ1LjIzNTUyOSBDMTEyLjUxMTEzNiw0NS4yMzU1MjkgMTExLjQxMDE5NCw0Ni42ODM1NDk1IDExMS40MTAxOTQsNDkuOTM2OTk2NiBMMTExLjQxMDE5NCw1OC42MDkzNTE1IEwxMTEuMDQzMjEzLDU4Ljk3MjAxMzcgTDEwNi42NTI3NDIsNTguOTcyMDEzNyBMMTA2LjI5NjM5OSw1OC42MTk4NjM1IEwxMDYuMjk2Mzk5LDQxLjI1OTM4NTcgTDEwNi42NjMzOCw0MC44OTY3MjM1IEwxMTAuNjg5NTI5LDQwLjg5NjcyMzUgTDExMS4wNTY1MSw0MS4yNTkzODU3IEwxMTEuNDIzNDksNDIuMzQ0NzQ0IEwxMTEuNzkwNDcxLDQyLjM0NDc0NCBDMTExLjc5MDQ3MSw0Mi4zNDQ3NDQgMTEyLjUyMTc3Myw0MC44OTY3MjM1IDExNS44MTY2Miw0MC44OTY3MjM1IEwxMTcuOTk3MjMsNDAuODk2NzIzNSBMMTE4LjM2NDIxMSw0MS4yNTkzODU3IEwxMTguMzY0MjExLDQ0Ljg3NTQ5NDkgTDExNy45OTcyMyw0NS4yMzU1MjkgWiIgaWQ9IlBhdGgiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMzEuNTQwOTQyLDU5LjM0MjU1OTcgQzEzMC4wNzU2NzksNjIuOTU4NjY4OSAxMjguNjE1NzM0LDY1LjEyNDEyOTcgMTIzLjQ4ODY0Myw2NS4xMjQxMjk3IEwxMjEuNjU5MDU4LDY1LjEyNDEyOTcgTDEyMS4yOTIwNzgsNjQuNzYxNDY3NiBMMTIxLjI5MjA3OCw2MS4xNTA2MTQzIEwxMjEuNjU5MDU4LDYwLjc4Nzk1MjIgTDEyMy40ODg2NDMsNjAuNzg3OTUyMiBDMTI1LjMxODIyNyw2MC43ODc5NTIyIDEyNS42ODUyMDgsNjAuNDI1MjkwMSAxMjYuMDQ5NTI5LDU5LjMzOTkzMTcgTDEyNi4wNDk1MjksNTguOTc3MjY5NiBMMTIwLjE5OTExNCw0NC44NzAyMzg5IEwxMjAuMTk5MTE0LDQxLjI1OTM4NTcgTDEyMC41NjYwOTQsNDAuODk2NzIzNSBMMTIzLjg0NzY0NSw0MC44OTY3MjM1IEwxMjQuMjE5OTQ1LDQxLjI1OTM4NTcgTDEyOC42MTMwNzUsNTMuNTU4MzYxOCBMMTI4Ljk4MDA1NSw1My41NTgzNjE4IEwxMzMuMzczMTg2LDQxLjI1OTM4NTcgTDEzMy43NDAxNjYsNDAuODk2NzIzNSBMMTM3LjAzNTAxNCw0MC44OTY3MjM1IEwxMzcuNDA5OTcyLDQxLjI1OTM4NTcgTDEzNy40MDk5NzIsNDQuODc1NDk0OSBMMTMxLjU0MDk0Miw1OS4zNDI1NTk3IFoiIGlkPSJQYXRoIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBpZD0iUGF0aCIgcG9pbnRzPSIxNTUuMzMzNTE4IDU4Ljk3OTg5NzYgMTUzLjEzNjk1MyA1OC45Nzk4OTc2IDE1Mi40MDU2NTEgNTguNjE3MjM1NSAxNDcuMjgxMjE5IDUzLjE5MDQ0MzcgMTQ2LjkxNDIzOCA1My4xOTA0NDM3IDE0NC43MTc2NzMgNTUuMzYxMTYwNCAxNDQuMzUwNjkzIDU2LjA4Mzg1NjcgMTQ0LjM1MDY5MyA1OC42MTcyMzU1IDE0My45ODM3MTIgNTguOTc5ODk3NiAxMzkuNTkzMjQxIDU4Ljk3OTg5NzYgMTM5LjIyNjI2IDU4LjYxNzIzNTUgMTM5LjIyNjI2IDM0LjAxOTI4MzMgMTM5LjU5MzI0MSAzMy42NTY2MjEyIDE0My45ODYzNzEgMzMuNjU2NjIxMiAxNDQuMzUzMzUyIDM0LjAxOTI4MzMgMTQ0LjM1MzM1MiA0OC40ODg5NzYxIDE0NC43MjAzMzIgNDguNDg4OTc2MSAxNTIuMDM2MDExIDQxLjI1OTM4NTcgMTUyLjc2NzMxMyA0MC44OTY3MjM1IDE1NC45NjEyMTkgNDAuODk2NzIzNSAxNTUuMzMzNTE4IDQxLjI1OTM4NTcgMTU1LjMzMzUxOCA0NC44NzU0OTQ5IDE1MC45NDAzODggNDkuMjE2OTI4MyAxNTAuOTQwMzg4IDQ5LjU3OTU5MDQgMTU1LjY5NzgzOSA1NS4wMDYzODIzIDE1NS42OTc4MzkgNTguNjIyNDkxNSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE3NC4zNzM5NjEsNTEuMzg1MDE3MSBMMTc0LjAwNjk4MSw1MS43NDc2NzkyIEwxNjIuNjUxODU2LDUxLjc0NzY3OTIgTDE2Mi4yODQ4NzUsNTIuMTEwMzQxMyBDMTYyLjI4NDg3NSw1Mi44MzMwMzc1IDE2My4wMTYxNzcsNTUuMDAxMTI2MyAxNjUuOTQ0MDQ0LDU1LjAwMTEyNjMgQzE2Ny4wNDIzMjcsNTUuMDAxMTI2MyAxNjguMTQwNjA5LDU0LjYzODQ2NDIgMTY4LjUwNDkzMSw1My45MTU3Njc5IEwxNjguODcxOTExLDUzLjU1MzEwNTggTDE3My4yNjUwNDIsNTMuNTUzMTA1OCBMMTczLjYzMjAyMiw1My45MTU3Njc5IEMxNzMuMjY1MDQyLDU2LjA4NjQ4NDYgMTcxLjQzNTQ1Nyw1OS4zNDI1NTk3IDE2NS45NDY3MDQsNTkuMzQyNTU5NyBDMTU5LjcyMzk4OSw1OS4zNDI1NTk3IDE1Ni43OTYxMjIsNTUuMDAxMTI2MyAxNTYuNzk2MTIyLDQ5LjkzNjk5NjYgQzE1Ni43OTYxMjIsNDQuODcyODY2OSAxNTkuNzIxMzMsNDAuNTMxNDMzNCAxNjUuNTcxNzQ1LDQwLjUzMTQzMzQgQzE3MS40MjIxNjEsNDAuNTMxNDMzNCAxNzQuMzQ3MzY4LDQ0Ljg3Mjg2NjkgMTc0LjM0NzM2OCw0OS45MzY5OTY2IEwxNzQuMzczOTYxLDUxLjM4NTAxNzEgWiBNMTY4Ljg4MjU0OCw0Ny43Njg5MDc4IEMxNjguODgyNTQ4LDQ3LjQwNjI0NTcgMTY4LjUxNTU2OCw0NC44NzgxMjI5IDE2NS41ODc3MDEsNDQuODc4MTIyOSBDMTYyLjY1OTgzNCw0NC44NzgxMjI5IDE2Mi4yOTI4NTMsNDcuNDA4ODczNyAxNjIuMjkyODUzLDQ3Ljc2ODkwNzggTDE2Mi42NTk4MzQsNDguMTMxNTcgTDE2OC41MTAyNDksNDguMTMxNTcgTDE2OC44ODI1NDgsNDcuNzY4OTA3OCBaIiBpZD0iU2hhcGUiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODguNjQwOTk3LDQ1LjIzNTUyOSBMMTg2LjA3NDc5Miw0NS4yMzU1MjkgQzE4My4xNDk1ODQsNDUuMjM1NTI5IDE4Mi4wNDg2NDMsNDYuNjgzNTQ5NSAxODIuMDQ4NjQzLDQ5LjkzNjk5NjYgTDE4Mi4wNDg2NDMsNTguNjA5MzUxNSBMMTgxLjY4MTY2Miw1OC45NzIwMTM3IEwxNzcuMjk5MTY5LDU4Ljk3MjAxMzcgTDE3Ni45MzIxODgsNTguNjA5MzUxNSBMMTc2LjkzMjE4OCw0MS4yNTkzODU3IEwxNzcuMjk5MTY5LDQwLjg5NjcyMzUgTDE4MS4zMjUzMTksNDAuODk2NzIzNSBMMTgxLjY5MjI5OSw0MS4yNTkzODU3IEwxODIuMDU5MjgsNDIuMzQ0NzQ0IEwxODIuNDI2MjYsNDIuMzQ0NzQ0IEMxODIuNDI2MjYsNDIuMzQ0NzQ0IDE4My4xNTc1NjIsNDAuODk2NzIzNSAxODYuNDUyNDEsNDAuODk2NzIzNSBMMTg4LjY0ODk3NSw0MC44OTY3MjM1IEwxODksNDEuMjU5Mzg1NyBMMTg5LDQ0Ljg3NTQ5NDkgTDE4OC42NDA5OTcsNDUuMjM1NTI5IFoiIGlkPSJQYXRoIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=='); } .icon-holder { @@ -20,127 +114,229 @@ max-width: 600px; } -label.required { - &::after { - content: ' *'; - } +.page-heading { + padding-bottom: 0; } -/* Login .. */ -body.login { - .login-spryker-logo { - margin: 0 auto; - width: 165px; - padding-top: 100px; +.page-breadcrumbs { + margin: 0 -25px; + padding: 0 25px; + overflow: hidden; +} + +.breadcrumb { + position: relative; + padding: 11px 0px 8px; + margin-top: 7px; + + &::before { + content: ''; + position: absolute; + top: 0; + left: 50%; + transform: translateX(-50%); + width: 9999px; + height: 3px; + background-color: $grey-light; + vertical-align: middle; } - .loginColumns { - padding-top: 30px; + > li { + vertical-align: middle; + + a { + transition: border-color 0.25s ease-in-out 0s, color 0.25s ease-in-out 0s; + border-bottom: 1px solid $white; + color: $grey-dark; + line-height: 1; + text-decoration: none; + font-size: 12px; + font-weight: 400; + + &:hover { + border-color: $green-base; + color: $green-base; + } + + &.disabled { + pointer-events: none; + color: $grey; + } + } } +} +/* Login page */ +body.login { .spryker-login { width: 380px; margin: 0 auto; } - input, - .input-group-addon { - background: #2f4050; - border: 0; - border-bottom: 1px solid #888888; - color: #fff; + .forgot { + text-align: center; + font-size: 80%; - &:focus { - border-color: #888888 !important; + a:hover { + color: $grey3; } } +} + +.login { + &__wrapper { + padding: 100px 0 20px; + } + + &__container { + max-width: 450px; + margin: 0 auto; + padding: 0 15px; + } + + &__logo { + width: 190px; + height: 80px; + margin: 0 auto 50px; + } + + &-box { + max-width: 420px; + margin: 0 auto 30px; + background: $white; + border-radius: 8px; + + &__heading { + border-bottom: 1px solid $grey-light; + padding: 35px 15px 10px; + } + + &__title { + color: $ink-base; + text-align: center; + font-weight: bold; + margin: 0; + font-size: 20px; + } - .forgot { - text-align: center; - font-size: 80%; + &__content { + padding: 20px 30px 15px; + } + + label { + text-transform: uppercase; + color: $grey-dark; + font-weight: 500; + + &:after { + content: none; + } + } + + .form-control { + height: 42px; + padding: 11px 12px; + font-weight: 600; + margin: 0 0 20px; + } + + .btn { + height: 48px; + margin: 0 0 20px; + } - a:hover { - color: #eee; - } - } + &__link { + color: $green-default; + font-size: 14px; + font-weight: 600; + display: inline-block; + vertical-align: top; + margin: 0 0 5px; + } + } } .svg-commerce { - background-image: $zed-logo; - background-position: 100% 0; + background-image: $zed-logo; + background-position: 100% 0; } .svg-commerce-size { - width: 142px; - height: 11px; + width: 142px; + height: 11px; } .svg-mail { - background-image: $zed-logo; - background-position: 56.74740484429066% 7.746478873239437%; + background-image: $zed-logo; + background-position: 56.74740484429066% 7.746478873239437%; } .svg-mail-size { - width: 17px; - height: 14px; + width: 17px; + height: 14px; } .svg-padlock { - background-image: $zed-logo; - background-position: 56.3573883161512% 17.985611510791365%; + background-image: $zed-logo; + background-position: 56.3573883161512% 17.985611510791365%; } .svg-padlock-size { - width: 15px; - height: 17px; + width: 15px; + height: 17px; } .svg-spryker { - background-image: $zed-logo; - background-position: 0 0; + background-image: $zed-logo; + background-position: 0 0; } .svg-spryker-size { - width: 164px; - height: 156px; + width: 164px; + height: 156px; } .product-title { - position: relative; - padding: 10px 20px 0; + position: relative; + padding: 10px 20px 0; } .product-view { - .product-desc { - padding-top: 0; - .product-image { - width: 150px; - height: 150px; - background: #ccc; - text-align: center; - vertical-align: middle; - line-height: 145px; /* @todo remove when real image is added */ - } - } + .product-desc { + padding-top: 0; + .product-image { + width: 150px; + height: 150px; + background: $grey; + text-align: center; + vertical-align: middle; + line-height: 145px; /* @todo remove when real image is added */ + } + } } + .element-inline { - display: inline; + display: inline; } .show-scroll { - overflow: scroll !important; + overflow: scroll !important; } -.table.nowrap, .nowrap { - white-space: nowrap; +.table.nowrap, +.nowrap { + white-space: nowrap; } -.note-editor *, -.note-editor *:before { - color: #444 !important; +.note-editor { + .note-editable { + p + div { + margin-bottom: 10px; + } + } } -/* Zed Navigation .. */ +/* Zed Navigation */ body.mini-navbar .navbar-default .nav > li > .nav-second-level li a { span { display: block; @@ -149,71 +345,1634 @@ body.mini-navbar .navbar-default .nav > li > .nav-second-level li a { display: none; } } -/* .. Zed Navigation */ .form-inline { - display: inline; + display: inline; } -/* Nested panels... */ -.ibox.nested { - margin-bottom: 5px; +/* Nested panels */ +.ibox { + .label { + display: inline-block; + vertical-align: top; + } + + .ibox-title { + background-color: $white; + border: 1px solid $grey-lighter; + border-bottom-color: $grey-light; + border-radius: 10px 10px 0 0; + transition: border-radius 0.3s linear, background-color 0.3s linear, border-color 0.3s linear; + + .collapse-link { + color: inherit; + display: flex; + align-items: center; + width: 100%; + } - .ibox-title { - background-color: #f5f5f5; - border: 1px solid #ddd; + h5 { + color: $ink-base; + font-size: 12px; + font-weight: 600; + letter-spacing: 0.08px; + text-transform: uppercase; + margin: 0; + flex: 1 1 auto; + } - .collapse-link { - color: inherit; + .ibox-tools { + flex: 0 0 auto; + margin: 0 0 0 10px; + } } - } - .ibox-content { - border: 1px solid #ddd; - } -} + &.nested { + margin-bottom: 5px; + margin-top: 5px; + + .ibox-title { + background-color: $grey-lighter; + + &:hover { + background-color: $grey-light; + border-color: $grey-light; + } + } + + .ibox-content { + border: 1px solid $grey-lighter; + border-top: none; + background-color: $grey-lighter; + border-radius: 0 0 10px 10px; + } + + &.border-bottom, + &.collapsed { + border-bottom: none !important; + .ibox-title { + border-radius: 10px; + border-color: $grey-lighter; + } + } + + &.border-bottom.collapsed .ibox-title { + border-color: $grey-lighter; + border-bottom: 1px solid $grey-light; + border-radius: 10px 10px 0 0; + } + } + + .ibox-content { + .ibox-title { + background-color: $grey-light; + border-color: $grey-light; + + &:hover { + background-color: darken($grey-light, 5%); + border-color: darken($grey-light, 5%); + } + } + + .ibox-content { + background-color: $grey-lighter; + border: 1px solid $grey-lighter; + border-top: 0; + } + } + + &.error { + .ibox-title { + color: $brown; + background-color: $white-red; + border-color: $red-lightest; + } -.ibox.error { - .ibox-title { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; - } - .ibox-content { - border-color: #ebccd1; - } - /* Expand panels that contain errors in case they are collapsed */ - &.collapsed { - > .ibox-content { - display: block; + .ibox-content { + border-color: $red-lightest; + } + + &.collapsed { + > .ibox-content { + display: block; + } + } } - } } -/* .. Nested panels */ -/* Tabs .. */ +/* Tabs */ .tabs-container { - margin-bottom: 20px; - .nav-tabs { - li.error { - a { - color: #a94442 !important; - } + margin-bottom: 20px; + background: $white; + + .nav-tabs { + border-bottom: 2px solid $grey-light; + font-size: 14px; + + li { + border: 0 !important; + margin-bottom: -2px; + + &.error { + a { + color: $brown !important; + } + } + + &.error:not(.active) { + a { + border-color: $red-lightest; + background-color: $white-red; + } + } + + a { + color: $grey-base; + border-width: 0 0 2px !important; + border-bottom: 2px solid transparent; + margin: 0; + transition: border-color 0.2s linear, color 0.2s linear, background 0.2s linear; + font-weight: 500; + padding: 12px 20px 10px 25px; + + &:hover { + color: $grey2; + border-color: $grey-dark; + } + + &:focus { + background-color: transparent; + } + } + + &.active { + pointer-events: none; + & > a { + color: $green-default; + border-color: $green-default; + + &:hover { + pointer-events: none; + } + + &:focus { + border-color: $green-default; + } + } + } + } } - li.error:not(.active) { - a { - border-color: #ebccd1; - background-color: #f2dede; - } + + .panel-body { + border: 0; + border-radius: 10px; } - } } + .tabs-footer { - color: inherit; - border: 1px solid #e7eaec; - border-top: none; - background: #ffffff; - padding: 10px 15px; + color: inherit; + border: 0; + background: $white; + padding: 10px 15px; +} + +.table-hover { + tbody tr:hover { + cursor: pointer; + } } -/* .. Tabs */ +.spacing { + margin: 1em; + + &-top { + margin-top: 1em; + } + + &-bottom { + margin-bottom: 1em; + + &-big { + margin-bottom: 20px; + } + } + + &-left { + margin-left: 1em; + } + + &-right { + margin-right: 1em; + } +} + +.navbar-default { + box-shadow: 0 2px 16px $grey-light2; + + .nav { + background: $white; + + &-header { + padding: 14px 20px; + background-color: white; + background-image: none; + } + + &-label { + flex: 1 1 auto; + } + + & > li { + position: relative; + border: 0 !important; + + &:last-child { + margin: 0; + } + + &:before { + position: absolute; + top: 0; + left: 0; + width: 4px; + bottom: 0; + content: ''; + transition: 0.2s linear background; + z-index: 2; + pointer-events: none; + } + + & > a { + color: $grey-dark; + font-weight: 500; + padding: 14px 16px; + font-size: 14px; + transition: color 0.2s linear, background-color 0.2s linear; + display: flex; + align-items: center; + + i.icon-fast-forward { + font-size: 8px; + margin-right: 4px; + margin-left: 2px; + font-family: 'fontello'; + font-style: normal; + vertical-align: 20%; + } + + &:focus { + color: $ink-base; + background-color: $grey-lighter; + i { + color: $green-default; + } + } + + &:hover { + color: $ink-base; + + .fa { + color: $grey-base; + + .mini-navbar & { + color: $ink-base; + } + } + } + } + + &.active { + &:before { + background: $green-default; + } + + & > a { + color: $green-dark; + background-color: $grey-lighter; + .fa { + color: $green-default !important; + } + + .arrow { + color: $grey-base !important; + } + } + + .fa { + color: $grey-base; + } + } + } + + .nav.nav-second-level { + background: $grey-light; + + a { + font-size: 13px; + padding: 12px 16px; + } + + .fa { + font-size: 11px; + text-align: center; + } + } + + .fa { + color: $grey-base; + transition: color 0.2s linear; + min-width: 24px; + margin-right: 2px; + font-size: 13px; + flex: 0 0 auto; + + &.arrow { + min-width: 0; + float: none; + margin: 0 0 0 3px; + } + } + } +} + +.navbar { + &-top-links { + background: $grey-lighter; + } + + &-static-side { + min-height: 100%; + } + + &-default { + background: $white; + } +} + +/* Navigation menu arrow */ +.metismenu { + .icon-arrow-left { + float: right; + line-height: 2; + font-size: 10px; + } + + .active > a { + & > .icon-arrow-left:before { + content: '\e800'; + } + + .fa.arrow { + &:before { + content: '\f106'; + } + } + } + + .fa.arrow { + &:before { + content: '\f107'; + } + } +} + +/* Inputs */ +%input, +.form-control, +.single-line, +.ibox-content select, +#builder.query-builder input[type='text'] { + background-image: none; + border: 2px solid $grey-light; + border-radius: 10px; + padding: 7px 12px 9px; + line-height: 18px; + height: 38px; + color: $ink-base; + font-weight: 500; + caret-color: $green-base; + &:hover { + border-color: $grey-base; + } + &:focus, + &:active { + border-color: $green-base; + } + + &[disabled], + &[readonly] { + background: $grey-lighter; + pointer-events: none; + } + + &[disabled] { + color: $grey-base; + } +} + +.ibox-content select, +select.form-control { + padding: 8px 30px 8px 12px; +} + +/* Input connected button (copy) */ +.input-group-btn:last-child > .btn { + border: 2px solid $green-base; + border-radius: 0 20px 20px 0; + background-color: $green-base; + padding: 6px 10px 6px 8px; + height: 38px; + font-family: 'fontello'; + font-style: normal; + font-size: 16px; + line-height: 1; + display: flex; + align-items: center; + + &:hover { + box-shadow: $box-shadow-green-hover; + } + &:active { + border-color: $green-dark; + background: $green-dark; + } + &:focus { + box-shadow: $box-shadow-green-focused; + } +} + +.input-group-addon { + border: 2px solid $grey-light; + border-radius: 10px 0 0 10px; +} + +#select-all-btn { + .btn { + margin: 0 0 7px 5px; + } +} + +/* Search label */ +.ibox-content { + select { + margin: 0 3px; + width: auto; + display: inline-block; + vertical-align: middle; + } + + label { + white-space: nowrap; + text-align: left; + display: inline-block; + vertical-align: middle; + } + + .form-filter { + padding-bottom: 10px; + + label { + display: block; + } + + select { + width: 100%; + margin: 0; + } + } + + &--alt { + margin: 0 0 20px; + border: 0; + padding: 10px 0; + background: none; + + label { + margin: 0 2px 2px 0; + } + } +} + +input[type='checkbox'] { + width: 14px; + height: 14px; + margin: 0; +} + +/* Chips */ +a.label { + &:hover, + &:focus { + color: $label-link-hover-color; + text-decoration: none; + cursor: pointer; + } +} + +.ibox .label, +.label { + font-size: 14px; + font-weight: 500; + letter-spacing: 0.07px; + line-height: 16px; + text-align: center; + padding: 3px 10px; + border-radius: 12px; + font-family: $main-font; + max-width: 150px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.label { + @include label-variant($grey-lighter, $grey-dark); +} + +.label-primary { + @include label-variant($blue-light, $blue-dark); +} + +.label-success { + @include label-variant($green-lighter, $green-dark); +} + +.label-info { + @include label-variant($grey-lighter, $grey-dark); +} + +.label-warning { + @include label-variant($orange-light, $orange-dark); +} + +.label-danger { + @include label-variant($red-light, $red-dark); +} + +/* Data Table Pagination */ +.dataTables_wrapper { + .dataTables_paginate { + text-align: center; + + .pagination { + margin: 0 !important; + } + } + + .alt-row__center .dataTables_paginate { + text-align: center; + } + + .dataTables_info { + padding: 6px 0; + font-weight: 500; + } + + .dataTables_filter { + input { + min-width: 174px; + padding-left: 28px; + margin: 0 !important; + } + + label { + white-space: nowrap; + text-align: left; + font-size: 0; + position: relative; + margin: 0 0 0 5px; + + &:before { + position: absolute; + z-index: 3; + top: 50%; + left: 8px; + font-size: 14px; + line-height: 1; + margin: -7px 0 0; + font-family: 'Font Awesome 5 Free'; + font-weight: 900; + content: '\f002'; + pointer-events: none; + color: $grey-base; + } + } + } + + .dataTables_length { + select { + margin: 0 3px; + width: auto; + display: inline-block; + vertical-align: middle; + } + + label { + font-weight: 500 !important; + margin: 0; + } + } + + .dataTables_scrollFoot { + margin-bottom: 24px; + } +} + +.navbar-top-links li a:focus { + color: $green-dark; + outline: 1px solid $green-base; + outline-offset: 3px; +} + +.pagination { + display: inline-flex; + vertical-align: top; + + & > li { + margin: 0 3px; + display: block; + + & > a { + float: none; + display: block; + font-weight: 500; + border-color: $grey-light; + color: $grey-dark; + min-width: 38px; + text-align: center; + font-size: 14px; + line-height: 24px; + padding: 6px 4px; + border-radius: 4px; + overflow: hidden; + transition: color 0.2s linear, background-color 0.2s linear, border-color 0.2s linear; + + &:hover { + border-color: $grey; + background: $white; + color: $grey-dark; + } + + &:focus { + outline-width: 0; + border-color: $green-default; + background: $white; + } + } + + &.active { + a { + background: $green-default; + border-color: $green-default; + color: $white; + pointer-events: none; + + &:focus { + background: $green-default; + border-color: $green-default; + color: $white; + } + } + } + + &.disabled { + a, + a:hover, + a:focus { + background: $grey-lighter; + border-color: $grey-light; + color: $grey-base; + } + } + + &.previous, + &.next { + a { + text-align: left; + text-indent: -9999px; + + &:after { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + font-family: 'Font Awesome 5 Free'; + content: '\f104'; + font-weight: 900; + text-indent: 0; + font-size: 18px; + } + } + } + + &.next a:after { + content: '\f105'; + } + } +} + +.alt-row { + margin: 5px 0 20px; + + &:after { + clear: both; + content: ''; + display: table; + width: 100%; + } + + .dataTables_length { + float: none; + } + + &__center { + margin: 0 30%; + @media only screen and (max-width: $desktop) { + margin: 0; + float: right; + } + @media only screen and (max-width: $tablet) { + float: none; + } + } + + &__left { + float: left; + width: 30%; + @media only screen and (max-width: $tablet) { + float: none; + width: auto; + text-align: center; + margin: 0 0 10px; + } + } +} + +/* Data Table */ +.dataTable { + td { + color: $grey-dark; + font-size: 14px; + font-weight: 500; + letter-spacing: 0.07px; + line-height: 22px; + background-color: $white; + vertical-align: middle !important; + padding: 8px 0 8px 20px; + min-height: 70px; + } + + th { + border-bottom: 0 !important; + border-top: solid $grey-lighter 2px; + vertical-align: middle !important; + color: $ink-base; + background-color: $grey-lighter; + font-size: 12px; + line-height: 15px; + text-transform: uppercase; + padding: 8px 0 12px 20px; + letter-spacing: 0.08px; + min-height: 70px; + font-weight: 500; + + &[class*='sorting'] { + background-color: $grey-lighter !important; + } + + .btn { + margin: 3px 0; + } + } + + .label { + margin: 2px; + } + + .sorting:after, + .sorting_asc:after, + .sorting_desc:after, + .sorting_asc_disabled:after, + .sorting_desc_disabled:after { + position: static !important; + width: 16px; + height: 16px; + display: inline-block !important; + vertical-align: middle; + font-family: inherit; + opacity: 1 !important; + content: '' !important; + margin: -2px -20px 0 0; + + .dataTables_scrollBody & { + content: none !important; + } + } + + .sorting:after { + background: url('../img/sort@2x.png') 3px 0px/10px 15px no-repeat !important; + } + + .sorting_asc:after { + background: url('../img/sort-arrow-up@2x.png') 3px 0px/10px 15px no-repeat !important; + } + + .sorting_desc:after { + background: url('../img/sort-arrow-down@2x.png') 3px 0px/10px 15px no-repeat !important; + } + + .sorting_asc_disabled:after, + .sorting_desc_disabled:after { + color: $grey3; + } + + tr.selected { + background-color: rgba($blue2, 0.1) !important; + & > td { + background-color: transparent; + border-top: solid $grey-lighter 2px !important; + + &:first-child { + border-left: solid $grey-lighter 2px !important; + } + &:last-child { + border-right: solid $grey-lighter 2px !important; + } + } + &:first-child { + & > td { + border-top-width: 0 !important; + } + } + } + + .btn { + margin: 3px 2px; + + .fa-caret-right, + .fa-edit, + .fa-eye, + .fa-trash, + .fa-plus, + .fa-upload { + display: none; + } + } + + .details { + td, + th { + border-radius: 0 !important; + } + } + + a:not([class]) { + display: inline-block; + vertical-align: middle; + padding: 3px 8px; + line-height: 16px; + border-radius: 12px; + border: 1px solid transparent; + + &:focus, + &:active { + background: $grey-lighter; + } + + &:focus { + border-color: $green-base; + outline-width: 0; + } + } +} + +.table-bordered { + background-color: $grey-lighter; + border: none; + border-radius: 10px; + + td, + th { + border: 0; + vertical-align: middle; + } + + &.dataTable { + tbody { + td, + th { + border-bottom: solid $grey-lighter 3px !important; + border-top: solid $grey-lighter 2px; + } + } + + & > tr:first-child { + & > td { + border-top-width: 0; + } + } + + &.dataTable { + th, + td { + border-right: none; + &:first-child { + border-radius: 13px 0 0 13px; + border-left: solid $grey-lighter 3px; + } + &:last-child { + border-radius: 0 13px 13px 0; + border-right: solid $grey-lighter 3px; + } + } + + th { + &:first-child { + border-radius: 13px 0 0 0; + } + &:last-child { + border-radius: 0 13px 0 0; + } + } + + tr:first-child { + td:first-child { + border-radius: 0 0 0 13px; + } + td:last-child { + border-radius: 0 0 13px 0; + } + } + } + } +} + +.table-striped { + tr:nth-of-type(odd), + tr:nth-of-type(even) { + background-color: $white; + } +} + +#product-review-table { + i.fa-chevron-down, + i.fa-chevron-up { + padding: 7px; + } +} + +/* Buttons */ +.btn { + font-size: 14px; + line-height: 24px; + font-weight: 500; + padding: 6px 15px; + background: $green-default; + border-color: $green-default; + color: $white; + transition: background 0.2s linear, border-color 0.2s linear, color 0.2s linear, box-shadow 0.2s linear; + + .fa, + .fas, + .far, + .fal, + .fad, + .fab { + vertical-align: middle; + } + + .fa-angle-down { + margin: 0 0 0 0.6em; + font-size: 1.5em; + line-height: 1; + } + + .fa-angle-left, + .fa-angle-right { + font-size: 1.4em; + margin: 0 2px 2px 0; + } + + .fa-angle-right { + margin: 0 0 2px 2px; + } + + &, + &.btn-primary, + &.btn-success { + &:hover { + background: $green-default; + color: $white; + box-shadow: $box-shadow-green-hover; + } + + &:focus { + color: $white; + box-shadow: $box-shadow-green-focused; + } + + &:active { + background: $green-dark; + border-color: $green-dark; + box-shadow: none; + } + } + + &.btn-outline { + background: $white; + color: $green-default !important; + border-color: $green-default; + + &:hover { + background: $white; + border-color: $green-default; + } + + &:active { + background: $grey-lighter; + border-color: $green-default; + box-shadow: none; + } + } + + &-sm { + padding: 6px 15px; + + .fa-angle-left, + .fa-angle-right { + font-size: 1.3em; + margin: 0 2px 2px 0; + } + + .fa-angle-right { + margin: 0 0 2px 2px; + } + } + + &-xs { + font-size: 12px; + line-height: 16px; + padding: 2px 8px; + + .fa-angle-down { + margin: 0 0 0 2px; + font-size: 1em; + } + + .fa-angle-left, + .fa-chevron-right { + font-size: 1em; + margin: 0; + } + } + + &.btn-remove, + &.btn-danger { + background: $red-default; + border-color: $red-default; + color: $white !important; + + &:hover { + background: $red-lighter; + box-shadow: $box-shadow-red-hover; + } + + &:focus { + box-shadow: $box-shadow-red-focused; + } + + &:active { + background: $red-dark; + box-shadow: none; + border-color: $red-dark; + } + + &.btn-outline { + background: $white; + color: $red-default !important; + border-color: $red-default; + + &:hover { + background: $white; + } + &:focus { + color: $red-default; + } + &:active { + background: $grey-lighter; + box-shadow: none; + border-color: $red-default; + } + } + } + + &.btn-view { + &.btn-outline { + background: $white; + border-color: $grey; + color: $grey-dark !important; + + &:hover { + background: $white; + border-color: $grey; + box-shadow: $box-shadow-green-hover; + } + + &:focus { + box-shadow: $box-shadow-green-focused; + } + + &:active { + background: $grey-lighter; + border-color: $grey; + box-shadow: none; + } + } + } + + &.btn-link { + border-radius: 0; + background: transparent; + padding: 0; + color: $grey-dark; + border: none; + box-shadow: none; + line-height: 1; + text-transform: none; + + &:hover { + background: transparent; + box-shadow: none; + color: #121212; + } + } + + &.navbar-minimalize { + border-radius: 4px; + padding: 2px 12px; + margin-top: 10px; + + .fa-bars { + font-size: 12px; + } + } + + &.note-btn { + @include button-variant($btn-default-color, $btn-default-bg, $btn-default-border); + font-size: 12px; + line-height: 1.5; + padding: 5px 10px; + min-height: 31px; + + &:hover { + box-shadow: none; + } + + &.active { + box-shadow: 0 2px 5px rgba($black, 0.15) inset; + } + } + + &--label-margin-top { + margin-top: 29px; + } +} + +.title-action { + padding-top: 20px; + + .btn { + margin: 0 0 7px 5px; + } +} + +/* Info box */ +.well { + background-color: $grey-lighter; + border: 0; + border-radius: 10px; + box-shadow: none; + padding: 14px 20px; + color: $grey-dark; + font-size: 13px; + font-weight: 500; + line-height: 24px; + + h3 { + color: $ink-base; + font-size: 12px; + font-weight: 600; + line-height: 15px; + text-transform: uppercase; + } + + p { + &:last-child { + margin: 0 0 5px; + } + } + + i { + font-style: normal; + } + + .btn { + margin-right: 5px; + } +} + +/* Alert */ +.alert { + box-shadow: 0 1px 3px rgba($ink-base, 0.15); + border-radius: 4px; + background: $white; + color: $ink-base; + display: flex; + align-items: flex-start; + font-size: 14px; + line-height: 24px; + font-weight: 500; + border: 0; + border-left: 6px solid transparent; + position: relative; + + &__icon { + flex: 0 0 auto; + margin: 0 18px 0 0; + font-size: 24px; + } + + &__text { + flex: 1 1 auto; + } + + .close { + flex: none; + position: absolute; + top: 5px; + right: 5px; + padding: 5px; + transition: opacity 0.2s linear; + } + + &.alert-success { + border-left-color: $green-base; + + .alert__icon { + color: $green-base; + } + } + + &.alert-info { + border-left-color: $blue; + + .alert__icon { + color: $blue; + } + } + + &.alert-danger { + border-left-color: $red-default; + + .alert__icon { + color: $red-default; + } + } + + &.alert-warning { + border-left-color: $orange; + + .alert__icon { + color: $orange; + } + } + + .fa { + margin: 4px 7px 0 0; + } +} + +/* Select2 */ +.select2-container { + .select2-selection--single { + height: 38px !important; + border: 2px solid $grey-light; + border-radius: 10px !important; + position: relative; + transition: background 0.2s linear, border-color 0.2s linear, color 0.2s linear; + + .select2-selection__rendered { + color: $ink-base; + font-size: 14px; + line-height: 34px !important; + height: 34px; + padding-right: 30px; + } + + .select2-selection__arrow { + height: auto !important; + top: 0; + right: 0; + bottom: 0; + display: flex; + align-items: center; + justify-content: center; + width: 30px; + + b { + border: 0; + margin: 0; + height: auto; + width: auto; + top: 0; + position: static; + display: block; + color: $grey-base; + font-size: 17px; + + &:before { + font-family: 'Font Awesome 5 Free'; + content: '\f107'; + } + } + } + } + + &--default { + .select2-selection--multiple { + min-height: 38px; + border: 2px solid $grey-light; + border-radius: 10px !important; + + .select2-selection__choice { + background: $grey-light2; + color: $ink-base; + border: 0; + position: relative; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + border-radius: 12px; + max-width: 100%; + padding: 0 30px 2px 8px; + line-height: 22px; + + &__remove { + position: absolute; + top: 0; + right: 0; + bottom: 0; + margin: 0; + width: 24px; + background: $grey; + color: $white; + display: flex; + align-items: center; + justify-content: center; + border-radius: 0 10px 10px 0; + transition: color 0.2s linear; + font-size: 18px; + line-height: 1; + } + } + } + + .select2-search--dropdown { + .select2-search__field { + @extend %input; + } + } + + .select2-results__option { + &--highlighted[aria-selected] { + background: $grey-lighter; + color: $ink-base; + } + &[aria-selected='true'] { + background: $green-lighter; + color: $green-default; + } + } + + &.select2-container--focus { + .select2-selection--multiple { + border-width: 2px; + } + } + + .select2-search--inline { + .select2-search__field { + height: 24px; + } + } + } + + &:hover { + .select2-selection--single { + border-color: $grey-lighter; + } + } + + &.select2-container--focus, + &.select2-container--open { + .select2-selection--single { + border-color: $green-base; + } + } +} + +.select2 { + &-results__options { + font-size: 14px; + line-height: 24px; + font-weight: 500; + } + + &-results__option { + padding: 8px 15px; + color: $ink-base; + } + + &-dropdown { + background: $white; + border: 0; + border-radius: 10px !important; + box-shadow: 0 0 16px rgba($ink-base, 0.15); + margin: 4px 0 0; + + &--above { + margin: -4px 0 0; + } + } + + &-results__message { + text-align: center; + padding-top: 40px; + padding-bottom: 40px; + } +} + +.panel { + &, + &-default { + border: none; + border-radius: 10px; + box-shadow: 0 0 3px 1px rgba($ink-base, 0.15); + + & > .panel-heading { + color: $ink-base; + font-size: 16px; + font-weight: 600; + line-height: 22px; + background-color: $grey-lighter; + padding: 12px 15px; + border-bottom: 1px solid $grey-light; + border-top-left-radius: 10px; + border-top-right-radius: 10px; + } + } + + &-footer { + background-color: $grey-lighter; + border-top: 1px solid $grey-light; + border-bottom-right-radius: 10px; + border-bottom-left-radius: 10px; + + .btn { + margin: 5px 5px 5px 0; + } + } +} + +.table-vat { + th, + td { + vertical-align: top; + } +} + +.form-container { + max-width: 1000px; +} + +.form-date-container { + max-width: 800px; +} + +.form-note { + margin-top: 5px; +} + +.col-auto { + width: auto; +} + +.comment { + &__message { + display: block; + background: #f8f8f8; + border: 2px solid #f1f1f1; + border-radius: 10px; + padding: 7px 12px 9px; + line-height: 18px; + min-height: 65px; + white-space: pre; + color: #121212; + font-weight: 400; + } + + &__area-message { + position: relative; + } + + &__textarea { + position: absolute; + top: 0; + left: 0; + width: 100%; + resize: none; + } + + &__actions { + display: flex; + justify-content: flex-end; + gap: 15px; + } + + textarea.comment__textarea { + height: 100%; + min-height: 0; + } + + &__edit-mode-picker, + &__textarea, + &__update-btn { + display: none; + } + + &:has(&__edit-mode-picker:checked) { + .comment__textarea, + .comment__update-btn { + display: block; + } + + .comment__edit-btn { + display: none; + } + + .comment__message { + visibility: hidden; + opacity: 0; + } + } +} + +.form-wrapper-clickable-affix:has(.select2), +.form-wrapper-clickable-affix:has(.form-control) { + position: relative; + + .form-control, + .select2-selection { + padding-right: 43px; + } + + .form-wrapper-clickable-affix__trigger { + position: absolute; + right: 10px; + bottom: 6px; + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + } +} + +.analytics { + background: $white; + border-radius: 10px; + border: 1px solid rgba(18, 18, 18, 0.15); + box-shadow: 0 1px 3px rgba(18, 18, 18, 0.15); + padding: 20px 25px; + display: flex; + gap: 40px; + align-items: center; + + &__icon { + color: $green-default; + font-size: 40px; + } + + &__content { + flex-grow: 1; + } + + &__heading { + font-style: 16px; + } +} diff --git a/assets/Zed/sass/_data-tables.scss b/assets/Zed/sass/_data-tables.scss index c331863d..0cdaeac4 100644 --- a/assets/Zed/sass/_data-tables.scss +++ b/assets/Zed/sass/_data-tables.scss @@ -1,37 +1,53 @@ -$data-table-selected-row-bg-color: rgba(#0088cc, .15); +$data-table-selected-row-bg-color: rgba(#0088cc, 0.15); $data-table-selected-row-border-size: 1px; $data-table-selected-row-border-color: rgba(#0088cc, 1); -.dataTables_scrollHeadInner { - width: 100% !important; - - & > .table { - width: 100% !important; - } +.dataTables_scrollHeadInner, +.dataTables_scrollBody { + & > .table { + width: 100% !important; + } } table.dataTable tbody > tr { - &, - &:first-child { - &.selected, - & > .selected { - background-color: $data-table-selected-row-bg-color; - color: inherit; - - & > td { - border-right-color: $data-table-selected-row-bg-color; - border-top: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; - border-bottom: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; - - &:first-child { - border-left: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; - } + &, + &:first-child { + &.selected, + & > .selected { + background-color: $data-table-selected-row-bg-color; + color: inherit; + + & > td { + border-right-color: $data-table-selected-row-bg-color; + border-top: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; + border-bottom: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; + + &:first-child { + border-left: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; + } - &:last-child { - border-right: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; + &:last-child { + border-right: $data-table-selected-row-border-size solid $data-table-selected-row-border-color; + } + } + + .btn-outline { + &.btn-danger { + color: $btn-danger-bg; + } + + &.btn-create { + color: #108548; + } + + &.btn-view { + color: #1c84c6; + } + + &:hover { + color: #fff; + } + } } - } } - } } - diff --git a/assets/Zed/sass/_flags.scss b/assets/Zed/sass/_flags.scss index 94399a53..f1fed481 100644 --- a/assets/Zed/sass/_flags.scss +++ b/assets/Zed/sass/_flags.scss @@ -1,894 +1,894 @@ .flag { - display: inline-block; - width: 16px; - height: 16px; - background: url('../img/flags-16x16.png') no-repeat; + display: inline-block; + width: 16px; + height: 16px; + background: url('../img/flags-16x16.png') no-repeat; } -span.flag, i.flag { - vertical-align: text-bottom; +span.flag, +i.flag { + vertical-align: text-bottom; } - .flag.flag-gw { - background-position: -96px -80px; + background-position: -96px -80px; } .flag.flag-gu { - background-position: -80px -80px; + background-position: -80px -80px; } .flag.flag-gt { - background-position: -64px -80px; + background-position: -64px -80px; } .flag.flag-gr { - background-position: -48px -80px; + background-position: -48px -80px; } .flag.flag-gq { - background-position: -32px -80px; + background-position: -32px -80px; } .flag.flag-gp { - background-position: -16px -80px; + background-position: -16px -80px; } .flag.flag-gy { - background-position: -112px -80px; + background-position: -112px -80px; } .flag.flag-gg { - background-position: -160px -64px; + background-position: -160px -64px; } .flag.flag-ge { - background-position: -144px -64px; + background-position: -144px -64px; } .flag.flag-gd { - background-position: -128px -64px; + background-position: -128px -64px; } .flag.flag-gb { - background-position: -112px -64px; + background-position: -112px -64px; } .flag.flag-ga { - background-position: -96px -64px; + background-position: -96px -64px; } .flag.flag-gn { - background-position: 0 -80px; + background-position: 0 -80px; } .flag.flag-gm { - background-position: -224px -64px; + background-position: -224px -64px; } .flag.flag-gl { - background-position: -208px -64px; + background-position: -208px -64px; } .flag.flag-gi { - background-position: -192px -64px; + background-position: -192px -64px; } .flag.flag-gh { - background-position: -176px -64px; + background-position: -176px -64px; } .flag.flag-lb { - background-position: -128px -112px; + background-position: -128px -112px; } .flag.flag-lc { - background-position: -144px -112px; + background-position: -144px -112px; } .flag.flag-la { - background-position: -112px -112px; + background-position: -112px -112px; } .flag.flag-tv { - background-position: -96px -208px; + background-position: -96px -208px; } .flag.flag-tw { - background-position: -112px -208px; + background-position: -112px -208px; } .flag.flag-tt { - background-position: -80px -208px; + background-position: -80px -208px; } .flag.flag-tr { - background-position: -64px -208px; + background-position: -64px -208px; } .flag.flag-lk { - background-position: -176px -112px; + background-position: -176px -112px; } .flag.flag-li { - background-position: -160px -112px; + background-position: -160px -112px; } .flag.flag-lv { - background-position: -16px -128px; + background-position: -16px -128px; } .flag.flag-to { - background-position: -48px -208px; + background-position: -48px -208px; } .flag.flag-lt { - background-position: -224px -112px; + background-position: -224px -112px; } .flag.flag-lu { - background-position: 0 -128px; + background-position: 0 -128px; } .flag.flag-lr { - background-position: -192px -112px; + background-position: -192px -112px; } .flag.flag-ls { - background-position: -208px -112px; + background-position: -208px -112px; } .flag.flag-th { - background-position: -208px -192px; + background-position: -208px -192px; } .flag.flag-tg { - background-position: -192px -192px; + background-position: -192px -192px; } .flag.flag-td { - background-position: -176px -192px; + background-position: -176px -192px; } .flag.flag-tc { - background-position: -160px -192px; + background-position: -160px -192px; } .flag.flag-ly { - background-position: -32px -128px; + background-position: -32px -128px; } .flag.flag-do { - background-position: -112px -48px; + background-position: -112px -48px; } .flag.flag-dm { - background-position: -96px -48px; + background-position: -96px -48px; } .flag.flag-dj { - background-position: -64px -48px; + background-position: -64px -48px; } .flag.flag-dk { - background-position: -80px -48px; + background-position: -80px -48px; } .flag.flag-de { - background-position: -48px -48px; + background-position: -48px -48px; } .flag.flag-ye { - background-position: -112px -224px; + background-position: -112px -224px; } .flag.flag-dz { - background-position: -128px -48px; + background-position: -128px -48px; } .flag.flag-uy { - background-position: -192px -208px; + background-position: -192px -208px; } .flag.flag-vu { - background-position: -80px -224px; + background-position: -80px -224px; } .flag.flag-qa { - background-position: -32px -176px; + background-position: -32px -176px; } .flag.flag-tm { - background-position: -16px -208px; + background-position: -16px -208px; } .flag.flag-eh { - background-position: -192px -48px; + background-position: -192px -48px; } .flag.flag-ee { - background-position: -160px -48px; + background-position: -160px -48px; } .flag.flag-eg { - background-position: -176px -48px; + background-position: -176px -48px; } .flag.flag-za { - background-position: -128px -224px; + background-position: -128px -224px; } .flag.flag-ec { - background-position: -144px -48px; + background-position: -144px -48px; } .flag.flag-us { - background-position: -176px -208px; + background-position: -176px -208px; } .flag.flag-et { - background-position: 0 -64px; + background-position: 0 -64px; } .flag.flag-zw { - background-position: -160px -224px; + background-position: -160px -224px; } .flag.flag-es { - background-position: -224px -48px; + background-position: -224px -48px; } .flag.flag-er { - background-position: -208px -48px; + background-position: -208px -48px; } .flag.flag-ru { - background-position: -96px -176px; + background-position: -96px -176px; } .flag.flag-rw { - background-position: -112px -176px; + background-position: -112px -176px; } .flag.flag-rs { - background-position: -80px -176px; + background-position: -80px -176px; } .flag.flag-re { - background-position: -48px -176px; + background-position: -48px -176px; } .flag.flag-it { - background-position: -96px -96px; + background-position: -96px -96px; } .flag.flag-ro { - background-position: -64px -176px; + background-position: -64px -176px; } .flag.flag-tz { - background-position: -128px -208px; + background-position: -128px -208px; } .flag.flag-bd { - background-position: -32px -16px; + background-position: -32px -16px; } .flag.flag-be { - background-position: -48px -16px; + background-position: -48px -16px; } .flag.flag-bf { - background-position: -64px -16px; + background-position: -64px -16px; } .flag.flag-bg { - background-position: -80px -16px; + background-position: -80px -16px; } .flag.flag-vg { - background-position: -32px -224px; + background-position: -32px -224px; } .flag.flag-ba { - background-position: 0 -16px; + background-position: 0 -16px; } .flag.flag-bb { - background-position: -16px -16px; + background-position: -16px -16px; } .flag.flag-bm { - background-position: -128px -16px; + background-position: -128px -16px; } .flag.flag-bn { - background-position: -144px -16px; + background-position: -144px -16px; } .flag.flag-bo { - background-position: -160px -16px; + background-position: -160px -16px; } .flag.flag-bh { - background-position: -96px -16px; + background-position: -96px -16px; } .flag.flag-bj { - background-position: -112px -16px; + background-position: -112px -16px; } .flag.flag-bt { - background-position: -208px -16px; + background-position: -208px -16px; } .flag.flag-jm { - background-position: -128px -96px; + background-position: -128px -96px; } .flag.flag-bw { - background-position: -224px -16px; + background-position: -224px -16px; } .flag.flag-ws { - background-position: -96px -224px; + background-position: -96px -224px; } .flag.flag-br { - background-position: -176px -16px; + background-position: -176px -16px; } .flag.flag-bs { - background-position: -192px -16px; + background-position: -192px -16px; } .flag.flag-je { - background-position: -112px -96px; + background-position: -112px -96px; } .flag.flag-by { - background-position: 0 -32px; + background-position: 0 -32px; } .flag.flag-bz { - background-position: -16px -32px; + background-position: -16px -32px; } .flag.flag-tn { - background-position: -32px -208px; + background-position: -32px -208px; } .flag.flag-om { - background-position: -64px -160px; + background-position: -64px -160px; } .flag.flag-zm { - background-position: -144px -224px; + background-position: -144px -224px; } .flag.flag-ua { - background-position: -144px -208px; + background-position: -144px -208px; } .flag.flag-jo { - background-position: -144px -96px; + background-position: -144px -96px; } .flag.flag-mz { - background-position: -128px -144px; + background-position: -128px -144px; } .flag.flag-ck { - background-position: -128px -32px; + background-position: -128px -32px; } .flag.flag-ci { - background-position: -112px -32px; + background-position: -112px -32px; } .flag.flag-ch { - background-position: -96px -32px; + background-position: -96px -32px; } .flag.flag-co { - background-position: -192px -32px; + background-position: -192px -32px; } .flag.flag-cn { - background-position: -176px -32px; + background-position: -176px -32px; } .flag.flag-cm { - background-position: -160px -32px; + background-position: -160px -32px; } .flag.flag-cl { - background-position: -144px -32px; + background-position: -144px -32px; } .flag.flag-ca { - background-position: -32px -32px; + background-position: -32px -32px; } .flag.flag-cg { - background-position: -80px -32px; + background-position: -80px -32px; } .flag.flag-cf { - background-position: -64px -32px; + background-position: -64px -32px; } .flag.flag-cd { - background-position: -48px -32px; + background-position: -48px -32px; } .flag.flag-cz { - background-position: -32px -48px; + background-position: -32px -48px; } .flag.flag-cy { - background-position: -16px -48px; + background-position: -16px -48px; } .flag.flag-vc { - background-position: 0 -224px; + background-position: 0 -224px; } .flag.flag-cr { - background-position: -208px -32px; + background-position: -208px -32px; } .flag.flag-cv { - background-position: 0 -48px; + background-position: 0 -48px; } .flag.flag-cu { - background-position: -224px -32px; + background-position: -224px -32px; } .flag.flag-ve { - background-position: -16px -224px; + background-position: -16px -224px; } .flag.flag-pr { - background-position: -192px -160px; + background-position: -192px -160px; } .flag.flag-ps { - background-position: -208px -160px; + background-position: -208px -160px; } .flag.flag-pw { - background-position: 0 -176px; + background-position: 0 -176px; } .flag.flag-pt { - background-position: -224px -160px; + background-position: -224px -160px; } .flag.flag-py { - background-position: -16px -176px; + background-position: -16px -176px; } .flag.flag-tl { - background-position: 0 -208px; + background-position: 0 -208px; } .flag.flag-iq { - background-position: -48px -96px; + background-position: -48px -96px; } .flag.flag-pa { - background-position: -80px -160px; + background-position: -80px -160px; } .flag.flag-pf { - background-position: -112px -160px; + background-position: -112px -160px; } .flag.flag-pg { - background-position: -128px -160px; + background-position: -128px -160px; } .flag.flag-pe { - background-position: -96px -160px; + background-position: -96px -160px; } .flag.flag-pk { - background-position: -160px -160px; + background-position: -160px -160px; } .flag.flag-ph { - background-position: -144px -160px; + background-position: -144px -160px; } .flag.flag-pl { - background-position: -176px -160px; + background-position: -176px -160px; } .flag.flag-hr { - background-position: -160px -80px; + background-position: -160px -80px; } .flag.flag-ht { - background-position: -176px -80px; + background-position: -176px -80px; } .flag.flag-hu { - background-position: -192px -80px; + background-position: -192px -80px; } .flag.flag-hk { - background-position: -128px -80px; + background-position: -128px -80px; } .flag.flag-hn { - background-position: -144px -80px; + background-position: -144px -80px; } .flag.flag-vn { - background-position: -64px -224px; + background-position: -64px -224px; } .flag.flag-jp { - background-position: -160px -96px; + background-position: -160px -96px; } .flag.flag-me { - background-position: -96px -128px; + background-position: -96px -128px; } .flag.flag-md { - background-position: -80px -128px; + background-position: -80px -128px; } .flag.flag-mg { - background-position: -112px -128px; + background-position: -112px -128px; } .flag.flag-ma { - background-position: -48px -128px; + background-position: -48px -128px; } .flag.flag-mc { - background-position: -64px -128px; + background-position: -64px -128px; } .flag.flag-uz { - background-position: -208px -208px; + background-position: -208px -208px; } .flag.flag-mm { - background-position: -176px -128px; + background-position: -176px -128px; } .flag.flag-ml { - background-position: -160px -128px; + background-position: -160px -128px; } .flag.flag-mo { - background-position: -208px -128px; + background-position: -208px -128px; } .flag.flag-mn { - background-position: -192px -128px; + background-position: -192px -128px; } .flag.flag-mh { - background-position: -128px -128px; + background-position: -128px -128px; } .flag.flag-mk { - background-position: -144px -128px; + background-position: -144px -128px; } .flag.flag-mu { - background-position: -48px -144px; + background-position: -48px -144px; } .flag.flag-mt { - background-position: -32px -144px; + background-position: -32px -144px; } .flag.flag-mw { - background-position: -80px -144px; + background-position: -80px -144px; } .flag.flag-mv { - background-position: -64px -144px; + background-position: -64px -144px; } .flag.flag-mq { - background-position: -224px -128px; + background-position: -224px -128px; } .flag.flag-ms { - background-position: -16px -144px; + background-position: -16px -144px; } .flag.flag-mr { - background-position: 0 -144px; + background-position: 0 -144px; } .flag.flag-im { - background-position: -16px -96px; + background-position: -16px -96px; } .flag.flag-ug { - background-position: -160px -208px; + background-position: -160px -208px; } .flag.flag-my { - background-position: -112px -144px; + background-position: -112px -144px; } .flag.flag-mx { - background-position: -96px -144px; + background-position: -96px -144px; } .flag.flag-il { - background-position: 0 -96px; + background-position: 0 -96px; } .flag.flag-va { - background-position: -224px -208px; + background-position: -224px -208px; } .flag.flag-sa { - background-position: -128px -176px; + background-position: -128px -176px; } .flag.flag-ae { - background-position: -16px 0; + background-position: -16px 0; } .flag.flag-ad { - background-position: 0 0; + background-position: 0 0; } .flag.flag-ag { - background-position: -48px 0; + background-position: -48px 0; } .flag.flag-af { - background-position: -32px 0; + background-position: -32px 0; } .flag.flag-ai { - background-position: -64px 0; + background-position: -64px 0; } .flag.flag-vi { - background-position: -48px -224px; + background-position: -48px -224px; } .flag.flag-is { - background-position: -80px -96px; + background-position: -80px -96px; } .flag.flag-ir { - background-position: -64px -96px; + background-position: -64px -96px; } .flag.flag-am { - background-position: -96px 0; + background-position: -96px 0; } .flag.flag-al { - background-position: -80px 0; + background-position: -80px 0; } .flag.flag-ao { - background-position: -128px 0; + background-position: -128px 0; } .flag.flag-an { - background-position: -112px 0; + background-position: -112px 0; } .flag.flag-as { - background-position: -160px 0; + background-position: -160px 0; } .flag.flag-ar { - background-position: -144px 0; + background-position: -144px 0; } .flag.flag-au { - background-position: -192px 0; + background-position: -192px 0; } .flag.flag-at { - background-position: -176px 0; + background-position: -176px 0; } .flag.flag-aw { - background-position: -208px 0; + background-position: -208px 0; } .flag.flag-in { - background-position: -32px -96px; + background-position: -32px -96px; } .flag.flag-az { - background-position: -224px 0; + background-position: -224px 0; } .flag.flag-ie { - background-position: -224px -80px; + background-position: -224px -80px; } .flag.flag-id { - background-position: -208px -80px; + background-position: -208px -80px; } .flag.flag-ni { - background-position: -208px -144px; + background-position: -208px -144px; } .flag.flag-nl { - background-position: -224px -144px; + background-position: -224px -144px; } .flag.flag-no { - background-position: 0 -160px; + background-position: 0 -160px; } .flag.flag-na { - background-position: -144px -144px; + background-position: -144px -144px; } .flag.flag-nc { - background-position: -160px -144px; + background-position: -160px -144px; } .flag.flag-ne { - background-position: -176px -144px; + background-position: -176px -144px; } .flag.flag-ng { - background-position: -192px -144px; + background-position: -192px -144px; } .flag.flag-nz { - background-position: -48px -160px; + background-position: -48px -160px; } .flag.flag-np { - background-position: -16px -160px; + background-position: -16px -160px; } .flag.flag-so { - background-position: -64px -192px; + background-position: -64px -192px; } .flag.flag-nr { - background-position: -32px -160px; + background-position: -32px -160px; } .flag.flag-fr { - background-position: -80px -64px; + background-position: -80px -64px; } .flag.flag-sv { - background-position: -112px -192px; + background-position: -112px -192px; } .flag.flag-sb { - background-position: -144px -176px; + background-position: -144px -176px; } .flag.flag-fi { - background-position: -16px -64px; + background-position: -16px -64px; } .flag.flag-fj { - background-position: -32px -64px; + background-position: -32px -64px; } .flag.flag-fm { - background-position: -48px -64px; + background-position: -48px -64px; } .flag.flag-fo { - background-position: -64px -64px; + background-position: -64px -64px; } .flag.flag-tj { - background-position: -224px -192px; + background-position: -224px -192px; } .flag.flag-sz { - background-position: -144px -192px; + background-position: -144px -192px; } .flag.flag-sy { - background-position: -128px -192px; + background-position: -128px -192px; } .flag.flag-kg { - background-position: -192px -96px; + background-position: -192px -96px; } .flag.flag-ke { - background-position: -176px -96px; + background-position: -176px -96px; } .flag.flag-sr { - background-position: -80px -192px; + background-position: -80px -192px; } .flag.flag-ki { - background-position: -224px -96px; + background-position: -224px -96px; } .flag.flag-kh { - background-position: -208px -96px; + background-position: -208px -96px; } .flag.flag-kn { - background-position: -16px -112px; + background-position: -16px -112px; } .flag.flag-km { - background-position: 0 -112px; + background-position: 0 -112px; } .flag.flag-st { - background-position: -96px -192px; + background-position: -96px -192px; } .flag.flag-sk { - background-position: 0 -192px; + background-position: 0 -192px; } .flag.flag-kr { - background-position: -48px -112px; + background-position: -48px -112px; } .flag.flag-si { - background-position: -224px -176px; + background-position: -224px -176px; } .flag.flag-kp { - background-position: -32px -112px; + background-position: -32px -112px; } .flag.flag-kw { - background-position: -64px -112px; + background-position: -64px -112px; } .flag.flag-sn { - background-position: -48px -192px; + background-position: -48px -192px; } .flag.flag-sm { - background-position: -32px -192px; + background-position: -32px -192px; } .flag.flag-sl { - background-position: -16px -192px; + background-position: -16px -192px; } .flag.flag-sc { - background-position: -160px -176px; + background-position: -160px -176px; } .flag.flag-kz { - background-position: -96px -112px; + background-position: -96px -112px; } .flag.flag-ky { - background-position: -80px -112px; + background-position: -80px -112px; } .flag.flag-sg { - background-position: -208px -176px; + background-position: -208px -176px; } .flag.flag-se { - background-position: -192px -176px; + background-position: -192px -176px; } .flag.flag-sd { - background-position: -176px -176px; + background-position: -176px -176px; } diff --git a/assets/Zed/sass/_inspinia.scss b/assets/Zed/sass/_inspinia.scss index 073e6c7b..c337ff84 100644 --- a/assets/Zed/sass/_inspinia.scss +++ b/assets/Zed/sass/_inspinia.scss @@ -4,34 +4,33 @@ */ .select2 { - width: 100% !important; + width: 100% !important; } .sweet-alert { - font-family: 'Lato', Helvetica, Arial, sans-serif; + font-family: 'Lato', Helvetica, Arial, sans-serif; } .note-editor.note-frame { - border: 1px solid $gray-lighter; + border: 1px solid $gray-lighter; } .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { - border: 1px solid #dad55e; - background: #fffa90; - color: #777620; + border: 1px solid #dad55e; + background: #fffa90; + color: #777620; } - .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { - border: 1px solid #003eff; - background: #007fff; - font-weight: normal; - color: #fff; + border: 1px solid #003eff; + background: #007fff; + font-weight: normal; + color: #fff; } diff --git a/assets/Zed/sass/_mixins.scss b/assets/Zed/sass/_mixins.scss new file mode 100644 index 00000000..fc4e3338 --- /dev/null +++ b/assets/Zed/sass/_mixins.scss @@ -0,0 +1,13 @@ +// Contextual variations (linked labels get darker on :hover) +@mixin label-variant($bg-color, $text-color) { + background-color: $bg-color; + color: $text-color; + + &[href] { + &:hover, + &:focus { + background-color: darken($bg-color, 10%); + color: darken($text-color, 10%); + } + } +} diff --git a/assets/Zed/sass/_popover.scss b/assets/Zed/sass/_popover.scss new file mode 100644 index 00000000..ac511986 --- /dev/null +++ b/assets/Zed/sass/_popover.scss @@ -0,0 +1,54 @@ +.modal-popover { + padding: 0; + border: none; + opacity: 0; + transition: all 0.3s allow-discrete; + + .modal { + display: block; + } + + &:popover-open { + opacity: 1; + + @starting-style { + opacity: 0; + } + + &::backdrop { + opacity: 0.5; + + @starting-style { + opacity: 0; + } + } + } + + &::backdrop { + opacity: 0; + background-color: $black; + transition: all 0.3s allow-discrete; + } + + &:has(.modal-backdrop):popover-open::backdrop { + opacity: 0; + } + + .modal-backdrop { + opacity: 0.5; + cursor: auto; + } +} + +body:has(.modal-popover:popover-open) { + overflow: hidden; + + * { + pointer-events: none; + } + + .modal-popover, + .modal-popover * { + pointer-events: auto; + } +} diff --git a/assets/Zed/sass/_product-item.scss b/assets/Zed/sass/_product-item.scss new file mode 100644 index 00000000..4b5eb7a5 --- /dev/null +++ b/assets/Zed/sass/_product-item.scss @@ -0,0 +1,61 @@ +/** + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + */ + +.is-hidden .show-less, +.is-shown .show-more { + display: none; +} + +.more-history { + color: #337ab7; +} + +.image-wrap { + height: 60px; + width: 60px; + display: flex; + align-items: center; + justify-content: center; + position: relative; + padding: 2px; + + &::before { + content: ''; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.05); + border-radius: 3px; + } +} + +.product-image { + max-width: 100%; + max-height: 100%; + flex-shrink: 0; +} + +.tax-info { + color: #a1a5a8; + font-size: 12px; +} + +.discounted { + color: #a1a5a8; + font-size: 12px; + text-decoration: line-through; + display: block; +} + +.state-history { + width: 250px; +} + +.sku { + color: #6f7274; + font-size: 12px; +} diff --git a/assets/Zed/sass/_variables.scss b/assets/Zed/sass/_variables.scss index 80e50acb..060c66e9 100644 --- a/assets/Zed/sass/_variables.scss +++ b/assets/Zed/sass/_variables.scss @@ -1,6 +1,55 @@ /** - * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. - * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. + * Copyright (c) 2016-present Spryker Systems GmbH. All rights reserved. + * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ $zed-logo: url(https://static.spryker.com/logo.svg) !default; + +$green-default: #11856e; +$green-dark: #127f6b; +$green-base: #1bbea0; +$green-light: #a0e1d5; +$green-lighter: #f1f8f7; + +$grey-dark: #646464; +$grey-base: #9ea1a7; +$grey-light: #f1f1f1; +$grey-light2: #efeeee; +$grey-lighter: #f8f8f8; +$grey: #d4d5d7; +$grey2: #2b2c2d; +$grey3: #eee; + +$red-dark: #b82124; +$red-default: #cd1900; +$red-lighter: #ff3b21; +$red-light: #f9d3ce; +$red-lightest: #ebccd1; + +$brown: #a94442; + +$blue: #2480f2; +$blue2: #0088cc; +$blue-dark: #156698; +$blue-light: #eaf1fa; + +$orange: #ff6800; +$orange-dark: #b7540f; +$orange-light: #fef0e6; + +$ink-base: #121212; + +$white: #fff; +$white-red: #f2dede; +$black: #000; + +$box-shadow-green-hover: 0px 4px 12px 0px rgba($black, 0.15); +$box-shadow-green-focused: 0 0 0 1px $white, 0 0 3px 1px $green-base; + +$box-shadow-red-hover: 0px 4px 12px 0px rgba($black, 0.15); +$box-shadow-red-focused: 0 0 0 1px $white, 0 0 3px 1px $red-default; + +$main-font: 'Montserrat', 'Lato', sans-serif; + +$desktop: 1199px; +$tablet: 1023px; diff --git a/assets/Zed/sass/_wave-loader.scss b/assets/Zed/sass/_wave-loader.scss index 073a1634..73dce014 100644 --- a/assets/Zed/sass/_wave-loader.scss +++ b/assets/Zed/sass/_wave-loader.scss @@ -4,7 +4,7 @@ $wave-loader-on-button-width: 33px; .sk-spinner-three-bounce.wave-loader { display: inline-block; width: $wave-loader-default-width; - height: round($wave-loader-default-width * .3); + height: round($wave-loader-default-width * 0.3); > .sk-bounce1, > .sk-bounce2, @@ -26,7 +26,7 @@ $wave-loader-on-button-width: 33px; &--on-button { margin-right: 5px; width: $wave-loader-on-button-width; - height: round($wave-loader-on-button-width * .3); + height: round($wave-loader-on-button-width * 0.3); > .sk-bounce1, > .sk-bounce2, diff --git a/assets/Zed/sass/main.scss b/assets/Zed/sass/main.scss index 63315b85..510a740f 100644 --- a/assets/Zed/sass/main.scss +++ b/assets/Zed/sass/main.scss @@ -3,10 +3,13 @@ * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. */ +// fix path to fonts in the `bootstrap-sass` dependency +$icon-font-path: '../../fonts/bootstrap/'; + // external dependencies @import '~jquery-ui/themes/base/all.css'; @import '~bootstrap-sass/assets/stylesheets/bootstrap'; -@import '~font-awesome/scss/font-awesome'; +@import '~@fortawesome/fontawesome-free/css/all.css'; @import '~animate.css/animate'; @import '~metismenu/src/metisMenu'; @import '~datatables.net-bs/css/dataTables.bootstrap'; @@ -20,14 +23,15 @@ // inspinia @import '../../Inspinia/css/style'; -@import '../../Inspinia/css/fonts'; // spryker customization @import 'variables'; +@import 'mixins'; @import 'inspinia'; -@import 'custom'; @import 'action-buttons'; +@import 'custom'; @import 'flags'; @import 'data-tables'; @import 'wave-loader'; - +@import 'product-item'; +@import 'popover'; diff --git a/codeception.yml b/codeception.yml index 6fcb0bb6..8e5b57d8 100644 --- a/codeception.yml +++ b/codeception.yml @@ -1,28 +1,14 @@ namespace: Gui -actor: Tester - include: - tests/SprykerTest/Zed/Gui - paths: tests: tests - log: tests/_output + output: tests/_output data: tests/_data support: tests/_support envs: tests/_envs settings: - bootstrap: _bootstrap.php suite_class: \PHPUnit\Framework\TestSuite colors: true memory_limit: 1024M log: true -coverage: - enabled: true - whitelist: { include: ['src/*'] } - -extensions: - enabled: - - Codeception\Extension\Phantoman - config: - Codeception\Extension\Phantoman: - suites: ['Presentation'] diff --git a/composer.json b/composer.json index 796cada6..cb1c4207 100644 --- a/composer.json +++ b/composer.json @@ -1,45 +1,62 @@ { - "name": "spryker/gui", - "type": "library", - "description": "Gui module", - "license": "proprietary", - "require": { - "php": ">=7.1", - "spryker/kernel": "^3.0.0", - "spryker/propel-orm": "^1.0.0", - "spryker/symfony": "^3.0.0", - "spryker/twig": "^3.0.0", - "spryker/util-sanitize": "^2.0.0", - "spryker/util-text": "^1.1.0" - }, - "require-dev": { - "spryker/application": "*", - "spryker/propel": "*", - "spryker/silex": "*", - "spryker/testify": "*" - }, - "suggest": { - "spryker/silex": "If you want to use ServiceProvider." - }, - "autoload": { - "psr-4": { - "Spryker\\": "src/Spryker/", - "SprykerTest\\Zed\\Gui\\Helper\\": "tests/SprykerTest/Zed/Gui/_support/Helper/" + "name": "spryker/gui", + "type": "library", + "description": "Gui module", + "license": "proprietary", + "require": { + "php": ">=8.2", + "spryker/form-extension": "^1.0.0", + "spryker/kernel": "^3.52.0", + "spryker/laminas": "^1.0.0", + "spryker/propel-orm": "^1.0.0", + "spryker/symfony": "^3.0.0", + "spryker/transfer": "^3.25.0", + "spryker/twig": "^3.0.0", + "spryker/twig-extension": "^1.0.0", + "spryker/util-number": "^1.0.0", + "spryker/util-sanitize": "^2.0.0", + "spryker/util-sanitize-xss": "^1.1.0", + "spryker/util-text": "^1.1.0" + }, + "require-dev": { + "spryker/application": "*", + "spryker/code-sniffer": "*", + "spryker/container": "*", + "spryker/propel": "*", + "spryker/silex": "*", + "spryker/store": "*", + "spryker/testify": "*" + }, + "suggest": { + "spryker/container": "If you want to use Twig plugins", + "spryker/silex": "If you want to use ServiceProvider." + }, + "autoload": { + "psr-4": { + "Spryker\\": "src/Spryker/", + "SprykerTest\\Zed\\Gui\\Helper\\": "tests/SprykerTest/Zed/Gui/_support/Helper/" + } + }, + "autoload-dev": { + "psr-4": { + "SprykerTest\\": "tests/SprykerTest/" + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + "cs-check": "phpcs -p -s --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/", + "cs-fix": "phpcbf -p --standard=vendor/spryker/code-sniffer/Spryker/ruleset.xml src/ tests/" + }, + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "config": { + "sort-packages": true, + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + } } - }, - "autoload-dev": { - "psr-4": { - "SprykerTest\\": "tests/SprykerTest/" - } - }, - "minimum-stability": "dev", - "prefer-stable": true, - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "config": { - "sort-packages": true - } } diff --git a/data/translation/Zed/de_DE.csv b/data/translation/Zed/de_DE.csv index 17125065..081dcb2c 100644 --- a/data/translation/Zed/de_DE.csv +++ b/data/translation/Zed/de_DE.csv @@ -5,3 +5,7 @@ Next,Weiter Previous,Vorherige "Reset password","Passwort zurücksetzen" Welcome,Willkommen +Settings,Einstellungen +"Log out",Abmelden +"Company logo",Firmenlogo +"Minimize/Maximize navigation bar","Navigationsleiste minimieren/maximieren" diff --git a/data/translation/Zed/en_US.csv b/data/translation/Zed/en_US.csv index 63917a8d..4cb93f97 100644 --- a/data/translation/Zed/en_US.csv +++ b/data/translation/Zed/en_US.csv @@ -5,3 +5,7 @@ Next,Next Previous,Previous "Reset password","Reset password" Welcome,Welcome +Settings,Settings +"Log out","Log out" +"Company logo","Company logo" +"Minimize/Maximize navigation bar","Minimize/Maximize navigation bar" diff --git a/dependency.json b/dependency.json new file mode 100644 index 00000000..22c114fa --- /dev/null +++ b/dependency.json @@ -0,0 +1,5 @@ +{ + "include": { + "spryker/transfer": "Provides transfer objects definition with `::get*OrFail()` functionality." + } +} diff --git a/phpstan.json b/phpstan.json deleted file mode 100644 index fab1ce92..00000000 --- a/phpstan.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "defaultLevel": 3 -} diff --git a/phpstan.neon b/phpstan.neon index afb3f59c..9fe738ec 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,9 @@ parameters: + level: 7 + checkMissingIterableValueType: false + reportUnmatchedIgnoredErrors: false ignoreErrors: - - '#Function twig_escape_filter not found.#' - - '#.+ has invalid typehint type Symfony\\Component\\OptionsResolver\\OptionsResolverInterface.#' - - '#Call to method setDefault\(\) on an unknown class Symfony\\Component\\OptionsResolver\\OptionsResolverInterface.#' + - '#Function twig_escape_filter not found.#' + - '#Method .+ParameterBag::all\(\) invoked with 1 parameter, 0 required.#' + - '#Method .+AbstractTable::getOrderParameter\(\) should return array\|null but returns string\|null#' + - '#Method .+AbstractTable::getSearchParameter\(\) should return array\|null but returns string\|null#' diff --git a/psalm-report.json b/psalm-report.json new file mode 100644 index 00000000..41042a42 --- /dev/null +++ b/psalm-report.json @@ -0,0 +1,393 @@ +{ + "error": [ + { + "severity": "error", + "line_from": 521, + "line_to": 521, + "type": "UndefinedFunction", + "message": "Function Spryker\\Zed\\Gui\\Communication\\Table\\twig_escape_filter does not exist", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $value = twig_escape_filter(new Environment(new FilesystemLoader()), $value);", + "selected_text": "twig_escape_filter(new Environment(new FilesystemLoader()), $value)", + "error_level": -1, + "shortcode": 21 + } + ], + "warning": [ + { + "severity": "info", + "line_from": 55, + "line_to": 55, + "type": "PossiblyNullArgument", + "message": "Argument 1 of get_class cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Shared/Gui/Form/AbstractForm.php", + "snippet": " $resolver->setDefault('data_class', get_class($this->getDataClass()));", + "selected_text": "$this->getDataClass()", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 59, + "line_to": 59, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'Symfony\\Component\\HttpFoundation\\Request' for Spryker\\Zed\\Gui\\Communication\\Form\\AbstractForm::getRequest is not nullable, but 'Symfony\\Component\\HttpFoundation\\Request|null' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Form/AbstractForm.php", + "snippet": " * @return \\Symfony\\Component\\HttpFoundation\\Request", + "selected_text": "\\Symfony\\Component\\HttpFoundation\\Request", + "error_level": 5, + "shortcode": 144 + }, + { + "severity": "info", + "line_from": 66, + "line_to": 66, + "type": "PossiblyNullPropertyAssignmentValue", + "message": "$this->request with non-nullable declared type 'Symfony\\Component\\HttpFoundation\\Request' cannot be assigned nullable type 'Symfony\\Component\\HttpFoundation\\Request|null'", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Form/AbstractForm.php", + "snippet": " $this->request = $requestStack->getCurrentRequest();", + "selected_text": "$requestStack->getCurrentRequest()", + "error_level": 3, + "shortcode": 148 + }, + { + "severity": "info", + "line_from": 69, + "line_to": 69, + "type": "NullableReturnStatement", + "message": "The declared return type 'Symfony\\Component\\HttpFoundation\\Request' for Spryker\\Zed\\Gui\\Communication\\Form\\AbstractForm::getRequest is not nullable, but the function returns 'Symfony\\Component\\HttpFoundation\\Request|null'", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Form/AbstractForm.php", + "snippet": " return $this->request;", + "selected_text": "$this->request", + "error_level": 5, + "shortcode": 139 + }, + { + "severity": "info", + "line_from": 32, + "line_to": 32, + "type": "LessSpecificImplementedReturnType", + "message": "The inherited return type 'array|string>' for Symfony\\Component\\EventDispatcher\\EventSubscriberInterface::getSubscribedEvents is more specific than the implemented return type for Spryker\\Zed\\Gui\\Communication\\Form\\EventListener\\SanitizeXssListener::getsubscribedevents 'array'", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Form/EventListener/SanitizeXssListener.php", + "snippet": " * @return array", + "selected_text": "array", + "error_level": 5, + "shortcode": 166 + }, + { + "severity": "info", + "line_from": 194, + "line_to": 194, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Symfony\\Component\\Validator\\Constraints\\Type::__construct cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php", + "snippet": " return new Type($options);", + "selected_text": "$options", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 250, + "line_to": 250, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Symfony\\Component\\Validator\\Constraints\\Regex::__construct cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php", + "snippet": " return new Regex($options);", + "selected_text": "$options", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 572, + "line_to": 572, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Symfony\\Component\\Validator\\Constraints\\CardScheme::__construct cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php", + "snippet": " return new CardScheme($options);", + "selected_text": "$options", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 670, + "line_to": 670, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Symfony\\Component\\Validator\\Constraints\\Expression::__construct cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php", + "snippet": " return new Expression($options);", + "selected_text": "$options", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 75, + "line_to": 75, + "type": "InvalidScalarArgument", + "message": "Argument 3 of htmlspecialchars expects null|string, mixed|non-falsy-string|true provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Plugin/Twig/UrlTwigPlugin.php", + "snippet": " return htmlspecialchars($url, ENT_QUOTES | ENT_SUBSTITUTE, $charset);", + "selected_text": "$charset", + "error_level": 4, + "shortcode": 12 + }, + { + "severity": "info", + "line_from": 493, + "line_to": 493, + "type": "PossiblyNullArgument", + "message": "Argument 2 of array_intersect_key cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $row = array_intersect_key($row, $headers);", + "selected_text": "$headers", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 495, + "line_to": 495, + "type": "PossiblyNullArgument", + "message": "Argument 1 of Spryker\\Zed\\Gui\\Communication\\Table\\AbstractTable::reOrderByHeaders cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $row = $this->reOrderByHeaders($headers, $row);", + "selected_text": "$headers", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 598, + "line_to": 598, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'string' for Spryker\\Zed\\Gui\\Communication\\Table\\AbstractTable::getTableIdentifier is not nullable, but 'null|string' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " * @return string", + "selected_text": "string", + "error_level": 5, + "shortcode": 144 + }, + { + "severity": "info", + "line_from": 606, + "line_to": 606, + "type": "NullableReturnStatement", + "message": "The declared return type 'string' for Spryker\\Zed\\Gui\\Communication\\Table\\AbstractTable::getTableIdentifier is not nullable, but the function returns 'null|string'", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " return $this->tableIdentifier;", + "selected_text": "$this->tableIdentifier", + "error_level": 5, + "shortcode": 139 + }, + { + "severity": "info", + "line_from": 918, + "line_to": 918, + "type": "PossiblyNullReference", + "message": "Cannot call method getColumns on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $columns = array_keys($tableMap->getColumns());", + "selected_text": "getColumns", + "error_level": 3, + "shortcode": 83 + }, + { + "severity": "info", + "line_from": 922, + "line_to": 922, + "type": "PossiblyNullOperand", + "message": "Cannot concatenate with a possibly null null|string", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " return $tableMap->getName() . '.' . $firstColumnName;", + "selected_text": "$tableMap->getName()", + "error_level": 1, + "shortcode": 80 + }, + { + "severity": "info", + "line_from": 959, + "line_to": 959, + "type": "PossiblyNullReference", + "message": "Cannot call method getColumns on possibly null value", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " return array_keys($query->getTableMap()->getColumns());", + "selected_text": "getColumns", + "error_level": 3, + "shortcode": 83 + }, + { + "severity": "info", + "line_from": 982, + "line_to": 982, + "type": "PossiblyNullArrayAccess", + "message": "Cannot access array value on possibly null variable $searchTerm of type mixed|null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $searchValue = $searchTerm[static::PARAMETER_VALUE] ?? '';", + "selected_text": "$searchTerm[static::PARAMETER_VALUE]", + "error_level": 3, + "shortcode": 79 + }, + { + "severity": "info", + "line_from": 984, + "line_to": 984, + "type": "PossiblyNullArgument", + "message": "Argument 1 of mb_strlen cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " if (mb_strlen($searchValue) > 0) {", + "selected_text": "$searchValue", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 991, + "line_to": 991, + "type": "PossiblyNullArgument", + "message": "Argument 1 of mb_strtolower cannot be null, possibly null value provided", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $conditionParameter = $connection->quote('%' . mb_strtolower($searchValue) . '%');", + "selected_text": "$searchValue", + "error_level": 3, + "shortcode": 78 + }, + { + "severity": "info", + "line_from": 1020, + "line_to": 1020, + "type": "LessSpecificReturnStatement", + "message": "The type 'Propel\\Runtime\\Collection\\Collection|mixed' is more general than the declared return type 'Propel\\Runtime\\Collection\\ObjectCollection|array' for Spryker\\Zed\\Gui\\Communication\\Table\\AbstractTable::runQuery", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " return $data;", + "selected_text": "$data", + "error_level": 3, + "shortcode": 129 + }, + { + "severity": "info", + "line_from": 1515, + "line_to": 1515, + "type": "RedundantCondition", + "message": "Type array for $options is always array", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " if (is_array($options)) {", + "selected_text": "is_array($options)", + "error_level": 4, + "shortcode": 122 + }, + { + "severity": "info", + "line_from": 1532, + "line_to": 1532, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $searchColumns using possibly null offset int|null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " if (preg_match('/created_at|updated_at/', $searchColumns[$column->getData()])) {", + "selected_text": "$searchColumns", + "error_level": 3, + "shortcode": 125 + }, + { + "severity": "info", + "line_from": 1536, + "line_to": 1536, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $searchColumns using possibly null offset int|null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $searchColumns[$column->getData()],", + "selected_text": "$searchColumns", + "error_level": 3, + "shortcode": 125 + }, + { + "severity": "info", + "line_from": 1538, + "line_to": 1538, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $searchColumns using possibly null offset int|null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $searchColumns[$column->getData()],", + "selected_text": "$searchColumns", + "error_level": 3, + "shortcode": 125 + }, + { + "severity": "info", + "line_from": 1554, + "line_to": 1554, + "type": "PossiblyNullArrayOffset", + "message": "Cannot access value on variable $searchColumns using possibly null offset int|null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " $searchColumns[$column->getData()],", + "selected_text": "$searchColumns", + "error_level": 3, + "shortcode": 125 + }, + { + "severity": "info", + "line_from": 323, + "line_to": 323, + "type": "InvalidNullableReturnType", + "message": "The declared return type 'array' for Spryker\\Zed\\Gui\\Communication\\Table\\TableConfiguration::getDefaultSortField is not nullable, but 'array|null' contains null", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/TableConfiguration.php", + "snippet": " * @return array", + "selected_text": "array", + "error_level": 5, + "shortcode": 144 + }, + { + "severity": "info", + "line_from": 327, + "line_to": 327, + "type": "NullableReturnStatement", + "message": "The declared return type 'array' for Spryker\\Zed\\Gui\\Communication\\Table\\TableConfiguration::getDefaultSortField is not nullable, but the function returns 'array|null'", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/TableConfiguration.php", + "snippet": " return $this->defaultSortField;", + "selected_text": "$this->defaultSortField", + "error_level": 5, + "shortcode": 139 + }, + { + "severity": "info", + "line_from": 40, + "line_to": 40, + "type": "PossiblyInvalidMethodCall", + "message": "Cannot call method on possible array variable ", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Tabs/AbstractTabs.php", + "snippet": " if ($tabsViewTransfer->getActiveTabName() === null && $tabsViewTransfer->getTabs()->count()) {", + "selected_text": "count", + "error_level": 3, + "shortcode": 113 + } + ], + "deprecation": [ + { + "severity": "info", + "line_from": 749, + "line_to": 749, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Gui\\Communication\\Table\\TableConfiguration::getDefaultSortColumnIndex has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " static::SORT_BY_COLUMN => $config->getDefaultSortColumnIndex(),", + "selected_text": "getDefaultSortColumnIndex", + "error_level": 2, + "shortcode": 1 + }, + { + "severity": "info", + "line_from": 750, + "line_to": 750, + "type": "DeprecatedMethod", + "message": "The method Spryker\\Zed\\Gui\\Communication\\Table\\TableConfiguration::getDefaultSortDirection has been marked as deprecated", + "file_name": "vendor/spryker/spryker/Bundles/Gui/src/Spryker/Zed/Gui/Communication/Table/AbstractTable.php", + "snippet": " static::SORT_BY_DIRECTION => $config->getDefaultSortDirection(),", + "selected_text": "getDefaultSortDirection", + "error_level": 2, + "shortcode": 1 + } + ], + "count": 32 +} diff --git a/src/Spryker/Shared/Gui/Form/AbstractForm.php b/src/Spryker/Shared/Gui/Form/AbstractForm.php index c21a909d..9b4a586c 100644 --- a/src/Spryker/Shared/Gui/Form/AbstractForm.php +++ b/src/Spryker/Shared/Gui/Form/AbstractForm.php @@ -12,10 +12,10 @@ use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormTypeInterface; use Symfony\Component\Form\FormView; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; +use Symfony\Component\OptionsResolver\OptionsResolver; /** - * @deprecated Use `Spryker\Zed\Kernel\Communication\Form\AbstractType` for Zed and `Spryker\Yves\Kernel\Form\AbstractType` for Yves instead. + * @deprecated Use {@link \Spryker\Zed\Kernel\Communication\Form\AbstractType} for Zed and {@link \Spryker\Yves\Kernel\Form\AbstractType} for Yves instead. */ abstract class AbstractForm implements FormTypeInterface { @@ -28,7 +28,7 @@ abstract class AbstractForm implements FormTypeInterface * @see \Symfony\Component\Form\FormTypeExtensionInterface::buildForm() * * @param \Symfony\Component\Form\FormBuilderInterface $builder The form builder - * @param array $options The options + * @param array $options The options * * @return void */ @@ -45,11 +45,11 @@ abstract public function populateFormFields(); abstract protected function getDataClass(); /** - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver * * @return void */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function setDefaultOptions(OptionsResolver $resolver) { if ($this->getDataClass() instanceof TransferInterface) { $resolver->setDefault('data_class', get_class($this->getDataClass())); @@ -73,7 +73,7 @@ public function getEnumSet(array $array) * is discouraged because it leads to a performance penalty. The support * for returning type instances may be dropped from future releases. * - * @return string|\Symfony\Component\Form\FormTypeInterface|null The name of the parent type if any, null otherwise. + * @return \Symfony\Component\Form\FormTypeInterface|string|null The name of the parent type if any, null otherwise. */ public function getParent() { @@ -94,11 +94,11 @@ public function getParent() * * @param \Symfony\Component\Form\FormView $view The view * @param \Symfony\Component\Form\FormInterface $form The form - * @param array $options The options + * @param array $options The options * * @return void */ - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { } @@ -117,11 +117,11 @@ public function buildView(FormView $view, FormInterface $form, array $options) * * @param \Symfony\Component\Form\FormView $view The view * @param \Symfony\Component\Form\FormInterface $form The form - * @param array $options The options + * @param array $options The options * * @return void */ - public function finishView(FormView $view, FormInterface $form, array $options) + public function finishView(FormView $view, FormInterface $form, array $options): void { } } diff --git a/src/Spryker/Shared/Gui/GuiConstants.php b/src/Spryker/Shared/Gui/GuiConstants.php new file mode 100644 index 00000000..1ea5411b --- /dev/null +++ b/src/Spryker/Shared/Gui/GuiConstants.php @@ -0,0 +1,26 @@ +* %barTitle% (%max%)' + ' * %barTitle% (%max%)', ); ProgressBar::setFormatDefinition( 'verbose_nomax', - ' * %barTitle% (%max%)' + ' * %barTitle% (%max%)', ); ProgressBar::setFormatDefinition( 'very_verbose_nomax', - ' * %barTitle% (%max%)' + ' * %barTitle% (%max%)', ); ProgressBar::setFormatDefinition( 'debug_nomax', - ' * %barTitle% (%max%)' + ' * %barTitle% (%max%)', ); ProgressBar::setFormatDefinition( 'normal', - ' * %barTitle% (%max%)' + ' * %barTitle% (%max%)', ); ProgressBar::setFormatDefinition( 'verbose', - ' * %barTitle% %percent%% (%current%/%max%) %elapsed:6s%' + ' * %barTitle% %percent%% (%current%/%max%) %elapsed:6s%', ); ProgressBar::setFormatDefinition( 'very_verbose', - " * %barTitle:-25s% [%bar%] %percent%% (%current%/%max%) %elapsed:6s% %memory:6s%\x0D" + " * %barTitle:-25s% [%bar%] %percent%% (%current%/%max%) %elapsed:6s% %memory:6s%\x0D", ); ProgressBar::setFormatDefinition( 'debug', - " * %barTitle:-25s% %bar% %percent:20s%% [%current%/%max%] Memory: %memory%, Elapsed: %elapsed%, Remaining: %remaining%\x0D" + " * %barTitle:-25s% %bar% %percent:20s%% [%current%/%max%] Memory: %memory%, Elapsed: %elapsed%, Remaining: %remaining%\x0D", ); } diff --git a/src/Spryker/Shared/Gui/Transfer/gui.transfer.xml b/src/Spryker/Shared/Gui/Transfer/gui.transfer.xml index 85ccf344..67bac3f0 100644 --- a/src/Spryker/Shared/Gui/Transfer/gui.transfer.xml +++ b/src/Spryker/Shared/Gui/Transfer/gui.transfer.xml @@ -1,15 +1,13 @@ - + - - + + - + @@ -17,7 +15,7 @@ - + @@ -33,7 +31,7 @@ - + @@ -41,10 +39,31 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Spryker/Zed/Gui/Communication/Extender/NumberFormatterTwigFilterExtender.php b/src/Spryker/Zed/Gui/Communication/Extender/NumberFormatterTwigFilterExtender.php new file mode 100644 index 00000000..d1484521 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Extender/NumberFormatterTwigFilterExtender.php @@ -0,0 +1,40 @@ +numberFormatterTwigFilterFactory = $numberFormatterTwigFilterFactory; + } + + /** + * @param \Twig\Environment $twig + * + * @return \Twig\Environment + */ + public function extend(Environment $twig): Environment + { + $twig->addFilter($this->numberFormatterTwigFilterFactory->createFormatIntFilter()); + $twig->addFilter($this->numberFormatterTwigFilterFactory->createFormatFloatFilter()); + + return $twig; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Extender/NumberFormatterTwigFilterExtenderInterface.php b/src/Spryker/Zed/Gui/Communication/Extender/NumberFormatterTwigFilterExtenderInterface.php new file mode 100644 index 00000000..d846df8e --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Extender/NumberFormatterTwigFilterExtenderInterface.php @@ -0,0 +1,20 @@ +utilNumberService = $utilNumberService; + } + + /** + * @return \Twig\TwigFilter + */ + public function createFormatIntFilter(): TwigFilter + { + return new TwigFilter( + static::FORMAT_INT_FILTER_NAME, + function (int $value, ?string $locale = null, ?int $numberFormatStyle = null, ?int $maxFractionDigits = null): string { + return $this->utilNumberService->formatInt( + $this->createNumberFormatIntRequest($value, $locale, $numberFormatStyle, $maxFractionDigits), + ); + }, + ); + } + + /** + * @return \Twig\TwigFilter + */ + public function createFormatFloatFilter(): TwigFilter + { + return new TwigFilter( + static::FORMAT_FLOAT_FILTER_NAME, + function (float $value, ?string $locale = null, ?int $numberFormatStyle = null, ?int $maxFractionDigits = null): string { + return $this->utilNumberService->formatFloat( + $this->createNumberFormatFloatRequest($value, $locale, $numberFormatStyle, $maxFractionDigits), + ); + }, + ); + } + + /** + * @param int $value + * @param string|null $locale + * @param int|null $numberFormatStyle + * @param int|null $maxFractionDigits + * + * @return \Generated\Shared\Transfer\NumberFormatIntRequestTransfer + */ + protected function createNumberFormatIntRequest( + int $value, + ?string $locale = null, + ?int $numberFormatStyle = null, + ?int $maxFractionDigits = null + ): NumberFormatIntRequestTransfer { + return (new NumberFormatIntRequestTransfer()) + ->setNumber($value) + ->setNumberFormatFilter( + $this->createNumberFormatFilter($locale, $numberFormatStyle, $maxFractionDigits), + ); + } + + /** + * @param float $value + * @param string|null $locale + * @param int|null $numberFormatStyle + * @param int|null $maxFractionDigits + * + * @return \Generated\Shared\Transfer\NumberFormatFloatRequestTransfer + */ + protected function createNumberFormatFloatRequest( + float $value, + ?string $locale = null, + ?int $numberFormatStyle = null, + ?int $maxFractionDigits = null + ): NumberFormatFloatRequestTransfer { + return (new NumberFormatFloatRequestTransfer()) + ->setNumber($value) + ->setNumberFormatFilter( + $this->createNumberFormatFilter($locale, $numberFormatStyle, $maxFractionDigits), + ); + } + + /** + * @param string|null $locale + * @param int|null $numberFormatStyle + * @param int|null $maxFractionDigits + * + * @return \Generated\Shared\Transfer\NumberFormatFilterTransfer + */ + protected function createNumberFormatFilter( + ?string $locale = null, + ?int $numberFormatStyle = null, + ?int $maxFractionDigits = null + ): NumberFormatFilterTransfer { + return (new NumberFormatFilterTransfer()) + ->setLocale($locale) + ->setNumberFormatStyle($numberFormatStyle) + ->setMaxFractionDigits($maxFractionDigits); + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Filter/NumberFormatterTwigFilterFactoryInterface.php b/src/Spryker/Zed/Gui/Communication/Filter/NumberFormatterTwigFilterFactoryInterface.php new file mode 100644 index 00000000..04fa8b23 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Filter/NumberFormatterTwigFilterFactoryInterface.php @@ -0,0 +1,23 @@ +request === null) { - $this->request = (new Pimple())->getApplication()['request']; + /** @var \Symfony\Component\HttpFoundation\RequestStack $requestStack */ + $requestStack = (new GlobalContainer())->get(static::SERVICE_REQUEST_STACK); + $this->request = $requestStack->getCurrentRequest(); } return $this->request; diff --git a/src/Spryker/Zed/Gui/Communication/Form/Constraint/IntegerMoneyConstraint.php b/src/Spryker/Zed/Gui/Communication/Form/Constraint/IntegerMoneyConstraint.php new file mode 100644 index 00000000..42a3da27 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Form/Constraint/IntegerMoneyConstraint.php @@ -0,0 +1,43 @@ +|null $options + */ + public function __construct($options = null) + { + $this->message = sprintf(static::MESSAGE_PATTERN, static::MAX_INT_VALUE / 100); + if ($options === null) { + $options = []; + } + + $options[static::OPTION_VALUE] = static::MAX_INT_VALUE; + + parent::__construct($options); + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Form/Constraint/IntegerMoneyConstraintValidator.php b/src/Spryker/Zed/Gui/Communication/Form/Constraint/IntegerMoneyConstraintValidator.php new file mode 100644 index 00000000..b981a83b --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Form/Constraint/IntegerMoneyConstraintValidator.php @@ -0,0 +1,14 @@ +setRequired('action'); $resolver->setRequired('fields'); @@ -37,24 +37,24 @@ public function configureOptions(OptionsResolver $resolver) } /** - * @deprecated Use `configureOptions()` instead. + * @deprecated Use {@link configureOptions()} instead. * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver * * @return void */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function setDefaultOptions(OptionsResolver $resolver) { $this->configureOptions($resolver); } /** * @param \Symfony\Component\Form\FormBuilderInterface $builder - * @param array $options + * @param array $options * * @return void */ - public function buildForm(FormBuilderInterface $builder, array $options) + public function buildForm(FormBuilderInterface $builder, array $options): void { $builder->setAction($options['action']); $builder->setMethod(Request::METHOD_DELETE); @@ -64,7 +64,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) /** * @param \Symfony\Component\Form\FormBuilderInterface $builder - * @param array $options + * @param array $options * * @return $this */ diff --git a/src/Spryker/Zed/Gui/Communication/Form/EventListener/SanitizeXssListener.php b/src/Spryker/Zed/Gui/Communication/Form/EventListener/SanitizeXssListener.php new file mode 100644 index 00000000..42406cd2 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Form/EventListener/SanitizeXssListener.php @@ -0,0 +1,67 @@ +utilSanitizeXssService = $utilSanitizeService; + } + + /** + * @return array + */ + public static function getSubscribedEvents(): array + { + return [ + FormEvents::PRE_SUBMIT => ['sanitizeSubmittedData', 1000], + ]; + } + + /** + * @param \Symfony\Component\Form\FormEvent $event + * + * @return void + */ + public function sanitizeSubmittedData(FormEvent $event): void + { + $data = $event->getData(); + + if (!is_string($data)) { + return; + } + + $formConfig = $event->getForm()->getConfig(); + $data = $this->utilSanitizeXssService->sanitizeXss( + $data, + $formConfig->getOption(SanitizeXssTypeExtension::OPTION_ALLOWED_ATTRIBUTES, []), + $formConfig->getOption(SanitizeXssTypeExtension::OPTION_ALLOWED_HTML_TAGS, []), + ); + + $event->setData($this->utilSanitizeXssService->sanitizeXss( + $data, + $formConfig->getOption(SanitizeXssTypeExtension::OPTION_ALLOWED_ATTRIBUTES, []), + $formConfig->getOption(SanitizeXssTypeExtension::OPTION_ALLOWED_HTML_TAGS, []), + )); + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/AbstractLocaleFormattedType.php b/src/Spryker/Zed/Gui/Communication/Form/Type/AbstractLocaleFormattedType.php new file mode 100644 index 00000000..0ddd02e6 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/AbstractLocaleFormattedType.php @@ -0,0 +1,106 @@ + $options + * + * @return void + */ + public function buildView(FormView $view, FormInterface $form, array $options): void + { + $options = $this->provideMissingFormattingOptions($options); + + $view->vars[static::OPTION_GROUPING_SEPARATOR_SYMBOL] = $options[static::OPTION_GROUPING_SEPARATOR_SYMBOL]; + $view->vars[static::OPTION_DECIMAL_SEPARATOR_SYMBOL] = $options[static::OPTION_DECIMAL_SEPARATOR_SYMBOL]; + } + + /** + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver + * + * @return void + */ + public function configureOptions(OptionsResolver $resolver): void + { + parent::configureOptions($resolver); + + $resolver->setDefaults([ + static::OPTION_LOCALE => null, + ]); + + $resolver->setDefined([ + static::OPTION_GROUPING_SEPARATOR_SYMBOL, + static::OPTION_DECIMAL_SEPARATOR_SYMBOL, + ]); + + $resolver->setAllowedTypes(static::OPTION_GROUPING_SEPARATOR_SYMBOL, 'string'); + $resolver->setAllowedTypes(static::OPTION_DECIMAL_SEPARATOR_SYMBOL, 'string'); + } + + /** + * @param array $options + * + * @return array + */ + protected function provideMissingFormattingOptions(array $options): array + { + if ($this->isValidForFormatting($options)) { + return $options; + } + + $numberFormatConfigTransfer = $this->getFactory() + ->getUtilNumberService() + ->getNumberFormatConfig($options[static::OPTION_LOCALE]); + + $options[static::OPTION_GROUPING_SEPARATOR_SYMBOL] = $options[static::OPTION_GROUPING_SEPARATOR_SYMBOL] ?? $numberFormatConfigTransfer->getGroupingSeparatorSymbolOrFail(); + $options[static::OPTION_DECIMAL_SEPARATOR_SYMBOL] = $options[static::OPTION_DECIMAL_SEPARATOR_SYMBOL] ?? $numberFormatConfigTransfer->getDecimalSeparatorSymbolOrFail(); + + return $options; + } + + /** + * @param array $options + * + * @return bool + */ + protected function isValidForFormatting(array $options): bool + { + return isset( + $options[static::OPTION_DECIMAL_SEPARATOR_SYMBOL], + $options[static::OPTION_GROUPING_SEPARATOR_SYMBOL], + ); + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/AutosuggestType.php b/src/Spryker/Zed/Gui/Communication/Form/Type/AutosuggestType.php index 3c2c8a53..fa358fb7 100644 --- a/src/Spryker/Zed/Gui/Communication/Form/Type/AutosuggestType.php +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/AutosuggestType.php @@ -12,31 +12,34 @@ use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; /** * @method \Spryker\Zed\Gui\Communication\GuiCommunicationFactory getFactory() + * @method \Spryker\Zed\Gui\GuiConfig getConfig() */ class AutosuggestType extends AbstractType { + /** + * @var string + */ public const URL = 'url'; - public const PLACEHOLDER = 'placeholder'; - public function __construct() - { - } + /** + * @var string + */ + public const PLACEHOLDER = 'placeholder'; /** * @param \Symfony\Component\Form\FormView $view * @param \Symfony\Component\Form\FormInterface $form - * @param array $options + * @param array $options * * @return void */ - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { - $view->vars[self::URL] = $options[self::URL]; - $view->vars[self::PLACEHOLDER] = $options[self::PLACEHOLDER]; + $view->vars[static::URL] = $options[static::URL]; + $view->vars[static::PLACEHOLDER] = $options[static::PLACEHOLDER]; } /** @@ -44,22 +47,22 @@ public function buildView(FormView $view, FormInterface $form, array $options) * * @return void */ - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ - self::URL => '', - self::PLACEHOLDER => 'Select value', + static::URL => '', + static::PLACEHOLDER => 'Select value', ]); } /** - * @deprecated Use `configureOptions()` instead. + * @deprecated Use {@link configureOptions()} instead. * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver * * @return void */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function setDefaultOptions(OptionsResolver $resolver) { $this->configureOptions($resolver); } @@ -81,7 +84,7 @@ public function getBlockPrefix() } /** - * @deprecated Use `getBlockPrefix()` instead. + * @deprecated Use {@link getBlockPrefix()} instead. * * @return string */ diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/Extension/NoValidateTypeExtension.php b/src/Spryker/Zed/Gui/Communication/Form/Type/Extension/NoValidateTypeExtension.php index 71838dc4..5311a035 100644 --- a/src/Spryker/Zed/Gui/Communication/Form/Type/Extension/NoValidateTypeExtension.php +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/Extension/NoValidateTypeExtension.php @@ -15,11 +15,15 @@ class NoValidateTypeExtension extends AbstractTypeExtension { /** - * {@inheritdoc} + * {@inheritDoc} + * + * @param \Symfony\Component\Form\FormView $view + * @param \Symfony\Component\Form\FormInterface $form + * @param array $options * * @return void */ - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { $view->vars['attr'] = array_merge($view->vars['attr'], [ 'novalidate' => 'novalidate', @@ -27,10 +31,24 @@ public function buildView(FormView $view, FormInterface $form, array $options) } /** - * {@inheritdoc} + * {@inheritDoc} + * + * @return string */ public function getExtendedType() { return Form::class; } + + /** + * {@inheritDoc} + * + * @phpstan-return array> + * + * @return array + */ + public static function getExtendedTypes(): iterable + { + return [Form::class]; + } } diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/Extension/SanitizeXssTypeExtension.php b/src/Spryker/Zed/Gui/Communication/Form/Type/Extension/SanitizeXssTypeExtension.php new file mode 100644 index 00000000..4aa702d2 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/Extension/SanitizeXssTypeExtension.php @@ -0,0 +1,102 @@ +utilSanitizeXssService = $utilSanitizeService; + } + + /** + * @return iterable + */ + public static function getExtendedTypes(): iterable + { + return [ + TextType::class, + TextareaType::class, + ]; + } + + /** + * @return string + */ + public function getExtendedType(): string + { + return TextareaType::class; + } + + /** + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver + * + * @return void + */ + public function configureOptions(OptionsResolver $resolver): void + { + $resolver + ->setDefined([ + static::OPTION_SANITIZE_XSS, + static::OPTION_ALLOWED_ATTRIBUTES, + static::OPTION_ALLOWED_HTML_TAGS, + ]) + ->setDefaults([ + static::OPTION_SANITIZE_XSS => false, + static::OPTION_ALLOWED_ATTRIBUTES => [], + static::OPTION_ALLOWED_HTML_TAGS => [], + ]) + ->setAllowedTypes(static::OPTION_SANITIZE_XSS, 'bool') + ->setAllowedTypes(static::OPTION_ALLOWED_ATTRIBUTES, 'array') + ->setAllowedTypes(static::OPTION_ALLOWED_HTML_TAGS, 'array'); + } + + /** + * @param \Symfony\Component\Form\FormBuilderInterface $builder + * @param array $options + * + * @return void + */ + public function buildForm(FormBuilderInterface $builder, array $options): void + { + if ($options[static::OPTION_SANITIZE_XSS]) { + $builder->addEventSubscriber(new SanitizeXssListener($this->utilSanitizeXssService)); + } + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/FormattedMoneyType.php b/src/Spryker/Zed/Gui/Communication/Form/Type/FormattedMoneyType.php new file mode 100644 index 00000000..95f6f5c3 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/FormattedMoneyType.php @@ -0,0 +1,72 @@ +setDefault(static::OPTION_DISPLAY_CURRENCY, false); + } + + /** + * @param \Symfony\Component\Form\FormView $view + * @param \Symfony\Component\Form\FormInterface $form + * @param array $options + * + * @return void + */ + public function buildView(FormView $view, FormInterface $form, array $options): void + { + parent::buildView($view, $form, $options); + + $view->vars[static::OPTION_DISPLAY_CURRENCY] = $options[static::OPTION_DISPLAY_CURRENCY]; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/FormattedNumberType.php b/src/Spryker/Zed/Gui/Communication/Form/Type/FormattedNumberType.php new file mode 100644 index 00000000..f302e91f --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/FormattedNumberType.php @@ -0,0 +1,38 @@ + $options * * @return void */ - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { - $view->vars[self::OPTION_IMAGE_WIDTH] = $options[self::OPTION_IMAGE_WIDTH]; - $view->vars[self::OPTION_IMAGE_HEIGHT] = $options[self::OPTION_IMAGE_HEIGHT]; - $view->vars[self::OPTION_IMAGE_TITLE] = $options[self::OPTION_IMAGE_TITLE]; - $view->vars[self::OPTION_IMAGE_URL] = $options[self::OPTION_IMAGE_URL]; + $view->vars[static::OPTION_IMAGE_WIDTH] = $options[static::OPTION_IMAGE_WIDTH]; + $view->vars[static::OPTION_IMAGE_HEIGHT] = $options[static::OPTION_IMAGE_HEIGHT]; + $view->vars[static::OPTION_IMAGE_TITLE] = $options[static::OPTION_IMAGE_TITLE]; + $view->vars[static::OPTION_IMAGE_URL] = $options[static::OPTION_IMAGE_URL]; } /** @@ -43,13 +59,13 @@ public function buildView(FormView $view, FormInterface $form, array $options) * * @return void */ - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ - self::OPTION_IMAGE_WIDTH => null, - self::OPTION_IMAGE_HEIGHT => null, - self::OPTION_IMAGE_TITLE => null, - self::OPTION_IMAGE_URL => null, + static::OPTION_IMAGE_WIDTH => null, + static::OPTION_IMAGE_HEIGHT => null, + static::OPTION_IMAGE_TITLE => null, + static::OPTION_IMAGE_URL => null, ]); } diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/ParagraphType.php b/src/Spryker/Zed/Gui/Communication/Form/Type/ParagraphType.php index f5eb426b..f54083cb 100644 --- a/src/Spryker/Zed/Gui/Communication/Form/Type/ParagraphType.php +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/ParagraphType.php @@ -14,19 +14,23 @@ /** * @method \Spryker\Zed\Gui\Communication\GuiCommunicationFactory getFactory() + * @method \Spryker\Zed\Gui\GuiConfig getConfig() */ class ParagraphType extends AbstractType { + /** + * @var string + */ public const OPTION_TEXT = 'text'; /** * @param \Symfony\Component\Form\FormView $view * @param \Symfony\Component\Form\FormInterface $form - * @param array $options + * @param array $options * * @return void */ - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { $view->vars[static::OPTION_TEXT] = $options[static::OPTION_TEXT]; } @@ -36,7 +40,7 @@ public function buildView(FormView $view, FormInterface $form, array $options) * * @return void */ - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setRequired([ static::OPTION_TEXT, @@ -58,7 +62,7 @@ public function getBlockPrefix() } /** - * @deprecated Use `getBlockPrefix()` instead. + * @deprecated Use {@link getBlockPrefix()} instead. * * @return string */ diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/Select2ComboBoxType.php b/src/Spryker/Zed/Gui/Communication/Form/Type/Select2ComboBoxType.php index c2a74463..635677ef 100644 --- a/src/Spryker/Zed/Gui/Communication/Form/Type/Select2ComboBoxType.php +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/Select2ComboBoxType.php @@ -12,21 +12,21 @@ use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; /** * @method \Spryker\Zed\Gui\Communication\GuiCommunicationFactory getFactory() + * @method \Spryker\Zed\Gui\GuiConfig getConfig() */ class Select2ComboBoxType extends AbstractType { /** * @param \Symfony\Component\Form\FormView $view * @param \Symfony\Component\Form\FormInterface $form - * @param array $options + * @param array $options * * @return void */ - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { $view->vars['placeholder'] = $options['placeholder']; $view->vars['tags'] = $options['tags']; @@ -37,7 +37,7 @@ public function buildView(FormView $view, FormInterface $form, array $options) * * @return void */ - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'choices' => [], @@ -47,13 +47,13 @@ public function configureOptions(OptionsResolver $resolver) } /** - * @deprecated Use `configureOptions()` instead. + * @deprecated Use {@link configureOptions()} instead. * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver * * @return void */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function setDefaultOptions(OptionsResolver $resolver) { $this->configureOptions($resolver); } @@ -75,7 +75,7 @@ public function getBlockPrefix() } /** - * @deprecated Use `getBlockPrefix()` instead. + * @deprecated Use {@link getBlockPrefix()} instead. * * @return string */ diff --git a/src/Spryker/Zed/Gui/Communication/Form/Type/SelectType.php b/src/Spryker/Zed/Gui/Communication/Form/Type/SelectType.php index bd1498cf..dd6536d8 100644 --- a/src/Spryker/Zed/Gui/Communication/Form/Type/SelectType.php +++ b/src/Spryker/Zed/Gui/Communication/Form/Type/SelectType.php @@ -12,27 +12,34 @@ use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; use Symfony\Component\OptionsResolver\OptionsResolver; -use Symfony\Component\OptionsResolver\OptionsResolverInterface; /** * @method \Spryker\Zed\Gui\Communication\GuiCommunicationFactory getFactory() + * @method \Spryker\Zed\Gui\GuiConfig getConfig() */ class SelectType extends AbstractType { + /** + * @var string + */ public const URL = 'url'; + + /** + * @var string + */ public const PLACEHOLDER = 'placeholder'; /** * @param \Symfony\Component\Form\FormView $view * @param \Symfony\Component\Form\FormInterface $form - * @param array $options + * @param array $options * * @return void */ - public function buildView(FormView $view, FormInterface $form, array $options) + public function buildView(FormView $view, FormInterface $form, array $options): void { - $view->vars[self::URL] = $options[self::URL]; - $view->vars[self::PLACEHOLDER] = $options[self::PLACEHOLDER]; + $view->vars[static::URL] = $options[static::URL]; + $view->vars[static::PLACEHOLDER] = $options[static::PLACEHOLDER]; } /** @@ -40,22 +47,22 @@ public function buildView(FormView $view, FormInterface $form, array $options) * * @return void */ - public function configureOptions(OptionsResolver $resolver) + public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ - self::URL => '', - self::PLACEHOLDER => 'Select value', + static::URL => '', + static::PLACEHOLDER => 'Select value', ]); } /** - * @deprecated Use `configureOptions()` instead. + * @deprecated Use {@link configureOptions()} instead. * - * @param \Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver + * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver * * @return void */ - public function setDefaultOptions(OptionsResolverInterface $resolver) + public function setDefaultOptions(OptionsResolver $resolver) { $this->configureOptions($resolver); } diff --git a/src/Spryker/Zed/Gui/Communication/GuiCommunicationFactory.php b/src/Spryker/Zed/Gui/Communication/GuiCommunicationFactory.php index fa43888b..829e1414 100644 --- a/src/Spryker/Zed/Gui/Communication/GuiCommunicationFactory.php +++ b/src/Spryker/Zed/Gui/Communication/GuiCommunicationFactory.php @@ -7,8 +7,90 @@ namespace Spryker\Zed\Gui\Communication; +use Spryker\Shared\Twig\Loader\FilesystemLoader; +use Spryker\Shared\Twig\Loader\FilesystemLoaderInterface; +use Spryker\Zed\Gui\Communication\Extender\NumberFormatterTwigFilterExtender; +use Spryker\Zed\Gui\Communication\Extender\NumberFormatterTwigFilterExtenderInterface; +use Spryker\Zed\Gui\Communication\Filter\NumberFormatterTwigFilterFactory; +use Spryker\Zed\Gui\Communication\Filter\NumberFormatterTwigFilterFactoryInterface; +use Spryker\Zed\Gui\Communication\Form\Type\Extension\NoValidateTypeExtension; +use Spryker\Zed\Gui\Communication\Form\Type\Extension\SanitizeXssTypeExtension; +use Spryker\Zed\Gui\Dependency\Service\GuiToUtilNumberServiceInterface; +use Spryker\Zed\Gui\Dependency\Service\GuiToUtilSanitizeXssServiceInterface; +use Spryker\Zed\Gui\GuiDependencyProvider; use Spryker\Zed\Kernel\Communication\AbstractCommunicationFactory; +use Symfony\Component\Form\FormTypeExtensionInterface; +/** + * @method \Spryker\Zed\Gui\GuiConfig getConfig() + */ class GuiCommunicationFactory extends AbstractCommunicationFactory { + /** + * @return \Spryker\Shared\Twig\Loader\FilesystemLoaderInterface + */ + public function createFilesystemLoader(): FilesystemLoaderInterface + { + return new FilesystemLoader($this->getConfig()->getTemplatePaths()); + } + + /** + * @return array<\Twig\TwigFilter> + */ + public function getTwigFilters(): array + { + return $this->getProvidedDependency(GuiDependencyProvider::GUI_TWIG_FILTERS); + } + + /** + * @return \Symfony\Component\Form\FormTypeExtensionInterface + */ + public function createNoValidateFormTypeExtension(): FormTypeExtensionInterface + { + return new NoValidateTypeExtension(); + } + + /** + * @return \Symfony\Component\Form\FormTypeExtensionInterface + */ + public function createSanitizeXssTypeExtension(): FormTypeExtensionInterface + { + return new SanitizeXssTypeExtension($this->getUtilSanitizeXssService()); + } + + /** + * @return \Spryker\Zed\Gui\Communication\Extender\NumberFormatterTwigFilterExtenderInterface + */ + public function createNumberFormatterTwigFilterExtender(): NumberFormatterTwigFilterExtenderInterface + { + return new NumberFormatterTwigFilterExtender( + $this->createNumberFormatterTwigFilterFactory(), + ); + } + + /** + * @return \Spryker\Zed\Gui\Communication\Filter\NumberFormatterTwigFilterFactoryInterface + */ + public function createNumberFormatterTwigFilterFactory(): NumberFormatterTwigFilterFactoryInterface + { + return new NumberFormatterTwigFilterFactory( + $this->getUtilNumberService(), + ); + } + + /** + * @return \Spryker\Zed\Gui\Dependency\Service\GuiToUtilSanitizeXssServiceInterface + */ + public function getUtilSanitizeXssService(): GuiToUtilSanitizeXssServiceInterface + { + return $this->getProvidedDependency(GuiDependencyProvider::SERVICE_UTIL_SANITIZE_XSS); + } + + /** + * @return \Spryker\Zed\Gui\Dependency\Service\GuiToUtilNumberServiceInterface + */ + public function getUtilNumberService(): GuiToUtilNumberServiceInterface + { + return $this->getProvidedDependency(GuiDependencyProvider::SERVICE_UTIL_NUMBER); + } } diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php index ccaff5c1..77eaeb75 100644 --- a/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php +++ b/src/Spryker/Zed/Gui/Communication/Plugin/ConstraintsPlugin.php @@ -58,12 +58,18 @@ * @deprecated This class will be removed. * * @method \Spryker\Zed\Gui\Communication\GuiCommunicationFactory getFactory() + * @method \Spryker\Zed\Gui\GuiConfig getConfig() */ class ConstraintsPlugin extends AbstractPlugin { + /** + * @var int + */ public const MAXIMUM_LENGTH_CONSTRAINT = 255; /** + * {@inheritDoc} + * * @api * * @return array @@ -73,11 +79,13 @@ public function getMandatoryConstraints() return [ $this->createConstraintRequired(), $this->createConstraintNotBlank(), - $this->createConstraintLength(['max' => self::MAXIMUM_LENGTH_CONSTRAINT]), + $this->createConstraintLength(['max' => static::MAXIMUM_LENGTH_CONSTRAINT]), ]; } /** + * {@inheritDoc} + * * @api * * @return array @@ -91,6 +99,8 @@ public function getRequiredConstraints() } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -103,6 +113,8 @@ public function createConstraintNotBlank($options = null) } /** + * {@inheritDoc} + * * @api * * @return \Symfony\Component\Validator\Constraints\Blank @@ -113,6 +125,8 @@ public function createConstraintBlank() } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -125,6 +139,8 @@ public function createConstraintNotNull($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -137,6 +153,8 @@ public function createConstraintNull($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -149,6 +167,8 @@ public function createConstraintTrue($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -161,6 +181,8 @@ public function createConstraintFalse($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -173,6 +195,8 @@ public function createConstraintType($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -185,6 +209,8 @@ public function createConstraintEmail($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -197,6 +223,8 @@ public function createConstraintLength($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -209,6 +237,8 @@ public function createConstraintUrl($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -221,6 +251,8 @@ public function createConstraintRegex($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -233,6 +265,8 @@ public function createConstraintIp($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -245,6 +279,8 @@ public function createConstraintUuid($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -257,6 +293,8 @@ public function createConstraintRange($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -269,6 +307,8 @@ public function createConstraintEqualTo($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -281,6 +321,8 @@ public function createConstraintNotEqualTo($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -293,6 +335,8 @@ public function createConstraintIdenticalTo($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -305,6 +349,8 @@ public function createConstraintNotIdenticalTo($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -317,6 +363,8 @@ public function createConstraintLessThan($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -329,6 +377,8 @@ public function createConstraintLessThanOrEqual($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -341,6 +391,8 @@ public function createConstraintGreaterThan($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -353,6 +405,8 @@ public function createConstraintGreaterThanOrEqual($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -365,6 +419,8 @@ public function createConstraintDate($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -377,6 +433,8 @@ public function createConstraintDateTime($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -389,6 +447,8 @@ public function createConstraintTime($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -401,6 +461,8 @@ public function createConstraintChoice($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -413,6 +475,8 @@ public function createConstraintCollection($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -425,6 +489,8 @@ public function createConstraintCount($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -437,6 +503,8 @@ public function createConstraintLanguage($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -449,6 +517,8 @@ public function createConstraintLocale($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -461,6 +531,8 @@ public function createConstraintCountry($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -473,6 +545,8 @@ public function createConstraintFile($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -485,6 +559,8 @@ public function createConstraintImage($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -497,6 +573,8 @@ public function createConstraintCardScheme($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -509,6 +587,8 @@ public function createConstraintCurrency($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -521,6 +601,8 @@ public function createConstraintLuhn($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -533,6 +615,8 @@ public function createConstraintIban($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -545,6 +629,8 @@ public function createConstraintIsbn($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -557,6 +643,8 @@ public function createConstraintIssn($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -569,6 +657,8 @@ public function createConstraintCallback($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -581,6 +671,8 @@ public function createConstraintExpression($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -593,6 +685,8 @@ public function createConstraintAll($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -605,6 +699,8 @@ public function createConstraintUserPassword($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options @@ -617,6 +713,8 @@ public function createConstraintValid($options = null) } /** + * {@inheritDoc} + * * @api * * @param mixed $options diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Form/NoValidateFormTypeExtensionFormPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Form/NoValidateFormTypeExtensionFormPlugin.php new file mode 100644 index 00000000..c25781ec --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Form/NoValidateFormTypeExtensionFormPlugin.php @@ -0,0 +1,40 @@ +addTypeExtension( + $this->getFactory()->createNoValidateFormTypeExtension(), + ); + + return $formFactoryBuilder; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Form/SanitizeXssTypeExtensionFormPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Form/SanitizeXssTypeExtensionFormPlugin.php new file mode 100644 index 00000000..6837ceaf --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Form/SanitizeXssTypeExtensionFormPlugin.php @@ -0,0 +1,39 @@ +addTypeExtension($this->getFactory()->createSanitizeXssTypeExtension()); + + return $formFactoryBuilder; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/ServiceProvider/FormTypeExtensionServiceProvider.php b/src/Spryker/Zed/Gui/Communication/Plugin/ServiceProvider/FormTypeExtensionServiceProvider.php new file mode 100644 index 00000000..6bc738e9 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/ServiceProvider/FormTypeExtensionServiceProvider.php @@ -0,0 +1,45 @@ +share(function () { + return [ + new NoValidateTypeExtension(), + ]; + }); + } + + /** + * @param \Silex\Application $app + * + * @return void + */ + public function boot(Application $app) + { + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/ServiceProvider/GuiTwigExtensionServiceProvider.php b/src/Spryker/Zed/Gui/Communication/Plugin/ServiceProvider/GuiTwigExtensionServiceProvider.php index cc067089..797eb09c 100644 --- a/src/Spryker/Zed/Gui/Communication/Plugin/ServiceProvider/GuiTwigExtensionServiceProvider.php +++ b/src/Spryker/Zed/Gui/Communication/Plugin/ServiceProvider/GuiTwigExtensionServiceProvider.php @@ -15,7 +15,10 @@ use Twig\Environment; /** + * @deprecated Use {@link \Spryker\Zed\Gui\Communication\Plugin\Twig\GuiFilterTwigPlugin} instead. + * * @method \Spryker\Zed\Gui\Communication\GuiCommunicationFactory getFactory() + * @method \Spryker\Zed\Gui\GuiConfig getConfig() */ class GuiTwigExtensionServiceProvider extends AbstractPlugin implements ServiceProviderInterface { @@ -30,12 +33,11 @@ public function register(Application $app) $app['twig'] = $app->share( $app->extend('twig', function (Environment $twig) { - $this->registerTwigFunctions($twig); $this->registerTwigFilters($twig); return $twig; - }) + }), ); } @@ -64,7 +66,7 @@ protected function registerTwigFilters(Environment $twig) } /** - * @return \Twig\TwigFunction[] + * @return array<\Twig\TwigFunction> */ protected function getTwigFunctions() { @@ -73,7 +75,7 @@ protected function getTwigFunctions() } /** - * @return \Twig\TwigFilter[] + * @return array<\Twig\TwigFilter> */ protected function getTwigFilters() { diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/AssetsPathFunction.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/AssetsPathFunction.php deleted file mode 100644 index 96375258..00000000 --- a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/AssetsPathFunction.php +++ /dev/null @@ -1,33 +0,0 @@ -addFunction($this->getZedAssetsPathFunction()); + + return $twig; + } + + /** + * @return \Twig\TwigFunction + */ + protected function getZedAssetsPathFunction(): TwigFunction + { + return new TwigFunction(static::FUNCTION_NAME_ASSETS_PATH, function (string $path) { + return $this->getZedAssetsPathByName($path); + }, ['is_safe' => ['html']]); + } + + /** + * @param string $path + * + * @return string + */ + protected function getZedAssetsPathByName(string $path): string + { + return rtrim($this->getConfig()->getZedAssetsPath(), '/') . '/' . $path; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/AbstractButtonFunction.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/AbstractButtonFunction.php deleted file mode 100644 index 6d8a8f58..00000000 --- a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/AbstractButtonFunction.php +++ /dev/null @@ -1,63 +0,0 @@ -getIcon(); - } - - if (!array_key_exists(ButtonUrlGenerator::BUTTON_CLASS, $options)) { - $options[ButtonUrlGenerator::BUTTON_CLASS] = $this->getButtonClass(); - } - - if (!array_key_exists(ButtonUrlGenerator::DEFAULT_CSS_CLASSES, $options)) { - $options[ButtonUrlGenerator::DEFAULT_CSS_CLASSES] = static::DEFAULT_CSS_CLASSES; - } - - $button = $this->createButtonUrlGenerator($url, $title, $options); - - return $button->generate(); - }; - } - - /** - * @param string $url - * @param string $title - * @param array $options - * - * @return \Spryker\Zed\Gui\Communication\Plugin\Twig\Buttons\ButtonUrlGenerator - */ - protected function createButtonUrlGenerator($url, $title, array $options) - { - $button = new ButtonUrlGenerator($url, $title, $options); - - return $button; - } -} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/AbstractButtonTwig.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/AbstractButtonTwig.php new file mode 100644 index 00000000..bce833f3 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/AbstractButtonTwig.php @@ -0,0 +1,94 @@ +addFunction($this->getButtonGroupFunction()); + + return $twig; + } + + /** + * @return \Twig\TwigFunction + */ + protected function getButtonGroupFunction(): TwigFunction + { + return new TwigFunction($this->getFunctionName(), function ($url, $title, $options = []) { + if (!array_key_exists(ButtonUrlGenerator::ICON, $options)) { + $options[ButtonUrlGenerator::ICON] = $this->getIcon(); + } + + if (!array_key_exists(ButtonUrlGenerator::BUTTON_CLASS, $options)) { + $options[ButtonUrlGenerator::BUTTON_CLASS] = $this->getButtonClass(); + } + + if (!array_key_exists(ButtonUrlGenerator::DEFAULT_CSS_CLASSES, $options)) { + $options[ButtonUrlGenerator::DEFAULT_CSS_CLASSES] = $this->getButtonDefaultClass(); + } + + $buttonUrlGenerator = $this->createButtonUrlGenerator($url, $title, $options); + + return $buttonUrlGenerator->generate(); + }, ['is_safe' => ['html']]); + } + + /** + * @param string $url + * @param string $title + * @param array $options + * + * @return \Spryker\Zed\Gui\Communication\Plugin\Twig\Buttons\UrlGeneratorInterface + */ + protected function createButtonUrlGenerator($url, $title, array $options): UrlGeneratorInterface + { + return new ButtonUrlGenerator($url, $title, $options); + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/AbstractActionButtonFunction.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/AbstractActionButtonFunction.php deleted file mode 100644 index 0ddf89ca..00000000 --- a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/AbstractActionButtonFunction.php +++ /dev/null @@ -1,15 +0,0 @@ - '; - } - - /** - * @return string - */ - protected function getFunctionName() - { - return 'backActionButton'; - } -} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/BackActionButtonTwigPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/BackActionButtonTwigPlugin.php new file mode 100644 index 00000000..95d81195 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/BackActionButtonTwigPlugin.php @@ -0,0 +1,49 @@ + '; + } + + /** + * @return string + */ + protected function getButtonDefaultClass(): string + { + return 'btn-sm btn-view btn-outline safe-submit'; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/CreateActionButtonFunction.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/CreateActionButtonFunction.php deleted file mode 100644 index 1d7cb02c..00000000 --- a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/CreateActionButtonFunction.php +++ /dev/null @@ -1,35 +0,0 @@ - '; - } - - /** - * @return string - */ - protected function getFunctionName() - { - return 'createActionButton'; - } -} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/CreateActionButtonTwigPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/CreateActionButtonTwigPlugin.php new file mode 100644 index 00000000..f4b126c0 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/CreateActionButtonTwigPlugin.php @@ -0,0 +1,49 @@ + '; - } - - /** - * @return string - */ - protected function getFunctionName() - { - return 'editActionButton'; - } -} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/EditActionButtonTwigPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/EditActionButtonTwigPlugin.php new file mode 100644 index 00000000..70de28e5 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/EditActionButtonTwigPlugin.php @@ -0,0 +1,49 @@ + '; + } + + /** + * @return string + */ + protected function getButtonDefaultClass(): string + { + return 'btn-sm btn-outline safe-submit'; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/RemoveActionButtonFunction.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/RemoveActionButtonFunction.php deleted file mode 100644 index 9604b42b..00000000 --- a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/RemoveActionButtonFunction.php +++ /dev/null @@ -1,35 +0,0 @@ - '; - } - - /** - * @return string - */ - protected function getFunctionName() - { - return 'removeActionButton'; - } -} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/RemoveActionButtonTwigPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/RemoveActionButtonTwigPlugin.php new file mode 100644 index 00000000..4ab121b5 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/RemoveActionButtonTwigPlugin.php @@ -0,0 +1,49 @@ + '; + } + + /** + * @return string + */ + protected function getButtonDefaultClass(): string + { + return 'btn-sm btn-outline safe-submit'; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/ViewActionButtonFunction.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/ViewActionButtonFunction.php deleted file mode 100644 index af8df6b7..00000000 --- a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/ViewActionButtonFunction.php +++ /dev/null @@ -1,35 +0,0 @@ - '; - } - - /** - * @return string - */ - protected function getFunctionName() - { - return 'viewActionButton'; - } -} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/ViewActionButtonTwigPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/ViewActionButtonTwigPlugin.php new file mode 100644 index 00000000..6edceeee --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/Action/ViewActionButtonTwigPlugin.php @@ -0,0 +1,49 @@ +getDefaultIcon(); - } - - if (!array_key_exists(ButtonGroupUrlGenerator::BUTTON_CLASS, $options)) { - $options[ButtonGroupUrlGenerator::BUTTON_CLASS] = $this->getDefaultButtonClass(); - } - - $button = $this->createButtonUrlGenerator($buttons, $title, $options); - - return $button->generate(); - }; - } - - /** - * @return string - */ - protected function getDefaultButtonClass() - { - return 'btn-view'; - } - - /** - * @return string - */ - protected function getDefaultIcon() - { - return ' '; - } - - /** - * @param array $buttons - * @param string $title - * @param array $options - * - * @return \Spryker\Zed\Gui\Communication\Plugin\Twig\Buttons\ButtonGroupUrlGenerator - */ - protected function createButtonUrlGenerator(array $buttons, $title, array $options) - { - return new ButtonGroupUrlGenerator($buttons, $title, $options); - } - - /** - * @return string - */ - protected function getFunctionName() - { - return 'groupActionButtons'; - } -} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/ButtonGroupTwigPlugin.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/ButtonGroupTwigPlugin.php new file mode 100644 index 00000000..f3048733 --- /dev/null +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/ButtonGroupTwigPlugin.php @@ -0,0 +1,92 @@ +addFunction($this->getButtonGroupFunction()); + + return $twig; + } + + /** + * @return \Twig\TwigFunction + */ + protected function getButtonGroupFunction(): TwigFunction + { + return new TwigFunction(static::FUNCTION_NAME_GROUP_ACTION_BUTTONS, function (array $buttons, string $title, array $options = []) { + if (!array_key_exists(ButtonGroupUrlGenerator::ICON, $options)) { + $options[ButtonGroupUrlGenerator::ICON] = $this->getDefaultIcon(); + } + + if (!array_key_exists(ButtonGroupUrlGenerator::BUTTON_CLASS, $options)) { + $options[ButtonGroupUrlGenerator::BUTTON_CLASS] = $this->getDefaultButtonClass(); + } + + $buttonGroupUrlGenerator = $this->createButtonGroupUrlGenerator($buttons, $title, $options); + + return $buttonGroupUrlGenerator->generate(); + }, ['is_safe' => ['html']]); + } + + /** + * @param array $buttons + * @param string $title + * @param array $options + * + * @return \Spryker\Zed\Gui\Communication\Plugin\Twig\Buttons\UrlGeneratorInterface + */ + protected function createButtonGroupUrlGenerator(array $buttons, string $title, array $options): UrlGeneratorInterface + { + return new ButtonGroupUrlGenerator($buttons, $title, $options); + } + + /** + * @return string + */ + protected function getDefaultButtonClass(): string + { + return 'btn-view'; + } + + /** + * @return string + */ + protected function getDefaultIcon(): string + { + return ' '; + } +} diff --git a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/ButtonGroupUrlGenerator.php b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/ButtonGroupUrlGenerator.php index a2a67b4e..88050d50 100644 --- a/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/ButtonGroupUrlGenerator.php +++ b/src/Spryker/Zed/Gui/Communication/Plugin/Twig/Buttons/ButtonGroupUrlGenerator.php @@ -7,9 +7,16 @@ namespace Spryker\Zed\Gui\Communication\Plugin\Twig\Buttons; -class ButtonGroupUrlGenerator +class ButtonGroupUrlGenerator implements UrlGeneratorInterface { + /** + * @var string + */ public const BUTTON_CLASS = 'class'; + + /** + * @var string + */ public const ICON = 'icon'; /** @@ -23,14 +30,14 @@ class ButtonGroupUrlGenerator protected $title; /** - * @var array + * @var array */ protected $options = []; /** * @param array $buttons * @param string $title - * @param array $options + * @param array $options */ public function __construct(array $buttons, $title, array $options) { @@ -53,7 +60,7 @@ public function generate() $class, $optionParams, $icon, - $this->title + $this->title, ); $html .= '