@wildo-ai/presets-components 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/dist/esm/.native.tsbuildinfo +1 -0
  2. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  3. package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
  4. package/dist/esm/components/actions/action-button.d.ts +1 -4
  5. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  6. package/dist/esm/components/actions/action-button.js +21 -5
  7. package/dist/esm/components/actions/action-button.js.map +1 -1
  8. package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
  9. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
  12. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
  13. package/dist/esm/components/ai-elements/artifacts/artifact-browser.js +7 -3
  14. package/dist/esm/components/ai-elements/artifacts/artifact-browser.js.map +1 -1
  15. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  16. package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
  17. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  18. package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
  25. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
  27. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
  29. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
  31. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
  33. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
  35. package/dist/esm/components/ai-elements/decision/approval.d.ts +18 -3
  36. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  37. package/dist/esm/components/ai-elements/decision/approval.js +5 -3
  38. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  39. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  46. package/dist/esm/components/ai-elements/execution/task.js +10 -2
  47. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  48. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  49. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  50. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  52. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  62. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  66. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/agent.js +23 -3
  69. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  70. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  78. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  91. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  93. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  94. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  95. package/dist/esm/components/app/app-layout-main-container.labels.js +10 -2
  96. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  97. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  98. package/dist/esm/components/app/public-layout-main-container.js +52 -5
  99. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  100. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  101. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  102. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  103. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  104. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  105. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  106. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  107. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  108. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  109. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  110. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  111. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  112. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  113. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  114. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  115. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  116. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  117. package/dist/esm/components/data-display/description-list.js +10 -7
  118. package/dist/esm/components/data-display/description-list.js.map +1 -1
  119. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  120. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  121. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  122. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  123. package/dist/esm/components/data-display/formatters/display-field-boolean.js +20 -1
  124. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  125. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  126. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  127. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  128. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  129. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  130. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  131. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  132. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  133. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  134. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  135. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  136. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  137. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  138. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  139. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  140. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  141. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  142. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  143. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  144. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  145. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  146. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  147. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  148. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  149. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  150. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  151. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  152. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  153. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  154. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  155. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  156. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  157. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  158. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  159. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  160. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  161. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  162. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  163. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  164. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  165. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  166. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  167. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  168. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  169. package/dist/esm/components/data-display/formatters/display-field-string.js +3 -0
  170. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  171. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  172. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  173. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  174. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  175. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  176. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  177. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  178. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  179. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  180. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  181. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  182. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  183. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  184. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  185. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  186. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  187. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  188. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  189. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  190. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  191. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  192. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  193. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  194. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  195. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  196. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +7 -0
  197. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  198. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  199. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  200. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  201. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  202. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  203. package/dist/esm/components/feedback/notification-center.d.ts +5 -3
  204. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  205. package/dist/esm/components/feedback/notification-center.js +7 -5
  206. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  207. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  208. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  209. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  210. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  211. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  212. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  213. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  214. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  215. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  216. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  217. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  218. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  219. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  220. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  221. package/dist/esm/components/form/chromes/form-primitive.labels.js +2 -2
  222. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  223. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  224. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  225. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  226. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  227. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  228. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  229. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  230. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  231. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  232. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  233. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  234. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  235. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  236. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  237. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  238. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  239. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  240. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  241. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  242. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  243. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  244. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  245. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  246. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  247. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  248. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  249. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  250. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  251. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  252. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  253. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  254. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  255. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  256. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  257. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  258. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  259. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  260. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  261. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  262. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  263. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  264. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  265. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  266. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  267. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  268. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  269. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  270. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  271. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  272. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  273. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  274. package/dist/esm/components/form/controls/string/color-picker-surface.js +1 -1
  275. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  276. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  277. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  278. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  279. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  280. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  281. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  282. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  283. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  284. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  285. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  286. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  287. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  288. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  289. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  290. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  291. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  292. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  293. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  294. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  295. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  296. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  297. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  298. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  299. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  300. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  301. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  302. package/dist/esm/components/navigation/app-level/menu-user-org.js +8 -2
  303. package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
  304. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  305. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  306. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  307. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  308. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  309. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  310. package/dist/esm/components/navigation/app-level/notification-center.js +22 -19
  311. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  312. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  313. package/dist/esm/components/navigation/app-level/notification-center.labels.js +11 -14
  314. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  315. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  316. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  317. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  318. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  319. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  320. package/dist/esm/components/navigation/app-level/sidebar.js +32 -15
  321. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  322. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  323. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  324. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  325. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  326. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  327. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  328. package/dist/esm/components/navigation/app-level/utility-panel.js +41 -8
  329. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  330. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  331. package/dist/esm/components/navigation/app-level/utility-panel.labels.js +1 -0
  332. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  333. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  334. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  335. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  336. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  337. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  338. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  339. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  340. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  341. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  342. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  343. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  344. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  345. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  346. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  347. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  348. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  349. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  350. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  351. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  352. package/dist/esm/components/overlays/containers/sheet.js +2 -2
  353. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  354. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  355. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  356. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  357. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  358. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  359. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  360. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  361. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  362. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  363. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  364. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  365. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  366. package/dist/esm/components/sections/accordion.js +43 -13
  367. package/dist/esm/components/sections/accordion.js.map +1 -1
  368. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  369. package/dist/esm/components/sections/card.d.ts.map +1 -1
  370. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  371. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  372. package/dist/esm/components/sections/collapsible.js +17 -3
  373. package/dist/esm/components/sections/collapsible.js.map +1 -1
  374. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  375. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  376. package/dist/esm/components/sections/content-section.js +11 -7
  377. package/dist/esm/components/sections/content-section.js.map +1 -1
  378. package/dist/esm/components/sections/disclosure-nesting.d.ts +20 -0
  379. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -0
  380. package/dist/esm/components/sections/disclosure-nesting.js +20 -0
  381. package/dist/esm/components/sections/disclosure-nesting.js.map +1 -0
  382. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  383. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  384. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  385. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  386. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  387. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  388. package/dist/esm/components/sections/table.d.ts.map +1 -1
  389. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  390. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  391. package/dist/esm/components/sections/tabs.js +141 -10
  392. package/dist/esm/components/sections/tabs.js.map +1 -1
  393. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  394. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  395. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  396. package/dist/esm/components/typography/label.d.ts.map +1 -1
  397. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  398. package/dist/esm/components/typography/link.d.ts.map +1 -1
  399. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  400. package/dist/esm/components/typography/text.d.ts.map +1 -1
  401. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  402. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  403. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  404. package/dist/esm/config/index.d.ts.map +1 -1
  405. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  406. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  407. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  408. package/dist/esm/config/preset-kits.js +0 -4
  409. package/dist/esm/config/preset-kits.js.map +1 -1
  410. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  411. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  412. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  413. package/dist/esm/config/preset-shell.js +0 -4
  414. package/dist/esm/config/preset-shell.js.map +1 -1
  415. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  416. package/dist/esm/config/presets.d.ts.map +1 -1
  417. package/dist/esm/config/presets.js +0 -1
  418. package/dist/esm/config/presets.js.map +1 -1
  419. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  420. package/dist/esm/config/resources/application.resource-presets.js +6 -6
  421. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  422. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  423. package/dist/esm/config/resources/billing.resource-presets.js +8 -8
  424. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  425. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  426. package/dist/esm/config/resources/guidance.resource-presets.js +7 -7
  427. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  428. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  429. package/dist/esm/config/resources/identity.resource-presets.js +13 -7
  430. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  431. package/dist/esm/config/resources/index.d.ts +23 -1
  432. package/dist/esm/config/resources/index.d.ts.map +1 -1
  433. package/dist/esm/config/resources/index.js +24 -3
  434. package/dist/esm/config/resources/index.js.map +1 -1
  435. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  436. package/dist/esm/config/resources/organizations.resource-presets.js +8 -8
  437. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  438. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  439. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  440. package/dist/esm/config/resources/security.resource-presets.js +104 -13
  441. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  442. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  443. package/dist/esm/index.d.ts +0 -3
  444. package/dist/esm/index.d.ts.map +1 -1
  445. package/dist/esm/index.js +0 -3
  446. package/dist/esm/index.js.map +1 -1
  447. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  448. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  449. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  450. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  451. package/dist/esm/registration/register-common-enums.js +20 -1
  452. package/dist/esm/registration/register-common-enums.js.map +1 -1
  453. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  454. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  455. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  456. package/dist/esm/registration/register-default-presets.js +0 -4
  457. package/dist/esm/registration/register-default-presets.js.map +1 -1
  458. package/dist/esm/shiki-subset.d.ts.map +1 -1
  459. package/dist/esm/theme-exports.d.ts.map +1 -1
  460. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  461. package/dist/esm/themes/cozy.theme.js +8 -3
  462. package/dist/esm/themes/cozy.theme.js.map +1 -1
  463. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  464. package/dist/esm/themes/dense.theme.js +8 -5
  465. package/dist/esm/themes/dense.theme.js.map +1 -1
  466. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  467. package/dist/esm/themes/editorial.theme.js +8 -3
  468. package/dist/esm/themes/editorial.theme.js.map +1 -1
  469. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  470. package/dist/esm/themes/glass.theme.js +10 -4
  471. package/dist/esm/themes/glass.theme.js.map +1 -1
  472. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  473. package/dist/esm/themes/neo-brutalist.theme.js +8 -3
  474. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  475. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  476. package/dist/esm/themes/terminal.theme.js +8 -3
  477. package/dist/esm/themes/terminal.theme.js.map +1 -1
  478. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  479. package/dist/esm/themes/trading.theme.js +8 -3
  480. package/dist/esm/themes/trading.theme.js.map +1 -1
  481. package/dist/tsconfig.build.tsbuildinfo +1 -1
  482. package/package.json +7 -7
  483. package/dist/esm/.builder.pid +0 -9
  484. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -13
  485. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
  486. package/dist/esm/components/billing/billing-plan-change-preview.js +0 -44
  487. package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
  488. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +0 -3
  489. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +0 -1
  490. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +0 -36
  491. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +0 -1
  492. package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -10
  493. package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
  494. package/dist/esm/components/billing/billing-promotion-code-input.js +0 -68
  495. package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
  496. package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts +0 -3
  497. package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts.map +0 -1
  498. package/dist/esm/components/billing/billing-promotion-code-input.labels.js +0 -14
  499. package/dist/esm/components/billing/billing-promotion-code-input.labels.js.map +0 -1
  500. package/dist/esm/config/resources/infrastructure.resource-presets.d.ts +0 -16
  501. package/dist/esm/config/resources/infrastructure.resource-presets.d.ts.map +0 -1
  502. package/dist/esm/config/resources/infrastructure.resource-presets.js +0 -110
  503. package/dist/esm/config/resources/infrastructure.resource-presets.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/guidance.resource-presets.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,OAAO,EACP,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,gBAAgB,IAAI,CAAC,EACrB,qBAAqB,IAAI,EAAE,EAC3B,4DAA4D,IAAI,wBAAwB,EACxF,oEAAoE,IAAI,uBAAuB,EAC/F,+DAA+D,IAAI,2BAA2B,EAC9F,uEAAuE,IAAI,0BAA0B,EACrG,6DAA6D,IAAI,yBAAyB,EAC1F,qEAAqE,IAAI,wBAAwB,EACjG,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,kBAAkB,GAAG,EAAE,aAAa,EAAE,KAAc,EAAE,CAAC;AAE7D,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,CAAC,EAAE,aAAa,EAA0D,EAAE,EAAE;QACnF,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmD;IAC/E,OAAO;QACL,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;YACtE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;YAC/B,MAAM,EAAE;gBACN,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,SAAS,EAAE;gBACrE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE;gBACnE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE;gBACjE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE;gBACjE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE;gBAClE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,EAAE;gBACrE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,EAAE;aACzE;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,kBAAkB,CAAC,2BAA2B,EAAE,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YACpJ,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,WAAW,MAAM;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;iBACjD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GAC3B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,aACtB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,EAC1C,KAAC,YAAY,IAAC,IAAI,EAAC,iBAAiB,GAAG,IAC/B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,YAAY,YACxB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,GAClC,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,SAAS,EAAC,qDAAqD,YAC5E,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GACrB,CACjB;aACF;YACD,MAAM,EAAE;gBACN,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC5C,OAAO,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE;oBAC5E,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;iBAChC,CAAC;aACH;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,8BAA8B,CAAC,EAAE,kBAAkB,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3J,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,WAAW,MAAM;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;iBACjD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GAC3B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,aACtB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,EAC1C,KAAC,YAAY,IAAC,IAAI,EAAC,iBAAiB,GAAG,IAC/B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,YAAY,YACxB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,GAClC,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,SAAS,EAAC,qDAAqD,YAC5E,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GACrB,CACjB;aACF;YACD,MAAM,EAAE;gBACN,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC5C,OAAO,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE;oBAC5E,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;iBAChC,CAAC;aACH;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAAE,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YACrJ,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;iBAChD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,aACnD,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,EACpC,KAAC,YAAY,IAAC,IAAI,EAAC,gBAAgB,GAAG,EACtC,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,IAC5B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,YAAY,aACxB,KAAC,YAAY,IAAC,IAAI,EAAC,eAAe,GAAG,EACrC,KAAC,YAAY,IAAC,IAAI,EAAC,uBAAuB,GAAG,EAC7C,KAAC,YAAY,IAAC,IAAI,EAAC,YAAY,GAAG,IAC1B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,SAAS,YACrB,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GAC5B,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,SAAS,EAAC,qDAAqD,YAC5E,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GACtB,CACjB;aACF;YACD,MAAM,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACzC,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,wBAAwB,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3I,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,aAAa,CAAC,eAAe,CAAC;YACxD,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACvB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,cACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACrB,GACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,YAChC,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACf,CACjB;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,CACV,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,SAAS,IAAC,IAAI,EAAC,OAAO,GAAG,GAClB,GACC,CACd;aACF;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,uEAAuE;gBACvE,sEAAsE;gBACtE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACtB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAClJ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,aAAa,CAAC,uBAAuB,CAAC;YAChE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACvB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,cACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACrB,GACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,YAChC,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACf,CACjB;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,CACV,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,SAAS,IAAC,IAAI,EAAC,OAAO,GAAG,GAClB,GACC,CACd;aACF;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,uEAAuE;gBACvE,sEAAsE;gBACtE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACtB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9I,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;iBAChD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,aACnD,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,EACpC,KAAC,YAAY,IAAC,IAAI,EAAC,gBAAgB,GAAG,EACtC,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,IAC5B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,YAAY,aACxB,KAAC,YAAY,IAAC,IAAI,EAAC,eAAe,GAAG,EACrC,KAAC,YAAY,IAAC,IAAI,EAAC,uBAAuB,GAAG,EAC7C,KAAC,YAAY,IAAC,IAAI,EAAC,YAAY,GAAG,IAC1B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,SAAS,YACrB,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GAC5B,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,SAAS,EAAC,qDAAqD,YAC5E,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GACtB,CACjB;aACF;YACD,MAAM,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACzC,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAiC,EACjC,QAAqC;IAErC,OAAO;QACL,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,sBAAsB,CACrD,uBAAuB,EAAE,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAChF,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC;SAC3E,CAAC,CACH;QACD,CAAC,CAAC,CAAC,8BAA8B,CAAC,EAAE,sBAAsB,CACxD,0BAA0B,EAAE,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC;SAC3E,CAAC,CACH;QACD,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAAE,sBAAsB,CACtD,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC;SAC3E,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAA4B,EAAE,CAAC;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAC3D,mBAAmB,EACnB,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,2CAA2C,GAAG,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAE,CAAC;AAC3G,MAAM,CAAC,MAAM,mDAAmD,GAAG,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,CAAE,CAAC;AAC3H,MAAM,CAAC,MAAM,gDAAgD,GAAG,oBAAoB,CAAC,CAAC,CAAC,2BAA2B,CAAE,CAAC;AACrH,MAAM,CAAC,MAAM,0CAA0C,GAAG,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,CAAE,CAAC;AACzG,MAAM,CAAC,MAAM,kDAAkD,GAAG,mBAAmB,CAAC,CAAC,CAAC,8BAA8B,CAAE,CAAC;AACzH,MAAM,CAAC,MAAM,mDAAmD,GAAG,oBAAoB,CAAC,CAAC,CAAC,8BAA8B,CAAE,CAAC;AAC3H,MAAM,CAAC,MAAM,4CAA4C,GAAG,uBAAuB,CAAC,CAAC,CAAC,oBAAoB,CAAE,CAAC;AAC7G,MAAM,CAAC,MAAM,gDAAgD,GAAG,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,CAAE,CAAC;AACrH,MAAM,CAAC,MAAM,iDAAiD,GAAG,oBAAoB,CAAC,CAAC,CAAC,4BAA4B,CAAE,CAAC","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n Section,\n SummaryLayout,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n BadgeSemanticVariant,\n EnumDisplayMode,\n NumberDisplayMode,\n SectionMode,\n} from '@wildo-ai/zod-decorators';\nimport { BookOpen, Compass, Trophy } from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n userGuidanceStateResourceConfiguration_InitializationFactory as userGuidanceStateFactory,\n organizationGuidanceStateResourceConfiguration_InitializationFactory as orgGuidanceStateFactory,\n userProgressionStateResourceConfiguration_InitializationFactory as userProgressionStateFactory,\n organizationProgressionStateResourceConfiguration_InitializationFactory as orgProgressionStateFactory,\n userLifecycleStateResourceConfiguration_InitializationFactory as userLifecycleStateFactory,\n organizationLifecycleStateResourceConfiguration_InitializationFactory as orgLifecycleStateFactory,\n GuidanceStateSchema,\n ProgressionStateSchema,\n LifecycleStateSchema,\n LifecycleStage,\n} from '@wildo-ai/saas-models';\nimport { notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Guidance & Lifecycle — Resource frontend presets\n *\n * **Main:** USER_PROGRESSION_STATE (read-only achievements / points), ORGANIZATION_PROGRESSION_STATE,\n * ORGANIZATION_LIFECYCLE_STATE — these are consumed by UI surfaces visible to end users or org admins.\n *\n * **Platform:** USER_GUIDANCE_STATE, ORGANIZATION_GUIDANCE_STATE, USER_LIFECYCLE_STATE — system-managed\n * state that drives the guidance engine. End users never view or manage these directly; they are\n * consumed by the companion, internal dashboards, and the guidance rendering pipeline.\n *\n * **Admin:** ORG variants of guidance, progression, and lifecycle — derived from their respective\n * main or platform bases, minus SEARCH.\n *\n * Field UI uses inline enum `values` and `showDescription: true` aligned with billing.\n * Layout templates are implemented inline in each resource config, following the billing preset pattern.\n */\n\nconst guidanceEmptyState = { primaryAction: false as const };\n\nfunction guidanceLabel(kind: string) {\n return ({ currentObject }: { currentObject: { flows?: Record<string, unknown> } }) => {\n const n = currentObject.flows ? Object.keys(currentObject.flows).length : 0;\n return n > 0 ? `${kind} · ${n} flow${n === 1 ? '' : 's'}` : kind;\n };\n}\n\nfunction lifecycleStageFields(schemaShape: (typeof LifecycleStateSchema)['shape']) {\n return {\n currentStage: schemaShape.currentStage.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [LifecycleStage.SIGNED_UP]: { color: BadgeSemanticVariant.SECONDARY },\n [LifecycleStage.ACTIVATED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.ENGAGED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.DORMANT]: { color: BadgeSemanticVariant.WARNING },\n [LifecycleStage.REACTIVATED]: { color: BadgeSemanticVariant.INFO },\n [LifecycleStage.CHURNED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [LifecycleStage.OFFBOARDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n };\n}\n\nexport function buildGuidanceMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_PROGRESSION_STATE]: resourceUIBehavior(userProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehavior(orgProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehavior(orgLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidancePlatformPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_GUIDANCE_STATE]: resourceUIBehavior(userGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('User guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"text-sm\">\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehavior(orgGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('Organization guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"text-sm\">\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.USER_LIFECYCLE_STATE]: resourceUIBehavior(userLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidanceAdminPresets(\n main: Partial<ResourceUIBehavior>,\n platform: Partial<ResourceUIBehavior>,\n): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehaviorFrom(\n orgGuidanceStateFactory, platform[R.ORGANIZATION_GUIDANCE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehaviorFrom(\n orgProgressionStateFactory, main[R.ORGANIZATION_PROGRESSION_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehaviorFrom(\n orgLifecycleStateFactory, main[R.ORGANIZATION_LIFECYCLE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n };\n}\n\nexport const guidanceMainPresets = buildGuidanceMainPresets();\nexport const guidancePlatformPresets = buildGuidancePlatformPresets();\nexport const guidanceAdminPresets = buildGuidanceAdminPresets(\n guidanceMainPresets,\n guidancePlatformPresets,\n);\n\nexport const userGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_GUIDANCE_STATE]!;\nexport const organizationGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const organizationGuidanceStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const userProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.USER_PROGRESSION_STATE]!;\nexport const organizationProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const organizationProgressionStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const userLifecycleStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\n"]}
1
+ {"version":3,"file":"guidance.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/guidance.resource-presets.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,GACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,OAAO,EACP,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,gBAAgB,IAAI,CAAC,EACrB,qBAAqB,IAAI,EAAE,EAC3B,4DAA4D,IAAI,wBAAwB,EACxF,oEAAoE,IAAI,uBAAuB,EAC/F,+DAA+D,IAAI,2BAA2B,EAC9F,uEAAuE,IAAI,0BAA0B,EACrG,6DAA6D,IAAI,yBAAyB,EAC1F,qEAAqE,IAAI,wBAAwB,EACjG,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,kBAAkB,GAAG,EAAE,aAAa,EAAE,KAAc,EAAE,CAAC;AAE7D,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,CAAC,EAAE,aAAa,EAA0D,EAAE,EAAE;QACnF,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmD;IAC/E,OAAO;QACL,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5C,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE;YACtE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;YAC/B,MAAM,EAAE;gBACN,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,SAAS,EAAE;gBACrE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE;gBACnE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE;gBACjE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE;gBACjE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE;gBAClE,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,EAAE;gBACrE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,WAAW,EAAE;aACzE;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,kBAAkB,CAAC,2BAA2B,EAAE,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YACpJ,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,WAAW,MAAM;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;iBACjD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GAC3B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,aACtB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,EAC1C,KAAC,YAAY,IAAC,IAAI,EAAC,iBAAiB,GAAG,IAC/B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,YAAY,YACxB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,GAClC,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,IAAI,EAAE,WAAW,CAAC,GAAG,YAClC,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GACrB,CACjB;aACF;YACD,MAAM,EAAE;gBACN,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC5C,OAAO,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE;oBAC5E,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;iBAChC,CAAC;aACH;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,8BAA8B,CAAC,EAAE,kBAAkB,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3J,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,WAAW,MAAM;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC;iBACjD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GAC3B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,aACtB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,EAC1C,KAAC,YAAY,IAAC,IAAI,EAAC,iBAAiB,GAAG,IAC/B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,YAAY,YACxB,KAAC,YAAY,IAAC,IAAI,EAAC,oBAAoB,GAAG,GAClC,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,IAAI,EAAE,WAAW,CAAC,GAAG,YAClC,KAAC,YAAY,IAAC,IAAI,EAAC,aAAa,GAAG,GACrB,CACjB;aACF;YACD,MAAM,EAAE;gBACN,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC5C,OAAO,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE;oBAC5E,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;iBAChC,CAAC;aACH;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAAE,kBAAkB,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YACrJ,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;iBAChD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,aACnD,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,EACpC,KAAC,YAAY,IAAC,IAAI,EAAC,gBAAgB,GAAG,EACtC,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,IAC5B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,YAAY,aACxB,KAAC,YAAY,IAAC,IAAI,EAAC,eAAe,GAAG,EACrC,KAAC,YAAY,IAAC,IAAI,EAAC,uBAAuB,GAAG,EAC7C,KAAC,YAAY,IAAC,IAAI,EAAC,YAAY,GAAG,IAC1B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,SAAS,YACrB,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GAC5B,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,IAAI,EAAE,WAAW,CAAC,GAAG,YAClC,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GACtB,CACjB;aACF;YACD,MAAM,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACzC,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC,wBAAwB,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3I,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,aAAa,CAAC,eAAe,CAAC;YACxD,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACvB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,cACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACrB,GACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,cACZ,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACf,CACjB;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,CACV,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,SAAS,IAAC,IAAI,EAAC,OAAO,GAAG,GAClB,GACC,CACd;aACF;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,uEAAuE;gBACvE,sEAAsE;gBACtE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACtB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAClJ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,aAAa,CAAC,uBAAuB,CAAC;YAChE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACvB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,cACZ,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACrB,GACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,cACZ,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,GACf,CACjB;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,CACV,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,YACnD,KAAC,SAAS,IAAC,IAAI,EAAC,OAAO,GAAG,GAClB,GACC,CACd;aACF;YACD,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,uEAAuE;gBACvE,sEAAsE;gBACtE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACtB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC7B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9I,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,kBAAkB;YAC9B,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC;YACnF,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;iBAChD;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,MAAC,aAAa,eACZ,MAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,aACnD,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,EACpC,KAAC,YAAY,IAAC,IAAI,EAAC,gBAAgB,GAAG,EACtC,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,IAC5B,EACV,MAAC,OAAO,IAAC,IAAI,EAAC,YAAY,aACxB,KAAC,YAAY,IAAC,IAAI,EAAC,eAAe,GAAG,EACrC,KAAC,YAAY,IAAC,IAAI,EAAC,uBAAuB,GAAG,EAC7C,KAAC,YAAY,IAAC,IAAI,EAAC,YAAY,GAAG,IAC1B,EACV,KAAC,OAAO,IAAC,IAAI,EAAC,SAAS,YACrB,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GAC5B,IACI,CACjB;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,aAAa,IAAC,IAAI,EAAE,WAAW,CAAC,GAAG,YAClC,KAAC,YAAY,IAAC,IAAI,EAAC,cAAc,GAAG,GACtB,CACjB;aACF;YACD,MAAM,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACzC,KAAK,EAAE;gBACL,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;gBAC3B,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;aAC9B;SACF,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAiC,EACjC,QAAqC;IAErC,OAAO;QACL,CAAC,CAAC,CAAC,2BAA2B,CAAC,EAAE,sBAAsB,CACrD,uBAAuB,EAAE,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAChF,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC;SAC3E,CAAC,CACH;QACD,CAAC,CAAC,CAAC,8BAA8B,CAAC,EAAE,sBAAsB,CACxD,0BAA0B,EAAE,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClF,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC;SAC3E,CAAC,CACH;QACD,CAAC,CAAC,CAAC,4BAA4B,CAAC,EAAE,sBAAsB,CACtD,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9E,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC;SAC3E,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,4BAA4B,EAAE,CAAC;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAC3D,mBAAmB,EACnB,uBAAuB,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,2CAA2C,GAAG,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAE,CAAC;AAC3G,MAAM,CAAC,MAAM,mDAAmD,GAAG,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,CAAE,CAAC;AAC3H,MAAM,CAAC,MAAM,gDAAgD,GAAG,oBAAoB,CAAC,CAAC,CAAC,2BAA2B,CAAE,CAAC;AACrH,MAAM,CAAC,MAAM,0CAA0C,GAAG,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,CAAE,CAAC;AACzG,MAAM,CAAC,MAAM,kDAAkD,GAAG,mBAAmB,CAAC,CAAC,CAAC,8BAA8B,CAAE,CAAC;AACzH,MAAM,CAAC,MAAM,mDAAmD,GAAG,oBAAoB,CAAC,CAAC,CAAC,8BAA8B,CAAE,CAAC;AAC3H,MAAM,CAAC,MAAM,4CAA4C,GAAG,uBAAuB,CAAC,CAAC,CAAC,oBAAoB,CAAE,CAAC;AAC7G,MAAM,CAAC,MAAM,gDAAgD,GAAG,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,CAAE,CAAC;AACrH,MAAM,CAAC,MAAM,iDAAiD,GAAG,oBAAoB,CAAC,CAAC,CAAC,4BAA4B,CAAE,CAAC","sourcesContent":["import React from 'react';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n SummaryFlow,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n Section,\n SummaryLayout,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n BadgeSemanticVariant,\n EnumDisplayMode,\n NumberDisplayMode,\n SectionMode,\n} from '@wildo-ai/zod-decorators';\nimport { BookOpen, Compass, Trophy } from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n userGuidanceStateResourceConfiguration_InitializationFactory as userGuidanceStateFactory,\n organizationGuidanceStateResourceConfiguration_InitializationFactory as orgGuidanceStateFactory,\n userProgressionStateResourceConfiguration_InitializationFactory as userProgressionStateFactory,\n organizationProgressionStateResourceConfiguration_InitializationFactory as orgProgressionStateFactory,\n userLifecycleStateResourceConfiguration_InitializationFactory as userLifecycleStateFactory,\n organizationLifecycleStateResourceConfiguration_InitializationFactory as orgLifecycleStateFactory,\n GuidanceStateSchema,\n ProgressionStateSchema,\n LifecycleStateSchema,\n LifecycleStage,\n} from '@wildo-ai/saas-models';\nimport { notAddressable, apiOnly } from './resource.config.utils';\n\n/**\n * Guidance & Lifecycle — Resource frontend presets\n *\n * **Main:** USER_PROGRESSION_STATE (read-only achievements / points), ORGANIZATION_PROGRESSION_STATE,\n * ORGANIZATION_LIFECYCLE_STATE — these are consumed by UI surfaces visible to end users or org admins.\n *\n * **Platform:** USER_GUIDANCE_STATE, ORGANIZATION_GUIDANCE_STATE, USER_LIFECYCLE_STATE — system-managed\n * state that drives the guidance engine. End users never view or manage these directly; they are\n * consumed by the companion, internal dashboards, and the guidance rendering pipeline.\n *\n * **Admin:** ORG variants of guidance, progression, and lifecycle — derived from their respective\n * main or platform bases, minus SEARCH.\n *\n * Field UI uses inline enum `values` and `showDescription: true` aligned with billing.\n * Layout templates are implemented inline in each resource config, following the billing preset pattern.\n */\n\nconst guidanceEmptyState = { primaryAction: false as const };\n\nfunction guidanceLabel(kind: string) {\n return ({ currentObject }: { currentObject: { flows?: Record<string, unknown> } }) => {\n const n = currentObject.flows ? Object.keys(currentObject.flows).length : 0;\n return n > 0 ? `${kind} · ${n} flow${n === 1 ? '' : 's'}` : kind;\n };\n}\n\nfunction lifecycleStageFields(schemaShape: (typeof LifecycleStateSchema)['shape']) {\n return {\n currentStage: schemaShape.currentStage.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [LifecycleStage.SIGNED_UP]: { color: BadgeSemanticVariant.SECONDARY },\n [LifecycleStage.ACTIVATED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.ENGAGED]: { color: BadgeSemanticVariant.SUCCESS },\n [LifecycleStage.DORMANT]: { color: BadgeSemanticVariant.WARNING },\n [LifecycleStage.REACTIVATED]: { color: BadgeSemanticVariant.INFO },\n [LifecycleStage.CHURNED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [LifecycleStage.OFFBOARDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n };\n}\n\nexport function buildGuidanceMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_PROGRESSION_STATE]: resourceUIBehavior(userProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehavior(orgProgressionStateFactory, ProgressionStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Trophy,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.totalPoints} pts`,\n layout: {\n refs: {\n sections: ['overview', 'activity', 'milestones'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"totalPoints\" />\n </Section>\n <Section name=\"activity\">\n <DisplayField name=\"categoriesProgress\" />\n <DisplayField name=\"operationCounts\" />\n </Section>\n <Section name=\"milestones\">\n <DisplayField name=\"milestonesAchieved\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"totalPoints\" />\n </SummaryLayout>\n ),\n },\n fields: {\n totalPoints: schemaShape.totalPoints.numberUI({\n display: { displayMode: NumberDisplayMode.FORMATTED, showDescription: true },\n edit: { showDescription: true },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehavior(orgLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidancePlatformPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_GUIDANCE_STATE]: resourceUIBehavior(userGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('User guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehavior(orgGuidanceStateFactory, GuidanceStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: BookOpen,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: guidanceLabel('Organization guidance'),\n layout: {\n refs: {\n sections: ['overview'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"flows\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"flows\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"flows\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n // Guidance state is authored/tracked by the guidance engine — headless\n // (callable via API, no view: never created from a user-facing form).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n\n [R.USER_LIFECYCLE_STATE]: resourceUIBehavior(userLifecycleStateFactory, LifecycleStateSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Compass,\n emptyState: guidanceEmptyState,\n getFrontendResourceLabel: ({ currentObject }) => String(currentObject.currentStage),\n layout: {\n refs: {\n sections: ['overview', 'engagement', 'history'],\n },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"currentStage\" />\n <DisplayField name=\"stageEnteredAt\" />\n <DisplayField name=\"lastActiveAt\" />\n </Section>\n <Section name=\"engagement\">\n <DisplayField name=\"stagesVisited\" />\n <DisplayField name=\"activationCriteriaMet\" />\n <DisplayField name=\"engagement\" />\n </Section>\n <Section name=\"history\">\n <DisplayField name=\"stageHistory\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"currentStage\" />\n </SummaryLayout>\n ),\n },\n fields: lifecycleStageFields(schemaShape),\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildGuidanceAdminPresets(\n main: Partial<ResourceUIBehavior>,\n platform: Partial<ResourceUIBehavior>,\n): Partial<ResourceUIBehavior> {\n return {\n [R.ORGANIZATION_GUIDANCE_STATE]: resourceUIBehaviorFrom(\n orgGuidanceStateFactory, platform[R.ORGANIZATION_GUIDANCE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_PROGRESSION_STATE]: resourceUIBehaviorFrom(\n orgProgressionStateFactory, main[R.ORGANIZATION_PROGRESSION_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n [R.ORGANIZATION_LIFECYCLE_STATE]: resourceUIBehaviorFrom(\n orgLifecycleStateFactory, main[R.ORGANIZATION_LIFECYCLE_STATE]!, ({ base }) => ({\n icon: base.icon,\n emptyState: base.emptyState,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n layout: base.layout,\n fields: base.fields,\n views: Array.from(base.views.entries()).filter(([op]) => op !== Op.SEARCH),\n }),\n ),\n };\n}\n\nexport const guidanceMainPresets = buildGuidanceMainPresets();\nexport const guidancePlatformPresets = buildGuidancePlatformPresets();\nexport const guidanceAdminPresets = buildGuidanceAdminPresets(\n guidanceMainPresets,\n guidancePlatformPresets,\n);\n\nexport const userGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_GUIDANCE_STATE]!;\nexport const organizationGuidanceStatePlatformResourceUIBehavior = guidancePlatformPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const organizationGuidanceStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_GUIDANCE_STATE]!;\nexport const userProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.USER_PROGRESSION_STATE]!;\nexport const organizationProgressionStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const organizationProgressionStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_PROGRESSION_STATE]!;\nexport const userLifecycleStatePlatformResourceUIBehavior = guidancePlatformPresets[R.USER_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateMainResourceUIBehavior = guidanceMainPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\nexport const organizationLifecycleStateAdminResourceUIBehavior = guidanceAdminPresets[R.ORGANIZATION_LIFECYCLE_STATE]!;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"identity.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAuCtE;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,2BAA2B,gGAmErC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,gGAyCtC,CAAC;AAEJ,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAuVtE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuCxG;AAED,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,6BAAiD,CAAC;AAGnF,eAAO,MAAM,0BAA0B,gGAAoC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,gGAA6C,CAAC;AAC7F,eAAO,MAAM,qCAAqC,gGAAgD,CAAC;AACnG,eAAO,MAAM,oCAAoC,gGAA0C,CAAC;AAC5F,eAAO,MAAM,qCAAqC,gGAA2C,CAAC;AAC9F,eAAO,MAAM,8BAA8B,gGAAyC,CAAC;AACrF,eAAO,MAAM,iCAAiC,gGAA4C,CAAC;AAC3F,eAAO,MAAM,kCAAkC,gGAAwC,CAAC;AACxF,eAAO,MAAM,mCAAmC,gGAAyC,CAAC"}
1
+ {"version":3,"file":"identity.resource-presets.d.ts","sourceRoot":"","sources":["../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAuCtE;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,2BAA2B,gGAiErC,CAAC;AAEJ,eAAO,MAAM,4BAA4B,gGA+CtC,CAAC;AAEJ,wBAAgB,wBAAwB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAmVtE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuCxG;AAED,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAC9D,eAAO,MAAM,oBAAoB,6BAAiD,CAAC;AAGnF,eAAO,MAAM,0BAA0B,gGAAoC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,gGAA6C,CAAC;AAC7F,eAAO,MAAM,qCAAqC,gGAAgD,CAAC;AACnG,eAAO,MAAM,oCAAoC,gGAA0C,CAAC;AAC5F,eAAO,MAAM,qCAAqC,gGAA2C,CAAC;AAC9F,eAAO,MAAM,8BAA8B,gGAAyC,CAAC;AACrF,eAAO,MAAM,iCAAiC,gGAA4C,CAAC;AAC3F,eAAO,MAAM,kCAAkC,gGAAwC,CAAC;AACxF,eAAO,MAAM,mCAAmC,gGAAyC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility } from "@wildo-ai/saas-frontend-lib";
3
- import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout } from "@wildo-ai/saas-frontend-lib";
3
+ import { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, SummaryFlow, SummaryMeta, SummaryTitle } from "@wildo-ai/saas-frontend-lib";
4
4
  import { BadgeSemanticVariant, DisplayChromeMode, EditChromeMode, EnumDisplayMode, SectionMode, StringDisplayMode, StringEditMode, FileDisplayPresentation, FileMediaShape, FileMediaSize, } from "@wildo-ai/zod-decorators";
5
5
  import { CoreResourceType as R, CoreResourceOperation as Op, UserStatus, UserSelf_Operations, UserSelfPreferences_Operations, Users_Operations, userSelfResourceConfiguration_InitializationFactory as userSelfFactory, userSelfProfilesResourceConfiguration_InitializationFactory as userSelfProfilesFactory, userSelfPreferencesResourceConfiguration_InitializationFactory as userSelfPreferencesFactory, usersResourceConfiguration_InitializationFactory as usersFactory, anonymousUsersResourceConfiguration_InitializationFactory as anonymousUsersFactory, userProfilesResourceConfiguration_InitializationFactory as userProfilesFactory, userPreferencesResourceConfiguration_InitializationFactory as userPreferencesFactory, userFeaturesResourceConfiguration_InitializationFactory as userFeaturesFactory, UserSchema, UserProfileSchema, UserPreferencesSchema, AnonymousUserSchema, ScopeFeaturesWithOverridesSchema, } from "@wildo-ai/saas-models";
6
6
  import { Ban, KeyRound, Power, PowerOff, RotateCcw, ShieldMinus, ShieldPlus, UserCheck } from "lucide-react";
@@ -23,7 +23,7 @@ export const usersMainResourceUIBehavior = resourceUIBehavior(usersFactory, User
23
23
  layout: {
24
24
  refs: { sections: ["overview", "access", "lifecycle"] },
25
25
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "email" }), _jsx(DisplayField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(DisplayField, { name: "appRoles" }), _jsx(DisplayField, { name: "userTypes" })] }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "createdAt" }), _jsx(DisplayField, { name: "updatedAt" })] }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.INLINE }, targets: [] })] })),
26
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "email", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
26
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "email" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
27
27
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "email" }), _jsx(FormField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(FormField, { name: "appRoles" }), _jsx(FormField, { name: "userTypes" })] })] })),
28
28
  },
