@wix/himalaya-cli 0.1210.0 → 0.1212.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.
Files changed (118) hide show
  1. package/dist/cli.mjs +91 -1
  2. package/package.json +2 -2
  3. package/templates/beauty-salon/tier5-src/_shared/engine-intl.ts +57 -16
  4. package/templates/beauty-salon-owner/dev/index.ts +280 -37
  5. package/templates/beauty-salon-owner/tier5-src/_shared/aria-chat.ts +31 -16
  6. package/templates/beauty-salon-owner/tier5-src/_shared/engine-intl.ts +57 -16
  7. package/templates/beauty-salon-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  8. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  9. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  10. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  11. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  12. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-product/index.ts +61 -16
  13. package/templates/branded-lite/tier5-src/_shared/engine-intl.ts +57 -16
  14. package/templates/community-club/tier5-src/_shared/engine-intl.ts +57 -16
  15. package/templates/community-club-owner/dev/index.ts +389 -37
  16. package/templates/community-club-owner/tier5-src/_shared/aria-chat.ts +31 -16
  17. package/templates/community-club-owner/tier5-src/_shared/engine-intl.ts +57 -16
  18. package/templates/community-club-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  19. package/templates/community-club-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  20. package/templates/community-club-owner/tier5-src/himi-owner-lite-event/index.ts +59 -14
  21. package/templates/community-club-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  22. package/templates/community-club-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  23. package/templates/community-club-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  24. package/templates/community-club-owner/tier5-src/himi-owner-lite-product/index.ts +61 -16
  25. package/templates/events-meetups/tier5-src/_shared/engine-intl.ts +57 -16
  26. package/templates/events-meetups-owner/dev/index.ts +280 -37
  27. package/templates/events-meetups-owner/tier5-src/_shared/aria-chat.ts +31 -16
  28. package/templates/events-meetups-owner/tier5-src/_shared/engine-intl.ts +57 -16
  29. package/templates/events-meetups-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  30. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  31. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-event/index.ts +59 -14
  32. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  33. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  34. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  35. package/templates/gym-fitness/tier5-src/_shared/engine-intl.ts +57 -16
  36. package/templates/gym-fitness-owner/dev/index.ts +389 -37
  37. package/templates/gym-fitness-owner/tier5-src/_shared/aria-chat.ts +31 -16
  38. package/templates/gym-fitness-owner/tier5-src/_shared/engine-intl.ts +57 -16
  39. package/templates/gym-fitness-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  40. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  41. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-event/index.ts +59 -14
  42. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  43. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  44. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  45. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-product/index.ts +61 -16
  46. package/templates/nonprofit-cause/tier5-src/_shared/engine-intl.ts +57 -16
  47. package/templates/nonprofit-cause-owner/dev/index.ts +280 -37
  48. package/templates/nonprofit-cause-owner/tier5-src/_shared/aria-chat.ts +31 -16
  49. package/templates/nonprofit-cause-owner/tier5-src/_shared/engine-intl.ts +57 -16
  50. package/templates/nonprofit-cause-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  51. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  52. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-event/index.ts +59 -14
  53. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  54. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  55. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  56. package/templates/owner-lite/dev/index.ts +389 -37
  57. package/templates/owner-lite/tier5-src/_shared/aria-chat.ts +31 -16
  58. package/templates/owner-lite/tier5-src/_shared/engine-intl.ts +57 -16
  59. package/templates/owner-lite/tier5-src/_shared/owner-module-data.ts +105 -37
  60. package/templates/owner-lite/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  61. package/templates/owner-lite/tier5-src/himi-owner-lite-event/index.ts +59 -14
  62. package/templates/owner-lite/tier5-src/himi-owner-lite-faq/index.ts +8 -2
  63. package/templates/owner-lite/tier5-src/himi-owner-lite-home/index.ts +5 -0
  64. package/templates/owner-lite/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  65. package/templates/owner-lite/tier5-src/himi-owner-lite-post/index.ts +63 -16
  66. package/templates/owner-lite/tier5-src/himi-owner-lite-product/index.ts +61 -16
  67. package/templates/podcast-creator/tier5-src/_shared/engine-intl.ts +57 -16
  68. package/templates/podcast-creator-owner/dev/index.ts +389 -37
  69. package/templates/podcast-creator-owner/tier5-src/_shared/aria-chat.ts +31 -16
  70. package/templates/podcast-creator-owner/tier5-src/_shared/engine-intl.ts +57 -16
  71. package/templates/podcast-creator-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  72. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  73. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-event/index.ts +59 -14
  74. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  75. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  76. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  77. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-product/index.ts +61 -16
  78. package/templates/portfolio-creative/tier5-src/_shared/engine-intl.ts +57 -16
  79. package/templates/portfolio-creative-owner/dev/index.ts +280 -37
  80. package/templates/portfolio-creative-owner/tier5-src/_shared/aria-chat.ts +31 -16
  81. package/templates/portfolio-creative-owner/tier5-src/_shared/engine-intl.ts +57 -16
  82. package/templates/portfolio-creative-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  83. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  84. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  85. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  86. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  87. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-product/index.ts +61 -16
  88. package/templates/restaurant/tier5-src/_shared/engine-intl.ts +57 -16
  89. package/templates/restaurant-owner/dev/index.ts +389 -37
  90. package/templates/restaurant-owner/tier5-src/_shared/aria-chat.ts +31 -16
  91. package/templates/restaurant-owner/tier5-src/_shared/engine-intl.ts +57 -16
  92. package/templates/restaurant-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  93. package/templates/restaurant-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  94. package/templates/restaurant-owner/tier5-src/himi-owner-lite-event/index.ts +59 -14
  95. package/templates/restaurant-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  96. package/templates/restaurant-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  97. package/templates/restaurant-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  98. package/templates/restaurant-owner/tier5-src/himi-owner-lite-product/index.ts +61 -16
  99. package/templates/retail-store/tier5-src/_shared/engine-intl.ts +57 -16
  100. package/templates/retail-store-owner/dev/index.ts +280 -37
  101. package/templates/retail-store-owner/tier5-src/_shared/aria-chat.ts +31 -16
  102. package/templates/retail-store-owner/tier5-src/_shared/engine-intl.ts +57 -16
  103. package/templates/retail-store-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  104. package/templates/retail-store-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  105. package/templates/retail-store-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  106. package/templates/retail-store-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  107. package/templates/retail-store-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
  108. package/templates/retail-store-owner/tier5-src/himi-owner-lite-product/index.ts +61 -16
  109. package/templates/yoga-studio/tier5-src/_shared/engine-intl.ts +57 -16
  110. package/templates/yoga-studio-owner/dev/index.ts +280 -37
  111. package/templates/yoga-studio-owner/tier5-src/_shared/aria-chat.ts +31 -16
  112. package/templates/yoga-studio-owner/tier5-src/_shared/engine-intl.ts +57 -16
  113. package/templates/yoga-studio-owner/tier5-src/_shared/owner-module-data.ts +105 -37
  114. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-aria-history/index.ts +1 -0
  115. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-event/index.ts +59 -14
  116. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-home/index.ts +5 -0
  117. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-manage/index.ts +4 -2
  118. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-post/index.ts +63 -16
