@almadar/core 10.60.0 → 10.62.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-08-19T03:03:56.666Z",
3
+ "exportedAt": "2026-08-20T06:39:15.858Z",
4
4
  "patterns": {
5
5
  "entity-table": {
6
6
  "type": "entity-table",
@@ -1236,6 +1236,7 @@
1236
1236
  "tier": "organisms",
1237
1237
  "family": "core",
1238
1238
  "description": "Detail view panel for drawers/sidebars",
1239
+ "fieldsContract": "display",
1239
1240
  "suggestedFor": [
1240
1241
  "drawer content",
1241
1242
  "side panels",
@@ -1517,6 +1518,54 @@
1517
1518
  ]
1518
1519
  }
1519
1520
  },
1521
+ "backAction": {
1522
+ "types": [
1523
+ "object"
1524
+ ],
1525
+ "description": "Navigation-back affordance. Renders top-LEFT before the title (OS/back convention — Almadar_UX §8.4), spatially separated from the right-aligned action buttons + close X. Never inferred from actions[] labels.",
1526
+ "properties": {
1527
+ "label": {
1528
+ "types": [
1529
+ "string"
1530
+ ]
1531
+ },
1532
+ "icon": {
1533
+ "types": [
1534
+ "icon",
1535
+ "string"
1536
+ ]
1537
+ },
1538
+ "onClick": {
1539
+ "types": [
1540
+ "function"
1541
+ ]
1542
+ },
1543
+ "event": {
1544
+ "types": [
1545
+ "string"
1546
+ ]
1547
+ },
1548
+ "navigatesTo": {
1549
+ "types": [
1550
+ "string"
1551
+ ]
1552
+ },
1553
+ "variant": {
1554
+ "types": [
1555
+ "string"
1556
+ ],
1557
+ "enumValues": [
1558
+ "primary",
1559
+ "secondary",
1560
+ "ghost",
1561
+ "danger"
1562
+ ]
1563
+ }
1564
+ },
1565
+ "propertyRequired": [
1566
+ "label"
1567
+ ]
1568
+ },
1520
1569
  "footer": {
1521
1570
  "types": [
1522
1571
  "node"
@@ -1551,6 +1600,26 @@
1551
1600
  "types": [
1552
1601
  "string"
1553
1602
  ]
1603
+ },
1604
+ "type": {
1605
+ "types": [
1606
+ "string"
1607
+ ]
1608
+ },
1609
+ "values": {
1610
+ "types": [
1611
+ "array"
1612
+ ],
1613
+ "items": {
1614
+ "types": [
1615
+ "string"
1616
+ ]
1617
+ }
1618
+ },
1619
+ "relation": {
1620
+ "types": [
1621
+ "string"
1622
+ ]
1554
1623
  }
1555
1624
  },
1556
1625
  "required": [
@@ -1615,6 +1684,48 @@
1615
1684
  "boolean"
1616
1685
  ],
1617
1686
  "description": "Show actions flag"
1687
+ },
1688
+ "relationsData": {
1689
+ "types": [
1690
+ "object"
1691
+ ],
1692
+ "description": "Relation display data: { fieldName: [{value, label}] } — injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names.",
1693
+ "mapValue": {
1694
+ "types": [
1695
+ "array"
1696
+ ],
1697
+ "items": {
1698
+ "types": [
1699
+ "object"
1700
+ ],
1701
+ "properties": {
1702
+ "value": {
1703
+ "types": [
1704
+ "string"
1705
+ ]
1706
+ },
1707
+ "label": {
1708
+ "types": [
1709
+ "string"
1710
+ ]
1711
+ },
1712
+ "description": {
1713
+ "types": [
1714
+ "string"
1715
+ ]
1716
+ },
1717
+ "disabled": {
1718
+ "types": [
1719
+ "boolean"
1720
+ ]
1721
+ }
1722
+ },
1723
+ "required": [
1724
+ "value",
1725
+ "label"
1726
+ ]
1727
+ }
1728
+ }
1618
1729
  }
1619
1730
  }
1620
1731
  },
@@ -1886,6 +1997,7 @@
1886
1997
  "tier": "organisms",
1887
1998
  "family": "core",
1888
1999
  "description": "Complete form with fields and actions",
2000
+ "fieldsContract": "form",
1889
2001
  "suggestedFor": [
1890
2002
  "create forms",
1891
2003
  "edit forms",
@@ -2118,6 +2230,11 @@
2118
2230
  "types": [
2119
2231
  "boolean"
2120
2232
  ]
2233
+ },
2234
+ "hint": {
2235
+ "types": [
2236
+ "string"
2237
+ ]
2121
2238
  }