29
29
  fields: {
@@ -74,6 +74,12 @@ export const usersAdminResourceUIBehavior = resourceUIBehaviorFrom(usersFactory,
74
74
  [Users_Operations.REVOKE_ROLES, notAddressable({ iconOverride: ShieldMinus })],
75
75
  [Users_Operations.SUSPEND_USER, notAddressable({ iconOverride: Ban })],
76
76
  [Users_Operations.UNSUSPEND_USER, notAddressable({ iconOverride: UserCheck })],
77
+ // The only door back from a SELF-deactivated account (#430). Surfaced beside `unsuspend_user`
78
+ // because the two are the same shape of administrative reinstatement over disjoint source
79
+ // states; the resource specification documents it in its frontend views, and the merged frontend
80
+ // configuration is what that documentation is validated against at spec load — omitting it here
81
+ // is an ESM-import throw that crash-loops every companion.
82
+ [Users_Operations.REACTIVATE_USER, notAddressable({ iconOverride: RotateCcw })],
77
83
  [Users_Operations.FORCE_PASSWORD_RESET, notAddressable({ iconOverride: KeyRound })],
78
84
  ],
79
85
  }));
@@ -85,7 +91,7 @@ export function buildIdentityMainPresets() {
85
91
  layout: {
86
92
  refs: { sections: ["overview", "access", "lifecycle"] },
87
93
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "email" }), _jsx(DisplayField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(DisplayField, { name: "appRoles" }), _jsx(DisplayField, { name: "userTypes" })] }), _jsxs(Section, { name: "lifecycle", children: [_jsx(DisplayField, { name: "createdAt" }), _jsx(DisplayField, { name: "updatedAt" })] }), _jsx(RelatedResourceSections, { config: { mode: SectionMode.TABS }, targets: [R.ORGANIZATION_MEMBERS] })] })),
88
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "email", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
94
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "email" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "status" }), _jsx(DisplayField, { name: "createdAt" })] })] })),
89
95
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "email" }), _jsx(FormField, { name: "status" })] }), _jsxs(Section, { name: "access", children: [_jsx(FormField, { name: "appRoles" }), _jsx(FormField, { name: "userTypes" })] })] })),
90
96
  },