@@ -48953,7 +48953,7 @@ const SCREENS = runtimeSetting({
48953
48953
  }
48954
48954
  },
48955
48955
  "modifiers": {
48956
- "hiddenPath": "$service:himiOwnerLiteHome.hideContent"
48956
+ "hiddenPath": "$service:himiOwnerLiteHome.hideSourceFailures"
48957
48957
  }
48958
48958
  },
48959
48959
  {
@@ -51039,7 +51039,8 @@ const SCREENS = runtimeSetting({
51039
51039
  "props": {
51040
51040
  "text": "$service:himiOwnerLiteManage.summary",
51041
51041
  "style": "caption",
51042
- "color": "textSecondary"
51042
+ "color": "textSecondary",
51043
+ "collapseWhenEmpty": true
51043
51044
  }
51044
51045
  }
51045
51046
  },
@@ -51634,6 +51635,9 @@ const SCREENS = runtimeSetting({
51634
51635
  }
51635
51636
  ]
51636
51637
  }
51638
+ },
51639
+ "modifiers": {
51640
+ "hiddenPath": "$service:himiOwnerLiteManage.noSections"
51637
51641
  }
51638
51642
  },
51639
51643
  {
@@ -56471,7 +56475,7 @@ const SCREENS = runtimeSetting({
56471
56475
  "package": "himalaya",
56472
56476
  "type": "HStack",
56473
56477
  "props": {
56474
- "spacing": 16,
56478
+ "spacing": 0,
56475
56479
  "children": [
56476
56480
  {
56477
56481
  "id": "",
@@ -56482,43 +56486,57 @@ const SCREENS = runtimeSetting({
56482
56486
  }
56483
56487
  },
56484
56488
  {
56485
- "id": "himi_owner_lite_aria.history",
56486
- "body": {
56487
- "package": "himalaya",
56488
- "type": "Text",
56489
- "props": {
56490
- "text": "History",
56491
- "style": "bodyEmphasis",
56492
- "color": "accentPrimary",
56493
- "maxLines": 1
56494
- }
56495
- },
56496
- "modifiers": {
56497
- "onTap": {
56498
- "actionId": "himi.open",
56499
- "params": {
56500
- "screenId": "himi_owner_lite_aria_history"
56501
- }
56502
- }
56503
- }
56504
- },
56505
- {
56506
- "id": "himi_owner_lite_aria.newchat",
56489
+ "id": "",
56507
56490
  "body": {
56508
56491
  "package": "himalaya",
56509
- "type": "Icon",
56492
+ "type": "HStack",
56510
56493
  "props": {
56511
- "name": "edit",
56512
- "size": 22,
56513
- "tint": "accentPrimary"
56494
+ "spacing": 16,
56495
+ "children": [
56496
+ {
56497
+ "id": "himi_owner_lite_aria.history",
56498
+ "body": {
56499
+ "package": "himalaya",
56500
+ "type": "Text",
56501
+ "props": {
56502
+ "text": "History",
56503
+ "style": "bodyEmphasis",
56504
+ "color": "accentPrimary",
56505
+ "maxLines": 1
56506
+ }
56507
+ },
56508
+ "modifiers": {
56509
+ "onTap": {
56510
+ "actionId": "himi.open",
56511
+ "params": {
56512
+ "screenId": "himi_owner_lite_aria_history"
56513
+ }
56514
+ }
56515
+ }
56516
+ },
56517
+ {
56518
+ "id": "himi_owner_lite_aria.newchat",
56519
+ "body": {
56520
+ "package": "himalaya",
56521
+ "type": "Icon",
56522
+ "props": {
56523
+ "name": "edit",
56524
+ "size": 22,
56525
+ "tint": "accentPrimary"
56526
+ }
56527
+ },
56528
+ "modifiers": {
56529
+ "onTap": {
56530
+ "actionId": "tier5.himiOwnerLiteAria.newChat"
56531
+ },
56532
+ "accessibilityLabel": "New chat",
56533
+ "accessibilityRole": "button",
56534
+ "width": 44,
56535
+ "height": 44
56536
+ }
56537
+ }
56538
+ ]
56514
56539
  }
56515
- },
56516
- "modifiers": {
56517
- "onTap": {
56518
- "actionId": "tier5.himiOwnerLiteAria.newChat"
56519
- },
56520
- "accessibilityLabel": "New chat",
56521
- "accessibilityRole": "button"
56522
56540
  }
56523
56541
  }
56524
56542
  ]
@@ -56879,6 +56897,9 @@ const SCREENS = runtimeSetting({
56879
56897
  }
56880
56898
  ]
56881
56899
  }
56900
+ },
56901
+ "modifiers": {
56902
+ "hiddenPath": "$service:himiOwnerLiteAria.messagesHidden"
56882
56903
  }
56883
56904
  },
56884
56905
  {
@@ -57177,7 +57198,8 @@ const SCREENS = runtimeSetting({
57177
57198
  "text": "$service:himiOwnerLiteAria.error",
57178
57199
  "style": "footnote",
57179
57200
  "color": "danger",
57180
- "maxLines": 3
57201
+ "maxLines": 3,
57202
+ "collapseWhenEmpty": true
57181
57203
  }
57182
57204
  },
57183
57205
  "modifiers": {
@@ -61414,6 +61436,9 @@ const SCREENS = runtimeSetting({
61414
61436
  }
61415
61437
  ]
61416
61438
  }
61439
+ },
61440
+ "modifiers": {
61441
+ "hiddenPath": "$service:himiOwnerLiteAriaHistory.itemsHidden"
61417
61442
  }
61418
61443
  }
61419
61444
  ]
