@almadar/patterns 2.20.1 → 2.20.3

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-05-04T04:46:21.886Z",
3
+ "exportedAt": "2026-05-04T18:38:26.384Z",
4
4
  "mappings": {
5
5
  "page-header": {
6
6
  "component": "PageHeader",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "exportedAt": "2026-05-04T04:46:21.886Z",
3
+ "exportedAt": "2026-05-04T18:38:26.384Z",
4
4
  "contracts": {
5
5
  "form": {
6
6
  "emits": [
package/dist/index.d.ts CHANGED
@@ -5505,6 +5505,45 @@ export declare const registry: {
5505
5505
  types: string[];
5506
5506
  description: string;
5507
5507
  };
5508
+ searchEvent: {
5509
+ types: string[];
5510
+ description: string;
5511
+ kind: string;
5512
+ emitPayloadSchema: {
5513
+ name: string;
5514
+ type: string;
5515
+ required: boolean;
5516
+ }[];
5517
+ };
5518
+ onSearchSubmit: {
5519
+ types: string[];
5520
+ description: string;
5521
+ kind: string;
5522
+ callbackArgs: {
5523
+ name: string;
5524
+ type: string;
5525
+ }[];
5526
+ };
5527
+ notifications: {
5528
+ types: string[];
5529
+ description: string;
5530
+ };
5531
+ notificationClickEvent: {
5532
+ types: string[];
5533
+ description: string;
5534
+ kind: string;
5535
+ emitPayloadSchema: never[];
5536
+ };
5537
+ onNotificationClick: {
5538
+ types: string[];
5539
+ description: string;
5540
+ kind: string;
5541
+ callbackArgs: never[];
5542
+ };
5543
+ showThemeToggle: {
5544
+ types: string[];
5545
+ description: string;
5546
+ };
5508
5547
  sidebarFooter: {
5509
5548
  types: string[];
5510
5549
  description: string;
@@ -9391,7 +9430,10 @@ export declare const registry: {
9391
9430
  fields: {
9392
9431
  types: string[];
9393
9432
  description: string;
9394
- required: boolean;
9433
+ };
9434
+ columns: {
9435
+ types: string[];
9436
+ description: string;
9395
9437
  };
9396
9438
  itemActions: {
9397
9439
  types: string[];
@@ -9489,7 +9531,10 @@ export declare const registry: {
9489
9531
  fields: {
9490
9532
  types: string[];
9491
9533
  description: string;
9492
- required: boolean;
9534
+ };
9535
+ columns: {
9536
+ types: string[];
9537
+ description: string;
9493
9538
  };
9494
9539
  itemActions: {
9495
9540
  types: string[];
@@ -22152,6 +22197,45 @@ export declare const PATTERN_REGISTRY: {
22152
22197
  types: string[];
22153
22198
  description: string;
22154
22199
  };
22200
+ searchEvent: {
22201
+ types: string[];
22202
+ description: string;
22203
+ kind: string;
22204
+ emitPayloadSchema: {
22205
+ name: string;
22206
+ type: string;
22207
+ required: boolean;
22208
+ }[];
22209
+ };
22210
+ onSearchSubmit: {
22211
+ types: string[];
22212
+ description: string;
22213
+ kind: string;
22214
+ callbackArgs: {
22215
+ name: string;
22216
+ type: string;
22217
+ }[];
22218
+ };
22219
+ notifications: {
22220
+ types: string[];
22221
+ description: string;
22222
+ };
22223
+ notificationClickEvent: {
22224
+ types: string[];
22225
+ description: string;
22226
+ kind: string;
22227
+ emitPayloadSchema: never[];
22228
+ };
22229
+ onNotificationClick: {
22230
+ types: string[];
22231
+ description: string;
22232
+ kind: string;
22233
+ callbackArgs: never[];
22234
+ };
22235
+ showThemeToggle: {
22236
+ types: string[];
22237
+ description: string;
22238
+ };
22155
22239
  sidebarFooter: {
22156
22240
  types: string[];
22157
22241
  description: string;
@@ -26038,7 +26122,10 @@ export declare const PATTERN_REGISTRY: {
26038
26122
  fields: {
26039
26123
  types: string[];
26040
26124
  description: string;
26041
- required: boolean;
26125
+ };
26126
+ columns: {
26127
+ types: string[];
26128
+ description: string;
26042
26129
  };
26043
26130
  itemActions: {
26044
26131
  types: string[];
@@ -26136,7 +26223,10 @@ export declare const PATTERN_REGISTRY: {
26136
26223
  fields: {
26137
26224
  types: string[];
26138
26225
  description: string;
26139
- required: boolean;
26226
+ };
26227
+ columns: {
26228
+ types: string[];
26229
+ description: string;
26140
26230
  };
26141
26231
  itemActions: {
26142
26232
  types: string[];
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // src/patterns-registry.json
2
2
  var patterns_registry_default = {
3
3
  version: "1.0.0",
4
- exportedAt: "2026-05-04T04:46:21.886Z",
4
+ exportedAt: "2026-05-04T18:38:26.384Z",
5
5
  patterns: {
6
6
  "entity-table": {
7
7
  type: "entity-table",
@@ -3977,9 +3977,10 @@ var patterns_registry_default = {
3977
3977
  },
3978
3978
  label: {
3979
3979
  types: [
3980
- "string"
3980
+ "string",
3981
+ "number"
3981
3982
  ],
3982
- description: "Badge label text (alternative to children for schema-driven rendering)"
3983
+ description: "Badge label text (alternative to children for schema-driven rendering). Numeric values are auto-coerced to string for rendering \u2014 common case is unread counts, error counts, status codes, etc."
3983
3984
  },
3984
3985
  icon: {
3985
3986
  types: [
@@ -8711,7 +8712,7 @@ var patterns_registry_default = {
8711
8712
  types: [
8712
8713
  "array"
8713
8714
  ],
8714
- description: "Navigation items"
8715
+ description: "Navigation items. Apps that need a Settings page should add it as a navItems entry, not depend on baked-in chrome."
8715
8716
  },
8716
8717
  user: {
8717
8718
  types: [
@@ -8723,19 +8724,74 @@ var patterns_registry_default = {
8723
8724
  types: [
8724
8725
  "node"
8725
8726
  ],
8726
- description: "Header actions (notifications, etc.)"
8727
+ description: "Header actions (extra slots beyond bell/search/theme)."
8727
8728
  },
8728
8729
  showSearch: {
8729
8730
  types: [
8730
8731
  "boolean"
8731
8732
  ],
8732
- description: "Show search in header"
8733
+ description: "Show the top-bar search box. Default `false` \u2014 opt in by setting `searchEvent` (any truthy value implies showSearch) or this flag."
8734
+ },
8735
+ searchEvent: {
8736
+ types: [
8737
+ "string"
8738
+ ],
8739
+ description: "Declarative search event \u2014 fires `UI:{searchEvent}` on the bus when the user submits the search box (Enter key). Setting this implies `showSearch=true`. Use `onSearchSubmit` for direct React usage instead.",
8740
+ kind: "event-ref",
8741
+ emitPayloadSchema: [
8742
+ {
8743
+ name: "value",
8744
+ type: "string",
8745
+ required: true
8746
+ }
8747
+ ]
8748
+ },
8749
+ onSearchSubmit: {
8750
+ types: [
8751
+ "function"
8752
+ ],
8753
+ description: "React-side search submit callback. Used when the host wires the layout directly (not via render-ui pattern resolution).",
8754
+ kind: "callback",
8755
+ callbackArgs: [
8756
+ {
8757
+ name: "value",
8758
+ type: "string"
8759
+ }
8760
+ ]
8761
+ },
8762
+ notifications: {
8763
+ types: [
8764
+ "array"
8765
+ ],
8766
+ description: "Notification list. Pass an empty array to show the bell with no badge; omit / pass null to hide the bell entirely."
8767
+ },
8768
+ notificationClickEvent: {
8769
+ types: [
8770
+ "string"
8771
+ ],
8772
+ description: "Declarative bell click event \u2014 fires `UI:{notificationClickEvent}` on the bus with an empty payload when the user clicks the bell.",
8773
+ kind: "event-ref",
8774
+ emitPayloadSchema: []
8775
+ },
8776
+ onNotificationClick: {
8777
+ types: [
8778
+ "function"
8779
+ ],
8780
+ description: "React-side bell click callback.",
8781
+ kind: "callback",
8782
+ callbackArgs: []
8783
+ },
8784
+ showThemeToggle: {
8785
+ types: [
8786
+ "boolean"
8787
+ ],
8788
+ description: "Show the theme toggle button in the header. Default `true` \u2014 universally useful for a11y / dark mode."
8733
8789
  },
8734
8790
  sidebarFooter: {
8735
8791
  types: [
8736
8792
  "node"
8737
8793
  ],
8738
- description: "Custom sidebar footer"
8794
+ description: "Custom sidebar footer (optional). When omitted, the sidebar has no footer \u2014 apps that need Settings/etc. add them via navItems."
8739
8795
  },
8740
8796
  onSignOut: {
8741
8797
  types: [
@@ -14712,8 +14768,13 @@ var patterns_registry_default = {
14712
14768
  types: [
14713
14769
  "array"
14714
14770
  ],
14715
- description: "Field definitions for rendering each card",
14716
- required: true
14771
+ description: "Field definitions for rendering each card. The pattern contract in `@almadar/patterns` documents `columns` as the wire-format alias the compiler emits \u2014 both names resolve to the same shape here. Pass either."
14772
+ },
14773
+ columns: {
14774
+ types: [
14775
+ "array"
14776
+ ],
14777
+ description: "Alias for `fields` \u2014 the compiler emits `columns` for field defs."
14717
14778
  },
14718
14779
  itemActions: {
14719
14780
  types: [
@@ -14869,8 +14930,13 @@ var patterns_registry_default = {
14869
14930
  types: [
14870
14931
  "array"
14871
14932
  ],
14872
- description: "Field definitions for rendering each row",
14873
- required: true
14933
+ description: "Field definitions for rendering each row. The pattern contract in `@almadar/patterns` documents `columns` as the wire-format alias the compiler emits \u2014 both names resolve to the same shape here. Pass either."
14934
+ },
14935
+ columns: {
14936
+ types: [
14937
+ "array"
14938
+ ],
14939
+ description: "Alias for `fields` \u2014 the compiler emits `columns` for field defs."
14874
14940
  },
14875
14941
  itemActions: {
14876
14942
  types: [
@@ -26656,7 +26722,7 @@ var integrators_registry_default = {
26656
26722
  // src/component-mapping.json
26657
26723
  var component_mapping_default = {
26658
26724
  version: "1.0.0",
26659
- exportedAt: "2026-05-04T04:46:21.886Z",
26725
+ exportedAt: "2026-05-04T18:38:26.384Z",
26660
26726
  mappings: {
26661
26727
  "page-header": {
26662
26728
  component: "PageHeader",
@@ -28467,7 +28533,7 @@ var component_mapping_default = {
28467
28533
  // src/event-contracts.json
28468
28534
  var event_contracts_default = {
28469
28535
  version: "1.0.0",
28470
- exportedAt: "2026-05-04T04:46:21.886Z",
28536
+ exportedAt: "2026-05-04T18:38:26.384Z",
28471
28537
  contracts: {
28472
28538
  form: {
28473
28539
  emits: [