91
97
  views: [
@@ -112,7 +118,7 @@ export function buildIdentityMainPresets() {
112
118
  // Settings-page chrome (Settings Hub → Profile): label-left / value-right rows.
113
119
  defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
114
120
  display: () => (_jsxs(DisplayLayout, { children: [_jsx(DisplayField, { name: "displayName" }), _jsx(DisplayField, { name: "firstName" }), _jsx(DisplayField, { name: "lastName" }), _jsx(DisplayField, { name: "title" }), _jsx(DisplayField, { name: "avatar" }), _jsx(DisplayField, { name: "phoneNumber" }), _jsx(DisplayField, { name: "bio" })] })),
115
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx("div", { className: "font-medium leading-tight", children: _jsx(DisplayField, { name: "displayName", hideLabel: true }) }), _jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1", children: [_jsx(DisplayField, { name: "firstName" }), _jsx(DisplayField, { name: "lastName" })] })] })),
121
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(SummaryTitle, { name: "displayName" }), _jsxs(SummaryMeta, { children: [_jsx(DisplayField, { name: "firstName" }), _jsx(DisplayField, { name: "lastName" })] })] })),
116
122
  edit: () => (_jsxs(FormLayout, { children: [_jsx(FormField, { name: "displayName" }), _jsx(FormField, { name: "firstName" }), _jsx(FormField, { name: "lastName" }), _jsx(FormField, { name: "title" }), _jsx(FormField, { name: "avatar" }), _jsx(FormField, { name: "phoneNumber" }), _jsx(FormField, { name: "bio" })] })),
