@coreui/coreui 4.0.4 → 4.1.1

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 (144) hide show
  1. package/README.md +5 -8
  2. package/dist/css/coreui-grid.css +254 -205
  3. package/dist/css/coreui-grid.css.map +1 -1
  4. package/dist/css/coreui-grid.min.css +2 -2
  5. package/dist/css/coreui-grid.min.css.map +1 -1
  6. package/dist/css/coreui-grid.rtl.css +411 -362
  7. package/dist/css/coreui-grid.rtl.css.map +1 -1
  8. package/dist/css/coreui-grid.rtl.min.css +3 -3
  9. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  10. package/dist/css/coreui-reboot.css +63 -8
  11. package/dist/css/coreui-reboot.css.map +1 -1
  12. package/dist/css/coreui-reboot.min.css +2 -2
  13. package/dist/css/coreui-reboot.min.css.map +1 -1
  14. package/dist/css/coreui-reboot.rtl.css +64 -9
  15. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  16. package/dist/css/coreui-reboot.rtl.min.css +3 -3
  17. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  18. package/dist/css/coreui-utilities.css +181 -81
  19. package/dist/css/coreui-utilities.css.map +1 -1
  20. package/dist/css/coreui-utilities.min.css +2 -2
  21. package/dist/css/coreui-utilities.min.css.map +1 -1
  22. package/dist/css/coreui-utilities.rtl.css +380 -280
  23. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  24. package/dist/css/coreui-utilities.rtl.min.css +3 -3
  25. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  26. package/dist/css/coreui.css +712 -345
  27. package/dist/css/coreui.css.map +1 -1
  28. package/dist/css/coreui.min.css +2 -2
  29. package/dist/css/coreui.min.css.map +1 -1
  30. package/dist/css/coreui.rtl.css +893 -541
  31. package/dist/css/coreui.rtl.css.map +1 -1
  32. package/dist/css/coreui.rtl.min.css +3 -3
  33. package/dist/css/coreui.rtl.min.css.map +1 -1
  34. package/dist/js/coreui.bundle.js +855 -746
  35. package/dist/js/coreui.bundle.js.map +1 -1
  36. package/dist/js/coreui.bundle.min.js +3 -3
  37. package/dist/js/coreui.bundle.min.js.map +1 -1
  38. package/dist/js/coreui.esm.js +708 -644
  39. package/dist/js/coreui.esm.js.map +1 -1
  40. package/dist/js/coreui.esm.min.js +3 -3
  41. package/dist/js/coreui.esm.min.js.map +1 -1
  42. package/dist/js/coreui.js +718 -656
  43. package/dist/js/coreui.js.map +1 -1
  44. package/dist/js/coreui.min.js +3 -3
  45. package/dist/js/coreui.min.js.map +1 -1
  46. package/js/dist/alert.js +82 -49
  47. package/js/dist/alert.js.map +1 -1
  48. package/js/dist/base-component.js +26 -18
  49. package/js/dist/base-component.js.map +1 -1
  50. package/js/dist/button.js +23 -13
  51. package/js/dist/button.js.map +1 -1
  52. package/js/dist/carousel.js +95 -50
  53. package/js/dist/carousel.js.map +1 -1
  54. package/js/dist/collapse.js +125 -139
  55. package/js/dist/collapse.js.map +1 -1
  56. package/js/dist/dom/data.js +6 -6
  57. package/js/dist/dom/data.js.map +1 -1
  58. package/js/dist/dom/event-handler.js +15 -6
  59. package/js/dist/dom/event-handler.js.map +1 -1
  60. package/js/dist/dom/manipulator.js +7 -7
  61. package/js/dist/dom/manipulator.js.map +1 -1
  62. package/js/dist/dom/selector-engine.js +74 -9
  63. package/js/dist/dom/selector-engine.js.map +1 -1
  64. package/js/dist/dropdown.js +125 -112
  65. package/js/dist/dropdown.js.map +1 -1
  66. package/js/dist/modal.js +270 -93
  67. package/js/dist/modal.js.map +1 -1
  68. package/js/dist/offcanvas.js +231 -62
  69. package/js/dist/offcanvas.js.map +1 -1
  70. package/js/dist/popover.js +29 -59
  71. package/js/dist/popover.js.map +1 -1
  72. package/js/dist/scrollspy.js +45 -35
  73. package/js/dist/scrollspy.js.map +1 -1
  74. package/js/dist/tab.js +45 -23
  75. package/js/dist/tab.js.map +1 -1
  76. package/js/dist/toast.js +132 -34
  77. package/js/dist/toast.js.map +1 -1
  78. package/js/dist/tooltip.js +127 -109
  79. package/js/dist/tooltip.js.map +1 -1
  80. package/js/src/alert.js +21 -47
  81. package/js/src/base-component.js +3 -3
  82. package/js/src/button.js +1 -1
  83. package/js/src/carousel.js +10 -4
  84. package/js/src/collapse.js +66 -119
  85. package/js/src/dom/data.js +1 -1
  86. package/js/src/dom/event-handler.js +1 -2
  87. package/js/src/dom/manipulator.js +3 -3
  88. package/js/src/dom/selector-engine.js +18 -1
  89. package/js/src/dropdown.js +53 -68
  90. package/js/src/modal.js +24 -35
  91. package/js/src/navigation.js +6 -4
  92. package/js/src/offcanvas.js +16 -18
  93. package/js/src/popover.js +7 -49
  94. package/js/src/scrollspy.js +1 -1
  95. package/js/src/sidebar.js +23 -27
  96. package/js/src/tab.js +1 -1
  97. package/js/src/toast.js +11 -11
  98. package/js/src/tooltip.js +66 -50
  99. package/js/src/util/backdrop.js +6 -5
  100. package/js/src/util/component-functions.js +34 -0
  101. package/js/src/util/focustrap.js +105 -0
  102. package/js/src/util/index.js +39 -11
  103. package/js/src/util/sanitizer.js +21 -22
  104. package/js/src/util/scrollbar.js +1 -1
  105. package/package.json +54 -55
  106. package/scss/_buttons.scss +1 -2
  107. package/scss/_card.scss +2 -1
  108. package/scss/_dropdown.scss +1 -1
  109. package/scss/_functions.scss +51 -12
  110. package/scss/_grid.scss +0 -23
  111. package/scss/_helpers.scss +2 -0
  112. package/scss/_mixins.scss +1 -0
  113. package/scss/_modal.scss +2 -12
  114. package/scss/_nav.scss +1 -2
  115. package/scss/_navbar.scss +30 -1
  116. package/scss/_offcanvas.scss +6 -2
  117. package/scss/_placeholders.scss +51 -0
  118. package/scss/_reboot.scss +12 -8
  119. package/scss/_root.scss +36 -7
  120. package/scss/_tables.scss +9 -5
  121. package/scss/_toasts.scss +2 -2
  122. package/scss/_transitions.scss +6 -0
  123. package/scss/_utilities.scss +31 -8
  124. package/scss/_variables.scss +188 -13
  125. package/scss/coreui-grid.rtl.scss +1 -1
  126. package/scss/coreui-grid.scss +3 -1
  127. package/scss/coreui-reboot.rtl.scss +1 -1
  128. package/scss/coreui-reboot.scss +2 -4
  129. package/scss/coreui-utilities.rtl.scss +1 -1
  130. package/scss/coreui-utilities.scss +1 -1
  131. package/scss/coreui.rtl.scss +1 -1
  132. package/scss/coreui.scss +2 -1
  133. package/scss/forms/_form-control.scss +1 -1
  134. package/scss/forms/_form-select.scss +2 -0
  135. package/scss/helpers/_stacks.scss +15 -0
  136. package/scss/helpers/_vr.scss +8 -0
  137. package/scss/mixins/_backdrop.scss +14 -0
  138. package/scss/mixins/_grid.scss +26 -7
  139. package/scss/mixins/_ltr-rtl.scss +21 -0
  140. package/scss/mixins/_reset-text.scss +1 -1
  141. package/scss/mixins/_utilities.scss +27 -39
  142. package/scss/mixins/_visually-hidden.scss +1 -1
  143. package/scss/sidebar/_sidebar-nav.scss +1 -0
  144. package/scss/sidebar/_sidebar.scss +17 -17
