admin-lte 4.0.0-alpha1 → 4.0.0-alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/.bundlewatch.config.json +2 -2
  2. package/.cache/.eslintcache +1 -0
  3. package/.cache/.stylelintcache +1 -0
  4. package/.eslintignore +1 -0
  5. package/.eslintrc.json +16 -0
  6. package/.stylelintrc.json +47 -0
  7. package/LICENSE +1 -1
  8. package/README.md +5 -6
  9. package/dist/css/adminlte.css +2383 -2754
  10. package/dist/css/adminlte.css.map +1 -1
  11. package/dist/css/adminlte.min.css +2 -2
  12. package/dist/css/adminlte.min.css.map +1 -1
  13. package/dist/css/{rtl/adminlte.rtl.css → adminlte.rtl.css} +2377 -2749
  14. package/dist/css/adminlte.rtl.css.map +1 -0
  15. package/dist/css/adminlte.rtl.min.css +7 -0
  16. package/dist/css/adminlte.rtl.min.css.map +1 -0
  17. package/dist/js/adminlte.js +173 -182
  18. package/dist/js/adminlte.js.map +1 -1
  19. package/dist/js/adminlte.min.js +6 -1
  20. package/dist/js/adminlte.min.js.map +1 -1
  21. package/dist/pages/UI/timeline.html +698 -0
  22. package/dist/pages/docs/browser-support.html +614 -0
  23. package/dist/pages/docs/color-mode.html +855 -0
  24. package/dist/pages/docs/components/main-header.html +926 -0
  25. package/dist/pages/docs/layout.html +617 -0
  26. package/dist/pages/docs.html +617 -0
  27. package/dist/pages/examples/login.html +114 -187
  28. package/dist/pages/examples/register.html +117 -190
  29. package/dist/pages/forms/general.html +598 -647
  30. package/dist/pages/index.html +1091 -0
  31. package/dist/pages/index2.html +1452 -0
  32. package/dist/pages/index3.html +950 -0
  33. package/dist/pages/layout/fixed-sidebar.html +590 -638
  34. package/dist/pages/layout/layout-rtl.html +623 -0
  35. package/dist/pages/layout/sidebar-mini.html +623 -0
  36. package/dist/pages/layout/unfixed-sidebar.html +589 -638
  37. package/dist/pages/tables/simple.html +837 -938
  38. package/dist/pages/widgets/cards.html +814 -698
  39. package/dist/pages/widgets/info-box.html +864 -951
  40. package/dist/pages/widgets/small-box.html +625 -678
  41. package/index.html +1 -6
  42. package/package.json +53 -36
  43. package/src/config/assets.config.mjs +8 -0
  44. package/src/config/astro.config.mjs +17 -0
  45. package/src/config/postcss.config.mjs +15 -0
  46. package/src/config/rollup.config.js +20 -0
  47. package/src/html/.eslintrc.json +24 -0
  48. package/src/html/.tsconfig.json +4 -0
  49. package/src/html/components/_head.astro +31 -0
  50. package/src/html/components/_scripts.astro +40 -0
  51. package/src/html/components/dashboard/_footer.astro +12 -0
  52. package/src/html/components/dashboard/_sidenav.astro +323 -0
  53. package/src/{partials/dashboard/_topbar.html → html/components/dashboard/_topbar.astro} +20 -46
  54. package/src/html/components/docs/browser-support/index.md +22 -0
  55. package/src/html/components/docs/color-mode/navbar-html.md +80 -0
  56. package/src/{partials/_scripts.html → html/components/docs/color-mode/toggle-script.md} +5 -52
  57. package/src/html/components/docs/components/main-header-1.md +159 -0
  58. package/src/html/components/docs/introduction/index.md +35 -0
  59. package/src/html/env.d.ts +1 -0
  60. package/src/html/pages/UI/timeline.astro +158 -0
  61. package/src/html/pages/docs/browser-support.astro +58 -0
  62. package/src/html/pages/docs/color-mode.astro +224 -0
  63. package/src/html/pages/docs/components/main-header.astro +232 -0
  64. package/src/html/pages/docs/index.astro +58 -0
  65. package/src/html/pages/docs/layout.astro +77 -0
  66. package/src/{pages/examples/login.html → html/pages/examples/login.astro} +13 -13
  67. package/src/{pages/examples/register.html → html/pages/examples/register.astro} +13 -13
  68. package/src/{pages/forms/general.html → html/pages/forms/general.astro} +26 -30
  69. package/src/{index.html → html/pages/index.astro} +266 -189
  70. package/src/{index2.html → html/pages/index2.astro} +229 -284
  71. package/src/{index3.html → html/pages/index3.astro} +151 -169
  72. package/src/{pages/layout/fixed-sidebar.html → html/pages/layout/fixed-sidebar.astro} +26 -29
  73. package/src/html/pages/layout/layout-rtl.astro +84 -0
  74. package/src/html/pages/layout/sidebar-mini.astro +83 -0
  75. package/src/{pages/layout/unfixed-sidebar.html → html/pages/layout/unfixed-sidebar.astro} +26 -30
  76. package/src/{pages/tables/simple.html → html/pages/tables/simple.astro} +26 -30
  77. package/src/html/pages/widgets/cards.astro +308 -0
  78. package/src/{pages/widgets/info-box.html → html/pages/widgets/info-box.astro} +26 -31
  79. package/src/html/pages/widgets/small-box.astro +121 -0
  80. package/src/scss/_app-footer.scss +15 -0
  81. package/src/scss/_app-header.scss +26 -0
  82. package/src/scss/_app-main.scss +20 -0
  83. package/src/scss/_app-sidebar.scss +429 -0
  84. package/src/scss/{_wrapper.scss → _app-wrapper.scss} +8 -4
  85. package/src/scss/_bootstrap-variables.scss +41 -26
  86. package/src/scss/_callouts.scss +34 -0
  87. package/src/scss/_cards.scss +30 -224
  88. package/src/scss/_direct-chat.scss +15 -9
  89. package/src/scss/_docs.scss +4 -0
  90. package/src/scss/_dropdown.scss +7 -5
  91. package/src/scss/_info-box.scss +2 -6
  92. package/src/scss/_miscellaneous.scss +0 -455
  93. package/src/scss/_mixins.scss +0 -6
  94. package/src/scss/_root.scss +2 -58
  95. package/src/scss/_small-box.scss +15 -38
  96. package/src/scss/_table.scss +0 -50
  97. package/src/scss/_timeline.scss +120 -0
  98. package/src/scss/_variables-dark.scss +15 -8
  99. package/src/scss/_variables.scss +30 -135
  100. package/src/scss/adminlte.scss +1 -1
  101. package/src/scss/mixins/_animations.scss +4 -0
  102. package/src/scss/mixins/_scrollbar.scss +2 -2
  103. package/src/scss/pages/_login_and_register.scss +1 -2
  104. package/src/scss/parts/_core.scss +7 -15
  105. package/src/scss/parts/_extra-components.scss +1 -2
  106. package/src/ts/adminlte.ts +0 -2
  107. package/src/ts/card-widget.ts +42 -18
  108. package/src/ts/direct-chat.ts +33 -8
  109. package/src/ts/layout.ts +6 -4
  110. package/src/ts/push-menu.ts +94 -145
  111. package/src/ts/treeview.ts +17 -23
  112. package/src/ts/util/index.ts +2 -2
  113. package/src/utils/index.js +11 -0
  114. package/tsconfig.json +11 -3
  115. package/.stylelintrc +0 -40
  116. package/CHECKLIST.md +0 -0
  117. package/dist/css/rtl/adminlte.rtl.css.map +0 -1
  118. package/dist/css/rtl/adminlte.rtl.min.css +0 -7
  119. package/dist/css/rtl/adminlte.rtl.min.css.map +0 -1
  120. package/dist/index.html +0 -1065
  121. package/dist/index2.html +0 -1629
  122. package/dist/index3.html +0 -1015
  123. package/gulpfile.js +0 -315
  124. package/src/pages/widgets/cards.html +0 -143
  125. package/src/pages/widgets/small-box.html +0 -124
  126. package/src/partials/_head.html +0 -31
  127. package/src/partials/dashboard/_footer.html +0 -9
  128. package/src/partials/dashboard/_sidenav.html +0 -244
  129. package/src/scss/_brand-container.scss +0 -72
  130. package/src/scss/_content-header.scss +0 -9
  131. package/src/scss/_content-wrapper.scss +0 -6
  132. package/src/scss/_content.scss +0 -3
  133. package/src/scss/_layout-fixed.scss +0 -43
  134. package/src/scss/_layout-mobile.scss +0 -22
  135. package/src/scss/_main-footer.scss +0 -28
  136. package/src/scss/_main-header.scss +0 -40
  137. package/src/scss/_main-sidebar.scss +0 -63
  138. package/src/scss/_nav-sidebar.scss +0 -66
  139. package/src/scss/_products.scss +0 -55
  140. package/src/scss/_sidebar-close.scss +0 -6
  141. package/src/scss/_sidebar-collapse.scss +0 -120
  142. package/src/scss/_sidebar-horizontal.scss +0 -67
  143. package/src/scss/_sidebar.scss +0 -11
  144. package/src/scss/_users-list.scss +0 -45
  145. package/src/scss/mixins/_brand-variant.scss +0 -9
  146. package/src/scss/mixins/_cards.scss +0 -53
  147. package/src/scss/mixins/_direct-chat.scss +0 -17
  148. package/src/scss/mixins/_header-variant.scss +0 -22
  149. package/src/scss/mixins/_nav-treeview-dark.scss +0 -87
  150. package/src/scss/mixins/_nav-treeview-light.scss +0 -89
  151. package/src/scss/mixins/_sidebar-color.scss +0 -9
