@7onic-ui/react 0.2.6 → 0.2.8

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 CHANGED
@@ -33,6 +33,7 @@
33
33
  | **🔓** | **Framework-agnostic tokens** | Tokens ship as pure CSS variables. Use with Vue, Angular, Svelte, or vanilla CSS — no React required. |
34
34
  | **🤖** | **AI-ready** | Ships with `llms.txt` — AI builds with design tokens, not hardcoded values. Zero config for Claude, Cursor, Copilot. |
35
35
  | **🌏** | **CJK-first typography** | Type scale tuned for Japanese kanji, Korean hangul, and Latin — not an afterthought. |
36
+ | **🔐** | **Supply chain verified** | Cryptographically signed releases (npm provenance), automated vulnerability scanning in CI, reproducible builds. You can verify every package came from this exact GitHub commit — not a hijacked account. |
36
37
  | **🔥** | **Relentlessly updated** | Actively maintained with continuous research, refinement, and new features. Not abandoned — ever. |
37
38
 
38
39
  ---
@@ -263,10 +264,12 @@ Works with Claude Code, Cursor, GitHub Copilot, ChatGPT, and any AI tool that re
263
264
  - [x] Automated doc verification (8 checks, AST-powered, blocks publish on error)
264
265
  - [x] Automated component verification (7 checks — hardcoded colors, tokens, dark mode, dead code)
265
266
  - [x] Multilingual documentation — English, Japanese, Korean (powered by next-intl)
266
- - [x] npm package distribution — `@7onic-ui/react` + `@7onic-ui/tokens` v0.2.5
267
+ - [x] npm package distribution — `@7onic-ui/react` + `@7onic-ui/tokens` v0.2.7
267
268
  - [x] AI integration — `llms.txt` standard, setup guides for Claude Code / Cursor / Copilot / ChatGPT
268
269
  - [x] `npx 7onic add` CLI (shadcn-style) — source copy with dependency resolution
269
270
  - [x] `npx 7onic init` Vite support — `tsconfig.app.json` detection, `@import "tailwindcss"` + `@source` auto-inject, `@/` path alias auto-configure
271
+ - [x] Technical blog — [blog.7onic.design](https://blog.7onic.design) ("Design to Code" series)
272
+ - [x] Enterprise-grade supply chain security — cryptographically signed releases (npm provenance), automated vulnerability scanning on every build, reproducible installs. Protection against npm package hijacking attacks (like the 2026 axios incident)
270
273
  - [ ] Theme Customizer — live palette preview + CSS variable export
271
274
  - [ ] Figma UI Kit
272
275
  - [ ] Dashboard / landing templates
@@ -290,5 +293,5 @@ MIT
290
293
  <p align="center">
291
294
  <strong>One JSON, every format — from Figma to production.</strong><br>
292
295
  Independently built.<br>
293
- <sub>Last updated: 2026-04-15 (v0.2.5)</sub>
296
+ <sub>Last updated: 2026-04-16 (v0.2.7)</sub>
294
297
  </p>
package/dist/chart.d.mts CHANGED
@@ -74,7 +74,7 @@ type ChartTooltipContentProps = React.ComponentProps<'div'> & {
74
74
  labelKey?: string;
75
75
  };
76
76
  declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: ChartTooltipContentProps): React.JSX.Element | null;
