@appinternalleads/ui 0.2.0 → 0.3.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 (1186) hide show
  1. package/dist/cjs/agent/AgentComponent.js +71 -0
  2. package/dist/cjs/agent/AgentComponent.js.map +1 -0
  3. package/dist/cjs/agent/catalog.js +126 -0
  4. package/dist/cjs/agent/catalog.js.map +1 -0
  5. package/dist/cjs/agent/classic.js +279 -0
  6. package/dist/cjs/agent/classic.js.map +1 -0
  7. package/dist/cjs/agent/core.js +25 -0
  8. package/dist/cjs/agent/core.js.map +1 -0
  9. package/dist/cjs/agent/index.js +29 -0
  10. package/dist/cjs/agent/index.js.map +1 -0
  11. package/dist/cjs/agent/manifests.js +498 -0
  12. package/dist/cjs/agent/manifests.js.map +1 -0
  13. package/dist/cjs/agent/result.js +51 -0
  14. package/dist/cjs/agent/result.js.map +1 -0
  15. package/dist/cjs/agent/spec.js +304 -0
  16. package/dist/cjs/agent/spec.js.map +1 -0
  17. package/dist/cjs/agent/types.js +16 -0
  18. package/dist/cjs/agent/types.js.map +1 -0
  19. package/dist/cjs/agent/validate.js +299 -0
  20. package/dist/cjs/agent/validate.js.map +1 -0
  21. package/dist/cjs/components/checklist/ChecklistView.js +34 -29
  22. package/dist/cjs/components/checklist/ChecklistView.js.map +1 -1
  23. package/dist/cjs/components/checklist/contract.js +89 -4
  24. package/dist/cjs/components/checklist/contract.js.map +1 -1
  25. package/dist/cjs/components/checklist/derive.js +4 -4
  26. package/dist/cjs/components/checklist/derive.js.map +1 -1
  27. package/dist/cjs/components/checklist/index.js +3 -1
  28. package/dist/cjs/components/checklist/index.js.map +1 -1
  29. package/dist/cjs/components/directory/DirectoryView.js +18 -13
  30. package/dist/cjs/components/directory/DirectoryView.js.map +1 -1
  31. package/dist/cjs/components/directory/contract.js +65 -6
  32. package/dist/cjs/components/directory/contract.js.map +1 -1
  33. package/dist/cjs/components/directory/index.js +4 -1
  34. package/dist/cjs/components/directory/index.js.map +1 -1
  35. package/dist/cjs/components/onboarding/ab-tests/presets.json +2 -0
  36. package/dist/cjs/components/onboarding/achievement/AchievementView.js +1 -1
  37. package/dist/cjs/components/onboarding/achievement/AchievementView.js.map +1 -1
  38. package/dist/cjs/components/onboarding/achievement/contract.js.map +1 -1
  39. package/dist/cjs/components/onboarding/achievement/engine.js +15 -11
  40. package/dist/cjs/components/onboarding/achievement/engine.js.map +1 -1
  41. package/dist/cjs/components/onboarding/achievement/presets.json +17 -0
  42. package/dist/cjs/components/onboarding/activity-heatmap/ActivityHeatmapView.js +12 -9
  43. package/dist/cjs/components/onboarding/activity-heatmap/ActivityHeatmapView.js.map +1 -1
  44. package/dist/cjs/components/onboarding/activity-heatmap/contract.js +8 -0
  45. package/dist/cjs/components/onboarding/activity-heatmap/contract.js.map +1 -1
  46. package/dist/cjs/components/onboarding/activity-heatmap/engine.js +36 -18
  47. package/dist/cjs/components/onboarding/activity-heatmap/engine.js.map +1 -1
  48. package/dist/cjs/components/onboarding/activity-heatmap/index.js +5 -1
  49. package/dist/cjs/components/onboarding/activity-heatmap/index.js.map +1 -1
  50. package/dist/cjs/components/onboarding/activity-heatmap/presets.json +59 -0
  51. package/dist/cjs/components/onboarding/brand-kit/BrandKitView.js +13 -2
  52. package/dist/cjs/components/onboarding/brand-kit/BrandKitView.js.map +1 -1
  53. package/dist/cjs/components/onboarding/brand-kit/contract.js +5 -0
  54. package/dist/cjs/components/onboarding/brand-kit/contract.js.map +1 -1
  55. package/dist/cjs/components/onboarding/brand-kit/engine.js +23 -18
  56. package/dist/cjs/components/onboarding/brand-kit/engine.js.map +1 -1
  57. package/dist/cjs/components/onboarding/brand-kit/presets.json +27 -1
  58. package/dist/cjs/components/onboarding/budget-allocation/presets.json +2 -0
  59. package/dist/cjs/components/onboarding/budget-tracker/BudgetTrackerView.js +7 -7
  60. package/dist/cjs/components/onboarding/budget-tracker/BudgetTrackerView.js.map +1 -1
  61. package/dist/cjs/components/onboarding/budget-tracker/contract.js.map +1 -1
  62. package/dist/cjs/components/onboarding/budget-tracker/engine.js +36 -5
  63. package/dist/cjs/components/onboarding/budget-tracker/engine.js.map +1 -1
  64. package/dist/cjs/components/onboarding/budget-tracker/index.js +2 -1
  65. package/dist/cjs/components/onboarding/budget-tracker/index.js.map +1 -1
  66. package/dist/cjs/components/onboarding/budget-tracker/presets.json +19 -0
  67. package/dist/cjs/components/onboarding/calendar-sync/presets.json +2 -0
  68. package/dist/cjs/components/onboarding/carousel/CarouselView.js +2 -2
  69. package/dist/cjs/components/onboarding/carousel/CarouselView.js.map +1 -1
  70. package/dist/cjs/components/onboarding/carousel/contract.js.map +1 -1
  71. package/dist/cjs/components/onboarding/carousel/engine.js +3 -2
  72. package/dist/cjs/components/onboarding/carousel/engine.js.map +1 -1
  73. package/dist/cjs/components/onboarding/carousel/presets.json +7 -0
  74. package/dist/cjs/components/onboarding/cicd-setup/CicdSetupView.js +2 -2
  75. package/dist/cjs/components/onboarding/cicd-setup/CicdSetupView.js.map +1 -1
  76. package/dist/cjs/components/onboarding/cicd-setup/contract.js.map +1 -1
  77. package/dist/cjs/components/onboarding/cicd-setup/engine.js +5 -4
  78. package/dist/cjs/components/onboarding/cicd-setup/engine.js.map +1 -1
  79. package/dist/cjs/components/onboarding/cicd-setup/presets.json +12 -0
  80. package/dist/cjs/components/onboarding/combobox/ComboboxView.js +10 -10
  81. package/dist/cjs/components/onboarding/combobox/ComboboxView.js.map +1 -1
  82. package/dist/cjs/components/onboarding/combobox/contract.js +13 -0
  83. package/dist/cjs/components/onboarding/combobox/contract.js.map +1 -1
  84. package/dist/cjs/components/onboarding/combobox/engine.js +19 -12
  85. package/dist/cjs/components/onboarding/combobox/engine.js.map +1 -1
  86. package/dist/cjs/components/onboarding/combobox/presets.json +28 -1
  87. package/dist/cjs/components/onboarding/combobox/runtime.js +12 -10
  88. package/dist/cjs/components/onboarding/combobox/runtime.js.map +1 -1
  89. package/dist/cjs/components/onboarding/completion/contract.js.map +1 -1
  90. package/dist/cjs/components/onboarding/completion/engine.js +2 -1
  91. package/dist/cjs/components/onboarding/completion/engine.js.map +1 -1
  92. package/dist/cjs/components/onboarding/completion/presets.json +4 -0
  93. package/dist/cjs/components/onboarding/contact-import/ContactImportView.js +15 -4
  94. package/dist/cjs/components/onboarding/contact-import/ContactImportView.js.map +1 -1
  95. package/dist/cjs/components/onboarding/contact-import/contract.js.map +1 -1
  96. package/dist/cjs/components/onboarding/contact-import/engine.js +15 -11
  97. package/dist/cjs/components/onboarding/contact-import/engine.js.map +1 -1
  98. package/dist/cjs/components/onboarding/contact-import/presets.json +36 -1
  99. package/dist/cjs/components/onboarding/conversion-funnel/presets.json +2 -0
  100. package/dist/cjs/components/onboarding/criteria-spider/CriteriaSpiderView.js +9 -7
  101. package/dist/cjs/components/onboarding/criteria-spider/CriteriaSpiderView.js.map +1 -1
  102. package/dist/cjs/components/onboarding/criteria-spider/contract.js.map +1 -1
  103. package/dist/cjs/components/onboarding/criteria-spider/engine.js +13 -8
  104. package/dist/cjs/components/onboarding/criteria-spider/engine.js.map +1 -1
  105. package/dist/cjs/components/onboarding/criteria-spider/presets.json +21 -0
  106. package/dist/cjs/components/onboarding/dashboard-config/contract.js.map +1 -1
  107. package/dist/cjs/components/onboarding/dashboard-config/engine.js +6 -4
  108. package/dist/cjs/components/onboarding/dashboard-config/engine.js.map +1 -1
  109. package/dist/cjs/components/onboarding/dashboard-config/presets.json +8 -0
  110. package/dist/cjs/components/onboarding/data-view/DataView.js +27 -26
  111. package/dist/cjs/components/onboarding/data-view/DataView.js.map +1 -1
  112. package/dist/cjs/components/onboarding/data-view/contract.js.map +1 -1
  113. package/dist/cjs/components/onboarding/data-view/demoSource.js +7 -2
  114. package/dist/cjs/components/onboarding/data-view/demoSource.js.map +1 -1
  115. package/dist/cjs/components/onboarding/data-view/engine.js +16 -13
  116. package/dist/cjs/components/onboarding/data-view/engine.js.map +1 -1
  117. package/dist/cjs/components/onboarding/data-view/parts.js +6 -6
  118. package/dist/cjs/components/onboarding/data-view/parts.js.map +1 -1
  119. package/dist/cjs/components/onboarding/data-view/registry.js +65 -29
  120. package/dist/cjs/components/onboarding/data-view/registry.js.map +1 -1
  121. package/dist/cjs/components/onboarding/data-view/runtime.js +16 -14
  122. package/dist/cjs/components/onboarding/data-view/runtime.js.map +1 -1
  123. package/dist/cjs/components/onboarding/department-setup/presets.json +2 -0
  124. package/dist/cjs/components/onboarding/event-reminder/EventReminderView.js +2 -2
  125. package/dist/cjs/components/onboarding/event-reminder/EventReminderView.js.map +1 -1
  126. package/dist/cjs/components/onboarding/event-reminder/contract.js.map +1 -1
  127. package/dist/cjs/components/onboarding/event-reminder/engine.js +10 -8
  128. package/dist/cjs/components/onboarding/event-reminder/engine.js.map +1 -1
  129. package/dist/cjs/components/onboarding/event-reminder/presets.json +20 -0
  130. package/dist/cjs/components/onboarding/expandable-feed/ExpandableFeedView.js +6 -6
  131. package/dist/cjs/components/onboarding/expandable-feed/ExpandableFeedView.js.map +1 -1
  132. package/dist/cjs/components/onboarding/expandable-feed/contract.js.map +1 -1
  133. package/dist/cjs/components/onboarding/expandable-feed/presets.json +5 -0
  134. package/dist/cjs/components/onboarding/export-format/ExportFormatView.js +1 -1
  135. package/dist/cjs/components/onboarding/export-format/ExportFormatView.js.map +1 -1
  136. package/dist/cjs/components/onboarding/export-format/contract.js.map +1 -1
  137. package/dist/cjs/components/onboarding/export-format/engine.js +3 -2
  138. package/dist/cjs/components/onboarding/export-format/engine.js.map +1 -1
  139. package/dist/cjs/components/onboarding/export-format/presets.json +9 -1
  140. package/dist/cjs/components/onboarding/fallback/FallbackView.js +10 -8
  141. package/dist/cjs/components/onboarding/fallback/FallbackView.js.map +1 -1
  142. package/dist/cjs/components/onboarding/fallback/contract.js.map +1 -1
  143. package/dist/cjs/components/onboarding/fallback/engine.js +42 -30
  144. package/dist/cjs/components/onboarding/fallback/engine.js.map +1 -1
  145. package/dist/cjs/components/onboarding/fallback/index.js.map +1 -1
  146. package/dist/cjs/components/onboarding/fallback/presets.json +52 -0
  147. package/dist/cjs/components/onboarding/file-shared/FileSharedView.js +5 -4
  148. package/dist/cjs/components/onboarding/file-shared/FileSharedView.js.map +1 -1
  149. package/dist/cjs/components/onboarding/file-shared/contract.js.map +1 -1
  150. package/dist/cjs/components/onboarding/file-shared/engine.js +8 -4
  151. package/dist/cjs/components/onboarding/file-shared/engine.js.map +1 -1
  152. package/dist/cjs/components/onboarding/file-shared/presets.json +15 -1
  153. package/dist/cjs/components/onboarding/filter-panel/presets.json +2 -0
  154. package/dist/cjs/components/onboarding/floating/presets.json +2 -0
  155. package/dist/cjs/components/onboarding/grid/presets.json +202 -5
  156. package/dist/cjs/components/onboarding/help-center/presets.json +2 -0
  157. package/dist/cjs/components/onboarding/id-verification/IdVerificationView.js +9 -8
  158. package/dist/cjs/components/onboarding/id-verification/IdVerificationView.js.map +1 -1
  159. package/dist/cjs/components/onboarding/id-verification/contract.js.map +1 -1
  160. package/dist/cjs/components/onboarding/id-verification/engine.js +21 -17
  161. package/dist/cjs/components/onboarding/id-verification/engine.js.map +1 -1
  162. package/dist/cjs/components/onboarding/id-verification/presets.json +39 -1
  163. package/dist/cjs/components/onboarding/index.js +2 -1
  164. package/dist/cjs/components/onboarding/index.js.map +1 -1
  165. package/dist/cjs/components/onboarding/mark-read/presets.json +2 -0
  166. package/dist/cjs/components/onboarding/onboarding-step/OnboardingStepView.js +2 -2
  167. package/dist/cjs/components/onboarding/onboarding-step/OnboardingStepView.js.map +1 -1
  168. package/dist/cjs/components/onboarding/onboarding-step/contract.js.map +1 -1
  169. package/dist/cjs/components/onboarding/onboarding-step/engine.js +10 -5
  170. package/dist/cjs/components/onboarding/onboarding-step/engine.js.map +1 -1
  171. package/dist/cjs/components/onboarding/onboarding-step/presets.json +20 -0
  172. package/dist/cjs/components/onboarding/password-expiry/PasswordExpiryView.js +3 -3
  173. package/dist/cjs/components/onboarding/password-expiry/PasswordExpiryView.js.map +1 -1
  174. package/dist/cjs/components/onboarding/password-expiry/contract.js.map +1 -1
  175. package/dist/cjs/components/onboarding/password-expiry/engine.js +26 -13
  176. package/dist/cjs/components/onboarding/password-expiry/engine.js.map +1 -1
  177. package/dist/cjs/components/onboarding/password-expiry/index.js +3 -1
  178. package/dist/cjs/components/onboarding/password-expiry/index.js.map +1 -1
  179. package/dist/cjs/components/onboarding/password-expiry/presets.json +18 -0
  180. package/dist/cjs/components/onboarding/payment-alert/presets.json +2 -0
  181. package/dist/cjs/components/onboarding/permissions-setup/presets.json +2 -0
  182. package/dist/cjs/components/onboarding/plan-selection/presets.json +2 -0
  183. package/dist/cjs/components/onboarding/queue-status/presets.json +2 -0
  184. package/dist/cjs/components/onboarding/quick-actions/presets.json +2 -0
  185. package/dist/cjs/components/onboarding/rate-limit/RateLimitView.js +1 -1
  186. package/dist/cjs/components/onboarding/rate-limit/RateLimitView.js.map +1 -1
  187. package/dist/cjs/components/onboarding/rate-limit/contract.js.map +1 -1
  188. package/dist/cjs/components/onboarding/rate-limit/engine.js +8 -7
  189. package/dist/cjs/components/onboarding/rate-limit/engine.js.map +1 -1
  190. package/dist/cjs/components/onboarding/rate-limit/presets.json +15 -0
  191. package/dist/cjs/components/onboarding/receipt-printer/ReceiptPrinterView.js +4 -4
  192. package/dist/cjs/components/onboarding/receipt-printer/ReceiptPrinterView.js.map +1 -1
  193. package/dist/cjs/components/onboarding/receipt-printer/contract.js +40 -1
  194. package/dist/cjs/components/onboarding/receipt-printer/contract.js.map +1 -1
  195. package/dist/cjs/components/onboarding/receipt-printer/engine.js +41 -40
  196. package/dist/cjs/components/onboarding/receipt-printer/engine.js.map +1 -1
  197. package/dist/cjs/components/onboarding/receipt-printer/index.js +4 -1
  198. package/dist/cjs/components/onboarding/receipt-printer/index.js.map +1 -1
  199. package/dist/cjs/components/onboarding/receipt-printer/presets.json +62 -2
  200. package/dist/cjs/components/onboarding/score-summary/presets.json +2 -0
  201. package/dist/cjs/components/onboarding/seat-allocation/SeatAllocationView.js +3 -3
  202. package/dist/cjs/components/onboarding/seat-allocation/SeatAllocationView.js.map +1 -1
  203. package/dist/cjs/components/onboarding/seat-allocation/contract.js.map +1 -1
  204. package/dist/cjs/components/onboarding/seat-allocation/engine.js +5 -4
  205. package/dist/cjs/components/onboarding/seat-allocation/engine.js.map +1 -1
  206. package/dist/cjs/components/onboarding/seat-allocation/presets.json +17 -0
  207. package/dist/cjs/components/onboarding/setup-tasks/SetupTasksView.js +1 -1
  208. package/dist/cjs/components/onboarding/setup-tasks/SetupTasksView.js.map +1 -1
  209. package/dist/cjs/components/onboarding/setup-tasks/contract.js.map +1 -1
  210. package/dist/cjs/components/onboarding/setup-tasks/engine.js +4 -3
  211. package/dist/cjs/components/onboarding/setup-tasks/engine.js.map +1 -1
  212. package/dist/cjs/components/onboarding/setup-tasks/presets.json +11 -0
  213. package/dist/cjs/components/onboarding/shared/OnboardingCard.js +2 -2
  214. package/dist/cjs/components/onboarding/shared/OnboardingCard.js.map +1 -1
  215. package/dist/cjs/components/onboarding/shared/contract.js.map +1 -1
  216. package/dist/cjs/components/onboarding/shared/describe.js +57 -0
  217. package/dist/cjs/components/onboarding/shared/describe.js.map +1 -0
  218. package/dist/cjs/components/onboarding/shared/index.js +4 -1
  219. package/dist/cjs/components/onboarding/shared/index.js.map +1 -1
  220. package/dist/cjs/components/onboarding/shared/insight-parts.js +5 -5
  221. package/dist/cjs/components/onboarding/shared/insight-parts.js.map +1 -1
  222. package/dist/cjs/components/onboarding/shared/insight.js +3 -3
  223. package/dist/cjs/components/onboarding/shared/insight.js.map +1 -1
  224. package/dist/cjs/components/onboarding/shared/shape.js +2 -1
  225. package/dist/cjs/components/onboarding/shared/shape.js.map +1 -1
  226. package/dist/cjs/components/onboarding/shipping-update/presets.json +2 -0
  227. package/dist/cjs/components/onboarding/status-page/presets.json +2 -0
  228. package/dist/cjs/components/onboarding/tabbed/TabbedView.js +14 -11
  229. package/dist/cjs/components/onboarding/tabbed/TabbedView.js.map +1 -1
  230. package/dist/cjs/components/onboarding/tabbed/contract.js +3 -0
  231. package/dist/cjs/components/onboarding/tabbed/contract.js.map +1 -1
  232. package/dist/cjs/components/onboarding/tabbed/presets.json +27 -0
  233. package/dist/cjs/components/onboarding/table/presets.json +210 -7
  234. package/dist/cjs/components/onboarding/tag-cloud/presets.json +2 -0
  235. package/dist/cjs/components/onboarding/tag-creation/TagCreationView.js +1 -1
  236. package/dist/cjs/components/onboarding/tag-creation/TagCreationView.js.map +1 -1
  237. package/dist/cjs/components/onboarding/tag-creation/contract.js.map +1 -1
  238. package/dist/cjs/components/onboarding/tag-creation/engine.js +6 -5
  239. package/dist/cjs/components/onboarding/tag-creation/engine.js.map +1 -1
  240. package/dist/cjs/components/onboarding/tag-creation/presets.json +8 -0
  241. package/dist/cjs/components/onboarding/terms-consent/TermsConsentView.js +1 -1
  242. package/dist/cjs/components/onboarding/terms-consent/TermsConsentView.js.map +1 -1
  243. package/dist/cjs/components/onboarding/terms-consent/contract.js.map +1 -1
  244. package/dist/cjs/components/onboarding/terms-consent/engine.js +5 -4
  245. package/dist/cjs/components/onboarding/terms-consent/engine.js.map +1 -1
  246. package/dist/cjs/components/onboarding/terms-consent/presets.json +10 -0
  247. package/dist/cjs/components/onboarding/trial-countdown/TrialCountdownView.js +1 -1
  248. package/dist/cjs/components/onboarding/trial-countdown/TrialCountdownView.js.map +1 -1
  249. package/dist/cjs/components/onboarding/trial-countdown/contract.js.map +1 -1
  250. package/dist/cjs/components/onboarding/trial-countdown/engine.js +10 -11
  251. package/dist/cjs/components/onboarding/trial-countdown/engine.js.map +1 -1
  252. package/dist/cjs/components/onboarding/trial-countdown/presets.json +29 -1
  253. package/dist/cjs/components/onboarding/two-factor/TwoFactorView.js +3 -3
  254. package/dist/cjs/components/onboarding/two-factor/TwoFactorView.js.map +1 -1
  255. package/dist/cjs/components/onboarding/two-factor/contract.js.map +1 -1
  256. package/dist/cjs/components/onboarding/two-factor/engine.js +10 -9
  257. package/dist/cjs/components/onboarding/two-factor/engine.js.map +1 -1
  258. package/dist/cjs/components/onboarding/two-factor/presets.json +22 -0
  259. package/dist/cjs/components/onboarding/views.js +100 -1
  260. package/dist/cjs/components/onboarding/views.js.map +1 -1
  261. package/dist/cjs/components/threshold-flow/ThresholdFlowView.js +16 -12
  262. package/dist/cjs/components/threshold-flow/ThresholdFlowView.js.map +1 -1
  263. package/dist/cjs/components/threshold-flow/contract.js +65 -23
  264. package/dist/cjs/components/threshold-flow/contract.js.map +1 -1
  265. package/dist/cjs/components/threshold-flow/engine.js +1 -1
  266. package/dist/cjs/components/threshold-flow/engine.js.map +1 -1
  267. package/dist/cjs/components/threshold-flow/index.js +2 -1
  268. package/dist/cjs/components/threshold-flow/index.js.map +1 -1
  269. package/dist/cjs/ds/blockControls.js +2 -2
  270. package/dist/cjs/ds/blockControls.js.map +1 -1
  271. package/dist/cjs/ds/blocks.js +2 -2
  272. package/dist/cjs/ds/blocks.js.map +1 -1
  273. package/dist/cjs/index.js +2 -0
  274. package/dist/cjs/index.js.map +1 -1
  275. package/dist/cjs/runtime/query/filters.js +26 -0
  276. package/dist/cjs/runtime/query/filters.js.map +1 -0
  277. package/dist/cjs/runtime/query/queryEngine.js +12 -26
  278. package/dist/cjs/runtime/query/queryEngine.js.map +1 -1
  279. package/dist/esm/agent/AgentComponent.d.ts +22 -0
  280. package/dist/esm/agent/AgentComponent.d.ts.map +1 -0
  281. package/dist/esm/agent/AgentComponent.js +67 -0
  282. package/dist/esm/agent/AgentComponent.js.map +1 -0
  283. package/dist/esm/agent/catalog.d.ts +38 -0
  284. package/dist/esm/agent/catalog.d.ts.map +1 -0
  285. package/dist/esm/agent/catalog.js +116 -0
  286. package/dist/esm/agent/catalog.js.map +1 -0
  287. package/dist/esm/agent/classic.d.ts +32 -0
  288. package/dist/esm/agent/classic.d.ts.map +1 -0
  289. package/dist/esm/agent/classic.js +276 -0
  290. package/dist/esm/agent/classic.js.map +1 -0
  291. package/dist/esm/agent/core.d.ts +10 -0
  292. package/dist/esm/agent/core.d.ts.map +1 -0
  293. package/dist/esm/agent/core.js +10 -0
  294. package/dist/esm/agent/core.js.map +1 -0
  295. package/dist/esm/agent/index.d.ts +10 -0
  296. package/dist/esm/agent/index.d.ts.map +1 -0
  297. package/dist/esm/agent/index.js +10 -0
  298. package/dist/esm/agent/index.js.map +1 -0
  299. package/dist/esm/agent/manifests.d.ts +29 -0
  300. package/dist/esm/agent/manifests.d.ts.map +1 -0
  301. package/dist/esm/agent/manifests.js +495 -0
  302. package/dist/esm/agent/manifests.js.map +1 -0
  303. package/dist/esm/agent/result.d.ts +12 -0
  304. package/dist/esm/agent/result.d.ts.map +1 -0
  305. package/dist/esm/agent/result.js +47 -0
  306. package/dist/esm/agent/result.js.map +1 -0
  307. package/dist/esm/agent/spec.d.ts +44 -0
  308. package/dist/esm/agent/spec.d.ts.map +1 -0
  309. package/dist/esm/agent/spec.js +284 -0
  310. package/dist/esm/agent/spec.js.map +1 -0
  311. package/dist/esm/agent/types.d.ts +234 -0
  312. package/dist/esm/agent/types.d.ts.map +1 -0
  313. package/dist/esm/agent/types.js +13 -0
  314. package/dist/esm/agent/types.js.map +1 -0
  315. package/dist/esm/agent/validate.d.ts +20 -0
  316. package/dist/esm/agent/validate.d.ts.map +1 -0
  317. package/dist/esm/agent/validate.js +293 -0
  318. package/dist/esm/agent/validate.js.map +1 -0
  319. package/dist/esm/components/checklist/ChecklistView.d.ts.map +1 -1
  320. package/dist/esm/components/checklist/ChecklistView.js +35 -30
  321. package/dist/esm/components/checklist/ChecklistView.js.map +1 -1
  322. package/dist/esm/components/checklist/contract.d.ts +109 -10
  323. package/dist/esm/components/checklist/contract.d.ts.map +1 -1
  324. package/dist/esm/components/checklist/contract.js +84 -1
  325. package/dist/esm/components/checklist/contract.js.map +1 -1
  326. package/dist/esm/components/checklist/derive.d.ts +2 -2
  327. package/dist/esm/components/checklist/derive.d.ts.map +1 -1
  328. package/dist/esm/components/checklist/derive.js +5 -5
  329. package/dist/esm/components/checklist/derive.js.map +1 -1
  330. package/dist/esm/components/checklist/index.d.ts +1 -1
  331. package/dist/esm/components/checklist/index.d.ts.map +1 -1
  332. package/dist/esm/components/checklist/index.js +1 -1
  333. package/dist/esm/components/checklist/index.js.map +1 -1
  334. package/dist/esm/components/directory/DirectoryView.d.ts.map +1 -1
  335. package/dist/esm/components/directory/DirectoryView.js +19 -14
  336. package/dist/esm/components/directory/DirectoryView.js.map +1 -1
  337. package/dist/esm/components/directory/contract.d.ts +70 -5
  338. package/dist/esm/components/directory/contract.d.ts.map +1 -1
  339. package/dist/esm/components/directory/contract.js +58 -1
  340. package/dist/esm/components/directory/contract.js.map +1 -1
  341. package/dist/esm/components/directory/index.d.ts +1 -1
  342. package/dist/esm/components/directory/index.d.ts.map +1 -1
  343. package/dist/esm/components/directory/index.js +2 -0
  344. package/dist/esm/components/directory/index.js.map +1 -1
  345. package/dist/esm/components/onboarding/ab-tests/presets.json +2 -0
  346. package/dist/esm/components/onboarding/achievement/AchievementView.js +1 -1
  347. package/dist/esm/components/onboarding/achievement/AchievementView.js.map +1 -1
  348. package/dist/esm/components/onboarding/achievement/contract.d.ts +23 -0
  349. package/dist/esm/components/onboarding/achievement/contract.d.ts.map +1 -1
  350. package/dist/esm/components/onboarding/achievement/contract.js.map +1 -1
  351. package/dist/esm/components/onboarding/achievement/engine.d.ts.map +1 -1
  352. package/dist/esm/components/onboarding/achievement/engine.js +15 -11
  353. package/dist/esm/components/onboarding/achievement/engine.js.map +1 -1
  354. package/dist/esm/components/onboarding/achievement/presets.json +17 -0
  355. package/dist/esm/components/onboarding/activity-heatmap/ActivityHeatmapView.d.ts.map +1 -1
  356. package/dist/esm/components/onboarding/activity-heatmap/ActivityHeatmapView.js +15 -12
  357. package/dist/esm/components/onboarding/activity-heatmap/ActivityHeatmapView.js.map +1 -1
  358. package/dist/esm/components/onboarding/activity-heatmap/contract.d.ts +55 -1
  359. package/dist/esm/components/onboarding/activity-heatmap/contract.d.ts.map +1 -1
  360. package/dist/esm/components/onboarding/activity-heatmap/contract.js +8 -0
  361. package/dist/esm/components/onboarding/activity-heatmap/contract.js.map +1 -1
  362. package/dist/esm/components/onboarding/activity-heatmap/engine.d.ts +16 -9
  363. package/dist/esm/components/onboarding/activity-heatmap/engine.d.ts.map +1 -1
  364. package/dist/esm/components/onboarding/activity-heatmap/engine.js +32 -18
  365. package/dist/esm/components/onboarding/activity-heatmap/engine.js.map +1 -1
  366. package/dist/esm/components/onboarding/activity-heatmap/index.d.ts +2 -2
  367. package/dist/esm/components/onboarding/activity-heatmap/index.d.ts.map +1 -1
  368. package/dist/esm/components/onboarding/activity-heatmap/index.js +1 -1
  369. package/dist/esm/components/onboarding/activity-heatmap/index.js.map +1 -1
  370. package/dist/esm/components/onboarding/activity-heatmap/presets.json +59 -0
  371. package/dist/esm/components/onboarding/brand-kit/BrandKitView.d.ts.map +1 -1
  372. package/dist/esm/components/onboarding/brand-kit/BrandKitView.js +13 -2
  373. package/dist/esm/components/onboarding/brand-kit/BrandKitView.js.map +1 -1
  374. package/dist/esm/components/onboarding/brand-kit/contract.d.ts +33 -0
  375. package/dist/esm/components/onboarding/brand-kit/contract.d.ts.map +1 -1
  376. package/dist/esm/components/onboarding/brand-kit/contract.js +5 -0
  377. package/dist/esm/components/onboarding/brand-kit/contract.js.map +1 -1
  378. package/dist/esm/components/onboarding/brand-kit/engine.d.ts +1 -1
  379. package/dist/esm/components/onboarding/brand-kit/engine.d.ts.map +1 -1
  380. package/dist/esm/components/onboarding/brand-kit/engine.js +17 -12
  381. package/dist/esm/components/onboarding/brand-kit/engine.js.map +1 -1
  382. package/dist/esm/components/onboarding/brand-kit/presets.json +27 -1
  383. package/dist/esm/components/onboarding/budget-allocation/presets.json +2 -0
  384. package/dist/esm/components/onboarding/budget-tracker/BudgetTrackerView.d.ts.map +1 -1
  385. package/dist/esm/components/onboarding/budget-tracker/BudgetTrackerView.js +9 -9
  386. package/dist/esm/components/onboarding/budget-tracker/BudgetTrackerView.js.map +1 -1
  387. package/dist/esm/components/onboarding/budget-tracker/contract.d.ts +31 -1
  388. package/dist/esm/components/onboarding/budget-tracker/contract.d.ts.map +1 -1
  389. package/dist/esm/components/onboarding/budget-tracker/contract.js.map +1 -1
  390. package/dist/esm/components/onboarding/budget-tracker/engine.d.ts +9 -1
  391. package/dist/esm/components/onboarding/budget-tracker/engine.d.ts.map +1 -1
  392. package/dist/esm/components/onboarding/budget-tracker/engine.js +36 -6
  393. package/dist/esm/components/onboarding/budget-tracker/engine.js.map +1 -1
  394. package/dist/esm/components/onboarding/budget-tracker/index.d.ts +2 -2
  395. package/dist/esm/components/onboarding/budget-tracker/index.d.ts.map +1 -1
  396. package/dist/esm/components/onboarding/budget-tracker/index.js +1 -1
  397. package/dist/esm/components/onboarding/budget-tracker/index.js.map +1 -1
  398. package/dist/esm/components/onboarding/budget-tracker/presets.json +19 -0
  399. package/dist/esm/components/onboarding/calendar-sync/presets.json +2 -0
  400. package/dist/esm/components/onboarding/carousel/CarouselView.d.ts.map +1 -1
  401. package/dist/esm/components/onboarding/carousel/CarouselView.js +3 -3
  402. package/dist/esm/components/onboarding/carousel/CarouselView.js.map +1 -1
  403. package/dist/esm/components/onboarding/carousel/contract.d.ts +10 -0
  404. package/dist/esm/components/onboarding/carousel/contract.d.ts.map +1 -1
  405. package/dist/esm/components/onboarding/carousel/contract.js.map +1 -1
  406. package/dist/esm/components/onboarding/carousel/engine.d.ts.map +1 -1
  407. package/dist/esm/components/onboarding/carousel/engine.js +3 -2
  408. package/dist/esm/components/onboarding/carousel/engine.js.map +1 -1
  409. package/dist/esm/components/onboarding/carousel/presets.json +7 -0
  410. package/dist/esm/components/onboarding/cicd-setup/CicdSetupView.d.ts.map +1 -1
  411. package/dist/esm/components/onboarding/cicd-setup/CicdSetupView.js +3 -3
  412. package/dist/esm/components/onboarding/cicd-setup/CicdSetupView.js.map +1 -1
  413. package/dist/esm/components/onboarding/cicd-setup/contract.d.ts +16 -0
  414. package/dist/esm/components/onboarding/cicd-setup/contract.d.ts.map +1 -1
  415. package/dist/esm/components/onboarding/cicd-setup/contract.js.map +1 -1
  416. package/dist/esm/components/onboarding/cicd-setup/engine.d.ts.map +1 -1
  417. package/dist/esm/components/onboarding/cicd-setup/engine.js +5 -4
  418. package/dist/esm/components/onboarding/cicd-setup/engine.js.map +1 -1
  419. package/dist/esm/components/onboarding/cicd-setup/presets.json +12 -0
  420. package/dist/esm/components/onboarding/combobox/ComboboxView.js +10 -10
  421. package/dist/esm/components/onboarding/combobox/ComboboxView.js.map +1 -1
  422. package/dist/esm/components/onboarding/combobox/contract.d.ts +36 -0
  423. package/dist/esm/components/onboarding/combobox/contract.d.ts.map +1 -1
  424. package/dist/esm/components/onboarding/combobox/contract.js +12 -0
  425. package/dist/esm/components/onboarding/combobox/contract.js.map +1 -1
  426. package/dist/esm/components/onboarding/combobox/engine.d.ts +4 -3
  427. package/dist/esm/components/onboarding/combobox/engine.d.ts.map +1 -1
  428. package/dist/esm/components/onboarding/combobox/engine.js +19 -12
  429. package/dist/esm/components/onboarding/combobox/engine.js.map +1 -1
  430. package/dist/esm/components/onboarding/combobox/presets.json +28 -1
  431. package/dist/esm/components/onboarding/combobox/runtime.d.ts +3 -2
  432. package/dist/esm/components/onboarding/combobox/runtime.d.ts.map +1 -1
  433. package/dist/esm/components/onboarding/combobox/runtime.js +6 -4
  434. package/dist/esm/components/onboarding/combobox/runtime.js.map +1 -1
  435. package/dist/esm/components/onboarding/completion/contract.d.ts +4 -0
  436. package/dist/esm/components/onboarding/completion/contract.d.ts.map +1 -1
  437. package/dist/esm/components/onboarding/completion/contract.js.map +1 -1
  438. package/dist/esm/components/onboarding/completion/engine.d.ts.map +1 -1
  439. package/dist/esm/components/onboarding/completion/engine.js +2 -1
  440. package/dist/esm/components/onboarding/completion/engine.js.map +1 -1
  441. package/dist/esm/components/onboarding/completion/presets.json +4 -0
  442. package/dist/esm/components/onboarding/contact-import/ContactImportView.d.ts.map +1 -1
  443. package/dist/esm/components/onboarding/contact-import/ContactImportView.js +16 -5
  444. package/dist/esm/components/onboarding/contact-import/ContactImportView.js.map +1 -1
  445. package/dist/esm/components/onboarding/contact-import/contract.d.ts +46 -0
  446. package/dist/esm/components/onboarding/contact-import/contract.d.ts.map +1 -1
  447. package/dist/esm/components/onboarding/contact-import/contract.js.map +1 -1
  448. package/dist/esm/components/onboarding/contact-import/engine.d.ts +2 -2
  449. package/dist/esm/components/onboarding/contact-import/engine.d.ts.map +1 -1
  450. package/dist/esm/components/onboarding/contact-import/engine.js +15 -11
  451. package/dist/esm/components/onboarding/contact-import/engine.js.map +1 -1
  452. package/dist/esm/components/onboarding/contact-import/presets.json +36 -1
  453. package/dist/esm/components/onboarding/contact-import/runtime.d.ts +1 -1
  454. package/dist/esm/components/onboarding/conversion-funnel/presets.json +2 -0
  455. package/dist/esm/components/onboarding/criteria-spider/CriteriaSpiderView.d.ts.map +1 -1
  456. package/dist/esm/components/onboarding/criteria-spider/CriteriaSpiderView.js +10 -8
  457. package/dist/esm/components/onboarding/criteria-spider/CriteriaSpiderView.js.map +1 -1
  458. package/dist/esm/components/onboarding/criteria-spider/contract.d.ts +36 -1
  459. package/dist/esm/components/onboarding/criteria-spider/contract.d.ts.map +1 -1
  460. package/dist/esm/components/onboarding/criteria-spider/contract.js.map +1 -1
  461. package/dist/esm/components/onboarding/criteria-spider/engine.d.ts +4 -4
  462. package/dist/esm/components/onboarding/criteria-spider/engine.d.ts.map +1 -1
  463. package/dist/esm/components/onboarding/criteria-spider/engine.js +13 -8
  464. package/dist/esm/components/onboarding/criteria-spider/engine.js.map +1 -1
  465. package/dist/esm/components/onboarding/criteria-spider/index.d.ts +1 -1
  466. package/dist/esm/components/onboarding/criteria-spider/index.d.ts.map +1 -1
  467. package/dist/esm/components/onboarding/criteria-spider/presets.json +21 -0
  468. package/dist/esm/components/onboarding/dashboard-config/contract.d.ts +9 -0
  469. package/dist/esm/components/onboarding/dashboard-config/contract.d.ts.map +1 -1
  470. package/dist/esm/components/onboarding/dashboard-config/contract.js.map +1 -1
  471. package/dist/esm/components/onboarding/dashboard-config/engine.d.ts +1 -1
  472. package/dist/esm/components/onboarding/dashboard-config/engine.d.ts.map +1 -1
  473. package/dist/esm/components/onboarding/dashboard-config/engine.js +6 -4
  474. package/dist/esm/components/onboarding/dashboard-config/engine.js.map +1 -1
  475. package/dist/esm/components/onboarding/dashboard-config/presets.json +8 -0
  476. package/dist/esm/components/onboarding/data-view/DataView.d.ts +1 -1
  477. package/dist/esm/components/onboarding/data-view/DataView.d.ts.map +1 -1
  478. package/dist/esm/components/onboarding/data-view/DataView.js +27 -26
  479. package/dist/esm/components/onboarding/data-view/DataView.js.map +1 -1
  480. package/dist/esm/components/onboarding/data-view/contract.d.ts +104 -2
  481. package/dist/esm/components/onboarding/data-view/contract.d.ts.map +1 -1
  482. package/dist/esm/components/onboarding/data-view/contract.js.map +1 -1
  483. package/dist/esm/components/onboarding/data-view/demoSource.d.ts.map +1 -1
  484. package/dist/esm/components/onboarding/data-view/demoSource.js +7 -2
  485. package/dist/esm/components/onboarding/data-view/demoSource.js.map +1 -1
  486. package/dist/esm/components/onboarding/data-view/engine.d.ts.map +1 -1
  487. package/dist/esm/components/onboarding/data-view/engine.js +16 -13
  488. package/dist/esm/components/onboarding/data-view/engine.js.map +1 -1
  489. package/dist/esm/components/onboarding/data-view/parts.d.ts +12 -2
  490. package/dist/esm/components/onboarding/data-view/parts.d.ts.map +1 -1
  491. package/dist/esm/components/onboarding/data-view/parts.js +6 -6
  492. package/dist/esm/components/onboarding/data-view/parts.js.map +1 -1
  493. package/dist/esm/components/onboarding/data-view/registry.d.ts +31 -9
  494. package/dist/esm/components/onboarding/data-view/registry.d.ts.map +1 -1
  495. package/dist/esm/components/onboarding/data-view/registry.js +61 -27
  496. package/dist/esm/components/onboarding/data-view/registry.js.map +1 -1
  497. package/dist/esm/components/onboarding/data-view/runtime.d.ts +1 -1
  498. package/dist/esm/components/onboarding/data-view/runtime.d.ts.map +1 -1
  499. package/dist/esm/components/onboarding/data-view/runtime.js +11 -9
  500. package/dist/esm/components/onboarding/data-view/runtime.js.map +1 -1
  501. package/dist/esm/components/onboarding/department-setup/presets.json +2 -0
  502. package/dist/esm/components/onboarding/event-reminder/EventReminderView.d.ts.map +1 -1
  503. package/dist/esm/components/onboarding/event-reminder/EventReminderView.js +3 -3
  504. package/dist/esm/components/onboarding/event-reminder/EventReminderView.js.map +1 -1
  505. package/dist/esm/components/onboarding/event-reminder/contract.d.ts +24 -0
  506. package/dist/esm/components/onboarding/event-reminder/contract.d.ts.map +1 -1
  507. package/dist/esm/components/onboarding/event-reminder/contract.js.map +1 -1
  508. package/dist/esm/components/onboarding/event-reminder/engine.d.ts.map +1 -1
  509. package/dist/esm/components/onboarding/event-reminder/engine.js +10 -8
  510. package/dist/esm/components/onboarding/event-reminder/engine.js.map +1 -1
  511. package/dist/esm/components/onboarding/event-reminder/presets.json +20 -0
  512. package/dist/esm/components/onboarding/expandable-feed/ExpandableFeedView.d.ts.map +1 -1
  513. package/dist/esm/components/onboarding/expandable-feed/ExpandableFeedView.js +6 -6
  514. package/dist/esm/components/onboarding/expandable-feed/ExpandableFeedView.js.map +1 -1
  515. package/dist/esm/components/onboarding/expandable-feed/contract.d.ts +5 -0
  516. package/dist/esm/components/onboarding/expandable-feed/contract.d.ts.map +1 -1
  517. package/dist/esm/components/onboarding/expandable-feed/contract.js.map +1 -1
  518. package/dist/esm/components/onboarding/expandable-feed/presets.json +5 -0
  519. package/dist/esm/components/onboarding/export-format/ExportFormatView.d.ts.map +1 -1
  520. package/dist/esm/components/onboarding/export-format/ExportFormatView.js +2 -2
  521. package/dist/esm/components/onboarding/export-format/ExportFormatView.js.map +1 -1
  522. package/dist/esm/components/onboarding/export-format/contract.d.ts +12 -0
  523. package/dist/esm/components/onboarding/export-format/contract.d.ts.map +1 -1
  524. package/dist/esm/components/onboarding/export-format/contract.js.map +1 -1
  525. package/dist/esm/components/onboarding/export-format/engine.d.ts.map +1 -1
  526. package/dist/esm/components/onboarding/export-format/engine.js +3 -2
  527. package/dist/esm/components/onboarding/export-format/engine.js.map +1 -1
  528. package/dist/esm/components/onboarding/export-format/presets.json +9 -1
  529. package/dist/esm/components/onboarding/fallback/FallbackView.d.ts +9 -4
  530. package/dist/esm/components/onboarding/fallback/FallbackView.d.ts.map +1 -1
  531. package/dist/esm/components/onboarding/fallback/FallbackView.js +11 -9
  532. package/dist/esm/components/onboarding/fallback/FallbackView.js.map +1 -1
  533. package/dist/esm/components/onboarding/fallback/contract.d.ts +40 -1
  534. package/dist/esm/components/onboarding/fallback/contract.d.ts.map +1 -1
  535. package/dist/esm/components/onboarding/fallback/contract.js.map +1 -1
  536. package/dist/esm/components/onboarding/fallback/engine.d.ts +7 -6
  537. package/dist/esm/components/onboarding/fallback/engine.d.ts.map +1 -1
  538. package/dist/esm/components/onboarding/fallback/engine.js +42 -30
  539. package/dist/esm/components/onboarding/fallback/engine.js.map +1 -1
  540. package/dist/esm/components/onboarding/fallback/index.d.ts +1 -1
  541. package/dist/esm/components/onboarding/fallback/index.d.ts.map +1 -1
  542. package/dist/esm/components/onboarding/fallback/index.js.map +1 -1
  543. package/dist/esm/components/onboarding/fallback/presets.json +52 -0
  544. package/dist/esm/components/onboarding/file-shared/FileSharedView.d.ts.map +1 -1
  545. package/dist/esm/components/onboarding/file-shared/FileSharedView.js +6 -5
  546. package/dist/esm/components/onboarding/file-shared/FileSharedView.js.map +1 -1
  547. package/dist/esm/components/onboarding/file-shared/contract.d.ts +20 -0
  548. package/dist/esm/components/onboarding/file-shared/contract.d.ts.map +1 -1
  549. package/dist/esm/components/onboarding/file-shared/contract.js.map +1 -1
  550. package/dist/esm/components/onboarding/file-shared/engine.d.ts +3 -2
  551. package/dist/esm/components/onboarding/file-shared/engine.d.ts.map +1 -1
  552. package/dist/esm/components/onboarding/file-shared/engine.js +8 -4
  553. package/dist/esm/components/onboarding/file-shared/engine.js.map +1 -1
  554. package/dist/esm/components/onboarding/file-shared/presets.json +15 -1
  555. package/dist/esm/components/onboarding/filter-panel/presets.json +2 -0
  556. package/dist/esm/components/onboarding/floating/presets.json +2 -0
  557. package/dist/esm/components/onboarding/grid/presets.json +202 -5
  558. package/dist/esm/components/onboarding/help-center/presets.json +2 -0
  559. package/dist/esm/components/onboarding/id-verification/IdVerificationView.d.ts.map +1 -1
  560. package/dist/esm/components/onboarding/id-verification/IdVerificationView.js +10 -9
  561. package/dist/esm/components/onboarding/id-verification/IdVerificationView.js.map +1 -1
  562. package/dist/esm/components/onboarding/id-verification/contract.d.ts +47 -0
  563. package/dist/esm/components/onboarding/id-verification/contract.d.ts.map +1 -1
  564. package/dist/esm/components/onboarding/id-verification/contract.js.map +1 -1
  565. package/dist/esm/components/onboarding/id-verification/engine.d.ts +5 -2
  566. package/dist/esm/components/onboarding/id-verification/engine.d.ts.map +1 -1
  567. package/dist/esm/components/onboarding/id-verification/engine.js +21 -17
  568. package/dist/esm/components/onboarding/id-verification/engine.js.map +1 -1
  569. package/dist/esm/components/onboarding/id-verification/presets.json +39 -1
  570. package/dist/esm/components/onboarding/index.d.ts +1 -1
  571. package/dist/esm/components/onboarding/index.d.ts.map +1 -1
  572. package/dist/esm/components/onboarding/index.js +1 -1
  573. package/dist/esm/components/onboarding/index.js.map +1 -1
  574. package/dist/esm/components/onboarding/mark-read/presets.json +2 -0
  575. package/dist/esm/components/onboarding/onboarding-step/OnboardingStepView.js +2 -2
  576. package/dist/esm/components/onboarding/onboarding-step/OnboardingStepView.js.map +1 -1
  577. package/dist/esm/components/onboarding/onboarding-step/contract.d.ts +30 -0
  578. package/dist/esm/components/onboarding/onboarding-step/contract.d.ts.map +1 -1
  579. package/dist/esm/components/onboarding/onboarding-step/contract.js.map +1 -1
  580. package/dist/esm/components/onboarding/onboarding-step/engine.d.ts +2 -0
  581. package/dist/esm/components/onboarding/onboarding-step/engine.d.ts.map +1 -1
  582. package/dist/esm/components/onboarding/onboarding-step/engine.js +10 -5
  583. package/dist/esm/components/onboarding/onboarding-step/engine.js.map +1 -1
  584. package/dist/esm/components/onboarding/onboarding-step/presets.json +20 -0
  585. package/dist/esm/components/onboarding/password-expiry/PasswordExpiryView.js +3 -3
  586. package/dist/esm/components/onboarding/password-expiry/PasswordExpiryView.js.map +1 -1
  587. package/dist/esm/components/onboarding/password-expiry/contract.d.ts +24 -0
  588. package/dist/esm/components/onboarding/password-expiry/contract.d.ts.map +1 -1
  589. package/dist/esm/components/onboarding/password-expiry/contract.js.map +1 -1
  590. package/dist/esm/components/onboarding/password-expiry/engine.d.ts +7 -0
  591. package/dist/esm/components/onboarding/password-expiry/engine.d.ts.map +1 -1
  592. package/dist/esm/components/onboarding/password-expiry/engine.js +24 -13
  593. package/dist/esm/components/onboarding/password-expiry/engine.js.map +1 -1
  594. package/dist/esm/components/onboarding/password-expiry/index.d.ts +1 -1
  595. package/dist/esm/components/onboarding/password-expiry/index.d.ts.map +1 -1
  596. package/dist/esm/components/onboarding/password-expiry/index.js +1 -1
  597. package/dist/esm/components/onboarding/password-expiry/index.js.map +1 -1
  598. package/dist/esm/components/onboarding/password-expiry/presets.json +18 -0
  599. package/dist/esm/components/onboarding/payment-alert/presets.json +2 -0
  600. package/dist/esm/components/onboarding/permissions-setup/presets.json +2 -0
  601. package/dist/esm/components/onboarding/plan-selection/presets.json +2 -0
  602. package/dist/esm/components/onboarding/queue-status/presets.json +2 -0
  603. package/dist/esm/components/onboarding/quick-actions/presets.json +2 -0
  604. package/dist/esm/components/onboarding/rate-limit/RateLimitView.d.ts.map +1 -1
  605. package/dist/esm/components/onboarding/rate-limit/RateLimitView.js +2 -2
  606. package/dist/esm/components/onboarding/rate-limit/RateLimitView.js.map +1 -1
  607. package/dist/esm/components/onboarding/rate-limit/contract.d.ts +18 -0
  608. package/dist/esm/components/onboarding/rate-limit/contract.d.ts.map +1 -1
  609. package/dist/esm/components/onboarding/rate-limit/contract.js.map +1 -1
  610. package/dist/esm/components/onboarding/rate-limit/engine.d.ts +1 -1
  611. package/dist/esm/components/onboarding/rate-limit/engine.d.ts.map +1 -1
  612. package/dist/esm/components/onboarding/rate-limit/engine.js +8 -7
  613. package/dist/esm/components/onboarding/rate-limit/engine.js.map +1 -1
  614. package/dist/esm/components/onboarding/rate-limit/presets.json +15 -0
  615. package/dist/esm/components/onboarding/receipt-printer/ReceiptPrinterView.d.ts +1 -1
  616. package/dist/esm/components/onboarding/receipt-printer/ReceiptPrinterView.d.ts.map +1 -1
  617. package/dist/esm/components/onboarding/receipt-printer/ReceiptPrinterView.js +6 -6
  618. package/dist/esm/components/onboarding/receipt-printer/ReceiptPrinterView.js.map +1 -1
  619. package/dist/esm/components/onboarding/receipt-printer/contract.d.ts +39 -0
  620. package/dist/esm/components/onboarding/receipt-printer/contract.d.ts.map +1 -1
  621. package/dist/esm/components/onboarding/receipt-printer/contract.js +38 -0
  622. package/dist/esm/components/onboarding/receipt-printer/contract.js.map +1 -1
  623. package/dist/esm/components/onboarding/receipt-printer/engine.d.ts +1 -1
  624. package/dist/esm/components/onboarding/receipt-printer/engine.d.ts.map +1 -1
  625. package/dist/esm/components/onboarding/receipt-printer/engine.js +27 -26
  626. package/dist/esm/components/onboarding/receipt-printer/engine.js.map +1 -1
  627. package/dist/esm/components/onboarding/receipt-printer/index.d.ts +1 -1
  628. package/dist/esm/components/onboarding/receipt-printer/index.d.ts.map +1 -1
  629. package/dist/esm/components/onboarding/receipt-printer/index.js +1 -1
  630. package/dist/esm/components/onboarding/receipt-printer/index.js.map +1 -1
  631. package/dist/esm/components/onboarding/receipt-printer/presets.json +62 -2
  632. package/dist/esm/components/onboarding/score-summary/presets.json +2 -0
  633. package/dist/esm/components/onboarding/seat-allocation/SeatAllocationView.d.ts.map +1 -1
  634. package/dist/esm/components/onboarding/seat-allocation/SeatAllocationView.js +4 -4
  635. package/dist/esm/components/onboarding/seat-allocation/SeatAllocationView.js.map +1 -1
  636. package/dist/esm/components/onboarding/seat-allocation/contract.d.ts +23 -0
  637. package/dist/esm/components/onboarding/seat-allocation/contract.d.ts.map +1 -1
  638. package/dist/esm/components/onboarding/seat-allocation/contract.js.map +1 -1
  639. package/dist/esm/components/onboarding/seat-allocation/engine.d.ts +1 -1
  640. package/dist/esm/components/onboarding/seat-allocation/engine.d.ts.map +1 -1
  641. package/dist/esm/components/onboarding/seat-allocation/engine.js +5 -4
  642. package/dist/esm/components/onboarding/seat-allocation/engine.js.map +1 -1
  643. package/dist/esm/components/onboarding/seat-allocation/presets.json +17 -0
  644. package/dist/esm/components/onboarding/setup-tasks/SetupTasksView.d.ts.map +1 -1
  645. package/dist/esm/components/onboarding/setup-tasks/SetupTasksView.js +2 -2
  646. package/dist/esm/components/onboarding/setup-tasks/SetupTasksView.js.map +1 -1
  647. package/dist/esm/components/onboarding/setup-tasks/contract.d.ts +14 -0
  648. package/dist/esm/components/onboarding/setup-tasks/contract.d.ts.map +1 -1
  649. package/dist/esm/components/onboarding/setup-tasks/contract.js.map +1 -1
  650. package/dist/esm/components/onboarding/setup-tasks/engine.d.ts.map +1 -1
  651. package/dist/esm/components/onboarding/setup-tasks/engine.js +4 -3
  652. package/dist/esm/components/onboarding/setup-tasks/engine.js.map +1 -1
  653. package/dist/esm/components/onboarding/setup-tasks/presets.json +11 -0
  654. package/dist/esm/components/onboarding/shared/OnboardingCard.d.ts.map +1 -1
  655. package/dist/esm/components/onboarding/shared/OnboardingCard.js +3 -3
  656. package/dist/esm/components/onboarding/shared/OnboardingCard.js.map +1 -1
  657. package/dist/esm/components/onboarding/shared/contract.d.ts +4 -0
  658. package/dist/esm/components/onboarding/shared/contract.d.ts.map +1 -1
  659. package/dist/esm/components/onboarding/shared/contract.js.map +1 -1
  660. package/dist/esm/components/onboarding/shared/describe.d.ts +38 -0
  661. package/dist/esm/components/onboarding/shared/describe.d.ts.map +1 -0
  662. package/dist/esm/components/onboarding/shared/describe.js +53 -0
  663. package/dist/esm/components/onboarding/shared/describe.js.map +1 -0
  664. package/dist/esm/components/onboarding/shared/index.d.ts +1 -0
  665. package/dist/esm/components/onboarding/shared/index.d.ts.map +1 -1
  666. package/dist/esm/components/onboarding/shared/index.js +1 -0
  667. package/dist/esm/components/onboarding/shared/index.js.map +1 -1
  668. package/dist/esm/components/onboarding/shared/insight-parts.d.ts +6 -3
  669. package/dist/esm/components/onboarding/shared/insight-parts.d.ts.map +1 -1
  670. package/dist/esm/components/onboarding/shared/insight-parts.js +5 -5
  671. package/dist/esm/components/onboarding/shared/insight-parts.js.map +1 -1
  672. package/dist/esm/components/onboarding/shared/insight.d.ts +2 -2
  673. package/dist/esm/components/onboarding/shared/insight.d.ts.map +1 -1
  674. package/dist/esm/components/onboarding/shared/insight.js +3 -3
  675. package/dist/esm/components/onboarding/shared/insight.js.map +1 -1
  676. package/dist/esm/components/onboarding/shared/shape.d.ts.map +1 -1
  677. package/dist/esm/components/onboarding/shared/shape.js +2 -1
  678. package/dist/esm/components/onboarding/shared/shape.js.map +1 -1
  679. package/dist/esm/components/onboarding/shipping-update/presets.json +2 -0
  680. package/dist/esm/components/onboarding/status-page/presets.json +2 -0
  681. package/dist/esm/components/onboarding/tabbed/TabbedView.d.ts.map +1 -1
  682. package/dist/esm/components/onboarding/tabbed/TabbedView.js +10 -7
  683. package/dist/esm/components/onboarding/tabbed/TabbedView.js.map +1 -1
  684. package/dist/esm/components/onboarding/tabbed/contract.d.ts +8 -0
  685. package/dist/esm/components/onboarding/tabbed/contract.d.ts.map +1 -1
  686. package/dist/esm/components/onboarding/tabbed/contract.js +3 -0
  687. package/dist/esm/components/onboarding/tabbed/contract.js.map +1 -1
  688. package/dist/esm/components/onboarding/tabbed/presets.json +27 -0
  689. package/dist/esm/components/onboarding/table/presets.json +210 -7
  690. package/dist/esm/components/onboarding/tag-cloud/presets.json +2 -0
  691. package/dist/esm/components/onboarding/tag-creation/TagCreationView.js +1 -1
  692. package/dist/esm/components/onboarding/tag-creation/TagCreationView.js.map +1 -1
  693. package/dist/esm/components/onboarding/tag-creation/contract.d.ts +11 -0
  694. package/dist/esm/components/onboarding/tag-creation/contract.d.ts.map +1 -1
  695. package/dist/esm/components/onboarding/tag-creation/contract.js.map +1 -1
  696. package/dist/esm/components/onboarding/tag-creation/engine.d.ts +1 -1
  697. package/dist/esm/components/onboarding/tag-creation/engine.d.ts.map +1 -1
  698. package/dist/esm/components/onboarding/tag-creation/engine.js +6 -5
  699. package/dist/esm/components/onboarding/tag-creation/engine.js.map +1 -1
  700. package/dist/esm/components/onboarding/tag-creation/presets.json +8 -0
  701. package/dist/esm/components/onboarding/terms-consent/TermsConsentView.d.ts.map +1 -1
  702. package/dist/esm/components/onboarding/terms-consent/TermsConsentView.js +2 -2
  703. package/dist/esm/components/onboarding/terms-consent/TermsConsentView.js.map +1 -1
  704. package/dist/esm/components/onboarding/terms-consent/contract.d.ts +13 -0
  705. package/dist/esm/components/onboarding/terms-consent/contract.d.ts.map +1 -1
  706. package/dist/esm/components/onboarding/terms-consent/contract.js.map +1 -1
  707. package/dist/esm/components/onboarding/terms-consent/engine.d.ts.map +1 -1
  708. package/dist/esm/components/onboarding/terms-consent/engine.js +5 -4
  709. package/dist/esm/components/onboarding/terms-consent/engine.js.map +1 -1
  710. package/dist/esm/components/onboarding/terms-consent/presets.json +10 -0
  711. package/dist/esm/components/onboarding/trial-countdown/TrialCountdownView.js +1 -1
  712. package/dist/esm/components/onboarding/trial-countdown/TrialCountdownView.js.map +1 -1
  713. package/dist/esm/components/onboarding/trial-countdown/contract.d.ts +37 -0
  714. package/dist/esm/components/onboarding/trial-countdown/contract.d.ts.map +1 -1
  715. package/dist/esm/components/onboarding/trial-countdown/contract.js.map +1 -1
  716. package/dist/esm/components/onboarding/trial-countdown/engine.d.ts +1 -1
  717. package/dist/esm/components/onboarding/trial-countdown/engine.d.ts.map +1 -1
  718. package/dist/esm/components/onboarding/trial-countdown/engine.js +10 -11
  719. package/dist/esm/components/onboarding/trial-countdown/engine.js.map +1 -1
  720. package/dist/esm/components/onboarding/trial-countdown/presets.json +29 -1
  721. package/dist/esm/components/onboarding/two-factor/TwoFactorView.js +3 -3
  722. package/dist/esm/components/onboarding/two-factor/TwoFactorView.js.map +1 -1
  723. package/dist/esm/components/onboarding/two-factor/contract.d.ts +32 -0
  724. package/dist/esm/components/onboarding/two-factor/contract.d.ts.map +1 -1
  725. package/dist/esm/components/onboarding/two-factor/contract.js.map +1 -1
  726. package/dist/esm/components/onboarding/two-factor/engine.d.ts.map +1 -1
  727. package/dist/esm/components/onboarding/two-factor/engine.js +6 -5
  728. package/dist/esm/components/onboarding/two-factor/engine.js.map +1 -1
  729. package/dist/esm/components/onboarding/two-factor/presets.json +22 -0
  730. package/dist/esm/components/onboarding/views.d.ts +12 -0
  731. package/dist/esm/components/onboarding/views.d.ts.map +1 -1
  732. package/dist/esm/components/onboarding/views.js +99 -0
  733. package/dist/esm/components/onboarding/views.js.map +1 -1
  734. package/dist/esm/components/threshold-flow/ThresholdFlowView.d.ts.map +1 -1
  735. package/dist/esm/components/threshold-flow/ThresholdFlowView.js +17 -13
  736. package/dist/esm/components/threshold-flow/ThresholdFlowView.js.map +1 -1
  737. package/dist/esm/components/threshold-flow/contract.d.ts +48 -6
  738. package/dist/esm/components/threshold-flow/contract.d.ts.map +1 -1
  739. package/dist/esm/components/threshold-flow/contract.js +61 -20
  740. package/dist/esm/components/threshold-flow/contract.js.map +1 -1
  741. package/dist/esm/components/threshold-flow/engine.d.ts.map +1 -1
  742. package/dist/esm/components/threshold-flow/engine.js +2 -2
  743. package/dist/esm/components/threshold-flow/engine.js.map +1 -1
  744. package/dist/esm/components/threshold-flow/index.d.ts +1 -1
  745. package/dist/esm/components/threshold-flow/index.d.ts.map +1 -1
  746. package/dist/esm/components/threshold-flow/index.js +1 -1
  747. package/dist/esm/components/threshold-flow/index.js.map +1 -1
  748. package/dist/esm/ds/blockControls.d.ts +5 -1
  749. package/dist/esm/ds/blockControls.d.ts.map +1 -1
  750. package/dist/esm/ds/blockControls.js +2 -2
  751. package/dist/esm/ds/blockControls.js.map +1 -1
  752. package/dist/esm/ds/blocks.d.ts +3 -1
  753. package/dist/esm/ds/blocks.d.ts.map +1 -1
  754. package/dist/esm/ds/blocks.js +2 -2
  755. package/dist/esm/ds/blocks.js.map +1 -1
  756. package/dist/esm/index.d.ts +1 -0
  757. package/dist/esm/index.d.ts.map +1 -1
  758. package/dist/esm/index.js +2 -0
  759. package/dist/esm/index.js.map +1 -1
  760. package/dist/esm/runtime/query/filters.d.ts +33 -0
  761. package/dist/esm/runtime/query/filters.d.ts.map +1 -0
  762. package/dist/esm/runtime/query/filters.js +23 -0
  763. package/dist/esm/runtime/query/filters.js.map +1 -0
  764. package/dist/esm/runtime/query/queryEngine.d.ts +2 -31
  765. package/dist/esm/runtime/query/queryEngine.d.ts.map +1 -1
  766. package/dist/esm/runtime/query/queryEngine.js +4 -21
  767. package/dist/esm/runtime/query/queryEngine.js.map +1 -1
  768. package/package.json +8 -2
  769. package/spec/examples/components/onboarding/ab-tests/case1.json +2 -0
  770. package/spec/examples/components/onboarding/ab-tests/case2.json +2 -0
  771. package/spec/examples/components/onboarding/ab-tests/case3.json +2 -0
  772. package/spec/examples/components/onboarding/ab-tests/case4.json +2 -0
  773. package/spec/examples/components/onboarding/ab-tests/case5.json +2 -0
  774. package/spec/examples/components/onboarding/achievement/case1.json +17 -0
  775. package/spec/examples/components/onboarding/achievement/case2.json +17 -0
  776. package/spec/examples/components/onboarding/achievement/case3.json +17 -0
  777. package/spec/examples/components/onboarding/achievement/case4.json +17 -0
  778. package/spec/examples/components/onboarding/achievement/case5.json +17 -0
  779. package/spec/examples/components/onboarding/activity-heatmap/case1.json +59 -0
  780. package/spec/examples/components/onboarding/activity-heatmap/case2.json +59 -0
  781. package/spec/examples/components/onboarding/activity-heatmap/case3.json +59 -0
  782. package/spec/examples/components/onboarding/activity-heatmap/case4.json +59 -0
  783. package/spec/examples/components/onboarding/activity-heatmap/case5.json +59 -0
  784. package/spec/examples/components/onboarding/brand-kit/case1.json +27 -1
  785. package/spec/examples/components/onboarding/brand-kit/case2.json +27 -1
  786. package/spec/examples/components/onboarding/brand-kit/case3.json +27 -1
  787. package/spec/examples/components/onboarding/brand-kit/case4.json +27 -1
  788. package/spec/examples/components/onboarding/brand-kit/case5.json +27 -1
  789. package/spec/examples/components/onboarding/budget-allocation/case1.json +2 -0
  790. package/spec/examples/components/onboarding/budget-allocation/case2.json +2 -0
  791. package/spec/examples/components/onboarding/budget-allocation/case3.json +2 -0
  792. package/spec/examples/components/onboarding/budget-allocation/case4.json +2 -0
  793. package/spec/examples/components/onboarding/budget-allocation/case5.json +2 -0
  794. package/spec/examples/components/onboarding/budget-tracker/case1.json +19 -0
  795. package/spec/examples/components/onboarding/budget-tracker/case2.json +19 -0
  796. package/spec/examples/components/onboarding/budget-tracker/case3.json +19 -0
  797. package/spec/examples/components/onboarding/budget-tracker/case4.json +19 -0
  798. package/spec/examples/components/onboarding/budget-tracker/case5.json +19 -0
  799. package/spec/examples/components/onboarding/calendar-sync/case1.json +2 -0
  800. package/spec/examples/components/onboarding/calendar-sync/case2.json +2 -0
  801. package/spec/examples/components/onboarding/calendar-sync/case3.json +2 -0
  802. package/spec/examples/components/onboarding/calendar-sync/case4.json +2 -0
  803. package/spec/examples/components/onboarding/calendar-sync/case5.json +2 -0
  804. package/spec/examples/components/onboarding/carousel/case1.json +7 -0
  805. package/spec/examples/components/onboarding/carousel/case2.json +7 -0
  806. package/spec/examples/components/onboarding/carousel/case3.json +7 -0
  807. package/spec/examples/components/onboarding/carousel/case4.json +7 -0
  808. package/spec/examples/components/onboarding/carousel/case5.json +7 -0
  809. package/spec/examples/components/onboarding/cicd-setup/case1.json +12 -0
  810. package/spec/examples/components/onboarding/cicd-setup/case2.json +12 -0
  811. package/spec/examples/components/onboarding/cicd-setup/case3.json +12 -0
  812. package/spec/examples/components/onboarding/cicd-setup/case4.json +12 -0
  813. package/spec/examples/components/onboarding/cicd-setup/case5.json +12 -0
  814. package/spec/examples/components/onboarding/combobox/case1.json +27 -0
  815. package/spec/examples/components/onboarding/combobox/case2.json +27 -0
  816. package/spec/examples/components/onboarding/combobox/case3.json +27 -0
  817. package/spec/examples/components/onboarding/completion/case1.json +4 -0
  818. package/spec/examples/components/onboarding/completion/case2.json +4 -0
  819. package/spec/examples/components/onboarding/completion/case3.json +4 -0
  820. package/spec/examples/components/onboarding/completion/case4.json +4 -0
  821. package/spec/examples/components/onboarding/completion/case5.json +4 -0
  822. package/spec/examples/components/onboarding/contact-import/case1.json +36 -1
  823. package/spec/examples/components/onboarding/contact-import/case2.json +36 -1
  824. package/spec/examples/components/onboarding/contact-import/case3.json +36 -1
  825. package/spec/examples/components/onboarding/contact-import/case4.json +36 -1
  826. package/spec/examples/components/onboarding/contact-import/case5.json +35 -0
  827. package/spec/examples/components/onboarding/conversion-funnel/case1.json +2 -0
  828. package/spec/examples/components/onboarding/conversion-funnel/case2.json +2 -0
  829. package/spec/examples/components/onboarding/conversion-funnel/case3.json +2 -0
  830. package/spec/examples/components/onboarding/conversion-funnel/case4.json +2 -0
  831. package/spec/examples/components/onboarding/conversion-funnel/case5.json +2 -0
  832. package/spec/examples/components/onboarding/criteria-spider/case1.json +21 -0
  833. package/spec/examples/components/onboarding/criteria-spider/case2.json +21 -0
  834. package/spec/examples/components/onboarding/criteria-spider/case3.json +21 -0
  835. package/spec/examples/components/onboarding/criteria-spider/case4.json +21 -0
  836. package/spec/examples/components/onboarding/criteria-spider/case5.json +21 -0
  837. package/spec/examples/components/onboarding/dashboard-config/case1.json +8 -0
  838. package/spec/examples/components/onboarding/dashboard-config/case2.json +8 -0
  839. package/spec/examples/components/onboarding/dashboard-config/case3.json +8 -0
  840. package/spec/examples/components/onboarding/dashboard-config/case4.json +8 -0
  841. package/spec/examples/components/onboarding/dashboard-config/case5.json +8 -0
  842. package/spec/examples/components/onboarding/department-setup/case1.json +2 -0
  843. package/spec/examples/components/onboarding/department-setup/case2.json +2 -0
  844. package/spec/examples/components/onboarding/department-setup/case3.json +2 -0
  845. package/spec/examples/components/onboarding/department-setup/case4.json +2 -0
  846. package/spec/examples/components/onboarding/department-setup/case5.json +2 -0
  847. package/spec/examples/components/onboarding/event-reminder/case1.json +20 -0
  848. package/spec/examples/components/onboarding/event-reminder/case2.json +20 -0
  849. package/spec/examples/components/onboarding/event-reminder/case3.json +20 -0
  850. package/spec/examples/components/onboarding/event-reminder/case4.json +20 -0
  851. package/spec/examples/components/onboarding/event-reminder/case5.json +20 -0
  852. package/spec/examples/components/onboarding/expandable-feed/case1.json +5 -0
  853. package/spec/examples/components/onboarding/expandable-feed/case2.json +5 -0
  854. package/spec/examples/components/onboarding/expandable-feed/case3.json +5 -0
  855. package/spec/examples/components/onboarding/expandable-feed/case4.json +5 -0
  856. package/spec/examples/components/onboarding/expandable-feed/case5.json +5 -0
  857. package/spec/examples/components/onboarding/export-format/case1.json +9 -1
  858. package/spec/examples/components/onboarding/export-format/case2.json +9 -1
  859. package/spec/examples/components/onboarding/export-format/case3.json +9 -1
  860. package/spec/examples/components/onboarding/export-format/case4.json +9 -1
  861. package/spec/examples/components/onboarding/export-format/case5.json +8 -0
  862. package/spec/examples/components/onboarding/fallback/case1.json +52 -0
  863. package/spec/examples/components/onboarding/fallback/case2.json +52 -0
  864. package/spec/examples/components/onboarding/fallback/case3.json +52 -0
  865. package/spec/examples/components/onboarding/file-shared/case1.json +15 -1
  866. package/spec/examples/components/onboarding/file-shared/case2.json +14 -0
  867. package/spec/examples/components/onboarding/file-shared/case3.json +15 -1
  868. package/spec/examples/components/onboarding/file-shared/case4.json +14 -0
  869. package/spec/examples/components/onboarding/file-shared/case5.json +14 -0
  870. package/spec/examples/components/onboarding/filter-panel/case1.json +2 -0
  871. package/spec/examples/components/onboarding/filter-panel/case2.json +2 -0
  872. package/spec/examples/components/onboarding/filter-panel/case3.json +2 -0
  873. package/spec/examples/components/onboarding/filter-panel/case4.json +2 -0
  874. package/spec/examples/components/onboarding/filter-panel/case5.json +2 -0
  875. package/spec/examples/components/onboarding/floating/case1.json +2 -0
  876. package/spec/examples/components/onboarding/floating/case2.json +2 -0
  877. package/spec/examples/components/onboarding/floating/case3.json +2 -0
  878. package/spec/examples/components/onboarding/floating/case4.json +2 -0
  879. package/spec/examples/components/onboarding/floating/case5.json +2 -0
  880. package/spec/examples/components/onboarding/grid/case1.json +177 -2
  881. package/spec/examples/components/onboarding/grid/case2.json +176 -1
  882. package/spec/examples/components/onboarding/grid/case3.json +177 -1
  883. package/spec/examples/components/onboarding/grid/case4.json +176 -1
  884. package/spec/examples/components/onboarding/grid/case5.json +168 -0
  885. package/spec/examples/components/onboarding/help-center/case1.json +2 -0
  886. package/spec/examples/components/onboarding/help-center/case2.json +2 -0
  887. package/spec/examples/components/onboarding/help-center/case3.json +2 -0
  888. package/spec/examples/components/onboarding/help-center/case4.json +2 -0
  889. package/spec/examples/components/onboarding/help-center/case5.json +2 -0
  890. package/spec/examples/components/onboarding/id-verification/case1.json +39 -1
  891. package/spec/examples/components/onboarding/id-verification/case2.json +38 -0
  892. package/spec/examples/components/onboarding/id-verification/case3.json +38 -0
  893. package/spec/examples/components/onboarding/id-verification/case4.json +38 -0
  894. package/spec/examples/components/onboarding/id-verification/case5.json +38 -0
  895. package/spec/examples/components/onboarding/mark-read/case1.json +2 -0
  896. package/spec/examples/components/onboarding/mark-read/case2.json +2 -0
  897. package/spec/examples/components/onboarding/mark-read/case3.json +2 -0
  898. package/spec/examples/components/onboarding/mark-read/case4.json +2 -0
  899. package/spec/examples/components/onboarding/mark-read/case5.json +2 -0
  900. package/spec/examples/components/onboarding/onboarding-step/case1.json +20 -0
  901. package/spec/examples/components/onboarding/onboarding-step/case2.json +20 -0
  902. package/spec/examples/components/onboarding/onboarding-step/case3.json +20 -0
  903. package/spec/examples/components/onboarding/onboarding-step/case4.json +20 -0
  904. package/spec/examples/components/onboarding/onboarding-step/case5.json +20 -0
  905. package/spec/examples/components/onboarding/password-expiry/case1.json +18 -0
  906. package/spec/examples/components/onboarding/password-expiry/case2.json +18 -0
  907. package/spec/examples/components/onboarding/password-expiry/case3.json +18 -0
  908. package/spec/examples/components/onboarding/password-expiry/case4.json +18 -0
  909. package/spec/examples/components/onboarding/password-expiry/case5.json +18 -0
  910. package/spec/examples/components/onboarding/payment-alert/case1.json +2 -0
  911. package/spec/examples/components/onboarding/payment-alert/case2.json +2 -0
  912. package/spec/examples/components/onboarding/payment-alert/case3.json +2 -0
  913. package/spec/examples/components/onboarding/payment-alert/case4.json +2 -0
  914. package/spec/examples/components/onboarding/payment-alert/case5.json +2 -0
  915. package/spec/examples/components/onboarding/permissions-setup/case1.json +2 -0
  916. package/spec/examples/components/onboarding/permissions-setup/case2.json +2 -0
  917. package/spec/examples/components/onboarding/permissions-setup/case3.json +2 -0
  918. package/spec/examples/components/onboarding/permissions-setup/case4.json +2 -0
  919. package/spec/examples/components/onboarding/permissions-setup/case5.json +2 -0
  920. package/spec/examples/components/onboarding/plan-selection/case1.json +2 -0
  921. package/spec/examples/components/onboarding/plan-selection/case2.json +2 -0
  922. package/spec/examples/components/onboarding/plan-selection/case3.json +2 -0
  923. package/spec/examples/components/onboarding/plan-selection/case4.json +2 -0
  924. package/spec/examples/components/onboarding/plan-selection/case5.json +2 -0
  925. package/spec/examples/components/onboarding/queue-status/case1.json +2 -0
  926. package/spec/examples/components/onboarding/queue-status/case2.json +2 -0
  927. package/spec/examples/components/onboarding/queue-status/case3.json +2 -0
  928. package/spec/examples/components/onboarding/queue-status/case4.json +2 -0
  929. package/spec/examples/components/onboarding/queue-status/case5.json +2 -0
  930. package/spec/examples/components/onboarding/quick-actions/case1.json +2 -0
  931. package/spec/examples/components/onboarding/quick-actions/case2.json +2 -0
  932. package/spec/examples/components/onboarding/quick-actions/case3.json +2 -0
  933. package/spec/examples/components/onboarding/quick-actions/case4.json +2 -0
  934. package/spec/examples/components/onboarding/quick-actions/case5.json +2 -0
  935. package/spec/examples/components/onboarding/rate-limit/case1.json +15 -0
  936. package/spec/examples/components/onboarding/rate-limit/case2.json +15 -0
  937. package/spec/examples/components/onboarding/rate-limit/case3.json +15 -0
  938. package/spec/examples/components/onboarding/rate-limit/case4.json +15 -0
  939. package/spec/examples/components/onboarding/rate-limit/case5.json +15 -0
  940. package/spec/examples/components/onboarding/receipt-printer/case1.json +47 -1
  941. package/spec/examples/components/onboarding/receipt-printer/case2.json +47 -1
  942. package/spec/examples/components/onboarding/receipt-printer/case3.json +47 -1
  943. package/spec/examples/components/onboarding/receipt-printer/case4.json +47 -1
  944. package/spec/examples/components/onboarding/receipt-printer/case5.json +47 -1
  945. package/spec/examples/components/onboarding/score-summary/case1.json +2 -0
  946. package/spec/examples/components/onboarding/score-summary/case2.json +2 -0
  947. package/spec/examples/components/onboarding/score-summary/case3.json +2 -0
  948. package/spec/examples/components/onboarding/score-summary/case4.json +2 -0
  949. package/spec/examples/components/onboarding/score-summary/case5.json +2 -0
  950. package/spec/examples/components/onboarding/seat-allocation/case1.json +17 -0
  951. package/spec/examples/components/onboarding/seat-allocation/case2.json +17 -0
  952. package/spec/examples/components/onboarding/seat-allocation/case3.json +17 -0
  953. package/spec/examples/components/onboarding/seat-allocation/case4.json +17 -0
  954. package/spec/examples/components/onboarding/seat-allocation/case5.json +17 -0
  955. package/spec/examples/components/onboarding/setup-tasks/case1.json +11 -0
  956. package/spec/examples/components/onboarding/setup-tasks/case2.json +11 -0
  957. package/spec/examples/components/onboarding/setup-tasks/case3.json +11 -0
  958. package/spec/examples/components/onboarding/setup-tasks/case4.json +11 -0
  959. package/spec/examples/components/onboarding/setup-tasks/case5.json +11 -0
  960. package/spec/examples/components/onboarding/shipping-update/case1.json +2 -0
  961. package/spec/examples/components/onboarding/shipping-update/case2.json +2 -0
  962. package/spec/examples/components/onboarding/shipping-update/case3.json +2 -0
  963. package/spec/examples/components/onboarding/shipping-update/case4.json +2 -0
  964. package/spec/examples/components/onboarding/shipping-update/case5.json +2 -0
  965. package/spec/examples/components/onboarding/status-page/case1.json +2 -0
  966. package/spec/examples/components/onboarding/status-page/case2.json +2 -0
  967. package/spec/examples/components/onboarding/status-page/case3.json +2 -0
  968. package/spec/examples/components/onboarding/status-page/case4.json +2 -0
  969. package/spec/examples/components/onboarding/status-page/case5.json +2 -0
  970. package/spec/examples/components/onboarding/tabbed/case1.json +27 -0
  971. package/spec/examples/components/onboarding/tabbed/case2.json +27 -0
  972. package/spec/examples/components/onboarding/tabbed/case3.json +27 -0
  973. package/spec/examples/components/onboarding/table/case1.json +177 -2
  974. package/spec/examples/components/onboarding/table/case2.json +176 -1
  975. package/spec/examples/components/onboarding/table/case3.json +177 -2
  976. package/spec/examples/components/onboarding/table/case4.json +177 -2
  977. package/spec/examples/components/onboarding/table/case5.json +176 -1
  978. package/spec/examples/components/onboarding/table/case6.json +169 -1
  979. package/spec/examples/components/onboarding/tag-cloud/case1.json +2 -0
  980. package/spec/examples/components/onboarding/tag-cloud/case2.json +2 -0
  981. package/spec/examples/components/onboarding/tag-cloud/case3.json +2 -0
  982. package/spec/examples/components/onboarding/tag-cloud/case4.json +2 -0
  983. package/spec/examples/components/onboarding/tag-cloud/case5.json +2 -0
  984. package/spec/examples/components/onboarding/tag-creation/case1.json +8 -0
  985. package/spec/examples/components/onboarding/tag-creation/case2.json +8 -0
  986. package/spec/examples/components/onboarding/tag-creation/case3.json +8 -0
  987. package/spec/examples/components/onboarding/tag-creation/case4.json +8 -0
  988. package/spec/examples/components/onboarding/tag-creation/case5.json +8 -0
  989. package/spec/examples/components/onboarding/terms-consent/case1.json +10 -0
  990. package/spec/examples/components/onboarding/terms-consent/case2.json +10 -0
  991. package/spec/examples/components/onboarding/terms-consent/case3.json +10 -0
  992. package/spec/examples/components/onboarding/terms-consent/case4.json +10 -0
  993. package/spec/examples/components/onboarding/terms-consent/case5.json +10 -0
  994. package/spec/examples/components/onboarding/trial-countdown/case1.json +29 -1
  995. package/spec/examples/components/onboarding/trial-countdown/case2.json +29 -1
  996. package/spec/examples/components/onboarding/trial-countdown/case3.json +29 -1
  997. package/spec/examples/components/onboarding/trial-countdown/case4.json +29 -1
  998. package/spec/examples/components/onboarding/trial-countdown/case5.json +29 -1
  999. package/spec/examples/components/onboarding/two-factor/case1.json +22 -0
  1000. package/spec/examples/components/onboarding/two-factor/case2.json +22 -0
  1001. package/spec/examples/components/onboarding/two-factor/case3.json +22 -0
  1002. package/spec/examples/components/onboarding/two-factor/case4.json +22 -0
  1003. package/spec/examples/components/onboarding/two-factor/case5.json +22 -0
  1004. package/spec/families/checklist.schema.json +57 -1
  1005. package/spec/families/directory.schema.json +27 -2
  1006. package/spec/families/onboarding.schema.json +1959 -7
  1007. package/spec/families/threshold-flow.schema.json +17 -1
  1008. package/src/agent/AgentComponent.tsx +87 -0
  1009. package/src/agent/catalog.ts +132 -0
  1010. package/src/agent/classic.ts +309 -0
  1011. package/src/agent/core.ts +16 -0
  1012. package/src/agent/index.ts +9 -0
  1013. package/src/agent/manifests.ts +534 -0
  1014. package/src/agent/result.ts +56 -0
  1015. package/src/agent/spec.ts +229 -0
  1016. package/src/agent/types.ts +191 -0
  1017. package/src/agent/validate.ts +269 -0
  1018. package/src/components/checklist/ChecklistView.tsx +76 -70
  1019. package/src/components/checklist/contract.ts +186 -10
  1020. package/src/components/checklist/derive.ts +6 -5
  1021. package/src/components/checklist/index.ts +2 -2
  1022. package/src/components/directory/DirectoryView.tsx +31 -26
  1023. package/src/components/directory/contract.ts +121 -2
  1024. package/src/components/directory/index.ts +3 -1
  1025. package/src/components/onboarding/ab-tests/presets.json +3 -1
  1026. package/src/components/onboarding/achievement/AchievementView.tsx +1 -1
  1027. package/src/components/onboarding/achievement/contract.ts +23 -0
  1028. package/src/components/onboarding/achievement/engine.ts +15 -11
  1029. package/src/components/onboarding/achievement/presets.json +17 -0
  1030. package/src/components/onboarding/activity-heatmap/ActivityHeatmapView.tsx +28 -25
  1031. package/src/components/onboarding/activity-heatmap/contract.ts +63 -1
  1032. package/src/components/onboarding/activity-heatmap/engine.ts +38 -19
  1033. package/src/components/onboarding/activity-heatmap/index.ts +3 -2
  1034. package/src/components/onboarding/activity-heatmap/presets.json +59 -0
  1035. package/src/components/onboarding/brand-kit/BrandKitView.tsx +17 -4
  1036. package/src/components/onboarding/brand-kit/contract.ts +36 -0
  1037. package/src/components/onboarding/brand-kit/engine.ts +17 -13
  1038. package/src/components/onboarding/brand-kit/presets.json +27 -1
  1039. package/src/components/onboarding/budget-allocation/presets.json +2 -0
  1040. package/src/components/onboarding/budget-tracker/BudgetTrackerView.tsx +10 -10
  1041. package/src/components/onboarding/budget-tracker/contract.ts +32 -1
  1042. package/src/components/onboarding/budget-tracker/engine.ts +34 -7
  1043. package/src/components/onboarding/budget-tracker/index.ts +2 -2
  1044. package/src/components/onboarding/budget-tracker/presets.json +20 -1
  1045. package/src/components/onboarding/calendar-sync/presets.json +2 -0
  1046. package/src/components/onboarding/carousel/CarouselView.tsx +4 -4
  1047. package/src/components/onboarding/carousel/contract.ts +10 -0
  1048. package/src/components/onboarding/carousel/engine.ts +3 -2
  1049. package/src/components/onboarding/carousel/presets.json +7 -0
  1050. package/src/components/onboarding/cicd-setup/CicdSetupView.tsx +3 -3
  1051. package/src/components/onboarding/cicd-setup/contract.ts +16 -0
  1052. package/src/components/onboarding/cicd-setup/engine.ts +5 -4
  1053. package/src/components/onboarding/cicd-setup/presets.json +12 -0
  1054. package/src/components/onboarding/combobox/ComboboxView.tsx +22 -22
  1055. package/src/components/onboarding/combobox/contract.ts +48 -0
  1056. package/src/components/onboarding/combobox/engine.ts +19 -13
  1057. package/src/components/onboarding/combobox/presets.json +28 -1
  1058. package/src/components/onboarding/combobox/runtime.ts +6 -6
  1059. package/src/components/onboarding/completion/contract.ts +4 -0
  1060. package/src/components/onboarding/completion/engine.ts +2 -1
  1061. package/src/components/onboarding/completion/presets.json +4 -0
  1062. package/src/components/onboarding/contact-import/ContactImportView.tsx +26 -14
  1063. package/src/components/onboarding/contact-import/contract.ts +46 -0
  1064. package/src/components/onboarding/contact-import/engine.ts +16 -12
  1065. package/src/components/onboarding/contact-import/presets.json +36 -1
  1066. package/src/components/onboarding/conversion-funnel/presets.json +3 -1
  1067. package/src/components/onboarding/criteria-spider/CriteriaSpiderView.tsx +17 -15
  1068. package/src/components/onboarding/criteria-spider/contract.ts +37 -1
  1069. package/src/components/onboarding/criteria-spider/engine.ts +14 -9
  1070. package/src/components/onboarding/criteria-spider/index.ts +1 -1
  1071. package/src/components/onboarding/criteria-spider/presets.json +21 -0
  1072. package/src/components/onboarding/dashboard-config/contract.ts +9 -0
  1073. package/src/components/onboarding/dashboard-config/engine.ts +6 -5
  1074. package/src/components/onboarding/dashboard-config/presets.json +8 -0
  1075. package/src/components/onboarding/data-view/DataView.tsx +46 -42
  1076. package/src/components/onboarding/data-view/contract.ts +105 -2
  1077. package/src/components/onboarding/data-view/demoSource.ts +7 -1
  1078. package/src/components/onboarding/data-view/engine.ts +16 -13
  1079. package/src/components/onboarding/data-view/parts.tsx +16 -9
  1080. package/src/components/onboarding/data-view/registry.ts +77 -25
  1081. package/src/components/onboarding/data-view/runtime.ts +11 -10
  1082. package/src/components/onboarding/department-setup/presets.json +2 -0
  1083. package/src/components/onboarding/event-reminder/EventReminderView.tsx +7 -7
  1084. package/src/components/onboarding/event-reminder/contract.ts +24 -0
  1085. package/src/components/onboarding/event-reminder/engine.ts +10 -8
  1086. package/src/components/onboarding/event-reminder/presets.json +20 -0
  1087. package/src/components/onboarding/expandable-feed/ExpandableFeedView.tsx +14 -9
  1088. package/src/components/onboarding/expandable-feed/contract.ts +5 -0
  1089. package/src/components/onboarding/expandable-feed/presets.json +5 -0
  1090. package/src/components/onboarding/export-format/ExportFormatView.tsx +5 -5
  1091. package/src/components/onboarding/export-format/contract.ts +12 -0
  1092. package/src/components/onboarding/export-format/engine.ts +3 -2
  1093. package/src/components/onboarding/export-format/presets.json +9 -1
  1094. package/src/components/onboarding/fallback/FallbackView.tsx +21 -16
  1095. package/src/components/onboarding/fallback/contract.ts +42 -1
  1096. package/src/components/onboarding/fallback/engine.ts +43 -31
  1097. package/src/components/onboarding/fallback/index.ts +1 -1
  1098. package/src/components/onboarding/fallback/presets.json +52 -0
  1099. package/src/components/onboarding/file-shared/FileSharedView.tsx +13 -11
  1100. package/src/components/onboarding/file-shared/contract.ts +21 -0
  1101. package/src/components/onboarding/file-shared/engine.ts +8 -5
  1102. package/src/components/onboarding/file-shared/presets.json +15 -1
  1103. package/src/components/onboarding/filter-panel/presets.json +2 -0
  1104. package/src/components/onboarding/floating/presets.json +2 -0
  1105. package/src/components/onboarding/grid/presets.json +202 -5
  1106. package/src/components/onboarding/help-center/presets.json +2 -0
  1107. package/src/components/onboarding/id-verification/IdVerificationView.tsx +26 -24
  1108. package/src/components/onboarding/id-verification/contract.ts +47 -0
  1109. package/src/components/onboarding/id-verification/engine.ts +21 -17
  1110. package/src/components/onboarding/id-verification/presets.json +39 -1
  1111. package/src/components/onboarding/index.ts +1 -1
  1112. package/src/components/onboarding/mark-read/presets.json +2 -0
  1113. package/src/components/onboarding/onboarding-step/OnboardingStepView.tsx +5 -5
  1114. package/src/components/onboarding/onboarding-step/contract.ts +30 -0
  1115. package/src/components/onboarding/onboarding-step/engine.ts +10 -5
  1116. package/src/components/onboarding/onboarding-step/presets.json +20 -0
  1117. package/src/components/onboarding/password-expiry/PasswordExpiryView.tsx +3 -3
  1118. package/src/components/onboarding/password-expiry/contract.ts +24 -0
  1119. package/src/components/onboarding/password-expiry/engine.ts +27 -12
  1120. package/src/components/onboarding/password-expiry/index.ts +1 -1
  1121. package/src/components/onboarding/password-expiry/presets.json +18 -0
  1122. package/src/components/onboarding/payment-alert/presets.json +2 -0
  1123. package/src/components/onboarding/permissions-setup/presets.json +2 -0
  1124. package/src/components/onboarding/plan-selection/presets.json +2 -0
  1125. package/src/components/onboarding/queue-status/presets.json +2 -0
  1126. package/src/components/onboarding/quick-actions/presets.json +2 -0
  1127. package/src/components/onboarding/rate-limit/RateLimitView.tsx +2 -2
  1128. package/src/components/onboarding/rate-limit/contract.ts +18 -0
  1129. package/src/components/onboarding/rate-limit/engine.ts +8 -8
  1130. package/src/components/onboarding/rate-limit/presets.json +15 -0
  1131. package/src/components/onboarding/receipt-printer/ReceiptPrinterView.tsx +8 -8
  1132. package/src/components/onboarding/receipt-printer/contract.ts +42 -0
  1133. package/src/components/onboarding/receipt-printer/engine.ts +27 -27
  1134. package/src/components/onboarding/receipt-printer/index.ts +2 -2
  1135. package/src/components/onboarding/receipt-printer/presets.json +62 -2
  1136. package/src/components/onboarding/score-summary/presets.json +2 -0
  1137. package/src/components/onboarding/seat-allocation/SeatAllocationView.tsx +10 -8
  1138. package/src/components/onboarding/seat-allocation/contract.ts +23 -0
  1139. package/src/components/onboarding/seat-allocation/engine.ts +5 -5
  1140. package/src/components/onboarding/seat-allocation/presets.json +17 -0
  1141. package/src/components/onboarding/setup-tasks/SetupTasksView.tsx +2 -2
  1142. package/src/components/onboarding/setup-tasks/contract.ts +14 -0
  1143. package/src/components/onboarding/setup-tasks/engine.ts +4 -3
  1144. package/src/components/onboarding/setup-tasks/presets.json +11 -0
  1145. package/src/components/onboarding/shared/OnboardingCard.tsx +3 -2
  1146. package/src/components/onboarding/shared/contract.ts +4 -0
  1147. package/src/components/onboarding/shared/describe.ts +79 -0
  1148. package/src/components/onboarding/shared/index.ts +1 -0
  1149. package/src/components/onboarding/shared/insight-parts.tsx +7 -5
  1150. package/src/components/onboarding/shared/insight.ts +3 -3
  1151. package/src/components/onboarding/shared/shape.ts +2 -1
  1152. package/src/components/onboarding/shipping-update/presets.json +2 -0
  1153. package/src/components/onboarding/status-page/presets.json +2 -0
  1154. package/src/components/onboarding/tabbed/TabbedView.tsx +11 -7
  1155. package/src/components/onboarding/tabbed/contract.ts +12 -0
  1156. package/src/components/onboarding/tabbed/presets.json +27 -0
  1157. package/src/components/onboarding/table/presets.json +211 -8
  1158. package/src/components/onboarding/tag-cloud/presets.json +2 -0
  1159. package/src/components/onboarding/tag-creation/TagCreationView.tsx +1 -1
  1160. package/src/components/onboarding/tag-creation/contract.ts +11 -0
  1161. package/src/components/onboarding/tag-creation/engine.ts +6 -6
  1162. package/src/components/onboarding/tag-creation/presets.json +8 -0
  1163. package/src/components/onboarding/terms-consent/TermsConsentView.tsx +4 -4
  1164. package/src/components/onboarding/terms-consent/contract.ts +13 -0
  1165. package/src/components/onboarding/terms-consent/engine.ts +5 -4
  1166. package/src/components/onboarding/terms-consent/presets.json +10 -0
  1167. package/src/components/onboarding/trial-countdown/TrialCountdownView.tsx +4 -4
  1168. package/src/components/onboarding/trial-countdown/contract.ts +37 -0
  1169. package/src/components/onboarding/trial-countdown/engine.ts +10 -11
  1170. package/src/components/onboarding/trial-countdown/presets.json +29 -1
  1171. package/src/components/onboarding/two-factor/TwoFactorView.tsx +9 -9
  1172. package/src/components/onboarding/two-factor/contract.ts +32 -0
  1173. package/src/components/onboarding/two-factor/engine.ts +6 -5
  1174. package/src/components/onboarding/two-factor/presets.json +22 -0
  1175. package/src/components/onboarding/views.ts +108 -0
  1176. package/src/components/threshold-flow/ThresholdFlowView.tsx +22 -14
  1177. package/src/components/threshold-flow/contract.ts +99 -23
  1178. package/src/components/threshold-flow/engine.ts +2 -2
  1179. package/src/components/threshold-flow/index.ts +1 -1
  1180. package/src/ds/blockControls.tsx +6 -2
  1181. package/src/ds/blocks.tsx +4 -2
  1182. package/src/index.ts +2 -0
  1183. package/src/runtime/query/filters.ts +35 -0
  1184. package/src/runtime/query/queryEngine.ts +4 -33
  1185. package/tools/ask/dist/components.mjs +22294 -0
  1186. package/tools/ask/mcp.mjs +142 -1
