vanilla-jui 1.3.9 → 1.3.11

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 (76) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/index.umd.js +1 -1
  3. package/dist/style.css +1 -1
  4. package/package.json +3 -2
  5. package/src/components/accordion.js +373 -0
  6. package/src/components/components.js +0 -0
  7. package/src/components/drop.js +437 -0
  8. package/src/components/flow.js +1133 -0
  9. package/src/components/form.js +585 -0
  10. package/src/components/icons.js +83 -0
  11. package/src/components/menu.js +422 -0
  12. package/src/components/modal.js +1174 -0
  13. package/src/components/offcanvas.js +332 -0
  14. package/src/components/pagination.js +536 -0
  15. package/src/components/parabola.js +295 -0
  16. package/src/components/sticky.js +271 -0
  17. package/src/components/swiper.js +1123 -0
  18. package/src/components/tabs.js +746 -0
  19. package/src/components/theme.js +353 -0
  20. package/src/components/toast.js +329 -0
  21. package/src/components/toc.js +226 -0
  22. package/src/components/tooltip.js +86 -0
  23. package/src/components/validator.js +586 -0
  24. package/src/core/Component.js +248 -0
  25. package/src/css/accordion.css +72 -0
  26. package/src/css/animation.css +177 -0
  27. package/src/css/avatar.css +62 -0
  28. package/src/css/badge.css +66 -0
  29. package/src/css/breadcrumb.css +106 -0
  30. package/src/css/button.css +296 -0
  31. package/src/css/card.css +151 -0
  32. package/src/css/color.css +1163 -0
  33. package/src/css/color_p3.css +1172 -0
  34. package/src/css/components.css +26 -0
  35. package/src/css/content.css +716 -0
  36. package/src/css/divider.css +9 -0
  37. package/src/css/drop.css +28 -0
  38. package/src/css/flow.css +86 -0
  39. package/src/css/font.css +23 -0
  40. package/src/css/form.css +919 -0
  41. package/src/css/gradient.css +224 -0
  42. package/src/css/icon.css +63 -0
  43. package/src/css/index.css +12 -0
  44. package/src/css/layout.css +782 -0
  45. package/src/css/loading.css +38 -0
  46. package/src/css/menu.css +564 -0
  47. package/src/css/modal.css +94 -0
  48. package/src/css/offcanvas.css +104 -0
  49. package/src/css/pagination.css +25 -0
  50. package/src/css/popup.css +69 -0
  51. package/src/css/skeleton.css +76 -0
  52. package/src/css/status.css +56 -0
  53. package/src/css/swiper.css +160 -0
  54. package/src/css/table.css +52 -0
  55. package/src/css/tabs.css +95 -0
  56. package/src/css/tag.css +97 -0
  57. package/src/css/theme-palette.css +59 -0
  58. package/src/css/tip.css +84 -0
  59. package/src/css/toast.css +154 -0
  60. package/src/css/toc.css +38 -0
  61. package/src/css/tokens.css +1295 -0
  62. package/src/css/toolbar.css +115 -0
  63. package/src/css/tooltip.css +19 -0
  64. package/src/icons/index.js +30 -0
  65. package/src/index.js +45 -0
  66. package/src/locales/index.js +45 -0
  67. package/src/locales/index.min.js +1 -0
  68. package/src/utilities/browser.js +111 -0
  69. package/src/utilities/cache.js +159 -0
  70. package/src/utilities/core.js +502 -0
  71. package/src/utilities/debug.js +103 -0
  72. package/src/utilities/dom.js +313 -0
  73. package/src/utilities/events.js +69 -0
  74. package/src/utilities/http.js +30 -0
  75. package/src/utilities/legacy-dom.js +179 -0
  76. package/src/utilities/storage.js +46 -0
