@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,182 +0,0 @@
1
- @mixin form-booleans() {
2
- /* Containers and Labels for Checkbox/Radio */
3
- .bs-boolean {
4
- display: inline-flex;
5
- align-items: center;
6
- font-size: var(--bs-text-base);
7
- font-weight: 400;
8
- line-height: 115%;
9
- }
10
-
11
- .bs-boolean:where([data-size='sm']) input {
12
- height: .75rem;
13
- width: .75rem;
14
- }
15
-
16
- .bs-boolean label {
17
- font-size: var(--bs-text-base);
18
- font-weight: 400;
19
- line-height: 1.5;
20
- width: auto;
21
- }
22
-
23
- /* not using gap on .bs-boolean due to dead click zone */
24
- .bs-boolean label {
25
- padding-inline-end: 0.5em;
26
- }
27
-
28
- .bs-boolean input + label {
29
- padding-inline: 0.5em 0;
30
- }
31
-
32
- .bs-boolean:where([data-size='sm']),
33
- .bs-boolean:where([data-size='sm']) label {
34
- font-size: var(--bs-text-xs);
35
- }
36
-
37
-
38
- /* Checkbox & Radio Input */
39
-
40
- :where(input[type='checkbox'], input[type='radio']),
41
- :is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
42
- appearance: none;
43
- box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base));
44
- cursor: pointer;
45
- display: grid;
46
- height: 1rem;
47
- margin: 0;
48
- place-content: center;
49
- position: relative;
50
- width: 1rem;
51
- }
52
-
53
- :where(input[type='checkbox'], input[type='radio']):focus-visible,
54
- :is(.bs-boolean :where(input), .bs-checkbox):focus-visible {
55
- box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base)),
56
- 0 0 0 2px var(--offset-color, var(--bs-bg-base)),
57
- 0 0 0 4px var(--outline-color, var(--bs-blue-base));
58
- outline: 2px solid transparent;
59
- }
60
-
61
- :where(input[type='checkbox']),
62
- :is(.bs-boolean :where([type='checkbox']), .bs-checkbox) {
63
- border-radius: 0.125rem;
64
- }
65
-
66
- :where(input[type='radio']),
67
- .bs-boolean :where([type='radio']) {
68
- border-radius: 50%;
69
- }
70
-
71
- /* Checkbox's checkbox, checkmark. Checkmark is hidden unless checked/indeterminate. */
72
- input:where([type='checkbox'])::before,
73
- :is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
74
- --cb-filled-size: var(--filled-size, 1rem);
75
- content: '';
76
- border-radius: 0.125rem;
77
- box-shadow: inset var(--cb-filled-size) var(--cb-filled-size) var(--fill-bg-color, var(--bs-blue-base));
78
- height: var(--cb-filled-size);
79
- visibility: hidden;
80
- width: var(--cb-filled-size);
81
- }
82
-
83
- input:where([type='checkbox'])::after,
84
- :is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
85
- border: solid var(--bs-bg-base);
86
- border-width: 0 0.125rem 0.125rem 0;
87
- content: '';
88
- height: var(--inner-check-height, 0.75em);
89
- left: 50%;
90
- position: absolute;
91
- top: 50%;
92
- transform-origin: center;
93
- transform: translate(-50%, -60%) rotate(45deg);
94
- visibility: hidden;
95
- width: var(--inner-check-width, 0.375em);
96
- }
97
-
98
- input:where([type='checkbox']):where(:indeterminate)::after,
99
- .bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
100
- .bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
101
- border: none;
102
- background-color: var(--bs-bg-base);
103
- height: var(--inner-dash-height, 0.125rem);
104
- transform: translate(-50%, -0.0625rem) rotate(0deg);
105
- width: var(--inner-dash-width, 0.625em);
106
- }
107
-
108
- /* Radio outer circle, Radio dot. Dot is hidden unless checked. */
109
- input:where([type='radio'])::before,
110
- .bs-boolean :where([type="radio"])::before {
111
- --radio-filled-size: var(--filled-size, 1rem);
112
- background-color: var(--fill-bg-color, var(--bs-blue-base));
113
- border-radius: 50%;
114
- box-sizing: content-box;
115
- content: '';
116
- height: var(--radio-filled-size);
117
- visibility: hidden;
118
- width: var(--radio-filled-size);
119
- }
120
-
121
- input:where([type='radio'])::after,
122
- .bs-boolean :where([type="radio"])::after {
123
- background-color: var(--bs-bg-base);
124
- border-radius: 50%;
125
- box-sizing: content-box;
126
- content: '';
127
- height: var(--inner-dot-size, 0.375rem);
128
- left: 50%;
129
- position: absolute;
130
- top: 50%;
131
- transform: translate(-50%, -50%);
132
- visibility: hidden;
133
- width: var(--inner-dot-size, 0.375rem);
134
- }
135
-
136
- /* Show checkmark, indeterminate mark, or radio dot */
137
-
138
- .bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
139
- .bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
140
- input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
141
- input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after,
142
- .bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
143
- .bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after {
144
- visibility: visible;
145
- }
146
-
147
- /* ---------- Sizes ----------- */
148
-
149
- .bs-boolean:where([data-size="sm"]),
150
- .bs-checkbox:where([data-size="sm"]) {
151
- --filled-size: 0.75rem;
152
- --inner-check-height: 0.5625rem;
153
- --inner-check-width: 0.3125rem;
154
- --inner-dash-height: 0.125rem;
155
- --inner-dash-width: .75em;
156
- --inner-dot-size: 0.25rem;
157
- }
158
-
159
- /* ---------- Disabled State ----------- */
160
-
161
- :where(input[type="checkbox"], input[type="radio"]):disabled,
162
- .bs-boolean:where([data-disabled="true"]),
163
- .bs-checkbox:where([data-disabled="true"]) {
164
- --box-shadow: var(--bs-ink-disabled);
165
- --fill-bg-color: var(--bs-ink-disabled);
166
- background-color: transparent;
167
- cursor: default;
168
- pointer-events: none;
169
- }
170
-
171
- /* ---------- Error state ----------- */
172
-
173
- input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-error="false"])),
174
- .bs-boolean :where(input[data-error="true"]), /* deprecate this one in favor of next line */
175
- .bs-boolean:where([data-error="true"]),
176
- .bs-checkbox:where([data-error="true"]) {
177
- --box-shadow: var(--bs-red-base);
178
- --outline-color: var(--bs-red-base);
179
- }
180
-
181
- }
182
-
@@ -1,21 +0,0 @@
1
- @mixin form-character-count() {
2
- .bs-character-count {
3
- color: var(--bs-ink-base);
4
- font-size: var(--bs-text-xs);
5
- font-weight: 400;
6
- text-align: right;
7
- white-space: nowrap;
8
- }
9
-
10
- :where(:disabled, [data-disabled="true"]) + .bs-character-count,
11
- :where(:disabled, [data-disabled="true"]) .bs-character-count,
12
- .bs-character-count:where([data-disabled="true"]) {
13
- visibility: hidden;
14
- }
15
-
16
- .bs-character-count:where([data-error="true"]) {
17
- color: var(--bs-ink-red);
18
- }
19
-
20
- }
21
-
@@ -1,111 +0,0 @@
1
- @mixin form-container() {
2
- .bs-form-container {
3
- background: var(--bs-bg-base-to-light);
4
- border-radius: 0;
5
- }
6
-
7
- @media (min-width: 752px) {
8
- .bs-form-container {
9
- border-radius: 8px;
10
- }
11
- }
12
-
13
- .bs-form-container :where(.bs-form-container-header-wrapper) {
14
- padding: var(--bs-space-3) var(--bs-space-4);
15
- display: flex;
16
- }
17
-
18
- .bs-form-container :where(.bs-form-container-header) {
19
- padding-right: var(--bs-space-6);
20
- display: flex;
21
- flex: 1;
22
- flex-direction: column;
23
- flex-wrap: wrap;
24
- justify-content: center;
25
- }
26
-
27
- .bs-form-container :where(.bs-form-container-title-wrapper) {
28
- margin-right: auto;
29
- display: flex;
30
- align-items: center;
31
- }
32
-
33
- .bs-form-container :where(.bs-form-container-title) {
34
- color: var(--bs-ink-medium);
35
- font-size: var(--bs-text-base);
36
- }
37
-
38
- .bs-form-container :where(.bs-form-container-title-addon) {
39
- margin-left: var(--bs-space-2);
40
- display: flex;
41
- align-items: center;
42
- gap: var(--bs-space-2);
43
- }
44
-
45
- .bs-form-container :where(.bs-form-container-header-icon) {
46
- margin-right: var(--bs-space-2);
47
- color: var(--bs-ink-base);
48
- height: 1rem;
49
- width: 1rem;
50
- }
51
-
52
- .bs-form-container :where(.bs-form-container-subtitle) {
53
- margin-top: var(--bs-space-1);
54
- color: var(--bs-ink-light);
55
- font-size: var(--bs-text-sm);
56
- }
57
-
58
- .bs-form-container :where(.bs-form-container-header-actions) {
59
- display: flex;
60
- align-items: center;
61
- gap: var(--bs-space-4);
62
- }
63
-
64
- .bs-form-container :where(.bs-form-container-content) {
65
- display: none;
66
- padding: var(--bs-space-6);
67
- border-top: 1px solid var(--bs-border-light);
68
- }
69
-
70
- .bs-form-container :where(.bs-form-container-content):where([data-open="true"]) {
71
- display: flex;
72
- }
73
-
74
- /* adds styling utilities for icons in header actions slot */
75
- .bs-form-container :where(.bs-form-container-header-actions) :where(.bs-icon) {
76
- color: var(--bs-ink-medium);
77
- cursor: pointer;
78
- transition: transform 200ms ease-in-out, color 100ms ease-in-out;
79
-
80
- /* color utilities for specified icons */
81
- &:where([data-component="bs-icon-caret-down"]) {
82
- color: var(--bs-ink-base);
83
- }
84
-
85
- &:where([data-component="bs-icon-edit"]):hover {
86
- color: var(--bs-ink-blue);
87
- }
88
-
89
- &:where([data-component="bs-icon-delete"]):hover {
90
- color: var(--bs-ink-red);
91
- }
92
- }
93
-
94
- .bs-form-container :where(.bs-form-container-header-actions):where([data-open="true"]) {
95
- /* transition utilities for specified icons */
96
- :where([data-component="bs-icon-caret-down"]) {
97
- transform: rotate(180deg);
98
- }
99
- }
100
-
101
- /* inactive state styles */
102
- .bs-form-container:where([data-inactive="true"]) {
103
- background: rgba(255, 255, 255, 0.5);
104
- }
105
-
106
- .bs-form-container :where(.bs-form-container-title:where([data-inactive="true"])),
107
- .bs-form-container :where(.bs-form-container-subtitle:where([data-inactive="true"])) {
108
- color: var(--bs-ink-disabled);
109
- }
110
- }
111
-
@@ -1,40 +0,0 @@
1
- @mixin form-elements() {
2
- /* Generally applicable (all input types) */
3
- :where([data-required]:not([data-required="false"])) {
4
- color: var(--bs-ink-red);
5
- font-weight: var(--bs-font-bold, 600);
6
- }
7
-
8
- :where([data-disabled]:not([data-disabled="false"]), [data-disabled]:not([data-disabled="false"]) [data-required]:not([data-required="false"])) {
9
- color: var(--bs-gray-400);
10
- }
11
-
12
- :where(.box) :is(input, textarea, select):where(:focus-visible),
13
- :where(.box) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
14
- --offset-color: var(--bs-bg-medium);
15
- }
16
- :where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
17
- :where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
18
- --offset-color: var(--bs-bg-invert-to-base);
19
- }
20
-
21
- /* Errors and Messages */
22
- :is(input, select, textarea):where([data-error]:not([data-error="false"])),
23
- :is(.bs-input, .bs-select, .bs-textarea):where([data-error]:not([data-error="false"])) {
24
- --input-border: var(--bs-ink-red);
25
- }
26
-
27
- /* Fieldset */
28
- :where(fieldset) {
29
- border: none;
30
- margin-left: 0;
31
- margin-right: 0;
32
- padding: 0;
33
- }
34
- :where(fieldset legend) {
35
- margin-bottom: 0.25rem;
36
- padding: 0;
37
- }
38
-
39
- }
40
-
@@ -1,19 +0,0 @@
1
- @mixin form-field-details() {
2
- .bs-field-details {
3
- display: flex;
4
- justify-content: space-between;
5
- align-items: flex-start;
6
- gap: var(--bs-space-2);
7
- margin-top: 0.5rem;
8
- }
9
-
10
- :where(textarea, bs-textarea) + .bs-field-details {
11
- margin-top: 0.25rem;
12
- }
13
-
14
- .bs-field-details :where(.bs-character-count:first-child) {
15
- margin-left: auto;
16
- }
17
-
18
- }
19
-
@@ -1,22 +0,0 @@
1
- @mixin form-hints() {
2
- .bs-hint {
3
- --hint-color: var(--bs-ink-light);
4
- color: var(--hint-color);
5
- font-size: var(--bs-text-xs);
6
- list-style: none;
7
- margin: 0;
8
- min-width: 0;
9
- overflow-wrap: break-word;
10
- padding: 0;
11
- }
12
-
13
- .bs-hint:where([data-error]:not([data-error="false"])) {
14
- --hint-color: var(--bs-ink-red);
15
- }
16
-
17
- :where(:disabled, [data-disabled="true"]) .bs-hint {
18
- --hint-color: var(--bs-ink-disabled);
19
- }
20
-
21
- }
22
-