@updevs/components 1.0.0-alpha.40 → 1.0.0-alpha.41

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 (95) hide show
  1. package/assets/styles/_core.scss +9 -0
  2. package/assets/styles/_debug.scss +49 -0
  3. package/assets/styles/_props.scss +91 -0
  4. package/assets/styles/_utilities-marketing.scss +209 -0
  5. package/assets/styles/_utilities.scss +127 -92
  6. package/assets/styles/_variables-dark.scss +8 -6
  7. package/assets/styles/_variables.scss +326 -257
  8. package/assets/styles/helpers/_index.scss +143 -0
  9. package/assets/styles/layout/_core.scss +3 -2
  10. package/assets/styles/layout/_dark.scss +40 -35
  11. package/assets/styles/layout/_footer.scss +1 -1
  12. package/assets/styles/layout/_navbar.scss +31 -19
  13. package/assets/styles/layout/_page.scss +6 -5
  14. package/assets/styles/layout/_root.scss +26 -34
  15. package/assets/styles/marketing/_browser.scss +67 -0
  16. package/assets/styles/marketing/_core.scss +8 -0
  17. package/assets/styles/marketing/_filters.scss +0 -0
  18. package/assets/styles/marketing/_hero.scss +70 -0
  19. package/assets/styles/marketing/_pricing.scss +111 -0
  20. package/assets/styles/marketing/_sections.scss +124 -0
  21. package/assets/styles/marketing/_shape.scss +31 -0
  22. package/assets/styles/mixins/_functions.scss +53 -0
  23. package/assets/styles/mixins/_mixins.scss +9 -9
  24. package/assets/styles/ui/_accordion.scss +165 -11
  25. package/assets/styles/ui/_alerts.scss +80 -38
  26. package/assets/styles/ui/_avatars.scss +36 -9
  27. package/assets/styles/ui/_badges.scss +47 -13
  28. package/assets/styles/ui/_button-group.scss +1 -1
  29. package/assets/styles/ui/_buttons.scss +33 -37
  30. package/assets/styles/ui/_calendars.scss +2 -2
  31. package/assets/styles/ui/_cards.scss +9 -0
  32. package/assets/styles/ui/_carousel.scss +1 -1
  33. package/assets/styles/ui/_charts.scss +1 -1
  34. package/assets/styles/ui/_chat.scss +38 -0
  35. package/assets/styles/ui/_close.scss +54 -1
  36. package/assets/styles/ui/_datagrid.scss +1 -1
  37. package/assets/styles/ui/_dropdowns.scss +3 -0
  38. package/assets/styles/ui/_empty.scss +0 -5
  39. package/assets/styles/ui/_flags.scss +2 -2
  40. package/assets/styles/ui/_forms.scss +33 -7
  41. package/assets/styles/ui/_grid.scss +1 -1
  42. package/assets/styles/ui/_icons.scss +1 -1
  43. package/assets/styles/ui/_images.scss +4 -0
  44. package/assets/styles/ui/_lists.scss +12 -16
  45. package/assets/styles/ui/_loaders.scss +1 -1
  46. package/assets/styles/ui/_markdown.scss +15 -4
  47. package/assets/styles/ui/_modals.scss +2 -2
  48. package/assets/styles/ui/_nav.scss +17 -3
  49. package/assets/styles/ui/_offcanvas.scss +2 -2
  50. package/assets/styles/ui/_pagination.scss +2 -0
  51. package/assets/styles/ui/_payments.scss +1 -1
  52. package/assets/styles/ui/_placeholder.scss +1 -1
  53. package/assets/styles/ui/_progress.scss +1 -1
  54. package/assets/styles/ui/_ribbons.scss +1 -0
  55. package/assets/styles/ui/_segmented.scss +101 -0
  56. package/assets/styles/ui/_signature.scss +15 -0
  57. package/assets/styles/ui/_social.scss +52 -0
  58. package/assets/styles/ui/_status.scss +1 -1
  59. package/assets/styles/ui/_steps.scss +5 -1
  60. package/assets/styles/ui/_switch-icon.scss +1 -1
  61. package/assets/styles/ui/_tables.scss +27 -1
  62. package/assets/styles/ui/_tags.scss +1 -1
  63. package/assets/styles/ui/_timeline.scss +1 -1
  64. package/assets/styles/ui/_toasts.scss +0 -1
  65. package/assets/styles/ui/_tracking.scss +1 -1
  66. package/assets/styles/ui/_type.scss +169 -8
  67. package/assets/styles/ui/forms/_form-check.scss +1 -1
  68. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  69. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  70. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  71. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  72. package/assets/styles/ui/typo/_hr.scss +4 -2
  73. package/assets/styles/utils/_colors.scss +72 -11
  74. package/assets/styles/utils/_opacity.scss +1 -1
  75. package/assets/styles/utils/_scroll.scss +0 -2
  76. package/assets/styles/utils/_sizing.scss +1 -1
  77. package/assets/styles/utils/_text.scss +1 -2
  78. package/assets/styles/vendor/_apexcharts.scss +52 -0
  79. package/assets/styles/vendor/_coloris.scss +72 -0
  80. package/assets/styles/vendor/_dropzone.scss +27 -0
  81. package/assets/styles/vendor/_fslightbox.scss +13 -0
  82. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  83. package/assets/styles/vendor/_litepicker.scss +69 -0
  84. package/assets/styles/vendor/_nouislider.scss +49 -0
  85. package/assets/styles/vendor/_plyr.scss +3 -0
  86. package/assets/styles/vendor/_stars-rating.scss +22 -0
  87. package/assets/styles/vendor/_tom-select.scss +81 -0
  88. package/assets/styles/vendor/_turbo.scss +3 -0
  89. package/assets/styles/vendor/_typed.scss +4 -0
  90. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  91. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +102 -30
  92. package/fesm2022/updevs-components-layout.mjs +101 -29
  93. package/fesm2022/updevs-components-layout.mjs.map +1 -1
  94. package/layout/partials/sidebar/sidebar.component.d.ts +5 -0
  95. package/package.json +46 -46