2122
2239
  }
2123
2240
  }
@@ -2270,6 +2387,42 @@
2270
2387
  },
2271
2388
  "default": {}
2272
2389
  },
2390
+ "fieldOverrides": {
2391
+ "types": [
2392
+ "array"
2393
+ ],
2394
+ "description": "Per-field display-copy overrides (label/placeholder/hint), merged by field name over the schema-enriched fields.",
2395
+ "items": {
2396
+ "types": [
2397
+ "object"
2398
+ ],
2399
+ "properties": {
2400
+ "name": {
2401
+ "types": [
2402
+ "string"
2403
+ ]
2404
+ },
2405
+ "label": {
2406
+ "types": [
2407
+ "string"
2408
+ ]
2409
+ },
2410
+ "placeholder": {
2411
+ "types": [
2412
+ "string"
2413
+ ]
2414
+ },
2415
+ "hint": {
2416
+ "types": [
2417
+ "string"
2418
+ ]
2419
+ }
2420
+ },
2421
+ "required": [
2422
+ "name"
2423
+ ]
2424
+ }
2425
+ },
2273
2426
  "conditionalFields": {
2274
2427
  "types": [
2275
2428
  "object",
@@ -2612,6 +2765,11 @@
2612
2765
  "types": [
2613
2766
  "boolean"
2614
2767
  ]
2768
+ },
2769
+ "hint": {
2770
+ "types": [
2771
+ "string"
2772
+ ]
2615
2773
  }
2616
2774
  }
2617
2775
  }
@@ -2695,6 +2853,7 @@
2695
2853
  "tier": "organisms",
2696
2854
  "family": "core",
2697
2855
  "description": "Alias for form — Complete form with fields and actions",
2856
+ "fieldsContract": "form",
2698
2857
  "suggestedFor": [
2699
2858
  "create forms",
2700
2859
  "edit forms",
@@ -2927,6 +3086,11 @@
2927
3086
  "types": [
2928
3087
  "boolean"
2929
3088
  ]
3089
+ },
3090
+ "hint": {
3091
+ "types": [
3092
+ "string"
3093
+ ]
2930
3094
  }
2931
3095
  }
2932
3096
  }
@@ -3079,6 +3243,42 @@
3079
3243
  },
3080
3244
  "default": {}
3081
3245
  },
3246
+ "fieldOverrides": {
3247
+ "types": [
3248
+ "array"
3249
+ ],
3250
+ "description": "Per-field display-copy overrides (label/placeholder/hint), merged by field name over the schema-enriched fields.",
3251
+ "items": {
3252
+ "types": [
3253
+ "object"
3254
+ ],
3255
+ "properties": {
3256
+ "name": {
3257
+ "types": [
3258
+ "string"
3259
+ ]
3260
+ },
3261
+ "label": {
3262
+ "types": [
3263
+ "string"
3264
+ ]
3265
+ },
3266
+ "placeholder": {
3267
+ "types": [
3268
+ "string"
3269
+ ]
3270
+ },
3271
+ "hint": {
3272
+ "types": [
3273
+ "string"
3274
+ ]
3275
+ }
3276
+ },
3277
+ "required": [
3278
+ "name"
3279
+ ]
3280
+ }
3281
+ },
3082
3282
  "conditionalFields": {
3083
3283
  "types": [
3084
3284
  "object",
@@ -3421,6 +3621,11 @@
3421
3621
  "types": [
3422
3622
  "boolean"
3423
3623
  ]
3624
+ },
3625
+ "hint": {
3626
+ "types": [
3627
+ "string"
3628
+ ]
3424
3629
  }
3425
3630
  }
3426
3631
  }
@@ -40052,6 +40257,28 @@
40052
40257
  }
40053
40258
  ]
40054
40259
  },
