@wwtdev/bsds-css 2.28.0 → 3.0.0-rc.21

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 (94) hide show
  1. package/README.md +4 -4
  2. package/dist/wwt-bsds-preset.js +196 -68
  3. package/dist/wwt-bsds.css +2189 -1471
  4. package/dist/wwt-bsds.min.css +1 -1
  5. package/package.json +7 -11
  6. package/dist/components/_accordions.scss +0 -122
  7. package/dist/components/_alert.scss +0 -143
  8. package/dist/components/_badge.scss +0 -95
  9. package/dist/components/_banner.scss +0 -68
  10. package/dist/components/_buttons.scss +0 -289
  11. package/dist/components/_chart.scss +0 -169
  12. package/dist/components/_circle-buttons.scss +0 -231
  13. package/dist/components/_dropdown-options.scss +0 -236
  14. package/dist/components/_dropdown.scss +0 -189
  15. package/dist/components/_empty-state.scss +0 -99
  16. package/dist/components/_filter-buttons.scss +0 -116
  17. package/dist/components/_flyout.scss +0 -75
  18. package/dist/components/_form-booleans.scss +0 -182
  19. package/dist/components/_form-character-count.scss +0 -21
  20. package/dist/components/_form-container.scss +0 -111
  21. package/dist/components/_form-elements.scss +0 -40
  22. package/dist/components/_form-field-details.scss +0 -19
  23. package/dist/components/_form-hints.scss +0 -22
  24. package/dist/components/_form-input-composite.scss +0 -312
  25. package/dist/components/_form-input-phone.scss +0 -21
  26. package/dist/components/_form-input-search.scss +0 -74
  27. package/dist/components/_form-labels.scss +0 -40
  28. package/dist/components/_form-switches.scss +0 -154
  29. package/dist/components/_form-text-fields.scss +0 -205
  30. package/dist/components/_horizontal-navigation-mobile.scss +0 -238
  31. package/dist/components/_horizontal-navigation.scss +0 -220
  32. package/dist/components/_inline-tabs.scss +0 -86
  33. package/dist/components/_loader.scss +0 -105
  34. package/dist/components/_modal.scss +0 -185
  35. package/dist/components/_overlay.scss +0 -34
  36. package/dist/components/_pagination.scss +0 -85
  37. package/dist/components/_pills.scss +0 -224
  38. package/dist/components/_profile-details.scss +0 -44
  39. package/dist/components/_profile-img.scss +0 -73
  40. package/dist/components/_profile-layout.scss +0 -29
  41. package/dist/components/_spinner.scss +0 -95
  42. package/dist/components/_tab-list.scss +0 -151
  43. package/dist/components/_table.scss +0 -331
  44. package/dist/components/_tables.scss +0 -84
  45. package/dist/components/_timeline.scss +0 -122
  46. package/dist/components/_toast.scss +0 -149
  47. package/dist/components/_toaster.scss +0 -27
  48. package/dist/components/_tooltip.scss +0 -179
  49. package/dist/components/_vertical-navigation.scss +0 -280
  50. package/dist/components/accordions.css +0 -118
  51. package/dist/components/alert.css +0 -139
  52. package/dist/components/badge.css +0 -91
  53. package/dist/components/banner.css +0 -64
  54. package/dist/components/buttons.css +0 -285
  55. package/dist/components/chart.css +0 -165
  56. package/dist/components/circle-buttons.css +0 -227
  57. package/dist/components/dropdown-options.css +0 -232
  58. package/dist/components/dropdown.css +0 -185
  59. package/dist/components/empty-state.css +0 -95
  60. package/dist/components/filter-buttons.css +0 -112
  61. package/dist/components/flyout.css +0 -71
  62. package/dist/components/form-booleans.css +0 -178
  63. package/dist/components/form-character-count.css +0 -17
  64. package/dist/components/form-container.css +0 -108
  65. package/dist/components/form-elements.css +0 -36
  66. package/dist/components/form-field-details.css +0 -15
  67. package/dist/components/form-hints.css +0 -18
  68. package/dist/components/form-input-composite.css +0 -308
  69. package/dist/components/form-input-phone.css +0 -17
  70. package/dist/components/form-input-search.css +0 -70
  71. package/dist/components/form-labels.css +0 -36
  72. package/dist/components/form-switches.css +0 -150
  73. package/dist/components/form-text-fields.css +0 -201
  74. package/dist/components/horizontal-navigation-mobile.css +0 -234
  75. package/dist/components/horizontal-navigation.css +0 -216
  76. package/dist/components/inline-tabs.css +0 -83
  77. package/dist/components/loader.css +0 -101
  78. package/dist/components/modal.css +0 -181
  79. package/dist/components/overlay.css +0 -30
  80. package/dist/components/pagination.css +0 -81
  81. package/dist/components/pills.css +0 -220
  82. package/dist/components/profile-details.css +0 -40
  83. package/dist/components/profile-img.css +0 -69
  84. package/dist/components/profile-layout.css +0 -25
  85. package/dist/components/spinner.css +0 -91
  86. package/dist/components/tab-list.css +0 -147
  87. package/dist/components/table.css +0 -327
  88. package/dist/components/tables.css +0 -80
  89. package/dist/components/timeline.css +0 -118
  90. package/dist/components/toast.css +0 -145
  91. package/dist/components/toaster.css +0 -23
  92. package/dist/components/tooltip.css +0 -175
  93. package/dist/components/vertical-navigation.css +0 -276
  94. package/dist/wwt-bsds-wc-base.css +0 -1129
