@newlogic-digital/ui 3.3.0 → 3.5.0

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 (151) hide show
  1. package/README.md +10 -14
  2. package/package.json +23 -23
  3. package/src/data/main.json +2 -8
  4. package/src/emails/{templates/Content.twig → templates.test/Content.latte} +10 -2
  5. package/src/emails/{templates/Header.twig → templates.test/Header.latte} +1 -1
  6. package/src/emails/{templates/Layout.twig → templates.test/Layout.latte} +2 -2
  7. package/src/icons.svg +34 -28
  8. package/src/scripts/Components/CookieConsent.js +22 -28
  9. package/src/scripts/Layout/Header.js +25 -11
  10. package/src/scripts/Layout/Main.js +25 -55
  11. package/src/scripts/Libraries/+.js +4 -5
  12. package/src/scripts/Libraries/Dialog.js +37 -72
  13. package/src/scripts/Libraries/Drawer.js +22 -21
  14. package/src/scripts/Libraries/Form.js +8 -13
  15. package/src/scripts/Libraries/Naja.js +33 -0
  16. package/src/scripts/Libraries/ReCaptcha.js +14 -4
  17. package/src/scripts/Libraries/Ripple.js +6 -22
  18. package/src/scripts/Libraries/Script.js +1 -2
  19. package/src/scripts/Libraries/Slider.js +160 -0
  20. package/src/scripts/Libraries/Stimulus.js +0 -1
  21. package/src/scripts/Libraries/Swup.js +54 -38
  22. package/src/scripts/Libraries/Tippy.js +17 -20
  23. package/src/scripts/Ui/+.js +3 -3
  24. package/src/scripts/Ui/Check.js +8 -0
  25. package/src/scripts/Ui/Control.js +186 -0
  26. package/src/scripts/Ui/ControlSelect.js +24 -0
  27. package/src/scripts/Ui/Text.js +8 -10
  28. package/src/scripts/Utils/Functions/+.js +3 -3
  29. package/src/scripts/Utils/Functions/importScript.js +1 -1
  30. package/src/scripts/Utils/Functions/importStyle.js +1 -1
  31. package/src/scripts/Utils/Functions/inputStep.js +9 -0
  32. package/src/scripts/Utils/Functions/inputValidity.js +57 -0
  33. package/src/scripts/Utils/Functions/loadStimulus.js +12 -9
  34. package/src/scripts/Utils/Functions/replaceScript.js +4 -0
  35. package/src/scripts/Utils/Functions/replaceTag.js +1 -5
  36. package/src/scripts/Utils/cdn.js +2 -3
  37. package/src/scripts/Utils/global.js +1 -1
  38. package/src/styles/Components/+.css +1 -1
  39. package/src/styles/Components/CookieConsent.css +22 -25
  40. package/src/styles/Components/Dialog/Default.css +10 -62
  41. package/src/styles/Components/Dropdown/Default.css +6 -3
  42. package/src/styles/Components/Field.css +1 -0
  43. package/src/styles/Layout/Header.css +13 -17
  44. package/src/styles/Layout/Main.css +8 -91
  45. package/src/styles/Layout/Nav.css +31 -27
  46. package/src/styles/Libraries/+.css +1 -2
  47. package/src/styles/Libraries/Datepicker.css +38 -229
  48. package/src/styles/Libraries/Dialog.css +1 -19
  49. package/src/styles/Libraries/Drawer.css +17 -29
  50. package/src/styles/Libraries/Hint.css +86 -101
  51. package/src/styles/Libraries/Pickr.css +13 -0
  52. package/src/styles/Libraries/Ripple.css +1 -29
  53. package/src/styles/Libraries/Tippy.css +25 -39
  54. package/src/styles/Ui/+.css +6 -5
  55. package/src/styles/Ui/Badge.css +7 -82
  56. package/src/styles/Ui/Btn.css +13 -226
  57. package/src/styles/Ui/Check.css +1 -0
  58. package/src/styles/Ui/Control.css +47 -0
  59. package/src/styles/Ui/ControlSelect.css +66 -0
  60. package/src/styles/Ui/Dot.css +22 -0
  61. package/src/styles/Ui/Group.css +1 -0
  62. package/src/styles/Ui/Heading.css +3 -22
  63. package/src/styles/Ui/Image.css +1 -17
  64. package/src/styles/Ui/Info.css +1 -0
  65. package/src/styles/Ui/Label.css +1 -14
  66. package/src/styles/Ui/Link.css +2 -41
  67. package/src/styles/Ui/Notice.css +1 -47
  68. package/src/styles/Ui/Progress.css +1 -56
  69. package/src/styles/Ui/Switch.css +1 -70
  70. package/src/styles/Ui/Text.css +4 -245
  71. package/src/styles/Ui/Title.css +5 -13
  72. package/src/styles/Utils/+.css +3 -4
  73. package/src/styles/Utils/breakpoints.css +1 -0
  74. package/src/styles/Utils/config.css +5 -0
  75. package/src/styles/Utils/default.css +8 -122
  76. package/src/styles/Utils/icons.css +3 -7
  77. package/src/styles/Utils/keyframes.css +1 -182
  78. package/src/styles/Utils/{tailwind/base.css → tailwind.css} +31 -21
  79. package/src/styles/Utils/theme/+.css +1 -1
  80. package/src/styles/Utils/theme/main.css +14 -23
  81. package/src/styles/main.css +19 -15
  82. package/src/styles/tinymce.css +34 -0
  83. package/src/templates/Components/CookieConsent.latte +28 -0
  84. package/src/templates/Components/Dialogs/Basic.latte +22 -0
  85. package/src/templates/Layout/{Header.twig → Header.latte} +15 -17
  86. package/src/templates/Layout/Main.latte +62 -0
  87. package/src/templates/Sections/Gdpr.latte +127 -0
  88. package/src/templates/Sections/Site.latte +141 -0
  89. package/src/templates/Sections/Ui/Docs/@intro.html +13 -62
  90. package/src/templates/Sections/Ui/Docs/@nav.html +41 -92
  91. package/src/templates/Sections/Ui/Docs/@styles.html +2 -6
  92. package/src/templates/Sections/Ui/Docs/Default.latte +1059 -0
  93. package/src/templates/Sections/Ui/Icons.html +11 -9
  94. package/src/templates/Sections/Ui/Intro.html +66 -37
  95. package/src/templates/Sections/Ui.latte +8 -0
  96. package/src/templates/Ui/+.latte +5 -0
  97. package/src/templates/Ui/Check.latte +7 -0
  98. package/src/templates/Ui/Control.latte +9 -0
  99. package/src/templates/Ui/ControlDate.latte +14 -0
  100. package/src/templates/Ui/ControlSelect.latte +9 -0
  101. package/src/templates/Ui/ControlTime.latte +14 -0
  102. package/src/templates/Utils/sections.latte +3 -0
  103. package/src/views/dialog/basic.json.latte +5 -0
  104. package/src/views/dropdown/{tippy.json.twig → tippy.json.latte} +7 -4
  105. package/src/views/email/email.latte +6 -0
  106. package/src/views/email/email.test.latte +6 -0
  107. package/src/views/gdpr.json +1 -1
  108. package/src/views/index.json +1 -1
  109. package/src/views/site.json +11 -0
  110. package/src/views/ui-icons.json +1 -1
  111. package/src/views/ui.json +1 -1
  112. package/vite.config.js +16 -6
  113. package/.eslintrc +0 -13
  114. package/.stylelintrc +0 -18
  115. package/public/sw.js +0 -30
  116. package/src/emails/email.prod.html +0 -6
  117. package/src/emails/email.twig.html +0 -6
  118. package/src/scripts/Libraries/Anchor.js +0 -35
  119. package/src/scripts/Libraries/NativeSlider.js +0 -138
  120. package/src/scripts/Libraries/Tabs.js +0 -16
  121. package/src/scripts/Ui/Checkbox.js +0 -10
  122. package/src/scripts/Ui/Input.js +0 -259
  123. package/src/scripts/Ui/Select.js +0 -53
  124. package/src/scripts/Utils/Functions/checkValidity.js +0 -44
  125. package/src/scripts/Utils/Functions/dataValue.js +0 -52
  126. package/src/scripts/Utils/Functions/inView.js +0 -24
  127. package/src/styles/Components/Form/+.css +0 -1
  128. package/src/styles/Components/Form/CookieConsent.css +0 -31
  129. package/src/styles/Libraries/NativeSlider.css +0 -60
  130. package/src/styles/Libraries/Tabs.css +0 -19
  131. package/src/styles/Ui/Checkbox.css +0 -151
  132. package/src/styles/Ui/Icon.css +0 -33
  133. package/src/styles/Ui/Input.css +0 -467
  134. package/src/styles/Ui/Radio.css +0 -4
  135. package/src/styles/Ui/Select.css +0 -137
  136. package/src/styles/Utils/normalize.css +0 -223
  137. package/src/styles/Utils/tailwind/+.css +0 -2
  138. package/src/styles/Utils/tailwind/gutters.css +0 -346
  139. package/src/styles/Utils/vars.css +0 -126
  140. package/src/styles/Utils/vendor.css +0 -1
  141. package/src/templates/Components/CookieConsent.twig +0 -30
  142. package/src/templates/Components/Dialogs/Basic.twig +0 -24
  143. package/src/templates/Layout/Main.twig +0 -49
  144. package/src/templates/Sections/Gdpr.twig +0 -64
  145. package/src/templates/Sections/Ui/Docs/Default.twig +0 -1600
  146. package/src/templates/Sections/Ui.twig +0 -8
  147. package/src/templates/Utils/sections.twig +0 -3
  148. package/src/views/dialog/basic.json.twig +0 -3
  149. package/tailwind.config.cjs +0 -69
  150. /package/src/emails/{templates.prod → templates}/.gitkeep +0 -0
  151. /package/src/templates/Layout/{Footer.twig → Footer.latte} +0 -0