@@ -7,6 +7,7 @@
7
7
  --#{$variable-prefix}gutter-y: 0;
8
8
  display: flex;
9
9
  flex-wrap: wrap;
10
+ // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed
10
11
  margin-top: calc(-1 * var(--#{$variable-prefix}gutter-y)); // stylelint-disable-line function-disallowed-list
11
12
  margin-right: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
12
13
  margin-left: calc(-.5 * var(--#{$variable-prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
@@ -66,8 +67,8 @@
66
67
 
67
68
  @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
68
69
  @each $breakpoint in map-keys($breakpoints) {
69
- // .row-cols defaults must all appear before .col overrides so they can be overridden.
70
70
  $infix: breakpoint-infix($breakpoint, $breakpoints);
71
+
71
72
  @include media-breakpoint-up($breakpoint, $breakpoints) {
72
73
  // Provide basic `.col-{bp}` classes for equal-width flexbox columns
73
74
  .col#{$infix} {
@@ -85,13 +86,7 @@
85
86
  }
86
87
  }
87
88
  }
88
- }
89
- }
90
-
91
- @each $breakpoint in map-keys($breakpoints) {
92
- $infix: breakpoint-infix($breakpoint, $breakpoints);
93
89
 
94
- @include media-breakpoint-up($breakpoint, $breakpoints) {
95
90
  .col#{$infix}-auto {
96
91
  @include make-col-auto();
97
92
  }
@@ -130,3 +125,27 @@
130
125
  }
131
126
  }