@@ -1,95 +0,0 @@
1
- .bs-empty-state {
2
- --bs-empty-state-description-color: var(--bs-ink-light);
3
- --bs-empty-state-icon-color: var(--bs-violet-300);
4
- --bs-empty-state-title-color: var(--bs-ink-base);
5
- --col-gap: var(--bs-space-6);
6
- --cta-spacing: var(--bs-space-4);
7
- --description-font-size: var(--bs-text-base);
8
- --description-line-height: var(--bs-leading-base);
9
- --description-weight: var(--bs-font-normal);
10
- --icon-size: 3rem;
11
- --title-font-size: var(--bs-text-lg);
12
- --title-line-height: 130%;
13
- --title-spacing: 0.5rem;
14
- --title-weight: var(--bs-font-normal);
15
-
16
- align-items: center;
17
- column-gap: var(--col-gap);
18
- display: grid;
19
- grid-template-columns: auto 1fr;
20
- }
21
-
22
- .bs-empty-state :where(.bs-empty-state-icon) {
23
- align-self: start;
24
- height: auto;
25
- max-width: var(--icon-size);
26
- width: 100%;
27
- }
28
-
29
- .bs-empty-state :where(.bs-empty-state-icon path) {
30
- fill: var(--bs-empty-state-icon-color);
31
- }
32
-
33
- .bs-empty-state :where(.bs-empty-state-title) {
34
- color: var(--bs-empty-state-title-color);
35
- font-size: var(--title-font-size);
36
- font-weight: var(--title-weight);
37
- line-height: var(--title-line-height);
38
- padding-block-end: var(--title-spacing);
39
- }
40
-
41
- .bs-empty-state :where(.bs-empty-state-description) {
42
- color: var(--bs-empty-state-description-color);
43
- font-size: var(--description-font-size);
44
- font-weight: var(--description-weight);
45
- line-height: var(--description-line-height);
46
- }
47
-
48
- .bs-empty-state :where(a) {
49
- color: var(--bs-ink-blue);
50
- text-decoration: underline;
51
- }
52
-
53
- .bs-empty-state :where(a:hover) {
54
- cursor: pointer;
55
- }
56
-
57
- /* Call to Actions */
58
-
59
- .bs-empty-state
60
- :where(
61
- .bs-empty-state-description + *,
62
- .bs-empty-state-title + *:not(.bs-empty-state-description)
63
- ) {
64
- margin-block-start: var(--cta-spacing, var(--bs-space-4));
65
- }
66
-
67
- /* Sizing */
68
-
69
- .bs-empty-state:where([data-size^='xs']) {
70
- --col-gap: var(--bs-space-4);
71
- --cta-spacing: var(--bs-space-2);
72
- --icon-size: 1.5rem;
73
- --title-color: var(--bs-ink-light);
74
- --title-font-size: var(--bs-text-md);
75
- --title-line-height: var(--bs-leading-base);
76
- --title-spacing: 0;
77
- }
78
-
79
- .bs-empty-state:where([data-size^='sm']) {
80
- --description-font-size: var(--bs-text-sm);
81
- --icon-size: 2rem;
82
- --title-font-size: var(--bs-text-md);
83
- --title-line-height: var(--bs-leading-base);
84
- --title-spacing: 0.125rem;
85
- }
86
-
87
- .bs-empty-state:where([data-size^='lg']) {
88
- --col-gap: var(--bs-space-8);
89
- --cta-spacing: var(--bs-space-6);
90
- --description-font-size: var(--bs-text-md);
91
- --icon-size: 4rem;
92
- --title-font-size: var(--bs-text-xl);
93
- --title-line-height: 110%;
94
- --title-weight: var(--bs-font-bold);
95
- }
@@ -1,112 +0,0 @@
1
- /*
2
- custom properties:
3
- --filterbtn-caret-size
4
- --filterbtn-caret-transform
5
- --filterbtn-color
6
- --filterbtn-focus-color
7
- --filterbtn-height
8
- --filterbtn-text-size
9
- --filterbtn-weight
10
- */
11
-
12
- button:where(.bs-filter-button) {
13
- --filterbtn-caret-size: 1rem;
14
- --filterbtn-caret-transform: rotate(0deg);
15
- --filterbtn-color: var(--bs-ink-blue);
16
- --filterbtn-focus-color: transparent;
17
- --filterbtn-height: 1.5rem;
18
- --filterbtn-text-size: var(--bs-text-base);
19
- --filterbtn-weight: 400;
20
- flex-shrink: 0;
21
- position: relative;
22
- }
23
-
24
- .bs-filter-button {
25
- align-items: center;
26
- color: var(--filterbtn-color);
27
- column-gap: 0.5rem;
28
- cursor: pointer;
29
- display: inline-flex;
30
- font-size: var(--filterbtn-text-size);
31
- font-weight: var(--filterbtn-weight);
32
- height: var(--filterbtn-height);
33
- line-height: 1.5;
34
- transition: outline-color 100ms ease-in-out;
35
- width: max-content;
36
- }
37
- .bs-filter-button::after {
38
- border: solid var(--filterbtn-focus-color) 2px;
39
- border-radius: 0.25rem;
40
- content: '';
41
- display: block;
42
- height: 100%;
43
- position: absolute;
44
- transform: scale(1.25);
45
- width: 100%;
46
- }
47
-
48
- .bs-filter-button :where(.bs-icon),
49
- .bs-filter-button :where(span:has(svg:only-child)) {
50
- display: block;
51
- height: var(--filterbtn-caret-size);
52
- line-height: 1;
53
- transform: var(--filterbtn-caret-transform);
54
- transform-origin: center;
55
- transition: var(--bs-trans-rotate180);
56
- width: var(--filterbtn-caret-size);
57
- }
58
-
59
- .bs-filter-button:where([data-size="sm"],[data-size="xs"]) {
60
-
61
- --filterbtn-text-size: var(--bs-text-sm);
62
- --filterbtn-caret-size: .75rem;
63
- }
64
-
65
- .bs-filter-button:where([data-size="sm"]) {
66
- --filterbtn-text-size: var(--bs-text-sm);
67
- }
68
-
69
- .bs-filter-button:where([data-size="xs"]) {
70
- --filterbtn-text-size: var(--bs-text-xs);
71
- --filterbtn-weight: 600;
72
- }
73
-
74
- /* Hover state */
75
- .bs-filter-button:hover {
76
- --filterbtn-color: var(--bs-blue-base);
77
- }
78
-
79
- /* Focus state */
80
- .bs-filter-button:where(:focus-visible) {
81
- outline: none;
82
- --filterbtn-focus-color: var(--bs-blue-base);
83
- }
84
-
85
- /* Filter open state */
86
- .bs-filter-button:where([aria-expanded="true"],[data-open="true"]) {
87
- --filterbtn-caret-transform: rotate(180deg);
88
- }
89
-
90
- /* Badge non-standard color */
91
- .bs-filter-button :where(.bs-badge) {
92
- --badge-bg: var(--bs-ink-blue);
93
- }
94
-
95
- :where(.dark) .bs-filter-button :where(.bs-badge) {
96
- --badge-bg: var(--bs-blue-medium);
97
- }
98
-
99
- .bs-filter-button:hover :where(.bs-badge) {
100
- --badge-bg: var(--filterbtn-color);
101
- }
102
-
103
- /* Disabled state */
104
- .bs-filter-button:where(:disabled) {
105
- --filterbtn-color: var(--bs-ink-disabled);
106
- cursor: default;
107
- }
108
-
109
- .bs-filter-button:where(:disabled) :where(.bs-badge) {
110
- --badge-bg: var(--bs-bg-disabled);
111
- --badge-text: var(--bs-ink-disabled);
112
- }
@@ -1,71 +0,0 @@
1
- .bs-flyout {
2
- background-color: var(--bs-bg-base-to-light);
3
- box-shadow: var(--bs-shadow-drawerRight);
4
- height: 100%;
5
- left: 0;
6
- margin: 0;
7
- max-width: 100vw;
8
- opacity: 0;
9
- padding: 1.5rem;
10
- position: fixed;
11
- top: 0;
12
- transform: translateX(-100%);
13
- transition-duration: 300ms;
14
- transition-property: opacity, transform;
15
- transition-timing-function: ease;
16
- width: 360px;
17
- z-index: 1000;
18
- }
19
-
20
- .bs-flyout:where([data-absolute="true"]) {
21
- position: absolute;
22
- }
23
-
24
- .bs-flyout:where([data-position="right"]) {
25
- box-shadow: var(--bs-shadow-drawerLeft);
26
- left: auto;
27
- right: 0;
28
- transform: translateX(100%);
29
- }
30
-
31
- .bs-flyout:where([data-size="lg"]) {
32
- width: 535px;
33
- }
34
-
35
- .bs-flyout:where([data-shown="true"]) {
36
- opacity: 1;
37
- /*
38
- Needs to be "none" instead of "0" so as not to interfere with calculating
39
- "containing block" for absolute and fixed positioned elements (see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block)
40
- */
41
- transform: none;
42
- }
43
-
44
- .bs-flyout :where(.bs-flyout-close-container) {
45
- display: flex;
46
- justify-content: flex-end;
47
- }
48
-
49
- .bs-flyout :where(.bs-flyout-close-container button) {
50
- cursor: pointer;
51
- outline-offset: 2px;
52
- padding: 2px;
53
- }
54
-
55
- /* Vue Transition Styles - Only used in Vue component */
56
- .bs-flyout:where(.bs-flyout-enter-from),
57
- .bs-flyout:where(.bs-flyout-leave-to) {
58
- opacity: 0;
59
- transform: translateX(-100%);
60
- }
61
-
62
- .bs-flyout:where([data-position="right"].bs-flyout-enter-from),
63
- .bs-flyout:where([data-position="right"].bs-flyout-leave-to) {
64
- transform: translateX(100%);
65
- }
66
-
67
- .bs-flyout:where(.bs-flyout-enter-to),
68
- .bs-flyout:where(.bs-flyout-leave-from) {
69
- opacity: 1;
70
- transform: translateX(0);
71
- }
@@ -1,178 +0,0 @@
1
- /* Containers and Labels for Checkbox/Radio */
2
- .bs-boolean {
3
- display: inline-flex;
4
- align-items: center;
5
- font-size: var(--bs-text-base);
6
- font-weight: 400;
7
- line-height: 115%;
8
- }
9
-
10
- .bs-boolean:where([data-size='sm']) input {
11
- height: .75rem;
12
- width: .75rem;
13
- }
14
-
15
- .bs-boolean label {
16
- font-size: var(--bs-text-base);
17
- font-weight: 400;
18
- line-height: 1.5;
19
- width: auto;
20
- }
21
-
22
- /* not using gap on .bs-boolean due to dead click zone */
23
- .bs-boolean label {
24
- padding-inline-end: 0.5em;
25
- }
26
-
27
- .bs-boolean input + label {
28
- padding-inline: 0.5em 0;
29
- }
30
-
31
- .bs-boolean:where([data-size='sm']),
32
- .bs-boolean:where([data-size='sm']) label {
33
- font-size: var(--bs-text-xs);
34
- }
35
-
36
-
37
- /* Checkbox & Radio Input */
38
-
39
- :where(input[type='checkbox'], input[type='radio']),
40
- :is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
41
- appearance: none;
42
- box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base));
43
- cursor: pointer;
44
- display: grid;
45
- height: 1rem;
46
- margin: 0;
47
- place-content: center;
48
- position: relative;
49
- width: 1rem;
50
- }
51
-
52
- :where(input[type='checkbox'], input[type='radio']):focus-visible,
53
- :is(.bs-boolean :where(input), .bs-checkbox):focus-visible {
54
- box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base)),
55
- 0 0 0 2px var(--offset-color, var(--bs-bg-base)),
56
- 0 0 0 4px var(--outline-color, var(--bs-blue-base));
57
- outline: 2px solid transparent;
58
- }
59
-
60
- :where(input[type='checkbox']),
61
- :is(.bs-boolean :where([type='checkbox']), .bs-checkbox) {
62
- border-radius: 0.125rem;
63
- }
64
-
65
- :where(input[type='radio']),
66
- .bs-boolean :where([type='radio']) {
67
- border-radius: 50%;
68
- }
69
-
70
- /* Checkbox's checkbox, checkmark. Checkmark is hidden unless checked/indeterminate. */
71
- input:where([type='checkbox'])::before,
72
- :is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
73
- --cb-filled-size: var(--filled-size, 1rem);
74
- content: '';
75
- border-radius: 0.125rem;
76
- box-shadow: inset var(--cb-filled-size) var(--cb-filled-size) var(--fill-bg-color, var(--bs-blue-base));
77
- height: var(--cb-filled-size);
78
- visibility: hidden;
79
- width: var(--cb-filled-size);
80
- }
81
-
82
- input:where([type='checkbox'])::after,
83
- :is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
84
- border: solid var(--bs-bg-base);
85
- border-width: 0 0.125rem 0.125rem 0;
86
- content: '';
87
- height: var(--inner-check-height, 0.75em);
88
- left: 50%;
89
- position: absolute;
90
- top: 50%;
91
- transform-origin: center;
92
- transform: translate(-50%, -60%) rotate(45deg);
93
- visibility: hidden;
94
- width: var(--inner-check-width, 0.375em);
95
- }
96
-
97
- input:where([type='checkbox']):where(:indeterminate)::after,
98
- .bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
99
- .bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
100
- border: none;
101
- background-color: var(--bs-bg-base);
102
- height: var(--inner-dash-height, 0.125rem);
103
- transform: translate(-50%, -0.0625rem) rotate(0deg);
104
- width: var(--inner-dash-width, 0.625em);
105
- }
106
-
107
- /* Radio outer circle, Radio dot. Dot is hidden unless checked. */
108
- input:where([type='radio'])::before,
109
- .bs-boolean :where([type="radio"])::before {
110
- --radio-filled-size: var(--filled-size, 1rem);
111
- background-color: var(--fill-bg-color, var(--bs-blue-base));
112
- border-radius: 50%;
113
- box-sizing: content-box;
114
- content: '';
115
- height: var(--radio-filled-size);
116
- visibility: hidden;
117
- width: var(--radio-filled-size);
118
- }
119
-
120
- input:where([type='radio'])::after,
121
- .bs-boolean :where([type="radio"])::after {
122
- background-color: var(--bs-bg-base);
123
- border-radius: 50%;
124
- box-sizing: content-box;
125
- content: '';
126
- height: var(--inner-dot-size, 0.375rem);
127
- left: 50%;
128
- position: absolute;
129
- top: 50%;
130
- transform: translate(-50%, -50%);
131
- visibility: hidden;
132
- width: var(--inner-dot-size, 0.375rem);
133
- }
134
-
135
- /* Show checkmark, indeterminate mark, or radio dot */
136
-
137
- .bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
138
- .bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
139
- input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
140
- input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after,
141
- .bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
142
- .bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after {
143
- visibility: visible;
144
- }
145
-
146
- /* ---------- Sizes ----------- */
147
-
148
- .bs-boolean:where([data-size="sm"]),
149
- .bs-checkbox:where([data-size="sm"]) {
150
- --filled-size: 0.75rem;
151
- --inner-check-height: 0.5625rem;
152
- --inner-check-width: 0.3125rem;
153
- --inner-dash-height: 0.125rem;
154
- --inner-dash-width: .75em;
155
- --inner-dot-size: 0.25rem;
156
- }
157
-
158
- /* ---------- Disabled State ----------- */
159
-
160
- :where(input[type="checkbox"], input[type="radio"]):disabled,
161
- .bs-boolean:where([data-disabled="true"]),
162
- .bs-checkbox:where([data-disabled="true"]) {
163
- --box-shadow: var(--bs-ink-disabled);
164
- --fill-bg-color: var(--bs-ink-disabled);
165
- background-color: transparent;
166
- cursor: default;
167
- pointer-events: none;
168
- }
169
-
170
- /* ---------- Error state ----------- */
171
-
172
- input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-error="false"])),
173
- .bs-boolean :where(input[data-error="true"]), /* deprecate this one in favor of next line */
174
- .bs-boolean:where([data-error="true"]),
175
- .bs-checkbox:where([data-error="true"]) {
176
- --box-shadow: var(--bs-red-base);
177
- --outline-color: var(--bs-red-base);
178
- }
@@ -1,17 +0,0 @@
1
- .bs-character-count {
2
- color: var(--bs-ink-base);
3
- font-size: var(--bs-text-xs);
4
- font-weight: 400;
5
- text-align: right;
6
- white-space: nowrap;
7
- }
8
-
9
- :where(:disabled, [data-disabled="true"]) + .bs-character-count,
10
- :where(:disabled, [data-disabled="true"]) .bs-character-count,
11
- .bs-character-count:where([data-disabled="true"]) {
12
- visibility: hidden;
13
- }
14
-
15
- .bs-character-count:where([data-error="true"]) {
16
- color: var(--bs-ink-red);
17
- }
@@ -1,108 +0,0 @@
1
- .bs-form-container {
2
- background: var(--bs-bg-base-to-light);
3
- border-radius: 0;
4
- }
5
-
6
- @media (min-width: 752px) {
7
- .bs-form-container {
8
- border-radius: 8px;
9
- }
10
- }
11
-
12
- .bs-form-container :where(.bs-form-container-header-wrapper) {
13
- padding: var(--bs-space-3) var(--bs-space-4);
14
- display: flex;
15
- }
16
-
17
- .bs-form-container :where(.bs-form-container-header) {
18
- padding-right: var(--bs-space-6);
19
- display: flex;
20
- flex: 1;
21
- flex-direction: column;
22
- flex-wrap: wrap;
23
- justify-content: center;
24
- }
25
-
26
- .bs-form-container :where(.bs-form-container-title-wrapper) {
27
- margin-right: auto;
28
- display: flex;
29
- align-items: center;
30
- }
31
-
32
- .bs-form-container :where(.bs-form-container-title) {
33
- color: var(--bs-ink-medium);
34
- font-size: var(--bs-text-base);
35
- }
36
-
37
- .bs-form-container :where(.bs-form-container-title-addon) {
38
- margin-left: var(--bs-space-2);
39
- display: flex;
40
- align-items: center;
41
- gap: var(--bs-space-2);
42
- }
43
-
44
- .bs-form-container :where(.bs-form-container-header-icon) {
45
- margin-right: var(--bs-space-2);
46
- color: var(--bs-ink-base);
47
- height: 1rem;
48
- width: 1rem;
49
- }
50
-
51
- .bs-form-container :where(.bs-form-container-subtitle) {
52
- margin-top: var(--bs-space-1);
53
- color: var(--bs-ink-light);
54
- font-size: var(--bs-text-sm);
55
- }
56
-
57
- .bs-form-container :where(.bs-form-container-header-actions) {
58
- display: flex;
59
- align-items: center;
60
- gap: var(--bs-space-4);
61
- }
62
-
63
- .bs-form-container :where(.bs-form-container-content) {
64
- display: none;
65
- padding: var(--bs-space-6);
66
- border-top: 1px solid var(--bs-border-light);
67
- }
68
-
69
- .bs-form-container :where(.bs-form-container-content):where([data-open="true"]) {
70
- display: flex;
71
- }
72
-
73
- /* adds styling utilities for icons in header actions slot */
74
- .bs-form-container :where(.bs-form-container-header-actions) :where(.bs-icon) {
75
- color: var(--bs-ink-medium);
76
- cursor: pointer;
77
- transition: transform 200ms ease-in-out, color 100ms ease-in-out;
78
-
79
- /* color utilities for specified icons */
80
- &:where([data-component="bs-icon-caret-down"]) {
81
- color: var(--bs-ink-base);
82
- }
83
-
84
- &:where([data-component="bs-icon-edit"]):hover {
85
- color: var(--bs-ink-blue);
86
- }
87
-
88
- &:where([data-component="bs-icon-delete"]):hover {
89
- color: var(--bs-ink-red);
90
- }
91
- }
92
-
93
- .bs-form-container :where(.bs-form-container-header-actions):where([data-open="true"]) {
94
- /* transition utilities for specified icons */
95
- :where([data-component="bs-icon-caret-down"]) {
96
- transform: rotate(180deg);
97
- }
98
- }
99
-
100
- /* inactive state styles */
101
- .bs-form-container:where([data-inactive="true"]) {
102
- background: rgba(255, 255, 255, 0.5);
103
- }
104
-
105
- .bs-form-container :where(.bs-form-container-title:where([data-inactive="true"])),
106
- .bs-form-container :where(.bs-form-container-subtitle:where([data-inactive="true"])) {
107
- color: var(--bs-ink-disabled);
108
- }
@@ -1,36 +0,0 @@
1
- /* Generally applicable (all input types) */
2
- :where([data-required]:not([data-required="false"])) {
3
- color: var(--bs-ink-red);
4
- font-weight: var(--bs-font-bold, 600);
5
- }
6
-
7
- :where([data-disabled]:not([data-disabled="false"]), [data-disabled]:not([data-disabled="false"]) [data-required]:not([data-required="false"])) {
8
- color: var(--bs-gray-400);
9
- }
10
-
11
- :where(.box) :is(input, textarea, select):where(:focus-visible),
12
- :where(.box) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
13
- --offset-color: var(--bs-bg-medium);
14
- }
15
- :where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
16
- :where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
17
- --offset-color: var(--bs-bg-invert-to-base);
18
- }
19
-
20
- /* Errors and Messages */
21
- :is(input, select, textarea):where([data-error]:not([data-error="false"])),
22
- :is(.bs-input, .bs-select, .bs-textarea):where([data-error]:not([data-error="false"])) {
23
- --input-border: var(--bs-ink-red);
24
- }
25
-
26
- /* Fieldset */
27
- :where(fieldset) {
28
- border: none;
29
- margin-left: 0;
30
- margin-right: 0;
31
- padding: 0;
32
- }
33
- :where(fieldset legend) {
34
- margin-bottom: 0.25rem;
35
- padding: 0;
36
- }
@@ -1,15 +0,0 @@
1
- .bs-field-details {
2
- display: flex;
3
- justify-content: space-between;
4
- align-items: flex-start;
5
- gap: var(--bs-space-2);
6
- margin-top: 0.5rem;
7
- }
8
-
9
- :where(textarea, bs-textarea) + .bs-field-details {
10
- margin-top: 0.25rem;
11
- }
12
-
13
- .bs-field-details :where(.bs-character-count:first-child) {
14
- margin-left: auto;
15
- }
@@ -1,18 +0,0 @@
1
- .bs-hint {
2
- --hint-color: var(--bs-ink-light);
3
- color: var(--hint-color);
4
- font-size: var(--bs-text-xs);
5
- list-style: none;
6
- margin: 0;
7
- min-width: 0;
8
- overflow-wrap: break-word;
9
- padding: 0;
10
- }
11
-
12
- .bs-hint:where([data-error]:not([data-error="false"])) {
13
- --hint-color: var(--bs-ink-red);
14
- }
15
-
16
- :where(:disabled, [data-disabled="true"]) .bs-hint {
17
- --hint-color: var(--bs-ink-disabled);
18
- }