40260
+ "keyMap": {
40261
+ "types": [
40262
+ "object"
40263
+ ],
40264
+ "description": "Maps a keydown `e.code` → the board's SEMANTIC event (device-agnostic input), emitted as `UI:{event}` — same contract as the game canvas keyMap.",
40265
+ "mapValue": {
40266
+ "types": [
40267
+ "string"
40268
+ ]
40269
+ }
40270
+ },
40271
+ "keyUpMap": {
40272
+ "types": [
40273
+ "object"
40274
+ ],
40275
+ "description": "Maps a keyup `e.code` → the board's SEMANTIC event.",
40276
+ "mapValue": {
40277
+ "types": [
40278
+ "string"
40279
+ ]
40280
+ }
40281
+ },
40055
40282
  "isLoading": {
40056
40283
  "types": [
40057
40284
  "boolean"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-08-19T03:03:56.666Z",
3
+ "exportedAt": "2026-08-20T06:39:15.858Z",
4
4
  "patterns": {
5
5
  "entity-table": {
6
6
  "type": "entity-table",
@@ -1236,6 +1236,7 @@
1236
1236
  "tier": "organisms",
1237
1237
  "family": "core",
1238
1238
  "description": "Detail view panel for drawers/sidebars",
1239
+ "fieldsContract": "display",
1239
1240
  "suggestedFor": [
1240
1241
  "drawer content",
1241
1242
  "side panels",
@@ -1517,6 +1518,54 @@
1517
1518
  ]
1518
1519
  }
1519
1520
  },
1521
+ "backAction": {
1522
+ "types": [
1523
+ "object"
1524
+ ],
1525
+ "description": "Navigation-back affordance. Renders top-LEFT before the title (OS/back convention — Almadar_UX §8.4), spatially separated from the right-aligned action buttons + close X. Never inferred from actions[] labels.",
1526
+ "properties": {
1527
+ "label": {
1528
+ "types": [
1529
+ "string"
1530
+ ]
1531
+ },
1532
+ "icon": {
1533
+ "types": [
1534
+ "icon",
1535
+ "string"
1536
+ ]
1537
+ },
1538
+ "onClick": {
1539
+ "types": [
1540
+ "function"
1541
+ ]
1542
+ },
1543
+ "event": {
1544
+ "types": [
1545
+ "string"
1546
+ ]
1547
+ },
1548
+ "navigatesTo": {
1549
+ "types": [
1550
+ "string"
1551
+ ]
1552
+ },
1553
+ "variant": {
1554
+ "types": [
1555
+ "string"
1556
+ ],
1557
+ "enumValues": [
1558
+ "primary",
1559
+ "secondary",
1560
+ "ghost",
1561
+ "danger"
1562
+ ]
1563
+ }
1564
+ },
1565
+ "propertyRequired": [
1566
+ "label"
1567
+ ]
1568
+ },
1520
1569
  "footer": {
1521
1570
  "types": [
1522
1571
  "node"
@@ -1551,6 +1600,26 @@
1551
1600
  "types": [
1552
1601
  "string"
1553
1602
  ]
1603
+ },
1604
+ "type": {
1605
+ "types": [
1606
+ "string"
1607
+ ]
1608
+ },
1609
+ "values": {
1610
+ "types": [
1611
+ "array"
1612
+ ],
1613
+ "items": {
1614
+ "types": [
1615
+ "string"
1616
+ ]
1617
+ }
1618
+ },
1619
+ "relation": {
1620
+ "types": [
1621
+ "string"
1622
+ ]
1554
1623
  }
1555
1624
  },
1556
1625
  "required": [
@@ -1615,6 +1684,48 @@
1615
1684
  "boolean"
1616
1685
  ],
1617
1686
  "description": "Show actions flag"
1687
+ },
1688
+ "relationsData": {
1689
+ "types": [
1690
+ "object"
1691
+ ],
1692
+ "description": "Relation display data: { fieldName: [{value, label}] } — injected server-side by the runtime (relation-option injection) or bound by compiled codegen; resolves stored foreign ids to display names.",
1693
+ "mapValue": {
1694
+ "types": [
1695
+ "array"
1696
+ ],
1697
+ "items": {
1698
+ "types": [
1699
+ "object"
1700
+ ],
1701
+ "properties": {
1702
+ "value": {
1703
+ "types": [
1704
+ "string"
1705
+ ]
1706
+ },
1707
+ "label": {
1708
+ "types": [
1709
+ "string"
1710
+ ]
1711
+ },
1712
+ "description": {
1713
+ "types": [
1714
+ "string"
1715
+ ]
1716
+ },
1717
+ "disabled": {
1718
+ "types": [
1719
+ "boolean"
1720
+ ]
1721
+ }
1722
+ },
1723
+ "required": [
1724
+ "value",
1725
+ "label"
1726
+ ]
1727
+ }
1728
+ }
1618
1729
  }
1619
1730
  }
1620
1731
  },
@@ -1886,6 +1997,7 @@
1886
1997
  "tier": "organisms",
1887
1998
  "family": "core",
1888
1999
  "description": "Complete form with fields and actions",
2000
+ "fieldsContract": "form",
1889
2001
  "suggestedFor": [
1890
2002
  "create forms",
1891
2003
  "edit forms",
@@ -2118,6 +2230,11 @@
2118
2230
  "types": [
2119
2231
  "boolean"
2120
2232
  ]
2233
+ },
2234
+ "hint": {
2235
+ "types": [
2236
+ "string"
2237
+ ]
2121
2238
  }
