@wwtdev/bsds-css 2.29.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 +2182 -1460
  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 -216
  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 -183
  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 -212
  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 -179
  93. package/dist/components/vertical-navigation.css +0 -276
  94. package/dist/wwt-bsds-wc-base.css +0 -1129
@@ -1,84 +0,0 @@
1
- @mixin tables() {
2
- table {
3
- border-collapse: collapse;
4
- border-spacing: 0;
5
- overflow-x: auto;
6
- max-width: 100%;
7
- width: 100%;
8
- }
9
- thead {
10
- color: var(--bs-ink-base);
11
- font-size: var(--bs-font-base);
12
- font-weight: 600;
13
- }
14
- tbody {
15
- color: var(--bs-ink-light);
16
- }
17
- th {
18
- background: var(--bs-bg-base);
19
- }
20
- th, td {
21
- border-bottom: 1px solid var(--bs-border);
22
- min-width: fit-content;
23
- padding: var(--bs-space-2);
24
- text-align: left;
25
- }
26
-
27
- /* Table Borders */
28
- table[data-borders^="none"] {
29
- border: 0;
30
- }
31
- table[data-borders^="all"] :where(th, td) {
32
- border-left: 1px solid var(--bs-border);
33
- }
34
- table[data-borders^="all"] :where(th, td):last-child {
35
- border-right: 1px solid var(--bs-border);
36
- }
37
- table[data-borders^="all"] th {
38
- border-top: 1px solid var(--bs-border);
39
- }
40
-
41
- /* Table Rows */
42
- table:where([data-rows^="striped"]) tbody > tr:nth-child(even) {
43
- background-color: var(--bs-bg-medium);
44
- }
45
-
46
- /* Table Cells */
47
- table[data-cells^="fixed"] {
48
- table-layout: fixed;
49
- }
50
- table:where([data-cells^="height"]) td {
51
- height: 4.5rem;
52
- vertical-align: middle;
53
- }
54
-
55
- /* Sticky Header */
56
- table:where([data-sticky]) {
57
- isolation: isolate;
58
- }
59
- table:where([data-sticky^="top"]) td {
60
- z-index: 1;
61
- }
62
- table:where([data-sticky^="top"]) {
63
- border-collapse: separate;
64
- overflow-y: unset; /* Will break sticky headers if removed */
65
- position: relative;
66
- }
67
- table:where([data-sticky^="left"]) {
68
- border-collapse: separate;
69
- overflow-x: unset; /* Will break sticky headers if removed */
70
- position: relative;
71
- }
72
- table:where([data-sticky^="top"]) th {
73
- position: sticky;
74
- top: var(--bs-content-top);
75
- z-index: 2;
76
- }
77
- table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
78
- position: sticky;
79
- left: 0;
80
- z-index: 2;
81
- }
82
-
83
- }
84
-
@@ -1,122 +0,0 @@
1
- @mixin timeline() {
2
- .bs-progress-bar, .bs-timeline {
3
- background-color: var(--bs-bg-base);
4
- display: flex;
5
- position: relative;
6
- }
7
-
8
- .bs-progress-bar {
9
- gap: .25rem;
10
- }
11
-
12
- /* ------------ Step Item ------------ */
13
-
14
- :is(.bs-progress-bar, .bs-timeline) :where(.bs-step-item) {
15
- background-color: var(--step-bg, inherit);
16
- flex-grow: 1;
17
- flex-shrink: 0;
18
- position: relative;
19
- }
20
-
21
- /* -- Step Items in Timeline -- */
22
-
23
- .bs-timeline :where(.bs-step-item) {
24
- align-items: center;
25
- color: var(--step-color, var(--bs-ink-light));
26
- display: flex;
27
- flex-direction: column;
28
- padding-inline: 1rem;
29
- row-gap: 0.5rem;
30
- }
31
-
32
- .bs-timeline :where(.bs-step-item *) {
33
- text-wrap: nowrap;
34
- }
35
-
36
- .bs-timeline :where(.bs-step-item .bs-step-icon) {
37
- background-color: inherit;
38
- height: 1.5rem;
39
- text-align: center;
40
- width: 1.5rem;
41
- z-index: 10;
42
- }
43
-
44
- .bs-timeline :where(.bs-step-item)::after {
45
- border-top: 0.125rem solid var(--bs-border-base);
46
- content: '';
47
- display: block;
48
- position: absolute;
49
- top: 0.75rem;
50
- width: 100%;
51
- }
52
-
53
- /* -- Step Items in Progress Bar -- */
54
-
55
- .bs-progress-bar :where(.bs-step-item) {
56
- --step-bg: var(--progress-step-bg, var(--bs-bg-disabled));
57
- height: .25rem;
58
- }
59
-
60
- .bs-progress-bar :where(.bs-step-item > *) {
61
- border: 0;
62
- clip: rect(0 0 0 0);
63
- height: 1px;
64
- margin: 0;
65
- overflow: hidden;
66
- padding: 0;
67
- position: absolute;
68
- white-space: nowrap;
69
- width: 1px;
70
- }
71
-
72
-
73
-
74
- /* ------------ Status colors ------------ */
75
- .bs-timeline :where(.bs-step-item[data-status="in-progress"]) {
76
- --step-color: var(--bs-ink-base);
77
- --progress-step-bg: var(--bs-purple-light);
78
- }
79
-
80
- .bs-progress-bar :where(.bs-step-item[data-status="not-started"]) {
81
- --step-color: var(--bs-ink-light);
82
- --progress-step-bg: var(--bs-gray-light);
83
- }
84
-
85
- .bs-progress-bar :where(.bs-step-item[data-status="in-progress"]),
86
- .bs-progress-bar :where(.bs-step-item[data-status="complete"]),
87
- .bs-progress-bar :where(.bs-step-item[data-status="paused"]),
88
- .bs-progress-bar :where(.bs-step-item[data-status="ongoing"]) {
89
- --step-color: var(--bs-ink-plum);
90
- --progress-step-bg: var(--bs-plum-medium);
91
- }
92
-
93
- .bs-timeline :where(.bs-step-item[data-status="complete"]),
94
- .bs-timeline :where(.bs-step-item[data-status="paused"]),
95
- .bs-timeline :where(.bs-step-item[data-status="ongoing"]) {
96
- --step-color: var(--bs-ink-purple);
97
- --progress-step-bg: var(--bs-purple-medium);
98
- }
99
-
100
- :is(.bs-progress-bar, .bs-timeline) :where(.bs-step-item[data-status="base"]) {
101
- --progress-step-bg: var(--bs-purple-base);
102
- }
103
-
104
- .bs-timeline :where(.bs-step-item[data-status="warning"]) {
105
- --step-color: var(--bs-ink-orange);
106
- --progress-step-bg: var(--bs-orange-base);
107
- }
108
-
109
- .bs-progress-bar :where(.bs-step-item[data-status="warning"]) {
110
- --step-color: var(--bs-warning);
111
- --progress-step-bg: var(--bs-warning);
112
- }
113
-
114
- :is(.bs-progress-bar, .bs-timeline) :where(.bs-step-item[data-status="error"]),
115
- :is(.bs-progress-bar, .bs-timeline) :where(.bs-step-item[data-status="cancelled"]) {
116
- --step-color: var(--bs-ink-red);
117
- --progress-step-bg: var(--bs-red-base);
118
- }
119
-
120
-
121
- }
122
-
@@ -1,149 +0,0 @@
1
- @mixin toast() {
2
- /* Base Toast Styles */
3
- .bs-toast {
4
- --toast-transform: translate(0, calc(100% + 1.5rem));
5
-
6
- background-color: var(--bs-bg-base-elevated);
7
- border-top: 4px solid var(--bs-blue-base);
8
- bottom: 1.5rem;
9
- box-shadow: var(--bs-shadow-contentMedium);
10
- left: 0;
11
- margin-left: 1.5rem;
12
- margin-right: 1.5rem;
13
- opacity: 0;
14
- position: fixed;
15
- right: 0;
16
- transform: var(--toast-transform);
17
- transition-duration: 200ms;
18
- transition-property: transform, opacity;
19
- transition-timing-function: ease;
20
- /* Clamp width for mobile -> full screen */
21
- width: clamp(17rem, calc(100vw - 3rem), 25rem);
22
- z-index: 999;
23
- }
24
-
25
- .bs-toast:where([data-stacked]:not([data-stacked="false"])) {
26
- bottom: auto;
27
- left: auto;
28
- position: static;
29
- right: auto;
30
- z-index: auto;
31
- }
32
-
33
- /* Mobile - Toast comes up from bottom */
34
- .bs-toast:where([data-shown]:not([data-shown="false"])) {
35
- opacity: 1;
36
- transform: translate(0, 0);
37
- }
38
-
39
- .bs-toast-header {
40
- align-items: center;
41
- color: var(--bs-ink-base);
42
- display: flex;
43
- gap: 0.5rem;
44
- padding: 1rem;
45
- }
46
-
47
- .bs-toast-header :where(.bs-toast-header-icon) {
48
- color: var(--bs-blue-base);
49
- }
50
-
51
- .bs-toast-header :where(h5) {
52
- font-weight: 400;
53
- }
54
-
55
- .bs-toast-body {
56
- border-bottom: 1px solid var(--bs-border);
57
- color: var(--bs-ink-light);
58
- padding-bottom: 1rem;
59
- padding-left: 1rem;
60
- padding-right: 1rem;
61
- }
62
-
63
- .bs-toast-actions {
64
- /* Mobile - Buttons will be stacked */
65
- display: flex;
66
- flex-direction: row;
67
- gap: 1rem;
68
- justify-content: flex-end;
69
- padding-bottom: 0.5rem;
70
- padding-left: 1rem;
71
- padding-right: 1rem;
72
- padding-top: 0.5rem;
73
- }
74
-
75
- .bs-toast-actions:where([data-stacked]:not([data-stacked="false"])) {
76
- flex-direction: column-reverse;
77
- }
78
-
79
- /* Warning Toast Styles */
80
- .bs-toast:where([data-variant^='warning']) {
81
- border-top: 4px solid var(--bs-orange-warning);
82
- }
83
-
84
- .bs-toast:where([data-variant^='warning']) :where(.bs-toast-header .bs-toast-header-icon) {
85
- color: var(--bs-orange-warning);
86
- }
87
-
88
- /* Positive Toast Styles */
89
- .bs-toast:where([data-variant^='positive']) {
90
- border-top: 4px solid var(--bs-purple-400);
91
- }
92
-
93
- .bs-toast:where([data-variant^='positive']) :where(.bs-toast-header .bs-toast-header-icon) {
94
- color: var(--bs-purple-400);
95
- }
96
-
97
- :where(.dark) .bs-toast:where([data-variant^='positive']) {
98
- border-top: 4px solid var(--bs-purple-200);
99
- }
100
-
101
- :where(.dark) .bs-toast:where([data-variant^='positive']) :where(.bs-toast-header .bs-toast-header-icon) {
102
- color: var(--bs-purple-200);
103
- }
104
-
105
- /* Negative Toast Styles */
106
- .bs-toast:where([data-variant^='negative']) {
107
- border-top: 4px solid var(--bs-red-400);
108
- }
109
-
110
- .bs-toast:where([data-variant^='negative']) :where(.bs-toast-header .bs-toast-header-icon) {
111
- color: var(--bs-red-400);
112
- }
113
-
114
- @media (min-width: 440px) {
115
- .bs-toast {
116
- --toast-transform: translate(calc(100% + 1.5rem), 0);
117
-
118
- left: auto;
119
- margin-left: 0;
120
- margin-right: 0;
121
- opacity: 0;
122
- right: 1.5rem;
123
- }
124
-
125
- .bs-toast:where([data-shown]:not([data-shown="false"])) {
126
- opacity: 1;
127
- transform: translate(0, 0);
128
- }
129
-
130
- .bs-toast-actions:where([data-stacked]:not([data-stacked="false"])) {
131
- flex-direction: row;
132
- }
133
- }
134
-
135
- /* Vue Transition Styles - Only used in Vue component */
136
- .bs-toast:where(.bs-toast-enter-from),
137
- .bs-toast:where(.bs-toast-leave-to) {
138
- opacity: 0;
139
- transform: var(--toast-transform);
140
- }
141
-
142
- .bs-toast:where(.bs-toast-enter-to),
143
- .bs-toast:where(.bs-toast-leave-from) {
144
- opacity: 1;
145
- transform: translate(0, 0);
146
- }
147
-
148
- }
149
-
@@ -1,27 +0,0 @@
1
- @mixin toaster() {
2
- /* Container for holding all toasts that will be visible */
3
- .bs-toaster {
4
- /* Mobile - Center the toasts on the screen */
5
- align-items: center;
6
- bottom: 1.5rem;
7
- display: flex;
8
- flex-direction: column-reverse;
9
- gap: 0.5rem;
10
- left: 0;
11
- position: fixed;
12
- right: 0;
13
- z-index: 999;
14
- }
15
-
16
- @media (min-width: 440px) {
17
-
18
- .bs-toaster {
19
- /* Non-mobile - Toasts will live on right side of the screen */
20
- left: auto;
21
- right: 1.5rem;
22
- }
23
-
24
- }
25
-
26
- }
27
-
@@ -1,183 +0,0 @@
1
- @mixin tooltip() {
2
- /* -------------------- BASE STYLES -------------------- */
3
- .bs-tooltip {
4
- display: inline-block;
5
- position: relative;
6
- }
7
-
8
- .bs-tooltip :where(.bs-tooltip-text) {
9
- align-items: center;
10
- background-color: var(--bs-bg-base-elevated);
11
- border-radius: 4px;
12
- box-shadow: var(--bs-shadow-contentLowCenter);
13
- color: var(--bs-ink-violet);
14
- display: flex;
15
- font-size: var(--bs-text-sm);
16
- justify-content: center;
17
- max-width: 16rem;
18
- min-width: 4rem;
19
- opacity: 0;
20
- padding-bottom: 0.25rem;
21
- padding-left: 0.5rem;
22
- padding-right: 0.5rem;
23
- padding-top: 0.25rem;
24
- position: absolute;
25
- transform: scale(0);
26
- transition-duration: 75ms;
27
- transition-property: opacity, transform;
28
- transition-timing-function: ease-in-out;
29
- width: max-content;
30
- z-index: 999;
31
- }
32
-
33
- :where(.dark) .bs-tooltip :where(.bs-tooltip-text) {
34
- color: var(--bs-ink-base);
35
- }
36
-
37
- /* -------------------- POSITION: UNDEFINED / TOP -------------------- */
38
- .bs-tooltip:where(:not([data-position])) :where(.bs-tooltip-text),
39
- .bs-tooltip:where([data-position="top"]) :where(.bs-tooltip-text) {
40
- bottom: calc(100% + 0.5rem);
41
- left: 50%;
42
- transform-origin: bottom center;
43
- transform: translateX(-50%) scale(0);
44
- }
45
-
46
- /* Active States */
47
- :where(.bs-tooltip:not([data-position])):hover :where(.bs-tooltip-text),
48
- :where(.bs-tooltip[data-position="top"]):hover :where(.bs-tooltip-text),
49
- :where(.bs-tooltip:not([data-position])):has(:focus-visible) :where(.bs-tooltip-text),
50
- :where(.bs-tooltip[data-position="top"]):has(:focus-visible) :where(.bs-tooltip-text),
51
- :where(.bs-tooltip:not([data-position]))[data-shown] :where(.bs-tooltip-text),
52
- :where(.bs-tooltip[data-position="top"])[data-shown] :where(.bs-tooltip-text) {
53
- opacity: 1;
54
- transform: translateX(-50%) scale(1);
55
- }
56
-
57
- /* -------------------- POSITION: BOTTOM -------------------- */
58
- .bs-tooltip:where([data-position="bottom"]) :where(.bs-tooltip-text) {
59
- left: 50%;
60
- top: calc(100% + 0.5rem);
61
- transform-origin: top center;
62
- transform: translateX(-50%) scale(0);
63
- }
64
-
65
- /* Active States */
66
- :where(.bs-tooltip[data-position="bottom"]):hover :where(.bs-tooltip-text),
67
- :where(.bs-tooltip[data-position="bottom"]):has(:focus-visible) :where(.bs-tooltip-text),
68
- :where(.bs-tooltip[data-position="bottom"])[data-shown] :where(.bs-tooltip-text) {
69
- opacity: 1;
70
- transform: translateX(-50%) scale(1);
71
- }
72
-
73
- /* -------------------- POSITION: LEFT -------------------- */
74
- .bs-tooltip:where([data-position="left"]) :where(.bs-tooltip-text) {
75
- right: calc(100% + 0.5rem);
76
- top: 50%;
77
- transform-origin: center right;
78
- transform: translateY(-50%) scale(0);
79
- }
80
-
81
- /* Active States */
82
- :where(.bs-tooltip[data-position="left"]):hover :where(.bs-tooltip-text),
83
- :where(.bs-tooltip[data-position="left"]):has(:focus-visible) :where(.bs-tooltip-text),
84
- :where(.bs-tooltip[data-position="left"])[data-shown] :where(.bs-tooltip-text) {
85
- opacity: 1;
86
- transform: translateY(-50%) scale(1);
87
- }
88
-
89
- /* -------------------- POSITION: RIGHT -------------------- */
90
- .bs-tooltip:where([data-position="right"]) :where(.bs-tooltip-text) {
91
- left: calc(100% + 0.5rem);
92
- top: 50%;
93
- transform-origin: center left;
94
- transform: translateY(-50%) scale(0);
95
- }
96
-
97
- :where(.bs-tooltip[data-position="right"]):hover :where(.bs-tooltip-text),
98
- :where(.bs-tooltip[data-position="right"]):has(:focus-visible) :where(.bs-tooltip-text),
99
- :where(.bs-tooltip[data-position="right"])[data-shown] :where(.bs-tooltip-text) {
100
- opacity: 1;
101
- transform: translateY(-50%) scale(1);
102
- }
103
-
104
- /* -------------------- POSITION: CORNERS -------------------- */
105
- /* top-left */
106
- .bs-tooltip:where([data-position="top-left"]) :where(.bs-tooltip-text) {
107
- bottom: calc(100% + 0.5rem);
108
- right: calc(100% + 0.5rem);
109
- transform-origin: bottom right;
110
- }
111
-
112
- /* top-right */
113
- .bs-tooltip:where([data-position="top-right"]) :where(.bs-tooltip-text) {
114
- bottom: calc(100% + 0.5rem);
115
- left: calc(100% + 0.5rem);
116
- transform-origin: bottom left;
117
- }
118
-
119
- /* bottom-left */
120
- .bs-tooltip:where([data-position="bottom-left"]) :where(.bs-tooltip-text) {
121
- right: calc(100% + 0.5rem);
122
- top: calc(100% + 0.5rem);
123
- transform-origin: top right;
124
- }
125
-
126
- /* bottom-right */
127
- .bs-tooltip:where([data-position="bottom-right"]) :where(.bs-tooltip-text) {
128
- left: calc(100% + 0.5rem);
129
- top: calc(100% + 0.5rem);
130
- transform-origin: top left;
131
- }
132
-
133
- /* Active States */
134
- :where(.bs-tooltip[data-position="top-left"]):hover :where(.bs-tooltip-text),
135
- :where(.bs-tooltip[data-position="top-right"]):hover :where(.bs-tooltip-text),
136
- :where(.bs-tooltip[data-position="bottom-left"]):hover :where(.bs-tooltip-text),
137
- :where(.bs-tooltip[data-position="bottom-right"]):hover :where(.bs-tooltip-text),
138
- :where(.bs-tooltip[data-position="top-left"]):has(:focus-visible) :where(.bs-tooltip-text),
139
- :where(.bs-tooltip[data-position="top-right"]):has(:focus-visible) :where(.bs-tooltip-text),
140
- :where(.bs-tooltip[data-position="bottom-left"]):has(:focus-visible) :where(.bs-tooltip-text),
141
- :where(.bs-tooltip[data-position="bottom-right"]):has(:focus-visible) :where(.bs-tooltip-text),
142
- :where(.bs-tooltip[data-position="top-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
143
- :where(.bs-tooltip[data-position="top-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
144
- :where(.bs-tooltip[data-position="bottom-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
145
- :where(.bs-tooltip[data-position="bottom-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text) {
146
- opacity: 1;
147
- transform: scale(1);
148
- }
149
-
150
- /* -------------------- DISABLED -------------------- */
151
- /*
152
- Don't display unless data-shown is present
153
- This must go last to properly override the other classes
154
- */
155
- :where(.bs-tooltip[data-disabled]:not([data-disabled="false"]):not([data-shown])):hover :where(.bs-tooltip-text),
156
- :where(.bs-tooltip[data-disabled]:not([data-disabled="false"]):not([data-shown])):has(:focus-visible) :where(.bs-tooltip-text) {
157
- opacity: 0;
158
- transform: scale(0);
159
- }
160
- :where(.bs-tooltip[data-shown="false"][data-disabled]:not([data-disabled="false"])):hover :where(.bs-tooltip-text),
161
- :where(.bs-tooltip[data-shown="false"][data-disabled]:not([data-disabled="false"])):has(:focus-visible) :where(.bs-tooltip-text) {
162
- opacity: 0;
163
- transform: scale(0);
164
- }
165
-
166
- /* -------------------- COMPONENT-SPECIFIC STYLES -------------------- */
167
- .bs-tooltip :where(.bs-tooltip-text.escaped) {
168
- opacity: 0;
169
- transform: scale(0.5);
170
- }
171
-
172
- .bs-tooltip :where(.bs-tooltip-text.escaped-x) {
173
- opacity: 0;
174
- transform: translateX(-50%) scale(0.5);
175
- }
176
-
177
- .bs-tooltip :where(.bs-tooltip-text.escaped-y) {
178
- opacity: 0;
179
- transform: translateY(-50%) scale(0.5);
180
- }
181
-
182
- }
183
-