@almadar/ui 5.26.2 → 5.28.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/dist/avl/index.cjs +2617 -2958
- package/dist/avl/index.js +1584 -1925
- package/dist/components/core/atoms/Avatar.d.ts +4 -4
- package/dist/components/core/atoms/Badge.d.ts +3 -2
- package/dist/components/core/atoms/Button.d.ts +7 -7
- package/dist/components/core/atoms/Card.d.ts +3 -0
- package/dist/components/core/atoms/Checkbox.d.ts +4 -1
- package/dist/components/core/atoms/FilterPill.d.ts +3 -2
- package/dist/components/core/atoms/Icon.d.ts +10 -1
- package/dist/components/core/atoms/Input.d.ts +9 -10
- package/dist/components/core/atoms/Select.d.ts +3 -1
- package/dist/components/core/atoms/Textarea.d.ts +3 -1
- package/dist/components/core/atoms/index.d.ts +1 -1
- package/dist/components/core/atoms/types.d.ts +2 -1
- package/dist/components/core/molecules/Breadcrumb.d.ts +3 -3
- package/dist/components/core/molecules/Card.d.ts +4 -3
- package/dist/components/core/molecules/Carousel.d.ts +2 -2
- package/dist/components/core/molecules/DataGrid.d.ts +5 -4
- package/dist/components/core/molecules/DataList.d.ts +7 -6
- package/dist/components/core/molecules/DocumentViewer.d.ts +3 -2
- package/dist/components/core/molecules/EmptyState.d.ts +2 -2
- package/dist/components/core/molecules/FloatingActionButton.d.ts +5 -5
- package/dist/components/core/molecules/FormSectionHeader.d.ts +3 -2
- package/dist/components/core/molecules/Header.d.ts +5 -4
- package/dist/components/core/molecules/JsonTreeEditor.d.ts +18 -0
- package/dist/components/core/molecules/Lightbox.d.ts +2 -1
- package/dist/components/core/molecules/Menu.d.ts +3 -3
- package/dist/components/core/molecules/Navigation.d.ts +2 -2
- package/dist/components/core/molecules/PageHeader.d.ts +2 -2
- package/dist/components/core/molecules/Sidebar.d.ts +5 -5
- package/dist/components/core/molecules/StatDisplay.d.ts +3 -2
- package/dist/components/core/molecules/SwipeableRow.d.ts +2 -1
- package/dist/components/core/molecules/TableView.d.ts +5 -4
- package/dist/components/core/molecules/Tabs.d.ts +2 -2
- package/dist/components/core/molecules/UploadDropZone.d.ts +3 -2
- package/dist/components/core/molecules/index.d.ts +1 -0
- package/dist/components/core/organisms/ComponentPatterns.d.ts +0 -306
- package/dist/components/core/organisms/CustomPattern.d.ts +3 -3
- package/dist/components/core/organisms/DataTable.d.ts +5 -5
- package/dist/components/core/organisms/DetailPanel.d.ts +3 -3
- package/dist/components/core/organisms/Form.d.ts +3 -2
- package/dist/components/core/organisms/LayoutPatterns.d.ts +0 -74
- package/dist/components/core/organisms/List.d.ts +4 -4
- package/dist/components/core/organisms/MediaGallery.d.ts +3 -3
- package/dist/components/core/organisms/StatCard.d.ts +4 -4
- package/dist/components/core/organisms/Timeline.d.ts +2 -2
- package/dist/components/core/templates/DashboardLayout.d.ts +6 -6
- package/dist/components/game/atoms/ActionButton.d.ts +2 -2
- package/dist/components/game/atoms/ControlButton.d.ts +2 -2
- package/dist/components/game/atoms/ItemSlot.d.ts +2 -2
- package/dist/components/game/atoms/ResourceCounter.d.ts +2 -2
- package/dist/components/game/atoms/ScoreDisplay.d.ts +2 -2
- package/dist/components/game/atoms/StateIndicator.d.ts +2 -1
- package/dist/components/game/atoms/StatusEffect.d.ts +3 -2
- package/dist/components/game/atoms/WaypointMarker.d.ts +2 -2
- package/dist/components/game/molecules/ActionButtons.d.ts +2 -8
- package/dist/components/game/molecules/CraftingRecipe.d.ts +3 -3
- package/dist/components/game/molecules/EnemyPlate.d.ts +2 -2
- package/dist/components/game/molecules/GameCanvas2D.d.ts +3 -2
- package/dist/components/game/molecules/GameHud.d.ts +3 -2
- package/dist/components/game/molecules/GameOverScreen.d.ts +2 -2
- package/dist/components/game/molecules/HealthPanel.d.ts +2 -2
- package/dist/components/game/molecules/InventoryGrid.d.ts +2 -2
- package/dist/components/game/molecules/IsometricCanvas.d.ts +4 -4
- package/dist/components/game/molecules/PlatformerCanvas.d.ts +5 -5
- package/dist/components/game/molecules/PowerupSlots.d.ts +2 -2
- package/dist/components/game/molecules/ResourceBar.d.ts +2 -2
- package/dist/components/game/molecules/StatBadge.d.ts +2 -2
- package/dist/components/game/molecules/TurnPanel.d.ts +2 -2
- package/dist/components/game/molecules/UnitCommandBar.d.ts +2 -2
- package/dist/components/game/organisms/BattleBoard.d.ts +2 -2
- package/dist/components/game/organisms/CanvasEffect.d.ts +3 -3
- package/dist/components/game/organisms/TraitSlot.d.ts +3 -3
- package/dist/components/game/organisms/WorldMapBoard.d.ts +2 -2
- package/dist/components/game/organisms/puzzles/builder/BuilderBoard.d.ts +2 -2
- package/dist/components/game/organisms/puzzles/classifier/ClassifierBoard.d.ts +3 -3
- package/dist/components/game/organisms/types/effects.d.ts +8 -7
- package/dist/components/game/organisms/types/isometric.d.ts +5 -4
- package/dist/components/game/organisms/types/spriteAnimation.d.ts +4 -3
- package/dist/components/game/organisms/useCanvasEffects.d.ts +2 -1
- package/dist/components/index.cjs +2728 -2822
- package/dist/components/index.js +1851 -1945
- package/dist/components/marketing/atoms/AnimatedGraphic.d.ts +2 -1
- package/dist/components/marketing/molecules/FeatureCard.d.ts +2 -2
- package/dist/components/marketing/molecules/MarketingFooter.d.ts +2 -1
- package/dist/components/marketing/molecules/StepFlow.d.ts +2 -1
- package/dist/components/marketing/molecules/TeamCard.d.ts +2 -1
- package/dist/components/marketing/organisms/book/BookCoverPage.d.ts +2 -1
- package/dist/components/marketing/templates/AboutPageTemplate.d.ts +2 -1
- package/dist/components/marketing/templates/AuthLayout.d.ts +2 -1
- package/dist/components/marketing/templates/LandingPageTemplate.d.ts +3 -2
- package/dist/docs/index.cjs +54 -11
- package/dist/docs/index.d.cts +48 -37
- package/dist/docs/index.js +54 -11
- package/dist/marketing/index.cjs +27 -13
- package/dist/marketing/index.d.cts +72 -61
- package/dist/marketing/index.js +27 -13
- package/dist/providers/index.cjs +2444 -2785
- package/dist/providers/index.js +1562 -1903
- package/dist/runtime/index.cjs +2482 -2823
- package/dist/runtime/index.js +1564 -1905
- package/package.json +2 -2
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* No entity prop, no data fetching, no hooks beyond icon resolution.
|
|
7
7
|
*/
|
|
8
8
|
import React from 'react';
|
|
9
|
+
import type { IconInput } from '../atoms';
|
|
9
10
|
import type { UiError } from '../atoms/types';
|
|
10
11
|
export type StatDisplayLook = 'elevated' | 'flat' | 'progress-backed' | 'gauge' | 'sparkline';
|
|
11
12
|
export interface StatDisplayProps {
|
|
@@ -31,8 +32,8 @@ export interface StatDisplayProps {
|
|
|
31
32
|
prefix?: string;
|
|
32
33
|
/** Suffix appended to the formatted value (e.g. " /mo", " ms"). */
|
|
33
34
|
suffix?: string;
|
|
34
|
-
/** Lucide icon name or
|
|
35
|
-
icon?:
|
|
35
|
+
/** Lucide icon name or component */
|
|
36
|
+
icon?: IconInput;
|
|
36
37
|
/** Icon background color class */
|
|
37
38
|
iconBg?: string;
|
|
38
39
|
/** Icon color class */
|
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import type { EventKey, EventPayload } from "@almadar/core";
|
|
10
|
+
import type { IconInput } from '../atoms';
|
|
10
11
|
export interface SwipeAction {
|
|
11
12
|
label: string;
|
|
12
|
-
icon?:
|
|
13
|
+
icon?: IconInput;
|
|
13
14
|
variant?: 'primary' | 'secondary' | 'danger' | 'ghost';
|
|
14
15
|
event: EventKey;
|
|
15
16
|
eventPayload?: EventPayload;
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import React from 'react';
|
|
15
15
|
import type { EntityRow, EventKey } from '@almadar/core';
|
|
16
|
+
import type { IconInput } from '../atoms';
|
|
16
17
|
import { type DataDndProps } from './useDataDnd';
|
|
17
18
|
import type { UiError } from '../atoms/types';
|
|
18
19
|
export interface TableViewColumn {
|
|
@@ -36,8 +37,8 @@ export interface TableViewColumn {
|
|
|
36
37
|
weight?: 'normal' | 'medium' | 'semibold';
|
|
37
38
|
/** Value formatting hint. `badge` renders a status Badge. */
|
|
38
39
|
format?: 'badge' | 'date' | 'currency' | 'number' | 'percent' | 'boolean';
|
|
39
|
-
/** Lucide icon shown before the header label. */
|
|
40
|
-
icon?:
|
|
40
|
+
/** Lucide icon name or component shown before the header label. */
|
|
41
|
+
icon?: IconInput;
|
|
41
42
|
/** Allow click-to-sort on this column's header (emits `sortEvent`). */
|
|
42
43
|
sortable?: boolean;
|
|
43
44
|
}
|
|
@@ -46,8 +47,8 @@ export interface TableViewItemAction {
|
|
|
46
47
|
label: string;
|
|
47
48
|
/** Event name to emit (dispatched as UI:{event} with { id, row }). */
|
|
48
49
|
event: EventKey;
|
|
49
|
-
/** Lucide icon name. */
|
|
50
|
-
icon?:
|
|
50
|
+
/** Lucide icon name or component. */
|
|
51
|
+
icon?: IconInput;
|
|
51
52
|
/** Button variant. */
|
|
52
53
|
variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
53
54
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Uses theme-aware CSS variables for styling.
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import type { LucideIcon } from 'lucide-react';
|
|
9
8
|
import type { EventEmit } from '@almadar/core';
|
|
9
|
+
import type { IconInput } from '../atoms';
|
|
10
10
|
export interface TabItem {
|
|
11
11
|
/**
|
|
12
12
|
* Tab ID. Optional — schema-driven callers may pass `value` instead;
|
|
@@ -23,7 +23,7 @@ export interface TabItem {
|
|
|
23
23
|
/** Tab content - optional for event-driven tabs */
|
|
24
24
|
content?: React.ReactNode;
|
|
25
25
|
/** Tab icon — pass either a Lucide component or its registry name (e.g. "file-text") */
|
|
26
|
-
icon?:
|
|
26
|
+
icon?: IconInput;
|
|
27
27
|
/** Tab badge */
|
|
28
28
|
badge?: string | number;
|
|
29
29
|
/** Disable tab */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { EventKey, EventPayload } from "@almadar/core";
|
|
3
|
+
import type { IconInput } from "../atoms";
|
|
3
4
|
export interface UploadDropZoneProps {
|
|
4
5
|
/** Accepted MIME types (e.g., "image/*", "application/pdf") */
|
|
5
6
|
accept?: string;
|
|
@@ -11,8 +12,8 @@ export interface UploadDropZoneProps {
|
|
|
11
12
|
label?: string;
|
|
12
13
|
/** Description text below label */
|
|
13
14
|
description?: string;
|
|
14
|
-
/** Icon name
|
|
15
|
-
icon?:
|
|
15
|
+
/** Icon name or component */
|
|
16
|
+
icon?: IconInput;
|
|
16
17
|
/** Disabled state */
|
|
17
18
|
disabled?: boolean;
|
|
18
19
|
/** Declarative event name for file selection */
|
|
@@ -2,6 +2,7 @@ export { ErrorBoundary, type ErrorBoundaryProps } from './ErrorBoundary';
|
|
|
2
2
|
export { ArrayEditor, type ArrayEditorProps } from './ArrayEditor';
|
|
3
3
|
export { ObjectEditor, type ObjectEditorProps } from './ObjectEditor';
|
|
4
4
|
export { MapEditor, type MapEditorProps } from './MapEditor';
|
|
5
|
+
export { JsonTreeEditor, type JsonTreeEditorProps } from './JsonTreeEditor';
|
|
5
6
|
export { FileTree, type FileTreeProps, type FileTreeNode } from './FileTree';
|
|
6
7
|
export { FormField, type FormFieldProps } from './FormField';
|
|
7
8
|
export { EmptyState, type EmptyStateProps } from './EmptyState';
|
|
@@ -12,9 +12,7 @@ import React from 'react';
|
|
|
12
12
|
import type { EventKey, EventPayload } from '@almadar/core';
|
|
13
13
|
import type { UiError } from '../atoms/types';
|
|
14
14
|
import { type ButtonProps } from '../atoms/Button';
|
|
15
|
-
import { type BadgeVariant } from '../atoms/Badge';
|
|
16
15
|
import { type AlertVariant } from '../molecules/Alert';
|
|
17
|
-
import { type MapViewProps } from '../molecules/MapView';
|
|
18
16
|
/**
|
|
19
17
|
* Base closed circuit props required by all organism components.
|
|
20
18
|
*/
|
|
@@ -116,56 +114,6 @@ export declare function TextPattern({ content, variant, size, weight, color, ali
|
|
|
116
114
|
export declare namespace TextPattern {
|
|
117
115
|
var displayName: string;
|
|
118
116
|
}
|
|
119
|
-
export interface HeadingPatternProps extends ClosedCircuitProps {
|
|
120
|
-
content: string;
|
|
121
|
-
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
122
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
|
|
123
|
-
className?: string;
|
|
124
|
-
}
|
|
125
|
-
export declare function HeadingPattern({ content, level, size, className, }: HeadingPatternProps): React.ReactElement;
|
|
126
|
-
export declare namespace HeadingPattern {
|
|
127
|
-
var displayName: string;
|
|
128
|
-
}
|
|
129
|
-
export interface BadgePatternProps extends ClosedCircuitProps {
|
|
130
|
-
label: string;
|
|
131
|
-
variant?: BadgeVariant;
|
|
132
|
-
size?: 'sm' | 'md';
|
|
133
|
-
className?: string;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Badge pattern for status/counts.
|
|
137
|
-
*/
|
|
138
|
-
export declare function BadgePattern({ label, variant, size, className, }: BadgePatternProps): React.ReactElement;
|
|
139
|
-
export declare namespace BadgePattern {
|
|
140
|
-
var displayName: string;
|
|
141
|
-
}
|
|
142
|
-
export interface AvatarPatternProps extends ClosedCircuitProps {
|
|
143
|
-
src?: string;
|
|
144
|
-
alt?: string;
|
|
145
|
-
name?: string;
|
|
146
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
147
|
-
className?: string;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Avatar pattern.
|
|
151
|
-
*/
|
|
152
|
-
export declare function AvatarPattern({ src, alt, name, size, className, }: AvatarPatternProps): React.ReactElement;
|
|
153
|
-
export declare namespace AvatarPattern {
|
|
154
|
-
var displayName: string;
|
|
155
|
-
}
|
|
156
|
-
export interface IconPatternProps extends ClosedCircuitProps {
|
|
157
|
-
name: string;
|
|
158
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
159
|
-
color?: string;
|
|
160
|
-
className?: string;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Icon pattern.
|
|
164
|
-
*/
|
|
165
|
-
export declare function IconPattern({ name, size, color, className, }: IconPatternProps): React.ReactElement;
|
|
166
|
-
export declare namespace IconPattern {
|
|
167
|
-
var displayName: string;
|
|
168
|
-
}
|
|
169
117
|
export interface ImagePatternProps extends ClosedCircuitProps {
|
|
170
118
|
src: string;
|
|
171
119
|
alt: string;
|
|
@@ -182,144 +130,6 @@ export declare function ImagePattern({ src, alt, width, height, objectFit, class
|
|
|
182
130
|
export declare namespace ImagePattern {
|
|
183
131
|
var displayName: string;
|
|
184
132
|
}
|
|
185
|
-
export interface CardPatternProps extends ClosedCircuitProps {
|
|
186
|
-
title?: string;
|
|
187
|
-
subtitle?: string;
|
|
188
|
-
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
189
|
-
shadow?: 'none' | 'sm' | 'md' | 'lg';
|
|
190
|
-
onClick?: string;
|
|
191
|
-
className?: string;
|
|
192
|
-
children?: React.ReactNode;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Card pattern.
|
|
196
|
-
*/
|
|
197
|
-
export declare function CardPattern({ title, subtitle, padding, shadow, onClick, className, children, }: CardPatternProps): React.ReactElement;
|
|
198
|
-
export declare namespace CardPattern {
|
|
199
|
-
var displayName: string;
|
|
200
|
-
}
|
|
201
|
-
export interface ProgressBarPatternProps extends ClosedCircuitProps {
|
|
202
|
-
value: number;
|
|
203
|
-
max?: number;
|
|
204
|
-
variant?: 'default' | 'primary' | 'success' | 'warning' | 'danger';
|
|
205
|
-
size?: 'sm' | 'md' | 'lg';
|
|
206
|
-
showLabel?: boolean;
|
|
207
|
-
className?: string;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Progress bar pattern.
|
|
211
|
-
*/
|
|
212
|
-
export declare function ProgressBarPattern({ value, max, variant, size, showLabel, className, }: ProgressBarPatternProps): React.ReactElement;
|
|
213
|
-
export declare namespace ProgressBarPattern {
|
|
214
|
-
var displayName: string;
|
|
215
|
-
}
|
|
216
|
-
export interface SpinnerPatternProps extends ClosedCircuitProps {
|
|
217
|
-
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
218
|
-
color?: string;
|
|
219
|
-
className?: string;
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Spinner pattern.
|
|
223
|
-
*/
|
|
224
|
-
export declare function SpinnerPattern({ size, className, }: SpinnerPatternProps): React.ReactElement;
|
|
225
|
-
export declare namespace SpinnerPattern {
|
|
226
|
-
var displayName: string;
|
|
227
|
-
}
|
|
228
|
-
export interface InputPatternProps extends ClosedCircuitProps {
|
|
229
|
-
value?: string;
|
|
230
|
-
placeholder?: string;
|
|
231
|
-
inputType?: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';
|
|
232
|
-
disabled?: boolean;
|
|
233
|
-
/** Field-level validation error message */
|
|
234
|
-
fieldError?: string;
|
|
235
|
-
onChange?: string;
|
|
236
|
-
onBlur?: string;
|
|
237
|
-
className?: string;
|
|
238
|
-
/** Form field name. When the input is rendered inside a form-section's
|
|
239
|
-
* `fields:` array, the runtime injects this from the field config so
|
|
240
|
-
* the rendered DOM input carries `data-field-name="<name>"` and
|
|
241
|
-
* `name="<name>"` — verifier-side automation (e.g. orbital-verify's
|
|
242
|
-
* `fillFormFieldsFromMap`) selects fields by these attributes. */
|
|
243
|
-
fieldName?: string;
|
|
244
|
-
}
|
|
245
|
-
/**
|
|
246
|
-
* Input pattern.
|
|
247
|
-
*/
|
|
248
|
-
export declare function InputPattern({ value, placeholder, inputType, disabled, fieldError, onChange, onBlur, className, fieldName, }: InputPatternProps): React.ReactElement;
|
|
249
|
-
export declare namespace InputPattern {
|
|
250
|
-
var displayName: string;
|
|
251
|
-
}
|
|
252
|
-
export interface TextareaPatternProps extends ClosedCircuitProps {
|
|
253
|
-
value?: string;
|
|
254
|
-
placeholder?: string;
|
|
255
|
-
rows?: number;
|
|
256
|
-
disabled?: boolean;
|
|
257
|
-
/** Field-level validation error message */
|
|
258
|
-
fieldError?: string;
|
|
259
|
-
onChange?: string;
|
|
260
|
-
className?: string;
|
|
261
|
-
/** Form field name — see `InputPatternProps.fieldName`. */
|
|
262
|
-
fieldName?: string;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Textarea pattern.
|
|
266
|
-
*/
|
|
267
|
-
export declare function TextareaPattern({ value, placeholder, rows, disabled, fieldError, onChange, className, fieldName, }: TextareaPatternProps): React.ReactElement;
|
|
268
|
-
export declare namespace TextareaPattern {
|
|
269
|
-
var displayName: string;
|
|
270
|
-
}
|
|
271
|
-
export interface SelectPatternProps extends ClosedCircuitProps {
|
|
272
|
-
value?: string;
|
|
273
|
-
options: Array<{
|
|
274
|
-
value: string;
|
|
275
|
-
label: string;
|
|
276
|
-
}>;
|
|
277
|
-
placeholder?: string;
|
|
278
|
-
disabled?: boolean;
|
|
279
|
-
/** Field-level validation error message */
|
|
280
|
-
fieldError?: string;
|
|
281
|
-
onChange?: string;
|
|
282
|
-
className?: string;
|
|
283
|
-
/** Form field name — see `InputPatternProps.fieldName`. */
|
|
284
|
-
fieldName?: string;
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Select pattern.
|
|
288
|
-
*/
|
|
289
|
-
export declare function SelectPattern({ value, options, placeholder, disabled, fieldError, onChange, className, fieldName, }: SelectPatternProps): React.ReactElement;
|
|
290
|
-
export declare namespace SelectPattern {
|
|
291
|
-
var displayName: string;
|
|
292
|
-
}
|
|
293
|
-
export interface CheckboxPatternProps extends ClosedCircuitProps {
|
|
294
|
-
checked?: boolean;
|
|
295
|
-
label?: string;
|
|
296
|
-
disabled?: boolean;
|
|
297
|
-
onChange?: string;
|
|
298
|
-
className?: string;
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Checkbox pattern.
|
|
302
|
-
*/
|
|
303
|
-
export declare function CheckboxPattern({ checked, label, disabled, onChange, className, }: CheckboxPatternProps): React.ReactElement;
|
|
304
|
-
export declare namespace CheckboxPattern {
|
|
305
|
-
var displayName: string;
|
|
306
|
-
}
|
|
307
|
-
export interface RadioPatternProps extends ClosedCircuitProps {
|
|
308
|
-
value: string;
|
|
309
|
-
checked?: boolean;
|
|
310
|
-
name?: string;
|
|
311
|
-
label?: string;
|
|
312
|
-
disabled?: boolean;
|
|
313
|
-
onChange?: string;
|
|
314
|
-
className?: string;
|
|
315
|
-
}
|
|
316
|
-
/**
|
|
317
|
-
* Radio pattern.
|
|
318
|
-
*/
|
|
319
|
-
export declare function RadioPattern({ value, checked, name, label, disabled, onChange, className, }: RadioPatternProps): React.ReactElement;
|
|
320
|
-
export declare namespace RadioPattern {
|
|
321
|
-
var displayName: string;
|
|
322
|
-
}
|
|
323
133
|
export interface LabelPatternProps extends ClosedCircuitProps {
|
|
324
134
|
text: string;
|
|
325
135
|
htmlFor?: string;
|
|
@@ -348,94 +158,6 @@ export declare function AlertPattern({ message, title, variant, dismissible, onD
|
|
|
348
158
|
export declare namespace AlertPattern {
|
|
349
159
|
var displayName: string;
|
|
350
160
|
}
|
|
351
|
-
export interface TooltipPatternProps extends ClosedCircuitProps {
|
|
352
|
-
content: string;
|
|
353
|
-
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
354
|
-
className?: string;
|
|
355
|
-
children?: React.ReactNode;
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* Tooltip pattern.
|
|
359
|
-
*/
|
|
360
|
-
export declare function TooltipPattern({ content, position, className, children, }: TooltipPatternProps): React.ReactElement;
|
|
361
|
-
export declare namespace TooltipPattern {
|
|
362
|
-
var displayName: string;
|
|
363
|
-
}
|
|
364
|
-
export interface PopoverPatternProps extends ClosedCircuitProps {
|
|
365
|
-
content: React.ReactNode;
|
|
366
|
-
position?: 'top' | 'bottom' | 'left' | 'right';
|
|
367
|
-
trigger?: 'click' | 'hover';
|
|
368
|
-
className?: string;
|
|
369
|
-
children?: React.ReactNode;
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Popover pattern.
|
|
373
|
-
*/
|
|
374
|
-
export declare function PopoverPattern({ content, position, trigger, className, children, }: PopoverPatternProps): React.ReactElement;
|
|
375
|
-
export declare namespace PopoverPattern {
|
|
376
|
-
var displayName: string;
|
|
377
|
-
}
|
|
378
|
-
export interface MenuPatternProps extends ClosedCircuitProps {
|
|
379
|
-
items: Array<{
|
|
380
|
-
label: string;
|
|
381
|
-
event: string;
|
|
382
|
-
icon?: string;
|
|
383
|
-
disabled?: boolean;
|
|
384
|
-
variant?: 'default' | 'danger';
|
|
385
|
-
}>;
|
|
386
|
-
trigger?: React.ReactNode;
|
|
387
|
-
position?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end';
|
|
388
|
-
className?: string;
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Menu pattern.
|
|
392
|
-
*/
|
|
393
|
-
export declare function MenuPattern({ items, trigger, position, className, }: MenuPatternProps): React.ReactElement;
|
|
394
|
-
export declare namespace MenuPattern {
|
|
395
|
-
var displayName: string;
|
|
396
|
-
}
|
|
397
|
-
export interface AccordionPatternProps extends ClosedCircuitProps {
|
|
398
|
-
items: Array<{
|
|
399
|
-
title: string;
|
|
400
|
-
content: React.ReactNode;
|
|
401
|
-
}>;
|
|
402
|
-
multiple?: boolean;
|
|
403
|
-
defaultOpen?: number[];
|
|
404
|
-
className?: string;
|
|
405
|
-
}
|
|
406
|
-
/**
|
|
407
|
-
* Accordion pattern.
|
|
408
|
-
*/
|
|
409
|
-
export declare function AccordionPattern({ items, multiple, defaultOpen, className, }: AccordionPatternProps): React.ReactElement;
|
|
410
|
-
export declare namespace AccordionPattern {
|
|
411
|
-
var displayName: string;
|
|
412
|
-
}
|
|
413
|
-
export interface ContainerPatternProps extends ClosedCircuitProps {
|
|
414
|
-
maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
|
|
415
|
-
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
416
|
-
className?: string;
|
|
417
|
-
children?: React.ReactNode;
|
|
418
|
-
}
|
|
419
|
-
/**
|
|
420
|
-
* Container pattern.
|
|
421
|
-
*/
|
|
422
|
-
export declare function ContainerPattern({ maxWidth, padding, className, children, }: ContainerPatternProps): React.ReactElement;
|
|
423
|
-
export declare namespace ContainerPattern {
|
|
424
|
-
var displayName: string;
|
|
425
|
-
}
|
|
426
|
-
export interface SimpleGridPatternProps extends ClosedCircuitProps {
|
|
427
|
-
minChildWidth?: string;
|
|
428
|
-
gap?: 'xs' | 'sm' | 'md' | 'lg';
|
|
429
|
-
className?: string;
|
|
430
|
-
children?: React.ReactNode;
|
|
431
|
-
}
|
|
432
|
-
/**
|
|
433
|
-
* Simple grid pattern.
|
|
434
|
-
*/
|
|
435
|
-
export declare function SimpleGridPattern({ minChildWidth, gap, className, children, }: SimpleGridPatternProps): React.ReactElement;
|
|
436
|
-
export declare namespace SimpleGridPattern {
|
|
437
|
-
var displayName: string;
|
|
438
|
-
}
|
|
439
161
|
export interface FloatButtonPatternProps extends ClosedCircuitProps {
|
|
440
162
|
icon: string;
|
|
441
163
|
onClick?: string;
|
|
@@ -450,42 +172,14 @@ export declare function FloatButtonPattern({ icon, onClick, position, variant, c
|
|
|
450
172
|
export declare namespace FloatButtonPattern {
|
|
451
173
|
var displayName: string;
|
|
452
174
|
}
|
|
453
|
-
export type MapViewPatternProps = Omit<MapViewProps, 'onMapClick' | 'onMarkerClick'> & ClosedCircuitProps;
|
|
454
|
-
/**
|
|
455
|
-
* Map view pattern. Passes through all MapView props.
|
|
456
|
-
* Event dispatch is handled internally by MapView via mapClickEvent/markerClickEvent.
|
|
457
|
-
*/
|
|
458
|
-
export declare function MapViewPattern({ markers, centerLat, centerLng, zoom, height, mapClickEvent, markerClickEvent, showClickedPin, className, showAttribution, }: MapViewPatternProps): React.ReactElement;
|
|
459
|
-
export declare namespace MapViewPattern {
|
|
460
|
-
var displayName: string;
|
|
461
|
-
}
|
|
462
175
|
export declare const COMPONENT_PATTERNS: {
|
|
463
176
|
readonly button: typeof ButtonPattern;
|
|
464
177
|
readonly 'icon-button': typeof IconButtonPattern;
|
|
465
178
|
readonly link: typeof LinkPattern;
|
|
466
179
|
readonly text: typeof TextPattern;
|
|
467
|
-
readonly heading: typeof HeadingPattern;
|
|
468
|
-
readonly badge: typeof BadgePattern;
|
|
469
|
-
readonly avatar: typeof AvatarPattern;
|
|
470
|
-
readonly icon: typeof IconPattern;
|
|
471
180
|
readonly image: typeof ImagePattern;
|
|
472
|
-
readonly card: typeof CardPattern;
|
|
473
|
-
readonly 'progress-bar': typeof ProgressBarPattern;
|
|
474
|
-
readonly spinner: typeof SpinnerPattern;
|
|
475
|
-
readonly input: typeof InputPattern;
|
|
476
|
-
readonly textarea: typeof TextareaPattern;
|
|
477
|
-
readonly select: typeof SelectPattern;
|
|
478
|
-
readonly checkbox: typeof CheckboxPattern;
|
|
479
|
-
readonly radio: typeof RadioPattern;
|
|
480
181
|
readonly label: typeof LabelPattern;
|
|
481
182
|
readonly alert: typeof AlertPattern;
|
|
482
|
-
readonly tooltip: typeof TooltipPattern;
|
|
483
|
-
readonly popover: typeof PopoverPattern;
|
|
484
|
-
readonly menu: typeof MenuPattern;
|
|
485
|
-
readonly accordion: typeof AccordionPattern;
|
|
486
|
-
readonly container: typeof ContainerPattern;
|
|
487
|
-
readonly 'simple-grid': typeof SimpleGridPattern;
|
|
488
183
|
readonly 'float-button': typeof FloatButtonPattern;
|
|
489
|
-
readonly 'map-view': typeof MapViewPattern;
|
|
490
184
|
};
|
|
491
185
|
export {};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @packageDocumentation
|
|
9
9
|
*/
|
|
10
10
|
import React from "react";
|
|
11
|
-
import type { EventKey, EventPayload } from "@almadar/core";
|
|
11
|
+
import type { AssetUrl, EventKey, EventPayload } from "@almadar/core";
|
|
12
12
|
import type { UiError } from "../atoms/types";
|
|
13
13
|
/**
|
|
14
14
|
* Allowed element types for custom patterns.
|
|
@@ -39,7 +39,7 @@ export interface CustomPatternProps {
|
|
|
39
39
|
/** Nested children patterns */
|
|
40
40
|
children?: React.ReactNode;
|
|
41
41
|
/** Image source (for img elements) */
|
|
42
|
-
src?:
|
|
42
|
+
src?: AssetUrl;
|
|
43
43
|
/** Image alt text (for img elements) */
|
|
44
44
|
alt?: string;
|
|
45
45
|
/** Link href (for a elements) */
|
|
@@ -86,7 +86,7 @@ export interface CustomPatternConfig {
|
|
|
86
86
|
action?: EventKey;
|
|
87
87
|
payload?: EventPayload;
|
|
88
88
|
children?: CustomPatternConfig[];
|
|
89
|
-
src?:
|
|
89
|
+
src?: AssetUrl;
|
|
90
90
|
alt?: string;
|
|
91
91
|
href?: string;
|
|
92
92
|
external?: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { EventKey } from "@almadar/core";
|
|
3
|
-
import {
|
|
3
|
+
import type { IconInput } from "../atoms/Icon";
|
|
4
4
|
import { DisplayStateProps } from "./types";
|
|
5
5
|
import type { EntityRow } from "@almadar/core";
|
|
6
6
|
export type EntityTableLook = "dense" | "spacious" | "striped" | "borderless" | "card-rows";
|
|
@@ -17,7 +17,7 @@ export interface Column<T> {
|
|
|
17
17
|
}
|
|
18
18
|
export interface RowAction<T> {
|
|
19
19
|
label: string;
|
|
20
|
-
icon?:
|
|
20
|
+
icon?: IconInput;
|
|
21
21
|
onClick: (row: T) => void;
|
|
22
22
|
variant?: "default" | "danger";
|
|
23
23
|
show?: (row: T) => boolean;
|
|
@@ -43,11 +43,11 @@ export interface DataTableProps<T extends EntityRow & {
|
|
|
43
43
|
navigatesTo?: string;
|
|
44
44
|
action?: EventKey;
|
|
45
45
|
placement?: "row" | "bulk" | string;
|
|
46
|
-
icon?:
|
|
46
|
+
icon?: IconInput;
|
|
47
47
|
variant?: "default" | "primary" | "secondary" | "ghost" | "danger" | string;
|
|
48
48
|
onClick?: (row: T) => void;
|
|
49
49
|
}[];
|
|
50
|
-
emptyIcon?:
|
|
50
|
+
emptyIcon?: IconInput;
|
|
51
51
|
emptyTitle?: string;
|
|
52
52
|
emptyDescription?: string;
|
|
53
53
|
emptyAction?: DataTableEmptyAction;
|
|
@@ -57,7 +57,7 @@ export interface DataTableProps<T extends EntityRow & {
|
|
|
57
57
|
rowActions?: readonly RowAction<T>[];
|
|
58
58
|
bulkActions?: ReadonlyArray<{
|
|
59
59
|
label: string;
|
|
60
|
-
icon?:
|
|
60
|
+
icon?: IconInput;
|
|
61
61
|
onClick: (selectedRows: T[]) => void;
|
|
62
62
|
variant?: "default" | "danger";
|
|
63
63
|
}>;
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import React from "react";
|
|
10
10
|
import type { EntityRow } from "@almadar/core";
|
|
11
|
-
import type {
|
|
11
|
+
import type { IconInput } from "../atoms/Icon";
|
|
12
12
|
import type { DisplayStateProps } from "./types";
|
|
13
13
|
export interface DetailField {
|
|
14
14
|
label: string;
|
|
15
15
|
value: React.ReactNode;
|
|
16
|
-
icon?:
|
|
16
|
+
icon?: IconInput;
|
|
17
17
|
copyable?: boolean;
|
|
18
18
|
}
|
|
19
19
|
export interface DetailSection {
|
|
@@ -25,7 +25,7 @@ export interface DetailSection {
|
|
|
25
25
|
*/
|
|
26
26
|
export interface DetailPanelAction {
|
|
27
27
|
label: string;
|
|
28
|
-
icon?:
|
|
28
|
+
icon?: IconInput;
|
|
29
29
|
onClick?: () => void;
|
|
30
30
|
/** Event to emit via event bus */
|
|
31
31
|
event?: string;
|
|
@@ -16,6 +16,7 @@ import type { EventKey, FieldValue } from "@almadar/core";
|
|
|
16
16
|
import { type SelectOption } from "../atoms/Select";
|
|
17
17
|
import { type RelationOption } from "../molecules/RelationSelect";
|
|
18
18
|
import type { OrbitalEntity } from "@almadar/core";
|
|
19
|
+
import type { IconInput } from "../atoms/Icon";
|
|
19
20
|
import { type SExpr } from "@almadar/evaluator";
|
|
20
21
|
import type { UiError } from '../atoms/types';
|
|
21
22
|
/**
|
|
@@ -74,8 +75,8 @@ export interface FormTabDefinition {
|
|
|
74
75
|
id: string;
|
|
75
76
|
/** Tab display label */
|
|
76
77
|
label: string;
|
|
77
|
-
/** Icon
|
|
78
|
-
icon?:
|
|
78
|
+
/** Icon for the tab */
|
|
79
|
+
icon?: IconInput;
|
|
79
80
|
/** Sections within this tab */
|
|
80
81
|
sections: FormSection[];
|
|
81
82
|
/** Condition for showing/hiding the entire tab */
|
|
@@ -11,9 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import React from 'react';
|
|
13
13
|
import type { UiError } from '../atoms/types';
|
|
14
|
-
import { type StackGap, type StackAlign, type StackJustify } from '../atoms/Stack';
|
|
15
14
|
import { type BoxPadding, type BoxBg, type BoxRounded, type BoxShadow } from '../atoms/Box';
|
|
16
|
-
import { type GridCols, type GridGap, type ResponsiveGridCols } from '../molecules/Grid';
|
|
17
15
|
import { type DividerVariant, type DividerOrientation } from '../atoms/Divider';
|
|
18
16
|
/**
|
|
19
17
|
* Base props for all layout patterns with children support.
|
|
@@ -32,42 +30,6 @@ export interface LayoutPatternProps {
|
|
|
32
30
|
/** Entity name */
|
|
33
31
|
entity?: string;
|
|
34
32
|
}
|
|
35
|
-
export interface VStackPatternProps extends LayoutPatternProps {
|
|
36
|
-
/** Gap between children */
|
|
37
|
-
gap?: StackGap;
|
|
38
|
-
/** Cross-axis alignment */
|
|
39
|
-
align?: StackAlign;
|
|
40
|
-
/** Main-axis alignment */
|
|
41
|
-
justify?: StackJustify;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* VStack pattern component.
|
|
45
|
-
*
|
|
46
|
-
* Renders children in a vertical stack with configurable spacing.
|
|
47
|
-
*/
|
|
48
|
-
export declare function VStackPattern({ gap, align, justify, className, style, children, }: VStackPatternProps): React.ReactElement;
|
|
49
|
-
export declare namespace VStackPattern {
|
|
50
|
-
var displayName: string;
|
|
51
|
-
}
|
|
52
|
-
export interface HStackPatternProps extends LayoutPatternProps {
|
|
53
|
-
/** Gap between children */
|
|
54
|
-
gap?: StackGap;
|
|
55
|
-
/** Cross-axis alignment */
|
|
56
|
-
align?: StackAlign;
|
|
57
|
-
/** Main-axis alignment */
|
|
58
|
-
justify?: StackJustify;
|
|
59
|
-
/** Enable wrapping */
|
|
60
|
-
wrap?: boolean;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* HStack pattern component.
|
|
64
|
-
*
|
|
65
|
-
* Renders children in a horizontal stack with configurable spacing.
|
|
66
|
-
*/
|
|
67
|
-
export declare function HStackPattern({ gap, align, justify, wrap, className, style, children, }: HStackPatternProps): React.ReactElement;
|
|
68
|
-
export declare namespace HStackPattern {
|
|
69
|
-
var displayName: string;
|
|
70
|
-
}
|
|
71
33
|
export interface BoxPatternProps extends LayoutPatternProps {
|
|
72
34
|
/** Padding shorthand */
|
|
73
35
|
p?: BoxPadding;
|
|
@@ -91,38 +53,6 @@ export declare function BoxPattern({ p, m, bg, border, radius, shadow, className
|
|
|
91
53
|
export declare namespace BoxPattern {
|
|
92
54
|
var displayName: string;
|
|
93
55
|
}
|
|
94
|
-
export interface GridPatternProps extends LayoutPatternProps {
|
|
95
|
-
/** Number of columns */
|
|
96
|
-
cols?: GridCols | ResponsiveGridCols;
|
|
97
|
-
/** Gap between cells */
|
|
98
|
-
gap?: GridGap;
|
|
99
|
-
/** Row gap override */
|
|
100
|
-
rowGap?: GridGap;
|
|
101
|
-
/** Column gap override */
|
|
102
|
-
colGap?: GridGap;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Grid pattern component.
|
|
106
|
-
*
|
|
107
|
-
* CSS Grid layout for multi-column content.
|
|
108
|
-
*/
|
|
109
|
-
export declare function GridPattern({ cols, gap, rowGap, colGap, className, style, children, }: GridPatternProps): React.ReactElement;
|
|
110
|
-
export declare namespace GridPattern {
|
|
111
|
-
var displayName: string;
|
|
112
|
-
}
|
|
113
|
-
export interface CenterPatternProps extends LayoutPatternProps {
|
|
114
|
-
/** Minimum height */
|
|
115
|
-
minHeight?: string;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Center pattern component.
|
|
119
|
-
*
|
|
120
|
-
* Centers content horizontally and vertically.
|
|
121
|
-
*/
|
|
122
|
-
export declare function CenterPattern({ minHeight, className, style, children, }: CenterPatternProps): React.ReactElement;
|
|
123
|
-
export declare namespace CenterPattern {
|
|
124
|
-
var displayName: string;
|
|
125
|
-
}
|
|
126
56
|
export interface SpacerPatternProps {
|
|
127
57
|
/** Size or 'flex' for flexible */
|
|
128
58
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'flex';
|
|
@@ -172,11 +102,7 @@ export declare namespace DividerPattern {
|
|
|
172
102
|
var displayName: string;
|
|
173
103
|
}
|
|
174
104
|
export declare const LAYOUT_PATTERNS: {
|
|
175
|
-
readonly vstack: typeof VStackPattern;
|
|
176
|
-
readonly hstack: typeof HStackPattern;
|
|
177
105
|
readonly box: typeof BoxPattern;
|
|
178
|
-
readonly grid: typeof GridPattern;
|
|
179
|
-
readonly center: typeof CenterPattern;
|
|
180
106
|
readonly spacer: typeof SpacerPattern;
|
|
181
107
|
readonly divider: typeof DividerPattern;
|
|
182
108
|
};
|