cirrojs 0.0.15 → 0.0.16

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/CHANGELOG.md CHANGED
@@ -13,6 +13,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
13
13
 
14
14
  ## [Unreleased]
15
15
 
16
+ ## [0.0.16] - 2026-06-29
17
+
18
+ ### Changed
19
+ - The layout option types (`StackOpt`, `ClusterOpt`, `CenterOpt`, `GridOpt`, `SwitcherOpt`, `SidebarOpt`, `CoverOpt`, `FrameOpt`, `ReelOpt`, `BoxOpt`) now type their CSS-derived fields with the matching `Properties` value types instead of `string`, enabling keyword autocompletion. Affected fields: `gap`, `CenterOpt.max`/`gutters`, `SidebarOpt.sideWidth`/`contentMin`, `CoverOpt.minHeight`/`padding`, `FrameOpt.ratio`, `ReelOpt.itemWidth`/`height`, and `BoxOpt.padding`/`border`. The `GridOpt.min`, `SwitcherOpt.threshold`, and `ImposterOpt.margin` fields remain `string` as they have no single corresponding CSS property.
20
+
16
21
  ## [0.0.15] - 2026-06-29
17
22
 
18
23
  ### Added
@@ -127,7 +132,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
127
132
  ## 0.0.1 - 2026-06-15
128
133
  - initial release
129
134
 
130
- [Unreleased]: https://github.com/osawa-naotaka/cirro/compare/v0.0.15...HEAD
135
+ [Unreleased]: https://github.com/osawa-naotaka/cirro/compare/v0.0.16...HEAD
136
+ [0.0.16]: https://github.com/osawa-naotaka/cirro/compare/v0.0.15...v0.0.16
131
137
  [0.0.15]: https://github.com/osawa-naotaka/cirro/compare/v0.0.14...v0.0.15
132
138
  [0.0.14]: https://github.com/osawa-naotaka/cirro/compare/v0.0.13...v0.0.14
133
139
  [0.0.13]: https://github.com/osawa-naotaka/cirro/compare/v0.0.12...v0.0.13
package/dist/layout.d.ts CHANGED
@@ -5,24 +5,24 @@ import { ComponentPropsWithoutRef, ReactNode } from "react";
5
5
  //#region src/layout.d.ts
6
6
  interface LayoutDefaults {
7
7
  gap: string;
8
- stackGap?: string;
9
- clusterGap?: string;
8
+ stackGap?: Properties["gap"];
9
+ clusterGap?: Properties["gap"];
10
10
  clusterWrap?: Properties["flex_wrap"];
11
- gridGap?: string;
12
- switcherGap?: string;
13
- sidebarGap?: string;
11
+ gridGap?: Properties["gap"];
12
+ switcherGap?: Properties["gap"];
13
+ sidebarGap?: Properties["gap"];
14
14
  clusterJustify: Properties["justify_content"];
15
15
  clusterAlign: Properties["align_items"];
16
- centerMax: string;
17
- centerGutters?: string;
16
+ centerMax: Properties["max_inline_size"];
17
+ centerGutters?: Properties["padding_inline"];
18
18
  gridMin: string;
19
19
  switcherThreshold: string;
20
20
  switcherLimit: number;
21
- sidebarContentMin: string;
22
- sidebarSideWidth: string;
23
- coverMinHeight: string;
24
- frameRatio: string;
25
- boxPadding?: string;
21
+ sidebarContentMin: Properties["min_inline_size"];
22
+ sidebarSideWidth: Properties["flex_basis"];
23
+ coverMinHeight: Properties["min_block_size"];
24
+ frameRatio: Properties["aspect_ratio"];
25
+ boxPadding?: Properties["padding"];
26
26
  }
27
27
  interface LayoutTheme {
28
28
  css?: CssFnT;
@@ -38,46 +38,46 @@ interface CoverSlots {
38
38
  centered: string;
39
39
  }
40
40
  interface StackOpt {
41
- gap?: string;
41
+ gap?: Properties["gap"];
42
42
  }
43
43
  interface ClusterOpt {
44
- gap?: string;
44
+ gap?: Properties["gap"];
45
45
  wrap?: Properties["flex_wrap"];
46
46
  justify?: Properties["justify_content"];
47
47
  align?: Properties["align_items"];
48
48
  }
49
49
  interface CenterOpt {
50
- max?: string;
51
- gutters?: string;
50
+ max?: Properties["max_inline_size"];
51
+ gutters?: Properties["padding_inline"];
52
52
  intrinsic?: boolean;
53
53
  andText?: boolean;
54
54
  }
55
55
  interface GridOpt {
56
- gap?: string;
56
+ gap?: Properties["gap"];
57
57
  min?: string;
58
58
  }
59
59
  interface SwitcherOpt {
60
60
  threshold?: string;
61
- gap?: string;
61
+ gap?: Properties["gap"];
62
62
  limit?: number;
63
63
  }
64
64
  interface SidebarOpt {
65
- sideWidth?: string;
66
- contentMin?: string;
67
- gap?: string;
65
+ sideWidth?: Properties["flex_basis"];
66
+ contentMin?: Properties["min_inline_size"];
67
+ gap?: Properties["gap"];
68
68
  }
69
69
  interface CoverOpt {
70
- minHeight?: string;
71
- gap?: string;
72
- padding?: string;
70
+ minHeight?: Properties["min_block_size"];
71
+ gap?: Properties["gap"];
72
+ padding?: Properties["padding"];
73
73
  }
74
74
  interface FrameOpt {
75
- ratio?: string;
75
+ ratio?: Properties["aspect_ratio"];
76
76
  }
77
77
  interface ReelOpt {
78
- itemWidth?: string;
79
- height?: string;
80
- gap?: string;
78
+ itemWidth?: Properties["flex_basis"];
79
+ height?: Properties["block_size"];
80
+ gap?: Properties["gap"];
81
81
  }
82
82
  interface ImposterOpt {
83
83
  fixed?: boolean;
@@ -85,8 +85,8 @@ interface ImposterOpt {
85
85
  margin?: string;
86
86
  }
87
87
  interface BoxOpt {
88
- padding?: string;
89
- border?: string;
88
+ padding?: Properties["padding"];
89
+ border?: Properties["border"];
90
90
  }
91
91
  type ElementOpt = Omit<ComponentPropsWithoutRef<"div">, "style">;
92
92
  interface Layout {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cirrojs",
3
- "version": "0.0.15",
3
+ "version": "0.0.16",
4
4
  "description": "React islands SSG with strict CSP (no unsafe-inline). Vite-based, MPA-first.",
5
5
  "license": "MIT",
6
6
  "type": "module",