@@ -0,0 +1,20 @@
1
+ import { type RenderCheck } from './types';
2
+ /** What a valid request resolves to — the package's business, not the agent's. */
3
+ export type ResolvedRender = {
4
+ family: 'new';
5
+ component: string;
6
+ config: Record<string, unknown>;
7
+ initial?: Record<string, unknown>;
8
+ actions?: Record<string, unknown>;
9
+ } | {
10
+ family: 'classic';
11
+ component: string;
12
+ props: Record<string, unknown>;
13
+ };
14
+ /** Check a `render/1` request. Never throws. */
15
+ export declare function validateRenderRequest(input: unknown): RenderCheck;
16
+ /** A valid request as the package will render it. `undefined` for an invalid one — check it first. */
17
+ export declare function resolveRenderRequest(input: unknown): ResolvedRender | undefined;
18
+ /** The case studies a request may start its copy from — for the `preset` key. */
19
+ export declare const presetsFor: (id: string) => ("case1" | "case2" | "case3" | "case4" | "case5" | "case6")[];
20
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/agent/validate.ts"],"names":[],"mappings":"AAUA,OAAO,EACgC,KAAK,WAAW,EACtD,MAAM,SAAS,CAAC;AAqBjB,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC3I;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAwN7E,gDAAgD;AAChD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAOjE;AAED,sGAAsG;AACtG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CAE/E;AAED,iFAAiF;AACjF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,kEAAoI,CAAC"}
@@ -0,0 +1,293 @@
1
+ import { ONBOARDING_PRESETS, ONBOARDING_VALIDATORS } from '../components/onboarding/presets';
2
+ import { presetsOf, resolveConfig } from '../components/onboarding/shared/contract';
3
+ import { shapeIssues } from '../components/onboarding/shared/shape';
4
+ import { formErrors, initialDraft, receiptLines, valuesOf } from '../components/onboarding/receipt-printer/engine';
5
+ import { describeComponent, isAgentComponent, manifestOf, nonCopyKeys, AGENT_COMPONENTS } from './catalog';
6
+ import { checkCopy, checkFields, checkOwners, checkRefs, withDefaults } from './spec';
7
+ import { RENDER_SCHEMA, } from './types';
8
+ /**
9
+ * **`validateRenderRequest` — the one check an agent's request goes through.** Every layer that can
10
+ * stop the component, in order, each reported with its own `layer`:
11
+ *
12
+ * 1. `schema` — the envelope, unknown sections, **unknown keys** anywhere (never silently dropped).
13
+ * 2. `shape` / `data` / `copy` / `configuration` — each section against the capability: kinds,
14
+ * required data (never filled from a case study), ranges, formats, enums, references, owners,
15
+ * copy placeholders and lengths, button actions.
16
+ * 3. `shape` / `semantic` — the component's own render-time kind check and validator, on the config
17
+ * the request resolves to.
18
+ * 4. `interaction` — what the component would refuse on submit (Receipt Printer's Print).
19
+ *
20
+ * `valid: true` means the component renders what was asked and, where it has a submit, accepts it.
21
+ */
22
+ const ENVELOPE = ['schema', 'component', 'preset', 'data', 'copy', 'behavior', 'presentation', 'actions'];
23
+ const AGENT_ACTIONS = ['post-message', 'succeed', 'fail'];
24
+ const isObj = (v) => Boolean(v) && typeof v === 'object' && !Array.isArray(v);
25
+ /* ── New components: sections → the component's config ────────────────────────────────────── */
26
+ function copyBaseline(m, preset, cap, copy) {
27
+ const resolved = resolveConfig(ONBOARDING_PRESETS[m.component], preset);
28
+ const out = {};
29
+ for (const [k, spec] of Object.entries(cap.copy)) {
30
+ const given = copy[k];
31
+ /* Without a preset the copy is the component's own defaults; a preset brings that case study's words. */
32
+ const start = preset !== undefined ? resolved[k] ?? spec.default : spec.default;
33
+ out[k] = spec.type === 'text-map' && isObj(given) ? { ...start, ...given } : given ?? start;
34
+ }
35
+ return out;
36
+ }
37
+ function newConfig(m, s, preset, cap) {
38
+ const config = copyBaseline(m, preset, cap, s.copy);
39
+ const put = (section, values) => {
40
+ for (const [k, v] of Object.entries(values))
41
+ config[m.rename?.[section]?.[k] ?? k] = v;
42
+ };
43
+ const presentationStart = resolveConfig(ONBOARDING_PRESETS[m.component], preset);
44
+ put('presentation', withDefaults(m.presentation, { ...Object.fromEntries(Object.keys(m.presentation).map(k => [k, presentationStart[k]])), ...s.presentation }));
45
+ put('behavior', withDefaults(m.behavior, s.behavior));
46
+ put('data', withDefaults(m.data, s.data));
47
+ /* "None" reaches the component as unset: every one of these keys reads null and undefined alike, and its presets may never have said null. */
48
+ for (const [k, v] of Object.entries(config))
49
+ if (v === null && !(k in cap.copy) && m.data[k]?.type !== 'json')
50
+ config[k] = undefined;
51
+ /* Nothing a preset holds that is not copy may reach the component: every other key is set, or cleared. */
52
+ for (const k of nonCopyKeys(m))
53
+ if (!(k in config))
54
+ config[k] = undefined;
55
+ return adjust(m, config);
56
+ }
57
+ /** The few places the component's config differs from the request's plain values. */
58
+ function adjust(m, c) {
59
+ switch (m.component) {
60
+ case 'budget-tracker':
61
+ if (!Array.isArray(c.periods) || !c.periods.length)
62
+ c.periods = [c.period];
63
+ return c;
64
+ case 'seat-allocation': {
65
+ const first = ONBOARDING_PRESETS['seat-allocation'].base.groups[0];
66
+ c.groups = c.groups.map(g => ({ type: first.type, icon: first.icon, detail: '', ...g }));
67
+ return c;
68
+ }
69
+ case 'carousel': {
70
+ c.slides = c.slides.map(sl => ({ type: c.type, icon: c.icon, ...sl }));
71
+ return c;
72
+ }
73
+ case 'completion':
74
+ c.stats = c.stats.map(st => ({ unit: '', ...st }));
75
+ c.demoSkipped = [];
76
+ return c;
77
+ case 'fallback':
78
+ c.samples = {};
79
+ return c;
80
+ case 'activity-heatmap':
81
+ c.sample = [];
82
+ return c;
83
+ default:
84
+ return c;
85
+ }
86
+ }
87
+ /** Where a config path (a validator's, a shape check's) lives in the request. */
88
+ function requestPath(m, cap, path) {
89
+ const top = /^[A-Za-z_]+/.exec(path)?.[0] ?? '';
90
+ const rest = path.slice(top.length);
91
+ for (const section of ['data', 'behavior', 'presentation']) {
92
+ const back = Object.entries(m.rename?.[section] ?? {}).find(([, to]) => to === top)?.[0];
93
+ const key = back ?? top;
94
+ if (key in m[section])
95
+ return { path: `${section}.${key}${rest}`, section };
96
+ }
97
+ if (top in cap.copy)
98
+ return { path: `copy.${top}${rest}`, section: 'copy' };
99
+ return { path: path || 'request', section: 'request' };
100
+ }
101
+ /** `fields.0.value` (a form error key) → `data.fields[0].value`. */
102
+ const formPath = (k) => `data.${k.replace(/\.(\d+)(?=\.|$)/g, '[$1]')}`;
103
+ function interaction(m, config) {
104
+ if (m.component === 'receipt-printer') {
105
+ const c = config;
106
+ return Object.entries(formErrors(initialDraft(c), c)).map(([k, message]) => ({
107
+ path: formPath(k), code: 'INTERACTION', layer: 'interaction', section: 'data', message: `${message} (Print would refuse it.)`,
108
+ }));
109
+ }
110
+ if (m.component === 'budget-tracker') {
111
+ try {
112
+ new Intl.NumberFormat('en-US', { style: 'currency', currency: String(config.currency) });
113
+ }
114
+ catch {
115
+ return [{ path: 'data.currency', code: 'ENUM', layer: 'data', section: 'data', message: `"${String(config.currency)}" is not a currency code this platform can format.` }];
116
+ }
117
+ }
118
+ return [];
119
+ }
120
+ /* ── Preview ──────────────────────────────────────────────────────────────────────────────── */
121
+ /* The words a person would read: not ids, keys, codes or kinds (which the component uses but does not show as written). */
122
+ const HIDDEN = new Set(['id', 'key', 'kind', 'idColumn']);
123
+ function strings(v, out = []) {
124
+ if (typeof v === 'string') {
125
+ if (v.trim())
126
+ out.push(v);
127
+ }
128
+ else if (Array.isArray(v))
129
+ v.forEach(x => strings(x, out));
130
+ else if (isObj(v))
131
+ Object.entries(v).forEach(([k, x]) => { if (!HIDDEN.has(k))
132
+ strings(x, out); });
133
+ return out;
134
+ }
135
+ function visible(specs, v, out = []) {
136
+ for (const [k, spec] of Object.entries(specs)) {
137
+ const x = v?.[k];
138
+ if (x === undefined || x === null || HIDDEN.has(k) || spec.ref || (spec.type === 'text' && (spec.enum || spec.pattern || spec.format)))
139
+ continue;
140
+ if (spec.type === 'text' && typeof x === 'string') {
141
+ if (x.trim())
142
+ out.push(x);
143
+ }
144
+ else if (spec.type === 'list' && Array.isArray(x))
145
+ x.forEach(i => (spec.item.type === 'object' ? visible(spec.item.fields, i, out) : spec.item.type === 'text' ? typeof i === 'string' && out.push(i) : strings(i, out)));
146
+ else if (spec.type === 'object' && isObj(x))
147
+ visible(spec.fields, x, out);
148
+ else if (spec.type === 'json' || spec.type === 'map')
149
+ strings(x, out);
150
+ }
151
+ return out;
152
+ }
153
+ function newPreview(m, config, data) {
154
+ if (m.component === 'receipt-printer') {
155
+ const c = config;
156
+ const l = receiptLines(valuesOf(initialDraft(c)), c);
157
+ return [
158
+ c.title, c.subtitle, l.title, l.meta,
159
+ ...l.details.map(d => `${d.label}: ${d.value}`),
160
+ ...l.items.map(it => `${it.line} ${it.amount}`),
161
+ `${l.paymentLabel} ${l.paymentMethod}`, `${l.totalLabel} ${l.total}`, l.message, c.printLabel,
162
+ ].filter(Boolean);
163
+ }
164
+ return [String(config.title ?? ''), String(config.subtitle ?? ''), ...visible(m.data, data)].filter(Boolean).slice(0, 60);
165
+ }
166
+ /* ── The check ────────────────────────────────────────────────────────────────────────────── */
167
+ function run(input) {
168
+ const issues = [];
169
+ const req = (m, path = 'request', code = 'BAD_SCHEMA', expected) => issues.push({ path, code, layer: 'schema', section: 'request', message: m, ...(expected ? { expected } : {}) });
170
+ if (!isObj(input)) {
171
+ req('A render request is an object: { schema: "render/1", component, data, copy?, behavior?, presentation?, actions?, preset? }.');
172
+ return { issues };
173
+ }
174
+ if (input.schema !== RENDER_SCHEMA)
175
+ req(`schema must be "${RENDER_SCHEMA}".`, 'schema', 'BAD_SCHEMA', RENDER_SCHEMA);
176
+ for (const k of Object.keys(input))
177
+ if (!ENVELOPE.includes(k))
178
+ req(`A render request has no "${k}". It takes: ${ENVELOPE.join(', ')}.`, k, 'UNKNOWN_KEY', ENVELOPE);
179
+ const id = input.component;
180
+ if (!isAgentComponent(id)) {
181
+ req(`"${String(id)}" is not an agent component. Use one of: ${AGENT_COMPONENTS.join(', ')}.`, 'component', 'UNKNOWN_COMPONENT', [...AGENT_COMPONENTS]);
182
+ return { issues };
183
+ }
184
+ const m = manifestOf(id);
185
+ const cap = describeComponent(id);
186
+ const section = (k, required = false) => {
187
+ const v = input[k];
188
+ if (v === undefined) {
189
+ if (required)
190
+ req(`${k} is required — the component's runtime data. Nothing is filled in from examples.`, k, 'REQUIRED');
191
+ return {};
192
+ }
193
+ if (!isObj(v)) {
194
+ issues.push({ path: k, code: 'TYPE', layer: 'shape', section: k === 'actions' ? 'actions' : k, message: `${k} must be an object.` });
195
+ return {};
196
+ }
197
+ return v;
198
+ };
199
+ const s = { data: section('data', true), copy: section('copy'), behavior: section('behavior'), presentation: section('presentation') };
200
+ const actions = section('actions');
201
+ const preset = input.preset;
202
+ if (preset !== undefined && !cap.presets.some(p => p.preset === preset)) {
203
+ req(`preset "${String(preset)}" is not a case study of ${id}.`, 'preset', 'UNKNOWN_PRESET', cap.presets.map(p => p.preset));
204
+ }
205
+ for (const sec of ['data', 'behavior', 'presentation']) {
206
+ const ctx = { section: sec, issues };
207
+ checkOwners(m[sec], s[sec], sec, ctx);
208
+ checkFields(m[sec], s[sec], sec, ctx);
209
+ }
210
+ checkCopy(cap.copy, s.copy, { section: 'copy', issues });
211
+ for (const [button, a] of Object.entries(actions)) {
212
+ const path = `actions.${button}`;
213
+ if (!cap.actionButtons.includes(button)) {
214
+ issues.push({ path, code: 'INVALID_ACTION', layer: 'configuration', section: 'actions', message: `${id} has no button "${button}".`, expected: cap.actionButtons });
215
+ continue;
216
+ }
217
+ const type = isObj(a) ? a.type : undefined;
218
+ if (type === 'webhook' || type === 'link')
219
+ issues.push({ path, code: 'NOT_ALLOWED', layer: 'configuration', section: 'actions', message: `A ${type} is the host's to configure — an agent may use ${AGENT_ACTIONS.join(', ')}.`, expected: AGENT_ACTIONS });
220
+ else if (typeof type !== 'string' || !AGENT_ACTIONS.includes(type))
221
+ issues.push({ path, code: 'INVALID_ACTION', layer: 'configuration', section: 'actions', message: `${path}.type must be one of ${AGENT_ACTIONS.join(', ')}.`, expected: AGENT_ACTIONS });
222
+ else if (isObj(a))
223
+ for (const k of Object.keys(a))
224
+ if (k !== 'type' && !(type === 'fail' && k === 'message'))
225
+ issues.push({ path: `${path}.${k}`, code: 'UNKNOWN_KEY', layer: 'schema', section: 'actions', message: `${path} has no "${k}".` });
226
+ }
227
+ if (issues.length)
228
+ return { issues };
229
+ /* References, once every value has its kind: an id names a real row, a currency an offered one. */
230
+ const root = { data: withDefaults(m.data, s.data), behavior: withDefaults(m.behavior, s.behavior), presentation: withDefaults(m.presentation, s.presentation) };
231
+ for (const sec of ['data', 'behavior', 'presentation'])
232
+ checkRefs(m[sec], s[sec], sec, root, { section: sec, issues });
233
+ if (issues.length)
234
+ return { issues };
235
+ const request = {
236
+ schema: RENDER_SCHEMA, component: id, ...(preset !== undefined ? { preset: preset } : {}),
237
+ data: root.data, copy: s.copy, behavior: root.behavior, presentation: root.presentation,
238
+ ...(Object.keys(actions).length ? { actions: actions } : {}),
239
+ };
240
+ if (m.family === 'classic') {
241
+ const built = m.build({ data: root.data, copy: s.copy, behavior: root.behavior, presentation: root.presentation });
242
+ for (const i of built.issues)
243
+ issues.push({ ...i, layer: i.code === 'UNKNOWN_KEY' ? 'schema' : i.code === 'SEMANTIC' ? 'semantic' : 'data' });
244
+ if (issues.length)
245
+ return { issues };
246
+ return { issues, request, resolved: { family: 'classic', component: id, props: built.props }, preview: { component: id, visibleText: built.preview } };
247
+ }
248
+ const nm = m;
249
+ const config = newConfig(nm, s, preset, cap);
250
+ const presets = ONBOARDING_PRESETS[nm.component];
251
+ for (const i of shapeIssues(presets, config)) {
252
+ const where = requestPath(nm, cap, i.path);
253
+ issues.push({ path: where.path, code: 'TYPE', layer: 'shape', section: where.section, message: `${where.path} ${i.message}` });
254
+ }
255
+ for (const i of ONBOARDING_VALIDATORS[nm.component](config)) {
256
+ const where = requestPath(nm, cap, i.path);
257
+ issues.push({ path: where.path, code: 'SEMANTIC', layer: 'semantic', section: where.section, message: i.message });
258
+ }
259
+ if (issues.length)
260
+ return { issues };
261
+ issues.push(...interaction(nm, config));
262
+ if (issues.length)
263
+ return { issues };
264
+ const initial = nm.component === 'completion' && root.data.skipped.length ? { mode: 'partial' } : undefined;
265
+ return {
266
+ issues, request,
267
+ resolved: { family: 'new', component: id, config, ...(initial ? { initial } : {}), ...(Object.keys(actions).length ? { actions } : {}) },
268
+ preview: { component: id, visibleText: newPreview(nm, config, root.data) },
269
+ };
270
+ }
271
+ /** Check a `render/1` request. Never throws. */
272
+ export function validateRenderRequest(input) {
273
+ try {
274
+ const r = run(input);
275
+ return r.issues.length || !r.request || !r.preview ? { valid: false, issues: r.issues } : { valid: true, issues: [], request: r.request, preview: r.preview };
276
+ }
277
+ catch (e) {
278
+ return { valid: false, issues: [{ path: 'request', code: 'BAD_SCHEMA', layer: 'schema', section: 'request', message: `The request could not be read (${e.message}).` }] };
279
+ }
280
+ }
281
+ /** A valid request as the package will render it. `undefined` for an invalid one — check it first. */
282
+ export function resolveRenderRequest(input) {
283
+ try {
284
+ const r = run(input);
285
+ return r.issues.length ? undefined : r.resolved;
286
+ }
287
+ catch {
288
+ return undefined;
289
+ }
290
+ }
291
+ /** The case studies a request may start its copy from — for the `preset` key. */
292
+ export const presetsFor = (id) => (isAgentComponent(id) && manifestOf(id).family === 'new' ? presetsOf(ONBOARDING_PRESETS[id]) : []);
293
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/agent/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChecklistView.d.ts","sourceRoot":"","sources":["../../../../src/components/checklist/ChecklistView.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,SAAS,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EACtF,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAC5C,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAuB,KAAK,qBAAqB,EAAsB,MAAM,WAAW,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,4FAA4F;IAC5F,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7D,2FAA2F;IAC3F,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAgUF,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EACjF,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAC9C,EAAE,kBAAkB,+BA2cpB"}
1
+ {"version":3,"file":"ChecklistView.d.ts","sourceRoot":"","sources":["../../../../src/components/checklist/ChecklistView.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,SAAS,EAAE,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EACtF,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAC5C,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAuB,KAAK,qBAAqB,EAAsB,MAAM,WAAW,CAAC;AAEhG;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,4FAA4F;IAC5F,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7D,2FAA2F;IAC3F,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAgUF,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EACjF,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAC9C,EAAE,kBAAkB,+BAidpB"}
@@ -5,7 +5,7 @@ import { Box, Icon, Input, Pressable, Text } from '../../core';
5
5
  import { Button, Callout, ProgressBar } from '../../ds';
6
6
  import { blockRadii, useDs } from '../../tokens';
7
7
  import { SurfaceProvider, useMeasuredSurface } from '../../widgets/useSurface';
8
- import { defaultChecklistConfig, validateChecklistConfig, } from './contract';
8
+ import { checklistCopy, defaultChecklistConfig, fillChecklistCopy as fill, validateChecklistConfig, } from './contract';
9
9
  import { gateMessage, progressOf, sectionProgressOf, taskViewOf, unsatisfiedGates } from './derive';
10
10
  import { useChecklistRuntime } from './runtime';
11
11
  const HIT = 44;
@@ -59,8 +59,8 @@ function MetaWord({ children }) {
59
59
  return (_jsx(Box, { row: true, align: "center", height: 20, radius: "pill", style: { paddingHorizontal: 8, backgroundColor: colors.band }, children: _jsx(Text, { style: { fontSize: 11.5, fontWeight: '600', color: colors.textSecondary }, children: children }) }));
60
60
  }
61
61
  /** The one failure construction, identical to the one `DirectoryView` draws (§16): an apricot Callout with its recovery. */
62
- function FailureBlock({ title, message, onRetry, onDismiss, nativeID, }) {
63
- return (_jsx(Box, { nativeID: nativeID, role: "group", "aria-label": title, children: _jsx(Callout, { title: title, action: onRetry || onDismiss ? (_jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [onRetry ? _jsx(SmallButton, { label: "Try again", onPress: onRetry }) : null, onDismiss ? _jsx(SmallButton, { label: "Dismiss", onPress: onDismiss }) : null] })) : undefined, children: _jsx(Text, { accessibilityLiveRegion: "polite", style: { fontSize: 12, lineHeight: 17 }, children: message }) }) }));
62
+ function FailureBlock({ title, message, copy, onRetry, onDismiss, nativeID, }) {
63
+ return (_jsx(Box, { nativeID: nativeID, role: "group", "aria-label": title, children: _jsx(Callout, { title: title, action: onRetry || onDismiss ? (_jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [onRetry ? _jsx(SmallButton, { label: copy.tryAgain, onPress: onRetry }) : null, onDismiss ? _jsx(SmallButton, { label: copy.dismiss, onPress: onDismiss }) : null] })) : undefined, children: _jsx(Text, { accessibilityLiveRegion: "polite", style: { fontSize: 12, lineHeight: 17 }, children: message }) }) }));
64
64
  }
