@almadar/core 10.42.0 → 10.43.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-07-28T16:34:50.202Z",
3
+ "exportedAt": "2026-07-29T19:32:01.461Z",
4
4
  "patterns": {
5
5
  "entity-table": {
6
6
  "type": "entity-table",
@@ -8495,6 +8495,25 @@
8495
8495
  "description": "Show arrow",
8496
8496
  "default": true
8497
8497
  },
8498
+ "open": {
8499
+ "types": [
8500
+ "boolean"
8501
+ ],
8502
+ "description": "Controlled open state. When set, the host owns visibility and the popover reports intent through onOpenChange instead of toggling itself."
8503
+ },
8504
+ "onOpenChange": {
8505
+ "types": [
8506
+ "function"
8507
+ ],
8508
+ "description": "Fired when the popover wants to change visibility (trigger click, outside click)",
8509
+ "kind": "callback",
8510
+ "callbackArgs": [
8511
+ {
8512
+ "name": "open",
8513
+ "type": "boolean"
8514
+ }
8515
+ ]
8516
+ },
8498
8517
  "className": {
8499
8518
  "types": [
8500
8519
  "string"
@@ -33547,6 +33566,13 @@
33547
33566
  ],
33548
33567
  "description": "Max inline action buttons before the rest collapse into a \"⋯\" overflow menu. Omit = all inline."
33549
33568
  },
33569
+ "itemClickEvent": {
33570
+ "types": [
33571
+ "string"
33572
+ ],
33573
+ "description": "When set, the whole row is clickable and emits UI:{itemClickEvent} with { id, row } (action-button clicks stopPropagation so they still win). Mirrors DataList's contract.",
33574
+ "kind": "event"
33575
+ },
33550
33576
  "selectable": {
33551
33577
  "types": [
33552
33578
  "boolean"
@@ -35065,9 +35091,22 @@
35065
35091
  "types": [
35066
35092
  "number"
35067
35093
  ],
35068
- "description": "Render scale (0.4 = 40% zoom). Ignored by `free`/`side` (world-pixel-direct).",
35094
+ "description": "Render scale, legacy-squared semantics: on-screen cell ≈ `256 × scale²` px (the authored contract every board tuned its value for). Converted internally to the single camera zoom against the board's native tile width, so the cell pitch follows the asset while the on-screen size stays as authored. Ignored when `fit` is on; passed through raw for `free`/`side` (world-pixel-direct).",
35069
35095
  "default": 0.4
35070
35096
  },
35097
+ "tileWidth": {
35098
+ "types": [
35099
+ "number"
35100
+ ],
35101
+ "description": "Native tile/cell width in source px for this board's asset (e.g. 16 for Kenney tiny-dungeon, ~128 for iso blocks). The grid cell pitch follows the asset, so tile textures map 1:1 (crisp, no stretch). Defaults to the detected atlas tile width, else 256."
35102
+ },
35103
+ "fit": {
35104
+ "types": [
35105
+ "boolean"
35106
+ ],
35107
+ "description": "Auto-fit the board's grid extent to the viewport (default false — boards render at their authored `scale` and overflow → pan). Opt in for whole-board-overview boards. User wheel/pinch zoom always wins after the initial fit.",
35108
+ "default": false
35109
+ },
35071
35110
  "showMinimap": {
35072
35111
  "types": [
35073
35112
  "boolean"
@@ -39503,13 +39542,13 @@
39503
39542
  "types": [
39504
39543
  "number"
39505
39544
  ],
39506
- "description": "Draw width in world units (fractions of `projector.tileWidth`); omittedresolved source width in px."
39545
+ "description": "Draw width in world units (fractions of `projector.tileWidth`). Omittedone cell on tile grids (`flat`/`iso`/`hex`); native source px on `free`/`side`."
39507
39546
  },
39508
39547
  "height": {
39509
39548
  "types": [
39510
39549
  "number"
39511
39550
  ],
39512
- "description": "Draw height in world units (fractions of `projector.tileWidth`); omittedresolved source height in px."
39551
+ "description": "Draw height in world units (fractions of `projector.tileWidth`). Omittedone cell on tile grids (`flat`/`iso`/`hex`); native source px on `free`/`side`."
39513
39552
  },
39514
39553
  "frame": {
39515
39554
  "types": [
@@ -40252,6 +40291,18 @@
40252
40291
  ],
40253
40292
  "description": "Minimap overlay (2D)."
40254
40293
  },
40294
+ "fit": {
40295
+ "types": [
40296
+ "boolean"
40297
+ ],
40298
+ "description": "Auto-fit the board's grid extent to the viewport (2D grid layouts; default false — boards render at their authored `camera.zoom` scale)."
40299
+ },
40300
+ "tileWidth": {
40301
+ "types": [
40302
+ "number"
40303
+ ],
40304
+ "description": "Native tile/cell width in source px of the board's asset (2D grid layouts; defaults to the detected atlas tile width, else 256)."
40305
+ },
40255
40306
  "backgroundImage": {
40256
40307
  "types": [
40257
40308
  "asset",
@@ -41032,6 +41083,60 @@
41032
41083
  },
41033
41084
  "drawable": true,
41034
41085
  "drawHost": true
41086
+ },
41087
+ "emoji-picker": {
41088
+ "type": "emoji-picker",
41089
+ "category": "component",
41090
+ "tier": "molecules",
41091
+ "family": "core",
41092
+ "description": "EmojiPicker component",
41093
+ "suggestedFor": [
41094
+ "emoji",
41095
+ "picker",
41096
+ "emoji picker"
41097
+ ],
41098
+ "typicalSize": "medium",
41099
+ "propsSchema": {
41100
+ "pickEvent": {
41101
+ "types": [
41102
+ "string"
41103
+ ],
41104
+ "description": "Declarative event name — picking an emoji emits UI:{pickEvent} with { emoji } via eventBus",
41105
+ "kind": "event"
41106
+ },
41107
+ "position": {
41108
+ "types": [
41109
+ "string"
41110
+ ],
41111
+ "description": "Which side of the trigger the panel opens on",
41112
+ "enumValues": [
41113
+ "top",
41114
+ "bottom"
41115
+ ],
41116
+ "default": "top"
41117
+ },
41118
+ "triggerIcon": {
41119
+ "types": [
41120
+ "icon",
41121
+ "string"
41122
+ ],
41123
+ "description": "Icon shown on the trigger button",
41124
+ "default": "smile"
41125
+ },
41126
+ "triggerLabel": {
41127
+ "types": [
41128
+ "string"
41129
+ ],
41130
+ "description": "Accessible label for the trigger button",
41131
+ "default": "Add emoji"
41132
+ },
41133
+ "className": {
41134
+ "types": [
41135
+ "string"
41136
+ ],
41137
+ "description": "Additional CSS classes applied to the trigger button"
41138
+ }
41139
+ }
41035
41140
  }
41036
41141
  },
41037
41142
  "categories": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-07-28T16:34:50.202Z",
3
+ "exportedAt": "2026-07-29T19:32:01.461Z",
4
4
  "patterns": {
5
5
  "entity-table": {
6
6
  "type": "entity-table",
@@ -8495,6 +8495,25 @@
8495
8495
  "description": "Show arrow",
8496
8496
  "default": true
8497
8497
  },
8498
+ "open": {
8499
+ "types": [
8500
+ "boolean"
8501
+ ],
8502
+ "description": "Controlled open state. When set, the host owns visibility and the popover reports intent through onOpenChange instead of toggling itself."
8503
+ },
8504
+ "onOpenChange": {
8505
+ "types": [
8506
+ "function"
8507
+ ],
8508
+ "description": "Fired when the popover wants to change visibility (trigger click, outside click)",
8509
+ "kind": "callback",
8510
+ "callbackArgs": [
8511
+ {
8512
+ "name": "open",
8513
+ "type": "boolean"
8514
+ }
8515
+ ]
8516
+ },
8498
8517
  "className": {
8499
8518
  "types": [
8500
8519
  "string"
@@ -33547,6 +33566,13 @@
33547
33566
  ],
33548
33567
  "description": "Max inline action buttons before the rest collapse into a \"⋯\" overflow menu. Omit = all inline."
33549
33568
  },
33569
+ "itemClickEvent": {
33570
+ "types": [
33571
+ "string"
33572
+ ],
33573
+ "description": "When set, the whole row is clickable and emits UI:{itemClickEvent} with { id, row } (action-button clicks stopPropagation so they still win). Mirrors DataList's contract.",
33574
+ "kind": "event"
33575
+ },
33550
33576
  "selectable": {
33551
33577
  "types": [
33552
33578
  "boolean"
@@ -35065,9 +35091,22 @@
35065
35091
  "types": [
35066
35092
  "number"
35067
35093
  ],
35068
- "description": "Render scale (0.4 = 40% zoom). Ignored by `free`/`side` (world-pixel-direct).",
35094
+ "description": "Render scale, legacy-squared semantics: on-screen cell ≈ `256 × scale²` px (the authored contract every board tuned its value for). Converted internally to the single camera zoom against the board's native tile width, so the cell pitch follows the asset while the on-screen size stays as authored. Ignored when `fit` is on; passed through raw for `free`/`side` (world-pixel-direct).",
35069
35095
  "default": 0.4
35070
35096
  },
35097
+ "tileWidth": {
35098
+ "types": [
35099
+ "number"
35100
+ ],
35101
+ "description": "Native tile/cell width in source px for this board's asset (e.g. 16 for Kenney tiny-dungeon, ~128 for iso blocks). The grid cell pitch follows the asset, so tile textures map 1:1 (crisp, no stretch). Defaults to the detected atlas tile width, else 256."
35102
+ },
35103
+ "fit": {
35104
+ "types": [
35105
+ "boolean"
35106
+ ],
35107
+ "description": "Auto-fit the board's grid extent to the viewport (default false — boards render at their authored `scale` and overflow → pan). Opt in for whole-board-overview boards. User wheel/pinch zoom always wins after the initial fit.",
35108
+ "default": false
35109
+ },
35071
35110
  "showMinimap": {
35072
35111
  "types": [
35073
35112
  "boolean"
@@ -39503,13 +39542,13 @@
39503
39542
  "types": [
39504
39543
  "number"
39505
39544
  ],
39506
- "description": "Draw width in world units (fractions of `projector.tileWidth`); omittedresolved source width in px."
39545
+ "description": "Draw width in world units (fractions of `projector.tileWidth`). Omittedone cell on tile grids (`flat`/`iso`/`hex`); native source px on `free`/`side`."
39507
39546
  },
39508
39547
  "height": {
39509
39548
  "types": [
39510
39549
  "number"
39511
39550
  ],
39512
- "description": "Draw height in world units (fractions of `projector.tileWidth`); omittedresolved source height in px."
39551
+ "description": "Draw height in world units (fractions of `projector.tileWidth`). Omittedone cell on tile grids (`flat`/`iso`/`hex`); native source px on `free`/`side`."
39513
39552
  },
39514
39553
  "frame": {
39515
39554
  "types": [
@@ -40252,6 +40291,18 @@
40252
40291
  ],
40253
40292
  "description": "Minimap overlay (2D)."
40254
40293
  },
40294
+ "fit": {
40295
+ "types": [
40296
+ "boolean"
40297
+ ],
40298
+ "description": "Auto-fit the board's grid extent to the viewport (2D grid layouts; default false — boards render at their authored `camera.zoom` scale)."
40299
+ },
40300
+ "tileWidth": {
40301
+ "types": [
40302
+ "number"
40303
+ ],
40304
+ "description": "Native tile/cell width in source px of the board's asset (2D grid layouts; defaults to the detected atlas tile width, else 256)."
40305
+ },
40255
40306
  "backgroundImage": {
40256
40307
  "types": [
40257
40308
  "asset",
@@ -41032,6 +41083,60 @@
41032
41083
  },
41033
41084
  "drawable": true,
41034
41085
  "drawHost": true
41086
+ },
41087
+ "emoji-picker": {
41088
+ "type": "emoji-picker",
41089
+ "category": "component",
41090
+ "tier": "molecules",
41091
+ "family": "core",
41092
+ "description": "EmojiPicker component",
41093
+ "suggestedFor": [
41094
+ "emoji",
41095
+ "picker",
41096
+ "emoji picker"
41097
+ ],
41098
+ "typicalSize": "medium",
41099
+ "propsSchema": {
41100
+ "pickEvent": {
41101
+ "types": [
41102
+ "string"
41103
+ ],
41104
+ "description": "Declarative event name — picking an emoji emits UI:{pickEvent} with { emoji } via eventBus",
41105
+ "kind": "event"
41106
+ },
41107
+ "position": {
41108
+ "types": [
41109
+ "string"
41110
+ ],
41111
+ "description": "Which side of the trigger the panel opens on",
41112
+ "enumValues": [
41113
+ "top",
41114
+ "bottom"
41115
+ ],
41116
+ "default": "top"
41117
+ },
41118
+ "triggerIcon": {
41119
+ "types": [
41120
+ "icon",
41121
+ "string"
41122
+ ],
41123
+ "description": "Icon shown on the trigger button",
41124
+ "default": "smile"
41125
+ },
41126
+ "triggerLabel": {
41127
+ "types": [
41128
+ "string"
41129
+ ],
41130
+ "description": "Accessible label for the trigger button",
41131
+ "default": "Add emoji"
41132
+ },
41133
+ "className": {
41134
+ "types": [
41135
+ "string"
41136
+ ],
41137
+ "description": "Additional CSS classes applied to the trigger button"
41138
+ }
41139
+ }
41035
41140
  }
41036
41141
  },
41037
41142
  "categories": [