117
123
  },
118
124
  fields: {
@@ -158,7 +164,7 @@ export function buildIdentityMainPresets() {
158
164
  // Settings-page chrome (Settings Hub → Preferences): label-left / value-right rows.
159
165
  defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },
160
166
  display: () => (_jsxs(DisplayLayout, { children: [_jsx(Section, { name: "notifications", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "notifications", children: [_jsx(DisplayField, { name: "email" }), _jsx(DisplayField, { name: "push" }), _jsx(DisplayField, { name: "sms" }), _jsx(DisplayField, { name: "inApp" })] }) }), _jsx(Section, { name: "privacy", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "privacy", children: [_jsx(DisplayField, { name: "dataProcessingConsent" }), _jsx(DisplayField, { name: "privacyLevel" })] }) }), _jsx(Section, { name: "regional", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "regional", children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "dateFormat" }), _jsx(DisplayField, { name: "timeFormat" }), _jsx(DisplayField, { name: "locale" })] }) }), _jsx(Section, { name: "language", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(DisplayField, { name: "primaryLanguage" }), _jsx(DisplayField, { name: "fallbackLanguages" }), _jsx(DisplayField, { name: "autoDetect" }), _jsx(DisplayField, { name: "useOrganizationDefault" })] }) })] })),
161
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: [_jsx(ObjectScope, { name: "ui", children: _jsx(DisplayField, { name: "theme" }) }), _jsxs(ObjectScope, { name: "regional", children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" })] }), _jsx(ObjectScope, { name: "languagePreferences", children: _jsx(DisplayField, { name: "primaryLanguage" }) })] })),
167
+ summary: () => (_jsxs(SummaryLayout, { flow: SummaryFlow.ROW, children: [_jsx(ObjectScope, { name: "ui", children: _jsx(DisplayField, { name: "theme" }) }), _jsxs(ObjectScope, { name: "regional", children: [_jsx(DisplayField, { name: "timezone" }), _jsx(DisplayField, { name: "locale" })] }), _jsx(ObjectScope, { name: "languagePreferences", children: _jsx(DisplayField, { name: "primaryLanguage" }) })] })),
162
168
  edit: () => (_jsxs(FormLayout, { children: [_jsx(Section, { name: "notifications", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "notifications", children: [_jsx(FormField, { name: "email" }), _jsx(FormField, { name: "push" }), _jsx(FormField, { name: "sms" }), _jsx(FormField, { name: "inApp" })] }) }), _jsx(Section, { name: "privacy", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "privacy", children: [_jsx(FormField, { name: "dataProcessingConsent" }), _jsx(FormField, { name: "privacyLevel" })] }) }), _jsx(Section, { name: "regional", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "regional", children: [_jsx(FormField, { name: "timezone" }), _jsx(FormField, { name: "dateFormat" }), _jsx(FormField, { name: "timeFormat" }), _jsx(FormField, { name: "locale" })] }) }), _jsx(Section, { name: "language", appearance: SectionMode.CARD, children: _jsxs(ObjectScope, { name: "languagePreferences", children: [_jsx(FormField, { name: "primaryLanguage" }), _jsx(FormField, { name: "fallbackLanguages" }), _jsx(FormField, { name: "autoDetect" }), _jsx(FormField, { name: "useOrganizationDefault" })] }) })] })),
163
169
  },
164
170
  views: [
@@ -173,7 +179,7 @@ export function buildIdentityMainPresets() {
173
179
  layout: {
174
180
  refs: { sections: ["overview", "privacy", "context"] },
175
181
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "transpositionStatus" }), _jsx(DisplayField, { name: "convertedToUserId" }), _jsx(DisplayField, { name: "createdAt" })] }), _jsx(Section, { name: "privacy", children: _jsx(DisplayField, { name: "privacy" }) }), _jsxs(Section, { name: "context", children: [_jsx(DisplayField, { name: "userAgent" }), _jsx(DisplayField, { name: "ipHash" })] })] })),
176
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-sm", children: [_jsx(DisplayField, { name: "transpositionStatus" }), _jsx(DisplayField, { name: "createdAt" })] })),
182
+ summary: () => (_jsxs(SummaryLayout, { flow: SummaryFlow.ROW, children: [_jsx(DisplayField, { name: "transpositionStatus" }), _jsx(DisplayField, { name: "createdAt" })] })),
177
183
  },
