cm-admin 1.1.9 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/app/assets/javascripts/cm_admin/scaffolds.js +6 -0
  4. data/app/assets/javascripts/cm_admin/shared_scaffolds.js +97 -81
  5. data/app/assets/stylesheets/cm_admin/base/form.scss +31 -225
  6. data/app/assets/stylesheets/cm_admin/base/navbar.scss +1 -1
  7. data/app/assets/stylesheets/cm_admin/base/scaffold.scss +8 -5
  8. data/app/assets/stylesheets/cm_admin/base/show.scss +15 -22
  9. data/app/assets/stylesheets/cm_admin/base/table.scss +6 -0
  10. data/app/assets/stylesheets/cm_admin/components/_buttons.scss +1 -1
  11. data/app/assets/stylesheets/cm_admin/components/_modal.scss +7 -30
  12. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_accordion.scss +158 -0
  13. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_alert.scss +68 -0
  14. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_badge.scss +38 -0
  15. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_breadcrumb.scss +40 -0
  16. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_button-group.scss +142 -0
  17. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_buttons.scss +207 -0
  18. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_card.scss +239 -0
  19. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_carousel.scss +244 -0
  20. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_close.scss +63 -0
  21. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_containers.scss +41 -0
  22. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_dropdown.scss +250 -0
  23. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_forms.scss +9 -0
  24. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_functions.scss +302 -0
  25. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_grid.scss +39 -0
  26. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_helpers.scss +12 -0
  27. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_images.scss +42 -0
  28. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_list-group.scss +197 -0
  29. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_maps.scss +174 -0
  30. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_mixins.scss +42 -0
  31. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_modal.scss +237 -0
  32. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_nav.scss +197 -0
  33. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_navbar.scss +289 -0
  34. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_offcanvas.scss +146 -0
  35. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_pagination.scss +109 -0
  36. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_placeholders.scss +51 -0
  37. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_popover.scss +196 -0
  38. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_progress.scss +68 -0
  39. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_reboot.scss +610 -0
  40. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_root.scss +184 -0
  41. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_spinners.scss +85 -0
  42. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_tables.scss +171 -0
  43. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_toasts.scss +73 -0
  44. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_tooltip.scss +119 -0
  45. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_transitions.scss +27 -0
  46. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_type.scss +106 -0
  47. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_utilities.scss +806 -0
  48. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_variables-dark.scss +85 -0
  49. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/_variables.scss +1745 -0
  50. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap-grid.scss +62 -0
  51. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap-reboot.scss +10 -0
  52. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap-utilities.scss +19 -0
  53. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/bootstrap.scss +52 -0
  54. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_floating-labels.scss +95 -0
  55. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-check.scss +188 -0
  56. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-control.scss +214 -0
  57. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-range.scss +91 -0
  58. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-select.scss +80 -0
  59. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_form-text.scss +11 -0
  60. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_input-group.scss +132 -0
  61. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_labels.scss +36 -0
  62. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/forms/_validation.scss +12 -0
  63. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_clearfix.scss +3 -0
  64. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_color-bg.scss +7 -0
  65. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_colored-links.scss +30 -0
  66. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_focus-ring.scss +5 -0
  67. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_icon-link.scss +25 -0
  68. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_position.scss +36 -0
  69. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_ratio.scss +26 -0
  70. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_stacks.scss +15 -0
  71. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  72. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  73. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  74. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/helpers/_vr.scss +8 -0
  75. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_alert.scss +18 -0
  76. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_backdrop.scss +14 -0
  77. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_banner.scss +7 -0
  78. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_border-radius.scss +78 -0
  79. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  80. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  81. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_buttons.scss +70 -0
  82. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_caret.scss +69 -0
  83. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_clearfix.scss +9 -0
  84. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_color-mode.scss +21 -0
  85. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  86. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_container.scss +11 -0
  87. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_deprecate.scss +10 -0
  88. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_forms.scss +153 -0
  89. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_gradients.scss +47 -0
  90. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_grid.scss +151 -0
  91. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_image.scss +16 -0
  92. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_list-group.scss +26 -0
  93. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_lists.scss +7 -0
  94. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_pagination.scss +10 -0
  95. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_reset-text.scss +17 -0
  96. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_resize.scss +6 -0
  97. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_table-variants.scss +24 -0
  98. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  99. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_transition.scss +26 -0
  100. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_utilities.scss +97 -0
  101. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/mixins/_visually-hidden.scss +33 -0
  102. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/jasmine.js +16 -0
  103. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/mixins/_color-modes.test.scss +69 -0
  104. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/mixins/_media-query-color-mode-full.test.scss +8 -0
  105. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/mixins/_utilities.test.scss +393 -0
  106. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/sass-true/register.js +14 -0
  107. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/sass-true/runner.js +17 -0
  108. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/tests/utilities/_api.test.scss +75 -0
  109. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/utilities/_api.scss +47 -0
  110. data/app/assets/stylesheets/cm_admin/dependency/bootstrap/scss/vendor/_rfs.scss +348 -0
  111. data/app/controllers/cm_admin/resource_controller.rb +22 -5
  112. data/app/helpers/cm_admin/application_helper.rb +4 -4
  113. data/app/views/cm_admin/main/_actions_dropdown.html.slim +2 -2
  114. data/app/views/cm_admin/main/_custom_action_modal_form.html.slim +6 -0
  115. data/app/views/cm_admin/main/_nested_fields.html.slim +36 -17
  116. data/app/views/cm_admin/main/_nested_table_form.html.slim +17 -8
  117. data/app/views/cm_admin/main/_nested_table_section.html.slim +17 -0
  118. data/app/views/cm_admin/main/_show_section.html.slim +10 -0
  119. data/app/views/cm_admin/main/_tabs.html.slim +1 -1
  120. data/app/views/cm_admin/main/_top_navbar.html.slim +9 -3
  121. data/app/views/cm_admin/main/associated_show.html.slim +5 -4
  122. data/app/views/cm_admin/main/edit.html.slim +18 -18
  123. data/app/views/cm_admin/main/history.html.slim +3 -3
  124. data/app/views/cm_admin/main/import_form.html.slim +1 -1
  125. data/app/views/cm_admin/main/new.html.slim +17 -17
  126. data/app/views/cm_admin/main/show.html.slim +10 -10
  127. data/app/views/layouts/_custom_action_modal.html.slim +11 -0
  128. data/app/views/layouts/_custom_action_modals.html.slim +13 -9
  129. data/app/views/layouts/_destroy_action_modal.html.slim +16 -0
  130. data/app/views/layouts/cm_admin.html.slim +5 -5
  131. data/config/routes.rb +1 -3
  132. data/lib/cm_admin/model.rb +1 -0
  133. data/lib/cm_admin/models/custom_action.rb +6 -0
  134. data/lib/cm_admin/models/dsl_method.rb +9 -4
  135. data/lib/cm_admin/models/field.rb +2 -1
  136. data/lib/cm_admin/models/form_field.rb +2 -1
  137. data/lib/cm_admin/models/row.rb +40 -0
  138. data/lib/cm_admin/models/section.rb +20 -3
  139. data/lib/cm_admin/version.rb +1 -1
  140. data/lib/cm_admin/view_helpers/field_display_helper.rb +3 -3
  141. data/lib/cm_admin/view_helpers/form_field_helper.rb +40 -14
  142. data/lib/cm_admin/view_helpers/form_helper.rb +59 -22
  143. data/lib/cm_admin/view_helpers/page_info_helper.rb +4 -4
  144. data/lib/cm_admin/view_helpers.rb +1 -1
  145. metadata +107 -2