@@ -0,0 +1,224 @@
1
+ @layer gradient {
2
+
3
+ :root,
4
+ .light,
5
+ .light-theme,
6
+ .dark,
7
+ .dark-theme {
8
+ --gradient-card-border: var(--ui-border);
9
+ --gradient-card-shadow: var(--shadow-md);
10
+ }
11
+
12
+ .bg-gradient-sunrise,
13
+ .bg-gradient-aurora,
14
+ .bg-gradient-ocean,
15
+ .bg-gradient-meadow,
16
+ .bg-gradient-ember,
17
+ .bg-gradient-dusk,
18
+ .bg-gradient-gold,
19
+ .bg-gradient-forest {
20
+ color: var(--ui-fg);
21
+ background-color: var(--ui-bg);
22
+ }
23
+
24
+ .bg-gradient-auto {
25
+ background:
26
+ radial-gradient(circle at 16% 16%,
27
+ color-mix(in srgb, var(--tone-solid) 30%, transparent),
28
+ transparent 34%),
29
+ radial-gradient(circle at 84% 0%,
30
+ color-mix(in srgb, var(--tone-tint) 24%, transparent),
31
+ transparent 30%),
32
+ linear-gradient(135deg,
33
+ color-mix(in srgb, var(--ui-bg) 78%, var(--ui-surface-raised)),
34
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--tone-subtle)));
35
+ }
36
+
37
+ .bg-gradient-sunrise {
38
+ background:
39
+ radial-gradient(circle at 16% 16%,
40
+ color-mix(in srgb, var(--tone-solid) 30%, transparent),
41
+ transparent 34%),
42
+ radial-gradient(circle at 84% 0%,
43
+ color-mix(in srgb, var(--state-warning) 24%, transparent),
44
+ transparent 30%),
45
+ linear-gradient(135deg,
46
+ color-mix(in srgb, var(--ui-bg) 78%, var(--ui-surface-raised)),
47
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--tone-subtle)));
48
+ }
49
+
50
+ .bg-gradient-aurora {
51
+ background:
52
+ radial-gradient(circle at 12% 12%,
53
+ color-mix(in srgb, var(--state-info) 24%, transparent),
54
+ transparent 32%),
55
+ radial-gradient(circle at 84% 18%,
56
+ color-mix(in srgb, var(--state-success) 20%, transparent),
57
+ transparent 30%),
58
+ linear-gradient(135deg,
59
+ color-mix(in srgb, var(--ui-bg) 82%, var(--state-info-subtle)),
60
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--state-success-subtle)));
61
+ }
62
+
63
+ .bg-gradient-ocean {
64
+ background:
65
+ radial-gradient(circle at 22% 12%,
66
+ color-mix(in srgb, var(--state-info) 28%, transparent),
67
+ transparent 34%),
68
+ radial-gradient(circle at 78% 0%,
69
+ color-mix(in srgb, var(--ui-blue) 22%, transparent),
70
+ transparent 28%),
71
+ linear-gradient(135deg,
72
+ color-mix(in srgb, var(--ui-bg) 76%, var(--ui-blue-tint)),
73
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--ui-teal-subtle, var(--state-info-subtle))));
74
+ }
75
+
76
+ .bg-gradient-meadow {
77
+ background:
78
+ radial-gradient(circle at 18% 16%,
79
+ color-mix(in srgb, var(--state-success) 28%, transparent),
80
+ transparent 34%),
81
+ radial-gradient(circle at 82% 14%,
82
+ color-mix(in srgb, var(--ui-mint) 24%, transparent),
83
+ transparent 30%),
84
+ linear-gradient(135deg,
85
+ color-mix(in srgb, var(--ui-bg) 80%, var(--state-success-subtle)),
86
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--ui-mint-tint)));
87
+ }
88
+
89
+ .bg-gradient-ember {
90
+ background:
91
+ radial-gradient(circle at 18% 10%,
92
+ color-mix(in srgb, var(--state-warning) 30%, transparent),
93
+ transparent 32%),
94
+ radial-gradient(circle at 84% 18%,
95
+ color-mix(in srgb, var(--state-danger) 22%, transparent),
96
+ transparent 28%),
97
+ linear-gradient(135deg,
98
+ color-mix(in srgb, var(--ui-bg) 80%, var(--state-warning-subtle)),
99
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--state-danger-subtle)));
100
+ }
101
+
102
+ .bg-gradient-dusk {
103
+ background:
104
+ radial-gradient(circle at 18% 16%,
105
+ color-mix(in srgb, var(--tone-solid) 28%, transparent),
106
+ transparent 33%),
107
+ radial-gradient(circle at 82% 14%,
108
+ color-mix(in srgb, var(--ui-violet) 22%, transparent),
109
+ transparent 30%),
110
+ linear-gradient(135deg,
111
+ color-mix(in srgb, var(--ui-bg) 78%, var(--tone-wash)),
112
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--ui-violet-subtle, var(--tone-subtle))));
113
+ }
114
+
115
+ .bg-gradient-gold {
116
+ background:
117
+ radial-gradient(circle at 20% 16%,
118
+ color-mix(in srgb, var(--ui-gold) 24%, transparent),
119
+ transparent 34%),
120
+ radial-gradient(circle at 80% 10%,
121
+ color-mix(in srgb, var(--state-warning) 18%, transparent),
122
+ transparent 28%),
123
+ linear-gradient(135deg,
124
+ color-mix(in srgb, var(--ui-bg) 80%, var(--ui-gold-surface, var(--state-warning-subtle))),
125
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--ui-gold-tint)));
126
+ }
127
+
128
+ .bg-gradient-forest {
129
+ background:
130
+ radial-gradient(circle at 16% 16%,
131
+ color-mix(in srgb, var(--ui-olive) 24%, transparent),
132
+ transparent 34%),
133
+ radial-gradient(circle at 84% 14%,
134
+ color-mix(in srgb, var(--state-success) 18%, transparent),
135
+ transparent 30%),
136
+ linear-gradient(135deg,
137
+ color-mix(in srgb, var(--ui-bg) 80%, var(--ui-olive-tint)),
138
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--state-success-subtle)));
139
+ }
140
+
141
+ .gradient-grid {
142
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
143
+ }
144
+
145
+ .gradient-card {
146
+ display: grid;
147
+ gap: 12px;
148
+ padding: 16px;
149
+ border-radius: 22px;
150
+ border: 1px solid var(--gradient-card-border);
151
+ background: var(--ui-surface-raised);
152
+ box-shadow: var(--gradient-card-shadow);
153
+ overflow: hidden;
154
+ }
155
+
156
+ .gradient-preview {
157
+ min-height: 150px;
158
+ display: grid;
159
+ align-content: space-between;
160
+ gap: 12px;
161
+ padding: 16px;
162
+ border-radius: 18px;
163
+ border: 1px solid var(--ui-border-subtle);
164
+ color: var(--ui-fg);
165
+ }
166
+
167
+ .gradient-preview-title {
168
+ display: inline-flex;
169
+ width: fit-content;
170
+ align-items: center;
171
+ padding: 0.38rem 0.64rem;
172
+ border-radius: 9999px;
173
+ background: color-mix(in srgb, var(--ui-surface-raised) 72%, transparent);
174
+ border: 1px solid color-mix(in srgb, var(--ui-border) 60%, transparent);
175
+ font-size: 0.76rem;
176
+ font-weight: 700;
177
+ letter-spacing: 0.08em;
178
+ text-transform: uppercase;
179
+ }
180
+
181
+ .gradient-preview-token {
182
+ font-size: 0.82rem;
183
+ font-weight: 700;
184
+ letter-spacing: 0.04em;
185
+ color: color-mix(in srgb, var(--ui-fg) 78%, transparent);
186
+ }
187
+
188
+ .gradient-card h3 {
189
+ margin: 0;
190
+ font-size: 1.02rem;
191
+ }
192
+
193
+ .gradient-card p {
194
+ margin: 0;
195
+ line-height: 1.65;
196
+ color: var(--ui-fg-muted);
197
+ }
198
+
199
+ .gradient-note {
200
+ padding: 0.82rem 0.9rem;
201
+ border-radius: 14px;
202
+ border: 1px solid var(--ui-border-subtle);
203
+ background: var(--ui-surface-subtle);
204
+ }
205
+
206
+ .gradient-meta {
207
+ display: flex;
208
+ flex-wrap: wrap;
209
+ gap: 8px;
210
+ }
211
+
212
+ .gradient-pill {
213
+ display: inline-flex;
214
+ align-items: center;
215
+ gap: 0.35rem;
216
+ padding: 0.34rem 0.6rem;
217
+ border-radius: 9999px;
218
+ border: 1px solid var(--ui-border-subtle);
219
+ background: var(--ui-surface-subtle);
220
+ color: var(--ui-fg-soft);
221
+ font-size: 0.76rem;
222
+ font-weight: 700;
223
+ }
224
+ }
@@ -0,0 +1,63 @@
1
+ @layer icon {
2
+ svg {
3
+ display: block;
4
+ }
5
+
6
+ /* loader icon */
7
+ .icon-loader {
8
+ display: inline-block;
9
+ width: var(--font-size-xl);
10
+ height: var(--font-size-xl);
11
+ border: 1px solid currentcolor;
12
+ border-right-color: transparent;
13
+ border-radius: 50%;
14
+ animation: var(--speed-xl) linear infinite animate-spin;
15
+ }
16
+
17
+ /* close icon */
18
+ .icon-close {
19
+ box-sizing: border-box;
20
+ position: relative;
21
+ display: block;
22
+ transform: scale(1);
23
+ width: var(--font-size-xl);
24
+ height: var(--font-size-xl);
25
+ border: 1px solid;
26
+ border-radius: 50%;
27
+ color: inherit;
28
+ cursor: pointer;
29
+ }
30
+ .icon-close::after,
31
+ .icon-close::before {
32
+ content: "";
33
+ position: absolute;
34
+ box-sizing: border-box;
35
+ top: 50%;
36
+ left: 50%;
37
+ width: 12px;
38
+ height: 2px;
39
+ background: currentColor;
40
+ border-radius: 1px;
41
+ transform-origin: center center;
42
+ }
43
+ .icon-close::before {
44
+ transform: translate(-50%, -50%) rotate(45deg);
45
+ }
46
+ .icon-close::after {
47
+ transform: translate(-50%, -50%) rotate(-45deg);
48
+ }
49
+ .icon-close:active {
50
+ transform: translateY(1px);
51
+ }
52
+ .icon-close:focus-within {
53
+ background-color: var(--tone-subtle);
54
+ }
55
+
56
+ /* icon element status */
57
+ .el-icon[data-action-close] {
58
+ cursor: pointer;
59
+ }
60
+ .el-icon[data-action-close]:active {
61
+ transform: scale(0.85);
62
+ }
63
+ }
@@ -0,0 +1,12 @@
1
+ @layer config, layout, content, icon, font, components, menu, form, animation, status;
2
+
3
+ @import url('./tokens.css');
4
+ /* @import url('./gradient.css'); */
5
+ @import url('./layout.css');
6
+ @import url('./icon.css');
7
+ @import url('./font.css');
8
+ @import url('./components.css');
9
+ @import url('./form.css');
10
+ @import url('./content.css');
11
+ @import url('./animation.css');
12
+ @import url('./status.css');