winduum 0.4.0 → 0.5.0-next.10

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 (85) hide show
  1. package/dist/main.css +1 -1
  2. package/dist/tailwind.css +1 -1
  3. package/package.json +19 -19
  4. package/src/base/config/font.css +11 -0
  5. package/src/base/{icons.css → config/mask.css} +4 -4
  6. package/src/base/config/rounded.css +14 -0
  7. package/src/base/config/spacing.css +15 -0
  8. package/src/base/config/text.css +15 -0
  9. package/src/base/config/transition.css +19 -0
  10. package/src/base/config/z.css +7 -0
  11. package/src/base/config.css +7 -81
  12. package/src/base/default.css +5 -1
  13. package/src/base/index.css +0 -3
  14. package/src/base/reset.css +11 -8
  15. package/src/base/tailwind/container.css +28 -0
  16. package/src/base/tailwind/utilities.css +39 -10
  17. package/src/base/theme/dark-rgb.css +3 -0
  18. package/src/base/theme/dark.css +3 -4
  19. package/src/base/theme/default-rgb.css +25 -0
  20. package/src/base/theme/default.css +21 -22
  21. package/src/components/dialog.css +4 -9
  22. package/src/components/field.css +1 -3
  23. package/src/libraries/dialog.css +14 -15
  24. package/src/libraries/dialog.d.ts +2 -0
  25. package/src/libraries/dialog.js +13 -4
  26. package/src/libraries/ripple.css +2 -5
  27. package/src/main-rgb.css +2 -0
  28. package/src/tailwind.css +1 -1
  29. package/src/ui/badge/bordered-rgb.css +1 -1
  30. package/src/ui/badge/bordered.css +9 -8
  31. package/src/ui/badge/circle.css +1 -1
  32. package/src/ui/badge/default.css +9 -13
  33. package/src/ui/badge/lg.css +1 -1
  34. package/src/ui/badge/muted.css +1 -1
  35. package/src/ui/badge/sm.css +1 -1
  36. package/src/ui/badge/square.css +1 -1
  37. package/src/ui/btn/bordered.css +14 -13
  38. package/src/ui/btn/circle.css +1 -1
  39. package/src/ui/btn/default.css +13 -58
  40. package/src/ui/btn/ghosted.css +1 -1
  41. package/src/ui/btn/gradient-bordered-rgb.css +1 -1
  42. package/src/ui/btn/gradient-bordered.css +27 -21
  43. package/src/ui/btn/hover-fill.css +1 -1
  44. package/src/ui/btn/index.css +1 -0
  45. package/src/ui/btn/interactive.css +35 -0
  46. package/src/ui/btn/lg.css +1 -1
  47. package/src/ui/btn/muted.css +1 -1
  48. package/src/ui/btn/raised.css +9 -6
  49. package/src/ui/btn/sm.css +1 -1
  50. package/src/ui/btn/square.css +1 -1
  51. package/src/ui/btn/wide.css +1 -2
  52. package/src/ui/check.css +27 -53
  53. package/src/ui/control/color.css +5 -8
  54. package/src/ui/control/default.css +27 -42
  55. package/src/ui/control/file.css +7 -13
  56. package/src/ui/control/floating-interactive.css +12 -0
  57. package/src/ui/control/floating.css +22 -26
  58. package/src/ui/control/icon.css +4 -5
  59. package/src/ui/control/index.css +1 -1
  60. package/src/ui/control/select.css +4 -4
  61. package/src/ui/heading/default.css +5 -10
  62. package/src/ui/heading/lg.css +2 -2
  63. package/src/ui/heading/sm.css +2 -3
  64. package/src/ui/image.css +8 -19
  65. package/src/ui/index.css +0 -1
  66. package/src/ui/info.css +6 -5
  67. package/src/ui/label.css +6 -5
  68. package/src/ui/notice.css +7 -15
  69. package/src/ui/progress/default.css +4 -8
  70. package/src/ui/progress/lg.css +1 -1
  71. package/src/ui/progress/sm.css +1 -1
  72. package/src/ui/switch.css +28 -41
  73. package/src/ui/text.css +102 -113
  74. package/src/ui/title/default.css +5 -12
  75. package/src/ui/title/lg.css +2 -2
  76. package/src/ui/title/sm.css +2 -2
  77. package/tailwind.config.js +5 -1
  78. package/utils/tailwind.cjs +3 -0
  79. package/utils/tailwind.js +51 -8
  80. package/src/base/tailwind/gutters.css +0 -343
  81. package/src/ui/control/floating-focus.css +0 -12
  82. package/src/ui/link/default.css +0 -39
  83. package/src/ui/link/index.css +0 -2
  84. package/src/ui/link/underlined.css +0 -51
  85. package/src/ui/link.css +0 -1
