@krometra/ui-kit 0.7.0 → 0.8.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.
- package/README.md +11 -3
- package/dist/ui-kit.js +88 -8
- package/dist/ui-kit.umd.cjs +1 -1
- package/package.json +1 -1
- package/src/theme.js +54 -5
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ UI-kit на Vue 3 со сменными темами оформления, св
|
|
|
7
7
|
|
|
8
8
|
**Витрина и конструктор темы: <https://krometra.github.io/ui-kit/>**
|
|
9
9
|
|
|
10
|
-
37 компонентов, 88 иконок,
|
|
10
|
+
37 компонентов, 88 иконок, одиннадцать готовых тем, две цветовые схемы и конструктор
|
|
11
11
|
своей темы. Разметка и поведение компонентов одни и те же, а стилистика
|
|
12
12
|
подбирается под проект: цвет, нейтрали, скругления, плотность, тени и шрифт
|
|
13
13
|
задаются CSS-переменными.
|
|
@@ -17,7 +17,7 @@ UI-kit на Vue 3 со сменными темами оформления, св
|
|
|
17
17
|
```bash
|
|
18
18
|
npm install @krometra/ui-kit
|
|
19
19
|
# или из репозитория (скрипт `prepare` собирает `dist/`)
|
|
20
|
-
npm install github:krometra/ui-kit#v0.
|
|
20
|
+
npm install github:krometra/ui-kit#v0.8.0
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Публикация в npm происходит по тегу `v*`, если задан секрет `NPM_TOKEN`.
|
|
@@ -71,7 +71,7 @@ const stop = applyTheme({ scheme: 'system' }) // следовать з
|
|
|
71
71
|
|
|
72
72
|
| Ось | Значения |
|
|
73
73
|
|---|---|
|
|
74
|
-
| `preset` | `default`, `scanflow`, `slate`, `ocean`, `forest`, `violet`, `amber`, `rose`, `mono`, `blocky` |
|
|
74
|
+
| `preset` | `default`, `scanflow`, `slate`, `ocean`, `forest`, `violet`, `amber`, `rose`, `mono`, `blocky`, `bordeaux` |
|
|
75
75
|
| `scheme` | `light`, `dark`, `system` |
|
|
76
76
|
| `neutral` | `cool`, `warm`, `plain` |
|
|
77
77
|
| `radius` | `square`, `sharp`, `subtle`, `default`, `soft`, `pill` |
|
|
@@ -191,6 +191,14 @@ yarn tokens # перегенерировать src/tokens.css из theme.j
|
|
|
191
191
|
Витрина живёт в `demo/Showcase.vue` и служит и документацией, и площадкой для
|
|
192
192
|
визуальной проверки при изменении токенов.
|
|
193
193
|
|
|
194
|
+
## Что изменилось в 0.8.0
|
|
195
|
+
|
|
196
|
+
- Тема `bordeaux` - бордовый акцент на тёплом розовато-сером фоне, свои
|
|
197
|
+
зелёный, синий и красный статусов и шрифт Golos Text (подключается в
|
|
198
|
+
приложении, иначе - системный), в светлой и тёмной схеме.
|
|
199
|
+
- Пресет может задать `accentOverrides` и `semanticOverrides` по схемам: точный
|
|
200
|
+
акцент и цвета статусов вместо вычисленных. Остальные пресеты не изменились.
|
|
201
|
+
|
|
194
202
|
## Что изменилось в 0.7.0
|
|
195
203
|
|
|
196
204
|
- Тема `blocky` - мультяшная «блочная»: травяной акцент, земляные нейтрали,
|
package/dist/ui-kit.js
CHANGED
|
@@ -14994,6 +14994,83 @@ var Uy = /*#__PURE__*/ M({
|
|
|
14994
14994
|
accentSoft: "#f4f4f5",
|
|
14995
14995
|
neutral: "plain"
|
|
14996
14996
|
},
|
|
14997
|
+
bordeaux: {
|
|
14998
|
+
label: "Bordeaux",
|
|
14999
|
+
accent: "#8a3a48",
|
|
15000
|
+
accentHover: "#73303c",
|
|
15001
|
+
accentSoft: "#f3e6e8",
|
|
15002
|
+
neutral: "warm",
|
|
15003
|
+
font: "'Golos Text', -apple-system, 'Segoe UI', Roboto, sans-serif",
|
|
15004
|
+
accentOverrides: { dark: {
|
|
15005
|
+
accent: "#e3929e",
|
|
15006
|
+
accentHover: "#eaa9b3",
|
|
15007
|
+
accentSoft: "#33242a"
|
|
15008
|
+
} },
|
|
15009
|
+
semanticOverrides: {
|
|
15010
|
+
light: {
|
|
15011
|
+
success: {
|
|
15012
|
+
base: "#2c7656",
|
|
15013
|
+
hover: "#235f45",
|
|
15014
|
+
soft: "#e3f1ea",
|
|
15015
|
+
strong: "#2c7656"
|
|
15016
|
+
},
|
|
15017
|
+
info: {
|
|
15018
|
+
base: "#3b6286",
|
|
15019
|
+
hover: "#2f4f6c",
|
|
15020
|
+
soft: "#e5edf5",
|
|
15021
|
+
strong: "#3b6286"
|
|
15022
|
+
},
|
|
15023
|
+
danger: {
|
|
15024
|
+
base: "#b03a37",
|
|
15025
|
+
hover: "#922f2d",
|
|
15026
|
+
soft: "#fbe8e6",
|
|
15027
|
+
strong: "#b03a37"
|
|
15028
|
+
}
|
|
15029
|
+
},
|
|
15030
|
+
dark: {
|
|
15031
|
+
success: {
|
|
15032
|
+
base: "#72c9a2",
|
|
15033
|
+
hover: "#8fd6b6",
|
|
15034
|
+
soft: "#1b3228",
|
|
15035
|
+
strong: "#72c9a2"
|
|
15036
|
+
},
|
|
15037
|
+
info: {
|
|
15038
|
+
base: "#94b8db",
|
|
15039
|
+
hover: "#adc9e4",
|
|
15040
|
+
soft: "#1c2936",
|
|
15041
|
+
strong: "#94b8db"
|
|
15042
|
+
},
|
|
15043
|
+
danger: {
|
|
15044
|
+
base: "#f08d83",
|
|
15045
|
+
hover: "#f4a69e",
|
|
15046
|
+
soft: "#3a2220",
|
|
15047
|
+
strong: "#f08d83"
|
|
15048
|
+
}
|
|
15049
|
+
}
|
|
15050
|
+
},
|
|
15051
|
+
neutralOverrides: {
|
|
15052
|
+
light: {
|
|
15053
|
+
bg: "#f6f4f4",
|
|
15054
|
+
surface: "#ffffff",
|
|
15055
|
+
surfaceMuted: "#faf8f8",
|
|
15056
|
+
border: "#e3dcdd",
|
|
15057
|
+
borderStrong: "#cdc3c4",
|
|
15058
|
+
text: "#1e2327",
|
|
15059
|
+
textMuted: "#5f666c",
|
|
15060
|
+
textFaint: "#959ca1"
|
|
15061
|
+
},
|
|
15062
|
+
dark: {
|
|
15063
|
+
bg: "#15181b",
|
|
15064
|
+
surface: "#1d2125",
|
|
15065
|
+
surfaceMuted: "#24292e",
|
|
15066
|
+
border: "#30353a",
|
|
15067
|
+
borderStrong: "#454b52",
|
|
15068
|
+
text: "#ebe7e7",
|
|
15069
|
+
textMuted: "#a3a9ae",
|
|
15070
|
+
textFaint: "#737a80"
|
|
15071
|
+
}
|
|
15072
|
+
}
|
|
15073
|
+
},
|
|
14997
15074
|
blocky: {
|
|
14998
15075
|
label: "Blocky",
|
|
14999
15076
|
accent: "#4f8a25",
|
|
@@ -15257,11 +15334,11 @@ function $y(e = {}) {
|
|
|
15257
15334
|
...t.text ? { text: t.text } : {},
|
|
15258
15335
|
...t.textMuted ? { textMuted: t.textMuted } : {},
|
|
15259
15336
|
...t.textFaint ? { textFaint: t.textFaint } : {}
|
|
15260
|
-
}, o = Jy[t.radius ?? i.radius] ?? Jy.default, s = Yy[t.density ?? i.density] ?? Yy.default, c = (Xy[t.elevation ?? i.elevation] ?? Xy.default)[n], l = t.font ?? i.font, u = Zy[l] ?? l ?? Zy.system, d = t.accent ?? i.accent,
|
|
15261
|
-
"--k-primary":
|
|
15262
|
-
"--k-primary-hover": t.accentHover ?? (r ? ob(
|
|
15263
|
-
"--k-primary-soft": t.accentSoft ?? (r ? sb(
|
|
15264
|
-
"--k-on-primary": cb(
|
|
15337
|
+
}, o = Jy[t.radius ?? i.radius] ?? Jy.default, s = Yy[t.density ?? i.density] ?? Yy.default, c = (Xy[t.elevation ?? i.elevation] ?? Xy.default)[n], l = t.font ?? i.font, u = Zy[l] ?? l ?? Zy.system, d = t.accent ? null : i.accentOverrides?.[n], f = t.accent ?? i.accent, p = d?.accent ?? (r ? ob(f, .12) : f), m = {
|
|
15338
|
+
"--k-primary": p,
|
|
15339
|
+
"--k-primary-hover": t.accentHover ?? d?.accentHover ?? (r ? ob(p, .14) : t.accent ? ab(p, -.12) : i.accentHover),
|
|
15340
|
+
"--k-primary-soft": t.accentSoft ?? d?.accentSoft ?? (r ? sb(p, a.surface, .22) : t.accent ? ob(p, .92) : i.accentSoft),
|
|
15341
|
+
"--k-on-primary": cb(p),
|
|
15265
15342
|
"--k-bg": a.bg,
|
|
15266
15343
|
"--k-surface": a.surface,
|
|
15267
15344
|
"--k-surface-muted": a.surfaceMuted,
|
|
@@ -15273,7 +15350,7 @@ function $y(e = {}) {
|
|
|
15273
15350
|
"--k-overlay": r ? "rgba(0, 0, 0, 0.6)" : "rgba(15, 23, 42, 0.35)",
|
|
15274
15351
|
"--k-tooltip-bg": r ? a.text : "#172033",
|
|
15275
15352
|
"--k-tooltip-text": r ? a.bg : "#ffffff",
|
|
15276
|
-
"--k-selection": sb(
|
|
15353
|
+
"--k-selection": sb(p, a.surface, r ? .4 : .2),
|
|
15277
15354
|
"--k-radius-sm": o.sm,
|
|
15278
15355
|
"--k-radius": o.md,
|
|
15279
15356
|
"--k-radius-lg": o.lg,
|
|
@@ -15284,9 +15361,12 @@ function $y(e = {}) {
|
|
|
15284
15361
|
"--k-shadow-md": c.md,
|
|
15285
15362
|
"--k-shadow-lg": c.lg,
|
|
15286
15363
|
"--k-font": u
|
|
15364
|
+
}, h = {
|
|
15365
|
+
...qy[n],
|
|
15366
|
+
...i.semanticOverrides?.[n]
|
|
15287
15367
|
};
|
|
15288
|
-
for (let [e, t] of Object.entries(
|
|
15289
|
-
return
|
|
15368
|
+
for (let [e, t] of Object.entries(h)) m[`--k-${e}`] = t.base, m[`--k-${e}-hover`] = t.hover, m[`--k-${e}-soft`] = t.soft ?? sb(t.base, a.surface, .18), m[`--k-${e}-strong`] = t.strong, m[`--k-on-${e}`] = cb(t.base);
|
|
15369
|
+
return m;
|
|
15290
15370
|
}
|
|
15291
15371
|
function eb(e = {}, t = null) {
|
|
15292
15372
|
let n = t ?? (typeof document < "u" ? document.documentElement : null);
|