@arclux/arc-ui-react 2.3.1 → 2.5.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 CHANGED
@@ -1,8 +1,8 @@
1
1
  # @arclux/arc-ui-react
2
2
 
3
- React wrappers for [ARC UI](https://arcui.dev) web components with full TypeScript support.
3
+ React wrappers for [ARC UI](https://arcui.dev) web components with full TypeScript support, built on [`@lit/react`](https://www.npmjs.com/package/@lit/react).
4
4
 
5
- > **Auto-generated** -- this package is produced by [Prism](../../prism.config.js) from the canonical source in [`@arclux/arc-ui`](../web-components/). Do not edit by hand.
5
+ > **Auto-generated** — this package is produced by [Prism](https://www.npmjs.com/package/@arclux/prism) from the canonical source in [`@arclux/arc-ui`](https://www.npmjs.com/package/@arclux/arc-ui). Do not edit by hand.
6
6
 
7
7
  ## Installation
8
8
 
@@ -38,7 +38,7 @@ function App() {
38
38
  }
39
39
  ```
40
40
 
41
- Components are organized by category and can be imported from subpaths:
41
+ Components are organized by tier and can be imported from subpaths:
42
42
 
43
43
  ```tsx
44
44
  import { Button } from '@arclux/arc-ui-react/input';
@@ -46,12 +46,28 @@ import { Card } from '@arclux/arc-ui-react/content';
46
46
  import { AppShell } from '@arclux/arc-ui-react/layout';
47
47
  ```
48
48
 
49
- ## Documentation
49
+ ## Events
50
50
 
51
- Full component docs and interactive examples: [arcui.dev](https://arcui.dev)
51
+ Each component's `arc-*` CustomEvents are exposed as typed `onArc*` props (`arc-input` → `onArcInput`, `arc-select` → `onArcSelect`, …). The handler receives the original `CustomEvent`; payloads are on `event.detail`. Native DOM events (`onClick`, `onFocus`, …) work as usual.
52
+
53
+ ## Server-side rendering
54
+
55
+ The wrappers register custom elements on import, which requires a DOM. In server-rendered React (e.g. Next.js App Router), use them from client components (`'use client'`).
56
+
57
+ ## Theming
58
+
59
+ Components read design tokens from CSS custom properties. Overriding the base accent tokens re-themes every component — see the [theming guide](https://arcui.dev/docs/theming):
60
+
61
+ ```css
62
+ :root {
63
+ --accent-primary: rgb(77, 126, 247);
64
+ --accent-primary-rgb: 77, 126, 247;
65
+ }
66
+ ```
52
67
 
53
68
  ## Links
54
69
 
55
- - [Canonical source (`@arclux/arc-ui`)](../web-components/)
56
- - [Root README](../../README.md)
57
- - [License](../../LICENSE)
70
+ - [Documentation & interactive examples](https://arcui.dev)
71
+ - [Canonical source (`@arclux/arc-ui`)](https://www.npmjs.com/package/@arclux/arc-ui)
72
+ - [Repository](https://github.com/arclight-digital/arc-ui)
73
+ - [License (MIT)](https://github.com/arclight-digital/arc-ui/blob/main/LICENSE)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arclux/arc-ui-react",
3
- "version": "2.3.1",
3
+ "version": "2.5.0",
4
4
  "description": "React wrappers for ARC UI Web Components.",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -54,7 +54,7 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "@lit/react": "^1.0.8",
57
- "@arclux/arc-ui": "2.3.1"
57
+ "@arclux/arc-ui": "2.5.0"
58
58
  },
59
59
  "license": "MIT",
60
60
  "keywords": [
@@ -6,7 +6,7 @@ import { ArcEventCalendar } from '@arclux/arc-ui/event-calendar';
6
6
 
7
7
  export interface EventCalendarProps {
8
8
  events?: unknown[];
9
- view?: string;
9
+ view?: 'week';
10
10
  date?: string;
11
11
  className?: string;
12
12
  children?: React.ReactNode;
@@ -0,0 +1,17 @@
1
+ // Auto-generated by @arclux/prism — do not edit manually
2
+
3
+ import React from 'react';
4
+ import { createComponent } from '@lit/react';
5
+ import { ArcCommandGroup } from '@arclux/arc-ui/command-group';
6
+
7
+ export interface CommandGroupProps {
8
+ heading?: string;
9
+ className?: string;
10
+ children?: React.ReactNode;
11
+ }
12
+
13
+ export const CommandGroup = createComponent({
14
+ tagName: 'arc-command-group',
15
+ elementClass: ArcCommandGroup,
16
+ react: React,
17
+ });
@@ -7,6 +7,7 @@ import { ArcCommandItem } from '@arclux/arc-ui/command-item';
7
7
  export interface CommandItemProps {
8
8
  shortcut?: string;
9
9
  icon?: string;
10
+ keywords?: string;
10
11
  className?: string;
11
12
  children?: React.ReactNode;
12
13
  }
@@ -6,7 +6,7 @@ import { ArcNotificationPanel } from '@arclux/arc-ui/notification-panel';
6
6
 
7
7
  export interface NotificationPanelProps {
8
8
  open?: boolean;
9
- position?: string;
9
+ position?: 'top-left' | 'top-right';
10
10
  maxHeight?: string;
11
11
  className?: string;
12
12
  children?: React.ReactNode;
@@ -74,3 +74,6 @@ export type { ProgressProps } from './Progress.js';
74
74
 
75
75
  export { Toast } from './Toast.js';
76
76
  export type { ToastProps } from './Toast.js';
77
+
78
+ export { CommandGroup } from './CommandGroup.js';
79
+ export type { CommandGroupProps } from './CommandGroup.js';
package/src/index.ts CHANGED
@@ -554,3 +554,6 @@ export type { MenubarProps } from './navigation/Menubar.js';
554
554
 
555
555
  export { ToastManager } from './feedback/ToastManager.js';
556
556
  export type { ToastManagerProps } from './feedback/ToastManager.js';
557
+
558
+ export { CommandGroup } from './feedback/CommandGroup.js';
559
+ export type { CommandGroupProps } from './feedback/CommandGroup.js';
@@ -5,7 +5,7 @@ import { createComponent } from '@lit/react';
5
5
  import { ArcPageLayout } from '@arclux/arc-ui/page-layout';
6
6
 
7
7
  export interface PageLayoutProps {
8
- layout?: string;
8
+ layout?: 'centered' | 'wide' | 'sidebar-left' | 'sidebar-right';
9
9
  maxWidth?: string;
10
10
  gap?: string;
11
11
  className?: string;
@@ -5,7 +5,7 @@ import { createComponent, type EventName } from '@lit/react';
5
5
  import { ArcSplitPane } from '@arclux/arc-ui/split-pane';
6
6
 
7
7
  export interface SplitPaneProps {
8
- orientation?: string;
8
+ orientation?: 'vertical' | 'horizontal';
9
9
  ratio?: number;
10
10
  minRatio?: number;
11
11
  maxRatio?: number;
@@ -5,7 +5,7 @@ import { createComponent } from '@lit/react';
5
5
  import { ArcStatusBar } from '@arclux/arc-ui/status-bar';
6
6
 
7
7
  export interface StatusBarProps {
8
- position?: string;
8
+ position?: 'fixed';
9
9
  className?: string;
10
10
  children?: React.ReactNode;
11
11
  }
@@ -6,7 +6,7 @@ import { ArcToolbar } from '@arclux/arc-ui/toolbar';
6
6
 
7
7
  export interface ToolbarProps {
8
8
  sticky?: boolean;
9
- size?: string;
9
+ size?: 'sm';
10
10
  border?: boolean;
11
11
  overflow?: boolean;
12
12
  className?: string;
@@ -6,7 +6,7 @@ import { ArcBlockquote } from '@arclux/arc-ui/blockquote';
6
6
 
7
7
  export interface BlockquoteProps {
8
8
  cite?: string;
9
- variant?: string;
9
+ variant?: 'accent';
10
10
  className?: string;
11
11
  children?: React.ReactNode;
12
12
  }