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,32 +1,32 @@
1
- .overlay,
2
- dialog::backdrop {
3
- display: block !important;
4
- opacity: 0;
5
- visibility: hidden;
6
- position: fixed;
7
- inset: 0;
8
- color: var(--on-surface);
9
- background-color: var(--overlay);
10
- z-index: 100;
11
- transition: all var(--speed3), 0s background-color;
12
- border-radius: 0;
13
- }
14
-
15
- .overlay.active {
16
- opacity: 1;
17
- visibility: visible;
18
- }
19
-
20
- dialog:popover-open::backdrop {
21
- opacity: 1;
22
- visibility: visible;
23
- }
24
-
25
- .overlay + dialog::backdrop,
26
- .snackbar::backdrop {
27
- display: none;
28
- }
29
-
30
- [popover] {
31
- border: 0;
1
+ .overlay,
2
+ dialog::backdrop {
3
+ display: block !important;
4
+ opacity: 0;
5
+ visibility: hidden;
6
+ position: fixed;
7
+ inset: 0;
8
+ color: var(--on-surface);
9
+ background-color: var(--overlay);
10
+ z-index: 100;
11
+ transition: all var(--speed3), 0s background-color;
12
+ border-radius: 0;
13
+ }
14
+
15
+ .overlay.active {
16
+ opacity: 1;
17
+ visibility: visible;
18
+ }
19
+
20
+ dialog:popover-open::backdrop {
21
+ opacity: 1;
22
+ visibility: visible;
23
+ }
24
+
25
+ .overlay + dialog::backdrop,
26
+ .snackbar::backdrop {
27
+ display: none;
28
+ }
29
+
30
+ [popover] {
31
+ border: 0;
32
32
  }
@@ -1,41 +1,41 @@
1
- .page {
2
- --_transform: translate(0, 0);
3
- opacity: 0;
4
- position: absolute;
5
- display: none;
6
- }
7
-
8
- .page.active {
9
- opacity: 1;
10
- position: inherit;
11
- display: inherit;
12
- animation: var(--speed4) to-page ease;
13
- }
14
-
15
- .page.active.top {
16
- --_transform: translate(0, -4rem);
17
- }
18
-
19
- .page.active.bottom {
20
- --_transform: translate(0, 4rem);
21
- }
22
-
23
- .page.active.left {
24
- --_transform: translate(-4rem, 0);
25
- }
26
-
27
- .page.active.right {
28
- --_transform: translate(4rem, 0);
29
- }
30
-
31
- @keyframes to-page {
32
- from {
33
- opacity: 0;
34
- transform: var(--_transform);
35
- }
36
-
37
- to {
38
- opacity: 1;
39
- transform: translate(0, 0);
40
- }
41
- }
1
+ .page {
2
+ --_transform: translate(0, 0);
3
+ opacity: 0;
4
+ position: absolute;
5
+ display: none;
6
+ }
7
+
8
+ .page.active {
9
+ opacity: 1;
10
+ position: inherit;
11
+ display: inherit;
12
+ animation: var(--speed4) to-page ease;
13
+ }
14
+
15
+ .page.active.top {
16
+ --_transform: translate(0, -4rem);
17
+ }
18
+
19
+ .page.active.bottom {
20
+ --_transform: translate(0, 4rem);
21
+ }
22
+
23
+ .page.active.left {
24
+ --_transform: translate(-4rem, 0);
25
+ }
26
+
27
+ .page.active.right {
28
+ --_transform: translate(4rem, 0);
29
+ }
30
+
31
+ @keyframes to-page {
32
+ from {
33
+ opacity: 0;
34
+ transform: var(--_transform);
35
+ }
36
+
37
+ to {
38
+ opacity: 1;
39
+ transform: translate(0, 0);
40
+ }
41
+ }
@@ -1,7 +1,7 @@
1
- import { addClass, parent, removeClass, queryAll } from "../utils";
2
-
3
- export function updatePage(page: Element) {
4
- const container = parent(page);
5
- if (container) removeClass(queryAll(":scope > .page", container), "active");
6
- addClass(page, "active");
1
+ import { addClass, parent, removeClass, queryAll } from "../utils";
2
+
3
+ export function updatePage(page: Element) {
4
+ const container = parent(page);
5
+ if (container) removeClass(queryAll(":scope > .page", container), "active");
6
+ addClass(page, "active");
7
7
  }
@@ -1,208 +1,208 @@
1
- progress {
2
- --_light: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4AWJiYGAQBgAAAP//ZyYa+wAAAAZJREFUAwAAIgAWeX9MsQAAAABJRU5ErkJggg==);
3
- --_dark: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4AWL6//+/FAAAAP//qSv5QwAAAAZJREFUAwAJIAMaJWjIvQAAAABJRU5ErkJggg==);
4
- --_size: 0.25rem;
5
- position: relative;
6
- inline-size: 100%;
7
- block-size: var(--_size);
8
- color: var(--primary);
9
- background: var(--_light);
10
- border-radius: 1rem;
11
- flex: none;
12
- border: none;
13
- overflow: hidden;
14
- writing-mode: horizontal-tb;
15
- direction: ltr;
16
- -webkit-appearance: none;
17
- appearance: none;
18
- }
19
-
20
- .dark progress {
21
- background: var(--_dark);
22
- }
23
-
24
- progress.small {
25
- --_size: 0.25rem;
26
- }
27
-
28
- progress.medium {
29
- --_size: 0.35rem;
30
- }
31
-
32
- progress.large {
33
- --_size: 0.45rem;
34
- }
35
-
36
- progress.indeterminate {
37
- --_value: 100;
38
- animation: 3.2s to-indeterminate ease infinite;
39
- }
40
-
41
- progress:not(.circle, [value])::after {
42
- content: "";
43
- position: absolute;
44
- inset: 0;
45
- inline-size: 100%;
46
- block-size: 100%;
47
- clip-path: none;
48
- background: currentcolor;
49
- animation: 3.2s to-linear ease infinite;
50
- }
51
-
52
- progress:not(.circle, [value])::-moz-progress-bar {
53
- animation: 3.2s to-linear ease infinite;
54
- }
55
-
56
- progress:not(.circle, [value])::-webkit-progress-value {
57
- animation: 3.2s to-linear ease infinite;
58
- }
59
-
60
- progress::-webkit-progress-bar {
61
- background: none;
62
- }
63
-
64
- progress::-webkit-progress-value {
65
- background: currentColor;
66
- }
67
-
68
- progress::-moz-progress-bar {
69
- background: currentColor;
70
- }
71
-
72
- progress.wavy {
73
- block-size: calc(var(--_size) * 2);
74
- background: none;
75
- background-image: var(--_light);
76
- background-repeat: repeat-x;
77
- background-position: 0 50%;
78
- background-size: auto calc(var(--_size) / 2);
79
- }
80
-
81
- .dark progress.wavy {
82
- background-image: var(--_dark);
83
- }
84
-
85
- progress.wavy::-webkit-progress-value,
86
- progress.wavy:not(.circle, [value])::after {
87
- mask-image: url(../shapes/wavy.svg);
88
- mask-position: 0 50%;
89
- mask-repeat: repeat-x;
90
- mask-size: auto 100%;
91
-
92
- }
93
-
94
- progress.wavy::-moz-progress-bar {
95
- mask-image: url(../shapes/wavy.svg);
96
- mask-position: 0 50%;
97
- mask-repeat: repeat-x;
98
- mask-size: auto 100%;
99
- }
100
-
101
- progress.circle {
102
- --_value: attr(value type(<number>), 50);
103
- inline-size: 2.5rem;
104
- block-size: 2.5rem;
105
- background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0%);
106
- border-radius: 50%;
107
- mask-image: radial-gradient(circle at center, transparent 57%, currentColor 60%);
108
- }
109
-
110
- progress.circle::-webkit-progress-value {
111
- background: none;
112
- }
113
-
114
- progress.circle::-moz-progress-bar {
115
- background: none;
116
- }
117
-
118
- progress.circle.wavy {
119
- background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0);
120
- mask-repeat: no-repeat;
121
- mask-position: center;
122
- mask-size: contain;
123
- mask-image: url(../shapes/wavy-circle.svg);
124
- }
125
-
126
- progress.circle.small {
127
- inline-size: 1.5rem;
128
- block-size: 1.5rem;
129
- }
130
-
131
- progress.circle.large {
132
- inline-size: 3.5rem;
133
- block-size: 3.5rem;
134
- }
135
-
136
- progress.circle:not([value]),
137
- progress.circle.indeterminate {
138
- --_value: 50;
139
- animation: to-rotate 1s infinite linear;
140
- }
141
-
142
- :is(nav, .row, .field) > progress:not(.circle, .small, .medium, .large) {
143
- flex: auto;
144
- }
145
-
146
- progress.max {
147
- display: unset;
148
- position: absolute;
149
- inline-size: 100% !important;
150
- block-size: 100% !important;
151
- color: currentColor;
152
- background: none;
153
- inset: 0;
154
- border-radius: inherit;
155
- animation: none;
156
- writing-mode: horizontal-tb;
157
- opacity: 0.33;
158
- }
159
-
160
- progress.max[class*='-text'] {
161
- opacity: 1;
162
- }
163
-
164
- progress.max + * {
165
- margin-block-start: 0;
166
- }
167
-
168
- :is(.button, button, .chip) > progress.circle {
169
- color: inherit;
170
- }
171
-
172
- @keyframes to-linear {
173
- 0% {
174
- margin: 0 0 0 -100%;
175
- }
176
-
177
- 50% {
178
- margin: 0 0 0 0;
179
- }
180
-
181
- 100% {
182
- margin: 0 0 0 100%;
183
- }
184
- }
185
-
186
- @keyframes to-indeterminate {
187
- 0% {
188
- padding: 0 100% 0 0;
189
- }
190
-
191
- 50% {
192
- padding: 0 0 0 0;
193
- }
194
-
195
- 100% {
196
- padding: 0 0 0 100%;
197
- }
198
- }
199
-
200
- @keyframes to-rotate {
201
- from {
202
- transform: rotate(0deg);
203
- }
204
-
205
- to {
206
- transform: rotate(360deg);
207
- }
1
+ progress {
2
+ --_light: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4AWJiYGAQBgAAAP//ZyYa+wAAAAZJREFUAwAAIgAWeX9MsQAAAABJRU5ErkJggg==);
3
+ --_dark: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4AWL6//+/FAAAAP//qSv5QwAAAAZJREFUAwAJIAMaJWjIvQAAAABJRU5ErkJggg==);
4
+ --_size: 0.25rem;
5
+ position: relative;
6
+ inline-size: 100%;
7
+ block-size: var(--_size);
8
+ color: var(--primary);
9
+ background: var(--_light);
10
+ border-radius: 1rem;
11
+ flex: none;
12
+ border: none;
13
+ overflow: hidden;
14
+ writing-mode: horizontal-tb;
15
+ direction: ltr;
16
+ -webkit-appearance: none;
17
+ appearance: none;
18
+ }
19
+
20
+ .dark progress {
21
+ background: var(--_dark);
22
+ }
23
+
24
+ progress.small {
25
+ --_size: 0.25rem;
26
+ }
27
+
28
+ progress.medium {
29
+ --_size: 0.35rem;
30
+ }
31
+
32
+ progress.large {
33
+ --_size: 0.45rem;
34
+ }
35
+
36
+ progress.indeterminate {
37
+ --_value: 100;
38
+ animation: 3.2s to-indeterminate ease infinite;
39
+ }
40
+
41
+ progress:not(.circle, [value])::after {
42
+ content: "";
43
+ position: absolute;
44
+ inset: 0;
45
+ inline-size: 100%;
46
+ block-size: 100%;
47
+ clip-path: none;
48
+ background: currentcolor;
49
+ animation: 3.2s to-linear ease infinite;
50
+ }
51
+
52
+ progress:not(.circle, [value])::-moz-progress-bar {
53
+ animation: 3.2s to-linear ease infinite;
54
+ }
55
+
56
+ progress:not(.circle, [value])::-webkit-progress-value {
57
+ animation: 3.2s to-linear ease infinite;
58
+ }
59
+
60
+ progress::-webkit-progress-bar {
61
+ background: none;
62
+ }
63
+
64
+ progress::-webkit-progress-value {
65
+ background: currentColor;
66
+ }
67
+
68
+ progress::-moz-progress-bar {
69
+ background: currentColor;
70
+ }
71
+
72
+ progress.wavy {
73
+ block-size: calc(var(--_size) * 2);
74
+ background: none;
75
+ background-image: var(--_light);
76
+ background-repeat: repeat-x;
77
+ background-position: 0 50%;
78
+ background-size: auto calc(var(--_size) / 2);
79
+ }
80
+
81
+ .dark progress.wavy {
82
+ background-image: var(--_dark);
83
+ }
84
+
85
+ progress.wavy::-webkit-progress-value,
86
+ progress.wavy:not(.circle, [value])::after {
87
+ mask-image: url(../shapes/wavy.svg);
88
+ mask-position: 0 50%;
89
+ mask-repeat: repeat-x;
90
+ mask-size: auto 100%;
91
+
92
+ }
93
+
94
+ progress.wavy::-moz-progress-bar {
95
+ mask-image: url(../shapes/wavy.svg);
96
+ mask-position: 0 50%;
97
+ mask-repeat: repeat-x;
98
+ mask-size: auto 100%;
99
+ }
100
+
101
+ progress.circle {
102
+ --_value: attr(value type(<number>), 50);
103
+ inline-size: 2.5rem;
104
+ block-size: 2.5rem;
105
+ background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0%);
106
+ border-radius: 50%;
107
+ mask-image: radial-gradient(circle at center, transparent 57%, currentColor 60%);
108
+ }
109
+
110
+ progress.circle::-webkit-progress-value {
111
+ background: none;
112
+ }
113
+
114
+ progress.circle::-moz-progress-bar {
115
+ background: none;
116
+ }
117
+
118
+ progress.circle.wavy {
119
+ background: conic-gradient(currentColor calc(var(--_value) * 1%), var(--active) 0);
120
+ mask-repeat: no-repeat;
121
+ mask-position: center;
122
+ mask-size: contain;
123
+ mask-image: url(../shapes/wavy-circle.svg);
124
+ }
125
+
126
+ progress.circle.small {
127
+ inline-size: 1.5rem;
128
+ block-size: 1.5rem;
129
+ }
130
+
131
+ progress.circle.large {
132
+ inline-size: 3.5rem;
133
+ block-size: 3.5rem;
134
+ }
135
+
136
+ progress.circle:not([value]),
137
+ progress.circle.indeterminate {
138
+ --_value: 50;
139
+ animation: to-rotate 1s infinite linear;
140
+ }
141
+
142
+ :is(nav, .row, .field) > progress:not(.circle, .small, .medium, .large) {
143
+ flex: auto;
144
+ }
145
+
146
+ progress.max {
147
+ display: unset;
148
+ position: absolute;
149
+ inline-size: 100% !important;
150
+ block-size: 100% !important;
151
+ color: currentColor;
152
+ background: none;
153
+ inset: 0;
154
+ border-radius: inherit;
155
+ animation: none;
156
+ writing-mode: horizontal-tb;
157
+ opacity: 0.33;
158
+ }
159
+
160
+ progress.max[class*='-text'] {
161
+ opacity: 1;
162
+ }
163
+
164
+ progress.max + * {
165
+ margin-block-start: 0;
166
+ }
167
+
168
+ :is(.button, button, .chip) > progress.circle {
169
+ color: inherit;
170
+ }
171
+
172
+ @keyframes to-linear {
173
+ 0% {
174
+ margin: 0 0 0 -100%;
175
+ }
176
+
177
+ 50% {
178
+ margin: 0 0 0 0;
179
+ }
180
+
181
+ 100% {
182
+ margin: 0 0 0 100%;
183
+ }
184
+ }
185
+
186
+ @keyframes to-indeterminate {
187
+ 0% {
188
+ padding: 0 100% 0 0;
189
+ }
190
+
191
+ 50% {
192
+ padding: 0 0 0 0;
193
+ }
194
+
195
+ 100% {
196
+ padding: 0 0 0 100%;
197
+ }
198
+ }
199
+
200
+ @keyframes to-rotate {
201
+ from {
202
+ transform: rotate(0deg);
203
+ }
204
+
205
+ to {
206
+ transform: rotate(360deg);
207
+ }
208
208
  }