@@ -82159,6 +82184,115 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
82159
82184
  }
82160
82185
  }
82161
82186
  },
82187
+ {
82188
+ "id": "product_delete_confirmation",
82189
+ "body": {
82190
+ "package": "himalaya",
82191
+ "type": "VStack",
82192
+ "props": {
82193
+ "spacing": 10,
82194
+ "alignment": "leading",
82195
+ "children": [
82196
+ {
82197
+ "id": "product_delete_confirmation.title",
82198
+ "body": {
82199
+ "package": "himalaya",
82200
+ "type": "Text",
82201
+ "props": {
82202
+ "text": "Delete this product?",
82203
+ "style": "bodyEmphasis"
82204
+ }
82205
+ }
82206
+ },
82207
+ {
82208
+ "id": "product_delete_confirmation.record",
82209
+ "body": {
82210
+ "package": "himalaya",
82211
+ "type": "Text",
82212
+ "props": {
82213
+ "text": "$service:himiOwnerLiteProduct.title",
82214
+ "style": "body",
82215
+ "color": "textSecondary",
82216
+ "maxLines": 2
82217
+ }
82218
+ }
82219
+ },
82220
+ {
82221
+ "id": "",
82222
+ "body": {
82223
+ "package": "himalaya",
82224
+ "type": "Text",
82225
+ "props": {
82226
+ "text": "This cannot be undone.",
82227
+ "style": "footnote",
82228
+ "color": "textSecondary"
82229
+ }
82230
+ }
82231
+ },
82232
+ {
82233
+ "id": "",
82234
+ "body": {
82235
+ "package": "himalaya",
82236
+ "type": "HStack",
82237
+ "props": {
82238
+ "spacing": 8,
82239
+ "children": [
82240
+ {
82241
+ "id": "product_delete_cancel",
82242
+ "body": {
82243
+ "package": "himalaya",
82244
+ "type": "Button",
82245
+ "props": {
82246
+ "title": "Cancel",
82247
+ "style": "secondary",
82248
+ "action": {
82249
+ "actionId": "tier5.himiOwnerLiteProduct.cancelDelete"
82250
+ }
82251
+ }
82252
+ }
82253
+ },
82254
+ {
82255
+ "id": "product_delete_confirm",
82256
+ "body": {
82257
+ "package": "himalaya",
82258
+ "type": "Button",
82259
+ "props": {
82260
+ "title": "Delete",
82261
+ "style": "destructive",
82262
+ "action": {
82263
+ "actionId": "tier5.himiOwnerLiteProduct.confirmDelete"
82264
+ }
82265
+ }
82266
+ }
82267
+ }
82268
+ ]
82269
+ }
82270
+ }
82271
+ }
82272
+ ]
82273
+ }
82274
+ },
82275
+ "modifiers": {
82276
+ "background": {
82277
+ "token": "surfaceElevated"
82278
+ },
82279
+ "border": {
82280
+ "width": 1,
82281
+ "color": {
82282
+ "token": "danger"
82283
+ }
82284
+ },
82285
+ "cornerRadius": 12,
82286
+ "padding": {
82287
+ "leading": 14,
82288
+ "trailing": 14,
82289
+ "top": 14,
82290
+ "bottom": 14
82291
+ },
82292
+ "fillMaxWidth": true,
82293
+ "hiddenPath": "$service:himiOwnerLiteProduct.noDeleteConfirmation"
82294
+ }
82295
+ },
82162
82296
  {
82163
82297
  "id": "",
82164
82298
  "body": {
@@ -83748,6 +83882,115 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
83748
83882
  }
83749
83883
  }