@@ -1,59 +1,101 @@
1
1
  .alert {
2
- --#{$prefix}alert-color: #{var(--#{$prefix}secondary)};
3
- --upd-alert-bg: #{var(--#{$prefix}surface)};
4
- border: $alert-border-width var(--#{$prefix}border-style) $alert-border-color;
5
- border-left: .25rem var(--#{$prefix}border-style) var(--#{$prefix}alert-color);
6
- box-shadow: $alert-shadow;
7
-
8
- > :last-child {
9
- margin-bottom: 0;
10
- }
2
+ // scss-docs-start alert-variables
3
+ --#{$prefix}alert-color: var(--#{$prefix}body-color);
4
+ --#{$prefix}alert-bg: #{color-transparent(var(--#{$prefix}alert-color), .1)};
5
+ --#{$prefix}alert-padding-x: #{$alert-padding-x};
6
+ --#{$prefix}alert-padding-y: #{$alert-padding-y};
7
+ --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};
8
+ --#{$prefix}alert-border-color: #{color-transparent(var(--#{$prefix}alert-color), .2)};
9
+ --#{$prefix}alert-border: var(--#{$prefix}border-width) solid var(--#{$prefix}alert-border-color);
10
+ --#{$prefix}alert-border-radius: var(--#{$prefix}border-radius);
11
+ --#{$prefix}alert-link-color: inherit;
12
+ --#{$prefix}alert-heading-font-weight: var(--#{$prefix}font-weight-medium);
13
+ // scss-docs-end
14
+
15
+ position: relative;
16
+ padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);
17
+ margin-bottom: var(--#{$prefix}alert-margin-bottom);
18
+ background-color: color-mix(in srgb, var(--#{$prefix}alert-bg), var(--#{$prefix}bg-surface));
19
+ border-radius: var(--#{$prefix}alert-border-radius);
20
+ border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}alert-border-color);
21
+ display: flex;
22
+ flex-direction: row;
23
+ gap: 1rem;
11
24
  }
12
25
 
13
- .alert-important {
14
- border-color: transparent;
15
- background: var(--#{$prefix}alert-color);
16
- color: #fff;
26
+ .alert-heading {
27
+ color: inherit;
28
+ margin-bottom: .25rem; // todo: use variable
29
+ font-weight: var(--#{$prefix}alert-heading-font-weight);
30
+ }
17
31
 
18
- .alert-icon,
19
- .alert-link,
20
- .alert-title {
21
- color: inherit;
22
- }
32
+ .alert-description {
33
+ color: var(--#{$prefix}secondary);
34
+ }
23
35
 
24
- .alert-link:hover {
25
- color: inherit;
26
- }
36
+ .alert-icon {
37
+ color: var(--#{$prefix}alert-color);
38
+ width: 1.25rem !important; // todo: use variable
39
+ height: 1.25rem !important;
40
+ }
27
41
 
28
- .btn-close {
29
- filter: var(--#{$prefix}btn-close-white-filter);
42
+ .alert-action {
43
+ color: var(--#{$prefix}alert-color);
44
+ text-decoration: underline;
45
+
46
+ &:hover {
47
+ text-decoration: none;
30
48
  }
31
49
  }
32
50
 
33
- .alert-link, {
51
+ .alert-list {
52
+ margin: 0;
53
+ }
54
+
55
+ .alert-link {
56
+ font-weight: $alert-link-font-weight;
57
+ color: var(--#{$prefix}alert-link-color);
58
+
34
59
  &,
35
60
  &:hover {
36
61
  color: var(--#{$prefix}alert-color);
37
62
  }
38
63
  }
39
64
 
40
- @each $name, $color in $theme-colors {
41
- .alert-#{$name} {
42
- --#{$prefix}alert-color: var(--#{$prefix}#{$name});
65
+
66
+ .alert-dismissible {
67
+ padding-right: 3rem; //todo: use variable
68
+
69
+ .btn-close {
70
+ position: absolute;
71
+ top: calc(var(--#{$prefix}alert-padding-x) / 2 - 1px);
72
+ right: calc(var(--#{$prefix}alert-padding-y) / 2 - 1px);
73
+ z-index: 1;
74
+ padding: calc(var(--#{$prefix}alert-padding-y) * 1.25) var(--#{$prefix}alert-padding-x);
43
75
  }
44
76
  }
45
77
 
46
- .alert-icon {
47
- color: var(--#{$prefix}alert-color);
48
- width: 1.5rem !important;
49
- height: 1.5rem !important;
50
- margin: -.125rem $alert-padding-x -.125rem 0;
78
+ .alert-important {
79
+ border-color: var(--#{$prefix}alert-color);
80
+ background-color: var(--#{$prefix}alert-color);
81
+ color: var(--#{$prefix}white);
82
+
83
+ .alert-description {
84
+ color: inherit;
85
+ }
86
+
87
+ .alert-icon {
88
+ color: inherit;
89
+ }
51
90
  }
52
91
 
53
- .alert-title {
54
- font-size: $h4-font-size;
55
- line-height: $h4-line-height;
56
- font-weight: var(--#{$prefix}font-weight-bold);
57
- margin-bottom: .25rem;
58
- color: var(--#{$prefix}alert-color);
92
+ .alert-minor {
93
+ background: transparent;
94
+ border-color: var(--tblr-border-color);
95
+ }
96
+
97
+ @each $name, $color in $theme-colors {
98
+ .alert-#{$name} {
99
+ --#{$prefix}alert-color: var(--#{$prefix}#{$name});
100
+ }
59
101
  }
@@ -1,10 +1,12 @@
1
1
  .avatar {
2
- --#{$prefix}avatar-size: #{$avatar-size};
2
+ --#{$prefix}avatar-size: var(--#{$prefix}avatar-list-size, #{$avatar-size});
3
3
  --#{$prefix}avatar-status-size: #{$avatar-status-size};
4
4
  --#{$prefix}avatar-bg: #{$avatar-bg};
5
- --#{$prefix}avatar-box-shadow: #{$avatar-box-shadow};
5
+ --#{$prefix}avatar-box-shadow-color: var(--#{$prefix}border-color-translucent);
6
+ --#{$prefix}avatar-box-shadow: inset 0 0 0 1px var(--#{$prefix}avatar-box-shadow-color);
6
7
  --#{$prefix}avatar-font-size: #{$avatar-font-size};
7
8
  --#{$prefix}avatar-icon-size: #{$avatar-icon-size};
9
+ --#{$prefix}avatar-brand-size: #{$avatar-brand-size};
8
10
  position: relative;
9
11
  width: var(--#{$prefix}avatar-size);
10
12
  height: var(--#{$prefix}avatar-size);
@@ -22,6 +24,7 @@
22
24
  background: var(--#{$prefix}avatar-bg) no-repeat center/cover;
23
25
  border-radius: $avatar-border-radius;
24
26
  box-shadow: var(--#{$prefix}avatar-box-shadow);
27
+ transition: color $transition-time, background-color $transition-time, box-shadow $transition-time;
25
28
 
26
29
  .icon {
27
30
  width: var(--#{$prefix}avatar-icon-size);
@@ -38,6 +41,11 @@
38
41
 
39
42
  @at-root a#{&} {
40
43
  cursor: pointer;
44
+
45
+ &:hover {
46
+ color: var(--#{$prefix}primary);
47
+ --#{$prefix}avatar-box-shadow-color: var(--#{$prefix}primary);
48
+ }
41
49
  }
42
50
  }
43
51
 
@@ -51,11 +59,12 @@
51
59
  --#{$prefix}avatar-status-size: #{map-get($size, status-size)};
52
60
  --#{$prefix}avatar-font-size: #{map-get($size, font-size)};
53
61
  --#{$prefix}avatar-icon-size: #{map-get($size, icon-size)};
54
- }
62
+ --#{$prefix}avatar-brand-size: #{map-get($size, brand-size)};
55
63
 
56
- .avatar-#{$avatar-size} .badge:empty {
57
- width: map-get($size, status-size);
58
- height: map-get($size, status-size);
64
+ .badge:empty {
65
+ width: map-get($size, status-size);
66
+ height: map-get($size, status-size);
67
+ }
59
68
  }
60
69
  }
61
70
 
@@ -63,6 +72,7 @@
63
72
  // Avatar list
64
73
  //
65
74
  .avatar-list {
75
+ --#{$prefix}avatar-list-size: #{$avatar-size};
66
76
  @include elements-list;
67
77
 
68
78
  a.avatar {
@@ -78,7 +88,13 @@
78
88
 
79
89
  .avatar {
80
90
  margin-right: calc(#{$avatar-list-spacing} * var(--#{$prefix}avatar-size)) !important;
81
- box-shadow: var(--#{$prefix}avatar-box-shadow), 0 0 0 2px var(--#{$prefix}card-cap-bg, var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface)));
91
+ box-shadow: var(--#{$prefix}avatar-box-shadow), 0 0 0 2px var(--#{$prefix}card-bg, var(--#{$prefix}bg-surface));
92
+ }
93
+ }
94
+
95
+ @each $avatar-size, $size in $avatar-sizes {
96
+ .avatar-list-#{$avatar-size} {
97
+ --#{$prefix}avatar-list-size: #{map-get($size, size)};
82
98
  }
83
99
  }
84
100
 
@@ -86,10 +102,9 @@
86
102
  // Avatar upload
87
103
  //
88
104
  .avatar-upload {
89
- width: 4rem;
90
- height: 4rem;
91
105
  border: var(--#{$prefix}border-width) dashed var(--#{$prefix}border-color);
92
106
  background: $form-check-input-bg;
107
+ box-shadow: none;
93
108
  flex-direction: column;
94
109
  @include transition(color $transition-time, background-color $transition-time);
95
110
 
@@ -116,3 +131,15 @@
116
131
  margin-top: calc(-.5 * var(--#{$prefix}avatar-size));
117
132
  box-shadow: 0 0 0 .25rem var(--#{$prefix}card-bg, var(--#{$prefix}body-bg));
118
133
  }
134
+
135
+ .avatar-brand {
136
+ width: var(--#{$prefix}avatar-brand-size);
137
+ height: var(--#{$prefix}avatar-brand-size);
138
+ position: absolute;
139
+ right: -2px;
140
+ bottom: -2px;
141
+ z-index: 1000;
142
+ background: var(--#{$prefix}bg-surface);
143
+ border-radius: var(--#{$prefix}border-radius);
144
+ border: 1px solid var(--#{$prefix}border-color);
145
+ }
@@ -1,36 +1,46 @@
1
1
  .badge {
2
+ --#{$prefix}badge-padding-x: #{$badge-padding-x};
3
+ --#{$prefix}badge-padding-y: #{$badge-padding-y};
4
+ --#{$prefix}badge-font-size: #{$badge-font-size};
5
+ --#{$prefix}badge-font-weight: #{$badge-font-weight};
6
+ --#{$prefix}badge-color: #{$badge-color};
7
+ --#{$prefix}badge-border-radius: #{$badge-border-radius};
8
+ --#{$prefix}badge-icon-size: 1em;
9
+ --#{$prefix}badge-line-height: 1;
10
+ display: inline-flex;
11
+ padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
12
+ font-weight: var(--#{$prefix}badge-font-weight);
13
+ font-size: var(--#{$prefix}badge-font-size);
14
+ color: var(--#{$prefix}badge-color);
15
+ text-align: center;
16
+ white-space: nowrap;
2
17
  justify-content: center;
3
18
  align-items: center;
19
+ gap: .25rem;
4
20
  background: $badge-bg-color;
5
21
  overflow: hidden;
6
22
  user-select: none;
7
23
  border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
8
- min-width: ($badge-padding-y * 2 ) + (divide($badge-font-size, 100%) * 1em);
9
- font-weight: $headings-font-weight;
10
- letter-spacing: .04em;
24
+ border-radius: var(--#{$prefix}badge-border-radius);
25
+ min-width: calc(1em + var(--#{$prefix}badge-padding-y) * 2 + 2px);
26
+ letter-spacing: 0.04em;
11
27
  vertical-align: bottom;
28
+ line-height: var(--#{$prefix}badge-line-height);
12
29
 
13
30
  @at-root a#{&} {
14
- color: $card-bg;
15
- }
16
-
17
- .avatar {
18
- box-sizing: content-box;
19
- width: 1.25rem;
20
- height: 1.25rem;
21
- margin: 0 .5rem 0 -.5rem;
31
+ background: var(--#{$prefix}bg-surface-secondary);
22
32
  }
23
33
 
24
34
  .icon {
25
35
  width: 1em;
26
36
  height: 1em;
27
- font-size: 1rem;
37
+ font-size: var(--#{$prefix}badge-icon-size);
28
38
  stroke-width: 2;
29
39
  }
30
40
  }
31
41
 
32
42
  .badge:empty,
33
- .badge-empty {
43
+ .badge-dot {
34
44
  display: inline-block;
35
45
  width: $badge-empty-size;
36
46
  height: $badge-empty-size;
@@ -77,3 +87,27 @@
77
87
  .badge-blink {
78
88
  animation: blink 2s infinite;
79
89
  }
90
+
91
+ //
92
+ // Badge sizes
93
+ //
94
+ .badge-sm {
95
+ --#{$prefix}badge-font-size: #{$badge-font-size-sm};
96
+ --#{$prefix}badge-icon-size: 1em;
97
+ --#{$prefix}badge-padding-y: 2px;
98
+ --#{$prefix}badge-padding-x: 0.25rem;
99
+ }
100
+
101
+ .badge-lg {
102
+ --#{$prefix}badge-font-size: #{$badge-font-size-lg};
103
+ --#{$prefix}badge-icon-size: 1em;
104
+ --#{$prefix}badge-padding-y: 0.25rem;
105
+ --#{$prefix}badge-padding-x: 0.5rem;
106
+ }
107
+
108
+ //
109
+ // Badge with only icon
110
+ //
111
+ .badge-icononly {
112
+ --#{$prefix}badge-padding-x: 0;
113
+ }
@@ -13,4 +13,4 @@
13
13
  > .btn:focus {
14
14
  z-index: 1;
15
15
  }
16
- }
16
+ }
@@ -1,14 +1,16 @@
1
+ @use "sass:color";
2
+
1
3
  //
2
4
  // Button
3
5
  //
4
6
  .btn {
5
- --#{$prefix}btn-icon-size: #{$icon-size};
7
+ --#{$prefix}btn-icon-size: #{$input-btn-icon-size};
6
8
  --#{$prefix}btn-bg: var(--#{$prefix}bg-surface);
7
9
  --#{$prefix}btn-color: var(--#{$prefix}body-color);
8
10
  --#{$prefix}btn-border-color: #{$btn-border-color};
9
11
  --#{$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-hover-border-color: var(--#{$prefix}border-active-color);
13
+ --#{$prefix}btn-box-shadow: var(--#{$prefix}shadow-input);
12
14
  --#{$prefix}btn-active-color: #{$active-color};
13
15
  --#{$prefix}btn-active-bg: #{$active-bg};
14
16
  --#{$prefix}btn-active-border-color: #{$active-border-color};
@@ -18,11 +20,13 @@
18
20
  justify-content: center;
19
21
  white-space: nowrap;
20
22
  box-shadow: var(--#{$prefix}btn-box-shadow);
23
+ position: relative;
21
24
 
22
25
  .icon {
23
26
  width: var(--#{$prefix}btn-icon-size);
24
27
  height: var(--#{$prefix}btn-icon-size);
25
28
  min-width: var(--#{$prefix}btn-icon-size);
29
+ font-size: var(--#{$prefix}btn-icon-size);
26
30
  margin: 0 calc(var(--#{$prefix}btn-padding-x) / 2) 0 calc(var(--#{$prefix}btn-padding-x) / -4);
27
31
  vertical-align: bottom;
28
32
  color: inherit;
@@ -50,7 +54,7 @@
50
54
  }
51
55
 
52
56
  .btn-link {
53
- color: $link-color;
57
+ color: #{color.adjust($primary, $lightness: 5%)};
54
58
  background-color: transparent;
55
59
  border-color: transparent;
56
60
  box-shadow: none;
@@ -68,27 +72,27 @@
68
72
  //
69
73
  // Button color variations
70
74
  //
71
- @each $color, $value in $theme-colors {
75
+ @each $color, $value in map-merge($theme-colors, $social-colors) {
72
76
  .btn-#{$color} {
73
77
  @if $color == 'dark' {
74
78
  --#{$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);
79
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}dark-mode-border-active-color);
80
+ --#{$prefix}btn-active-border-color: var(--#{$prefix}dark-mode-border-active-color);
77
81
  } @else {
78
82
  --#{$prefix}btn-border-color: transparent;
79
83
  --#{$prefix}btn-hover-border-color: transparent;
80
84
  --#{$prefix}btn-active-border-color: transparent;
81
85
  }
82
86
 
83
- --#{$prefix}btn-color: var(--#{$prefix}#{$color}-fg);
87
+ --#{$prefix}btn-color: var(--#{$prefix}#{$color}-fg, #{$white});
84
88
  --#{$prefix}btn-bg: var(--#{$prefix}#{$color});
85
89
  --#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
86
- --#{$prefix}btn-hover-bg: rgba(var(--#{$prefix}#{$color}-rgb), .8);
90
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color}-darken);
87
91
  --#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
88
- --#{$prefix}btn-active-bg: rgba(var(--#{$prefix}#{$color}-rgb), .8);
92
+ --#{$prefix}btn-active-bg: var(--#{$prefix}#{$color}-darken);
89
93
  --#{$prefix}btn-disabled-bg: var(--#{$prefix}#{$color});
90
94
  --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color}-fg);
91
- --#{$prefix}btn-box-shadow: var(--#{$prefix}box-shadow-input);
95
+ --#{$prefix}btn-box-shadow: var(--#{$prefix}shadow-input);
92
96
  }
93
97
 
94
98
  .btn-outline-#{$color} {
@@ -103,21 +107,19 @@
103
107
  --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
104
108
  --#{$prefix}btn-disabled-border-color: var(--#{$prefix}#{$color});
105
109
  }
106
- }
107
110
 
108
- @each $name, $color in $theme-colors {
109
- .btn-ghost-#{$name} {
110
- --#{$prefix}btn-color: var(--#{$prefix}#{$name});
111
+ .btn-ghost-#{$color} {
112
+ --#{$prefix}btn-color: var(--#{$prefix}#{$color});
111
113
  --#{$prefix}btn-bg: transparent;
112
114
  --#{$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});
115
+ --#{$prefix}btn-hover-color: var(--#{$prefix}#{$color}-fg);
116
+ --#{$prefix}btn-hover-bg: var(--#{$prefix}#{$color});
117
+ --#{$prefix}btn-hover-border-color: var(--#{$prefix}#{$color});
118
+ --#{$prefix}btn-active-color: var(--#{$prefix}#{$color}-fg);
119
+ --#{$prefix}btn-active-bg: var(--#{$prefix}#{$color});
118
120
  --#{$prefix}btn-active-border-color: transparent;
119
121
  --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
120
- --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$name});
122
+ --#{$prefix}btn-disabled-color: var(--#{$prefix}#{$color});
121
123
  --#{$prefix}btn-disabled-bg: transparent;
122
124
  --#{$prefix}btn-disabled-border-color: transparent;
123
125
  --#{$prefix}gradient: none;
@@ -129,13 +131,13 @@
129
131
  // Button sizes
130
132
  //
131
133
  .btn-sm, .btn-group-sm > .btn {
132
- --#{$prefix}btn-line-height: 1.5;
133
- --#{$prefix}btn-icon-size: .75rem;
134
+ --#{$prefix}btn-line-height: #{$input-btn-line-height-sm};
135
+ --#{$prefix}btn-icon-size: #{$input-btn-icon-size-sm};
134
136
  }
135
137
 
136
138
  .btn-lg, .btn-group-lg > .btn {
137
- --#{$prefix}btn-line-height: 1.5;
138
- --#{$prefix}btn-icon-size: 2rem;
139
+ --#{$prefix}btn-line-height: #{$input-btn-line-height-lg};
140
+ --#{$prefix}btn-icon-size: #{$input-btn-icon-size-lg};
139
141
  }
140
142
 
141
143
  //
@@ -182,9 +184,9 @@
182
184
  .btn-floating {
183
185
  position: fixed;
184
186
  z-index: $zindex-fixed;
185
- bottom: 1.5rem;
186
- right: 1.5rem;
187
- border-radius: $border-radius-pill;
187
+ bottom: 1rem;
188
+ left: 1rem;
189
+ box-shadow: var(--#{$prefix}shadow-dropdown);
188
190
  }
189
191
 
190
192
  //
@@ -221,6 +223,7 @@
221
223
  // Action button
222
224
  //
223
225
  .btn-action {
226
+ --#{$prefix}border-color: transparent;
224
227
  padding: 0;
225
228
  border: 0;
226
229
  color: var(--#{$prefix}secondary);
@@ -231,6 +234,7 @@
231
234
  justify-content: center;
232
235
  border-radius: var(--#{$prefix}border-radius);
233
236
  background: transparent;
237
+ box-shadow: none;
234
238
 
235
239
  &:after {
236
240
  content: none;
@@ -250,16 +254,8 @@
250
254
  &.show {
251
255
  color: var(--#{$prefix}primary);
252
256
  }
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
257
  }
262
258
 
263
259
  .btn-actions {
264
260
  display: flex;
265
- }
261
+ }
@@ -28,8 +28,8 @@
28
28
  }
29
29
 
30
30
  .calendar-date {
31
- flex: 0 0 divide(100%, 7);
32
- max-width: divide(100%, 7);
31
+ flex: 0 0 calc(100% / 7);
32
+ max-width: calc(100% / 7);
33
33
  padding: .2rem;
34
34
  text-align: center;
35
35
  border: 0;
@@ -205,6 +205,7 @@ Stacked card
205
205
  flex: 1;
206
206
  margin: calc(var(--#{$prefix}card-cap-padding-y) * -1) calc(var(--#{$prefix}card-cap-padding-x) * -1) calc(var(--#{$prefix}card-cap-padding-y) * -1);
207
207
  padding: calc(var(--#{$prefix}card-cap-padding-y) * .5) calc(var(--#{$prefix}card-cap-padding-x) * .5) 0;
208
+ border-radius: var(--#{$prefix}card-border-radius) var(--#{$prefix}card-border-radius) 0 0;
208
209
  }
209
210
 
210
211
  .card-header-pills {
@@ -584,3 +585,11 @@ Card list group
584
585
  border-top-left-radius: 0;
585
586
  }
586
587
  }
588
+
589
+ /**
590
+ Card note
591
+ */
592
+ .card-note {
593
+ --#{$prefix}card-bg: #fff7dd;
594
+ --#{$prefix}card-border-color: #fff1c9;
595
+ }
@@ -65,4 +65,4 @@
65
65
  bottom: 0;
66
66
  height: 90%;
67
67
  background: linear-gradient(0deg, rgba($dark, .9), rgba($dark, 0));
68
- }
68
+ }
@@ -58,4 +58,4 @@ Chart sparkline
58
58
  height: 1rem;
59
59
  font-size: 1rem;
60
60
  }
61
- }
61
+ }
@@ -0,0 +1,38 @@
1
+ .chat {
2
+ }
3
+
4
+ .chat-bubbles {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: 1rem;
8
+ }
9
+
10
+ .chat-bubble {
11
+ background: var(--#{$prefix}bg-surface-secondary);
12
+ border-radius: var(--#{$prefix}border-radius-lg);
13
+ padding: 1rem;
14
+ position: relative;
15
+ }
16
+
17
+ .chat-bubble-me {
18
+ background-color: var(--#{$prefix}primary-lt);
19
+ box-shadow: none;
20
+ }
21
+
22
+ .chat-bubble-title {
23
+ margin-bottom: 0.25rem;
24
+ }
25
+
26
+ .chat-bubble-author {
27
+ font-weight: 600;
28
+ }
29
+
30
+ .chat-bubble-date {
31
+ color: var(--#{$prefix}secondary);
32
+ }
33
+
34
+ .chat-bubble-body {
35
+ > *:last-child {
36
+ margin-bottom: 0;
37
+ }
38
+ }
@@ -1,7 +1,60 @@
1
1
  .btn-close {
2
+ --#{$prefix}btn-close-color: currentColor;
3
+ --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };
4
+ --#{$prefix}btn-close-opacity: #{$btn-close-opacity};
5
+ --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};
6
+ --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};
7
+ --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};
8
+ --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
9
+ --#{$prefix}btn-close-size: #{$btn-close-width};
10
+
11
+ width: var(--#{$prefix}btn-close-size);
12
+ height: var(--#{$prefix}btn-close-size);
13
+ padding: $btn-close-padding-y $btn-close-padding-x;
14
+ color: var(--#{$prefix}btn-close-color);
15
+ mask: var(--#{$prefix}btn-close-bg) no-repeat center/calc(var(--#{$prefix}btn-close-size) * .75);
16
+ background-color: var(--#{$prefix}btn-close-color);
17
+ border: 0;
18
+ border-radius: var(--tblr-border-radius);
19
+ opacity: var(--#{$prefix}btn-close-opacity);
2
20
  cursor: pointer;
21
+ display: block;
22
+
23
+ &:hover {
24
+ color: var(--#{$prefix}btn-close-color);
25
+ text-decoration: none;
26
+ opacity: var(--#{$prefix}btn-close-hover-opacity);
27
+ }
3
28
 
4
29
  &:focus {
5
- outline: none;
30
+ outline: 0;
31
+ box-shadow: var(--#{$prefix}btn-close-focus-shadow);
32
+ opacity: var(--#{$prefix}btn-close-focus-opacity);
33
+ }
34
+
35
+ &:disabled,
36
+ &.disabled {
37
+ pointer-events: none;
38
+ user-select: none;
39
+ opacity: var(--#{$prefix}btn-close-disabled-opacity);
6
40
  }
7
41
  }
42
+
43
+ // @mixin btn-close-white() {
44
+ // --#{$prefix}btn-close-filter: #{$btn-close-filter-dark};
45
+ // }
46
+
47
+ // .btn-close-white {
48
+ // @include btn-close-white();
49
+ // }
50
+
51
+ // :root,
52
+ // [data-bs-theme="light"] {
53
+ // --#{$prefix}btn-close-filter: #{$btn-close-filter};
54
+ // }
55
+
56
+ // @if $enable-dark-mode {
57
+ // @include color-mode(dark, true) {
58
+ // @include btn-close-white();
59
+ // }
60
+ // }
@@ -14,4 +14,4 @@
14
14
  .datagrid-title {
15
15
  @include subheader;
16
16
  margin-bottom: .25rem;
17
- }
17
+ }
@@ -1,5 +1,6 @@
1
1
  .dropdown-menu {
2
2
  user-select: none;
3
+ background-clip: border-box;
3
4
 
4
5
  &.card {
5
6
  padding: 0;
@@ -18,6 +19,7 @@
18
19
  align-items: center;
19
20
  margin: 0;
20
21
  line-height: $line-height-base;
22
+ gap: .5rem;
21
23
  }
22
24
 
23
25
  .dropdown-item-icon {
@@ -107,6 +109,7 @@
107
109
 
108
110
  .dropdown-menu-card {
109
111
  padding: 0;
112
+ min-width: 20rem;
110
113
 
111
114
  > .card {
112
115
  margin: 0;