@updevs/components 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (310) hide show
  1. package/README.md +5 -22
  2. package/assets/styles/_bootstrap-components.scss +38 -0
  3. package/assets/styles/_bootstrap-config.scss +7 -0
  4. package/assets/styles/_bootstrap-override.scss +78 -0
  5. package/assets/styles/_config.scss +9 -0
  6. package/assets/styles/_core.scss +71 -0
  7. package/assets/styles/_mixins.scss +2 -0
  8. package/assets/styles/_updevs.scss +9 -0
  9. package/assets/styles/_utilities.scss +98 -0
  10. package/assets/styles/_variables-dark.scss +17 -0
  11. package/assets/styles/_variables.scss +934 -0
  12. package/assets/styles/fonts/_webfonts.scss +15 -0
  13. package/assets/styles/layout/_animations.scss +62 -0
  14. package/assets/styles/layout/_core.scss +61 -0
  15. package/assets/styles/layout/_dark.scss +72 -0
  16. package/assets/styles/layout/_footer.scss +12 -0
  17. package/assets/styles/layout/_navbar.scss +380 -0
  18. package/assets/styles/layout/_page.scss +169 -0
  19. package/assets/styles/layout/_root.scss +72 -0
  20. package/assets/styles/mixins/_functions.scss +43 -0
  21. package/assets/styles/mixins/_mixins.scss +68 -0
  22. package/assets/styles/ui/_accordion.scss +24 -0
  23. package/assets/styles/ui/_alerts.scss +59 -0
  24. package/assets/styles/ui/_avatars.scss +118 -0
  25. package/assets/styles/ui/_badges.scss +79 -0
  26. package/assets/styles/ui/_breadcrumbs.scss +50 -0
  27. package/assets/styles/ui/_button-group.scss +16 -0
  28. package/assets/styles/ui/_buttons.scss +265 -0
  29. package/assets/styles/ui/_calendars.scss +104 -0
  30. package/assets/styles/ui/_cards.scss +586 -0
  31. package/assets/styles/ui/_carousel.scss +68 -0
  32. package/assets/styles/ui/_charts.scss +61 -0
  33. package/assets/styles/ui/_chips.scss +0 -0
  34. package/assets/styles/ui/_close.scss +7 -0
  35. package/assets/styles/ui/_datagrid.scss +17 -0
  36. package/assets/styles/ui/_dropdowns.scss +117 -0
  37. package/assets/styles/ui/_empty.scss +65 -0
  38. package/assets/styles/ui/_flags.scss +31 -0
  39. package/assets/styles/ui/_forms.scss +224 -0
  40. package/assets/styles/ui/_grid.scss +115 -0
  41. package/assets/styles/ui/_icons.scss +72 -0
  42. package/assets/styles/ui/_images.scss +15 -0
  43. package/assets/styles/ui/_legend.scss +12 -0
  44. package/assets/styles/ui/_lists.scss +127 -0
  45. package/assets/styles/ui/_loaders.scss +72 -0
  46. package/assets/styles/ui/_login.scss +3 -0
  47. package/assets/styles/ui/_markdown.scss +42 -0
  48. package/assets/styles/ui/_modals.scss +67 -0
  49. package/assets/styles/ui/_nav.scss +92 -0
  50. package/assets/styles/ui/_offcanvas.scss +17 -0
  51. package/assets/styles/ui/_pagination.scss +56 -0
  52. package/assets/styles/ui/_payments.scss +28 -0
  53. package/assets/styles/ui/_placeholder.scss +9 -0
  54. package/assets/styles/ui/_popovers.scss +2 -0
  55. package/assets/styles/ui/_progress.scss +107 -0
  56. package/assets/styles/ui/_ribbons.scss +156 -0
  57. package/assets/styles/ui/_stars.scss +13 -0
  58. package/assets/styles/ui/_status.scss +163 -0
  59. package/assets/styles/ui/_steps.scss +152 -0
  60. package/assets/styles/ui/_switch-icon.scss +211 -0
  61. package/assets/styles/ui/_tables.scss +150 -0
  62. package/assets/styles/ui/_tags.scss +57 -0
  63. package/assets/styles/ui/_timeline.scss +61 -0
  64. package/assets/styles/ui/_toasts.scss +19 -0
  65. package/assets/styles/ui/_toolbar.scss +10 -0
  66. package/assets/styles/ui/_tracking.scss +29 -0
  67. package/assets/styles/ui/_type.scss +169 -0
  68. package/assets/styles/ui/forms/_form-check.scss +91 -0
  69. package/assets/styles/ui/forms/_form-colorinput.scss +54 -0
  70. package/assets/styles/ui/forms/_form-custom.scss +28 -0
  71. package/assets/styles/ui/forms/_form-icon.scss +35 -0
  72. package/assets/styles/ui/forms/_form-imagecheck.scss +104 -0
  73. package/assets/styles/ui/forms/_form-selectgroup.scss +153 -0
  74. package/assets/styles/ui/forms/_validation.scss +13 -0
  75. package/assets/styles/ui/typo/_hr.scss +74 -0
  76. package/assets/styles/utils/_background.scss +15 -0
  77. package/assets/styles/utils/_colors.scss +40 -0
  78. package/assets/styles/utils/_opacity.scss +7 -0
  79. package/assets/styles/utils/_scroll.scss +47 -0
  80. package/assets/styles/utils/_shadow.scss +17 -0
  81. package/assets/styles/utils/_sizing.scss +10 -0
  82. package/assets/styles/utils/_text.scss +15 -0
  83. package/button/ng-package.json +7 -0
  84. package/button/src/button.component.html +8 -0
  85. package/button/src/button.component.scss +5 -0
  86. package/button/src/button.component.spec.ts +23 -0
  87. package/button/src/button.component.ts +154 -0
  88. package/button/src/index.ts +1 -0
  89. package/button/src/public-api.ts +2 -0
  90. package/button/src/upd-button.module.ts +17 -0
  91. package/card/ng-package.json +7 -0
  92. package/card/src/card.component.html +105 -0
  93. package/card/src/card.component.scss +47 -0
  94. package/card/src/card.component.spec.ts +23 -0
  95. package/card/src/card.component.ts +112 -0
  96. package/card/src/directives/card-actions.directive.spec.ts +8 -0
  97. package/card/src/directives/card-actions.directive.ts +11 -0
  98. package/card/src/directives/card-footer.directive.spec.ts +8 -0
  99. package/card/src/directives/card-footer.directive.ts +11 -0
  100. package/card/src/directives/card-header.directive.spec.ts +8 -0
  101. package/card/src/directives/card-header.directive.ts +11 -0
  102. package/card/src/directives/card-image.directive.spec.ts +8 -0
  103. package/card/src/directives/card-image.directive.ts +11 -0
  104. package/card/src/directives/public-api.ts +4 -0
  105. package/card/src/index.ts +1 -0
  106. package/card/src/public-api.ts +3 -0
  107. package/card/src/types/card-state.type.ts +1 -0
  108. package/card/src/types/card-style.type.ts +1 -0
  109. package/card/src/types/hover-effect.type.ts +1 -0
  110. package/card/src/types/public-api.ts +5 -0
  111. package/card/src/types/ribbon-style.type.ts +1 -0
  112. package/card/src/types/status-position.type.ts +1 -0
  113. package/card/src/upd-card.module.ts +32 -0
  114. package/dropdown/ng-package.json +7 -0
  115. package/dropdown/src/dropdown.component.html +32 -0
  116. package/dropdown/src/dropdown.component.scss +19 -0
  117. package/dropdown/src/dropdown.component.spec.ts +23 -0
  118. package/dropdown/src/dropdown.component.ts +182 -0
  119. package/dropdown/src/index.ts +1 -0
  120. package/dropdown/src/models/dropdown-item.ts +22 -0
  121. package/dropdown/src/models/dropdown-item.type.ts +1 -0
  122. package/dropdown/src/models/public-api.ts +2 -0
  123. package/dropdown/src/public-api.ts +3 -0
  124. package/dropdown/src/upd-dropdown.module.ts +25 -0
  125. package/form/ng-package.json +7 -0
  126. package/form/src/form.module.ts +10 -0
  127. package/form/src/index.ts +1 -0
  128. package/form/src/public-api.ts +1 -0
  129. package/form-controls/checkbox/ng-package.json +7 -0
  130. package/form-controls/checkbox/src/checkbox.component.html +7 -0
  131. package/form-controls/checkbox/src/checkbox.component.scss +0 -0
  132. package/form-controls/checkbox/src/checkbox.component.spec.ts +23 -0
  133. package/form-controls/checkbox/src/checkbox.component.ts +48 -0
  134. package/form-controls/checkbox/src/index.ts +1 -0
  135. package/form-controls/checkbox/src/public-api.ts +3 -0
  136. package/form-controls/checkbox/src/upd-checkbox.module.ts +19 -0
  137. package/form-controls/input/ng-package.json +7 -0
  138. package/form-controls/input/src/directives/input-append.directive.spec.ts +8 -0
  139. package/form-controls/input/src/directives/input-append.directive.ts +11 -0
  140. package/form-controls/input/src/directives/input-prepend.directive.spec.ts +8 -0
  141. package/form-controls/input/src/directives/input-prepend.directive.ts +11 -0
  142. package/form-controls/input/src/directives/public-api.ts +2 -0
  143. package/form-controls/input/src/index.ts +1 -0
  144. package/form-controls/input/src/input.component.html +82 -0
  145. package/form-controls/input/src/input.component.scss +13 -0
  146. package/form-controls/input/src/input.component.spec.ts +23 -0
  147. package/form-controls/input/src/input.component.ts +124 -0
  148. package/form-controls/input/src/public-api.ts +4 -0
  149. package/form-controls/input/src/types/input.type.ts +1 -0
  150. package/form-controls/input/src/types/loader-position.type.ts +1 -0
  151. package/form-controls/input/src/types/public-api.ts +2 -0
  152. package/form-controls/input/src/upd-input.module.ts +29 -0
  153. package/form-controls/radio/ng-package.json +7 -0
  154. package/form-controls/radio/src/index.ts +1 -0
  155. package/form-controls/radio/src/public-api.ts +2 -0
  156. package/form-controls/radio/src/radio.component.html +7 -0
  157. package/form-controls/radio/src/radio.component.scss +0 -0
  158. package/form-controls/radio/src/radio.component.spec.ts +23 -0
  159. package/form-controls/radio/src/radio.component.ts +47 -0
  160. package/form-controls/radio/src/upd-radio.module.ts +17 -0
  161. package/form-controls/select/ng-package.json +7 -0
  162. package/form-controls/select/src/components/multiple/select-multiple.component.html +41 -0
  163. package/form-controls/select/src/components/multiple/select-multiple.component.scss +6 -0
  164. package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +21 -0
  165. package/form-controls/select/src/components/multiple/select-multiple.component.ts +69 -0
  166. package/form-controls/select/src/components/shared.scss +40 -0
  167. package/form-controls/select/src/components/single/select.component.html +53 -0
  168. package/form-controls/select/src/components/single/select.component.scss +3 -0
  169. package/form-controls/select/src/components/single/select.component.spec.ts +23 -0
  170. package/form-controls/select/src/components/single/select.component.ts +58 -0
  171. package/form-controls/select/src/index.ts +1 -0
  172. package/form-controls/select/src/models/abstractions/base-select.component.ts +259 -0
  173. package/form-controls/select/src/models/public-api.ts +1 -0
  174. package/form-controls/select/src/models/select-item.ts +26 -0
  175. package/form-controls/select/src/public-api.ts +4 -0
  176. package/form-controls/select/src/upd-select.module.ts +32 -0
  177. package/form-controls/textarea/ng-package.json +7 -0
  178. package/form-controls/textarea/src/index.ts +1 -0
  179. package/form-controls/textarea/src/public-api.ts +2 -0
  180. package/form-controls/textarea/src/textarea.component.html +8 -0
  181. package/form-controls/textarea/src/textarea.component.scss +0 -0
  182. package/form-controls/textarea/src/textarea.component.spec.ts +23 -0
  183. package/form-controls/textarea/src/textarea.component.ts +47 -0
  184. package/form-controls/textarea/src/upd-textarea.module.ts +17 -0
  185. package/form-controls/time-picker/ng-package.json +7 -0
  186. package/form-controls/time-picker/src/assets/i18n/en.json +5 -0
  187. package/form-controls/time-picker/src/assets/i18n/pt.json +5 -0
  188. package/form-controls/time-picker/src/index.ts +1 -0
  189. package/form-controls/time-picker/src/public-api.ts +3 -0
  190. package/form-controls/time-picker/src/time-picker.component.html +17 -0
  191. package/form-controls/time-picker/src/time-picker.component.scss +10 -0
  192. package/form-controls/time-picker/src/time-picker.component.spec.ts +21 -0
  193. package/form-controls/time-picker/src/time-picker.component.ts +110 -0
  194. package/form-controls/time-picker/src/time-selector/time-selector.component.html +44 -0
  195. package/form-controls/time-picker/src/time-selector/time-selector.component.scss +47 -0
  196. package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +21 -0
  197. package/form-controls/time-picker/src/time-selector/time-selector.component.ts +107 -0
  198. package/form-controls/time-picker/src/upd-time-picker.module.ts +39 -0
  199. package/layout/ng-package.json +7 -0
  200. package/layout/src/abstractions/base-page.component.ts +21 -0
  201. package/layout/src/abstractions/public-api.ts +1 -0
  202. package/layout/src/assets/i18n/en.json +5 -0
  203. package/layout/src/assets/i18n/pt.json +5 -0
  204. package/layout/src/index.ts +1 -0
  205. package/layout/src/layouts/blank-layout/blank-layout.component.html +1 -0
  206. package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
  207. package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +23 -0
  208. package/layout/src/layouts/blank-layout/blank-layout.component.ts +10 -0
  209. package/layout/src/layouts/blank-layout/blank-layout.module.ts +17 -0
  210. package/layout/src/layouts/public-api.ts +4 -0
  211. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +14 -0
  212. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
  213. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +23 -0
  214. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +31 -0
  215. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +52 -0
  216. package/layout/src/models/public-api.ts +1 -0
  217. package/layout/src/models/upd-layout-config.model.ts +71 -0
  218. package/layout/src/models/upd-layout.config.ts +37 -0
  219. package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +21 -0
  220. package/layout/src/pages/auth-flow/auth-flow.module.ts +29 -0
  221. package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +1 -0
  222. package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
  223. package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +23 -0
  224. package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +10 -0
  225. package/layout/src/pages/auth-flow/login/login.component.html +96 -0
  226. package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
  227. package/layout/src/pages/auth-flow/login/login.component.spec.ts +23 -0
  228. package/layout/src/pages/auth-flow/login/login.component.ts +26 -0
  229. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +1 -0
  230. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
  231. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +23 -0
  232. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +10 -0
  233. package/layout/src/pages/auth-flow/public-api.ts +5 -0
  234. package/layout/src/pages/public-api.ts +1 -0
  235. package/layout/src/partials/footer/footer-copyright.directive.spec.ts +8 -0
  236. package/layout/src/partials/footer/footer-copyright.directive.ts +9 -0
  237. package/layout/src/partials/footer/footer.component.html +30 -0
  238. package/layout/src/partials/footer/footer.component.scss +0 -0
  239. package/{src/lib/components.component.spec.ts → layout/src/partials/footer/footer.component.spec.ts} +6 -6
  240. package/layout/src/partials/footer/footer.component.ts +73 -0
  241. package/layout/src/partials/footer/public-api.ts +2 -0
  242. package/layout/src/partials/header/header-style.type.ts +1 -0
  243. package/layout/src/partials/header/header.component.html +163 -0
  244. package/layout/src/partials/header/header.component.scss +0 -0
  245. package/layout/src/partials/header/header.component.spec.ts +23 -0
  246. package/layout/src/partials/header/header.component.ts +86 -0
  247. package/layout/src/partials/header/public-api.ts +2 -0
  248. package/layout/src/partials/page-header/page-header.component.html +19 -0
  249. package/layout/src/partials/page-header/page-header.component.scss +0 -0
  250. package/layout/src/partials/page-header/page-header.component.spec.ts +23 -0
  251. package/layout/src/partials/page-header/page-header.component.ts +11 -0
  252. package/layout/src/partials/page-header/public-api.ts +1 -0
  253. package/layout/src/partials/public-api.ts +4 -0
  254. package/layout/src/partials/sidebar/public-api.ts +1 -0
  255. package/layout/src/partials/sidebar/sidebar.component.html +62 -0
  256. package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
  257. package/layout/src/partials/sidebar/sidebar.component.spec.ts +23 -0
  258. package/layout/src/partials/sidebar/sidebar.component.ts +161 -0
  259. package/layout/src/public-api.ts +7 -0
  260. package/layout/src/services/public-api.ts +1 -0
  261. package/{src/lib/components.service.spec.ts → layout/src/services/upd-layout-config.service.spec.ts} +4 -4
  262. package/layout/src/services/upd-layout-config.service.ts +20 -0
  263. package/layout/src/tools/layout.constants.ts +18 -0
  264. package/layout/src/upd-layout.module.ts +34 -0
  265. package/link/ng-package.json +7 -0
  266. package/link/src/index.ts +1 -0
  267. package/link/src/link.component.html +3 -0
  268. package/link/src/link.component.scss +3 -0
  269. package/link/src/link.component.spec.ts +23 -0
  270. package/link/src/link.component.ts +48 -0
  271. package/link/src/public-api.ts +3 -0
  272. package/link/src/target.type.ts +1 -0
  273. package/link/src/upd-link.module.ts +17 -0
  274. package/list/ng-package.json +7 -0
  275. package/list/src/assets/i18n/en.json +5 -0
  276. package/list/src/assets/i18n/pt.json +5 -0
  277. package/list/src/index.ts +1 -0
  278. package/list/src/list.component.html +58 -0
  279. package/list/src/list.component.scss +21 -0
  280. package/list/src/list.component.spec.ts +23 -0
  281. package/list/src/list.component.ts +147 -0
  282. package/list/src/models/badge-position.type.ts +1 -0
  283. package/list/src/models/list-item.model.ts +35 -0
  284. package/list/src/models/list-item.ts +21 -0
  285. package/list/src/models/public-api.ts +2 -0
  286. package/list/src/public-api.ts +3 -0
  287. package/list/src/upd-list.module.ts +30 -0
  288. package/ng-package.json +9 -6
  289. package/package.json +8 -5
  290. package/popover/ng-package.json +7 -0
  291. package/popover/src/index.ts +1 -0
  292. package/popover/src/popover.component.html +20 -0
  293. package/popover/src/popover.component.scss +8 -0
  294. package/popover/src/popover.component.spec.ts +23 -0
  295. package/popover/src/popover.component.ts +53 -0
  296. package/popover/src/popover.directive.spec.ts +8 -0
  297. package/popover/src/popover.directive.ts +128 -0
  298. package/popover/src/public-api.ts +3 -0
  299. package/popover/src/upd-popover.module.ts +20 -0
  300. package/src/lib/index.ts +1 -0
  301. package/src/lib/public-api.ts +2 -0
  302. package/src/lib/types/component-size.type.ts +1 -0
  303. package/src/lib/types/public-api.ts +2 -0
  304. package/src/lib/types/validation-status.type.ts +1 -0
  305. package/src/lib/upd-components.module.ts +6 -0
  306. package/src/public-api.ts +1 -7
  307. package/tsconfig.lib.json +11 -11
  308. package/src/lib/components.component.ts +0 -14
  309. package/src/lib/components.module.ts +0 -17
  310. package/src/lib/components.service.ts +0 -9
