@almadar/std 16.184.0 → 16.186.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.
@@ -101,6 +101,7 @@ __export(functions_exports, {
101
101
  StdTacticsBoard3dTacticsBoard3DOrbitalManifest: () => StdTacticsBoard3dTacticsBoard3DOrbitalManifest,
102
102
  StdTagTaxonomyTagTaxonomyOrbitalManifest: () => StdTagTaxonomyTagTaxonomyOrbitalManifest,
103
103
  StdThreadThreadPostOrbitalManifest: () => StdThreadThreadPostOrbitalManifest,
104
+ StdTodoListAppTodoListAppOrbitalManifest: () => StdTodoListAppTodoListAppOrbitalManifest,
104
105
  StdTokenizerMlTokenizerOrbitalManifest: () => StdTokenizerMlTokenizerOrbitalManifest,
105
106
  StdTreeTreeNodeOrbitalManifest: () => StdTreeTreeNodeOrbitalManifest,
106
107
  StdUiBookChapterViewBookChapterViewOrbitalManifest: () => StdUiBookChapterViewBookChapterViewOrbitalManifest,
@@ -243,6 +244,7 @@ __export(functions_exports, {
243
244
  isStdTacticsBoard3dTacticsBoard3DOrbitalParams: () => isStdTacticsBoard3dTacticsBoard3DOrbitalParams,
244
245
  isStdTagTaxonomyTagTaxonomyOrbitalParams: () => isStdTagTaxonomyTagTaxonomyOrbitalParams,
245
246
  isStdThreadThreadPostOrbitalParams: () => isStdThreadThreadPostOrbitalParams,
247
+ isStdTodoListAppTodoListAppOrbitalParams: () => isStdTodoListAppTodoListAppOrbitalParams,
246
248
  isStdTokenizerMlTokenizerOrbitalParams: () => isStdTokenizerMlTokenizerOrbitalParams,
247
249
  isStdTreeTreeNodeOrbitalParams: () => isStdTreeTreeNodeOrbitalParams,
248
250
  isStdUiBookChapterViewBookChapterViewOrbitalParams: () => isStdUiBookChapterViewBookChapterViewOrbitalParams,
@@ -975,6 +977,8 @@ __export(functions_exports, {
975
977
  stdThreadPage: () => stdThreadPage,
976
978
  stdThreadThreadPostOrbital: () => stdThreadThreadPostOrbital,
977
979
  stdThreadTrait: () => stdThreadTrait,
980
+ stdTodoListApp: () => stdTodoListApp,
981
+ stdTodoListAppTodoListAppOrbital: () => stdTodoListAppTodoListAppOrbital,
978
982
  stdTokenizer: () => stdTokenizer,
979
983
  stdTokenizerMlTokenizerOrbital: () => stdTokenizerMlTokenizerOrbital,
980
984
  stdTokenizerPage: () => stdTokenizerPage,
@@ -64793,6 +64797,34 @@ function stdRichEditorDocumentOrbital(params = {}) {
64793
64797
  {
64794
64798
  "category": "interaction",
64795
64799
  "config": {
64800
+ "editLabel": {
64801
+ "default": "Edit content",
64802
+ "description": "Label of the button above the read-only body that opens the editor.",
64803
+ "label": "Edit button label",
64804
+ "tier": "presentation",
64805
+ "type": "string"
64806
+ },
64807
+ "emptyActionLabel": {
64808
+ "default": "Start writing",
64809
+ "description": "Label of the button that opens the editor from the empty body state.",
64810
+ "label": "Empty action label",
64811
+ "tier": "presentation",
64812
+ "type": "string"
64813
+ },
64814
+ "emptyDescription": {
64815
+ "default": "This page has no content yet. Start writing to fill it in.",
64816
+ "description": "Supporting line shown with the empty body state.",
64817
+ "label": "Empty description",
64818
+ "tier": "presentation",
64819
+ "type": "string"
64820
+ },
64821
+ "emptyTitle": {
64822
+ "default": "Nothing written yet",
64823
+ "description": "Heading shown in place of the body when the row has no blocks yet.",
64824
+ "label": "Empty heading",
64825
+ "tier": "presentation",
64826
+ "type": "string"
64827
+ },
64796
64828
  "placeholder": {
64797
64829
  "default": "Start writing\u2026",
64798
64830
  "description": "Placeholder shown in the block editor when it is empty.",
@@ -64802,7 +64834,7 @@ function stdRichEditorDocumentOrbital(params = {}) {
64802
64834
  },
64803
64835
  "title": {
64804
64836
  "default": "Edit content",
64805
- "description": "Heading shown at the top of the block editor overlay.",
64837
+ "description": "Heading shown above the editor while the body is being edited.",
64806
64838
  "label": "Editor heading",
64807
64839
  "tier": "presentation",
64808
64840
  "type": "string"
@@ -64828,7 +64860,7 @@ function stdRichEditorDocumentOrbital(params = {}) {
64828
64860
  "tier": "domain"
64829
64861
  },
64830
64862
  {
64831
- "description": "Indicates the block editor overlay is being dismissed.",
64863
+ "description": "Leaves the editor without saving; the body returns to its read-only render.",
64832
64864
  "event": "CLOSE",
64833
64865
  "synonyms": "dismiss, hide, cancel, close",
64834
64866
  "tier": "domain"
@@ -64863,7 +64895,7 @@ function stdRichEditorDocumentOrbital(params = {}) {
64863
64895
  "name": "Initialize"
64864
64896
  },
64865
64897
  {
64866
- "description": "Requests the block editor overlay open for the given row. The caller supplies the row's id and current blocks \u2014 this trait never fetches them itself.",
64898
+ "description": "Hands the editor the row whose body it renders \u2014 the caller supplies the row's id and current blocks, since this trait never fetches them itself. Re-firing it repaints the body (e.g. after the host refetches a saved row).",
64867
64899
  "key": "OPEN",
64868
64900
  "name": "Open",
64869
64901
  "payloadSchema": [
@@ -64895,6 +64927,39 @@ function stdRichEditorDocumentOrbital(params = {}) {
64895
64927
  "synonyms": "show, launch, reveal, edit",
64896
64928
  "tier": "domain"
64897
64929
  },
64930
+ {
64931
+ "description": "Hands the editor a row that was just created as a blank draft: same payload as OPEN, but the body opens straight in the authoring editor instead of the read-only render, so a document-first 'New page' lands the author on a cursor rather than an empty state.",
64932
+ "key": "OPEN_DRAFT",
64933
+ "name": "Open Draft",
64934
+ "payloadSchema": [
64935
+ {
64936
+ "name": "id",
64937
+ "required": true,
64938
+ "type": "string"
64939
+ },
64940
+ {
64941
+ "name": "blocksJson",
64942
+ "properties": [
64943
+ {
64944
+ "name": "type",
64945
+ "required": true,
64946
+ "type": "string"
64947
+ },
64948
+ {
64949
+ "name": "content",
64950
+ "type": "string"
64951
+ },
64952
+ {
64953
+ "name": "id",
64954
+ "type": "string"
64955
+ }
64956
+ ],
64957
+ "type": "[object]"
64958
+ }
64959
+ ],
64960
+ "synonyms": "new document, start writing, blank draft, compose",
64961
+ "tier": "domain"
64962
+ },
64898
64963
  {
64899
64964
  "description": "Signals a row's block content is ready to persist. This atom never persists \u2014 the composing organism routes BLOCKS_SAVED into its own persistor's update event.",
64900
64965
  "key": "BLOCKS_SAVED",
@@ -64913,6 +64978,10 @@ function stdRichEditorDocumentOrbital(params = {}) {
64913
64978
  "synonyms": "saved, persist, update, commit",
64914
64979
  "tier": "domain"
64915
64980
  },
64981
+ {
64982
+ "key": "EDIT_BLOCKS",
64983
+ "name": "Edit Blocks"
64984
+ },
64916
64985
  {
64917
64986
  "description": "Signals that the content of a block has been modified while editing.",
64918
64987
  "key": "BLOCKS_CHANGE",
@@ -64942,11 +65011,11 @@ function stdRichEditorDocumentOrbital(params = {}) {
64942
65011
  "tier": "domain"
64943
65012
  },
64944
65013
  {
64945
- "key": "SAVE",
64946
- "name": "Save"
65014
+ "key": "SAVE_BLOCKS",
65015
+ "name": "Save Blocks"
64947
65016
  },
64948
65017
  {
64949
- "description": "Indicates the block editor overlay is being dismissed.",
65018
+ "description": "Leaves the editor without saving; the body returns to its read-only render.",
64950
65019
  "key": "CLOSE",
64951
65020
  "name": "Close",
64952
65021
  "synonyms": "dismiss, hide, cancel, close",
@@ -64958,6 +65027,9 @@ function stdRichEditorDocumentOrbital(params = {}) {
64958
65027
  "isInitial": true,
64959
65028
  "name": "idle"
64960
65029
  },
65030
+ {
65031
+ "name": "viewing"
65032
+ },
64961
65033
  {
64962
65034
  "name": "editing"
64963
65035
  }
@@ -64982,7 +65054,107 @@ function stdRichEditorDocumentOrbital(params = {}) {
64982
65054
  ],
64983
65055
  [
64984
65056
  "render-ui",
64985
- "modal",
65057
+ "main",
65058
+ {
65059
+ "children": [
65060
+ {
65061
+ "children": [
65062
+ {
65063
+ "action": "EDIT_BLOCKS",
65064
+ "icon": "edit",
65065
+ "label": "@config.editLabel",
65066
+ "type": "button",
65067
+ "variant": "secondary"
65068
+ }
65069
+ ],
65070
+ "direction": "horizontal",
65071
+ "gap": "sm",
65072
+ "justify": "end",
65073
+ "type": "stack"
65074
+ },
65075
+ {
65076
+ "action": "EDIT_BLOCKS",
65077
+ "children": [
65078
+ {
65079
+ "initialBlocks": "@entity.blocksJson",
65080
+ "readOnly": true,
65081
+ "type": "rich-block-editor"
65082
+ }
65083
+ ],
65084
+ "className": "cursor-text rounded-md transition-colors hover:bg-muted/40",
65085
+ "type": "box"
65086
+ }
65087
+ ],
65088
+ "direction": "vertical",
65089
+ "gap": "sm",
65090
+ "type": "stack"
65091
+ }
65092
+ ]
65093
+ ],
65094
+ "event": "OPEN",
65095
+ "from": "idle",
65096
+ "guard": [
65097
+ ">",
65098
+ [
65099
+ "array/len",
65100
+ "@payload.blocksJson"
65101
+ ],
65102
+ 0
65103
+ ],
65104
+ "to": "viewing"
65105
+ },
65106
+ {
65107
+ "effects": [
65108
+ [
65109
+ "set",
65110
+ "@entity.id",
65111
+ "@payload.id"
65112
+ ],
65113
+ [
65114
+ "set",
65115
+ "@entity.blocksJson",
65116
+ "@payload.blocksJson"
65117
+ ],
65118
+ [
65119
+ "render-ui",
65120
+ "main",
65121
+ {
65122
+ "actionEvent": "EDIT_BLOCKS",
65123
+ "actionLabel": "@config.emptyActionLabel",
65124
+ "description": "@config.emptyDescription",
65125
+ "icon": "file-text",
65126
+ "title": "@config.emptyTitle",
65127
+ "type": "empty-state"
65128
+ }
65129
+ ]
65130
+ ],
65131
+ "event": "OPEN",
65132
+ "from": "idle",
65133
+ "guard": [
65134
+ "=",
65135
+ [
65136
+ "array/len",
65137
+ "@payload.blocksJson"
65138
+ ],
65139
+ 0
65140
+ ],
65141
+ "to": "viewing"
65142
+ },
65143
+ {
65144
+ "effects": [
65145
+ [
65146
+ "set",
65147
+ "@entity.id",
65148
+ "@payload.id"
65149
+ ],
65150
+ [
65151
+ "set",
65152
+ "@entity.blocksJson",
65153
+ "@payload.blocksJson"
65154
+ ],
65155
+ [
65156
+ "render-ui",
65157
+ "main",
64986
65158
  {
64987
65159
  "children": [
64988
65160
  {
@@ -64995,16 +65167,13 @@ function stdRichEditorDocumentOrbital(params = {}) {
64995
65167
  {
64996
65168
  "content": "@config.title",
64997
65169
  "type": "typography",
64998
- "variant": "h3"
65170
+ "variant": "h4"
64999
65171
  }
65000
65172
  ],
65001
65173
  "direction": "horizontal",
65002
65174
  "gap": "sm",
65003
65175
  "type": "stack"
65004
65176
  },
65005
- {
65006
- "type": "divider"
65007
- },
65008
65177
  {
65009
65178
  "changeEvent": "BLOCKS_CHANGE",
65010
65179
  "initialBlocks": "@entity.blocksJson",
@@ -65013,10 +65182,9 @@ function stdRichEditorDocumentOrbital(params = {}) {
65013
65182
  "type": "rich-block-editor"
65014
65183
  },
65015
65184
  {
65016
- "align": "center",
65017
65185
  "children": [
65018
65186
  {
65019
- "action": "SAVE",
65187
+ "action": "SAVE_BLOCKS",
65020
65188
  "label": "Save",
65021
65189
  "type": "button",
65022
65190
  "variant": "primary"
@@ -65030,6 +65198,7 @@ function stdRichEditorDocumentOrbital(params = {}) {
65030
65198
  ],
65031
65199
  "direction": "horizontal",
65032
65200
  "gap": "sm",
65201
+ "justify": "end",
65033
65202
  "type": "stack"
65034
65203
  }
65035
65204
  ],
@@ -65039,7 +65208,7 @@ function stdRichEditorDocumentOrbital(params = {}) {
65039
65208
  }
65040
65209
  ]
65041
65210
  ],
65042
- "event": "OPEN",
65211
+ "event": "OPEN_DRAFT",
65043
65212
  "from": "idle",
65044
65213
  "to": "editing"
65045
65214
  },
@@ -65050,23 +65219,252 @@ function stdRichEditorDocumentOrbital(params = {}) {
65050
65219
  },
65051
65220
  {
65052
65221
  "effects": [
65222
+ [
65223
+ "set",
65224
+ "@entity.id",
65225
+ "@payload.id"
65226
+ ],
65053
65227
  [
65054
65228
  "set",
65055
65229
  "@entity.blocksJson",
65056
- "@payload.blocks"
65230
+ "@payload.blocksJson"
65231
+ ],
65232
+ [
65233
+ "render-ui",
65234
+ "main",
65235
+ {
65236
+ "children": [
65237
+ {
65238
+ "align": "center",
65239
+ "children": [
65240
+ {
65241
+ "name": "file-text",
65242
+ "type": "icon"
65243
+ },
65244
+ {
65245
+ "content": "@config.title",
65246
+ "type": "typography",
65247
+ "variant": "h4"
65248
+ }
65249
+ ],
65250
+ "direction": "horizontal",
65251
+ "gap": "sm",
65252
+ "type": "stack"
65253
+ },
65254
+ {
65255
+ "changeEvent": "BLOCKS_CHANGE",
65256
+ "initialBlocks": "@entity.blocksJson",
65257
+ "placeholder": "@config.placeholder",
65258
+ "showToolbar": true,
65259
+ "type": "rich-block-editor"
65260
+ },
65261
+ {
65262
+ "children": [
65263
+ {
65264
+ "action": "SAVE_BLOCKS",
65265
+ "label": "Save",
65266
+ "type": "button",
65267
+ "variant": "primary"
65268
+ },
65269
+ {
65270
+ "action": "CLOSE",
65271
+ "label": "Cancel",
65272
+ "type": "button",
65273
+ "variant": "ghost"
65274
+ }
65275
+ ],
65276
+ "direction": "horizontal",
65277
+ "gap": "sm",
65278
+ "justify": "end",
65279
+ "type": "stack"
65280
+ }
65281
+ ],
65282
+ "direction": "vertical",
65283
+ "gap": "md",
65284
+ "type": "stack"
65285
+ }
65057
65286
  ]
65058
65287
  ],
65059
- "event": "BLOCKS_CHANGE",
65060
- "from": "editing",
65288
+ "event": "OPEN_DRAFT",
65289
+ "from": "viewing",
65061
65290
  "to": "editing"
65062
65291
  },
65063
65292
  {
65064
65293
  "effects": [
65294
+ [
65295
+ "set",
65296
+ "@entity.id",
65297
+ "@payload.id"
65298
+ ],
65299
+ [
65300
+ "set",
65301
+ "@entity.blocksJson",
65302
+ "@payload.blocksJson"
65303
+ ],
65065
65304
  [
65066
65305
  "render-ui",
65067
- "modal",
65068
- null
65306
+ "main",
65307
+ {
65308
+ "children": [
65309
+ {
65310
+ "children": [
65311
+ {
65312
+ "action": "EDIT_BLOCKS",
65313
+ "icon": "edit",
65314
+ "label": "@config.editLabel",
65315
+ "type": "button",
65316
+ "variant": "secondary"
65317
+ }
65318
+ ],
65319
+ "direction": "horizontal",
65320
+ "gap": "sm",
65321
+ "justify": "end",
65322
+ "type": "stack"
65323
+ },
65324
+ {
65325
+ "action": "EDIT_BLOCKS",
65326
+ "children": [
65327
+ {
65328
+ "initialBlocks": "@entity.blocksJson",
65329
+ "readOnly": true,
65330
+ "type": "rich-block-editor"
65331
+ }
65332
+ ],
65333
+ "className": "cursor-text rounded-md transition-colors hover:bg-muted/40",
65334
+ "type": "box"
65335
+ }
65336
+ ],
65337
+ "direction": "vertical",
65338
+ "gap": "sm",
65339
+ "type": "stack"
65340
+ }
65341
+ ]
65342
+ ],
65343
+ "event": "OPEN",
65344
+ "from": "viewing",
65345
+ "guard": [
65346
+ ">",
65347
+ [
65348
+ "array/len",
65349
+ "@payload.blocksJson"
65350
+ ],
65351
+ 0
65352
+ ],
65353
+ "to": "viewing"
65354
+ },
65355
+ {
65356
+ "effects": [
65357
+ [
65358
+ "set",
65359
+ "@entity.id",
65360
+ "@payload.id"
65361
+ ],
65362
+ [
65363
+ "set",
65364
+ "@entity.blocksJson",
65365
+ "@payload.blocksJson"
65069
65366
  ],
65367
+ [
65368
+ "render-ui",
65369
+ "main",
65370
+ {
65371
+ "actionEvent": "EDIT_BLOCKS",
65372
+ "actionLabel": "@config.emptyActionLabel",
65373
+ "description": "@config.emptyDescription",
65374
+ "icon": "file-text",
65375
+ "title": "@config.emptyTitle",
65376
+ "type": "empty-state"
65377
+ }
65378
+ ]
65379
+ ],
65380
+ "event": "OPEN",
65381
+ "from": "viewing",
65382
+ "guard": [
65383
+ "=",
65384
+ [
65385
+ "array/len",
65386
+ "@payload.blocksJson"
65387
+ ],
65388
+ 0
65389
+ ],
65390
+ "to": "viewing"
65391
+ },
65392
+ {
65393
+ "effects": [
65394
+ [
65395
+ "render-ui",
65396
+ "main",
65397
+ {
65398
+ "children": [
65399
+ {
65400
+ "align": "center",
65401
+ "children": [
65402
+ {
65403
+ "name": "file-text",
65404
+ "type": "icon"
65405
+ },
65406
+ {
65407
+ "content": "@config.title",
65408
+ "type": "typography",
65409
+ "variant": "h4"
65410
+ }
65411
+ ],
65412
+ "direction": "horizontal",
65413
+ "gap": "sm",
65414
+ "type": "stack"
65415
+ },
65416
+ {
65417
+ "changeEvent": "BLOCKS_CHANGE",
65418
+ "initialBlocks": "@entity.blocksJson",
65419
+ "placeholder": "@config.placeholder",
65420
+ "showToolbar": true,
65421
+ "type": "rich-block-editor"
65422
+ },
65423
+ {
65424
+ "children": [
65425
+ {
65426
+ "action": "SAVE_BLOCKS",
65427
+ "label": "Save",
65428
+ "type": "button",
65429
+ "variant": "primary"
65430
+ },
65431
+ {
65432
+ "action": "CLOSE",
65433
+ "label": "Cancel",
65434
+ "type": "button",
65435
+ "variant": "ghost"
65436
+ }
65437
+ ],
65438
+ "direction": "horizontal",
65439
+ "gap": "sm",
65440
+ "justify": "end",
65441
+ "type": "stack"
65442
+ }
65443
+ ],
65444
+ "direction": "vertical",
65445
+ "gap": "md",
65446
+ "type": "stack"
65447
+ }
65448
+ ]
65449
+ ],
65450
+ "event": "EDIT_BLOCKS",
65451
+ "from": "viewing",
65452
+ "to": "editing"
65453
+ },
65454
+ {
65455
+ "effects": [
65456
+ [
65457
+ "set",
65458
+ "@entity.blocksJson",
65459
+ "@payload.blocks"
65460
+ ]
65461
+ ],
65462
+ "event": "BLOCKS_CHANGE",
65463
+ "from": "editing",
65464
+ "to": "editing"
65465
+ },
65466
+ {
65467
+ "effects": [
65070
65468
  [
65071
65469
  "emit",
65072
65470
  "BLOCKS_SAVED",
@@ -65074,23 +65472,94 @@ function stdRichEditorDocumentOrbital(params = {}) {
65074
65472
  "blocksJson": "@entity.blocksJson",
65075
65473
  "id": "@entity.id"
65076
65474
  }
65475
+ ],
65476
+ [
65477
+ "render-ui",
65478
+ "main",
65479
+ {
65480
+ "children": [
65481
+ {
65482
+ "children": [
65483
+ {
65484
+ "action": "EDIT_BLOCKS",
65485
+ "icon": "edit",
65486
+ "label": "@config.editLabel",
65487
+ "type": "button",
65488
+ "variant": "secondary"
65489
+ }
65490
+ ],
65491
+ "direction": "horizontal",
65492
+ "gap": "sm",
65493
+ "justify": "end",
65494
+ "type": "stack"
65495
+ },
65496
+ {
65497
+ "action": "EDIT_BLOCKS",
65498
+ "children": [
65499
+ {
65500
+ "initialBlocks": "@entity.blocksJson",
65501
+ "readOnly": true,
65502
+ "type": "rich-block-editor"
65503
+ }
65504
+ ],
65505
+ "className": "cursor-text rounded-md transition-colors hover:bg-muted/40",
65506
+ "type": "box"
65507
+ }
65508
+ ],
65509
+ "direction": "vertical",
65510
+ "gap": "sm",
65511
+ "type": "stack"
65512
+ }
65077
65513
  ]
65078
65514
  ],
65079
- "event": "SAVE",
65515
+ "event": "SAVE_BLOCKS",
65080
65516
  "from": "editing",
65081
- "to": "idle"
65517
+ "to": "viewing"
65082
65518
  },
65083
65519
  {
65084
65520
  "effects": [
65085
65521
  [
65086
65522
  "render-ui",
65087
- "modal",
65088
- null
65523
+ "main",
65524
+ {
65525
+ "children": [
65526
+ {
65527
+ "children": [
65528
+ {
65529
+ "action": "EDIT_BLOCKS",
65530
+ "icon": "edit",
65531
+ "label": "@config.editLabel",
65532
+ "type": "button",
65533
+ "variant": "secondary"
65534
+ }
65535
+ ],
65536
+ "direction": "horizontal",
65537
+ "gap": "sm",
65538
+ "justify": "end",
65539
+ "type": "stack"
65540
+ },
65541
+ {
65542
+ "action": "EDIT_BLOCKS",
65543
+ "children": [
65544
+ {
65545
+ "initialBlocks": "@entity.blocksJson",
65546
+ "readOnly": true,
65547
+ "type": "rich-block-editor"
65548
+ }
65549
+ ],
65550
+ "className": "cursor-text rounded-md transition-colors hover:bg-muted/40",
65551
+ "type": "box"
65552
+ }
65553
+ ],
65554
+ "direction": "vertical",
65555
+ "gap": "sm",
65556
+ "type": "stack"
65557
+ }
65089
65558
  ]
65090
65559
  ],
65091
65560
  "event": "CLOSE",
65092
65561
  "from": "editing",
65093
- "to": "idle"
65562
+ "to": "viewing"
65094
65563
  }
65095
65564
  ]
65096
65565
  }
@@ -135317,6 +135786,302 @@ function stdWorldmapBoard2d(params = {}) {
135317
135786
  stdWorldmapBoard2dWorldMapBoard2DOrbital(params.WorldMapBoard2D ?? {})
135318
135787
  ];
135319
135788
  }
135789
+ function stdTodoListAppTodoListAppOrbital(params = {}) {
135790
+ const built = makeOrbitalWithUses({
135791
+ name: "TodoListAppOrbital",
135792
+ uses: [],
135793
+ entity: {
135794
+ name: "Todo",
135795
+ persistence: "runtime",
135796
+ fields: (() => {
135797
+ const canonical = [
135798
+ {
135799
+ "name": "id",
135800
+ "required": true,
135801
+ "type": "string"
135802
+ },
135803
+ {
135804
+ "name": "text",
135805
+ "required": true,
135806
+ "type": "string"
135807
+ },
135808
+ {
135809
+ "name": "completed",
135810
+ "type": "boolean"
135811
+ }
135812
+ ];
135813
+ const extras = params.fields ?? [];
135814
+ if (extras.length === 0) return canonical;
135815
+ const extraNames = new Set(extras.map((f) => f.name));
135816
+ return [...canonical.filter((f) => !extraNames.has(f.name)), ...extras];
135817
+ })()
135818
+ },
135819
+ traits: [
135820
+ {
135821
+ "category": "interaction",
135822
+ "config": {
135823
+ "className": {
135824
+ "description": "Additional CSS classes",
135825
+ "label": "Class Name",
135826
+ "tier": "presentation",
135827
+ "type": "string"
135828
+ },
135829
+ "filterMode": {
135830
+ "default": "ALL",
135831
+ "description": "Current filter: ALL, ACTIVE, or COMPLETED",
135832
+ "label": "Filter Mode",
135833
+ "tier": "domain",
135834
+ "type": "string"
135835
+ },
135836
+ "onAddTodo": {
135837
+ "default": "ADD_TODO",
135838
+ "description": "Handler for adding new todos",
135839
+ "label": "On Add Todo",
135840
+ "tier": "presentation",
135841
+ "type": "string"
135842
+ },
135843
+ "onCompleteTodo": {
135844
+ "default": "COMPLETE_TODO",
135845
+ "description": "Handler for toggling todo completion",
135846
+ "label": "On Complete Todo",
135847
+ "tier": "presentation",
135848
+ "type": "string"
135849
+ },
135850
+ "onDeleteTodo": {
135851
+ "default": "DELETE_TODO",
135852
+ "description": "Handler for deleting todos",
135853
+ "label": "On Delete Todo",
135854
+ "tier": "presentation",
135855
+ "type": "string"
135856
+ },
135857
+ "todos": {
135858
+ "default": [],
135859
+ "description": "List of todo items",
135860
+ "label": "Todos",
135861
+ "tier": "domain",
135862
+ "type": "[Todo]"
135863
+ }
135864
+ },
135865
+ "emits": [
135866
+ {
135867
+ "description": "Callback when a new todo is added",
135868
+ "event": "@config.onAddTodo",
135869
+ "payloadSchema": [
135870
+ {
135871
+ "name": "text",
135872
+ "required": true,
135873
+ "type": "string"
135874
+ }
135875
+ ],
135876
+ "scope": "external",
135877
+ "tier": "domain"
135878
+ },
135879
+ {
135880
+ "description": "Callback when a todo completion status changes",
135881
+ "event": "@config.onCompleteTodo",
135882
+ "payloadSchema": [
135883
+ {
135884
+ "name": "todoId",
135885
+ "required": true,
135886
+ "type": "string"
135887
+ },
135888
+ {
135889
+ "name": "completed",
135890
+ "required": true,
135891
+ "type": "boolean"
135892
+ }
135893
+ ],
135894
+ "scope": "external",
135895
+ "tier": "domain"
135896
+ },
135897
+ {
135898
+ "description": "Callback when a todo is deleted",
135899
+ "event": "@config.onDeleteTodo",
135900
+ "payloadSchema": [
135901
+ {
135902
+ "name": "todoId",
135903
+ "required": true,
135904
+ "type": "string"
135905
+ }
135906
+ ],
135907
+ "scope": "external",
135908
+ "tier": "domain"
135909
+ }
135910
+ ],
135911
+ "entityContract": {
135912
+ "provides": [],
135913
+ "requires": []
135914
+ },
135915
+ "entityRebindable": true,
135916
+ "linkedEntity": "Todo",
135917
+ "name": "TodoListRender",
135918
+ "scope": "instance",
135919
+ "stateMachine": {
135920
+ "events": [
135921
+ {
135922
+ "key": "INIT",
135923
+ "name": "Initialize"
135924
+ },
135925
+ {
135926
+ "description": "Callback when a new todo is added",
135927
+ "key": "@config.onAddTodo",
135928
+ "name": "@config.on add todo",
135929
+ "payloadSchema": [
135930
+ {
135931
+ "name": "text",
135932
+ "required": true,
135933
+ "type": "string"
135934
+ }
135935
+ ],
135936
+ "tier": "domain"
135937
+ },
135938
+ {
135939
+ "description": "Callback when a todo completion status changes",
135940
+ "key": "@config.onCompleteTodo",
135941
+ "name": "@config.on complete todo",
135942
+ "payloadSchema": [
135943
+ {
135944
+ "name": "todoId",
135945
+ "required": true,
135946
+ "type": "string"
135947
+ },
135948
+ {
135949
+ "name": "completed",
135950
+ "required": true,
135951
+ "type": "boolean"
135952
+ }
135953
+ ],
135954
+ "tier": "domain"
135955
+ },
135956
+ {
135957
+ "description": "Callback when a todo is deleted",
135958
+ "key": "@config.onDeleteTodo",
135959
+ "name": "@config.on delete todo",
135960
+ "payloadSchema": [
135961
+ {
135962
+ "name": "todoId",
135963
+ "required": true,
135964
+ "type": "string"
135965
+ }
135966
+ ],
135967
+ "tier": "domain"
135968
+ }
135969
+ ],
135970
+ "states": [
135971
+ {
135972
+ "isInitial": true,
135973
+ "name": "idle"
135974
+ }
135975
+ ],
135976
+ "transitions": [
135977
+ {
135978
+ "effects": [
135979
+ [
135980
+ "render-ui",
135981
+ "main",
135982
+ {
135983
+ "align": "stretch",
135984
+ "children": [
135985
+ {
135986
+ "content": "My Todos",
135987
+ "type": "typography",
135988
+ "variant": "h1"
135989
+ },
135990
+ {
135991
+ "content": "Manage your tasks",
135992
+ "type": "typography",
135993
+ "variant": "caption"
135994
+ }
135995
+ ],
135996
+ "direction": "vertical",
135997
+ "gap": "md",
135998
+ "type": "stack"
135999
+ }
136000
+ ]
136001
+ ],
136002
+ "event": "INIT",
136003
+ "from": "idle",
136004
+ "to": "idle"
136005
+ }
136006
+ ]
136007
+ }
136008
+ }
136009
+ ],
136010
+ pages: [
136011
+ {
136012
+ "name": "TodoListPage",
136013
+ "path": "/",
136014
+ "traits": [
136015
+ {
136016
+ "ref": "TodoListRender"
136017
+ }
136018
+ ]
136019
+ }
136020
+ ]
136021
+ });
136022
+ if (built.traits && params.traitOverrides !== void 0) {
136023
+ built.traits = built.traits.map((t) => {
136024
+ if (!t || typeof t !== "object") return t;
136025
+ const tr = t;
136026
+ if (typeof tr.name !== "string") return t;
136027
+ const overrides = params.traitOverrides;
136028
+ const override = overrides?.[tr.name];
136029
+ if (!override) return t;
136030
+ const merged = { ...tr };
136031
+ if (override.config !== void 0) {
136032
+ merged.config = mergeCallSiteConfigOverrides(tr.config ?? {}, override.config);
136033
+ }
136034
+ if (override.linkedEntity !== void 0) merged.linkedEntity = override.linkedEntity;
136035
+ if (override.events !== void 0) merged.events = { ...tr.events ?? {}, ...override.events };
136036
+ if (override.emitsScope !== void 0) merged.emitsScope = override.emitsScope;
136037
+ if (override.listens !== void 0) merged.listens = override.listens;
136038
+ return merged;
136039
+ });
136040
+ }
136041
+ if (built.pages && params.pagePath !== void 0) {
136042
+ built.pages = built.pages.map((p, idx) => {
136043
+ if (!p || typeof p !== "object") return p;
136044
+ if (idx !== 0) return p;
136045
+ const out = { ...p };
136046
+ out.path = params.pagePath;
136047
+ return out;
136048
+ });
136049
+ }
136050
+ return built;
136051
+ }
136052
+ var StdTodoListAppTodoListAppOrbitalManifest = {
136053
+ organism: "todo-list-app",
136054
+ orbitalName: "TodoListAppOrbital",
136055
+ paramFields: [
136056
+ { name: "fields", type: "EntityField[]", description: "Extra fields appended to the canonical entity." },
136057
+ { name: "pagePath", type: "string", description: "URL override for the orbital first page." },
136058
+ { name: "entityName", type: "string", description: "Rename the canonical entity. PascalCase singular, \u226432 chars. Threads through every trait's linkedEntity binding; compiler rewrites @Entity.x refs." },
136059
+ { name: "traitOverrides", type: "Partial<Record<TraitName, { config?, linkedEntity?, events?, name?, emitsScope?, listens? }>>", description: "Per-imported-trait overrides \u2014 mirrors .lolo's native trait-composition surface 1:1. effects is excluded (atom-owned; use listens via a sibling trait)." }
136060
+ ],
136061
+ traitNames: [],
136062
+ inlineTraitNames: [
136063
+ "TodoListRender"
136064
+ ]
136065
+ };
136066
+ function isStdTodoListAppTodoListAppOrbitalParams(p) {
136067
+ const obj = p;
136068
+ if (obj.traitOverrides !== void 0) {
136069
+ if (typeof obj.traitOverrides !== "object" || obj.traitOverrides === null) return false;
136070
+ const allowed = [
136071
+ ...StdTodoListAppTodoListAppOrbitalManifest.traitNames,
136072
+ ...StdTodoListAppTodoListAppOrbitalManifest.inlineTraitNames
136073
+ ];
136074
+ for (const k of Object.keys(obj.traitOverrides)) {
136075
+ if (!allowed.includes(k)) return false;
136076
+ }
136077
+ }
136078
+ return true;
136079
+ }
136080
+ function stdTodoListApp(params = {}) {
136081
+ return [
136082
+ stdTodoListAppTodoListAppOrbital(params.TodoListApp ?? {})
136083
+ ];
136084
+ }
135320
136085
  function stdUiBookChapterViewBookChapterViewOrbital(params = {}) {
135321
136086
  const built = makeOrbitalWithUses({
135322
136087
  name: "BookChapterViewOrbital",
@@ -137977,6 +138742,13 @@ function stdUiDetailPanelDetailPanelOrbital(params = {}) {
137977
138742
  "tier": "presentation",
137978
138743
  "type": "string"
137979
138744
  },
138745
+ "onTitleCommit": {
138746
+ "default": "",
138747
+ "description": "When bound, the title becomes editable in place: clicking it swaps the heading for an input, Enter or blur commits, Escape reverts. Receives the committed title and the record's id so the host can persist a partial update. Unbound, the title stays a plain heading.",
138748
+ "label": "On Title Commit",
138749
+ "tier": "presentation",
138750
+ "type": "string"
138751
+ },
137980
138752
  "pageProp": {
137981
138753
  "description": "Current page number",
137982
138754
  "label": "Page",
@@ -138260,6 +139032,7 @@ function stdUiDetailPanelDetailPanelOrbital(params = {}) {
138260
139032
  "isLoading": "@config.isLoading",
138261
139033
  "maxInlineActions": "@config.maxInlineActions",
138262
139034
  "mode": "@config.mode",
139035
+ "onTitleCommit": "@config.onTitleCommit",
138263
139036
  "page": "@config.pageProp",
138264
139037
  "pageSize": "@config.pageSize",
138265
139038
  "position": "@config.position",
@@ -138305,6 +139078,7 @@ function stdUiDetailPanelDetailPanelOrbital(params = {}) {
138305
139078
  "isLoading": "@config.isLoading",
138306
139079
  "maxInlineActions": "@config.maxInlineActions",
138307
139080
  "mode": "@config.mode",
139081
+ "onTitleCommit": "@config.onTitleCommit",
138308
139082
  "page": "@config.pageProp",
138309
139083
  "pageSize": "@config.pageSize",
138310
139084
  "position": "@config.position",
@@ -150390,6 +151164,15 @@ REGISTRY_MUT.set("std-worldmap-board-2d::WorldMapBoard2DOrbital", {
150390
151164
  },
150391
151165
  manifest: StdWorldmapBoard2dWorldMapBoard2DOrbitalManifest
150392
151166
  });
151167
+ REGISTRY_MUT.set("todo-list-app::TodoListAppOrbital", {
151168
+ factory: (p) => {
151169
+ if (!isStdTodoListAppTodoListAppOrbitalParams(p)) {
151170
+ throw new TypeError("Invalid params for todo-list-app::TodoListAppOrbital");
151171
+ }
151172
+ return stdTodoListAppTodoListAppOrbital(p);
151173
+ },
151174
+ manifest: StdTodoListAppTodoListAppOrbitalManifest
151175
+ });
150393
151176
  REGISTRY_MUT.set("ui-book-chapter-view::BookChapterViewOrbital", {
150394
151177
  factory: (p) => {
150395
151178
  if (!isStdUiBookChapterViewBookChapterViewOrbitalParams(p)) {