vanilla-jui 1.3.8 → 1.3.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 (77) 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 +1176 -0
  33. package/src/css/color_p3.css +1184 -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 +211 -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 +111 -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 +98 -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/toast.min.css +1 -0
  61. package/src/css/toc.css +38 -0
  62. package/src/css/tokens.css +1324 -0
  63. package/src/css/toolbar.css +115 -0
  64. package/src/css/tooltip.css +19 -0
  65. package/src/icons/index.js +30 -0
  66. package/src/index.js +45 -0
  67. package/src/locales/index.js +45 -0
  68. package/src/locales/index.min.js +1 -0
  69. package/src/utilities/browser.js +111 -0
  70. package/src/utilities/cache.js +159 -0
  71. package/src/utilities/core.js +502 -0
  72. package/src/utilities/debug.js +103 -0
  73. package/src/utilities/dom.js +313 -0
  74. package/src/utilities/events.js +69 -0
  75. package/src/utilities/http.js +30 -0
  76. package/src/utilities/legacy-dom.js +179 -0
  77. package/src/utilities/storage.js +46 -0
@@ -0,0 +1,211 @@
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-sunrise {
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(--state-warning) 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-aurora {
38
+ background:
39
+ radial-gradient(circle at 12% 12%,
40
+ color-mix(in srgb, var(--state-info) 24%, transparent),
41
+ transparent 32%),
42
+ radial-gradient(circle at 84% 18%,
43
+ color-mix(in srgb, var(--state-success) 20%, transparent),
44
+ transparent 30%),
45
+ linear-gradient(135deg,
46
+ color-mix(in srgb, var(--ui-bg) 82%, var(--state-info-subtle)),
47
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--state-success-subtle)));
48
+ }
49
+
50
+ .bg-gradient-ocean {
51
+ background:
52
+ radial-gradient(circle at 22% 12%,
53
+ color-mix(in srgb, var(--state-info) 28%, transparent),
54
+ transparent 34%),
55
+ radial-gradient(circle at 78% 0%,
56
+ color-mix(in srgb, var(--ui-blue) 22%, transparent),
57
+ transparent 28%),
58
+ linear-gradient(135deg,
59
+ color-mix(in srgb, var(--ui-bg) 76%, var(--ui-blue-light)),
60
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--ui-teal-subtle, var(--state-info-subtle))));
61
+ }
62
+
63
+ .bg-gradient-meadow {
64
+ background:
65
+ radial-gradient(circle at 18% 16%,
66
+ color-mix(in srgb, var(--state-success) 28%, transparent),
67
+ transparent 34%),
68
+ radial-gradient(circle at 82% 14%,
69
+ color-mix(in srgb, var(--ui-mint) 24%, transparent),
70
+ transparent 30%),
71
+ linear-gradient(135deg,
72
+ color-mix(in srgb, var(--ui-bg) 80%, var(--state-success-subtle)),
73
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--ui-mint-light)));
74
+ }
75
+
76
+ .bg-gradient-ember {
77
+ background:
78
+ radial-gradient(circle at 18% 10%,
79
+ color-mix(in srgb, var(--state-warning) 30%, transparent),
80
+ transparent 32%),
81
+ radial-gradient(circle at 84% 18%,
82
+ color-mix(in srgb, var(--state-danger) 22%, transparent),
83
+ transparent 28%),
84
+ linear-gradient(135deg,
85
+ color-mix(in srgb, var(--ui-bg) 80%, var(--state-warning-subtle)),
86
+ color-mix(in srgb, var(--ui-surface-raised) 84%, var(--state-danger-subtle)));
87
+ }
88
+
89
+ .bg-gradient-dusk {
90
+ background:
91
+ radial-gradient(circle at 18% 16%,
92
+ color-mix(in srgb, var(--tone-solid) 28%, transparent),
93
+ transparent 33%),
94
+ radial-gradient(circle at 82% 14%,
95
+ color-mix(in srgb, var(--ui-violet) 22%, transparent),
96
+ transparent 30%),
97
+ linear-gradient(135deg,
98
+ color-mix(in srgb, var(--ui-bg) 78%, var(--tone-wash)),
99
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--ui-violet-subtle, var(--tone-subtle))));
100
+ }
101
+
102
+ .bg-gradient-gold {
103
+ background:
104
+ radial-gradient(circle at 20% 16%,
105
+ color-mix(in srgb, var(--ui-gold) 24%, transparent),
106
+ transparent 34%),
107
+ radial-gradient(circle at 80% 10%,
108
+ color-mix(in srgb, var(--state-warning) 18%, transparent),
109
+ transparent 28%),
110
+ linear-gradient(135deg,
111
+ color-mix(in srgb, var(--ui-bg) 80%, var(--ui-gold-surface, var(--state-warning-subtle))),
112
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--ui-gold-light)));
113
+ }
114
+
115
+ .bg-gradient-forest {
116
+ background:
117
+ radial-gradient(circle at 16% 16%,
118
+ color-mix(in srgb, var(--ui-olive) 24%, transparent),
119
+ transparent 34%),
120
+ radial-gradient(circle at 84% 14%,
121
+ color-mix(in srgb, var(--state-success) 18%, transparent),
122
+ transparent 30%),
123
+ linear-gradient(135deg,
124
+ color-mix(in srgb, var(--ui-bg) 80%, var(--ui-olive-light)),
125
+ color-mix(in srgb, var(--ui-surface-raised) 86%, var(--state-success-subtle)));
126
+ }
127
+
128
+ .gradient-grid {
129
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
130
+ }
131
+
132
+ .gradient-card {
133
+ display: grid;
134
+ gap: 12px;
135
+ padding: 16px;
136
+ border-radius: 22px;
137
+ border: 1px solid var(--gradient-card-border);
138
+ background: var(--ui-surface-raised);
139
+ box-shadow: var(--gradient-card-shadow);
140
+ overflow: hidden;
141
+ }
142
+
143
+ .gradient-preview {
144
+ min-height: 150px;
145
+ display: grid;
146
+ align-content: space-between;
147
+ gap: 12px;
148
+ padding: 16px;
149
+ border-radius: 18px;
150
+ border: 1px solid var(--ui-border-subtle);
151
+ color: var(--ui-fg);
152
+ }
153
+
154
+ .gradient-preview-title {
155
+ display: inline-flex;
156
+ width: fit-content;
157
+ align-items: center;
158
+ padding: 0.38rem 0.64rem;
159
+ border-radius: 9999px;
160
+ background: color-mix(in srgb, var(--ui-surface-raised) 72%, transparent);
161
+ border: 1px solid color-mix(in srgb, var(--ui-border) 60%, transparent);
162
+ font-size: 0.76rem;
163
+ font-weight: 700;
164
+ letter-spacing: 0.08em;
165
+ text-transform: uppercase;
166
+ }
167
+
168
+ .gradient-preview-token {
169
+ font-size: 0.82rem;
170
+ font-weight: 700;
171
+ letter-spacing: 0.04em;
172
+ color: color-mix(in srgb, var(--ui-fg) 78%, transparent);
173
+ }
174
+
175
+ .gradient-card h3 {
176
+ margin: 0;
177
+ font-size: 1.02rem;
178
+ }
179
+
180
+ .gradient-card p {
181
+ margin: 0;
182
+ line-height: 1.65;
183
+ color: var(--ui-fg-muted);
184
+ }
185
+
186
+ .gradient-note {
187
+ padding: 0.82rem 0.9rem;
188
+ border-radius: 14px;
189
+ border: 1px solid var(--ui-border-subtle);
190
+ background: var(--ui-surface-subtle);
191
+ }
192
+
193
+ .gradient-meta {
194
+ display: flex;
195
+ flex-wrap: wrap;
196
+ gap: 8px;
197
+ }
198
+
199
+ .gradient-pill {
200
+ display: inline-flex;
201
+ align-items: center;
202
+ gap: 0.35rem;
203
+ padding: 0.34rem 0.6rem;
204
+ border-radius: 9999px;
205
+ border: 1px solid var(--ui-border-subtle);
206
+ background: var(--ui-surface-subtle);
207
+ color: var(--ui-fg-soft);
208
+ font-size: 0.76rem;
209
+ font-weight: 700;
210
+ }
211
+ }
@@ -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');