2122
2239
  }
2123
2240
  }
@@ -2270,6 +2387,42 @@
2270
2387
  },
2271
2388
  "default": {}
2272
2389
  },
2390
+ "fieldOverrides": {
2391
+ "types": [
2392
+ "array"
2393
+ ],
2394
+ "description": "Per-field display-copy overrides (label/placeholder/hint), merged by field name over the schema-enriched fields.",
2395
+ "items": {
2396
+ "types": [
2397
+ "object"
2398
+ ],
2399
+ "properties": {
2400
+ "name": {
2401
+ "types": [
2402
+ "string"
2403
+ ]
2404
+ },
2405
+ "label": {
2406
+ "types": [
2407
+ "string"
2408
+ ]
2409
+ },
2410
+ "placeholder": {
2411
+ "types": [
2412
+ "string"
2413
+ ]
2414
+ },
2415
+ "hint": {
2416
+ "types": [
2417
+ "string"
2418
+ ]
2419
+ }
2420
+ },
2421
+ "required": [
2422
+ "name"
2423
+ ]
2424
+ }
2425
+ },
2273
2426
  "conditionalFields": {
2274
2427
  "types": [
2275
2428
  "object",
@@ -2612,6 +2765,11 @@
2612
2765
  "types": [
2613
2766
  "boolean"
2614
2767
  ]
2768
+ },
2769
+ "hint": {
2770
+ "types": [
2771
+ "string"
2772
+ ]
2615
2773
  }
2616
2774
  }
2617
2775
  }
@@ -2695,6 +2853,7 @@
2695
2853
  "tier": "organisms",
2696
2854
  "family": "core",
2697
2855
  "description": "Alias for form — Complete form with fields and actions",
2856
+ "fieldsContract": "form",
2698
2857
  "suggestedFor": [
2699
2858
  "create forms",
2700
2859
  "edit forms",
@@ -2927,6 +3086,11 @@
2927
3086
  "types": [
2928
3087
  "boolean"
2929
3088
  ]
3089
+ },
3090
+ "hint": {
3091
+ "types": [
3092
+ "string"
3093
+ ]
2930
3094
  }
2931
3095
  }
2932
3096
  }
@@ -3079,6 +3243,42 @@
3079
3243
  },
3080
3244
  "default": {}
3081
3245
  },
3246
+ "fieldOverrides": {
3247
+ "types": [
3248
+ "array"
3249
+ ],
3250
+ "description": "Per-field display-copy overrides (label/placeholder/hint), merged by field name over the schema-enriched fields.",
3251
+ "items": {
3252
+ "types": [
3253
+ "object"
3254
+ ],
3255
+ "properties": {
3256
+ "name": {
3257
+ "types": [
3258
+ "string"
3259
+ ]
3260
+ },
3261
+ "label": {
3262
+ "types": [
3263
+ "string"
3264
+ ]
3265
+ },
3266
+ "placeholder": {
3267
+ "types": [
3268
+ "string"
3269
+ ]
3270
+ },
3271
+ "hint": {
3272
+ "types": [
3273
+ "string"
3274
+ ]
3275
+ }
3276
+ },
3277
+ "required": [
3278
+ "name"
3279
+ ]
3280
+ }
3281
+ },
3082
3282
  "conditionalFields": {
3083
3283
  "types": [
3084
3284
  "object",
@@ -3421,6 +3621,11 @@
3421
3621
  "types": [
3422
3622
  "boolean"
3423
3623
  ]
3624
+ },
3625
+ "hint": {
3626
+ "types": [
3627
+ "string"
3628
+ ]
3424
3629
  }
3425
3630
  }
3426
3631
  }
@@ -40052,6 +40257,28 @@
40052
40257
  }
40053
40258
  ]
40054
40259
  },
40260
+ "keyMap": {
40261
+ "types": [
40262
+ "object"
40263
+ ],
40264
+ "description": "Maps a keydown `e.code` → the board's SEMANTIC event (device-agnostic input), emitted as `UI:{event}` — same contract as the game canvas keyMap.",
40265
+ "mapValue": {
40266
+ "types": [
40267
+ "string"
40268
+ ]
40269
+ }
40270
+ },
40271
+ "keyUpMap": {
40272
+ "types": [
40273
+ "object"
40274
+ ],
40275
+ "description": "Maps a keyup `e.code` → the board's SEMANTIC event.",
40276
+ "mapValue": {
40277
+ "types": [
40278
+ "string"
40279
+ ]
40280
+ }
40281
+ },
40055
40282
  "isLoading": {
40056
40283
  "types": [
40057
40284
  "boolean"