@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,265 @@
1
+ //
2
+ // Button
3
+ //
4
+ .btn {
5
+ --#{$prefix}btn-icon-size: #{$icon-size};
6
+ --#{$prefix}btn-bg: var(--#{$prefix}bg-surface);
7
+ --#{$prefix}btn-color: var(--#{$prefix}body-color);
8
+ --#{$prefix}btn-border-color: #{$btn-border-color};
9
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}btn-bg);
10
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}border-color-active);
11
+ --#{$prefix}btn-box-shadow: var(--#{$prefix}box-shadow-input);
12
+ --#{$prefix}btn-active-color: #{$active-color};
13
+ --#{$prefix}btn-active-bg: #{$active-bg};
14
+ --#{$prefix}btn-active-border-color: #{$active-border-color};
15
+
16
+ display: inline-flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ white-space: nowrap;
20
+ box-shadow: var(--#{$prefix}btn-box-shadow);
21
+
22
+ .icon {
23
+ width: var(--#{$prefix}btn-icon-size);
24
+ height: var(--#{$prefix}btn-icon-size);
25
+ min-width: var(--#{$prefix}btn-icon-size);
26
+ margin: 0 calc(var(--#{$prefix}btn-padding-x) / 2) 0 calc(var(--#{$prefix}btn-padding-x) / -4);
27
+ vertical-align: bottom;
28
+ color: inherit;
29
+ }
30
+
31
+ .avatar {
32
+ width: var(--#{$prefix}btn-icon-size);
33
+ height: var(--#{$prefix}btn-icon-size);
34
+ margin: 0 calc(var(--#{$prefix}btn-padding-x) / 2) 0 calc(var(--#{$prefix}btn-padding-x) / -4);
35
+ }
36
+
37
+ .icon-right {
38
+ margin: 0 calc(var(--#{$prefix}btn-padding-x) / -4) 0 calc(var(--#{$prefix}btn-padding-x) / 2);
39
+ }
40
+
41
+ .badge {
42
+ top: auto;
43
+ }
44
+
45
+ .btn-check + &:hover {
46
+ color: var(--#{$prefix}btn-hover-color);
47
+ background-color: var(--#{$prefix}btn-hover-bg);
48
+ border-color: var(--#{$prefix}btn-hover-border-color);
49
+ }
50
+ }
51
+
52
+ .btn-link {
53
+ color: $link-color;
54
+ background-color: transparent;
55
+ border-color: transparent;
56
+ box-shadow: none;
57
+
58
+ .icon {
59
+ color: inherit;
60
+ }
61
+
62
+ &:hover {
63
+ color: $link-hover-color;
64
+ border-color: transparent;
65
+ }
66
+ }
67
+
68
+ //
69
+ // Button color variations
70
+ //
71
+ @each $color, $value in $theme-colors {
72
+ .btn-#{$color} {
73
+ @if $color == 'dark' {
74
+ --#{$prefix}btn-border-color: var(--#{$prefix}dark-mode-border-color);
75
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}dark-mode-border-color-active);
76
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}dark-mode-border-color-active);
77
+ } @else {
78
+ --#{$prefix}btn-border-color: transparent;
79
+ --#{$prefix}btn-hover-border-color: transparent;
80
+ --#{$prefix}btn-active-border-color: transparent;
81
+ }
82
+
83
+ --#{$prefix}btn-color: var(--#{$prefix}#{$color}-fg);
84
+ --#{$prefix}btn-bg: var(--#{$prefix}#{$color});
85
+ --#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
86
+ --#{$prefix}btn-hover-bg: rgba(var(--#{$prefix}#{$color}-rgb), .8);
87
+ --#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
88
+ --#{$prefix}btn-active-bg: rgba(var(--#{$prefix}#{$color}-rgb), .8);
89
+ --#{$prefix}btn-disabled-bg: var(--#{$prefix}#{$color});
90
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color}-fg);
91
+ --#{$prefix}btn-box-shadow: var(--#{$prefix}box-shadow-input);
92
+ }
93
+
94
+ .btn-outline-#{$color} {
95
+ --#{$prefix}btn-color: var(--#{$prefix}#{$color});
96
+ --#{$prefix}btn-bg: transparent;
97
+ --#{$prefix}btn-border-color: var(--#{$prefix}#{$color});
98
+ --#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
99
+ --#{$prefix}btn-hover-border-color: transparent;
100
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color});
101
+ --#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
102
+ --#{$prefix}btn-active-bg: var(--#{$prefix}#{$color});
103
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
104
+ --#{$prefix}btn-disabled-border-color: var(--#{$prefix}#{$color});
105
+ }
106
+ }
107
+
108
+ @each $name, $color in $theme-colors {
109
+ .btn-ghost-#{$name} {
110
+ --#{$prefix}btn-color: var(--#{$prefix}#{$name});
111
+ --#{$prefix}btn-bg: transparent;
112
+ --#{$prefix}btn-border-color: transparent;
113
+ --#{$prefix}btn-hover-color: var(--#{$prefix}#{$name}-fg);
114
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}#{$name});
115
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}#{$name});
116
+ --#{$prefix}btn-active-color: var(--#{$prefix}#{$name}-fg);
117
+ --#{$prefix}btn-active-bg: var(--#{$prefix}#{$name});
118
+ --#{$prefix}btn-active-border-color: transparent;
119
+ --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
120
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$name});
121
+ --#{$prefix}btn-disabled-bg: transparent;
122
+ --#{$prefix}btn-disabled-border-color: transparent;
123
+ --#{$prefix}gradient: none;
124
+ --#{$prefix}btn-box-shadow: none;
125
+ }
126
+ }
127
+
128
+ //
129
+ // Button sizes
130
+ //
131
+ .btn-sm, .btn-group-sm > .btn {
132
+ --#{$prefix}btn-line-height: 1.5;
133
+ --#{$prefix}btn-icon-size: .75rem;
134
+ }
135
+
136
+ .btn-lg, .btn-group-lg > .btn {
137
+ --#{$prefix}btn-line-height: 1.5;
138
+ --#{$prefix}btn-icon-size: 2rem;
139
+ }
140
+
141
+ //
142
+ // Button shapes
143
+ //
144
+ .btn-pill {
145
+ padding-right: 1.5em;
146
+ padding-left: 1.5em;
147
+ border-radius: 10rem;
148
+
149
+ &[class*="btn-icon"] {
150
+ padding: 0.375rem 15px;
151
+ }
152
+ }
153
+
154
+ .btn-square {
155
+ border-radius: 0;
156
+ }
157
+
158
+ //
159
+ // Icon button
160
+ //
161
+ .btn-icon {
162
+ min-width: calc((var(--#{$prefix}btn-line-height) * var(--#{$prefix}btn-font-size)) + (var(--#{$prefix}btn-padding-y) * 2) + (var(--#{$prefix}btn-border-width) * 2));
163
+ min-height: calc((var(--#{$prefix}btn-line-height) * var(--#{$prefix}btn-font-size)) + (var(--#{$prefix}btn-padding-y) * 2) + (var(--#{$prefix}btn-border-width) * 2));
164
+ padding-left: 0;
165
+ padding-right: 0;
166
+
167
+ .icon {
168
+ margin: calc(-1 * var(--#{$prefix}btn-padding-x));
169
+ }
170
+ }
171
+
172
+ //
173
+ // Button list
174
+ //
175
+ .btn-list {
176
+ @include elements-list;
177
+ }
178
+
179
+ //
180
+ // Button floating
181
+ //
182
+ .btn-floating {
183
+ position: fixed;
184
+ z-index: $zindex-fixed;
185
+ bottom: 1.5rem;
186
+ right: 1.5rem;
187
+ border-radius: $border-radius-pill;
188
+ }
189
+
190
+ //
191
+ // Button loading
192
+ //
193
+ .btn-loading {
194
+ position: relative;
195
+ color: transparent !important;
196
+ text-shadow: none !important;
197
+ pointer-events: none;
198
+
199
+ > * {
200
+ opacity: 0;
201
+ }
202
+
203
+ &:after {
204
+ content: "";
205
+ display: inline-block;
206
+ vertical-align: text-bottom;
207
+ border: $spinner-border-width var(--#{$prefix}border-style) currentColor;
208
+ border-right-color: transparent;
209
+ border-radius: $border-radius-pill;
210
+ color: var(--#{$prefix}btn-color);
211
+ position: absolute;
212
+ width: var(--#{$prefix}btn-icon-size);
213
+ height: var(--#{$prefix}btn-icon-size);
214
+ left: calc(50% - var(--#{$prefix}btn-icon-size) / 2);
215
+ top: calc(50% - var(--#{$prefix}btn-icon-size) / 2);
216
+ animation: spinner-border .75s linear infinite;
217
+ }
218
+ }
219
+
220
+ //
221
+ // Action button
222
+ //
223
+ .btn-action {
224
+ padding: 0;
225
+ border: 0;
226
+ color: var(--#{$prefix}secondary);
227
+ display: inline-flex;
228
+ width: 2rem;
229
+ height: 2rem;
230
+ align-items: center;
231
+ justify-content: center;
232
+ border-radius: var(--#{$prefix}border-radius);
233
+ background: transparent;
234
+
235
+ &:after {
236
+ content: none;
237
+ }
238
+
239
+ &:focus {
240
+ outline: none;
241
+ box-shadow: none;
242
+ }
243
+
244
+ &:hover,
245
+ &.show {
246
+ color: var(--#{$prefix}body-color);
247
+ background: var(--#{$prefix}active-bg);
248
+ }
249
+
250
+ &.show {
251
+ color: var(--#{$prefix}primary);
252
+ }
253
+
254
+ .icon {
255
+ margin: 0;
256
+ width: 1.25rem;
257
+ height: 1.25rem;
258
+ font-size: 1.25rem;
259
+ stroke-width: 1;
260
+ }
261
+ }
262
+
263
+ .btn-actions {
264
+ display: flex;
265
+ }
@@ -0,0 +1,104 @@
1
+ .calendar {
2
+ display: block;
3
+ font-size: $font-size-sm;
4
+ border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color);
5
+ border-radius: var(--#{$prefix}border-radius);
6
+ }
7
+
8
+ .calendar-nav {
9
+ display: flex;
10
+ align-items: center;
11
+ }
12
+
13
+ .calendar-title {
14
+ flex: 1;
15
+ text-align: center;
16
+ }
17
+
18
+ .calendar-body,
19
+ .calendar-header {
20
+ display: flex;
21
+ flex-wrap: wrap;
22
+ justify-content: flex-start;
23
+ padding: .5rem 0;
24
+ }
25
+
26
+ .calendar-header {
27
+ color: var(--#{$prefix}secondary);
28
+ }
29
+
30
+ .calendar-date {
31
+ flex: 0 0 divide(100%, 7);
32
+ max-width: divide(100%, 7);
33
+ padding: .2rem;
34
+ text-align: center;
35
+ border: 0;
36
+
37
+ &.prev-month,
38
+ &.next-month {
39
+ opacity: .25;
40
+ }
41
+
42
+ .date-item {
43
+ position: relative;
44
+ display: inline-block;
45
+ width: 1.4rem;
46
+ height: 1.4rem;
47
+ line-height: 1.4rem;
48
+ color: #66758c;
49
+ text-align: center;
50
+ text-decoration: none;
51
+ white-space: nowrap;
52
+ vertical-align: middle;
53
+ cursor: pointer;
54
+ background: 0 0;
55
+ border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
56
+ border-radius: $border-radius-pill;
57
+ outline: 0;
58
+ @include transition(background $transition-time, border $transition-time, box-shadow .32s, color $transition-time);
59
+
60
+ &:hover {
61
+ color: var(--#{$prefix}primary);
62
+ text-decoration: none;
63
+ background: #fefeff;
64
+ border-color: var(--#{$prefix}border-color);
65
+ }
66
+ }
67
+
68
+ .date-today {
69
+ color: var(--#{$prefix}primary);
70
+ border-color: var(--#{$prefix}border-color);
71
+ }
72
+ }
73
+
74
+ .calendar-range {
75
+ position: relative;
76
+
77
+ &:before {
78
+ position: absolute;
79
+ top: 50%;
80
+ right: 0;
81
+ left: 0;
82
+ height: 1.4rem;
83
+ content: "";
84
+ background: rgba(var(--#{$prefix}primary-rgb), .1);
85
+ transform: translateY(-50%);
86
+ }
87
+
88
+ &.range-start,
89
+ &.range-end {
90
+ .date-item {
91
+ color: $white;
92
+ background: var(--#{$prefix}primary);
93
+ border-color: var(--#{$prefix}primary);
94
+ }
95
+ }
96
+
97
+ &.range-start:before {
98
+ left: 50%;
99
+ }
100
+
101
+ &.range-end:before {
102
+ right: 50%;
103
+ }
104
+ }