@@ -1,249 +1,8 @@
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
-
7
- font-weight: var(--ui-text-weight);
8
- font-size: var(--ui-text-size);
9
- line-height: calc(var(--ui-text-size) + var(--ui-text-size-line));
10
-
11
- &:--size-base {
12
- --ui-text-size: 1rem;
13
- }
14
-
15
- &:--size-lg {
16
- --ui-text-size: 1.125rem;
17
- }
18
-
19
- & a {
20
- text-decoration: underline;
21
- transition: var(--transition-opacity);
22
-
23
- &:not([class*="text-"]) {
24
- color: rgb(var(--color-accent));
25
-
26
- @nest .no-touch &[href]:is(:hover, :focus-visible) {
27
- opacity: 0.8;
28
- }
29
- }
30
- }
31
-
32
- & b, & strong {
33
- font-weight: var(--ui-text-weight-bold);
34
- }
35
-
36
- & i, & em {
37
- display: inline;
38
- font-style: italic;
39
- }
40
-
41
- & figure {
42
- margin: 1rem 0;
43
-
44
- @media (--media-t) {
45
- margin: 2rem 0;
46
- }
47
-
48
- & figcaption {
49
- font-size: 0.875rem;
50
- font-weight: var(--font-semibold);
51
- margin-top: 0.875rem;
52
- }
53
- }
54
-
55
- & img {
56
- max-width: 100%;
57
- height: auto !important;
58
-
59
- @media (--media-m) {
60
- display: block;
61
- float: none !important;
62
- }
63
-
64
- @media (--media-t) {
65
- &[style*="right"], &.float-right {
66
- margin: 0 0 2rem 4rem;
67
- }
68
-
69
- &[style*="left"], &.float-left {
70
- margin: 0 2rem 4rem 0;
71
- }
72
- }
73
- }
74
-
75
- & p {
76
- line-height: inherit;
77
- margin: 0 0 0.25rem;
78
-
79
- &:empty {
80
- line-height: 1rem;
81
- }
82
-
83
- &::after {
84
- content: "\00a0";
85
- }
86
- }
87
-
88
- & hr {
89
- margin: 1.25rem 0;
90
- }
91
-
92
- & :is(h1, h2, h3, h4, h5, h6) {
93
- font-weight: var(--ui-text-weight-bold);
94
- font-family: var(--font-secondary);
95
- font-size: var(--ui-text-heading-size, 1rem);
96
- line-height: calc(var(--ui-text-heading-size) + 0.5rem);
97
- margin: 0 0 1.25rem;
98
- }
99
-
100
- & h1 {
101
- --ui-text-heading-size: 2.25rem;
102
- }
1
+ @import "winduum/src/ui/text.css";
103
2
 