package/index.html CHANGED
@@ -10,12 +10,7 @@
10
10
  <!-- TODO: Remove below link Before Alpha Release of AdminLTE v4 -->
11
11
  <a href="https://github.com/ColorlibHQ/AdminLTE/tree/v4-dev">Check once</a>
12
12
  <script>
13
- /**
14
- * TODO: Uncomment Before Alpha Release of AdminLTE v4
15
- * Will redirect properly
16
- */
17
-
18
- // window.location = './dist/index.html';
13
+ window.location = './dist/pages/index.html';
19
14
  </script>
20
15
  </body>
21
16
  </html>
package/package.json CHANGED
@@ -1,19 +1,39 @@
1
1
  {
2
2
  "name": "admin-lte",
3
3
  "description": "Responsive open source admin dashboard and control panel.",
4
- "version": "4.0.0-alpha1",
4
+ "version": "4.0.0-alpha2",
5
5
  "license": "MIT",
6
6
  "author": "Colorlib <https://colorlib.com>",
7
7
  "main": "dist/js/adminlte.min.js",
8
8
  "scripts": {
9
+ "dev": "npm-run-all --parallel watch docs-serve",
10
+ "css": "npm-run-all css-compile css-prefix css-rtl css-minify",
11
+ "css-compile": "sass --style expanded --load-path=\"node_modules\" --source-map --embed-sources --no-error-css src/scss/:dist/css/",
12
+ "css-rtl": "cross-env NODE_ENV=RTL postcss --config src/config/postcss.config.mjs --dir \"dist/css\" --ext \".rtl.css\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*.rtl.css\"",
13
+ "css-lint": "stylelint \"**/*.{css,scss}\" --cache --cache-location .cache/.stylelintcache --rd",
14
+ "css-minify": "npm-run-all --aggregate-output --parallel css-minify-*",
15
+ "css-minify-main": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/*.css\" \"!dist/css/*.min.css\" \"!dist/css/*rtl*.css\"",
16
+ "css-minify-rtl": "cleancss -O1 --format breakWith=lf --with-rebase --source-map --source-map-inline-sources --output dist/css/ --batch --batch-suffix \".min\" \"dist/css/*rtl.css\" \"!dist/css/*.min.css\"",
17
+ "css-prefix": "postcss --config src/config/postcss.config.mjs --replace \"dist/css/*.css\" \"!dist/css/*.rtl*.css\" \"!dist/css/*.min.css\"",
18
+ "js": "npm-run-all js-compile js-minify",
19
+ "js-compile": "rollup --config src/config/rollup.config.js --sourcemap",
20
+ "js-lint": "eslint --cache --cache-location .cache/.eslintcache --report-unused-disable-directives .",
21
+ "js-minify": "terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=dist/js/adminlte.js.map,includeSources,url=adminlte.min.js.map\" --output dist/js/adminlte.min.js dist/js/adminlte.js",
9
22
  "bundlewatch": "bundlewatch --config .bundlewatch.config.json",
10
23
  "lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json",
11
- "docs-compile": "node -v",
12
- "docs-lint": "node -v",
13
- "lint": "npx gulp lint && npm run lockfile-lint",
14
- "compile": "npx gulp compile",
15
- "production": "npx gulp production",
16
- "dev": "npx gulp"
24
+ "docs-compile": "astro --config src/config/astro.config.mjs build",
25
+ "docs-lint": "astro --config src/config/astro.config.mjs check",
26
+ "docs-format": "js-beautify --file \"dist/pages/**/*.html\"",
27
+ "docs-serve": "astro --config src/config/astro.config.mjs dev --open",
28
+ "assets": "node src/config/assets.config.mjs",
29
+ "lint": "npm-run-all --aggregate-output --continue-on-error --parallel js-lint css-lint docs-lint lockfile-lint",
30
+ "compile": "npm-run-all docs-compile docs-format assets css js",
31
+ "production": "npm-run-all lint compile",
32
+ "watch": "concurrently \"npm:watch-*\"",
33
+ "watch-css-main": "nodemon --watch src/scss/ --ext scss --exec \"npm-run-all css-lint css-compile\"",
34
+ "watch-css-dist": "nodemon --watch dist/css/ --ext css --ignore \"dist/css/*.rtl.*\" --exec \"npm run css-rtl\"",
35
+ "watch-js-main": "nodemon --watch src/ts/ --ext ts --exec \"npm-run-all js-lint js-compile\"",
36
+ "watch-assets": "nodemon --watch src/assets/ --exec \"npm run assets\""
17
37
  },
18
38
  "keywords": [
19
39
  "css",
@@ -37,39 +57,36 @@
37
57
  "url": "https://github.com/ColorlibHQ/AdminLTE/issues"
38
58
  },
39
59
  "devDependencies": {
40
- "@rollup/plugin-typescript": "^11.0.0",
41
- "@ronilaukkarinen/gulp-stylelint": "^14.0.9",
42
- "@typescript-eslint/eslint-plugin": "^5.49.0",
43
- "@typescript-eslint/parser": "^5.49.0",
44
- "autoprefixer": "^10.4.13",
45
- "bootstrap": "^5.3.0-alpha1",
46
- "browser-sync": "^2.27.11",
60
+ "@rollup/plugin-typescript": "^11.1.0",
61
+ "@typescript-eslint/eslint-plugin": "^5.59.5",
62
+ "@typescript-eslint/parser": "^5.59.5",
63
+ "astro": "^2.4.3",
64
+ "autoprefixer": "^10.4.14",
65
+ "bootstrap": "^5.3.0-alpha3",
47
66
  "bundlewatch": "^0.3.3",
48
- "del": "^6.1.1",
49
- "eslint": "^8.33.0",
67
+ "clean-css-cli": "^5.6.2",
68
+ "concurrently": "^8.0.1",
69
+ "cross-env": "^7.0.3",
70
+ "eslint": "^8.40.0",
50
71
  "eslint-config-xo": "^0.43.1",
51
- "eslint-config-xo-typescript": "^0.55.1",
72
+ "eslint-config-xo-typescript": "^0.57.0",
73
+ "eslint-plugin-astro": "^0.27.0",
52
74
  "eslint-plugin-import": "^2.27.5",
53
- "eslint-plugin-unicorn": "^45.0.2",
54
- "gulp": "^4.0.2",
55
- "gulp-clean-css": "^4.3.0",
56
- "gulp-eslint-new": "^1.7.1",
57
- "gulp-file-include": "^2.3.0",
58
- "gulp-format-html": "^1.5.0",
59
- "gulp-html": "^5.0.0",
60
- "gulp-if": "^3.0.0",
61
- "gulp-postcss": "^9.0.1",
62
- "gulp-rename": "^2.0.0",
63
- "gulp-sass": "^5.1.0",
64
- "gulp-terser": "^2.1.0",
75
+ "eslint-plugin-unicorn": "^47.0.0",
76
+ "fs-extra": "^11.1.1",
77
+ "js-beautify": "^1.14.7",
65
78
  "lockfile-lint": "^4.10.0",
66
- "postcss": "^8.4.6",
67
- "rollup": "^3.12.0",
68
- "rtlcss": "^4.0.0",
69
- "sass": "^1.57.1",
70
- "stylelint": "^14.9.1",
71
- "stylelint-config-twbs-bootstrap": "^7.0.0",
79
+ "nodemon": "^2.0.22",
80
+ "npm-run-all": "^4.1.5",
81
+ "postcss": "^8.4.23",
82
+ "postcss-cli": "^10.1.0",
83
+ "rollup": "^3.21.6",
84
+ "rtlcss": "^4.1.0",
85
+ "sass": "^1.62.1",
86
+ "stylelint": "^15.6.1",
87
+ "stylelint-config-twbs-bootstrap": "^10.0.0",
88
+ "terser": "^5.17.3",
72
89
  "tslib": "^2.5.0",
73
- "typescript": "^4.9.4"
90
+ "typescript": "^5.0.4"
74
91
  }
75
92
  }
