@almadar/ui 5.165.0 → 6.0.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.
@@ -2377,7 +2377,7 @@ type MenuOption = EventPayload & {
2377
2377
  /** Display label */
2378
2378
  label: string;
2379
2379
  /** Event to emit on click */
2380
- event?: string;
2380
+ event?: EventKey;
2381
2381
  /** Page to navigate to */
2382
2382
  navigatesTo?: string;
2383
2383
  /** Button variant */
@@ -2386,8 +2386,6 @@ type MenuOption = EventPayload & {
2386
2386
  disabled?: boolean;
2387
2387
  /** Sub-label or description */
2388
2388
  subLabel?: string;
2389
- /** Action identifier (alternative to event) */
2390
- action?: EventKey;
2391
2389
  };
2392
2390
  interface GameMenuProps {
2393
2391
  /** Menu title */
@@ -2424,6 +2422,10 @@ declare namespace GameMenu {
2424
2422
  interface StateGraphTransition {
2425
2423
  from: string;
2426
2424
  to: string;
2425
+ /** Deliberately NOT `EventKey`: this is a drawn arrow's caption, not a bus
2426
+ * event. Typing it `EventKey` would tag `transitions` as an `event-list`
2427
+ * and validate the PLAYER's invented state-machine vocabulary against the
2428
+ * orbital's event set. The real bus outlet here is `nodeClickEvent`. */
2427
2429
  event: string;
2428
2430
  guardHint?: string;
2429
2431
  }
@@ -3377,6 +3379,10 @@ declare namespace TransitionArrow {
3377
3379
  interface StateJsonTransition {
3378
3380
  from: string;
3379
3381
  to: string;
3382
+ /** Deliberately NOT `EventKey`: these are JSON.stringify'd into a code
3383
+ * block for display. This component has no event bus and cannot emit;
3384
+ * tagging `transitions` as an `event-list` would police the PLAYER's
3385
+ * invented vocabulary against the orbital's event set. */
3380
3386
  event: string;
3381
3387
  }
3382
3388
  interface StateJsonViewProps {
@@ -4144,7 +4150,7 @@ interface ActionButton {
4144
4150
  label: string;
4145
4151
  /** Action type - 'submit' renders as submit button, others render as button */
4146
4152
  actionType?: string;
4147
- event?: string;
4153
+ event?: EventKey;
4148
4154
  navigatesTo?: string;
4149
4155
  /** Button variant - matches Button component variants. Accepts string for schema compatibility. */
4150
4156
  variant?: string;
@@ -4353,7 +4359,7 @@ interface FloatingAction {
4353
4359
  */
4354
4360
  onClick?: () => void;
4355
4361
  /** Event name to emit when clicked (for trait state machine integration) */
4356
- event?: string;
4362
+ event?: EventKey;
4357
4363
  /**
4358
4364
  * Action variant
4359
4365
  */
@@ -4503,7 +4509,7 @@ interface MenuItem {
4503
4509
  /** Item click handler */
4504
4510
  onClick?: () => void;
4505
4511
  /** Event name for pattern compatibility */
4506
- event?: string;
4512
+ event?: EventKey;
4507
4513
  /** File URL this item downloads on pick (gesture-driven, `DocumentViewer` precedent). The item's `event` still emits on the bus. */
4508
4514
  url?: string;
4509
4515
  /** Variant for styling (pattern compatibility) */
@@ -5039,7 +5045,7 @@ interface TabItem {
5039
5045
  /** Disable tab */
5040
5046
  disabled?: boolean;
5041
5047
  /** Event to emit when tab is clicked (for trait state machine integration) */
5042
- event?: string;
5048
+ event?: EventKey;
5043
5049
  /** Whether this tab is currently active (for controlled tabs) */
5044
5050
  active?: boolean;
5045
5051
  }
@@ -5330,6 +5336,7 @@ type CodeLanguageLoader = (lang: string) => Promise<PrismLanguageGrammar | null>
5330
5336
  /** Wire up a dynamic language-grammar loader. Must be called from app source
5331
5337
  * (not a pre-bundled dependency) so the bundler can split grammars into chunks. */
5332
5338
  declare function registerCodeLanguageLoader(loader: CodeLanguageLoader | null): void;
5339
+
5333
5340
  /**
5334
5341
  * The set of languages with a registered PrismLight grammar (above) plus the
5335
5342
  * `.orb`/`.lolo` grammars from `@almadar/syntax`. Authoritative: an unregistered
@@ -5352,7 +5359,7 @@ interface DiffLine$1 {
5352
5359
  }
5353
5360
  interface CodeViewerAction {
5354
5361
  label: string;
5355
- event?: string;
5362
+ event?: EventKey;
5356
5363
  navigatesTo?: string;
5357
5364
  variant?: 'primary' | 'secondary' | 'ghost';
5358
5365
  }
@@ -7596,7 +7603,7 @@ interface DataGridProps extends DataDndProps {
7596
7603
  */
7597
7604
  look?: "dense" | "spacious" | "striped" | "borderless" | "card-rows";
7598
7605
  }
7599
- declare function DataGrid({ entity, fields, columns, itemActions, maxInlineActions, scrollX, cols, gap, minCardWidth, className, isLoading, error, imageField, selectable, selectionEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataGridProps): string | number | bigint | boolean | React__default.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
7606
+ declare function DataGrid({ entity, fields, columns, itemActions, maxInlineActions, scrollX, cols, gap, minCardWidth, className, isLoading, error, imageField, selectable, selectionEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataGridProps): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | React__default.JSX.Element | null | undefined;
7600
7607
  declare namespace DataGrid {
7601
7608
  var displayName: string;
7602
7609
  }
@@ -7749,7 +7756,7 @@ interface DataListProps extends DataDndProps {
7749
7756
  */
7750
7757
  look?: "dense" | "spacious" | "striped" | "borderless" | "card-rows";
7751
7758
  }
7752
- declare function DataList({ entity, fields, columns, itemActions, maxInlineActions, itemClickEvent, gap, variant, groupBy, senderField, senderLabelField, currentUser, emptyMessage, className, isLoading, error, reorderable: _reorderable, reorderEvent: _reorderEvent, swipeLeftEvent: _swipeLeftEvent, swipeLeftActions: _swipeLeftActions, swipeRightEvent: _swipeRightEvent, swipeRightActions: _swipeRightActions, longPressEvent: _longPressEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, sortBy, sortDirection, renderItem: schemaRenderItem, dragGroup, accepts, sortable: sortableProp, dropEvent, reorderEvent: dndReorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataListProps): string | number | bigint | boolean | React__default.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
7759
+ declare function DataList({ entity, fields, columns, itemActions, maxInlineActions, itemClickEvent, gap, variant, groupBy, senderField, senderLabelField, currentUser, emptyMessage, className, isLoading, error, reorderable: _reorderable, reorderEvent: _reorderEvent, swipeLeftEvent: _swipeLeftEvent, swipeLeftActions: _swipeLeftActions, swipeRightEvent: _swipeRightEvent, swipeRightActions: _swipeRightActions, longPressEvent: _longPressEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, sortBy, sortDirection, renderItem: schemaRenderItem, dragGroup, accepts, sortable: sortableProp, dropEvent, reorderEvent: dndReorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataListProps): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | React__default.JSX.Element | null | undefined;
7753
7760
  declare namespace DataList {
7754
7761
  var displayName: string;
7755
7762
  }
@@ -7949,7 +7956,7 @@ interface MeterThreshold {
7949
7956
  }
7950
7957
  interface MeterAction {
7951
7958
  label: string;
7952
- event?: string;
7959
+ event?: EventKey;
7953
7960
  navigatesTo?: string;
7954
7961
  variant?: "primary" | "secondary" | "ghost";
7955
7962
  }
@@ -9401,7 +9408,7 @@ interface SchemaAction {
9401
9408
  /** Custom click handler */
9402
9409
  onClick?: () => void;
9403
9410
  /** Event to dispatch via event bus (for trait state machine integration) */
9404
- event?: string;
9411
+ event?: EventKey;
9405
9412
  variant?: "primary" | "secondary" | "ghost" | "danger";
9406
9413
  icon?: IconInput;
9407
9414
  loading?: boolean;
@@ -10208,7 +10215,7 @@ interface ChartSeries {
10208
10215
  }
10209
10216
  interface ChartAction {
10210
10217
  label: string;
10211
- event?: string;
10218
+ event?: EventKey;
10212
10219
  navigatesTo?: string;
10213
10220
  variant?: "primary" | "secondary" | "ghost";
10214
10221
  }
@@ -10325,7 +10332,7 @@ declare const SignaturePad: React__default.FC<SignaturePadProps>;
10325
10332
  type DocumentType = "pdf" | "text" | "html" | "markdown";
10326
10333
  interface DocumentAction {
10327
10334
  label: string;
10328
- event?: string;
10335
+ event?: EventKey;
10329
10336
  navigatesTo?: string;
10330
10337
  variant?: "primary" | "secondary" | "ghost";
10331
10338
  }
@@ -10426,7 +10433,7 @@ interface GraphSimilarity {
10426
10433
  }
10427
10434
  interface GraphAction {
10428
10435
  label: string;
10429
- event?: string;
10436
+ event?: EventKey;
10430
10437
  navigatesTo?: string;
10431
10438
  variant?: "primary" | "secondary" | "ghost";
10432
10439
  }
@@ -10786,11 +10793,11 @@ interface RowAction<T> {
10786
10793
  onClick?: (row: T) => void;
10787
10794
  variant?: "default" | "danger";
10788
10795
  show?: (row: T) => boolean;
10789
- event?: string;
10796
+ event?: EventKey;
10790
10797
  }
10791
10798
  interface DataTableEmptyAction {
10792
10799
  label: string;
10793
- event?: string;
10800
+ event?: EventKey;
10794
10801
  }
10795
10802
  interface DataTableProps<T extends EntityRow & {
10796
10803
  id: string | number;
@@ -10804,9 +10811,8 @@ interface DataTableProps<T extends EntityRow & {
10804
10811
  /** Item actions from generated code - maps to rowActions */
10805
10812
  itemActions?: readonly {
10806
10813
  label: string;
10807
- event?: string;
10814
+ event?: EventKey;
10808
10815
  navigatesTo?: string;
10809
- action?: EventKey;
10810
10816
  placement?: "row" | "bulk" | string;
10811
10817
  icon?: IconInput;
10812
10818
  variant?: "default" | "primary" | "secondary" | "ghost" | "danger" | string;
@@ -10826,7 +10832,7 @@ interface DataTableProps<T extends EntityRow & {
10826
10832
  /** Optional when `event` is set — a bus-emitting onClick is synthesized. */
10827
10833
  onClick?: (selectedRows: T[]) => void;
10828
10834
  variant?: "default" | "danger";
10829
- event?: string;
10835
+ event?: EventKey;
10830
10836
  }>;
10831
10837
  headerActions?: React__default.ReactNode;
10832
10838
  /** Show total count in pagination */
@@ -10936,8 +10942,11 @@ interface DetailPanelAction {
10936
10942
  label: string;
10937
10943
  icon?: IconInput;
10938
10944
  onClick?: () => void;
10939
- /** Event to emit via event bus */
10940
- event?: string;
10945
+ /** Event to emit via event bus. `EventKey`, not `string`: the pattern
10946
+ * parser tags an array prop as `kind: "event-list"` only when its element
10947
+ * interface types the event field this way, and that tag is what makes an
10948
+ * authored `events { EDIT: X }` rename fold into these config literals. */
10949
+ event?: EventKey;
10941
10950
  /** Navigation URL */
10942
10951
  navigatesTo?: string;
10943
10952
  /** Button variant (primary for main action, others for secondary) */
@@ -11288,8 +11297,6 @@ interface SchemaItemAction {
11288
11297
  navigatesTo?: string;
11289
11298
  /** Action placement - accepts all common placement values */
11290
11299
  placement?: "row" | "bulk" | "card" | "footer" | string;
11291
- /** Alternate event-dispatch field (same semantics as `event`) — generated code emits `UI:{action}` on click */
11292
- action?: EventKey;
11293
11300
  variant?: "primary" | "secondary" | "ghost" | "danger" | "default";
11294
11301
  /** Click handler from generated code */
11295
11302
  onClick?: (row: EntityRow) => void;
@@ -11348,8 +11355,6 @@ interface CardItemAction {
11348
11355
  navigatesTo?: string;
11349
11356
  /** Callback on click */
11350
11357
  onClick?: (item: EventPayload) => void;
11351
- /** Action used by generated code - alternative to event */
11352
- action?: EventKey;
11353
11358
  /** Action placement - accepts string for compatibility with generated code */
11354
11359
  placement?: 'card' | 'footer' | 'row' | string;
11355
11360
  /** Button variant - accepts string for compatibility with generated code */
@@ -12145,7 +12150,7 @@ type MediaItem = EntityRow & {
12145
12150
  };
12146
12151
  interface MediaGalleryAction {
12147
12152
  label: string;
12148
- event?: string;
12153
+ event?: EventKey;
12149
12154
  navigatesTo?: string;
12150
12155
  variant?: "primary" | "secondary" | "ghost";
12151
12156
  }
@@ -2377,7 +2377,7 @@ type MenuOption = EventPayload & {
2377
2377
  /** Display label */
2378
2378
  label: string;
2379
2379
  /** Event to emit on click */
2380
- event?: string;
2380
+ event?: EventKey;
2381
2381
  /** Page to navigate to */
2382
2382
  navigatesTo?: string;
2383
2383
  /** Button variant */
@@ -2386,8 +2386,6 @@ type MenuOption = EventPayload & {
2386
2386
  disabled?: boolean;
2387
2387
  /** Sub-label or description */
2388
2388
  subLabel?: string;
2389
- /** Action identifier (alternative to event) */
2390
- action?: EventKey;
2391
2389
  };
2392
2390
  interface GameMenuProps {
2393
2391
  /** Menu title */
@@ -2424,6 +2422,10 @@ declare namespace GameMenu {
2424
2422
  interface StateGraphTransition {
2425
2423
  from: string;
2426
2424
  to: string;
2425
+ /** Deliberately NOT `EventKey`: this is a drawn arrow's caption, not a bus
2426
+ * event. Typing it `EventKey` would tag `transitions` as an `event-list`
2427
+ * and validate the PLAYER's invented state-machine vocabulary against the
2428
+ * orbital's event set. The real bus outlet here is `nodeClickEvent`. */
2427
2429
  event: string;
2428
2430
  guardHint?: string;
2429
2431
  }
@@ -3377,6 +3379,10 @@ declare namespace TransitionArrow {
3377
3379
  interface StateJsonTransition {
3378
3380
  from: string;
3379
3381
  to: string;
3382
+ /** Deliberately NOT `EventKey`: these are JSON.stringify'd into a code
3383
+ * block for display. This component has no event bus and cannot emit;
3384
+ * tagging `transitions` as an `event-list` would police the PLAYER's
3385
+ * invented vocabulary against the orbital's event set. */
3380
3386
  event: string;
3381
3387
  }
3382
3388
  interface StateJsonViewProps {
@@ -4144,7 +4150,7 @@ interface ActionButton {
4144
4150
  label: string;
4145
4151
  /** Action type - 'submit' renders as submit button, others render as button */
4146
4152
  actionType?: string;
4147
- event?: string;
4153
+ event?: EventKey;
4148
4154
  navigatesTo?: string;
4149
4155
  /** Button variant - matches Button component variants. Accepts string for schema compatibility. */
4150
4156
  variant?: string;
@@ -4353,7 +4359,7 @@ interface FloatingAction {
4353
4359
  */
4354
4360
  onClick?: () => void;
4355
4361
  /** Event name to emit when clicked (for trait state machine integration) */
4356
- event?: string;
4362
+ event?: EventKey;
4357
4363
  /**
4358
4364
  * Action variant
4359
4365
  */
@@ -4503,7 +4509,7 @@ interface MenuItem {
4503
4509
  /** Item click handler */
4504
4510
  onClick?: () => void;
4505
4511
  /** Event name for pattern compatibility */
4506
- event?: string;
4512
+ event?: EventKey;
4507
4513
  /** File URL this item downloads on pick (gesture-driven, `DocumentViewer` precedent). The item's `event` still emits on the bus. */
4508
4514
  url?: string;
4509
4515
  /** Variant for styling (pattern compatibility) */
@@ -5039,7 +5045,7 @@ interface TabItem {
5039
5045
  /** Disable tab */
5040
5046
  disabled?: boolean;
5041
5047
  /** Event to emit when tab is clicked (for trait state machine integration) */
5042
- event?: string;
5048
+ event?: EventKey;
5043
5049
  /** Whether this tab is currently active (for controlled tabs) */
5044
5050
  active?: boolean;
5045
5051
  }
@@ -5330,6 +5336,7 @@ type CodeLanguageLoader = (lang: string) => Promise<PrismLanguageGrammar | null>
5330
5336
  /** Wire up a dynamic language-grammar loader. Must be called from app source
5331
5337
  * (not a pre-bundled dependency) so the bundler can split grammars into chunks. */
5332
5338
  declare function registerCodeLanguageLoader(loader: CodeLanguageLoader | null): void;
5339
+
5333
5340
  /**
5334
5341
  * The set of languages with a registered PrismLight grammar (above) plus the
5335
5342
  * `.orb`/`.lolo` grammars from `@almadar/syntax`. Authoritative: an unregistered
@@ -5352,7 +5359,7 @@ interface DiffLine$1 {
5352
5359
  }
5353
5360
  interface CodeViewerAction {
5354
5361
  label: string;
5355
- event?: string;
5362
+ event?: EventKey;
5356
5363
  navigatesTo?: string;
5357
5364
  variant?: 'primary' | 'secondary' | 'ghost';
5358
5365
  }
@@ -7596,7 +7603,7 @@ interface DataGridProps extends DataDndProps {
7596
7603
  */
7597
7604
  look?: "dense" | "spacious" | "striped" | "borderless" | "card-rows";
7598
7605
  }
7599
- declare function DataGrid({ entity, fields, columns, itemActions, maxInlineActions, scrollX, cols, gap, minCardWidth, className, isLoading, error, imageField, selectable, selectionEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataGridProps): string | number | bigint | boolean | React__default.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
7606
+ declare function DataGrid({ entity, fields, columns, itemActions, maxInlineActions, scrollX, cols, gap, minCardWidth, className, isLoading, error, imageField, selectable, selectionEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, renderItem: schemaRenderItem, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataGridProps): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | React__default.JSX.Element | null | undefined;
7600
7607
  declare namespace DataGrid {
7601
7608
  var displayName: string;
7602
7609
  }
@@ -7749,7 +7756,7 @@ interface DataListProps extends DataDndProps {
7749
7756
  */
7750
7757
  look?: "dense" | "spacious" | "striped" | "borderless" | "card-rows";
7751
7758
  }
7752
- declare function DataList({ entity, fields, columns, itemActions, maxInlineActions, itemClickEvent, gap, variant, groupBy, senderField, senderLabelField, currentUser, emptyMessage, className, isLoading, error, reorderable: _reorderable, reorderEvent: _reorderEvent, swipeLeftEvent: _swipeLeftEvent, swipeLeftActions: _swipeLeftActions, swipeRightEvent: _swipeRightEvent, swipeRightActions: _swipeRightActions, longPressEvent: _longPressEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, sortBy, sortDirection, renderItem: schemaRenderItem, dragGroup, accepts, sortable: sortableProp, dropEvent, reorderEvent: dndReorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataListProps): string | number | bigint | boolean | React__default.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
7759
+ declare function DataList({ entity, fields, columns, itemActions, maxInlineActions, itemClickEvent, gap, variant, groupBy, senderField, senderLabelField, currentUser, emptyMessage, className, isLoading, error, reorderable: _reorderable, reorderEvent: _reorderEvent, swipeLeftEvent: _swipeLeftEvent, swipeLeftActions: _swipeLeftActions, swipeRightEvent: _swipeRightEvent, swipeRightActions: _swipeRightActions, longPressEvent: _longPressEvent, infiniteScroll, loadMoreEvent, hasMore, children, pageSize, sortBy, sortDirection, renderItem: schemaRenderItem, dragGroup, accepts, sortable: sortableProp, dropEvent, reorderEvent: dndReorderEvent, positionEvent, dndItemIdField, dndRoot, look, }: DataListProps): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | React__default.JSX.Element | null | undefined;
7753
7760
  declare namespace DataList {
7754
7761
  var displayName: string;
7755
7762
  }
@@ -7949,7 +7956,7 @@ interface MeterThreshold {
7949
7956
  }
7950
7957
  interface MeterAction {
7951
7958
  label: string;
7952
- event?: string;
7959
+ event?: EventKey;
7953
7960
  navigatesTo?: string;
7954
7961
  variant?: "primary" | "secondary" | "ghost";
7955
7962
  }
@@ -9401,7 +9408,7 @@ interface SchemaAction {
9401
9408
  /** Custom click handler */
9402
9409
  onClick?: () => void;
9403
9410
  /** Event to dispatch via event bus (for trait state machine integration) */
9404
- event?: string;
9411
+ event?: EventKey;
9405
9412
  variant?: "primary" | "secondary" | "ghost" | "danger";
9406
9413
  icon?: IconInput;
9407
9414
  loading?: boolean;
@@ -10208,7 +10215,7 @@ interface ChartSeries {
10208
10215
  }
10209
10216
  interface ChartAction {
10210
10217
  label: string;
10211
- event?: string;
10218
+ event?: EventKey;
10212
10219
  navigatesTo?: string;
10213
10220
  variant?: "primary" | "secondary" | "ghost";
10214
10221
  }
@@ -10325,7 +10332,7 @@ declare const SignaturePad: React__default.FC<SignaturePadProps>;
10325
10332
  type DocumentType = "pdf" | "text" | "html" | "markdown";
10326
10333
  interface DocumentAction {
10327
10334
  label: string;
10328
- event?: string;
10335
+ event?: EventKey;
10329
10336
  navigatesTo?: string;
10330
10337
  variant?: "primary" | "secondary" | "ghost";
10331
10338
  }
@@ -10426,7 +10433,7 @@ interface GraphSimilarity {
10426
10433
  }
10427
10434
  interface GraphAction {
10428
10435
  label: string;
10429
- event?: string;
10436
+ event?: EventKey;
10430
10437
  navigatesTo?: string;
10431
10438
  variant?: "primary" | "secondary" | "ghost";
10432
10439
  }
@@ -10786,11 +10793,11 @@ interface RowAction<T> {
10786
10793
  onClick?: (row: T) => void;
10787
10794
  variant?: "default" | "danger";
10788
10795
  show?: (row: T) => boolean;
10789
- event?: string;
10796
+ event?: EventKey;
10790
10797
  }
10791
10798
  interface DataTableEmptyAction {
10792
10799
  label: string;
10793
- event?: string;
10800
+ event?: EventKey;
10794
10801
  }
10795
10802
  interface DataTableProps<T extends EntityRow & {
10796
10803
  id: string | number;
@@ -10804,9 +10811,8 @@ interface DataTableProps<T extends EntityRow & {
10804
10811
  /** Item actions from generated code - maps to rowActions */
10805
10812
  itemActions?: readonly {
10806
10813
  label: string;
10807
- event?: string;
10814
+ event?: EventKey;
10808
10815
  navigatesTo?: string;
10809
- action?: EventKey;
10810
10816
  placement?: "row" | "bulk" | string;
10811
10817
  icon?: IconInput;
10812
10818
  variant?: "default" | "primary" | "secondary" | "ghost" | "danger" | string;
@@ -10826,7 +10832,7 @@ interface DataTableProps<T extends EntityRow & {
10826
10832
  /** Optional when `event` is set — a bus-emitting onClick is synthesized. */
10827
10833
  onClick?: (selectedRows: T[]) => void;
10828
10834
  variant?: "default" | "danger";
10829
- event?: string;
10835
+ event?: EventKey;
10830
10836
  }>;
10831
10837
  headerActions?: React__default.ReactNode;
10832
10838
  /** Show total count in pagination */
@@ -10936,8 +10942,11 @@ interface DetailPanelAction {
10936
10942
  label: string;
10937
10943
  icon?: IconInput;
10938
10944
  onClick?: () => void;
10939
- /** Event to emit via event bus */
10940
- event?: string;
10945
+ /** Event to emit via event bus. `EventKey`, not `string`: the pattern
10946
+ * parser tags an array prop as `kind: "event-list"` only when its element
10947
+ * interface types the event field this way, and that tag is what makes an
10948
+ * authored `events { EDIT: X }` rename fold into these config literals. */
10949
+ event?: EventKey;
10941
10950
  /** Navigation URL */
10942
10951
  navigatesTo?: string;
10943
10952
  /** Button variant (primary for main action, others for secondary) */
@@ -11288,8 +11297,6 @@ interface SchemaItemAction {
11288
11297
  navigatesTo?: string;
11289
11298
  /** Action placement - accepts all common placement values */
11290
11299
  placement?: "row" | "bulk" | "card" | "footer" | string;
11291
- /** Alternate event-dispatch field (same semantics as `event`) — generated code emits `UI:{action}` on click */
11292
- action?: EventKey;
11293
11300
  variant?: "primary" | "secondary" | "ghost" | "danger" | "default";
11294
11301
  /** Click handler from generated code */
11295
11302
  onClick?: (row: EntityRow) => void;
@@ -11348,8 +11355,6 @@ interface CardItemAction {
11348
11355
  navigatesTo?: string;
11349
11356
  /** Callback on click */
11350
11357
  onClick?: (item: EventPayload) => void;
11351
- /** Action used by generated code - alternative to event */
11352
- action?: EventKey;
11353
11358
  /** Action placement - accepts string for compatibility with generated code */
11354
11359
  placement?: 'card' | 'footer' | 'row' | string;
11355
11360
  /** Button variant - accepts string for compatibility with generated code */
@@ -12145,7 +12150,7 @@ type MediaItem = EntityRow & {
12145
12150
  };
12146
12151
  interface MediaGalleryAction {
12147
12152
  label: string;
12148
- event?: string;
12153
+ event?: EventKey;
12149
12154
  navigatesTo?: string;
12150
12155
  variant?: "primary" | "secondary" | "ghost";
12151
12156
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "5.165.0",
3
+ "version": "6.0.0",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -118,12 +118,12 @@
118
118
  "access": "public"
119
119
  },
120
120
  "dependencies": {
121
- "@almadar/core": "^10.75.0",
122
- "@almadar/evaluator": "^2.42.0",
123
- "@almadar/logger": "^1.11.0",
124
- "@almadar/runtime": "^6.64.0",
125
- "@almadar/std": "^16.194.0",
126
- "@almadar/syntax": "^1.15.0",
121
+ "@almadar/core": "^10.77.0",
122
+ "@almadar/evaluator": "^2.43.0",
123
+ "@almadar/logger": "^1.12.0",
124
+ "@almadar/runtime": "^6.67.0",
125
+ "@almadar/std": "^16.197.0",
126
+ "@almadar/syntax": "^1.16.0",
127
127
  "@dnd-kit/core": "^6.3.1",
128
128
  "@dnd-kit/sortable": "^10.0.0",
129
129
  "@dnd-kit/utilities": "^3.2.2",
@@ -173,7 +173,7 @@
173
173
  }
174
174
  },
175
175
  "devDependencies": {
176
- "@almadar/eslint-plugin": "^2.16.0",
176
+ "@almadar/eslint-plugin": "^2.17.0",
177
177
  "@react-three/drei": "^10.7.7",
178
178
  "@react-three/fiber": "^9.6.0",
179
179
  "@react-three/postprocessing": "3.0.4",