@newlogic-digital/ui 3.4.2 → 3.7.5

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 (180) hide show
  1. package/README.md +21 -15
  2. package/package.json +32 -24
  3. package/src/data/main.json +25 -15
  4. package/src/emails/styles/main/+.css +3 -0
  5. package/src/emails/styles/main/Base/+.css +2 -0
  6. package/src/emails/styles/main/Base/config.css +22 -0
  7. package/src/emails/styles/main/Components/+.css +1 -0
  8. package/src/emails/styles/main/Components/Card.css +12 -0
  9. package/src/emails/styles/main/Ui/+.css +3 -0
  10. package/src/emails/styles/main/Ui/Btn.css +78 -0
  11. package/src/emails/styles/main/Ui/Heading.css +8 -0
  12. package/src/emails/styles/main/Ui/Text.css +12 -0
  13. package/src/emails/styles/main.css +92 -0
  14. package/src/emails/{templates/Layout.twig → templates.test/Layout.latte} +17 -5
  15. package/src/emails/templates.test/Sections/Footer.latte +22 -0
  16. package/src/emails/templates.test/Sections/Header.latte +37 -0
  17. package/src/emails/templates.test/Sections/Text.latte +24 -0
  18. package/src/icons.svg +27 -21
  19. package/src/scripts/Components/+.js +2 -1
  20. package/src/scripts/Components/Drawer.js +60 -0
  21. package/src/scripts/Components/Popover.js +65 -0
  22. package/src/scripts/Layout/+.js +0 -1
  23. package/src/scripts/Layout/Header.js +14 -24
  24. package/src/scripts/Libraries/+.js +4 -8
  25. package/src/scripts/Libraries/CookieConsent.js +65 -52
  26. package/src/scripts/Libraries/Dialog.js +19 -36
  27. package/src/scripts/Libraries/Form.js +5 -25
  28. package/src/scripts/Libraries/Naja.js +22 -20
  29. package/src/scripts/Libraries/ReCaptcha.js +8 -30
  30. package/src/scripts/Libraries/Reveal.js +32 -0
  31. package/src/scripts/Libraries/Ripple.js +6 -22
  32. package/src/scripts/Libraries/Stimulus.js +49 -5
  33. package/src/scripts/Libraries/Swup.js +45 -32
  34. package/src/scripts/Libraries/Toaster.js +55 -0
  35. package/src/scripts/Ui/+.js +3 -3
  36. package/src/scripts/Ui/Check.js +8 -0
  37. package/src/scripts/Ui/Control.js +194 -0
  38. package/src/scripts/Ui/ControlSelect.js +25 -0
  39. package/src/scripts/Ui/Text.js +9 -11
  40. package/src/scripts/Utils/+.js +3 -3
  41. package/src/scripts/Utils/cdn.js +1 -3
  42. package/src/scripts/Utils/initAfter.js +11 -0
  43. package/src/scripts/Utils/naja.js +41 -0
  44. package/src/scripts/Utils/utilities.js +8 -0
  45. package/src/scripts/main.js +2 -1
  46. package/src/styles/Components/+.css +4 -3
  47. package/src/styles/Components/Dialog/+.css +2 -0
  48. package/src/styles/Components/Dialog/Content.css +2 -0
  49. package/src/styles/Components/Dialog/CookieConsent.css +17 -0
  50. package/src/styles/Components/Dialog/Default.css +2 -43
  51. package/src/styles/Components/Drawer.css +18 -0
  52. package/src/styles/Components/Field.css +1 -0
  53. package/src/styles/Components/Popover.css +1 -0
  54. package/src/styles/Components/Toaster.css +2 -0
  55. package/src/styles/Layout/Header.css +9 -45
  56. package/src/styles/Layout/Main.css +11 -75
  57. package/src/styles/Layout/Nav.css +13 -33
  58. package/src/styles/Libraries/+.css +1 -7
  59. package/src/styles/Libraries/Datepicker.css +38 -229
  60. package/src/styles/Libraries/Pickr.css +13 -0
  61. package/src/styles/Ui/+.css +5 -5
  62. package/src/styles/Ui/Badge.css +8 -82
  63. package/src/styles/Ui/Btn.css +14 -226
  64. package/src/styles/Ui/Check.css +1 -0
  65. package/src/styles/Ui/Control.css +57 -0
  66. package/src/styles/Ui/ControlSelect.css +57 -0
  67. package/src/styles/Ui/Group.css +1 -0
  68. package/src/styles/Ui/Heading.css +4 -22
  69. package/src/styles/Ui/Image.css +1 -17
  70. package/src/styles/Ui/Info.css +1 -0
  71. package/src/styles/Ui/Label.css +1 -14
  72. package/src/styles/Ui/Link.css +6 -39
  73. package/src/styles/Ui/Notice.css +5 -43
  74. package/src/styles/Ui/Progress.css +1 -56
  75. package/src/styles/Ui/Switch.css +1 -70
  76. package/src/styles/Ui/Text.css +1 -254
  77. package/src/styles/Ui/Title.css +4 -15
  78. package/src/styles/Utils/+.css +6 -10
  79. package/src/styles/Utils/breakpoints.css +1 -9
  80. package/src/styles/Utils/config.css +16 -0
  81. package/src/styles/Utils/default.css +15 -26
  82. package/src/styles/Utils/keyframes.css +1 -182
  83. package/src/styles/Utils/theme/+.css +1 -1
  84. package/src/styles/Utils/theme/main.css +28 -23
  85. package/src/styles/Utils/utilities.css +42 -0
  86. package/src/styles/main.css +16 -14
  87. package/src/styles/tinymce.css +34 -0
  88. package/src/templates/Components/Dialog/Basic.latte +24 -0
  89. package/src/templates/Components/Dialog/CookieConsent.latte +27 -0
  90. package/src/templates/Components/Form/CookieConsent.latte +47 -0
  91. package/src/templates/Layout/Header.latte +38 -0
  92. package/src/templates/Layout/Main.latte +73 -0
  93. package/src/templates/Sections/CookieConsent.latte +69 -0
  94. package/src/templates/Sections/Site.latte +213 -0
  95. package/src/templates/Sections/Text.latte +64 -0
  96. package/src/templates/Sections/Ui/Docs/@intro.html +16 -65
  97. package/src/templates/Sections/Ui/Docs/@nav.html +68 -129
  98. package/src/templates/Sections/Ui/Docs/@styles.html +3 -7
  99. package/src/templates/Sections/Ui/Docs/Default.latte +979 -0
  100. package/src/templates/Sections/Ui/Icons.html +11 -9
  101. package/src/templates/Sections/Ui/Intro.html +62 -79
  102. package/src/templates/Sections/Ui.latte +8 -0
  103. package/src/templates/Ui/+.latte +5 -0
  104. package/src/templates/Ui/Check.latte +7 -0
  105. package/src/templates/Ui/Control.latte +9 -0
  106. package/src/templates/Ui/ControlDate.latte +14 -0
  107. package/src/templates/Ui/ControlSelect.latte +9 -0
  108. package/src/templates/Ui/ControlTime.latte +14 -0
  109. package/src/templates/Utils/sections.latte +3 -0
  110. package/src/views/dialog/basic.json.latte +5 -0
  111. package/src/views/email/email.latte +6 -0
  112. package/src/views/email/email.test.latte +6 -0
  113. package/src/views/gdpr.json +6 -4
  114. package/src/views/index.json +1 -1
  115. package/src/views/popover/info.json.latte +15 -0
  116. package/src/views/site.json +11 -0
  117. package/src/views/ui-icons.json +1 -1
  118. package/src/views/ui.json +1 -1
  119. package/vite.config.js +17 -16
  120. package/src/emails/styles/email.css +0 -77
  121. package/src/emails/templates/Content.twig +0 -16
  122. package/src/emails/templates/Header.twig +0 -14
  123. package/src/scripts/Components/CookieConsent.js +0 -83
  124. package/src/scripts/Layout/Main.js +0 -47
  125. package/src/scripts/Libraries/Anchor.js +0 -35
  126. package/src/scripts/Libraries/Drawer.js +0 -45
  127. package/src/scripts/Libraries/NativeSlider.js +0 -138
  128. package/src/scripts/Libraries/Script.js +0 -19
  129. package/src/scripts/Libraries/Tabs.js +0 -16
  130. package/src/scripts/Libraries/Tippy.js +0 -120
  131. package/src/scripts/Ui/Checkbox.js +0 -10
  132. package/src/scripts/Ui/Input.js +0 -259
  133. package/src/scripts/Ui/Select.js +0 -53
  134. package/src/scripts/Utils/Functions/+.js +0 -6
  135. package/src/scripts/Utils/Functions/checkValidity.js +0 -44
  136. package/src/scripts/Utils/Functions/dataValue.js +0 -52
  137. package/src/scripts/Utils/Functions/importScript.js +0 -17
  138. package/src/scripts/Utils/Functions/importStyle.js +0 -18
  139. package/src/scripts/Utils/Functions/loadStimulus.js +0 -42
  140. package/src/scripts/Utils/Functions/replaceTag.js +0 -12
  141. package/src/scripts/Utils/global.js +0 -15
  142. package/src/styles/Components/CookieConsent.css +0 -71
  143. package/src/styles/Components/Dropdown/+.css +0 -1
  144. package/src/styles/Components/Dropdown/Default.css +0 -5
  145. package/src/styles/Components/Form/+.css +0 -1
  146. package/src/styles/Components/Form/CookieConsent.css +0 -31
  147. package/src/styles/Libraries/Dialog.css +0 -35
  148. package/src/styles/Libraries/Drawer.css +0 -70
  149. package/src/styles/Libraries/Hint.css +0 -201
  150. package/src/styles/Libraries/NativeSlider.css +0 -60
  151. package/src/styles/Libraries/Ripple.css +0 -16
  152. package/src/styles/Libraries/Tabs.css +0 -19
  153. package/src/styles/Libraries/Tippy.css +0 -87
  154. package/src/styles/Ui/Checkbox.css +0 -150
  155. package/src/styles/Ui/Icon.css +0 -33
  156. package/src/styles/Ui/Input.css +0 -467
  157. package/src/styles/Ui/Radio.css +0 -4
  158. package/src/styles/Ui/Select.css +0 -137
  159. package/src/styles/Utils/icons.css +0 -9
  160. package/src/styles/Utils/normalize.css +0 -223
  161. package/src/styles/Utils/tailwind/+.css +0 -3
  162. package/src/styles/Utils/tailwind/base.css +0 -3
  163. package/src/styles/Utils/tailwind/gutters.css +0 -346
  164. package/src/styles/Utils/tailwind/utilities.css +0 -48
  165. package/src/styles/Utils/vars.css +0 -91
  166. package/src/styles/Utils/vendor.css +0 -2
  167. package/src/templates/Components/CookieConsent.twig +0 -30
  168. package/src/templates/Components/Dialogs/Basic.twig +0 -22
  169. package/src/templates/Layout/Header.twig +0 -42
  170. package/src/templates/Layout/Main.twig +0 -49
  171. package/src/templates/Sections/Gdpr.twig +0 -64
  172. package/src/templates/Sections/Ui/Docs/Default.twig +0 -1600
  173. package/src/templates/Sections/Ui.twig +0 -8
  174. package/src/templates/Utils/sections.twig +0 -3
  175. package/src/views/dialog/basic.json.twig +0 -3
  176. package/src/views/dropdown/tippy.json.twig +0 -16
  177. package/src/views/email/email.twig +0 -6
  178. /package/src/{styles/Utils/print.css → emails/styles/main/Base/font.css} +0 -0
  179. /package/src/{templates/Components/Items → emails/templates}/.gitkeep +0 -0
  180. /package/src/templates/Layout/{Footer.twig → Footer.latte} +0 -0