178
184
  views: [[Op.READ, notAddressable()]],
179
185
  })),
@@ -181,7 +187,7 @@ export function buildIdentityMainPresets() {
181
187
  layout: {
182
188
  refs: { sections: ["overview", "overrides"] },
183
189
  display: () => (_jsxs(DisplayLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(DisplayField, { name: "addedFeatures" }), _jsx(DisplayField, { name: "removedFeatures" }), _jsx(DisplayField, { name: "limitOverrides" })] }) })] })),
184
- summary: () => (_jsxs(SummaryLayout, { className: "flex flex-col gap-2 text-sm", children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
190
+ summary: () => (_jsxs(SummaryLayout, { children: [_jsx(DisplayField, { name: "features" }), _jsx(DisplayField, { name: "limits" })] })),
185
191
  edit: () => (_jsxs(FormLayout, { children: [_jsxs(Section, { name: "overview", appearance: SectionMode.CARD, children: [_jsx(FormField, { name: "features" }), _jsx(FormField, { name: "limits" })] }), _jsx(Section, { name: "overrides", children: _jsxs(ObjectScope, { name: "manualOverrides", children: [_jsx(FormField, { name: "addedFeatures" }), _jsx(FormField, { name: "removedFeatures" }), _jsx(FormField, { name: "limitOverrides" })] }) })] })),
186
192
  },
187
193
  views: [
@@ -1 +1 @@
1
- {"version":3,"file":"identity.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport type { ResourceUIBehavior } from \"@wildo-ai/saas-frontend-lib\";\nimport { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility } from \"@wildo-ai/saas-frontend-lib\";\nimport { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout } from \"@wildo-ai/saas-frontend-lib\";\nimport {\n BadgeSemanticVariant,\n DisplayChromeMode,\n EditChromeMode,\n EnumDisplayMode,\n SectionMode,\n StringDisplayMode,\n StringEditMode,\n FileDisplayPresentation,\n FileMediaShape,\n FileMediaSize,\n} from \"@wildo-ai/zod-decorators\";\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n UserStatus,\n UserSelf_Operations,\n UserSelfPreferences_Operations,\n Users_Operations,\n userSelfResourceConfiguration_InitializationFactory as userSelfFactory,\n userSelfProfilesResourceConfiguration_InitializationFactory as userSelfProfilesFactory,\n userSelfPreferencesResourceConfiguration_InitializationFactory as userSelfPreferencesFactory,\n usersResourceConfiguration_InitializationFactory as usersFactory,\n anonymousUsersResourceConfiguration_InitializationFactory as anonymousUsersFactory,\n userProfilesResourceConfiguration_InitializationFactory as userProfilesFactory,\n userPreferencesResourceConfiguration_InitializationFactory as userPreferencesFactory,\n userFeaturesResourceConfiguration_InitializationFactory as userFeaturesFactory,\n UserSchema,\n UserProfileSchema,\n UserPreferencesSchema,\n AnonymousUserSchema,\n ScopeFeaturesWithOverridesSchema,\n} from \"@wildo-ai/saas-models\";\nimport { Ban, KeyRound, Power, PowerOff, RotateCcw, ShieldMinus, ShieldPlus, UserCheck } from \"lucide-react\";\nimport { addressable, notAddressable, apiOnly } from \"./resource.config.utils\";\n\n/**\n * Identity & Users — Resource frontend presets\n *\n * **Main:** USER_SELF, USER_SELF_PROFILES, USER_SELF_PREFERENCES, USERS (read-only for\n * mentions/assignments), ANONYMOUS_USERS, USER_FEATURES. End users use the `_SELF` variants\n * for their own profiles/preferences — USER_PROFILES and USER_PREFERENCES are **admin-only**.\n *\n * **Admin:** USERS (LIST addressable — user management page), USER_PROFILES, USER_PREFERENCES,\n * ANONYMOUS_USERS, USER_FEATURES.\n *\n * Field-level `{primitive}UI` follows the billing convention: inline `values` for enums, and\n * `showDescription: true`. Layout templates are implemented inline in each resource config.\n */\n\nexport const usersMainResourceUIBehavior = resourceUIBehavior(usersFactory, UserSchema, ({ schemaShape }) => ({\n icon: StandardIconReference.USERS,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n Composes NO children. A user's owned children here are membership rows,\n invoice/usage records and the guidance / progression / lifecycle state\n machinery — none of which belongs on the user's own record. The ADMIN\n variant extends this display and names the two it does show.\n */}\n <RelatedResourceSections config={{ mode: SectionMode.INLINE }} targets={[]} />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"email\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n fields: {\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [UserStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [UserStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [UserStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [UserStatus.PENDING_VERIFICATION]: { color: BadgeSemanticVariant.WARNING },\n [UserStatus.PENDING_INVITATION]: { color: BadgeSemanticVariant.INFO },\n [UserStatus.DELETED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n views: [[Op.READ, notAddressable()]],\n}));\n\nexport const usersAdminResourceUIBehavior = resourceUIBehaviorFrom(usersFactory, usersMainResourceUIBehavior, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // Extends the shared base display: both variants use one layout object but\n // compose different children — the base none, this one the profile and\n // preference records an operator manages. Both are 1:1, so they render through\n // READ rather than a collection LIST.\n layout: {\n ...base.layout,\n display: () => {\n const BaseDisplay = base.layout!.display!;\n return (\n <>\n <BaseDisplay />\n <RelatedResourceSections\n config={{ mode: SectionMode.INLINE }}\n targets={[\n { resourceType: R.USER_PROFILES, operationLike: Op.READ },\n { resourceType: R.USER_PREFERENCES, operationLike: Op.READ },\n ]}\n />\n </>\n );\n },\n },\n fields: base.fields,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.LIST, \"admin\"), addressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // CREATE has a form view but its action is suppressed here: users self-signup\n // or are invited — admin direct-create is a high-risk path, not a list action.\n [Op.CREATE, notAddressable({ actionVisibility: ActionVisibility.HIDDEN })],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n [Users_Operations.ASSIGN_ROLES, notAddressable({ iconOverride: ShieldPlus })],\n [Users_Operations.REVOKE_ROLES, notAddressable({ iconOverride: ShieldMinus })],\n [Users_Operations.SUSPEND_USER, notAddressable({ iconOverride: Ban })],\n [Users_Operations.UNSUSPEND_USER, notAddressable({ iconOverride: UserCheck })],\n [Users_Operations.FORCE_PASSWORD_RESET, notAddressable({ iconOverride: KeyRound })],\n ],\n}));\n\nexport function buildIdentityMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_SELF]: resourceUIBehavior(userSelfFactory, UserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n A user's own record shows the organizations they belong to. Their\n self profile and preference rows are NOT composed here: both have\n dedicated settings surfaces, and repeating them would show the same\n record twice under one page.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_MEMBERS]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"email\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n // Profile / preferences edits ride the dedicated `USER_SELF_PROFILES` /\n // `USER_SELF_PREFERENCES` child resources declared below — the `UPDATE_PROFILE` /\n // `UPDATE_PREFERENCES` verbs were removed on 2026-08-01 (they declared another\n // resource's schema, so they answered 200 having persisted nothing).\n // No self-delete action: `DELETE_ACCOUNT` was removed on 2026-08-01 — data-subject erasure\n // is a system-level API with no route. See the `UserSelf_Operations` enum comment.\n [UserSelf_Operations.DEACTIVATE_ACCOUNT, notAddressable({ iconOverride: PowerOff })],\n [UserSelf_Operations.REACTIVATE_ACCOUNT, notAddressable({ iconOverride: Power })],\n ],\n })),\n\n [R.USER_SELF_PROFILES]: resourceUIBehavior(userSelfProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: {\n // Flat, sectionless profile: a single settings-row list (no cards, no\n // section headers). The old identity/contact/profile grouping added\n // visual chrome without semantic value on a short self-profile form.\n refs: { sections: [] },\n // Settings-page chrome (Settings Hub → Profile): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n <DisplayField name=\"title\" />\n <DisplayField name=\"avatar\" />\n <DisplayField name=\"phoneNumber\" />\n <DisplayField name=\"bio\" />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <div className=\"font-medium leading-tight\">\n <DisplayField name=\"displayName\" hideLabel />\n </div>\n <div className=\"flex flex-wrap items-center gap-x-3 gap-y-1\">\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n </div>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <FormField name=\"displayName\" />\n <FormField name=\"firstName\" />\n <FormField name=\"lastName\" />\n <FormField name=\"title\" />\n <FormField name=\"avatar\" />\n <FormField name=\"phoneNumber\" />\n <FormField name=\"bio\" />\n </FormLayout>\n ),\n },\n fields: {\n // Title is optional metadata — hide the row on the READ view until set\n // (the edit form still renders it so it can be filled).\n title: schemaShape.title.stringUI({ display: { hideWhenEmpty: true } }),\n // Avatar renders INLINE as a small CIRCLE on display (opt-in), no caption — the\n // natural profile-picture look. Bytes are fetched over the authenticated\n // resource-integrated serve route (authz inherits the profile READ); without the\n // opt-in a file field shows the neutral file card.\n avatar: schemaShape.avatar.fileUI({\n display: {\n presentation: FileDisplayPresentation.THUMBNAIL,\n preview: { shape: FileMediaShape.CIRCLE, size: FileMediaSize.MD, showCaption: false },\n },\n }),\n // Bio is long-form prose: rich markdown on display, a markdown SOURCE\n // editor (syntax-tinted, CodeMirror-backed, lazy-loaded) on edit.\n // The edit control opts OUT of the layout's SETTINGS_ROW default\n // (label-left / narrow end column): long-form writing needs the full row\n // width, so the field authors STACKED — label above, editor spanning.\n bio: schemaShape.bio.stringUI({\n display: { displayMode: StringDisplayMode.MARKDOWN, hideWhenEmpty: true },\n edit: { editMode: StringEditMode.MARKDOWN, chromeMode: EditChromeMode.STACKED },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n // Self-profile is auto-created on signup — headless (callable via API, no view).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.USER_SELF_PREFERENCES]: resourceUIBehavior(userSelfPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: {\n // Settings-page sections — each preference GROUP is its own CARD so the\n // Settings Hub → Preferences page reads as distinct titled blocks\n // (Notifications / Privacy / Regional / Language) rather than one flat\n // list. `appearance` (UI theme) is intentionally NOT a section here — see\n // the omission note in the display/edit templates.\n refs: { sections: [\"notifications\", \"privacy\", \"regional\", \"language\"] },\n // Settings-page chrome (Settings Hub → Preferences): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <DisplayField name=\"email\" />\n <DisplayField name=\"push\" />\n <DisplayField name=\"sms\" />\n <DisplayField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/*\n Privacy contains only the two user-facing preference decisions below. Governed\n notice, contract and consent interactions are exact-release records in a separate\n runtime boundary and must never be rendered or edited as preference members.\n */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <DisplayField name=\"dataProcessingConsent\" />\n <DisplayField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/*\n UI theme is intentionally OMITTED from this preferences page. The\n dedicated \"Appearance\" Settings-Hub panel (AppPage_AppearanceSettings)\n owns theme selection — surfacing `ui.theme` here too duplicated the\n same control on two surfaces. The `ui` field remains in the schema and\n the summary projection as the persisted value; only the editable\n duplicate on this page is removed. (If theme should instead be owned\n here and the Appearance panel retired, flip this and remove that panel.)\n */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"dateFormat\" />\n <DisplayField name=\"timeFormat\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n <DisplayField name=\"fallbackLanguages\" />\n <DisplayField name=\"autoDetect\" />\n <DisplayField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <ObjectScope name=\"ui\">\n <DisplayField name=\"theme\" />\n </ObjectScope>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <FormField name=\"email\" />\n <FormField name=\"push\" />\n <FormField name=\"sms\" />\n <FormField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/* Privacy: edit only the consent SETTINGS — see the display layout note above. */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <FormField name=\"dataProcessingConsent\" />\n <FormField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/* UI theme intentionally OMITTED — owned by the Appearance Settings-Hub\n panel; see the display-template omission note above. */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <FormField name=\"timezone\" />\n <FormField name=\"dateFormat\" />\n <FormField name=\"timeFormat\" />\n <FormField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <FormField name=\"primaryLanguage\" />\n <FormField name=\"fallbackLanguages\" />\n <FormField name=\"autoDetect\" />\n <FormField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [UserSelfPreferences_Operations.RESET_TO_DEFAULTS, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n\n [R.USERS]: usersMainResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehavior(anonymousUsersFactory, AnonymousUserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n layout: {\n refs: { sections: [\"overview\", \"privacy\", \"context\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"convertedToUserId\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n <Section name=\"privacy\">\n <DisplayField name=\"privacy\" />\n </Section>\n <Section name=\"context\">\n <DisplayField name=\"userAgent\" />\n <DisplayField name=\"ipHash\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-wrap items-center gap-x-3 gap-y-1 text-sm\">\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"createdAt\" />\n </SummaryLayout>\n ),\n },\n views: [[Op.READ, notAddressable()]],\n })),\n\n [R.USER_FEATURES]: resourceUIBehavior(userFeaturesFactory, ScopeFeaturesWithOverridesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: { sections: [\"overview\", \"overrides\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <DisplayField name=\"addedFeatures\" />\n <DisplayField name=\"removedFeatures\" />\n <DisplayField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout className=\"flex flex-col gap-2 text-sm\">\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"features\" />\n <FormField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <FormField name=\"addedFeatures\" />\n <FormField name=\"removedFeatures\" />\n <FormField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildIdentityAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.USERS]: usersAdminResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehaviorFrom(anonymousUsersFactory, main[R.ANONYMOUS_USERS]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.LIST, notAddressable()]],\n })),\n\n [R.USER_PROFILES]: resourceUIBehavior(userProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: main[R.USER_SELF_PROFILES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // Profiles are created programmatically alongside the user — headless (API-only).\n [opsVariantResolver(Op.CREATE, \"admin\"), apiOnly()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.DELETE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_PREFERENCES]: resourceUIBehavior(userPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: main[R.USER_SELF_PREFERENCES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_FEATURES]: resourceUIBehaviorFrom(userFeaturesFactory, main[R.USER_FEATURES]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.UPDATE, notAddressable()]],\n })),\n };\n}\n\nexport const identityMainPresets = buildIdentityMainPresets();\nexport const identityAdminPresets = buildIdentityAdminPresets(identityMainPresets);\n\n// Named re-exports for `*.resource.specification.ts` (mergeResourceFrontendConfigurations + `codeHandling.frontendConfigurationSources`).\nexport const userSelfResourceUIBehavior = identityMainPresets[R.USER_SELF]!;\nexport const userSelfProfilesResourceUIBehavior = identityMainPresets[R.USER_SELF_PROFILES]!;\nexport const userSelfPreferencesResourceUIBehavior = identityMainPresets[R.USER_SELF_PREFERENCES]!;\nexport const anonymousUsersMainResourceUIBehavior = identityMainPresets[R.ANONYMOUS_USERS]!;\nexport const anonymousUsersAdminResourceUIBehavior = identityAdminPresets[R.ANONYMOUS_USERS]!;\nexport const userProfilesResourceUIBehavior = identityAdminPresets[R.USER_PROFILES]!;\nexport const userPreferencesResourceUIBehavior = identityAdminPresets[R.USER_PREFERENCES]!;\nexport const userFeaturesMainResourceUIBehavior = identityMainPresets[R.USER_FEATURES]!;\nexport const userFeaturesAdminResourceUIBehavior = identityAdminPresets[R.USER_FEATURES]!;\n"]}
1
+ {"version":3,"file":"identity.resource-presets.js","sourceRoot":"","sources":["../../../../src/config/resources/identity.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport type { ResourceUIBehavior } from \"@wildo-ai/saas-frontend-lib\";\nimport { resourceUIBehavior, resourceUIBehaviorFrom, StandardIconReference, ActionVisibility } from \"@wildo-ai/saas-frontend-lib\";\nimport { DisplayField, DisplayLayout, FormField, FormLayout, ObjectScope, RelatedResourceSections, Section, SummaryLayout, SummaryFlow, SummaryMeta, SummaryTitle } from \"@wildo-ai/saas-frontend-lib\";\nimport {\n BadgeSemanticVariant,\n DisplayChromeMode,\n EditChromeMode,\n EnumDisplayMode,\n SectionMode,\n StringDisplayMode,\n StringEditMode,\n FileDisplayPresentation,\n FileMediaShape,\n FileMediaSize,\n} from \"@wildo-ai/zod-decorators\";\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n UserStatus,\n UserSelf_Operations,\n UserSelfPreferences_Operations,\n Users_Operations,\n userSelfResourceConfiguration_InitializationFactory as userSelfFactory,\n userSelfProfilesResourceConfiguration_InitializationFactory as userSelfProfilesFactory,\n userSelfPreferencesResourceConfiguration_InitializationFactory as userSelfPreferencesFactory,\n usersResourceConfiguration_InitializationFactory as usersFactory,\n anonymousUsersResourceConfiguration_InitializationFactory as anonymousUsersFactory,\n userProfilesResourceConfiguration_InitializationFactory as userProfilesFactory,\n userPreferencesResourceConfiguration_InitializationFactory as userPreferencesFactory,\n userFeaturesResourceConfiguration_InitializationFactory as userFeaturesFactory,\n UserSchema,\n UserProfileSchema,\n UserPreferencesSchema,\n AnonymousUserSchema,\n ScopeFeaturesWithOverridesSchema,\n} from \"@wildo-ai/saas-models\";\nimport { Ban, KeyRound, Power, PowerOff, RotateCcw, ShieldMinus, ShieldPlus, UserCheck } from \"lucide-react\";\nimport { addressable, notAddressable, apiOnly } from \"./resource.config.utils\";\n\n/**\n * Identity & Users — Resource frontend presets\n *\n * **Main:** USER_SELF, USER_SELF_PROFILES, USER_SELF_PREFERENCES, USERS (read-only for\n * mentions/assignments), ANONYMOUS_USERS, USER_FEATURES. End users use the `_SELF` variants\n * for their own profiles/preferences — USER_PROFILES and USER_PREFERENCES are **admin-only**.\n *\n * **Admin:** USERS (LIST addressable — user management page), USER_PROFILES, USER_PREFERENCES,\n * ANONYMOUS_USERS, USER_FEATURES.\n *\n * Field-level `{primitive}UI` follows the billing convention: inline `values` for enums, and\n * `showDescription: true`. Layout templates are implemented inline in each resource config.\n */\n\nexport const usersMainResourceUIBehavior = resourceUIBehavior(usersFactory, UserSchema, ({ schemaShape }) => ({\n icon: StandardIconReference.USERS,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n Composes NO children. A user's owned children here are membership rows,\n invoice/usage records and the guidance / progression / lifecycle state\n machinery — none of which belongs on the user's own record. The ADMIN\n variant extends this display and names the two it does show.\n */}\n <RelatedResourceSections config={{ mode: SectionMode.INLINE }} targets={[]} />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"email\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n fields: {\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [UserStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [UserStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [UserStatus.SUSPENDED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [UserStatus.PENDING_VERIFICATION]: { color: BadgeSemanticVariant.WARNING },\n [UserStatus.PENDING_INVITATION]: { color: BadgeSemanticVariant.INFO },\n [UserStatus.DELETED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n views: [[Op.READ, notAddressable()]],\n}));\n\nexport const usersAdminResourceUIBehavior = resourceUIBehaviorFrom(usersFactory, usersMainResourceUIBehavior, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // Extends the shared base display: both variants use one layout object but\n // compose different children — the base none, this one the profile and\n // preference records an operator manages. Both are 1:1, so they render through\n // READ rather than a collection LIST.\n layout: {\n ...base.layout,\n display: () => {\n const BaseDisplay = base.layout!.display!;\n return (\n <>\n <BaseDisplay />\n <RelatedResourceSections\n config={{ mode: SectionMode.INLINE }}\n targets={[\n { resourceType: R.USER_PROFILES, operationLike: Op.READ },\n { resourceType: R.USER_PREFERENCES, operationLike: Op.READ },\n ]}\n />\n </>\n );\n },\n },\n fields: base.fields,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.LIST, \"admin\"), addressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // CREATE has a form view but its action is suppressed here: users self-signup\n // or are invited — admin direct-create is a high-risk path, not a list action.\n [Op.CREATE, notAddressable({ actionVisibility: ActionVisibility.HIDDEN })],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n [Users_Operations.ASSIGN_ROLES, notAddressable({ iconOverride: ShieldPlus })],\n [Users_Operations.REVOKE_ROLES, notAddressable({ iconOverride: ShieldMinus })],\n [Users_Operations.SUSPEND_USER, notAddressable({ iconOverride: Ban })],\n [Users_Operations.UNSUSPEND_USER, notAddressable({ iconOverride: UserCheck })],\n // The only door back from a SELF-deactivated account (#430). Surfaced beside `unsuspend_user`\n // because the two are the same shape of administrative reinstatement over disjoint source\n // states; the resource specification documents it in its frontend views, and the merged frontend\n // configuration is what that documentation is validated against at spec load — omitting it here\n // is an ESM-import throw that crash-loops every companion.\n [Users_Operations.REACTIVATE_USER, notAddressable({ iconOverride: RotateCcw })],\n [Users_Operations.FORCE_PASSWORD_RESET, notAddressable({ iconOverride: KeyRound })],\n ],\n}));\n\nexport function buildIdentityMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.USER_SELF]: resourceUIBehavior(userSelfFactory, UserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.email,\n layout: {\n refs: { sections: [\"overview\", \"access\", \"lifecycle\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"email\" />\n <DisplayField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"appRoles\" />\n <DisplayField name=\"userTypes\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n {/*\n A user's own record shows the organizations they belong to. Their\n self profile and preference rows are NOT composed here: both have\n dedicated settings surfaces, and repeating them would show the same\n record twice under one page.\n */}\n <RelatedResourceSections\n config={{ mode: SectionMode.TABS }}\n targets={[R.ORGANIZATION_MEMBERS]}\n />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"email\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"createdAt\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"email\" />\n <FormField name=\"status\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"appRoles\" />\n <FormField name=\"userTypes\" />\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n // Profile / preferences edits ride the dedicated `USER_SELF_PROFILES` /\n // `USER_SELF_PREFERENCES` child resources declared below — the `UPDATE_PROFILE` /\n // `UPDATE_PREFERENCES` verbs were removed on 2026-08-01 (they declared another\n // resource's schema, so they answered 200 having persisted nothing).\n // No self-delete action: `DELETE_ACCOUNT` was removed on 2026-08-01 — data-subject erasure\n // is a system-level API with no route. See the `UserSelf_Operations` enum comment.\n [UserSelf_Operations.DEACTIVATE_ACCOUNT, notAddressable({ iconOverride: PowerOff })],\n [UserSelf_Operations.REACTIVATE_ACCOUNT, notAddressable({ iconOverride: Power })],\n ],\n })),\n\n [R.USER_SELF_PROFILES]: resourceUIBehavior(userSelfProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: {\n // Flat, sectionless profile: a single settings-row list (no cards, no\n // section headers). The old identity/contact/profile grouping added\n // visual chrome without semantic value on a short self-profile form.\n refs: { sections: [] },\n // Settings-page chrome (Settings Hub → Profile): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n <DisplayField name=\"title\" />\n <DisplayField name=\"avatar\" />\n <DisplayField name=\"phoneNumber\" />\n <DisplayField name=\"bio\" />\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"displayName\" />\n <SummaryMeta>\n <DisplayField name=\"firstName\" />\n <DisplayField name=\"lastName\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <FormField name=\"displayName\" />\n <FormField name=\"firstName\" />\n <FormField name=\"lastName\" />\n <FormField name=\"title\" />\n <FormField name=\"avatar\" />\n <FormField name=\"phoneNumber\" />\n <FormField name=\"bio\" />\n </FormLayout>\n ),\n },\n fields: {\n // Title is optional metadata — hide the row on the READ view until set\n // (the edit form still renders it so it can be filled).\n title: schemaShape.title.stringUI({ display: { hideWhenEmpty: true } }),\n // Avatar renders INLINE as a small CIRCLE on display (opt-in), no caption — the\n // natural profile-picture look. Bytes are fetched over the authenticated\n // resource-integrated serve route (authz inherits the profile READ); without the\n // opt-in a file field shows the neutral file card.\n avatar: schemaShape.avatar.fileUI({\n display: {\n presentation: FileDisplayPresentation.THUMBNAIL,\n preview: { shape: FileMediaShape.CIRCLE, size: FileMediaSize.MD, showCaption: false },\n },\n }),\n // Bio is long-form prose: rich markdown on display, a markdown SOURCE\n // editor (syntax-tinted, CodeMirror-backed, lazy-loaded) on edit.\n // The edit control opts OUT of the layout's SETTINGS_ROW default\n // (label-left / narrow end column): long-form writing needs the full row\n // width, so the field authors STACKED — label above, editor spanning.\n bio: schemaShape.bio.stringUI({\n display: { displayMode: StringDisplayMode.MARKDOWN, hideWhenEmpty: true },\n edit: { editMode: StringEditMode.MARKDOWN, chromeMode: EditChromeMode.STACKED },\n }),\n },\n views: [\n [Op.READ, notAddressable()],\n // Self-profile is auto-created on signup — headless (callable via API, no view).\n [Op.CREATE, apiOnly()],\n [Op.UPDATE, notAddressable()],\n ],\n })),\n\n [R.USER_SELF_PREFERENCES]: resourceUIBehavior(userSelfPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: {\n // Settings-page sections — each preference GROUP is its own CARD so the\n // Settings Hub → Preferences page reads as distinct titled blocks\n // (Notifications / Privacy / Regional / Language) rather than one flat\n // list. `appearance` (UI theme) is intentionally NOT a section here — see\n // the omission note in the display/edit templates.\n refs: { sections: [\"notifications\", \"privacy\", \"regional\", \"language\"] },\n // Settings-page chrome (Settings Hub → Preferences): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: () => (\n <DisplayLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <DisplayField name=\"email\" />\n <DisplayField name=\"push\" />\n <DisplayField name=\"sms\" />\n <DisplayField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/*\n Privacy contains only the two user-facing preference decisions below. Governed\n notice, contract and consent interactions are exact-release records in a separate\n runtime boundary and must never be rendered or edited as preference members.\n */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <DisplayField name=\"dataProcessingConsent\" />\n <DisplayField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/*\n UI theme is intentionally OMITTED from this preferences page. The\n dedicated \"Appearance\" Settings-Hub panel (AppPage_AppearanceSettings)\n owns theme selection — surfacing `ui.theme` here too duplicated the\n same control on two surfaces. The `ui` field remains in the schema and\n the summary projection as the persisted value; only the editable\n duplicate on this page is removed. (If theme should instead be owned\n here and the Appearance panel retired, flip this and remove that panel.)\n */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"dateFormat\" />\n <DisplayField name=\"timeFormat\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n <DisplayField name=\"fallbackLanguages\" />\n <DisplayField name=\"autoDetect\" />\n <DisplayField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <ObjectScope name=\"ui\">\n <DisplayField name=\"theme\" />\n </ObjectScope>\n <ObjectScope name=\"regional\">\n <DisplayField name=\"timezone\" />\n <DisplayField name=\"locale\" />\n </ObjectScope>\n <ObjectScope name=\"languagePreferences\">\n <DisplayField name=\"primaryLanguage\" />\n </ObjectScope>\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"notifications\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"notifications\">\n <FormField name=\"email\" />\n <FormField name=\"push\" />\n <FormField name=\"sms\" />\n <FormField name=\"inApp\" />\n </ObjectScope>\n </Section>\n {/* Privacy: edit only the consent SETTINGS — see the display layout note above. */}\n <Section name=\"privacy\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"privacy\">\n <FormField name=\"dataProcessingConsent\" />\n <FormField name=\"privacyLevel\" />\n </ObjectScope>\n </Section>\n {/* UI theme intentionally OMITTED — owned by the Appearance Settings-Hub\n panel; see the display-template omission note above. */}\n <Section name=\"regional\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"regional\">\n <FormField name=\"timezone\" />\n <FormField name=\"dateFormat\" />\n <FormField name=\"timeFormat\" />\n <FormField name=\"locale\" />\n </ObjectScope>\n </Section>\n <Section name=\"language\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"languagePreferences\">\n <FormField name=\"primaryLanguage\" />\n <FormField name=\"fallbackLanguages\" />\n <FormField name=\"autoDetect\" />\n <FormField name=\"useOrganizationDefault\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [UserSelfPreferences_Operations.RESET_TO_DEFAULTS, notAddressable({ iconOverride: RotateCcw })],\n ],\n })),\n\n [R.USERS]: usersMainResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehavior(anonymousUsersFactory, AnonymousUserSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.USER,\n layout: {\n refs: { sections: [\"overview\", \"privacy\", \"context\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"convertedToUserId\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n <Section name=\"privacy\">\n <DisplayField name=\"privacy\" />\n </Section>\n <Section name=\"context\">\n <DisplayField name=\"userAgent\" />\n <DisplayField name=\"ipHash\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"transpositionStatus\" />\n <DisplayField name=\"createdAt\" />\n </SummaryLayout>\n ),\n },\n views: [[Op.READ, notAddressable()]],\n })),\n\n [R.USER_FEATURES]: resourceUIBehavior(userFeaturesFactory, ScopeFeaturesWithOverridesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n layout: {\n refs: { sections: [\"overview\", \"overrides\"] },\n display: () => (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <DisplayField name=\"addedFeatures\" />\n <DisplayField name=\"removedFeatures\" />\n <DisplayField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <DisplayField name=\"features\" />\n <DisplayField name=\"limits\" />\n </SummaryLayout>\n ),\n edit: () => (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"features\" />\n <FormField name=\"limits\" />\n </Section>\n <Section name=\"overrides\">\n <ObjectScope name=\"manualOverrides\">\n <FormField name=\"addedFeatures\" />\n <FormField name=\"removedFeatures\" />\n <FormField name=\"limitOverrides\" />\n </ObjectScope>\n </Section>\n </FormLayout>\n ),\n },\n views: [\n [Op.READ, notAddressable()],\n [Op.SEARCH, notAddressable()],\n ],\n })),\n };\n}\n\nexport function buildIdentityAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n [R.USERS]: usersAdminResourceUIBehavior,\n\n [R.ANONYMOUS_USERS]: resourceUIBehaviorFrom(anonymousUsersFactory, main[R.ANONYMOUS_USERS]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.LIST, notAddressable()]],\n })),\n\n [R.USER_PROFILES]: resourceUIBehavior(userProfilesFactory, UserProfileSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.PROFILE,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.firstName} ${currentObject.lastName}`.trim(),\n layout: main[R.USER_SELF_PROFILES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.SEARCH, \"admin\"), notAddressable()],\n // Profiles are created programmatically alongside the user — headless (API-only).\n [opsVariantResolver(Op.CREATE, \"admin\"), apiOnly()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.DELETE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_PREFERENCES]: resourceUIBehavior(userPreferencesFactory, UserPreferencesSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.SETTINGS,\n layout: main[R.USER_SELF_PREFERENCES]?.layout,\n views: [\n [opsVariantResolver(Op.READ, \"admin\"), notAddressable()],\n [opsVariantResolver(Op.UPDATE, \"admin\"), notAddressable()],\n ],\n })),\n\n [R.USER_FEATURES]: resourceUIBehaviorFrom(userFeaturesFactory, main[R.USER_FEATURES]!, ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [[Op.UPDATE, notAddressable()]],\n })),\n };\n}\n\nexport const identityMainPresets = buildIdentityMainPresets();\nexport const identityAdminPresets = buildIdentityAdminPresets(identityMainPresets);\n\n// Named re-exports for `*.resource.specification.ts` (mergeResourceFrontendConfigurations + `codeHandling.frontendConfigurationSources`).\nexport const userSelfResourceUIBehavior = identityMainPresets[R.USER_SELF]!;\nexport const userSelfProfilesResourceUIBehavior = identityMainPresets[R.USER_SELF_PROFILES]!;\nexport const userSelfPreferencesResourceUIBehavior = identityMainPresets[R.USER_SELF_PREFERENCES]!;\nexport const anonymousUsersMainResourceUIBehavior = identityMainPresets[R.ANONYMOUS_USERS]!;\nexport const anonymousUsersAdminResourceUIBehavior = identityAdminPresets[R.ANONYMOUS_USERS]!;\nexport const userProfilesResourceUIBehavior = identityAdminPresets[R.USER_PROFILES]!;\nexport const userPreferencesResourceUIBehavior = identityAdminPresets[R.USER_PREFERENCES]!;\nexport const userFeaturesMainResourceUIBehavior = identityMainPresets[R.USER_FEATURES]!;\nexport const userFeaturesAdminResourceUIBehavior = identityAdminPresets[R.USER_FEATURES]!;\n"]}
@@ -17,6 +17,28 @@ import type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';
17
17
  export declare const RESOURCES_FRONTEND_MAIN_APP: ResourceUIBehavior;
18
18
  /** Complete resource frontend configuration for the admin application. */
19
19
  export declare const RESOURCES_FRONTEND_ADMIN_APP: ResourceUIBehavior;
20
- /** Complete resource frontend configuration for the platform layer (companion, internal tooling). */
20
+ /**
21
+ * Complete resource frontend configuration for the platform layer (companion, internal tooling).
22
+ *
23
+ * ## There is deliberately no `jobExecutions` / `jobPayloadStorage` preset — decided 2026-09-08 (#469)
24
+ *
25
+ * One used to exist: a per-status colour map and per-field display modes for both resources. It
26
+ * rendered nowhere and never could — every operation on both is `REPOSITORY_ONLY`, so no route and
27
+ * no generated screen can reach them — and its existence made the absence of a job browser look
28
+ * like an oversight rather than a decision. It was deleted rather than wired.
29
+ *
30
+ * So an operator does NOT get "what happened to this job" from inside the product. That is the
31
+ * accepted cost. Where to look instead:
32
+ *
33
+ * - **A parked or dead-lettered job** is a BROKER-level concern; inspect and replay it with the
34
+ * broker's own tooling. See the note on `QueueBackendService`.
35
+ * - **A worker that outran its shutdown grace period** is an ORCHESTRATOR-level concern; see the
36
+ * note on `WorkerShutdownManagerBackendService`.
37
+ *
38
+ * If that ever bites, the option to revisit FIRST is the middle one that was not taken: queue depth
39
+ * in the health signal and a recorded event on a grace-period overrun, WITHOUT a job-execution read
40
+ * surface — it catches fleet-level problems without exposing job payloads, which may carry personal
41
+ * data. Restoring display behaviour is the last step, not the first.
42
+ */
21
43
  export declare const RESOURCES_FRONTEND_PLATFORM: ResourceUIBehavior;
22
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AActE,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,EAAE,kBAQzC,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,EAAE,kBAQ1C,CAAC;AAEF,qGAAqG;AACrG,eAAO,MAAM,2BAA2B,EAAE,kBAGzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/config/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAatE,yEAAyE;AACzE,eAAO,MAAM,2BAA2B,EAAE,kBAQzC,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,EAAE,kBAQ1C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,2BAA2B,EAAE,kBAEzC,CAAC"}
@@ -19,7 +19,6 @@ import { securityAdminPresets, securityMainPresets } from './security.resource-p
19
19
  import { billingAdminPresets, billingMainPresets } from './billing.resource-presets.js';
20
20
  import { webhooksAdminPresets, webhooksMainPresets } from './webhooks.resource-presets.js';
21
21
  import { guidanceAdminPresets, guidanceMainPresets, guidancePlatformPresets } from './guidance.resource-presets.js';
22
- import { infrastructurePlatformPresets } from './infrastructure.resource-presets.js';
23
22
  function mergePresets(...partials) {
24
23
  return Object.assign({}, ...partials);
25
24
  }
@@ -27,6 +26,28 @@ function mergePresets(...partials) {
27
26
  export const RESOURCES_FRONTEND_MAIN_APP = mergePresets(identityMainPresets, organizationsMainPresets, applicationMainPresets, securityMainPresets, billingMainPresets, webhooksMainPresets, guidanceMainPresets);
28
27
  /** Complete resource frontend configuration for the admin application. */
29
28
  export const RESOURCES_FRONTEND_ADMIN_APP = mergePresets(identityAdminPresets, organizationsAdminPresets, applicationAdminPresets, securityAdminPresets, billingAdminPresets, webhooksAdminPresets, guidanceAdminPresets);
30
- /** Complete resource frontend configuration for the platform layer (companion, internal tooling). */
31
- export const RESOURCES_FRONTEND_PLATFORM = mergePresets(guidancePlatformPresets, infrastructurePlatformPresets);
29
+ /**
30
+ * Complete resource frontend configuration for the platform layer (companion, internal tooling).
31
+ *
32
+ * ## There is deliberately no `jobExecutions` / `jobPayloadStorage` preset — decided 2026-09-08 (#469)
33
+ *
34
+ * One used to exist: a per-status colour map and per-field display modes for both resources. It
35
+ * rendered nowhere and never could — every operation on both is `REPOSITORY_ONLY`, so no route and
36
+ * no generated screen can reach them — and its existence made the absence of a job browser look
37
+ * like an oversight rather than a decision. It was deleted rather than wired.
38
+ *
39
+ * So an operator does NOT get "what happened to this job" from inside the product. That is the
40
+ * accepted cost. Where to look instead:
41
+ *
42
+ * - **A parked or dead-lettered job** is a BROKER-level concern; inspect and replay it with the
43
+ * broker's own tooling. See the note on `QueueBackendService`.
44
+ * - **A worker that outran its shutdown grace period** is an ORCHESTRATOR-level concern; see the
45
+ * note on `WorkerShutdownManagerBackendService`.
46
+ *
47
+ * If that ever bites, the option to revisit FIRST is the middle one that was not taken: queue depth
48
+ * in the health signal and a recorded event on a grace-period overrun, WITHOUT a job-execution read
49
+ * surface — it catches fleet-level problems without exposing job payloads, which may carry personal
50
+ * data. Restoring display behaviour is the last step, not the first.
51
+ */
52
+ export const RESOURCES_FRONTEND_PLATFORM = mergePresets(guidancePlatformPresets);
32
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/config/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACjH,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,SAAS,YAAY,CAAC,GAAG,QAAuC;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAuB,CAAC;AAC9D,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,2BAA2B,GAAuB,YAAY,CACzE,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,CACpB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,4BAA4B,GAAuB,YAAY,CAC1E,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;AAEF,qGAAqG;AACrG,MAAM,CAAC,MAAM,2BAA2B,GAAuB,YAAY,CACzE,uBAAuB,EACvB,6BAA6B,CAC9B,CAAC","sourcesContent":["/**\n * Resource frontend presets — domain-oriented aggregation\n *\n * Three application scopes:\n * - **MAIN_APP** — end-user facing, role-filtered at runtime\n * - **ADMIN_APP** — app administrator / platform operator\n * - **PLATFORM** — Wildo platform layer (companion, internal tooling, CLI)\n *\n * Each domain file exports `buildXxxMainPresets`, `buildXxxAdminPresets`, and/or\n * `buildXxxPlatformPresets` depending on where its resources belong.\n *\n * **Canonical layout + template pattern:** `billing.resource-presets.tsx` (inline arrow\n * templates, `defaultChromeMode`, `useFormTemplateContext` / `useDisplayTemplateContext`).\n */\n\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport { identityAdminPresets, identityMainPresets } from './identity.resource-presets';\nimport { organizationsAdminPresets, organizationsMainPresets } from './organizations.resource-presets';\nimport { applicationAdminPresets, applicationMainPresets } from './application.resource-presets';\nimport { securityAdminPresets, securityMainPresets } from './security.resource-presets';\nimport { billingAdminPresets, billingMainPresets } from './billing.resource-presets';\nimport { webhooksAdminPresets, webhooksMainPresets } from './webhooks.resource-presets';\nimport { guidanceAdminPresets, guidanceMainPresets, guidancePlatformPresets } from './guidance.resource-presets';\nimport { infrastructurePlatformPresets } from './infrastructure.resource-presets';\n\nfunction mergePresets(...partials: Partial<ResourceUIBehavior>[]): ResourceUIBehavior {\n return Object.assign({}, ...partials) as ResourceUIBehavior;\n}\n\n/** Complete resource frontend configuration for the main application. */\nexport const RESOURCES_FRONTEND_MAIN_APP: ResourceUIBehavior = mergePresets(\n identityMainPresets,\n organizationsMainPresets,\n applicationMainPresets,\n securityMainPresets,\n billingMainPresets,\n webhooksMainPresets,\n guidanceMainPresets,\n);\n\n/** Complete resource frontend configuration for the admin application. */\nexport const RESOURCES_FRONTEND_ADMIN_APP: ResourceUIBehavior = mergePresets(\n identityAdminPresets,\n organizationsAdminPresets,\n applicationAdminPresets,\n securityAdminPresets,\n billingAdminPresets,\n webhooksAdminPresets,\n guidanceAdminPresets,\n);\n\n/** Complete resource frontend configuration for the platform layer (companion, internal tooling). */\nexport const RESOURCES_FRONTEND_PLATFORM: ResourceUIBehavior = mergePresets(\n guidancePlatformPresets,\n infrastructurePlatformPresets,\n);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEjH,SAAS,YAAY,CAAC,GAAG,QAAuC;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAuB,CAAC;AAC9D,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,2BAA2B,GAAuB,YAAY,CACzE,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,CACpB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,4BAA4B,GAAuB,YAAY,CAC1E,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAuB,YAAY,CACzE,uBAAuB,CACxB,CAAC","sourcesContent":["/**\n * Resource frontend presets — domain-oriented aggregation\n *\n * Three application scopes:\n * - **MAIN_APP** — end-user facing, role-filtered at runtime\n * - **ADMIN_APP** — app administrator / platform operator\n * - **PLATFORM** — Wildo platform layer (companion, internal tooling, CLI)\n *\n * Each domain file exports `buildXxxMainPresets`, `buildXxxAdminPresets`, and/or\n * `buildXxxPlatformPresets` depending on where its resources belong.\n *\n * **Canonical layout + template pattern:** `billing.resource-presets.tsx` (inline arrow\n * templates, `defaultChromeMode`, `useFormTemplateContext` / `useDisplayTemplateContext`).\n */\n\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport { identityAdminPresets, identityMainPresets } from './identity.resource-presets';\nimport { organizationsAdminPresets, organizationsMainPresets } from './organizations.resource-presets';\nimport { applicationAdminPresets, applicationMainPresets } from './application.resource-presets';\nimport { securityAdminPresets, securityMainPresets } from './security.resource-presets';\nimport { billingAdminPresets, billingMainPresets } from './billing.resource-presets';\nimport { webhooksAdminPresets, webhooksMainPresets } from './webhooks.resource-presets';\nimport { guidanceAdminPresets, guidanceMainPresets, guidancePlatformPresets } from './guidance.resource-presets';\n\nfunction mergePresets(...partials: Partial<ResourceUIBehavior>[]): ResourceUIBehavior {\n return Object.assign({}, ...partials) as ResourceUIBehavior;\n}\n\n/** Complete resource frontend configuration for the main application. */\nexport const RESOURCES_FRONTEND_MAIN_APP: ResourceUIBehavior = mergePresets(\n identityMainPresets,\n organizationsMainPresets,\n applicationMainPresets,\n securityMainPresets,\n billingMainPresets,\n webhooksMainPresets,\n guidanceMainPresets,\n);\n\n/** Complete resource frontend configuration for the admin application. */\nexport const RESOURCES_FRONTEND_ADMIN_APP: ResourceUIBehavior = mergePresets(\n identityAdminPresets,\n organizationsAdminPresets,\n applicationAdminPresets,\n securityAdminPresets,\n billingAdminPresets,\n webhooksAdminPresets,\n guidanceAdminPresets,\n);\n\n/**\n * Complete resource frontend configuration for the platform layer (companion, internal tooling).\n *\n * ## There is deliberately no `jobExecutions` / `jobPayloadStorage` preset — decided 2026-09-08 (#469)\n *\n * One used to exist: a per-status colour map and per-field display modes for both resources. It\n * rendered nowhere and never could — every operation on both is `REPOSITORY_ONLY`, so no route and\n * no generated screen can reach them — and its existence made the absence of a job browser look\n * like an oversight rather than a decision. It was deleted rather than wired.\n *\n * So an operator does NOT get \"what happened to this job\" from inside the product. That is the\n * accepted cost. Where to look instead:\n *\n * - **A parked or dead-lettered job** is a BROKER-level concern; inspect and replay it with the\n * broker's own tooling. See the note on `QueueBackendService`.\n * - **A worker that outran its shutdown grace period** is an ORCHESTRATOR-level concern; see the\n * note on `WorkerShutdownManagerBackendService`.\n *\n * If that ever bites, the option to revisit FIRST is the middle one that was not taken: queue depth\n * in the health signal and a recorded event on a grace-period overrun, WITHOUT a job-execution read\n * surface — it catches fleet-level problems without exposing job payloads, which may carry personal\n * data. Restoring display behaviour is the last step, not the first.\n */\nexport const RESOURCES_FRONTEND_PLATFORM: ResourceUIBehavior = mergePresets(\n guidancePlatformPresets,\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/organizations.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAmC,MAAM,6BAA6B,CAAC;AAiGvG,wBAAgB,6BAA6B,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAghB3E;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2B7G;AAED,eAAO,MAAM,wBAAwB,6BAAkC,CAAC;AACxE,eAAO,MAAM,yBAAyB,6BAA2D,CAAC;AAElG,eAAO,MAAM,sCAAsC,gGAA6C,CAAC;AACjG,eAAO,MAAM,uCAAuC,gGAA8C,CAAC;AACnG,eAAO,MAAM,uCAAuC,gGAAkD,CAAC;AACvG,eAAO,MAAM,yCAAyC,gGAAoD,CAAC;AAC3G,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,+CAA+C,gGAA0D,CAAC;AACvH,eAAO,MAAM,6CAA6C,gGAAwD,CAAC;AACnH,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,2CAA2C,gGAAsD,CAAC"}
1
+ {"version":3,"file":"organizations.resource-presets.d.ts","sourceRoot":"","sources":["../../../../src/config/resources/organizations.resource-presets.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAmC,MAAM,6BAA6B,CAAC;AAoGvG,wBAAgB,6BAA6B,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA0gB3E;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2B7G;AAED,eAAO,MAAM,wBAAwB,6BAAkC,CAAC;AACxE,eAAO,MAAM,yBAAyB,6BAA2D,CAAC;AAElG,eAAO,MAAM,sCAAsC,gGAA6C,CAAC;AACjG,eAAO,MAAM,uCAAuC,gGAA8C,CAAC;AACnG,eAAO,MAAM,uCAAuC,gGAAkD,CAAC;AACvG,eAAO,MAAM,yCAAyC,gGAAoD,CAAC;AAC3G,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,+CAA+C,gGAA0D,CAAC;AACvH,eAAO,MAAM,6CAA6C,gGAAwD,CAAC;AACnH,eAAO,MAAM,0CAA0C,gGAAqD,CAAC;AAC7G,eAAO,MAAM,2CAA2C,gGAAsD,CAAC"}