@@ -0,0 +1,15 @@
1
+ @if $font-google {
2
+ $google-font-url: "https://fonts.googleapis.com/css2?family=" + str-replace($font-google, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
3
+ @import url($google-font-url);
4
+ }
5
+
6
+ @if $font-google-monospaced {
7
+ $google-font-monospaced-url: "https://fonts.googleapis.com/css2?family=" + str-replace($font-google-monospaced, " ", "+") + ":wght@300;400;500;600;700&display=swap" !default;
8
+ @import url($google-font-monospaced-url);
9
+ }
10
+
11
+ @if $font-icons {
12
+ @each $icon-font in $font-icons {
13
+ @import url($icon-font);
14
+ }
15
+ }
@@ -0,0 +1,62 @@
1
+ @keyframes pulse {
2
+ from {
3
+ opacity: 1;
4
+ transform: scale3d(.8, .8, .8)
5
+ }
6
+
7
+ 50% {
8
+ transform: scale3d(1, 1, 1);
9
+ opacity: 1
10
+ }
11
+
12
+ to {
13
+ opacity: 1;
14
+ transform: scale3d(.8, .8, .8)
15
+ }
16
+ }
17
+
18
+ @keyframes tada {
19
+ 0% {
20
+ transform: scale3d(1, 1, 1)
21
+ }
22
+
23
+ 10%, 5% {
24
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -5deg)
25
+ }
26
+
27
+ 15%, 25%, 35%, 45% {
28
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 5deg)
29
+ }
30
+
31
+ 20%, 30%, 40% {
32
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -5deg)
33
+ }
34
+
35
+ 50% {
36
+ transform: scale3d(1, 1, 1)
37
+ }
38
+ }
39
+
40
+ @keyframes rotate-360 {
41
+ from {
42
+ transform: rotate(0deg);
43
+ }
44
+
45
+ to {
46
+ transform: rotate(360deg);
47
+ }
48
+ }
49
+
50
+ @keyframes blink {
51
+ from {
52
+ opacity: 0;
53
+ }
54
+
55
+ 50% {
56
+ opacity: 1;
57
+ }
58
+
59
+ to {
60
+ opacity: 0;
61
+ }
62
+ }
@@ -0,0 +1,61 @@
1
+ // stylelint-disable property-no-vendor-prefix
2
+ body {
3
+ letter-spacing: $body-letter-spacing;
4
+ touch-action: manipulation;
5
+ text-rendering: optimizeLegibility;
6
+ font-feature-settings: "liga" 0;
7
+ position: relative;
8
+ min-height: 100%;
9
+ height: 100%;
10
+
11
+ -webkit-font-smoothing: antialiased;
12
+ -moz-osx-font-smoothing: grayscale;
13
+
14
+ @media print {
15
+ background: transparent;
16
+ }
17
+ }
18
+
19
+ @include scrollbar;
20
+
21
+ //
22
+ // Fluid container
23
+ //
24
+ .layout-fluid {
25
+ .container,
26
+ [class^="container-"],
27
+ [class*=" container-"] {
28
+ max-width: 100%;
29
+ }
30
+ }
31
+
32
+ //
33
+ // Boxed container
34
+ //
35
+ .layout-boxed {
36
+ --#{$prefix}theme-boxed-border-radius: 0;
37
+ --#{$prefix}theme-boxed-width: #{map-get($container-max-widths, xxl)};
38
+
39
+ @include media-breakpoint-up(md) {
40
+ background: $dark linear-gradient(to right, rgba(#fff, .1), transparent) fixed;
41
+ padding: 1rem;
42
+ --#{$prefix}theme-boxed-border-radius: #{$border-radius};
43
+ }
44
+
45
+ .page {
46
+ margin: 0 auto;
47
+ max-width: var(--#{$prefix}theme-boxed-width);
48
+ border-radius: var(--#{$prefix}theme-boxed-border-radius);
49
+ color: var(--#{$prefix}body-color);
50
+
51
+ @include media-breakpoint-up(md) {
52
+ border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
53
+ background: var(--#{$prefix}body-bg);
54
+ }
55
+
56
+ > .navbar:first-child {
57
+ border-top-left-radius: var(--#{$prefix}theme-boxed-border-radius);
58
+ border-top-right-radius: var(--#{$prefix}theme-boxed-border-radius);
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,72 @@
1
+ // stylelint-disable declaration-no-important
2
+
3
+ body {
4
+ &:not(.theme-dark):not([data-bs-theme=dark]) {
5
+ .hide-theme-light {
6
+ display: none !important;
7
+ }
8
+ }
9
+
10
+ &.theme-dark,
11
+ &[data-bs-theme=dark] {
12
+ .hide-theme-dark {
13
+ display: none !important;
14
+ }
15
+ }
16
+ }
17
+
18
+ @if $enable-dark-mode {
19
+ @include color-mode(dark, true) {
20
+ --#{$prefix}body-color: #{$body-color-dark};
21
+ --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};
22
+ --#{$prefix}muted: #{$text-secondary-dark};
23
+
24
+ --#{$prefix}body-bg: #{$darken-dark};
25
+ --#{$prefix}body-bg-rgb: #{to-rgb($darken-dark)};
26
+ --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};
27
+ --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};
28
+
29
+ --#{$prefix}bg-forms: #{$darken-dark};
30
+ --#{$prefix}bg-surface: #{$dark};
31
+ --#{$prefix}bg-surface-dark: #{$darken-dark};
32
+ --#{$prefix}bg-surface-secondary: #{$lighten-dark};
33
+ --#{$prefix}bg-surface-tertiary: #{$darken-dark};
34
+
35
+ --#{$prefix}link-color: #{lighten($primary, 8%)};
36
+ --#{$prefix}link-hover-color: #ffdd00; // #{$primary};
37
+
38
+ --#{$prefix}active-bg: #{$lighten-dark};
39
+ --#{$prefix}disabled-color: var(--#{$prefix}gray-700);
40
+
41
+ --#{$prefix}border-color: var(--#{$prefix}dark-mode-border-color);
42
+ --#{$prefix}border-color-translucent: var(
43
+ --#{$prefix}dark-mode-border-color-translucent
44
+ );
45
+ --#{$prefix}border-dark-color: var(--#{$prefix}dark-mode-border-dark-color);
46
+ --#{$prefix}border-color-active: var(
47
+ --#{$prefix}dark-mode-border-color-active
48
+ );
49
+
50
+ --#{$prefix}btn-color: #{$darken-dark};
51
+
52
+ --#{$prefix}code-color: var(--#{$prefix}body-color);
53
+ --#{$prefix}code-bg: #{$border-dark-color-dark};
54
+
55
+ @each $color, $value in $theme-colors {
56
+ --#{$prefix}#{$color}-lt: #{theme-color-lighter($value, $dark)};
57
+ --#{$prefix}#{$color}-lt-rgb: #{to-rgb(
58
+ theme-color-lighter($value, $dark)
59
+ )};
60
+ }
61
+
62
+ .navbar-brand-autodark {
63
+ .navbar-brand-image {
64
+ @include autodark-image;
65
+ }
66
+ }
67
+ }
68
+
69
+ body[data-bs-theme=dark] [data-bs-theme=light] {
70
+ @extend [data-bs-theme=dark];
71
+ }
72
+ }
@@ -0,0 +1,12 @@
1
+ .footer {
2
+ border-top: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $footer-border-color;
3
+ background-color: $footer-bg;
4
+ padding: $footer-padding-y 0;
5
+ color: $footer-color;
6
+ margin-top: auto;
7
+ }
8
+
9
+ .footer-transparent {
10
+ background-color: transparent;
11
+ border-top: 0;
12
+ }
@@ -0,0 +1,380 @@
1
+ @mixin navbar-vertical-nav {
2
+ .navbar-collapse {
3
+ flex-direction: column;
4
+
5
+ [class^="container"] {
6
+ flex-direction: column;
7
+ align-items: stretch;
8
+ padding: 0;
9
+ }
10
+
11
+ .navbar-nav {
12
+ margin-left: 0;
13
+ margin-right: 0;
14
+
15
+ .nav-link {
16
+ padding: .5rem calc(#{$container-padding-x} / 2);
17
+ justify-content: flex-start;
18
+ }
19
+ }
20
+
21
+ .dropdown-menu-columns {
22
+ flex-direction: column;
23
+ }
24
+
25
+ .dropdown-menu {
26
+ padding: 0;
27
+ background: transparent;
28
+ position: static;
29
+ color: inherit;
30
+ box-shadow: none;
31
+ border: none;
32
+ min-width: 0;
33
+ margin: 0;
34
+
35
+ .dropdown-item {
36
+ min-width: 0;
37
+ display: flex;
38
+ width: auto;
39
+ padding-left: add(calc(#{$container-padding-x} / 2), 1.75rem);
40
+ color: inherit;
41
+
42
+ &.active,
43
+ &:active {
44
+ background: var(--#{$prefix}navbar-active-bg);
45
+ }
46
+ }
47
+
48
+ .dropdown-menu .dropdown-item {
49
+ padding-left: add(calc(#{$container-padding-x} / 2), 3.25rem);
50
+ }
51
+
52
+ .dropdown-menu .dropdown-menu .dropdown-item {
53
+ padding-left: add(calc(#{$container-padding-x} / 2), 4.75rem);
54
+ }
55
+ }
56
+
57
+ .dropdown-toggle:after {
58
+ margin-left: auto;
59
+ }
60
+
61
+ .nav-item.active:after {
62
+ border-bottom-width: 0;
63
+ border-left-width: 3px;
64
+ right: auto;
65
+ top: 0;
66
+ bottom: 0;
67
+ }
68
+ }
69
+ }
70
+
71
+ /**
72
+ Navbar
73
+ */
74
+ .navbar {
75
+ --#{$prefix}navbar-bg: var(--#{$prefix}bg-surface);
76
+ --#{$prefix}navbar-border-width: #{$navbar-border-width};
77
+ --#{$prefix}navbar-active-border-color: #{$navbar-active-border-color};
78
+ --#{$prefix}navbar-active-bg: #{$navbar-light-active-bg};
79
+ --#{$prefix}navbar-color: var(--#{$prefix}body-color);
80
+ --#{$prefix}navbar-border-color: #{$navbar-border-color};
81
+ align-items: stretch;
82
+ min-height: $navbar-height;
83
+ box-shadow: inset 0 calc(-1 * var(--#{$prefix}navbar-border-width)) 0 0 var(--#{$prefix}navbar-border-color);
84
+ background: var(--#{$prefix}navbar-bg);
85
+ color: var(--#{$prefix}navbar-color);
86
+
87
+ .navbar-collapse & {
88
+ flex-grow: 1;
89
+ }
90
+
91
+ &.collapsing {
92
+ min-height: 0;
93
+ }
94
+
95
+ .dropdown-menu {
96
+ position: absolute;
97
+ z-index: $zindex-fixed;
98
+ }
99
+
100
+ .navbar-nav {
101
+ min-height: subtract($navbar-height, 2 * $navbar-padding-y);
102
+
103
+ .nav-link {
104
+ position: relative;
105
+ min-width: 2rem;
106
+ min-height: 2rem;
107
+ justify-content: center;
108
+ border-radius: var(--#{$prefix}border-radius);
109
+
110
+ .badge {
111
+ position: absolute;
112
+ top: .375rem;
113
+ right: .375rem;
114
+ transform: translate(50%, -50%);
115
+ }
116
+ }
117
+ }
118
+ }
119
+
120
+ .navbar-nav {
121
+ margin: 0;
122
+ padding: 0;
123
+ }
124
+
125
+ .navbar-expand {
126
+ @each $breakpoint in map-keys($grid-breakpoints) {
127
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
128
+ $infix: breakpoint-infix($next, $grid-breakpoints);
129
+
130
+ &#{$infix} {
131
+ @include media-breakpoint-down(breakpoint-next($breakpoint)) {
132
+ @include navbar-vertical-nav;
133
+ }
134
+
135
+ @include media-breakpoint-up($next) {
136
+ .navbar-collapse {
137
+ width: auto;
138
+ flex: 1 1 auto;
139
+ }
140
+
141
+ .nav-item.active {
142
+ position: relative;
143
+
144
+ &:after {
145
+ content: "";
146
+ position: absolute;
147
+ left: 0;
148
+ right: 0;
149
+ bottom: -.25rem;
150
+ border: 0 var(--#{$prefix}border-style) var(--#{$prefix}navbar-active-border-color);
151
+ border-bottom-width: 2px;
152
+ }
153
+ }
154
+
155
+ &.navbar-vertical {
156
+ box-shadow: inset calc(-1 * var(--#{$prefix}navbar-border-width)) 0 0 0 var(--#{$prefix}navbar-border-color);
157
+
158
+ &.navbar-right {
159
+ box-shadow: inset calc(1 * var(--#{$prefix}navbar-border-width)) 0 0 0 var(--#{$prefix}navbar-border-color);
160
+ }
161
+ }
162
+
163
+ &.navbar-vertical {
164
+ ~ .navbar,
165
+ ~ .page-wrapper {
166
+ margin-left: $sidebar-width;
167
+ }
168
+ }
169
+
170
+ &.navbar-vertical.navbar-right {
171
+ ~ .navbar,
172
+ ~ .page-wrapper {
173
+ margin-left: 0;
174
+ margin-right: $sidebar-width;
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+
182
+ /**
183
+ Navbar brand
184
+ */
185
+ .navbar-brand {
186
+ display: inline-flex;
187
+ align-items: center;
188
+ font-weight: $navbar-brand-font-weight;
189
+ margin: 0;
190
+ line-height: 1;
191
+ gap: $spacer-2;
192
+ }
193
+
194
+ .navbar-brand-image {
195
+ height: $navbar-brand-image-height;
196
+ width: auto;
197
+ }
198
+
199
+ /**
200
+ Navbar toggler
201
+ */
202
+ .navbar-toggler {
203
+ border: 0;
204
+ width: $navbar-brand-image-height;
205
+ height: $navbar-brand-image-height;
206
+ position: relative;
207
+ display: flex;
208
+ align-items: center;
209
+ justify-content: center;
210
+ }
211
+
212
+ .navbar-toggler-icon {
213
+ height: 2px;
214
+ width: 1.25em;
215
+ background: currentColor;
216
+ border-radius: 10px;
217
+ @include transition(top $navbar-toggler-animation-time $navbar-toggler-animation-time, bottom $navbar-toggler-animation-time $navbar-toggler-animation-time, transform $navbar-toggler-animation-time, opacity 0s $navbar-toggler-animation-time);
218
+ position: relative;
219
+
220
+ &:before,
221
+ &:after {
222
+ content: "";
223
+ display: block;
224
+ height: inherit;
225
+ width: inherit;
226
+ border-radius: inherit;
227
+ background: inherit;
228
+ position: absolute;
229
+ left: 0;
230
+ @include transition(inherit);
231
+ }
232
+
233
+ &:before {
234
+ top: -.45em;
235
+ }
236
+
237
+ &:after {
238
+ bottom: -.45em;
239
+ }
240
+
241
+ .navbar-toggler[aria-expanded="true"] & {
242
+ transform: rotate(45deg);
243
+ @include transition(top $transition-time, bottom $transition-time, transform $transition-time $transition-time, opacity 0s $transition-time);
244
+
245
+ &:before {
246
+ top: 0;
247
+ transform: rotate(-90deg);
248
+ }
249
+
250
+ &:after {
251
+ bottom: 0;
252
+ opacity: 0;
253
+ }
254
+ }
255
+ }
256
+
257
+ /**
258
+ Navbar transparent
259
+ */
260
+ .navbar-transparent {
261
+ --#{$prefix}navbar-border-color: transparent !important;
262
+ background: transparent !important;
263
+ }
264
+
265
+ /**
266
+ Navbar nav
267
+ */
268
+ .navbar-nav {
269
+ align-items: stretch;
270
+
271
+ .nav-item {
272
+ display: flex;
273
+ flex-direction: column;
274
+ justify-content: center;
275
+ }
276
+ }
277
+
278
+ /**
279
+ Navbar side
280
+ */
281
+ .navbar-side {
282
+ margin: 0;
283
+ display: flex;
284
+ flex-direction: row;
285
+ align-items: center;
286
+ justify-content: space-around;
287
+ }
288
+
289
+ /**
290
+ Navbar vertical
291
+ */
292
+ @if $enable-navbar-vertical {
293
+ .navbar-vertical {
294
+ &.navbar-expand {
295
+ @each $breakpoint in map-keys($grid-breakpoints) {
296
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
297
+ $infix: breakpoint-infix($next, $grid-breakpoints);
298
+
299
+ &#{$infix} {
300
+ @include media-breakpoint-up($next) {
301
+ width: $sidebar-width;
302
+ position: fixed;
303
+ top: 0;
304
+ left: 0;
305
+ bottom: 0;
306
+ z-index: $zindex-fixed;
307
+ align-items: flex-start;
308
+ @include transition(transform $transition-time);
309
+ overflow-y: scroll;
310
+ padding: 0;
311
+
312
+ &.navbar-right {
313
+ left: auto;
314
+ right: 0;
315
+ }
316
+
317
+ .navbar-brand {
318
+ padding: (($navbar-height - $navbar-brand-image-height) * .5) 0;
319
+ justify-content: center;
320
+ }
321
+
322
+ .navbar-collapse {
323
+ align-items: stretch;
324
+ }
325
+
326
+ .navbar-nav {
327
+ flex-direction: column;
328
+ flex-grow: 1;
329
+ min-height: auto;
330
+
331
+ .nav-link {
332
+ padding-top: .5rem;
333
+ padding-bottom: .5rem;
334
+ }
335
+ }
336
+
337
+ > [class^="container"] {
338
+ flex-direction: column;
339
+ align-items: stretch;
340
+ min-height: 100%;
341
+ justify-content: flex-start;
342
+ padding: 0;
343
+ }
344
+
345
+ ~ .page {
346
+ padding-left: $sidebar-width;
347
+
348
+ [class^="container"] {
349
+ padding-left: 1.5rem;
350
+ padding-right: 1.5rem;
351
+ }
352
+ }
353
+
354
+ &.navbar-right ~ .page {
355
+ padding-left: 0;
356
+ padding-right: $sidebar-width;
357
+ }
358
+
359
+ @include navbar-vertical-nav;
360
+ }
361
+ }
362
+ }
363
+ }
364
+ }
365
+ }
366
+
367
+
368
+ .navbar-overlap {
369
+ &:after {
370
+ content: "";
371
+ height: $navbar-overlap-height;
372
+ position: absolute;
373
+ top: 100%;
374
+ left: 0;
375
+ right: 0;
376
+ background: inherit;
377
+ z-index: -1;
378
+ box-shadow: inherit;
379
+ }
380
+ }