@@ -1,34 +1,34 @@
1
- import { queryAll, hasTag, off, on, isMac, isIOS, isChrome, hasClass } from "../utils";
2
-
3
-
4
- function onInputDocument(e: Event) {
5
- const progress = e.target as HTMLProgressElement;
6
-
7
- if (hasTag(progress, "progress")) {
8
- updateProgress(progress);
9
- } else {
10
- updateAllProgress();
11
- }
12
- }
13
-
14
- function updateProgress(progress: HTMLProgressElement) {
15
- if (!progress.hasAttribute("value") && !progress.hasAttribute("max")) {
16
- const value = hasClass(progress, "circle") ? "50" : "100";
17
- progress.style.setProperty("--_value", value);
18
- progress.setAttribute("value", value);
19
- progress.setAttribute("max", "100");
20
- progress.classList.add("indeterminate");
21
- } else {
22
- progress.style.setProperty("--_value", String(progress.value));
23
- }
24
- }
25
-
26
- export function updateAllProgress() {
27
- if (isChrome && !isMac && !isIOS) return;
28
-
29
- const body = document.body;
30
- const progresses = queryAll("progress") as NodeListOf<HTMLProgressElement>;
31
- if (!progresses.length) off(body, "input", onInputDocument, false);
32
- else on(body, "input", onInputDocument, false);
33
- for (let i = 0; i < progresses.length; i++) updateProgress(progresses[i]);
34
- }
1
+ import { queryAll, hasTag, off, on, isMac, isIOS, isChrome, hasClass } from "../utils";
2
+
3
+
4
+ function onInputDocument(e: Event) {
5
+ const progress = e.target as HTMLProgressElement;
6
+
7
+ if (hasTag(progress, "progress")) {
8
+ updateProgress(progress);
9
+ } else {
10
+ updateAllProgress();
11
+ }
12
+ }
13
+
14
+ function updateProgress(progress: HTMLProgressElement) {
15
+ if (!progress.hasAttribute("value") && !progress.hasAttribute("max")) {
16
+ const value = hasClass(progress, "circle") ? "50" : "100";
17
+ progress.style.setProperty("--_value", value);
18
+ progress.setAttribute("value", value);
19
+ progress.setAttribute("max", "100");
20
+ progress.classList.add("indeterminate");
21
+ } else {
22
+ progress.style.setProperty("--_value", String(progress.value));
23
+ }
24
+ }
25
+
26
+ export function updateAllProgress() {
27
+ if (isChrome && !isMac && !isIOS) return;
28
+
29
+ const body = document.body;
30
+ const progresses = queryAll("progress") as NodeListOf<HTMLProgressElement>;
31
+ if (!progresses.length) off(body, "input", onInputDocument, false);
32
+ else on(body, "input", onInputDocument, false);
33
+ for (let i = 0; i < progresses.length; i++) updateProgress(progresses[i]);
34
+ }