@@ -1,82 +1,8 @@
1
- .ui-badge {
2
- --ui-badge-width: auto;
3
- --ui-badge-height: 1.5rem;
4
- --ui-badge-py: 0.375rem;
5
- --ui-badge-px: 0.5rem;
6
- --ui-badge-size: 0.75rem;
7
- --ui-badge-radius: var(--radius);
8
- --ui-badge-weight: var(--font-normal);
9
- --ui-badge-bg-opacity: var(--tw-bg-opacity, 1);
10
- --ui-badge-text-opacity: var(--tw-text-opacity, 1);
11
- --ui-badge-bg: rgb(var(--color-accent) / var(--ui-badge-bg-opacity));
12
- --ui-badge-color: rgb(var(--color-light) / var(--ui-badge-text-opacity));
13
- --ui-badge-hover-opacity: 0.8;
14
-
15
- display: inline-flex;
16
- align-self: flex-start;
17
- align-items: center;
18
- text-align: center;
19
- justify-content: center;
20
- flex-shrink: 0;
21
- font-size: var(--ui-badge-size);
22
- font-weight: var(--ui-badge-weight);
23
- padding: var(--ui-badge-py) var(--ui-badge-px);
24
- border-radius: var(--ui-badge-radius);
25
- background-color: var(--ui-badge-bg);
26
- color: var(--ui-badge-color);
27
- width: var(--ui-badge-width);
28
- height: var(--ui-badge-height);
29
- line-height: var(--ui-badge-size);
30
- transition: var(--transition-opacity);
31
-
32
- @nest .no-touch &:is([href], button):is(:hover, :focus-visible) {
33
- opacity: var(--ui-badge-hover-opacity);
34
- }
35
-
36
- & svg {
37
- width: 1em;
38
- height: 1em;
39
- }
40
-
41
- &:--type-square, &:--type-circle {
42
- --ui-badge-px: var(--ui-badge-py);
43
- --ui-badge-width: var(--ui-badge-height);
44
- }
45
-
46
- &:--type-circle {
47
- border-radius: 50%;
48
- }
49
-
50
- &:--size-sm {
51
- --ui-badge-height: 1.25rem;
52
- }
53
-
54
- &:--size-md {
55
- --ui-badge-height: 1.75rem;
56
- --ui-badge-py: 0.5rem;
57
- }
58
- }
59
-
60
- .ui-badge-group {
61
- display: flex;
62
-
63
- & .ui-badge {
64
- &:not(:first-of-type) {
65
- &, &::after {
66
- border-top-left-radius: 0;
67
- border-bottom-left-radius: 0;
68
- }
69
-
70
- &::after {
71
- border-left: 0;
72
- }
73
- }
74
-
75
- &:not(:last-of-type) {
76
- &, &::after {
77
- border-top-right-radius: 0;
78
- border-bottom-right-radius: 0;
79
- }
80
- }
81
- }
82
- }
1
+ @import "winduum/src/ui/badge/default.css";
2
+ @import "winduum/src/ui/badge/default-props.css";
3
+ @import "winduum/src/ui/badge/sm.css";
4
+ @import "winduum/src/ui/badge/lg.css";
5
+ @import "winduum/src/ui/badge/bordered.css";
6
+ @import "winduum/src/ui/badge/muted.css";
7
+ @import "winduum/src/ui/badge/square.css";
8
+ @import "winduum/src/ui/badge/circle.css";
@@ -1,226 +1,14 @@
1
- .ui-btn {
2
- --ui-btn-width: auto;
3
- --ui-btn-height: 2.375rem;
4
- --ui-btn-py: 0.375rem;
5
- --ui-btn-px: 1rem;
6
- --ui-btn-size: 0.875rem;
7
- --ui-btn-radius: var(--radius);
8
- --ui-btn-weight: var(--font-medium);
9
- --ui-btn-bg-opacity: var(--tw-bg-opacity, 1);
10
- --ui-btn-text-opacity: var(--tw-text-opacity, 1);
11
- --ui-btn-bg: rgb(var(--color-accent) / var(--ui-btn-bg-opacity));
12
- --ui-btn-color: rgb(var(--color-light) / var(--ui-btn-text-opacity));
13
- --ui-btn-hover-opacity: 0.2;
14
- --ui-btn-outline-width: 2px;
15
- --ui-btn-outline-opacity: 0.5;
16
- --ui-btn-icon-size: 1.125rem;
17
- --ui-btn-icon-offset: calc((var(--ui-btn-py) / 1) * -1);
18
-
19
- display: inline-flex;
20
- align-items: center;
21
- text-align: center;
22
- justify-content: center;
23
- cursor: pointer;
24
- overflow: hidden;
25
- position: relative;
26
- z-index: 1;
27
- white-space: nowrap;
28
- flex-shrink: 0;
29
- font-size: var(--ui-btn-size);
30
- font-weight: var(--ui-btn-weight);
31
- width: var(--ui-btn-width);
32
- height: var(--ui-btn-height);
33
- padding: var(--ui-btn-py) var(--ui-btn-px);
34
- border-radius: var(--ui-btn-radius);
35
- transition: var(--transition-opacity), var(--transition-background), var(--transition-color);
36
- background-color: var(--ui-btn-bg);
37
- color: var(--ui-btn-color);
38
-
39
- @nest .dark &.accent-dark {
40
- --ui-btn-color: rgb(var(--color-dark));
41
- --color-accent: var(--color-light);
42
- }
43
-
44
- &:--theme-light {
45
- --ui-btn-color: rgb(var(--color-light) / var(--tw-text-opacity, 1));
46
- }
47
-
48
- &:--theme-dark {
49
- --ui-btn-color: rgb(var(--color-dark) / var(--tw-text-opacity, 1));
50
- }
51
-
52
- &::before {
53
- position: absolute;
54
- inset: 0;
55
- width: 100%;
56
- height: 100%;
57
- content: "";
58
- background-color: var(--ui-btn-color);
59
- z-index: -1;
60
- opacity: 0;
61
- transition: var(--transition-opacity);
62
-
63
- @nest .no-touch :is(:hover, :focus-visible)&, :is(:--state-active)& {
64
- opacity: var(--ui-btn-hover-opacity);
65
- }
66
- }
67
-
68
- & > svg {
69
- width: 1em;
70
- height: 1em;
71
- }
72
-
73
- & > [class^="icon"] {
74
- font-size: var(--ui-btn-icon-size);
75
-
76
- &.icon-l {
77
- &:not([class*="mr-"]) {
78
- margin-right: var(--ui-btn-py);
79
- margin-left: var(--ui-btn-icon-offset);
80
- }
81
- }
82
-
83
- &.icon-r {
84
- &:not([class*="ml-"]) {
85
- margin-left: var(--ui-btn-py);
86
- margin-right: var(--ui-btn-icon-offset);
87
- }
88
-
89
- order: 1;
90
- }
91
- }
92
-
93
- &[disabled] {
94
- pointer-events: none;
95
-
96
- &::before {
97
- opacity: 0.5;
98
- }
99
- }
100
-
101
- &:--type-text {
102
- @nest :not(:hover, :focus-visible, :--state-active)& {
103
- --ui-btn-color: currentColor;
104
-
105
- background-color: transparent;
106
- }
107
- }
108
-
109
- &:--type-outline {
110
- --ui-btn-color: rgb(var(--color-current));
111
- --ui-btn-hover-opacity: 0.1;
112
-
113
- background-color: transparent;
114
-
115
- &::before {
116
- background-color: var(--ui-btn-bg);
117
- }
118
-
119
- &::after {
120
- position: absolute;
121
- inset: 0;
122
- width: 100%;
123
- height: 100%;
124
- content: "";
125
- background-color: transparent;
126
- border: var(--ui-btn-outline-width) solid var(--ui-btn-bg);
127
- box-sizing: border-box;
128
- opacity: var(--ui-btn-outline-opacity);
129
- border-radius: var(--ui-btn-radius);
130
- }
131
- }
132
-
133
- &:--type-square, &:--type-circle {
134
- --ui-btn-py: var(--ui-btn-py);
135
- --ui-btn-width: var(--ui-btn-height);
136
- }
137
-
138
- &:--type-circle {
139
- border-radius: 50%;
140
- }
141
-
142
- &:--size-sm {
143
- --ui-btn-height: 2.25rem;
144
- --ui-btn-px: 1rem;
145
- }
146
-
147
- &:--size-lg {
148
- --ui-btn-icon-size: 1.5rem;
149
- --ui-btn-height: 3rem;
150
- --ui-btn-px: 1.25rem;
151
- }
152
-
153
- &:--state-loading {
154
- pointer-events: none;
155
- color: transparent;
156
-
157
- & > * {
158
- opacity: 0;
159
- }
160
-
161
- &::before {
162
- z-index: 1;
163
- width: 1rem;
164
- height: 1rem;
165
- content: "";
166
- background-color: transparent;
167
- border: 2px solid var(--ui-btn-color);
168
- border-right-color: transparent;
169
- border-radius: 50%;
170
- animation: spin 0.45s infinite linear;
171
- position: absolute;
172
- margin-left: -0.625rem;
173
- margin-top: -0.625rem;
174
- left: 50%;
175
- top: 50%;
176
- opacity: 1 !important;
177
- }
178
- }
179
-
180
- @media (--media-m) {
181
- &:--type-square-m, &:--type-circle-m {
182
- --ui-btn-py: var(--ui-btn-py);
183
- --ui-btn-width: var(--ui-btn-height);
184
-
185
- & > * {
186
- margin: 0 !important;
187
- }
188
- }
189
-
190
- &:--type-circle-m {
191
- border-radius: 50%;
192
- }
193
- }
194
- }
195
-
196
- .ui-btn-group {
197
- display: flex;
198
-
199
- & .ui-btn {
200
- &:not(:last-of-type) {
201
- &, &::after {
202
- border-top-right-radius: 0;
203
- border-bottom-right-radius: 0;
204
- }
205
- }
206
-
207
- &:not(:first-of-type) {
208
- &, &::after {
209
- border-top-left-radius: 0;
210
- border-bottom-left-radius: 0;
211
- }
212
-
213
- &::after {
214
- border-left: 0;
215
- }
216
-
217
- &, &:--theme-light {
218
- box-shadow: -1px 0 rgb(var(--color-light) / var(--ui-btn-hover-opacity));
219
- }
220
-
221
- &:--theme-dark {
222
- box-shadow: -1px 0 rgb(var(--color-dark) / var(--ui-btn-hover-opacity));
223
- }
224
- }
225
- }
226
- }
1
+ @import "winduum/src/ui/btn/default.css";
2
+ @import "winduum/src/ui/btn/default-props.css";
3
+ @import "winduum/src/ui/btn/lg.css";
4
+ @import "winduum/src/ui/btn/sm.css";
5
+ @import "winduum/src/ui/btn/interactive.css";
6
+ @import "winduum/src/ui/btn/interactive-props.css";
7
+ @import "winduum/src/ui/btn/loading.css";
8
+ @import "winduum/src/ui/btn/loading-props.css";
9
+ @import "winduum/src/ui/btn/wide.css";
10
+ @import "winduum/src/ui/btn/bordered.css";
11
+ @import "winduum/src/ui/btn/ghosted.css";
12
+ @import "winduum/src/ui/btn/muted.css";
13
+ @import "winduum/src/ui/btn/square.css";
14
+ @import "winduum/src/ui/btn/circle.css";
@@ -0,0 +1 @@
1
+ @import "winduum/src/ui/check/index.css";
@@ -0,0 +1,57 @@
1
+ @import "winduum/src/ui/control/default.css";
2
+ @import "winduum/src/ui/control/default-props.css";
3
+ @import "winduum/src/ui/control/interactive.css";
4
+ @import "winduum/src/ui/control/interactive-props.css";
5
+ @import "winduum/src/ui/control/file.css";
6
+ @import "winduum/src/ui/control/select.css";
7
+ @import "winduum/src/ui/control/select-props.css";
8
+ @import "winduum/src/ui/control/icon.css";
9
+ @import "winduum/src/ui/control/icon-props.css";
10
+ @import "winduum/src/ui/control/floating.css";
11
+ @import "winduum/src/ui/control/floating-props.css";
12
+ @import "winduum/src/ui/control/invalid.css";
13
+
14
+ .ui-control {
15
+ --ui-control-font-size: var(--text-sm);
16
+
17
+ &.active label,
18
+ :where(input, textarea):is(:focus, [placeholder]) ~ label,
19
+ :where(select):is([data-placeholder]) ~ label,
20
+ &:has(.-active-) label {
21
+ transform: translateY(calc(var(--ui-control-label-translate-y) * -1)) scale(var(--ui-control-label-scale));
22
+ opacity: var(--ui-control-label-focus-opacity, 0.5);
23
+ }
24
+
25
+ &:has(label):not(.active) select:not([data-placeholder]) {
26
+ font-size: 0;
27
+ height: inherit;
28
+
29
+ & option {
30
+ font-size: var(--ui-control-font-size);
31
+ }
32
+ }
33
+
34
+ :where(.color) {
35
+ width: var(--ui-control-icon-size);
36
+ height: var(--ui-control-icon-size);
37
+ border-radius: 50%;
38
+ overflow: hidden;
39
+ display: block;
40
+ border: 1px solid rgb(0 0 0 / 15%);
41
+ }
42
+
43
+ :where([type="number"]) {
44
+ -moz-appearance: textfield;
45
+
46
+ &::-webkit-outer-spin-button,
47
+ &::-webkit-inner-spin-button {
48
+ -webkit-appearance: none;
49
+ }
50
+ }
51
+
52
+ :where(input) {
53
+ &::-webkit-calendar-picker-indicator {
54
+ display: none;
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,57 @@
1
+ .ui-control[data-controller~="ui-control-select"] {
2
+ position: relative;
3
+ cursor: pointer;
4
+
5
+ & select {
6
+ pointer-events: none;
7
+ }
8
+
9
+ & div[aria-hidden] {
10
+ grid-area: c-control;
11
+ will-change: transform;
12
+ border-radius: inherit;
13
+ position: absolute;
14
+ background-color: var(--color-body);
15
+ z-index: 100;
16
+ inset-inline: 0;
17
+ top: 100%;
18
+ margin-top: 0.5rem;
19
+ border: 1px solid color-mix(in srgb, currentcolor 10%, transparent);
20
+ transform: scaleY(0);
21
+ opacity: 0;
22
+ transition: var(--transition-opacity), var(--transition-transform);
23
+ transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
24
+ transition-duration: 200ms;
25
+ backface-visibility: hidden;
26
+ transform-origin: center top;
27
+ user-select: none;
28
+ max-height: 12rem;
29
+ overflow-y: auto;
30
+ box-shadow: 0 0.15em 1.5em 0 color-mix(in srgb, var(--color-dark) 5%, transparent), 0 0 1em 0 color-mix(in srgb, var(--color-dark) 5%, transparent);
31
+ padding: 0.375rem;
32
+ color: currentcolor;
33
+ cursor: default;
34
+
35
+ & [data-option] {
36
+ padding: calc(var(--ui-control-px) / 1.5) var(--ui-control-px);
37
+ cursor: pointer;
38
+ transition: var(--transition-background);
39
+ font-size: var(--ui-control-font-size);
40
+ border-radius: inherit;
41
+
42
+ &[data-disabled] {
43
+ opacity: 0.5;
44
+ pointer-events: none;
45
+ }
46
+
47
+ &:is(:hover, :focus) {
48
+ background-color: color-mix(in srgb, var(--color-accent) 10%, transparent);
49
+ }
50
+ }
51
+ }
52
+
53
+ &:focus-within select ~ div[aria-hidden] {
54
+ opacity: 1;
55
+ transform: none;
56
+ }
57
+ }
@@ -0,0 +1 @@
1
+ @import "winduum/src/ui/group/index.css";
@@ -1,22 +1,4 @@
1
- .ui-heading {
2
- --ui-heading-size: 1.5rem;
3
- --ui-heading-weight: var(--font-bold);
4
- --ui-heading-size-line: 0.5rem;
5
-
6
- display: block;
7
- font-weight: var(--ui-heading-weight);
8
- font-size: var(--ui-heading-size);
9
- line-height: calc(var(--ui-heading-size) + var(--ui-heading-size-line));
10
-
11
- &:--size-lg {
12
- --ui-heading-size: 1.75rem;
13
-
14
- @media (--media-t) {
15
- --ui-heading-size: 2rem;
16
- }
17
- }
18
-
19
- &:--size-sm {
20
- --ui-heading-size: 1.25rem;
21
- }
22
- }
1
+ @import "winduum/src/ui/heading/default.css";
2
+ @import "winduum/src/ui/heading/default-props.css";
3
+ @import "winduum/src/ui/heading/sm.css";
4
+ @import "winduum/src/ui/heading/lg.css";
@@ -1,17 +1 @@
1
- .ui-image {
2
- position: relative;
3
- display: block;
4
-
5
- &:not(.bg-transparent) {
6
- background-color: rgb(var(--color-background-100));
7
- }
8
-
9
- & > * {
10
- width: 100%;
11
- height: 100%;
12
- }
13
-
14
- @nest picture& > img {
15
- object-fit: cover;
16
- }
17
- }
1
+ @import "winduum/src/ui/image/index.css";
@@ -0,0 +1 @@
1
+ @import "winduum/src/ui/info/index.css";
@@ -1,14 +1 @@
1
- .ui-label {
2
- --ui-label-size: 0.875rem;
3
- --ui-label-size-line: 0.5rem;
4
- --ui-label-spacing: 0.05rem;
5
-
6
- display: block;
7
- font-size: var(--ui-label-size);
8
- line-height: calc(var(--ui-label-size-line) + var(--ui-label-size-line));
9
- font-weight: var(--font-medium);
10
-
11
- & ~ :is([class^="ui-"]:not(&), [class^="c-"]) {
12
- margin-top: 0.5rem;
13
- }
14
- }
1
+ @import "winduum/src/ui/label/index.css";
@@ -1,41 +1,8 @@
1
- .ui-link {
2
- --ui-link-size: 0.875rem;
3
- --ui-link-weight: var(--font-normal);
4
- --ui-link-hover-opacity: 0.8;
5
- --ui-link-hover-color: rgb(var(--color-accent));
6
- --ui-link-underline-opacity: 0.5;
7
-
8
- display: inline-flex;
9
- align-self: flex-start;
10
- cursor: pointer;
11
- font-size: var(--ui-link-size);
12
- font-weight: var(--ui-link-weight);
13
- transition: var(--transition-opacity), var(--transition-color);
14
- position: relative;
15
- white-space: nowrap;
16
- line-height: 1.5;
17
-
18
- &:--size-sm {
19
- --ui-link-size: 0.75rem;
20
- }
1
+ @import "winduum/src/ui/link/default.css";
2
+ @import "winduum/src/ui/link/interactive.css";
3
+ @import "winduum/src/ui/link/interactive-props.css";
21
4
 
22
- @nest &:focus-visible, .no-touch &:is([href], button):hover {
23
- opacity: var(--ui-link-hover-opacity);
24
- color: var(--ui-link-hover-color);
25
- }
26
-
27
- &[data-type~="underline"]::after {
28
- content: "";
29
- border-bottom: 1px solid currentColor;
30
- opacity: 0;
31
- position: absolute;
32
- inset: auto 0 0;
33
- transition: var(--transition-opacity), var(--transition-transform);
34
- transform: translateY(-0.25rem);
35
-
36
- @nest .no-touch :not([href^="tel:"], [href^="mailto:"]):is(:hover, :focus-visible)& {
37
- transform: none;
38
- opacity: var(--ui-link-underline-opacity);
39
- }
40
- }
5
+ .ui-link {
6
+ --ui-link-font-weight: var(--font-medium);
7
+ --ui-link-font-size: var(--text-sm);
41
8
  }
@@ -1,47 +1,9 @@
1
- .ui-notice {
2
- --color-current: var(--color-accent);
3
- --ui-notice-bg: rgb(var(--color-accent));
4
- --ui-notice-outline-opacity: 0.1;
5
- --ui-notice-size: 0.875rem;
6
- --ui-notice-py: 1.25rem;
7
- --ui-notice-px: 1.5rem;
8
-
9
- position: relative;
10
- z-index: 1;
11
- padding: var(--ui-notice-py) var(--ui-notice-px);
12
- font-size: var(--ui-notice-size);
13
- border-radius: var(--radius);
14
- color: rgb(var(--color-current));
15
-
16
- &:not([class*="bg-"]) {
17
- &::before, &::after {
18
- position: absolute;
19
- inset: 0;
20
- width: 100%;
21
- height: 100%;
22
- border-radius: var(--radius);
23
- z-index: -1;
24
- content: "";
25
- }
26
-
27
- &::before {
28
- background-color: var(--ui-notice-bg);
29
- opacity: var(--ui-notice-outline-opacity);
30
- }
1
+ @import "winduum/src/ui/notice/index.css";
31
2
 
32
- &::after {
33
- box-shadow: inset 0 0 0 1px var(--ui-notice-bg);
34
- opacity: var(--ui-notice-outline-opacity);
35
- }
36
- }
37
-
38
- & a {
39
- text-decoration: underline;
40
- transition: var(--transition-opacity);
41
- color: currentColor !important;
3
+ .ui-notice {
4
+ align-items: flex-start;
42
5
 
43
- @nest .no-touch &[href]:is(:hover, :focus-visible) {
44
- opacity: 0.8;
45
- }
6
+ hr {
7
+ width: 100%;
46
8
  }
47
9
  }
@@ -1,56 +1 @@
1
- .ui-progress {
2
- --ui-progress-height: 1rem;
3
- --ui-progress-radius: 9999px;
4
- --ui-progress-bg: var(--color-background-200);
5
- --ui-progress-bg-opacity: 1;
6
-
7
- appearance: none;
8
- box-shadow: none;
9
- border: 0;
10
- height: var(--ui-progress-height);
11
- border-radius: var(--ui-progress-radius);
12
- background-color: rgb(var(--ui-progress-bg) / var(--ui-progress-bg-opacity));
13
- color: rgb(var(--color-accent));
14
- width: 100%;
15
-
16
- @nest .bg-dark & {
17
- &, &::-webkit-progress-bar {
18
- background-color: rgb(var(--color-light) / 0.1);
19
- }
20
- }
21
-
22
- &:--size-sm {
23
- --ui-progress-height: 0.5rem;
24
- }
25
-
26
- &:--size-lg {
27
- --ui-progress-height: 1.5rem;
28
- }
29
-
30
- &::-webkit-progress-bar {
31
- background-color: transparent;
32
- }
33
-
34
- &::-webkit-progress-value {
35
- background-color: currentColor;
36
- border-radius: var(--ui-progress-radius);
37
- }
38
-
39
- &::-moz-progress-bar {
40
- background-color: currentColor;
41
- border-radius: var(--ui-progress-radius);
42
- }
43
-
44
- &:indeterminate {
45
- animation: 1.5s linear 0s forwards infinite move-indeterminate;
46
- background-image: linear-gradient(to right, currentColor 30%, rgb(var(--ui-progress-bg) / var(--ui-progress-bg-opacity)) 30%);
47
- background-position: top left;
48
- background-repeat: no-repeat;
49
- background-size: 150% 150%;
50
- border-radius: var(--ui-progress-radius);
51
-
52
- &::-moz-progress-bar {
53
- background-color: transparent;
54
- }
55
- }
56
- }
1
+ @import "winduum/src/ui/progress/index.css";