104
- & h2 {
105
- --ui-text-heading-size: 1.75rem;
106
- }
107
-
108
- & h3, & h4 {
109
- --ui-text-heading-size: 1.25rem;
110
- }
111
-
112
- & table {
113
- border: 0;
114
-
115
- @media (--media-m) {
116
- min-width: 100%;
117
- }
118
-
119
- & td, & th {
120
- padding: 1rem 1.125rem;
121
- text-align: left;
122
- }
123
-
124
- & thead {
125
- font-weight: var(--ui-text-weight-bold);
126
- border-bottom: 1px solid rgb(var(--color-current) / 0.075);
127
- }
128
-
129
- & tbody {
130
- & tr {
131
- &:nth-of-type(even) {
132
- background-color: rgb(var(--color-current) / 0.05);
133
- }
134
- }
135
- }
136
- }
137
-
138
- & iframe {
3
+ .ui-text {
4
+ .c_text_table {
139
5
  max-width: 100%;
140
- }
141
-
142
- & blockquote {
143
- background-color: rgb(var(--color-current) / 0.075);
144
- border-left: 0.3125rem solid rgb(var(--color-accent) / 1);
145
- padding: 1.25em 1.5em;
146
- margin: 0;
147
- font-size: inherit;
148
- }
149
-
150
- & code {
151
- margin: 0;
152
- border-radius: var(--radius);
153
- padding: 0.25rem 0.5rem;
154
- font-size: 0.85em;
155
- color: #476582;
156
- font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
157
- background-color: rgb(27 31 35 / 0.05);
158
-
159
- @nest .dark & {
160
- background-color: rgb(var(--color-background-100));
161
- color: rgb(var(--color-primary));
162
- }
163
- }
164
-
165
- & ol {
166
- margin: 0 0 1.5rem;
167
- padding: 0 0 0 1rem;
168
-
169
- & li {
170
- padding-left: 0.5rem;
171
-
172
- &::marker {
173
- color: rgb(var(--color-accent));
174
- }
175
- }
176
- }
177
-
178
- & ul {
179
- list-style-type: none !important;
180
- margin: 0 0 1.5rem;
181
- padding: 0;
182
-
183
- & li {
184
- position: relative;
185
- line-height: inherit;
186
- padding-left: 1.5rem;
187
-
188
- &:not(:last-of-type) {
189
- margin: 0 0 0.5rem;
190
- }
191
-
192
- &::before {
193
- width: 0.25rem;
194
- height: 0.25rem;
195
- position: absolute;
196
- content: "";
197
- border: 1px solid rgb(var(--color-accent));
198
- background-color: rgb(var(--color-accent));
199
- left: 0;
200
- top: 0.625rem;
201
- text-indent: 0;
202
- border-radius: 50%;
203
- }
204
- }
205
-
206
- &[style*="square"] {
207
- & li {
208
- &::before {
209
- border-radius: 0;
210
- }
211
- }
212
- }
213
-
214
- &[style*="circle"] {
215
- & li {
216
- &::before {
217
- border-radius: 50%;
218
- background-color: transparent;
219
- }
220
- }
221
- }
222
- }
223
-
224
- & .elm_text_table {
225
- display: block;
226
-
227
- @media (--media-m) {
228
- max-width: 100%;
229
- overflow: auto;
230
- }
231
- }
232
-
233
- & .elm_text_video {
234
- aspect-ratio: 16/9;
235
- position: relative;
236
-
237
- &::before {
238
- content: "";
239
- display: block;
240
- }
241
-
242
- & iframe {
243
- position: absolute;
244
- inset: 0;
245
- width: 100%;
246
- height: 100%;
247
- }
6
+ overflow-x: auto;
248
7
  }
249
8
  }
@@ -1,15 +1,7 @@
1
- .ui-title {
2
- --ui-title-size: 0.875rem;
3
- --ui-title-size-line: 0.25rem;
4
- --ui-title-spacing: 0.05rem;
5
- --ui-title-weight: var(--font-semibold);
6
-
7
- display: block;
8
- font-size: var(--ui-title-size);
9
- line-height: calc(var(--ui-title-size) + var(--ui-title-size-line));
10
- font-weight: var(--ui-title-weight);
1
+ @import "winduum/src/ui/title/default.css";
2
+ @import "winduum/src/ui/title/sm.css";
3
+ @import "winduum/src/ui/title/lg.css";
11
4
 
12
- &[class*="uppercase"] {
13
- letter-spacing: var(--ui-title-spacing);
14
- }
5
+ .ui-title {
6
+ max-width: max-content;
15
7
  }
@@ -1,9 +1,8 @@
1
+ @import "breakpoints.css";
2
+ @import "config.css";
1
3
  @import "default.css";
2
4
  @import "icons.css";
3
5
  @import "keyframes.css";
4
- @import "normalize.css";
5
6
  @import "print.css";
6
- @import "tailwind/+.css";
7
+ @import "tailwind.css";
7
8
  @import "theme/+.css";
8
- @import "vars.css";
9
- @import "vendor.css";
@@ -0,0 +1 @@
1
+ @import "winduum/src/base/breakpoints.css";
@@ -0,0 +1,5 @@
1
+ @import "winduum/src/base/config.css";
2
+
3
+ :root {
4
+ --spacing-section: 3rem;
5
+ }
@@ -1,133 +1,19 @@
1
- ::selection {
2
- color: rgb(var(--color-light));
3
- background-color: rgb(var(--color-accent));
4
- }
5
-
6
- ul, ol {
7
- padding: 0;
8
- margin: 0;
9
- }
10
-
11
- ul {
12
- list-style: none;
13
- }
14
-
15
- blockquote,
16
- dl,
17
- dd,
18
- h1,
19
- h2,
20
- h3,
21
- h4,
22
- h5,
23
- h6,
24
- hr,
25
- figure,
26
- p,
27
- pre {
28
- margin: 0;
29
- }
1
+ @import "winduum/src/base/default.css";
30
2
 
31
- img,
32
- svg,
33
- video,
34
- canvas,
35
- audio,
36
- iframe,
37
- embed,
38
- object {
3
+ :where(svg) {
39
4
  display: block;
40
- vertical-align: middle;
41
5
  }
42
6
 
43
- a, area, button, input, label, select, summary, textarea, [tabindex] {
44
- touch-action: manipulation;
7
+ :where(use) {
8
+ stroke-width: 2;
45
9
  }
46
10
 
47
- hr {
48
- width: 100%;
49
- height: 1px;
11
+ :where(img) {
50
12
  display: block;
51
- border: 0;
52
- color: inherit;
53
- border-top: 1px solid rgb(var(--color-current));
54
- opacity: 0.2;
55
- margin: 1rem 0;
56
- padding: 0;
57
- }
58
-
59
- picture {
60
- display: block;
61
- }
62
-
63
- fieldset {
64
- border: 0;
65
- margin: 0;
66
- padding: 0;
13
+ font-size: 0;
67
14
  }
68
15
 
69
- button {
70
- appearance: none;
71
- background: transparent;
72
- border: 0;
16
+ :where(ol:not([type]), ul, menu) {
73
17
  padding: 0;
74
- cursor: pointer;
75
- color: inherit;
76
- font-size: 1rem;
77
- }
78
-
79
- textarea {
80
- resize: vertical;
81
- }
82
-
83
- table {
84
- border-collapse: collapse;
85
- border-spacing: 0;
86
- }
87
-
88
- svg[class^="icon"] {
89
- width: 1em;
90
- height: 1em;
91
- }
92
-
93
- a {
94
- color: inherit;
95
- text-decoration: none;
96
-
97
- &:active,
98
- &:hover {
99
- outline-width: 0;
100
- }
101
- }
102
-
103
- * {
104
- box-sizing: border-box;
105
- outline: none;
106
- -webkit-tap-highlight-color: rgb(255 255 255 / 0);
107
- }
108
-
109
- *,
110
- ::before,
111
- ::after {
112
- border-width: 0;
113
- border-style: solid;
114
- border-color: rgb(var(--color-current) / var(--tw-text-opacity, 1));
115
- }
116
-
117
- [hidden] {
118
- display: none;
119
- }
120
-
121
- @supports (-moz-appearance: none) {
122
- select {
123
- text-indent: -0.125rem;
124
- }
125
- }
126
-
127
- .grecaptcha-badge {
128
- display: none;
129
- }
130
-
131
- .google-map * {
132
- border-style: none;
18
+ margin: 0;
133
19
  }
@@ -1,9 +1,5 @@
1
+ @import "winduum/src/base/icons.css";
2
+
1
3
  :root {
2
- --icon-check: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" /></svg>') no-repeat 50% 50% / contain;
3
- --icon-radio: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 160c-53.019 0-96 42.981-96 96v0c0 53.019 42.981 96 96 96v0c53.019 0 96-42.981 96-96v0c0-53.019-42.981-96-96-96z"></path></svg>') no-repeat 50% 50% / contain;
4
- --icon-chevron-right: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" /></svg>') no-repeat 50% 50% / contain;
5
- --icon-chevron-left: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7" /></svg>') no-repeat 50% 50% / contain;
6
- --icon-angle-up: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" stroke="currentColor"><path d="M10.998 15.467c.491.71 1.513.71 2.004 0l3.767-5.453c.581-.843 0-2.013-1.002-2.014H8.234C7.232 8 6.65 9.17 7.231 10.014z" style="transform: scaleY(-1) translateY(1px); transform-origin: 50% 50%;" /></svg>') no-repeat 50% 50% / contain;
7
- --icon-angle-down: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" stroke="currentColor"><path d="M10.998 15.467c.491.71 1.513.71 2.004 0l3.767-5.453c.581-.843 0-2.013-1.002-2.014H8.234C7.232 8 6.65 9.17 7.231 10.014z" /></svg>') no-repeat 50% 50% / contain;
8
- --icon-upload: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12" /></svg>') no-repeat 50% 50% / contain;
4
+ --icon-x-mark: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg>') no-repeat 50% 50% / contain;
9
5
  }
@@ -1,182 +1 @@
1
- @keyframes spin {
2
- 0% {
3
- transform: rotate(0deg);
4
- }
5
-
6
- 100% {
7
- transform: rotate(360deg);
8
- }
9
- }
10
-
11
- @keyframes move-indeterminate {
12
- from {
13
- background-position: 200% 0;
14
- }
15
-
16
- to {
17
- background-position: -200% 0;
18
- }
19
- }
20
-
21
- @keyframes fade-in-left {
22
- from {
23
- opacity: 0;
24
- transform: translateX(-5rem);
25
- }
26
-
27
- to {
28
- opacity: 1;
29
- transform: none;
30
- }
31
- }
32
-
33
- @keyframes fade-in-right {
34
- from {
35
- opacity: 0;
36
- transform: translateX(5rem);
37
- }
38
-
39
- to {
40
- opacity: 1;
41
- transform: none;
42
- }
43
- }
44
-
45
- @keyframes fade-in-up {
46
- 0% {
47
- opacity: 0;
48
- transform: translateY(2rem);
49
- }
50
-
51
- 100% {
52
- opacity: 1;
53
- transform: translateY(0);
54
- }
55
- }
56
-
57
- @keyframes fade-in-down {
58
- 0% {
59
- opacity: 0;
60
- transform: translateY(-2rem);
61
- }
62
-
63
- 100% {
64
- opacity: 1;
65
- transform: translateY(0);
66
- }
67
- }
68
-
69
- @keyframes fade-out-left {
70
- from {
71
- opacity: 1;
72
- transform: none;
73
- }
74
-
75
- to {
76
- opacity: 0;
77
- transform: translateX(-5rem);
78
- }
79
- }
80
-
81
- @keyframes fade-out-right {
82
- from {
83
- opacity: 1;
84
- transform: none;
85
- }
86
-
87
- to {
88
- opacity: 0;
89
- transform: translateX(5rem);
90
- }
91
- }
92
-
93
- @keyframes fade-out-up {
94
- 0% {
95
- opacity: 1;
96
- transform: translateY(0);
97
- }
98
-
99
- 100% {
100
- opacity: 0;
101
- transform: translateY(-2rem);
102
- }
103
- }
104
-
105
- @keyframes fade-out-down {
106
- 0% {
107
- opacity: 1;
108
- transform: translateY(0);
109
- }
110
-
111
- 100% {
112
- opacity: 0;
113
- transform: translateY(2rem);
114
- }
115
- }
116
-
117
- @keyframes fade-in {
118
- from {
119
- opacity: 0;
120
- }
121
-
122
- to {
123
- opacity: 1;
124
- }
125
- }
126
-
127
- @keyframes fade-out {
128
- from {
129
- opacity: 1;
130
- }
131
-
132
- to {
133
- opacity: 0;
134
- }
135
- }
136
-
137
- @keyframes slide-in-down {
138
- 0% {
139
- transform: translateY(-100%);
140
- }
141
-
142
- 100% {
143
- transform: translateY(0);
144
- }
145
- }
146
-
147
- @keyframes slide-out-up {
148
- 0% {
149
- transform: translateY(0);
150
- }
151
-
152
- 100% {
153
- transform: translateY(-100%);
154
- }
155
- }
156
-
157
- @keyframes slide-in-up {
158
- 0% {
159
- transform: translateY(100%);
160
- }
161
-
162
- 100% {
163
- transform: translateY(0);
164
- }
165
- }
166
-
167
- @keyframes slide-out-down {
168
- 0% {
169
- transform: translateY(0);
170
- }
171
-
172
- 100% {
173
- transform: translateY(100%);
174
- }
175
- }
176
-
177
- @keyframes ripple {
178
- 100% {
179
- transform: scale(2.5);
180
- opacity: 0;
181
- }
182
- }
1
+ @import "winduum/src/base/keyframes.css";
@@ -1,24 +1,8 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
1
+ @import "winduum/src/base/tailwind/utilities.css";
2
+ @import "winduum/src/base/tailwind/gutters.css";
4
3
 
5
4
  @layer utilities {
6
- .current {
7
- background-color: currentColor;
8
- color: currentColor;
9
- }
10
-
11
- .animation {
12
- animation-duration: 0.5s;
13
- animation-fill-mode: both;
14
- }
15
-
16
5
  .slider {
17
- margin-left: calc(var(--container-padding-calc) * -1);
18
- margin-right: calc(var(--container-padding-calc) * -1);
19
- padding-left: var(--container-padding-calc);
20
- scroll-padding-left: var(--container-padding-calc);
21
- scroll-padding-right: var(--container-padding-calc);
22
6
  overflow-x: auto;
23
7
  overflow-y: hidden;
24
8
  -webkit-overflow-scrolling: touch;
@@ -27,14 +11,40 @@
27
11
  -ms-overflow-style: none;
28
12
  display: flex;
29
13
 
14
+ &:not(.is-fade, .is-grabbing) {
15
+ scroll-behavior: smooth;
16
+ scroll-snap-type: x mandatory;
17
+ }
18
+
19
+ &::-webkit-scrollbar {
20
+ display: none;
21
+ }
22
+
30
23
  & > * {
31
24
  flex: 0 0 auto;
32
25
  scroll-snap-align: start;
26
+ }
27
+
28
+ &.is-grabbing {
29
+ &, & * {
30
+ cursor: grabbing;
31
+ }
33
32
 
34
- &:last-child {
35
- box-sizing: content-box;
36
- border-right: var(--container-padding-calc) solid transparent;
33
+ & a {
34
+ pointer-events: none;
37
35
  }
38
36
  }
39
37
  }
38
+
39
+ .slider-edge-x {
40
+ margin-left: calc(var(--container-padding-calc) * -1);
41
+ margin-right: calc(var(--container-padding-calc) * -1);
42
+ padding-left: var(--container-padding-calc);
43
+ scroll-padding-left: var(--container-padding-calc);
44
+ scroll-padding-right: var(--container-padding-calc);
45
+
46
+ & > *:last-child {
47
+ margin-right: var(--container-padding-calc);
48
+ }
49
+ }
40
50
  }
@@ -1 +1 @@
1
- @import "main.css";
1
+ @import "main.css";