@atme-lab/ui-kit 0.1.19 → 0.1.22
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/dist/components/content/ArticlePreview/components/ArticlePreviewContent/ArticlePreviewContent.d.ts +2 -1
- package/dist/components/content/DecorativeFrame/utils/patternGenerator.d.ts +2 -0
- package/dist/index.cjs10.js +1 -1
- package/dist/index.cjs11.js +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs17.js +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs25.js +1 -1
- package/dist/index.cjs25.js.map +1 -1
- package/dist/index.cjs26.js +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs28.js +1 -1
- package/dist/index.cjs28.js.map +1 -1
- package/dist/index.cjs29.js +1 -1
- package/dist/index.cjs30.js +1 -1
- package/dist/index.cjs386.js +1 -1
- package/dist/index.cjs386.js.map +1 -1
- package/dist/index.cjs387.js +1 -1
- package/dist/index.cjs387.js.map +1 -1
- package/dist/index.cjs388.js +1 -1
- package/dist/index.cjs388.js.map +1 -1
- package/dist/index.cjs389.js +1 -1
- package/dist/index.cjs389.js.map +1 -1
- package/dist/index.cjs390.js +1 -1
- package/dist/index.cjs390.js.map +1 -1
- package/dist/index.cjs391.js +1 -1
- package/dist/index.cjs391.js.map +1 -1
- package/dist/index.cjs392.js +1 -1
- package/dist/index.cjs392.js.map +1 -1
- package/dist/index.cjs411.js +6 -1
- package/dist/index.cjs411.js.map +1 -1
- package/dist/index.cjs412.js +6 -1
- package/dist/index.cjs412.js.map +1 -1
- package/dist/index.cjs413.js +2 -2
- package/dist/index.cjs413.js.map +1 -1
- package/dist/index.cjs414.js +2 -2
- package/dist/index.cjs414.js.map +1 -1
- package/dist/index.cjs415.js +1 -6
- package/dist/index.cjs415.js.map +1 -1
- package/dist/index.cjs416.js +1 -6
- package/dist/index.cjs416.js.map +1 -1
- package/dist/index.cjs420.js +1 -1
- package/dist/index.cjs421.js +1 -1
- package/dist/index.cjs422.js +1 -1
- package/dist/index.cjs423.js +1 -1
- package/dist/index.cjs424.js +1 -1
- package/dist/index.cjs425.js +1 -1
- package/dist/index.cjs426.js +1 -1
- package/dist/index.cjs428.js +1 -1
- package/dist/index.cjs43.js +1 -1
- package/dist/index.cjs430.js +1 -1
- package/dist/index.cjs433.js +1 -1
- package/dist/index.cjs434.js +1 -6
- package/dist/index.cjs434.js.map +1 -1
- package/dist/index.cjs435.js +1 -6
- package/dist/index.cjs435.js.map +1 -1
- package/dist/index.cjs436.js +1 -6
- package/dist/index.cjs436.js.map +1 -1
- package/dist/index.cjs437.js +1 -6
- package/dist/index.cjs437.js.map +1 -1
- package/dist/index.cjs438.js +1 -1
- package/dist/index.cjs438.js.map +1 -1
- package/dist/index.cjs439.js +1 -1
- package/dist/index.cjs439.js.map +1 -1
- package/dist/index.cjs44.js +1 -1
- package/dist/index.cjs440.js +1 -1
- package/dist/index.cjs440.js.map +1 -1
- package/dist/index.cjs441.js +1 -1
- package/dist/index.cjs441.js.map +1 -1
- package/dist/index.cjs442.js +1 -1
- package/dist/index.cjs442.js.map +1 -1
- package/dist/index.cjs443.js +1 -1
- package/dist/index.cjs443.js.map +1 -1
- package/dist/index.cjs444.js +1 -1
- package/dist/index.cjs444.js.map +1 -1
- package/dist/index.cjs445.js +1 -1
- package/dist/index.cjs445.js.map +1 -1
- package/dist/index.cjs446.js +1 -1
- package/dist/index.cjs446.js.map +1 -1
- package/dist/index.cjs447.js +1 -1
- package/dist/index.cjs447.js.map +1 -1
- package/dist/index.cjs448.js +1 -1
- package/dist/index.cjs448.js.map +1 -1
- package/dist/index.cjs449.js +6 -1
- package/dist/index.cjs449.js.map +1 -1
- package/dist/index.cjs45.js +1 -1
- package/dist/index.cjs450.js +6 -1
- package/dist/index.cjs450.js.map +1 -1
- package/dist/index.cjs451.js +6 -1
- package/dist/index.cjs451.js.map +1 -1
- package/dist/index.cjs452.js +6 -1
- package/dist/index.cjs452.js.map +1 -1
- package/dist/index.cjs46.js +1 -1
- package/dist/index.cjs46.js.map +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs48.js +1 -1
- package/dist/index.cjs49.js +1 -1
- package/dist/index.cjs5.js +1 -1
- package/dist/index.cjs5.js.map +1 -1
- package/dist/index.cjs50.js +1 -1
- package/dist/index.cjs53.js +1 -1
- package/dist/index.cjs54.js +1 -1
- package/dist/index.cjs55.js +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs56.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs59.js +1 -1
- package/dist/index.cjs59.js.map +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs60.js.map +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs62.js +1 -1
- package/dist/index.cjs62.js.map +1 -1
- package/dist/index.cjs63.js +1 -1
- package/dist/index.cjs64.js +1 -1
- package/dist/index.cjs64.js.map +1 -1
- package/dist/index.cjs65.js +1 -1
- package/dist/index.cjs66.js +1 -1
- package/dist/index.cjs66.js.map +1 -1
- package/dist/index.cjs67.js +1 -1
- package/dist/index.cjs67.js.map +1 -1
- package/dist/index.cjs68.js +1 -1
- package/dist/index.cjs68.js.map +1 -1
- package/dist/index.cjs69.js +1 -1
- package/dist/index.cjs69.js.map +1 -1
- package/dist/index.cjs70.js +1 -1
- package/dist/index.cjs71.js +1 -1
- package/dist/index.cjs72.js +1 -1
- package/dist/index.cjs73.js +1 -1
- package/dist/index.cjs73.js.map +1 -1
- package/dist/index.cjs86.js +1 -1
- package/dist/index.cjs9.js +1 -1
- package/dist/index.esm10.js +2 -2
- package/dist/index.esm11.js +1 -1
- package/dist/index.esm13.js +1 -1
- package/dist/index.esm14.js +1 -1
- package/dist/index.esm15.js +1 -1
- package/dist/index.esm16.js +1 -1
- package/dist/index.esm17.js +1 -1
- package/dist/index.esm18.js +1 -1
- package/dist/index.esm19.js +1 -1
- package/dist/index.esm20.js +1 -1
- package/dist/index.esm21.js +2 -2
- package/dist/index.esm22.js +2 -2
- package/dist/index.esm23.js +1 -1
- package/dist/index.esm24.js +2 -2
- package/dist/index.esm25.js +26 -26
- package/dist/index.esm25.js.map +1 -1
- package/dist/index.esm26.js +1 -1
- package/dist/index.esm27.js +1 -1
- package/dist/index.esm28.js +48 -28
- package/dist/index.esm28.js.map +1 -1
- package/dist/index.esm29.js +1 -1
- package/dist/index.esm30.js +3 -3
- package/dist/index.esm386.js +29 -5
- package/dist/index.esm386.js.map +1 -1
- package/dist/index.esm387.js +24 -25
- package/dist/index.esm387.js.map +1 -1
- package/dist/index.esm388.js +50 -29
- package/dist/index.esm388.js.map +1 -1
- package/dist/index.esm389.js +7 -24
- package/dist/index.esm389.js.map +1 -1
- package/dist/index.esm390.js +7 -50
- package/dist/index.esm390.js.map +1 -1
- package/dist/index.esm391.js +33 -7
- package/dist/index.esm391.js.map +1 -1
- package/dist/index.esm392.js +5 -7
- package/dist/index.esm392.js.map +1 -1
- package/dist/index.esm411.js +9 -5
- package/dist/index.esm411.js.map +1 -1
- package/dist/index.esm412.js +18 -5
- package/dist/index.esm412.js.map +1 -1
- package/dist/index.esm413.js +9 -3
- package/dist/index.esm413.js.map +1 -1
- package/dist/index.esm414.js +6 -7
- package/dist/index.esm414.js.map +1 -1
- package/dist/index.esm415.js +5 -15
- package/dist/index.esm415.js.map +1 -1
- package/dist/index.esm416.js +5 -17
- package/dist/index.esm416.js.map +1 -1
- package/dist/index.esm420.js +1 -1
- package/dist/index.esm421.js +2 -2
- package/dist/index.esm422.js +3 -3
- package/dist/index.esm423.js +3 -3
- package/dist/index.esm424.js +1 -1
- package/dist/index.esm425.js +2 -2
- package/dist/index.esm426.js +1 -1
- package/dist/index.esm428.js +1 -1
- package/dist/index.esm43.js +28 -64
- package/dist/index.esm43.js.map +1 -1
- package/dist/index.esm430.js +7 -7
- package/dist/index.esm433.js +1 -1
- package/dist/index.esm434.js +19 -21
- package/dist/index.esm434.js.map +1 -1
- package/dist/index.esm435.js +17 -9
- package/dist/index.esm435.js.map +1 -1
- package/dist/index.esm436.js +12 -38
- package/dist/index.esm436.js.map +1 -1
- package/dist/index.esm437.js +5 -18
- package/dist/index.esm437.js.map +1 -1
- package/dist/index.esm438.js +3 -5
- package/dist/index.esm438.js.map +1 -1
- package/dist/index.esm439.js +30 -9
- package/dist/index.esm439.js.map +1 -1
- package/dist/index.esm44.js +5 -36
- package/dist/index.esm44.js.map +1 -1
- package/dist/index.esm440.js +33 -6
- package/dist/index.esm440.js.map +1 -1
- package/dist/index.esm441.js +25 -3
- package/dist/index.esm441.js.map +1 -1
- package/dist/index.esm442.js +3 -84
- package/dist/index.esm442.js.map +1 -1
- package/dist/index.esm443.js +5 -37
- package/dist/index.esm443.js.map +1 -1
- package/dist/index.esm444.js +9 -30
- package/dist/index.esm444.js.map +1 -1
- package/dist/index.esm445.js +6 -18
- package/dist/index.esm445.js.map +1 -1
- package/dist/index.esm446.js +3 -16
- package/dist/index.esm446.js.map +1 -1
- package/dist/index.esm447.js +84 -11
- package/dist/index.esm447.js.map +1 -1
- package/dist/index.esm448.js +37 -4
- package/dist/index.esm448.js.map +1 -1
- package/dist/index.esm449.js +21 -4
- package/dist/index.esm449.js.map +1 -1
- package/dist/index.esm45.js +10 -8
- package/dist/index.esm45.js.map +1 -1
- package/dist/index.esm450.js +9 -34
- package/dist/index.esm450.js.map +1 -1
- package/dist/index.esm451.js +38 -26
- package/dist/index.esm451.js.map +1 -1
- package/dist/index.esm452.js +18 -4
- package/dist/index.esm452.js.map +1 -1
- package/dist/index.esm46.js +30 -9
- package/dist/index.esm46.js.map +1 -1
- package/dist/index.esm47.js +65 -47
- package/dist/index.esm47.js.map +1 -1
- package/dist/index.esm48.js +40 -10
- package/dist/index.esm48.js.map +1 -1
- package/dist/index.esm49.js +36 -5
- package/dist/index.esm49.js.map +1 -1
- package/dist/index.esm5.js +2 -2
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.esm50.js +4 -32
- package/dist/index.esm50.js.map +1 -1
- package/dist/index.esm53.js +1 -1
- package/dist/index.esm54.js +39 -42
- package/dist/index.esm54.js.map +1 -1
- package/dist/index.esm55.js +47 -9
- package/dist/index.esm55.js.map +1 -1
- package/dist/index.esm56.js +11 -28
- package/dist/index.esm56.js.map +1 -1
- package/dist/index.esm57.js +8 -40
- package/dist/index.esm57.js.map +1 -1
- package/dist/index.esm58.js +58 -10
- package/dist/index.esm58.js.map +1 -1
- package/dist/index.esm59.js +16 -30
- package/dist/index.esm59.js.map +1 -1
- package/dist/index.esm60.js +97 -41
- package/dist/index.esm60.js.map +1 -1
- package/dist/index.esm61.js +40 -39
- package/dist/index.esm61.js.map +1 -1
- package/dist/index.esm62.js +88 -29
- package/dist/index.esm62.js.map +1 -1
- package/dist/index.esm63.js +34 -16
- package/dist/index.esm63.js.map +1 -1
- package/dist/index.esm64.js +127 -16
- package/dist/index.esm64.js.map +1 -1
- package/dist/index.esm65.js +7 -3
- package/dist/index.esm65.js.map +1 -1
- package/dist/index.esm66.js +28 -59
- package/dist/index.esm66.js.map +1 -1
- package/dist/index.esm67.js +17 -85
- package/dist/index.esm67.js.map +1 -1
- package/dist/index.esm68.js +16 -35
- package/dist/index.esm68.js.map +1 -1
- package/dist/index.esm69.js +33 -120
- package/dist/index.esm69.js.map +1 -1
- package/dist/index.esm70.js +15 -40
- package/dist/index.esm70.js.map +1 -1
- package/dist/index.esm71.js +42 -15
- package/dist/index.esm71.js.map +1 -1
- package/dist/index.esm72.js +8 -13
- package/dist/index.esm72.js.map +1 -1
- package/dist/index.esm73.js +41 -87
- package/dist/index.esm73.js.map +1 -1
- package/dist/index.esm86.js +1 -1
- package/dist/index.esm9.js +1 -1
- package/dist/server.cjs.js +1 -1
- package/dist/server.cjs.js.map +1 -1
- package/dist/server.esm.js +2 -2
- package/dist/server.esm.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/ui-kit.css +1 -1
- package/package.json +1 -1
package/dist/index.esm69.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm69.js","sources":[
|
|
1
|
+
{"version":3,"file":"index.esm69.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.esm70.js
CHANGED
|
@@ -1,45 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
"island--variant-default": "_island--variant-default_1pzuz_20",
|
|
11
|
-
islandVariantDefault: s,
|
|
12
|
-
"island--variant-paper": "_island--variant-paper_1pzuz_24",
|
|
13
|
-
islandVariantPaper: e,
|
|
14
|
-
"island--variant-accent": "_island--variant-accent_1pzuz_28",
|
|
15
|
-
islandVariantAccent: d,
|
|
16
|
-
"island--elevation-none": "_island--elevation-none_1pzuz_33",
|
|
17
|
-
islandElevationNone: _,
|
|
18
|
-
"island--elevation-sm": "_island--elevation-sm_1pzuz_37",
|
|
19
|
-
islandElevationSm: t,
|
|
20
|
-
"island--elevation-md": "_island--elevation-md_1pzuz_41",
|
|
21
|
-
islandElevationMd: z,
|
|
22
|
-
"island--elevation-lg": "_island--elevation-lg_1pzuz_45",
|
|
23
|
-
islandElevationLg: o,
|
|
24
|
-
"island--elevation-xl": "_island--elevation-xl_1pzuz_49",
|
|
25
|
-
islandElevationXl: p,
|
|
26
|
-
"island--bordered": "_island--bordered_1pzuz_54",
|
|
27
|
-
islandBordered: v
|
|
2
|
+
const t = "_root_2pxdg_1", _ = "_title_2pxdg_7", i = "_list_2pxdg_13", l = "_item_2pxdg_20", e = "_link_2pxdg_29", n = "_linkText_2pxdg_48", o = {
|
|
3
|
+
root: t,
|
|
4
|
+
title: _,
|
|
5
|
+
list: i,
|
|
6
|
+
item: l,
|
|
7
|
+
link: e,
|
|
8
|
+
"link--active": "_link--active_2pxdg_48",
|
|
9
|
+
linkText: n
|
|
28
10
|
};
|
|
29
11
|
export {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
p as islandElevationXl,
|
|
38
|
-
l as islandSizeLg,
|
|
39
|
-
i as islandSizeMd,
|
|
40
|
-
n as islandSizeSm,
|
|
41
|
-
d as islandVariantAccent,
|
|
42
|
-
s as islandVariantDefault,
|
|
43
|
-
e as islandVariantPaper
|
|
12
|
+
o as default,
|
|
13
|
+
l as item,
|
|
14
|
+
e as link,
|
|
15
|
+
n as linkText,
|
|
16
|
+
i as list,
|
|
17
|
+
t as root,
|
|
18
|
+
_ as title
|
|
44
19
|
};
|
|
45
20
|
//# sourceMappingURL=index.esm70.js.map
|
package/dist/index.esm70.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm70.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm70.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
package/dist/index.esm71.js
CHANGED
|
@@ -1,20 +1,47 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const t = "
|
|
3
|
-
root:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
2
|
+
const e = "_root_1lfx3_1", t = "_root--sm_1lfx3_8", s = "_root--md_1lfx3_14", n = "_root--lg_1lfx3_20", _ = "_track_1lfx3_26", o = "_segments_1lfx3_34", m = "_segment_1lfx3_34", g = "_segment--primary_1lfx3_50", l = "_segment--secondary_1lfx3_54", r = "_segment--success_1lfx3_58", c = "_segment--warning_1lfx3_62", a = "_segment--active_1lfx3_66", f = "_segment--sequential_1lfx3_66", x = "_segment-reveal_1lfx3_1", i = "_valueLabel_1lfx3_89", u = {
|
|
3
|
+
root: e,
|
|
4
|
+
"root--sm": "_root--sm_1lfx3_8",
|
|
5
|
+
rootSm: t,
|
|
6
|
+
"root--md": "_root--md_1lfx3_14",
|
|
7
|
+
rootMd: s,
|
|
8
|
+
"root--lg": "_root--lg_1lfx3_20",
|
|
9
|
+
rootLg: n,
|
|
10
|
+
track: _,
|
|
11
|
+
segments: o,
|
|
12
|
+
segment: m,
|
|
13
|
+
"segment--primary": "_segment--primary_1lfx3_50",
|
|
14
|
+
segmentPrimary: g,
|
|
15
|
+
"segment--secondary": "_segment--secondary_1lfx3_54",
|
|
16
|
+
segmentSecondary: l,
|
|
17
|
+
"segment--success": "_segment--success_1lfx3_58",
|
|
18
|
+
segmentSuccess: r,
|
|
19
|
+
"segment--warning": "_segment--warning_1lfx3_62",
|
|
20
|
+
segmentWarning: c,
|
|
21
|
+
"segment--active": "_segment--active_1lfx3_66",
|
|
22
|
+
segmentActive: a,
|
|
23
|
+
"segment--sequential": "_segment--sequential_1lfx3_66",
|
|
24
|
+
segmentSequential: f,
|
|
25
|
+
"segment-reveal": "_segment-reveal_1lfx3_1",
|
|
26
|
+
segmentReveal: x,
|
|
27
|
+
valueLabel: i
|
|
10
28
|
};
|
|
11
29
|
export {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
30
|
+
u as default,
|
|
31
|
+
e as root,
|
|
32
|
+
n as rootLg,
|
|
33
|
+
s as rootMd,
|
|
34
|
+
t as rootSm,
|
|
35
|
+
m as segment,
|
|
36
|
+
a as segmentActive,
|
|
37
|
+
g as segmentPrimary,
|
|
38
|
+
x as segmentReveal,
|
|
39
|
+
l as segmentSecondary,
|
|
40
|
+
f as segmentSequential,
|
|
41
|
+
r as segmentSuccess,
|
|
42
|
+
c as segmentWarning,
|
|
43
|
+
o as segments,
|
|
44
|
+
_ as track,
|
|
45
|
+
i as valueLabel
|
|
19
46
|
};
|
|
20
47
|
//# sourceMappingURL=index.esm71.js.map
|
package/dist/index.esm71.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm71.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm71.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.esm72.js
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"root--card": "_root--card_1uo8k_29",
|
|
7
|
-
rootCard: r,
|
|
8
|
-
"root--row": "_root--row_1uo8k_35",
|
|
9
|
-
rootRow: _
|
|
2
|
+
const e = "_labelMenuItem_fjxw4_1", l = "_icon_fjxw4_32", n = "_label_fjxw4_1", t = {
|
|
3
|
+
labelMenuItem: e,
|
|
4
|
+
icon: l,
|
|
5
|
+
label: n
|
|
10
6
|
};
|
|
11
7
|
export {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
_ as rootRow
|
|
8
|
+
t as default,
|
|
9
|
+
l as icon,
|
|
10
|
+
n as label,
|
|
11
|
+
e as labelMenuItem
|
|
17
12
|
};
|
|
18
13
|
//# sourceMappingURL=index.esm72.js.map
|
package/dist/index.esm72.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm72.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm72.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
package/dist/index.esm73.js
CHANGED
|
@@ -1,91 +1,45 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}) {
|
|
30
|
-
return h === "row" ? /* @__PURE__ */ a.jsxs("div", { className: x(s.content, s["content--row"]), children: [
|
|
31
|
-
/* @__PURE__ */ a.jsx("div", { className: s.rowIcon, "aria-hidden": !0, children: /* @__PURE__ */ a.jsx(f, { size: 24, strokeWidth: 2 }) }),
|
|
32
|
-
/* @__PURE__ */ a.jsxs("div", { className: s.rowBody, children: [
|
|
33
|
-
t && /* @__PURE__ */ a.jsx("div", { className: s.tagsSlotRow, onClick: (l) => l.stopPropagation(), children: t }),
|
|
34
|
-
/* @__PURE__ */ a.jsx(i, { variant: "h5", as: "h2", className: s.title, title: e, children: e }),
|
|
35
|
-
/* @__PURE__ */ a.jsxs("div", { className: s.rowMeta, children: [
|
|
36
|
-
/* @__PURE__ */ a.jsx(i, { variant: "caption", className: s.date, children: d }),
|
|
37
|
-
r != null && /* @__PURE__ */ a.jsxs("span", { className: s.views, title: "Просмотры", children: [
|
|
38
|
-
/* @__PURE__ */ a.jsx(y, { size: 14, strokeWidth: 2 }),
|
|
39
|
-
/* @__PURE__ */ a.jsx("span", { children: p(r) })
|
|
40
|
-
] })
|
|
41
|
-
] })
|
|
42
|
-
] })
|
|
43
|
-
] }) : h === "card" ? /* @__PURE__ */ a.jsxs("div", { className: x(s.content, s["content--card"], !o && s["content--card-no-image"]), children: [
|
|
44
|
-
/* @__PURE__ */ a.jsxs("div", { className: s.cardBody, children: [
|
|
45
|
-
c ? /* @__PURE__ */ a.jsxs("div", { className: s.author, onClick: (l) => l.stopPropagation(), children: [
|
|
46
|
-
c.avatarUrl ? /* @__PURE__ */ a.jsx(
|
|
47
|
-
"img",
|
|
48
|
-
{
|
|
49
|
-
src: c.avatarUrl,
|
|
50
|
-
alt: "",
|
|
51
|
-
className: s.authorAvatar,
|
|
52
|
-
width: 32,
|
|
53
|
-
height: 32
|
|
54
|
-
}
|
|
55
|
-
) : /* @__PURE__ */ a.jsx("div", { className: s.authorAvatarPlaceholder, "aria-hidden": !0, children: c.name.charAt(0).toUpperCase() }),
|
|
56
|
-
/* @__PURE__ */ a.jsx(i, { variant: "caption", className: s.authorName, children: c.name }),
|
|
57
|
-
/* @__PURE__ */ a.jsx(i, { variant: "caption", className: s.date, children: d })
|
|
58
|
-
] }) : /* @__PURE__ */ a.jsx(i, { variant: "caption", className: s.date, children: d }),
|
|
59
|
-
/* @__PURE__ */ a.jsx(i, { variant: "h5", as: "h2", className: s.title, title: e, children: e }),
|
|
60
|
-
n && /* @__PURE__ */ a.jsx(i, { variant: "caption", className: s.description, children: n }),
|
|
61
|
-
/* @__PURE__ */ a.jsxs("div", { className: s.cardFooter, children: [
|
|
62
|
-
t && /* @__PURE__ */ a.jsx("div", { className: s.tagsSlotCard, onClick: (l) => l.stopPropagation(), children: t }),
|
|
63
|
-
/* @__PURE__ */ a.jsxs("div", { className: s.meta, children: [
|
|
64
|
-
m != null && /* @__PURE__ */ a.jsxs("span", { className: s.readingTime, title: "Время чтения", children: [
|
|
65
|
-
/* @__PURE__ */ a.jsx(v, { size: 14, className: s.clockIcon }),
|
|
66
|
-
/* @__PURE__ */ a.jsx("span", { children: g(m) })
|
|
67
|
-
] }),
|
|
68
|
-
r != null && /* @__PURE__ */ a.jsxs("span", { className: s.views, title: "Просмотры", children: [
|
|
69
|
-
/* @__PURE__ */ a.jsx(N, { size: 14, className: s.eyeIcon }),
|
|
70
|
-
/* @__PURE__ */ a.jsx("span", { children: p(r) })
|
|
71
|
-
] })
|
|
72
|
-
] })
|
|
73
|
-
] })
|
|
74
|
-
] }),
|
|
75
|
-
o && /* @__PURE__ */ a.jsx("div", { className: s.previewWrap, children: /* @__PURE__ */ a.jsx(
|
|
76
|
-
"img",
|
|
77
|
-
{
|
|
78
|
-
src: o,
|
|
79
|
-
alt: j || e,
|
|
80
|
-
className: s.previewImage,
|
|
81
|
-
decoding: "async",
|
|
82
|
-
loading: "lazy"
|
|
83
|
-
}
|
|
84
|
-
) })
|
|
85
|
-
] }) : null;
|
|
86
|
-
}
|
|
87
|
-
w.displayName = "ArticlePreviewContent";
|
|
2
|
+
const a = "_card_13s36_1", r = "_card--size-sm_13s36_7", e = "_card--size-md_13s36_11", c = "_card--size-lg_13s36_15", d = "_card--variant-default_13s36_19", _ = "_card--variant-paper_13s36_23", n = "_card--variant-accent_13s36_27", t = "_card--elevation-none_13s36_31", s = "_card--elevation-sm_13s36_35", i = "_card--elevation-md_13s36_39", o = "_card--elevation-lg_13s36_43", l = "_card--elevation-xl_13s36_47", v = "_card--bordered_13s36_51", m = {
|
|
3
|
+
card: a,
|
|
4
|
+
"card--size-sm": "_card--size-sm_13s36_7",
|
|
5
|
+
cardSizeSm: r,
|
|
6
|
+
"card--size-md": "_card--size-md_13s36_11",
|
|
7
|
+
cardSizeMd: e,
|
|
8
|
+
"card--size-lg": "_card--size-lg_13s36_15",
|
|
9
|
+
cardSizeLg: c,
|
|
10
|
+
"card--variant-default": "_card--variant-default_13s36_19",
|
|
11
|
+
cardVariantDefault: d,
|
|
12
|
+
"card--variant-paper": "_card--variant-paper_13s36_23",
|
|
13
|
+
cardVariantPaper: _,
|
|
14
|
+
"card--variant-accent": "_card--variant-accent_13s36_27",
|
|
15
|
+
cardVariantAccent: n,
|
|
16
|
+
"card--elevation-none": "_card--elevation-none_13s36_31",
|
|
17
|
+
cardElevationNone: t,
|
|
18
|
+
"card--elevation-sm": "_card--elevation-sm_13s36_35",
|
|
19
|
+
cardElevationSm: s,
|
|
20
|
+
"card--elevation-md": "_card--elevation-md_13s36_39",
|
|
21
|
+
cardElevationMd: i,
|
|
22
|
+
"card--elevation-lg": "_card--elevation-lg_13s36_43",
|
|
23
|
+
cardElevationLg: o,
|
|
24
|
+
"card--elevation-xl": "_card--elevation-xl_13s36_47",
|
|
25
|
+
cardElevationXl: l,
|
|
26
|
+
"card--bordered": "_card--bordered_13s36_51",
|
|
27
|
+
cardBordered: v
|
|
28
|
+
};
|
|
88
29
|
export {
|
|
89
|
-
|
|
30
|
+
a as card,
|
|
31
|
+
v as cardBordered,
|
|
32
|
+
o as cardElevationLg,
|
|
33
|
+
i as cardElevationMd,
|
|
34
|
+
t as cardElevationNone,
|
|
35
|
+
s as cardElevationSm,
|
|
36
|
+
l as cardElevationXl,
|
|
37
|
+
c as cardSizeLg,
|
|
38
|
+
e as cardSizeMd,
|
|
39
|
+
r as cardSizeSm,
|
|
40
|
+
n as cardVariantAccent,
|
|
41
|
+
d as cardVariantDefault,
|
|
42
|
+
_ as cardVariantPaper,
|
|
43
|
+
m as default
|
|
90
44
|
};
|
|
91
45
|
//# sourceMappingURL=index.esm73.js.map
|
package/dist/index.esm73.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm73.js","sources":[
|
|
1
|
+
{"version":3,"file":"index.esm73.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.esm86.js
CHANGED
package/dist/index.esm9.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { j as f } from "./index.esm36.js";
|
|
3
3
|
import a, { forwardRef as h } from "react";
|
|
4
4
|
import l from "./index.esm42.js";
|
|
5
|
-
import r from "./index.
|
|
5
|
+
import r from "./index.esm47.js";
|
|
6
6
|
const c = h(
|
|
7
7
|
({ variant: t = "body", size: e, color: p, as: o, children: m, className: y, ...s }, n) => {
|
|
8
8
|
const u = a.useMemo(() => o || (t.startsWith("h") ? t : t === "body" ? "p" : "span"), [o, t]);
|
package/dist/server.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p={spacing:{unit:4},typography:{fontFamily:'"Martian Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:{xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p={spacing:{unit:4},typography:{fontFamily:'"Martian Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:{xs:"0.75rem",sm:"0.875rem",base:"1rem",lg:"1.125rem",xl:"1.25rem","2xl":"1.5rem","3xl":"1.75rem","4xl":"2.5rem"},fontWeight:{normal:400,medium:500,semibold:600,bold:700},lineHeight:{tight:1.25,normal:1.5,relaxed:1.75}},shadows:{sm:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",base:"0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)",md:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",lg:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",xl:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)","2xl":"0 25px 50px -12px rgba(0, 0, 0, 0.25)",none:"none"},border:{base:"2px"},borderRadius:{none:"0",round:"50%",sm:"0.125rem",base:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem",full:"9999px"},transitions:{duration:{fast:"150ms",base:"200ms",slow:"300ms",verySlow:"500ms"},easing:{easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",easeOut:"cubic-bezier(0, 0, 0.2, 1)"}},zIndex:{dropdown:1e3,sticky:1020,fixed:1030,modalBackdrop:1040,modal:1050,popover:1060,tooltip:1070}},f={...p,palette:{primary:{main:"#a9d0e7",hover:"#96c4de",active:"#7eb3d4",contrastText:"#171717"},secondary:{main:"#c8d69b",hover:"#d4e0b0",active:"#b8c882",contrastText:"#343b1b"},error:{main:"#ef4444",hover:"#f87171",active:"#dc2626"},warning:{main:"#f59e0b",hover:"#fbbf24",active:"#d97706"},success:{main:"#22c55e",hover:"#4ade80",active:"#16a34a"},text:{primary:"#24292e",secondary:"#5a6342",disabled:"#a3a3a3"},background:{default:"#fbfcee",accent:"#f6e6a5",paper:"#ffffff"},border:{default:"#c8d69b",subtle:"#e5e5e5",strong:"#5a6342"}}},o={...p,palette:{primary:{main:"#6eb3e0",hover:"#85c4ed",active:"#5a9fd4",contrastText:"#ffffff"},secondary:{main:"#65a8d2",hover:"#b8c88a",active:"#96a85e",contrastText:"#0a0a0a"},error:{main:"#ef4444",hover:"#f87171",active:"#dc2626"},warning:{main:"#f59e0b",hover:"#fbbf24",active:"#d97706"},success:{main:"#22c55e",hover:"#4ade80",active:"#16a34a"},text:{primary:"#ffffff",secondary:"#e6e6e6",disabled:"#6b6b6b"},background:{default:"#0a0a0a",accent:"#141414",paper:"#1a1a1a"},border:{default:"#404040",subtle:"#2a2a2a",strong:"#525252"}}};function d(e){return e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g,"$1-$2").toLowerCase()}function u(e){return`--${e.join("-")}`}function l(e,a,r){if(e!=null){if(typeof e=="string"||typeof e=="number"||typeof e=="boolean"){const t=u(a);r[t]=String(e);return}if(Array.isArray(e)){e.forEach((t,n)=>{l(t,[...a,String(n)],r)});return}typeof e=="object"&&Object.entries(e).forEach(([t,n])=>{const i=d(t);l(n,[...a,i],r)})}}function s(e){const a={};return l(e,[],a),a}function b(e,a){if(a==null)return e;if(typeof a!="object"||Array.isArray(a)||typeof e!="object"||Array.isArray(e))return a;const r={...e};return Object.keys(a).forEach(t=>{const n=a[t],i=e[t];n!=null&&typeof n=="object"&&!Array.isArray(n)&&typeof i=="object"&&!Array.isArray(i)&&i!==null?r[t]=b(i,n):r[t]=n}),r}function m(e,a){return b(e,a)}function c(e){return Object.entries(e).map(([a,r])=>`${a}:${r}`).join(";")}function x(e){const a=c(s(f)),r=c(s(o));if(e==="light"||e==="dark")return`[data-theme="light"]{${a}}[data-theme="dark"]{${r}}`;const t=e?e&&typeof e=="object"&&"palette"in e&&e.palette&&"primary"in e.palette?e:m(o,e):o,i=(t===f?"light":t===o?"dark":"custom")==="custom"?`[data-theme="custom"]{${c(s(t))}}`:"";return`[data-theme="light"]{${a}}[data-theme="dark"]{${r}}${i}`}exports.baseTheme=p;exports.darkTheme=o;exports.getCriticalThemeCss=x;exports.lightTheme=f;exports.mergeTheme=m;exports.themeToCssVars=s;
|
|
2
2
|
//# sourceMappingURL=server.cjs.js.map
|
package/dist/server.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.cjs.js","sources":["../src/tokens/themes/baseTheme.ts","../src/tokens/themes/lightTheme.ts","../src/tokens/themes/darkTheme.ts","../src/tokens/generate-css-vars.ts","../src/utils/deepMerge.ts","../src/tokens/utils.ts","../src/server.ts"],"sourcesContent":["import type { Theme } from '../types';\n\n\nexport const baseTheme: Omit<Theme, 'palette'> = {\n spacing: {\n unit: 4,\n },\n typography: {\n fontFamily: '\"Martian Grotesk\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n fontSize: {\n xs: '0.75rem',\n sm: '0.875rem',\n base: '1rem',\n lg: '1.125rem',\n xl: '1.25rem',\n '2xl': '1.5rem',\n '3xl': '1.875rem',\n '4xl': '2.25rem',\n },\n fontWeight: {\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75,\n },\n },\n shadows: {\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n base: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',\n none: 'none',\n },\n border: {\n base: '2px'\n },\n borderRadius: {\n none: '0',\n round: '50%',\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.375rem',\n lg: '0.5rem',\n xl: '0.75rem',\n '2xl': '1rem',\n full: '9999px',\n },\n transitions: {\n duration: {\n fast: '150ms',\n base: '200ms',\n slow: '300ms',\n verySlow: '500ms',\n },\n easing: {\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n easeOut: 'cubic-bezier(0, 0, 0.2, 1)',\n },\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n modalBackdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n} as const;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\nexport const lightTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#a9d0e7',\n hover: '#96c4de',\n active: '#7eb3d4',\n contrastText: '#171717',\n },\n secondary: {\n main: '#c8d69b',\n hover: '#d4e0b0',\n active: '#b8c882',\n contrastText: '#343b1b',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#24292e',\n secondary: '#5a6342',\n disabled: '#a3a3a3',\n },\n background: {\n default: '#fbfcee',\n accent: '#f6e6a5',\n paper: '#ffffff',\n },\n border: {\n default: '#c8d69b',\n subtle: '#e5e5e5',\n strong: '#5a6342',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\n/**\n * Темная тема\n * Расширяет базовую тему, добавляя темную цветовую палитру\n */\nexport const darkTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#6eb3e0',\n hover: '#85c4ed',\n active: '#5a9fd4',\n contrastText: '#ffffff',\n },\n secondary: {\n main: '#65a8d2',\n hover: '#b8c88a',\n active: '#96a85e',\n contrastText: '#0a0a0a',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#ffffff',\n secondary: '#e6e6e6',\n disabled: '#6b6b6b',\n },\n background: {\n default: '#0a0a0a',\n accent: '#141414',\n paper: '#1a1a1a',\n },\n border: {\n default: '#404040',\n subtle: '#2a2a2a',\n strong: '#525252',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from './types';\n\nfunction camelToKebab(str: string): string {\n return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction pathToCssVarName(path: string[]): string {\n return `--${path.join('-')}`;\n}\n\nfunction traverseObject(\n obj: unknown,\n path: string[],\n vars: Record<string, string>\n): void {\n if (obj === null || obj === undefined) {\n return;\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean') {\n const varName = pathToCssVarName(path);\n vars[varName] = String(obj);\n return;\n }\n\n if (Array.isArray(obj)) {\n obj.forEach((item, index) => {\n traverseObject(item, [...path, String(index)], vars);\n });\n return;\n }\n\n if (typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n const kebabKey = camelToKebab(key);\n traverseObject(value, [...path, kebabKey], vars);\n });\n }\n}\n\nexport function themeToCssVars(theme: Theme): Record<string, string> {\n const vars: Record<string, string> = {};\n traverseObject(theme, [], vars);\n return vars;\n}\n","type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] };\n\nexport function deepMerge<T>(target: T, source: DeepPartial<T>): T {\n if (source === null || source === undefined) {\n return target;\n }\n\n if (typeof source !== 'object' || Array.isArray(source)) {\n return source as T;\n }\n\n if (typeof target !== 'object' || Array.isArray(target)) {\n return source as T;\n }\n\n const result = { ...target };\n\n Object.keys(source).forEach((key) => {\n const sourceValue = (source as Record<string, unknown>)[key];\n const targetValue = (target as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n sourceValue !== undefined &&\n typeof sourceValue === 'object' &&\n !Array.isArray(sourceValue) &&\n typeof targetValue === 'object' &&\n !Array.isArray(targetValue) &&\n targetValue !== null\n ) {\n (result as Record<string, unknown>)[key] = deepMerge(targetValue, sourceValue);\n } else {\n (result as Record<string, unknown>)[key] = sourceValue;\n }\n });\n\n return result;\n}\n\n","import type { Theme } from './types';\nimport { deepMerge } from '../utils';\n\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport function mergeTheme(\n baseTheme: Theme,\n overrides: DeepPartial<Theme>\n): Theme {\n return deepMerge(baseTheme, overrides);\n}\n\nexport function getSpacingVar(\n spacing: number | string | undefined\n): string | undefined {\n if (spacing === undefined) return undefined;\n\n if (typeof spacing === 'number') {\n return `${spacing * 4}px`;\n }\n\n return spacing;\n}\n","import type { Theme } from './tokens/types';\nimport type { DeepPartial } from './tokens/utils';\nimport { darkTheme, lightTheme } from './tokens/themes';\nimport { themeToCssVars } from './tokens/generate-css-vars';\nimport { mergeTheme } from './tokens/utils';\n\nexport { darkTheme, lightTheme, baseTheme } from './tokens/themes';\nexport { themeToCssVars } from './tokens/generate-css-vars';\nexport { mergeTheme, type DeepPartial } from './tokens/utils';\nexport type { Theme } from './tokens/types';\n\nexport type ThemeMode = 'light' | 'dark';\n\nfunction cssVarsToBlock(vars: Record<string, string>): string {\n return Object.entries(vars)\n .map(([key, value]) => `${key}:${value}`)\n .join(';');\n}\n\n/**\n * Возвращает критический CSS в формате data-theme для SSR.\n * Вставьте результат в <style> и добавьте data-theme=\"light\"|\"dark\" на корневой элемент.\n *\n * @param mode — 'light' | 'dark'\n */\nexport function getCriticalThemeCss(mode: ThemeMode): string;\n\n/**\n * @param theme — объект темы (legacy). Определяется light/dark/custom по содержимому.\n */\nexport function getCriticalThemeCss(theme?: Theme | DeepPartial<Theme>): string;\n\nexport function getCriticalThemeCss(\n modeOrTheme?: ThemeMode | Theme | DeepPartial<Theme>\n): string {\n const lightVars = cssVarsToBlock(themeToCssVars(lightTheme));\n const darkVars = cssVarsToBlock(themeToCssVars(darkTheme));\n\n if (modeOrTheme === 'light' || modeOrTheme === 'dark') {\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}`;\n }\n\n const resolvedTheme: Theme = modeOrTheme\n ? modeOrTheme &&\n typeof modeOrTheme === 'object' &&\n 'palette' in modeOrTheme &&\n modeOrTheme.palette &&\n 'primary' in modeOrTheme.palette\n ? (modeOrTheme as Theme)\n : mergeTheme(darkTheme, modeOrTheme as DeepPartial<Theme>)\n : darkTheme;\n\n const themeName =\n resolvedTheme === lightTheme ? 'light' : resolvedTheme === darkTheme ? 'dark' : 'custom';\n const customBlock =\n themeName === 'custom'\n ? `[data-theme=\"custom\"]{${cssVarsToBlock(themeToCssVars(resolvedTheme))}}`\n : '';\n\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}${customBlock}`;\n}\n"],"names":["baseTheme","lightTheme","darkTheme","camelToKebab","str","pathToCssVarName","path","traverseObject","obj","vars","varName","item","index","key","value","kebabKey","themeToCssVars","theme","deepMerge","target","source","result","sourceValue","targetValue","mergeTheme","overrides","cssVarsToBlock","getCriticalThemeCss","modeOrTheme","lightVars","darkVars","resolvedTheme","customBlock"],"mappings":"gFAGO,MAAMA,EAAoC,CAC/C,QAAS,CACP,KAAM,CAAA,EAER,WAAY,CACV,WAAY,uFACZ,SAAU,CACR,GAAI,UACJ,GAAI,WACJ,KAAM,OACN,GAAI,WACJ,GAAI,UACJ,MAAO,SACP,MAAO,WACP,MAAO,SAAA,EAET,WAAY,CACV,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,KAAM,GAAA,EAER,WAAY,CACV,MAAO,KACP,OAAQ,IACR,QAAS,IAAA,CACX,EAEF,QAAS,CACP,GAAI,kCACJ,KAAM,kEACN,GAAI,wEACJ,GAAI,0EACJ,GAAI,4EACJ,MAAO,wCACP,KAAM,MAAA,EAER,OAAQ,CACN,KAAM,KAAA,EAER,aAAc,CACZ,KAAM,IACN,MAAO,MACP,GAAI,WACJ,KAAM,UACN,GAAI,WACJ,GAAI,SACJ,GAAI,UACJ,MAAO,OACP,KAAM,QAAA,EAER,YAAa,CACX,SAAU,CACR,KAAM,QACN,KAAM,QACN,KAAM,QACN,SAAU,OAAA,EAEZ,OAAQ,CACN,UAAW,+BACX,OAAQ,6BACR,QAAS,4BAAA,CACX,EAEF,OAAQ,CACN,SAAU,IACV,OAAQ,KACR,MAAO,KACP,cAAe,KACf,MAAO,KACP,QAAS,KACT,QAAS,IAAA,CAEb,ECzEaC,EAAa,CACxB,GAAGD,EACH,QAAS,CACP,QAAS,CACP,KAAM,UACN,MAAO,UACP,OAAQ,UACR,aAAc,SAAA,EAEhB,UAAW,CACT,KAAM,UACN,MAAO,UACP,OAAQ,UACR,aAAc,SAAA,EAEhB,MAAO,CACL,KAAM,UACN,MAAO,UACP,OAAQ,SAAA,EAEV,QAAS,CACP,KAAM,UACN,MAAO,UACP,OAAQ,SAAA,EAEV,QAAS,CACP,KAAM,UACN,MAAO,UACP,OAAQ,SAAA,EAEV,KAAM,CACJ,QAAS,UACT,UAAW,UACX,SAAU,SAAA,EAEZ,WAAY,CACV,QAAS,UACT,OAAQ,UACR,MAAO,SAAA,EAET,OAAQ,CACN,QAAS,UACT,OAAQ,UACR,OAAQ,SAAA,CACV,CAEJ,EC1CaE,EAAY,CACvB,GAAGF,EACH,QAAS,CACP,QAAS,CACP,KAAM,UACN,MAAO,UACP,OAAQ,UACR,aAAc,SAAA,EAEhB,UAAW,CACT,KAAM,UACN,MAAO,UACP,OAAQ,UACR,aAAc,SAAA,EAEhB,MAAO,CACL,KAAM,UACN,MAAO,UACP,OAAQ,SAAA,EAEV,QAAS,CACP,KAAM,UACN,MAAO,UACP,OAAQ,SAAA,EAEV,QAAS,CACP,KAAM,UACN,MAAO,UACP,OAAQ,SAAA,EAEV,KAAM,CACJ,QAAS,UACT,UAAW,UACX,SAAU,SAAA,EAEZ,WAAY,CACV,QAAS,UACT,OAAQ,UACR,MAAO,SAAA,EAET,OAAQ,CACN,QAAS,UACT,OAAQ,UACR,OAAQ,SAAA,CACV,CAEJ,ECnDA,SAASG,EAAaC,EAAqB,CACzC,OAAOA,EAAI,QAAQ,+BAAgC,OAAO,EAAE,YAAA,CAC9D,CAEA,SAASC,EAAiBC,EAAwB,CAChD,MAAO,KAAKA,EAAK,KAAK,GAAG,CAAC,EAC5B,CAEA,SAASC,EACPC,EACAF,EACAG,EACM,CACN,GAAID,GAAQ,KAIZ,IAAI,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,UAAW,CAClF,MAAME,EAAUL,EAAiBC,CAAI,EACrCG,EAAKC,CAAO,EAAI,OAAOF,CAAG,EAC1B,MACF,CAEA,GAAI,MAAM,QAAQA,CAAG,EAAG,CACtBA,EAAI,QAAQ,CAACG,EAAMC,IAAU,CAC3BL,EAAeI,EAAM,CAAC,GAAGL,EAAM,OAAOM,CAAK,CAAC,EAAGH,CAAI,CACrD,CAAC,EACD,MACF,CAEI,OAAOD,GAAQ,UACjB,OAAO,QAAQA,CAAG,EAAE,QAAQ,CAAC,CAACK,EAAKC,CAAK,IAAM,CAC5C,MAAMC,EAAWZ,EAAaU,CAAG,EACjCN,EAAeO,EAAO,CAAC,GAAGR,EAAMS,CAAQ,EAAGN,CAAI,CACjD,CAAC,EAEL,CAEO,SAASO,EAAeC,EAAsC,CACnE,MAAMR,EAA+B,CAAA,EACrC,OAAAF,EAAeU,EAAO,CAAA,EAAIR,CAAI,EACvBA,CACT,CC1CO,SAASS,EAAaC,EAAWC,EAA2B,CACjE,GAAIA,GAAW,KACb,OAAOD,EAOT,GAJI,OAAOC,GAAW,UAAY,MAAM,QAAQA,CAAM,GAIlD,OAAOD,GAAW,UAAY,MAAM,QAAQA,CAAM,EACpD,OAAOC,EAGT,MAAMC,EAAS,CAAE,GAAGF,CAAA,EAEpB,cAAO,KAAKC,CAAM,EAAE,QAASP,GAAQ,CACnC,MAAMS,EAAeF,EAAmCP,CAAG,EACrDU,EAAeJ,EAAmCN,CAAG,EAGzDS,GAAgB,MAEhB,OAAOA,GAAgB,UACvB,CAAC,MAAM,QAAQA,CAAW,GAC1B,OAAOC,GAAgB,UACvB,CAAC,MAAM,QAAQA,CAAW,GAC1BA,IAAgB,KAEfF,EAAmCR,CAAG,EAAIK,EAAUK,EAAaD,CAAW,EAE5ED,EAAmCR,CAAG,EAAIS,CAE/C,CAAC,EAEMD,CACT,CC9BO,SAASG,EACdxB,EACAyB,EACO,CACP,OAAOP,EAAUlB,EAAWyB,CAAS,CACvC,CCCA,SAASC,EAAejB,EAAsC,CAC5D,OAAO,OAAO,QAAQA,CAAI,EACvB,IAAI,CAAC,CAACI,EAAKC,CAAK,IAAM,GAAGD,CAAG,IAAIC,CAAK,EAAE,EACvC,KAAK,GAAG,CACb,CAeO,SAASa,EACdC,EACQ,CACR,MAAMC,EAAYH,EAAeV,EAAef,CAAU,CAAC,EACrD6B,EAAWJ,EAAeV,EAAed,CAAS,CAAC,EAEzD,GAAI0B,IAAgB,SAAWA,IAAgB,OAC7C,MAAO,wBAAwBC,CAAS,wBAAwBC,CAAQ,IAG1E,MAAMC,EAAuBH,EACzBA,GACA,OAAOA,GAAgB,UACvB,YAAaA,GACbA,EAAY,SACZ,YAAaA,EAAY,QACtBA,EACDJ,EAAWtB,EAAW0B,CAAiC,EACzD1B,EAIE8B,GADJD,IAAkB9B,EAAa,QAAU8B,IAAkB7B,EAAY,OAAS,YAElE,SACV,yBAAyBwB,EAAeV,EAAee,CAAa,CAAC,CAAC,IACtE,GAEN,MAAO,wBAAwBF,CAAS,wBAAwBC,CAAQ,IAAIE,CAAW,EACzF"}
|
|
1
|
+
{"version":3,"file":"server.cjs.js","sources":["../src/tokens/themes/baseTheme.ts","../src/tokens/themes/lightTheme.ts","../src/tokens/themes/darkTheme.ts","../src/tokens/generate-css-vars.ts","../src/utils/deepMerge.ts","../src/tokens/utils.ts","../src/server.ts"],"sourcesContent":["import type { Theme } from '../types';\n\n\nexport const baseTheme: Omit<Theme, 'palette'> = {\n spacing: {\n unit: 4,\n },\n typography: {\n fontFamily: '\"Martian Grotesk\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n fontSize: {\n xs: '0.75rem',\n sm: '0.875rem',\n base: '1rem',\n lg: '1.125rem',\n xl: '1.25rem',\n '2xl': '1.5rem',\n '3xl': '1.75rem',\n '4xl': '2.5rem',\n },\n fontWeight: {\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75,\n },\n },\n shadows: {\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n base: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',\n none: 'none',\n },\n border: {\n base: '2px'\n },\n borderRadius: {\n none: '0',\n round: '50%',\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.375rem',\n lg: '0.5rem',\n xl: '0.75rem',\n '2xl': '1rem',\n full: '9999px',\n },\n transitions: {\n duration: {\n fast: '150ms',\n base: '200ms',\n slow: '300ms',\n verySlow: '500ms',\n },\n easing: {\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n easeOut: 'cubic-bezier(0, 0, 0.2, 1)',\n },\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n modalBackdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n} as const;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\nexport const lightTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#a9d0e7',\n hover: '#96c4de',\n active: '#7eb3d4',\n contrastText: '#171717',\n },\n secondary: {\n main: '#c8d69b',\n hover: '#d4e0b0',\n active: '#b8c882',\n contrastText: '#343b1b',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#24292e',\n secondary: '#5a6342',\n disabled: '#a3a3a3',\n },\n background: {\n default: '#fbfcee',\n accent: '#f6e6a5',\n paper: '#ffffff',\n },\n border: {\n default: '#c8d69b',\n subtle: '#e5e5e5',\n strong: '#5a6342',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\n/**\n * Темная тема\n * Расширяет базовую тему, добавляя темную цветовую палитру\n */\nexport const darkTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#6eb3e0',\n hover: '#85c4ed',\n active: '#5a9fd4',\n contrastText: '#ffffff',\n },\n secondary: {\n main: '#65a8d2',\n hover: '#b8c88a',\n active: '#96a85e',\n contrastText: '#0a0a0a',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#ffffff',\n secondary: '#e6e6e6',\n disabled: '#6b6b6b',\n },\n background: {\n default: '#0a0a0a',\n accent: '#141414',\n paper: '#1a1a1a',\n },\n border: {\n default: '#404040',\n subtle: '#2a2a2a',\n strong: '#525252',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from './types';\n\nfunction camelToKebab(str: string): string {\n return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction pathToCssVarName(path: string[]): string {\n return `--${path.join('-')}`;\n}\n\nfunction traverseObject(\n obj: unknown,\n path: string[],\n vars: Record<string, string>\n): void {\n if (obj === null || obj === undefined) {\n return;\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean') {\n const varName = pathToCssVarName(path);\n vars[varName] = String(obj);\n return;\n }\n\n if (Array.isArray(obj)) {\n obj.forEach((item, index) => {\n traverseObject(item, [...path, String(index)], vars);\n });\n return;\n }\n\n if (typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n const kebabKey = camelToKebab(key);\n traverseObject(value, [...path, kebabKey], vars);\n });\n }\n}\n\nexport function themeToCssVars(theme: Theme): Record<string, string> {\n const vars: Record<string, string> = {};\n traverseObject(theme, [], vars);\n return vars;\n}\n","type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] };\n\nexport function deepMerge<T>(target: T, source: DeepPartial<T>): T {\n if (source === null || source === undefined) {\n return target;\n }\n\n if (typeof source !== 'object' || Array.isArray(source)) {\n return source as T;\n }\n\n if (typeof target !== 'object' || Array.isArray(target)) {\n return source as T;\n }\n\n const result = { ...target };\n\n Object.keys(source).forEach((key) => {\n const sourceValue = (source as Record<string, unknown>)[key];\n const targetValue = (target as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n sourceValue !== undefined &&\n typeof sourceValue === 'object' &&\n !Array.isArray(sourceValue) &&\n typeof targetValue === 'object' &&\n !Array.isArray(targetValue) &&\n targetValue !== null\n ) {\n (result as Record<string, unknown>)[key] = deepMerge(targetValue, sourceValue);\n } else {\n (result as Record<string, unknown>)[key] = sourceValue;\n }\n });\n\n return result;\n}\n\n","import type { Theme } from './types';\nimport { deepMerge } from '../utils';\n\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport function mergeTheme(\n baseTheme: Theme,\n overrides: DeepPartial<Theme>\n): Theme {\n return deepMerge(baseTheme, overrides);\n}\n\nexport function getSpacingVar(\n spacing: number | string | undefined\n): string | undefined {\n if (spacing === undefined) return undefined;\n\n if (typeof spacing === 'number') {\n return `${spacing * 4}px`;\n }\n\n return spacing;\n}\n","import type { Theme } from './tokens/types';\nimport type { DeepPartial } from './tokens/utils';\nimport { darkTheme, lightTheme } from './tokens/themes';\nimport { themeToCssVars } from './tokens/generate-css-vars';\nimport { mergeTheme } from './tokens/utils';\n\nexport { darkTheme, lightTheme, baseTheme } from './tokens/themes';\nexport { themeToCssVars } from './tokens/generate-css-vars';\nexport { mergeTheme, type DeepPartial } from './tokens/utils';\nexport type { Theme } from './tokens/types';\n\nexport type ThemeMode = 'light' | 'dark';\n\nfunction cssVarsToBlock(vars: Record<string, string>): string {\n return Object.entries(vars)\n .map(([key, value]) => `${key}:${value}`)\n .join(';');\n}\n\n/**\n * Возвращает критический CSS в формате data-theme для SSR.\n * Вставьте результат в <style> и добавьте data-theme=\"light\"|\"dark\" на корневой элемент.\n *\n * @param mode — 'light' | 'dark'\n */\nexport function getCriticalThemeCss(mode: ThemeMode): string;\n\n/**\n * @param theme — объект темы (legacy). Определяется light/dark/custom по содержимому.\n */\nexport function getCriticalThemeCss(theme?: Theme | DeepPartial<Theme>): string;\n\nexport function getCriticalThemeCss(\n modeOrTheme?: ThemeMode | Theme | DeepPartial<Theme>\n): string {\n const lightVars = cssVarsToBlock(themeToCssVars(lightTheme));\n const darkVars = cssVarsToBlock(themeToCssVars(darkTheme));\n\n if (modeOrTheme === 'light' || modeOrTheme === 'dark') {\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}`;\n }\n\n const resolvedTheme: Theme = modeOrTheme\n ? modeOrTheme &&\n typeof modeOrTheme === 'object' &&\n 'palette' in modeOrTheme &&\n modeOrTheme.palette &&\n 'primary' in modeOrTheme.palette\n ? (modeOrTheme as Theme)\n : mergeTheme(darkTheme, modeOrTheme as DeepPartial<Theme>)\n : darkTheme;\n\n const themeName =\n resolvedTheme === lightTheme ? 'light' : resolvedTheme === darkTheme ? 'dark' : 'custom';\n const customBlock =\n themeName === 'custom'\n ? `[data-theme=\"custom\"]{${cssVarsToBlock(themeToCssVars(resolvedTheme))}}`\n : '';\n\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}${customBlock}`;\n}\n"],"names":["baseTheme","lightTheme","darkTheme","camelToKebab","str","pathToCssVarName","path","traverseObject","obj","vars","varName","item","index","key","value","kebabKey","themeToCssVars","theme","deepMerge","target","source","result","sourceValue","targetValue","mergeTheme","overrides","cssVarsToBlock","getCriticalThemeCss","modeOrTheme","lightVars","darkVars","resolvedTheme","customBlock"],"mappings":"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"}
|
package/dist/server.esm.js
CHANGED
package/dist/server.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.esm.js","sources":["../src/tokens/themes/baseTheme.ts","../src/tokens/themes/lightTheme.ts","../src/tokens/themes/darkTheme.ts","../src/tokens/generate-css-vars.ts","../src/utils/deepMerge.ts","../src/tokens/utils.ts","../src/server.ts"],"sourcesContent":["import type { Theme } from '../types';\n\n\nexport const baseTheme: Omit<Theme, 'palette'> = {\n spacing: {\n unit: 4,\n },\n typography: {\n fontFamily: '\"Martian Grotesk\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n fontSize: {\n xs: '0.75rem',\n sm: '0.875rem',\n base: '1rem',\n lg: '1.125rem',\n xl: '1.25rem',\n '2xl': '1.5rem',\n '3xl': '1.875rem',\n '4xl': '2.25rem',\n },\n fontWeight: {\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75,\n },\n },\n shadows: {\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n base: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',\n none: 'none',\n },\n border: {\n base: '2px'\n },\n borderRadius: {\n none: '0',\n round: '50%',\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.375rem',\n lg: '0.5rem',\n xl: '0.75rem',\n '2xl': '1rem',\n full: '9999px',\n },\n transitions: {\n duration: {\n fast: '150ms',\n base: '200ms',\n slow: '300ms',\n verySlow: '500ms',\n },\n easing: {\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n easeOut: 'cubic-bezier(0, 0, 0.2, 1)',\n },\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n modalBackdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n} as const;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\nexport const lightTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#a9d0e7',\n hover: '#96c4de',\n active: '#7eb3d4',\n contrastText: '#171717',\n },\n secondary: {\n main: '#c8d69b',\n hover: '#d4e0b0',\n active: '#b8c882',\n contrastText: '#343b1b',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#24292e',\n secondary: '#5a6342',\n disabled: '#a3a3a3',\n },\n background: {\n default: '#fbfcee',\n accent: '#f6e6a5',\n paper: '#ffffff',\n },\n border: {\n default: '#c8d69b',\n subtle: '#e5e5e5',\n strong: '#5a6342',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\n/**\n * Темная тема\n * Расширяет базовую тему, добавляя темную цветовую палитру\n */\nexport const darkTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#6eb3e0',\n hover: '#85c4ed',\n active: '#5a9fd4',\n contrastText: '#ffffff',\n },\n secondary: {\n main: '#65a8d2',\n hover: '#b8c88a',\n active: '#96a85e',\n contrastText: '#0a0a0a',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#ffffff',\n secondary: '#e6e6e6',\n disabled: '#6b6b6b',\n },\n background: {\n default: '#0a0a0a',\n accent: '#141414',\n paper: '#1a1a1a',\n },\n border: {\n default: '#404040',\n subtle: '#2a2a2a',\n strong: '#525252',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from './types';\n\nfunction camelToKebab(str: string): string {\n return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction pathToCssVarName(path: string[]): string {\n return `--${path.join('-')}`;\n}\n\nfunction traverseObject(\n obj: unknown,\n path: string[],\n vars: Record<string, string>\n): void {\n if (obj === null || obj === undefined) {\n return;\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean') {\n const varName = pathToCssVarName(path);\n vars[varName] = String(obj);\n return;\n }\n\n if (Array.isArray(obj)) {\n obj.forEach((item, index) => {\n traverseObject(item, [...path, String(index)], vars);\n });\n return;\n }\n\n if (typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n const kebabKey = camelToKebab(key);\n traverseObject(value, [...path, kebabKey], vars);\n });\n }\n}\n\nexport function themeToCssVars(theme: Theme): Record<string, string> {\n const vars: Record<string, string> = {};\n traverseObject(theme, [], vars);\n return vars;\n}\n","type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] };\n\nexport function deepMerge<T>(target: T, source: DeepPartial<T>): T {\n if (source === null || source === undefined) {\n return target;\n }\n\n if (typeof source !== 'object' || Array.isArray(source)) {\n return source as T;\n }\n\n if (typeof target !== 'object' || Array.isArray(target)) {\n return source as T;\n }\n\n const result = { ...target };\n\n Object.keys(source).forEach((key) => {\n const sourceValue = (source as Record<string, unknown>)[key];\n const targetValue = (target as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n sourceValue !== undefined &&\n typeof sourceValue === 'object' &&\n !Array.isArray(sourceValue) &&\n typeof targetValue === 'object' &&\n !Array.isArray(targetValue) &&\n targetValue !== null\n ) {\n (result as Record<string, unknown>)[key] = deepMerge(targetValue, sourceValue);\n } else {\n (result as Record<string, unknown>)[key] = sourceValue;\n }\n });\n\n return result;\n}\n\n","import type { Theme } from './types';\nimport { deepMerge } from '../utils';\n\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport function mergeTheme(\n baseTheme: Theme,\n overrides: DeepPartial<Theme>\n): Theme {\n return deepMerge(baseTheme, overrides);\n}\n\nexport function getSpacingVar(\n spacing: number | string | undefined\n): string | undefined {\n if (spacing === undefined) return undefined;\n\n if (typeof spacing === 'number') {\n return `${spacing * 4}px`;\n }\n\n return spacing;\n}\n","import type { Theme } from './tokens/types';\nimport type { DeepPartial } from './tokens/utils';\nimport { darkTheme, lightTheme } from './tokens/themes';\nimport { themeToCssVars } from './tokens/generate-css-vars';\nimport { mergeTheme } from './tokens/utils';\n\nexport { darkTheme, lightTheme, baseTheme } from './tokens/themes';\nexport { themeToCssVars } from './tokens/generate-css-vars';\nexport { mergeTheme, type DeepPartial } from './tokens/utils';\nexport type { Theme } from './tokens/types';\n\nexport type ThemeMode = 'light' | 'dark';\n\nfunction cssVarsToBlock(vars: Record<string, string>): string {\n return Object.entries(vars)\n .map(([key, value]) => `${key}:${value}`)\n .join(';');\n}\n\n/**\n * Возвращает критический CSS в формате data-theme для SSR.\n * Вставьте результат в <style> и добавьте data-theme=\"light\"|\"dark\" на корневой элемент.\n *\n * @param mode — 'light' | 'dark'\n */\nexport function getCriticalThemeCss(mode: ThemeMode): string;\n\n/**\n * @param theme — объект темы (legacy). Определяется light/dark/custom по содержимому.\n */\nexport function getCriticalThemeCss(theme?: Theme | DeepPartial<Theme>): string;\n\nexport function getCriticalThemeCss(\n modeOrTheme?: ThemeMode | Theme | DeepPartial<Theme>\n): string {\n const lightVars = cssVarsToBlock(themeToCssVars(lightTheme));\n const darkVars = cssVarsToBlock(themeToCssVars(darkTheme));\n\n if (modeOrTheme === 'light' || modeOrTheme === 'dark') {\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}`;\n }\n\n const resolvedTheme: Theme = modeOrTheme\n ? modeOrTheme &&\n typeof modeOrTheme === 'object' &&\n 'palette' in modeOrTheme &&\n modeOrTheme.palette &&\n 'primary' in modeOrTheme.palette\n ? (modeOrTheme as Theme)\n : mergeTheme(darkTheme, modeOrTheme as DeepPartial<Theme>)\n : darkTheme;\n\n const themeName =\n resolvedTheme === lightTheme ? 'light' : resolvedTheme === darkTheme ? 'dark' : 'custom';\n const customBlock =\n themeName === 'custom'\n ? `[data-theme=\"custom\"]{${cssVarsToBlock(themeToCssVars(resolvedTheme))}}`\n : '';\n\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}${customBlock}`;\n}\n"],"names":["baseTheme","lightTheme","darkTheme","camelToKebab","str","pathToCssVarName","path","traverseObject","obj","vars","varName","item","index","key","value","kebabKey","themeToCssVars","theme","deepMerge","target","source","result","sourceValue","targetValue","mergeTheme","overrides","cssVarsToBlock","getCriticalThemeCss","modeOrTheme","lightVars","darkVars","resolvedTheme","customBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.esm.js","sources":["../src/tokens/themes/baseTheme.ts","../src/tokens/themes/lightTheme.ts","../src/tokens/themes/darkTheme.ts","../src/tokens/generate-css-vars.ts","../src/utils/deepMerge.ts","../src/tokens/utils.ts","../src/server.ts"],"sourcesContent":["import type { Theme } from '../types';\n\n\nexport const baseTheme: Omit<Theme, 'palette'> = {\n spacing: {\n unit: 4,\n },\n typography: {\n fontFamily: '\"Martian Grotesk\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n fontSize: {\n xs: '0.75rem',\n sm: '0.875rem',\n base: '1rem',\n lg: '1.125rem',\n xl: '1.25rem',\n '2xl': '1.5rem',\n '3xl': '1.75rem',\n '4xl': '2.5rem',\n },\n fontWeight: {\n normal: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n tight: 1.25,\n normal: 1.5,\n relaxed: 1.75,\n },\n },\n shadows: {\n sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n base: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',\n none: 'none',\n },\n border: {\n base: '2px'\n },\n borderRadius: {\n none: '0',\n round: '50%',\n sm: '0.125rem',\n base: '0.25rem',\n md: '0.375rem',\n lg: '0.5rem',\n xl: '0.75rem',\n '2xl': '1rem',\n full: '9999px',\n },\n transitions: {\n duration: {\n fast: '150ms',\n base: '200ms',\n slow: '300ms',\n verySlow: '500ms',\n },\n easing: {\n easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',\n easeIn: 'cubic-bezier(0.4, 0, 1, 1)',\n easeOut: 'cubic-bezier(0, 0, 0.2, 1)',\n },\n },\n zIndex: {\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n modalBackdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n },\n} as const;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\nexport const lightTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#a9d0e7',\n hover: '#96c4de',\n active: '#7eb3d4',\n contrastText: '#171717',\n },\n secondary: {\n main: '#c8d69b',\n hover: '#d4e0b0',\n active: '#b8c882',\n contrastText: '#343b1b',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#24292e',\n secondary: '#5a6342',\n disabled: '#a3a3a3',\n },\n background: {\n default: '#fbfcee',\n accent: '#f6e6a5',\n paper: '#ffffff',\n },\n border: {\n default: '#c8d69b',\n subtle: '#e5e5e5',\n strong: '#5a6342',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from '../types';\nimport { baseTheme } from './baseTheme';\n\n/**\n * Темная тема\n * Расширяет базовую тему, добавляя темную цветовую палитру\n */\nexport const darkTheme = {\n ...baseTheme,\n palette: {\n primary: {\n main: '#6eb3e0',\n hover: '#85c4ed',\n active: '#5a9fd4',\n contrastText: '#ffffff',\n },\n secondary: {\n main: '#65a8d2',\n hover: '#b8c88a',\n active: '#96a85e',\n contrastText: '#0a0a0a',\n },\n error: {\n main: '#ef4444',\n hover: '#f87171',\n active: '#dc2626',\n },\n warning: {\n main: '#f59e0b',\n hover: '#fbbf24',\n active: '#d97706',\n },\n success: {\n main: '#22c55e',\n hover: '#4ade80',\n active: '#16a34a',\n },\n text: {\n primary: '#ffffff',\n secondary: '#e6e6e6',\n disabled: '#6b6b6b',\n },\n background: {\n default: '#0a0a0a',\n accent: '#141414',\n paper: '#1a1a1a',\n },\n border: {\n default: '#404040',\n subtle: '#2a2a2a',\n strong: '#525252',\n },\n },\n} satisfies Theme;\n\n","import type { Theme } from './types';\n\nfunction camelToKebab(str: string): string {\n return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction pathToCssVarName(path: string[]): string {\n return `--${path.join('-')}`;\n}\n\nfunction traverseObject(\n obj: unknown,\n path: string[],\n vars: Record<string, string>\n): void {\n if (obj === null || obj === undefined) {\n return;\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean') {\n const varName = pathToCssVarName(path);\n vars[varName] = String(obj);\n return;\n }\n\n if (Array.isArray(obj)) {\n obj.forEach((item, index) => {\n traverseObject(item, [...path, String(index)], vars);\n });\n return;\n }\n\n if (typeof obj === 'object') {\n Object.entries(obj).forEach(([key, value]) => {\n const kebabKey = camelToKebab(key);\n traverseObject(value, [...path, kebabKey], vars);\n });\n }\n}\n\nexport function themeToCssVars(theme: Theme): Record<string, string> {\n const vars: Record<string, string> = {};\n traverseObject(theme, [], vars);\n return vars;\n}\n","type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] };\n\nexport function deepMerge<T>(target: T, source: DeepPartial<T>): T {\n if (source === null || source === undefined) {\n return target;\n }\n\n if (typeof source !== 'object' || Array.isArray(source)) {\n return source as T;\n }\n\n if (typeof target !== 'object' || Array.isArray(target)) {\n return source as T;\n }\n\n const result = { ...target };\n\n Object.keys(source).forEach((key) => {\n const sourceValue = (source as Record<string, unknown>)[key];\n const targetValue = (target as Record<string, unknown>)[key];\n\n if (\n sourceValue !== null &&\n sourceValue !== undefined &&\n typeof sourceValue === 'object' &&\n !Array.isArray(sourceValue) &&\n typeof targetValue === 'object' &&\n !Array.isArray(targetValue) &&\n targetValue !== null\n ) {\n (result as Record<string, unknown>)[key] = deepMerge(targetValue, sourceValue);\n } else {\n (result as Record<string, unknown>)[key] = sourceValue;\n }\n });\n\n return result;\n}\n\n","import type { Theme } from './types';\nimport { deepMerge } from '../utils';\n\nexport type DeepPartial<T> = {\n [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];\n};\n\nexport function mergeTheme(\n baseTheme: Theme,\n overrides: DeepPartial<Theme>\n): Theme {\n return deepMerge(baseTheme, overrides);\n}\n\nexport function getSpacingVar(\n spacing: number | string | undefined\n): string | undefined {\n if (spacing === undefined) return undefined;\n\n if (typeof spacing === 'number') {\n return `${spacing * 4}px`;\n }\n\n return spacing;\n}\n","import type { Theme } from './tokens/types';\nimport type { DeepPartial } from './tokens/utils';\nimport { darkTheme, lightTheme } from './tokens/themes';\nimport { themeToCssVars } from './tokens/generate-css-vars';\nimport { mergeTheme } from './tokens/utils';\n\nexport { darkTheme, lightTheme, baseTheme } from './tokens/themes';\nexport { themeToCssVars } from './tokens/generate-css-vars';\nexport { mergeTheme, type DeepPartial } from './tokens/utils';\nexport type { Theme } from './tokens/types';\n\nexport type ThemeMode = 'light' | 'dark';\n\nfunction cssVarsToBlock(vars: Record<string, string>): string {\n return Object.entries(vars)\n .map(([key, value]) => `${key}:${value}`)\n .join(';');\n}\n\n/**\n * Возвращает критический CSS в формате data-theme для SSR.\n * Вставьте результат в <style> и добавьте data-theme=\"light\"|\"dark\" на корневой элемент.\n *\n * @param mode — 'light' | 'dark'\n */\nexport function getCriticalThemeCss(mode: ThemeMode): string;\n\n/**\n * @param theme — объект темы (legacy). Определяется light/dark/custom по содержимому.\n */\nexport function getCriticalThemeCss(theme?: Theme | DeepPartial<Theme>): string;\n\nexport function getCriticalThemeCss(\n modeOrTheme?: ThemeMode | Theme | DeepPartial<Theme>\n): string {\n const lightVars = cssVarsToBlock(themeToCssVars(lightTheme));\n const darkVars = cssVarsToBlock(themeToCssVars(darkTheme));\n\n if (modeOrTheme === 'light' || modeOrTheme === 'dark') {\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}`;\n }\n\n const resolvedTheme: Theme = modeOrTheme\n ? modeOrTheme &&\n typeof modeOrTheme === 'object' &&\n 'palette' in modeOrTheme &&\n modeOrTheme.palette &&\n 'primary' in modeOrTheme.palette\n ? (modeOrTheme as Theme)\n : mergeTheme(darkTheme, modeOrTheme as DeepPartial<Theme>)\n : darkTheme;\n\n const themeName =\n resolvedTheme === lightTheme ? 'light' : resolvedTheme === darkTheme ? 'dark' : 'custom';\n const customBlock =\n themeName === 'custom'\n ? `[data-theme=\"custom\"]{${cssVarsToBlock(themeToCssVars(resolvedTheme))}}`\n : '';\n\n return `[data-theme=\"light\"]{${lightVars}}[data-theme=\"dark\"]{${darkVars}}${customBlock}`;\n}\n"],"names":["baseTheme","lightTheme","darkTheme","camelToKebab","str","pathToCssVarName","path","traverseObject","obj","vars","varName","item","index","key","value","kebabKey","themeToCssVars","theme","deepMerge","target","source","result","sourceValue","targetValue","mergeTheme","overrides","cssVarsToBlock","getCriticalThemeCss","modeOrTheme","lightVars","darkVars","resolvedTheme","customBlock"],"mappings":"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"}
|