@@ -0,0 +1,12 @@
1
+ @import "helpers/clearfix";
2
+ @import "helpers/color-bg";
3
+ @import "helpers/colored-links";
4
+ @import "helpers/focus-ring";
5
+ @import "helpers/icon-link";
6
+ @import "helpers/ratio";
7
+ @import "helpers/position";
8
+ @import "helpers/stacks";
9
+ @import "helpers/visually-hidden";
10
+ @import "helpers/stretched-link";
11
+ @import "helpers/text-truncation";
12
+ @import "helpers/vr";
@@ -0,0 +1,42 @@
1
+ // Responsive images (ensure images don't scale beyond their parents)
2
+ //
3
+ // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.
4
+ // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5
+ // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6
+ // which weren't expecting the images within themselves to be involuntarily resized.
7
+ // See also https://github.com/twbs/bootstrap/issues/18178
8
+ .img-fluid {
9
+ @include img-fluid();
10
+ }
11
+
12
+
13
+ // Image thumbnails
14
+ .img-thumbnail {
15
+ padding: $thumbnail-padding;
16
+ background-color: $thumbnail-bg;
17
+ border: $thumbnail-border-width solid $thumbnail-border-color;
18
+ @include border-radius($thumbnail-border-radius);
19
+ @include box-shadow($thumbnail-box-shadow);
20
+
21
+ // Keep them at most 100% wide
22
+ @include img-fluid();
23
+ }
24
+
25
+ //
26
+ // Figures
27
+ //
28
+
29
+ .figure {
30
+ // Ensures the caption's text aligns with the image.
31
+ display: inline-block;
32
+ }
33
+
34
+ .figure-img {
35
+ margin-bottom: $spacer * .5;
36
+ line-height: 1;
37
+ }
38
+
39
+ .figure-caption {
40
+ @include font-size($figure-caption-font-size);
41
+ color: $figure-caption-color;
42
+ }
@@ -0,0 +1,197 @@
1
+ // Base class
2
+ //
3
+ // Easily usable on <ul>, <ol>, or <div>.
4
+
5
+ .list-group {
6
+ // scss-docs-start list-group-css-vars
7
+ --#{$prefix}list-group-color: #{$list-group-color};
8
+ --#{$prefix}list-group-bg: #{$list-group-bg};
9
+ --#{$prefix}list-group-border-color: #{$list-group-border-color};
10
+ --#{$prefix}list-group-border-width: #{$list-group-border-width};
11
+ --#{$prefix}list-group-border-radius: #{$list-group-border-radius};
12
+ --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};
13
+ --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};
14
+ --#{$prefix}list-group-action-color: #{$list-group-action-color};
15
+ --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};
16
+ --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};
17
+ --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};
18
+ --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};
19
+ --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};
20
+ --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};
21
+ --#{$prefix}list-group-active-color: #{$list-group-active-color};
22
+ --#{$prefix}list-group-active-bg: #{$list-group-active-bg};
23
+ --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};
24
+ // scss-docs-end list-group-css-vars
25
+
26
+ display: flex;
27
+ flex-direction: column;
28
+
29
+ // No need to set list-style: none; since .list-group-item is block level
30
+ padding-left: 0; // reset padding because ul and ol
31
+ margin-bottom: 0;
32
+ @include border-radius(var(--#{$prefix}list-group-border-radius));
33
+ }
34
+
35
+ .list-group-numbered {
36
+ list-style-type: none;
37
+ counter-reset: section;
38
+
39
+ > .list-group-item::before {
40
+ // Increments only this instance of the section counter
41
+ content: counters(section, ".") ". ";
42
+ counter-increment: section;
43
+ }
44
+ }
45
+
46
+ // Interactive list items
47
+ //
48
+ // Use anchor or button elements instead of `li`s or `div`s to create interactive
49
+ // list items. Includes an extra `.active` modifier class for selected items.
50
+
51
+ .list-group-item-action {
52
+ width: 100%; // For `<button>`s (anchors become 100% by default though)
53
+ color: var(--#{$prefix}list-group-action-color);
54
+ text-align: inherit; // For `<button>`s (anchors inherit)
55
+
56
+ // Hover state
57
+ &:hover,
58
+ &:focus {
59
+ z-index: 1; // Place hover/focus items above their siblings for proper border styling
60
+ color: var(--#{$prefix}list-group-action-hover-color);
61
+ text-decoration: none;
62
+ background-color: var(--#{$prefix}list-group-action-hover-bg);
63
+ }
64
+
65
+ &:active {
66
+ color: var(--#{$prefix}list-group-action-active-color);
67
+ background-color: var(--#{$prefix}list-group-action-active-bg);
68
+ }
69
+ }
70
+
71
+ // Individual list items
72
+ //
73
+ // Use on `li`s or `div`s within the `.list-group` parent.
74
+
75
+ .list-group-item {
76
+ position: relative;
77
+ display: block;
78
+ padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);
79
+ color: var(--#{$prefix}list-group-color);
80
+ text-decoration: if($link-decoration == none, null, none);
81
+ background-color: var(--#{$prefix}list-group-bg);
82
+ border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}list-group-border-color);
83
+
84
+ &:first-child {
85
+ @include border-top-radius(inherit);
86
+ }
87
+
88
+ &:last-child {
89
+ @include border-bottom-radius(inherit);
90
+ }
91
+
92
+ &.disabled,
93
+ &:disabled {
94
+ color: var(--#{$prefix}list-group-disabled-color);
95
+ pointer-events: none;
96
+ background-color: var(--#{$prefix}list-group-disabled-bg);
97
+ }
98
+
99
+ // Include both here for `<a>`s and `<button>`s
100
+ &.active {
101
+ z-index: 2; // Place active items above their siblings for proper border styling
102
+ color: var(--#{$prefix}list-group-active-color);
103
+ background-color: var(--#{$prefix}list-group-active-bg);
104
+ border-color: var(--#{$prefix}list-group-active-border-color);
105
+ }
106
+
107
+ // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector
108
+ & + .list-group-item {
109
+ border-top-width: 0;
110
+
111
+ &.active {
112
+ margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
113
+ border-top-width: var(--#{$prefix}list-group-border-width);
114
+ }
115
+ }
116
+ }
117
+
118
+ // Horizontal
119
+ //
120
+ // Change the layout of list group items from vertical (default) to horizontal.
121
+
122
+ @each $breakpoint in map-keys($grid-breakpoints) {
123
+ @include media-breakpoint-up($breakpoint) {
124
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
125
+
126
+ .list-group-horizontal#{$infix} {
127
+ flex-direction: row;
128
+
129
+ > .list-group-item {
130
+ &:first-child:not(:last-child) {
131
+ @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));
132
+ @include border-top-end-radius(0);
133
+ }
134
+
135
+ &:last-child:not(:first-child) {
136
+ @include border-top-end-radius(var(--#{$prefix}list-group-border-radius));
137
+ @include border-bottom-start-radius(0);
138
+ }
139
+
140
+ &.active {
141
+ margin-top: 0;
142
+ }
143
+
144
+ + .list-group-item {
145
+ border-top-width: var(--#{$prefix}list-group-border-width);
146
+ border-left-width: 0;
147
+
148
+ &.active {
149
+ margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
150
+ border-left-width: var(--#{$prefix}list-group-border-width);
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+
158
+
159
+ // Flush list items
160
+ //
161
+ // Remove borders and border-radius to keep list group items edge-to-edge. Most
162
+ // useful within other components (e.g., cards).
163
+
164
+ .list-group-flush {
165
+ @include border-radius(0);
166
+
167
+ > .list-group-item {
168
+ border-width: 0 0 var(--#{$prefix}list-group-border-width);
169
+
170
+ &:last-child {
171
+ border-bottom-width: 0;
172
+ }
173
+ }
174
+ }
175
+
176
+
177
+ // scss-docs-start list-group-modifiers
178
+ // List group contextual variants
179
+ //
180
+ // Add modifier classes to change text and background color on individual items.
181
+ // Organizationally, this must come after the `:hover` states.
182
+
183
+ @each $state in map-keys($theme-colors) {
184
+ .list-group-item-#{$state} {
185
+ --#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);
186
+ --#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);
187
+ --#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);
188
+ --#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);
189
+ --#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);
190
+ --#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);
191
+ --#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);
192
+ --#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);
193
+ --#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);
194
+ --#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);
195
+ }
196
+ }
197
+ // scss-docs-end list-group-modifiers
@@ -0,0 +1,174 @@
1
+ // Re-assigned maps
2
+ //
3
+ // Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
4
+
5
+ // scss-docs-start theme-colors-rgb
6
+ $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
7
+ // scss-docs-end theme-colors-rgb
8
+
9
+ // scss-docs-start theme-text-map
10
+ $theme-colors-text: (
11
+ "primary": $primary-text-emphasis,
12
+ "secondary": $secondary-text-emphasis,
13
+ "success": $success-text-emphasis,
14
+ "info": $info-text-emphasis,
15
+ "warning": $warning-text-emphasis,
16
+ "danger": $danger-text-emphasis,
17
+ "light": $light-text-emphasis,
18
+ "dark": $dark-text-emphasis,
19
+ ) !default;
20
+ // scss-docs-end theme-text-map
21
+
22
+ // scss-docs-start theme-bg-subtle-map
23
+ $theme-colors-bg-subtle: (
24
+ "primary": $primary-bg-subtle,
25
+ "secondary": $secondary-bg-subtle,
26
+ "success": $success-bg-subtle,
27
+ "info": $info-bg-subtle,
28
+ "warning": $warning-bg-subtle,
29
+ "danger": $danger-bg-subtle,
30
+ "light": $light-bg-subtle,
31
+ "dark": $dark-bg-subtle,
32
+ ) !default;
33
+ // scss-docs-end theme-bg-subtle-map
34
+
35
+ // scss-docs-start theme-border-subtle-map
36
+ $theme-colors-border-subtle: (
37
+ "primary": $primary-border-subtle,
38
+ "secondary": $secondary-border-subtle,
39
+ "success": $success-border-subtle,
40
+ "info": $info-border-subtle,
41
+ "warning": $warning-border-subtle,
42
+ "danger": $danger-border-subtle,
43
+ "light": $light-border-subtle,
44
+ "dark": $dark-border-subtle,
45
+ ) !default;
46
+ // scss-docs-end theme-border-subtle-map
47
+
48
+ $theme-colors-text-dark: null !default;
49
+ $theme-colors-bg-subtle-dark: null !default;
50
+ $theme-colors-border-subtle-dark: null !default;
51
+
52
+ @if $enable-dark-mode {
53
+ // scss-docs-start theme-text-dark-map
54
+ $theme-colors-text-dark: (
55
+ "primary": $primary-text-emphasis-dark,
56
+ "secondary": $secondary-text-emphasis-dark,
57
+ "success": $success-text-emphasis-dark,
58
+ "info": $info-text-emphasis-dark,
59
+ "warning": $warning-text-emphasis-dark,
60
+ "danger": $danger-text-emphasis-dark,
61
+ "light": $light-text-emphasis-dark,
62
+ "dark": $dark-text-emphasis-dark,
63
+ ) !default;
64
+ // scss-docs-end theme-text-dark-map
65
+
66
+ // scss-docs-start theme-bg-subtle-dark-map
67
+ $theme-colors-bg-subtle-dark: (
68
+ "primary": $primary-bg-subtle-dark,
69
+ "secondary": $secondary-bg-subtle-dark,
70
+ "success": $success-bg-subtle-dark,
71
+ "info": $info-bg-subtle-dark,
72
+ "warning": $warning-bg-subtle-dark,
73
+ "danger": $danger-bg-subtle-dark,
74
+ "light": $light-bg-subtle-dark,
75
+ "dark": $dark-bg-subtle-dark,
76
+ ) !default;
77
+ // scss-docs-end theme-bg-subtle-dark-map
78
+
79
+ // scss-docs-start theme-border-subtle-dark-map
80
+ $theme-colors-border-subtle-dark: (
81
+ "primary": $primary-border-subtle-dark,
82
+ "secondary": $secondary-border-subtle-dark,
83
+ "success": $success-border-subtle-dark,
84
+ "info": $info-border-subtle-dark,
85
+ "warning": $warning-border-subtle-dark,
86
+ "danger": $danger-border-subtle-dark,
87
+ "light": $light-border-subtle-dark,
88
+ "dark": $dark-border-subtle-dark,
89
+ ) !default;
90
+ // scss-docs-end theme-border-subtle-dark-map
91
+ }
92
+
93
+ // Utilities maps
94
+ //
95
+ // Extends the default `$theme-colors` maps to help create our utilities.
96
+
97
+ // Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
98
+ // scss-docs-start utilities-colors
99
+ $utilities-colors: $theme-colors-rgb !default;
100
+ // scss-docs-end utilities-colors
101
+
102
+ // scss-docs-start utilities-text-colors
103
+ $utilities-text: map-merge(
104
+ $utilities-colors,
105
+ (
106
+ "black": to-rgb($black),
107
+ "white": to-rgb($white),
108
+ "body": to-rgb($body-color)
109
+ )
110
+ ) !default;
111
+ $utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
112
+
113
+ $utilities-text-emphasis-colors: (
114
+ "primary-emphasis": var(--#{$prefix}primary-text-emphasis),
115
+ "secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
116
+ "success-emphasis": var(--#{$prefix}success-text-emphasis),
117
+ "info-emphasis": var(--#{$prefix}info-text-emphasis),
118
+ "warning-emphasis": var(--#{$prefix}warning-text-emphasis),
119
+ "danger-emphasis": var(--#{$prefix}danger-text-emphasis),
120
+ "light-emphasis": var(--#{$prefix}light-text-emphasis),
121
+ "dark-emphasis": var(--#{$prefix}dark-text-emphasis)
122
+ ) !default;
123
+ // scss-docs-end utilities-text-colors
124
+
125
+ // scss-docs-start utilities-bg-colors
126
+ $utilities-bg: map-merge(
127
+ $utilities-colors,
128
+ (
129
+ "black": to-rgb($black),
130
+ "white": to-rgb($white),
131
+ "body": to-rgb($body-bg)
132
+ )
133
+ ) !default;
134
+ $utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
135
+
136
+ $utilities-bg-subtle: (
137
+ "primary-subtle": var(--#{$prefix}primary-bg-subtle),
138
+ "secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
139
+ "success-subtle": var(--#{$prefix}success-bg-subtle),
140
+ "info-subtle": var(--#{$prefix}info-bg-subtle),
141
+ "warning-subtle": var(--#{$prefix}warning-bg-subtle),
142
+ "danger-subtle": var(--#{$prefix}danger-bg-subtle),
143
+ "light-subtle": var(--#{$prefix}light-bg-subtle),
144
+ "dark-subtle": var(--#{$prefix}dark-bg-subtle)
145
+ ) !default;
146
+ // scss-docs-end utilities-bg-colors
147
+
148
+ // scss-docs-start utilities-border-colors
149
+ $utilities-border: map-merge(
150
+ $utilities-colors,
151
+ (
152
+ "black": to-rgb($black),
153
+ "white": to-rgb($white)
154
+ )
155
+ ) !default;
156
+ $utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
157
+
158
+ $utilities-border-subtle: (
159
+ "primary-subtle": var(--#{$prefix}primary-border-subtle),
160
+ "secondary-subtle": var(--#{$prefix}secondary-border-subtle),
161
+ "success-subtle": var(--#{$prefix}success-border-subtle),
162
+ "info-subtle": var(--#{$prefix}info-border-subtle),
163
+ "warning-subtle": var(--#{$prefix}warning-border-subtle),
164
+ "danger-subtle": var(--#{$prefix}danger-border-subtle),
165
+ "light-subtle": var(--#{$prefix}light-border-subtle),
166
+ "dark-subtle": var(--#{$prefix}dark-border-subtle)
167
+ ) !default;
168
+ // scss-docs-end utilities-border-colors
169
+
170
+ $utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
171
+
172
+ $negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
173
+
174
+ $gutters: $spacers !default;
@@ -0,0 +1,42 @@
1
+ // Toggles
2
+ //
3
+ // Used in conjunction with global variables to enable certain theme features.
4
+
5
+ // Vendor
6
+ @import "vendor/rfs";
7
+
8
+ // Deprecate
9
+ @import "mixins/deprecate";
10
+
11
+ // Helpers
12
+ @import "mixins/breakpoints";
13
+ @import "mixins/color-mode";
14
+ @import "mixins/color-scheme";
15
+ @import "mixins/image";
16
+ @import "mixins/resize";
17
+ @import "mixins/visually-hidden";
18
+ @import "mixins/reset-text";
19
+ @import "mixins/text-truncate";
20
+
21
+ // Utilities
22
+ @import "mixins/utilities";
23
+
24
+ // Components
25
+ @import "mixins/backdrop";
26
+ @import "mixins/buttons";
27
+ @import "mixins/caret";
28
+ @import "mixins/pagination";
29
+ @import "mixins/lists";
30
+ @import "mixins/forms";
31
+ @import "mixins/table-variants";
32
+
33
+ // Skins
34
+ @import "mixins/border-radius";
35
+ @import "mixins/box-shadow";
36
+ @import "mixins/gradients";
37
+ @import "mixins/transition";
38
+
39
+ // Layout
40
+ @import "mixins/clearfix";
41
+ @import "mixins/container";
42
+ @import "mixins/grid";