83750
83884
  },
83885
+ {
83886
+ "id": "event_delete_confirmation",
83887
+ "body": {
83888
+ "package": "himalaya",
83889
+ "type": "VStack",
83890
+ "props": {
83891
+ "spacing": 10,
83892
+ "alignment": "leading",
83893
+ "children": [
83894
+ {
83895
+ "id": "event_delete_confirmation.title",
83896
+ "body": {
83897
+ "package": "himalaya",
83898
+ "type": "Text",
83899
+ "props": {
83900
+ "text": "Delete this event?",
83901
+ "style": "bodyEmphasis"
83902
+ }
83903
+ }
83904
+ },
83905
+ {
83906
+ "id": "event_delete_confirmation.record",
83907
+ "body": {
83908
+ "package": "himalaya",
83909
+ "type": "Text",
83910
+ "props": {
83911
+ "text": "$service:himiOwnerLiteEvent.title",
83912
+ "style": "body",
83913
+ "color": "textSecondary",
83914
+ "maxLines": 2
83915
+ }
83916
+ }
83917
+ },
83918
+ {
83919
+ "id": "",
83920
+ "body": {
83921
+ "package": "himalaya",
83922
+ "type": "Text",
83923
+ "props": {
83924
+ "text": "This cannot be undone.",
83925
+ "style": "footnote",
83926
+ "color": "textSecondary"
83927
+ }
83928
+ }
83929
+ },
83930
+ {
83931
+ "id": "",
83932
+ "body": {
83933
+ "package": "himalaya",
83934
+ "type": "HStack",
83935
+ "props": {
83936
+ "spacing": 8,
83937
+ "children": [
83938
+ {
83939
+ "id": "event_delete_cancel",
83940
+ "body": {
83941
+ "package": "himalaya",
83942
+ "type": "Button",
83943
+ "props": {
83944
+ "title": "Cancel",
83945
+ "style": "secondary",
83946
+ "action": {
83947
+ "actionId": "tier5.himiOwnerLiteEvent.cancelDelete"
83948
+ }
83949
+ }
83950
+ }
83951
+ },
83952
+ {
83953
+ "id": "event_delete_confirm",
83954
+ "body": {
83955
+ "package": "himalaya",
83956
+ "type": "Button",
83957
+ "props": {
83958
+ "title": "Delete",
83959
+ "style": "destructive",
83960
+ "action": {
83961
+ "actionId": "tier5.himiOwnerLiteEvent.confirmDelete"
83962
+ }
83963
+ }
83964
+ }
83965
+ }
83966
+ ]
83967
+ }
83968
+ }
83969
+ }
83970
+ ]
83971
+ }
83972
+ },
83973
+ "modifiers": {
83974
+ "background": {
83975
+ "token": "surfaceElevated"
83976
+ },
83977
+ "border": {
83978
+ "width": 1,
83979
+ "color": {
83980
+ "token": "danger"
83981
+ }
83982
+ },
83983
+ "cornerRadius": 12,
83984
+ "padding": {
83985
+ "leading": 14,
83986
+ "trailing": 14,
83987
+ "top": 14,
83988
+ "bottom": 14
83989
+ },
83990
+ "fillMaxWidth": true,
83991
+ "hiddenPath": "$service:himiOwnerLiteEvent.noDeleteConfirmation"
83992
+ }
83993
+ },
83751
83994
  {
83752
83995
  "id": "",
83753
83996
  "body": {
@@ -84608,6 +84851,115 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
84608
84851
  }
84609
84852
  }