77
- declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
77
+ declare const ChartLegend: typeof RechartsPrimitive.Legend;
78
78
  type LegendPayloadItem = {
79
79
  value?: string;
80
80
  type?: string;
@@ -150,7 +150,7 @@ declare const Chart: typeof ChartContainer & {
150
150
  Pie: typeof ChartPie;
151
151
  Tooltip: typeof ChartTooltip;
152
152
  TooltipContent: typeof ChartTooltipContent;
153
- Legend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
153
+ Legend: typeof RechartsPrimitive.Legend;
154
154
  LegendContent: typeof ChartLegendContent;
155
155
  XAxis: typeof ChartXAxis;
156
156
  YAxis: typeof ChartYAxis;
package/dist/chart.d.ts CHANGED
@@ -74,7 +74,7 @@ type ChartTooltipContentProps = React.ComponentProps<'div'> & {
74
74
  labelKey?: string;
75
75
  };
76
76
  declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: ChartTooltipContentProps): React.JSX.Element | null;
77
- declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
77
+ declare const ChartLegend: typeof RechartsPrimitive.Legend;
78
78
  type LegendPayloadItem = {
79
79
  value?: string;
80
80
  type?: string;
@@ -150,7 +150,7 @@ declare const Chart: typeof ChartContainer & {
150
150
  Pie: typeof ChartPie;
151
151
  Tooltip: typeof ChartTooltip;
152
152
  TooltipContent: typeof ChartTooltipContent;
153
- Legend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
153
+ Legend: typeof RechartsPrimitive.Legend;
154
154
  LegendContent: typeof ChartLegendContent;
155
155
  XAxis: typeof ChartXAxis;
156
156
  YAxis: typeof ChartYAxis;
package/dist/index.js CHANGED
@@ -1614,7 +1614,7 @@ var Field = Object.assign(FieldRoot, {
1614
1614
  var inputVariants = (0, import_class_variance_authority9.cva)(
1615
1615
  [
1616
1616
  "flex w-full bg-background text-foreground placeholder:text-foreground/30",
1617
- "border transition-colors duration-micro",
1617
+ "border transition-colors duration-micro outline-transparent",
1618
1618
  "focus:[outline:2px_solid_transparent]",
1619
1619
  "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-background-muted",
1620
1620
  "file:border-0 file:bg-transparent file:text-sm file:font-semibold"
@@ -1823,7 +1823,7 @@ var import_class_variance_authority10 = require("class-variance-authority");
1823
1823
  var textareaVariants = (0, import_class_variance_authority10.cva)(
1824
1824
  [
1825
1825
  "flex w-full bg-background text-foreground placeholder:text-foreground/30",
1826
- "border transition-colors duration-micro",
1826
+ "border transition-colors duration-micro outline-transparent",
1827
1827
  "focus:[outline:2px_solid_transparent]",
1828
1828
  "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-background-muted"
1829
1829
  ].join(" "),
@@ -2563,7 +2563,7 @@ var DropdownMenuContent = React17.forwardRef(({ className, sideOffset = 4, radiu
2563
2563
  onCloseAutoFocus?.(e);
2564
2564
  },
2565
2565
  className: cn(
2566
- "z-dropdown min-w-[8rem] overflow-hidden border border-border bg-background shadow-lg",
2566
+ "z-dropdown min-w-[8rem] overflow-hidden border border-border bg-background text-foreground shadow-lg",
2567
2567
  flush ? "py-1" : "p-1",
2568
2568
  contentRadiusMap[radius],
2569
2569
  className
@@ -2702,7 +2702,7 @@ var DropdownMenuSubContent = React17.forwardRef(({ className, ...props }, ref) =
2702
2702
  {
2703
2703
  ref,
2704
2704
  className: cn(
2705
- "z-dropdown min-w-[8rem] overflow-hidden border border-border bg-background shadow-lg",
2705
+ "z-dropdown min-w-[8rem] overflow-hidden border border-border bg-background text-foreground shadow-lg",
2706
2706
  flush ? "py-1" : "p-1",
2707
2707
  contentRadiusMap[radius],
2708
2708
  className
@@ -2862,7 +2862,7 @@ var SelectTrigger = React18.forwardRef(({ className, children, ...props }, ref)
2862
2862
  "flex w-full items-center justify-between bg-background text-foreground hover:bg-background-muted",
2863
2863
  "border border-border",
2864
2864
  triggerRadiusMap[radius],
2865
- "transition-colors duration-micro",
2865
+ "transition-colors duration-micro outline-transparent",
2866
2866
  "focus-visible:shadow-[0_0_0_2px_var(--color-focus-ring)] focus:[outline:2px_solid_transparent]",
2867
2867
  "disabled:cursor-not-allowed disabled:opacity-50",
2868
2868
  "data-[placeholder]:text-foreground/30",
@@ -2920,7 +2920,7 @@ var SelectContent = React18.forwardRef(({ className, children, position = "poppe
2920
2920
  onCloseAutoFocus?.(e);
2921
2921
  },
2922
2922
  className: cn(
2923
- "relative z-dropdown min-w-[var(--radix-select-trigger-width)] overflow-hidden border border-border bg-background shadow-lg",
2923
+ "relative z-dropdown min-w-[var(--radix-select-trigger-width)] overflow-hidden border border-border bg-background text-foreground shadow-lg",
2924
2924
  flush ? "py-1" : "p-1",
2925
2925
  contentRadiusMap2[contentRadius],
2926
2926
  position === "popper" && "max-h-[var(--radix-select-content-available-height)]",
@@ -5255,7 +5255,7 @@ var ModalContent = React27.forwardRef(({ className, children, size = "sm", scrol
5255
5255
  "div",
5256
5256
  {
5257
5257
  className: cn(
5258
- "relative w-full rounded-xl bg-background shadow-xl overflow-hidden",
5258
+ "relative w-full rounded-xl bg-background text-foreground shadow-xl overflow-hidden",
5259
5259
  modalContentVariants({ size }),
5260
5260
  className
5261
5261
  ),
@@ -5271,7 +5271,7 @@ var ModalContent = React27.forwardRef(({ className, children, size = "sm", scrol
5271
5271
  {
5272
5272
  ref,
5273
5273
  className: cn(
5274
- "relative w-full rounded-xl bg-background shadow-xl overflow-hidden",
5274
+ "relative w-full rounded-xl bg-background text-foreground shadow-xl overflow-hidden",
5275
5275
  "focus:outline-none",
5276
5276
  "data-[state=open]:animate-modal-content-enter data-[state=closed]:animate-modal-content-exit",
5277
5277
  modalContentVariants({ size }),
@@ -5375,7 +5375,7 @@ var AlertModalContent = React27.forwardRef(({ className, children, size = "sm",
5375
5375
  {
5376
5376
  ref,
5377
5377
  className: cn(
5378
- "relative w-full rounded-xl bg-background shadow-xl",
5378
+ "relative w-full rounded-xl bg-background text-foreground shadow-xl",
5379
5379
  "focus:outline-none",
5380
5380
  "data-[state=open]:animate-modal-content-enter data-[state=closed]:animate-modal-content-exit",
5381
5381
  alertModalContentVariants({ size }),
@@ -5557,7 +5557,7 @@ var DrawerContent = React28.forwardRef(({ className, children, side = "right", s
5557
5557
  {
5558
5558
  ref,
5559
5559
  className: cn(
5560
- "fixed z-modal flex flex-col bg-background shadow-xl",
5560
+ "fixed z-modal flex flex-col bg-background text-foreground shadow-xl",
5561
5561
  "focus:outline-none",
5562
5562
  SIDE_POSITION[side],
5563
5563
  isHorizontal ? "max-w-full h-full" : "max-h-full w-full",
@@ -5751,8 +5751,8 @@ var popoverContentVariants = (0, import_class_variance_authority25.cva)(
5751
5751
  {
5752
5752
  variants: {
5753
5753
  variant: {
5754
- default: "bg-background-paper border border-border shadow-lg",
5755
- elevated: "bg-background-paper/95 border border-border-subtle shadow-xl backdrop-blur-sm"
5754
+ default: "bg-background-paper text-foreground border border-border shadow-lg",
5755
+ elevated: "bg-background-paper/95 text-foreground border border-border-subtle shadow-xl backdrop-blur-sm"
5756
5756
  },
5757
5757
  size: {
5758
5758
  sm: "text-sm p-3 rounded-lg",