132
127
  }
128
+
129
+ @mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {
130
+ @each $breakpoint in map-keys($breakpoints) {
131
+ $infix: breakpoint-infix($breakpoint, $breakpoints);
132
+
133
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
134
+ @if $columns > 0 {
135
+ @for $i from 1 through $columns {
136
+ .g-col#{$infix}-#{$i} {
137
+ grid-column: auto / span $i;
138
+ }
139
+ }
140
+
141
+ // Start with `1` because `0` is and invalid value.
142
+ // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
143
+ @for $i from 1 through ($columns - 1) {
144
+ .g-start#{$infix}-#{$i} {
145
+ grid-column-start: $i;
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
@@ -58,3 +58,24 @@
58
58
  }
59
59
  }
60
60
  }
61
+
62
+ @mixin ltr-rtl-value-only($property, $value, $value-rtl, $important: null) {
63
+ $value-reflected: reflect($value);
64
+
65
+ @if $enable-ltr and $enable-rtl {
66
+ @include ltr() {
67
+ #{$property}: $value $important;
68
+ }
69
+ @include rtl() {
70
+ #{$property}: $value-rtl $important;
71
+ }
72
+ }
73
+ @else {
74
+ @if $enable-rtl {
75
+ #{$property}: $value-rtl $important;
76
+ }
77
+ @else {
78
+ #{$property}: $value $important;
79
+ }
80
+ }
81
+ }
@@ -11,7 +11,7 @@
11
11
  text-transform: none;
12
12
  letter-spacing: normal;
13
13
  word-break: normal;
14
- word-spacing: normal;
15
14
  white-space: normal;
15
+ word-spacing: normal;
16
16
  line-break: auto;
17
17
  }
@@ -20,6 +20,9 @@
20
20
  $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));
21
21
  $property-class: if($property-class == null, "", $property-class);
22
22
 
23
+ // Use custom CSS variable name if present, otherwise default to `class`
24
+ $css-variable-name: if(map-has-key($utility, css-variable-name), map-get($utility, css-variable-name), map-get($utility, class));
25
+
23
26
  // State params to generate pseudo-classes
24
27
  $state: if(map-has-key($utility, state), map-get($utility, state), ());
25
28
 
@@ -28,16 +31,6 @@
28
31
  // Don't prefix if value key is null (eg. with shadow class)
29
32
  $property-class-modifier: if($key, if($property-class == "" and $infix == "", "", "-") + $key, "");
30
33
 
31
- // Generate CSS Variable
32
- $generate-vars: if(map-has-key($utility, vars), map-get($utility, vars), false);
33
- $generate-only-vars: if(map-has-key($utility, only-vars), map-get($utility, only-vars), false);
34
-
35
- // Generate RTL version
36
- $generate-rtl: if(map-has-key($utility, rtl), map-get($utility, rtl), false);
37
-
38
- // // Add theme prefix
39
- // $theme-prefix: if(map-has-key($utility, theme-prefix), map-get($utility, theme-prefix), false);
40
-
41
34
  @if map-get($utility, rfs) {
42
35
  // Inside the media query
43
36
  @if $is-rfs-media-query {
@@ -51,6 +44,8 @@
51
44
  }
52
45
  }
53
46
 
47
+ $is-css-var: map-get($utility, css-var);
48
+ $is-local-vars: map-get($utility, local-vars);
54
49
  $is-rtl: map-get($utility, rtl);
55
50
 
56
51
  @if $value != null {
@@ -58,44 +53,37 @@
58
53
  /* rtl:begin:remove */
59
54
  }
60
55
 
