beercss 3.13.1 → 3.13.2

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 (159) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +328 -322
  3. package/custom-element/index.d.ts +18 -18
  4. package/custom-element/index.js +7 -7
  5. package/dist/cdn/arch.svg +3 -3
  6. package/dist/cdn/arrow.svg +3 -3
  7. package/dist/cdn/beer.css +4792 -4789
  8. package/dist/cdn/beer.custom-element.js +38 -38
  9. package/dist/cdn/beer.custom-element.min.js +1 -1
  10. package/dist/cdn/beer.js +635 -635
  11. package/dist/cdn/beer.min.css +1 -1
  12. package/dist/cdn/beer.min.js +1 -1
  13. package/dist/cdn/beer.scoped.css +4793 -4790
  14. package/dist/cdn/beer.scoped.min.css +1 -1
  15. package/dist/cdn/boom.svg +3 -3
  16. package/dist/cdn/bun.svg +3 -3
  17. package/dist/cdn/burst.svg +3 -3
  18. package/dist/cdn/circle.svg +3 -3
  19. package/dist/cdn/clamshell.svg +3 -3
  20. package/dist/cdn/diamond.svg +3 -3
  21. package/dist/cdn/fan.svg +3 -3
  22. package/dist/cdn/flower.svg +3 -3
  23. package/dist/cdn/gem.svg +3 -3
  24. package/dist/cdn/ghost-ish.svg +3 -3
  25. package/dist/cdn/heart.svg +3 -3
  26. package/dist/cdn/leaf-clover4.svg +3 -3
  27. package/dist/cdn/leaf-clover8.svg +3 -3
  28. package/dist/cdn/loading-indicator.svg +18 -18
  29. package/dist/cdn/oval.svg +3 -3
  30. package/dist/cdn/pentagon.svg +3 -3
  31. package/dist/cdn/pill.svg +3 -3
  32. package/dist/cdn/pixel-circle.svg +3 -3
  33. package/dist/cdn/pixel-triangle.svg +3 -3
  34. package/dist/cdn/puffy-diamond.svg +3 -3
  35. package/dist/cdn/puffy.svg +3 -3
  36. package/dist/cdn/semicircle.svg +3 -3
  37. package/dist/cdn/sided-cookie12.svg +3 -3
  38. package/dist/cdn/sided-cookie4.svg +3 -3
  39. package/dist/cdn/sided-cookie6.svg +3 -3
  40. package/dist/cdn/sided-cookie7.svg +3 -3
  41. package/dist/cdn/sided-cookie9.svg +3 -3
  42. package/dist/cdn/slanted.svg +3 -3
  43. package/dist/cdn/soft-boom.svg +3 -3
  44. package/dist/cdn/soft-burst.svg +3 -3
  45. package/dist/cdn/square.svg +3 -3
  46. package/dist/cdn/sunny.svg +3 -3
  47. package/dist/cdn/triangle.svg +3 -3
  48. package/dist/cdn/very-sunny.svg +3 -3
  49. package/dist/cdn/wavy-circle.svg +3 -3
  50. package/dist/cdn/wavy.svg +4 -4
  51. package/index.d.ts +18 -18
  52. package/index.js +6 -6
  53. package/package.json +76 -76
  54. package/scoped/index.d.ts +18 -18
  55. package/scoped/index.js +6 -6
  56. package/src/cdn/beer.css +52 -52
  57. package/src/cdn/beer.ts +120 -120
  58. package/src/cdn/customElement.js +38 -38
  59. package/src/cdn/elements/badges.css +74 -74
  60. package/src/cdn/elements/bars.css +91 -91
  61. package/src/cdn/elements/buttons.css +106 -106
  62. package/src/cdn/elements/cards.css +26 -26
  63. package/src/cdn/elements/chips.css +38 -38
  64. package/src/cdn/elements/dialogs.css +151 -151
  65. package/src/cdn/elements/dialogs.ts +69 -69
  66. package/src/cdn/elements/dividers.css +48 -48
  67. package/src/cdn/elements/expansions.css +10 -10
  68. package/src/cdn/elements/fields.css +439 -439
  69. package/src/cdn/elements/fields.ts +165 -164
  70. package/src/cdn/elements/grids.css +171 -171
  71. package/src/cdn/elements/icons.css +77 -77
  72. package/src/cdn/elements/layouts.css +35 -35
  73. package/src/cdn/elements/lists.css +71 -71
  74. package/src/cdn/elements/mainLayouts.css +57 -57
  75. package/src/cdn/elements/media.css +112 -112
  76. package/src/cdn/elements/menus.css +294 -294
  77. package/src/cdn/elements/menus.ts +40 -40
  78. package/src/cdn/elements/navigations.css +462 -460
  79. package/src/cdn/elements/overlays.css +31 -31
  80. package/src/cdn/elements/pages.css +41 -41
  81. package/src/cdn/elements/pages.ts +6 -6
  82. package/src/cdn/elements/progress.css +207 -207
  83. package/src/cdn/elements/progress.ts +34 -34
  84. package/src/cdn/elements/selections.css +256 -256
  85. package/src/cdn/elements/shapes.css +258 -258
  86. package/src/cdn/elements/sliders.css +357 -357
  87. package/src/cdn/elements/sliders.ts +74 -74
  88. package/src/cdn/elements/snackbars.css +47 -47
  89. package/src/cdn/elements/snackbars.ts +26 -26
  90. package/src/cdn/elements/tables.css +65 -65
  91. package/src/cdn/elements/tabs.css +52 -52
  92. package/src/cdn/elements/tooltips.css +131 -131
  93. package/src/cdn/helpers/alignments.css +29 -29
  94. package/src/cdn/helpers/blurs.css +21 -21
  95. package/src/cdn/helpers/colors.css +930 -930
  96. package/src/cdn/helpers/directions.css +28 -28
  97. package/src/cdn/helpers/elevates.css +16 -16
  98. package/src/cdn/helpers/forms.css +75 -75
  99. package/src/cdn/helpers/margins.css +49 -49
  100. package/src/cdn/helpers/opacities.css +19 -19
  101. package/src/cdn/helpers/paddings.css +45 -45
  102. package/src/cdn/helpers/positions.css +45 -45
  103. package/src/cdn/helpers/reset.css +94 -93
  104. package/src/cdn/helpers/responsive.css +22 -22
  105. package/src/cdn/helpers/ripples.css +33 -33
  106. package/src/cdn/helpers/ripples.ts +30 -30
  107. package/src/cdn/helpers/scrolls.css +8 -8
  108. package/src/cdn/helpers/shadows.css +23 -23
  109. package/src/cdn/helpers/sizes.css +45 -45
  110. package/src/cdn/helpers/spaces.css +19 -19
  111. package/src/cdn/helpers/theme.css +186 -186
  112. package/src/cdn/helpers/theme.ts +83 -83
  113. package/src/cdn/helpers/typography.css +225 -225
  114. package/src/cdn/helpers/waves.css +43 -43
  115. package/src/cdn/helpers/zoom.css +19 -19
  116. package/src/cdn/interfaces.ts +3 -3
  117. package/src/cdn/settings/dark.css +38 -38
  118. package/src/cdn/settings/fonts.css +35 -35
  119. package/src/cdn/settings/globals.css +18 -18
  120. package/src/cdn/settings/light.css +39 -39
  121. package/src/cdn/shapes/arch.svg +3 -3
  122. package/src/cdn/shapes/arrow.svg +3 -3
  123. package/src/cdn/shapes/boom.svg +3 -3
  124. package/src/cdn/shapes/bun.svg +3 -3
  125. package/src/cdn/shapes/burst.svg +3 -3
  126. package/src/cdn/shapes/circle.svg +3 -3
  127. package/src/cdn/shapes/clamshell.svg +3 -3
  128. package/src/cdn/shapes/diamond.svg +3 -3
  129. package/src/cdn/shapes/fan.svg +3 -3
  130. package/src/cdn/shapes/flower.svg +3 -3
  131. package/src/cdn/shapes/gem.svg +3 -3
  132. package/src/cdn/shapes/ghost-ish.svg +3 -3
  133. package/src/cdn/shapes/heart.svg +3 -3
  134. package/src/cdn/shapes/leaf-clover4.svg +3 -3
  135. package/src/cdn/shapes/leaf-clover8.svg +3 -3
  136. package/src/cdn/shapes/loading-indicator.svg +18 -18
  137. package/src/cdn/shapes/oval.svg +3 -3
  138. package/src/cdn/shapes/pentagon.svg +3 -3
  139. package/src/cdn/shapes/pill.svg +3 -3
  140. package/src/cdn/shapes/pixel-circle.svg +3 -3
  141. package/src/cdn/shapes/pixel-triangle.svg +3 -3
  142. package/src/cdn/shapes/puffy-diamond.svg +3 -3
  143. package/src/cdn/shapes/puffy.svg +3 -3
  144. package/src/cdn/shapes/semicircle.svg +3 -3
  145. package/src/cdn/shapes/sided-cookie12.svg +3 -3
  146. package/src/cdn/shapes/sided-cookie4.svg +3 -3
  147. package/src/cdn/shapes/sided-cookie6.svg +3 -3
  148. package/src/cdn/shapes/sided-cookie7.svg +3 -3
  149. package/src/cdn/shapes/sided-cookie9.svg +3 -3
  150. package/src/cdn/shapes/slanted.svg +3 -3
  151. package/src/cdn/shapes/soft-boom.svg +3 -3
  152. package/src/cdn/shapes/soft-burst.svg +3 -3
  153. package/src/cdn/shapes/square.svg +3 -3
  154. package/src/cdn/shapes/sunny.svg +3 -3
  155. package/src/cdn/shapes/triangle.svg +3 -3
  156. package/src/cdn/shapes/very-sunny.svg +3 -3
  157. package/src/cdn/shapes/wavy-circle.svg +3 -3
  158. package/src/cdn/shapes/wavy.svg +4 -4
  159. package/src/cdn/utils.ts +154 -154