package/src/ui/image.css CHANGED
@@ -1,32 +1,21 @@
1
1
  .ui-image {
2
2
  position: relative;
3
- display: block;
3
+ display: flex;
4
4
  border-radius: inherit;
5
5
  flex-shrink: 0;
6
+ max-width: max-content;
6
7
 
7
- &:not([class*="bg-"])::before {
8
- content: "";
8
+ &::before {
9
9
  position: absolute;
10
10
  inset: 0;
11
- background:
12
- linear-gradient(
13
- 270deg,
14
- color-mix(in sRGB, var(--color-body) 50%, var(--color-main)),
15
- color-mix(in sRGB, var(--color-body) 80%, var(--color-main)),
16
- color-mix(in sRGB, var(--color-body) 80%, var(--color-main)),
17
- color-mix(in sRGB, var(--color-body) 50%, var(--color-main))
18
- );
19
- background-size: 400% 100%;
20
- animation: skeleton-wave 1.5s linear infinite;
21
- border-radius: inherit;
22
11
  z-index: -1;
23
- opacity: 0.3;
12
+ border-radius: inherit;
24
13
  }
25
14
 
26
- & > *:not(source) {
27
- display: block;
28
- width: 100%;
29
- height: 100%;
15
+ & > :where(img, video, iframe, object, svg) {
30
16
  border-radius: inherit;
17
+ min-width: 100%;
18
+ height: auto;
19
+ object-fit: cover;
31
20
  }
32
21
  }
package/src/ui/index.css CHANGED
@@ -7,7 +7,6 @@
7
7
  @import "image.css";
8
8
  @import "info.css";
9
9
  @import "label.css";
10
- @import "link.css";
11
10
  @import "notice.css";
12
11
  @import "progress.css";
13
12
  @import "switch.css";
package/src/ui/info.css CHANGED
@@ -1,7 +1,8 @@
1
1
  .ui-info {
2
- --ui-info-font-size: 0.75rem;
3
- --ui-info-font-weight: var(--font-normal);
4
-
5
- font-size: var(--ui-info-font-size);
6
- font-weight: var(--ui-info-font-weight);
2
+ font-family: var(--ui-info-font-family, inherit);
3
+ font-weight: var(--ui-info-font-weight, inherit);
4
+ font-size: var(--ui-info-font-size, var(--text-xs));
5
+ line-height: var(--ui-info-line-height, calc(1em + var(--ui-info-line-height-ratio, 0.15lh)));
6
+ letter-spacing: var(--ui-info-letter-spacing, inherit);
7
+ text-wrap: balance;
7
8
  }
package/src/ui/label.css CHANGED
@@ -1,7 +1,8 @@
1
1
  .ui-label {
2
- --ui-label-font-size: 0.875rem;
3
- --ui-label-font-weight: var(--font-medium);
4
-
5
- font-size: var(--ui-label-font-size);
6
- font-weight: var(--ui-label-font-weight);
2
+ font-family: var(--ui-label-font-family, inherit);
3
+ font-weight: var(--ui-label-font-weight, inherit);
4
+ font-size: var(--ui-label-font-size, var(--text-sm));
5
+ line-height: var(--ui-label-line-height, calc(1em + var(--ui-label-line-height-ratio, 0.15lh)));
6
+ letter-spacing: var(--ui-label-letter-spacing, inherit);
7
+ text-wrap: balance;
7
8
  }
package/src/ui/notice.css CHANGED
@@ -1,26 +1,18 @@
1
1
  .ui-notice {
2
2
  --color-current: var(--color-accent);
3
- --ui-notice-bg: var(--color-accent);
4
- --ui-notice-py: 1.25rem;
5
- --ui-notice-px: 1.5rem;
6
- --ui-notice-font-size: 0.875rem;
7
- --ui-notice-border-radius: var(--rounded);
8
3
  --ui-notice-outline-width: 1px;
9
- --ui-notice-outline-offset: calc(var(--ui-notice-outline-width) * -1);
10
- --ui-notice-outline-opacity: 10%;
11
- --ui-notice-gap: 1.25rem;
12
4
 
13
5
  position: relative;
14
6
  display: flex;
15
7
  flex-direction: column;
16
- padding: var(--ui-notice-py) var(--ui-notice-px);
17
- font-size: var(--ui-notice-font-size);
18
- border-radius: var(--ui-notice-border-radius);
19
- background-color: color-mix(in sRGB, var(--ui-notice-bg) 10%, transparent);
20
- outline: var(--ui-notice-outline-width) solid color-mix(in sRGB, var(--ui-notice-bg) var(--ui-notice-outline-opacity), transparent);
21
- outline-offset: var(--ui-notice-outline-offset);
8
+ padding: var(--ui-notice-py, 1.25rem) var(--ui-notice-px, 1.5rem);
9
+ font-size: var(--ui-notice-font-size, var(--text-sm));
10
+ border-radius: var(--rounded);
11
+ background-color: color-mix(in sRGB, var(--color-accent) 10%, transparent);
12
+ outline: var(--ui-notice-outline-width) solid color-mix(in sRGB, var(--color-accent) var(--ui-notice-outline-opacity, 10%), transparent);
13
+ outline-offset: var(--ui-notice-outline-offset, calc(var(--ui-notice-outline-width) * -1));
22
14
  color: var(--color-accent);
23
- gap: var(--ui-notice-gap);
15
+ gap: var(--ui-notice-gap, 1.25rem);
24
16
  text-wrap: balance;
25
17
 
26
18
  & :where(hr) {
@@ -1,14 +1,13 @@
1
1
  .ui-progress {
2
- --ui-progress-height: 1rem;
3
- --ui-progress-border-radius: var(--rounded-full);
4
2
  --ui-progress-bg: color-mix(in sRGB, var(--color-accent) var(--ui-progress-bg-opacity), var(--color-body));
5
- --ui-progress-bg-opacity: 10%;
3
+ --ui-progress-bg-opacity: calc(var(--tw-bg-opacity, 1) * 10%);
6
4
 
7
5
  appearance: none;
8
- height: var(--ui-progress-height);
9
- border-radius: var(--ui-progress-border-radius);
6
+ height: var(--ui-progress-height, 1rem);
7
+ border-radius: var(--ui-progress-border-radius, var(--rounded-full));
10
8
  background-color: var(--ui-progress-bg);
11
9
  width: 100%;
10
+ overflow: clip;
12
11
 
13
12
  &::-webkit-progress-bar {
14
13
  background-color: transparent;
@@ -16,12 +15,10 @@
16
15
 
17
16
  &::-webkit-progress-value {
18
17
  background-color: var(--color-accent);
19
- border-radius: var(--ui-progress-border-radius);
20
18
  }
21
19
 
22
20
  &::-moz-progress-bar {
23
21
  background-color: var(--color-accent);
24
- border-radius: var(--ui-progress-border-radius);
25
22
  }
26
23
 
27
24
  &:indeterminate {
@@ -30,7 +27,6 @@
30
27
  background-position: top left;
31
28
  background-repeat: no-repeat;
32
29
  background-size: 150% 150%;
33
- border-radius: var(--ui-progress-border-radius);
34
30
 
35
31
  &::-moz-progress-bar {
36
32
  background-color: transparent;
@@ -1,3 +1,3 @@
1
- .ui-progress:where(.lg) {
1
+ .ui-progress:is(.lg) {
2
2
  --ui-progress-height: 1.5rem;
3
3
  }
@@ -1,3 +1,3 @@
1
- .ui-progress:where(.sm) {
1
+ .ui-progress:is(.sm) {
2
2
  --ui-progress-height: 0.5rem;
3
3
  }
package/src/ui/switch.css CHANGED
@@ -1,24 +1,18 @@
1
1
  .ui-switch {
2
2
  --ui-switch-width: 3rem;
3
3
  --ui-switch-height: 1.5rem;
4
- --ui-switch-font-size: 0.875rem;
5
- --ui-switch-gap: 0.625rem;
6
- --ui-switch-padding: 0.375rem;
7
- --ui-switch-bg: var(--color-dark);
8
- --ui-switch-radius: var(--rounded-full);
9
- --ui-switch-outline-width: 3px;
10
- --ui-switch-outline-offset: 0;
11
- --ui-switch-outline-opacity: 20%;
4
+ --ui-check-icon-size: 1.125rem;
12
5
 
13
6
  :where(.dark) & {
14
7
  --ui-switch-bg: var(--color-body-tertiary);
15
8
  }
16
9
 
17
- display: flex;
18
- align-items: center;
19
- gap: 0 var(--ui-switch-gap);
20
- width: fit-content;
21
- font-size: var(--ui-switch-font-size);
10
+ display: inline-flex;
11
+ gap: var(--ui-switch-gap, 0.75rem);
12
+ font-weight: var(--ui-switch-font-weight, var(--font-normal));
13
+ font-size: var(--ui-switch-font-size, var(--text-sm));
14
+ line-height: var(--ui-switch-line-height, calc(1em + var(--ui-switch-line-height-ratio, 0.25lh)));
15
+ letter-spacing: var(--ui-switch-letter-spacing, inherit);
22
16
  text-wrap: balance;
23
17
 
24
18
  & :where(label[for], input) {
@@ -31,34 +25,28 @@
31
25
  }
32
26
 
33
27
  & :where(input) {
28
+ display: flex;
34
29
  width: var(--ui-switch-width);
35
30
  height: var(--ui-switch-height);
36
- display: block;
37
- position: relative;
38
- border-radius: var(--ui-switch-radius);
39
- background-color: var(--ui-switch-bg);
40
- transition:
41
- var(--transition-background),
42
- outline-color var(--transition-duration),
43
- outline-offset var(--transition-duration);
44
- appearance: none;
45
- outline: var(--ui-switch-outline-width) solid transparent;
31
+ background-color: var(--ui-switch-bg, var(--color-dark));
32
+ border-radius: var(--ui-switch-radius, var(--rounded-full));
33
+ outline: var(--ui-switch-outline-width, 3px) solid transparent;
46
34
  outline-offset: 0;
47
- color: inherit;
35
+ transition-property: var(--transition);
36
+ transition-timing-function: var(--ease-in-out);
37
+ transition-duration: var(--duration);
38
+ flex-shrink: 0;
39
+ position: relative;
40
+ padding: calc((var(--ui-switch-height) - var(--ui-check-icon-size)) / 2);
48
41
 
49
42
  &::before {
50
- width: calc(var(--ui-switch-height) - var(--ui-switch-padding));
51
- height: calc(var(--ui-switch-height) - var(--ui-switch-padding));
52
- background-color: var(--color-light);
53
- border-radius: var(--ui-switch-radius);
54
- position: absolute;
55
- left: var(--ui-switch-height);
56
- top: 50%;
57
43
  content: "";
58
- display: block;
59
- margin-left: calc((var(--ui-switch-height) - var(--ui-switch-padding) + var(--ui-switch-padding) / 2) * -1);
60
- transition: left var(--transition-duration), var(--transition-background);
61
- transform: translateY(-50%);
44
+ width: var(--ui-check-icon-size);
45
+ height: var(--ui-check-icon-size);
46
+ background-color: var(--color-light);
47
+ border-radius: inherit;
48
+ margin-block: auto;
49
+ transition: var(--transition-all);
62
50
  }
63
51
 
64
52
  &:where(:required) {
@@ -69,13 +57,13 @@
69
57
  }
70
58
 
71
59
  &:disabled {
72
- opacity: 0.8;
73
- pointer-events: none;
60
+ cursor: not-allowed;
61
+ opacity: var(--ui-switch-disabled-opacity, 0.5);
74
62
  }
75
63
 
76
64
  &:focus {
77
- outline-color: color-mix(in sRGB, var(--color-current) var(--ui-switch-outline-opacity), transparent);
78
- outline-offset: var(--ui-switch-outline-offset);
65
+ outline-color: color-mix(in sRGB, var(--color-current) var(--ui-switch-outline-opacity, 20%), transparent);
66
+ outline-offset: var(--ui-switch-outline-offset, 0);
79
67
  }
80
68
 
81
69
  &:checked {
@@ -83,8 +71,7 @@
83
71
  --ui-switch-bg: var(--color-accent);
84
72
 
85
73
  &::before {
86
- background-color: var(--color-light);
87
- left: 100%;
74
+ margin-left: calc(100% - var(--ui-check-icon-size));
88
75
  }
89
76
  }
90
77
  }
package/src/ui/text.css CHANGED
@@ -1,14 +1,21 @@
1
1
  .ui-text {
2
- --ui-text-size: 0.875rem;
3
- --ui-text-size-line: 0.75rem;
4
- --ui-text-weight: var(--font-normal);
5
- --ui-text-weight-bold: var(--font-semibold);
6
- --ui-text-content-my: 1rem;
7
- --ui-text-content-my-lg: 2rem;
2
+ --ui-text-content-bold: var(--font-semibold);
3
+ --ui-text-content-my: 1.25em;
4
+ --ui-text-content-marker-size: 0.375em;
8
5
 
9
- font-weight: var(--ui-text-weight);
10
- font-size: var(--ui-text-size);
11
- line-height: calc(var(--ui-text-size) + var(--ui-text-size-line));
6
+ font-family: var(--ui-text-font-family, var(--font-primary));
7
+ font-weight: var(--ui-text-font-weight, var(--font-normal));
8
+ font-size: var(--ui-text-font-size, inherit);
9
+ line-height: var(--ui-text-line-height, calc(1em + var(--ui-text-line-height-ratio, 0.5lh)));
10
+ letter-spacing: var(--ui-text-letter-spacing, 0);
11
+
12
+ & > :is(*:first-child) {
13
+ margin-block-start: 0;
14
+ }
15
+
16
+ & > :is(*:last-child) {
17
+ margin-block-end: 0;
18
+ }
12
19
 
13
20
  & :where(a) {
14
21
  text-decoration: underline;
@@ -27,78 +34,66 @@
27
34
  }
28
35
 
29
36
  & :where(b, strong) {
30
- font-weight: var(--ui-text-weight-bold);
31
- }
32
-
33
- & :where(i, em) {
34
- display: inline;
35
- font-style: italic;
36
- }
37
-
38
- & :where(figure) {
39
- margin: var(--ui-text-content-my) 0;
37
+ font-weight: var(--ui-text-content-bold);
40
38
  }
41
39
 
42
- & :where(figcaption) {
43
- font-size: 0.875rem;
44
- font-weight: var(--font-semibold);
45
- margin-top: 0.25rem;
46
- line-height: 1.5;
40
+ & :where(s, u, em, i) {
41
+ all: revert;
47
42
  }
48
43
 
49
44
  & :where(img) {
45
+ display: block;
50
46
  height: auto;
51
47
  }
52
48
 
53
49
  & :where(p) {
54
- line-height: inherit;
55
-
56
- &:not(:only-child) {
57
- margin: var(--ui-text-content-my) 0;
58
- }
59
-
60
- &:last-child {
61
- margin-bottom: 0;
62
- }
50
+ margin-block: var(--ui-text-content-my);
63
51
 
64
52
  &:empty {
65
- line-height: var(--ui-text-content-my);
53
+ line-height: 0;
66
54
  margin: 0;
67
- }
68
55
 
69
- &::after {
70
- content: "\00a0";
56
+ &::after {
57
+ content: "\00a0";
58
+ }
71
59
  }
72
60
  }
73
61
 
74
62
  & :where(hr) {
75
63
  --tw-border-opacity: 0.1;
76
64
 
77
- margin: var(--ui-text-content-my-lg) 0;
65
+ margin-block: var(--ui-text-hr-my, 3em);
78
66
  }
79
67
 
80
68
  & :where(h1, h2, h3, h4, h5, h6) {
81
- font-weight: var(--ui-text-weight-bold);
82
- font-family: var(--font-secondary);
83
- font-size: var(--ui-text-heading-size, 1rem);
84
- line-height: calc(var(--ui-text-heading-size) + 0.5rem);
85
- margin: var(--ui-text-content-my-lg) 0 var(--ui-text-content-my);
86
-
87
- &:first-child {
88
- margin-top: 0;
89
- }
69
+ font-family: var(--ui-text-heading-font-family, var(--font-secondary));
70
+ font-weight: var(--ui-text-heading-font-weight, var(--ui-text-content-bold));
71
+ font-size: var(--ui-text-heading-font-size);
72
+ line-height: var(--ui-text-heading-line-height, calc(1em + var(--ui-text-heading-line-height-ratio, 0.25lh)));
73
+ letter-spacing: var(--ui-text-heading-letter-spacing);
74
+ margin-block: var(--ui-text-heading-my, 1.5em 0.5em);
75
+ color: var(--ui-text-heading-color, inherit);
76
+ text-wrap: balance;
90
77
  }
91
78
 
92
79
  & :where(h1) {
93
- --ui-text-heading-size: 2.25rem;
80
+ --ui-text-heading-font-size: var(--text-4xl);
94
81
  }
95
82
 
96
83
  & :where(h2) {
97
- --ui-text-heading-size: 1.75rem;
84
+ --ui-text-heading-font-size: var(--text-3xl);
85
+ }
86
+
87
+ & :where(h3) {
88
+ --ui-text-heading-font-size: var(--text-2xl);
89
+ }
90
+
91
+ & :where(h4) {
92
+ --ui-text-heading-font-size: var(--text-xl);
98
93
  }
99
94
 
100
- & :where(h3, h4) {
101
- --ui-text-heading-size: 1.25rem;
95
+ & :where(h5) {
96
+ --ui-text-heading-font-size: var(--text-lg);
102
97
  }
103
98
 
104
99
  & :where(table) {
@@ -106,12 +101,12 @@
106
101
  min-width: 100%;
107
102
 
108
103
  & :where(td, th) {
109
- padding: 1rem 1.25rem;
104
+ padding: 1em 1.25em;
110
105
  text-align: left;
111
106
  }
112
107
 
113
108
  & :where(thead) {
114
- font-weight: var(--ui-text-weight-bold);
109
+ font-weight: var(--ui-text-content-bold);
115
110
  border-bottom: 1px solid color-mix(in sRGB, var(--color-current) 7.5%, transparent);
116
111
  }
117
112
 
@@ -122,96 +117,90 @@
122
117
  }
123
118
  }
124
119
 
125
- & :where(iframe) {
126
- max-width: 100%;
127
- }
120
+ & :where(ol, ul) {
121
+ margin-inline-start: 0.75em;
122
+ padding-inline-start: 1em;
123
+ margin-block: var(--ui-text-content-my);
128
124
 
129
- & :where(blockquote) {
130
- border-left: 0.3125rem solid var(--color-accent);
131
- padding: 0.5rem 1.25rem;
132
- margin: 1rem 0;
133
- font-size: inherit;
134
- }
135
-
136
- & :where(code) {
137
- margin: 0 0.25rem;
138
- border-radius: var(--rounded-sm);
139
- padding: 0.25rem 0.375rem;
140
- font-size: 0.85em;
141
- color: var(--color-accent);
142
- font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
143
- background-color: rgb(27 31 35 / 5%);
144
-
145
- :where(.dark) & {
146
- background-color: var(--color-body-secondary);
125
+ & :where(li) {
126
+ margin-block: 0.5em;
127
+ padding-inline-start: 1ch;
147
128
  }
148
129
  }
149
130
 
150
131
  & :where(ol) {
151
- margin: var(--ui-text-content-my) 0;
152
- padding: 0 0 0 1rem;
153
-
154
132
  &:not([type]) {
155
133
  list-style: decimal;
156
134
  }
157
135
 
158
136
  & :where(li) {
159
- padding-left: 0.5rem;
160
-
161
- &:not(:last-child) {
162
- margin: 0 0 0.5rem;
163
- }
164
-
165
137
  &::marker {
166
138
  color: var(--color-accent);
167
- font-weight: var(--ui-text-weight-bold);
139
+ font-weight: var(--ui-text-content-bold);
168
140
  }
169
141
  }
170
142
  }
171
143
 
172
144
  & :where(ul) {
173
- list-style-type: none !important;
174
- margin: var(--ui-text-content-my) 0;
175
- padding: 0;
176
-
177
145
  & :where(li) {
178
146
  position: relative;
179
- line-height: inherit;
180
- padding-left: 1.25rem;
181
-
182
- &:not(:last-child) {
183
- margin: 0 0 0.5rem;
184
- }
147
+ list-style-type: "";
185
148
 
186
149
  &::before {
187
- width: 0.375rem;
188
- height: 0.375rem;
150
+ width: var(--ui-text-content-marker-size);
151
+ height: var(--ui-text-content-marker-size);
189
152
  position: absolute;
190
- content: "";
153
+ left: -0.75em;
154
+ top: 0.5lh;
191
155
  border: 1px solid var(--color-accent);
192
- background-color: var(--color-accent);
193
- left: 0;
194
- top: 0.6875rem;
195
- text-indent: 0;
196
- border-radius: 50%;
156
+ background-color: var(--ui-text-content-marker-bg, var(--color-accent));
157
+ margin-inline-start: calc((var(--ui-text-content-marker-size) / 2) * -1);
158
+ margin-block-start: calc(var(--ui-text-content-marker-size) / 2 * -1);
159
+ border-radius: var(--ui-text-content-marker-radius, 50%);
160
+ mask: var(--ui-text-content-marker-mask);
161
+ will-change: transform;
162
+ content: "";
197
163
  }
198
164
  }
199
165
 
200
166
  &[style*="square"] {
201
- & :where(li) {
202
- &::before {
203
- border-radius: 0;
204
- }
205
- }
167
+ --ui-text-content-marker-radius: 0;
206
168
  }
207
169
 
208
170
  &[style*="circle"] {
209
- & :where(li) {
210
- &::before {
211
- border-radius: 50%;
212
- background-color: transparent;
213
- }
214
- }
171
+ --ui-text-content-marker-bg: transparent;
172
+ }
173
+ }
174
+
175
+ & :where(blockquote) {
176
+ border-left: 0.375em solid var(--color-accent);
177
+ padding: 0.5em 1.25em;
178
+ margin-block: var(--ui-text-content-my);
179
+ font-size: inherit;
180
+ }
181
+
182
+ & :where(code) {
183
+ font-size: 87.5%;
184
+ margin-inline: var(--spacing-xs);
185
+ border-radius: var(--rounded-sm);
186
+ padding: 0.25em 0.375em;
187
+ color: var(--color-accent);
188
+ font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
189
+ background-color: color-mix(in sRGB, var(--color-current) 5%, transparent);
190
+
191
+ :where(.dark) & {
192
+ background-color: var(--color-body-secondary);
215
193
  }
216
194
  }
195
+
196
+ & :where(figure) {
197
+ margin-block: var(--ui-text-content-my);
198
+ }
199
+
200
+ & :where(figcaption) {
201
+ font-size: 87.5%;
202
+ line-height: 1.5;
203
+ font-weight: var(--font-semibold);
204
+ margin-block-start: 0.5em;
205
+ }
217
206
  }
@@ -1,15 +1,8 @@
1
1
  .ui-title {
2
- --ui-title-font-family: var(--font-secondary);
3
- --ui-title-font-weight: var(--font-semibold);
4
- --ui-title-font-size: 0.875rem;
5
- --ui-title-line-height: calc(var(--ui-title-font-size) + var(--ui-title-line-height-ratio));
6
- --ui-title-line-height-ratio: 0.375rem;
7
- --ui-title-letter-spacing: 0;
8
-
9
- font-family: var(--ui-title-font-family);
10
- font-size: var(--ui-title-font-size);
11
- line-height: var(--ui-title-line-height);
12
- font-weight: var(--ui-title-font-weight);
13
- letter-spacing: var(--ui-title-letter-spacing);
2
+ font-family: var(--ui-title-font-family, var(--font-secondary));
3
+ font-weight: var(--ui-title-font-weight, var(--font-semibold));
4
+ font-size: var(--ui-title-font-size, var(--text-sm));
5
+ line-height: var(--ui-title-line-height, calc(1em + var(--ui-title-line-height-ratio, 0.15lh)));
6
+ letter-spacing: var(--ui-title-letter-spacing, 0);
14
7
  text-wrap: balance;
15
8
  }
@@ -1,3 +1,3 @@
1
- .ui-title:where(.lg) {
2
- --ui-title-font-size: 1.125rem;
1
+ .ui-title:is(.lg) {
2
+ --ui-title-font-size: var(--text-base);
3
3
  }
@@ -1,3 +1,3 @@
1
- .ui-title:where(.sm) {
2
- --ui-title-font-size: 0.75rem;
1
+ .ui-title:is(.sm) {
2
+ --ui-title-font-size: var(--text-xs);
3
3
  }
@@ -1,4 +1,6 @@
1
1
  import winduum from './utils/tailwind.js'
2
+ import containerQueries from '@tailwindcss/container-queries'
3
+ import animate from 'tailwindcss-animate'
2
4
 
3
5
  export default {
4
6
  darkMode: 'class',
@@ -7,6 +9,8 @@ export default {
7
9
  './playground/**/*.{js,html,vue}'
8
10
  ],
9
11
  plugins: [
10
- winduum()
12
+ winduum(),
13
+ containerQueries,
14
+ animate
11
15
  ]
12
16
  }
@@ -235,6 +235,9 @@ const createPlugin = (userConfig = {}) => {
235
235
  },
236
236
  theme: {
237
237
  extend: {
238
+ transitionDuration: {
239
+ DEFAULT: 'var(--transition-duration)'
240
+ },
238
241
  colors: tailwindColors(userConfig.colors),
239
242
  fontSize: tailwindVariablesFont('text', userConfig.fontSize),
240
243
  fontFamily: tailwindVariables('font', userConfig.fontFamily),