61
- .#{$property-class + $infix + $property-class-modifier} {
62
- @each $property in $properties {
63
- @if $generate-vars == true or $generate-only-vars == true {
64
- @if $generate-only-vars {
65
- @if $generate-rtl == true {
66
- @include ltr-rtl($property, var(--#{$variable-prefix}#{$key}), null, null, if($enable-important-utilities, !important, null));
67
- }
68
- @else {
69
- #{$property}: var(--#{$variable-prefix}#{$key}) if($enable-important-utilities, !important, null);
70
- }
71
- }
72
- @else {
73
- @if $generate-rtl == true {
74
- @include ltr-rtl($property, var(--#{$variable-prefix}#{$key}, $value), null, null, if($enable-important-utilities, !important, null));
75
- }
76
- @else {
77
- #{$property}: var(--#{$variable-prefix}#{$key}, $value) if($enable-important-utilities, !important, null);
56
+ @if $is-css-var {
57
+ .#{$property-class + $infix + $property-class-modifier} {
58
+ --#{$variable-prefix}#{$css-variable-name}: #{$value};
59
+ }
60
+
61
+ @each $pseudo in $state {
62
+ .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {
63
+ --#{$variable-prefix}#{$css-variable-name}: #{$value};
64
+ }
65
+ }
66
+ } @else {
67
+ .#{$property-class + $infix + $property-class-modifier} {
68
+ @each $property in $properties {
69
+ @if $is-local-vars {
70
+ @each $local-var, $variable in $is-local-vars {
71
+ --#{$variable-prefix}#{$local-var}: #{$variable};
78
72
  }
79
73
  }
74
+ #{$property}: $value if($enable-important-utilities, !important, null);
80
75
  }
81
- @else {
82
- @if $generate-rtl == true {
83
- @include ltr-rtl($property, $value, null, null, if($enable-important-utilities, !important, null));
84
- }
85
- @else {
76
+ }
77
+
78
+ @each $pseudo in $state {
79
+ .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {
80
+ @each $property in $properties {
86
81
  #{$property}: $value if($enable-important-utilities, !important, null);
87
82
  }
88
83
  }
89
84
  }
90
85
  }
91
86
 
92
- @each $pseudo in $state {
93
- .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {
94
- @each $property in $properties {
95
- #{$property}: $value if($enable-important-utilities, !important, null);
96
- }
97
- }
98
- }
99
87
  @if $is-rtl == false {
100
88
  /* rtl:end:remove */
101
89
  }
@@ -3,7 +3,7 @@
3
3
  // Hide content visually while keeping it accessible to assistive technologies
4
4
  //
5
5
  // See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
6
- // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
6
+ // See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/
7
7
 
8
8
  @mixin visually-hidden() {
9
9
  position: absolute !important;
@@ -100,6 +100,7 @@
100
100
  @include transition($sidebar-nav-group-transition);
101
101
 
102
102
  .nav-group-items {
103
+ padding: $sidebar-nav-group-items-padding-y $sidebar-nav-group-items-padding-x;
103
104
  overflow: hidden;
104
105
  @include transition($sidebar-nav-group-items-transition);
105
106
  }
@@ -31,23 +31,6 @@
31
31
  }
32
32
  }
33
33
 
34
- @include media-breakpoint-up($mobile-breakpoint) {
35
- &.hide {
36
- &:not(.sidebar-end){
37
- @include ltr-rtl("margin-left", calc(-1 * var(--#{$variable-prefix}sidebar-width)));
38
- ~ * {
39
- --#{$variable-prefix}sidebar-occupy-start: 0;
40
- }
41
- }
42
- &.sidebar-end {
43
- @include ltr-rtl("margin-right", calc(-1 * var(--#{$variable-prefix}sidebar-width)));
44
- ~ * {
45
- --#{$variable-prefix}sidebar-occupy-end: 0;
46
- }
47
- }
48
- }
49
- }
50
-
51
34
  &[class*="bg-"] {
52
35
  border-color: rgba($black, .1);
53
36
  }
@@ -70,6 +53,23 @@
70
53
  }
71
54
  }
72
55
 
56
+ @include media-breakpoint-up($mobile-breakpoint) {
57
+ &.hide {
58
+ &:not(.sidebar-end){
59
+ @include ltr-rtl("margin-left", calc(-1 * var(--#{$variable-prefix}sidebar-width)));
60
+ ~ * {
61
+ --#{$variable-prefix}sidebar-occupy-start: 0;
62
+ }
63
+ }
64
+ &.sidebar-end {
65
+ @include ltr-rtl("margin-right", calc(-1 * var(--#{$variable-prefix}sidebar-width)));
66
+ ~ * {
67
+ --#{$variable-prefix}sidebar-occupy-end: 0;
68
+ }
69
+ }
70
+ }
71
+ }
72
+
73
73
  &.sidebar-fixed {
74
74
  @include media-breakpoint-up($mobile-breakpoint) {
75
75
  position: fixed;