65
65
  /**
66
66
  * **A real checkbox** — `role="checkbox"` with `aria-checked`, named by the task's own title.
@@ -81,7 +81,7 @@ function TaskCheckbox({ task, view, onPress, describedBy, disabled, }) {
81
81
  opacity: view === 'blocked' ? 0.55 : 1,
82
82
  }, children: [checked ? _jsx(Icon, { name: "tick", size: 12, color: colors.accentOnFill }) : null, view === 'skipped' ? _jsx(Icon, { name: "minus", size: 11, color: colors.textSecondary }) : null] }) }));
83
83
  }
84
- function TaskRow({ task, checklist, rules, config, people, peopleMap, pending, actions, blockedMessage, onBlockedPress, first, last, isEditing, onStartEdit, onStopEdit, onRetry, onDismiss, }) {
84
+ function TaskRow({ task, checklist, rules, config, copy, people, peopleMap, pending, actions, blockedMessage, onBlockedPress, first, last, isEditing, onStartEdit, onStopEdit, onRetry, onDismiss, }) {
85
85
  const { colors } = useDs();
86
86
  const view = taskViewOf(task, checklist, rules);
87
87
  const [title, setTitle] = useState(task.title);
@@ -104,7 +104,7 @@ function TaskRow({ task, checklist, rules, config, people, peopleMap, pending, a
104
104
  const person = task.assigneeId ? peopleMap.get(task.assigneeId) : undefined;
105
105
  /* The difference the design insists on: nobody is on this, versus somebody is and we cannot
106
106
  say who. Silence would merge the two. */