@@ -0,0 +1,8 @@
1
+ import fs from 'fs-extra'
2
+
3
+ try {
4
+ fs.copySync('./src/assets', './dist/assets')
5
+ console.log('Assets copy success!')
6
+ } catch (error) {
7
+ console.error(error)
8
+ }
@@ -0,0 +1,17 @@
1
+ import { defineConfig } from 'astro/config'
2
+
3
+ // https://astro.build/config
4
+ export default defineConfig({
5
+ build: {
6
+ // Example: Generate `page.html` instead of `page/index.html` during build.
7
+ format: 'file'
8
+ },
9
+ markdown: {
10
+ shikiConfig: {
11
+ theme: 'dark-plus'
12
+ }
13
+ },
14
+ // base: './dist',
15
+ srcDir: './src/html',
16
+ outDir: './dist/pages'
17
+ })
@@ -0,0 +1,15 @@
1
+ export default ctx => {
2
+ return {
3
+ map: {
4
+ inline: false,
5
+ annotation: true,
6
+ sourcesContent: true
7
+ },
8
+ plugins: {
9
+ autoprefixer: {
10
+ cascade: false
11
+ },
12
+ rtlcss: ctx.env === 'RTL' ? {} : false
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,20 @@
1
+ const typescript = require('@rollup/plugin-typescript')
2
+ const pkg = require('../../package.json')
3
+
4
+ const year = new Date().getFullYear()
5
+ const banner = `/*!
6
+ * AdminLTE v${pkg.version} (${pkg.homepage})
7
+ * Copyright 2014-${year} ${pkg.author}
8
+ * Licensed under MIT (https://github.com/ColorlibHQ/AdminLTE/blob/master/LICENSE)
9
+ */`
10
+
11
+ module.exports = {
12
+ input: 'src/ts/adminlte.ts',
13
+ output: {
14
+ file: 'dist/js/adminlte.js',
15
+ format: 'umd',
16
+ banner,
17
+ name: 'adminlte'
18
+ },
19
+ plugins: [typescript()]
20
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "root": true,
3
+ "extends": [
4
+ "plugin:astro/recommended"
5
+ ],
6
+ "overrides": [
7
+ {
8
+ // Define the configuration for `.astro` file.
9
+ "files": ["*.astro"],
10
+ // Allows Astro components to be parsed.
11
+ "parser": "astro-eslint-parser",
12
+ // Parse the script in `.astro` as TypeScript by adding the following configuration.
13
+ // It's the setting you need when using TypeScript.
14
+ "parserOptions": {
15
+ "parser": "@typescript-eslint/parser",
16
+ "extraFileExtensions": [".astro"]
17
+ },
18
+ "rules": {
19
+ // override/add rules settings here, such as:
20
+ // "astro/no-set-html-directive": "error"
21
+ }
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "root": true,
3
+ "extends": "astro/tsconfigs/strict"
4
+ }
@@ -0,0 +1,31 @@
1
+ ---
2
+ const { title, path, isRtl } = Astro.props
3
+ const cssPath = isRtl ? '.rtl' : ''
4
+ ---
5
+
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <!-- Primary Meta Tags -->
8
+ <title>{title}</title>
9
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
+ <meta name="title" content={title}>
11
+ <meta name="author" content="ColorlibHQ">
12
+ <meta name="description" content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS.">
13
+ <meta name="keywords" content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard" />
14
+
15
+ <!-- OPTIONAL LINKS -->
16
+
17
+ <!-- Google Font: Source Sans Pro -->
18
+ <link rel="preconnect" href="https://fonts.googleapis.com">
19
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
20
+ <link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet">
21
+
22
+ <!-- overlayscrollbars -->
23
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.1.0/styles/overlayscrollbars.min.css" integrity="sha256-LWLZPJ7X1jJLI5OG5695qDemW1qQ7lNdbTfQ64ylbUY=" crossorigin="anonymous">
24
+
25
+ <!-- @fortawesome/fontawesome-free -->
26
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.3.0/css/all.min.css" integrity="sha256-/4UQcSmErDzPCMAiuOiWPVVsNN2s3ZY/NsmXNcj0IFc=" crossorigin="anonymous">
27
+
28
+ <!-- REQUIRED LINKS -->
29
+
30
+ <!-- Theme style -->
31
+ <link rel="stylesheet" href={path + '/css/adminlte' + cssPath + '.css'} >
@@ -0,0 +1,40 @@
1
+ ---
2
+ const { path } = Astro.props
3
+ const adminlteJsUrl = path + '/js/adminlte.js'
4
+ ---
5
+ <!-- OPTIONAL SCRIPTS -->
6
+ <!-- overlayscrollbars -->
7
+ <script src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.1.0/browser/overlayscrollbars.browser.es6.min.js" integrity="sha256-NRZchBuHZWSXldqrtAOeCZpucH/1n1ToJ3C8mSK95NU=" crossorigin="anonymous"></script>
8
+
9
+ <!-- @popperjs for Bootstrap 5 -->
10
+ <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.7/dist/umd/popper.min.js" integrity="sha384-zYPOMqeu1DAVkHiLqWBUTcbYfZ8osu1Nd6Z89ify25QV9guujx43ITvfi12/QExE" crossorigin="anonymous"></script>
11
+
12
+ <!-- Bootstrap 5 -->
13
+ <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.min.js" integrity="sha384-Y4oOpwW3duJdCWv5ly8SCFYWqFDsfob/3GkgExXKV4idmbt98QcxXYs9UoXAB7BZ" crossorigin="anonymous"></script>
14
+
15
+ <!-- REQUIRED SCRIPTS -->
16
+ <!-- AdminLTE App -->
17
+ <script src={adminlteJsUrl} is:inline></script>
18
+
19
+ <!-- OPTIONAL SCRIPTS -->
20
+ <script is:inline>
21
+ const SELECTOR_SIDEBAR_WRAPPER = '.sidebar-wrapper'
22
+ const Default = {
23
+ scrollbarTheme: 'os-theme-light',
24
+ scrollbarAutoHide: 'leave',
25
+ scrollbarClickScroll: true
26
+ }
27
+
28
+ document.addEventListener("DOMContentLoaded", function() {
29
+ const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER)
30
+ if (sidebarWrapper && typeof OverlayScrollbarsGlobal?.OverlayScrollbars !== 'undefined') {
31
+ OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
32
+ scrollbars: {
33
+ theme: Default.scrollbarTheme,
34
+ autoHide: Default.scrollbarAutoHide,
35
+ clickScroll: Default.scrollbarClickScroll
36
+ }
37
+ })
38
+ }
39
+ })
40
+ </script>
@@ -0,0 +1,12 @@
1
+ ---
2
+ const year = new Date().getFullYear()
3
+ ---
4
+ <!-- Main Footer -->
5
+ <footer class="app-footer">
6
+ <!-- To the end -->
7
+ <div class="float-end d-none d-sm-inline">
8
+ Anything you want
9
+ </div>
10
+ <!-- Default to the start -->
11
+ <strong>Copyright &copy; 2014-{year} <a href="https://adminlte.io">AdminLTE.io</a>.</strong> All rights reserved.
12
+ </footer>
@@ -0,0 +1,323 @@
1
+ ---
2
+ import { convertPathToHtml } from '../../../utils/index.js';
3
+ const { path, mainPage, page } = Astro.props
4
+ const htmlPath = convertPathToHtml(path)
5
+ ---
6
+
7
+ <!-- Sidebar Container -->
8
+ <aside class="app-sidebar bg-body-secondary shadow" data-bs-theme="dark">
9
+ <div class="sidebar-brand">
10
+ <a href={htmlPath + '/index.html'} class="brand-link">
11
+ <img src={path + '/assets/img/AdminLTELogo.png'} alt="AdminLTE Logo" class="brand-image opacity-75 shadow">
12
+ <span class="brand-text fw-light">AdminLTE 4</span>
13
+ </a>
14
+ </div>
15
+ <!-- Sidebar -->
16
+ <div class="sidebar-wrapper">
17
+ <nav class="mt-2">
18
+ <!-- Sidebar Menu -->
19
+ <ul class="nav sidebar-menu flex-column" data-lte-toggle="treeview" role="menu" data-accordion="false">
20
+ <li class:list={['nav-item', mainPage === 'dashboard' && 'menu-open']}>
21
+ <a href="javascript:;" class:list={['nav-link', mainPage === 'dashboard' && 'active']}>
22
+ <i class="nav-icon fa-solid fa-gauge-high"></i>
23
+ <p>
24
+ Dashboard
25
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
26
+ </p>
27
+ </a>
28
+ <ul class="nav nav-treeview">
29
+ <li class="nav-item">
30
+ <a href={htmlPath + '/index.html'} class:list={['nav-link', page === 'index' && 'active']}>
31
+ <i class="nav-icon fa-regular fa-circle"></i>
32
+ <p>Dashboard v1</p>
33
+ </a>
34
+ </li>
35
+ <li class="nav-item">
36
+ <a href={htmlPath + '/index2.html'} class:list={['nav-link', page === 'index2' && 'active']}>
37
+ <i class="nav-icon fa-regular fa-circle"></i>
38
+ <p>Dashboard v2</p>
39
+ </a>
40
+ </li>
41
+ <li class="nav-item">
42
+ <a href={htmlPath + '/index3.html'} class:list={['nav-link', page === 'index3' && 'active']}>
43
+ <i class="nav-icon fa-regular fa-circle"></i>
44
+ <p>Dashboard v3</p>
45
+ </a>
46
+ </li>
47
+ </ul>
48
+ </li>
49
+ <li class:list={['nav-item', mainPage === 'widgets' && 'menu-open']}>
50
+ <a href="javascript:;" class:list={['nav-link', mainPage === 'widgets' && 'active']}>
51
+ <i class="nav-icon fa-solid fa-box-open"></i>
52
+ <p>
53
+ Widgets
54
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
55
+ </p>
56
+ </a>
57
+ <ul class="nav nav-treeview">
58
+ <li class="nav-item">
59
+ <a href={htmlPath + '/widgets/small-box.html'} class:list={['nav-link', page === 'small-box' && 'active']}>
60
+ <i class="nav-icon fa-regular fa-circle"></i>
61
+ <p>Small Box</p>
62
+ </a>
63
+ </li>
64
+ <li class="nav-item">
65
+ <a href={htmlPath + '/widgets/info-box.html'} class:list={['nav-link', page === 'info-box' && 'active']}>
66
+ <i class="nav-icon fa-regular fa-circle"></i>
67
+ <p>info Box</p>
68
+ </a>
69
+ </li>
70
+ <li class="nav-item">
71
+ <a href={htmlPath + '/widgets/cards.html'} class:list={['nav-link', page === 'cards' && 'active']}>
72
+ <i class="nav-icon fa-regular fa-circle"></i>
73
+ <p>Cards</p>
74
+ </a>
75
+ </li>
76
+ </ul>
77
+ </li>
78
+
79
+ <li class:list={['nav-item', mainPage === 'layout' && 'menu-open']}>
80
+ <a href="javascript:;" class:list={['nav-link', mainPage === 'layout' && 'active']}>
81
+ <i class="nav-icon fa-solid fa-copy"></i>
82
+ <p>
83
+ Layout Options
84
+ <span class="nav-badge badge text-bg-secondary opacity-75 me-3">6</span>
85
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
86
+ </p>
87
+ </a>
88
+ <ul class="nav nav-treeview">
89
+ <li class="nav-item">
90
+ <a href={htmlPath + '/layout/unfixed-sidebar.html'} class:list={['nav-link', page === 'unfixed-sidebar' && 'active']}>
91
+ <i class="nav-icon fa-regular fa-circle"></i>
92
+ <p>Unfixed Sidebar</p>
93
+ </a>
94
+ </li>
95
+ <li class="nav-item">
96
+ <a href={htmlPath + '/layout/fixed-sidebar.html'} class:list={['nav-link', page === 'fixed-sidebar' && 'active']}>
97
+ <i class="nav-icon fa-regular fa-circle"></i>
98
+ <p>Fixed Sidebar</p>
99
+ </a>
100
+ </li>
101
+ <li class="nav-item">
102
+ <a href={htmlPath + '/layout/sidebar-mini.html'} class:list={['nav-link', page === 'sidebar-mini' && 'active']}>
103
+ <i class="nav-icon fa-regular fa-circle"></i>
104
+ <p>Sidebar Mini</p>
105
+ </a>
106
+ </li>
107
+ <li class="nav-item">
108
+ <a href={htmlPath + '/layout/layout-rtl.html'} class:list={['nav-link', page === 'layout-rtl' && 'active']}>
109
+ <i class="nav-icon fa-regular fa-circle"></i>
110
+ <p>Layout RTL</p>
111
+ </a>
112
+ </li>
113
+ </ul>
114
+ </li>
115
+ <li class:list={['nav-item', mainPage === 'ui-elements' && 'menu-open']}>
116
+ <a href="javascript:;" class:list={['nav-link', mainPage === 'ui-elements' && 'active']}>
117
+ <i class="nav-icon fa-solid fa-tree"></i>
118
+ <p>
119
+ UI Elements
120
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
121
+ </p>
122
+ </a>
123
+ <ul class="nav nav-treeview">
124
+ <li class="nav-item">
125
+ <a href={htmlPath + '/UI/timeline.html'} class:list={['nav-link', page === 'timeline' && 'active']}>
126
+ <i class="nav-icon fa-regular fa-circle"></i>
127
+ <p>Timeline</p>
128
+ </a>
129
+ </li>
130
+ </ul>
131
+ </li>
132
+ <li class:list={['nav-item', mainPage === 'forms' && 'menu-open']}>
133
+ <a href="javascript:;" class:list={['nav-link', mainPage === 'forms' && 'active']}>
134
+ <i class="nav-icon fa-solid fa-pen-to-square"></i>
135
+ <p>
136
+ Forms
137
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
138
+ </p>
139
+ </a>
140
+ <ul class="nav nav-treeview">
141
+ <li class="nav-item">
142
+ <a href={htmlPath + '/forms/general.html'} class:list={['nav-link', page === 'general' && 'active']}>
143
+ <i class="nav-icon fa-regular fa-circle"></i>
144
+ <p>General Elements</p>
145
+ </a>
146
+ </li>
147
+ </ul>
148
+ </li>
149
+ <li class:list={['nav-item', mainPage === 'tables' && 'menu-open']}>
150
+ <a href="javascript:;" class:list={['nav-link', mainPage === 'tables' && 'active']}>
151
+ <i class="nav-icon fa-solid fa-table"></i>
152
+ <p>
153
+ Tables
154
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
155
+ </p>
156
+ </a>
157
+ <ul class="nav nav-treeview">
158
+ <li class="nav-item">
159
+ <a href={htmlPath + '/tables/simple.html'} class:list={['nav-link', page === 'simple' && 'active']}>
160
+ <i class="nav-icon fa-regular fa-circle"></i>
161
+ <p>Simple Tables</p>
162
+ </a>
163
+ </li>
164
+ </ul>
165
+ </li>
166
+
167
+ <li class="nav-header">EXAMPLES</li>
168
+ <li class="nav-item">
169
+ <a href="javascript:;" class="nav-link">
170
+ <i class="nav-icon fa-solid fa-arrow-right-to-bracket"></i>
171
+ <p>
172
+ Login & Register
173
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
174
+ </p>
175
+ </a>
176
+ <ul class="nav nav-treeview">
177
+ <li class="nav-item">
178
+ <a href={htmlPath + '/examples/login.html'} class="nav-link ">
179
+ <i class="nav-icon fa-regular fa-circle"></i>
180
+ <p>Login v1</p>
181
+ </a>
182
+ </li>
183
+ <li class="nav-item">
184
+ <a href={htmlPath + '/examples/register.html'} class="nav-link ">
185
+ <i class="nav-icon fa-regular fa-circle"></i>
186
+ <p>Register v1</p>
187
+ </a>
188
+ </li>
189
+ </ul>
190
+ </li>
191
+
192
+ <li class="nav-header">DOCUMENTATIONS</li>
193
+ <li class="nav-item">
194
+ <a href={htmlPath + '/docs/index.html'} class:list={['nav-link', page === 'introduction' && 'active']}>
195
+ <i class="nav-icon fa-solid fa-download"></i>
196
+ <p>Installation</p>
197
+ </a>
198
+ </li>
199
+ <li class="nav-item">
200
+ <a href={htmlPath + '/docs/layout.html'} class:list={['nav-link', page === 'layout' && 'active']}>
201
+ <i class="nav-icon fa-solid fa-grip"></i>
202
+ <p>Layout</p>
203
+ </a>
204
+ </li>
205
+ <li class="nav-item">
206
+ <a href={htmlPath + '/docs/color-mode.html'} class:list={['nav-link', page === 'color-mode' && 'active']}>
207
+ <i class="nav-icon fa-solid fa-star-half-stroke"></i>
208
+ <p>Color Mode</p>
209
+ </a>
210
+ </li>
211
+ <li class:list={['nav-item', mainPage === 'components' && 'menu-open']}>
212
+ <a href="javascript:;" class:list={['nav-link', mainPage === 'components' && 'active']}>
213
+ <i class="nav-icon fa-solid fa-swatchbook"></i>
214
+ <p>
215
+ Components
216
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
217
+ </p>
218
+ </a>
219
+ <ul class="nav nav-treeview">
220
+ <li class="nav-item">
221
+ <a href={htmlPath + '/docs/components/main-header.html'} class:list={['nav-link', page === 'main-header' && 'active']}>
222
+ <i class="nav-icon fa-regular fa-circle"></i>
223
+ <p>Main Header</p>
224
+ </a>
225
+ </li>
226
+ </ul>
227
+ </li>
228
+ <li class="nav-item">
229
+ <a href={htmlPath + '/docs/browser-support.html'} class:list={['nav-link', page === 'browser-support' && 'active']}>
230
+ <i class="nav-icon fa-solid fa-edge"></i>
231
+ <p>Browser Support</p>
232
+ </a>
233
+ </li>
234
+
235
+ <li class="nav-header">MULTI LEVEL EXAMPLE</li>
236
+ <li class="nav-item">
237
+ <a href="javascript:;" class="nav-link">
238
+ <i class="nav-icon fa-solid fa-circle"></i>
239
+ <p>Level 1</p>
240
+ </a>
241
+ </li>
242
+ <li class="nav-item">
243
+ <a href="javascript:;" class="nav-link">
244
+ <i class="nav-icon fa-solid fa-circle"></i>
245
+ <p>
246
+ Level 1
247
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
248
+ </p>
249
+ </a>
250
+ <ul class="nav nav-treeview">
251
+ <li class="nav-item">
252
+ <a href="javascript:;" class="nav-link">
253
+ <i class="nav-icon fa-regular fa-circle"></i>
254
+ <p>Level 2</p>
255
+ </a>
256
+ </li>
257
+ <li class="nav-item">
258
+ <a href="javascript:;" class="nav-link">
259
+ <i class="nav-icon fa-regular fa-circle"></i>
260
+ <p>
261
+ Level 2
262
+ <i class="nav-arrow fa-solid fa-angle-right"></i>
263
+ </p>
264
+ </a>
265
+ <ul class="nav nav-treeview">
266
+ <li class="nav-item">
267
+ <a href="javascript:;" class="nav-link">
268
+ <i class="nav-icon fa-regular fa-dot-circle"></i>
269
+ <p>Level 3</p>
270
+ </a>
271
+ </li>
272
+ <li class="nav-item">
273
+ <a href="javascript:;" class="nav-link">
274
+ <i class="nav-icon fa-regular fa-dot-circle"></i>
275
+ <p>Level 3</p>
276
+ </a>
277
+ </li>
278
+ <li class="nav-item">
279
+ <a href="javascript:;" class="nav-link">
280
+ <i class="nav-icon fa-regular fa-dot-circle"></i>
281
+ <p>Level 3</p>
282
+ </a>
283
+ </li>
284
+ </ul>
285
+ </li>
286
+ <li class="nav-item">
287
+ <a href="javascript:;" class="nav-link">
288
+ <i class="nav-icon fa-regular fa-circle"></i>
289
+ <p>Level 2</p>
290
+ </a>
291
+ </li>
292
+ </ul>
293
+ </li>
294
+ <li class="nav-item">
295
+ <a href="javascript:;" class="nav-link">
296
+ <i class="nav-icon fa-solid fa-circle"></i>
297
+ <p>Level 1</p>
298
+ </a>
299
+ </li>
300
+ <li class="nav-header">LABELS</li>
301
+ <li class="nav-item">
302
+ <a href="javascript:;" class="nav-link">
303
+ <i class="nav-icon fa-regular fa-circle text-danger"></i>
304
+ <p class="text">Important</p>
305
+ </a>
306
+ </li>
307
+ <li class="nav-item">
308
+ <a href="javascript:;" class="nav-link">
309
+ <i class="nav-icon fa-regular fa-circle text-warning"></i>
310
+ <p>Warning</p>
311
+ </a>
312
+ </li>
313
+ <li class="nav-item">
314
+ <a href="javascript:;" class="nav-link">
315
+ <i class="nav-icon fa-regular fa-circle text-info"></i>
316
+ <p>Informational</p>
317
+ </a>
318
+ </li>
319
+ </ul>
320
+ </nav>
321
+ </div>
322
+ <!-- /.sidebar -->
323
+ </aside>