@@ -1,74 +1,74 @@
1
- import { query, queryAll, hasClass, on, off, parent, hasTag, onWeak, rootSizeInPixels } from "../utils";
2
-
3
- function onInputDocument(e: Event) {
4
- const input = e.target as HTMLInputElement;
5
- if (!hasTag(input, "input") && !hasTag(input, "select")) return;
6
-
7
- if (input.type === "range") {
8
- input.focus();
9
- updateRange(input);
10
- } else {
11
- updateAllRanges();
12
- }
13
- }
14
-
15
- function onChangeInput(e: Event) {
16
- const input = e.target as HTMLInputElement;
17
- requestAnimationFrame(() => input.blur());
18
- }
19
-
20
- function updateAllRanges() {
21
- const body = document.body;
22
- const ranges = queryAll(".slider > input[type=range]") as NodeListOf<HTMLInputElement>;
23
- if (!ranges.length) off(body, "input", onInputDocument, false);
24
- else on(body, "input", onInputDocument, false);
25
- for (let i = 0; i < ranges.length; i++) updateRange(ranges[i]);
26
- }
27
-
28
- function updateRange(input: HTMLInputElement) {
29
- onWeak(input, "change", onChangeInput);
30
-
31
- const label = parent(input) as HTMLElement;
32
- const bar = query("span", label) as HTMLElement;
33
- const inputs = queryAll("input", label) as NodeListOf<HTMLInputElement>;
34
- if (!inputs.length || !bar) return;
35
-
36
- const rootSize = rootSizeInPixels();
37
- const thumb = hasClass(label, "max") ? 0 : (0.25 * rootSize * 100) / inputs[0].offsetWidth;
38
- const percents: Array<number> = [];
39
- const values: Array<number> = [];
40
- for (let i = 0, n = inputs.length; i < n; i++) {
41
- const min = parseFloat(inputs[i].min) || 0;
42
- const max = parseFloat(inputs[i].max) || 100;
43
- const value = parseFloat(inputs[i].value) || 0;
44
- const percent = ((value - min) * 100) / (max - min);
45
- const fix = thumb / 2 - (thumb * percent) / 100;
46
- percents.push(percent + fix);
47
- values.push(value);
48
- }
49
-
50
- let percent = percents[0];
51
- let start = 0;
52
- let end = 100 - start - percent;
53
- let value1 = values[0];
54
- let value2 = values[1] || 0;
55
- if (inputs.length > 1) {
56
- percent = Math.abs(percents[1] - percents[0]);
57
- start = percents[1] > percents[0] ? percents[0] : percents[1];
58
- end = 100 - start - percent;
59
-
60
- if (value2 > value1) {
61
- value1 = values[1] || 0;
62
- value2 = values[0];
63
- }
64
- }
65
-
66
- label.style.setProperty("--_start", `${start}%`);
67
- label.style.setProperty("--_end", `${end}%`);
68
- label.style.setProperty("--_value1", `'${value1}'`);
69
- label.style.setProperty("--_value2", `'${value2}'`);
70
- }
71
-
72
- export function updateAllSliders() {
73
- updateAllRanges();
74
- }
1
+ import { query, queryAll, hasClass, on, off, parent, hasTag, onWeak, rootSizeInPixels } from "../utils";
2
+
3
+ function onInputDocument(e: Event) {
4
+ const input = e.target as HTMLInputElement;
5
+ if (!hasTag(input, "input") && !hasTag(input, "select")) return;
6
+
7
+ if (input.type === "range") {
8
+ input.focus();
9
+ updateRange(input);
10
+ } else {
11
+ updateAllRanges();
12
+ }
13
+ }
14
+
15
+ function onChangeInput(e: Event) {
16
+ const input = e.target as HTMLInputElement;
17
+ requestAnimationFrame(() => input.blur());
18
+ }
19
+
20
+ function updateAllRanges() {
21
+ const body = document.body;
22
+ const ranges = queryAll(".slider > input[type=range]") as NodeListOf<HTMLInputElement>;
23
+ if (!ranges.length) off(body, "input", onInputDocument, false);
24
+ else on(body, "input", onInputDocument, false);
25
+ for (let i = 0; i < ranges.length; i++) updateRange(ranges[i]);
26
+ }
27
+
28
+ function updateRange(input: HTMLInputElement) {
29
+ onWeak(input, "change", onChangeInput);
30
+
31
+ const label = parent(input) as HTMLElement;
32
+ const bar = query("span", label) as HTMLElement;
33
+ const inputs = queryAll("input", label) as NodeListOf<HTMLInputElement>;
34
+ if (!inputs.length || !bar) return;
35
+
36
+ const rootSize = rootSizeInPixels();
37
+ const thumb = hasClass(label, "max") ? 0 : (0.25 * rootSize * 100) / inputs[0].offsetWidth;
38
+ const percents: Array<number> = [];
39
+ const values: Array<number> = [];
40
+ for (let i = 0, n = inputs.length; i < n; i++) {
41
+ const min = parseFloat(inputs[i].min) || 0;
42
+ const max = parseFloat(inputs[i].max) || 100;
43
+ const value = parseFloat(inputs[i].value) || 0;
44
+ const percent = ((value - min) * 100) / (max - min);
45
+ const fix = thumb / 2 - (thumb * percent) / 100;
46
+ percents.push(percent + fix);
47
+ values.push(value);
48
+ }
49
+
50
+ let percent = percents[0];
51
+ let start = 0;
52
+ let end = 100 - start - percent;
53
+ let value1 = values[0];
54
+ let value2 = values[1] || 0;
55
+ if (inputs.length > 1) {
56
+ percent = Math.abs(percents[1] - percents[0]);
57
+ start = percents[1] > percents[0] ? percents[0] : percents[1];
58
+ end = 100 - start - percent;
59
+
60
+ if (value2 > value1) {
61
+ value1 = values[1] || 0;
62
+ value2 = values[0];
63
+ }
64
+ }
65
+
66
+ label.style.setProperty("--_start", `${start}%`);
67
+ label.style.setProperty("--_end", `${end}%`);
68
+ label.style.setProperty("--_value1", `'${value1}'`);
69
+ label.style.setProperty("--_value2", `'${value2}'`);
70
+ }
71
+
72
+ export function updateAllSliders() {
73
+ updateAllRanges();
74
+ }
@@ -1,47 +1,47 @@
1
- .snackbar {
2
- position: fixed;
3
- inset: auto auto 6rem 50%;
4
- inline-size: 80%;
5
- block-size: auto;
6
- z-index: 200;
7
- visibility: hidden;
8
- display: flex;
9
- box-shadow: var(--elevate2);
10
- color: var(--inverse-on-surface);
11
- background-color: var(--inverse-surface);
12
- padding: 1rem;
13
- cursor: pointer;
14
- text-align: start;
15
- align-items: center;
16
- border-radius: 0.25rem;
17
- gap: 0.5rem;
18
- transition: all var(--speed2);
19
- transform: translate(-50%, 1rem);
20
- opacity: 0;
21
- }
22
-
23
- .snackbar.top {
24
- inset: 6rem auto auto 50%;
25
- }
26
-
27
- .snackbar:is(.active) {
28
- visibility: visible;
29
- transform: translate(-50%, 0);
30
- opacity: 1;
31
- }
32
-
33
- .snackbar:popover-open {
34
- visibility: visible;
35
- transform: translate(-50%, 0);
36
- opacity: 1;
37
- }
38
-
39
- .snackbar > .max {
40
- flex: auto;
41
- }
42
-
43
- @media only screen and (min-width: 993px) {
44
- .snackbar {
45
- inline-size: 40%;
46
- }
47
- }
1
+ .snackbar {
2
+ position: fixed;
3
+ inset: auto auto 6rem 50%;
4
+ inline-size: 80%;
5
+ block-size: auto;
6
+ z-index: 200;
7
+ visibility: hidden;
8
+ display: flex;
9
+ box-shadow: var(--elevate2);
10
+ color: var(--inverse-on-surface);
11
+ background-color: var(--inverse-surface);
12
+ padding: 1rem;
13
+ cursor: pointer;
14
+ text-align: start;
15
+ align-items: center;
16
+ border-radius: 0.25rem;
17
+ gap: 0.5rem;
18
+ transition: all var(--speed2);
19
+ transform: translate(-50%, 1rem);
20
+ opacity: 0;
21
+ }
22
+
23
+ .snackbar.top {
24
+ inset: 6rem auto auto 50%;
25
+ }
26
+
27
+ .snackbar:is(.active) {
28
+ visibility: visible;
29
+ transform: translate(-50%, 0);
30
+ opacity: 1;
31
+ }
32
+
33
+ .snackbar:popover-open {
34
+ visibility: visible;
35
+ transform: translate(-50%, 0);
36
+ opacity: 1;
37
+ }
38
+
39
+ .snackbar > .max {
40
+ flex: auto;
41
+ }
42
+
43
+ @media only screen and (min-width: 993px) {
44
+ .snackbar {
45
+ inline-size: 40%;
46
+ }
47
+ }
@@ -1,27 +1,27 @@
1
- import { queryAll, addClass, removeClass, blurActiveElement, onWeak } from "../utils";
2
-
3
- let _timeoutSnackbar: ReturnType<typeof setTimeout>;
4
-
5
- function onClickSnackbar(e: Event) {
6
- const snackbar = e.currentTarget as Element;
7
- removeClass(snackbar, "active");
8
-
9
- if (_timeoutSnackbar) clearTimeout(_timeoutSnackbar);
10
- }
11
-
12
- export function updateSnackbar(snackbar: Element, milliseconds?: number) {
13
- blurActiveElement();
14
-
15
- const activeSnackbars = queryAll(".snackbar.active");
16
- for(let i=0; i<activeSnackbars.length; i++) removeClass(activeSnackbars[i], "active");
17
- addClass(snackbar, "active");
18
- onWeak(snackbar, "click", onClickSnackbar);
19
-
20
- if (_timeoutSnackbar) clearTimeout(_timeoutSnackbar);
21
-
22
- if (milliseconds === -1) return;
23
-
24
- _timeoutSnackbar = setTimeout(() => {
25
- removeClass(snackbar, "active");
26
- }, milliseconds ?? 6000);
1
+ import { queryAll, addClass, removeClass, blurActiveElement, onWeak } from "../utils";
2
+
3
+ let _timeoutSnackbar: ReturnType<typeof setTimeout>;
4
+
5
+ function onClickSnackbar(e: Event) {
6
+ const snackbar = e.currentTarget as Element;
7
+ removeClass(snackbar, "active");
8
+
9
+ if (_timeoutSnackbar) clearTimeout(_timeoutSnackbar);
10
+ }
11
+
12
+ export function updateSnackbar(snackbar: Element, milliseconds?: number) {
13
+ blurActiveElement();
14
+
15
+ const activeSnackbars = queryAll(".snackbar.active");
16
+ for(let i=0; i<activeSnackbars.length; i++) removeClass(activeSnackbars[i], "active");
17
+ addClass(snackbar, "active");
18
+ onWeak(snackbar, "click", onClickSnackbar);
19
+
20
+ if (_timeoutSnackbar) clearTimeout(_timeoutSnackbar);
21
+
22
+ if (milliseconds === -1) return;
23
+
24
+ _timeoutSnackbar = setTimeout(() => {
25
+ removeClass(snackbar, "active");
26
+ }, milliseconds ?? 6000);
27
27
  }
@@ -1,65 +1,65 @@
1
- table {
2
- inline-size: 100%;
3
- border-spacing: 0;
4
- font-size: 0.875rem;
5
- text-align: start;
6
- }
7
-
8
- .scroll > table,
9
- table :is(thead, tbody, tfoot, tr, th, td) {
10
- background-color: inherit;
11
- color: inherit;
12
- }
13
-
14
- :is(th, td) {
15
- inline-size: auto;
16
- text-align: inherit;
17
- padding: 0.5rem;
18
- border-radius: 0;
19
- }
20
-
21
- :is(th, td) > * {
22
- vertical-align: middle;
23
- }
24
-
25
- table.border > tbody > tr:not(:last-child) > td,
26
- thead > tr > th {
27
- border-block-end: 0.0625rem solid var(--outline);
28
- }
29
-
30
- tfoot > tr > th {
31
- border-block-start: 0.0625rem solid var(--outline);
32
- }
33
-
34
- table.stripes > tbody > tr:nth-child(odd) {
35
- background-color: var(--active);
36
- }
37
-
38
- table.no-space :is(th, td) {
39
- padding: 0;
40
- }
41
-
42
- table.medium-space :is(th, td) {
43
- padding: 0.75rem;
44
- }
45
-
46
- table.large-space :is(th, td) {
47
- padding: 1rem;
48
- }
49
-
50
- table > .fixed,
51
- th.fixed {
52
- position: sticky;
53
- z-index: 1;
54
- inset-block-start: 0;
55
- }
56
-
57
- tfoot.fixed,
58
- tfoot th.fixed {
59
- inset-block-end: 0;
60
- }
61
-
62
- :is(td, th).min {
63
- inline-size: 0.1%;
64
- white-space: nowrap;
65
- }
1
+ table {
2
+ inline-size: 100%;
3
+ border-spacing: 0;
4
+ font-size: 0.875rem;
5
+ text-align: start;
6
+ }
7
+
8
+ .scroll > table,
9
+ table :is(thead, tbody, tfoot, tr, th, td) {
10
+ background-color: inherit;
11
+ color: inherit;
12
+ }
13
+
14
+ :is(th, td) {
15
+ inline-size: auto;
16
+ text-align: inherit;
17
+ padding: 0.5rem;
18
+ border-radius: 0;
19
+ }
20
+
21
+ :is(th, td) > * {
22
+ vertical-align: middle;
23
+ }
24
+
25
+ table.border > tbody > tr:not(:last-child) > td,
26
+ thead > tr > th {
27
+ border-block-end: 0.0625rem solid var(--outline);
28
+ }
29
+
30
+ tfoot > tr > th {
31
+ border-block-start: 0.0625rem solid var(--outline);
32
+ }
33
+
34
+ table.stripes > tbody > tr:nth-child(odd) {
35
+ background-color: var(--active);
36
+ }
37
+
38
+ table.no-space :is(th, td) {
39
+ padding: 0;
40
+ }
41
+
42
+ table.medium-space :is(th, td) {
43
+ padding: 0.75rem;
44
+ }
45
+
46
+ table.large-space :is(th, td) {
47
+ padding: 1rem;
48
+ }
49
+
50
+ table > .fixed,
51
+ th.fixed {
52
+ position: sticky;
53
+ z-index: 1;
54
+ inset-block-start: 0;
55
+ }
56
+
57
+ tfoot.fixed,
58
+ tfoot th.fixed {
59
+ inset-block-end: 0;
60
+ }
61
+
62
+ :is(td, th).min {
63
+ inline-size: 0.1%;
64
+ white-space: nowrap;
65
+ }
@@ -1,52 +1,52 @@
1
- .tabs {
2
- display: flex;
3
- white-space: nowrap;
4
- border-block-end: 0.0625rem solid var(--surface-variant);
5
- border-radius: 0;
6
- }
7
-
8
- .tabs:not(.left-align, .right-align, .center-align) {
9
- justify-content: space-around;
10
- }
11
-
12
- .tabs > a {
13
- display: flex;
14
- font-size: 0.875rem;
15
- font-weight: 500;
16
- color: var(--on-surface-variant);
17
- padding: 0.5rem 1rem;
18
- text-align: center;
19
- min-block-size: 3rem;
20
- inline-size: 100%;
21
- gap: 0.25rem;
22
- }
23
-
24
- .tabs.small > a {
25
- min-block-size: 2rem;
26
- }
27
-
28
- .tabs.large > a {
29
- min-block-size: 4rem;
30
- }
31
-
32
- .tabs > a.active,
33
- .tabs > a.active > i {
34
- color: var(--primary);
35
- }
36
-
37
- .tabs > a.active::before {
38
- content: '';
39
- position: absolute;
40
- inset: auto 0 0 0;
41
- block-size: 0.125rem;
42
- background-color: var(--primary);
43
- }
44
-
45
- .tabs.min > a.active::before {
46
- margin: 0 auto;
47
- max-inline-size: min(100%, 4rem);
48
- }
49
-
50
- .tabs:is(.left-align, .center-align, .right-align) > a {
51
- inline-size: auto;
52
- }
1
+ .tabs {
2
+ display: flex;
3
+ white-space: nowrap;
4
+ border-block-end: 0.0625rem solid var(--surface-variant);
5
+ border-radius: 0;
6
+ }
7
+
8
+ .tabs:not(.left-align, .right-align, .center-align) {
9
+ justify-content: space-around;
10
+ }
11
+
12
+ .tabs > a {
13
+ display: flex;
14
+ font-size: 0.875rem;
15
+ font-weight: 500;
16
+ color: var(--on-surface-variant);
17
+ padding: 0.5rem 1rem;
18
+ text-align: center;
19
+ min-block-size: 3rem;
20
+ inline-size: 100%;
21
+ gap: 0.25rem;
22
+ }
23
+
24
+ .tabs.small > a {
25
+ min-block-size: 2rem;
26
+ }
27
+
28
+ .tabs.large > a {
29
+ min-block-size: 4rem;
30
+ }
31
+
32
+ .tabs > a.active,
33
+ .tabs > a.active > i {
34
+ color: var(--primary);
35
+ }
36
+
37
+ .tabs > a.active::before {
38
+ content: '';
39
+ position: absolute;
40
+ inset: auto 0 0 0;
41
+ block-size: 0.125rem;
42
+ background-color: var(--primary);
43
+ }
44
+
45
+ .tabs.min > a.active::before {
46
+ margin: 0 auto;
47
+ max-inline-size: min(100%, 4rem);
48
+ }
49
+
50
+ .tabs:is(.left-align, .center-align, .right-align) > a {
51
+ inline-size: auto;
52
+ }