Compare commits

...

936 Commits

Author SHA1 Message Date
REJack
c641d7f571 update docs assets 2021-03-22 08:30:50 +01:00
REJack
229ec8e5c5 update dist files 2021-03-22 08:30:25 +01:00
REJack
c45bfe894f bump version number 2021-03-22 08:29:43 +01:00
dependabot[bot]
2f5db1b9c0 Bump eslint-plugin-unicorn from 28.0.2 to 29.0.0 (#3527)
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 28.0.2 to 29.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v28.0.2...v29.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-22 07:39:09 +01:00
Daniel
0e5d965059 Fix: sidebar light in dark-mode (#3526) 2021-03-21 19:47:04 +01:00
REJack
c81bc3cd93 bump bundlewatch size 2021-03-21 12:40:26 +01:00
REJack
aceb8c6afb bump bundlewatch sizes 2021-03-20 23:12:43 +01:00
REJack
9cd655d705 add permanent-btn-iframe-close class 2021-03-20 23:08:32 +01:00
REJack
d7678dbbfe Merge pull request #3525 from danny007in/example-branch
add datetime example
2021-03-20 22:10:29 +01:00
REJack
5a2c03c6e9 update plugin files 2021-03-20 21:39:14 +01:00
REJack
164354c84f update dependencies & devDependencies 2021-03-20 21:38:29 +01:00
REJack
22e087afcf fixed nav tabs border inside card header 2021-03-20 21:35:27 +01:00
Daniel
c09d84254c update url of Bootstrap 4 - Tempus Dominus 2021-03-20 23:23:27 +05:30
Daniel
4e5cb3e26b add datetime example 2021-03-20 23:21:36 +05:30
REJack
4b73f9cf92 Merge pull request #3522 from danny007in/dark-mode-in-docs
Enhance: dark-mode in docs
2021-03-20 18:29:15 +01:00
REJack
3810eb2ab0 add mt-2 to sidebar-search in docs 2021-03-20 18:28:32 +01:00
Daniel
e7ed74d4ea Enhance: dark-mode in docs 2021-03-18 22:44:30 +05:30
surfskidude
18bc68fc1a Adding Lua Server Pages implementation info in Docs (#3512) 2021-03-16 18:08:47 +05:30
Jouni Vanhanen
4a43243ea7 update docs (#3511) 2021-03-16 03:55:08 +05:30
dependabot[bot]
ce8e76684c Bump rollup from 2.40.0 to 2.41.2 (#3509)
Bumps [rollup](https://github.com/rollup/rollup) from 2.40.0 to 2.41.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.40.0...v2.41.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 18:10:01 +05:30
dependabot[bot]
5f0f0aafb0 Bump datatables.net-bs4 from 1.10.23 to 1.10.24 (#3504)
Bumps [datatables.net-bs4](https://datatables.net) from 1.10.23 to 1.10.24.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:50:48 +05:30
dependabot[bot]
2517f6375d Bump @babel/core from 7.13.8 to 7.13.10 (#3503)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.13.8 to 7.13.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.10/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:50:28 +05:30
dependabot[bot]
7ac5e82a8f Bump datatables.net from 1.10.23 to 1.10.24 (#3508)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.10.23 to 1.10.24.
- [Release notes](https://github.com/DataTables/Dist-DataTables/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.10.23...1.10.24)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:41:00 +05:30
dependabot[bot]
e32abe9bf6 Bump @babel/preset-env from 7.13.9 to 7.13.10 (#3506)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.13.9 to 7.13.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.10/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:26:44 +05:30
dependabot[bot]
b20e3deefd Bump postcss from 8.2.7 to 8.2.8 (#3507)
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.7 to 8.2.8.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.7...8.2.8)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:24:33 +05:30
dependabot[bot]
d96ce31aff Bump eslint from 7.21.0 to 7.22.0 (#3505)
Bumps [eslint](https://github.com/eslint/eslint) from 7.21.0 to 7.22.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.21.0...v7.22.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:23:54 +05:30
dependabot[bot]
e300d811ba Bump datatables.net-buttons-bs4 from 1.6.5 to 1.7.0 (#3502)
Bumps [datatables.net-buttons-bs4](https://datatables.net) from 1.6.5 to 1.7.0.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:21:39 +05:30
dependabot[bot]
48ba2b4eed Bump datatables.net-select-bs4 from 1.3.1 to 1.3.2 (#3501)
Bumps [datatables.net-select-bs4](https://datatables.net) from 1.3.1 to 1.3.2.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:21:01 +05:30
dependabot[bot]
16c8afb131 Bump dropzone from 5.8.0 to 5.8.1 (#3500)
Bumps [dropzone](https://github.com/dropzone/dropzone) from 5.8.0 to 5.8.1.
- [Release notes](https://github.com/dropzone/dropzone/releases)
- [Changelog](https://github.com/dropzone/dropzone/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dropzone/dropzone/compare/v5.8.0...v5.8.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:20:29 +05:30
dependabot[bot]
2d3821cb2b Bump uplot from 1.6.5 to 1.6.7 (#3499)
Bumps [uplot](https://github.com/leeoniya/uPlot) from 1.6.5 to 1.6.7.
- [Release notes](https://github.com/leeoniya/uPlot/releases)
- [Commits](https://github.com/leeoniya/uPlot/compare/1.6.5...1.6.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-15 17:20:05 +05:30
REJack
9e85a91617 Merge pull request #3496 from danny007in/iframe-patch
mobile view fix in iframe
2021-03-13 15:55:11 +01:00
REJack
ed271572b4 Merge pull request #3492 from danny007in/enhance-dark-mode
Enhance: dark mode
2021-03-13 15:08:08 +01:00
REJack
9540815f97 add overflow-hidden to iframe navbar 2021-03-13 15:06:13 +01:00
Daniel
6f396ae19b mobile view fix in iframe 2021-03-12 22:54:29 +05:30
Daniel
da7da3d658 Update index.html 2021-03-12 22:33:44 +05:30
Daniel
a75b272ab3 Update _variables-alt.scss 2021-03-12 22:33:39 +05:30
Daniel
85bf13b859 Update .bundlewatch.config.json 2021-03-10 23:07:02 +05:30
Daniel
31e665add1 upgrade dark mode 2021-03-10 23:07:01 +05:30
Daniel
1ea03fc691 root color for dark mode 2021-03-10 01:13:48 +05:30
Daniel
f2e1f98dc8 import varilable-alt 2021-03-10 01:04:37 +05:30
Daniel
a01ec7a1fe Fix: visible issue in touch device (#3491) 2021-03-09 14:40:02 +01:00
dependabot[bot]
bb31c555ec Bump autoprefixer from 10.2.4 to 10.2.5 (#3482)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel <50356015+danny007in@users.noreply.github.com>
2021-03-08 19:36:21 +05:30
dependabot[bot]
abc0838797 Bump jquery from 3.5.1 to 3.6.0 (#3481)
Bumps [jquery](https://github.com/jquery/jquery) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.5.1...3.6.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 18:17:49 +05:30
dependabot[bot]
d8c7c5d06f Bump stylelint from 13.11.0 to 13.12.0 (#3487)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.11.0 to 13.12.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.11.0...13.12.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 17:59:11 +05:30
dependabot[bot]
782f10b6c6 Bump postcss from 8.2.6 to 8.2.7 (#3486)
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.6 to 8.2.7.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.6...8.2.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 17:58:26 +05:30
dependabot[bot]
4da1a6fa50 Bump dropzone from 5.7.6 to 5.8.0 (#3485)
Bumps [dropzone](https://github.com/dropzone/dropzone) from 5.7.6 to 5.8.0.
- [Release notes](https://github.com/dropzone/dropzone/releases)
- [Changelog](https://github.com/dropzone/dropzone/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dropzone/dropzone/compare/v5.7.6...v5.8.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 17:57:25 +05:30
dependabot[bot]
447c26bc1f Bump clean-css-cli from 5.2.0 to 5.2.1 (#3484)
Bumps [clean-css-cli](https://github.com/jakubpawlowicz/clean-css-cli) from 5.2.0 to 5.2.1.
- [Release notes](https://github.com/jakubpawlowicz/clean-css-cli/releases)
- [Changelog](https://github.com/jakubpawlowicz/clean-css-cli/blob/master/History.md)
- [Commits](https://github.com/jakubpawlowicz/clean-css-cli/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 17:56:48 +05:30
dependabot[bot]
56bfb4a913 Bump @babel/preset-env from 7.13.8 to 7.13.9 (#3483)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-08 17:55:52 +05:30
REJack
dbf73e07ca add markup with default iframe tab in docs 2021-03-04 08:10:05 +01:00
REJack
5b19f5e9aa enhanced IFrame plugin
- fix error throw
- add tab close button hide/show with hover/focus
2021-03-04 08:04:09 +01:00
REJack
31f647fa1b update codemirror plugin files 2021-03-04 07:56:19 +01:00
REJack
20079d7985 fix card-widget docs demo & fix css for maximized card 2021-03-04 07:48:16 +01:00
dependabot[bot]
5a4d10686d Bump @babel/core from 7.12.17 to 7.13.8 (#3463)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.17 to 7.13.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.8/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-01 17:57:18 +05:30
dependabot[bot]
34147172d0 Bump rollup from 2.39.0 to 2.40.0 (#3464)
Bumps [rollup](https://github.com/rollup/rollup) from 2.39.0 to 2.40.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.39.0...v2.40.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-01 13:10:25 +05:30
dependabot[bot]
30c09b5d8e Bump lockfile-lint from 4.6.1 to 4.6.2 (#3462)
Bumps [lockfile-lint](https://github.com/lirantal/lockfile-lint) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/lirantal/lockfile-lint/releases)
- [Commits](https://github.com/lirantal/lockfile-lint/compare/lockfile-lint@4.6.1...lockfile-lint@4.6.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-01 13:08:07 +05:30
dependabot[bot]
291d5a8863 Bump eslint from 7.20.0 to 7.21.0 (#3461)
Bumps [eslint](https://github.com/eslint/eslint) from 7.20.0 to 7.21.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.20.0...v7.21.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-01 13:07:18 +05:30
dependabot[bot]
0edf528566 Bump codemirror from 5.59.3 to 5.59.4 (#3460)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.59.3 to 5.59.4.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.59.3...5.59.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-01 13:04:12 +05:30
dependabot[bot]
fab4838824 Bump @babel/preset-env from 7.12.17 to 7.13.8 (#3459)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.17 to 7.13.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.13.8/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-01 13:02:45 +05:30
REJack
db941e94d6 Merge pull request #3458 from hkvstore/expandable-table
Improve expandable table
2021-02-28 20:58:08 +01:00
eworld
daa448d4df Add button with icon example 2021-02-27 12:43:51 +00:00
eworld
ee740e97e4 Rename selector name
- Rename SELECTOR_BODY as SELECTOR_EXPANDABLE_BODY
2021-02-27 12:10:43 +00:00
eworld
b4a4463240 Improve expandable table 2021-02-27 11:56:00 +00:00
REJack
0e9713c905 Merge pull request #3430 from danny007in/docs-b
Docs, html, js minor changes
2021-02-25 14:58:43 +01:00
REJack
7426bf25ec Merge pull request #3455 from danny007in/sidebar-light-color-fix
fix sidebar light text color
2021-02-25 14:58:32 +01:00
Daniel
76c24279df Update .bundlewatch.config.json 2021-02-25 18:49:25 +05:30
Daniel
33a81d39f7 fix sidebar light 2021-02-25 18:49:25 +05:30
REJack
1ac5eeaaa1 update plugin files 2021-02-23 12:22:20 +01:00
dependabot[bot]
d5f41bfd34 Bump eslint-plugin-unicorn from 28.0.0 to 28.0.2 (#3448)
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 28.0.0 to 28.0.2.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v28.0.0...v28.0.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 17:59:10 +05:30
dependabot[bot]
815bec244f Bump eslint-config-xo from 0.34.0 to 0.35.0 (#3447)
Bumps [eslint-config-xo](https://github.com/xojs/eslint-config-xo) from 0.34.0 to 0.35.0.
- [Release notes](https://github.com/xojs/eslint-config-xo/releases)
- [Commits](https://github.com/xojs/eslint-config-xo/compare/v0.34.0...v0.35.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 17:48:31 +05:30
REJack
af957c73b4 Merge pull request #3436 from ColorlibHQ/dependabot/npm_and_yarn/clean-css-cli-5.2.0
Bump clean-css-cli from 4.3.0 to 5.2.0
2021-02-22 08:56:54 +01:00
Daniel
0f694c624d small patch fix at switchTab in iFrame (#3435) 2021-02-22 08:50:37 +01:00
Daniel
1162648128 fix css-minify (#3446) 2021-02-22 08:49:46 +01:00
Daniel
27cce3fee7 Merge branch 'master' into dependabot/npm_and_yarn/clean-css-cli-5.2.0 2021-02-22 12:30:55 +05:30
dependabot[bot]
a66d5d7811 Bump @babel/preset-env from 7.12.16 to 7.12.17 (#3444)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.16 to 7.12.17.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.17/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel <50356015+danny007in@users.noreply.github.com>
2021-02-22 12:15:09 +05:30
dependabot[bot]
f9487823f7 Bump lockfile-lint from 4.3.7 to 4.6.1 (#3445)
Bumps [lockfile-lint](https://github.com/lirantal/lockfile-lint) from 4.3.7 to 4.6.1.
- [Release notes](https://github.com/lirantal/lockfile-lint/releases)
- [Commits](https://github.com/lirantal/lockfile-lint/compare/lockfile-lint@4.3.7...lockfile-lint@4.6.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 12:12:44 +05:30
dependabot[bot]
6fa9cc62c9 Bump concurrently from 5.3.0 to 6.0.0 (#3438)
Bumps [concurrently](https://github.com/kimmobrunfeldt/concurrently) from 5.3.0 to 6.0.0.
- [Release notes](https://github.com/kimmobrunfeldt/concurrently/releases)
- [Commits](https://github.com/kimmobrunfeldt/concurrently/compare/v5.3.0...v6.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 12:09:36 +05:30
dependabot[bot]
e83f8519df Bump codemirror from 5.59.2 to 5.59.3 (#3443)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.59.2 to 5.59.3.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.59.2...5.59.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 12:01:56 +05:30
dependabot[bot]
d68ce1e3a3 Bump sweetalert2 from 10.14.1 to 10.15.5 (#3442)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.14.1 to 10.15.5.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.14.1...v10.15.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 12:01:28 +05:30
dependabot[bot]
7642a0042f Bump stylelint from 13.10.0 to 13.11.0 (#3441)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.10.0 to 13.11.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.10.0...13.11.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 12:00:17 +05:30
dependabot[bot]
6fb0f8e5cb Bump @sweetalert2/theme-bootstrap-4 from 4.0.2 to 4.0.3 (#3440)
Bumps [@sweetalert2/theme-bootstrap-4](https://github.com/sweetalert2/sweetalert2-themes) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/sweetalert2/sweetalert2-themes/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2-themes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2-themes/compare/v4.0.2...v4.0.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 11:59:19 +05:30
dependabot[bot]
322303a1b8 Bump datatables.net-keytable-bs4 from 2.6.0 to 2.6.1 (#3439)
Bumps [datatables.net-keytable-bs4](https://datatables.net) from 2.6.0 to 2.6.1.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 11:58:33 +05:30
dependabot[bot]
348c5c2a11 Bump @babel/core from 7.12.16 to 7.12.17 (#3437)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.16 to 7.12.17.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.17/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-22 11:57:26 +05:30
dependabot[bot]
47258ff602 Bump clean-css-cli from 4.3.0 to 5.2.0
Bumps [clean-css-cli](https://github.com/jakubpawlowicz/clean-css-cli) from 4.3.0 to 5.2.0.
- [Release notes](https://github.com/jakubpawlowicz/clean-css-cli/releases)
- [Changelog](https://github.com/jakubpawlowicz/clean-css-cli/blob/master/History.md)
- [Commits](https://github.com/jakubpawlowicz/clean-css-cli/compare/v4.3.0...v5.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-22 03:02:44 +00:00
Daniel
01b7f5538d Update .stylelintignore 2021-02-19 14:31:40 +05:30
Daniel
2eab0f9b97 year bump in html 2021-02-19 14:31:40 +05:30
Daniel
da0b622da7 Update package.json 2021-02-19 14:31:40 +05:30
Daniel
25e2bfc909 docs update 2021-02-19 14:31:40 +05:30
REJack
3d488f173f Merge pull request #3403 from danny007in/docs-branch 2021-02-19 06:42:03 +01:00
Daniel
b8e51e67f2 Update .stylelintignore (#3427) 2021-02-17 12:34:13 +01:00
REJack
138ba47835 fix html validator error 2021-02-17 11:25:52 +01:00
REJack
25a3c4bf1f rework IFrame for single tab closing 2021-02-17 11:23:12 +01:00
REJack
e9ee4e5e17 enhance IFrame close button & removeActiveTab function 2021-02-17 09:18:44 +01:00
REJack
8ed2712688 small IFrame plugin fixes 2021-02-17 09:00:25 +01:00
REJack
a2ace385cd add ability to create start tab (selfcreated) 2021-02-17 08:43:08 +01:00
REJack
1c856b0d8c update plugin files 2021-02-17 08:25:25 +01:00
REJack
378a39ea12 fix nav-header alignment 2021-02-17 08:24:35 +01:00
REJack
794fbf242c Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2021-02-17 08:14:42 +01:00
REJack
26136409f1 fix contact page card sizing 2021-02-17 08:13:59 +01:00
dependabot[bot]
4a26ba15d6 Bump sweetalert2 from 10.14.0 to 10.14.1 (#3423)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.14.0 to 10.14.1.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.14.0...v10.14.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 18:32:08 +05:30
dependabot[bot]
34080c8eee Bump uplot from 1.6.4 to 1.6.5 (#3422)
Bumps [uplot](https://github.com/leeoniya/uPlot) from 1.6.4 to 1.6.5.
- [Release notes](https://github.com/leeoniya/uPlot/releases)
- [Commits](https://github.com/leeoniya/uPlot/compare/1.6.4...1.6.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 18:30:56 +05:30
dependabot[bot]
003348ba2b Bump @babel/preset-env from 7.12.13 to 7.12.16 (#3414)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.13 to 7.12.16.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.16/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel <50356015+danny007in@users.noreply.github.com>
2021-02-15 11:22:10 +05:30
dependabot[bot]
cb8e5cd268 Bump stylelint from 13.9.0 to 13.10.0 (#3421)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.9.0 to 13.10.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.9.0...13.10.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:50:52 +05:30
dependabot[bot]
19f7b4535c Bump postcss from 8.2.5 to 8.2.6 (#3417)
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.5 to 8.2.6.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.5...8.2.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:48:51 +05:30
dependabot[bot]
fe641dbe08 Bump @rollup/plugin-babel from 5.2.3 to 5.3.0 (#3418)
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins) from 5.2.3 to 5.3.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/babel-v5.2.3...babel-v5.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:47:21 +05:30
dependabot[bot]
ca117c2e2f Bump jszip from 3.5.0 to 3.6.0 (#3419)
Bumps [jszip](https://github.com/Stuk/jszip) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/Stuk/jszip/releases)
- [Changelog](https://github.com/Stuk/jszip/blob/master/CHANGES.md)
- [Commits](https://github.com/Stuk/jszip/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:29:37 +05:30
dependabot[bot]
2f678c6a83 Bump eslint from 7.19.0 to 7.20.0 (#3416)
Bumps [eslint](https://github.com/eslint/eslint) from 7.19.0 to 7.20.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.19.0...v7.20.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:28:48 +05:30
dependabot[bot]
7c829c03ac Bump eslint-plugin-unicorn from 27.0.0 to 28.0.0 (#3415)
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 27.0.0 to 28.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v27.0.0...v28.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:27:52 +05:30
dependabot[bot]
ac25edb26f Bump terser from 5.5.1 to 5.6.0 (#3413)
Bumps [terser](https://github.com/terser/terser) from 5.5.1 to 5.6.0.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:26:04 +05:30
dependabot[bot]
a6644f5d55 Bump @babel/core from 7.12.13 to 7.12.16 (#3412)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.13 to 7.12.16.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.16/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:25:19 +05:30
dependabot[bot]
11d614eae0 Bump rollup from 2.38.5 to 2.39.0 (#3411)
Bumps [rollup](https://github.com/rollup/rollup) from 2.38.5 to 2.39.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.38.5...v2.39.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:24:19 +05:30
dependabot[bot]
4c646290fc Bump dropzone from 5.7.4 to 5.7.6 (#3410)
Bumps [dropzone](https://github.com/dropzone/dropzone) from 5.7.4 to 5.7.6.
- [Release notes](https://github.com/dropzone/dropzone/releases)
- [Changelog](https://github.com/dropzone/dropzone/blob/main/CHANGELOG.md)
- [Commits](https://github.com/dropzone/dropzone/compare/v5.7.4...v5.7.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 10:23:15 +05:30
Daniel
af042dc5b4 improve docs 2021-02-14 18:57:47 +05:30
Daniel
4a16d73ea8 improve package.json 2021-02-14 18:57:26 +05:30
Daniel
582f958c5b Update README.md (#3395) 2021-02-10 15:42:42 +01:00
REJack
e0a5aa8541 remove debug console.log from IFrame plugin 2021-02-10 08:42:36 +01:00
REJack
472c1622cf add allowDuplicates option to IFrame plugin 2021-02-10 08:41:59 +01:00
REJack
1b66775d4b fix iframe mode fullscreen height calculation 2021-02-10 08:20:01 +01:00
REJack
966a9b0178 update plugin files 2021-02-10 08:13:13 +01:00
dependabot[bot]
c8fdba0831 Bump @babel/preset-env from 7.12.11 to 7.12.13 (#3389)
* Bump @babel/preset-env from 7.12.11 to 7.12.13

Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.11 to 7.12.13.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.13/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

* Update package.json

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel <50356015+danny007in@users.noreply.github.com>
2021-02-08 11:50:11 +05:30
dependabot[bot]
bdd0e3fab3 Bump datatables.net-keytable-bs4 from 2.5.3 to 2.6.0 (#3386)
* Bump datatables.net-keytable-bs4 from 2.5.3 to 2.6.0

Bumps [datatables.net-keytable-bs4](https://datatables.net) from 2.5.3 to 2.6.0.

Signed-off-by: dependabot[bot] <support@github.com>

* Update package.json

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel <50356015+danny007in@users.noreply.github.com>
2021-02-08 11:48:57 +05:30
dependabot[bot]
f7c2bff182 Bump vnu-jar from 20.6.30 to 21.2.5 (#3393)
Bumps [vnu-jar](https://github.com/validator/validator) from 20.6.30 to 21.2.5.
- [Release notes](https://github.com/validator/validator/releases)
- [Changelog](https://github.com/validator/validator/blob/master/CHANGELOG.md)
- [Commits](https://github.com/validator/validator/compare/20.6.30...21.2.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 11:48:23 +05:30
dependabot[bot]
8493e42680 Bump @babel/core from 7.12.10 to 7.12.13 (#3387)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.10 to 7.12.13.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.13/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 11:18:36 +05:30
dependabot[bot]
a7a92c74e4 Bump uplot from 1.6.3 to 1.6.4 (#3392)
Bumps [uplot](https://github.com/leeoniya/uPlot) from 1.6.3 to 1.6.4.
- [Release notes](https://github.com/leeoniya/uPlot/releases)
- [Commits](https://github.com/leeoniya/uPlot/compare/1.6.3...1.6.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 11:16:59 +05:30
dependabot[bot]
746d35ff61 Bump postcss from 8.2.4 to 8.2.5 (#3391)
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.4 to 8.2.5.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.4...8.2.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 11:16:26 +05:30
dependabot[bot]
ca1a5abbdb Bump rollup from 2.38.2 to 2.38.5 (#3390)
Bumps [rollup](https://github.com/rollup/rollup) from 2.38.2 to 2.38.5.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.38.2...v2.38.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 11:15:28 +05:30
dependabot[bot]
b9f5b978c6 Bump dropzone from 5.7.2 to 5.7.4 (#3388)
Bumps [dropzone](https://gitlab.com/meno/dropzone) from 5.7.2 to 5.7.4.
- [Release notes](https://gitlab.com/meno/dropzone/tags)
- [Changelog](https://gitlab.com/meno/dropzone/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/meno/dropzone/commits/master)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 11:14:04 +05:30
dependabot[bot]
2b142157a6 Bump datatables.net-fixedheader-bs4 from 3.1.7 to 3.1.8 (#3385)
Bumps [datatables.net-fixedheader-bs4](https://datatables.net) from 3.1.7 to 3.1.8.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 11:11:07 +05:30
REJack
3b6897ce71 update bootstrap version README.md 2021-02-05 09:05:45 +01:00
REJack
15072dbdb9 Merge pull request #3366 from danny007in/improve-docs
docs and readme update
2021-02-02 21:54:08 +01:00
REJack
03a29f01ae update docs/navbar-search.md with target config option 2021-02-02 08:27:25 +01:00
REJack
dd833f2c28 updated version numbers in docs/index.md 2021-02-02 08:22:33 +01:00
REJack
4a24c6368e updated version numbers in README.md 2021-02-02 08:21:58 +01:00
REJack
709293a5ff enhance navbar demo with overall demo navbar 2021-02-02 08:16:12 +01:00
REJack
1cacb6aed9 small NavbarSearch improvements 2021-02-02 08:15:50 +01:00
REJack
7224ea32cf update plugin files 2021-02-02 07:47:35 +01:00
REJack
2b0cd269fd fix btn-tool display bug in nested cards 2021-02-02 07:47:15 +01:00
dependabot[bot]
65c6d23624 Bump rollup from 2.38.0 to 2.38.2 (#3378)
Bumps [rollup](https://github.com/rollup/rollup) from 2.38.0 to 2.38.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.38.0...v2.38.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-01 09:42:19 +05:30
dependabot[bot]
7059b09975 Bump sweetalert2 from 10.13.1 to 10.14.0 (#3377)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.13.1 to 10.14.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.13.1...v10.14.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-01 09:41:48 +05:30
dependabot[bot]
258ffdc82a Bump autoprefixer from 10.2.3 to 10.2.4 (#3376)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.2.3 to 10.2.4.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.2.3...10.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-01 09:40:15 +05:30
dependabot[bot]
6e3a0b742f Bump @ttskch/select2-bootstrap4-theme from 1.4.0 to 1.5.2 (#3374) 2021-02-01 04:04:50 +00:00
dependabot[bot]
d556e7ea1d Bump eslint from 7.18.0 to 7.19.0 (#3375)
Bumps [eslint](https://github.com/eslint/eslint) from 7.18.0 to 7.19.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.18.0...v7.19.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-01 09:28:23 +05:30
dependabot[bot]
84a889f976 Bump @sweetalert2/theme-bootstrap-4 from 4.0.1 to 4.0.2
Bumps [@sweetalert2/theme-bootstrap-4](https://github.com/sweetalert2/sweetalert2-themes) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/sweetalert2/sweetalert2-themes/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2-themes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2-themes/compare/v4.0.1...v4.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-01 09:24:09 +05:30
dependabot[bot]
ee2b5ff568 Merge pull request #3372 from ColorlibHQ/dependabot/npm_and_yarn/rollup/plugin-babel-5.2.3 2021-02-01 03:47:00 +00:00
dependabot[bot]
3510d3c7ff Bump @rollup/plugin-babel from 5.2.2 to 5.2.3
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins) from 5.2.2 to 5.2.3.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/babel-v5.2.2...babel-v5.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-01 03:03:32 +00:00
Daniel
1216299786 docs and readme update 2021-01-29 00:39:32 +05:30
REJack
0194fd468f Merge pull request #3365 from danny007in/preload-improve
Preload improve
2021-01-27 21:11:43 +01:00
Daniel
8046fa0360 animation added for preloader item 2021-01-28 01:17:36 +05:30
Daniel
1753a44ed4 preload example 2021-01-28 01:17:36 +05:30
Daniel
36f82d7335 preload improve 2021-01-28 01:10:05 +05:30
REJack
d7269cf1a9 fix form-control-navbar colors 2021-01-27 20:28:47 +01:00
dependabot[bot]
239038e58c Bump bootstrap from 4.5.3 to 4.6.0 (#3351)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.5.3 to 4.6.0.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.5.3...v4.6.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-27 08:48:15 +01:00
REJack
983b5ec24f add sidebar-search-results to IFrame tab creation 2021-01-27 08:44:43 +01:00
REJack
5a7d175a9e Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2021-01-27 08:33:57 +01:00
REJack
a3a7368abd update copyright to 2021 2021-01-27 08:33:52 +01:00
Daniel
fe54e4234d implove scripts in package.json (#3362) 2021-01-27 08:26:14 +01:00
REJack
8ed4788d65 update plugin files 2021-01-27 08:12:15 +01:00
REJack
3055f38edf update bundlewatch to 0.3.2 2021-01-27 08:11:35 +01:00
REJack
ff904dcf31 Merge pull request #3356 from ColorlibHQ/dependabot/npm_and_yarn/eslint-plugin-unicorn-27.0.0
Bump eslint-plugin-unicorn from 26.0.1 to 27.0.0
2021-01-27 08:05:16 +01:00
REJack
35d7bb4db9 Merge branch 'master' into dependabot/npm_and_yarn/eslint-plugin-unicorn-27.0.0 2021-01-27 08:02:24 +01:00
Daniel
7498e2c6ac implemented lockfile-lint devDep (#3361)
followed by 6ffb0b48e4/package.json (L60)
2021-01-27 08:01:12 +01:00
Daniel
951a67b43f eslint unicorn fix lint errors (#3363) 2021-01-27 07:55:54 +01:00
dependabot[bot]
1fc6ef67cc Bump autoprefixer from 10.2.1 to 10.2.3 (#3358)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.2.1 to 10.2.3.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.2.1...10.2.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:44:29 +01:00
dependabot[bot]
1ee8fc1ac9 Bump rollup from 2.36.2 to 2.38.0 (#3352)
Bumps [rollup](https://github.com/rollup/rollup) from 2.36.2 to 2.38.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.36.2...v2.38.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:44:09 +01:00
dependabot[bot]
ee22df90d1 Bump uplot from 1.6.1 to 1.6.3 (#3357)
Bumps [uplot](https://github.com/leeoniya/uPlot) from 1.6.1 to 1.6.3.
- [Release notes](https://github.com/leeoniya/uPlot/releases)
- [Commits](https://github.com/leeoniya/uPlot/compare/1.6.1...1.6.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:31:19 +01:00
dependabot[bot]
c72c4efed9 Bump sweetalert2 from 10.13.0 to 10.13.1 (#3355)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.13.0 to 10.13.1.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.13.0...v10.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:31:07 +01:00
dependabot[bot]
989a348308 Bump codemirror from 5.59.1 to 5.59.2 (#3354)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.59.1 to 5.59.2.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.59.1...5.59.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:30:56 +01:00
dependabot[bot]
6dfb7b972b Bump browser-sync from 2.26.13 to 2.26.14 (#3353)
Bumps [browser-sync](https://github.com/BrowserSync/browser-sync) from 2.26.13 to 2.26.14.
- [Release notes](https://github.com/BrowserSync/browser-sync/releases)
- [Changelog](https://github.com/BrowserSync/browser-sync/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BrowserSync/browser-sync/compare/v2.26.13...v2.26.14)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:30:35 +01:00
dependabot[bot]
f247cff5b6 Bump fs-extra from 9.0.1 to 9.1.0 (#3350)
Bumps [fs-extra](https://github.com/jprichardson/node-fs-extra) from 9.0.1 to 9.1.0.
- [Release notes](https://github.com/jprichardson/node-fs-extra/releases)
- [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jprichardson/node-fs-extra/compare/9.0.1...9.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:29:46 +01:00
dependabot[bot]
53e66e12bf Bump stylelint from 13.8.0 to 13.9.0 (#3349)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.8.0 to 13.9.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.8.0...13.9.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 10:29:30 +01:00
Daniel
d960de62a6 Update and rename bug-report-for-adminlte-v3-x.md to bug-report-for-adminlte-v3.1-x.md (#3348) 2021-01-25 10:28:21 +01:00
REJack
47b40b4ebd Merge pull request #3347 from ColorlibHQ/danny007in-patch-1
Update and rename feature-request-for-adminlte-v3-x.md
2021-01-25 10:27:28 +01:00
REJack
9e0141d1ef Update and rename feature-request-for-adminlte-v3.1-x.md to feature-request-for-adminlte-v4-x.md 2021-01-25 10:26:31 +01:00
dependabot[bot]
3b618995f8 Bump eslint-plugin-unicorn from 26.0.1 to 27.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 26.0.1 to 27.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v26.0.1...v27.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-25 03:08:42 +00:00
Daniel
8274451592 Update and rename feature-request-for-adminlte-v3-x.md to feature-request-for-adminlte-v3.1-x.md 2021-01-24 23:19:21 +05:30
Daniel
281904898a added DataTable ext searchbuilder (#3344) 2021-01-24 14:23:47 +01:00
REJack
c4a4221f22 Merge pull request #3335 from danny007in/parallel-nodemon-fix
Parallel nodemon fixed
2021-01-20 10:20:52 +01:00
Daniel
fb3f63ad81 nodemon pararllel fixed 2021-01-20 00:06:37 +05:30
Daniel
c5e63b3518 concurrently devDep installed 2021-01-20 00:03:28 +05:30
Daniel
4ea2e3dd3c Revert "Merge pull request #3334 from danny007in/nodemon-parallel-fix"
This reverts commit 10fdbc987b, reversing
changes made to c104f19a0c.
2021-01-19 23:57:11 +05:30
REJack
10fdbc987b Merge pull request #3334 from danny007in/nodemon-parallel-fix
Nodemon parallel fix
2021-01-19 08:00:45 +01:00
REJack
c104f19a0c Merge pull request #3284 from danny007in/preloader-add
Preloader Added
2021-01-19 07:57:18 +01:00
REJack
e932382f1b add width attribute to preloader image tag 2021-01-19 07:55:57 +01:00
Daniel
6905eaaf9f preloader docs done 2021-01-18 21:14:41 +05:30
REJack
a4c05ef9c6 Update _layout.scss
add dark-mode for preloader
2021-01-18 15:05:51 +01:00
Daniel
051be9f0b8 parallel plugin changed for nodemon 2021-01-18 19:28:50 +05:30
Daniel
984203344e installed npm-run-parallel devDep 2021-01-18 19:26:11 +05:30
REJack
76de56d35a update plugin files 2021-01-18 14:49:52 +01:00
dependabot[bot]
431f19b0ec Bump rollup from 2.36.1 to 2.36.2 (#3327)
Bumps [rollup](https://github.com/rollup/rollup) from 2.36.1 to 2.36.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.36.1...v2.36.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-18 10:19:00 +02:00
XhmikosR
8e7ca927f9 Add CodeQL Action (#3309)
Ignoring the plugins folders
2021-01-18 10:15:50 +02:00
XhmikosR
c88a8f2f0e Update CI config (#3308)
* remove `CI: true` since it's set by the runner
* update to `actions/setup-node@v2`
* switch to `ruby/setup-ruby` Action
* specify `FORCE_COLOR: 2`
* lowercase `runner.os`
* update to Ruby 2.7
* update to Node.js 14.x
* fix npm cache mismatches due to wrong variable
2021-01-18 10:14:44 +02:00
XhmikosR
378a9f3ae8 package.json: remove redundant --sequential flags (#3311) 2021-01-18 10:02:05 +02:00
dependabot[bot]
654ad02d8a Bump eslint-plugin-unicorn from 25.0.1 to 26.0.1 (#3323)
* Bump eslint-plugin-unicorn from 25.0.1 to 26.0.1

Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 25.0.1 to 26.0.1.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v25.0.1...v26.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Clean up .eslintrc.json

* Autofix

* Temporarily disable `unicorn/consistent-destructuring`

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2021-01-18 10:01:39 +02:00
Daniel
f90e77e973 Merge pull request #3310 from ColorlibHQ/XhmikosR-patch-2
Flatten package-lock.json
2021-01-18 13:27:01 +05:30
XhmikosR
8cec597571 Flatten package-lock.json 2021-01-18 09:48:29 +02:00
Daniel
d7bfc108e4 Merge pull request #3322 from ColorlibHQ/dependabot/npm_and_yarn/pdfmake-0.1.70
Bump pdfmake from 0.1.69 to 0.1.70
2021-01-18 13:14:55 +05:30
Daniel
3892cdb63e Merge pull request #3328 from ColorlibHQ/XhmikosR-patch-4
package.json: run css-minify-splits in parallel
2021-01-18 13:11:15 +05:30
Daniel
41720b4ed1 Merge pull request #3324 from ColorlibHQ/dependabot/npm_and_yarn/eslint-7.18.0
Bump eslint from 7.17.0 to 7.18.0
2021-01-18 13:10:07 +05:30
Daniel
973b6f740f Merge pull request #3321 from ColorlibHQ/dependabot/npm_and_yarn/uplot-1.6.1
Bump uplot from 1.5.2 to 1.6.1
2021-01-18 13:09:23 +05:30
Daniel
9a047910db Merge pull request #3326 from ColorlibHQ/dependabot/npm_and_yarn/fullcalendar-5.5.1
Bump fullcalendar from 5.5.0 to 5.5.1
2021-01-18 13:08:24 +05:30
Daniel
b15bf9df3d Merge pull request #3325 from ColorlibHQ/dependabot/npm_and_yarn/fortawesome/fontawesome-free-5.15.2
Bump @fortawesome/fontawesome-free from 5.15.1 to 5.15.2
2021-01-18 13:07:34 +05:30
REJack
b987a13511 Merge pull request #3306 from danny007in/sidebar-scroll-fix
Sidebar scroll fixed (#3304)
2021-01-18 08:18:41 +01:00
XhmikosR
f17a735ff6 package.json: run css-minify-splits in parallel 2021-01-18 09:12:49 +02:00
dependabot[bot]
1b21096d8b Bump fullcalendar from 5.5.0 to 5.5.1
Bumps [fullcalendar](https://github.com/fullcalendar/fullcalendar) from 5.5.0 to 5.5.1.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/compare/v5.5.0...v5.5.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 03:06:19 +00:00
dependabot[bot]
b6e582c2cc Bump @fortawesome/fontawesome-free from 5.15.1 to 5.15.2
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.15.1 to 5.15.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.15.1...5.15.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 03:05:40 +00:00
dependabot[bot]
72ae6ede93 Bump eslint from 7.17.0 to 7.18.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.17.0 to 7.18.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.17.0...v7.18.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 03:05:04 +00:00
dependabot[bot]
424f92a338 Bump pdfmake from 0.1.69 to 0.1.70
Bumps [pdfmake](https://github.com/bpampuch/pdfmake) from 0.1.69 to 0.1.70.
- [Release notes](https://github.com/bpampuch/pdfmake/releases)
- [Changelog](https://github.com/bpampuch/pdfmake/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bpampuch/pdfmake/compare/0.1.69...0.1.70)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 03:03:48 +00:00
dependabot[bot]
fb7737ece7 Bump uplot from 1.5.2 to 1.6.1
Bumps [uplot](https://github.com/leeoniya/uPlot) from 1.5.2 to 1.6.1.
- [Release notes](https://github.com/leeoniya/uPlot/releases)
- [Commits](https://github.com/leeoniya/uPlot/compare/1.5.2...1.6.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-18 03:03:11 +00:00
Daniel
151eefc778 Sidebar scroll fixed (#3304) 2021-01-16 13:26:02 +05:30
Daniel
39b5a9a883 Update postcss.config.js 2021-01-16 13:26:02 +05:30
Daniel
e1b6738fab postcss-scrollbar plugin installed 2021-01-14 15:58:04 +05:30
REJack
51f243e444 fix npm audit 2021-01-11 14:36:47 +01:00
REJack
3d6d6610e4 update plugin files 2021-01-11 14:35:52 +01:00
dependabot[bot]
699197be45 Bump rollup from 2.35.1 to 2.36.1 (#3303)
Bumps [rollup](https://github.com/rollup/rollup) from 2.35.1 to 2.36.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.35.1...v2.36.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:22:35 +01:00
dependabot[bot]
5adecb7539 Bump postcss from 8.2.2 to 8.2.4 (#3300)
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.2 to 8.2.4.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.2...8.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:22:23 +01:00
dependabot[bot]
cfeea6a6aa Bump nodemon from 2.0.6 to 2.0.7 (#3302)
Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v2.0.6...v2.0.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:20:02 +01:00
dependabot[bot]
b6a4ac5d2d Bump jquery-validation from 1.19.2 to 1.19.3 (#3301)
Bumps [jquery-validation](https://github.com/jquery-validation/jquery-validation) from 1.19.2 to 1.19.3.
- [Release notes](https://github.com/jquery-validation/jquery-validation/releases)
- [Changelog](https://github.com/jquery-validation/jquery-validation/blob/master/changelog.md)
- [Commits](https://github.com/jquery-validation/jquery-validation/compare/1.19.2...1.19.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:19:52 +01:00
dependabot[bot]
b1861ebf80 Bump datatables.net-responsive-bs4 from 2.2.6 to 2.2.7 (#3299)
Bumps [datatables.net-responsive-bs4](https://datatables.net) from 2.2.6 to 2.2.7.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:19:35 +01:00
dependabot[bot]
f3588ca158 Bump sweetalert2 from 10.12.7 to 10.13.0 (#3298)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.12.7 to 10.13.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.12.7...v10.13.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:18:54 +01:00
dependabot[bot]
759c109c0d Bump autoprefixer from 10.1.0 to 10.2.1 (#3297)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.1.0 to 10.2.1.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.1.0...10.2.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:18:32 +01:00
dependabot[bot]
bb016c9ab5 Bump eslint-config-xo from 0.33.1 to 0.34.0 (#3296)
Bumps [eslint-config-xo](https://github.com/xojs/eslint-config-xo) from 0.33.1 to 0.34.0.
- [Release notes](https://github.com/xojs/eslint-config-xo/releases)
- [Commits](https://github.com/xojs/eslint-config-xo/compare/v0.33.1...v0.34.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-11 14:18:16 +01:00
Alexander Kucheryuk
38d6c14437 Update docs (layout page) (#3292) 2021-01-09 10:05:59 +01:00
dependabot[bot]
eb5415413b Bump eslint from 7.16.0 to 7.17.0 (#3280)
Bumps [eslint](https://github.com/eslint/eslint) from 7.16.0 to 7.17.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.16.0...v7.17.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 06:37:32 +01:00
dependabot[bot]
f71d931898 Bump sweetalert2 from 10.12.6 to 10.12.7 (#3281)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.12.6 to 10.12.7.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.12.6...v10.12.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 06:25:47 +01:00
dependabot[bot]
cf82eb6519 Bump codemirror from 5.59.0 to 5.59.1 (#3279)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.59.0 to 5.59.1.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.59.0...5.59.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 06:25:29 +01:00
dependabot[bot]
872d5b3dfe Bump postcss from 8.2.1 to 8.2.2 (#3278)
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.1 to 8.2.2.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.1...8.2.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 06:23:32 +01:00
dependabot[bot]
5545077dce Bump eslint-plugin-unicorn from 25.0.0 to 25.0.1 (#3277)
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 25.0.0 to 25.0.1.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v25.0.0...v25.0.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 06:23:04 +01:00
Daniel
6fb29e917a Preloader Added 2021-01-05 07:04:04 +05:30
Daniel
469faf3ed5 Update .gitattributes (#3270) 2021-01-03 16:01:07 +01:00
REJack
e20bdb4c4f Merge pull request #3276 from danny007in/improve-sass
Removed Unused Sass Variables
2021-01-03 15:38:14 +01:00
Daniel
051a0f9bd0 Removed Unused Sass Variables
Fixed #3275
2021-01-03 16:01:05 +05:30
REJack
e4ab1e4737 fix small iframe bug 2021-01-01 14:29:57 +01:00
REJack
f5454e6906 update plugin files 2020-12-30 08:42:58 +01:00
REJack
e41e0401c0 Merge pull request #3265 from ColorlibHQ/dependabot/npm_and_yarn/eslint-plugin-unicorn-25.0.0
Bump eslint-plugin-unicorn from 23.0.0 to 25.0.0
2020-12-30 08:42:00 +01:00
Daniel
1ce6165330 Fixed Errors of PR - Bump eslint-plugin-unicorn from 23.0.0 to 25.0.0 (#3267)
Fixed Lint Errorshttps://github.com/ColorlibHQ/AdminLTE/pull/3265
2020-12-30 08:34:17 +01:00
REJack
955d89b08d fix content height bug (#3249) 2020-12-30 08:29:46 +01:00
REJack
8743991be9 Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE into master 2020-12-30 08:22:23 +01:00
REJack
f378e2f359 fix IFrame plugin for old browsers 2020-12-30 08:22:19 +01:00
dependabot[bot]
7898357115 Bump eslint-plugin-unicorn from 23.0.0 to 25.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 23.0.0 to 25.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v23.0.0...v25.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-29 07:17:26 +00:00
dependabot[bot]
656dbcd252 Bump overlayscrollbars from 1.13.0 to 1.13.1 (#3255)
Bumps [overlayscrollbars](https://github.com/KingSora/OverlayScrollbars) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/KingSora/OverlayScrollbars/releases)
- [Commits](https://github.com/KingSora/OverlayScrollbars/compare/v1.13.0...1.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-28 13:25:32 +01:00
dependabot[bot]
013e3fd9dd Bump sweetalert2 from 10.12.5 to 10.12.6 (#3260)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.12.5 to 10.12.6.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.12.5...v10.12.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-28 12:52:53 +01:00
dependabot[bot]
c1e6adde00 Bump datatables.net-bs4 from 1.10.22 to 1.10.23 (#3259)
Bumps [datatables.net-bs4](https://datatables.net) from 1.10.22 to 1.10.23.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-28 12:47:58 +01:00
dependabot[bot]
2b13e12313 Bump codemirror from 5.58.3 to 5.59.0 (#3258)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.58.3 to 5.59.0.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.58.3...5.59.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-28 12:47:15 +01:00
dependabot[bot]
eff57a834c Bump fullcalendar from 5.4.0 to 5.5.0 (#3256)
Bumps [fullcalendar](https://github.com/fullcalendar/fullcalendar) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/compare/v5.4.0...v5.5.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-28 12:46:18 +01:00
dependabot[bot]
fbaaaf296d Bump eslint-plugin-compat from 3.8.0 to 3.9.0 (#3254)
Bumps [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/amilajack/eslint-plugin-compat/releases)
- [Changelog](https://github.com/amilajack/eslint-plugin-compat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/amilajack/eslint-plugin-compat/compare/v3.8.0...v3.9.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-28 12:45:58 +01:00
dependabot[bot]
84c6a3fbcc Bump pdfmake from 0.1.68 to 0.1.69 (#3253)
Bumps [pdfmake](https://github.com/bpampuch/pdfmake) from 0.1.68 to 0.1.69.
- [Release notes](https://github.com/bpampuch/pdfmake/releases)
- [Changelog](https://github.com/bpampuch/pdfmake/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bpampuch/pdfmake/compare/0.1.68...0.1.69)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-28 12:45:46 +01:00
REJack
47fa82fec3 fix pagination with darkmode 2020-12-24 12:12:00 +01:00
REJack
c18b4d747c update plugins files 2020-12-23 08:17:49 +01:00
REJack
445382617c Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-12-23 08:13:07 +01:00
REJack
f8ce13b9fa fix iframe unique name with special chars 2020-12-23 08:13:02 +01:00
Daniel
cfd771cb3a Docs improve (#3246)
* Fixed Top nav demo img size

* Added Dark mode Info
2020-12-23 02:33:39 +01:00
Daniel
077599d1cc Layout Height Fixed (#3214) 2020-12-22 10:17:18 +01:00
dependabot[bot]
c426c01389 Bump uplot from 1.4.7 to 1.5.2 (#3242)
Bumps [uplot](https://github.com/leeoniya/uPlot) from 1.4.7 to 1.5.2.
- [Release notes](https://github.com/leeoniya/uPlot/releases)
- [Commits](https://github.com/leeoniya/uPlot/compare/1.4.7...1.5.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:56:45 +01:00
dependabot[bot]
b99494d0aa Bump @babel/preset-env from 7.12.7 to 7.12.11 (#3241)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.7 to 7.12.11.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.11/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:56:31 +01:00
dependabot[bot]
92a53b9de7 Bump rollup from 2.34.2 to 2.35.1 (#3240)
Bumps [rollup](https://github.com/rollup/rollup) from 2.34.2 to 2.35.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.34.2...v2.35.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:56:15 +01:00
Daniel
93c155bb7a Bug fixed in iFrame.js (#3235)
Done #3233 with lgtm warning fixed
2020-12-22 08:45:59 +01:00
dependabot[bot]
16a0202883 Bump datatables.net from 1.10.22 to 1.10.23 (#3238)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.10.22 to 1.10.23.
- [Release notes](https://github.com/DataTables/Dist-DataTables/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.10.22...1.10.23)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:45:18 +01:00
dependabot[bot]
c6bf0ab2f5 Bump jekyll from 4.1.1 to 4.2.0 in /docs (#3237)
Bumps [jekyll](https://github.com/jekyll/jekyll) from 4.1.1 to 4.2.0.
- [Release notes](https://github.com/jekyll/jekyll/releases)
- [Changelog](https://github.com/jekyll/jekyll/blob/master/History.markdown)
- [Commits](https://github.com/jekyll/jekyll/compare/v4.1.1...v4.2.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:45:05 +01:00
dependabot[bot]
824b5167dd Bump eslint from 7.15.0 to 7.16.0 (#3239)
Bumps [eslint](https://github.com/eslint/eslint) from 7.15.0 to 7.16.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.15.0...v7.16.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:44:39 +01:00
dependabot[bot]
c82effea25 Bump autoprefixer from 10.0.4 to 10.1.0 (#3227)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.0.4 to 10.1.0.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.0.4...10.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:44:09 +01:00
dependabot[bot]
4803bdd539 Bump sweetalert2 from 10.12.0 to 10.12.5 (#3225)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.12.0 to 10.12.5.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.12.0...v10.12.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:43:47 +01:00
dependabot[bot]
9bdb706eb1 Bump postcss-cli from 8.3.0 to 8.3.1 (#3224)
Bumps [postcss-cli](https://github.com/postcss/postcss-cli) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/postcss/postcss-cli/releases)
- [Changelog](https://github.com/postcss/postcss-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-cli/compare/8.3.0...8.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:42:47 +01:00
dependabot[bot]
018363305a Bump postcss from 8.1.10 to 8.2.1 (#3223)
Bumps [postcss](https://github.com/postcss/postcss) from 8.1.10 to 8.2.1.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.1.10...8.2.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:35:03 +01:00
dependabot[bot]
2ccd23dfa1 Bump @babel/core from 7.12.9 to 7.12.10 (#3222)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.9 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 08:34:18 +01:00
Guido Percú
c10895b37e Fix link to latest release (#3216) 2020-12-12 16:17:11 +01:00
dependabot[bot]
3d1a18b5ac Bump ini from 1.3.5 to 1.3.7 (#3213)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-10 18:20:14 +01:00
REJack
03c0415d63 Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-12-09 08:36:38 +01:00
REJack
be92d809c6 add os-theme switch in demo.js 2020-12-09 08:36:35 +01:00
dependabot[bot]
791daf70f9 Bump sweetalert2 from 10.10.2 to 10.12.0 (#3203)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 10.10.2 to 10.12.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v10.10.2...v10.12.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 09:40:45 +01:00
REJack
dd6d16ef32 Merge pull request #3184 from danny007in/postcss-updated
Postcss devDep updated
2020-12-07 08:45:18 +01:00
REJack
1d6417db57 Merge branch 'master' into postcss-updated 2020-12-07 08:27:56 +01:00
Daniel
d4f3b4e27e Docs improve for Adminlte 33.1 (#3196)
Added Contributing Guide in Docs.
Added CDN link of jsDelivr.
Improved some info.
2020-12-07 08:06:46 +01:00
dependabot[bot]
995d335fcd Bump datatables.net-colreorder-bs4 from 1.5.2 to 1.5.3 (#3202)
Bumps [datatables.net-colreorder-bs4](https://datatables.net) from 1.5.2 to 1.5.3.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 08:05:16 +01:00
dependabot[bot]
0d24490807 Bump eslint from 7.14.0 to 7.15.0 (#3201)
Bumps [eslint](https://github.com/eslint/eslint) from 7.14.0 to 7.15.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.14.0...v7.15.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 08:04:41 +01:00
dependabot[bot]
970cead1e2 Bump uplot from 1.4.6 to 1.4.7 (#3200)
Bumps [uplot](https://github.com/leeoniya/uPlot) from 1.4.6 to 1.4.7.
- [Release notes](https://github.com/leeoniya/uPlot/releases)
- [Commits](https://github.com/leeoniya/uPlot/compare/1.4.6...1.4.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 08:04:22 +01:00
dependabot[bot]
0267aaa4ab Bump @rollup/plugin-babel from 5.2.1 to 5.2.2 (#3199)
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/babel-v5.2.1...babel-v5.2.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 08:04:07 +01:00
dependabot[bot]
3741399f67 Bump rollup from 2.34.0 to 2.34.2 (#3198)
Bumps [rollup](https://github.com/rollup/rollup) from 2.34.0 to 2.34.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.34.0...v2.34.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 08:03:52 +01:00
dependabot[bot]
04998f1bde Bump datatables.net-searchpanes-bs4 from 1.2.1 to 1.2.2 (#3197)
Bumps [datatables.net-searchpanes-bs4](https://github.com/DataTables/Dist-DataTables-SearchPanes-Bootstrap4) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/DataTables/Dist-DataTables-SearchPanes-Bootstrap4/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables-SearchPanes-Bootstrap4/compare/1.2.1...1.2.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 08:03:33 +01:00
REJack
197f569b9b Update .bundlewatch.config.json 2020-12-07 07:57:27 +01:00
REJack
e706738387 fix transition conflict in sidebar search 2020-12-04 09:17:39 +01:00
REJack
230c86dc71 fix visible control sidebar on side 2020-12-04 09:11:51 +01:00
REJack
f17c1c4d68 fix demo.js 2020-12-04 09:11:21 +01:00
REJack
d0cf068950 fixed navbar color input styles 2020-12-04 09:10:22 +01:00
REJack
bfc26debdc Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-12-03 11:03:10 +01:00
REJack
44817489a2 rework demo.js 2020-12-03 11:02:40 +01:00
REJack
72f254320f fix layout-fixed main-/control-sidebar height 2020-12-03 10:57:51 +01:00
REJack
d89b887d36 fix class name in main-header docs 2020-12-03 10:57:15 +01:00
REJack
0421dca188 fixed control-siderbar with fixed footer/navbar 2020-12-03 10:56:53 +01:00
REJack
1010ccaade Merge pull request #3185 from ColorlibHQ/fix-lgtm-unused-local-variable
lgtm fixes part two
2020-12-02 10:15:55 +01:00
REJack
d905bd027f add nav-tabs link to accent override 2020-12-02 10:09:15 +01:00
REJack
22791b6b17 Merge pull request #3186 from ColorlibHQ/feat/navbar-search
navbar search
2020-12-02 09:50:32 +01:00
REJack
983f225d6a change comment again (try no. 3) 2020-12-02 09:48:06 +01:00
REJack
264dac1178 add docs 2020-12-02 09:34:15 +01:00
REJack
9a4b838251 rename site-search to navbar-search 2020-12-02 09:34:04 +01:00
REJack
260e610e65 add site-search-block scss script 2020-12-02 09:25:20 +01:00
REJack
700e5a0784 update SiteSearch.js 2020-12-02 09:24:43 +01:00
REJack
ede87c4e6c add site-search markup 2020-12-02 09:24:29 +01:00
REJack
8240412de9 using /* */ comment to avoid warning 2020-12-02 08:54:21 +01:00
REJack
2fccc04016 add sitesearch in AdminLTE.js 2020-12-02 08:51:13 +01:00
REJack
63eff3a60f first changes 2020-12-02 08:50:58 +01:00
REJack
90527a83d1 new try to avoid lgtm unused-local-variable warning 2020-12-02 08:38:35 +01:00
REJack
5d4ed59ba9 fix SidebarSearch 2020-12-02 08:35:47 +01:00
REJack
7985fb6b95 try to avoid lgtm unused-local-variable alert 2020-12-02 08:26:31 +01:00
Daniel
3fcba915f5 Postcss updated
Postcss updated to lated version in packages.json
2020-12-01 15:03:57 +05:30
dependabot[bot]
86af2757ac Bump eslint-plugin-unicorn from 22.0.0 to 23.0.0 (#3174)
* Bump eslint-plugin-unicorn from 22.0.0 to 23.0.0

Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 22.0.0 to 23.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v22.0.0...v23.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Update Layout.js

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-11-30 14:46:19 +02:00
REJack
c6926a5eea Merge pull request #3181 from ColorlibHQ/lgtm-test
fix lgtm warnings/recommendations
2020-11-30 10:02:54 +01:00
REJack
120844862f escape navItem & tabItem in IFrame.js 2020-11-30 09:50:19 +01:00
REJack
ac94d081d4 fix js warnings in pages 2020-11-30 09:43:41 +01:00
REJack
a2d25ca035 ignore lgtm unused-local-variable warning in dashboard js files 2020-11-30 09:43:22 +01:00
REJack
480b63121c escape results in SidebarSearch 2020-11-30 09:42:38 +01:00
dependabot[bot]
2163278b93 Bump @babel/preset-env from 7.11.5 to 7.12.7 (#3179)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.5 to 7.12.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.7/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 09:37:49 +01:00
REJack
da94ddd415 add escape around _renderItem in SidebarSearch.js 2020-11-30 09:31:53 +01:00
dependabot[bot]
8210495300 Bump @babel/core from 7.11.6 to 7.12.9 (#3178)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.6 to 7.12.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.9/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 09:19:14 +01:00
dependabot[bot]
96e9587f76 Bump nodemon from 2.0.4 to 2.0.6 (#3177)
Bumps [nodemon](https://github.com/remy/nodemon) from 2.0.4 to 2.0.6.
- [Release notes](https://github.com/remy/nodemon/releases)
- [Commits](https://github.com/remy/nodemon/compare/v2.0.4...v2.0.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 09:19:04 +01:00
dependabot[bot]
22cd1bf76f Bump browser-sync from 2.26.12 to 2.26.13 (#3176)
Bumps [browser-sync](https://github.com/BrowserSync/browser-sync) from 2.26.12 to 2.26.13.
- [Release notes](https://github.com/BrowserSync/browser-sync/releases)
- [Changelog](https://github.com/BrowserSync/browser-sync/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BrowserSync/browser-sync/compare/v2.26.12...v2.26.13)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 09:16:44 +01:00
dependabot[bot]
bb0f499dea Bump stylelint from 13.7.2 to 13.8.0 (#3175)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.7.2 to 13.8.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.7.2...13.8.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 09:16:34 +01:00
REJack
b0f9c48ea5 try to fix SidebarSearch xss error 2020-11-30 09:03:15 +01:00
dependabot[bot]
8974feb54c Bump rollup from 2.33.3 to 2.34.0 (#3173)
Bumps [rollup](https://github.com/rollup/rollup) from 2.33.3 to 2.34.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.33.3...v2.34.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 08:55:14 +01:00
dependabot[bot]
f0fc1ac916 Bump eslint-config-xo from 0.32.1 to 0.33.1 (#3172)
Bumps [eslint-config-xo](https://github.com/xojs/eslint-config-xo) from 0.32.1 to 0.33.1.
- [Release notes](https://github.com/xojs/eslint-config-xo/releases)
- [Commits](https://github.com/xojs/eslint-config-xo/compare/v0.32.1...v0.33.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 08:54:59 +01:00
dependabot[bot]
21ab3e8f38 Bump terser from 5.5.0 to 5.5.1 (#3171)
Bumps [terser](https://github.com/terser/terser) from 5.5.0 to 5.5.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.5.0...v5.5.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 08:54:42 +01:00
dependabot[bot]
212262a27a Bump node-sass from 4.14.1 to 5.0.0 (#3170)
Bumps [node-sass](https://github.com/sass/node-sass) from 4.14.1 to 5.0.0.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v4.14.1...v5.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 08:54:15 +01:00
REJack
73a20bcc57 Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-11-30 08:46:55 +01:00
REJack
acb1cdfebe fix overlapping scroll content in kanban board 2020-11-30 08:46:50 +01:00
REJack
eb0caf5b30 small navbar/sidebar dark-mode fixes 2020-11-30 08:45:57 +01:00
Daniel
87e5dab29c Fixed: Top Nav Page has sidebar with blank in v3.1.0-rc (#3164)
Fixed #3163
2020-11-29 03:59:33 +01:00
REJack
5fc36f6176 update uplot 2020-11-29 03:57:24 +01:00
REJack
2c98813cc1 fix sidebar-mini(-md/-xs) collapse bugs 2020-11-27 12:39:53 +01:00
REJack
0a96b70edb bump bundlewatch sizes 2020-11-27 12:07:49 +01:00
REJack
f23b9135e0 rework sidebar & sidebar-mini
- add sidebar-mini-xs
- fixed sidebar-mini with nav-sidebar custom classes
2020-11-27 12:04:42 +01:00
REJack
3d4e523b59 remove console.log from ControlSidebar 2020-11-27 10:46:57 +01:00
Daniel
b4ea60504c html bug fix (#3161)
Resolved this html
2020-11-27 10:31:35 +01:00
REJack
29c2375e2b enhance ControlSidebar.js
- add abilty to set target
- fix show control-sidebar on page load
2020-11-27 10:21:42 +01:00
Daniel
48ceaed751 sidebar upgradeed (#3159)
Removed Unnecessary Code
And
Sidebar improved (Can work smothly without overlayscroll plugin)
2020-11-27 09:21:15 +01:00
REJack
b835bb678b rework content height events
- add mouse enter/leave event
- add timeout on expand/collapse sidebar event
2020-11-26 16:15:10 +01:00
REJack
8196efdc5e fix min-height calculation with controlSidebar 2020-11-26 15:39:31 +01:00
REJack
7a539747cc Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-11-26 15:06:52 +01:00
REJack
2a0b797a0d remove demo control-sidebar content in top-nav demos 2020-11-26 15:06:49 +01:00
REJack
407a21f615 Merge pull request #3158 from danny007in/footer-bug-fix
footer height bug fix
2020-11-26 14:59:44 +01:00
Daniel
fb6cb75e7c footer height bug fix
Fixed  #3150
2020-11-26 17:42:47 +05:30
REJack
48261ff518 Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-11-26 11:42:36 +01:00
REJack
b2ab691079 add missing variable for parts building 2020-11-26 11:42:18 +01:00
REJack
bbeaa0ca49 Merge pull request #3151 from danny007in/handle-long-text-in-sidebar
CSS sidebar classes to handle long text #2816 in scss
2020-11-26 08:32:38 +01:00
REJack
90910da8ee rework modal overlay 2020-11-26 08:30:52 +01:00
Daniel
fb520edac4 CSS sidebar classes to handle long text #2816 in scss
did in scsss #2816
2020-11-26 10:44:25 +05:30
REJack
b1b8613882 update docs assets 2020-11-25 11:56:56 +01:00
REJack
5ac281611b rebuild dist files 2020-11-25 11:56:12 +01:00
REJack
17aea0e4ef Merge pull request #3146 from danny007in/layout-size-fix
layout size bug fixed
2020-11-25 11:51:19 +01:00
REJack
3b6279ac38 fix faq demo links 2020-11-25 11:16:29 +01:00
REJack
087891fdf7 build dist files 2020-11-25 10:33:30 +01:00
REJack
82fb5d5f80 update dependencies 2020-11-25 10:31:52 +01:00
REJack
12c6c12907 add missing plugin notice 2020-11-25 10:15:53 +01:00
REJack
2ee68002ab fix version dropdown in docs 2020-11-25 10:13:29 +01:00
REJack
784eae413d update docs link 2020-11-25 10:12:46 +01:00
Daniel
0a70c3c89f layout size bug fixed 2020-11-25 14:22:20 +05:30
REJack
5993872f8b build dist files 2020-11-25 09:16:01 +01:00
REJack
ba3bf53809 bump version to v3.1.0-rc 2020-11-25 09:15:50 +01:00
REJack
a2df402653 update codemirror plugin files 2020-11-25 09:00:43 +01:00
REJack
4bbf746378 update plugin files 2020-11-25 09:00:26 +01:00
REJack
a33f74e503 add uplot charts 2020-11-25 08:59:41 +01:00
REJack
6b48a268c5 Merge pull request #3069 from ColorlibHQ/feat/iframe-plugin
IFrame plugin
2020-11-25 07:58:23 +01:00
Daniel
5d10674dc5 Update README.md (#3118)
Co-authored-by: REJack <info@rejack.de>
2020-11-25 07:53:27 +01:00
Nisar Hassan Naqvi
dfdb0f0665 make contributions easier via automating the dev setup. (#3110) 2020-11-25 07:51:27 +01:00
Michael Yang
a182ecfa69 Update _main-sidebar.scss (#3082)
fixed scrollbar show in sidebar
2020-11-25 07:50:13 +01:00
REJack
72ed5c36d4 bump bundlewatch sizes 2020-11-25 07:48:43 +01:00
dependabot[bot]
82d6e78508 Bump terser from 5.3.2 to 5.5.0 (#3142)
Bumps [terser](https://github.com/terser/terser) from 5.3.2 to 5.5.0.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.3.2...v5.5.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:47:52 +01:00
dependabot[bot]
2997df7d63 Bump rollup from 2.28.2 to 2.33.3 (#3141)
Bumps [rollup](https://github.com/rollup/rollup) from 2.28.2 to 2.33.3.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.28.2...v2.33.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:47:30 +01:00
REJack
1b6767c07a Merge remote-tracking branch 'origin/master' into feat/iframe-plugin 2020-11-25 07:44:25 +01:00
dependabot[bot]
8e19ff2774 Bump codemirror from 5.58.0 to 5.58.3 (#3140)
Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.58.0 to 5.58.3.
- [Release notes](https://github.com/codemirror/CodeMirror/releases)
- [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codemirror/CodeMirror/compare/5.58.0...5.58.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:36:01 +01:00
dependabot[bot]
7966285c3a Bump eslint from 7.10.0 to 7.14.0 (#3139)
Bumps [eslint](https://github.com/eslint/eslint) from 7.10.0 to 7.14.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.10.0...v7.14.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:35:48 +01:00
dependabot[bot]
f0c5ef275b Bump jekyll-seo-tag from 2.6.1 to 2.7.1 in /docs (#3098)
Bumps [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag) from 2.6.1 to 2.7.1.
- [Release notes](https://github.com/jekyll/jekyll-seo-tag/releases)
- [Changelog](https://github.com/jekyll/jekyll-seo-tag/blob/master/History.markdown)
- [Commits](https://github.com/jekyll/jekyll-seo-tag/compare/v2.6.1...v2.7.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:35:30 +01:00
dependabot[bot]
cb8dcbfd70 Bump moment from 2.29.0 to 2.29.1 (#3091)
Bumps [moment](https://github.com/moment/moment) from 2.29.0 to 2.29.1.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.0...2.29.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:35:13 +01:00
dependabot[bot]
4f5da1f135 Bump @fortawesome/fontawesome-free from 5.14.0 to 5.15.1 (#3090)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.14.0 to 5.15.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.14.0...5.15.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:34:40 +01:00
dependabot[bot]
8cb546b453 Bump datatables.net-buttons-bs4 from 1.6.4 to 1.6.5 (#3088)
Bumps [datatables.net-buttons-bs4](https://datatables.net) from 1.6.4 to 1.6.5.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:34:28 +01:00
dependabot[bot]
0baf962241 Bump bundlewatch from 0.2.7 to 0.3.1 (#3077)
Bumps [bundlewatch](https://github.com/bundlewatch/bundlewatch) from 0.2.7 to 0.3.1.
- [Release notes](https://github.com/bundlewatch/bundlewatch/releases)
- [Commits](https://github.com/bundlewatch/bundlewatch/compare/v0.2.7...v0.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:34:01 +01:00
dependabot[bot]
5b590f4450 Bump postcss-cli from 7.1.1 to 7.1.2 (#3076)
Bumps [postcss-cli](https://github.com/postcss/postcss-cli) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/postcss/postcss-cli/releases)
- [Changelog](https://github.com/postcss/postcss-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-cli/compare/7.1.1...7.1.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:33:51 +01:00
dependabot[bot]
aab8ff9605 Bump stylelint-config-twbs-bootstrap from 2.0.3 to 2.1.0 (#3074)
Bumps [stylelint-config-twbs-bootstrap](https://github.com/twbs/stylelint-config-twbs-bootstrap) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/twbs/stylelint-config-twbs-bootstrap/releases)
- [Commits](https://github.com/twbs/stylelint-config-twbs-bootstrap/compare/v2.0.3...v2.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-25 07:33:32 +01:00
REJack
218376c64c fix html validator error 2020-11-25 07:33:04 +01:00
REJack
e7d9ce7ec1 npm audit fix 2020-11-24 09:39:24 +01:00
REJack
1f7db49d54 add datatables searchpanes plugin 2020-11-24 09:38:21 +01:00
REJack
f163e3c43b small demo adjustments 2020-11-24 09:28:49 +01:00
REJack
fe3bce3398 add card with image overlay demo 2020-11-24 09:27:57 +01:00
REJack
290738e916 add .main-header.dropdown-offset-legacy 2020-11-24 08:54:03 +01:00
REJack
78a6403f2b update plugin files 2020-11-24 08:16:03 +01:00
REJack
45cd9f6645 rename .fullscreen-mode to .iframe-mode-fullscreen 2020-10-03 15:43:47 +02:00
REJack
865fc053fa add iframe fullscreen mode 2020-10-03 15:43:15 +02:00
REJack
113a477618 add scroll buttons for navbar items 2020-10-03 15:12:06 +02:00
REJack
98962aeab7 enhance removeActiveTab 2020-10-03 14:31:11 +02:00
REJack
fdaedac545 fix menu links 2020-10-03 14:30:19 +02:00
REJack
16b7b87af4 Merge branch 'feat/iframe-plugin' of https://github.com/ColorlibHQ/AdminLTE into feat/iframe-plugin 2020-10-01 13:57:55 +02:00
REJack
b9e718406b bump bundlewatch js sizes 2020-10-01 13:57:36 +02:00
REJack
81b9131269 Merge branch 'master' into feat/iframe-plugin 2020-10-01 13:11:46 +02:00
Cleverson
0c3f82bc58 Smileyzn close button patch 1 (#3049)
* Removed box shadow from page-link class

Removed box shadow from page-link class

* Add close span import

Let's fix close button on dialogs like modals etc.

* Fix outline for close button

Fix outline for close button

* Fixed whitespace

Fixed whitespace
2020-09-30 14:04:10 +02:00
REJack
96836c0f85 finish iframe docs 2020-09-30 09:04:42 +02:00
REJack
a772df102d rework methods 2020-09-30 09:04:29 +02:00
REJack
15e92b4546 place iframe.html sidebar menu item 2020-09-30 09:03:11 +02:00
REJack
4b567affcd add iframe docs (1st version) 2020-09-29 15:13:49 +02:00
REJack
f0f59489f0 fix tab events 2020-09-29 08:48:41 +02:00
REJack
39f9e9e8a8 add usage for useNavbarItems 2020-09-29 08:44:17 +02:00
REJack
94867cd6b5 rename events to onTab* instead of tab* 2020-09-29 08:27:43 +02:00
dependabot[bot]
c29e2c57c9 Bump eslint-plugin-import from 2.22.0 to 2.22.1 (#3058)
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.22.0 to 2.22.1.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.22.0...v2.22.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 09:16:22 +02:00
dependabot[bot]
0d6c6849c9 Bump stylelint from 13.6.1 to 13.7.2 (#3057)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.6.1 to 13.7.2.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.6.1...13.7.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 09:16:08 +02:00
dependabot[bot]
e2a579fd8d Bump terser from 5.3.1 to 5.3.2 (#3061)
Bumps [terser](https://github.com/terser/terser) from 5.3.1 to 5.3.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v5.3.1...v5.3.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:48:13 +02:00
REJack
88b30801f3 fix new eslint errors since v7.10.0 (#3064) 2020-09-28 08:25:39 +02:00
REJack
e00dce43d9 add missing form-control borrder only docs info (#3063) 2020-09-28 08:25:14 +02:00
dependabot[bot]
c195816e4f Bump moment from 2.28.0 to 2.29.0 (#3062)
Bumps [moment](https://github.com/moment/moment) from 2.28.0 to 2.29.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.28.0...2.29.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:24:43 +02:00
dependabot[bot]
3f3b153733 Bump eslint-plugin-unicorn from 21.0.0 to 22.0.0 (#3060)
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 21.0.0 to 22.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v21.0.0...v22.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:24:27 +02:00
dependabot[bot]
c58530fa90 Bump @rollup/plugin-babel from 5.1.0 to 5.2.1 (#3059)
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/wasm-v5.1.0...babel-v5.2.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:24:16 +02:00
dependabot[bot]
e75ab5ea33 Bump rollup from 2.26.11 to 2.28.2 (#3056)
Bumps [rollup](https://github.com/rollup/rollup) from 2.26.11 to 2.28.2.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.26.11...v2.28.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:23:35 +02:00
dependabot[bot]
fc1e85f6e3 Bump eslint from 7.9.0 to 7.10.0 (#3055)
Bumps [eslint](https://github.com/eslint/eslint) from 7.9.0 to 7.10.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.9.0...v7.10.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:19:34 +02:00
dependabot[bot]
9b38c0d2d5 Bump @sweetalert2/theme-bootstrap-4 from 3.2.0 to 4.0.0 (#3053)
Bumps [@sweetalert2/theme-bootstrap-4](https://github.com/sweetalert2/sweetalert2-themes) from 3.2.0 to 4.0.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2-themes/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2-themes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2-themes/compare/v3.2.0...v4.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:11:49 +02:00
dependabot[bot]
a68023d47d Bump sweetalert2 from 9.17.2 to 10.3.5 (#3054)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 9.17.2 to 10.3.5.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v9.17.2...v10.3.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-28 08:11:26 +02:00
REJack
4ead90db62 Merge pull request #3046 from ColorlibHQ/feat/new-form-button-styles
new styles and demos
2020-09-25 13:49:49 +02:00
REJack
5d434cb80f fix html validator errors 2020-09-25 12:38:53 +02:00
REJack
4bf3a3ec84 raise bundlewatch limits 2020-09-25 12:35:13 +02:00
Cleverson
d01e1ac22f Removed box shadow from page-link class (#3048)
Removed box shadow from page-link class
2020-09-24 22:52:30 +02:00
REJack
0ec522caa2 fix tfoot padding in .card-body.p-0 2020-09-24 11:16:02 +02:00
REJack
04d78d238b add dark-mode checkbox in demo.js 2020-09-24 11:03:13 +02:00
REJack
3311b2ca92 add kanban demo 2020-09-24 10:58:07 +02:00
REJack
1b328391c6 add kanban style 2020-09-24 10:57:36 +02:00
REJack
37a83c86fa small dark-mode fixes 2020-09-24 10:57:27 +02:00
REJack
ee814eb531 finish dark-mode overrides 2020-09-24 09:08:20 +02:00
REJack
377a00f0cb small html corrections 2020-09-24 09:07:55 +02:00
REJack
08151496fc add dark-mode in some components 2020-09-23 16:08:15 +02:00
REJack
89c19af33c remove text-dark on content header 2020-09-23 09:50:37 +02:00
REJack
1871f1d45d update docs/layout 2020-09-23 08:51:41 +02:00
REJack
89dbc4c8de add custom-control-input-outline for checkbox & radio 2020-09-23 08:46:54 +02:00
REJack
0c91826f12 add button with icons demo in ui/buttons 2020-09-23 08:13:56 +02:00
REJack
fd734c977a add custom-control-input color variations 2020-09-22 15:21:52 +02:00
REJack
e8744690ce add three new styles examples in forms/general 2020-09-22 15:02:28 +02:00
REJack
e4bc0c45c9 added .form-control-border 2020-09-22 15:01:56 +02:00
REJack
6e26bc3485 fix input-group-text font-size with body.text-sm (#3045) 2020-09-22 14:34:16 +02:00
REJack
3876bfdd29 fix direct-chat classes in pages/widgets (#3044) 2020-09-22 14:23:49 +02:00
REJack
24ce21a5c3 Merge pull request #3042 from mineminemine/fix/info-box
Fix/info box
2020-09-22 14:23:31 +02:00
Ryan
6eab10b0ba line-height with percentage seems to behave weirdly in IE 2020-09-22 12:05:02 +08:00
Ryan
ba9cf441cb Fix for Info Box when on IE11
Fixes info box displaying incorrectly when using IE11 (not sure for older versions) and also change text for the shadow info box so it will appear better for smaller screens (without having to use text-wrap).
2020-09-22 11:30:19 +08:00
REJack
9236727125 Merge pull request #3041 from ColorlibHQ/feat/update-plugins
update plugins
2020-09-21 11:50:00 +02:00
REJack
e8476fa5a4 update plugins 2020-09-21 11:43:11 +02:00
REJack
835d48fbb2 update to fullcalendar dist version 2020-09-21 11:39:44 +02:00
dependabot[bot]
f7911fe077 Bump @fullcalendar/daygrid from 4.4.2 to 5.3.2 (#3022)
Bumps [@fullcalendar/daygrid](https://github.com/fullcalendar/fullcalendar) from 4.4.2 to 5.3.2.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/compare/v4.4.2...v5.3.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:14:08 +02:00
dependabot[bot]
f1e5aac2a2 Bump datatables.net-responsive-bs4 from 2.2.5 to 2.2.6 (#3035)
Bumps [datatables.net-responsive-bs4](https://datatables.net) from 2.2.5 to 2.2.6.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:13:46 +02:00
dependabot[bot]
171c4270c8 Bump @babel/preset-env from 7.11.0 to 7.11.5 (#3034)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.11.0 to 7.11.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.5/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:12:59 +02:00
dependabot[bot]
f59da2129d Bump @fullcalendar/timegrid from 4.4.2 to 5.3.1 (#3007)
Bumps [@fullcalendar/timegrid](https://github.com/fullcalendar/fullcalendar) from 4.4.2 to 5.3.1.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/compare/v4.4.2...v5.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:12:19 +02:00
dependabot[bot]
49f2621e6f Bump datatables.net-keytable-bs4 from 2.5.2 to 2.5.3 (#3033)
Bumps [datatables.net-keytable-bs4](https://datatables.net) from 2.5.2 to 2.5.3.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:11:49 +02:00
dependabot[bot]
8284cdc1da Bump moment from 2.27.0 to 2.28.0 (#3036)
Bumps [moment](https://github.com/moment/moment) from 2.27.0 to 2.28.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.27.0...2.28.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:11:24 +02:00
dependabot[bot]
a0e1e81149 Bump datatables.net from 1.10.21 to 1.10.22 (#3037)
Bumps [datatables.net](https://github.com/DataTables/Dist-DataTables) from 1.10.21 to 1.10.22.
- [Release notes](https://github.com/DataTables/Dist-DataTables/releases)
- [Commits](https://github.com/DataTables/Dist-DataTables/compare/1.10.21...1.10.22)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:11:09 +02:00
dependabot[bot]
bd6b7a6d89 Bump @babel/core from 7.11.1 to 7.11.6 (#3038)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.11.1 to 7.11.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.6/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:10:53 +02:00
dependabot[bot]
0f2ba49fae Bump @fullcalendar/interaction from 4.4.2 to 5.3.1 (#3004)
Bumps [@fullcalendar/interaction](https://github.com/fullcalendar/fullcalendar) from 4.4.2 to 5.3.1.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/compare/v4.4.2...v5.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:09:12 +02:00
dependabot[bot]
7c8f45ebcf Bump @fullcalendar/bootstrap from 4.4.2 to 5.3.1 (#3003)
Bumps [@fullcalendar/bootstrap](https://github.com/fullcalendar/fullcalendar) from 4.4.2 to 5.3.1.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/master/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/compare/v4.4.2...v5.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-21 11:08:45 +02:00
REJack
432be77df0 fix background-gradient-variant deprecated warning (#3040) 2020-09-21 11:03:47 +02:00
Shailesh Ladumor
41c9588cb9 docs: Video tutorial link add into docs (#3032) 2020-09-21 10:54:35 +02:00
REJack
99a1632731 Merge pull request #3039 from ColorlibHQ/feat/some-plugin-fixes
some plugin fixes
2020-09-21 10:45:22 +02:00
Ryan
32a760a47d Fix for sidebar searching when there are no sidebar to search (#3010)
* added examples for box shadows

Add some examples for shadows on certain elements/widgets like the cards or tables; mainly to help with color contrasting since the body background has a similar color / tone with the element/widget's background

* Revert "added examples for box shadows"

This reverts commit 3aa62588db.

* Fix sidebar searching

If there are no data-widget: "sidebar-search" found, then stop init()
2020-09-21 10:33:44 +02:00
REJack
06b7deef80 fix tooltip in maximized card 2020-09-21 10:20:07 +02:00
REJack
ee590b0645 update control-sidebar methods in docs 2020-09-21 09:32:01 +02:00
REJack
209075b504 fix mulitple level dropdown-menu overlapping 2020-09-21 09:28:14 +02:00
REJack
e257bffd0d add posibile fix to use multiple sidebar treeviews 2020-09-21 09:12:41 +02:00
REJack
fd07c05d2d last few changes
- fix sidebar menu item name (remove badge text)
- add removeActiveTab and event listener
2020-09-20 11:18:05 +02:00
REJack
1058af118a rework navbar to be scrollable 2020-09-20 11:16:39 +02:00
REJack
0cfe854c71 add ability to set menu items active 2020-09-20 10:55:39 +02:00
REJack
18aeaed0a6 add event callback's (tabClicked, tabChanged, tabCreated) 2020-09-20 10:07:34 +02:00
REJack
b4b92be945 add ability to use navbar items 2020-09-20 09:59:23 +02:00
REJack
3a12dce448 add tab loading screen with delay 2020-09-19 14:51:15 +02:00
REJack
5bf7e0346b fix iframe height setter 2020-09-19 14:16:39 +02:00
REJack
563a91d15a add panelAutoHeightMode in Layout.js 2020-09-19 14:15:59 +02:00
REJack
349b501c27 further progress
- fix tab creation
- fix tab switching
- add auto open tab on creation
- add auto iframe mode for easy adaption
- add switchTab method
2020-09-19 14:00:55 +02:00
REJack
973377e5df remove active menu in sidebar 2020-09-19 13:51:01 +02:00
REJack
b810326bb8 further changes
- add empty tab
- fix tab switching
- add _fixHeight
2020-09-18 12:54:44 +02:00
REJack
a298bab35d start iframe plugin 2020-09-16 15:32:22 +02:00
dependabot[bot]
2cb8bb72a7 Bump rollup from 2.23.0 to 2.26.11 (#3021)
Bumps [rollup](https://github.com/rollup/rollup) from 2.23.0 to 2.26.11.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.23.0...v2.26.11)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-16 13:44:04 +02:00
dependabot[bot]
b62d3b20df Bump terser from 4.8.0 to 5.3.1 (#3020)
Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 5.3.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v4.8.0...v5.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-16 13:43:45 +02:00
dependabot[bot]
4ca888e427 Bump eslint from 7.5.0 to 7.9.0 (#3019)
Bumps [eslint](https://github.com/eslint/eslint) from 7.5.0 to 7.9.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.5.0...v7.9.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-16 13:42:59 +02:00
dependabot[bot]
ec6425d99d Bump inputmask from 5.0.3 to 5.0.5 (#2963)
Bumps [inputmask](https://github.com/RobinHerbots/Inputmask) from 5.0.3 to 5.0.5.
- [Release notes](https://github.com/RobinHerbots/Inputmask/releases)
- [Changelog](https://github.com/RobinHerbots/Inputmask/blob/5.x/CHANGELOG.md)
- [Commits](https://github.com/RobinHerbots/Inputmask/compare/5.0.3...5.0.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-14 12:53:55 +02:00
dependabot[bot]
cc9766d607 Bump bootstrap from 4.4.1 to 4.5.2 (#2961)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.4.1 to 4.5.2.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.4.1...v4.5.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-14 12:53:43 +02:00
dependabot[bot]
443bb31418 Bump datatables.net-buttons-bs4 from 1.6.2 to 1.6.3 (#2959)
Bumps [datatables.net-buttons-bs4](https://datatables.net) from 1.6.2 to 1.6.3.

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-14 12:53:15 +02:00
REJack
80f96916e0 Merge pull request #3024 from ColorlibHQ/feat/new-example-pages
new example pages
2020-09-14 12:52:23 +02:00
REJack
dc00689d30 fix html validator errors/warnings 2020-09-14 11:54:09 +02:00
REJack
12c4eb90e4 fix active menu in contact-us & faq 2020-09-14 11:49:17 +02:00
REJack
6feb219d8b small contact-us changes 2020-09-14 11:43:49 +02:00
REJack
45c694fdc4 finish contact-us and place menu item 2020-09-14 11:41:18 +02:00
REJack
0384c30f8e add faq & contact us(not finish) demo 2020-09-11 17:08:08 +02:00
Ryan
48743c7dee Small fix for TodoList plugin (#3013)
Properly attach the event listener to the correct selector and fix on the options passed on in the JQuery API. However, a new bug comes from this fix when both data-widget and Jquery API is set where the event listener will be triggered twice
2020-09-11 11:57:33 +02:00
REJack
444b95ff48 rework login & register menu items in sidebar 2020-09-11 11:33:57 +02:00
REJack
e6965ff86a add forgot password v2 demo 2020-09-11 11:28:16 +02:00
REJack
758936a97a add search forms & results (simple & enhanced) 2020-09-11 11:20:30 +02:00
REJack
2ad27011ed add datatables button example 2020-09-11 09:50:09 +02:00
dependabot[bot]
16b4d30d31 Bump @babel/core from 7.10.5 to 7.11.1 (#2955)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.5 to 7.11.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.1/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-06 11:19:01 +02:00
dependabot[bot]
f7dbbe455e Bump @babel/preset-env from 7.10.4 to 7.11.0 (#2948)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.4 to 7.11.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.11.0/packages/babel-preset-env)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-06 11:09:07 +02:00
dependabot[bot]
7679818fc4 Bump overlayscrollbars from 1.12.0 to 1.13.0 (#2944)
Bumps [overlayscrollbars](https://github.com/KingSora/OverlayScrollbars) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/KingSora/OverlayScrollbars/releases)
- [Commits](https://github.com/KingSora/OverlayScrollbars/compare/v1.12.0...v1.13.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-06 11:00:33 +02:00
dependabot[bot]
7a29690ed3 Bump autoprefixer from 9.8.5 to 9.8.6 (#2947)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.5 to 9.8.6.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.5...9.8.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-06 10:48:01 +02:00
dependabot[bot]
e62d8e8562 Bump pdfmake from 0.1.66 to 0.1.68 (#2951)
Bumps [pdfmake](https://github.com/bpampuch/pdfmake) from 0.1.66 to 0.1.68.
- [Release notes](https://github.com/bpampuch/pdfmake/releases)
- [Changelog](https://github.com/bpampuch/pdfmake/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bpampuch/pdfmake/compare/0.1.66...0.1.68)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-06 10:47:31 +02:00
dependabot[bot]
72ad5e5154 Bump @fortawesome/fontawesome-free from 5.13.1 to 5.14.0 (#2933)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.13.1 to 5.14.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.13.1...5.14.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-06 10:46:12 +02:00
dependabot[bot]
0e5d88a095 Bump sweetalert2 from 9.17.0 to 9.17.1 (#2938)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 9.17.0 to 9.17.1.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v9.17.0...v9.17.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-28 16:39:12 +03:00
dependabot[bot]
f30cc78d5f Bump rollup from 2.21.0 to 2.23.0 (#2932)
Bumps [rollup](https://github.com/rollup/rollup) from 2.21.0 to 2.23.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.21.0...v2.23.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-28 16:35:41 +03:00
dependabot[bot]
c33f7a89c2 Bump eslint-config-xo from 0.32.0 to 0.32.1 (#2934)
Bumps [eslint-config-xo](https://github.com/xojs/eslint-config-xo) from 0.32.0 to 0.32.1.
- [Release notes](https://github.com/xojs/eslint-config-xo/releases)
- [Commits](https://github.com/xojs/eslint-config-xo/compare/v0.32.0...v0.32.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-28 16:34:46 +03:00
dependabot[bot]
5d3f997288 Bump eslint-plugin-unicorn from 20.1.0 to 21.0.0 (#2931)
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 20.1.0 to 21.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v20.1.0...v21.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-28 16:29:41 +03:00
dependabot[bot]
cc40b1fc6b Bump browser-sync from 2.26.7 to 2.26.12 (#2935)
Bumps [browser-sync](https://github.com/BrowserSync/browser-sync) from 2.26.7 to 2.26.12.
- [Release notes](https://github.com/BrowserSync/browser-sync/releases)
- [Changelog](https://github.com/BrowserSync/browser-sync/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BrowserSync/browser-sync/compare/v2.26.7...v2.26.12)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-28 16:28:42 +03:00
dependabot[bot]
f9f1d5b3e2 Bump eslint from 7.4.0 to 7.5.0 (#2936)
Bumps [eslint](https://github.com/eslint/eslint) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.4.0...v7.5.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-28 16:28:27 +03:00
REJack
fdf849bab9 add new login, register & recover-password v2 page 2020-07-25 23:50:56 +02:00
REJack
611e50e969 move demo code after 3rd-party scripts (#2930) 2020-07-25 22:53:37 +02:00
REJack
c79452bb22 sidebar search enhancements (#2929)
* add ability to move across entries with arrow keys
* small style fixes for sidebar search
* bump bundlewatch size
2020-07-25 22:52:55 +02:00
REJack
127a1568c7 remove simplemde (#2928)
* remove simplemde
* remove simplemde from docs/dependencies
2020-07-25 19:58:03 +02:00
REJack
45a51f51b2 fix control-sidebar height with layout-fixed (#2927) 2020-07-25 00:39:07 +02:00
REJack
8facf9fa18 remove duplicate menu-open class in markup 2020-07-24 23:43:32 +02:00
REJack
346515b5a7 remove sidebar-is-opening on expand (#2926) 2020-07-24 22:43:50 +02:00
REJack
46dcb2a43e remove unnecessary jquery-ui (#2925) 2020-07-24 22:23:06 +02:00
REJack
67c15d1389 remove flot-old and add flot plugins from flot/source folder (#2924) 2020-07-24 22:13:20 +02:00
REJack
16c24abc3b Merge pull request #2923 from ColorlibHQ/feat/docs-updates-changes
* add additional-styles docs section
* add expandable tables section
* small typo fixes in direct chat section
2020-07-24 22:04:04 +02:00
REJack
c9ba65fb63 small typo fixes in direct chat section 2020-07-24 21:44:03 +02:00
REJack
731fef74f1 add expandable tables section 2020-07-24 21:43:34 +02:00
REJack
be42956a9d add additional-styles docs section 2020-07-24 21:27:54 +02:00
REJack
ac9e60684c add sparkline demo in inline charts (#2922) 2020-07-24 18:37:38 +02:00
REJack
949f91985f add support for fontawesome svg icons (#2920)
* add support for fontawesome svg icons
* bump bundlewatch sizes
2020-07-24 17:59:40 +02:00
REJack
240836922c Merge pull request #2916 from ColorlibHQ/feat/some-new-plugins
some new plugins
2020-07-24 16:24:32 +02:00
REJack
50d0035591 fix html validator error 2020-07-24 16:04:45 +02:00
REJack
29537ba540 fix html validator errors 2020-07-24 15:09:35 +02:00
REJack
204758c7ff add dropzonejs demo 2020-07-24 14:56:55 +02:00
REJack
216841f578 add dropzonejs plugin 2020-07-24 14:56:45 +02:00
REJack
caed140088 add codemirror & simplemde demo 2020-07-24 13:55:40 +02:00
REJack
2df58a35cc add codemirror & simplemde plugin files 2020-07-24 13:16:36 +02:00
REJack
07b516acc7 add bs-stepper demo 2020-07-23 23:25:53 +02:00
REJack
46927d3259 add bs-stepper plugin 2020-07-23 23:12:42 +02:00
REJack
1fc14abea4 update existing plugins 2020-07-23 23:12:30 +02:00
REJack
bafc8e67b8 fix maximized-card card-body overflow (#2915) 2020-07-23 22:18:44 +02:00
REJack
16686958b6 add nav-collapse-hide-child in demo.js (#2913)
* add nav-collapse-hide-child in demo.js
* fix nav-collapse-hide-child with sidebar-no-expand
2020-07-23 20:58:15 +02:00
REJack
2cf8ec813c remove has-treeview class across all demo & docs pages (#2912)
* remove has-treeview class across all demo & docs pages
* remove if item.subitems in docs/_includes/sidebar.html
2020-07-22 17:58:00 +02:00
REJack
aac8ca32df add font awesome light & duotone icons support (#2911)
* add font awesome light & duotone icons support
* fix lint error
2020-07-22 16:50:44 +02:00
REJack
1666fa3a46 enhance brand-link with pushmenu inside brand (#2910) 2020-07-22 16:08:19 +02:00
REJack
b48419b23b sidebar custom area (#2908)
* add sidebar-custom style
* fix hide-on-collapse
* add new sidebar menu entry
* add custom area docs info
2020-07-22 16:06:12 +02:00
REJack
01e00cd43d enhance ExpandableTable for table tree (#2907)
* enhance ExpandableTable for table tree
* remove unused rotate class
* fix html validator error/warnings
2020-07-22 16:03:54 +02:00
REJack
c9603ef5aa fullscreen plugin/button (#2906)
* add fullscreen plugin
* add fullscreen buton in topnav
* remove old mozilla function
2020-07-22 16:01:38 +02:00
REJack
42a184233e add pagination month (#2905) 2020-07-22 16:00:40 +02:00
dependabot[bot]
bc52b7276e Bump moment from 2.24.0 to 2.27.0 (#2896)
Bumps [moment](https://github.com/moment/moment) from 2.24.0 to 2.27.0.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.24.0...2.27.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-22 15:59:23 +02:00
dependabot[bot]
702fc09199 Bump sweetalert2 from 9.15.2 to 9.17.0 (#2892)
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 9.15.2 to 9.17.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v9.15.2...v9.17.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-22 15:57:53 +02:00
XhmikosR
7d42f7cceb Tweak CI cache (#2904)
Enable cache on Windows and fix cache directory to work on all OS'es
2020-07-22 15:53:08 +02:00
REJack
738ee83fa8 add btn-app color variations demo (#2903) 2020-07-19 16:23:40 +02:00
Aigars Silkalns
cd6930dd0a Merge pull request #2898 from ColorlibHQ/dependabot-cfg
Tweak dependabot config
2020-07-15 16:41:47 +03:00
Aigars Silkalns
5132611e0c Merge pull request #2897 from ColorlibHQ/deps
Update devDependencies and regenerate package-lock.json
2020-07-15 16:41:28 +03:00
XhmikosR
e60dc163e3 Tweak dependabot config
* switch to weekly updates
* increase versions
* add bundler deps too
2020-07-15 16:35:12 +03:00
XhmikosR
d143077b0e Update devDependencies and regenerate package-lock.json 2020-07-15 16:34:10 +03:00
XhmikosR
903143a1e1 Fix XSS in calendar.html (#2868)
* Fix XSS in calendar.html

* Remove console.log
2020-07-15 09:54:06 +02:00
XhmikosR
d114eabfe6 Update ci.yml (#2866)
Add caching but skip it on Windows due to https://github.com/actions/cache/issues/336

If the issue is fixed, the `if` condition can be removed
2020-07-15 09:53:49 +02:00
dependabot[bot]
917e47ea58 Bump @rollup/plugin-babel from 5.0.4 to 5.1.0 (#2885)
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins) from 5.0.4 to 5.1.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/babel-v5.0.4...babel-v5.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 09:04:43 +03:00
dependabot[bot]
ffbe945d88 Bump autoprefixer from 9.8.4 to 9.8.5 (#2884)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 9.8.4 to 9.8.5.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/9.8.4...9.8.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 09:03:11 +03:00
Aigars Silkalns
3fffe8071f Merge pull request #2872 from ColorlibHQ/dependabot/add-v2-config-file
Create Dependabot config file
2020-07-09 15:28:30 +03:00
dependabot-preview[bot]
186faaaab4 Create Dependabot config file 2020-07-08 14:38:30 +00:00
Aigars Silkalns
d3a552db71 Merge pull request #2871 from XhmikosR/deps
Update dependencies and gems
2020-07-08 16:50:06 +03:00
XhmikosR
9c878bde3a Update dependencies and gems
* pdfmake                     ^0.1.65  →   ^0.1.66
* @babel/core                 ^7.10.3  →   ^7.10.4
* @babel/preset-env           ^7.10.3  →   ^7.10.4
* eslint                       ^7.3.1  →    ^7.4.0
* eslint-config-xo            ^0.31.0  →   ^0.32.0
* eslint-plugin-compat         ^3.7.0  →    ^3.8.0
* rollup                      ^2.18.1  →   ^2.21.0
* vnu-jar                    ^20.5.29  →  ^20.6.30
2020-07-08 16:12:57 +03:00
REJack
c02ab3f0cd Merge pull request #2841 from ColorlibHQ/feat/sidebar-search
Sidebar Search
2020-07-05 12:03:22 +02:00
REJack
0aff809e7b add docs section 2020-07-02 15:52:12 +02:00
XhmikosR
a1d6efe454 Remove moot data-toggle="tooltip" (#2861)
Tooltips need to be manually initialized which didn't happen.

Also, streamline tag indentation a bit
2020-07-01 16:21:20 +02:00
REJack
89f47f3486 Update .babelrc.js (#2859)
* add `bugfixes: true` which will be the default in Babel 8.x
2020-06-28 14:03:33 +02:00
XhmikosR
fdc400067c Update dependencies (#2851)
* @fortawesome/fontawesome-free  ^5.13.0  →  ^5.13.1
* @sweetalert2/theme-bootstrap-4  ^3.1.4  →   ^3.2.0
* jszip                           ^3.4.0  →   ^3.5.0
* sweetalert2                    ^9.14.4  →  ^9.15.2
* eslint-plugin-import           ^2.21.2  →  ^2.22.0
* rollup                         ^2.18.0  →  ^2.18.1
2020-06-28 14:03:17 +02:00
XhmikosR
755df41324 Remove console.log (#2860) 2020-06-28 14:03:01 +02:00
XhmikosR
9812f8002b Update .babelrc.js
* add `bugfixes: true` which will be the default in Babel 8.x
2020-06-28 08:38:42 +03:00
REJack
5b24a7a47d rework expandable table (#2825) 2020-06-27 18:58:40 +02:00
REJack
45d4759ab0 add abilty to highlight name and path 2020-06-27 18:58:12 +02:00
REJack
798cf73e45 bump bundlewatch limit 2020-06-27 18:41:56 +02:00
REJack
6823a175d2 Revert "fix: ignore warnings for deprecation and add TODO for removing dependency (#2852)" (#2858)
This reverts commit 2458663439.
2020-06-27 18:30:21 +02:00
Shawn Heide
2458663439 fix: ignore warnings for deprecation and add TODO for removing dependency (#2852) 2020-06-27 17:56:03 +02:00
XhmikosR
50a8489e10 Update devDependencies (#2850)
* @babel/core           ^7.10.2  →  ^7.10.3
* @babel/preset-env     ^7.10.2  →  ^7.10.3
* @rollup/plugin-babel   ^5.0.3  →   ^5.0.4
* autoprefixer           ^9.8.0  →   ^9.8.4
* eslint                 ^7.2.0  →   ^7.3.1
* rollup                ^2.15.0  →  ^2.18.0
* stylelint             ^13.6.0  →  ^13.6.1
* terser                 ^4.7.0  →   ^4.8.0
2020-06-27 17:55:21 +02:00
XhmikosR
8e48630aac Update .browserslistrc (#2849)
* Remove the minimum Chrome and Firefox versions
* Make Edge 16 the minimum version
* Add Firefox ESR
2020-06-27 17:54:31 +02:00
REJack
eec4fd768e add sidebar search form in all demo pages 2020-06-13 17:37:06 +02:00
REJack
30746618d0 add sidebar search style 2020-06-13 17:33:02 +02:00
REJack
00b4aec60a add SidebarSearch.js 2020-06-13 17:32:43 +02:00
XhmikosR
5386be7a22 Fix comment (#2839) 2020-06-13 14:43:12 +02:00
XhmikosR
c886592bc5 ControlSidebar.js: minor simplification (#2837) 2020-06-13 14:42:56 +02:00
XhmikosR
57c2dd90c0 Update browserslist config (#2836)
* use the defaults
* drop Edge < 15
* drop Android since newer Android uses Android WebView which is Chromium-based
2020-06-13 14:34:36 +02:00
XhmikosR
2545f04bf3 Use template literals (#2835) 2020-06-13 14:34:10 +02:00
XhmikosR
bce97813d6 Be explicit with the background color property (#2834) 2020-06-13 12:22:58 +02:00
REJack
fffb131305 Merge pull request #2830 from XhmikosR/js-string-constants
Switch to String constants
2020-06-13 12:17:41 +02:00
XhmikosR
6a7c491071 ExpandableTable.js: add missing variable 2020-06-13 10:23:57 +03:00
XhmikosR
f94fa978f9 Fix DirectChat toggled event. 2020-06-13 10:23:57 +03:00
XhmikosR
4101916d14 Switch to String constants
Should result in better compression (aprox. -10% from the compressed adminlte.min.js) and should be easier to see unused/undefined variables on lint stage.
2020-06-13 10:23:56 +03:00
REJack
0a589f61b1 Merge pull request #2818 from XhmikosR/patch-1
vnu: enable `Werror`
2020-06-12 20:43:16 +02:00
REJack
515edfa906 Merge pull request #2829 from XhmikosR/deps
Update dependencies
2020-06-12 20:42:12 +02:00
XhmikosR
a8b291a943 Ignore more plugin files. (#2831) 2020-06-12 20:41:13 +02:00
XhmikosR
3f203af04b Remove .nav-tabs-custom references (#2832) 2020-06-12 20:40:06 +02:00
XhmikosR
5af47e0398 Update docs.yml
Fix ruby cache invalidation
2020-06-12 14:22:24 +03:00
XhmikosR
967fdeff31 Update Gemfile.lock 2020-06-12 12:49:44 +03:00
XhmikosR
29631025f3 Update dependencies
* flag-icon-css          ^3.4.6  →   ^3.5.0
* sweetalert2           ^9.14.0  →  ^9.14.4
* eslint-config-xo      ^0.30.0  →  ^0.31.0
* eslint-plugin-import  ^2.20.2  →  ^2.21.2
* rollup                ^2.13.1  →  ^2.15.0
2020-06-11 15:27:46 +03:00
XhmikosR
3bbde9e7ec pages/gallery.html: add missing headings 2020-06-08 14:29:23 +03:00
XhmikosR
9dfc8da08a It's JavaScript. 2020-06-08 14:29:23 +03:00
XhmikosR
500a53be1c pages/tables/simple.html: add colspan 2020-06-08 14:29:23 +03:00
XhmikosR
7f890fd6a2 ExpandableTable.js: lowercase colspan 2020-06-08 14:29:22 +03:00
XhmikosR
819455f5ec Fix 404.html page 2020-06-08 14:29:22 +03:00
XhmikosR
e8043b6a25 vnu: enable Werror 2020-06-08 14:29:22 +03:00
XhmikosR
cf2e1b85dc Fix accordion example (#2823)
* make collapsible heading behave like a block
* remove the non-existent `panel-collapse` class
* replace the `in` class with `show`
2020-06-08 13:28:13 +02:00
XhmikosR
18ee4a5421 Ignore inputmask.binding.js (#2820) 2020-06-08 12:33:22 +02:00
XhmikosR
8daa7a8f86 Use Bootstrap 4.4 consistently. (#2824) 2020-06-08 12:31:05 +02:00
REJack
06239d3d35 Merge pull request #2817 from XhmikosR/deps
Deps
2020-06-06 11:29:42 +02:00
XhmikosR
9cabb6468d Update devDependencies 2020-06-06 09:42:01 +03:00
XhmikosR
b2233260d4 Update bootstrap-slider to v11.0.2. 2020-06-06 09:41:45 +03:00
XhmikosR
a4673ccd1b Unbreak lines (#2814) 2020-06-05 16:36:57 +02:00
REJack
5ed7e97288 Merge pull request #2797 from XhmikosR/docs
Fix docs
2020-06-05 16:34:46 +02:00
XhmikosR
1f6c5a8181 Fix typo in comment (#2813) 2020-06-05 16:14:36 +02:00
XhmikosR
7782373a12 Remove docs from the npm package 2020-06-05 17:02:09 +03:00
XhmikosR
6017b241bf Markdown tweaks 2020-06-05 17:02:09 +03:00
XhmikosR
edc51cc61b Fix Jekyll variables and Liquid consistency tweaks
* add `baseurl`
* add `url`
2020-06-05 17:02:09 +03:00
XhmikosR
4bc6c1e8d6 Add missing trailing slash in docs link. (#2812) 2020-06-05 16:00:55 +02:00
XhmikosR
ae670b200e Load the minified summernote CSS (#2804) 2020-06-05 16:00:30 +02:00
XhmikosR
a3dc358394 language-menu.html: load flag-icon-css locally (#2803) 2020-06-05 16:00:15 +02:00
XhmikosR
3cec30427d layout.md: Escape \ (#2811) 2020-06-05 15:51:49 +02:00
XhmikosR
ea21c73666 Add back jsgrid/demos/db.js (#2810)
It's used in pages/tables/jsgrid.html.
2020-06-05 15:51:13 +02:00
XhmikosR
39e9416f8c Rename variable for clarity (#2801) 2020-06-05 15:49:56 +02:00
REJack
4a31f9986b Merge pull request #2799 from XhmikosR/pages
HTML Pages tag cleanup
2020-06-05 15:49:39 +02:00
XhmikosR
6788552f17 chartjs.html: switch to $. like everywhere else (#2798) 2020-06-05 15:47:32 +02:00
XhmikosR
695cfb9dd9 Update devDependencies and gems (#2796) 2020-06-05 15:46:57 +02:00
XhmikosR
96946b4fd4 Remove the obsolete X-UA-Compatible 2020-06-05 08:31:34 +03:00
XhmikosR
2f4a7e0e3e Move Google Fonts CSS first.
Also, fix a couple of comments.
2020-06-05 08:27:14 +03:00
REJack
5a6a9142fe bump bundlewatch size 2020-06-05 01:46:36 +02:00
bansalshashank
f1ce1758ce [Tables] Expandable table (#2528)
* [Tables] Expandable table

* enhance expandable table

* fix AdminLTE.js export

* fix linting errors

* fix HTML validator errors

Co-authored-by: Shashank Bansal <shashank.bansal@eloquent.studio>
Co-authored-by: REJack <info@rejack.de>
2020-06-05 00:35:50 +02:00
REJack
9f8149a44e remove missplaced "Outline" on non-outlined boxes 2020-06-04 21:39:44 +02:00
XhmikosR
74cccca8a1 Refactor SCSS main files. (#2791) 2020-06-04 21:27:13 +02:00
Ukee
e69ca82095 [Enhancement] Box Shadows (#2529)
* added examples for box shadows

Add some examples for shadows on certain elements/widgets like the cards or tables; mainly to help with color contrasting since the body background has a similar color / tone with the element/widget's background

* Revert "added examples for box shadows"

This reverts commit 3aa62588db.

* Added examples for box shadows

Add some examples for shadows on certain elements/widgets like the cards or tables; mainly to help with color contrasting since the body background has a similar color / tone with the element/widget's background

* remove simple table custom shadow variations

* update widget custom shadow variations

* replace tab indent with spaces

Co-authored-by: REJack <info@rejack.de>
2020-06-04 21:17:22 +02:00
XhmikosR
ab22cb62c7 docs action: fix cache (#2795) 2020-06-04 21:15:54 +02:00
XhmikosR
5a1ae0c35e Cache selectors when possible. (#2790) 2020-06-04 20:06:38 +02:00
REJack
1fbda275a9 prep pre version (v3.1.0-pre) 2020-06-04 17:31:22 +02:00
REJack
c4bc2c676c Merge pull request #2789 from XhmikosR/patch-13
Use an object when setting multiple CSS properties
2020-06-04 17:23:01 +02:00
REJack
c1f87dfbde Merge pull request #2772 from XhmikosR/docs-lint
Lint HTML
2020-06-04 17:13:11 +02:00
XhmikosR
306dd00b98 Fix all HTML validation errors. 2020-06-03 22:01:28 +03:00
XhmikosR
38e74faf55 Add vnu-jar for HTML validation.
Also, add a GitHub Action which builds the docs and run the validator script.
2020-06-03 22:01:27 +03:00
REJack
da1fa4eaab Merge pull request #2788 from XhmikosR/rm-ionic
Remove ionic icons from pages that don't use them
2020-06-03 19:04:27 +02:00
XhmikosR
5ac5edf929 Bump bundlewatch limit 2020-06-03 20:02:13 +03:00
XhmikosR
97d48edcdf Use an object when setting multiple CSS properties 2020-06-03 19:57:41 +03:00
XhmikosR
15e2a311fa Remove ionic icons from pages that don't use them 2020-06-03 19:53:23 +03:00
REJack
0e5d93fb4d Merge pull request #2787 from XhmikosR/deps
Update devDependencies and gems
2020-06-03 18:09:31 +02:00
REJack
b4b8d07feb Merge pull request #2785 from XhmikosR/js-tweaks-sort-exports
Sort imports/exports alphabetically
2020-06-03 18:07:00 +02:00
REJack
29666de051 docs: delete unused layouts. (#2784) 2020-06-03 18:05:53 +02:00
XhmikosR
f091c5d510 Dropdown.js: return early (#2783) 2020-06-03 18:05:36 +02:00
XhmikosR
695ca94fde Update devDependencies and gems 2020-06-03 16:16:48 +03:00
XhmikosR
e2e4bab687 Sort imports/exports alphabetically 2020-06-03 08:17:10 +03:00
XhmikosR
e023103dcf docs: delete unused layouts. 2020-06-03 08:06:13 +03:00
XhmikosR
312e083fc0 Dropdown.js: remove variable used only once (#2779)
Co-authored-by: REJack <info@rejack.de>
2020-06-02 22:41:03 +02:00
REJack
85d4b6be05 Dropdown.js: rename variable (#2780) 2020-06-02 22:39:17 +02:00
XhmikosR
13c857679b Layout.js: reuse constant (#2778) 2020-06-02 22:38:50 +02:00
XhmikosR
5167252a55 Dropdown.js: rename variable 2020-06-02 18:59:38 +03:00
XhmikosR
ad11109b2f Improve LGTM configuration (#2777)
* Testing LGTM

* Update .lgtm.yml

* Update .lgtm.yml

* Update .lgtm.yml

* Update .lgtm.yml
2020-06-02 16:38:46 +02:00
REJack
2eec6fe614 fix nav-link fadeIn (#2776) 2020-06-02 15:26:19 +02:00
XhmikosR
e848621b32 Remove unneeded IIFEs (#2774) 2020-06-02 15:23:22 +02:00
REJack
bbfcc0639e fix sidebar item icon transition (#2775)
* fix sidebar item icon transition

* rename menu-opens to menu-is-opening
2020-06-02 13:37:16 +02:00
XhmikosR
47e653bfbf Remove the executable permission. (#2768) 2020-06-02 13:25:34 +02:00
XhmikosR
dee12de0f7 Update .gitignore (#2773)
* Update .gitignore

* Update .gitignore
2020-06-02 12:21:48 +02:00
REJack
2bc9d56f62 Merge pull request #2771 from XhmikosR/pages
Minor pages cleanup
2020-06-02 11:29:47 +02:00
XhmikosR
feb42f852e Clean up more plugins' files. (#2767) 2020-06-02 11:29:28 +02:00
REJack
bbb22a16de Merge pull request #2751 from XhmikosR/js-tweaks
JS tweaks
2020-06-02 11:27:47 +02:00
XhmikosR
86d5d9b038 Remove trailing spaces 2020-06-02 12:16:43 +03:00
XhmikosR
d331b5f913 calendar.html: remove unused variable 2020-06-02 12:12:03 +03:00
XhmikosR
be58e635f6 Update lint.yml (#2770) 2020-06-02 10:41:53 +02:00
XhmikosR
04981d1770 Add missing shebang (#2769) 2020-06-02 10:39:15 +02:00
XhmikosR
2622f5ce56 Fix .gitignore comments (#2766)
Comments start with `#`
2020-06-02 10:38:43 +02:00
XhmikosR
ad03a31ffb Remove unused doc assets. (#2765) 2020-06-02 10:38:23 +02:00
XhmikosR
be3631930d Fix regression after 27ff009 2020-06-02 06:30:40 +03:00
XhmikosR
7853dcbd6e Use the document ready shorthand. 2020-06-02 06:30:39 +03:00
XhmikosR
3478837aab Layout.js: Simplify else 2020-06-02 06:30:39 +03:00
XhmikosR
cb85af826e Reuse variable 2020-06-02 06:30:39 +03:00
XhmikosR
e56939983d Remove variables only used once. 2020-06-02 06:30:39 +03:00
XhmikosR
187a01a8ee Return early. 2020-06-02 06:30:39 +03:00
XhmikosR
3528b6c1f8 Remove that workaround 2020-06-02 06:30:38 +03:00
REJack
c8feb99dc2 resolve lgtm alerts (#2764) 2020-06-01 21:49:17 +02:00
REJack
0641a8442d Fix ESLint errors (#2763)
* fix dist/js/demo.js eslint error

* fix Layout.js eslint error

* remove unnecessary semicolon

* remove unexpected token

* add missing radix for parseInt in Layout.js
2020-06-01 21:21:43 +02:00
XhmikosR
023ede7ded Update .bundlewatch.config.json (#2762) 2020-06-01 20:40:13 +02:00
XhmikosR
092028bb49 Run CI for master too. (#2761) 2020-06-01 20:32:29 +02:00
XhmikosR
cfe81189f5 Add bundlewatch (#2754) 2020-06-01 20:27:25 +02:00
XhmikosR
82b6f062d3 Remove docs-clean script (#2760)
Jekyll removes files by default
2020-06-01 20:14:30 +02:00
XhmikosR
0850fd8cb5 Update .eslintignore (#2759) 2020-06-01 20:14:13 +02:00
XhmikosR
7a7bea0be9 Update plugins. (#2756) 2020-06-01 20:13:38 +02:00
XhmikosR
569bddbf4d Rename install script to postinstall (#2757) 2020-06-01 20:11:09 +02:00
XhmikosR
48685382d3 Merge .npmignore files. (#2758) 2020-06-01 20:10:43 +02:00
XhmikosR
c4dae3e269 Add a separate prefix script for splits (#2755) 2020-06-01 20:09:37 +02:00
REJack
66f8bb1bbd Merge pull request #2752 from XhmikosR/plugins
Plugins
2020-06-01 14:09:20 +02:00
XhmikosR
1451820057 Remove glyphicon leftovers. (#2753) 2020-06-01 14:07:35 +02:00
XhmikosR
1af43bd9ea Remove outdated plugin files 2020-06-01 14:47:15 +03:00
XhmikosR
870df4406d Update plugins. 2020-06-01 14:45:27 +03:00
REJack
a26f303c69 Merge pull request #2728 from XhmikosR/eslint
Add ESLint support
2020-06-01 13:43:13 +02:00
XhmikosR
6dbfd55091 build/npm: don't copy dot files. 2020-06-01 14:26:08 +03:00
XhmikosR
27ff009494 Comply to the ESLint rules. 2020-06-01 14:26:08 +03:00
XhmikosR
5ba59f1454 Add ESLint support.
Used the Bootstrap master branch config and adapted it.

Also, remove the `babel-eslint` package since we don't use it.
2020-06-01 14:26:07 +03:00
REJack
ae1c128e04 Merge pull request #2727 from XhmikosR/stylelint
Add stylelint support
2020-06-01 13:24:44 +02:00
XhmikosR
ffcbdb2029 Add lint and compile tests to CI. 2020-06-01 14:09:56 +03:00
XhmikosR
ff66f38cee Convert hsla colors to rgba for consistency 2020-06-01 14:09:56 +03:00
XhmikosR
3d87e3c4cb Adhere to the Stylelint rules.
Also, re-use some of the color variables while at it.
2020-06-01 14:09:56 +03:00
XhmikosR
24bc6165bc Add Stylelint. 2020-06-01 14:09:56 +03:00
XhmikosR
8350264bd2 Update dependencies (#2748)
* @fullcalendar/bootstrap             ^4.4.0  →    ^4.4.2
* @fullcalendar/core                  ^4.4.0  →    ^4.4.2
* @fullcalendar/daygrid               ^4.4.0  →    ^4.4.2
* @fullcalendar/interaction           ^4.4.0  →    ^4.4.2
* @fullcalendar/timegrid              ^4.4.0  →    ^4.4.2
* @ttskch/select2-bootstrap4-theme     ^1.3.2  →   ^1.4.0
* bootstrap4-duallistbox              ^4.0.1  →    ^4.0.2
* datatables.net                    ^1.10.20  →  ^1.10.21
* datatables.net-autofill-bs4         ^2.3.4  →    ^2.3.5
* datatables.net-bs4                ^1.10.20  →  ^1.10.21
* datatables.net-buttons-bs4          ^1.6.1  →    ^1.6.2
* datatables.net-fixedcolumns-bs4     ^3.3.0  →    ^3.3.1
* datatables.net-fixedheader-bs4      ^3.1.6  →    ^3.1.7
* datatables.net-keytable-bs4         ^2.5.1  →    ^2.5.2
* datatables.net-responsive-bs4       ^2.2.3  →    ^2.2.5
* datatables.net-rowgroup-bs4         ^1.1.1  →    ^1.1.2
* datatables.net-rowreorder-bs4       ^1.2.6  →    ^1.2.7
* datatables.net-scroller-bs4         ^2.0.1  →    ^2.0.2
* filterizr                           ^2.2.3  →    ^2.2.4
* flot                                ^4.2.0  →    ^4.2.1
* jquery-validation                  ^1.19.1  →   ^1.19.2
* jszip                               ^3.3.0  →    ^3.4.0
* overlayscrollbars                  ^1.11.0  →   ^1.12.0
* summernote                         ^0.8.16  →   ^0.8.18
* sweetalert2                        ^9.10.8  →   ^9.14.0
2020-06-01 13:05:25 +02:00
XhmikosR
bbfae627a2 Doc gems (#2716)
* docs: specify the gems.

This saves 59 gems. Also, commit Gemfile.lock.

* Clean up docs/_config.yml

* Add jekyll-sitemap.

* Update Jekyll to v4.1.0.
2020-06-01 12:42:14 +02:00
XhmikosR
8bc05ad6b0 Update .editorconfig (#2749) 2020-06-01 10:33:50 +02:00
XhmikosR
7edd752b6b Assorted Markdown tweaks (#2750) 2020-06-01 10:33:08 +02:00
XhmikosR
532707221b Update devDependencies (#2747)
* @babel/core        ^7.10.1  →  ^7.10.2
* @babel/preset-env  ^7.10.1  →  ^7.10.2
* rollup             ^2.11.2  →  ^2.12.0
2020-06-01 10:32:53 +02:00
XhmikosR
b37e2e1aea Update jQuery to v3.5.1. (#2718) 2020-05-31 23:45:30 +02:00
XhmikosR
f1f0ff9776 A few HTML validation fixes (#2745) 2020-05-31 23:26:03 +02:00
XhmikosR
ef0fbe1b50 Specify diplay=fallback for Google Fonts (#2738) 2020-05-31 23:12:40 +02:00
XhmikosR
b480c754a4 Add rel=noopener for external links. (#2737) 2020-05-31 23:10:20 +02:00
XhmikosR
950e6e0dd1 Cleanup Gemfile and add wdm on Windows (#2708) 2020-05-31 23:09:01 +02:00
XhmikosR
7cc5f9b409 Configure LGTM (#2723)
Exclude the plugins folder since it slows down the scan a lot
2020-05-31 14:31:55 +02:00
XhmikosR
13ed4d6aca Use https when possible. (#2733) 2020-05-31 14:28:48 +02:00
XhmikosR
c000e77bde Specify --format breakWith=lf for cleancss (#2741) 2020-05-31 13:33:15 +02:00
XhmikosR
fa20b2def4 docs: fix HTML errors (#2732)
* duplicate `title` tag; jekyll-seo-tag adds the title by default
* escape `<`
* fix duplicate IDs
* fix typo `Documentaion`
* add missing `alt` attributes in direct-chat.md
2020-05-31 13:18:26 +02:00
XhmikosR
10e69015d9 Remove extra newline in footer version info. (#2744) 2020-05-31 13:16:25 +02:00
XhmikosR
44fcb13d47 Fix prefix script to run for all CSS files (#2740) 2020-05-31 13:12:40 +02:00
XhmikosR
d29b8c222c Fix GitHub case. (#2739) 2020-05-31 13:11:55 +02:00
XhmikosR
68d4417aad Move rel attribute first for consistency (#2736) 2020-05-31 13:10:51 +02:00
XhmikosR
2a964189de postcss.config.js: remove unused check (#2735) 2020-05-31 13:10:29 +02:00
XhmikosR
a58c7da1f3 Bump year to 2020 in all HTML files. (#2731) 2020-05-31 13:09:43 +02:00
XhmikosR
71a7ef8831 HTML: specify lang. (#2730) 2020-05-31 13:09:01 +02:00
REJack
b5e0f8441b Merge pull request #2724 from XhmikosR/update-rollup-babel
Update rollup babel
2020-05-31 13:08:25 +02:00
XhmikosR
2eebf1514f Simplify CI (#2721) 2020-05-31 13:07:42 +02:00
XhmikosR
1d1a3fd075 Remove unneeded babel packages. 2020-05-30 16:48:54 +03:00
XhmikosR
ca8f201737 Update to rollup/plugin-babel 2020-05-30 16:48:54 +03:00
XhmikosR
4d2ad43e50 Regenerate package-lock.json to flatten deps. (#2720) 2020-05-30 13:11:58 +02:00
XhmikosR
bb990bddc5 Enforce LF. (#2717)
On Windows with `autocrlf: true`, which is the default, we ended up with modified files.
2020-05-30 13:00:13 +02:00
XhmikosR
e35ab44603 Remove unused devDependencies. (#2711) 2020-05-30 12:34:48 +02:00
XhmikosR
9b79ce4fa3 Update CI config (#2712)
* remove the non-LTS Node.js 13
* specify `CI: true` environment variable
* switch to `npm ci` which checks for package-lock.json and it's intended for CI
2020-05-30 12:32:39 +02:00
XhmikosR
c04f125f46 Update devDependencies. (#2709)
* @babel/cli                       ^7.8.4  →  ^7.10.1
* @babel/core                      ^7.9.0  →  ^7.10.1
* @babel/plugin-external-helpers   ^7.8.3  →  ^7.10.1
* @babel/preset-env                ^7.9.0  →  ^7.10.1
* autoprefixer                     ^9.7.5  →   ^9.8.0
* css-loader                       ^3.4.2  →   ^3.5.3
* eslint                           ^6.8.0  →   ^7.1.0
* eslint-plugin-compat             ^3.5.1  →   ^3.7.0
* node-sass                       ^4.13.1  →  ^4.14.1
* nodemon                          ^2.0.2  →   ^2.0.4
* postcss-cli                      ^7.1.0  →   ^7.1.1
* rollup                           ^2.3.2  →  ^2.11.2
* style-loader                     ^1.1.3  →   ^1.2.1
* terser                          ^4.6.10  →   ^4.7.0
2020-05-30 12:20:37 +02:00
XhmikosR
1877ee7431 Update daterangepicker to v3.1.0 (#2713) 2020-05-30 12:10:52 +02:00
XhmikosR
45eae49936 Fix invalid href value (#2707) 2020-05-30 12:07:53 +02:00
XhmikosR
8a9808575f Compress png and remove unused img (#2706)
* Losslessly compress PNG files

Before: 1,17 MB (1.228.084 bytes)
After:  1,13 MB (1.194.642 bytes)

* Rename image for consistency.

* Delete the unused mestro.png
2020-05-30 12:07:22 +02:00
XhmikosR
671be53be1 Losslessly compress JPG files. (#2705)
Before: 1,84 MB (1.932.709 bytes)
After:  1,78 MB (1.867.039 bytes)
2020-05-30 12:07:10 +02:00
Alberto G. Rodriguez U
d146750a87 Update implementations.md (#2697)
add implementation for Cakephp 4.x

Co-authored-by: REJack <info@rejack.de>
2020-05-30 11:56:09 +02:00
REJack
cad5566d67 add ASP.NET Boilerplate implementation in docs 2020-05-27 22:20:22 +02:00
REJack
c2e77427ba fix layout-boxed sidebar with sidebar-mini 2020-05-27 22:14:18 +02:00
REJack
da47f23145 replace small-box font-size transition with transform 2020-05-27 22:02:21 +02:00
REJack
414d14b2d2 prep pre version 2020-05-27 21:59:29 +02:00
REJack
6b8b69261f fix docs sidebar links 2020-05-19 22:41:11 +02:00
REJack
66268d5340 prep version 2020-05-19 22:39:46 +02:00
REJack
229600ba4c add brand-image-xl margin fix without logo-switch 2020-05-19 20:43:15 +02:00
REJack
fbe0340eb0 fix layout-boxed with default sidebar 2020-05-18 13:29:45 +02:00
REJack
4c50b36cbe rebuild dist map files 2020-05-17 02:10:47 +02:00
REJack
161099e3bc fix toastr full width position 2020-05-17 01:31:00 +02:00
REJack
cf7daa0159 fix select2 dropdown while maximized card 2020-05-17 01:05:53 +02:00
REJack
c8b930b290 fix duallistbox link in pages/forms/advanced 2020-05-17 01:00:22 +02:00
REJack
c26ef4e556 add ribbon over image demo & docs 2020-05-17 00:54:42 +02:00
REJack
9f5c6bcfd8 add wrap/truncate note for info-boxes 2020-05-08 16:06:57 +02:00
REJack
d04b8e0eba move travis-ci to github actions 2020-05-08 16:04:19 +02:00
REJack
a47b4e0fa0 update README 2020-05-08 15:12:46 +02:00
REJack
a3604d0c62 enhance info-box for text-truncate & text-wrap 2020-05-08 15:01:04 +02:00
REJack
ae470bec2e add margin-bottom to form-inline in sidebar 2020-05-05 12:44:06 +02:00
REJack
d5de8efb33 Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-05-04 18:03:54 +02:00
REJack
dc4054d216 fix inline input-group in sidebar on macOS 2020-05-04 17:54:26 +02:00
Dede Iskandar
eaf5cf449f add container-fluid (#2672) 2020-05-04 13:10:29 +02:00
Erdi Köse
e83e5b183d add implementations of Angular, React and Vue (#2658) 2020-05-04 12:54:54 +02:00
REJack
c6ef7cc311 Delete bug-report-for-adminlte-v2-4-x.md 2020-05-04 12:11:35 +02:00
REJack
e0e5693493 update plugin files 2020-05-03 13:23:08 +02:00
REJack
d20dd7c13a replace transition to opacity for sidebar 2020-05-03 13:22:59 +02:00
REJack
850dc37d6d add offset to calendar card dropdown in index.html 2020-05-02 12:37:58 +02:00
REJack
35782815ef add !important to text-(color) 2020-04-28 10:55:48 +02:00
REJack
461a483144 fix anchor color on .btn 2020-04-27 19:37:51 +02:00
REJack
26ce58fe28 fix whitespace with fixed navbar & footer 2020-04-27 19:28:05 +02:00
Daniel
bf2bafa96c updated readme and license (#2653)
* readme and license updated

* Update LICENSE

* Update README.md

* Update LICENSE
2020-04-15 07:47:13 +02:00
Daniel
e7e61f5fbe datepicker demo addded (#2643) 2020-04-10 14:29:07 +02:00
Medard Mandane
6ffe423c66 Update Doc and License info of editor (#2637)
Summernote is the editor being used in the html file but the documentation and license info is referenced to a different github repo. It's kinda misleading
2020-04-10 14:28:46 +02:00
REJack
f1236a7025 added min nodejs version info & updated .travis.yml 2020-04-03 21:24:11 +02:00
REJack
4723bccf43 prep version 2020-04-02 01:06:25 +02:00
REJack
709c01d450 updated dependencies & devDependencies 2020-04-02 00:52:43 +02:00
REJack
d67c3a0812 fixed slow scrolling bug with ScrollAnywhere 2020-04-01 17:41:46 +02:00
REJack
282ff7f6ce enhanced PushMenu's autoCollapse feature 2020-04-01 17:20:47 +02:00
REJack
533a76538c downgraded bootstrap-switch from v3.4.0 to v3.3.4 2020-04-01 17:14:58 +02:00
REJack
a53971d122 fixed accent with pagination 2020-04-01 17:01:35 +02:00
REJack
459ac7775e prepr pre-version 2020-04-01 16:55:36 +02:00
REJack
87b8078d9b prep version 2020-04-01 15:20:05 +02:00
REJack
ae68ffc134 fixed docs generation for local docs 2020-04-01 15:09:49 +02:00
REJack
b9460ae8ea rebuild dist files 2020-04-01 14:29:28 +02:00
REJack
c6b1b4f586 fixed sidebar overlapping toolbar on mobile safari 2020-04-01 14:27:14 +02:00
REJack
67174b5c6b fixed footer gap with .text-sm on .main-footer 2020-04-01 14:12:33 +02:00
REJack
683f7bfccf Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2020-04-01 13:50:00 +02:00
REJack
ed6ae4dbb2 replaced fake spaces with real spaces 2020-04-01 13:49:55 +02:00
Anderson Carpi
129475db78 Overlay for tab-panels (#2612)
* Overlay for tab-panels

Don't know if i did it right, double check plz... 
There's a way to avoid the use of a overlay-wrapper? i'm not good in css....

* Update navbar.html
2020-03-23 20:08:57 +01:00
Anderson Carpi
b6e1529f3d NavBar Example had duplicated ids (#2613)
Fixed duplicated ids on NavBar Example page
2020-03-23 18:35:24 +01:00
REJack
0643791d8d fixed card remove icon in pages/forms/advanced 2020-03-13 18:13:26 +01:00
REJack
bc3123cb08 fixed select2 single input focus without opened menu 2020-03-13 17:41:13 +01:00
REJack
14719bdd88 added panelAutoHeight option to Layout.js 2020-03-10 09:28:26 +01:00
cyoung
21641f7c7c Fix incorrect choice of words in README. (#2590) 2020-03-09 21:02:39 +01:00
lostship
76854a2634 Fixed typo in docs (#2586)
* Fixed error in cards.md

card tools:
data-widget -> data-card-widget

* Fixed typo in card-widget.md

collapseTrigger's default value:
[data-card-widget="remove"] -> [data-card-widget="collapse"]

removeTrigger's default value:
[data-card-widget="collapse"] -> [data-card-widget="remove"]
2020-03-09 00:13:10 +01:00
REJack
6934469b38 enhanced DataTables demo with responsive plugin 2020-03-04 13:29:27 +01:00
REJack
09b89135c7 updated docs/implementations.md 2020-03-03 08:49:19 +01:00
REJack
61a58cda9a updated upgrade-guide.md with an info block for CSS/JS files 2020-03-03 08:44:10 +01:00
REJack
cafc66ae7d fixed child indent on hover with nav-compact 2020-02-27 07:49:36 +01:00
REJack
662b51c9c0 fixed brand-link transition with navbar fixed 2020-02-26 12:55:09 +01:00
REJack
b7efadbbca enhanced Layout.js with options for login auto height with interval ability 2020-02-25 14:25:05 +01:00
REJack
533a5917f5 enhanced register & login page min-height 2020-02-25 09:46:35 +01:00
REJack
9261d762b7 moved exclude to matrix in .travis.yml 2020-02-21 15:59:27 +01:00
REJack
f70527b620 fixed .travis.yml 2020-02-21 15:53:28 +01:00
REJack
3551ac8afb excluded yarn on node 8 in .travis.yml 2020-02-21 15:35:09 +01:00
REJack
9baa03ed63 rebuild css after PR's 2020-02-21 15:34:47 +01:00
Tasuku Suzuki
27ba2f178e Fix typo in Main Sidebar Component (#2521) 2020-02-21 15:26:48 +01:00
A Web Artisan
6934f4c541 Fix typo (#2544)
Removed commas

Co-authored-by: Raphael Jackstadt <info@rejack.de>
2020-02-21 15:26:27 +01:00
REJack
3b69d63eb4 fixed aria related role="button" on pushmenu & control-sidebar links 2020-02-21 15:17:06 +01:00
REJack
ede720e2b8 enhanced select2 text-sm support with form-control-sm 2020-02-21 15:09:02 +01:00
REJack
4ba150d509 fixed accent override for dropdown-item:active 2020-02-13 14:55:20 +01:00
REJack
187331143f added admin-lte-dotnet link to docs/implementations.md 2020-02-13 14:50:57 +01:00
REJack
ba8f8a8bbc fixed select2 height with text-sm 2020-02-13 14:07:05 +01:00
REJack
a3ede49485 fixed select2 focus border color 2020-02-13 13:50:38 +01:00
REJack
f9a40e3b46 fixed sidebar nav icon with text-sm 2020-02-12 15:18:56 +01:00
REJack
b1b5ce3cb5 fixed sidebar nav icon placing (without body.text-sm) 2020-02-12 10:09:02 +01:00
REJack
771a2d5530 enhanced dropdown position in navbar dropdown menus 2020-02-11 15:15:26 +01:00
REJack
4480db7f27 fixed accent link color overrides on sidebar and btn-app 2020-02-11 10:46:00 +01:00
REJack
0238015f5e fixed layout-fixed correct sidebar height to vh instead of % 2020-02-07 10:45:11 +01:00
REJack
b1c99c8963 fixed CardRefresh doubled load if loadOnInit is true 2020-02-07 10:27:44 +01:00
REJack
4d08d4b577 enhanced nav tabs inside card-header demo 2020-02-06 08:03:00 +01:00
REJack
4b2ea27a82 enhanced fullcalendar style & demo
- added forgotten themeSystem option in demo
- enhanced toolbar style on mobile
2020-02-02 10:04:32 +01:00
REJack
ff41f98ea5 enhanced CardWidget & card style with nav-tabs 2020-01-28 11:25:39 +01:00
bansalshashank
3f8802e647 filename and coresponding changes done for e_commerce.html, project_add.html, project_edit.html and project_detail.html (#2516)
Co-authored-by: EloquentShashank <52653070+EloquentShashank@users.noreply.github.com>
2020-01-28 11:07:41 +01:00
bansalshashank
8a66185901 [Examples] Product image now changes on clicking product image thumb (#2509)
Co-authored-by: EloquentShashank <52653070+EloquentShashank@users.noreply.github.com>
2020-01-24 12:55:01 +01:00
REJack
63eb7d2e8d fixed icheck-bootstrap docs link in demo 2020-01-23 07:42:07 +01:00
bansalshashank
64874f04fe Typo in title of examples/invoice-print fixed (#2503)
Co-authored-by: EloquentShashank <52653070+EloquentShashank@users.noreply.github.com>
2020-01-22 14:03:30 +01:00
bansalshashank
6800a0235d Title Changed from Project Edit to Project Add in examples/project_add.html (#2501)
Co-authored-by: EloquentShashank <52653070+EloquentShashank@users.noreply.github.com>
2020-01-22 13:10:29 +01:00
REJack
56ec9a3942 fixed npm audit 2020-01-22 08:55:00 +01:00
REJack
e73c7f15fa prep pre version 2020-01-22 08:47:01 +01:00
REJack
0e48302342 prep version 2020-01-17 09:05:37 +01:00
REJack
ce486267c4 fixed nested card collapse/expand icon bug 2020-01-17 07:37:39 +01:00
REJack
1ea675c50d fixed accent color override with dropdown menus 2020-01-16 15:23:49 +01:00
REJack
a4d297de9d fixed card-outline header border inside card-tabs 2020-01-16 15:17:34 +01:00
REJack
ffadc3d261 fixed sidebar nav header display on collapse hover 2020-01-16 15:13:14 +01:00
REJack
1cbf929bcf added .badge-btn style 2020-01-15 08:52:29 +01:00
REJack
3e236c9ff9 added text-nowrap to responsive tables 2020-01-14 15:07:33 +01:00
REJack
6fbbde4883 added flex-direction column to .login-page & .register-page 2020-01-14 14:57:17 +01:00
REJack
44fac0f65e rebuild dist files after PR's 2020-01-14 14:54:51 +01:00
frenchykiller
8da329441e Fixed double border on cards with nav tabs (#2477) 2020-01-14 14:51:55 +01:00
Andrii
d68e264e42 Fix typo in README (#2447) 2020-01-14 14:51:29 +01:00
REJack
6c06201930 small layout-top-nav enhancements
- fixed logo position
- added ability to use top-nav with sidebar (incl. demo)
2020-01-14 14:46:14 +01:00
REJack
dbe3e80778 fixed table condensed demo 2020-01-14 14:28:10 +01:00
REJack
add29e7168 added nuget package in implementations.md 2020-01-12 11:32:04 +01:00
REJack
05f23cb8c3 fixed sidebar mini collpased hover nav styles 2019-12-18 12:43:57 +01:00
REJack
56c5319f98 fixed sidebar mini with various sidebar nav styles (also combined) 2019-12-18 12:17:41 +01:00
REJack
7a47aad1e9 removed unnecessary fullcalendar plugin css file from demo 2019-12-15 10:27:37 +01:00
REJack
478cfc1743 Merge branch 'master' of https://github.com/ColorlibHQ/AdminLTE 2019-12-12 09:52:07 +01:00
REJack
2473021861 fixed Layout('init') for external use 2019-12-12 09:49:02 +01:00
Ppojin
22436d9cd2 Correct all day event (#2438) 2019-12-11 08:01:25 +01:00
Ppojin
a67b6b8d10 Correct and Improve of FilterizR sample page (#2439)
Correction of filtr-item's data-category, and add Category 4 (COLORED, BLACK)
2019-12-11 08:00:49 +01:00
REJack
72d348d34d fixed accent focus border color on form elements 2019-12-07 11:34:02 +01:00
REJack
71d32f8114 added new lightblue color (legacy blue) 2019-12-05 09:48:59 +01:00
REJack
945fd0c43b rebuild alt dist files 2019-12-04 14:54:21 +01:00
REJack
ebe29fbd24 fixed form label with alternative css files 2019-12-04 14:54:06 +01:00
REJack
5613006ea7 fixed box-shadow display while fully collapsed sidebar 2019-12-04 10:21:14 +01:00
REJack
6832bf6937 fixed dropdown menu in top-nav layout 2019-12-04 10:06:10 +01:00
REJack
ad3cfdd498 updated dependencies & devDependencies
- updated chart.js to v2.9.3
- updated select2 to v4.0.12
- updated @babel/cli to v7.7.4
- updated @babel/core to v7.7.4
- updated @babel/plugin-external-helpers to v7.7.4
- updated @babel/preset-env to v7.7.4
- updated autoprefixer to v7.7.4
- updated css-loader to v3.2.1
- updated eslint to v6.7.2
- updated rollup to v1.27.8
- updated style-loader to v1.0.1
- updated terser to v4.4.2
2019-12-04 10:03:30 +01:00
REJack
0b1372dd0f fixed accent color with buttons 2019-12-04 09:34:36 +01:00
REJack
857c3e7e69 replaced legacy dl-horizontal with bs4 grid 2019-12-04 09:05:42 +01:00
REJack
a324025b67 fixed nested card header style 2019-11-28 09:58:54 +01:00
REJack
42d4b59808 fixed accent color in sidebar 2019-11-25 09:02:11 +01:00
REJack
502887c71c fixed layout-navbar–fixed on iOS & macOS Safari 2019-11-25 08:41:25 +01:00
REJack
17a48d70c7 added jquery validation demo 2019-11-22 11:19:12 +01:00
REJack
d23a8d3d7f fixed custom checkbox padding 2019-11-22 11:09:49 +01:00
REJack
c27e8738cc fixed duplicate variable in demo.js 2019-11-22 10:32:31 +01:00
REJack
259d67ef8e some small control sidebar fixes
- fixed content height calculation with overlapping control sidebar
- fixed collapse/show functions (functions was swapped)
2019-11-22 10:23:17 +01:00
REJack
d327d76ae4 prep pre version 2019-11-22 09:50:18 +01:00
REJack
5988c4f9db prep version 2019-11-20 09:41:28 +01:00
REJack
29dc8e85fd fixed comment indent in scss files 2019-11-20 09:18:11 +01:00
REJack
d1f555e679 disabled expandSidebar by default in Treeview 2019-11-20 09:13:58 +01:00
REJack
e24c4d01ff some small js option fixes 2019-11-17 11:53:47 +01:00
REJack
f5286d6229 enhanced javascript plugins
- added expand & collapse method in PushMenu
- added expandSidebar & sidebarButtonSelector option in Treeview
- updated docs
2019-11-13 14:10:18 +01:00
REJack
7e86bd68cb updated docs/implementations 2019-11-13 13:47:18 +01:00
REJack
2c7229674c fixed user-menu dropdown top border 2019-11-12 15:57:25 +01:00
dima-bzz
78325db63a Add default to $main-footer-bg (#2394) 2019-11-10 11:21:26 +01:00
REJack
a2200f9bde fixed bootstrap-slider tooltip not shown 2019-11-07 08:36:32 +01:00
REJack
6cb3427fb8 fixed mozilla outline bug 2019-11-07 08:35:19 +01:00
REJack
fb77bcb178 fixed css compile scripts for windows usage 2019-11-07 08:14:16 +01:00
REJack
bfb74266b7 added missing starter page link in docs/layout.md 2019-11-07 07:32:20 +01:00
REJack
f80e848273 fixed overlapping products card in index3.html 2019-11-06 13:18:54 +01:00
REJack
1406f85866 added workaround for chartjs IE11 height bug 2019-11-06 10:57:23 +01:00
REJack
98c5a988ba fixed example links 2019-11-05 12:25:46 +01:00
Androz
59417e2a29 Fix broken link (#2377) 2019-11-05 11:04:48 +01:00
REJack
e100ad119f fixed margin left on sidebar collapse without sidebar-mini 2019-11-05 10:50:06 +01:00
REJack
a038600a03 updated dependencies & devDependencies
- updated chart.js to v2.9.2
- updated flag-icon-css to v3.4.5
- updated pdfmake to v0.1.62
- updated sweetalert2 to v8.19.0
- updated devDep autoprefixer to v9.7.1
- updated devDep eslint to v6.6.0
- updated devDep node-sass to v4.13.0
- updated devDep rollup to v1.26.3
2019-11-04 10:04:46 +01:00
REJack
0a0b7b5978 fixed card header background 2019-11-04 09:57:11 +01:00
REJack
4754f57ee8 prep pre version 2019-11-04 09:55:25 +01:00
REJack
f7aa7f36ba updated docs/implementations.md 2019-11-02 16:42:59 +01:00
REJack
db50d38af4 updated README.md 2019-11-02 16:18:08 +01:00
REJack
d17b058db4 updated issue template labels 2019-11-02 15:47:10 +01:00
Raphael Jackstadt
3348d3a414 Updated README.md 2019-11-02 14:51:13 +01:00
REJack
e78ee8d9ca prep version 2019-11-02 13:54:26 +01:00
REJack
5198872d30 updated README.md 2019-11-02 13:33:03 +01:00
REJack
b7a1c871ce fixed card default border after adding nav tabs support
- placed default card tabs style into .card-tabs
- updated demo
2019-11-02 08:59:45 +01:00
REJack
2ea45f22f3 fixed labels in issue templates 2019-11-01 12:25:19 +01:00
REJack
6457d31b0d added forget password & recover password demo 2019-11-01 12:19:24 +01:00
REJack
c4b90591a8 added new issue templates 2019-11-01 12:18:42 +01:00
REJack
bed1408234 updated install instructions in docs/index.md 2019-11-01 10:28:20 +01:00
REJack
54adf72cd3 fixed focus border in mozilla (bug with focusring removal) 2019-11-01 10:21:25 +01:00
REJack
d5404fb1f3 removed node_js 9 from .travis.yml
(not supported by node-sass so we exclude it complete)
2019-10-31 14:08:19 +01:00
REJack
ec0cf8a197 corrected select2 paddings to change look similar to form-control/custom-form select 2019-10-31 12:59:46 +01:00
REJack
4d13072001 added job exclude in .travis.yml 2019-10-31 12:47:10 +01:00
REJack
08c597d413 added .travis.yml 2019-10-31 12:10:29 +01:00
REJack
67024d83e4 added .nav-legacy & .nav-collapse-hide-child docs part 2019-10-31 08:48:28 +01:00
REJack
60830bb6c7 fixed select2 paddings/margins 2019-10-31 08:47:54 +01:00
REJack
448556d366 fixed mozilla focusring outline 2019-10-30 12:22:34 +01:00
REJack
e8ddb644a6 removed mozilla dotted border from focus links 2019-10-30 12:11:23 +01:00
REJack
e7d646cba1 some little fixes
- fixed info box icon aligning
- added .nav-legacy
- added .nav-collapse-hide-child
- fixed sidebar-light-hover-bg & sidebar-light-active-color
2019-10-30 11:59:53 +01:00
REJack
090bffc34c prep version 2019-10-29 09:39:22 +01:00
REJack
925254199e enhanced scss structure & compiled size
- reduced filesize by ~100kb
- splited _mixins into seperate files
- replaced `@extend`'s
- added split css files (core, components, extra-components, ...)
- changed cursor style for .btn.disabled
- enhanced package.json css* scripts
2019-10-29 09:22:51 +01:00
REJack
f60e0626fc changed user-image size/margin in .user-menu 2019-10-25 09:32:23 +02:00
REJack
139fbd3454 fixed box-shadow with select2 bootstrap4 theme 2019-10-24 10:04:55 +02:00
REJack
242ef8984a fixed select2 init bug in forms/advanced.html 2019-10-24 08:24:25 +02:00
REJack
acf9fe8403 added bs-custom-file-input plugin 2019-10-23 15:24:14 +02:00
REJack
247b797c38 changed input placeholder color with lighten 2019-10-23 11:49:59 +02:00
REJack
c5c5b6a407 fixed select2 multiple padding bottom 2019-10-23 11:36:05 +02:00
REJack
7d26cdd615 updated docs asset plugins 2019-10-23 09:54:04 +02:00
REJack
0f18f03807 fixed license url in js files 2019-10-23 09:51:31 +02:00
REJack
373c131092 fixed fixLayoutHeight on pushmenu collapse/expand event & removed auto expand sidebar on resize 2019-10-23 09:11:47 +02:00
REJack
8d20d4791f added abilty to use select2 with input-group 2019-10-23 08:46:37 +02:00
REJack
4acb2b49e6 fixed content margin with active sidebar overlay 2019-10-23 08:17:36 +02:00
REJack
46a05235ab rebuild dist files 2019-10-22 09:20:45 +02:00
REJack
977d95b43c fixed border-top for card-outline-tabs nav-item 2019-10-22 09:00:43 +02:00
REJack
4f28b5e39a updated package-lock.json 2019-10-21 11:58:19 +02:00
REJack
016ca7c2b3 rebuild dist files 2019-10-21 11:58:05 +02:00
REJack
386b525f77 added alert-default-* class for bootstrap4 legacy style 2019-10-21 11:57:44 +02:00
REJack
2bfcb514df fixed ::placeholder generation with autoprefixer 2019-10-21 11:56:54 +02:00
REJack
9f67b816a4 updated devDependecies 2019-10-21 11:55:05 +02:00
REJack
cec053b7bf updated dependencies & copied to plugin/
- updated @fortawesome/fontawesome-free to v5.11.2
- updated @sweetalert2/theme-bootstrap-4 to 2.2.1
- updated @ttskch/select2-bootstrap4-theme to v1.3.2
- updated datatables.net to v1.10.20
- updated datatables.net-autofill-bs4 to v2.3.4
- updated datatables.net-bs4 to v1.10.20
- updated datatables.net-buttons-bs4 to v1.6.1
- updated datatables.net-colreorder-bs4 to v1.5.2
- updated datatables.net-fixedcolumns-bs4 to v3.3.0
- updated datatables.net-fixedheader-bs4 to v3.1.6
- updated datatables.net-keytable-bs4 to v2.5.1
- updated datatables.net-rowgroup-bs4 to v1.1.1
- updated datatables.net-rowreorder-bs4 to v1.2.6
- updated datatables.net-scroller-bs4 to v2.0.1
- updated datatables.net-select-bs4 to v1.3.1
- updated flag-icon-css to v3.4.2
- updated flot to v3.2.13
- updated fs-extra to v8.1.0
- updated inputmask to v4.0.9
- updated overlayscrollbars to v1.10.0
- updated pdfmake to v0.1.60
- updated popper.js to v1.16.0
- updated select2 to v4.0.11
- updated sweetalert2 to v8.18.5
2019-10-21 11:54:16 +02:00
Aleksandr Rogozin
eae052422d Fixed unnecessary margin in list in timeline component (#2340) 2019-10-21 11:00:50 +02:00
Raphael Jackstadt
829a9b3c6c fixed collapsed sidebar autocollapse bug (#2339) 2019-10-19 12:01:46 +02:00
REJack
14967aec94 prep version & rebuild dists 2019-10-19 11:38:03 +02:00
REJack
0d4a75475a changed package.json docs scripts 2019-10-19 11:32:35 +02:00
Raphael Jackstadt
7acb89f44b fixed navbar tabs border in card-header (#2333) 2019-10-16 08:43:32 +02:00
Raphael Jackstadt
29a3ba3953 fixed content height calc with less sidebar content (#2332) 2019-10-16 08:34:07 +02:00
Raphael Jackstadt
302c85fb47 fixed select2 multiple height bug (#2325) 2019-10-12 12:02:07 +02:00
Raphael Jackstadt
f83f34546d fixed autocallapse on mobile touchscroll & rebuild dists (#2324) 2019-10-12 11:41:11 +02:00
Raphael Jackstadt
30b69da0b3 Merge pull request #2323 from ColorlibHQ/fix-content-height-calculation
fixed content height calculation
2019-10-12 11:37:38 +02:00
REJack
bd982813c4 fixed content height calculation 2019-10-12 11:36:52 +02:00
Raphael Jackstadt
e920e164e6 Merge pull request #2321 from dbugit/patch-1
Update _select2.scss
2019-10-11 15:43:32 +02:00
Adriano Pedro
f13e935b75 Update _select2.scss
The arrow down overrides the clear "x" button.
Removing this padding-right: 0 fix this issue.
2019-10-11 11:22:05 +01:00
Raphael Jackstadt
5bfaaa02d8 Merge pull request #2319 from ColorlibHQ/add-new-plugin-jquery-validation
added new plugin jquery-validation v1.19.1
2019-10-10 12:56:11 +02:00
REJack
c3a6d62a1d added new plugin jquery-validation v1.19.1 2019-10-10 12:55:35 +02:00
Raphael Jackstadt
00ae60be24 Merge pull request #2316 from ColorlibHQ/enable-auto-sidebar-collapse
enable auto collapse size by 992px as default option
2019-10-08 12:05:44 +02:00
REJack
2356b9844b enable auto collapse size by 992px as default option 2019-10-08 12:02:43 +02:00
Raphael Jackstadt
6f2a4f7a0b Merge pull request #2313 from ColorlibHQ/fix-chartjs-resize-bug
fixed resizing bugs with chartjs in index.html
2019-10-07 09:36:48 +02:00
REJack
0dc32b828a fixed resizing bugs with chartjs in index.html 2019-10-07 09:35:42 +02:00
Raphael Jackstadt
10d10e7537 Merge pull request #2312 from ColorlibHQ/fix-submenu-expand-bug
fixed submenu expand bug
2019-10-07 09:15:11 +02:00
REJack
2b0e4aa843 fixed submenu expand bug 2019-10-07 09:13:50 +02:00
REJack
c6a19a97f2 try to fix docs problems 2019-10-06 09:57:16 +02:00
REJack
d8a6ddca02 rebuild dist files 2019-10-04 15:18:22 +02:00
REJack
7a4a0659d1 prep version 2019-10-04 15:18:09 +02:00
Raphael Jackstadt
85a1215dd5 Merge pull request #2303 from REJack/v3-dev
v3.0.0-rc.3 fixes
2019-10-04 15:12:15 +02:00
REJack
c011e42b77 overhauled top-nav layout with a collapsable menu 2019-10-03 14:34:22 +02:00
REJack
99e51bc31a updated install instruction in docs 2019-10-03 14:18:35 +02:00
REJack
c09241069b fixed invoice-print loading from file:// 2019-10-03 14:09:27 +02:00
REJack
c2d3d8595c fixed margin of input-group, nav & pagination inside card-tools 2019-10-03 13:57:39 +02:00
REJack
3be22b6be9 fixed npm i prepare plugins error 2019-10-03 13:51:18 +02:00
REJack
c22642766e fixed accent build error 2019-10-03 13:26:35 +02:00
REJack
81e3dd0eab moved fs-extra to deps instead of devDeps 2019-10-03 13:22:51 +02:00
1881 changed files with 516264 additions and 243560 deletions

View File

@@ -1,14 +0,0 @@
{
"presets": [
[
"@babel/preset-env",
{
"loose": true,
"modules": false
}
]
],
"plugins": [
"@babel/plugin-external-helpers"
]
}

13
.babelrc.js Normal file
View File

@@ -0,0 +1,13 @@
module.exports = {
presets: [
[
'@babel/preset-env',
{
loose: true,
bugfixes: true,
modules: false,
exclude: ['transform-typeof-symbol']
}
]
]
};

View File

@@ -1,13 +1,10 @@
# https://github.com/browserslist/browserslist#readme
>= 1%
last 1 major version
>= 0.2%
last 2 major versions
not dead
Chrome >= 45
Firefox >= 38
Edge >= 12
Firefox ESR
Edge >= 16
Explorer >= 10
iOS >= 9
Safari >= 9
Android >= 4.4
Opera >= 30

60
.bundlewatch.config.json Normal file
View File

@@ -0,0 +1,60 @@
{
"files": [
{
"path": "./dist/css/adminlte.css",
"maxSize": "122.3 kB"
},
{
"path": "./dist/css/adminlte.min.css",
"maxSize": "116.5 kB"
},
{
"path": "./dist/css/alt/adminlte.components.css",
"maxSize": "27.2 kB"
},
{
"path": "./dist/css/alt/adminlte.components.min.css",
"maxSize": "26.5 kB"
},
{
"path": "./dist/css/alt/adminlte.core.css",
"maxSize": "69.2 kB"
},
{
"path": "./dist/css/alt/adminlte.core.min.css",
"maxSize": "65.4 kB"
},
{
"path": "./dist/css/alt/adminlte.extra-components.css",
"maxSize": "4.6 kB"
},
{
"path": "./dist/css/alt/adminlte.extra-components.min.css",
"maxSize": "4.5 kB"
},
{
"path": "./dist/css/alt/adminlte.pages.css",
"maxSize": "3.5 kB"
},
{
"path": "./dist/css/alt/adminlte.pages.min.css",
"maxSize": "3.1 kB"
},
{
"path": "./dist/css/alt/adminlte.plugins.css",
"maxSize": "21.8 kB"
},
{
"path": "./dist/css/alt/adminlte.plugins.min.css",
"maxSize": "21.2 kB"
},
{
"path": "./dist/js/adminlte.js",
"maxSize": "15.7 kB"
},
{
"path": "./dist/js/adminlte.min.js",
"maxSize": "10.5 kB"
}
]
}

View File

@@ -1,9 +1,14 @@
# editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

View File

@@ -1,5 +1,5 @@
**/*.min.js
**/plugins/*
**/dist/*
**/build/npm
ad.js
**/plugins/
/dist/js/adminlte.js
/docs/
/docs_html/

300
.eslintrc
View File

@@ -1,300 +0,0 @@
{
"root": true,
"parser": "babel-eslint",
"env": {
"browser": true,
"es6": true,
"amd": true
},
"extends": "eslint:recommended",
"plugins": [
"compat"
],
"globals": {
"jQuery": true
},
"rules": {
// Possible Errors
"no-await-in-loop": "error",
"no-extra-parens": "error",
"no-prototype-builtins": "error",
"no-template-curly-in-string": "error",
"compat/compat": "error",
"valid-jsdoc": "error",
// Best Practices
"accessor-pairs": "error",
"array-callback-return": "error",
"block-scoped-var": "error",
"class-methods-use-this": "off",
"complexity": "error",
"consistent-return": "error",
"curly": "error",
"default-case": "error",
"dot-location": [
"error",
"property"
],
"dot-notation": "error",
"eqeqeq": "error",
"guard-for-in": "error",
"no-alert": "error",
"no-caller": "error",
"no-div-regex": "error",
"no-else-return": "error",
"no-empty-function": "error",
"no-eq-null": "error",
"no-eval": "error",
"no-extend-native": "error",
"no-extra-bind": "error",
"no-extra-label": "error",
"no-floating-decimal": "error",
"no-implicit-coercion": "error",
"no-implicit-globals": "error",
"no-implied-eval": "error",
"no-invalid-this": "off",
"no-iterator": "error",
"no-labels": "error",
"no-lone-blocks": "error",
"no-loop-func": "error",
"no-magic-numbers": [
"error",
{
"ignore": [
-1,
0,
1
],
"ignoreArrayIndexes": true
}
],
"no-multi-spaces": [
"error",
{
"ignoreEOLComments": true,
"exceptions": {
"AssignmentExpression": true,
"ArrowFunctionExpression": true,
"CallExpression": true,
"VariableDeclarator": true
}
}
],
"no-multi-str": "error",
"no-new": "error",
"no-new-func": "error",
"no-new-wrappers": "error",
"no-octal-escape": "error",
"no-param-reassign": "off",
"no-proto": "error",
"no-restricted-properties": "error",
"no-return-assign": "error",
"no-return-await": "error",
"no-script-url": "error",
"no-self-compare": "error",
"no-sequences": "error",
"no-throw-literal": "error",
"no-unmodified-loop-condition": "error",
"no-unused-expressions": "error",
"no-useless-call": "error",
"no-useless-concat": "error",
"no-useless-return": "error",
"no-void": "error",
"no-warning-comments": "off",
"no-with": "error",
"prefer-promise-reject-errors": "error",
"radix": "error",
"require-await": "error",
"vars-on-top": "error",
"wrap-iife": "error",
"yoda": "error",
// Strict Mode
"strict": "error",
// Variables
"init-declarations": "off",
"no-catch-shadow": "error",
"no-label-var": "error",
"no-restricted-globals": "error",
"no-shadow": "off",
"no-shadow-restricted-names": "error",
"no-undef-init": "error",
"no-undefined": "error",
"no-use-before-define": "off",
// Node.js and CommonJS
"callback-return": "off",
"global-require": "error",
"handle-callback-err": "error",
"no-mixed-requires": "error",
"no-new-require": "error",
"no-path-concat": "error",
"no-process-env": "error",
"no-process-exit": "error",
"no-restricted-modules": "error",
"no-sync": "error",
// Stylistic Issues
"array-bracket-spacing": "error",
"block-spacing": "error",
"brace-style": "error",
"camelcase": "error",
"capitalized-comments": "off",
"comma-dangle": "error",
"comma-spacing": "error",
"comma-style": "error",
"computed-property-spacing": "error",
"consistent-this": "error",
"eol-last": "error",
"func-call-spacing": "error",
"func-name-matching": "error",
"func-names": "off",
"func-style": [
"error",
"declaration"
],
"id-blacklist": "error",
"id-length": "off",
"id-match": "error",
"indent": [
"error",
2,
{
"SwitchCase": 1
}
],
"jsx-quotes": "error",
"key-spacing": "off",
"keyword-spacing": "error",
"linebreak-style": [
"error",
"unix"
],
"line-comment-position": "off",
"lines-around-comment": "off",
"lines-around-directive": "error",
"max-depth": [
"error",
10
],
"max-len": "off",
"max-lines": "off",
"max-nested-callbacks": "error",
"max-params": "off",
"max-statements": "off",
"max-statements-per-line": "error",
"multiline-ternary": "off",
"new-cap": [
"error",
{
"capIsNewExceptionPattern": "$.*"
}
],
"newline-after-var": "off",
"newline-per-chained-call": [
"error",
{
"ignoreChainWithDepth": 5
}
],
"new-parens": "error",
"no-array-constructor": "error",
"no-bitwise": "error",
"no-continue": "off",
"no-inline-comments": "off",
"no-lonely-if": "error",
"no-mixed-operators": "off",
"no-multi-assign": "error",
"no-multiple-empty-lines": "error",
"nonblock-statement-body-position": "error",
"no-negated-condition": "off",
"no-nested-ternary": "error",
"no-new-object": "error",
"no-plusplus": "off",
"no-restricted-syntax": "error",
"no-tabs": "error",
"no-ternary": "off",
"no-trailing-spaces": "error",
"no-underscore-dangle": "off",
"no-unneeded-ternary": "error",
"no-whitespace-before-property": "error",
"object-curly-newline": [
"error",
{
"minProperties": 1
}
],
"object-curly-spacing": [
"error",
"always"
],
"object-property-newline": "error",
"one-var": [
"error",
"never"
],
"one-var-declaration-per-line": "error",
"operator-assignment": "error",
"operator-linebreak": "error",
"padded-blocks": [
"error",
"never"
],
"padding-line-between-statements": "off",
"quote-props": [
"error",
"as-needed"
],
"quotes": [
"error",
"single"
],
"require-jsdoc": "off",
"semi": [
"error",
"never"
],
"semi-spacing": "error",
"sort-keys": "off",
"sort-vars": "error",
"space-before-blocks": "error",
"space-before-function-paren": [
"error",
{
"anonymous": "always",
"named": "never"
}
],
"space-in-parens": "error",
"space-infix-ops": "error",
"space-unary-ops": "error",
"spaced-comment": "error",
"template-tag-spacing": "error",
"unicode-bom": "error",
"wrap-regex": "off",
// ECMAScript 6
"arrow-body-style": [
"error",
"as-needed"
],
"arrow-parens": "error",
"arrow-spacing": "error",
"generator-star-spacing": "error",
"no-confusing-arrow": "error",
"no-duplicate-imports": "error",
"no-restricted-imports": "error",
"no-useless-computed-key": "error",
"no-useless-constructor": "error",
"no-useless-rename": "error",
"no-var": "error",
"object-shorthand": "error",
"prefer-arrow-callback": "error",
"prefer-const": "error",
"prefer-destructuring": "off",
"prefer-numeric-literals": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "error",
"rest-spread-spacing": "error",
"sort-imports": "error",
"symbol-description": "error",
"template-curly-spacing": "error",
"yield-star-spacing": "error"
}
}

65
.eslintrc.json Normal file
View File

@@ -0,0 +1,65 @@
{
"root": true,
"extends": [
"plugin:compat/recommended",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:unicorn/recommended",
"xo/esnext",
"xo/browser"
],
"env": {
"jquery": true
},
"rules": {
"capitalized-comments": "off",
"eqeqeq": "off",
"indent": [
"error",
2,
{
"MemberExpression": "off",
"SwitchCase": 1
}
],
"multiline-ternary": [
"error",
"always-multiline"
],
"new-cap": [
"error",
{
"properties": false
}
],
"no-eq-null": "off",
"no-negated-condition": "off",
"no-console": "error",
"object-curly-spacing": [
"error",
"always"
],
"prefer-template": "error",
"prefer-named-capture-group": "off",
"semi": [
"error",
"never"
],
"unicorn/filename-case": "off",
"unicorn/consistent-destructuring": "off",
"unicorn/no-array-callback-reference": "off",
"unicorn/no-array-for-each": "off",
"unicorn/no-for-loop": "off",
"unicorn/no-null": "off",
"unicorn/no-unused-properties": "error",
"unicorn/prefer-dom-node-append": "off",
"unicorn/prefer-dom-node-dataset": "off",
"unicorn/prefer-dom-node-remove": "off",
"unicorn/prefer-includes": "off",
"unicorn/prefer-number-properties": "off",
"unicorn/prefer-optional-catch-binding": "off",
"unicorn/prefer-query-selector": "off",
"unicorn/prefer-set-has": "off",
"unicorn/prevent-abbreviations": "off"
}
}

6
.gitattributes vendored Normal file
View File

@@ -0,0 +1,6 @@
# Enforce Unix newlines
* text=auto eol=lf
# Ignores for analysis is used to produce the language stats bar which displays the languages percentages
plugins/* linguist-vendored=true
docs/* linguist-vendored=true

37
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,37 @@
# Contributing to AdminLTE
Contributions are always **welcome and recommended**! Here is how for beginner's: [Get started with open source click here](https://youtu.be/GbqSvJs-6W4)
1. Contribution Requirements :
* When you contribute, you agree to give a non-exclusive license to AdminLTE.io to use that contribution in any context as we (AdminLTE.io) see appropriate.
* If you use content provided by another party, it must be appropriately licensed using an [open source](https://opensource.org/licenses) license.
* Contributions are only accepted through GitHub pull requests.
* Finally, contributed code must work in all supported browsers (see above for browser support).
2. Installation :
* Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)).
* Clone to your machine
```bash
git clone https://github.com/YOUR_USERNAME/AdminLTE.git
```
* Create a new branch
3. Compile dist files (Development) :
* To compile the dist files you need Node.js 10 or higher/npm (node package manager)
* Delete ./package-lock.json file
* `npm install` (install npm deps)
* `npm run dev` (developer mode, autocompile with browsersync support for live demo)
* Make your changes only in ./buid Folder OR package.json OR ./dist/js/demo.js OR in any html files which nessary to contribute
* Do not changes in ./dist/css/ AND ./dist/js/ Because its compiled files
* `npm run production` (compile css/js files and test every pages are perfectly working fine, before creating pull request)
4. Create a pull request
## Online one-click setup for contributing
You can use Gitpod(an online IDE which is free for Open Source) for working on issues or making Prs. With a single click it will launch a workspace and automatically:
- clone the `AdminLTE` repo.
- install the dependencies.
- run `npm run dev` to start the server.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer/)

View File

@@ -0,0 +1,32 @@
---
name: Bug report for AdminLTE v3.x
about: Create a report to help us improve AdminLTE v3.x
title: "[BUG]"
labels: type:bug, version:3.1.x
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Environment (please complete the following information):**
- AdminLTE Version: [e.g. v3.0.0]
- Operating System: [e.g. macOS Catalina]
- Browser (Version): [e.g. Chrome (Latest)]
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,20 @@
---
name: Feature request for AdminLTE v4.x
about: Suggest an idea for this project
title: "[FEATURE]"
labels: type:enhancement, version:4.x
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

5
.github/codeql/codeql-config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
name: "CodeQL config"
paths-ignore:
- docs/assets/plugins/
- plugins/

18
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
day: monday
time: "03:00"
open-pull-requests-limit: 10
versioning-strategy: increase
- package-ecosystem: bundler
directory: "/docs/"
schedule:
interval: weekly
day: monday
time: "03:00"
open-pull-requests-limit: 10
versioning-strategy: increase

63
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,63 @@
name: CI
on:
push:
branches:
- master
pull_request:
branches:
- "**"
env:
FORCE_COLOR: 2
jobs:
run:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node:
- "10.x"
- "12.x"
- "14.x"
os:
- "ubuntu-latest"
- "macos-latest"
- "windows-latest"
steps:
- name: Clone repository
uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
- name: Get npm cache directory
id: npm-cache
run: |
echo "::set-output name=dir::$(npm config get cache)"
- name: Set up npm cache
uses: actions/cache@v2
with:
path: ${{ steps.npm-cache.outputs.dir }}
key: ${{ runner.os }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}}
restore-keys: |
${{ runner.os }}-node-v${{ matrix.node }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
${{ runner.os }}-node-v${{ matrix.node }}-
- name: Install npm dependencies
run: npm ci
- name: Build files
run: npm run compile
- name: Run bundlewatch
run: npm run bundlewatch
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.node, '14')
env:
BUNDLEWATCH_GITHUB_TOKEN: "${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}"

35
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: "CodeQL"
on:
push:
branches:
- master
- "!dependabot/**"
pull_request:
# The branches below must be a subset of the branches above
branches:
- master
schedule:
- cron: "0 0 * * 0"
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: "javascript"
config-file: ./.github/codeql/codeql-config.yml
- name: Autobuild
uses: github/codeql-action/autobuild@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

59
.github/workflows/docs.yml vendored Normal file
View File

@@ -0,0 +1,59 @@
name: Docs
on:
push:
branches:
- master
pull_request:
branches:
- "**"
env:
FORCE_COLOR: 2
NODE: 14.x
RUBY: 2.7
jobs:
run:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "${{ env.NODE }}"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "${{ env.RUBY }}"
bundler-cache: true
working-directory: docs
- name: Version info
run: |
ruby --version
gem --version
bundle --version
java -version
- name: Set up npm cache
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}}
restore-keys: |
${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
${{ runner.os }}-node-v${{ env.NODE }}-
- name: Install npm dependencies
run: npm ci
- name: Build docs
run: npm run docs-compile
- name: Run HTML validator
run: npm run docs-lint

41
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
name: Lint
on:
push:
branches:
- master
pull_request:
branches:
- "**"
env:
FORCE_COLOR: 2
NODE: 14.x
jobs:
run:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "${{ env.NODE }}"
- name: Set up npm cache
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}}
restore-keys: |
${{ runner.os }}-node-v${{ env.NODE }}-${{ hashFiles('package.json') }}-${{ hashFiles('package-lock.json') }}
${{ runner.os }}-node-v${{ env.NODE }}-
- name: Install npm dependencies
run: npm ci
- name: Run lint
run: npm run lint

61
.gitignore vendored
View File

@@ -1,38 +1,71 @@
// System / Log files
# System / Log files
*.DS_Store
*.log
// Archives
# Archives
*.zip
// Sass Cache
# Sass Cache
.sass-cache
// Project files
# Project files
.idea
nbproject
nbproject/private
.vscode/
.vs/
// Node / Bower
# Node / Bower
node_modules/
bower_components/
// Plugins
/plugins/*/*.md
/plugins/*/*.html
/plugins/*/package.json
# Plugins
/plugins/**/*.html
/plugins/**/*.less
/plugins/**/*.md
/plugins/**/*.scss
/plugins/**/*.ts
/plugins/**/bower.json
/plugins/**/package.json
/plugins/**/webpack.config.js
/plugins/**/demo/
/plugins/**/demos/
/plugins/**/dev/
/plugins/**/example/
/plugins/**/examples/
/plugins/**/less/
/plugins/**/test/
/plugins/**/tests/
/plugins/daterangepicker/website/
/plugins/daterangepicker/drp.png
/plugins/daterangepicker/moment.min.js
/plugins/daterangepicker/package.js
/plugins/daterangepicker/website.css
/plugins/daterangepicker/website.js
/plugins/jquery-ui/AUTHORS.txt
/plugins/jquery-ui/external/jquery/jquery.js
/plugins/inputmask/bindings/
/plugins/flot/plugins/jquery*.js
!/plugins/flot/plugins/jquery.flot.*.js
!/plugins/**/LICENSE.md
!/plugins/**/LICENSE.txt
!/plugins/**/license.md
!/plugins/**/license.txt
!/plugins/**/LICENSE
!/plugins/**/license
!/plugins/**/COPYING
// Docs
Gemfile.lock
docs/_site
docs_html/
# Docs
/docs/_site/
/docs/vendor/
/docs/.bundle/
/docs_html/
.jekyll-cache/
.jekyll-metadata
// ETC
# ETC
TODO
test.html
ad.js
/.cache/

6
.gitpod.yml Normal file
View File

@@ -0,0 +1,6 @@
tasks:
- init: npm install
command: npm run dev
ports:
- port: 3000
onOpen: open-preview

15
.lgtm.yml Normal file
View File

@@ -0,0 +1,15 @@
# https://lgtm.com/help/lgtm/customizing-file-classification
path_classifiers:
plugins:
- plugins/
extraction:
javascript:
# https://lgtm.com/help/lgtm/javascript-extraction#customizing-index
# The `index` step extracts information from the files in the codebase.
index:
# Specify a list of files and folders to exclude from extraction.
exclude:
- bower_components/
- docs/assets/js/plugins/
- plugins/

View File

@@ -1 +1,6 @@
!/docs_html/
/docs/
/docs_html/
/plugins/*
!/plugins/flot-old/
/.github/
/.lgtm.yml

6
.stylelintignore Normal file
View File

@@ -0,0 +1,6 @@
**/*.html
**/*.md
**/*.min.css
**/dist/
**/docs_html/
**/plugins/

16
.stylelintrc Normal file
View File

@@ -0,0 +1,16 @@
{
"extends": [
"stylelint-config-twbs-bootstrap/scss"
],
"rules": {
"declaration-no-important": null,
"order/properties-order": null,
"selector-max-class": null,
"selector-max-combinators": null,
"selector-max-compound-selectors": null,
"selector-max-id": null,
"selector-max-specificity": null,
"selector-max-type": null,
"selector-no-qualifying-type": null
}
}

43
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,43 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at https://colorlib.com/wp/contact-us/. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 1.4, available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct/>

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2014-2018 almasaeed2010
Copyright (c) 2014-2021 ColorlibHQ
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

154
README.md
View File

@@ -1,95 +1,125 @@
Introduction
============
# [AdminLTE - Bootstrap 4 Admin Dashboard](https://adminlte.io)
**AdminLTE** is a fully responsive administration template. Based on **[Bootstrap 4](https://getbootstrap.com)** framework.
[![npm version](https://img.shields.io/npm/v/admin-lte/latest.svg)](https://www.npmjs.com/package/admin-lte)
[![Packagist](https://img.shields.io/packagist/v/almasaeed2010/adminlte.svg)](https://packagist.org/packages/almasaeed2010/adminlte)
[![cdn version](https://data.jsdelivr.com/v1/package/npm/admin-lte/badge)](https://www.jsdelivr.com/package/npm/admin-lte)
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/from-referrer/)
**AdminLTE** is a fully responsive administration template. Based on **[Bootstrap 4.6](https://getbootstrap.com/)** framework and also the JS/jQuery plugin.
Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops.
**Download & Preview on [AdminLTE.io](https://adminlte.io)**
**Preview on [AdminLTE.io](https://adminlte.io/themes/v3)**
Looking for Premium Templates?
------------------------------
AdminLTE.io just opened a new premium templates page. Hand picked to insure the best quality and the most affordable
prices. Visit https://adminlte.io/premium for more information.
## Looking for Premium Templates?
AdminLTE.io just opened a new premium templates page. Hand picked to ensure the best quality and the most affordable
prices. Visit <https://adminlte.io/premium> for more information.
!["AdminLTE Presentation"](https://adminlte.io/AdminLTE3.png "AdminLTE Presentation")
**AdminLTE** has been carefully coded with clear comments in all of its JS, SCSS and HTML files.
SCSS has been used to increase code customizability.
Installation
------------
## Quick start
There are multiple ways to install AdminLTE.
#### Download:
### Download & Changelog:
Always Recommended to download from GitHub latest release [AdminLTE 3](https://github.com/ColorlibHQ/AdminLTE/releases/latest) for bug free and latest features.\
Visit the [releases](https://github.com/ColorlibHQ/AdminLTE/releases) page to view the changelog.\
Legacy Releases are [AdminLTE 2](https://github.com/ColorlibHQ/AdminLTE/releases/tag/v2.4.18) / [AdminLTE 1](https://github.com/ColorlibHQ/AdminLTE/releases/tag/1.3.1).
Download from Github or [visit AdminLTE.io](https://adminlte.io) and download the latest release.
#### Using The Command Line:
**NPM**
## Stable release
### Grab from [jsdelivr](https://www.jsdelivr.com/package/npm/admin-lte) CDN:
_**Important Note**: You needed to add separately cdn links for plugins in your project._
```html
<script src="https://cdn.jsdelivr.net/npm/admin-lte@3.1/dist/js/adminlte.min.js"></script>
```
```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.1/dist/css/adminlte.min.css">
```
### Using The Command Line:
_**Important Note**: To install it via npm/Yarn, you need at least Node.js 10 or higher._
#### Via npm
```bash
npm install admin-lte
npm install admin-lte@^3.1 --save
```
**Github**
- Clone to your machine
#### Via Yarn
```bash
yarn add admin-lte@^3.1
```
#### Via Composer
```bash
composer require "almasaeed2010/adminlte=~3.1"
```
#### Via Git
```bash
git clone https://github.com/ColorlibHQ/AdminLTE.git
```
Documentation
-------------
Visit the [online documentation](https://adminlte.io/themes/AdminLTE/documentation/index.html) for the most
## Unstable release
### Grab from [jsdelivr](https://www.jsdelivr.com/package/npm/admin-lte) CDN:
_**Important Note**: You needed to add separately cdn links for plugins in your project._
```html
<script src="https://cdn.jsdelivr.net/npm/admin-lte@3.1.0/dist/js/adminlte.min.js"></script>
```
```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@3.1.0/dist/css/adminlte.min.css">
```
### Using The Command Line:
_**Important Note**: To install it via npm/Yarn, you need at least Node.js 10 or higher._
#### Via npm
```bash
npm install admin-lte@^3.1.0 --save
```
#### Via Yarn
```bash
yarn add admin-lte@^3.1.0
```
#### Via Composer
```bash
composer require "almasaeed2010/adminlte=~3.1.0"
```
#### Via Git
```bash
git clone https://github.com/ColorlibHQ/AdminLTE.git
```
## Documentation
Visit the [online documentation](https://adminlte.io/docs/3.1/) for the most
updated guide. Information will be added on a weekly basis.
Browser Support
---------------
- IE 10+
- Firefox (latest)
- Chrome (latest)
- Safari (latest)
- Opera (latest)
## Browsers support
Contribution
------------
Contribution are always **welcome and recommended**! Here is how:
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari-ios/safari-ios_48x48.png" alt="iOS Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>iOS Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/samsung-internet/samsung-internet_48x48.png" alt="Samsung" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Samsung | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png" alt="Opera" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Opera | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/vivaldi/vivaldi_48x48.png" alt="Vivaldi" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Vivaldi | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/electron/electron_48x48.png" alt="Electron" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br/>Electron |
| --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- | --------- |
| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions| last 2 versions| last 2 versions| last 2 versions| last 2 versions| last 2 versions
- Fork the repository ([here is the guide](https://help.github.com/articles/fork-a-repo/)).
- Clone to your machine ```git clone https://github.com/YOUR_USERNAME/AdminLTE.git```
- Create a new branch
- Make your changes
- Create a pull request
### Compile dist files
#### Contribution Requirements:
To compile the dist files you need Node.js/npm, clone/download the repo then:
- When you contribute, you agree to give a non-exclusive license to AdminLTE.io to use that contribution in any context as we (AdminLTE.io) see appropriate.
- If you use content provided by another party, it must be appropriately licensed using an [open source](http://opensource.org/licenses) license.
- Contributions are only accepted through Github pull requests.
- Finally, contributed code must work in all supported browsers (see above for browser support).
1. `npm install` (install npm deps)
2. _Optional:_ `npm run dev` (developer mode, autocompile with browsersync support for live demo)
3. `npm run production` (compile css/js files)
License
-------
AdminLTE is an open source project by [AdminLTE.io](https://adminlte.io) that is licensed under [MIT](http://opensource.org/licenses/MIT). AdminLTE.io
reserves the right to change the license of future releases.
Legacy Releases
---------------
- [AdminLTE 2](https://github.com/ColorlibHQ/AdminLTE/releases/tag/v2.4.3)
- [AdminLTE 1](https://github.com/ColorlibHQ/AdminLTE/releases/tag/1.3.1)
## Contributing
Change log
----------
Visit the [releases](https://github.com/ColorlibHQ/AdminLTE/releases) page to view the changelog
Please read through our [contributing guidelines](https://github.com/ColorlibHQ/AdminLTE/tree/master/.github/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development.
Image Credits
-------------
[Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/main/.editorconfig) for easy use in common text editors. Read more and download plugins at <https://editorconfig.org/>.
[Graphicsfuel](http://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
[Pickaface](http://pickaface.net/)
## License
[Unsplash](https://unsplash.com/)
AdminLTE is an open source project by [AdminLTE.io](https://adminlte.io) that is licensed under [MIT](https://opensource.org/licenses/MIT).
AdminLTE.io reserves the right to change the license of future releases.
[Uifaces](http://uifaces.com/)
## Image Credits
- [Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
- [Graphicsfuel](https://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
- [Pickaface](https://pickaface.net/)
- [Unsplash](https://unsplash.com/)
- [Uifaces](http://uifaces.com/)

View File

@@ -0,0 +1,14 @@
{
"env": {
"browser": false,
"node": true
},
"parserOptions": {
"sourceType": "script"
},
"extends": "../../.eslintrc.json",
"rules": {
"no-console": "off",
"strict": "error"
}
}

View File

@@ -1,14 +1,17 @@
'use strict'
module.exports = (ctx) => ({
map: ctx.file.dirname.includes('examples') ? false : {
module.exports = {
map: {
inline: false,
annotation: true,
sourcesContent: true
},
plugins: {
autoprefixer: {
plugins: [
require('postcss-scrollbar')({
edgeAutohide: true
}),
require('autoprefixer')({
cascade: false
}
}
})
})
]
}

View File

@@ -1,29 +1,32 @@
import babel from 'rollup-plugin-babel'
'use strict'
const pkg = require('../../package')
const { babel } = require('@rollup/plugin-babel')
const pkg = require('../../package')
const year = new Date().getFullYear()
const globals = {
jquery: 'jQuery'
}
export default {
input : 'build/js/AdminLTE.js',
output : {
banner: `/*!
const banner = `/*!
* AdminLTE v${pkg.version} (${pkg.homepage})
* Copyright 2014-${year} ${pkg.author}
* Licensed under MIT (https://github.com/almasaeed2010/AdminLTE/blob/master/LICENSE)
*/`,
file : 'dist/js/adminlte.js',
* Licensed under MIT (https://github.com/ColorlibHQ/AdminLTE/blob/master/LICENSE)
*/`
module.exports = {
input: 'build/js/AdminLTE.js',
output: {
banner,
file: 'dist/js/adminlte.js',
format: 'umd',
globals,
name : 'adminlte'
globals: {
jquery: 'jQuery'
},
name: 'adminlte'
},
external: ['jquery'],
plugins: [
babel({
exclude: 'node_modules/**',
externalHelpers: true
// Include the helpers in the bundle, at most one copy of each
babelHelpers: 'bundled'
})
]
}

View File

@@ -1,44 +0,0 @@
{
"esnext": true,
"verbose": true,
"disallowEmptyBlocks": true,
"disallowKeywords": ["with"],
"disallowMixedSpacesAndTabs": true,
"disallowMultipleLineStrings": true,
"disallowMultipleVarDecl": true,
"disallowQuotedKeysInObjects": "allButReserved",
"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
"disallowSpaceBeforeBinaryOperators": [","],
"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
"disallowSpacesInsideArrayBrackets": true,
"disallowSpacesInsideParentheses": true,
"disallowTrailingComma": true,
"disallowTrailingWhitespace": true,
"requireCamelCaseOrUpperCaseIdentifiers": true,
"requireCapitalizedConstructors": true,
"requireCommaBeforeLineBreak": true,
"requireDollarBeforejQueryAssignment": true,
"requireDotNotation": true,
"requireLineFeedAtFileEnd": true,
"requirePaddingNewLinesAfterUseStrict": true,
"requirePaddingNewLinesBeforeExport": true,
"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
"requireSpaceAfterLineComment": true,
"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
"requireSpaceBetweenArguments": true,
"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true, "allExcept": ["shorthand"] },
"requireSpacesInConditionalExpression": true,
"requireSpacesInForStatement": true,
"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
"requireSpacesInsideObjectBrackets": "allButNested",
"validateAlignedFunctionParameters": true,
"validateIndentation": 2,
"validateLineBreaks": "LF",
"validateNewlineAfterArrayElements": true,
"validateQuoteMarks": "'"
}

View File

@@ -1,23 +1,33 @@
import CardRefresh from './CardRefresh'
import CardWidget from './CardWidget'
import ControlSidebar from './ControlSidebar'
import DirectChat from './DirectChat'
import Dropdown from './Dropdown'
import ExpandableTable from './ExpandableTable'
import Fullscreen from './Fullscreen'
import IFrame from './IFrame'
import Layout from './Layout'
import PushMenu from './PushMenu'
import Treeview from './Treeview'
import DirectChat from './DirectChat'
import TodoList from './TodoList'
import CardWidget from './CardWidget'
import CardRefresh from './CardRefresh'
import Dropdown from './Dropdown'
import SidebarSearch from './SidebarSearch'
import NavbarSearch from './NavbarSearch'
import Toasts from './Toasts'
import TodoList from './TodoList'
import Treeview from './Treeview'
export {
CardRefresh,
CardWidget,
ControlSidebar,
DirectChat,
Dropdown,
ExpandableTable,
Fullscreen,
IFrame,
Layout,
PushMenu,
Treeview,
DirectChat,
SidebarSearch,
NavbarSearch,
Toasts,
TodoList,
CardWidget,
CardRefresh,
Dropdown,
Toasts
Treeview
}

View File

@@ -5,160 +5,149 @@
* --------------------------------------------
*/
const CardRefresh = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'CardRefresh'
const DATA_KEY = 'lte.cardrefresh'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Event = {
LOADED: `loaded${EVENT_KEY}`,
OVERLAY_ADDED: `overlay.added${EVENT_KEY}`,
OVERLAY_REMOVED: `overlay.removed${EVENT_KEY}`,
const NAME = 'CardRefresh'
const DATA_KEY = 'lte.cardrefresh'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const EVENT_LOADED = `loaded${EVENT_KEY}`
const EVENT_OVERLAY_ADDED = `overlay.added${EVENT_KEY}`
const EVENT_OVERLAY_REMOVED = `overlay.removed${EVENT_KEY}`
const CLASS_NAME_CARD = 'card'
const SELECTOR_CARD = `.${CLASS_NAME_CARD}`
const SELECTOR_DATA_REFRESH = '[data-card-widget="card-refresh"]'
const Default = {
source: '',
sourceSelector: '',
params: {},
trigger: SELECTOR_DATA_REFRESH,
content: '.card-body',
loadInContent: true,
loadOnInit: true,
responseType: '',
overlayTemplate: '<div class="overlay"><i class="fas fa-2x fa-sync-alt fa-spin"></i></div>',
onLoadStart() {},
onLoadDone(response) {
return response
}
}
const ClassName = {
CARD: 'card',
}
class CardRefresh {
constructor(element, settings) {
this._element = element
this._parent = element.parents(SELECTOR_CARD).first()
this._settings = $.extend({}, Default, settings)
this._overlay = $(this._settings.overlayTemplate)
const Selector = {
CARD: `.${ClassName.CARD}`,
DATA_REFRESH: '[data-card-widget="card-refresh"]',
}
if (element.hasClass(CLASS_NAME_CARD)) {
this._parent = element
}
const Default = {
source: '',
sourceSelector: '',
params: {},
trigger: Selector.DATA_REFRESH,
content: '.card-body',
loadInContent: true,
loadOnInit: true,
responseType: '',
overlayTemplate: '<div class="overlay"><i class="fas fa-2x fa-sync-alt fa-spin"></i></div>',
onLoadStart: function () {
},
onLoadDone: function (response) {
return response;
if (this._settings.source === '') {
throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.')
}
}
class CardRefresh {
constructor(element, settings) {
this._element = element
this._parent = element.parents(Selector.CARD).first()
this._settings = $.extend({}, Default, settings)
this._overlay = $(this._settings.overlayTemplate)
load() {
this._addOverlay()
this._settings.onLoadStart.call($(this))
if (element.hasClass(ClassName.CARD)) {
this._parent = element
}
if (this._settings.source === '') {
throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.');
}
this._init();
if (this._settings.loadOnInit) {
this.load();
}
}
load() {
this._addOverlay()
this._settings.onLoadStart.call($(this))
$.get(this._settings.source, this._settings.params, function (response) {
if (this._settings.loadInContent) {
if (this._settings.sourceSelector != '') {
response = $(response).find(this._settings.sourceSelector).html()
}
this._parent.find(this._settings.content).html(response)
$.get(this._settings.source, this._settings.params, response => {
if (this._settings.loadInContent) {
if (this._settings.sourceSelector !== '') {
response = $(response).find(this._settings.sourceSelector).html()
}
this._settings.onLoadDone.call($(this), response)
this._removeOverlay();
}.bind(this), this._settings.responseType !== '' && this._settings.responseType)
const loadedEvent = $.Event(Event.LOADED)
$(this._element).trigger(loadedEvent)
}
_addOverlay() {
this._parent.append(this._overlay)
const overlayAddedEvent = $.Event(Event.OVERLAY_ADDED)
$(this._element).trigger(overlayAddedEvent)
};
_removeOverlay() {
this._parent.find(this._overlay).remove()
const overlayRemovedEvent = $.Event(Event.OVERLAY_REMOVED)
$(this._element).trigger(overlayRemovedEvent)
};
// Private
_init(card) {
$(this).find(this._settings.trigger).on('click', () => {
this.load()
})
}
// Static
static _jQueryInterface(config) {
let data = $(this).data(DATA_KEY)
let options = $(this).data()
if (!data) {
data = new CardRefresh($(this), options)
$(this).data(DATA_KEY, typeof config === 'string' ? data: config)
this._parent.find(this._settings.content).html(response)
}
if (typeof config === 'string' && config.match(/load/)) {
data[config]()
} else if (typeof config === 'object') {
data._init($(this))
}
this._settings.onLoadDone.call($(this), response)
this._removeOverlay()
}, this._settings.responseType !== '' && this._settings.responseType)
$(this._element).trigger($.Event(EVENT_LOADED))
}
_addOverlay() {
this._parent.append(this._overlay)
$(this._element).trigger($.Event(EVENT_OVERLAY_ADDED))
}
_removeOverlay() {
this._parent.find(this._overlay).remove()
$(this._element).trigger($.Event(EVENT_OVERLAY_REMOVED))
}
// Private
_init() {
$(this).find(this._settings.trigger).on('click', () => {
this.load()
})
if (this._settings.loadOnInit) {
this.load()
}
}
/**
* Data API
* ====================================================
*/
// Static
$(document).on('click', Selector.DATA_REFRESH, function (event) {
if (event) {
event.preventDefault()
static _jQueryInterface(config) {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new CardRefresh($(this), _options)
$(this).data(DATA_KEY, typeof config === 'string' ? data : config)
}
CardRefresh._jQueryInterface.call($(this), 'load')
if (typeof config === 'string' && /load/.test(config)) {
data[config]()
} else {
data._init($(this))
}
}
}
/**
* Data API
* ====================================================
*/
$(document).on('click', SELECTOR_DATA_REFRESH, function (event) {
if (event) {
event.preventDefault()
}
CardRefresh._jQueryInterface.call($(this), 'load')
})
$(() => {
$(SELECTOR_DATA_REFRESH).each(function () {
CardRefresh._jQueryInterface.call($(this))
})
})
/**
* jQuery API
* ====================================================
*/
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = CardRefresh._jQueryInterface
$.fn[NAME].Constructor = CardRefresh
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return CardRefresh._jQueryInterface
}
return CardRefresh
})(jQuery)
$.fn[NAME] = CardRefresh._jQueryInterface
$.fn[NAME].Constructor = CardRefresh
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return CardRefresh._jQueryInterface
}
export default CardRefresh

View File

@@ -5,245 +5,234 @@
* --------------------------------------------
*/
const CardWidget = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'CardWidget'
const DATA_KEY = 'lte.cardwidget'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Event = {
EXPANDED: `expanded${EVENT_KEY}`,
COLLAPSED: `collapsed${EVENT_KEY}`,
MAXIMIZED: `maximized${EVENT_KEY}`,
MINIMIZED: `minimized${EVENT_KEY}`,
REMOVED: `removed${EVENT_KEY}`
const NAME = 'CardWidget'
const DATA_KEY = 'lte.cardwidget'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const EVENT_EXPANDED = `expanded${EVENT_KEY}`
const EVENT_COLLAPSED = `collapsed${EVENT_KEY}`
const EVENT_MAXIMIZED = `maximized${EVENT_KEY}`
const EVENT_MINIMIZED = `minimized${EVENT_KEY}`
const EVENT_REMOVED = `removed${EVENT_KEY}`
const CLASS_NAME_CARD = 'card'
const CLASS_NAME_COLLAPSED = 'collapsed-card'
const CLASS_NAME_COLLAPSING = 'collapsing-card'
const CLASS_NAME_EXPANDING = 'expanding-card'
const CLASS_NAME_WAS_COLLAPSED = 'was-collapsed'
const CLASS_NAME_MAXIMIZED = 'maximized-card'
const SELECTOR_DATA_REMOVE = '[data-card-widget="remove"]'
const SELECTOR_DATA_COLLAPSE = '[data-card-widget="collapse"]'
const SELECTOR_DATA_MAXIMIZE = '[data-card-widget="maximize"]'
const SELECTOR_CARD = `.${CLASS_NAME_CARD}`
const SELECTOR_CARD_HEADER = '.card-header'
const SELECTOR_CARD_BODY = '.card-body'
const SELECTOR_CARD_FOOTER = '.card-footer'
const Default = {
animationSpeed: 'normal',
collapseTrigger: SELECTOR_DATA_COLLAPSE,
removeTrigger: SELECTOR_DATA_REMOVE,
maximizeTrigger: SELECTOR_DATA_MAXIMIZE,
collapseIcon: 'fa-minus',
expandIcon: 'fa-plus',
maximizeIcon: 'fa-expand',
minimizeIcon: 'fa-compress'
}
class CardWidget {
constructor(element, settings) {
this._element = element
this._parent = element.parents(SELECTOR_CARD).first()
if (element.hasClass(CLASS_NAME_CARD)) {
this._parent = element
}
this._settings = $.extend({}, Default, settings)
}
const ClassName = {
CARD: 'card',
COLLAPSED: 'collapsed-card',
WAS_COLLAPSED: 'was-collapsed',
MAXIMIZED: 'maximized-card',
}
const Selector = {
DATA_REMOVE: '[data-card-widget="remove"]',
DATA_COLLAPSE: '[data-card-widget="collapse"]',
DATA_MAXIMIZE: '[data-card-widget="maximize"]',
CARD: `.${ClassName.CARD}`,
CARD_HEADER: '.card-header',
CARD_BODY: '.card-body',
CARD_FOOTER: '.card-footer',
COLLAPSED: `.${ClassName.COLLAPSED}`,
}
const Default = {
animationSpeed: 'normal',
collapseTrigger: Selector.DATA_COLLAPSE,
removeTrigger: Selector.DATA_REMOVE,
maximizeTrigger: Selector.DATA_MAXIMIZE,
collapseIcon: 'fa-minus',
expandIcon: 'fa-plus',
maximizeIcon: 'fa-expand',
minimizeIcon: 'fa-compress',
}
class CardWidget {
constructor(element, settings) {
this._element = element
this._parent = element.parents(Selector.CARD).first()
if (element.hasClass(ClassName.CARD)) {
this._parent = element
}
this._settings = $.extend({}, Default, settings)
}
collapse() {
this._parent.children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)
.slideUp(this._settings.animationSpeed, () => {
this._parent.addClass(ClassName.COLLAPSED)
})
this._parent.find(this._settings.collapseTrigger + ' .' + this._settings.collapseIcon)
.addClass(this._settings.expandIcon)
.removeClass(this._settings.collapseIcon)
const collapsed = $.Event(Event.COLLAPSED)
this._element.trigger(collapsed, this._parent)
}
expand() {
this._parent.children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)
.slideDown(this._settings.animationSpeed, () => {
this._parent.removeClass(ClassName.COLLAPSED)
})
this._parent.find(this._settings.collapseTrigger + ' .' + this._settings.expandIcon)
.addClass(this._settings.collapseIcon)
.removeClass(this._settings.expandIcon)
const expanded = $.Event(Event.EXPANDED)
this._element.trigger(expanded, this._parent)
}
remove() {
this._parent.slideUp()
const removed = $.Event(Event.REMOVED)
this._element.trigger(removed, this._parent)
}
toggle() {
if (this._parent.hasClass(ClassName.COLLAPSED)) {
this.expand()
return
}
this.collapse()
}
maximize() {
this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.maximizeIcon)
.addClass(this._settings.minimizeIcon)
.removeClass(this._settings.maximizeIcon)
this._parent.css({
'height': this._parent.height(),
'width': this._parent.width(),
'transition': 'all .15s'
}).delay(150).queue(function(){
$(this).addClass(ClassName.MAXIMIZED)
$('html').addClass(ClassName.MAXIMIZED)
if ($(this).hasClass(ClassName.COLLAPSED)) {
$(this).addClass(ClassName.WAS_COLLAPSED)
}
$(this).dequeue()
collapse() {
this._parent.addClass(CLASS_NAME_COLLAPSING).children(`${SELECTOR_CARD_BODY}, ${SELECTOR_CARD_FOOTER}`)
.slideUp(this._settings.animationSpeed, () => {
this._parent.addClass(CLASS_NAME_COLLAPSED).removeClass(CLASS_NAME_COLLAPSING)
})
const maximized = $.Event(Event.MAXIMIZED)
this._parent.find(`> ${SELECTOR_CARD_HEADER} ${this._settings.collapseTrigger} .${this._settings.collapseIcon}`)
.addClass(this._settings.expandIcon)
.removeClass(this._settings.collapseIcon)
this._element.trigger(maximized, this._parent)
}
minimize() {
this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.minimizeIcon)
.addClass(this._settings.maximizeIcon)
.removeClass(this._settings.minimizeIcon)
this._parent.css('cssText', 'height:' + this._parent[0].style.height + ' !important;' +
'width:' + this._parent[0].style.width + ' !important; transition: all .15s;'
).delay(10).queue(function(){
$(this).removeClass(ClassName.MAXIMIZED)
$('html').removeClass(ClassName.MAXIMIZED)
$(this).css({
'height': 'inherit',
'width': 'inherit'
})
if ($(this).hasClass(ClassName.WAS_COLLAPSED)) {
$(this).removeClass(ClassName.WAS_COLLAPSED)
}
$(this).dequeue()
})
const MINIMIZED = $.Event(Event.MINIMIZED)
this._element.trigger(MINIMIZED, this._parent)
}
toggleMaximize() {
if (this._parent.hasClass(ClassName.MAXIMIZED)) {
this.minimize()
return
}
this.maximize()
}
// Private
_init(card) {
this._parent = card
$(this).find(this._settings.collapseTrigger).click(() => {
this.toggle()
})
$(this).find(this._settings.maximizeTrigger).click(() => {
this.toggleMaximize()
})
$(this).find(this._settings.removeTrigger).click(() => {
this.remove()
})
}
// Static
static _jQueryInterface(config) {
let data = $(this).data(DATA_KEY)
if (!data) {
data = new CardWidget($(this), data)
$(this).data(DATA_KEY, typeof config === 'string' ? data: config)
}
if (typeof config === 'string' && config.match(/collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/)) {
data[config]()
} else if (typeof config === 'object') {
data._init($(this))
}
}
this._element.trigger($.Event(EVENT_COLLAPSED), this._parent)
}
/**
* Data API
* ====================================================
*/
expand() {
this._parent.addClass(CLASS_NAME_EXPANDING).children(`${SELECTOR_CARD_BODY}, ${SELECTOR_CARD_FOOTER}`)
.slideDown(this._settings.animationSpeed, () => {
this._parent.removeClass(CLASS_NAME_COLLAPSED).removeClass(CLASS_NAME_EXPANDING)
})
$(document).on('click', Selector.DATA_COLLAPSE, function (event) {
if (event) {
event.preventDefault()
}
this._parent.find(`> ${SELECTOR_CARD_HEADER} ${this._settings.collapseTrigger} .${this._settings.expandIcon}`)
.addClass(this._settings.collapseIcon)
.removeClass(this._settings.expandIcon)
CardWidget._jQueryInterface.call($(this), 'toggle')
})
$(document).on('click', Selector.DATA_REMOVE, function (event) {
if (event) {
event.preventDefault()
}
CardWidget._jQueryInterface.call($(this), 'remove')
})
$(document).on('click', Selector.DATA_MAXIMIZE, function (event) {
if (event) {
event.preventDefault()
}
CardWidget._jQueryInterface.call($(this), 'toggleMaximize')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = CardWidget._jQueryInterface
$.fn[NAME].Constructor = CardWidget
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return CardWidget._jQueryInterface
this._element.trigger($.Event(EVENT_EXPANDED), this._parent)
}
return CardWidget
})(jQuery)
remove() {
this._parent.slideUp()
this._element.trigger($.Event(EVENT_REMOVED), this._parent)
}
toggle() {
if (this._parent.hasClass(CLASS_NAME_COLLAPSED)) {
this.expand()
return
}
this.collapse()
}
maximize() {
this._parent.find(`${this._settings.maximizeTrigger} .${this._settings.maximizeIcon}`)
.addClass(this._settings.minimizeIcon)
.removeClass(this._settings.maximizeIcon)
this._parent.css({
height: this._parent.height(),
width: this._parent.width(),
transition: 'all .15s'
}).delay(150).queue(function () {
const $element = $(this)
$element.addClass(CLASS_NAME_MAXIMIZED)
$('html').addClass(CLASS_NAME_MAXIMIZED)
if ($element.hasClass(CLASS_NAME_COLLAPSED)) {
$element.addClass(CLASS_NAME_WAS_COLLAPSED)
}
$element.dequeue()
})
this._element.trigger($.Event(EVENT_MAXIMIZED), this._parent)
}
minimize() {
this._parent.find(`${this._settings.maximizeTrigger} .${this._settings.minimizeIcon}`)
.addClass(this._settings.maximizeIcon)
.removeClass(this._settings.minimizeIcon)
this._parent.css('cssText', `height: ${this._parent[0].style.height} !important; width: ${this._parent[0].style.width} !important; transition: all .15s;`
).delay(10).queue(function () {
const $element = $(this)
$element.removeClass(CLASS_NAME_MAXIMIZED)
$('html').removeClass(CLASS_NAME_MAXIMIZED)
$element.css({
height: 'inherit',
width: 'inherit'
})
if ($element.hasClass(CLASS_NAME_WAS_COLLAPSED)) {
$element.removeClass(CLASS_NAME_WAS_COLLAPSED)
}
$element.dequeue()
})
this._element.trigger($.Event(EVENT_MINIMIZED), this._parent)
}
toggleMaximize() {
if (this._parent.hasClass(CLASS_NAME_MAXIMIZED)) {
this.minimize()
return
}
this.maximize()
}
// Private
_init(card) {
this._parent = card
$(this).find(this._settings.collapseTrigger).click(() => {
this.toggle()
})
$(this).find(this._settings.maximizeTrigger).click(() => {
this.toggleMaximize()
})
$(this).find(this._settings.removeTrigger).click(() => {
this.remove()
})
}
// Static
static _jQueryInterface(config) {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new CardWidget($(this), _options)
$(this).data(DATA_KEY, typeof config === 'string' ? data : config)
}
if (typeof config === 'string' && /collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/.test(config)) {
data[config]()
} else if (typeof config === 'object') {
data._init($(this))
}
}
}
/**
* Data API
* ====================================================
*/
$(document).on('click', SELECTOR_DATA_COLLAPSE, function (event) {
if (event) {
event.preventDefault()
}
CardWidget._jQueryInterface.call($(this), 'toggle')
})
$(document).on('click', SELECTOR_DATA_REMOVE, function (event) {
if (event) {
event.preventDefault()
}
CardWidget._jQueryInterface.call($(this), 'remove')
})
$(document).on('click', SELECTOR_DATA_MAXIMIZE, function (event) {
if (event) {
event.preventDefault()
}
CardWidget._jQueryInterface.call($(this), 'toggleMaximize')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = CardWidget._jQueryInterface
$.fn[NAME].Constructor = CardWidget
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return CardWidget._jQueryInterface
}
export default CardWidget

View File

@@ -5,286 +5,318 @@
* --------------------------------------------
*/
const ControlSidebar = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'ControlSidebar'
const DATA_KEY = 'lte.controlsidebar'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const DATA_API_KEY = '.data-api'
/**
* Constants
* ====================================================
*/
const Event = {
COLLAPSED: `collapsed${EVENT_KEY}`,
EXPANDED: `expanded${EVENT_KEY}`,
const NAME = 'ControlSidebar'
const DATA_KEY = 'lte.controlsidebar'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const EVENT_COLLAPSED = `collapsed${EVENT_KEY}`
const EVENT_EXPANDED = `expanded${EVENT_KEY}`
const SELECTOR_CONTROL_SIDEBAR = '.control-sidebar'
const SELECTOR_CONTROL_SIDEBAR_CONTENT = '.control-sidebar-content'
const SELECTOR_DATA_TOGGLE = '[data-widget="control-sidebar"]'
const SELECTOR_HEADER = '.main-header'
const SELECTOR_FOOTER = '.main-footer'
const CLASS_NAME_CONTROL_SIDEBAR_ANIMATE = 'control-sidebar-animate'
const CLASS_NAME_CONTROL_SIDEBAR_OPEN = 'control-sidebar-open'
const CLASS_NAME_CONTROL_SIDEBAR_SLIDE = 'control-sidebar-slide-open'
const CLASS_NAME_LAYOUT_FIXED = 'layout-fixed'
const CLASS_NAME_NAVBAR_FIXED = 'layout-navbar-fixed'
const CLASS_NAME_NAVBAR_SM_FIXED = 'layout-sm-navbar-fixed'
const CLASS_NAME_NAVBAR_MD_FIXED = 'layout-md-navbar-fixed'
const CLASS_NAME_NAVBAR_LG_FIXED = 'layout-lg-navbar-fixed'
const CLASS_NAME_NAVBAR_XL_FIXED = 'layout-xl-navbar-fixed'
const CLASS_NAME_FOOTER_FIXED = 'layout-footer-fixed'
const CLASS_NAME_FOOTER_SM_FIXED = 'layout-sm-footer-fixed'
const CLASS_NAME_FOOTER_MD_FIXED = 'layout-md-footer-fixed'
const CLASS_NAME_FOOTER_LG_FIXED = 'layout-lg-footer-fixed'
const CLASS_NAME_FOOTER_XL_FIXED = 'layout-xl-footer-fixed'
const Default = {
controlsidebarSlide: true,
scrollbarTheme: 'os-theme-light',
scrollbarAutoHide: 'l',
target: SELECTOR_CONTROL_SIDEBAR
}
/**
* Class Definition
* ====================================================
*/
class ControlSidebar {
constructor(element, config) {
this._element = element
this._config = config
}
const Selector = {
CONTROL_SIDEBAR: '.control-sidebar',
CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content',
DATA_TOGGLE: '[data-widget="control-sidebar"]',
CONTENT: '.content-wrapper',
HEADER: '.main-header',
FOOTER: '.main-footer',
}
// Public
const ClassName = {
CONTROL_SIDEBAR_ANIMATE: 'control-sidebar-animate',
CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',
CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open',
LAYOUT_FIXED: 'layout-fixed',
NAVBAR_FIXED: 'layout-navbar-fixed',
NAVBAR_SM_FIXED: 'layout-sm-navbar-fixed',
NAVBAR_MD_FIXED: 'layout-md-navbar-fixed',
NAVBAR_LG_FIXED: 'layout-lg-navbar-fixed',
NAVBAR_XL_FIXED: 'layout-xl-navbar-fixed',
FOOTER_FIXED: 'layout-footer-fixed',
FOOTER_SM_FIXED: 'layout-sm-footer-fixed',
FOOTER_MD_FIXED: 'layout-md-footer-fixed',
FOOTER_LG_FIXED: 'layout-lg-footer-fixed',
FOOTER_XL_FIXED: 'layout-xl-footer-fixed',
}
collapse() {
const $body = $('body')
const $html = $('html')
const { target } = this._config
const Default = {
controlsidebarSlide: true,
scrollbarTheme : 'os-theme-light',
scrollbarAutoHide: 'l',
}
/**
* Class Definition
* ====================================================
*/
class ControlSidebar {
constructor(element, config) {
this._element = element
this._config = config
this._init()
// Show the control sidebar
if (this._config.controlsidebarSlide) {
$html.addClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)
$body.removeClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () {
$(target).hide()
$html.removeClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)
$(this).dequeue()
})
} else {
$body.removeClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN)
}
// Public
$(this._element).trigger($.Event(EVENT_COLLAPSED))
}
show() {
// Show the control sidebar
if (this._config.controlsidebarSlide) {
$('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)
$('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){
$(Selector.CONTROL_SIDEBAR).hide()
$('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)
show() {
const $body = $('body')
const $html = $('html')
// Collapse the control sidebar
if (this._config.controlsidebarSlide) {
$html.addClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)
$(this._config.target).show().delay(10).queue(function () {
$body.addClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () {
$html.removeClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)
$(this).dequeue()
})
} else {
$('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)
}
const expandedEvent = $.Event(Event.EXPANDED)
$(this._element).trigger(expandedEvent)
$(this).dequeue()
})
} else {
$body.addClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN)
}
collapse() {
// Collapse the control sidebar
if (this._config.controlsidebarSlide) {
$('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)
$(Selector.CONTROL_SIDEBAR).show().delay(10).queue(function(){
$('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){
$('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)
$(this).dequeue()
})
$(this).dequeue()
})
} else {
$('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)
}
this._fixHeight()
this._fixScrollHeight()
const collapsedEvent = $.Event(Event.COLLAPSED)
$(this._element).trigger(collapsedEvent)
$(this._element).trigger($.Event(EVENT_EXPANDED))
}
toggle() {
const $body = $('body')
const shouldClose = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) ||
$body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE)
if (shouldClose) {
// Close the control sidebar
this.collapse()
} else {
// Open the control sidebar
this.show()
}
}
// Private
_init() {
const $body = $('body')
const shouldNotHideAll = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) ||
$body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE)
if (shouldNotHideAll) {
$(SELECTOR_CONTROL_SIDEBAR).not(this._config.target).hide()
$(this._config.target).css('display', 'block')
} else {
$(SELECTOR_CONTROL_SIDEBAR).hide()
}
toggle() {
const shouldOpen = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body')
.hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)
if (shouldOpen) {
// Open the control sidebar
this.show()
} else {
// Close the control sidebar
this.collapse()
}
}
this._fixHeight()
this._fixScrollHeight()
// Private
_init() {
$(window).resize(() => {
this._fixHeight()
this._fixScrollHeight()
})
$(window).resize(() => {
this._fixHeight()
$(window).scroll(() => {
const $body = $('body')
const shouldFixHeight = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) ||
$body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE)
if (shouldFixHeight) {
this._fixScrollHeight()
}
})
}
_isNavbarFixed() {
const $body = $('body')
return (
$body.hasClass(CLASS_NAME_NAVBAR_FIXED) ||
$body.hasClass(CLASS_NAME_NAVBAR_SM_FIXED) ||
$body.hasClass(CLASS_NAME_NAVBAR_MD_FIXED) ||
$body.hasClass(CLASS_NAME_NAVBAR_LG_FIXED) ||
$body.hasClass(CLASS_NAME_NAVBAR_XL_FIXED)
)
}
_isFooterFixed() {
const $body = $('body')
return (
$body.hasClass(CLASS_NAME_FOOTER_FIXED) ||
$body.hasClass(CLASS_NAME_FOOTER_SM_FIXED) ||
$body.hasClass(CLASS_NAME_FOOTER_MD_FIXED) ||
$body.hasClass(CLASS_NAME_FOOTER_LG_FIXED) ||
$body.hasClass(CLASS_NAME_FOOTER_XL_FIXED)
)
}
_fixScrollHeight() {
const $body = $('body')
const $controlSidebar = $(this._config.target)
if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED)) {
return
}
const heights = {
scroll: $(document).height(),
window: $(window).height(),
header: $(SELECTOR_HEADER).outerHeight(),
footer: $(SELECTOR_FOOTER).outerHeight()
}
const positions = {
bottom: Math.abs((heights.window + $(window).scrollTop()) - heights.scroll),
top: $(window).scrollTop()
}
const navbarFixed = this._isNavbarFixed() && $(SELECTOR_HEADER).css('position') === 'fixed'
const footerFixed = this._isFooterFixed() && $(SELECTOR_FOOTER).css('position') === 'fixed'
const $controlsidebarContent = $(`${this._config.target}, ${this._config.target} ${SELECTOR_CONTROL_SIDEBAR_CONTENT}`)
if (positions.top === 0 && positions.bottom === 0) {
$controlSidebar.css({
bottom: heights.footer,
top: heights.header
})
$(window).scroll(() => {
if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {
this._fixScrollHeight()
}
})
$controlsidebarContent.css('height', heights.window - (heights.header + heights.footer))
} else if (positions.bottom <= heights.footer) {
if (footerFixed === false) {
const top = heights.header - positions.top
$controlSidebar.css('bottom', heights.footer - positions.bottom).css('top', top >= 0 ? top : 0)
$controlsidebarContent.css('height', heights.window - (heights.footer - positions.bottom))
} else {
$controlSidebar.css('bottom', heights.footer)
}
} else if (positions.top <= heights.header) {
if (navbarFixed === false) {
$controlSidebar.css('top', heights.header - positions.top)
$controlsidebarContent.css('height', heights.window - (heights.header - positions.top))
} else {
$controlSidebar.css('top', heights.header)
}
} else if (navbarFixed === false) {
$controlSidebar.css('top', 0)
$controlsidebarContent.css('height', heights.window)
} else {
$controlSidebar.css('top', heights.header)
}
_fixScrollHeight() {
const heights = {
scroll: $(document).height(),
window: $(window).height(),
header: $(Selector.HEADER).outerHeight(),
footer: $(Selector.FOOTER).outerHeight(),
}
const positions = {
bottom: Math.abs((heights.window + $(window).scrollTop()) - heights.scroll),
top: $(window).scrollTop(),
}
if (footerFixed && navbarFixed) {
$controlsidebarContent.css('height', '100%')
$controlSidebar.css('height', '')
} else if (footerFixed || navbarFixed) {
$controlsidebarContent.css('height', '100%')
$controlsidebarContent.css('height', '')
}
}
let navbarFixed = false;
let footerFixed = false;
_fixHeight() {
const $body = $('body')
const $controlSidebar = $(`${this._config.target} ${SELECTOR_CONTROL_SIDEBAR_CONTENT}`)
if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {
if (
$('body').hasClass(ClassName.NAVBAR_FIXED)
|| $('body').hasClass(ClassName.NAVBAR_SM_FIXED)
|| $('body').hasClass(ClassName.NAVBAR_MD_FIXED)
|| $('body').hasClass(ClassName.NAVBAR_LG_FIXED)
|| $('body').hasClass(ClassName.NAVBAR_XL_FIXED)
) {
if ($(Selector.HEADER).css("position") === "fixed") {
navbarFixed = true;
}
}
if (
$('body').hasClass(ClassName.FOOTER_FIXED)
|| $('body').hasClass(ClassName.FOOTER_SM_FIXED)
|| $('body').hasClass(ClassName.FOOTER_MD_FIXED)
|| $('body').hasClass(ClassName.FOOTER_LG_FIXED)
|| $('body').hasClass(ClassName.FOOTER_XL_FIXED)
) {
if ($(Selector.FOOTER).css("position") === "fixed") {
footerFixed = true;
}
}
if (positions.top === 0 && positions.bottom === 0) {
$(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer);
$(Selector.CONTROL_SIDEBAR).css('top', heights.header);
$(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header + heights.footer))
} else if (positions.bottom <= heights.footer) {
if (footerFixed === false) {
$(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer - positions.bottom);
$(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.footer - positions.bottom))
} else {
$(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer);
}
} else if (positions.top <= heights.header) {
if (navbarFixed === false) {
$(Selector.CONTROL_SIDEBAR).css('top', heights.header - positions.top);
$(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header - positions.top))
} else {
$(Selector.CONTROL_SIDEBAR).css('top', heights.header);
}
} else {
if (navbarFixed === false) {
$(Selector.CONTROL_SIDEBAR).css('top', 0);
$(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window)
} else {
$(Selector.CONTROL_SIDEBAR).css('top', heights.header);
}
}
}
if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED)) {
$controlSidebar.attr('style', '')
return
}
_fixHeight() {
const heights = {
window: $(window).height(),
header: $(Selector.HEADER).outerHeight(),
footer: $(Selector.FOOTER).outerHeight(),
}
if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {
let sidebarHeight = heights.window - heights.header;
if (
$('body').hasClass(ClassName.FOOTER_FIXED)
|| $('body').hasClass(ClassName.FOOTER_SM_FIXED)
|| $('body').hasClass(ClassName.FOOTER_MD_FIXED)
|| $('body').hasClass(ClassName.FOOTER_LG_FIXED)
|| $('body').hasClass(ClassName.FOOTER_XL_FIXED)
) {
if ($(Selector.FOOTER).css("position") === "fixed") {
sidebarHeight = heights.window - heights.header - heights.footer;
}
}
$(Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', sidebarHeight)
if (typeof $.fn.overlayScrollbars !== 'undefined') {
$(Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).overlayScrollbars({
className : this._config.scrollbarTheme,
sizeAutoCapable : true,
scrollbars : {
autoHide: this._config.scrollbarAutoHide,
clickScrolling : true
}
})
}
}
const heights = {
window: $(window).height(),
header: $(SELECTOR_HEADER).outerHeight(),
footer: $(SELECTOR_FOOTER).outerHeight()
}
let sidebarHeight = heights.window - heights.header
// Static
if (this._isFooterFixed() && $(SELECTOR_FOOTER).css('position') === 'fixed') {
sidebarHeight = heights.window - heights.header - heights.footer
}
static _jQueryInterface(operation) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
$controlSidebar.css('height', sidebarHeight)
if (!data) {
data = new ControlSidebar(this, $(this).data())
$(this).data(DATA_KEY, data)
if (typeof $.fn.overlayScrollbars !== 'undefined') {
$controlSidebar.overlayScrollbars({
className: this._config.scrollbarTheme,
sizeAutoCapable: true,
scrollbars: {
autoHide: this._config.scrollbarAutoHide,
clickScrolling: true
}
if (data[operation] === 'undefined') {
throw new Error(`${operation} is not a function`)
}
data[operation]()
})
}
}
/**
*
* Data Api implementation
* ====================================================
*/
$(document).on('click', Selector.DATA_TOGGLE, function (event) {
event.preventDefault()
// Static
ControlSidebar._jQueryInterface.call($(this), 'toggle')
})
static _jQueryInterface(operation) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
/**
* jQuery API
* ====================================================
*/
if (!data) {
data = new ControlSidebar(this, _options)
$(this).data(DATA_KEY, data)
}
$.fn[NAME] = ControlSidebar._jQueryInterface
$.fn[NAME].Constructor = ControlSidebar
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return ControlSidebar._jQueryInterface
if (data[operation] === 'undefined') {
throw new Error(`${operation} is not a function`)
}
data[operation]()
})
}
}
return ControlSidebar
})(jQuery)
/**
*
* Data Api implementation
* ====================================================
*/
$(document).on('click', SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault()
ControlSidebar._jQueryInterface.call($(this), 'toggle')
})
$(document).ready(() => {
ControlSidebar._jQueryInterface.call($(SELECTOR_DATA_TOGGLE), '_init')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = ControlSidebar._jQueryInterface
$.fn[NAME].Constructor = ControlSidebar
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return ControlSidebar._jQueryInterface
}
export default ControlSidebar

View File

@@ -5,88 +5,80 @@
* --------------------------------------------
*/
const DirectChat = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'DirectChat'
const DATA_KEY = 'lte.directchat'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const DATA_API_KEY = '.data-api'
/**
* Constants
* ====================================================
*/
const Event = {
TOGGLED: `toggled{EVENT_KEY}`
const NAME = 'DirectChat'
const DATA_KEY = 'lte.directchat'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const EVENT_TOGGLED = `toggled${EVENT_KEY}`
const SELECTOR_DATA_TOGGLE = '[data-widget="chat-pane-toggle"]'
const SELECTOR_DIRECT_CHAT = '.direct-chat'
const CLASS_NAME_DIRECT_CHAT_OPEN = 'direct-chat-contacts-open'
/**
* Class Definition
* ====================================================
*/
class DirectChat {
constructor(element) {
this._element = element
}
const Selector = {
DATA_TOGGLE: '[data-widget="chat-pane-toggle"]',
DIRECT_CHAT: '.direct-chat'
};
const ClassName = {
DIRECT_CHAT_OPEN: 'direct-chat-contacts-open'
};
/**
* Class Definition
* ====================================================
*/
class DirectChat {
constructor(element, config) {
this._element = element
}
toggle() {
$(this._element).parents(Selector.DIRECT_CHAT).first().toggleClass(ClassName.DIRECT_CHAT_OPEN);
const toggledEvent = $.Event(Event.TOGGLED)
$(this._element).trigger(toggledEvent)
}
// Static
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
if (!data) {
data = new DirectChat($(this))
$(this).data(DATA_KEY, data)
}
data[config]()
})
}
toggle() {
$(this._element).parents(SELECTOR_DIRECT_CHAT).first().toggleClass(CLASS_NAME_DIRECT_CHAT_OPEN)
$(this._element).trigger($.Event(EVENT_TOGGLED))
}
/**
*
* Data Api implementation
* ====================================================
*/
// Static
$(document).on('click', Selector.DATA_TOGGLE, function (event) {
if (event) event.preventDefault();
DirectChat._jQueryInterface.call($(this), 'toggle');
});
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
/**
* jQuery API
* ====================================================
*/
if (!data) {
data = new DirectChat($(this))
$(this).data(DATA_KEY, data)
}
$.fn[NAME] = DirectChat._jQueryInterface
$.fn[NAME].Constructor = DirectChat
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return DirectChat._jQueryInterface
data[config]()
})
}
}
/**
*
* Data Api implementation
* ====================================================
*/
$(document).on('click', SELECTOR_DATA_TOGGLE, function (event) {
if (event) {
event.preventDefault()
}
return DirectChat
})(jQuery)
DirectChat._jQueryInterface.call($(this), 'toggle')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = DirectChat._jQueryInterface
$.fn[NAME].Constructor = DirectChat
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return DirectChat._jQueryInterface
}
export default DirectChat

View File

@@ -5,108 +5,142 @@
* --------------------------------------------
*/
const Dropdown = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'Dropdown'
const DATA_KEY = 'lte.dropdown'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Selector = {
DROPDOWN_MENU: 'ul.dropdown-menu',
DROPDOWN_TOGGLE: '[data-toggle="dropdown"]',
const NAME = 'Dropdown'
const DATA_KEY = 'lte.dropdown'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const SELECTOR_NAVBAR = '.navbar'
const SELECTOR_DROPDOWN_MENU = '.dropdown-menu'
const SELECTOR_DROPDOWN_MENU_ACTIVE = '.dropdown-menu.show'
const SELECTOR_DROPDOWN_TOGGLE = '[data-toggle="dropdown"]'
const CLASS_NAME_DROPDOWN_RIGHT = 'dropdown-menu-right'
const CLASS_NAME_DROPDOWN_SUBMENU = 'dropdown-submenu'
// TODO: this is unused; should be removed along with the extend?
const Default = {}
/**
* Class Definition
* ====================================================
*/
class Dropdown {
constructor(element, config) {
this._config = config
this._element = element
}
const ClassName = {
DROPDOWN_HOVER: '.dropdown-hover'
}
// Public
const Default = {
}
toggleSubmenu() {
this._element.siblings().show().toggleClass('show')
/**
* Class Definition
* ====================================================
*/
class Dropdown {
constructor(element, config) {
this._config = config
this._element = element
if (!this._element.next().hasClass('show')) {
this._element.parents(SELECTOR_DROPDOWN_MENU).first().find('.show').removeClass('show').hide()
}
// Public
this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', () => {
$('.dropdown-submenu .show').removeClass('show').hide()
})
}
toggleSubmenu() {
this._element.siblings().show().toggleClass("show");
if (! this._element.next().hasClass('show')) {
this._element.parents('.dropdown-menu').first().find('.show').removeClass("show").hide();
}
this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function(e) {
$('.dropdown-submenu .show').removeClass("show").hide();
});
fixPosition() {
const $element = $(SELECTOR_DROPDOWN_MENU_ACTIVE)
if ($element.length === 0) {
return
}
// Static
if ($element.hasClass(CLASS_NAME_DROPDOWN_RIGHT)) {
$element.css({
left: 'inherit',
right: 0
})
} else {
$element.css({
left: 0,
right: 'inherit'
})
}
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _config = $.extend({}, Default, $(this).data())
const offset = $element.offset()
const width = $element.width()
const visiblePart = $(window).width() - offset.left
if (!data) {
data = new Dropdown($(this), _config)
$(this).data(DATA_KEY, data)
}
if (config === 'toggleSubmenu') {
data[config]()
}
if (offset.left < 0) {
$element.css({
left: 'inherit',
right: offset.left - 5
})
} else if (visiblePart < width) {
$element.css({
left: 'inherit',
right: 0
})
}
}
/**
* Data API
* ====================================================
*/
// Static
$(Selector.DROPDOWN_MENU + ' ' + Selector.DROPDOWN_TOGGLE).on("click", function(event) {
event.preventDefault();
event.stopPropagation();
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _config = $.extend({}, Default, $(this).data())
Dropdown._jQueryInterface.call($(this), 'toggleSubmenu')
});
if (!data) {
data = new Dropdown($(this), _config)
$(this).data(DATA_KEY, data)
}
// $(Selector.SIDEBAR + ' a').on('focusin', () => {
// $(Selector.MAIN_SIDEBAR).addClass(ClassName.SIDEBAR_FOCUSED);
// })
if (config === 'toggleSubmenu' || config === 'fixPosition') {
data[config]()
}
})
}
}
// $(Selector.SIDEBAR + ' a').on('focusout', () => {
// $(Selector.MAIN_SIDEBAR).removeClass(ClassName.SIDEBAR_FOCUSED);
// })
/**
* Data API
* ====================================================
*/
/**
* jQuery API
* ====================================================
*/
$(`${SELECTOR_DROPDOWN_MENU} ${SELECTOR_DROPDOWN_TOGGLE}`).on('click', function (event) {
event.preventDefault()
event.stopPropagation()
$.fn[NAME] = Dropdown._jQueryInterface
$.fn[NAME].Constructor = Dropdown
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Dropdown._jQueryInterface
Dropdown._jQueryInterface.call($(this), 'toggleSubmenu')
})
$(`${SELECTOR_NAVBAR} ${SELECTOR_DROPDOWN_TOGGLE}`).on('click', event => {
event.preventDefault()
if ($(event.target).parent().hasClass(CLASS_NAME_DROPDOWN_SUBMENU)) {
return
}
return Dropdown
})(jQuery)
setTimeout(function () {
Dropdown._jQueryInterface.call($(this), 'fixPosition')
}, 1)
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = Dropdown._jQueryInterface
$.fn[NAME].Constructor = Dropdown
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Dropdown._jQueryInterface
}
export default Dropdown

116
build/js/ExpandableTable.js Normal file
View File

@@ -0,0 +1,116 @@
/**
* --------------------------------------------
* AdminLTE ExpandableTable.js
* License MIT
* --------------------------------------------
*/
import $ from 'jquery'
/**
* Constants
* ====================================================
*/
const NAME = 'ExpandableTable'
const DATA_KEY = 'lte.expandableTable'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const EVENT_EXPANDED = `expanded${EVENT_KEY}`
const EVENT_COLLAPSED = `collapsed${EVENT_KEY}`
const SELECTOR_TABLE = '.expandable-table'
const SELECTOR_EXPANDABLE_BODY = '.expandable-body'
const SELECTOR_DATA_TOGGLE = '[data-widget="expandable-table"]'
const SELECTOR_ARIA_ATTR = 'aria-expanded'
/**
* Class Definition
* ====================================================
*/
class ExpandableTable {
constructor(element, options) {
this._options = options
this._element = element
}
// Public
init() {
$(SELECTOR_DATA_TOGGLE).each((_, $header) => {
const $type = $($header).attr(SELECTOR_ARIA_ATTR)
const $body = $($header).next(SELECTOR_EXPANDABLE_BODY).children().first().children()
if ($type === 'true') {
$body.show()
} else if ($type === 'false') {
$body.hide()
$body.parent().parent().addClass('d-none')
}
})
}
toggleRow() {
const $element = this._element
const time = 500
const $type = $element.attr(SELECTOR_ARIA_ATTR)
const $body = $element.next(SELECTOR_EXPANDABLE_BODY).children().first().children()
$body.stop()
if ($type === 'true') {
$body.slideUp(time, () => {
$element.next(SELECTOR_EXPANDABLE_BODY).addClass('d-none')
})
$element.attr(SELECTOR_ARIA_ATTR, 'false')
$element.trigger($.Event(EVENT_COLLAPSED))
} else if ($type === 'false') {
$element.next(SELECTOR_EXPANDABLE_BODY).removeClass('d-none')
$body.slideDown(time)
$element.attr(SELECTOR_ARIA_ATTR, 'true')
$element.trigger($.Event(EVENT_EXPANDED))
}
}
// Static
static _jQueryInterface(operation) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
if (!data) {
data = new ExpandableTable($(this))
$(this).data(DATA_KEY, data)
}
if (typeof operation === 'string' && /init|toggleRow/.test(operation)) {
data[operation]()
}
})
}
}
/**
* Data API
* ====================================================
*/
$(SELECTOR_TABLE).ready(function () {
ExpandableTable._jQueryInterface.call($(this), 'init')
})
$(document).on('click', SELECTOR_DATA_TOGGLE, function () {
ExpandableTable._jQueryInterface.call($(this), 'toggleRow')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = ExpandableTable._jQueryInterface
$.fn[NAME].Constructor = ExpandableTable
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return ExpandableTable._jQueryInterface
}
export default ExpandableTable

117
build/js/Fullscreen.js Normal file
View File

@@ -0,0 +1,117 @@
/**
* --------------------------------------------
* AdminLTE Fullscreen.js
* License MIT
* --------------------------------------------
*/
import $ from 'jquery'
/**
* Constants
* ====================================================
*/
const NAME = 'Fullscreen'
const DATA_KEY = 'lte.fullscreen'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const SELECTOR_DATA_WIDGET = '[data-widget="fullscreen"]'
const SELECTOR_ICON = `${SELECTOR_DATA_WIDGET} i`
const Default = {
minimizeIcon: 'fa-compress-arrows-alt',
maximizeIcon: 'fa-expand-arrows-alt'
}
/**
* Class Definition
* ====================================================
*/
class Fullscreen {
constructor(_element, _options) {
this.element = _element
this.options = $.extend({}, Default, _options)
}
// Public
toggle() {
if (document.fullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement ||
document.msFullscreenElement) {
this.windowed()
} else {
this.fullscreen()
}
}
fullscreen() {
if (document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen()
} else if (document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen()
} else if (document.documentElement.msRequestFullscreen) {
document.documentElement.msRequestFullscreen()
}
$(SELECTOR_ICON).removeClass(this.options.maximizeIcon).addClass(this.options.minimizeIcon)
}
windowed() {
if (document.exitFullscreen) {
document.exitFullscreen()
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen()
} else if (document.msExitFullscreen) {
document.msExitFullscreen()
}
$(SELECTOR_ICON).removeClass(this.options.minimizeIcon).addClass(this.options.maximizeIcon)
}
// Static
static _jQueryInterface(config) {
let data = $(this).data(DATA_KEY)
if (!data) {
data = $(this).data()
}
const _options = $.extend({}, Default, typeof config === 'object' ? config : data)
const plugin = new Fullscreen($(this), _options)
$(this).data(DATA_KEY, typeof config === 'object' ? config : data)
if (typeof config === 'string' && /toggle|fullscreen|windowed/.test(config)) {
plugin[config]()
} else {
plugin.init()
}
}
}
/**
* Data API
* ====================================================
*/
$(document).on('click', SELECTOR_DATA_WIDGET, function () {
Fullscreen._jQueryInterface.call($(this), 'toggle')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = Fullscreen._jQueryInterface
$.fn[NAME].Constructor = Fullscreen
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Fullscreen._jQueryInterface
}
export default Fullscreen

413
build/js/IFrame.js Normal file
View File

@@ -0,0 +1,413 @@
/**
* --------------------------------------------
* AdminLTE IFrame.js
* License MIT
* --------------------------------------------
*/
import $ from 'jquery'
/**
* Constants
* ====================================================
*/
const NAME = 'IFrame'
const DATA_KEY = 'lte.iframe'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const SELECTOR_DATA_TOGGLE = '[data-widget="iframe"]'
const SELECTOR_DATA_TOGGLE_CLOSE = '[data-widget="iframe-close"]'
const SELECTOR_DATA_TOGGLE_SCROLL_LEFT = '[data-widget="iframe-scrollleft"]'
const SELECTOR_DATA_TOGGLE_SCROLL_RIGHT = '[data-widget="iframe-scrollright"]'
const SELECTOR_DATA_TOGGLE_FULLSCREEN = '[data-widget="iframe-fullscreen"]'
const SELECTOR_CONTENT_WRAPPER = '.content-wrapper'
const SELECTOR_CONTENT_IFRAME = `${SELECTOR_CONTENT_WRAPPER} iframe`
const SELECTOR_TAB_NAV = `${SELECTOR_DATA_TOGGLE}.iframe-mode .nav`
const SELECTOR_TAB_NAVBAR_NAV = `${SELECTOR_DATA_TOGGLE}.iframe-mode .navbar-nav`
const SELECTOR_TAB_NAVBAR_NAV_ITEM = `${SELECTOR_TAB_NAVBAR_NAV} .nav-item`
const SELECTOR_TAB_NAVBAR_NAV_LINK = `${SELECTOR_TAB_NAVBAR_NAV} .nav-link`
const SELECTOR_TAB_CONTENT = `${SELECTOR_DATA_TOGGLE}.iframe-mode .tab-content`
const SELECTOR_TAB_EMPTY = `${SELECTOR_TAB_CONTENT} .tab-empty`
const SELECTOR_TAB_LOADING = `${SELECTOR_TAB_CONTENT} .tab-loading`
const SELECTOR_TAB_PANE = `${SELECTOR_TAB_CONTENT} .tab-pane`
const SELECTOR_SIDEBAR_MENU_ITEM = '.main-sidebar .nav-item > a.nav-link'
const SELECTOR_SIDEBAR_SEARCH_ITEM = '.sidebar-search-results .list-group-item'
const SELECTOR_HEADER_MENU_ITEM = '.main-header .nav-item a.nav-link'
const SELECTOR_HEADER_DROPDOWN_ITEM = '.main-header a.dropdown-item'
const CLASS_NAME_IFRAME_MODE = 'iframe-mode'
const CLASS_NAME_FULLSCREEN_MODE = 'iframe-mode-fullscreen'
const Default = {
onTabClick(item) {
return item
},
onTabChanged(item) {
return item
},
onTabCreated(item) {
return item
},
autoIframeMode: true,
autoItemActive: true,
autoShowNewTab: true,
allowDuplicates: false,
loadingScreen: true,
useNavbarItems: true,
scrollOffset: 40,
scrollBehaviorSwap: false,
iconMaximize: 'fa-expand',
iconMinimize: 'fa-compress'
}
/**
* Class Definition
* ====================================================
*/
class IFrame {
constructor(element, config) {
this._config = config
this._element = element
this._init()
}
// Public
onTabClick(item) {
this._config.onTabClick(item)
}
onTabChanged(item) {
this._config.onTabChanged(item)
}
onTabCreated(item) {
this._config.onTabCreated(item)
}
createTab(title, link, uniqueName, autoOpen) {
let tabId = `panel-${uniqueName}`
let navId = `tab-${uniqueName}`
if (this._config.allowDuplicates) {
tabId += `-${Math.floor(Math.random() * 1000)}`
navId += `-${Math.floor(Math.random() * 1000)}`
}
const newNavItem = `<li class="nav-item" role="presentation"><a href="#" class="btn-iframe-close" data-widget="iframe-close" data-type="only-this"><i class="fas fa-times"></i></a><a class="nav-link" data-toggle="row" id="${navId}" href="#${tabId}" role="tab" aria-controls="${tabId}" aria-selected="false">${title}</a></li>`
$(SELECTOR_TAB_NAVBAR_NAV).append(unescape(escape(newNavItem)))
const newTabItem = `<div class="tab-pane fade" id="${tabId}" role="tabpanel" aria-labelledby="${navId}"><iframe src="${link}"></iframe></div>`
$(SELECTOR_TAB_CONTENT).append(unescape(escape(newTabItem)))
if (autoOpen) {
if (this._config.loadingScreen) {
const $loadingScreen = $(SELECTOR_TAB_LOADING)
$loadingScreen.fadeIn()
$(`${tabId} iframe`).ready(() => {
if (typeof this._config.loadingScreen === 'number') {
this.switchTab(`#${navId}`)
setTimeout(() => {
$loadingScreen.fadeOut()
}, this._config.loadingScreen)
} else {
this.switchTab(`#${navId}`)
$loadingScreen.fadeOut()
}
})
} else {
this.switchTab(`#${navId}`)
}
}
this.onTabCreated($(`#${navId}`))
}
openTabSidebar(item, autoOpen = this._config.autoShowNewTab) {
let $item = $(item).clone()
if ($item.attr('href') === undefined) {
$item = $(item).parent('a').clone()
}
$item.find('.right, .search-path').remove()
let title = $item.find('p').text()
if (title === '') {
title = $item.text()
}
const link = $item.attr('href')
if (link === '#' || link === '' || link === undefined) {
return
}
const uniqueName = link.replace('./', '').replace(/["&'./:=?[\]]/gi, '-').replace(/(--)/gi, '')
const navId = `tab-${uniqueName}`
if (!this._config.allowDuplicates && $(`#${navId}`).length > 0) {
return this.switchTab(`#${navId}`)
}
if ((!this._config.allowDuplicates && $(`#${navId}`).length === 0) || this._config.allowDuplicates) {
this.createTab(title, link, uniqueName, autoOpen)
}
}
switchTab(item) {
const $item = $(item)
const tabId = $item.attr('href')
$(SELECTOR_TAB_EMPTY).hide()
$(`${SELECTOR_TAB_NAVBAR_NAV} .active`).tab('dispose').removeClass('active')
this._fixHeight()
$item.tab('show')
$item.parents('li').addClass('active')
this.onTabChanged($item)
if (this._config.autoItemActive) {
this._setItemActive($(`${tabId} iframe`).attr('src'))
}
}
removeActiveTab(type, element) {
if (type == 'all') {
$(SELECTOR_TAB_NAVBAR_NAV_ITEM).remove()
$(SELECTOR_TAB_PANE).remove()
$(SELECTOR_TAB_EMPTY).show()
} else if (type == 'all-other') {
$(`${SELECTOR_TAB_NAVBAR_NAV_ITEM}:not(.active)`).remove()
$(`${SELECTOR_TAB_PANE}:not(.active)`).remove()
} else if (type == 'only-this') {
const $navClose = $(element)
const $navItem = $navClose.parent('.nav-item')
const $navItemParent = $navItem.parent()
const navItemIndex = $navItem.index()
const tabId = $navClose.siblings('.nav-link').attr('aria-controls')
$navItem.remove()
$(`#${tabId}`).remove()
if ($(SELECTOR_TAB_CONTENT).children().length == $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).length) {
$(SELECTOR_TAB_EMPTY).show()
} else {
const prevNavItemIndex = navItemIndex - 1
this.switchTab($navItemParent.children().eq(prevNavItemIndex).find('a.nav-link'))
}
} else {
const $navItem = $(`${SELECTOR_TAB_NAVBAR_NAV_ITEM}.active`)
const $navItemParent = $navItem.parent()
const navItemIndex = $navItem.index()
$navItem.remove()
$(`${SELECTOR_TAB_PANE}.active`).remove()
if ($(SELECTOR_TAB_CONTENT).children().length == $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).length) {
$(SELECTOR_TAB_EMPTY).show()
} else {
const prevNavItemIndex = navItemIndex - 1
this.switchTab($navItemParent.children().eq(prevNavItemIndex).find('a.nav-link'))
}
}
}
toggleFullscreen() {
if ($('body').hasClass(CLASS_NAME_FULLSCREEN_MODE)) {
$(`${SELECTOR_DATA_TOGGLE_FULLSCREEN} i`).removeClass(this._config.iconMinimize).addClass(this._config.iconMaximize)
$('body').removeClass(CLASS_NAME_FULLSCREEN_MODE)
$(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).height('auto')
$(SELECTOR_CONTENT_WRAPPER).height('auto')
$(SELECTOR_CONTENT_IFRAME).height('auto')
} else {
$(`${SELECTOR_DATA_TOGGLE_FULLSCREEN} i`).removeClass(this._config.iconMaximize).addClass(this._config.iconMinimize)
$('body').addClass(CLASS_NAME_FULLSCREEN_MODE)
}
$(window).trigger('resize')
this._fixHeight(true)
}
// Private
_init() {
if (window.frameElement && this._config.autoIframeMode) {
$('body').addClass(CLASS_NAME_IFRAME_MODE)
} else if ($(SELECTOR_CONTENT_WRAPPER).hasClass(CLASS_NAME_IFRAME_MODE)) {
if ($(SELECTOR_TAB_CONTENT).children().length > 2) {
const $el = $(`${SELECTOR_TAB_PANE}:first-child`)
$el.show()
this._setItemActive($el.find('iframe').attr('src'))
}
this._setupListeners()
this._fixHeight(true)
}
}
_navScroll(offset) {
const leftPos = $(SELECTOR_TAB_NAVBAR_NAV).scrollLeft()
$(SELECTOR_TAB_NAVBAR_NAV).animate({ scrollLeft: (leftPos + offset) }, 250, 'linear')
}
_setupListeners() {
$(window).on('resize', () => {
setTimeout(() => {
this._fixHeight()
}, 1)
})
$(document).on('click', `${SELECTOR_SIDEBAR_MENU_ITEM}, ${SELECTOR_SIDEBAR_SEARCH_ITEM}`, e => {
e.preventDefault()
this.openTabSidebar(e.target)
})
if (this._config.useNavbarItems) {
$(document).on('click', `${SELECTOR_HEADER_MENU_ITEM}, ${SELECTOR_HEADER_DROPDOWN_ITEM}`, e => {
e.preventDefault()
this.openTabSidebar(e.target)
})
}
$(document).on('click', SELECTOR_TAB_NAVBAR_NAV_LINK, e => {
e.preventDefault()
this.onTabClick(e.target)
this.switchTab(e.target)
})
$(document).on('click', SELECTOR_TAB_NAVBAR_NAV_LINK, e => {
e.preventDefault()
this.onTabClick(e.target)
this.switchTab(e.target)
})
$(document).on('click', SELECTOR_DATA_TOGGLE_CLOSE, e => {
e.preventDefault()
let { target } = e
if (target.nodeName == 'I') {
target = e.target.offsetParent
}
this.removeActiveTab(target.attributes['data-type'] ? target.attributes['data-type'].nodeValue : null, target)
})
$(document).on('click', SELECTOR_DATA_TOGGLE_FULLSCREEN, e => {
e.preventDefault()
this.toggleFullscreen()
})
let mousedown = false
let mousedownInterval = null
$(document).on('mousedown', SELECTOR_DATA_TOGGLE_SCROLL_LEFT, e => {
e.preventDefault()
clearInterval(mousedownInterval)
let { scrollOffset } = this._config
if (!this._config.scrollBehaviorSwap) {
scrollOffset = -scrollOffset
}
mousedown = true
this._navScroll(scrollOffset)
mousedownInterval = setInterval(() => {
this._navScroll(scrollOffset)
}, 250)
})
$(document).on('mousedown', SELECTOR_DATA_TOGGLE_SCROLL_RIGHT, e => {
e.preventDefault()
clearInterval(mousedownInterval)
let { scrollOffset } = this._config
if (this._config.scrollBehaviorSwap) {
scrollOffset = -scrollOffset
}
mousedown = true
this._navScroll(scrollOffset)
mousedownInterval = setInterval(() => {
this._navScroll(scrollOffset)
}, 250)
})
$(document).on('mouseup', () => {
if (mousedown) {
mousedown = false
clearInterval(mousedownInterval)
mousedownInterval = null
}
})
}
_setItemActive(href) {
$(`${SELECTOR_SIDEBAR_MENU_ITEM}, ${SELECTOR_HEADER_DROPDOWN_ITEM}`).removeClass('active')
$(SELECTOR_HEADER_MENU_ITEM).parent().removeClass('active')
const $headerMenuItem = $(`${SELECTOR_HEADER_MENU_ITEM}[href$="${href}"]`)
const $headerDropdownItem = $(`${SELECTOR_HEADER_DROPDOWN_ITEM}[href$="${href}"]`)
const $sidebarMenuItem = $(`${SELECTOR_SIDEBAR_MENU_ITEM}[href$="${href}"]`)
$headerMenuItem.each((i, e) => {
$(e).parent().addClass('active')
})
$headerDropdownItem.each((i, e) => {
$(e).addClass('active')
})
$sidebarMenuItem.each((i, e) => {
$(e).addClass('active')
$(e).parents('.nav-treeview').prevAll('.nav-link').addClass('active')
})
}
_fixHeight(tabEmpty = false) {
if ($('body').hasClass(CLASS_NAME_FULLSCREEN_MODE)) {
const windowHeight = $(window).height()
const navbarHeight = $(SELECTOR_TAB_NAV).outerHeight()
$(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}, ${SELECTOR_CONTENT_IFRAME}`).height(windowHeight - navbarHeight)
$(SELECTOR_CONTENT_WRAPPER).height(windowHeight)
} else {
const contentWrapperHeight = parseFloat($(SELECTOR_CONTENT_WRAPPER).css('height'))
const navbarHeight = $(SELECTOR_TAB_NAV).outerHeight()
if (tabEmpty == true) {
setTimeout(() => {
$(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).height(contentWrapperHeight - navbarHeight)
}, 50)
} else {
$(SELECTOR_CONTENT_IFRAME).height(contentWrapperHeight - navbarHeight)
}
}
}
// Static
static _jQueryInterface(operation, ...args) {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new IFrame(this, _options)
$(this).data(DATA_KEY, data)
}
if (typeof operation === 'string' && /createTab|openTabSidebar|switchTab|removeActiveTab/.test(operation)) {
data[operation](...args)
}
}
}
/**
* Data API
* ====================================================
*/
$(window).on('load', () => {
IFrame._jQueryInterface.call($(SELECTOR_DATA_TOGGLE))
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = IFrame._jQueryInterface
$.fn[NAME].Constructor = IFrame
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return IFrame._jQueryInterface
}
export default IFrame

View File

@@ -5,181 +5,253 @@
* --------------------------------------------
*/
const Layout = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'Layout'
const DATA_KEY = 'lte.layout'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Event = {
SIDEBAR: 'sidebar'
const NAME = 'Layout'
const DATA_KEY = 'lte.layout'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const SELECTOR_HEADER = '.main-header'
const SELECTOR_MAIN_SIDEBAR = '.main-sidebar'
const SELECTOR_SIDEBAR = '.main-sidebar .sidebar'
const SELECTOR_CONTENT = '.content-wrapper'
const SELECTOR_CONTROL_SIDEBAR_CONTENT = '.control-sidebar-content'
const SELECTOR_CONTROL_SIDEBAR_BTN = '[data-widget="control-sidebar"]'
const SELECTOR_FOOTER = '.main-footer'
const SELECTOR_PUSHMENU_BTN = '[data-widget="pushmenu"]'
const SELECTOR_LOGIN_BOX = '.login-box'
const SELECTOR_REGISTER_BOX = '.register-box'
const SELECTOR_PRELOADER = '.preloader'
const CLASS_NAME_SIDEBAR_COLLAPSED = 'sidebar-collapse'
const CLASS_NAME_SIDEBAR_FOCUSED = 'sidebar-focused'
const CLASS_NAME_LAYOUT_FIXED = 'layout-fixed'
const CLASS_NAME_CONTROL_SIDEBAR_SLIDE_OPEN = 'control-sidebar-slide-open'
const CLASS_NAME_CONTROL_SIDEBAR_OPEN = 'control-sidebar-open'
const Default = {
scrollbarTheme: 'os-theme-light',
scrollbarAutoHide: 'l',
panelAutoHeight: true,
panelAutoHeightMode: 'min-height',
preloadDuration: 200,
loginRegisterAutoHeight: true
}
/**
* Class Definition
* ====================================================
*/
class Layout {
constructor(element, config) {
this._config = config
this._element = element
}
const Selector = {
HEADER : '.main-header',
MAIN_SIDEBAR : '.main-sidebar',
SIDEBAR : '.main-sidebar .sidebar',
CONTENT : '.content-wrapper',
BRAND : '.brand-link',
CONTENT_HEADER : '.content-header',
WRAPPER : '.wrapper',
CONTROL_SIDEBAR: '.control-sidebar',
LAYOUT_FIXED : '.layout-fixed',
FOOTER : '.main-footer',
LOGIN_BOX : '.login-box',
REGISTER_BOX : '.register-box'
}
// Public
const ClassName = {
HOLD : 'hold-transition',
SIDEBAR : 'main-sidebar',
CONTENT_FIXED : 'content-fixed',
SIDEBAR_FOCUSED: 'sidebar-focused',
LAYOUT_FIXED : 'layout-fixed',
NAVBAR_FIXED : 'layout-navbar-fixed',
FOOTER_FIXED : 'layout-footer-fixed',
LOGIN_PAGE : 'login-page',
REGISTER_PAGE : 'register-page',
}
fixLayoutHeight(extra = null) {
const $body = $('body')
let controlSidebar = 0
const Default = {
scrollbarTheme : 'os-theme-light',
scrollbarAutoHide: 'l'
}
/**
* Class Definition
* ====================================================
*/
class Layout {
constructor(element, config) {
this._config = config
this._element = element
this._init()
if ($body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE_OPEN) || $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) || extra === 'control_sidebar') {
controlSidebar = $(SELECTOR_CONTROL_SIDEBAR_CONTENT).outerHeight()
}
// Public
const heights = {
window: $(window).height(),
header: $(SELECTOR_HEADER).length > 0 ? $(SELECTOR_HEADER).outerHeight() : 0,
footer: $(SELECTOR_FOOTER).length > 0 ? $(SELECTOR_FOOTER).outerHeight() : 0,
sidebar: $(SELECTOR_SIDEBAR).length > 0 ? $(SELECTOR_SIDEBAR).height() : 0,
controlSidebar
}
fixLayoutHeight() {
const heights = {
window: $(window).height(),
header: $(Selector.HEADER).length !== 0 ? $(Selector.HEADER).outerHeight() : 0,
footer: $(Selector.FOOTER).length !== 0 ? $(Selector.FOOTER).outerHeight() : 0,
sidebar: $(Selector.SIDEBAR).length !== 0 ? $(Selector.SIDEBAR).height() : 0,
const max = this._max(heights)
let offset = this._config.panelAutoHeight
if (offset === true) {
offset = 0
}
const $contentSelector = $(SELECTOR_CONTENT)
if (offset !== false) {
if (max === heights.controlSidebar) {
$contentSelector.css(this._config.panelAutoHeightMode, (max + offset))
} else if (max === heights.window) {
$contentSelector.css(this._config.panelAutoHeightMode, (max + offset) - heights.header - heights.footer)
} else {
$contentSelector.css(this._config.panelAutoHeightMode, (max + offset) - heights.header)
}
const max = this._max(heights)
if (this._isFooterFixed()) {
$contentSelector.css(this._config.panelAutoHeightMode, parseFloat($contentSelector.css(this._config.panelAutoHeightMode)) + heights.footer)
}
}
$(Selector.CONTENT).css('min-height', max - heights.footer)
if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {
if (typeof $.fn.overlayScrollbars !== 'undefined') {
$(Selector.SIDEBAR).overlayScrollbars({
className : this._config.scrollbarTheme,
sizeAutoCapable : true,
scrollbars : {
autoHide: this._config.scrollbarAutoHide,
clickScrolling : true
}
})
if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED)) {
return
}
if (typeof $.fn.overlayScrollbars !== 'undefined') {
$(SELECTOR_SIDEBAR).overlayScrollbars({
className: this._config.scrollbarTheme,
sizeAutoCapable: true,
scrollbars: {
autoHide: this._config.scrollbarAutoHide,
clickScrolling: true
}
})
} else {
$(SELECTOR_SIDEBAR).css('overflow-y', 'auto')
}
}
fixLoginRegisterHeight() {
const $body = $('body')
const $selector = $(`${SELECTOR_LOGIN_BOX}, ${SELECTOR_REGISTER_BOX}`)
if ($selector.length === 0) {
$body.css('height', 'auto')
$('html').css('height', 'auto')
} else {
const boxHeight = $selector.height()
if ($body.css(this._config.panelAutoHeightMode) !== boxHeight) {
$body.css(this._config.panelAutoHeightMode, boxHeight)
}
}
}
// Private
// Private
_init() {
// Activate layout height watcher
this.fixLayoutHeight()
$(Selector.SIDEBAR)
.on('collapsed.lte.treeview expanded.lte.treeview collapsed.lte.pushmenu expanded.lte.pushmenu', () => {
this.fixLayoutHeight()
})
_init() {
// Activate layout height watcher
this.fixLayoutHeight()
$(window).resize(() => {
if (this._config.loginRegisterAutoHeight === true) {
this.fixLoginRegisterHeight()
} else if (this._config.loginRegisterAutoHeight === parseInt(this._config.loginRegisterAutoHeight, 10)) {
setInterval(this.fixLoginRegisterHeight, this._config.loginRegisterAutoHeight)
}
$(SELECTOR_SIDEBAR)
.on('collapsed.lte.treeview expanded.lte.treeview', () => {
this.fixLayoutHeight()
})
if (!$('body').hasClass(ClassName.LOGIN_PAGE) && !$('body').hasClass(ClassName.REGISTER_PAGE)) {
$('body, html').css('height', 'auto')
} else if ($('body').hasClass(ClassName.LOGIN_PAGE) || $('body').hasClass(ClassName.REGISTER_PAGE)) {
let box_height = $(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).height()
$(SELECTOR_MAIN_SIDEBAR)
.on('mouseenter mouseleave', () => {
if ($('body').hasClass(CLASS_NAME_SIDEBAR_COLLAPSED)) {
this.fixLayoutHeight()
}
})
$('body').css('min-height', box_height);
$(SELECTOR_PUSHMENU_BTN)
.on('collapsed.lte.pushmenu shown.lte.pushmenu', () => {
setTimeout(() => {
this.fixLayoutHeight()
}, 300)
})
$(SELECTOR_CONTROL_SIDEBAR_BTN)
.on('collapsed.lte.controlsidebar', () => {
this.fixLayoutHeight()
})
.on('expanded.lte.controlsidebar', () => {
this.fixLayoutHeight('control_sidebar')
})
$(window).resize(() => {
this.fixLayoutHeight()
})
setTimeout(() => {
$('body.hold-transition').removeClass('hold-transition')
}, 50)
setTimeout(() => {
const $preloader = $(SELECTOR_PRELOADER)
if ($preloader) {
$preloader.css('height', 0)
setTimeout(() => {
$preloader.children().hide()
}, 200)
}
}, this._config.preloadDuration)
}
_max(numbers) {
// Calculate the maximum number in a list
let max = 0
Object.keys(numbers).forEach(key => {
if (numbers[key] > max) {
max = numbers[key]
}
})
return max
}
_isFooterFixed() {
return $(SELECTOR_FOOTER).css('position') === 'fixed'
}
// Static
static _jQueryInterface(config = '') {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new Layout($(this), _options)
$(this).data(DATA_KEY, data)
}
$('body.hold-transition').removeClass('hold-transition')
}
_max(numbers) {
// Calculate the maximum number in a list
let max = 0
Object.keys(numbers).forEach((key) => {
if (numbers[key] > max) {
max = numbers[key]
}
})
return max
}
// Static
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _config = $.extend({}, Default, $(this).data())
if (!data) {
data = new Layout($(this), _config)
$(this).data(DATA_KEY, data)
}
if (config === 'init') {
data[config]()
}
})
}
if (config === 'init' || config === '') {
data._init()
} else if (config === 'fixLayoutHeight' || config === 'fixLoginRegisterHeight') {
data[config]()
}
})
}
}
/**
* Data API
* ====================================================
*/
/**
* Data API
* ====================================================
*/
$(window).on('load', () => {
Layout._jQueryInterface.call($('body'))
$(window).on('load', () => {
Layout._jQueryInterface.call($('body'))
})
$(`${SELECTOR_SIDEBAR} a`)
.on('focusin', () => {
$(SELECTOR_MAIN_SIDEBAR).addClass(CLASS_NAME_SIDEBAR_FOCUSED)
})
.on('focusout', () => {
$(SELECTOR_MAIN_SIDEBAR).removeClass(CLASS_NAME_SIDEBAR_FOCUSED)
})
$(Selector.SIDEBAR + ' a').on('focusin', () => {
$(Selector.MAIN_SIDEBAR).addClass(ClassName.SIDEBAR_FOCUSED);
})
/**
* jQuery API
* ====================================================
*/
$(Selector.SIDEBAR + ' a').on('focusout', () => {
$(Selector.MAIN_SIDEBAR).removeClass(ClassName.SIDEBAR_FOCUSED);
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = Layout._jQueryInterface
$.fn[NAME].Constructor = Layout
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Layout._jQueryInterface
}
return Layout
})(jQuery)
$.fn[NAME] = Layout._jQueryInterface
$.fn[NAME].Constructor = Layout
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Layout._jQueryInterface
}
export default Layout

113
build/js/NavbarSearch.js Normal file
View File

@@ -0,0 +1,113 @@
/**
* --------------------------------------------
* AdminLTE NavbarSearch.js
* License MIT
* --------------------------------------------
*/
import $ from 'jquery'
/**
* Constants
* ====================================================
*/
const NAME = 'NavbarSearch'
const DATA_KEY = 'lte.navbar-search'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const SELECTOR_TOGGLE_BUTTON = '[data-widget="navbar-search"]'
const SELECTOR_SEARCH_BLOCK = '.navbar-search-block'
const SELECTOR_SEARCH_INPUT = '.form-control'
const CLASS_NAME_OPEN = 'navbar-search-open'
const Default = {
resetOnClose: true,
target: SELECTOR_SEARCH_BLOCK
}
/**
* Class Definition
* ====================================================
*/
class NavbarSearch {
constructor(_element, _options) {
this._element = _element
this._config = $.extend({}, Default, _options)
}
// Public
open() {
$(this._config.target).css('display', 'flex').hide().fadeIn().addClass(CLASS_NAME_OPEN)
$(`${this._config.target} ${SELECTOR_SEARCH_INPUT}`).focus()
}
close() {
$(this._config.target).fadeOut().removeClass(CLASS_NAME_OPEN)
if (this._config.resetOnClose) {
$(`${this._config.target} ${SELECTOR_SEARCH_INPUT}`).val('')
}
}
toggle() {
if ($(this._config.target).hasClass(CLASS_NAME_OPEN)) {
this.close()
} else {
this.open()
}
}
// Static
static _jQueryInterface(options) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new NavbarSearch(this, _options)
$(this).data(DATA_KEY, data)
}
if (!/toggle|close|open/.test(options)) {
throw new Error(`Undefined method ${options}`)
}
data[options]()
})
}
}
/**
* Data API
* ====================================================
*/
$(document).on('click', SELECTOR_TOGGLE_BUTTON, event => {
event.preventDefault()
let button = $(event.currentTarget)
if (button.data('widget') !== 'navbar-search') {
button = button.closest(SELECTOR_TOGGLE_BUTTON)
}
NavbarSearch._jQueryInterface.call(button, 'toggle')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = NavbarSearch._jQueryInterface
$.fn[NAME].Constructor = NavbarSearch
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return NavbarSearch._jQueryInterface
}
export default NavbarSearch

View File

@@ -5,212 +5,219 @@
* --------------------------------------------
*/
const PushMenu = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'PushMenu'
const DATA_KEY = 'lte.pushmenu'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Event = {
COLLAPSED: `collapsed${EVENT_KEY}`,
SHOWN: `shown${EVENT_KEY}`
}
const NAME = 'PushMenu'
const DATA_KEY = 'lte.pushmenu'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const Default = {
autoCollapseSize: false,
enableRemember: false,
noTransitionAfterReload: true
}
const EVENT_COLLAPSED = `collapsed${EVENT_KEY}`
const EVENT_SHOWN = `shown${EVENT_KEY}`
const Selector = {
TOGGLE_BUTTON: '[data-widget="pushmenu"]',
SIDEBAR_MINI: '.sidebar-mini',
SIDEBAR_COLLAPSED: '.sidebar-collapse',
BODY: 'body',
OVERLAY: '#sidebar-overlay',
WRAPPER: '.wrapper'
}
const SELECTOR_TOGGLE_BUTTON = '[data-widget="pushmenu"]'
const SELECTOR_BODY = 'body'
const SELECTOR_OVERLAY = '#sidebar-overlay'
const SELECTOR_WRAPPER = '.wrapper'
const ClassName = {
SIDEBAR_OPEN: 'sidebar-open',
COLLAPSED: 'sidebar-collapse',
OPEN: 'sidebar-open'
}
const CLASS_NAME_COLLAPSED = 'sidebar-collapse'
const CLASS_NAME_OPEN = 'sidebar-open'
const CLASS_NAME_IS_OPENING = 'sidebar-is-opening'
const CLASS_NAME_CLOSED = 'sidebar-closed'
/**
* Class Definition
* ====================================================
*/
const Default = {
autoCollapseSize: 992,
enableRemember: false,
noTransitionAfterReload: true
}
class PushMenu {
constructor(element, options) {
this._element = element
this._options = $.extend({}, Default, options)
/**
* Class Definition
* ====================================================
*/
class PushMenu {
constructor(element, options) {
this._element = element
this._options = $.extend({}, Default, options)
if (!$(Selector.BODY).hasClass(ClassName.COLLAPSED) && !$(Selector.BODY).hasClass(ClassName.OPEN)) {
$(Selector.BODY).addClass(ClassName.OPEN)
}
if (!$(Selector.OVERLAY).length) {
this._addOverlay()
}
this._init()
if ($(SELECTOR_OVERLAY).length === 0) {
this._addOverlay()
}
// Public
this._init()
}
show() {
$(Selector.BODY).addClass(ClassName.OPEN).removeClass(ClassName.COLLAPSED)
// Public
if(this._options.enableRemember) {
localStorage.setItem(`remember${EVENT_KEY}`, ClassName.OPEN)
}
expand() {
const $bodySelector = $(SELECTOR_BODY)
const shownEvent = $.Event(Event.SHOWN)
$(this._element).trigger(shownEvent)
if (this._options.autoCollapseSize && $(window).width() <= this._options.autoCollapseSize) {
$bodySelector.addClass(CLASS_NAME_OPEN)
}
collapse() {
$(Selector.BODY).removeClass(ClassName.OPEN).addClass(ClassName.COLLAPSED)
$bodySelector.addClass(CLASS_NAME_IS_OPENING).removeClass(`${CLASS_NAME_COLLAPSED} ${CLASS_NAME_CLOSED}`).delay(50).queue(function () {
$bodySelector.removeClass(CLASS_NAME_IS_OPENING)
$(this).dequeue()
})
if(this._options.enableRemember) {
localStorage.setItem(`remember${EVENT_KEY}`, ClassName.COLLAPSED)
}
const collapsedEvent = $.Event(Event.COLLAPSED)
$(this._element).trigger(collapsedEvent)
if (this._options.enableRemember) {
localStorage.setItem(`remember${EVENT_KEY}`, CLASS_NAME_OPEN)
}
toggle() {
if ($(Selector.BODY).hasClass(ClassName.OPEN)) {
$(this._element).trigger($.Event(EVENT_SHOWN))
}
collapse() {
const $bodySelector = $(SELECTOR_BODY)
if (this._options.autoCollapseSize && $(window).width() <= this._options.autoCollapseSize) {
$bodySelector.removeClass(CLASS_NAME_OPEN).addClass(CLASS_NAME_CLOSED)
}
$bodySelector.addClass(CLASS_NAME_COLLAPSED)
if (this._options.enableRemember) {
localStorage.setItem(`remember${EVENT_KEY}`, CLASS_NAME_COLLAPSED)
}
$(this._element).trigger($.Event(EVENT_COLLAPSED))
}
toggle() {
if ($(SELECTOR_BODY).hasClass(CLASS_NAME_COLLAPSED)) {
this.expand()
} else {
this.collapse()
}
}
autoCollapse(resize = false) {
if (!this._options.autoCollapseSize) {
return
}
const $bodySelector = $(SELECTOR_BODY)
if ($(window).width() <= this._options.autoCollapseSize) {
if (!$bodySelector.hasClass(CLASS_NAME_OPEN)) {
this.collapse()
}
} else if (resize === true) {
if ($bodySelector.hasClass(CLASS_NAME_OPEN)) {
$bodySelector.removeClass(CLASS_NAME_OPEN)
} else if ($bodySelector.hasClass(CLASS_NAME_CLOSED)) {
this.expand()
}
}
}
remember() {
if (!this._options.enableRemember) {
return
}
const $body = $('body')
const toggleState = localStorage.getItem(`remember${EVENT_KEY}`)
if (toggleState === CLASS_NAME_COLLAPSED) {
if (this._options.noTransitionAfterReload) {
$body.addClass('hold-transition').addClass(CLASS_NAME_COLLAPSED).delay(50).queue(function () {
$(this).removeClass('hold-transition')
$(this).dequeue()
})
} else {
this.show()
$body.addClass(CLASS_NAME_COLLAPSED)
}
}
autoCollapse() {
if (this._options.autoCollapseSize) {
if ($(window).width() <= this._options.autoCollapseSize) {
if ($(Selector.BODY).hasClass(ClassName.OPEN)) {
this.toggle()
}
} else {
if (!$(Selector.BODY).hasClass(ClassName.OPEN)) {
this.toggle()
}
}
}
}
remember() {
if(this._options.enableRemember) {
let toggleState = localStorage.getItem(`remember${EVENT_KEY}`)
if (toggleState == ClassName.COLLAPSED){
if (this._options.noTransitionAfterReload) {
$("body").addClass('hold-transition').addClass(ClassName.COLLAPSED).delay(50).queue(function() {
$(this).removeClass('hold-transition')
$(this).dequeue()
})
} else {
$("body").addClass(ClassName.COLLAPSED)
}
} else {
if (this._options.noTransitionAfterReload) {
$("body").addClass('hold-transition').removeClass(ClassName.COLLAPSED).delay(50).queue(function() {
$(this).removeClass('hold-transition')
$(this).dequeue()
})
} else {
$("body").removeClass(ClassName.COLLAPSED)
}
}
}
}
// Private
_init() {
this.remember()
this.autoCollapse()
$(window).resize(() => {
this.autoCollapse()
})
}
_addOverlay() {
const overlay = $('<div />', {
id: 'sidebar-overlay'
})
overlay.on('click', () => {
this.collapse()
})
$(Selector.WRAPPER).append(overlay)
}
// Static
static _jQueryInterface(operation) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new PushMenu(this, _options)
$(this).data(DATA_KEY, data)
}
if (operation === 'toggle') {
data[operation]()
}
} else if (this._options.noTransitionAfterReload) {
$body.addClass('hold-transition').removeClass(CLASS_NAME_COLLAPSED).delay(50).queue(function () {
$(this).removeClass('hold-transition')
$(this).dequeue()
})
} else {
$body.removeClass(CLASS_NAME_COLLAPSED)
}
}
/**
* Data API
* ====================================================
*/
// Private
$(document).on('click', Selector.TOGGLE_BUTTON, (event) => {
event.preventDefault()
_init() {
this.remember()
this.autoCollapse()
let button = event.currentTarget
if ($(button).data('widget') !== 'pushmenu') {
button = $(button).closest(Selector.TOGGLE_BUTTON)
}
PushMenu._jQueryInterface.call($(button), 'toggle')
})
$(window).on('load', () => {
PushMenu._jQueryInterface.call($(Selector.TOGGLE_BUTTON))
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = PushMenu._jQueryInterface
$.fn[NAME].Constructor = PushMenu
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return PushMenu._jQueryInterface
$(window).resize(() => {
this.autoCollapse(true)
})
}
return PushMenu
})(jQuery)
_addOverlay() {
const overlay = $('<div />', {
id: 'sidebar-overlay'
})
overlay.on('click', () => {
this.collapse()
})
$(SELECTOR_WRAPPER).append(overlay)
}
// Static
static _jQueryInterface(operation) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new PushMenu(this, _options)
$(this).data(DATA_KEY, data)
}
if (typeof operation === 'string' && /collapse|expand|toggle/.test(operation)) {
data[operation]()
}
})
}
}
/**
* Data API
* ====================================================
*/
$(document).on('click', SELECTOR_TOGGLE_BUTTON, event => {
event.preventDefault()
let button = event.currentTarget
if ($(button).data('widget') !== 'pushmenu') {
button = $(button).closest(SELECTOR_TOGGLE_BUTTON)
}
PushMenu._jQueryInterface.call($(button), 'toggle')
})
$(window).on('load', () => {
PushMenu._jQueryInterface.call($(SELECTOR_TOGGLE_BUTTON))
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = PushMenu._jQueryInterface
$.fn[NAME].Constructor = PushMenu
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return PushMenu._jQueryInterface
}
export default PushMenu

298
build/js/SidebarSearch.js Normal file
View File

@@ -0,0 +1,298 @@
/**
* --------------------------------------------
* AdminLTE SidebarSearch.js
* License MIT
* --------------------------------------------
*/
import $, { trim } from 'jquery'
/**
* Constants
* ====================================================
*/
const NAME = 'SidebarSearch'
const DATA_KEY = 'lte.sidebar-search'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const CLASS_NAME_OPEN = 'sidebar-search-open'
const CLASS_NAME_ICON_SEARCH = 'fa-search'
const CLASS_NAME_ICON_CLOSE = 'fa-times'
const CLASS_NAME_HEADER = 'nav-header'
const CLASS_NAME_SEARCH_RESULTS = 'sidebar-search-results'
const CLASS_NAME_LIST_GROUP = 'list-group'
const SELECTOR_DATA_WIDGET = '[data-widget="sidebar-search"]'
const SELECTOR_SIDEBAR = '.main-sidebar .nav-sidebar'
const SELECTOR_NAV_LINK = '.nav-link'
const SELECTOR_NAV_TREEVIEW = '.nav-treeview'
const SELECTOR_SEARCH_INPUT = `${SELECTOR_DATA_WIDGET} .form-control`
const SELECTOR_SEARCH_BUTTON = `${SELECTOR_DATA_WIDGET} .btn`
const SELECTOR_SEARCH_ICON = `${SELECTOR_SEARCH_BUTTON} i`
const SELECTOR_SEARCH_LIST_GROUP = `.${CLASS_NAME_LIST_GROUP}`
const SELECTOR_SEARCH_RESULTS = `.${CLASS_NAME_SEARCH_RESULTS}`
const SELECTOR_SEARCH_RESULTS_GROUP = `${SELECTOR_SEARCH_RESULTS} .${CLASS_NAME_LIST_GROUP}`
const Default = {
arrowSign: '->',
minLength: 3,
maxResults: 7,
highlightName: true,
highlightPath: false,
highlightClass: 'text-light',
notFoundText: 'No element found!'
}
const SearchItems = []
/**
* Class Definition
* ====================================================
*/
class SidebarSearch {
constructor(_element, _options) {
this.element = _element
this.options = $.extend({}, Default, _options)
this.items = []
}
// Public
init() {
if ($(SELECTOR_DATA_WIDGET).length === 0) {
return
}
if ($(SELECTOR_DATA_WIDGET).next(SELECTOR_SEARCH_RESULTS).length === 0) {
$(SELECTOR_DATA_WIDGET).after(
$('<div />', { class: CLASS_NAME_SEARCH_RESULTS })
)
}
if ($(SELECTOR_SEARCH_RESULTS).children(SELECTOR_SEARCH_LIST_GROUP).length === 0) {
$(SELECTOR_SEARCH_RESULTS).append(
$('<div />', { class: CLASS_NAME_LIST_GROUP })
)
}
this._addNotFound()
$(SELECTOR_SIDEBAR).children().each((i, child) => {
this._parseItem(child)
})
}
search() {
const searchValue = $(SELECTOR_SEARCH_INPUT).val().toLowerCase()
if (searchValue.length < this.options.minLength) {
$(SELECTOR_SEARCH_RESULTS_GROUP).empty()
this._addNotFound()
this.close()
return
}
const searchResults = SearchItems.filter(item => (item.name).toLowerCase().includes(searchValue))
const endResults = $(searchResults.slice(0, this.options.maxResults))
$(SELECTOR_SEARCH_RESULTS_GROUP).empty()
if (endResults.length === 0) {
this._addNotFound()
} else {
endResults.each((i, result) => {
$(SELECTOR_SEARCH_RESULTS_GROUP).append(this._renderItem(escape(result.name), escape(result.link), result.path))
})
}
this.open()
}
open() {
$(SELECTOR_DATA_WIDGET).parent().addClass(CLASS_NAME_OPEN)
$(SELECTOR_SEARCH_ICON).removeClass(CLASS_NAME_ICON_SEARCH).addClass(CLASS_NAME_ICON_CLOSE)
}
close() {
$(SELECTOR_DATA_WIDGET).parent().removeClass(CLASS_NAME_OPEN)
$(SELECTOR_SEARCH_ICON).removeClass(CLASS_NAME_ICON_CLOSE).addClass(CLASS_NAME_ICON_SEARCH)
}
toggle() {
if ($(SELECTOR_DATA_WIDGET).parent().hasClass(CLASS_NAME_OPEN)) {
this.close()
} else {
this.open()
}
}
// Private
_parseItem(item, path = []) {
if ($(item).hasClass(CLASS_NAME_HEADER)) {
return
}
const itemObject = {}
const navLink = $(item).clone().find(`> ${SELECTOR_NAV_LINK}`)
const navTreeview = $(item).clone().find(`> ${SELECTOR_NAV_TREEVIEW}`)
const link = navLink.attr('href')
const name = navLink.find('p').children().remove().end().text()
itemObject.name = this._trimText(name)
itemObject.link = link
itemObject.path = path
if (navTreeview.length === 0) {
SearchItems.push(itemObject)
} else {
const newPath = itemObject.path.concat([itemObject.name])
navTreeview.children().each((i, child) => {
this._parseItem(child, newPath)
})
}
}
_trimText(text) {
return trim(text.replace(/(\r\n|\n|\r)/gm, ' '))
}
_renderItem(name, link, path) {
path = path.join(` ${this.options.arrowSign} `)
name = unescape(name)
if (this.options.highlightName || this.options.highlightPath) {
const searchValue = $(SELECTOR_SEARCH_INPUT).val().toLowerCase()
const regExp = new RegExp(searchValue, 'gi')
if (this.options.highlightName) {
name = name.replace(
regExp,
str => {
return `<strong class="${this.options.highlightClass}">${str}</strong>`
}
)
}
if (this.options.highlightPath) {
path = path.replace(
regExp,
str => {
return `<strong class="${this.options.highlightClass}">${str}</strong>`
}
)
}
}
const groupItemElement = $('<a/>', {
href: link,
class: 'list-group-item'
})
const searchTitleElement = $('<div/>', {
class: 'search-title'
}).html(name)
const searchPathElement = $('<div/>', {
class: 'search-path'
}).html(path)
groupItemElement.append(searchTitleElement).append(searchPathElement)
return groupItemElement
}
_addNotFound() {
$(SELECTOR_SEARCH_RESULTS_GROUP).append(this._renderItem(this.options.notFoundText, '#', []))
}
// Static
static _jQueryInterface(config) {
let data = $(this).data(DATA_KEY)
if (!data) {
data = $(this).data()
}
const _options = $.extend({}, Default, typeof config === 'object' ? config : data)
const plugin = new SidebarSearch($(this), _options)
$(this).data(DATA_KEY, typeof config === 'object' ? config : data)
if (typeof config === 'string' && /init|toggle|close|open|search/.test(config)) {
plugin[config]()
} else {
plugin.init()
}
}
}
/**
* Data API
* ====================================================
*/
$(document).on('click', SELECTOR_SEARCH_BUTTON, event => {
event.preventDefault()
SidebarSearch._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'toggle')
})
$(document).on('keyup', SELECTOR_SEARCH_INPUT, event => {
if (event.keyCode == 38) {
event.preventDefault()
$(SELECTOR_SEARCH_RESULTS_GROUP).children().last().focus()
return
}
if (event.keyCode == 40) {
event.preventDefault()
$(SELECTOR_SEARCH_RESULTS_GROUP).children().first().focus()
return
}
setTimeout(() => {
SidebarSearch._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'search')
}, 100)
})
$(document).on('keydown', SELECTOR_SEARCH_RESULTS_GROUP, event => {
const $focused = $(':focus')
if (event.keyCode == 38) {
event.preventDefault()
if ($focused.is(':first-child')) {
$focused.siblings().last().focus()
} else {
$focused.prev().focus()
}
}
if (event.keyCode == 40) {
event.preventDefault()
if ($focused.is(':last-child')) {
$focused.siblings().first().focus()
} else {
$focused.next().focus()
}
}
})
$(window).on('load', () => {
SidebarSearch._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'init')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = SidebarSearch._jQueryInterface
$.fn[NAME].Constructor = SidebarSearch
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return SidebarSearch._jQueryInterface
}
export default SidebarSearch

View File

@@ -1,127 +0,0 @@
/**
* --------------------------------------------
* AdminLTE SiteSearch.js
* License MIT
* --------------------------------------------
*/
const SiteSearch = (($) => {
/**
* Constants
* ====================================================
*/
const NAME = 'SiteSearch'
const DATA_KEY = 'lte.site-search'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const Event = {}
const Selector = {
TOGGLE_BUTTON : '[data-widget="site-search"]',
SEARCH_BLOCK : '.site-search-block',
SEARCH_BACKDROP: '.site-search-backdrop',
SEARCH_INPUT : '.site-search-block .form-control'
}
const ClassName = {
OPEN: 'site-search-open'
}
const Default = {
transitionSpeed: 300
}
/**
* Class Definition
* ====================================================
*/
class SiteSearch {
constructor(_element, _options) {
this.element = _element
this.options = $.extend({}, Default, _options)
}
// Public
open() {
$(Selector.SEARCH_BLOCK).slideDown(this.options.transitionSpeed)
$(Selector.SEARCH_BACKDROP).show(0)
$(Selector.SEARCH_INPUT).focus()
$(Selector.SEARCH_BLOCK).addClass(ClassName.OPEN)
}
close() {
$(Selector.SEARCH_BLOCK).slideUp(this.options.transitionSpeed)
$(Selector.SEARCH_BACKDROP).hide(0)
$(Selector.SEARCH_BLOCK).removeClass(ClassName.OPEN)
}
toggle() {
if ($(Selector.SEARCH_BLOCK).hasClass(ClassName.OPEN)) {
this.close()
} else {
this.open()
}
}
// Static
static _jQueryInterface(options) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
if (!data) {
data = new SiteSearch(this, options)
$(this).data(DATA_KEY, data)
}
if (!/toggle|close/.test(options)) {
throw Error(`Undefined method ${options}`)
}
data[options]()
})
}
}
/**
* Data API
* ====================================================
*/
$(document).on('click', Selector.TOGGLE_BUTTON, (event) => {
event.preventDefault()
let button = $(event.currentTarget)
if (button.data('widget') !== 'site-search') {
button = button.closest(Selector.TOGGLE_BUTTON)
}
SiteSearch._jQueryInterface.call(button, 'toggle')
})
$(document).on('click', Selector.SEARCH_BACKDROP, (event) => {
const backdrop = $(event.currentTarget)
SiteSearch._jQueryInterface.call(backdrop, 'close')
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = SiteSearch._jQueryInterface
$.fn[NAME].Constructor = SiteSearch
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return SiteSearch._jQueryInterface
}
return SiteSearch
})(jQuery)
export default SiteSearch

View File

@@ -5,225 +5,205 @@
* --------------------------------------------
*/
const Toasts = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'Toasts'
const DATA_KEY = 'lte.toasts'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Event = {
INIT: `init${EVENT_KEY}`,
CREATED: `created${EVENT_KEY}`,
REMOVED: `removed${EVENT_KEY}`,
const NAME = 'Toasts'
const DATA_KEY = 'lte.toasts'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const EVENT_INIT = `init${EVENT_KEY}`
const EVENT_CREATED = `created${EVENT_KEY}`
const EVENT_REMOVED = `removed${EVENT_KEY}`
const SELECTOR_CONTAINER_TOP_RIGHT = '#toastsContainerTopRight'
const SELECTOR_CONTAINER_TOP_LEFT = '#toastsContainerTopLeft'
const SELECTOR_CONTAINER_BOTTOM_RIGHT = '#toastsContainerBottomRight'
const SELECTOR_CONTAINER_BOTTOM_LEFT = '#toastsContainerBottomLeft'
const CLASS_NAME_TOP_RIGHT = 'toasts-top-right'
const CLASS_NAME_TOP_LEFT = 'toasts-top-left'
const CLASS_NAME_BOTTOM_RIGHT = 'toasts-bottom-right'
const CLASS_NAME_BOTTOM_LEFT = 'toasts-bottom-left'
const POSITION_TOP_RIGHT = 'topRight'
const POSITION_TOP_LEFT = 'topLeft'
const POSITION_BOTTOM_RIGHT = 'bottomRight'
const POSITION_BOTTOM_LEFT = 'bottomLeft'
const Default = {
position: POSITION_TOP_RIGHT,
fixed: true,
autohide: false,
autoremove: true,
delay: 1000,
fade: true,
icon: null,
image: null,
imageAlt: null,
imageHeight: '25px',
title: null,
subtitle: null,
close: true,
body: null,
class: null
}
/**
* Class Definition
* ====================================================
*/
class Toasts {
constructor(element, config) {
this._config = config
this._prepareContainer()
$('body').trigger($.Event(EVENT_INIT))
}
const Selector = {
BODY: 'toast-body',
CONTAINER_TOP_RIGHT: '#toastsContainerTopRight',
CONTAINER_TOP_LEFT: '#toastsContainerTopLeft',
CONTAINER_BOTTOM_RIGHT: '#toastsContainerBottomRight',
CONTAINER_BOTTOM_LEFT: '#toastsContainerBottomLeft',
}
// Public
const ClassName = {
TOP_RIGHT: 'toasts-top-right',
TOP_LEFT: 'toasts-top-left',
BOTTOM_RIGHT: 'toasts-bottom-right',
BOTTOM_LEFT: 'toasts-bottom-left',
FADE: 'fade',
}
create() {
const toast = $('<div class="toast" role="alert" aria-live="assertive" aria-atomic="true"/>')
const Position = {
TOP_RIGHT: 'topRight',
TOP_LEFT: 'topLeft',
BOTTOM_RIGHT: 'bottomRight',
BOTTOM_LEFT: 'bottomLeft',
}
toast.data('autohide', this._config.autohide)
toast.data('animation', this._config.fade)
const Id = {
CONTAINER_TOP_RIGHT: 'toastsContainerTopRight',
CONTAINER_TOP_LEFT: 'toastsContainerTopLeft',
CONTAINER_BOTTOM_RIGHT: 'toastsContainerBottomRight',
CONTAINER_BOTTOM_LEFT: 'toastsContainerBottomLeft',
}
const Default = {
position: Position.TOP_RIGHT,
fixed: true,
autohide: false,
autoremove: true,
delay: 1000,
fade: true,
icon: null,
image: null,
imageAlt: null,
imageHeight: '25px',
title: null,
subtitle: null,
close: true,
body: null,
class: null,
}
/**
* Class Definition
* ====================================================
*/
class Toasts {
constructor(element, config) {
this._config = config
this._prepareContainer();
const initEvent = $.Event(Event.INIT)
$('body').trigger(initEvent)
if (this._config.class) {
toast.addClass(this._config.class)
}
// Public
create() {
var toast = $('<div class="toast" role="alert" aria-live="assertive" aria-atomic="true"/>')
toast.data('autohide', this._config.autohide)
toast.data('animation', this._config.fade)
if (this._config.class) {
toast.addClass(this._config.class)
}
if (this._config.delay && this._config.delay != 500) {
toast.data('delay', this._config.delay)
}
var toast_header = $('<div class="toast-header">')
if (this._config.image != null) {
var toast_image = $('<img />').addClass('rounded mr-2').attr('src', this._config.image).attr('alt', this._config.imageAlt)
if (this._config.imageHeight != null) {
toast_image.height(this._config.imageHeight).width('auto')
}
toast_header.append(toast_image)
}
if (this._config.icon != null) {
toast_header.append($('<i />').addClass('mr-2').addClass(this._config.icon))
}
if (this._config.title != null) {
toast_header.append($('<strong />').addClass('mr-auto').html(this._config.title))
}
if (this._config.subtitle != null) {
toast_header.append($('<small />').html(this._config.subtitle))
}
if (this._config.close == true) {
var toast_close = $('<button data-dismiss="toast" />').attr('type', 'button').addClass('ml-2 mb-1 close').attr('aria-label', 'Close').append('<span aria-hidden="true">&times;</span>')
if (this._config.title == null) {
toast_close.toggleClass('ml-2 ml-auto')
}
toast_header.append(toast_close)
}
toast.append(toast_header)
if (this._config.body != null) {
toast.append($('<div class="toast-body" />').html(this._config.body))
}
$(this._getContainerId()).prepend(toast)
const createdEvent = $.Event(Event.CREATED)
$('body').trigger(createdEvent)
toast.toast('show')
if (this._config.autoremove) {
toast.on('hidden.bs.toast', function () {
$(this).delay(200).remove();
const removedEvent = $.Event(Event.REMOVED)
$('body').trigger(removedEvent)
})
}
if (this._config.delay && this._config.delay != 500) {
toast.data('delay', this._config.delay)
}
// Static
const toastHeader = $('<div class="toast-header">')
_getContainerId() {
if (this._config.position == Position.TOP_RIGHT) {
return Selector.CONTAINER_TOP_RIGHT;
} else if (this._config.position == Position.TOP_LEFT) {
return Selector.CONTAINER_TOP_LEFT;
} else if (this._config.position == Position.BOTTOM_RIGHT) {
return Selector.CONTAINER_BOTTOM_RIGHT;
} else if (this._config.position == Position.BOTTOM_LEFT) {
return Selector.CONTAINER_BOTTOM_LEFT;
if (this._config.image != null) {
const toastImage = $('<img />').addClass('rounded mr-2').attr('src', this._config.image).attr('alt', this._config.imageAlt)
if (this._config.imageHeight != null) {
toastImage.height(this._config.imageHeight).width('auto')
}
toastHeader.append(toastImage)
}
_prepareContainer() {
if ($(this._getContainerId()).length === 0) {
var container = $('<div />').attr('id', this._getContainerId().replace('#', ''))
if (this._config.position == Position.TOP_RIGHT) {
container.addClass(ClassName.TOP_RIGHT)
} else if (this._config.position == Position.TOP_LEFT) {
container.addClass(ClassName.TOP_LEFT)
} else if (this._config.position == Position.BOTTOM_RIGHT) {
container.addClass(ClassName.BOTTOM_RIGHT)
} else if (this._config.position == Position.BOTTOM_LEFT) {
container.addClass(ClassName.BOTTOM_LEFT)
}
$('body').append(container)
}
if (this._config.fixed) {
$(this._getContainerId()).addClass('fixed')
} else {
$(this._getContainerId()).removeClass('fixed')
}
if (this._config.icon != null) {
toastHeader.append($('<i />').addClass('mr-2').addClass(this._config.icon))
}
// Static
if (this._config.title != null) {
toastHeader.append($('<strong />').addClass('mr-auto').html(this._config.title))
}
static _jQueryInterface(option, config) {
return this.each(function () {
const _config = $.extend({}, Default, config)
var toast = new Toasts($(this), _config)
if (this._config.subtitle != null) {
toastHeader.append($('<small />').html(this._config.subtitle))
}
if (option === 'create') {
toast[option]()
}
if (this._config.close == true) {
const toastClose = $('<button data-dismiss="toast" />').attr('type', 'button').addClass('ml-2 mb-1 close').attr('aria-label', 'Close').append('<span aria-hidden="true">&times;</span>')
if (this._config.title == null) {
toastClose.toggleClass('ml-2 ml-auto')
}
toastHeader.append(toastClose)
}
toast.append(toastHeader)
if (this._config.body != null) {
toast.append($('<div class="toast-body" />').html(this._config.body))
}
$(this._getContainerId()).prepend(toast)
const $body = $('body')
$body.trigger($.Event(EVENT_CREATED))
toast.toast('show')
if (this._config.autoremove) {
toast.on('hidden.bs.toast', function () {
$(this).delay(200).remove()
$body.trigger($.Event(EVENT_REMOVED))
})
}
}
/**
* jQuery API
* ====================================================
*/
// Static
$.fn[NAME] = Toasts._jQueryInterface
$.fn[NAME].Constructor = Toasts
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Toasts._jQueryInterface
_getContainerId() {
if (this._config.position == POSITION_TOP_RIGHT) {
return SELECTOR_CONTAINER_TOP_RIGHT
}
if (this._config.position == POSITION_TOP_LEFT) {
return SELECTOR_CONTAINER_TOP_LEFT
}
if (this._config.position == POSITION_BOTTOM_RIGHT) {
return SELECTOR_CONTAINER_BOTTOM_RIGHT
}
if (this._config.position == POSITION_BOTTOM_LEFT) {
return SELECTOR_CONTAINER_BOTTOM_LEFT
}
}
return Toasts
})(jQuery)
_prepareContainer() {
if ($(this._getContainerId()).length === 0) {
const container = $('<div />').attr('id', this._getContainerId().replace('#', ''))
if (this._config.position == POSITION_TOP_RIGHT) {
container.addClass(CLASS_NAME_TOP_RIGHT)
} else if (this._config.position == POSITION_TOP_LEFT) {
container.addClass(CLASS_NAME_TOP_LEFT)
} else if (this._config.position == POSITION_BOTTOM_RIGHT) {
container.addClass(CLASS_NAME_BOTTOM_RIGHT)
} else if (this._config.position == POSITION_BOTTOM_LEFT) {
container.addClass(CLASS_NAME_BOTTOM_LEFT)
}
$('body').append(container)
}
if (this._config.fixed) {
$(this._getContainerId()).addClass('fixed')
} else {
$(this._getContainerId()).removeClass('fixed')
}
}
// Static
static _jQueryInterface(option, config) {
return this.each(function () {
const _options = $.extend({}, Default, config)
const toast = new Toasts($(this), _options)
if (option === 'create') {
toast[option]()
}
})
}
}
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = Toasts._jQueryInterface
$.fn[NAME].Constructor = Toasts
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Toasts._jQueryInterface
}
export default Toasts

View File

@@ -5,118 +5,114 @@
* --------------------------------------------
*/
const TodoList = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'TodoList'
const DATA_KEY = 'lte.todolist'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Selector = {
DATA_TOGGLE: '[data-widget="todo-list"]'
const NAME = 'TodoList'
const DATA_KEY = 'lte.todolist'
const JQUERY_NO_CONFLICT = $.fn[NAME]
const SELECTOR_DATA_TOGGLE = '[data-widget="todo-list"]'
const CLASS_NAME_TODO_LIST_DONE = 'done'
const Default = {
onCheck(item) {
return item
},
onUnCheck(item) {
return item
}
}
/**
* Class Definition
* ====================================================
*/
class TodoList {
constructor(element, config) {
this._config = config
this._element = element
this._init()
}
const ClassName = {
TODO_LIST_DONE: 'done'
}
// Public
const Default = {
onCheck: function (item) {
return item;
},
onUnCheck: function (item) {
return item;
}
}
/**
* Class Definition
* ====================================================
*/
class TodoList {
constructor(element, config) {
this._config = config
this._element = element
this._init()
toggle(item) {
item.parents('li').toggleClass(CLASS_NAME_TODO_LIST_DONE)
if (!$(item).prop('checked')) {
this.unCheck($(item))
return
}
// Public
this.check(item)
}
toggle(item) {
item.parents('li').toggleClass(ClassName.TODO_LIST_DONE);
if (! $(item).prop('checked')) {
this.unCheck($(item));
return;
check(item) {
this._config.onCheck.call(item)
}
unCheck(item) {
this._config.onUnCheck.call(item)
}
// Private
_init() {
const $toggleSelector = this._element
$toggleSelector.find('input:checkbox:checked').parents('li').toggleClass(CLASS_NAME_TODO_LIST_DONE)
$toggleSelector.on('change', 'input:checkbox', event => {
this.toggle($(event.target))
})
}
// Static
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
if (!data) {
data = $(this).data()
}
this.check(item);
}
const _options = $.extend({}, Default, typeof config === 'object' ? config : data)
const plugin = new TodoList($(this), _options)
check (item) {
this._config.onCheck.call(item);
}
$(this).data(DATA_KEY, typeof config === 'object' ? config : data)
unCheck (item) {
this._config.onUnCheck.call(item);
}
// Private
_init() {
var that = this
$(Selector.DATA_TOGGLE).find('input:checkbox:checked').parents('li').toggleClass(ClassName.TODO_LIST_DONE)
$(Selector.DATA_TOGGLE).on('change', 'input:checkbox', (event) => {
that.toggle($(event.target))
})
}
// Static
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _config = $.extend({}, Default, $(this).data())
if (!data) {
data = new TodoList($(this), _config)
$(this).data(DATA_KEY, data)
}
if (config === 'init') {
data[config]()
}
})
}
if (config === 'init') {
plugin[config]()
}
})
}
}
/**
* Data API
* ====================================================
*/
/**
* Data API
* ====================================================
*/
$(window).on('load', () => {
TodoList._jQueryInterface.call($(Selector.DATA_TOGGLE))
})
$(window).on('load', () => {
TodoList._jQueryInterface.call($(SELECTOR_DATA_TOGGLE))
})
/**
* jQuery API
* ====================================================
*/
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = TodoList._jQueryInterface
$.fn[NAME].Constructor = TodoList
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return TodoList._jQueryInterface
}
return TodoList
})(jQuery)
$.fn[NAME] = TodoList._jQueryInterface
$.fn[NAME].Constructor = TodoList
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return TodoList._jQueryInterface
}
export default TodoList

View File

@@ -5,168 +5,171 @@
* --------------------------------------------
*/
const Treeview = (($) => {
/**
* Constants
* ====================================================
*/
import $ from 'jquery'
const NAME = 'Treeview'
const DATA_KEY = 'lte.treeview'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
/**
* Constants
* ====================================================
*/
const Event = {
SELECTED : `selected${EVENT_KEY}`,
EXPANDED : `expanded${EVENT_KEY}`,
COLLAPSED : `collapsed${EVENT_KEY}`,
LOAD_DATA_API: `load${EVENT_KEY}`
const NAME = 'Treeview'
const DATA_KEY = 'lte.treeview'
const EVENT_KEY = `.${DATA_KEY}`
const JQUERY_NO_CONFLICT = $.fn[NAME]
const EVENT_EXPANDED = `expanded${EVENT_KEY}`
const EVENT_COLLAPSED = `collapsed${EVENT_KEY}`
const EVENT_LOAD_DATA_API = `load${EVENT_KEY}`
const SELECTOR_LI = '.nav-item'
const SELECTOR_LINK = '.nav-link'
const SELECTOR_TREEVIEW_MENU = '.nav-treeview'
const SELECTOR_OPEN = '.menu-open'
const SELECTOR_DATA_WIDGET = '[data-widget="treeview"]'
const CLASS_NAME_OPEN = 'menu-open'
const CLASS_NAME_IS_OPENING = 'menu-is-opening'
const CLASS_NAME_SIDEBAR_COLLAPSED = 'sidebar-collapse'
const Default = {
trigger: `${SELECTOR_DATA_WIDGET} ${SELECTOR_LINK}`,
animationSpeed: 300,
accordion: true,
expandSidebar: false,
sidebarButtonSelector: '[data-widget="pushmenu"]'
}
/**
* Class Definition
* ====================================================
*/
class Treeview {
constructor(element, config) {
this._config = config
this._element = element
}
const Selector = {
LI : '.nav-item',
LINK : '.nav-link',
TREEVIEW_MENU: '.nav-treeview',
OPEN : '.menu-open',
DATA_WIDGET : '[data-widget="treeview"]'
// Public
init() {
$(`${SELECTOR_LI}${SELECTOR_OPEN} ${SELECTOR_TREEVIEW_MENU}${SELECTOR_OPEN}`).css('display', 'block')
this._setupListeners()
}
const ClassName = {
LI : 'nav-item',
LINK : 'nav-link',
TREEVIEW_MENU: 'nav-treeview',
OPEN : 'menu-open'
}
expand(treeviewMenu, parentLi) {
const expandedEvent = $.Event(EVENT_EXPANDED)
const Default = {
trigger : `${Selector.DATA_WIDGET} ${Selector.LINK}`,
animationSpeed: 300,
accordion : true
}
/**
* Class Definition
* ====================================================
*/
class Treeview {
constructor(element, config) {
this._config = config
this._element = element
if (this._config.accordion) {
const openMenuLi = parentLi.siblings(SELECTOR_OPEN).first()
const openTreeview = openMenuLi.find(SELECTOR_TREEVIEW_MENU).first()
this.collapse(openTreeview, openMenuLi)
}
// Public
init() {
this._setupListeners()
}
expand(treeviewMenu, parentLi) {
const expandedEvent = $.Event(Event.EXPANDED)
if (this._config.accordion) {
const openMenuLi = parentLi.siblings(Selector.OPEN).first()
const openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first()
this.collapse(openTreeview, openMenuLi)
}
treeviewMenu.stop().slideDown(this._config.animationSpeed, () => {
parentLi.addClass(ClassName.OPEN)
$(this._element).trigger(expandedEvent)
})
}
collapse(treeviewMenu, parentLi) {
const collapsedEvent = $.Event(Event.COLLAPSED)
treeviewMenu.stop().slideUp(this._config.animationSpeed, () => {
parentLi.removeClass(ClassName.OPEN)
$(this._element).trigger(collapsedEvent)
treeviewMenu.find(`${Selector.OPEN} > ${Selector.TREEVIEW_MENU}`).slideUp()
treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN)
})
}
toggle(event) {
const $relativeTarget = $(event.currentTarget)
const $parent = $relativeTarget.parent()
let treeviewMenu = $parent.find(Selector.TREEVIEW_MENU)
if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {
if (!$parent.is(Selector.LI)) {
treeviewMenu = $parent.parent().find(Selector.TREEVIEW_MENU)
}
if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {
return
}
}
event.preventDefault()
const parentLi = $relativeTarget.parents(Selector.LI).first()
const isOpen = parentLi.hasClass(ClassName.OPEN)
if (isOpen) {
this.collapse($(treeviewMenu), parentLi)
} else {
this.expand($(treeviewMenu), parentLi)
}
}
// Private
_setupListeners() {
$(document).on('click', this._config.trigger, (event) => {
this.toggle(event)
})
}
// Static
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _config = $.extend({}, Default, $(this).data())
if (!data) {
data = new Treeview($(this), _config)
$(this).data(DATA_KEY, data)
}
if (config === 'init') {
data[config]()
}
})
}
}
/**
* Data API
* ====================================================
*/
$(window).on(Event.LOAD_DATA_API, () => {
$(Selector.DATA_WIDGET).each(function () {
Treeview._jQueryInterface.call($(this), 'init')
parentLi.addClass(CLASS_NAME_IS_OPENING)
treeviewMenu.stop().slideDown(this._config.animationSpeed, () => {
parentLi.addClass(CLASS_NAME_OPEN)
$(this._element).trigger(expandedEvent)
})
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = Treeview._jQueryInterface
$.fn[NAME].Constructor = Treeview
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Treeview._jQueryInterface
if (this._config.expandSidebar) {
this._expandSidebar()
}
}
return Treeview
})(jQuery)
collapse(treeviewMenu, parentLi) {
const collapsedEvent = $.Event(EVENT_COLLAPSED)
parentLi.removeClass(`${CLASS_NAME_IS_OPENING} ${CLASS_NAME_OPEN}`)
treeviewMenu.stop().slideUp(this._config.animationSpeed, () => {
$(this._element).trigger(collapsedEvent)
treeviewMenu.find(`${SELECTOR_OPEN} > ${SELECTOR_TREEVIEW_MENU}`).slideUp()
treeviewMenu.find(SELECTOR_OPEN).removeClass(CLASS_NAME_OPEN)
})
}
toggle(event) {
const $relativeTarget = $(event.currentTarget)
const $parent = $relativeTarget.parent()
let treeviewMenu = $parent.find(`> ${SELECTOR_TREEVIEW_MENU}`)
if (!treeviewMenu.is(SELECTOR_TREEVIEW_MENU)) {
if (!$parent.is(SELECTOR_LI)) {
treeviewMenu = $parent.parent().find(`> ${SELECTOR_TREEVIEW_MENU}`)
}
if (!treeviewMenu.is(SELECTOR_TREEVIEW_MENU)) {
return
}
}
event.preventDefault()
const parentLi = $relativeTarget.parents(SELECTOR_LI).first()
const isOpen = parentLi.hasClass(CLASS_NAME_OPEN)
if (isOpen) {
this.collapse($(treeviewMenu), parentLi)
} else {
this.expand($(treeviewMenu), parentLi)
}
}
// Private
_setupListeners() {
const elementId = this._element.attr('id') !== undefined ? `#${this._element.attr('id')}` : ''
$(document).on('click', `${elementId}${this._config.trigger}`, event => {
this.toggle(event)
})
}
_expandSidebar() {
if ($('body').hasClass(CLASS_NAME_SIDEBAR_COLLAPSED)) {
$(this._config.sidebarButtonSelector).PushMenu('expand')
}
}
// Static
static _jQueryInterface(config) {
return this.each(function () {
let data = $(this).data(DATA_KEY)
const _options = $.extend({}, Default, $(this).data())
if (!data) {
data = new Treeview($(this), _options)
$(this).data(DATA_KEY, data)
}
if (config === 'init') {
data[config]()
}
})
}
}
/**
* Data API
* ====================================================
*/
$(window).on(EVENT_LOAD_DATA_API, () => {
$(SELECTOR_DATA_WIDGET).each(function () {
Treeview._jQueryInterface.call($(this), 'init')
})
})
/**
* jQuery API
* ====================================================
*/
$.fn[NAME] = Treeview._jQueryInterface
$.fn[NAME].Constructor = Treeview
$.fn[NAME].noConflict = function () {
$.fn[NAME] = JQUERY_NO_CONFLICT
return Treeview._jQueryInterface
}
export default Treeview

14
build/npm/.eslintrc.json Normal file
View File

@@ -0,0 +1,14 @@
{
"env": {
"browser": false,
"node": true
},
"parserOptions": {
"sourceType": "script"
},
"extends": "../../.eslintrc.json",
"rules": {
"no-console": "off",
"strict": "error"
}
}

View File

@@ -1,45 +1,47 @@
'use strict'
const Plugins = [
// AdminLTE Dist
{
from: 'dist/css/',
to : 'docs/assets/css/'
to: 'docs/assets/css/'
},
{
from: 'dist/js/',
to : 'docs/assets/js/'
to: 'docs/assets/js/'
},
// jQuery
{
from: 'node_modules/jquery/dist/',
to : 'docs/assets/plugins/jquery/'
to: 'docs/assets/plugins/jquery/'
},
// Popper
{
from: 'node_modules/popper.js/dist/',
to : 'docs/assets/plugins/popper/'
to: 'docs/assets/plugins/popper/'
},
// Bootstrap
{
from: 'node_modules/bootstrap/dist/js/',
to : 'docs/assets/plugins/bootstrap/js/'
to: 'docs/assets/plugins/bootstrap/js/'
},
// Font Awesome
{
from: 'node_modules/@fortawesome/fontawesome-free/css/',
to : 'docs/assets/plugins/fontawesome-free/css/'
to: 'docs/assets/plugins/fontawesome-free/css/'
},
{
from: 'node_modules/@fortawesome/fontawesome-free/webfonts/',
to : 'docs/assets/plugins/fontawesome-free/webfonts/'
to: 'docs/assets/plugins/fontawesome-free/webfonts/'
},
// overlayScrollbars
{
from: 'node_modules/overlayscrollbars/js/',
to : 'docs/assets/plugins/overlayScrollbars/js/'
to: 'docs/assets/plugins/overlayScrollbars/js/'
},
{
from: 'node_modules/overlayscrollbars/css/',
to : 'docs/assets/plugins/overlayScrollbars/css/'
to: 'docs/assets/plugins/overlayScrollbars/css/'
}
]

View File

@@ -1,5 +1,11 @@
#!/usr/bin/env node
'use strict'
const path = require('path')
const fse = require('fs-extra')
const fs = require('fs')
const Plugins = require('./DocsPlugins')
const fse = require('fs-extra')
class Publish {
constructor() {
@@ -12,7 +18,7 @@ class Publish {
getArguments() {
if (process.argv.length > 2) {
let arg = process.argv[2]
const arg = process.argv[2]
switch (arg) {
case '-v':
case '--verbose':
@@ -26,17 +32,26 @@ class Publish {
run() {
// Publish files
Plugins.forEach((module) => {
Plugins.forEach(module => {
try {
fse.copySync(module.from, module.to)
fse.copySync(module.from, module.to, {
// Skip copying dot files
filter(src) {
return !path.basename(src).startsWith('.')
}
})
if (this.options.verbose) {
console.log(`Copied ${module.from} to ${module.to}`)
}
} catch (err) {
console.error(`Error: ${err}`)
} catch (error) {
console.error(`Error: ${error}`)
}
})
const insertText = '---\r\nlayout: page\r\ntitle: \r\n---\r\n'
fs.writeFileSync('docs/how-to-contribute.md', insertText + fs.readFileSync('.github/CONTRIBUTING.md', 'utf8'))
}
}

View File

@@ -1,102 +1,108 @@
'use strict'
const Plugins = [
// jQuery
{
from: 'node_modules/jquery/dist',
to : 'plugins/jquery'
to: 'plugins/jquery'
},
// Popper
{
from: 'node_modules/popper.js/dist',
to : 'plugins/popper'
to: 'plugins/popper'
},
// Bootstrap
{
from: 'node_modules/bootstrap/dist/js',
to : 'plugins/bootstrap/js'
to: 'plugins/bootstrap/js'
},
// Font Awesome
{
from: 'node_modules/@fortawesome/fontawesome-free/css',
to : 'plugins/fontawesome-free/css'
to: 'plugins/fontawesome-free/css'
},
{
from: 'node_modules/@fortawesome/fontawesome-free/webfonts',
to : 'plugins/fontawesome-free/webfonts'
to: 'plugins/fontawesome-free/webfonts'
},
// overlayScrollbars
{
from: 'node_modules/overlayscrollbars/js',
to : 'plugins/overlayScrollbars/js'
to: 'plugins/overlayScrollbars/js'
},
{
from: 'node_modules/overlayscrollbars/css',
to : 'plugins/overlayScrollbars/css'
to: 'plugins/overlayScrollbars/css'
},
// Chart.js
{
from: 'node_modules/chart.js/dist/',
to : 'plugins/chart.js'
to: 'plugins/chart.js'
},
// jQuery UI
{
from: 'node_modules/jquery-ui-dist/',
to : 'plugins/jquery-ui'
to: 'plugins/jquery-ui'
},
// Flot
{
from: 'node_modules/flot/dist/es5/',
to : 'plugins/flot'
to: 'plugins/flot'
},
{
from: 'node_modules/flot/source/',
to: 'plugins/flot/plugins'
},
// Summernote
{
from: 'node_modules/summernote/dist/',
to : 'plugins/summernote'
to: 'plugins/summernote'
},
// Bootstrap Slider
{
from: 'node_modules/bootstrap-slider/dist/',
to : 'plugins/bootstrap-slider'
to: 'plugins/bootstrap-slider'
},
{
from: 'node_modules/bootstrap-slider/dist/css',
to : 'plugins/bootstrap-slider/css'
to: 'plugins/bootstrap-slider/css'
},
// Bootstrap Colorpicker
{
from: 'node_modules/bootstrap-colorpicker/dist/js',
to : 'plugins/bootstrap-colorpicker/js'
to: 'plugins/bootstrap-colorpicker/js'
},
{
from: 'node_modules/bootstrap-colorpicker/dist/css',
to : 'plugins/bootstrap-colorpicker/css'
to: 'plugins/bootstrap-colorpicker/css'
},
// Tempusdominus Bootstrap 4
{
from: 'node_modules/tempusdominus-bootstrap-4/build/js',
to : 'plugins/tempusdominus-bootstrap-4/js'
to: 'plugins/tempusdominus-bootstrap-4/js'
},
{
from: 'node_modules/tempusdominus-bootstrap-4/build/css',
to : 'plugins/tempusdominus-bootstrap-4/css'
to: 'plugins/tempusdominus-bootstrap-4/css'
},
// Moment
{
from: 'node_modules/moment/min',
to : 'plugins/moment'
to: 'plugins/moment'
},
{
from: 'node_modules/moment/locale',
to : 'plugins/moment/locale'
to: 'plugins/moment/locale'
},
// FastClick
{
from: 'node_modules/fastclick/lib',
to : 'plugins/fastclick'
to: 'plugins/fastclick'
},
// Date Range Picker
{
from: 'node_modules/daterangepicker/',
to : 'plugins/daterangepicker'
to: 'plugins/daterangepicker'
},
// DataTables
{
@@ -239,6 +245,30 @@ const Plugins = [
from: 'node_modules/datatables.net-scroller-bs4/css',
to: 'plugins/datatables-scroller/css'
},
{
from: 'node_modules/datatables.net-searchbuilder/js',
to: 'plugins/datatables-searchbuilder/js'
},
{
from: 'node_modules/datatables.net-searchbuilder-bs4/js',
to: 'plugins/datatables-searchbuilder/js'
},
{
from: 'node_modules/datatables.net-searchbuilder-bs4/css',
to: 'plugins/datatables-searchbuilder/css'
},
{
from: 'node_modules/datatables.net-searchpanes/js',
to: 'plugins/datatables-searchpanes/js'
},
{
from: 'node_modules/datatables.net-searchpanes-bs4/js',
to: 'plugins/datatables-searchpanes/js'
},
{
from: 'node_modules/datatables.net-searchpanes-bs4/css',
to: 'plugins/datatables-searchpanes/css'
},
{
from: 'node_modules/datatables.net-select/js',
to: 'plugins/datatables-select/js'
@@ -254,97 +284,81 @@ const Plugins = [
// Fullcalendar
{
from: 'node_modules/@fullcalendar/core/',
to : 'plugins/fullcalendar'
},
{
from: 'node_modules/@fullcalendar/bootstrap/',
to : 'plugins/fullcalendar-bootstrap'
},
{
from: 'node_modules/@fullcalendar/daygrid/',
to : 'plugins/fullcalendar-daygrid'
},
{
from: 'node_modules/@fullcalendar/timegrid/',
to : 'plugins/fullcalendar-timegrid'
},
{
from: 'node_modules/@fullcalendar/interaction/',
to : 'plugins/fullcalendar-interaction'
from: 'node_modules/fullcalendar/',
to: 'plugins/fullcalendar'
},
// icheck bootstrap
{
from: 'node_modules/icheck-bootstrap/',
to : 'plugins/icheck-bootstrap'
to: 'plugins/icheck-bootstrap'
},
// inputmask
{
from: 'node_modules/inputmask/dist/',
to : 'plugins/inputmask'
to: 'plugins/inputmask'
},
// ion-rangeslider
{
from: 'node_modules/ion-rangeslider/',
to : 'plugins/ion-rangeslider'
to: 'plugins/ion-rangeslider'
},
// JQVMap (jqvmap-novulnerability)
{
from: 'node_modules/jqvmap-novulnerability/dist/',
to : 'plugins/jqvmap'
to: 'plugins/jqvmap'
},
// jQuery Mapael
{
from: 'node_modules/jquery-mapael/js/',
to : 'plugins/jquery-mapael'
to: 'plugins/jquery-mapael'
},
// Raphael
{
from: 'node_modules/raphael/',
to : 'plugins/raphael'
to: 'plugins/raphael'
},
// jQuery Mousewheel
{
from: 'node_modules/jquery-mousewheel/',
to : 'plugins/jquery-mousewheel'
to: 'plugins/jquery-mousewheel'
},
// jQuery Knob
{
from: 'node_modules/jquery-knob-chif/dist/',
to : 'plugins/jquery-knob'
to: 'plugins/jquery-knob'
},
// pace-progress
{
from: 'node_modules/@lgaitan/pace-progress/dist/',
to : 'plugins/pace-progress'
to: 'plugins/pace-progress'
},
// Select2
{
from: 'node_modules/select2/dist/',
to : 'plugins/select2'
to: 'plugins/select2'
},
{
from: 'node_modules/@ttskch/select2-bootstrap4-theme/dist/',
to : 'plugins/select2-bootstrap4-theme'
to: 'plugins/select2-bootstrap4-theme'
},
// Sparklines
{
from: 'node_modules/sparklines/source/',
to : 'plugins/sparklines'
to: 'plugins/sparklines'
},
// SweetAlert2
{
from: 'node_modules/sweetalert2/dist/',
to : 'plugins/sweetalert2'
to: 'plugins/sweetalert2'
},
{
from: 'node_modules/@sweetalert2/theme-bootstrap-4/',
to : 'plugins/sweetalert2-theme-bootstrap-4'
to: 'plugins/sweetalert2-theme-bootstrap-4'
},
// Toastr
{
from: 'node_modules/toastr/build/',
to : 'plugins/toastr'
to: 'plugins/toastr'
},
// jsGrid
{
@@ -352,8 +366,8 @@ const Plugins = [
to: 'plugins/jsgrid'
},
{
from: 'node_modules/jsgrid/demos/',
to: 'plugins/jsgrid/demos'
from: 'node_modules/jsgrid/demos/db.js',
to: 'plugins/jsgrid/demos/db.js'
},
// flag-icon-css
{
@@ -384,6 +398,52 @@ const Plugins = [
from: 'node_modules/bootstrap-switch/dist',
to: 'plugins/bootstrap-switch/'
},
// jQuery Validate
{
from: 'node_modules/jquery-validation/dist/',
to: 'plugins/jquery-validation'
},
// bs-custom-file-input
{
from: 'node_modules/bs-custom-file-input/dist/',
to: 'plugins/bs-custom-file-input'
},
// bs-stepper
{
from: 'node_modules/bs-stepper/dist/',
to: 'plugins/bs-stepper'
},
// CodeMirror
{
from: 'node_modules/codemirror/lib/',
to: 'plugins/codemirror'
},
{
from: 'node_modules/codemirror/addon/',
to: 'plugins/codemirror/addon'
},
{
from: 'node_modules/codemirror/keymap/',
to: 'plugins/codemirror/keymap'
},
{
from: 'node_modules/codemirror/mode/',
to: 'plugins/codemirror/mode'
},
{
from: 'node_modules/codemirror/theme/',
to: 'plugins/codemirror/theme'
},
// dropzonejs
{
from: 'node_modules/dropzone/dist/',
to: 'plugins/dropzone'
},
// uPlot
{
from: 'node_modules/uplot/dist/',
to: 'plugins/uplot'
}
]
module.exports = Plugins

View File

@@ -1,5 +1,10 @@
#!/usr/bin/env node
'use strict'
const path = require('path')
const fse = require('fs-extra')
const Plugins = require('./Plugins')
const fse = require('fs-extra')
class Publish {
constructor() {
@@ -12,7 +17,7 @@ class Publish {
getArguments() {
if (process.argv.length > 2) {
let arg = process.argv[2]
const arg = process.argv[2]
switch (arg) {
case '-v':
case '--verbose':
@@ -26,15 +31,26 @@ class Publish {
run() {
// Publish files
Plugins.forEach((module) => {
Plugins.forEach(module => {
const fseOptions = {
// Skip copying dot files
filter(src) {
return !path.basename(src).startsWith('.')
}
}
try {
fse.copySync(module.from, module.to)
if (fse.existsSync(module.from)) {
fse.copySync(module.from, module.to, fseOptions)
} else {
fse.copySync(module.from.replace('node_modules/', '../'), module.to, fseOptions)
}
if (this.options.verbose) {
console.log(`Copied ${module.from} to ${module.to}`)
}
} catch (err) {
console.error(`Error: ${err}`)
} catch (error) {
console.error(`Error: ${error}`)
}
})
}

55
build/npm/vnu-jar.js Normal file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env node
/*!
* Script to run vnu-jar if Java is available.
* Copyright 2017-2021 The Bootstrap Authors
* Copyright 2017-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
'use strict'
const childProcess = require('child_process')
const vnu = require('vnu-jar')
childProcess.exec('java -version', (error, stdout, stderr) => {
if (error) {
console.error('Skipping vnu-jar test; Java is missing.')
return
}
const is32bitJava = !/64-Bit/.test(stderr)
// vnu-jar accepts multiple ignores joined with a `|`.
// Also note that the ignores are regular expressions.
const ignores = [
// "autocomplete" is included in <button> and checkboxes and radio <input>s due to
// Firefox's non-standard autocomplete behavior - see https://bugzilla.mozilla.org/show_bug.cgi?id=654072
'Attribute “autocomplete” is only allowed when the input type is.*'
].join('|')
const args = [
'-jar',
vnu,
'--asciiquotes',
'--skip-non-html',
// Ignore the language code warnings
'--no-langdetect',
'--Werror',
`--filterpattern "${ignores}"`,
'./*.html',
'docs_html/',
'pages/'
]
// For the 32-bit Java we need to pass `-Xss512k`
if (is32bitJava) {
args.splice(0, 0, '-Xss512k')
}
return childProcess.spawn('java', args, {
shell: true,
stdio: 'inherit'
})
.on('exit', process.exit)
})

View File

@@ -1,23 +0,0 @@
{
"adjoining-classes": false,
"box-sizing": false,
"box-model": false,
"compatible-vendor-prefixes": false,
"floats": false,
"font-sizes": false,
"gradients": false,
"important": false,
"known-properties": false,
"outline-none": false,
"qualified-headings": false,
"regex-selectors": false,
"shorthand": false,
"text-indent": false,
"unique-headings": false,
"universal-selector": false,
"unqualified-attributes": false,
"ids": false,
"fallback-colors": false,
"vendor-prefix": false,
"import": false
}

View File

@@ -1,85 +0,0 @@
/*!
* AdminLTE v3.0.0-rc.3
* Author: Colorlib
* Website: AdminLTE.io <http://adminlte.io>
* License: Open source - MIT <http://opensource.org/licenses/MIT>
*/
//
// ------------------------------------------------------------------
// This file is to be included in your custom SCSS. Before importing
// this file, you should include your custom AdminLTE and Bootstrap
// variables followed by bootstrap.scss and then this file. It's
// ok to import this file without custom variables too!
// NOTE: be sure to keep the license notice in the generated css.
// ------------------------------------------------------------------
//
// Variables and Mixins
// ---------------------------------------------------
@import 'bootstrap-variables';
@import 'variables';
@import 'mixins';
// Core
// ---------------------------------------------------
@import 'layout';
// Components
// ---------------------------------------------------
@import 'main-header';
@import 'brand';
@import 'main-sidebar';
@import 'sidebar-mini';
@import 'control-sidebar';
@import 'dropdown';
@import 'forms';
@import 'progress-bars';
@import 'small-box';
@import 'cards';
@import 'info-box';
@import 'timeline';
@import 'buttons';
@import 'callout';
@import 'alerts';
@import 'navs';
@import 'products';
@import 'table';
@import 'direct-chat';
@import 'users-list';
@import 'carousel';
@import 'social-widgets';
@import 'modals';
@import 'toasts';
// Pages
// ---------------------------------------------------
@import 'pages/mailbox';
@import 'pages/lockscreen';
@import 'pages/login_and_register';
@import 'pages/404_500_errors';
@import 'pages/invoice';
@import 'pages/profile';
@import 'pages/e_commerce';
@import 'pages/projects';
// Plugins
// ---------------------------------------------------
@import 'plugins/mixins';
@import 'plugins/fullcalendar';
@import 'plugins/select2';
@import 'plugins/bootstrap-slider';
@import 'plugins/icheck-bootstrap';
@import 'plugins/mapael';
@import 'plugins/jqvmap';
@import 'plugins/sweetalert2';
@import 'plugins/toastr';
@import 'plugins/pace';
@import 'plugins/bootstrap-switch';
@import 'plugins/miscellaneous';
// Miscellaneous
// ---------------------------------------------------
@import 'miscellaneous';
@import 'print';
@import 'text';
@import 'elevation';
@import 'colors';

View File

@@ -1,81 +0,0 @@
/*!
* AdminLTE v3.0.0-rc.3
* Author: Colorlib
* Website: AdminLTE.io <http://adminlte.io>
* License: Open source - MIT <http://opensource.org/licenses/MIT>
*/
// Bootstrap
// ---------------------------------------------------
@import '~bootstrap/scss/functions';
@import 'bootstrap-variables';
@import '~bootstrap/scss/bootstrap';
// Variables and Mixins
// ---------------------------------------------------
@import 'variables';
@import 'mixins';
// Core
// ---------------------------------------------------
@import 'layout';
// Components
// ---------------------------------------------------
@import 'main-header';
@import 'brand';
@import 'main-sidebar';
@import 'sidebar-mini';
@import 'control-sidebar';
@import 'dropdown';
@import 'forms';
@import 'progress-bars';
@import 'small-box';
@import 'cards';
@import 'info-box';
@import 'timeline';
@import 'buttons';
@import 'callout';
@import 'alerts';
@import 'navs';
@import 'products';
@import 'table';
@import 'direct-chat';
@import 'users-list';
@import 'carousel';
@import 'social-widgets';
@import 'modals';
@import 'toasts';
// Pages
// ---------------------------------------------------
@import 'pages/mailbox';
@import 'pages/lockscreen';
@import 'pages/login_and_register';
@import 'pages/404_500_errors';
@import 'pages/invoice';
@import 'pages/profile';
@import 'pages/e_commerce';
@import 'pages/projects';
// Plugins
// ---------------------------------------------------
@import 'plugins/mixins';
@import 'plugins/fullcalendar';
@import 'plugins/select2';
@import 'plugins/bootstrap-slider';
@import 'plugins/icheck-bootstrap';
@import 'plugins/mapael';
@import 'plugins/jqvmap';
@import 'plugins/sweetalert2';
@import 'plugins/toastr';
@import 'plugins/pace';
@import 'plugins/bootstrap-switch';
@import 'plugins/miscellaneous';
// Miscellaneous
// ---------------------------------------------------
@import 'miscellaneous';
@import 'print';
@import 'text';
@import 'elevation';
@import 'colors';

View File

@@ -0,0 +1,30 @@
/*!
* AdminLTE v3.1.0
* Author: Colorlib
* Website: AdminLTE.io <https://adminlte.io>
* License: Open source - MIT <https://opensource.org/licenses/MIT>
*/
//
// ------------------------------------------------------------------
// This file is to be included in your custom SCSS. Before importing
// this file, you should include your custom AdminLTE and Bootstrap
// variables followed by bootstrap.scss and then this file. It's
// ok to import this file without custom variables too!
// NOTE: be sure to keep the license notice in the generated css.
// ------------------------------------------------------------------
//
// Variables and Mixins
// ---------------------------------------------------
@import "bootstrap-variables";
@import "variables";
@import "variables-alt";
@import "mixins";
@import "parts/core";
@import "parts/components";
@import "parts/extra-components";
@import "parts/pages";
@import "parts/plugins";
@import "parts/miscellaneous";

View File

@@ -23,28 +23,30 @@
}
//Alert Variants
.alert-success {
@extend .bg-success;
border-color: darken(theme-color('success'), 5%);
@each $color, $value in $theme-colors {
.alert-#{$color} {
color: color-yiq($value);
background-color: $value;
border-color: darken($value, 5%);
}
.alert-default-#{$color} {
@include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
}
}
.alert-danger,
.alert-error {
@extend .bg-danger;
border-color: darken(theme-color('danger'), 5%);
.dark-mode {
@each $color, $value in $theme-colors-alt {
.alert-#{$color} {
color: color-yiq($value);
background-color: $value;
border-color: darken($value, 5%);
}
.alert-default-#{$color} {
@include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));
}
}
}
.alert-warning {
@extend .bg-warning;
border-color: darken(theme-color('warning'), 5%);
}
.alert-info {
@extend .bg-info;
border-color: darken(theme-color('info'), 5%);
}
.alert-primary {
@extend .bg-primary;
border-color: darken(theme-color('primary'), 5%);
}
//

View File

@@ -0,0 +1,14 @@
//
// Component: Animation
//
.animation {
&__shake {
animation: shake 1500ms;
}
&__wobble {
animation: wobble 1500ms;
}
}
//

View File

@@ -9,7 +9,7 @@
//
// stylelint-disable
$white: #ffffff !default;
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
@@ -23,15 +23,15 @@ $black: #000 !default;
$grays: () !default;
$grays: map-merge((
"100": $gray-100,
"200": $gray-200,
"300": $gray-300,
"400": $gray-400,
"500": $gray-500,
"600": $gray-600,
"700": $gray-700,
"800": $gray-800,
"900": $gray-900
"100": $gray-100,
"200": $gray-200,
"300": $gray-300,
"400": $gray-400,
"500": $gray-500,
"600": $gray-600,
"700": $gray-700,
"800": $gray-800,
"900": $gray-900
), $grays);
$blue: #007bff !default;
@@ -47,19 +47,19 @@ $cyan: #17a2b8 !default;
$colors: () !default;
$colors: map-merge((
"blue": $blue,
"indigo": $indigo,
"purple": $purple,
"pink": $pink,
"red": $red,
"orange": $orange,
"yellow": $yellow,
"green": $green,
"teal": $teal,
"cyan": $cyan,
"white": $white,
"gray": $gray-600,
"gray-dark": $gray-800
"blue": $blue,
"indigo": $indigo,
"purple": $purple,
"pink": $pink,
"red": $red,
"orange": $orange,
"yellow": $yellow,
"green": $green,
"teal": $teal,
"cyan": $cyan,
"white": $white,
"gray": $gray-600,
"gray-dark": $gray-800
), $colors);
$primary: $blue !default;
@@ -73,14 +73,14 @@ $dark: $gray-800 !default;
$theme-colors: () !default;
$theme-colors: map-merge((
"primary": $primary,
"secondary": $secondary,
"success": $success,
"info": $info,
"warning": $warning,
"danger": $danger,
"light": $light,
"dark": $dark
"primary": $primary,
"secondary": $secondary,
"success": $success,
"info": $info,
"warning": $warning,
"danger": $danger,
"light": $light,
"dark": $dark
), $theme-colors);
// stylelint-enable
@@ -91,22 +91,26 @@ $theme-color-interval: 8% !default;
$yiq-contrasted-threshold: 150 !default;
// Customize the light and dark text colors for use in our YIQ color contrast function.
$yiq-text-dark: #1F2D3D !default;
$yiq-text-dark: #1f2d3d !default;
$yiq-text-light: $white !default;
// Options
//
// Quickly modify global styling by enabling or disabling optional features.
$enable-caret: true !default;
$enable-rounded: true !default;
$enable-shadows: true !default;
$enable-gradients: false !default;
$enable-transitions: true !default;
$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
$enable-grid-classes: true !default;
$enable-print-styles: true !default;
$enable-caret: true !default;
$enable-rounded: true !default;
$enable-shadows: true !default;
$enable-gradients: false !default;
$enable-transitions: true !default;
$enable-prefers-reduced-motion-media-query: true !default;
$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
$enable-grid-classes: true !default;
$enable-pointer-cursor-for-buttons: true !default;
$enable-print-styles: true !default;
$enable-responsive-font-sizes: false !default;
$enable-validation-icons: true !default;
$enable-deprecation-messages: true !default;
// Spacing
//
@@ -118,21 +122,21 @@ $enable-print-styles: true !default;
$spacer: 1rem !default;
$spacers: () !default;
$spacers: map-merge((
0: 0,
1: ($spacer * .25),
2: ($spacer * .5),
3: $spacer,
4: ($spacer * 1.5),
5: ($spacer * 3)
0: 0,
1: ($spacer * .25),
2: ($spacer * .5),
3: $spacer,
4: ($spacer * 1.5),
5: ($spacer * 3)
), $spacers);
// This variable affects the `.h-*` and `.w-*` classes.
$sizes: () !default;
$sizes: map-merge((
25: 25%,
50: 50%,
75: 75%,
100: 100%
25: 25%,
50: 50%,
75: 75%,
100: 100%
), $sizes);
// stylelint-enable
@@ -165,11 +169,11 @@ $paragraph-margin-bottom: 1rem !default;
// adapting to different screen sizes, for use in media queries.
$grid-breakpoints: (
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px
) !default;
@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
@@ -181,10 +185,10 @@ $grid-breakpoints: (
// Define the maximum width of `.container` for different screen sizes.
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px
) !default;
@include _assert-ascending($container-max-widths, "$container-max-widths");
@@ -410,11 +414,14 @@ $input-focus-color: $input-color !default;
$input-focus-width: 0 !default;
$input-focus-box-shadow: none !default;
$input-placeholder-color: $gray-600 !default;
$input-placeholder-color: lighten($gray-600, 15%) !default;
$input-height-border: $input-border-width * 2 !default;
$input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default;
$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default;
$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
$input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;
@@ -440,7 +447,7 @@ $input-group-addon-color: $input-color !default;
$input-group-addon-bg: $gray-200 !default;
$input-group-addon-border-color: $input-border-color !default;
$custom-control-gutter: 1.5rem !default;
$custom-control-gutter: .5rem !default;
$custom-control-spacer-x: 1rem !default;
$custom-control-indicator-size: 1rem !default;
@@ -514,7 +521,7 @@ $custom-file-box-shadow: $custom-select-focus-box-shadow !default;
$custom-file-button-color: $custom-file-color !default;
$custom-file-button-bg: $input-group-addon-bg !default;
$custom-file-text: (
en: "Browse"
en: "Browse"
) !default;
$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
@@ -692,6 +699,13 @@ $tooltip-arrow-width: .8rem !default;
$tooltip-arrow-height: .4rem !default;
$tooltip-arrow-color: $tooltip-bg !default;
// Form tooltips must come after regular tooltips
$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;
$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;
$form-feedback-tooltip-font-size: $tooltip-font-size !default;
$form-feedback-tooltip-line-height: $line-height-base !default;
$form-feedback-tooltip-opacity: $tooltip-opacity !default;
$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
// Popovers
@@ -746,6 +760,7 @@ $modal-title-line-height: $line-height-base !default;
$modal-content-bg: $white !default;
$modal-content-border-color: rgba($black, .2) !default;
$modal-content-border-width: $border-width !default;
$modal-content-border-radius: $border-radius-lg !default;
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;

View File

@@ -20,14 +20,40 @@
font-size: inherit;
}
[class*='sidebar-dark'] & {
[class*="sidebar-dark"] & {
border-bottom: 1px solid lighten($dark, 10%);
color: rgba($white, .8);
&,
.pushmenu {
color: rgba($white, .8);
&:hover {
color: $white;
}
}
}
[class*='sidebar-light'] & {
[class*="sidebar-light"] & {
border-bottom: 1px solid $gray-300;
color: rgba($black, .8);
&,
.pushmenu {
color: rgba($black, .8);
&:hover {
color: $black;
}
}
}
.pushmenu {
margin-right: $sidebar-padding-x;
font-size: $font-size-base;
}
.brand-link {
padding: 0;
border-bottom: none;
}
.brand-image {
@@ -52,6 +78,10 @@
line-height: .8;
max-height: 40px;
width: auto;
&.single {
margin-top: -.3rem;
}
}
&.text-sm,

View File

@@ -3,6 +3,11 @@
//
.btn {
&.disabled,
&:disabled {
cursor: not-allowed;
}
// Flat buttons
&.btn-flat {
@include border-radius(0);
@@ -15,8 +20,8 @@
overflow: hidden;
position: relative;
> input[type='file'] {
background: $white;
> input[type="file"] {
background-color: $white;
cursor: inherit;
display: block;
font-size: 100px;
@@ -69,21 +74,27 @@
> .fas,
> .far,
> .fab,
> .glyphicon,
> .fal,
> .fad,
> .svg-inline--fa,
> .ion {
display: block;
font-size: 20px;
}
> .svg-inline--fa {
margin: 0 auto;
}
&:hover {
background: $button-default-background-color;
background-color: $button-default-background-color;
border-color: darken($button-default-border-color, 20%);
color: $button-default-color;
}
&:active,
&:focus {
@include box-shadow(inset 0 3px 5px rgba($black, 0.125));
@include box-shadow(inset 0 3px 5px rgba($black, .125));
}
// The badge
@@ -101,3 +112,43 @@
.btn-xs {
@include button-size($button-padding-y-xs, $button-padding-x-xs, $button-font-size-xs, $button-line-height-xs, $button-border-radius-xs);
}
.dark-mode {
.btn-default,
.btn-app {
background-color: lighten($dark, 2.5%);
color: $white;
border-color: $gray-600;
&:hover,
&:focus {
background-color: lighten($dark, 5%);
color: $gray-300;
border-color: lighten($gray-600, 2.5%);
}
}
.btn-light {
background-color: lighten($dark, 7.5%);
color: $white;
border-color: $gray-600;
&:hover,
&:focus {
background-color: lighten($dark, 10%);
color: $gray-300;
border-color: lighten($gray-600, 5%);
}
}
@each $color, $value in $theme-colors-alt {
.btn-#{$color} {
@include button-variant($value, $value);
}
}
@each $color, $value in $theme-colors-alt {
.btn-outline-#{$color} {
@include button-outline-variant($value);
}
}
}

View File

@@ -9,14 +9,14 @@
}
@if $enable-shadows {
@extend .elevation-1;
box-shadow: map-get($elevations, 1);
} @else {
border: 1px solid $gray-300;
}
@extend .mb-3;
background-color: $white;
border-left: 5px solid $gray-200;
margin-bottom: map-get($spacers, 3);
padding: 1rem;
a {
@@ -34,18 +34,40 @@
// Themes for different contexts
&.callout-danger {
border-left-color: darken(theme-color('danger'), 10%);
border-left-color: darken(theme-color("danger"), 10%);
}
&.callout-warning {
border-left-color: darken(theme-color('warning'), 10%);
border-left-color: darken(theme-color("warning"), 10%);
}
&.callout-info {
border-left-color: darken(theme-color('info'), 10%);
border-left-color: darken(theme-color("info"), 10%);
}
&.callout-success {
border-left-color: darken(theme-color('success'), 10%);
border-left-color: darken(theme-color("success"), 10%);
}
}
.dark-mode {
.callout {
background-color: lighten($dark, 5%);
&.callout-danger {
border-left-color: lighten($danger-alt, 10%);
}
&.callout-warning {
border-left-color: lighten($warning-alt, 10%);
}
&.callout-info {
border-left-color: lighten($info-alt, 10%);
}
&.callout-success {
border-left-color: lighten($success-alt, 10%);
}
}
}

View File

@@ -2,9 +2,18 @@
// Component: Cards
//
// Color variants
@each $name, $color in $theme-colors {
@include cards-variant($name, $color);
}
@each $name, $color in $colors {
@include cards-variant($name, $color);
}
.card {
@extend .mb-3;
@include box-shadow($card-shadow);
margin-bottom: map-get($spacers, 3);
&.bg-dark {
.card-header {
@@ -25,13 +34,17 @@
position: fixed;
top: 0;
width: 100% !important;
z-index: 9999;
z-index: $zindex-modal-backdrop;
&.was-collapsed .card-body {
display: block !important;
}
[data-widget='collapse'] {
.card-body {
overflow: auto;
}
[data-card-widgett="collapse"] {
display: none;
}
@@ -75,6 +88,113 @@
.border-left {
border-left: 1px solid $card-border-color;
}
&.card-tabs {
&:not(.card-outline) {
> .card-header {
border-bottom: 0;
.nav-item {
&:first-child .nav-link {
border-left-color: transparent;
}
}
}
}
&.card-outline {
.nav-item {
border-bottom: 0;
&:first-child .nav-link {
border-left: 0;
margin-left: 0;
}
}
}
.card-tools {
margin: .3rem .5rem;
}
&:not(.expanding-card).collapsed-card {
.card-header {
border-bottom: 0;
.nav-tabs {
border-bottom: 0;
.nav-item {
margin-bottom: 0;
}
}
}
}
&.expanding-card {
.card-header {
.nav-tabs {
.nav-item {
margin-bottom: -1px;
}
}
}
}
}
&.card-outline-tabs {
border-top: 0;
.card-header {
.nav-item {
&:first-child .nav-link {
border-left: 0;
margin-left: 0;
}
}
a {
border-top: 3px solid transparent;
&:hover {
border-top: 3px solid $nav-tabs-border-color;
}
&.active {
&:hover {
margin-top: 0;
}
}
}
}
.card-tools {
margin: .5rem .5rem .3rem;
}
&:not(.expanding-card).collapsed-card .card-header {
border-bottom: 0;
.nav-tabs {
border-bottom: 0;
.nav-item {
margin-bottom: 0;
}
}
}
&.expanding-card {
.card-header {
.nav-tabs {
.nav-item {
margin-bottom: -1px;
}
}
}
}
}
}
// Maximized Card Body Scroll fix
@@ -86,7 +206,7 @@ html.maximized-card {
.card-header,
.card-body,
.card-footer {
@include clearfix;
@include clearfix ();
}
// Box header
@@ -108,13 +228,14 @@ html.maximized-card {
float: right;
margin-right: -$card-spacer-x / 2;
.input-group,
.nav,
.pagination {
margin-bottom: -$card-spacer-y / 2;
margin-top: -$card-spacer-y / 2;
margin-bottom: -$card-spacer-y / 2.5;
margin-top: -$card-spacer-y / 2.5;
}
[data-toggle='tooltip'] {
[data-toggle="tooltip"] {
position: relative;
}
}
@@ -134,7 +255,7 @@ html.maximized-card {
// Box Tools Buttons
.btn-tool {
background: transparent;
background-color: transparent;
color: $gray-500;
font-size: $font-size-sm;
margin: -(($card-spacer-y / 2) * 2) 0;
@@ -157,7 +278,7 @@ html.maximized-card {
}
.nav-link {
padding: $card-nav-link-padding-sm-y $card-nav-link-padding-sm-x;
padding: $card-nav-link-padding-sm-y $card-nav-link-padding-sm-x;
}
}
@@ -193,7 +314,7 @@ html.maximized-card {
}
.chart-legend {
@extend .list-unstyled;
@include list-unstyled ();
margin: 10px 0;
> li {
@@ -206,10 +327,10 @@ html.maximized-card {
// Comment Box
.card-comments {
background: $gray-100;
background-color: $gray-100;
.card-comment {
@include clearfix;
@include clearfix ();
border-bottom: 1px solid $gray-200;
padding: 8px 0;
@@ -222,7 +343,8 @@ html.maximized-card {
}
img {
@extend .img-sm;
height: $card-img-size;
width: $card-img-size;
float: left;
}
}
@@ -257,7 +379,7 @@ html.maximized-card {
// Todo list element
> li {
@include border-radius(2px);
background: $gray-100;
background-color: $gray-100;
border-left: 2px solid $gray-200;
color: $gray-700;
margin-bottom: 2px;
@@ -267,7 +389,7 @@ html.maximized-card {
margin-bottom: 0;
}
> input[type='checkbox'] {
> input[type="checkbox"] {
margin: 0 10px 0 5px;
}
@@ -285,7 +407,7 @@ html.maximized-card {
// Tools and options box
.tools {
color: theme-color('danger');
color: theme-color("danger");
display: none;
float: right;
@@ -294,7 +416,9 @@ html.maximized-card {
> .fas,
> .far,
> .fab,
> .glyphicon,
> .fal,
> .fad,
> .svg-inline--fa,
> .ion {
cursor: pointer;
margin-right: 5px;
@@ -314,7 +438,7 @@ html.maximized-card {
}
.badge {
background: $gray-500 !important;
background-color: $gray-500 !important;
}
}
}
@@ -346,16 +470,6 @@ html.maximized-card {
max-width: 200px;
}
// Color variants
@each $name, $color in $theme-colors {
@include cards-variant($name, $color);
}
@each $name, $color in $colors {
@include cards-variant($name, $color);
}
// Nav Tabs override
.card-default {
.nav-item {
@@ -364,3 +478,68 @@ html.maximized-card {
}
}
}
.dark-mode {
// Color variants
@each $name, $color in $theme-colors-alt {
@include cards-variant($name, $color);
}
@each $name, $color in $colors-alt {
@include cards-variant($name, $color);
}
.card {
background-color: $dark;
color: $white;
.card {
background-color: lighten($dark, 5%);
color: $white;
}
.nav.flex-column > li {
border-bottom-color: $gray-600;
}
.card-footer {
background-color: rgba($black, .1);
}
&.card-outline-tabs .card-header a:hover {
border-color: $gray-600;
border-bottom-color: transparent;
}
&:not(.card-outline) > .card-header a.active {
color: $white;
}
}
.card-comments {
background-color: lighten($dark, 1.25%);
.username {
color: $gray-400;
}
.card-comment {
border-bottom-color: lighten($dark, 7.5%);
}
}
.todo-list > li {
background-color: lighten($dark, 5%);
border-color: lighten($dark, 7.5%);
color: $white;
}
.todo-list {
@each $name, $color in $theme-colors-alt {
.#{$name} {
border-left-color: $color;
}
}
@each $name, $color in $colors-alt {
.#{$name} {
border-left-color: $color;
}
}
}
}

View File

@@ -2,17 +2,21 @@
// Component: Carousel
//
.carousel-control {
&.left,
&.right {
background-image: none;
.carousel-control-custom-icon {
.carousel-control-prev & {
margin-left: -20px;
}
.carousel-control-next & {
margin-right: 20px;
}
> .fa,
> .fas,
> .far,
> .fab,
> .glyphicon,
> .fal,
> .fad,
> .svg-inline--fa,
> .ion {
display: inline-block;
font-size: 40px;

44
build/scss/_close.scss Normal file
View File

@@ -0,0 +1,44 @@
.close {
float: right;
@include font-size($close-font-size);
font-weight: $close-font-weight;
line-height: 1;
color: $close-color;
text-shadow: $close-text-shadow;
opacity: .5;
// Override <a>'s hover style
@include hover() {
color: $close-color;
text-decoration: none;
}
&:not(:disabled):not(.disabled) {
@include hover-focus() {
opacity: .75;
}
}
&:focus {
outline: none;
}
}
// Additional properties for button version
// iOS requires the button element instead of an anchor tag.
// If you want the anchor version, it requires `href="#"`.
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
// stylelint-disable-next-line selector-no-qualifying-type
button.close {
padding: 0;
background-color: transparent;
border: 0;
}
// Future-proof disabling of clicks on `<a>` elements
// stylelint-disable-next-line selector-no-qualifying-type
a.close.disabled {
pointer-events: none;
}

View File

@@ -43,7 +43,7 @@
}
// Backgrund Color Disabled
[class^='bg-'].disabled {
[class^="bg-"].disabled {
opacity: .65;
}
@@ -80,3 +80,65 @@ a.text-muted:hover {
@each $name, $color in $colors {
@include accent-variant($name, $color);
}
// Accent button override fix
[class*="accent-"] {
@each $name, $color in $theme-colors {
a.btn-#{$name} {
color: color-yiq($color);
}
}
}
.dark-mode {
.bg-light {
background-color: lighten($dark, 7.5%) !important;
color: $white !important;
}
.text-black,
.text-dark,
.link-black,
.link-dark {
color: $gray-400;
}
// Background colors (theme colors)
@each $name, $color in $theme-colors-alt {
@include background-variant($name, $color);
}
// Background colors (colors)
@each $name, $color in $colors-alt {
@include background-variant($name, $color);
}
// Gradient Background colors (theme colors)
@each $name, $color in $theme-colors-alt {
@include background-gradient-variant($name, $color);
}
// Gradient Background colors (colors)
@each $name, $color in $colors-alt {
@include background-gradient-variant($name, $color);
}
// Accent colors (theme colors)
@each $name, $color in $theme-colors-alt {
@include accent-variant($name, $color);
}
[class*="accent-"] {
@each $name, $color in $theme-colors-alt {
a.btn-#{$name} {
color: color-yiq($color);
}
}
}
// Accent colors (colors)
@each $name, $color in $colors-alt {
@include accent-variant($name, $color);
}
}
//

View File

@@ -1,7 +1,7 @@
//
// Component: Control Sidebar
//
html.control-sidebar-animate {
overflow-x: hidden;
}
@@ -11,7 +11,7 @@ html.control-sidebar-animate {
position: absolute;
top: $main-header-height;
z-index: $zindex-control-sidebar;
&,
&::before {
bottom: $main-footer-height;
@@ -22,7 +22,7 @@ html.control-sidebar-animate {
}
&::before {
content: '';
content: "";
display: block;
position: fixed;
top: 0;
@@ -46,11 +46,11 @@ body.text-sm {
}
.control-sidebar-push-slide {
.content-wrapper,
.main-footer {
@include transition(margin-right $transition-speed $transition-fn);
}
.content-wrapper,
.main-footer {
@include transition(margin-right $transition-speed $transition-fn);
}
}
// Control sidebar open state
.control-sidebar-open {
@@ -95,17 +95,14 @@ body.text-sm {
// Dark skin
.control-sidebar-dark {
background-color: $sidebar-dark-bg;
&,
a,
.nav-link {
color: $sidebar-dark-color;
}
// Background
& {
background: $sidebar-dark-bg;
}
a:hover {
color: $sidebar-dark-hover-color;
}
@@ -171,8 +168,6 @@ body.text-sm {
color: lighten($sidebar-light-color, 10%);
// Background
& {
background: $sidebar-light-bg;
border-left: $main-header-bottom-border;
}
background-color: $sidebar-light-bg;
border-left: $main-header-bottom-border;
}

View File

@@ -1,7 +1,7 @@
//
// Component: Direct Chat
//
.direct-chat {
.card-body {
overflow-x: hidden;
@@ -14,6 +14,19 @@
@include translate(0, 0);
}
}
&.timestamp-light {
.direct-chat-timestamp {
color: lighten(color-yiq($yiq-text-light), 10%);
}
}
&.timestamp-dark {
.direct-chat-timestamp {
color: darken(color-yiq($yiq-text-dark), 20%);
}
}
}
.direct-chat-messages {
@@ -29,7 +42,7 @@
}
.direct-chat-msg {
@include clearfix;
@include clearfix ();
margin-bottom: 10px;
}
@@ -43,7 +56,7 @@
@include border-radius($border-radius-lg);
}
background: $direct-chat-default-msg-bg;
background-color: $direct-chat-default-msg-bg;
border: 1px solid $direct-chat-default-msg-border-color;
color: $direct-chat-default-font-color;
margin: 5px 0 0 50px;
@@ -55,7 +68,7 @@
&::before {
border: solid transparent;
border-right-color: $direct-chat-default-msg-border-color;
content: ' ';
content: " ";
height: 0;
pointer-events: none;
position: absolute;
@@ -122,7 +135,7 @@
.direct-chat-contacts {
@include translate(101%, 0);
background: $dark;
background-color: $dark;
bottom: 0;
color: $white;
height: 250px;
@@ -133,7 +146,7 @@
}
.direct-chat-contacts-light {
background: $light;
background-color: $light;
.contacts-list-name {
color: $gray-700;
@@ -150,11 +163,11 @@
//Contacts list -- for displaying contacts in direct chat contacts pane
.contacts-list {
@extend .list-unstyled;
@include list-unstyled ();
> li {
@include clearfix;
border-bottom: 1px solid rgba($black, 0.2);
@include clearfix ();
border-bottom: 1px solid rgba($black, .2);
margin: 0;
padding: 10px;
@@ -190,7 +203,7 @@
.contacts-list-date {
color: $gray-400;
font-weight: normal;
font-weight: 400;
}
.contacts-list-msg {
@@ -209,3 +222,38 @@
@include direct-chat-variant($color);
}
}
.dark-mode {
.direct-chat-text {
background-color: lighten($dark, 7.5%);
border-color: lighten($dark, 10%);
color: $white;
&::after,
&::before {
border-right-color: lighten($dark, 10%);
}
}
.direct-chat-timestamp {
color: $gray-500;
}
.right > .direct-chat-text {
&::after,
&::before {
border-right-color: transparent;
}
}
// Color variants
@each $name, $color in $theme-colors-alt {
.direct-chat-#{$name} {
@include direct-chat-variant($color);
}
}
@each $name, $color in $colors-alt {
.direct-chat-#{$name} {
@include direct-chat-variant($color);
}
}
}

View File

@@ -18,7 +18,7 @@
}
.dropdown-toggle::after {
vertical-align: .2rem
vertical-align: .2rem;
}
}
@@ -57,17 +57,17 @@
.dropdown-submenu {
position: relative;
& > a:after {
@include caret-right;
> a::after {
@include caret-right ();
float: right;
margin-left: .5rem;
margin-top: .5rem;
}
& > .dropdown-menu {
> .dropdown-menu {
left: 100%;
margin-left: 0px;
margin-top: 0px;
margin-left: 0;
margin-top: 0;
top: 0;
}
}
@@ -85,7 +85,6 @@
}
// Dropdown Sizes
.dropdown-menu-xl {
max-width: 420px;
@@ -115,39 +114,13 @@
text-align: center;
}
// Add fade animation to dropdown menus by appending
// Add fade animation to dropdown menus by appending
// the class .animated-dropdown-menu to the .dropdown-menu ul (or ol)
.open:not(.dropup) > .animated-dropdown-menu {
@include animation(flipInX .7s both);
backface-visibility: visible !important;
}
@keyframes flipInX {
0% {
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
transition-timing-function: ease-in;
opacity: 0;
}
40% {
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
transition-timing-function: ease-in;
}
60% {
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
opacity: 1;
}
80% {
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
}
100% {
transform: perspective(400px);
}
}
// Fix dropdown menu in navbars
.navbar-custom-menu > .navbar-nav {
> li {
@@ -170,7 +143,7 @@
right: 5%;
left: auto;
border: 1px solid #ddd;
background: $white;
background-color: $white;
}
}
}
@@ -178,14 +151,13 @@
// User Menu
.navbar-nav > .user-menu {
> .nav-link:after {
content:none;
> .nav-link::after {
content: none;
}
> .dropdown-menu {
@include border-top-radius(0);
padding: 0;
border-top-width: 0;
width: 280px;
&,
@@ -206,7 +178,7 @@
width: 90px;
border: 3px solid;
border-color: transparent;
border-color: rgba(255, 255, 255, 0.2);
border-color: rgba(255, 255, 255, .2);
}
> p {
@@ -224,14 +196,14 @@
// Menu Body
> .user-body {
@include clearfix;
@include clearfix ();
border-bottom: 1px solid $gray-700;
border-top: 1px solid $gray-300;
padding: 15px;
a {
@include media-breakpoint-up(sm) {
background: $white !important;
background-color: $white !important;
color: $gray-700 !important;
}
}
@@ -239,7 +211,7 @@
// Menu Footer
> .user-footer {
@include clearfix;
@include clearfix ();
background-color: $gray-100;
padding: 10px;
@@ -259,15 +231,65 @@
@include media-breakpoint-up(sm) {
float: none;
line-height: 10px;
margin-right: 0;
margin-right: .4rem;
margin-top: -8px;
}
border-radius: 50%;
float: left;
height: 25px;
height: $sidebar-user-image-width;
margin-right: 10px;
margin-top: -2px;
width: 25px;
width: $sidebar-user-image-width;
}
}
.dark-mode {
.dropdown-menu {
background-color: $dark;
color: $white;
}
.dropdown-item {
color: $white;
&:focus,
&:hover {
background-color: lighten($dark, 5%);
}
}
.dropdown-divider {
border-color: $gray-600;
}
.navbar-nav > .user-menu > .dropdown-menu {
> .user-footer {
background-color: lighten($dark, 2.5%);
color: $white;
.btn-default {
color: $white;
&:hover,
&:focus {
background-color: lighten($dark, 5%);
color: $gray-300;
}
&:focus {
background-color: lighten($dark, 7.5%);
}
}
}
> .user-body {
border-color: $gray-600;
}
> .user-body a {
background-color: transparent !important;
color: $white !important;
&:hover,
&:focus {
color: $gray-400 !important;
}
}
}
}

View File

@@ -6,22 +6,9 @@
box-shadow: none !important;
}
.elevation-1 {
box-shadow: 0 1px 3px rgba($black, 0.12), 0 1px 2px rgba($black, 0.24) !important;
}
.elevation-2 {
box-shadow: 0 3px 6px rgba($black, 0.16), 0 3px 6px rgba($black, 0.23) !important;
}
.elevation-3 {
box-shadow: 0 10px 20px rgba($black, 0.19), 0 6px 6px rgba($black, 0.23) !important;
}
.elevation-4 {
box-shadow: 0 14px 28px rgba($black, 0.25), 0 10px 10px rgba($black, 0.22) !important;
}
.elevation-5 {
box-shadow: 0 19px 38px rgba($black, 0.30), 0 15px 12px rgba($black, 0.22) !important;
// Background colors (colors)
@each $name, $value in $elevations {
.elevation-#{$name} {
box-shadow: $value !important;
}
}

View File

@@ -1,7 +1,7 @@
//
// Component: Forms
//
.form-group {
&.has-icon {
position: relative;
@@ -40,19 +40,23 @@
&.fas,
&.far,
&.fab,
&.glyphicon,
&.fal,
&.fad,
&.svg-inline--fa,
&.ion {
line-height: $input-height;
}
}
.input-lg + .form-control-feedback,
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback {
&.fa,
&.fas,
&.far,
&.fab,
&.glyphicon,
&.fal,
&.fad,
&.svg-inline--fa,
&.ion {
line-height: $input-height-lg;
}
@@ -64,20 +68,24 @@
&.fas,
&.far,
&.fab,
&.glyphicon,
&.fal,
&.fad,
&.svg-inline--fa,
&.ion {
line-height: $input-height-lg;
}
}
}
.input-sm + .form-control-feedback,
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback {
&.fa,
&.fas,
&.far,
&.fab,
&.glyphicon,
&.fal,
&.fad,
&.svg-inline--fa,
&.ion {
line-height: $input-height-sm;
}
@@ -89,20 +97,22 @@
&.fas,
&.far,
&.fab,
&.glyphicon,
&.fal,
&.fad,
&.svg-inline--fa,
&.ion {
line-height: $input-height-sm;
}
}
}
label:not(.form-check-label, .custom-file-label) {
label:not(.form-check-label):not(.custom-file-label) {
font-weight: $font-weight-bold;
}
.warning-feedback {
@include font-size($form-feedback-font-size);
color: theme-color('warning');
color: theme-color("warning");
display: none;
margin-top: $form-feedback-margin-top;
width: 100%;
@@ -111,8 +121,8 @@ label:not(.form-check-label, .custom-file-label) {
.warning-tooltip {
@include border-radius($form-feedback-tooltip-border-radius);
@include font-size($form-feedback-tooltip-font-size);
background-color: rgba(theme-color('warning'), $form-feedback-tooltip-opacity);
color: color-yiq(theme-color('warning'));
background-color: rgba(theme-color("warning"), $form-feedback-tooltip-opacity);
color: color-yiq(theme-color("warning"));
display: none;
line-height: $form-feedback-tooltip-line-height;
margin-top: .1rem;
@@ -125,7 +135,7 @@ label:not(.form-check-label, .custom-file-label) {
.form-control {
&.is-warning {
border-color: theme-color('warning');
border-color: theme-color("warning");
@if $enable-validation-icons {
// padding-right: $input-height-inner;
@@ -136,8 +146,8 @@ label:not(.form-check-label, .custom-file-label) {
}
&:focus {
border-color: theme-color('warning');
box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);
border-color: theme-color("warning");
box-shadow: 0 0 0 $input-focus-width rgba(theme-color("warning"), .25);
}
~ .warning-feedback,
@@ -159,7 +169,7 @@ textarea.form-control {
.custom-select {
&.is-warning {
border-color: theme-color('warning');
border-color: theme-color("warning");
@if $enable-validation-icons {
// padding-right: $custom-select-feedback-icon-padding-right;
@@ -167,8 +177,8 @@ textarea.form-control {
}
&:focus {
border-color: theme-color('warning');
box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);
border-color: theme-color("warning");
box-shadow: 0 0 0 $input-focus-width rgba(theme-color("warning"), .25);
}
~ .warning-feedback,
@@ -191,7 +201,7 @@ textarea.form-control {
.form-check-input {
&.is-warning {
~ .form-check-label {
color: theme-color('warning');
color: theme-color("warning");
}
~ .warning-feedback,
@@ -203,10 +213,10 @@ textarea.form-control {
.custom-control-input.is-warning {
~ .custom-control-label {
color: theme-color('warning');
color: theme-color("warning");
&::before {
border-color: theme-color('warning');
border-color: theme-color("warning");
}
}
@@ -217,18 +227,18 @@ textarea.form-control {
&:checked {
~ .custom-control-label::before {
@include gradient-bg(lighten(theme-color('warning'), 10%));
border-color: lighten(theme-color('warning'), 10%);
@include gradient-bg(lighten(theme-color("warning"), 10%));
border-color: lighten(theme-color("warning"), 10%);
}
}
&:focus {
~ .custom-control-label::before {
box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);
box-shadow: 0 0 0 $input-focus-width rgba(theme-color("warning"), .25);
}
&:not(:checked) ~ .custom-control-label::before {
border-color: theme-color('warning');
border-color: theme-color("warning");
}
}
}
@@ -237,7 +247,7 @@ textarea.form-control {
.custom-file-input {
&.is-warning {
~ .custom-file-label {
border-color: theme-color('warning');
border-color: theme-color("warning");
}
~ .warning-feedback,
@@ -247,13 +257,39 @@ textarea.form-control {
&:focus {
~ .custom-file-label {
border-color: theme-color('warning');
box-shadow: 0 0 0 $input-focus-width rgba(theme-color('warning'), .25);
border-color: theme-color("warning");
box-shadow: 0 0 0 $input-focus-width rgba(theme-color("warning"), .25);
}
}
}
}
// body.text-sm support
body.text-sm {
.input-group-text {
font-size: $font-size-sm;
}
}
// custom .form-control styles
.form-control,
.custom-select {
&.form-control-border {
border-top: 0;
border-left: 0;
border-right: 0;
border-radius: 0;
box-shadow: inherit;
&.border-width-2 {
border-bottom-width: 2px;
}
&.border-width-3 {
border-bottom-width: 3px;
}
}
}
// custom switch color variations
.custom-switch {
@each $name, $color in $theme-colors {
@@ -275,3 +311,121 @@ textarea.form-control {
@include custom-range-variant($name, $color);
}
}
// custom control input variations
@each $name, $color in $theme-colors {
@include custom-control-input-variant($name, $color);
}
@each $name, $color in $colors {
@include custom-control-input-variant($name, $color);
}
.custom-control-input-outline {
~ .custom-control-label::before {
background-color: transparent !important;
box-shadow: none;
}
&:checked ~ .custom-control-label::before {
@include gradient-bg(transparent);
}
}
.navbar-dark {
.btn-navbar,
.form-control-navbar {
background-color: lighten($sidebar-dark-bg, 5%);
border: 1px solid lighten($sidebar-dark-bg, 15%);
color: lighten(color-yiq(lighten($sidebar-dark-bg, 5%)), 15%);
}
.btn-navbar {
&:hover {
background-color: lighten($sidebar-dark-bg, 7.5%);
}
&:focus {
background-color: lighten($sidebar-dark-bg, 10%);
}
}
.form-control-navbar + .input-group-prepend,
.form-control-navbar + .input-group-append {
> .btn-navbar {
background-color: lighten($sidebar-dark-bg, 5%);
color: $white;
border: 1px solid lighten($sidebar-dark-bg, 15%);
border-left: none;
}
}
}
.dark-mode {
.form-control:not(.form-control-navbar):not(.form-control-sidebar),
.custom-select,
.custom-file-label,
.custom-file-label::after,
.custom-control-label::before,
.input-group-text {
background-color: $dark;
color: $white;
}
.form-control:not(.form-control-navbar):not(.form-control-sidebar):not(.is-invalid):not(:focus),
.custom-file-label,
.custom-file-label::after {
border-color: $gray-600;
}
select {
background-color: $dark;
color: $white;
border-color: $gray-600;
}
.input-group-text {
border-color: $gray-600;
}
.custom-control-input:disabled ~ .custom-control-label::before,
.custom-control-input[disabled] ~ .custom-control-label::before {
background-color: lighten($dark, 5%);
border-color: $gray-600;
color: $white;
}
.custom-range {
&::-webkit-slider-runnable-track {
background-color: lighten($dark, 7.5%);
}
&::-moz-range-track {
background-color: lighten($dark, 7.5%);
}
&::-ms-track {
background-color: lighten($dark, 7.5%);
}
@each $name, $color in $theme-colors-alt {
@include custom-range-variant($name, $color);
}
@each $name, $color in $colors-alt {
@include custom-range-variant($name, $color);
}
}
// custom switch color variations
.custom-switch {
@each $name, $color in $theme-colors-alt {
@include custom-switch-variant($name, $color);
}
@each $name, $color in $colors-alt {
@include custom-switch-variant($name, $color);
}
}
@each $name, $color in $theme-colors-alt {
@include custom-control-input-variant($name, $color);
}
@each $name, $color in $colors-alt {
@include custom-control-input-variant($name, $color);
}
}

View File

@@ -1,17 +1,18 @@
//
// Component: Info Box
//
.info-box {
@extend .d-flex;
@extend .mb-3;
@include box-shadow($card-shadow);
@include border-radius($border-radius);
background: $white;
background-color: $white;
display: flex;
margin-bottom: map-get($spacers, 3);
min-height: 80px;
padding: .5rem;
position: relative;
width: 100%;
.progress {
background-color: rgba($black, .125);
@@ -24,16 +25,14 @@
}
.info-box-icon {
@extend .d-flex;
@extend .align-items-center;
@extend .justify-content-center;
@if $enable-rounded {
border-radius: $border-radius;
}
display: block;
align-items: center;
display: flex;
font-size: 1.875rem;
justify-content: center;
text-align: center;
width: 70px;
@@ -43,12 +42,17 @@
}
.info-box-content {
display: flex;
flex-direction: column;
justify-content: center;
line-height: 1.8;
flex: 1;
padding: 5px 10px;
padding: 0 10px;
}
.info-box-number {
display: block;
margin-top: .25rem;
font-weight: $font-weight-bold;
}
@@ -140,3 +144,22 @@
}
}
}
.dark-mode {
.info-box {
background-color: $dark;
color: $white;
@each $name, $color in $theme-colors-alt {
.info-box {
.bg-#{$name},
.bg-gradient-#{$name} {
color: color-yiq($color);
.progress-bar {
background-color: color-yiq($color);
}
}
}
}
}
}

View File

@@ -2,7 +2,7 @@
// Core: Layout
//
html {
html.scroll-smooth {
scroll-behavior: smooth;
}
@@ -15,7 +15,7 @@ body,
.wrapper {
position: relative;
& .content-wrapper {
.content-wrapper {
min-height: calc(100vh - #{$main-header-height} - #{$main-footer-height});
}
@@ -28,11 +28,20 @@ body,
max-width: $boxed-layout-max-width;
}
& .main-sidebar {
.main-sidebar {
left: inherit;
}
}
@supports not (-webkit-touch-callout: none) {
.layout-fixed & .sidebar {
height: calc(100vh - (#{$main-header-height-inner} + #{$main-header-bottom-border-width}));
}
.layout-fixed.text-sm & .sidebar {
height: calc(100vh - (#{$main-header-height-sm-inner} + #{$main-header-bottom-border-width}));
}
}
.layout-navbar-fixed.layout-fixed & {
.control-sidebar {
top: $main-header-height;
@@ -61,7 +70,9 @@ body,
}
}
.layout-navbar-fixed.sidebar-collapse & {
.layout-navbar-fixed.sidebar-mini.sidebar-collapse &,
.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse &,
.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse & {
.brand-link {
height: $main-header-height;
width: $sidebar-mini-width;
@@ -72,12 +83,34 @@ body,
}
}
.layout-navbar-fixed.sidebar-collapse.text-sm & {
.layout-navbar-fixed.sidebar-mini.sidebar-collapse.text-sm &,
.layout-navbar-fixed.sidebar-mini-md.sidebar-collapse.text-sm &,
.layout-navbar-fixed.sidebar-mini-xs.sidebar-collapse.text-sm & {
.brand-link {
height: $main-header-height-sm;
}
}
body:not(.layout-fixed).layout-navbar-fixed & {
.main-sidebar {
// margin-top: calc(#{$main-header-height} / -1);
// .sidebar {
// margin-top: $main-header-height;
// }
}
}
body:not(.layout-fixed).layout-navbar-fixed.text-sm & {
.main-sidebar {
margin-top: calc(#{$main-header-height-sm} / -1);
.sidebar {
margin-top: $main-header-height-sm;
}
}
}
.layout-navbar-fixed & {
.control-sidebar {
top: 0;
@@ -269,6 +302,26 @@ body,
}
}
body:not(.layout-fixed).layout#{$infix}-navbar-fixed & {
// .main-sidebar {
// margin-top: calc(#{$main-header-height} / -1);
// .sidebar {
// margin-top: $main-header-height;
// }
// }
}
body:not(.layout-fixed).layout#{$infix}-navbar-fixed.text-sm & {
.main-sidebar {
margin-top: calc(#{$main-header-height-sm} / -1);
.sidebar {
margin-top: $main-header-height-sm;
}
}
}
.layout#{$infix}-navbar-not-fixed & {
.brand-link {
position: static;
@@ -296,9 +349,7 @@ body,
.control-sidebar {
bottom: 0;
}
}
.layout-footer-fixed & {
.main-footer {
bottom: 0;
left: 0;
@@ -325,9 +376,7 @@ body,
.control-sidebar {
bottom: 0;
}
}
.layout#{$infix}-footer-fixed & {
.main-footer {
bottom: 0;
left: 0;
@@ -337,7 +386,7 @@ body,
}
.content-wrapper {
margin-bottom: $main-footer-height;
padding-bottom: $main-footer-height;
}
}
@@ -352,48 +401,32 @@ body,
.layout-top-nav & {
margin-left: 0;
& .text-sm {
.main-header {
.brand-image {
margin-top: -.5rem;
margin-right: .2rem;
height: 33px;
}
}
& .main-sidebar {
.main-sidebar {
bottom: inherit;
height: inherit;
}
.brand-image {
height: 33px;
}
& .main-sidebar {
display: none;
}
& .content-wrapper,
& .main-header,
& .main-footer {
.content-wrapper,
.main-header,
.main-footer {
margin-left: 0;
}
}
}
.content-wrapper,
.main-footer,
.main-header {
@include media-breakpoint-up(sm) {
@include transition(margin-left $transition-speed $transition-fn);
margin-left: $sidebar-width;
z-index: 3000;
.sidebar-collapse & {
margin-left: 0;
}
}
@include media-breakpoint-down(sm) {
body.sidebar-collapse:not(.sidebar-mini-xs):not(.sidebar-mini-md):not(.sidebar-mini) {
.content-wrapper,
.main-footer,
.main-header {
&,
&::before {
margin-left: 0;
@@ -401,8 +434,69 @@ body,
}
}
body:not(.sidebar-mini-md):not(.sidebar-mini-xs):not(.layout-top-nav) {
.content-wrapper,
.main-footer,
.main-header {
@include media-breakpoint-up(md) {
@include transition(margin-left $transition-speed $transition-fn);
margin-left: $sidebar-width;
.sidebar-collapse & {
margin-left: 0;
}
}
@include media-breakpoint-down(md) {
margin-left: 0;
}
}
}
.sidebar-mini-md {
.content-wrapper,
.main-footer,
.main-header {
@include media-breakpoint-up(md) {
@include transition(margin-left $transition-speed $transition-fn);
margin-left: $sidebar-width;
.sidebar-collapse & {
margin-left: $sidebar-mini-width;
}
}
@include media-breakpoint-down(md) {
margin-left: $sidebar-mini-width;
}
@include media-breakpoint-down(sm) {
margin-left: 0;
}
}
}
.sidebar-mini-xs {
.content-wrapper,
.main-footer,
.main-header {
@include media-breakpoint-up(md) {
@include transition(margin-left $transition-speed $transition-fn);
margin-left: $sidebar-width;
.sidebar-collapse & {
margin-left: $sidebar-mini-width;
}
}
@include media-breakpoint-down(md) {
margin-left: $sidebar-mini-width;
}
}
}
.content-wrapper {
background: $main-bg;
background-color: $main-bg;
> .content {
padding: $content-padding-y $content-padding-x;
@@ -417,6 +511,13 @@ body,
width: $sidebar-width;
}
.sidebar-collapse:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) & {
&,
&::before {
box-shadow: none !important;
}
}
.sidebar-collapse & {
&,
&::before {
@@ -444,12 +545,16 @@ body,
}
}
:not(.layout-fixed) {
body:not(.layout-fixed) {
.main-sidebar {
height: inherit;
min-height: 100%;
position: absolute;
top: 0;
.sidebar {
overflow-y: auto;
}
}
}
@@ -461,7 +566,6 @@ body,
.main-sidebar {
bottom: 0;
float: none;
height: 100vh;
left: 0;
position: fixed;
top: 0;
@@ -470,18 +574,27 @@ body,
.control-sidebar {
bottom: 0;
float: none;
height: 100vh;
position: fixed;
top: 0;
.control-sidebar-content {
height: calc(100vh - #{$main-header-height});
overflow-y: auto;
@include scrollbar-width-thin();
}
}
}
@supports (-webkit-touch-callout: none) {
.layout-fixed {
.main-sidebar {
height: inherit;
}
}
}
.main-footer {
background: $main-footer-bg;
background-color: $main-footer-bg;
border-top: $main-footer-border-top;
color: lighten($gray-700, 25%);
padding: $main-footer-padding;
@@ -509,7 +622,7 @@ body,
}
.breadcrumb {
background: transparent;
background-color: transparent;
line-height: 1.8rem;
margin-bottom: 0;
padding: 0;
@@ -521,7 +634,6 @@ body,
}
.hold-transition {
.content-wrapper,
.main-header,
@@ -531,5 +643,62 @@ body,
.control-sidebar *,
.main-footer {
transition: none !important;
animation-duration: 0s !important;
}
}
.dark-mode {
background-color: $dark-main-bg;
color: $white;
.wrapper {
.layout-navbar-fixed & {
@each $name, $color in $theme-colors-alt {
.sidebar-dark-#{$name} .brand-link:not([class*="navbar"]) {
background-color: $sidebar-dark-bg;
}
.sidebar-light-#{$name} .brand-link:not([class*="navbar"]) {
background-color: $sidebar-light-bg;
}
}
}
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.layout#{$infix}-navbar-fixed & {
@each $name, $color in $theme-colors-alt {
.sidebar-dark-#{$name} .brand-link:not([class*="navbar"]) {
background-color: $sidebar-dark-bg;
}
.sidebar-light-#{$name} .brand-link:not([class*="navbar"]) {
background-color: $sidebar-light-bg;
}
}
}
}
}
}
.breadcrumb-item {
&.active,
+ .breadcrumb-item::before {
color: $gray-500;
}
}
.main-footer {
background-color: $dark;
border-color: lighten($dark, 10%);
}
.content-wrapper {
background-color: lighten($dark, 7.5%);
color: $white;
.content-header {
color: $white;
}
}
}

View File

@@ -1,7 +1,7 @@
//
// Component: Main Header
//
.main-header {
border-bottom: $main-header-bottom-border;
z-index: $zindex-main-header;
@@ -21,7 +21,9 @@
> .fas,
> .far,
> .fab,
> .glyphicon,
> .fal,
> .fad,
> .svg-inline--fa,
> .ion {
font-size: $font-size-sm;
}
@@ -34,7 +36,7 @@
margin: 0;
}
&[class*='-right'] {
&[class*="-right"] {
.dropdown-menu {
left: auto;
margin-top: -3px;
@@ -47,6 +49,11 @@
}
}
}
&.dropdown-legacy .dropdown-menu {
top: $nav-link-height + $navbar-padding-y;
margin-top: 0;
}
}
// Add this class to images within a nav-link
@@ -73,7 +80,7 @@
.form-control-navbar {
border-right-width: 0;
& + .input-group-append {
+ .input-group-append {
margin-left: 0;
}
}
@@ -87,20 +94,23 @@
.form-control-navbar,
.btn-navbar {
background-color: $main-header-dark-form-control-bg;
border: $main-header-dark-form-control-border;
border-color: $main-header-dark-form-control-border-color;
}
.form-control-navbar {
&::placeholder,
&::placeholder {
color: $main-header-dark-placeholder-color;
}
+ .input-group-append > .btn-navbar {
color: $main-header-dark-placeholder-color;
}
&:focus {
&,
& + .input-group-append .btn-navbar {
+ .input-group-append .btn-navbar {
background-color: $main-header-dark-form-control-focused-bg;
border: $main-header-dark-form-control-focused-border !important;
border-color: $main-header-dark-form-control-focused-border-color !important;
color: $main-header-dark-form-control-focused-color;
}
}
@@ -111,25 +121,59 @@
.form-control-navbar,
.btn-navbar {
background-color: $main-header-light-form-control-bg;
border: $main-header-light-form-control-border;
border-color: $main-header-light-form-control-border-color;
}
.form-control-navbar {
&:ms-placeholder,
&:moz-placeholder,
&::moz-placeholder,
&::placeholder,
&::placeholder {
color: $main-header-light-placeholder-color;
}
+ .input-group-append > .btn-navbar {
color: $main-header-light-placeholder-color;
}
&:focus {
&,
& + .input-group-append .btn-navbar {
+ .input-group-append .btn-navbar {
background-color: $main-header-light-form-control-focused-bg;
border: $main-header-light-form-control-focused-border !important;
border-color: $main-header-light-form-control-focused-border-color !important;
color: $main-header-light-form-control-focused-color;
}
}
}
.navbar-search-block {
.form-control-navbar {
&:focus {
&,
+ .input-group-append .btn-navbar {
color: $main-header-light-placeholder-color;
}
}
}
}
}
// Navbar Search
.navbar-search-block {
position: absolute;
padding: 0 $nav-link-padding-x;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 10;
display: none;
justify-content: center;
flex-direction: column;
background-color: initial;
&.navbar-search-open {
display: flex;
}
.input-group {
width: 100%;
}
}

View File

@@ -6,26 +6,37 @@
height: 100vh;
overflow-y: hidden;
z-index: $zindex-main-sidebar;
// Remove Firefox Focusring
a {
&:-moz-focusring {
border: 0;
outline: none;
}
}
}
.sidebar {
height: calc(100% - 4rem);
overflow-y: auto;
height: calc(100% - (#{$main-header-height-inner} + #{$main-header-bottom-border-width}));
overflow-x: none;
overflow-y: initial;
padding-bottom: $sidebar-padding-y;
padding-left: $sidebar-padding-x;
padding-right: $sidebar-padding-x;
padding-top: $sidebar-padding-y;
@include scrollbar-width-thin();
}
// Sidebar user panel
.user-panel {
position: relative;
[class*='sidebar-dark'] & {
[class*="sidebar-dark"] & {
border-bottom: 1px solid lighten($dark, 12%);
}
[class*='sidebar-light'] & {
[class*="sidebar-light"] & {
border-bottom: 1px solid $gray-300;
}
@@ -89,7 +100,10 @@
> .nav-treeview {
display: block;
}
}
.menu-open,
.menu-is-opening {
> .nav-link {
i.right {
@include rotate(-90deg);
@@ -102,6 +116,7 @@
margin-bottom: 0;
.nav-icon {
margin-left: .05rem;
font-size: 1.2rem;
margin-right: .2rem;
text-align: center;
@@ -111,7 +126,9 @@
&.fas,
&.far,
&.fab,
&.glyphicon,
&.fal,
&.fad,
&.svg-inline--fa,
&.ion {
font-size: 1.1rem;
}
@@ -141,21 +158,44 @@
.nav-treeview {
transition: padding $transition-speed $transition-fn;
padding-left: 1rem;
.text-sm & {
padding-left: .5rem;
}
}
&.nav-legacy {
.nav-treeview {
.nav-treeview {
padding-left: 2rem;
margin-left: -1rem;
.text-sm & {
padding-left: 1rem;
margin-left: -.5rem;
}
}
}
}
}
.nav-header {
font-size: .9rem;
padding: $nav-link-padding-y;
&:not(:first-of-type) {
padding: 1.7rem 1rem .5rem;
}
padding: $nav-link-padding-y ($nav-link-padding-y * 1.5);
}
.nav-link p {
display: inline-block;
display: inline;
margin: 0;
white-space: normal;
}
}
.sidebar-is-opening .nav-sidebar {
.nav-link p {
animation-name: fadeIn;
animation-duration: $transition-speed;
animation-fill-mode: both;
}
}
@@ -166,7 +206,7 @@
}
}
background-color: rgba($black, 0.1);
background-color: rgba($black, .1);
bottom: 0;
display: none;
left: 0;
@@ -176,7 +216,7 @@
z-index: $zindex-main-sidebar - 1;
}
[class*='sidebar-light-'] {
[class*="sidebar-light-"] {
// Sidebar background color
background-color: $sidebar-light-bg;
@@ -187,13 +227,13 @@
}
.status {
background: $sidebar-light-hover-bg;
background-color: $sidebar-light-hover-bg;
color: $sidebar-light-color;
&:hover,
&:focus,
&:active {
background: darken($sidebar-light-hover-bg, 3%);
background-color: darken($sidebar-light-hover-bg, 3%);
color: $sidebar-light-hover-color;
}
}
@@ -230,19 +270,19 @@
color: $sidebar-light-active-color;
@if $enable-shadows {
@extend .elevation-1;
box-shadow: map-get($elevations, 1);
}
}
// First Level Submenu
> .nav-treeview {
background: $sidebar-light-submenu-bg;
background-color: $sidebar-light-submenu-bg;
}
}
// Section Heading
.nav-header {
background: inherit;
background-color: inherit;
color: darken($sidebar-light-color, 5%);
}
@@ -262,6 +302,12 @@
> .nav-item {
> .nav-link {
color: $sidebar-light-submenu-color;
&:hover,
&:focus {
background-color: $sidebar-light-submenu-hover-bg;
color: $sidebar-light-submenu-hover-color;
}
}
> .nav-link.active {
@@ -282,7 +328,7 @@
.nav-flat {
.nav-item {
.nav-treeview {
.nav-treeview {
.nav-treeview {
border-color: $sidebar-light-submenu-active-bg;
}
@@ -299,7 +345,7 @@
}
}
[class*='sidebar-dark-'] {
[class*="sidebar-dark-"] {
// Sidebar background color
background-color: $sidebar-dark-bg;
@@ -310,13 +356,13 @@
}
.status {
background: $sidebar-dark-hover-bg;
background-color: $sidebar-dark-hover-bg;
color: $sidebar-dark-color;
&:hover,
&:focus,
&:active {
background: darken($sidebar-dark-hover-bg, 3%);
background-color: darken($sidebar-dark-hover-bg, 3%);
color: $sidebar-dark-hover-color;
}
}
@@ -344,7 +390,7 @@
// Hover and active states
&.menu-open > .nav-link,
&:hover > .nav-link,
& > .nav-link:focus {
> .nav-link:focus {
background-color: $sidebar-dark-hover-bg;
color: $sidebar-dark-hover-color;
}
@@ -353,19 +399,19 @@
color: $sidebar-dark-hover-color;
@if $enable-shadows {
@extend .elevation-1;
box-shadow: map-get($elevations, 1);
}
}
// First Level Submenu
> .nav-treeview {
background: $sidebar-dark-submenu-bg;
background-color: $sidebar-dark-submenu-bg;
}
}
// Section Heading
.nav-header {
background: inherit; //darken($sidebar-dark-bg, 3%);
background-color: inherit; //darken($sidebar-dark-bg, 3%);
color: lighten($sidebar-dark-color, 5%);
}
@@ -409,7 +455,7 @@
.nav-flat {
.nav-item {
.nav-treeview {
.nav-treeview {
.nav-treeview {
border-color: $sidebar-dark-submenu-active-bg;
}
@@ -430,35 +476,171 @@
@each $name, $color in $theme-colors {
.sidebar-dark-#{$name},
.sidebar-light-#{$name} {
@include sidebar-color($color)
@include sidebar-color($color);
}
}
@each $name, $color in $colors {
.sidebar-dark-#{$name},
.sidebar-light-#{$name} {
@include sidebar-color($color)
@include sidebar-color($color);
}
}
.sidebar-mini .main-sidebar:not(.sidebar-no-expand),
.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand),
.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand),
.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover,
.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover,
.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover,
.sidebar-mini .main-sidebar.sidebar-focused,
.sidebar-mini-md .main-sidebar.sidebar-focused,
.sidebar-mini-xs .main-sidebar.sidebar-focused {
.nav-compact.nav-sidebar.nav-child-indent:not(.nav-flat) .nav-treeview {
padding-left: 1rem;
margin-left: -.5rem;
}
}
// Nav Flat
.nav-flat {
margin: (-$sidebar-padding-x/2) (-$sidebar-padding-x) 0;
&.nav-child-indent {
.nav-treeview {
padding-left: 0 !important;
.nav-treeview {
border-left: .2rem solid;
}
}
}
margin: (-$sidebar-padding-x / 2) (-$sidebar-padding-x) 0;
.nav-item {
> .nav-link {
border-radius: 0;
margin-bottom: 0;
> .nav-icon {
margin-left: .55rem;
}
}
}
&:not(.nav-child-indent) {
.nav-treeview {
.nav-item {
> .nav-link {
> .nav-icon {
margin-left: .4rem;
}
}
}
}
}
&.nav-child-indent {
.nav-treeview {
padding-left: 0;
.nav-icon {
margin-left: .85rem;
}
.nav-treeview {
border-left: .2rem solid;
.nav-icon {
margin-left: 1.15rem;
}
.nav-treeview {
.nav-icon {
margin-left: 1.45rem;
}
.nav-treeview {
.nav-icon {
margin-left: 1.75rem;
}
.nav-treeview {
.nav-icon {
margin-left: 2.05rem;
}
}
}
}
}
}
}
.sidebar-collapse &.nav-child-indent {
.nav-treeview {
.nav-icon {
margin-left: .55rem;
}
.nav-link {
padding-left: calc(#{$nav-link-padding-x} - .2rem);
}
.nav-treeview {
.nav-icon {
margin-left: .35rem;
}
.nav-treeview {
.nav-icon {
margin-left: .15rem;
}
.nav-treeview {
.nav-icon {
margin-left: -.15rem;
}
.nav-treeview {
.nav-icon {
margin-left: -.35rem;
}
}
}
}
}
}
}
.sidebar-mini .main-sidebar:not(.sidebar-no-expand):hover &,
.sidebar-mini-md .main-sidebar:not(.sidebar-no-expand):hover &,
.sidebar-mini-xs .main-sidebar:not(.sidebar-no-expand):hover &,
.sidebar-mini .main-sidebar.sidebar-focused &,
.sidebar-mini-md .main-sidebar.sidebar-focused &,
.sidebar-mini-xs .main-sidebar.sidebar-focused & {
&.nav-compact.nav-sidebar .nav-treeview {
.nav-icon {
margin-left: .4rem;
}
}
&.nav-sidebar.nav-child-indent .nav-treeview {
.nav-icon {
margin-left: .85rem;
}
.nav-treeview {
.nav-icon {
margin-left: 1.15rem;
}
.nav-treeview {
.nav-icon {
margin-left: 1.45rem;
}
.nav-treeview {
.nav-icon {
margin-left: 1.75rem;
}
.nav-treeview {
.nav-icon {
margin-left: 2.05rem;
}
}
}
}
}
}
}
@@ -472,22 +654,10 @@
}
}
.sidebar-collapse & {
.nav-icon {
margin-left: .5rem;
}
.nav-treeview {
.nav-icon {
margin-left: .3rem;
}
}
}
&.nav-sidebar > .nav-item {
.nav-treeview,
> .nav-treeview {
background: rgba($white, .05);
background-color: rgba($white, .05);
.nav-item {
> .nav-link {
@@ -498,34 +668,247 @@
}
}
.nav-legacy {
margin: (-$sidebar-padding-x / 2) (-$sidebar-padding-x) 0;
&.nav-sidebar .nav-item {
> .nav-link {
border-radius: 0;
margin-bottom: 0;
> .nav-icon {
margin-left: .55rem;
.text-sm & {
margin-left: .75rem;
}
}
}
}
&.nav-sidebar > .nav-item {
> .nav-link {
&.active {
background-color: inherit;
border-left: 3px solid transparent;
box-shadow: none;
> .nav-icon {
margin-left: calc(.55rem - 3px);
.text-sm & {
margin-left: calc(.75rem - 3px);
}
}
}
}
}
.text-sm &.nav-sidebar.nav-flat .nav-treeview {
.nav-item {
> .nav-link {
> .nav-icon {
margin-left: calc(.75rem - 3px);
}
}
}
}
.sidebar-mini &,
.sidebar-mini-md &,
.sidebar-mini-xs & {
> .nav-item .nav-link {
.nav-icon {
@include transition(margin-left $transition-fn $transition-speed);
margin-left: .6rem;
}
}
}
.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused &.nav-child-indent,
.sidebar-mini.sidebar-collapse .main-sidebar:hover &.nav-child-indent,
.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused &.nav-child-indent,
.sidebar-mini-md.sidebar-collapse .main-sidebar:hover &.nav-child-indent,
.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused &.nav-child-indent,
.sidebar-mini-xs.sidebar-collapse .main-sidebar:hover &.nav-child-indent {
.nav-treeview {
padding-left: 1rem;
.nav-treeview {
padding-left: 2rem;
margin-left: -1rem;
}
}
}
.sidebar-mini.sidebar-collapse.text-sm .main-sidebar.sidebar-focused &.nav-child-indent,
.sidebar-mini.sidebar-collapse.text-sm .main-sidebar:hover &.nav-child-indent,
.sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar.sidebar-focused &.nav-child-indent,
.sidebar-mini-md.sidebar-collapse.text-sm .main-sidebar:hover &.nav-child-indent,
.sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar.sidebar-focused &.nav-child-indent,
.sidebar-mini-xs.sidebar-collapse.text-sm .main-sidebar:hover &.nav-child-indent {
.nav-treeview {
padding-left: .5rem;
.nav-treeview {
padding-left: 1rem;
margin-left: -.5rem;
}
}
}
.sidebar-mini.sidebar-collapse &,
.sidebar-mini-md.sidebar-collapse &,
.sidebar-mini-xs.sidebar-collapse & {
> .nav-item > .nav-link {
.nav-icon {
margin-left: .55rem;
}
&.active {
> .nav-icon{
margin-left: .36rem;
}
}
}
&.nav-child-indent {
.nav-treeview {
.nav-treeview {
padding-left: 0;
margin-left: 0;
}
}
}
}
.sidebar-mini.sidebar-collapse.text-sm &,
.sidebar-mini-md.sidebar-collapse.text-sm &,
.sidebar-mini-xs.sidebar-collapse.text-sm & {
> .nav-item > .nav-link {
.nav-icon {
margin-left: .75rem;
}
&.active {
> .nav-icon{
margin-left: calc(.75rem - 3px);
}
}
}
}
[class*="sidebar-dark"] & {
&.nav-sidebar > .nav-item {
.nav-treeview,
> .nav-treeview {
background-color: rgba($white, .05);
}
> .nav-link.active {
color: $sidebar-dark-active-color;
}
}
.nav-treeview > .nav-item > .nav-link {
&.active,
&:focus,
&:hover {
background-color: transparent;
color: $sidebar-dark-active-color;
}
}
}
[class*="sidebar-light"] & {
&.nav-sidebar > .nav-item {
.nav-treeview,
> .nav-treeview {
background-color: rgba($black, .05);
}
> .nav-link.active {
color: $sidebar-light-active-color;
}
}
.nav-treeview > .nav-item > .nav-link {
&.active,
&:focus,
&:hover {
background-color: transparent;
color: $sidebar-light-active-color;
}
}
}
}
.nav-collapse-hide-child {
.menu-open > .nav-treeview {
max-height: min-content;
animation-name: fadeIn;
animation-duration: $transition-speed;
animation-fill-mode: both;
}
.sidebar-collapse & {
.menu-open > .nav-treeview {
max-height: 0;
animation-name: fadeOut;
animation-duration: $transition-speed;
animation-fill-mode: both;
}
}
.sidebar-mini.sidebar-collapse .main-sidebar.sidebar-focused &,
.sidebar-mini.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover &,
.sidebar-mini-md.sidebar-collapse .main-sidebar.sidebar-focused &,
.sidebar-mini-md.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover &,
.sidebar-mini-xs.sidebar-collapse .main-sidebar.sidebar-focused &,
.sidebar-mini-xs.sidebar-collapse .main-sidebar:not(.sidebar-no-expand):hover & {
.menu-open > .nav-treeview {
max-height: min-content;
animation-name: fadeIn;
animation-duration: $transition-speed;
animation-fill-mode: both;
}
}
}
// Nav Compact
.nav-compact {
.nav-link,
.nav-header {
padding: ($nav-link-padding-y / 2) ($nav-link-padding-x / 2);
padding-top: ($nav-link-padding-y / 2);
padding-bottom: ($nav-link-padding-y / 2);
}
.nav-header:not(:first-of-type) {
padding: ($nav-link-padding-y * 1.5) ($nav-link-padding-x / 2) ($nav-link-padding-y / 2);
padding-top: ($nav-link-padding-y * 1.5);
padding-bottom: ($nav-link-padding-y / 2);
}
.nav-link > .right,
.nav-link > p > .right {
top: .5rem;
right: .5rem;
top: .465rem;
}
&:nth-child(2) {
right: 1.6rem;
.text-sm & {
.nav-link > .right,
.nav-link > p > .right {
top: .7rem;
}
}
}
// Sidebar Form Control
[class*='sidebar-dark'] {
[class*="sidebar-dark"] {
.form-control-sidebar,
.btn-sidebar {
background: lighten($sidebar-dark-bg, 5%);
background-color: lighten($sidebar-dark-bg, 5%);
border: 1px solid lighten($sidebar-dark-bg, 15%);
color: lighten(color-yiq(lighten($sidebar-dark-bg, 5%)), 15%);
}
@@ -536,18 +919,36 @@
}
.btn-sidebar:hover {
background: lighten($sidebar-dark-bg, 7.5%);
background-color: lighten($sidebar-dark-bg, 7.5%);
}
.btn-sidebar:focus {
background: lighten($sidebar-dark-bg, 10%);
background-color: lighten($sidebar-dark-bg, 10%);
}
.list-group-item {
background-color: lighten($sidebar-dark-bg, 7.5%);
border-color: lighten($sidebar-dark-bg, 15%);
color: $sidebar-dark-color;
&:hover {
background-color: lighten($sidebar-dark-bg, 10%);
}
&:focus {
background-color: lighten($sidebar-dark-bg, 12.5%);
}
.search-path {
color: $gray-500;
}
}
}
[class*='sidebar-light'] {
[class*="sidebar-light"] {
.form-control-sidebar,
.btn-sidebar {
background: darken($sidebar-light-bg, 5%);
background-color: darken($sidebar-light-bg, 5%);
border: 1px solid darken($sidebar-light-bg, 15%);
color: color-yiq(darken($sidebar-light-bg, 5%));
}
@@ -558,10 +959,218 @@
}
.btn-sidebar:hover {
background: darken($sidebar-light-bg, 7.5%);
background-color: darken($sidebar-light-bg, 7.5%);
}
.btn-sidebar:focus {
background: darken($sidebar-light-bg, 10%);
background-color: darken($sidebar-light-bg, 10%);
}
.list-group-item {
border-color: darken($sidebar-light-bg, 15%);
&:hover {
background-color: darken($sidebar-light-bg, 7.5%);
}
&:focus {
background-color: darken($sidebar-light-bg, 10%);
}
.search-path {
color: $gray-600;
}
}
}
// Sidebar inline input-group fix
.sidebar .form-inline .input-group {
width: 100%;
flex-wrap: nowrap;
}
.sidebar nav .form-inline {
margin-bottom: .2rem;
}
// Sidebar Collapse on Layout Boxed
.layout-boxed:not(.sidebar-mini):not(.sidebar-mini-md):not(.sidebar-mini-xs) {
&.sidebar-collapse .main-sidebar {
margin-left: 0;
}
.content-wrapper,
.main-header,
.main-footer {
z-index: 9999;
position: relative;
}
}
// Sidebar Search
.sidebar-collapse {
.form-control-sidebar,
.form-control-sidebar ~ .input-group-append,
.sidebar-search-results {
display: none;
}
}
[data-widget="sidebar-search"] {
input[type="search"] {
&::-ms-clear,
&::-ms-reveal {
display: none;
width: 0;
height: 0;
}
&::-webkit-search-cancel-button,
&::-webkit-search-decoration,
&::-webkit-search-results-button,
&::-webkit-search-results-decoration {
display: none;
}
}
}
.sidebar-search-results {
position: relative;
display: none;
width: 100%;
.sidebar-search-open & {
display: inline-block;
}
.search-title {
margin-bottom: -.1rem;
}
.list-group {
position: absolute;
width: 100%;
z-index: $zindex-main-sidebar + 1;
> .list-group-item {
padding: $input-padding-y $input-padding-x;
&:-moz-focusring {
margin-top: 0;
border-left: 1px solid transparent;
border-top: 0;
border-bottom: 1px solid transparent;
}
&:first-child {
margin-top: 0;
border-top: 0;
@include border-top-radius(0);
}
}
}
}
.sidebar-search-results .search-path {
font-size: $small-font-size;
}
.sidebar-search-open {
.btn,
.form-control {
@include border-bottom-radius(0);
}
}
// Custom Area
.sidebar-custom {
[class*="sidebar-dark"] & {
border-top: 1px solid lighten($dark, 12%);
}
[class*="sidebar-light"] & {
border-top: 1px solid $gray-300;
}
}
.layout-fixed {
&.sidebar-collapse {
.hide-on-collapse {
display: none;
}
}
&.sidebar-collapse:hover {
.hide-on-collapse {
display: block;
}
}
.main-sidebar-custom {
.sidebar {
height: calc(100% - ((#{$main-header-height-inner} + #{$sidebar-custom-height}) + #{$main-header-bottom-border-width}));
}
.sidebar-custom {
height: $sidebar-custom-height;
padding: $sidebar-custom-padding-x $sidebar-custom-padding-y;
}
}
.main-sidebar-custom-lg {
.sidebar {
height: calc(100% - ((#{$main-header-height-inner} + #{$sidebar-custom-height-lg}) + #{$main-header-bottom-border-width}));
}
.sidebar-custom {
height: $sidebar-custom-height-lg;
}
}
.main-sidebar-custom-xl {
.sidebar {
height: calc(100% - ((#{$main-header-height-inner} + #{$sidebar-custom-height-xl}) + #{$main-header-bottom-border-width}));
}
.sidebar-custom {
height: $sidebar-custom-height-xl;
}
}
.main-sidebar-custom,
.main-sidebar-custom-lg,
.main-sidebar-custom-xl {
.pos-right {
position: absolute;
right: .5rem;
}
}
}
.dark-mode {
@each $name, $color in $theme-colors-alt {
.sidebar-dark-#{$name},
.sidebar-light-#{$name} {
@include sidebar-color($color);
}
}
@each $name, $color in $colors-alt {
.sidebar-dark-#{$name},
.sidebar-light-#{$name} {
@include sidebar-color($color);
}
}
[class*="sidebar-light-"] {
.sidebar {
a {
color: $sidebar-light-color;
&:hover {
text-decoration: none;
}
}
}
}
}
//

View File

@@ -47,12 +47,12 @@
.list-header {
color: $gray-600;
font-size: 15px;
font-weight: bold;
font-weight: 700;
padding: 10px 4px;
}
.list-seperator {
background: $card-border-color;
background-color: $card-border-color;
height: 1px;
margin: 15px 0 9px;
}
@@ -99,7 +99,8 @@
&.user-block-sm {
img {
@extend .img-sm;
width: $img-size-sm;
height: $img-size-sm;
}
.username,
@@ -122,29 +123,29 @@
}
.img-sm {
height: 30px !important;
width: 30px !important;
height: $img-size-sm;
width: $img-size-sm;
+ .img-push {
margin-left: 40px;
margin-left: $img-size-sm + $img-size-push;
}
}
.img-md {
width: 60px;
height: 60px;
width: $img-size-md;
height: $img-size-md;
+ .img-push {
margin-left: 70px;
margin-left: $img-size-md + $img-size-push;
}
}
.img-lg {
width: 100px;
height: 100px;
width: $img-size-lg;
height: $img-size-lg;
+ .img-push {
margin-left: 110px;
margin-left: $img-size-lg + $img-size-push;
}
}
@@ -161,7 +162,7 @@
// Rounded and Circle Images
.img-rounded {
@include border-radius($border-radius)
@include border-radius($border-radius);
}
.img-circle {
@@ -215,7 +216,7 @@
// General attachemnt block
.attachment-block {
background: $gray-100;
background-color: $gray-100;
border: 1px solid $card-border-color;
margin-bottom: 10px;
padding: 5px;
@@ -258,7 +259,7 @@
.overlay {
@include border-radius($border-radius);
align-items: center;
background: rgba($white, 0.7);
background-color: rgba($white, .7);
display: flex;
justify-content: center;
z-index: 50;
@@ -267,19 +268,23 @@
> .fas,
> .far,
> .fab,
> .glyphicon,
> .fal,
> .fad,
> .svg-inline--fa,
> .ion {
color: $gray-800;
}
&.dark {
background: rgba($black, 0.5);
background-color: rgba($black, .5);
> .fa,
> .fas,
> .far,
> .fab,
> .glyphicon,
> .fal,
> .fad,
> .svg-inline--fa,
> .ion {
color: $gray-400;
}
@@ -287,6 +292,26 @@
}
}
.tab-pane {
// Box overlay for LOADING STATE effect on Tab Panels
> .overlay-wrapper {
position: relative;
> .overlay {
border-top-left-radius: 0;
border-top-right-radius: 0;
flex-direction: column;
margin-top: -$card-spacer-x;
margin-left: -$card-spacer-x;
height: calc(100% + 2 * #{$card-spacer-x});
width: calc(100% + 2 * #{$card-spacer-x});
&.dark {
color: $white;
}
}
}
}
// Ribbon
.ribbon-wrapper {
height: $ribbon-wrapper-size;
@@ -339,7 +364,7 @@
border-right: $ribbon-border-size solid transparent;
border-top: $ribbon-border-size solid #9e9e9e;
bottom: -$ribbon-border-size;
content: '';
content: "";
position: absolute;
}
@@ -372,13 +397,13 @@ pre {
// Blockquotes styles
blockquote {
background: $white;
background-color: $white;
border-left: .7rem solid $primary;
margin: 1.5em .7rem;
padding: 0.5em .7rem;
padding: .5em .7rem;
.box & {
background: $gray-200;
background-color: $gray-200;
}
p:last-child {
@@ -443,3 +468,74 @@ blockquote {
margin-bottom: .5rem;
padding-bottom: .5rem;
}
// Badge BTN Style
.badge-btn {
border-radius: $button-border-radius-xs;
font-size: $button-font-size-xs;
font-weight: 400;
padding: $button-padding-y-xs * 2 $button-padding-x-xs * 2;
}
.badge-btn.badge-pill {
padding: .375rem .6rem;
}
.dark-mode {
a:not(.btn):hover {
color: lighten($link-color, 10%);
}
.attachment-block {
background-color: lighten($dark, 3.75%);
.attachment-text {
color: $gray-400;
}
}
blockquote {
background-color: lighten($dark, 5%);
@each $color, $value in $theme-colors {
&.quote-#{$color} {
border-color: $value;
h1,
h2,
h3,
h4,
h5,
h6 {
color: $value;
}
}
}
@each $color, $value in $colors {
&.quote-#{$color} {
border-color: $value;
h1,
h2,
h3,
h4,
h5,
h6 {
color: $value;
}
}
}
}
.close,
.mailbox-attachment-close {
color: $gray-500;
text-shadow: 0 1px 0 $gray-700;
}
.tab-custom-content {
border-color: $gray-600;
}
.list-group-item {
background-color: $dark;
border-color: $gray-600;
}
}

View File

@@ -2,573 +2,14 @@
// General: Mixins
//
// Cards Variant
@mixin cards-variant($name, $color) {
.card-#{$name} {
&:not(.card-outline) {
> .card-header {
background-color: $color;
border-bottom: 0;
&,
a {
color: color-yiq($color);
}
a.active {
color: color-yiq($white);
}
}
}
&.card-outline {
border-top: 3px solid $color;
.nav-item {
border-bottom: 0;
&:first-child .nav-link {
margin-left: -1px;
border-left: 0;
}
}
}
&.card-outline-tabs {
border-top: 0;
> .card-header {
.nav-item {
&:first-child .nav-link {
margin-left: -1px;
border-left: 0;
}
}
a {
border-top: 3px solid transparent;
&:hover {
border-top: $nav-tabs-border-width solid $nav-tabs-border-color;
margin-top: 2px;
}
&.active {
&:hover {
margin-top: 0;
}
border-top: 3px solid $color;
}
}
}
}
}
.bg-#{$name},
.bg-gradient-#{$name},
.card-#{$name}:not(.card-outline) {
.btn-tool {
color: rgba(color-yiq($color), 0.8);
&:hover {
color: color-yiq($color);
}
}
}
.card.bg-#{$name},
.card.bg-gradient-#{$name} {
.bootstrap-datetimepicker-widget {
.table td,
.table th {
border: none;
}
table thead tr:first-child th:hover,
table td.day:hover,
table td.hour:hover,
table td.minute:hover,
table td.second:hover {
background: darken($color, 8%);
color: color-yiq($color);
}
table td.today::before {
border-bottom-color: color-yiq($color);
}
table td.active,
table td.active:hover {
background: lighten($color, 10%);
color: color-yiq($color);
}
}
}
}
// Sidebar Color
@mixin sidebar-color($color) {
.nav-sidebar > .nav-item {
& > .nav-link.active {
background-color: $color;
color: color-yiq($color);
}
}
}
// Sidebar Mini Breakpoints
@mixin sidebar-mini-breakpoint() {
// A fix for text overflow while transitioning from sidebar mini to full sidebar
.nav-sidebar,
.nav-sidebar > .nav-header,
.nav-sidebar .nav-link {
white-space: nowrap;
overflow: hidden;
}
// When the sidebar is collapsed...
&.sidebar-collapse {
.d-hidden-mini {
display: none;
}
// Apply the new margins to the main content and footer
.content-wrapper,
.main-footer,
.main-header {
margin-left: $sidebar-mini-width !important;
}
// Make the sidebar headers
.nav-sidebar .nav-header {
display: none;
}
.nav-sidebar .nav-link p {
width: 0;
}
.sidebar .user-panel > .info,
.nav-sidebar .nav-link p,
.brand-text {
margin-left: -10px;
opacity: 0;
visibility: hidden;
}
.logo-xl {
opacity: 0;
visibility: hidden;
}
.logo-xs {
display: inline-block;
opacity: 1;
visibility: visible;
}
// Modify the sidebar to shrink instead of disappearing
.main-sidebar {
overflow-x: hidden;
&,
&::before {
// Don't go away! Just shrink
margin-left: 0;
width: $sidebar-mini-width;
}
.user-panel {
.image {
float: none;
}
}
&:hover,
&.sidebar-focused {
width: $sidebar-width;
.nav-sidebar.nav-child-indent .nav-treeview {
padding-left: 1rem;
}
.brand-link {
width: $sidebar-width;
}
.user-panel {
text-align: left;
.image {
float: left;
}
}
.user-panel > .info,
.nav-sidebar .nav-link p,
.brand-text,
.logo-xl {
display: inline-block;
margin-left: 0;
opacity: 1;
visibility: visible;
}
.nav-flat {
.nav-icon {
margin-left: 0;
}
.nav-treeview {
.nav-icon {
margin-left: -.2rem;
}
}
}
.logo-xs {
opacity: 0;
visibility: hidden;
}
.brand-image {
margin-right: .5rem;
}
// Make the sidebar links, menus, labels, badges
// and angle icons disappear
.sidebar-form,
.user-panel > .info {
display: block !important;
-webkit-transform: translateZ(0);
}
.nav-sidebar > .nav-item > .nav-link > span {
display: inline-block !important;
}
}
}
// Make an element visible only when sidebar mini is active
.visible-sidebar-mini {
display: block !important;
}
&.layout-fixed {
.main-sidebar:hover {
.brand-link {
width: $sidebar-width;
}
}
.brand-link {
width: $sidebar-mini-width;
}
}
}
}
// Navbar Variant
@mixin navbar-variant($color, $font-color: rgba(255, 255, 255, 0.8), $hover-color: #f6f6f6, $hover-bg: rgba(0, 0, 0, 0.1)) {
background-color: $color;
.nav > li > a {
color: $font-color;
}
.nav > li > a:hover,
.nav > li > a:active,
.nav > li > a:focus,
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus,
.nav > .active > a {
background: $hover-bg;
color: $hover-color;
}
// Add color to the sidebar toggle button
.sidebar-toggle {
color: $font-color;
&:hover,
&:focus {
background: $hover-bg;
color: $hover-color;
}
}
}
// Logo color Variant
@mixin logo-variant($bg-color, $color: #fff, $border-bottom-color: transparent, $border-bottom-width: 0) {
background-color: $bg-color;
border-bottom: $border-bottom-width solid $border-bottom-color;
color: $color;
&:hover,
&:focus {
background-color: darken($bg-color, 1%);
}
}
// Direct Chat Variant
@mixin direct-chat-variant($bg-color, $color: #fff) {
.right > .direct-chat-text {
background: $bg-color;
border-color: $bg-color;
color: color-yiq($bg-color);
&::after,
&::before {
border-left-color: $bg-color;
}
}
@each $name, $color in $theme-colors {
&.bg-#{$name},
&.bg-gradient-#{$name} {
.direct-chat-timestamp {
@if (color-yiq($color) == $yiq-text-dark) {
color: lighten(color-yiq($color), 10%);
} @else {
color: darken(color-yiq($color), 20%);
}
}
}
}
@each $name, $color in $colors {
&.bg-#{$name},
&.bg-gradient-#{$name} {
.direct-chat-timestamp {
@if (color-yiq($color) == $yiq-text-dark) {
color: lighten(color-yiq($color), 10%);
} @else {
color: darken(color-yiq($color), 20%);
}
}
}
}
}
// Background Variant
@mixin background-variant($name, $color) {
.bg-#{$name} {
background-color: #{$color} !important;
&,
> a {
color: color-yiq($color) !important;
}
&.btn {
&:hover {
border-color: darken($color, 10%);
color: darken(color-yiq($color), 7.5%);
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
&:active,
&.active {
background-color: darken($color, 10%) !important;
border-color: darken($color, 12.5%);
color: color-yiq(darken($color, 10%));
}
}
}
}
// Background Gradient Variant
@mixin background-gradient-variant($name, $color) {
.bg-gradient-#{$name} {
@include bg-gradient-variant('&', $color);
color: color-yiq($color);
&.btn {
&.disabled,
&:disabled,
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show > &.dropdown-toggle {
background-image: none !important;
}
&:hover {
@include bg-gradient-variant('&', darken($color, 7.5%));
border-color: darken($color, 10%);
color: darken(color-yiq($color), 7.5%);
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
&:active,
&.active {
@include bg-gradient-variant('&', darken($color, 10%));
border-color: darken($color, 12.5%);
color: color-yiq(darken($color, 10%));
}
}
}
}
// Custom Switch Variant
@mixin custom-switch-variant($name, $color) {
&.custom-switch-off-#{$name} {
& .custom-control-input ~ .custom-control-label::before {
background: #{$color};
border-color: darken($color, 20%);
}
& .custom-control-input:focus ~ .custom-control-label::before {
box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);
}
& .custom-control-input ~ .custom-control-label::after {
background: darken($color, 25%);
}
}
&.custom-switch-on-#{$name} {
& .custom-control-input:checked ~ .custom-control-label::before {
background: #{$color};
border-color: darken($color, 20%);
}
& .custom-control-input:checked:focus ~ .custom-control-label::before {
box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);
}
& .custom-control-input:checked ~ .custom-control-label::after {
background: lighten($color, 30%);
}
}
}
// Custom Range Variant
@mixin custom-range-variant($name, $color) {
&.custom-range-#{$name} {
&:focus {
outline: none;
&::-webkit-slider-thumb {
box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);
}
&::-moz-range-thumb {
box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);
}
&::-ms-thumb {
box-shadow: 0 0 0 1px $body-bg, 0 0 0 2px rgba($color, .25);
}
}
&::-webkit-slider-thumb {
background-color: $color;
&:active {
background-color: lighten($color, 35%);
}
}
&::-moz-range-thumb {
background-color: $color;
&:active {
background-color: lighten($color, 35%);
}
}
&::-ms-thumb {
background-color: $color;
&:active {
background-color: lighten($color, 35%);
}
}
}
}
// Toast Variant
@mixin toast-variant($name, $color) {
&.bg-#{$name} {
background: rgba($color, .9) !important;
@if (color-yiq($color) == $yiq-text-light) {
.close {
color: color-yiq($color);
text-shadow: 0 1px 0 #000;
}
}
.toast-header {
background: rgba($color, .85);
color: color-yiq($color);
}
}
}
// Accent Variant
@mixin accent-variant($name, $color) {
&.accent-#{$name} {
$link-color: $color;
$link-hover-color: darken($color, 15%);
$pagination-active-bg: $color;
$pagination-active-border-color: $color;
a {
color: $link-color;
@include hover {
color: $link-hover-color;
}
}
.page-item {
&.active .page-link {
background-color: $pagination-active-bg;
border-color: $pagination-active-border-color;
}
&.disabled .page-link {
background-color: $pagination-disabled-bg;
border-color: $pagination-disabled-border-color;
}
}
}
}
// ETC
@mixin translate($x, $y) {
transform: translate($x, $y);
}
// Different radius each side
@mixin border-radius-sides($top-left, $top-right, $bottom-left, $bottom-right) {
border-radius: $top-left $top-right $bottom-left $bottom-right;
}
@mixin calc($property, $expression) {
#{$property}: calc(#{$expression});
}
@mixin rotate($value) {
transform: rotate($value);
}
@mixin animation($animation) {
animation: $animation;
}
// Gradient background
@mixin gradient($color: #F5F5F5, $start: #EEE, $stop: #FFF) {
background: $color;
background: -webkit-gradient(linear, left bottom, left top, color-stop(0, $start), color-stop(1, $stop));
background: -ms-linear-gradient(bottom, $start, $stop);
background: -moz-linear-gradient(center bottom, $start 0%, $stop 100%);
background: -o-linear-gradient($stop, $start);
}
@import "mixins/animations";
@import "mixins/cards";
@import "mixins/sidebar";
@import "mixins/navbar";
@import "mixins/accent";
@import "mixins/custom-forms";
@import "mixins/backgrounds";
@import "mixins/direct-chat";
@import "mixins/toasts";
@import "mixins/touch-support";
@import "mixins/miscellaneous";

View File

@@ -5,15 +5,19 @@
// Overlay
.modal-dialog {
.overlay {
background-color: $black;
display: block;
height: 100%;
left: 0;
opacity: .7;
display: flex;
position: absolute;
left: 0;
top: 0;
width: 100%;
bottom: 0;
right: 0;
margin: -$modal-content-border-width;
z-index: ($zindex-modal + 2);
justify-content: center;
align-items: center;
background-color: rgba($black, .7);
color: darken($gray-600, 2.5%);
@include border-radius($modal-content-border-radius);
}
}
@@ -34,7 +38,39 @@
&.bg-success, {
.close {
color: $white;
text-shadow: 0 1px 0 #000;
text-shadow: 0 1px 0 $black;
}
}
}
.dark-mode {
.modal-header,
.modal-footer {
border-color: $gray-600;
}
.modal-content {
background-color: $dark;
&.bg-warning {
.modal-header,
.modal-footer {
border-color: $gray-600;
}
.close {
color: $dark !important;
text-shadow: 0 1px 0 $gray-700 !important;
}
}
&.bg-primary,
&.bg-secondary,
&.bg-info,
&.bg-danger,
&.bg-success {
.modal-header,
.modal-footer {
border-color: $white;
}
}
}
}

View File

@@ -7,7 +7,7 @@
color: $gray-600;
&:not(.active):hover {
color: theme-color('primary');
color: theme-color("primary");
}
}
@@ -30,7 +30,7 @@
border-top-right-radius: 0;
margin-right: -$nav-tabs-border-width;
@include hover-focus {
@include hover-focus () {
border-color: $gray-200 transparent $gray-200 $gray-200;
}
}
@@ -51,7 +51,7 @@
border-top-right-radius: $nav-tabs-border-radius;
margin-left: -$nav-tabs-border-width;
@include hover-focus {
@include hover-focus () {
border-color: $gray-200 $gray-200 $gray-200 transparent;
}
}
@@ -63,25 +63,106 @@
}
}
.navbar-no-expand {
flex-direction: row;
.nav-link {
padding-left: $navbar-nav-link-padding-x;
padding-right: $navbar-nav-link-padding-x;
}
.dropdown-menu {
position: absolute;
}
}
// Color variants
@each $color, $value in $theme-colors {
@if $color == dark or $color == light {
.navbar-#{$color} {
background-color: $value;
@if $color == dark {
border-color: lighten($dark, 10%);
}
}
}
}
@each $color, $value in $theme-colors {
@if $color != dark and $color != light {
.navbar-#{$color} {
background-color: $value;
}
@include navbar-variant($color, $value);
}
}
@each $color, $value in $colors {
.navbar-#{$color} {
background-color: $value;
@include navbar-variant($color, $value);
}
.dark-mode {
.nav-pills .nav-link {
color: $gray-400;
}
.nav-tabs {
border-color: lighten($dark, 15%);
.nav-link:focus,
.nav-link:hover {
border-color: lighten($dark, 15%);
}
.nav-item.show .nav-link,
.nav-link.active {
background-color: $dark;
border-color: lighten($dark, 15%) lighten($dark, 15%) transparent lighten($dark, 15%);
color: $white;
}
&.flex-column {
.nav-item.show .nav-link,
.nav-link {
&.active,
&:focus,
&:hover {
border-color: lighten($dark, 15%) transparent lighten($dark, 15%) lighten($dark, 15%);
}
&:focus,
&:hover {
background-color: lighten($dark, 5%);
}
}
&.nav-tabs-right {
border-color: lighten($dark, 15%);
.nav-link {
&.active,
&:focus,
&:hover {
border-color: lighten($dark, 15%) lighten($dark, 15%) lighten($dark, 15%) transparent;
}
}
}
}
}
// Color variants
@each $color, $value in $theme-colors-alt {
@if $color == dark or $color == light {
.navbar-#{$color} {
background-color: $value;
@if $color == dark {
border-color: lighten($dark, 10%);
}
}
}
}
@each $color, $value in $theme-colors-alt {
@if $color != dark and $color != light {
@include navbar-variant($color, $value);
}
}
@each $color, $value in $colors-alt {
@include navbar-variant($color, $value);
}
}

View File

@@ -0,0 +1,82 @@
//
// Component: Pagination
//
.pagination-month {
.page-item {
justify-self: stretch;
.page-link {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
box-shadow: none;
}
&:first-child,
&:last-child {
.page-link {
height: 100%;
font-size: $font-size-lg;
}
}
.page-month {
margin-bottom: 0;
font-size: $font-size-lg;
font-weight: $font-weight-bold;
}
.page-year {
margin-bottom: 0;
}
}
&.pagination-lg {
.page-month {
font-size: ($font-size-lg * 1.25);
}
}
&.pagination-sm {
.page-month {
font-size: ($font-size-base);
}
}
}
.dark-mode {
.page-item {
&.disabled a,
&.disabled .page-link {
background-color: lighten($dark, 2.5%) !important;
border-color: $gray-600 !important;
color: $gray-600;
}
.page-link {
color: $primary-alt;
}
&.active {
.page-link {
background-color: $primary-alt;
color: $white;
&:hover,
&:focus {
color: $gray-400 !important;
}
}
}
&:not(.active) {
.page-link {
background-color: $dark;
border-color: $gray-600;
&:hover,
&:focus {
color: lighten($primary-alt, 5%);
background-color: lighten($dark, 5%);
}
}
}
}
}

View File

@@ -0,0 +1,24 @@
//
// Core: Preloader
//
.preloader {
display: flex;
background-color: $main-bg;
height: 100vh;
width: 100%;
transition: height 200ms linear;
position: fixed;
left: 0;
top: 0;
z-index: $zindex-preloader;
}
.dark-mode {
.preloader {
background-color: $dark-main-bg;
color: $white;
}
}
//

View File

@@ -8,14 +8,15 @@
padding: 0;
> .item {
@include clearfix;
@include clearfix ();
@if $enable-rounded {
@include border-radius($border-radius);
}
background: $white;
background-color: $white;
padding: 10px 0;
}
.product-img {
@@ -52,3 +53,16 @@
border-bottom-width: 0;
}
}
.dark-mode {
.products-list > .item {
background-color: $dark;
color: $white;
border-bottom-color: $gray-600;
}
.product-description {
color: $gray-400;
}
}

View File

@@ -40,7 +40,7 @@
}
.progress-group {
@extend .mb-2;
margin-bottom: map-get($spacers, 2);
}
// size variation
@@ -64,3 +64,9 @@
}
}
}
.dark-mode {
.progress {
background: lighten($dark, 7.5%);
}
}

14
build/scss/_root.scss Normal file
View File

@@ -0,0 +1,14 @@
.dark-mode {
:root {
// Custom variable values only support SassScript inside `#{}`.
@each $color, $value in $colors-alt {
--#{$color}: #{$value};
}
@each $color, $value in $theme-colors-alt {
--#{$color}: #{$value};
}
}
}
//

View File

@@ -33,7 +33,7 @@
.brand-link {
&.logo-switch {
&::before {
content: '\00a0';
content: "\00a0";
}
}
}
@@ -41,65 +41,417 @@
// Add sidebar-mini class to the body tag to activate this feature
.sidebar-mini {
@include media-breakpoint-up(lg) {
@include sidebar-mini-breakpoint;
@include sidebar-mini-breakpoint ();
}
}
@include media-breakpoint-down(md) {
.sidebar-mini.sidebar-collapse .main-sidebar {
box-shadow: none !important;
}
}
.sidebar-mini-md {
@include media-breakpoint-up(md) {
@include sidebar-mini-breakpoint;
@include sidebar-mini-breakpoint ();
}
}
@include media-breakpoint-down(sm) {
.sidebar-mini-md.sidebar-collapse .main-sidebar {
box-shadow: none !important;
}
}
.sidebar-mini-xs {
@include media-breakpoint-up(xs) {
@include sidebar-mini-breakpoint ();
}
}
.sidebar-mini,
.sidebar-mini-md,
.sidebar-mini-xs {
.main-sidebar {
.nav-child-indent .nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 1rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 2rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 3rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 4rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 5rem);
}
}
}
}
}
}
.nav-legacy {
.nav-link {
width: $sidebar-width;
}
&.nav-child-indent {
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 1rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 2rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 3rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 4rem);
}
}
}
}
}
}
}
}
.nav-flat {
.nav-link {
width: $sidebar-width;
}
&.nav-child-indent {
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width});
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem * 2);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem * 3);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem * 4);
}
}
}
}
}
}
}
}
.nav-child-indent.nav-compact .nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - .5rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 1rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 1.5rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 2rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2 - 2.5rem);
}
}
}
}
}
}
.nav-child-indent.nav-legacy.nav-compact {
.nav-link {
width: $sidebar-width;
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 2);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 3);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 4);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 5);
}
}
}
}
}
}
}
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2);
@include transition(width $transition-fn $transition-speed);
}
}
}
.sidebar-collapse {
.sidebar-no-expand.main-sidebar.sidebar-focused,
.sidebar-no-expand.main-sidebar:hover {
width: $sidebar-mini-width;
&.sidebar-mini,
&.sidebar-mini-md,
&.sidebar-mini-xs {
.main-sidebar {
.nav-sidebar {
.nav-link {
width: $sidebar-mini-width - $sidebar-padding-x * 2;
}
.brand-link {
width: $sidebar-mini-width !important;
}
&.nav-flat,
&.nav-legacy {
.nav-link {
width: $sidebar-mini-width;
}
}
&.nav-child-indent.nav-compact {
.nav-treeview {
padding-left: 0 !important;
margin-left: 0 !important;
}
.user-panel .image {
float: none !important;
}
.logo-xs {
opacity: 1;
visibility: visible;
}
.logo-xl {
opacity: 0;
visibility: hidden;
}
.nav-sidebar.nav-child-indent .nav-treeview {
padding-left: 0;
}
.brand-text,
.user-panel > .info,
.nav-sidebar .nav-link p {
margin-left: -10px;
opacity: 0;
visibility: hidden;
width: 0;
}
.nav-sidebar > .nav-item .nav-icon {
margin-right: 0;
}
.nav-flat {
.nav-icon {
margin-left: .5rem;
.nav-link {
width: calc(#{$sidebar-mini-width} - #{$sidebar-padding-x} * 2);
}
}
}
.nav-treeview {
.nav-icon {
margin-left: .3rem;
&.sidebar-focused,
&:hover {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2);
}
.nav-header {
display: inline-block;
}
.nav-child-indent {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2);
}
}
.nav-legacy {
.nav-link {
width: $sidebar-width;
}
&.nav-child-indent {
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 1rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 2rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 3rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - 1rem - 4rem);
}
}
}
}
}
}
}
}
.nav-flat {
.nav-link {
width: $sidebar-width;
}
&.nav-child-indent {
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width});
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem * 2);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem * 3);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .2rem * 4);
}
}
}
}
}
}
}
}
.nav-child-indent.nav-compact {
.nav-link {
width: calc(#{$sidebar-width} - #{$sidebar-padding-x} * 2);
}
}
.nav-child-indent.nav-legacy.nav-compact {
.nav-link {
width: $sidebar-width;
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 2);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 3);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 4);
}
.nav-treeview {
.nav-link {
width: calc(#{$sidebar-width} - .5rem * 5);
}
}
}
}
}
}
}
.sidebar {
@include scrollbar-width-thin();
}
}
.sidebar {
@include scrollbar-width-none();
}
}
.sidebar-no-expand.main-sidebar.sidebar-focused,
.sidebar-no-expand.main-sidebar:hover {
width: $sidebar-mini-width;
.nav-header {
display: none;
}
.brand-link {
width: $sidebar-mini-width !important;
}
.user-panel .image {
float: none !important;
}
.logo-xs {
animation-name: fadeIn;
animation-duration: $transition-speed;
animation-fill-mode: both;
visibility: visible;
}
.logo-xl {
animation-name: fadeOut;
animation-duration: $transition-speed;
animation-fill-mode: both;
visibility: hidden;
}
.nav-sidebar.nav-child-indent .nav-treeview {
padding-left: 0;
}
.brand-text,
.user-panel > .info,
.nav-sidebar .nav-link p {
margin-left: -10px;
animation-name: fadeOut;
animation-duration: $transition-speed;
animation-fill-mode: both;
visibility: hidden;
width: 0;
}
.nav-sidebar > .nav-item .nav-icon {
margin-right: 0;
}
}
}
@@ -135,5 +487,5 @@
.main-sidebar .logo-xs,
.main-sidebar .logo-xl,
.sidebar .user-panel .info {
@include transition(margin-left $transition-speed linear, opacity $transition-speed ease, visibility $transition-speed ease)
@include transition(margin-left $transition-speed linear, opacity $transition-speed ease, visibility $transition-speed ease);
}

View File

@@ -5,7 +5,6 @@
.small-box {
@include border-radius($border-radius);
@include box-shadow($card-shadow);
@extend .mb-3;
display: block;
margin-bottom: 20px;
@@ -17,8 +16,8 @@
}
> .small-box-footer {
background: rgba($black, 0.1);
color: rgba($white, 0.8);
background-color: rgba($black, .1);
color: rgba($white, .8);
display: block;
padding: 3px 0;
position: relative;
@@ -27,15 +26,15 @@
z-index: 10;
&:hover {
background: rgba($black, 0.15);
background-color: rgba($black, .15);
color: $white;
}
}
h3 {
@include font-size(2.2rem);
font-weight: bold;
margin: 0 0 10px 0;
font-weight: 700;
margin: 0 0 10px;
padding: 0;
white-space: nowrap;
}
@@ -82,7 +81,7 @@
> small {
color: $gray-100;
display: block;
font-size: 0.9rem;
font-size: .9rem;
margin-top: 5px;
}
}
@@ -94,7 +93,7 @@
// the icon
.icon {
color: rgba($black, 0.15);
color: rgba($black, .15);
z-index: 0;
> i {
@@ -102,19 +101,27 @@
position: absolute;
right: 15px;
top: 15px;
transition: all $transition-speed linear;
transition: transform $transition-speed linear;
&.fa,
&.fas,
&.far,
&.fab,
&.glyphicon,
&.fal,
&.fad,
&.ion {
font-size: 70px;
top: 20px;
}
}
svg {
font-size: 70px;
position: absolute;
right: 15px;
top: 15px;
transition: transform $transition-speed linear;
}
}
// Small box hover state
@@ -122,16 +129,21 @@
text-decoration: none;
// Animate icons on small box hover
.icon > i {
font-size: 95px;
&.fa,
&.fas,
&.far,
&.fab,
&.glyphicon,
&.ion {
font-size: 75px;
.icon {
> i {
&,
&.fa,
&.fas,
&.far,
&.fab,
&.fal,
&.fad,
&.ion {
transform: scale(1.1);
}
}
> svg {
transform: scale(1.1);
}
}
}

View File

@@ -28,7 +28,7 @@
font-weight: 300;
margin-bottom: 0;
margin-top: 0;
text-shadow: 0 1px 1px rgba($black, 0.2);
text-shadow: 0 1px 1px rgba($black, .2);
}
//User single line description

View File

@@ -12,8 +12,7 @@
thead tr:nth-child(1) th {
background-color: $white;
border-bottom: 0;
box-shadow: inset 0 1px 0 $table-border-color,
inset 0 -1px 0 $table-border-color;
box-shadow: inset 0 1px 0 $table-border-color, inset 0 -1px 0 $table-border-color;
position: sticky;
top: 0;
z-index: 10;
@@ -23,8 +22,7 @@
thead tr {
&:nth-child(1) th {
background-color: $table-dark-bg;
box-shadow: inset 0 1px 0 $table-dark-border-color,
inset 0 -1px 0 $table-dark-border-color;
box-shadow: inset 0 1px 0 $table-dark-border-color, inset 0 -1px 0 $table-dark-border-color;
}
}
}
@@ -60,14 +58,97 @@
.card-body.p-0 & {
thead > tr > th,
thead > tr > td,
tfoot > tr > th,
tfoot > tr > td,
tbody > tr > th,
tbody > tr > td {
&:first-of-type {
@extend .pl-4;
padding-left: map-get($spacers, 4);
}
&:last-of-type {
@extend .pr-4;
padding-right: map-get($spacers, 4);
}
}
}
}
// Expandable Table
.table-hover tbody tr.expandable-body:hover {
background-color: inherit !important;
}
[data-widget="expandable-table"] {
cursor: pointer;
i.expandable-table-caret {
transition: transform $transition-speed linear;
}
&[aria-expanded="true"] {
td i.expandable-table-caret {
// stylelint-disable selector-max-attribute
&[class*="right"] {
transform: rotate(90deg);
}
&[class*="left"] {
transform: rotate(-90deg);
}
// stylelint-enable selector-max-attribute
}
}
}
.expandable-body {
> td {
padding: 0 !important;
width: 100%;
> div,
> p {
padding: $table-cell-padding;
}
}
.table {
width: calc(100% - #{$table-cell-padding});
margin: 0 0 0 $table-cell-padding;
tr:first-child {
td,
th {
border-top: none;
}
}
}
}
.dark-mode {
.table-bordered {
&,
td,
th {
border-color: $gray-600;
}
}
.table-hover {
tbody tr:hover {
color: $gray-300;
background-color: lighten($dark, 2.5%);
border-color: $gray-600;
}
}
.table {
thead th {
border-bottom-color: $gray-600;
}
th,
td {
border-top-color: $gray-600;
}
&.table-head-fixed {
thead tr:nth-child(1) th {
background-color: lighten($dark, 5%);
}
}
}

View File

@@ -4,7 +4,9 @@
// text modification
.text-bold {
&, &.table td, &.table th {
&,
&.table td,
&.table th {
font-weight: 700;
}
}
@@ -32,6 +34,18 @@
// text color variations
@each $name, $color in $colors {
.text-#{$name} {
color: #{$color};
color: #{$color} !important;
}
}
.dark-mode {
.text-muted {
color: $gray-500 !important;
}
@each $name, $color in $colors-alt {
.text-#{$name} {
color: #{$color} !important;
}
}
}

View File

@@ -9,9 +9,9 @@
// The line
&::before {
@include border-radius($border-radius);
background: $gray-300;
background-color: $gray-300;
bottom: 0;
content: '';
content: "";
left: 31px;
margin: 0;
position: absolute;
@@ -33,7 +33,7 @@
> .timeline-item {
@include box-shadow($card-shadow);
@include border-radius($border-radius);
background: $white;
background-color: $white;
color: $gray-700;
margin-left: 60px;
margin-right: 15px;
@@ -70,6 +70,11 @@
> img {
margin: 10px;
}
> dl,
ol,
ul {
margin: 0;
}
}
> .timeline-footer {
@@ -83,11 +88,13 @@
> .fas,
> .far,
> .fab,
> .glyphicon,
> .fal,
> .fad,
> .svg-inline--fa,
> .ion {
background: $gray-500;
background-color: $gray-500;
border-radius: 50%;
font-size: 15px;
font-size: 16px;
height: 30px;
left: 18px;
line-height: 30px;
@@ -96,6 +103,9 @@
top: 0;
width: 30px;
}
> .svg-inline--fa {
padding: 7px;
}
}
// Time label
> .time-label {
@@ -113,7 +123,7 @@
> div {
> .timeline-item {
@include box-shadow(none);
background: $gray-100;
background-color: $gray-100;
border: 1px solid $gray-300;
> .timeline-header {
@@ -122,3 +132,24 @@
}
}
}
.dark-mode {
.timeline {
&::before {
background-color: $gray-600;
}
> div > .timeline-item {
background-color: $dark;
color: $white;
border-color: $gray-600;
> .timeline-header {
color: $gray-400;
border-color: $gray-600;
}
> .time {
color: $gray-400;
}
}
}
}

View File

@@ -46,6 +46,27 @@
}
}
.dark-mode {
.toast {
background-color: rgba($dark, .85);
color: $white;
.toast-header {
background-color: rgba($dark, .7);
color: $gray-100;
}
@each $name, $color in $theme-colors-alt {
@include toast-variant($name, $color);
}
@each $name, $color in $colors-alt {
@include toast-variant($name, $color);
}
}
}
.toast {
@each $name, $color in $theme-colors {
@include toast-variant($name, $color);

View File

@@ -3,7 +3,7 @@
//
.users-list {
@extend .list-unstyled;
@include list-unstyled ();
> li {
float: left;
@@ -43,3 +43,12 @@
color: darken($gray-500, 20%);
font-size: 12px;
}
.dark-mode {
.users-list-name {
color: $gray-400;
}
.users-list-date {
color: $gray-500;
}
}

View File

@@ -0,0 +1,107 @@
//
// Core: Variables for Dark Mode
//
// COLORS
// --------------------------------------------------------
// stylelint-disable
// Gray color will be default in dark mode
$white-alt: $white !default;
$gray-100-alt: $gray-100 !default;
$gray-200-alt: $gray-200 !default;
$gray-300-alt: $gray-300 !default;
$gray-400-alt: $gray-400 !default;
$gray-500-alt: $gray-500 !default;
$gray-600-alt: $gray-600 !default;
$gray-700-alt: $gray-700 !default;
$gray-800-alt: $gray-800 !default;
$gray-900-alt: $gray-900 !default;
$black-alt: $black !default;
$grays-alt: () !default;
$grays-alt: map-merge((
"100": $gray-100-alt,
"200": $gray-200-alt,
"300": $gray-300-alt,
"400": $gray-400-alt,
"500": $gray-500-alt,
"600": $gray-600-alt,
"700": $gray-700-alt,
"800": $gray-800-alt,
"900": $gray-900-alt
), $grays-alt);
// Below colors from bootwatch darkly
$blue-alt: #3f6791 !default;
$indigo-alt: #6610f2 !default;
$purple-alt: #6f42c1 !default;
$pink-alt: #e83e8c !default;
$red-alt: #e74c3c !default;
$orange-alt: #fd7e14 !default;
$yellow-alt: #f39c12 !default;
$green-alt: #00bc8c !default;
$teal-alt: #20c997 !default;
$cyan-alt: #3498db !default;
// by darken function
$lightblue-alt: lighten(#3c8dbc, 20%) !default;
$navy-alt: lighten(#001f3f, 5%) !default;
$olive-alt: lighten(#3d9970, 20%) !default;
$lime-alt: lighten(#01ff70, 20%) !default;
$fuchsia-alt: lighten(#f012be, 20%) !default;
$maroon-alt: lighten(#d81b60, 20%) !default;
$gray-x-light-alt: lighten(#d2d6de, 20%) !default;
$colors-alt: () !default;
$colors-alt: map-merge((
"blue": $blue-alt,
"indigo": $indigo-alt,
"purple": $purple-alt,
"pink": $pink-alt,
"red": $red-alt,
"orange": $orange-alt,
"yellow": $yellow-alt,
"green": $green-alt,
"teal": $teal-alt,
"cyan": $cyan-alt,
"white": $white-alt,
"gray": $gray-600-alt,
"gray-dark": $gray-800-alt
), $colors-alt);
$primary-alt: $blue-alt !default;
$secondary-alt: $gray-600-alt !default;
$success-alt: $green-alt !default;
$info-alt: $cyan-alt !default;
$warning-alt: $yellow-alt !default;
$danger-alt: $red-alt !default;
$light-alt: $gray-100-alt !default;
$dark-alt: $gray-800-alt !default;
$theme-colors-alt: () !default;
$theme-colors-alt: map-merge((
"primary": $primary-alt,
"secondary": $secondary-alt,
"success": $success-alt,
"info": $info-alt,
"warning": $warning-alt,
"danger": $danger-alt,
"light": $light-alt,
"dark": $dark-alt
), $theme-colors-alt);
$colors-alt: map-merge(
(
"lightblue": $lightblue-alt,
"navy": $navy-alt,
"olive": $olive-alt,
"lime": $lime-alt,
"fuchsia": $fuchsia-alt,
"maroon": $maroon-alt,
),
$colors-alt
);
// stylelint-enable
//

View File

@@ -5,6 +5,7 @@
// COLORS
// --------------------------------------------------------
$blue: #0073b7 !default;
$lightblue: #3c8dbc !default;
$navy: #001f3f !default;
$teal: #39cccc !default;
$olive: #3d9970 !default;
@@ -16,13 +17,17 @@ $maroon: #d81b60 !default;
$black: #111 !default;
$gray-x-light: #d2d6de !default;
$colors: map-merge((
'navy': $navy,
'olive': $olive,
'lime': $lime,
'fuchsia': $fuchsia,
'maroon': $maroon,
), $colors);
$colors: map-merge(
(
"lightblue": $lightblue,
"navy": $navy,
"olive": $olive,
"lime": $lime,
"fuchsia": $fuchsia,
"maroon": $maroon,
),
$colors
);
// LAYOUT
// --------------------------------------------------------
@@ -31,31 +36,39 @@ $font-size-root: 1rem !default;
// Sidebar
$sidebar-width: 250px !default;
$sidebar-padding-x: 0.5rem !default;
$sidebar-padding-x: .5rem !default;
$sidebar-padding-y: 0 !default;
$sidebar-custom-height: 4rem !default;
$sidebar-custom-height-lg: 6rem !default;
$sidebar-custom-height-xl: 8rem !default;
$sidebar-custom-padding-x: .85rem !default;
$sidebar-custom-padding-y: .5rem !default;
// Boxed layout maximum width
$boxed-layout-max-width: 1250px !default;
// When to show the smaller logo
$screen-header-collapse: map-get($grid-breakpoints, md) !default;
// Body background (Affects main content background only)
$main-bg: #f4f6f9 !default;
$dark-main-bg: lighten($dark, 7.5%) !important;
// Content padding
$content-padding-y: 0 !default;
$content-padding-x: $navbar-padding-x !default;
// IMAGE SIZES
// --------------------------------------------------------
$img-size-sm: 1.875rem !default;
$img-size-md: 3.75rem !default;
$img-size-lg: 6.25rem !default;
$img-size-push: .625rem !default;
// MAIN HEADER
// --------------------------------------------------------
$main-header-bottom-border-width: $border-width !default;
$main-header-bottom-border-color: $gray-300 !default;
$main-header-bottom-border: $main-header-bottom-border-width solid $main-header-bottom-border-color !default;
$main-header-link-padding-y: $navbar-padding-y !default;
$main-header-link-padding-x: $navbar-padding-x !default;
$main-header-brand-padding-y: $navbar-brand-padding-y !default;
$main-header-brand-padding-x: $navbar-padding-x !default;
$main-header-height-inner: ($nav-link-height + ($main-header-link-padding-y * 2)) !default;
$main-header-height: calc(#{$main-header-height-inner} + #{$main-header-bottom-border-width}) !default;
$nav-link-sm-padding-y: .35rem !default;
@@ -65,19 +78,19 @@ $main-header-height-sm: calc(#{$main-header-height-sm-inner} + #{$main-header-bo
// Main header skins
$main-header-dark-form-control-bg: hsla(100, 100%, 100%, 0.2) !default;
$main-header-dark-form-control-focused-bg: hsla(100, 100%, 100%, 0.6) !default;
$main-header-dark-form-control-focused-color: $gray-800 !default;
$main-header-dark-form-control-border: 0 !default;
$main-header-dark-form-control-focused-border: 0 !default;
$main-header-dark-placeholder-color: hsla(100, 100%, 100%, 0.6) !default;
$main-header-dark-form-control-bg: $gray-800 !default;
$main-header-dark-form-control-focused-bg: $gray-700 !default;
$main-header-dark-form-control-focused-color: $gray-400 !default;
$main-header-dark-form-control-border-color: $gray-600 !default;
$main-header-dark-form-control-focused-border-color: $gray-600 !default;
$main-header-dark-placeholder-color: rgba($white, .6) !default;
$main-header-light-form-control-bg: darken($gray-100, 2%) !default;
$main-header-light-form-control-focused-bg: $gray-200 !default;
$main-header-light-form-control-focused-color: $gray-800 !default;
$main-header-light-form-control-border: 0 !default;
$main-header-light-form-control-focused-border: 0 !default;
$main-header-light-placeholder-color: hsla(0, 0%, 0%, 0.6) !default;
$main-header-light-form-control-bg: darken($gray-200, 5%) !default;
$main-header-light-form-control-focused-bg: darken($gray-200, 7.5%) !default;
$main-header-light-form-control-focused-color: $gray-400 !default;
$main-header-light-form-control-border-color: $gray-400 !default;
$main-header-light-form-control-focused-border-color: darken($gray-400, 2.5%) !default;
$main-header-light-placeholder-color: rgba(0, 0, 0, .6) !default;
// MAIN FOOTER
// --------------------------------------------------------
@@ -90,44 +103,42 @@ $main-footer-height-inner: (($font-size-root * $line-height-base) + ($main-foote
$main-footer-height: calc(#{$main-footer-height-inner} + #{$main-footer-border-top-width}) !default;
$main-footer-height-sm-inner: (($font-size-sm * $line-height-base) + ($main-footer-padding-sm * 2)) !default;
$main-footer-height-sm: calc(#{$main-footer-height-sm-inner} + #{$main-footer-border-top-width}) !default;
$main-footer-bg: $white;
$main-footer-bg: $white !default;
// SIDEBAR SKINS
// --------------------------------------------------------
// Dark sidebar
$sidebar-dark-bg: $dark !default;
$sidebar-dark-hover-bg: hsla(100, 100%, 100%, 0.1) !default;
$sidebar-dark-color: #C2C7D0 !default;
$sidebar-dark-hover-bg: rgba(255, 255, 255, .1) !default;
$sidebar-dark-color: #c2c7d0 !default;
$sidebar-dark-hover-color: $white !default;
$sidebar-dark-active-color: $white !default;
$sidebar-dark-submenu-bg: transparent !default;
$sidebar-dark-submenu-color: #C2C7D0 !default;
$sidebar-dark-submenu-color: #c2c7d0 !default;
$sidebar-dark-submenu-hover-color: $white !default;
$sidebar-dark-submenu-hover-bg: $sidebar-dark-hover-bg !default;
$sidebar-dark-submenu-active-color: $sidebar-dark-bg !default;
$sidebar-dark-submenu-active-bg: hsla(100, 100%, 100%, 0.9) !default;
$sidebar-dark-header-color: $white !default;
$sidebar-dark-submenu-active-bg: rgba(255, 255, 255, .9) !default;
// Light sidebar
$sidebar-light-bg: $white !default;
$sidebar-light-hover-bg: lighten(#f0f0f1, 1.5%) !default;
$sidebar-light-hover-bg: rgba($black, .1) !default;
$sidebar-light-color: $gray-800 !default;
$sidebar-light-hover-color: $gray-900 !default;
$sidebar-light-active-color: $white !default;
$sidebar-light-active-color: $black !default;
$sidebar-light-submenu-bg: transparent !default;
$sidebar-light-submenu-color: #777 !default;
$sidebar-light-submenu-hover-color: #000 !default;
$sidebar-light-submenu-hover-color: $black !default;
$sidebar-light-submenu-hover-bg: $sidebar-light-hover-bg !default;
$sidebar-light-submenu-active-color: $sidebar-light-hover-color !default;
$sidebar-light-submenu-active-bg: $sidebar-light-submenu-hover-bg !default;
$sidebar-light-header-color: $gray-800 !default;
// SIDEBAR MINI
// --------------------------------------------------------
$sidebar-mini-width: ($nav-link-padding-x + $sidebar-padding-x + .8rem) * 2 !default;
$sidebar-nav-icon-width: $sidebar-mini-width - (($sidebar-padding-x + $nav-link-padding-x) * 2);
$sidebar-user-image-width: $sidebar-nav-icon-width + ($nav-link-padding-x / 2);
$sidebar-nav-icon-width: $sidebar-mini-width - (($sidebar-padding-x + $nav-link-padding-x) * 2) !default;
$sidebar-user-image-width: $sidebar-nav-icon-width + ($nav-link-padding-x / 2) !default;
// CONTROL SIDEBAR
// --------------------------------------------------------
@@ -138,50 +149,43 @@ $control-sidebar-width: $sidebar-width !default;
$card-border-color: $gray-100 !default;
$card-dark-border-color: lighten($gray-900, 10%) !default;
$card-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2) !default;
$card-title-font-size: 1.1rem;
$card-title-font-size-sm: 1rem;
$card-title-font-weight: $font-weight-normal;
$card-nav-link-padding-sm-y: .4rem;
$card-nav-link-padding-sm-x: .8rem;
$card-title-font-size: 1.1rem !default;
$card-title-font-size-sm: 1rem !default;
$card-title-font-weight: $font-weight-normal !default;
$card-nav-link-padding-sm-y: .4rem !default;
$card-nav-link-padding-sm-x: .8rem !default;
$card-img-size: $img-size-sm !default;
// PROGRESS BARS
// --------------------------------------------------------
$progress-bar-border-radius: 1px !default;
$progress-bar-sm-border-radius: 1px !default;
$progress-bar-xs-border-radius: 1px !default;
// DIRECT CHAT
// --------------------------------------------------------
$direct-chat-height: 250px !default;
$direct-chat-default-msg-bg: $gray-x-light !default;
$direct-chat-default-font-color: #444 !default;
$direct-chat-default-msg-border-color: $gray-x-light !default;
// CHAT WIDGET
// --------------------------------------------------------
$attachment-border-radius: 3px !default;
// Z-INDEX
// --------------------------------------------------------
$zindex-main-header: $zindex-fixed + 4 !default;
$zindex-main-sidebar: $zindex-fixed + 8 !default;
$zindex-main-footer: $zindex-fixed + 2 !default;
$zindex-control-sidebar: $zindex-fixed + 1 !default;
$zindex-sidebar-mini-links: 010 !default;
$zindex-toasts: $zindex-main-sidebar + 2 !default;
$zindex-preloader: 9999 !default;
// TRANSITIONS SETTINGS
// --------------------------------------------------------
// Transition global options
$transition-speed: 0.3s !default;
$transition-speed: .3s !default;
$transition-fn: ease-in-out !default;
// TEXT
// --------------------------------------------------------
$font-size-xs: ($font-size-base * .75);
$font-size-xl: ($font-size-base * 2);
$font-size-xs: ($font-size-base * .75) !default;
$font-size-xl: ($font-size-base * 2) !default;
// BUTTON
@@ -196,7 +200,21 @@ $button-line-height-xs: $line-height-sm !default;
$button-font-size-xs: ($font-size-base * .75) !default;
$button-border-radius-xs: .15rem !default;
// ELEVATION
// --------------------------------------------------------
$elevations: ();
$elevations: map-merge(
(
1: unquote("0 1px 3px " + rgba($black, .12) + ", 0 1px 2px " + rgba($black, .24)),
2: unquote("0 3px 6px " + rgba($black, .16) + ", 0 3px 6px " + rgba($black, .23)),
3: unquote("0 10px 20px " + rgba($black, .19) + ", 0 6px 6px " + rgba($black, .23)),
4: unquote("0 14px 28px " + rgba($black, .25) + ", 0 10px 10px " + rgba($black, .22)),
5: unquote("0 19px 38px " + rgba($black, .3) + ", 0 15px 12px " + rgba($black, .22)),
),
$elevations
);
// RIBBON
// --------------------------------------------------------
$ribbon-border-size: 3px !default;
@@ -210,7 +228,7 @@ $ribbon-right: -2px !default;
$ribbon-lg-wrapper-size: 120px !default;
$ribbon-lg-width: 160px !default;
$ribbon-lg-top: 26px !default;
$ribbon-lg-right: 0px !default;
$ribbon-lg-right: 0 !default;
$ribbon-xl-wrapper-size: 180px !default;
$ribbon-xl-width: 240px !default;
$ribbon-xl-top: 47px !default;

25
build/scss/adminlte.scss Normal file
View File

@@ -0,0 +1,25 @@
/*!
* AdminLTE v3.1.0
* Author: Colorlib
* Website: AdminLTE.io <https://adminlte.io>
* License: Open source - MIT <https://opensource.org/licenses/MIT>
*/
// Bootstrap
// ---------------------------------------------------
@import "~bootstrap/scss/functions";
@import "bootstrap-variables";
@import "~bootstrap/scss/bootstrap";
// Variables and Mixins
// ---------------------------------------------------
@import "variables";
@import "variables-alt";
@import "mixins";
@import "parts/core";
@import "parts/components";
@import "parts/extra-components";
@import "parts/pages";
@import "parts/plugins";
@import "parts/miscellaneous";

View File

@@ -0,0 +1,104 @@
//
// Mixins: Accent
//
// Accent Variant
@mixin accent-variant($name, $color) {
$link-color: $color;
.accent-#{$name} {
$link-hover-color: darken($color, 15%);
$pagination-active-bg: $color;
$pagination-active-border-color: $color;
.btn-link,
a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link):not(.page-link):not(.btn),
.nav-tabs .nav-link {
color: $link-color;
@include hover () {
color: $link-hover-color;
}
}
.dropdown-item {
&:active,
&.active {
background-color: $color;
color: color-yiq($color);
}
}
.custom-control-input:checked ~ .custom-control-label {
&::before {
background-color: $color;
border-color: darken($color, 20%);
}
&::after {
$new-color: color-yiq($color);
background-image: str-replace($custom-checkbox-indicator-icon-checked, str-replace(#{$custom-control-indicator-checked-color}, "#", "%23"), str-replace(#{$new-color}, "#", "%23"));
}
}
.form-control:focus:not(.is-invalid):not(.is-warning):not(.is-valid),
.custom-select:focus,
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before,
.custom-file-input:focus ~ .custom-file-label {
border-color: lighten($color, 25%);
}
.page-item {
.page-link {
color: $link-color;
}
&.active a,
&.active .page-link {
background-color: $pagination-active-bg;
border-color: $pagination-active-border-color;
color: $pagination-active-color;
}
&.disabled a,
&.disabled .page-link {
background-color: $pagination-disabled-bg;
border-color: $pagination-disabled-border-color;
color: $pagination-disabled-color;
}
}
[class*="sidebar-dark-"] {
.sidebar {
a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {
color: $sidebar-dark-color;
@include hover () {
color: $sidebar-dark-hover-color;
}
}
}
}
[class*="sidebar-light-"] {
.sidebar {
a:not(.dropdown-item):not(.btn-app):not(.nav-link):not(.brand-link) {
color: $sidebar-light-color;
@include hover () {
color: $sidebar-light-hover-color;
}
}
}
}
}
.dark-mode.accent-#{$name} {
.page-item {
.page-link {
&:hover,
&:focus {
color: lighten($link-color, 5%);
}
}
}
}
}

View File

@@ -0,0 +1,119 @@
//
// Mixins: Animation
//
@keyframes flipInX {
0% {
transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
transition-timing-function: ease-in;
opacity: 0;
}
40% {
transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
transition-timing-function: ease-in;
}
60% {
transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
opacity: 1;
}
80% {
transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
}
100% {
transform: perspective(400px);
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes shake {
0% {
transform: translate(2px, 1px) rotate(0deg);
}
10% {
transform: translate(-1px, -2px) rotate(-2deg);
}
20% {
transform: translate(-3px, 0) rotate(3deg);
}
30% {
transform: translate(0, 2px) rotate(0deg);
}
40% {
transform: translate(1px, -1px) rotate(1deg);
}
50% {
transform: translate(-1px, 2px) rotate(-1deg);
}
60% {
transform: translate(-3px, 1px) rotate(0deg);
}
70% {
transform: translate(2px, 1px) rotate(-2deg);
}
80% {
transform: translate(-1px, -1px) rotate(4deg);
}
90% {
transform: translate(2px, 2px) rotate(0deg);
}
100% {
transform: translate(1px, -2px) rotate(-1deg);
}
}
@keyframes wobble {
0% {
transform: none;
}
15% {
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
}
30% {
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
}
45% {
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
}
60% {
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
}
75% {
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
}
100% {
transform: none;
}
}
//

View File

@@ -0,0 +1,64 @@
//
// Mixins: Backgrounds
//
// Background Variant
@mixin background-variant($name, $color) {
.bg-#{$name} {
background-color: #{$color} !important;
&,
> a {
color: color-yiq($color) !important;
}
&.btn {
&:hover {
border-color: darken($color, 10%);
color: darken(color-yiq($color), 7.5%);
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
&:active,
&.active {
background-color: darken($color, 10%) !important;
border-color: darken($color, 12.5%);
color: color-yiq(darken($color, 10%));
}
}
}
}
// Background Gradient Variant
@mixin background-gradient-variant($name, $color) {
.bg-gradient-#{$name} {
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
color: color-yiq($color);
&.btn {
&.disabled,
&:disabled,
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show > &.dropdown-toggle {
background-image: none !important;
}
&:hover {
background: $color linear-gradient(180deg, mix($body-bg, darken($color, 7.5%), 15%), darken($color, 7.5%)) repeat-x !important;
border-color: darken($color, 10%);
color: darken(color-yiq($color), 7.5%);
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
&:active,
&.active {
background: $color linear-gradient(180deg, mix($body-bg, darken($color, 10%), 15%), darken($color, 10%)) repeat-x !important;
border-color: darken($color, 12.5%);
color: color-yiq(darken($color, 10%));
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More