107
- const assigneeLabel = !task.assigneeId ? null : (person?.name ?? 'Unknown person');
107
+ const assigneeLabel = !task.assigneeId ? null : (person?.name ?? copy.unknownPerson);
108
108
  const commitEdit = () => {
109
109
  const nextTitle = title.trim();
110
110
  if (nextTitle && (nextTitle !== task.title || description !== (task.description ?? ''))) {
@@ -119,17 +119,18 @@ function TaskRow({ task, checklist, rules, config, people, peopleMap, pending, a
119
119
  /* A change in flight past the threshold reads as *quiet* activity — never a blocked row,
120
120
  because the checkbox beside it must stay interactive (§16). */
121
121
  opacity: pending?.status === 'pending' && pending.slow ? 0.72 : 1,
122
- }, children: [_jsxs(Box, { row: true, wrap: true, align: "flex-start", style: { gap: 10 }, children: [_jsx(TaskCheckbox, { task: task, view: view, describedBy: blockedMessage ? noteId : undefined, onPress: () => (blockedMessage ? onBlockedPress() : actions.onToggle()), disabled: !config.can.complete }), _jsxs(Box, { style: { gap: 3, minWidth: 0, flexGrow: 1, flexShrink: 1, flexBasis: 170 }, children: [isEditing ? (_jsxs(Box, { style: { gap: 6 }, children: [_jsx(Input, { value: title, onChangeText: setTitle, autoFocus: true, "aria-label": "Task title", onSubmit: commitEdit, onCancel: cancelEdit }), config.taskDescriptions === 'shown' ? (_jsx(Input, { value: description, onChangeText: setDescription, placeholder: "Description", "aria-label": "Task description", onSubmit: commitEdit, onCancel: cancelEdit })) : null, _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: "Save", onPress: commitEdit, tone: "accent" }), _jsx(SmallButton, { label: "Cancel", onPress: cancelEdit })] })] })) : (_jsxs(_Fragment, { children: [_jsx(Text, { numberOfLines: 3, style: {
122
+ }, children: [_jsxs(Box, { row: true, wrap: true, align: "flex-start", style: { gap: 10 }, children: [_jsx(TaskCheckbox, { task: task, view: view, describedBy: blockedMessage ? noteId : undefined, onPress: () => (blockedMessage ? onBlockedPress() : actions.onToggle()), disabled: !config.can.complete }), _jsxs(Box, { style: { gap: 3, minWidth: 0, flexGrow: 1, flexShrink: 1, flexBasis: 170 }, children: [isEditing ? (_jsxs(Box, { style: { gap: 6 }, children: [_jsx(Input, { value: title, onChangeText: setTitle, autoFocus: true, "aria-label": copy.taskTitle, onSubmit: commitEdit, onCancel: cancelEdit }), config.taskDescriptions === 'shown' ? (_jsx(Input, { value: description, onChangeText: setDescription, placeholder: copy.description, "aria-label": copy.taskDescription, onSubmit: commitEdit, onCancel: cancelEdit })) : null, _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: copy.save, onPress: commitEdit, tone: "accent" }), _jsx(SmallButton, { label: copy.cancel, onPress: cancelEdit })] })] })) : (_jsxs(_Fragment, { children: [_jsx(Text, { numberOfLines: 3, style: {
123
123
  fontSize: 13.5, lineHeight: 19, fontWeight: '600',
124
124
  color: view === 'done' || view === 'skipped' ? colors.textSecondary : colors.textPrimary,
125
125
  textDecorationLine: view === 'done' ? 'line-through' : 'none',
126
- }, children: task.title }), config.taskDescriptions === 'shown' && task.description ? (_jsx(Text, { color: "textSecondary", numberOfLines: 3, style: { fontSize: 12, lineHeight: 17 }, children: task.description })) : null, _jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 6 }, children: [config.assignees !== 'hidden' && assigneeLabel ? (_jsxs(Box, { row: true, align: "center", style: { gap: 4 }, children: [_jsx(Icon, { name: "user", size: 12, color: colors.textSecondary }), _jsx(Text, { color: "textSecondary", style: { fontSize: 12, lineHeight: 16 }, children: assigneeLabel })] })) : null, task.required === false ? _jsx(MetaWord, { children: "Optional" }) : null, view === 'skipped' ? _jsx(MetaWord, { children: "Skipped" }) : null] })] })), blockedMessage && !isEditing ? (_jsxs(Box, { row: true, align: "center", style: { gap: 4 }, children: [_jsx(Icon, { name: "lock", size: 12, color: colors.textSecondary }), _jsx(Text, { nativeID: noteId, color: "textSecondary", style: { fontSize: 12, lineHeight: 16, flexShrink: 1 }, children: blockedMessage })] })) : null] }), !isEditing ? (_jsxs(Box, { row: true, align: "center", style: { gap: 2, marginLeft: 'auto' }, children: [config.can.reorder ? (_jsxs(_Fragment, { children: [_jsx(Pressable, { onPress: () => actions.onMove(-1), disabled: first, width: 32, height: 32, radius: "pill", "aria-label": `Move “${task.title}” up`, children: _jsx(Icon, { name: "chev-u", size: 14, color: colors.textSecondary }) }), _jsx(Pressable, { onPress: () => actions.onMove(1), disabled: last, width: 32, height: 32, radius: "pill", "aria-label": `Move “${task.title}” down`, children: _jsx(Icon, { name: "chev-d", size: 14, color: colors.textSecondary }) })] })) : null, config.assignees === 'editable' && config.can.assign ? (_jsx(Pressable, { onPress: () => setAssignOpen(v => !v), width: 32, height: 32, radius: "pill", "aria-label": `Assign “${task.title}”`, "aria-expanded": assignOpen, children: _jsx(Icon, { name: "more", size: 15, color: colors.textSecondary }) })) : null, config.can.skip && view !== 'done' ? (_jsx(Pressable, { onPress: actions.onSkip, width: 32, height: 32, radius: "pill", "aria-label": view === 'skipped' ? `Un-skip “${task.title}”` : `Skip “${task.title}”`, children: _jsx(Icon, { name: "minus", size: 15, color: colors.textSecondary }) })) : null, config.can.editTask ? (_jsx(Pressable, { onPress: onStartEdit, width: 32, height: 32, radius: "pill", "aria-label": `Edit “${task.title}”`, children: _jsx(Icon, { name: "edit", size: 15, color: colors.textSecondary }) })) : null, config.can.deleteTask ? (_jsx(Pressable, { onPress: actions.onDelete, width: 32, height: 32, radius: "pill", "aria-label": `Delete “${task.title}”`, children: _jsx(Icon, { name: "trash", size: 15, color: colors.textSecondary }) })) : null] })) : null] }), assignOpen ? (_jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 6, paddingLeft: 28 }, children: [candidates.map(p => (_jsx(ToggleChip, { label: p.name, on: task.assigneeId === p.id, ariaLabel: `Assign to ${p.name}`, onPress: () => { actions.onAssign(p.id); setAssignOpen(false); } }, p.id))), task.assigneeId ? (_jsx(SmallButton, { label: "Unassign", onPress: () => { actions.onAssign(null); setAssignOpen(false); } })) : null] })) : null, pending?.status === 'error' ? (_jsx(Box, { style: { paddingLeft: 28 }, children: _jsx(FailureBlock, { title: "Not saved", message: "We could not save that.", onRetry: onRetry, onDismiss: onDismiss }) })) : null] }));
126
+ }, children: task.title }), config.taskDescriptions === 'shown' && task.description ? (_jsx(Text, { color: "textSecondary", numberOfLines: 3, style: { fontSize: 12, lineHeight: 17 }, children: task.description })) : null, _jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 6 }, children: [config.assignees !== 'hidden' && assigneeLabel ? (_jsxs(Box, { row: true, align: "center", style: { gap: 4 }, children: [_jsx(Icon, { name: "user", size: 12, color: colors.textSecondary }), _jsx(Text, { color: "textSecondary", style: { fontSize: 12, lineHeight: 16 }, children: assigneeLabel })] })) : null, task.required === false ? _jsx(MetaWord, { children: copy.optional }) : null, view === 'skipped' ? _jsx(MetaWord, { children: copy.skipped }) : null] })] })), blockedMessage && !isEditing ? (_jsxs(Box, { row: true, align: "center", style: { gap: 4 }, children: [_jsx(Icon, { name: "lock", size: 12, color: colors.textSecondary }), _jsx(Text, { nativeID: noteId, color: "textSecondary", style: { fontSize: 12, lineHeight: 16, flexShrink: 1 }, children: blockedMessage })] })) : null] }), !isEditing ? (_jsxs(Box, { row: true, align: "center", style: { gap: 2, marginLeft: 'auto' }, children: [config.can.reorder ? (_jsxs(_Fragment, { children: [_jsx(Pressable, { onPress: () => actions.onMove(-1), disabled: first, width: 32, height: 32, radius: "pill", "aria-label": fill(copy.moveUp, { title: task.title }), children: _jsx(Icon, { name: "chev-u", size: 14, color: colors.textSecondary }) }), _jsx(Pressable, { onPress: () => actions.onMove(1), disabled: last, width: 32, height: 32, radius: "pill", "aria-label": fill(copy.moveDown, { title: task.title }), children: _jsx(Icon, { name: "chev-d", size: 14, color: colors.textSecondary }) })] })) : null, config.assignees === 'editable' && config.can.assign ? (_jsx(Pressable, { onPress: () => setAssignOpen(v => !v), width: 32, height: 32, radius: "pill", "aria-label": fill(copy.assign, { title: task.title }), "aria-expanded": assignOpen, children: _jsx(Icon, { name: "more", size: 15, color: colors.textSecondary }) })) : null, config.can.skip && view !== 'done' ? (_jsx(Pressable, { onPress: actions.onSkip, width: 32, height: 32, radius: "pill", "aria-label": fill(view === 'skipped' ? copy.unskip : copy.skip, { title: task.title }), children: _jsx(Icon, { name: "minus", size: 15, color: colors.textSecondary }) })) : null, config.can.editTask ? (_jsx(Pressable, { onPress: onStartEdit, width: 32, height: 32, radius: "pill", "aria-label": fill(copy.edit, { title: task.title }), children: _jsx(Icon, { name: "edit", size: 15, color: colors.textSecondary }) })) : null, config.can.deleteTask ? (_jsx(Pressable, { onPress: actions.onDelete, width: 32, height: 32, radius: "pill", "aria-label": fill(copy.delete, { title: task.title }), children: _jsx(Icon, { name: "trash", size: 15, color: colors.textSecondary }) })) : null] })) : null] }), assignOpen ? (_jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 6, paddingLeft: 28 }, children: [candidates.map(p => (_jsx(ToggleChip, { label: p.name, on: task.assigneeId === p.id, ariaLabel: fill(copy.assignTo, { name: p.name }), onPress: () => { actions.onAssign(p.id); setAssignOpen(false); } }, p.id))), task.assigneeId ? (_jsx(SmallButton, { label: copy.unassign, onPress: () => { actions.onAssign(null); setAssignOpen(false); } })) : null] })) : null, pending?.status === 'error' ? (_jsx(Box, { style: { paddingLeft: 28 }, children: _jsx(FailureBlock, { title: copy.notSaved, message: copy.notSavedBody, copy: copy, onRetry: onRetry, onDismiss: onDismiss }) })) : null] }));
127
127
  }