84610
84853
  },
84854
+ {
84855
+ "id": "post_delete_confirmation",
84856
+ "body": {
84857
+ "package": "himalaya",
84858
+ "type": "VStack",
84859
+ "props": {
84860
+ "spacing": 10,
84861
+ "alignment": "leading",
84862
+ "children": [
84863
+ {
84864
+ "id": "post_delete_confirmation.title",
84865
+ "body": {
84866
+ "package": "himalaya",
84867
+ "type": "Text",
84868
+ "props": {
84869
+ "text": "Delete this post?",
84870
+ "style": "bodyEmphasis"
84871
+ }
84872
+ }
84873
+ },
84874
+ {
84875
+ "id": "post_delete_confirmation.record",
84876
+ "body": {
84877
+ "package": "himalaya",
84878
+ "type": "Text",
84879
+ "props": {
84880
+ "text": "$service:himiOwnerLitePost.title",
84881
+ "style": "body",
84882
+ "color": "textSecondary",
84883
+ "maxLines": 2
84884
+ }
84885
+ }
84886
+ },
84887
+ {
84888
+ "id": "",
84889
+ "body": {
84890
+ "package": "himalaya",
84891
+ "type": "Text",
84892
+ "props": {
84893
+ "text": "This cannot be undone.",
84894
+ "style": "footnote",
84895
+ "color": "textSecondary"
84896
+ }
84897
+ }
84898
+ },
84899
+ {
84900
+ "id": "",
84901
+ "body": {
84902
+ "package": "himalaya",
84903
+ "type": "HStack",
84904
+ "props": {
84905
+ "spacing": 8,
84906
+ "children": [
84907
+ {
84908
+ "id": "post_delete_cancel",
84909
+ "body": {
84910
+ "package": "himalaya",
84911
+ "type": "Button",
84912
+ "props": {
84913
+ "title": "Cancel",
84914
+ "style": "secondary",
84915
+ "action": {
84916
+ "actionId": "tier5.himiOwnerLitePost.cancelDelete"
84917
+ }
84918
+ }
84919
+ }
84920
+ },
84921
+ {
84922
+ "id": "post_delete_confirm",
84923
+ "body": {
84924
+ "package": "himalaya",
84925
+ "type": "Button",
84926
+ "props": {
84927
+ "title": "Delete",
84928
+ "style": "destructive",
84929
+ "action": {
84930
+ "actionId": "tier5.himiOwnerLitePost.confirmDelete"
84931
+ }
84932
+ }
84933
+ }
84934
+ }
84935
+ ]
84936
+ }
84937
+ }
84938
+ }
84939
+ ]
84940
+ }
84941
+ },
84942
+ "modifiers": {
84943
+ "background": {
84944
+ "token": "surfaceElevated"
84945
+ },
84946
+ "border": {
84947
+ "width": 1,
84948
+ "color": {
84949
+ "token": "danger"
84950
+ }
84951
+ },
84952
+ "cornerRadius": 12,
84953
+ "padding": {
84954
+ "leading": 14,
84955
+ "trailing": 14,
84956
+ "top": 14,
84957
+ "bottom": 14
84958
+ },
84959
+ "fillMaxWidth": true,
84960
+ "hiddenPath": "$service:himiOwnerLitePost.noDeleteConfirmation"
84961
+ }
84962
+ },
84611
84963
  {
84612
84964
  "id": "",
84613
84965
  "body": {
@@ -79,6 +79,7 @@ import { MENTION_PAGE_SIZE, allowlisted, emptyMentionModel, mentionView,
79
79
  type MentionItemRow, type MentionLabels, type MentionModel, type MentionProvider, type MentionView } from "./aria-mentions.js";
80
80
  import { isTransportFailure, ownerTransportFailureText } from "./owner-load-error.js";
81
81
  import { LOCAL_ID_PREFIX, createRowMemo, mintLocalId, transcriptKeys, type RowMemo } from "./aria-hot-path.js";
82
+ import { calendarDay, formatClock, formatDateMedium, formatMonthDay } from "./engine-intl.js";
82
83
 
83
84
  // ---------------------------------------------------------------------------
84
85
  // Shapes
@@ -166,6 +167,9 @@ export interface AriaChatState {
166
167
  * is computed once in `gated` rather than maintained by every reducer. */
167
168
  replyActionsHidden: boolean;
168
169
  messages: AriaBubble[];
170
+ /** Collapses the transcript list while it is empty — an empty list still costs
171
+ * its parent stack a gap. Derived in `gated`, like `stopHidden`. */
172
+ messagesHidden: boolean;
169
173
  /** Non-empty ONLY on the greeting-only empty state. */
170
174
  prompts: AriaPromptChip[];
171
175
  _convId: string;
@@ -1499,7 +1503,7 @@ export function createAriaChat(o: AriaChatOptions): AriaChatCore {
1499
1503
 
1500
1504
  const initialState: AriaChatState = {
1501
1505
  status: "loading", statusText: "", error: "", input: "", copyNote: "", replyActionsHidden: true,
1502
- messages: [], prompts: [], _convId: "", _siteId: "", _pending: "", _pendingRefs: "", _pendingAttach: [],
1506
+ messages: [], messagesHidden: true, prompts: [], _convId: "", _siteId: "", _pending: "", _pendingRefs: "", _pendingAttach: [],
1503
1507
  _pendingAfter: 0, _pendingId: "", _replyAfter: 0, _srvUsers: 0, _srvAssistants: 0,
1504
1508
  _abortId: "", _turnId: "", stopHidden: true, ok: false,
1505
1509
  listening: false, micHidden: !o.dictation, listeningHidden: true,
@@ -2460,10 +2464,12 @@ export function createAriaChat(o: AriaChatOptions): AriaChatCore {
2460
2464
  const listening = s.listening === true;
2461
2465
  const micHidden = !o.dictation || dictationAvailable === false || listening;
2462
2466
  const listeningHidden = !listening;
2467
+ // And the transcript list: hidden while empty, so it costs its stack no gap.
2468
+ const messagesHidden = s.messages.length === 0;
2463
2469
  const actioned = s.stopHidden === hidden && s.replyActionsHidden === replyActionsHidden
2464
- && s.micHidden === micHidden && s.listeningHidden === listeningHidden
2470
+ && s.micHidden === micHidden && s.listeningHidden === listeningHidden && s.messagesHidden === messagesHidden
2465
2471
  ? s
2466
- : { ...s, stopHidden: hidden, replyActionsHidden, micHidden, listeningHidden };
2472
+ : { ...s, stopHidden: hidden, replyActionsHidden, micHidden, listeningHidden, messagesHidden };
2467
2473
  // The attachment projection rides the same exit, for the same reason: one
2468
2474
  // place that every action's result passes through, so no reducer can hand
2469
2475
  // back a stale copy of the chips. Seeded first, so the very first action of
@@ -3493,6 +3499,9 @@ export interface AriaHistoryState {
3493
3499
  items: AriaHistoryRow[];
3494
3500
  /** Non-empty ONLY when the list is empty (collapses otherwise). */
3495
3501
  emptyText: string;
3502
+ /** Collapses the (empty) row list, which would otherwise still cost its parent
3503
+ * stack a gap. True until a load lands rows. */
3504
+ itemsHidden: boolean;
3496
3505
  /** The business the rows in `items` belong to. A kept list is only safe to
3497
3506
  * keep while this still matches, so it is state rather than a closure — the
3498
3507
  * chat service tracks its own `_siteId` for the same reason. */
@@ -3512,6 +3521,8 @@ export interface AriaHistoryLabels {
3512
3521
  last7?: Resolvable<string>;
3513
3522
  last30?: Resolvable<string>;
3514
3523
  older?: Resolvable<string>;
3524
+ /** Prefix for a conversation from today: "Today · 9:12 AM". */
3525
+ today?: Resolvable<string>;
3515
3526
  }
3516
3527
 
3517
3528
  export interface AriaHistoryOptions {
@@ -3525,8 +3536,8 @@ export interface AriaHistoryOptions {
3525
3536
  localHistory?: boolean;
3526
3537
  }
3527
3538
 
3528
- interface BucketLabels { last7: string; last30: string; older: string; }
3529
- const STOCK_BUCKETS: BucketLabels = { last7: "Last 7 days", last30: "Last 30 days", older: "Older" };
3539
+ interface BucketLabels { last7: string; last30: string; older: string; today: string; }
3540
+ const STOCK_BUCKETS: BucketLabels = { last7: "Last 7 days", last30: "Last 30 days", older: "Older", today: "Today" };
3530
3541
 
3531
3542
  /** Parse an ISO-8601 string (serialized Timestamp) or epoch-ms into ms. 0 when
3532
3543
  * absent or unparseable. */
@@ -3539,15 +3550,17 @@ export function toMs(v: unknown): number {
3539
3550
  return 0;
3540
3551
  }
3541
3552
 
3542
- function formatTs(ms: number): string {
3553
+ /** A history card's date, through the shared engine-intl shapes: "Today · 9:12 AM" for today,
3554
+ * "Sep 21" earlier this year, "Sep 21, 2025" before that. It was `toLocaleString()` —
3555
+ * "9/24/2026, 9:12:00 AM", seconds and all. These are the owner's own
3556
+ * conversations, so the device's calendar is the right one. */
3557
+ function formatTs(ms: number, now: number, today: string): string {
3543
3558
  if (!ms) return "";
3544
- try {
3545
- const d = new Date(ms);
3546
- if (isNaN(d.getTime())) return "";
3547
- return d.toLocaleString();
3548
- } catch {
3549
- return "";
3550
- }
3559
+ const d = new Date(ms);
3560
+ if (isNaN(d.getTime())) return "";
3561
+ const day = calendarDay(d), current = calendarDay(new Date(now));
3562
+ if (day === current) return `${today} · ${formatClock(d)}`;
3563
+ return day.slice(0, 4) === current.slice(0, 4) ? formatMonthDay(d) : formatDateMedium(d);
3551
3564
  }
3552
3565
 
3553
3566
  const DAY = 24 * 60 * 60 * 1000;
@@ -3568,7 +3581,7 @@ export function bucketRows(entries: Array<{ id: string; title: string; ms: numbe
3568
3581
  const b = bucketOf(e.ms, now, labels);
3569
3582
  const section = b === lastBucket ? "" : b;
3570
3583
  lastBucket = b;
3571
- return { id: e.id, title: e.title, subtitle: formatTs(e.ms), section };
3584
+ return { id: e.id, title: e.title, subtitle: formatTs(e.ms, now, labels.today), section };
3572
3585
  });
3573
3586
  }
3574
3587
 
@@ -3601,9 +3614,10 @@ export function createAriaHistory(o: AriaHistoryOptions) {
3601
3614
  last7: res(o.labels?.last7 ?? STOCK_BUCKETS.last7),
3602
3615
  last30: res(o.labels?.last30 ?? STOCK_BUCKETS.last30),
3603
3616
  older: res(o.labels?.older ?? STOCK_BUCKETS.older),
3617
+ today: res(o.labels?.today ?? STOCK_BUCKETS.today),
3604
3618
  });
3605
3619
  const initialState: AriaHistoryState = {
3606
- status: "loading", items: [], emptyText: "", _siteId: "", failed: false,
3620
+ status: "loading", items: [], itemsHidden: true, emptyText: "", _siteId: "", failed: false,
3607
3621
  };
3608
3622
  return {
3609
3623
  initialState,
@@ -3631,7 +3645,7 @@ export function createAriaHistory(o: AriaHistoryOptions) {
3631
3645
  // owner the previous business's conversation titles, which is precisely
3632
3646
  // the leak `localHistory: false` is set to avoid.
3633
3647
  if (fetched === null && s.items.length && s._siteId === site) {
3634
- return { ...s, status: "ready", failed: true };
3648
+ return { ...s, status: "ready", itemsHidden: false, failed: true };
3635
3649
  }
3636
3650
 
3637
3651
  // A SUCCESSFUL empty answer is authoritative and DOES clear. The tempting
@@ -3651,6 +3665,7 @@ export function createAriaHistory(o: AriaHistoryOptions) {
3651
3665
  ...s,
3652
3666
  status: "ready",
3653
3667
  items,
3668
+ itemsHidden: items.length === 0,
3654
3669
  emptyText: items.length ? "" : emptyText(),
3655
3670
  _siteId: site,
3656
3671
  failed: fetched === null,