128
128
  /* ── The view ────────────────────────────────────────────────────────────── */
129
129
  export function ChecklistView({ checklist, config: configProp, rules: rulesProp, operations, people, capabilities, sharedWith, onChange, onRuntimeChange, testID, }) {
130
130
  const { colors, lift1 } = useDs();
131
131
  const { surface, onLayout } = useMeasuredSurface();
132
132
  const config = useMemo(() => configProp ?? defaultChecklistConfig(), [configProp]);
133
+ const copy = useMemo(() => checklistCopy(config.copy), [config.copy]);
133
134
  const runtime = useChecklistRuntime({
134
135
  checklist, config, rules: rulesProp, operations, capabilities, sharedWith, onChange,
135
136
  });
@@ -178,10 +179,12 @@ export function ChecklistView({ checklist, config: configProp, rules: rulesProp,
178
179
  const attempt = useCallback((body) => {
179
180
  const rejection = apply(body);
180
181
  if (rejection?.reason === 'blocked' && 'taskId' in body) {
181
- setBlocked({ taskId: body.taskId, message: rejection.message });
182
+ /* The engine's reason is English; the reader sees the same gate in this checklist's words. */
183
+ const gates = unsatisfiedGates(body.taskId, state.doc, rules);
184
+ setBlocked({ taskId: body.taskId, message: gates.length ? gateMessage(gates[0], state.doc, copy) : rejection.message });
182
185
  }
183
186
  return rejection;
184
- }, [apply]);
187
+ }, [apply, state.doc, rules, copy]);
185
188
  /* Metadata goes through the SAME pipeline as every other edit: a change, an inverse, the
186
189
  runtime. The builder never writes `title` into React state behind the engine's back. */
187
190
  function commitMeta() {
@@ -197,17 +200,17 @@ export function ChecklistView({ checklist, config: configProp, rules: rulesProp,
197
200
  if (configErrors.length) {
198
201
  /* A configuration that contradicts itself is shown as a configuration problem, never as a
199
202
  checklist that quietly behaves differently than it was set up to. */
200
- return (_jsx(Box, { testID: testID, style: { borderRadius: blockRadii.major, borderWidth: 1, borderColor: colors.hairline, backgroundColor: colors.surface1, padding: 20 }, children: _jsx(Callout, { title: "Configuration", children: configErrors.join('\n') }) }));
203
+ return (_jsx(Box, { testID: testID, style: { borderRadius: blockRadii.major, borderWidth: 1, borderColor: colors.hairline, backgroundColor: colors.surface1, padding: 20 }, children: _jsx(Callout, { title: copy.configTitle, children: configErrors.join('\n') }) }));
201
204
  }
202
205
  const countLabel = progress.total === 0
203
- ? config.copy.emptyLabel
204
- : progress.complete ? config.copy.allDoneLabel
205
- : `${progress.requiredDone} of ${progress.required} done`;
206
+ ? copy.emptyLabel
207
+ : progress.complete ? copy.allDoneLabel
208
+ : fill(copy.progress, { done: progress.requiredDone, total: progress.required });
206
209
  const renderTasks = (section) => (_jsx(Box, { role: "list", children: section.tasks.map((task, i) => {
207
210
  const gates = unsatisfiedGates(task.id, doc, rules);
208
- const gateNote = gates.length ? gateMessage(gates[0], doc) : null;
211
+ const gateNote = gates.length ? gateMessage(gates[0], doc, copy) : null;
209
212
  const shown = blocked?.taskId === task.id ? blocked.message : gateNote;
210
- return (_jsx(TaskRow, { task: task, checklist: doc, rules: rules, config: config, people: people, peopleMap: peopleMap, pending: pendingFor(task.id), blockedMessage: shown, onBlockedPress: () => attempt({ kind: 'task.complete', taskId: task.id, done: true }), first: i === 0, last: i === section.tasks.length - 1, isEditing: editingTaskId === task.id, onStartEdit: () => setEditingTaskId(task.id), onStopEdit: () => setEditingTaskId(null), onRetry: () => { const p = pendingFor(task.id); if (p)
213
+ return (_jsx(TaskRow, { task: task, checklist: doc, rules: rules, config: config, copy: copy, people: people, peopleMap: peopleMap, pending: pendingFor(task.id), blockedMessage: shown, onBlockedPress: () => attempt({ kind: 'task.complete', taskId: task.id, done: true }), first: i === 0, last: i === section.tasks.length - 1, isEditing: editingTaskId === task.id, onStartEdit: () => setEditingTaskId(task.id), onStopEdit: () => setEditingTaskId(null), onRetry: () => { const p = pendingFor(task.id); if (p)
211
214
  runtime.retry(p.change.id); }, onDismiss: () => { const p = pendingFor(task.id); if (p)
212
215
  runtime.dismiss(p.change.id); }, actions: {
213
216
  onToggle: () => { setBlocked(null); attempt({ kind: 'task.complete', taskId: task.id, done: !task.done }); },
@@ -232,9 +235,9 @@ export function ChecklistView({ checklist, config: configProp, rules: rulesProp,
232
235
  setTaskDraft('');
233
236
  setAddingIn(null);
234
237
  };
235
- return addingIn === section.id ? (_jsxs(Box, { style: { gap: 6, paddingTop: 8 }, children: [_jsx(Input, { value: taskDraft, onChangeText: setTaskDraft, autoFocus: true, placeholder: config.copy.addTaskLabel, "aria-label": config.copy.addTaskLabel, onSubmit: commit, onCancel: () => { setTaskDraft(''); setAddingIn(null); } }), _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: "Add", onPress: commit, tone: "accent" }), _jsx(SmallButton, { label: "Cancel", onPress: () => { setTaskDraft(''); setAddingIn(null); } })] })] })) : (_jsx(Box, { style: { paddingTop: 8 }, children: _jsx(SmallButton, { label: `+ ${config.copy.addTaskLabel}`, ariaLabel: section.title ? `${config.copy.addTaskLabel} in ${section.title}` : config.copy.addTaskLabel, onPress: () => { setTaskDraft(''); setAddingIn(section.id); } }) }));
238
+ return addingIn === section.id ? (_jsxs(Box, { style: { gap: 6, paddingTop: 8 }, children: [_jsx(Input, { value: taskDraft, onChangeText: setTaskDraft, autoFocus: true, placeholder: copy.addTaskLabel, "aria-label": copy.addTaskLabel, onSubmit: commit, onCancel: () => { setTaskDraft(''); setAddingIn(null); } }), _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: copy.add, onPress: commit, tone: "accent" }), _jsx(SmallButton, { label: copy.cancel, onPress: () => { setTaskDraft(''); setAddingIn(null); } })] })] })) : (_jsx(Box, { style: { paddingTop: 8 }, children: _jsx(SmallButton, { label: `+ ${copy.addTaskLabel}`, ariaLabel: section.title ? fill(copy.addTaskIn, { label: copy.addTaskLabel, section: section.title }) : copy.addTaskLabel, onPress: () => { setTaskDraft(''); setAddingIn(section.id); } }) }));
236
239
  };
237
- const shareButton = (_jsx(SmallButton, { label: state.share.status === 'pending' ? 'Sharing…' : `Share with ${recipients.length}`, tone: "accent", busy: state.share.status === 'pending', onPress: () => {
240
+ const shareButton = (_jsx(SmallButton, { label: state.share.status === 'pending' ? copy.sharing : fill(copy.shareWithCount, { count: recipients.length }), tone: "accent", busy: state.share.status === 'pending', onPress: () => {
238
241
  if (!recipients.length)
239
242
  return;
240
243
  if (shareScope === 'checklist') {
@@ -253,21 +256,23 @@ export function ChecklistView({ checklist, config: configProp, rules: rulesProp,
253
256
  /* The current card shell (S1, Solarium 0.2.0): 16px corners, a 1px line-soft edge, lift-1; a
254
257
  header at 18/20/16 over a line-soft rule; the body at 16/20. The same metrics `BlockCard` draws —
255
258
  the header is drawn here rather than through `BlockCard` because it edits in place. */
256
- return (_jsx(SurfaceProvider, { surface: surface, children: _jsx(Box, { onLayout: onLayout, style: { width: '100%' }, children: _jsxs(Box, { bg: "surface1", testID: testID, style: { overflow: 'hidden', width: '100%', borderRadius: blockRadii.major, borderWidth: 1, borderColor: colors.hairline, boxShadow: lift1 }, children: [_jsxs(Box, { style: { paddingTop: 18, paddingHorizontal: 20, paddingBottom: 16, gap: 10, borderBottomWidth: 1, borderBottomColor: colors.hairline }, children: [_jsxs(Box, { row: true, align: "flex-start", style: { gap: 10 }, children: [_jsx(Box, { flex: 1, style: { minWidth: 0, gap: 2 }, children: editingMeta ? (_jsxs(Box, { style: { gap: 8 }, children: [_jsx(Input, { value: titleDraft, onChangeText: setTitleDraft, autoFocus: true, "aria-label": "Checklist title", placeholder: "Checklist title", onSubmit: commitMeta, onCancel: cancelMeta }), config.showDescription ? (_jsx(Input, { value: descDraft, onChangeText: setDescDraft, placeholder: "Description", "aria-label": "Checklist description", onSubmit: commitMeta, onCancel: cancelMeta })) : null, _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: "Save", onPress: commitMeta, tone: "accent" }), _jsx(SmallButton, { label: "Cancel", onPress: cancelMeta })] })] })) : (_jsxs(_Fragment, { children: [_jsx(Text, { role: "heading", "aria-level": 2, numberOfLines: 2, style: { fontSize: 14, lineHeight: 19, fontWeight: '600', letterSpacing: -0.21, color: doc.title ? colors.textPrimary : colors.textSecondary }, children: doc.title || 'Untitled checklist' }), config.showDescription && doc.description ? (_jsx(Text, { color: "textSecondary", numberOfLines: 3, style: { fontSize: 12, lineHeight: 17 }, children: doc.description })) : null] })) }), config.can.editChecklist && !editingMeta ? (_jsx(Pressable, { onPress: () => { setTitleDraft(doc.title); setDescDraft(doc.description ?? ''); setEditingMeta(true); }, width: 32, height: 32, radius: "pill", "aria-label": "Edit checklist title and description", children: _jsx(Icon, { name: "edit", size: 15, color: colors.textSecondary }) })) : null, config.sharing.enabled ? (_jsx(Button, { variant: "secondary", size: "xsmall", leadingGlyph: state.share.status === 'ok' ? 'check' : 'share', "aria-label": state.share.status === 'ok' ? 'Shared' : 'Share', "aria-expanded": shareOpen, onPress: () => setShareOpen(v => !v), children: state.share.status === 'ok' ? 'Shared' : 'Share' })) : null] }), config.progress !== 'none' && progress.total > 0 ? (_jsxs(Box, { style: { gap: 6 }, children: [config.progress === 'count' || config.progress === 'both' ? (_jsx(Text, { accessibilityLiveRegion: "polite", color: "textSecondary", numeric: true, style: { fontSize: 12, lineHeight: 16 }, children: countLabel })) : null, config.progress === 'bar' || config.progress === 'both' ? (_jsx(ProgressBar, { bare: true, tone: "ink", height: 6, label: countLabel, value: Math.round(progress.fraction * 100), max: 100, format: () => countLabel })) : null] })) : null, shareOpen && config.sharing.enabled ? (_jsxs(Box, { style: { gap: 10, paddingTop: 12, borderTopWidth: 1, borderTopColor: colors.hairline }, children: [_jsx(Text, { style: { fontSize: 12, fontWeight: '600' }, color: "textPrimary", children: "Share with" }), _jsx(Box, { row: true, wrap: true, style: { gap: 6 }, children: shareCandidates.map(p => {
259
+ return (_jsx(SurfaceProvider, { surface: surface, children: _jsx(Box, { onLayout: onLayout, style: { width: '100%' }, children: _jsxs(Box, { bg: "surface1", testID: testID, style: { overflow: 'hidden', width: '100%', borderRadius: blockRadii.major, borderWidth: 1, borderColor: colors.hairline, boxShadow: lift1 }, children: [_jsxs(Box, { style: { paddingTop: 18, paddingHorizontal: 20, paddingBottom: 16, gap: 10, borderBottomWidth: 1, borderBottomColor: colors.hairline }, children: [_jsxs(Box, { row: true, align: "flex-start", style: { gap: 10 }, children: [_jsx(Box, { flex: 1, style: { minWidth: 0, gap: 2 }, children: editingMeta ? (_jsxs(Box, { style: { gap: 8 }, children: [_jsx(Input, { value: titleDraft, onChangeText: setTitleDraft, autoFocus: true, "aria-label": copy.checklistTitle, placeholder: copy.checklistTitle, onSubmit: commitMeta, onCancel: cancelMeta }), config.showDescription ? (_jsx(Input, { value: descDraft, onChangeText: setDescDraft, placeholder: copy.description, "aria-label": copy.checklistDescription, onSubmit: commitMeta, onCancel: cancelMeta })) : null, _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: copy.save, onPress: commitMeta, tone: "accent" }), _jsx(SmallButton, { label: copy.cancel, onPress: cancelMeta })] })] })) : (_jsxs(_Fragment, { children: [_jsx(Text, { role: "heading", "aria-level": 2, numberOfLines: 2, style: { fontSize: 14, lineHeight: 19, fontWeight: '600', letterSpacing: -0.21, color: doc.title ? colors.textPrimary : colors.textSecondary }, children: doc.title || copy.untitled }), config.showDescription && doc.description ? (_jsx(Text, { color: "textSecondary", numberOfLines: 3, style: { fontSize: 12, lineHeight: 17 }, children: doc.description })) : null] })) }), config.can.editChecklist && !editingMeta ? (_jsx(Pressable, { onPress: () => { setTitleDraft(doc.title); setDescDraft(doc.description ?? ''); setEditingMeta(true); }, width: 32, height: 32, radius: "pill", "aria-label": copy.editChecklist, children: _jsx(Icon, { name: "edit", size: 15, color: colors.textSecondary }) })) : null, config.sharing.enabled ? (_jsx(Button, { variant: "secondary", size: "xsmall", leadingGlyph: state.share.status === 'ok' ? 'check' : 'share', "aria-label": state.share.status === 'ok' ? copy.shared : copy.share, "aria-expanded": shareOpen, onPress: () => setShareOpen(v => !v), children: state.share.status === 'ok' ? copy.shared : copy.share })) : null] }), config.progress !== 'none' && progress.total > 0 ? (_jsxs(Box, { style: { gap: 6 }, children: [config.progress === 'count' || config.progress === 'both' ? (_jsx(Text, { accessibilityLiveRegion: "polite", color: "textSecondary", numeric: true, style: { fontSize: 12, lineHeight: 16 }, children: countLabel })) : null, config.progress === 'bar' || config.progress === 'both' ? (_jsx(ProgressBar, { bare: true, tone: "ink", height: 6, label: countLabel, value: Math.round(progress.fraction * 100), max: 100, format: () => countLabel })) : null] })) : null, shareOpen && config.sharing.enabled ? (_jsxs(Box, { style: { gap: 10, paddingTop: 12, borderTopWidth: 1, borderTopColor: colors.hairline }, children: [_jsx(Text, { style: { fontSize: 12, fontWeight: '600' }, color: "textPrimary", children: copy.shareWith }), _jsx(Box, { row: true, wrap: true, style: { gap: 6 }, children: shareCandidates.map(p => {
257
260
  const on = recipients.includes(p.id);
258
- return (_jsx(ToggleChip, { label: p.name, on: on, ariaLabel: `Share with ${p.name}`, onPress: () => setRecipients(prev => (on ? prev.filter(x => x !== p.id) : [...prev, p.id])) }, p.id));
259
- }) }), _jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 6 }, children: [_jsx(Text, { color: "textSecondary", style: { fontSize: 12, lineHeight: 16 }, children: "Share" }), [['checklist', 'The whole checklist'], ['own', 'Each person’s own tasks']].map(([id, label]) => (_jsx(ToggleChip, { label: label, on: shareScope === id, onPress: () => setShareScope(id) }, id)))] }), shareScope === 'own' && recipients.length ? (_jsx(Box, { style: { gap: 3 }, children: recipients.map(id => {
261
+ return (_jsx(ToggleChip, { label: p.name, on: on, ariaLabel: fill(copy.shareWithPerson, { name: p.name }), onPress: () => setRecipients(prev => (on ? prev.filter(x => x !== p.id) : [...prev, p.id])) }, p.id));
262
+ }) }), _jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 6 }, children: [_jsx(Text, { color: "textSecondary", style: { fontSize: 12, lineHeight: 16 }, children: copy.shareScope }), [['checklist', copy.scopeChecklist], ['own', copy.scopeOwn]].map(([id, label]) => (_jsx(ToggleChip, { label: label, on: shareScope === id, onPress: () => setShareScope(id) }, id)))] }), shareScope === 'own' && recipients.length ? (_jsx(Box, { style: { gap: 3 }, children: recipients.map(id => {
260
263
  const person = shareCandidates.find(p => p.id === id);
261
264
  const theirs = tasksFor(id);
262
265
  return (_jsx(Text, { color: "textSecondary", style: { fontSize: 12, lineHeight: 16 }, children: theirs.length
263
- ? `${person?.name ?? 'Unknown person'} · ${theirs.map(t => t.title).join(', ')}`
264
- : `${person?.name ?? 'Unknown person'} · no tasks assigned` }, id));
265
- }) })) : null, _jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 8 }, children: [shareButton, state.share.status === 'ok' && state.share.result ? (_jsxs(Box, { row: true, align: "center", style: { gap: 4, flexShrink: 1 }, children: [_jsx(Icon, { name: "check", size: 13, color: colors.status.executed }), _jsx(Text, { accessibilityLiveRegion: "polite", style: { fontSize: 12, lineHeight: 16, color: colors.status.executed, flexShrink: 1 }, children: `Shared with ${state.share.result.sharedWith
266
- .map(id => shareCandidates.find(p => p.id === id)?.name ?? 'Unknown person').join(', ')}` })] })) : null] }), state.share.status === 'error' ? (_jsx(FailureBlock, { title: "Not shared", message: "We could not share this.", onRetry: runtime.retryShare, onDismiss: runtime.dismissShare })) : null] })) : null, state.effects.some(e => e.status === 'error') ? (_jsx(FailureBlock, { title: "Not notified", message: "We could not let everyone know.", onRetry: () => {
266
+ ? fill(copy.shareOwnTasks, { name: person?.name ?? copy.unknownPerson, tasks: theirs.map(t => t.title).join(', ') })
267
+ : fill(copy.shareOwnNone, { name: person?.name ?? copy.unknownPerson }) }, id));
268
+ }) })) : null, _jsxs(Box, { row: true, wrap: true, align: "center", style: { gap: 8 }, children: [shareButton, state.share.status === 'ok' && state.share.result ? (_jsxs(Box, { row: true, align: "center", style: { gap: 4, flexShrink: 1 }, children: [_jsx(Icon, { name: "check", size: 13, color: colors.status.executed }), _jsx(Text, { accessibilityLiveRegion: "polite", style: { fontSize: 12, lineHeight: 16, color: colors.status.executed, flexShrink: 1 }, children: fill(copy.sharedWithNames, {
269
+ names: state.share.result.sharedWith
270
+ .map(id => shareCandidates.find(p => p.id === id)?.name ?? copy.unknownPerson).join(', '),
271
+ }) })] })) : null] }), state.share.status === 'error' ? (_jsx(FailureBlock, { title: copy.notShared, message: copy.notSharedBody, copy: copy, onRetry: runtime.retryShare, onDismiss: runtime.dismissShare })) : null] })) : null, state.effects.some(e => e.status === 'error') ? (_jsx(FailureBlock, { title: copy.notNotified, message: copy.notNotifiedBody, copy: copy, onRetry: () => {
267
272
  const failed = state.effects.find(e => e.status === 'error');
268
273
  if (failed)
269
274
  runtime.retryEffect(failed.effect.id);
270
- } })) : null] }), _jsxs(Box, { style: { paddingVertical: 16, paddingHorizontal: 20, gap: 16 }, children: [progress.total === 0 && doc.sections.every(s => s.tasks.length === 0) && !addingIn ? (_jsx(Text, { color: "textSecondary", style: { fontSize: 13, lineHeight: 18 }, children: config.copy.emptyLabel })) : null, doc.sections.map((section, si) => {
275
+ } })) : null] }), _jsxs(Box, { style: { paddingVertical: 16, paddingHorizontal: 20, gap: 16 }, children: [progress.total === 0 && doc.sections.every(s => s.tasks.length === 0) && !addingIn ? (_jsx(Text, { color: "textSecondary", style: { fontSize: 13, lineHeight: 18 }, children: copy.emptyLabel })) : null, doc.sections.map((section, si) => {
271
276
  const grouped = config.sections === 'grouped' && !!section.title;
272
277
  const isCollapsed = config.collapsibleSections && collapsed.has(section.id);
273
278
  const sp = sectionProgressOf(section);
@@ -279,24 +284,24 @@ export function ChecklistView({ checklist, config: configProp, rules: rulesProp,
279
284
  else
280
285
  next.add(section.id);
281
286
  return next;
282
- }), width: 32, height: 32, radius: "pill", "aria-label": section.title ?? 'Section', "aria-expanded": !isCollapsed, "aria-controls": bodyId, children: _jsx(Icon, { name: isCollapsed ? 'chev-r' : 'chev-d', size: 14, color: colors.textSecondary }) })) : null, _jsx(Box, { style: { minWidth: 0, flexGrow: 1, flexShrink: 1, flexBasis: 80 }, children: editingSectionId === section.id ? (_jsx(Input, { value: sectionDraft, onChangeText: setSectionDraft, autoFocus: true, "aria-label": "Section title", onSubmit: () => {
287
+ }), width: 32, height: 32, radius: "pill", "aria-label": section.title ?? copy.section, "aria-expanded": !isCollapsed, "aria-controls": bodyId, children: _jsx(Icon, { name: isCollapsed ? 'chev-r' : 'chev-d', size: 14, color: colors.textSecondary }) })) : null, _jsx(Box, { style: { minWidth: 0, flexGrow: 1, flexShrink: 1, flexBasis: 80 }, children: editingSectionId === section.id ? (_jsx(Input, { value: sectionDraft, onChangeText: setSectionDraft, autoFocus: true, "aria-label": copy.sectionTitle, onSubmit: () => {
283
288
  const t = sectionDraft.trim();
284
289
  if (t)
285
290
  attempt({ kind: 'section.edit', sectionId: section.id, title: t });
286
291
  setEditingSectionId(null);
287
- }, onCancel: () => setEditingSectionId(null) })) : (_jsx(Text, { role: "heading", "aria-level": 3, numberOfLines: 1, style: { fontSize: 12, lineHeight: 16, fontWeight: '600', color: colors.textPrimary }, children: section.title })) }), _jsx(Text, { numeric: true, color: "textSecondary", style: { fontSize: 12, lineHeight: 16 }, children: `${sp.done}/${sp.total}` }), config.can.editSection && editingSectionId !== section.id ? (_jsx(Pressable, { onPress: () => { setSectionDraft(section.title ?? ''); setEditingSectionId(section.id); }, width: 32, height: 32, radius: "pill", "aria-label": `Edit section “${section.title}”`, children: _jsx(Icon, { name: "edit", size: 14, color: colors.textSecondary }) })) : null, config.can.reorder ? (_jsx(Pressable, { onPress: () => attempt({ kind: 'section.move', sectionId: section.id, toIndex: si - 1 }), disabled: si === 0, width: 32, height: 32, radius: "pill", "aria-label": `Move section “${section.title}” up`, children: _jsx(Icon, { name: "chev-u", size: 14, color: colors.textSecondary }) })) : null, config.can.deleteSection ? (_jsx(Pressable, { onPress: () => attempt({ kind: 'section.delete', sectionId: section.id }), width: 32, height: 32, radius: "pill", "aria-label": `Delete section “${section.title}”`, children: _jsx(Icon, { name: "trash", size: 14, color: colors.textSecondary }) })) : null] })) : null, !isCollapsed ? (_jsxs(Box, { nativeID: bodyId, children: [renderTasks(section), addTaskRow(section)] })) : null] }, section.id));
288
- }), config.can.addSection ? (addingSection ? (_jsxs(Box, { style: { gap: 8 }, children: [_jsx(Input, { value: newSectionTitle, onChangeText: setNewSectionTitle, autoFocus: true, placeholder: config.copy.addSectionLabel, "aria-label": config.copy.addSectionLabel, onSubmit: () => {
292
+ }, onCancel: () => setEditingSectionId(null) })) : (_jsx(Text, { role: "heading", "aria-level": 3, numberOfLines: 1, style: { fontSize: 12, lineHeight: 16, fontWeight: '600', color: colors.textPrimary }, children: section.title })) }), _jsx(Text, { numeric: true, color: "textSecondary", style: { fontSize: 12, lineHeight: 16 }, children: `${sp.done}/${sp.total}` }), config.can.editSection && editingSectionId !== section.id ? (_jsx(Pressable, { onPress: () => { setSectionDraft(section.title ?? ''); setEditingSectionId(section.id); }, width: 32, height: 32, radius: "pill", "aria-label": fill(copy.editSection, { title: section.title ?? '' }), children: _jsx(Icon, { name: "edit", size: 14, color: colors.textSecondary }) })) : null, config.can.reorder ? (_jsx(Pressable, { onPress: () => attempt({ kind: 'section.move', sectionId: section.id, toIndex: si - 1 }), disabled: si === 0, width: 32, height: 32, radius: "pill", "aria-label": fill(copy.moveSectionUp, { title: section.title ?? '' }), children: _jsx(Icon, { name: "chev-u", size: 14, color: colors.textSecondary }) })) : null, config.can.deleteSection ? (_jsx(Pressable, { onPress: () => attempt({ kind: 'section.delete', sectionId: section.id }), width: 32, height: 32, radius: "pill", "aria-label": fill(copy.deleteSection, { title: section.title ?? '' }), children: _jsx(Icon, { name: "trash", size: 14, color: colors.textSecondary }) })) : null] })) : null, !isCollapsed ? (_jsxs(Box, { nativeID: bodyId, children: [renderTasks(section), addTaskRow(section)] })) : null] }, section.id));
293
+ }), config.can.addSection ? (addingSection ? (_jsxs(Box, { style: { gap: 8 }, children: [_jsx(Input, { value: newSectionTitle, onChangeText: setNewSectionTitle, autoFocus: true, placeholder: copy.addSectionLabel, "aria-label": copy.addSectionLabel, onSubmit: () => {
289
294
  const t = newSectionTitle.trim();
290
295
  if (t)
291
296
  attempt({ kind: 'section.add', index: doc.sections.length, section: { id: newId('section'), title: t, tasks: [] } });
292
297
  setNewSectionTitle('');
293
298
  setAddingSection(false);
294
- }, onCancel: () => { setNewSectionTitle(''); setAddingSection(false); } }), _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: "Add", tone: "accent", onPress: () => {
299
+ }, onCancel: () => { setNewSectionTitle(''); setAddingSection(false); } }), _jsxs(Box, { row: true, wrap: true, style: { gap: 8 }, children: [_jsx(SmallButton, { label: copy.add, tone: "accent", onPress: () => {
295
300
  const t = newSectionTitle.trim();
296
301
  if (t)
297
302
  attempt({ kind: 'section.add', index: doc.sections.length, section: { id: newId('section'), title: t, tasks: [] } });
298
303
  setNewSectionTitle('');
299
304
  setAddingSection(false);
300
- } }), _jsx(SmallButton, { label: "Cancel", onPress: () => { setNewSectionTitle(''); setAddingSection(false); } })] })] })) : (_jsx(SmallButton, { label: `+ ${config.copy.addSectionLabel}`, onPress: () => setAddingSection(true) }))) : null] })] }) }) }));
305
+ } }), _jsx(SmallButton, { label: copy.cancel, onPress: () => { setNewSectionTitle(''); setAddingSection(false); } })] })] })) : (_jsx(SmallButton, { label: `+ ${copy.addSectionLabel}`, onPress: () => setAddingSection(true) }))) : null] })] }) }) }));
301
306
  }
302
307
  //# sourceMappingURL=ChecklistView.js.map