@wildo-ai/presets-components 1.1.4 → 1.1.6

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 (780) hide show
  1. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  2. package/dist/esm/components/actions/action-bar.js +65 -8
  3. package/dist/esm/components/actions/action-bar.js.map +1 -1
  4. package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
  5. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  6. package/dist/esm/components/actions/action-button.js +3 -3
  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.js +62 -3
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
  14. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.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.js +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +4 -0
  22. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
  23. package/dist/esm/components/ai-elements/artifacts/diff-block.js +165 -0
  24. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
  25. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts +3 -0
  26. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts.map +1 -0
  27. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js +63 -0
  28. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js.map +1 -0
  29. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
  33. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/chat/suggestion.js +8 -1
  45. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  46. package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
  48. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
  49. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
  50. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
  51. package/dist/esm/components/ai-elements/decision/approval.d.ts +124 -17
  52. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/approval.js +105 -13
  54. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  55. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/task.js +1 -1
  63. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  64. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  66. package/dist/esm/components/ai-elements/execution/tool.js +8 -1
  67. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  68. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts +3 -1
  78. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/graph/graph-runtime.js +3 -1
  80. package/dist/esm/components/ai-elements/graph/graph-runtime.js.map +1 -1
  81. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
  83. package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
  84. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
  91. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/meta/agent.js +23 -18
  93. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  94. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  96. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  97. package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
  98. package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
  99. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  101. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  103. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  105. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  106. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  107. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  108. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  109. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
  110. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  111. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
  112. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  113. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  114. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  115. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  116. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  117. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  118. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  119. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  120. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  121. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  122. package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
  123. package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
  124. package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
  125. package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
  126. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
  127. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
  128. package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
  129. package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
  130. package/dist/esm/components/app/app-layout-main-container.d.ts +9 -0
  131. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  132. package/dist/esm/components/app/app-layout-main-container.js +17 -23
  133. package/dist/esm/components/app/app-layout-main-container.js.map +1 -1
  134. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  135. package/dist/esm/components/app/app-layout-main-container.labels.js +48 -0
  136. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  137. package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
  138. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  139. package/dist/esm/components/app/public-layout-main-container.js +9 -8
  140. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  141. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  142. package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
  143. package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
  144. package/dist/esm/components/app/public-layout-terms.js +137 -0
  145. package/dist/esm/components/app/public-layout-terms.js.map +1 -0
  146. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  147. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
  148. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  149. package/dist/esm/components/billing/billing-invoice-history.js +3 -1
  150. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  151. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  152. package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
  153. package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
  154. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -0
  155. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  156. package/dist/esm/components/billing/billing-plan-change-preview.js +25 -0
  157. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  158. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
  159. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
  160. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +22 -0
  161. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
  162. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
  163. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  164. package/dist/esm/components/billing/billing-portal-link.js +3 -1
  165. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  166. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  167. package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
  168. package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
  169. package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
  170. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  171. package/dist/esm/components/billing/billing-pricing-table.js +10 -4
  172. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  173. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  174. package/dist/esm/components/billing/billing-pricing-table.labels.js +8 -1
  175. package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
  176. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
  177. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  178. package/dist/esm/components/billing/billing-subscription-status.js +3 -1
  179. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  180. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  181. package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
  182. package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
  183. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
  184. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  185. package/dist/esm/components/billing/billing-usage-dashboard.js +10 -7
  186. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  187. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  188. package/dist/esm/components/billing/billing-usage-dashboard.labels.js +4 -1
  189. package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
  190. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  191. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  192. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  193. package/dist/esm/components/data-display/badge.js +16 -15
  194. package/dist/esm/components/data-display/badge.js.map +1 -1
  195. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  196. package/dist/esm/components/data-display/description-list.d.ts +2 -1
  197. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  198. package/dist/esm/components/data-display/description-list.js +24 -8
  199. package/dist/esm/components/data-display/description-list.js.map +1 -1
  200. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  201. package/dist/esm/components/data-display/duration.d.ts +15 -0
  202. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  203. package/dist/esm/components/data-display/duration.js +50 -0
  204. package/dist/esm/components/data-display/duration.js.map +1 -0
  205. package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
  206. package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
  207. package/dist/esm/components/data-display/duration.labels.js +35 -0
  208. package/dist/esm/components/data-display/duration.labels.js.map +1 -0
  209. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
  210. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  211. package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
  212. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  213. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
  214. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
  215. package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
  216. package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
  217. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  218. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
  219. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  220. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  221. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  222. package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
  223. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  224. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  225. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  226. package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
  227. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  228. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  229. package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
  230. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  231. package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
  232. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  233. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  234. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
  235. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  236. package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
  237. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  238. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  239. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  240. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  241. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  242. package/dist/esm/components/data-display/formatters/display-field-enum.js +29 -11
  243. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  244. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  245. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  246. package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
  247. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  248. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  249. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
  250. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  251. package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
  252. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  253. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  254. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
  255. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
  256. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  257. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  258. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  259. package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
  260. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  261. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  262. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  263. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  265. package/dist/esm/components/data-display/formatters/display-field-file.js +14 -15
  266. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  267. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  268. package/dist/esm/components/data-display/formatters/display-field-file.labels.js +2 -0
  269. package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
  270. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  272. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  274. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  275. package/dist/esm/components/data-display/formatters/display-field-number.js +8 -3
  276. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  277. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/formatters/display-field-number.labels.js +5 -2
  279. package/dist/esm/components/data-display/formatters/display-field-number.labels.js.map +1 -1
  280. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  281. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  283. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  285. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  286. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  287. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  289. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  291. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  292. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  293. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  294. package/dist/esm/components/data-display/formatters/display-field-string.d.ts +1 -1
  295. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/formatters/display-field-string.js +129 -15
  297. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  298. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  299. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  301. package/dist/esm/components/data-display/identifier.d.ts +19 -0
  302. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  303. package/dist/esm/components/data-display/identifier.js +21 -0
  304. package/dist/esm/components/data-display/identifier.js.map +1 -0
  305. package/dist/esm/components/data-display/kbd.d.ts +17 -0
  306. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  307. package/dist/esm/components/data-display/kbd.js +18 -0
  308. package/dist/esm/components/data-display/kbd.js.map +1 -0
  309. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  311. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
  313. package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
  314. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  315. package/dist/esm/components/data-display/notification-indicator.js +3 -11
  316. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  317. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
  319. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
  320. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
  321. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
  322. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
  323. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
  324. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
  325. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
  326. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
  327. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
  329. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
  330. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
  331. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
  333. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
  334. package/dist/esm/components/data-display/timeline.d.ts +3 -0
  335. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  336. package/dist/esm/components/data-display/timeline.js +92 -0
  337. package/dist/esm/components/data-display/timeline.js.map +1 -0
  338. package/dist/esm/components/data-display/untrusted-html-content.d.ts +55 -0
  339. package/dist/esm/components/data-display/untrusted-html-content.d.ts.map +1 -0
  340. package/dist/esm/components/data-display/untrusted-html-content.js +67 -0
  341. package/dist/esm/components/data-display/untrusted-html-content.js.map +1 -0
  342. package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
  343. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  344. package/dist/esm/components/feedback/celebration-overlay.js +146 -22
  345. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  346. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  347. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  348. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  349. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  350. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  351. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  352. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  353. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  354. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  355. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  356. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  357. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  358. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  359. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  360. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  361. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  362. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  363. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  364. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  365. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  367. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  368. package/dist/esm/components/feedback/notification-center.js +5 -5
  369. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  370. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
  371. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  372. package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
  373. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  374. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  375. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  376. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  377. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  378. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  379. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  380. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  381. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  382. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  383. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  384. package/dist/esm/components/form/chromes/field.js +11 -3
  385. package/dist/esm/components/form/chromes/field.js.map +1 -1
  386. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  387. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  388. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  389. package/dist/esm/components/form/chromes/form-primitive.labels.js +37 -0
  390. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  391. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  392. package/dist/esm/components/form/combobox.js +14 -13
  393. package/dist/esm/components/form/combobox.js.map +1 -1
  394. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  395. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts +42 -0
  396. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts.map +1 -0
  397. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js +120 -0
  398. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js.map +1 -0
  399. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts +16 -0
  400. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts.map +1 -0
  401. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js +8 -0
  402. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js.map +1 -0
  403. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  404. package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
  405. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  406. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  407. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  408. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  409. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  410. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  411. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  412. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  413. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  414. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  415. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  416. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
  417. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
  418. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  419. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  420. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  421. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  422. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  423. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  424. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  425. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  426. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  427. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  428. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  429. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  430. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
  431. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
  432. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  433. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  434. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  435. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  436. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
  437. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
  438. package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
  439. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  440. package/dist/esm/components/form/controls/enum/radio.js +13 -12
  441. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  442. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  443. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  444. package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
  445. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  446. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  447. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  448. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  449. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  450. package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
  451. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  452. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  453. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  454. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  455. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  456. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  457. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
  458. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
  459. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
  460. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
  461. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
  462. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
  463. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
  464. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
  465. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +3 -1
  466. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -1
  467. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +3 -1
  468. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -1
  469. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +6 -0
  470. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -1
  471. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +8 -1
  472. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -1
  473. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +6 -2
  474. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -1
  475. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +6 -2
  476. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -1
  477. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +6 -0
  478. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -1
  479. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +8 -1
  480. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -1
  481. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  482. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  483. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  484. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  485. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  486. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  487. package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
  488. package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
  489. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  490. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  491. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  492. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  493. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  494. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  495. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  496. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  497. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  498. package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
  499. package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
  500. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  501. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  502. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  503. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  504. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  505. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  506. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  507. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  508. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  509. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  510. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  511. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  512. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  513. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  514. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  515. package/dist/esm/components/navigation/app-level/activity-bar.js +2 -2
  516. package/dist/esm/components/navigation/app-level/activity-bar.js.map +1 -1
  517. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  518. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  519. package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
  520. package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
  521. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  523. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  524. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  525. package/dist/esm/components/navigation/app-level/menu-user-org.js +10 -4
  526. package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
  527. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  528. package/dist/esm/components/navigation/app-level/menu-user-org.labels.js +7 -0
  529. package/dist/esm/components/navigation/app-level/menu-user-org.labels.js.map +1 -1
  530. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/menubar.js +36 -14
  532. package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
  533. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  534. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  535. package/dist/esm/components/navigation/app-level/navigation-back.js +31 -5
  536. package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
  537. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  539. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  540. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  541. package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
  542. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  543. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  544. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
  546. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
  547. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  548. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  549. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  550. package/dist/esm/components/navigation/app-level/sidebar.js +41 -25
  551. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  552. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  553. package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
  554. package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
  555. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  556. package/dist/esm/components/navigation/app-level/status-bar.js +2 -2
  557. package/dist/esm/components/navigation/app-level/status-bar.js.map +1 -1
  558. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  559. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  560. package/dist/esm/components/navigation/app-level/toolbar.js +2 -2
  561. package/dist/esm/components/navigation/app-level/toolbar.js.map +1 -1
  562. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  563. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  564. package/dist/esm/components/navigation/app-level/utility-panel.js +24 -6
  565. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  566. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  567. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  568. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  569. package/dist/esm/components/navigation/breadcrumb.js +1 -1
  570. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  571. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  572. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  573. package/dist/esm/components/navigation/command.js +2 -2
  574. package/dist/esm/components/navigation/command.js.map +1 -1
  575. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  576. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  577. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  578. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  579. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  580. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  581. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  582. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  583. package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
  584. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  585. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  586. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  587. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  588. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  589. package/dist/esm/components/overlays/containers/dialog.js +11 -1
  590. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  591. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  592. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  593. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  594. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  595. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  596. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  597. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  598. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  599. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  600. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  601. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  602. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  603. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  604. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  605. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  606. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  607. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  608. package/dist/esm/components/sections/card.d.ts.map +1 -1
  609. package/dist/esm/components/sections/card.js +71 -6
  610. package/dist/esm/components/sections/card.js.map +1 -1
  611. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  612. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  613. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  614. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  615. package/dist/esm/components/sections/content-section.js +36 -6
  616. package/dist/esm/components/sections/content-section.js.map +1 -1
  617. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
  618. package/dist/esm/components/sections/option-gesture.d.ts +15 -0
  619. package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
  620. package/dist/esm/components/sections/option-gesture.js +66 -0
  621. package/dist/esm/components/sections/option-gesture.js.map +1 -0
  622. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  623. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  624. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  625. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  626. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  627. package/dist/esm/components/sections/stepper.js +5 -3
  628. package/dist/esm/components/sections/stepper.js.map +1 -1
  629. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  630. package/dist/esm/components/sections/table.d.ts.map +1 -1
  631. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  632. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  633. package/dist/esm/components/sections/tabs.js +60 -15
  634. package/dist/esm/components/sections/tabs.js.map +1 -1
  635. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  636. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  637. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  638. package/dist/esm/components/typography/label.d.ts.map +1 -1
  639. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  640. package/dist/esm/components/typography/link.d.ts.map +1 -1
  641. package/dist/esm/components/typography/link.js +9 -3
  642. package/dist/esm/components/typography/link.js.map +1 -1
  643. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  644. package/dist/esm/components/typography/text.d.ts +1 -1
  645. package/dist/esm/components/typography/text.d.ts.map +1 -1
  646. package/dist/esm/components/typography/text.js +3 -2
  647. package/dist/esm/components/typography/text.js.map +1 -1
  648. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  649. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  650. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  651. package/dist/esm/config/index.d.ts.map +1 -1
  652. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  653. package/dist/esm/config/preset-design-system.js +37 -60
  654. package/dist/esm/config/preset-design-system.js.map +1 -1
  655. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  656. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  657. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  658. package/dist/esm/config/preset-navigation.js +23 -7
  659. package/dist/esm/config/preset-navigation.js.map +1 -1
  660. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  661. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  662. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  663. package/dist/esm/config/presets.d.ts.map +1 -1
  664. package/dist/esm/config/resources/agent-work.resource-presets.d.ts +4 -0
  665. package/dist/esm/config/resources/agent-work.resource-presets.d.ts.map +1 -0
  666. package/dist/esm/config/resources/agent-work.resource-presets.js +115 -0
  667. package/dist/esm/config/resources/agent-work.resource-presets.js.map +1 -0
  668. package/dist/esm/config/resources/api-key-rotation-window.d.ts +22 -0
  669. package/dist/esm/config/resources/api-key-rotation-window.d.ts.map +1 -0
  670. package/dist/esm/config/resources/api-key-rotation-window.js +45 -0
  671. package/dist/esm/config/resources/api-key-rotation-window.js.map +1 -0
  672. package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
  673. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  674. package/dist/esm/config/resources/application.resource-presets.js +268 -26
  675. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  676. package/dist/esm/config/resources/billing.resource-presets.d.ts +4 -3
  677. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  678. package/dist/esm/config/resources/billing.resource-presets.js +241 -111
  679. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  680. package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts +4 -0
  681. package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts.map +1 -0
  682. package/dist/esm/config/resources/conversation-threads.resource-presets.js +105 -0
  683. package/dist/esm/config/resources/conversation-threads.resource-presets.js.map +1 -0
  684. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  685. package/dist/esm/config/resources/guidance.resource-presets.js +39 -16
  686. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  687. package/dist/esm/config/resources/identity.resource-presets.d.ts +0 -13
  688. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  689. package/dist/esm/config/resources/identity.resource-presets.js +71 -17
  690. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  691. package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts +6 -0
  692. package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts.map +1 -0
  693. package/dist/esm/config/resources/inbound-deliveries.resource-presets.js +112 -0
  694. package/dist/esm/config/resources/inbound-deliveries.resource-presets.js.map +1 -0
  695. package/dist/esm/config/resources/inbound-email.resource-presets.d.ts +4 -0
  696. package/dist/esm/config/resources/inbound-email.resource-presets.d.ts.map +1 -0
  697. package/dist/esm/config/resources/inbound-email.resource-presets.js +182 -0
  698. package/dist/esm/config/resources/inbound-email.resource-presets.js.map +1 -0
  699. package/dist/esm/config/resources/index.d.ts.map +1 -1
  700. package/dist/esm/config/resources/index.js +9 -2
  701. package/dist/esm/config/resources/index.js.map +1 -1
  702. package/dist/esm/config/resources/legal-holds.resource-presets.d.ts +4 -0
  703. package/dist/esm/config/resources/legal-holds.resource-presets.d.ts.map +1 -0
  704. package/dist/esm/config/resources/legal-holds.resource-presets.js +76 -0
  705. package/dist/esm/config/resources/legal-holds.resource-presets.js.map +1 -0
  706. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  707. package/dist/esm/config/resources/organizations.resource-presets.js +216 -35
  708. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  709. package/dist/esm/config/resources/resource.config.utils.d.ts +20 -0
  710. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  711. package/dist/esm/config/resources/resource.config.utils.js +20 -0
  712. package/dist/esm/config/resources/resource.config.utils.js.map +1 -1
  713. package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts +5 -0
  714. package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts.map +1 -0
  715. package/dist/esm/config/resources/retention-enforcement.resource-presets.js +74 -0
  716. package/dist/esm/config/resources/retention-enforcement.resource-presets.js.map +1 -0
  717. package/dist/esm/config/resources/security.resource-presets.d.ts +11 -3
  718. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  719. package/dist/esm/config/resources/security.resource-presets.js +685 -99
  720. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  721. package/dist/esm/config/resources/service-providers.resource-presets.d.ts +4 -0
  722. package/dist/esm/config/resources/service-providers.resource-presets.d.ts.map +1 -0
  723. package/dist/esm/config/resources/service-providers.resource-presets.js +321 -0
  724. package/dist/esm/config/resources/service-providers.resource-presets.js.map +1 -0
  725. package/dist/esm/config/resources/webhooks.resource-presets.d.ts +4 -3
  726. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  727. package/dist/esm/config/resources/webhooks.resource-presets.js +102 -26
  728. package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
  729. package/dist/esm/index.d.ts +7 -1
  730. package/dist/esm/index.d.ts.map +1 -1
  731. package/dist/esm/index.js +7 -1
  732. package/dist/esm/index.js.map +1 -1
  733. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  734. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  735. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  736. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  737. package/dist/esm/registration/register-common-enums.js +63 -34
  738. package/dist/esm/registration/register-common-enums.js.map +1 -1
  739. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  740. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  741. package/dist/esm/registration/register-default-icons.js +3 -1
  742. package/dist/esm/registration/register-default-icons.js.map +1 -1
  743. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  744. package/dist/esm/registration/register-default-presets.js +32 -4
  745. package/dist/esm/registration/register-default-presets.js.map +1 -1
  746. package/dist/esm/registration/register-provider-components.d.ts.map +1 -1
  747. package/dist/esm/registration/register-provider-components.js +11 -0
  748. package/dist/esm/registration/register-provider-components.js.map +1 -1
  749. package/dist/esm/shiki-subset.d.ts +11 -3
  750. package/dist/esm/shiki-subset.d.ts.map +1 -1
  751. package/dist/esm/shiki-subset.js +10 -2
  752. package/dist/esm/shiki-subset.js.map +1 -1
  753. package/dist/esm/theme-exports.d.ts.map +1 -1
  754. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  755. package/dist/esm/themes/cozy.theme.js +19 -5
  756. package/dist/esm/themes/cozy.theme.js.map +1 -1
  757. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  758. package/dist/esm/themes/dense.theme.js +76 -10
  759. package/dist/esm/themes/dense.theme.js.map +1 -1
  760. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  761. package/dist/esm/themes/editorial.theme.js +19 -5
  762. package/dist/esm/themes/editorial.theme.js.map +1 -1
  763. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  764. package/dist/esm/themes/glass.theme.js +5 -1
  765. package/dist/esm/themes/glass.theme.js.map +1 -1
  766. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  767. package/dist/esm/themes/neo-brutalist.theme.js +9 -2
  768. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  769. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  770. package/dist/esm/themes/terminal.theme.js +19 -5
  771. package/dist/esm/themes/terminal.theme.js.map +1 -1
  772. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  773. package/dist/esm/themes/trading.theme.js +22 -6
  774. package/dist/esm/themes/trading.theme.js.map +1 -1
  775. package/dist/tsconfig.build.tsbuildinfo +1 -1
  776. package/package.json +31 -45
  777. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
  778. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
  779. package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
  780. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"notification-center.js","sourceRoot":"","sources":["../../../../src/components/feedback/notification-center.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\"\nimport {\n NotificationCenterNotification,\n NotificationCenterProps,\n cn,\n Button,\n ButtonVariants_Variant,\n ScrollArea,\n Surface,\n} from '@wildo-ai/saas-frontend-lib';\n\nimport { ButtonSize, SurfaceVariant } from \"@wildo-ai/presets-components-models\"\n\n// ─────────────────────────────────────────────────────────────\n// Helpers\n// ─────────────────────────────────────────────────────────────\n\nfunction getRelativeTime(\n timestamp: number,\n labels: Pick<NotificationCenterProps, 'labelTimeJustNow' | 'formatTimeMinutesAgo' | 'formatTimeHoursAgo' | 'formatTimeDaysAgo'>\n): string {\n const diff = Date.now() - timestamp;\n const minutes = Math.floor(diff / 60000);\n const hours = Math.floor(diff / 3600000);\n const days = Math.floor(diff / 86400000);\n\n if (minutes < 1) return labels.labelTimeJustNow ?? 'Just now';\n if (minutes < 60) return labels.formatTimeMinutesAgo?.(minutes) ?? `${minutes}m ago`;\n if (hours < 24) return labels.formatTimeHoursAgo?.(hours) ?? `${hours}h ago`;\n return labels.formatTimeDaysAgo?.(days) ?? `${days}d ago`;\n}\n\nconst TYPE_INDICATORS: Record<string, string> = {\n success: 'bg-success',\n error: 'bg-destructive',\n warning: 'bg-warning',\n info: 'bg-info',\n};\n\n// ─────────────────────────────────────────────────────────────\n// Component\n// ─────────────────────────────────────────────────────────────\n\n/**\n * NotificationCenter — generic, resource-agnostic SESSION-FEED component.\n *\n * A pure UI component that displays what has arrived since the page loaded, with relative timestamps\n * and per-item actions. Read/unread state was removed on 2026-09-08 (#412): the store behind it has\n * no persistence, so \"read\" was a property that died with the page and marking something read meant\n * nothing. Does NOT know about resources, i18n, or\n * any engine concepts — all labels are passed as props.\n *\n * For engine integration, see the notification-center wrapper in saas-frontend-lib\n * which wires NotificationContext and resolves i18n labels.\n */\nexport const NotificationCenter = React.forwardRef<HTMLDivElement, NotificationCenterProps>(\n (\n {\n notifications,\n sessionCount,\n onRemove,\n onClearAll,\n labelTitle = 'Notifications',\n labelNoNotifications = 'Nothing since this page loaded',\n labelClearAll = 'Clear all',\n labelDismiss = 'Dismiss',\n labelTimeJustNow,\n formatTimeMinutesAgo,\n formatTimeHoursAgo,\n formatTimeDaysAgo,\n className,\n ...props\n },\n ref,\n ) => {\n const timeLabels = { labelTimeJustNow, formatTimeMinutesAgo, formatTimeHoursAgo, formatTimeDaysAgo };\n\n return (\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.RAISED}>\n <div\n ref={ref}\n className={cn(\n \"flex flex-col w-full max-w-sm border border-border rounded-lg bg-popover shadow-[var(--shadow-lg)]\",\n className,\n )}\n {...props}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between px-card py-element border-b border-border\">\n <div className=\"flex items-center gap-element\">\n <h3 className=\"text-sm font-semibold text-foreground\">{labelTitle}</h3>\n {/* Counts what arrived this session — there is no unread state to count. */}\n {sessionCount > 0 && (\n <span className=\"inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 text-xs font-medium bg-primary text-primary-foreground rounded-full\">\n {sessionCount}\n </span>\n )}\n </div>\n <div className=\"flex items-center gap-element-sm\">\n {notifications.length > 0 && onClearAll && (\n <Button variant={ButtonVariants_Variant.GHOST} size={ButtonSize.XS} className=\"text-muted-foreground\" onClick={onClearAll}>\n {labelClearAll}\n </Button>\n )}\n </div>\n </div>\n\n {/* Notification List */}\n <ScrollArea className=\"max-h-[24rem]\">\n {notifications.length === 0 ? (\n <div className=\"flex items-center justify-center py-section text-sm text-muted-foreground\">\n {labelNoNotifications}\n </div>\n ) : (\n <div className=\"flex flex-col\">\n {notifications.map((notification) => (\n <Surface key={notification.id} asChild emitPolicyVars={false} variant={SurfaceVariant.INSET}>\n {/*\n * Not clickable, and not styled as if it were. The row's only click action was\n * marking it read; with that gone, `cursor-pointer` and a hover highlight would\n * advertise an interaction that does nothing. Dismiss and the next-step link are\n * the row's real actions.\n */}\n <div\n className={cn(\n \"flex items-start gap-element px-card py-element-lg border-b border-border/50 last:border-b-0\",\n )}\n >\n {/* Type indicator dot */}\n <div className=\"flex-shrink-0 mt-1.5\">\n <div className={cn(\n \"w-2 h-2 rounded-full\",\n TYPE_INDICATORS[notification.type] ?? TYPE_INDICATORS.info,\n )} />\n </div>\n\n {/* Content */}\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-start justify-between gap-element-sm\">\n <p className=\"text-sm leading-snug font-medium text-foreground\">\n {notification.wasCelebration && <span className=\"me-1\">🎉</span>}\n {notification.message}\n </p>\n {onRemove && (\n <button\n type=\"button\"\n className=\"flex-shrink-0 text-muted-foreground/50 hover:text-muted-foreground text-xs\"\n onClick={() => onRemove(notification.id)}\n aria-label={labelDismiss}\n >\n ×\n </button>\n )}\n </div>\n <p className=\"text-xs text-muted-foreground mt-0.5\">\n {getRelativeTime(notification.timestamp, timeLabels)}\n </p>\n {notification.nextStep && (\n <Button\n variant={ButtonVariants_Variant.LINK}\n size={ButtonSize.SM}\n className=\"h-auto p-0 text-xs mt-1\"\n onClick={() => notification.nextStep!.onClick()}\n >\n {notification.nextStep.label} →\n </Button>\n )}\n </div>\n </div>\n </Surface>\n ))}\n </div>\n )}\n </ScrollArea>\n </div>\n </Surface>\n );\n },\n);\n\nNotificationCenter.displayName = \"NotificationCenter\";\n"]}
1
+ {"version":3,"file":"notification-center.js","sourceRoot":"","sources":["../../../../../src/components/feedback/notification-center.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\"\nimport {\n NotificationCenterNotification,\n NotificationCenterProps,\n cn,\n Button,\n ButtonVariants_Variant,\n ScrollArea,\n Surface,\n} from '@wildo-ai/saas-frontend-lib';\n\nimport { ButtonSize, SurfaceVariant } from \"@wildo-ai/presets-components-models\"\n\n// ─────────────────────────────────────────────────────────────\n// Helpers\n// ─────────────────────────────────────────────────────────────\n\nfunction getRelativeTime(\n timestamp: number,\n labels: Pick<NotificationCenterProps, 'labelTimeJustNow' | 'formatTimeMinutesAgo' | 'formatTimeHoursAgo' | 'formatTimeDaysAgo'>\n): string {\n const diff = Date.now() - timestamp;\n const minutes = Math.floor(diff / 60000);\n const hours = Math.floor(diff / 3600000);\n const days = Math.floor(diff / 86400000);\n\n if (minutes < 1) return labels.labelTimeJustNow;\n if (minutes < 60) return labels.formatTimeMinutesAgo(minutes);\n if (hours < 24) return labels.formatTimeHoursAgo(hours);\n return labels.formatTimeDaysAgo(days);\n}\n\nconst TYPE_INDICATORS: Record<string, string> = {\n success: 'bg-success',\n error: 'bg-destructive',\n warning: 'bg-warning',\n info: 'bg-info',\n};\n\n// ─────────────────────────────────────────────────────────────\n// Component\n// ─────────────────────────────────────────────────────────────\n\n/**\n * NotificationCenter — generic, resource-agnostic SESSION-FEED component.\n *\n * A pure UI component that displays what has arrived since the page loaded, with relative timestamps\n * and per-item actions. Read/unread state was removed on 2026-09-08 (#412): the store behind it has\n * no persistence, so \"read\" was a property that died with the page and marking something read meant\n * nothing. Does NOT know about resources, i18n, or\n * any engine concepts — all labels are passed as props.\n *\n * For engine integration, see the notification-center wrapper in saas-frontend-lib\n * which wires NotificationContext and resolves i18n labels.\n */\nexport const NotificationCenter = React.forwardRef<HTMLDivElement, NotificationCenterProps>(\n (\n {\n notifications,\n sessionCount,\n onRemove,\n onClearAll,\n labelTitle,\n labelNoNotifications,\n labelClearAll,\n labelDismiss,\n labelTimeJustNow,\n formatTimeMinutesAgo,\n formatTimeHoursAgo,\n formatTimeDaysAgo,\n className,\n ...props\n },\n ref,\n ) => {\n const timeLabels = { labelTimeJustNow, formatTimeMinutesAgo, formatTimeHoursAgo, formatTimeDaysAgo };\n\n return (\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.RAISED}>\n <div\n ref={ref}\n className={cn(\n \"flex flex-col w-full max-w-sm border border-border rounded-lg bg-popover shadow-[var(--shadow-lg)]\",\n className,\n )}\n {...props}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between px-card py-element border-b border-border\">\n <div className=\"flex items-center gap-element\">\n <h3 className=\"text-sm font-semibold text-foreground\">{labelTitle}</h3>\n {/* Counts what arrived this session — there is no unread state to count. */}\n {sessionCount > 0 && (\n <span className=\"inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 text-xs font-medium bg-primary text-primary-foreground rounded-full\">\n {sessionCount}\n </span>\n )}\n </div>\n <div className=\"flex items-center gap-element-sm\">\n {notifications.length > 0 && onClearAll && (\n <Button variant={ButtonVariants_Variant.GHOST} size={ButtonSize.XS} className=\"text-muted-foreground\" onClick={onClearAll}>\n {labelClearAll}\n </Button>\n )}\n </div>\n </div>\n\n {/* Notification List */}\n <ScrollArea className=\"max-h-[24rem]\">\n {notifications.length === 0 ? (\n <div className=\"flex items-center justify-center py-section text-sm text-muted-foreground\">\n {labelNoNotifications}\n </div>\n ) : (\n <div className=\"flex flex-col\">\n {notifications.map((notification) => (\n <Surface key={notification.id} asChild emitPolicyVars={false} variant={SurfaceVariant.INSET}>\n {/*\n * Not clickable, and not styled as if it were. The row's only click action was\n * marking it read; with that gone, `cursor-pointer` and a hover highlight would\n * advertise an interaction that does nothing. Dismiss and the next-step link are\n * the row's real actions.\n */}\n <div\n className={cn(\n \"flex items-start gap-element px-card py-element-lg border-b border-border/50 last:border-b-0\",\n )}\n >\n {/* Type indicator dot */}\n <div className=\"flex-shrink-0 mt-1.5\">\n <div className={cn(\n \"w-2 h-2 rounded-full\",\n TYPE_INDICATORS[notification.type] ?? TYPE_INDICATORS.info,\n )} />\n </div>\n\n {/* Content */}\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-start justify-between gap-element-sm\">\n <p className=\"text-sm leading-snug font-medium text-foreground\">\n {notification.wasCelebration && <span className=\"me-1\">🎉</span>}\n {notification.message}\n </p>\n {onRemove && (\n <button\n type=\"button\"\n className=\"flex-shrink-0 text-muted-foreground/50 hover:text-muted-foreground text-xs\"\n onClick={() => onRemove(notification.id)}\n aria-label={labelDismiss}\n >\n ×\n </button>\n )}\n </div>\n <p className=\"text-xs text-muted-foreground mt-0.5\">\n {getRelativeTime(notification.timestamp, timeLabels)}\n </p>\n {notification.nextStep && (\n <Button\n variant={ButtonVariants_Variant.LINK}\n size={ButtonSize.SM}\n className=\"h-auto p-0 text-xs mt-1\"\n onClick={() => notification.nextStep!.onClick()}\n >\n {notification.nextStep.label} →\n </Button>\n )}\n </div>\n </div>\n </Surface>\n ))}\n </div>\n )}\n </ScrollArea>\n </div>\n </Surface>\n );\n },\n);\n\nNotificationCenter.displayName = \"NotificationCenter\";\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
2
  import type { OperationsConfirmCriticalProps } from '@wildo-ai/saas-frontend-lib';
3
- declare function OperationsConfirmCritical({ open, onOpenChange, cancelCallback, validationCallback, label, requireTypedConfirmation, confirmationPhrase, className, children, ...props }: OperationsConfirmCriticalProps): React.JSX.Element | null;
3
+ declare function OperationsConfirmCritical({ open, onOpenChange, cancelCallback, validationCallback, label, description: descriptionProp, confirmLabel: confirmLabelProp, requireTypedConfirmation, confirmationPhrase, className, children, ...props }: OperationsConfirmCriticalProps): React.JSX.Element | null;
4
4
  export { OperationsConfirmCritical };
5
5
  //# sourceMappingURL=operations-confirm-critical.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations-confirm-critical.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/operations-confirm-critical.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAejF,iBAAS,yBAAyB,CAAC,EACjC,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,wBAAgC,EAChC,kBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,8BAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAiF3D;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
1
+ {"version":3,"file":"operations-confirm-critical.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/operations-confirm-critical.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAejF,iBAAS,yBAAyB,CAAC,EACjC,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,KAAK,EACL,WAAW,EAAE,eAAe,EAC5B,YAAY,EAAE,gBAAgB,EAC9B,wBAAgC,EAChC,kBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,8BAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAiF3D;AAED,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
@@ -2,18 +2,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { AlertDialog, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogAction, AlertDialogCancel, resolveComponentLabel, useI18n, } from "@wildo-ai/saas-frontend-lib";
4
4
  import { FrontendComponentType } from "@wildo-ai/presets-components-models";
5
- function OperationsConfirmCritical({ open, onOpenChange, cancelCallback, validationCallback, label, requireTypedConfirmation = false, confirmationPhrase = '', className, children, ...props }) {
5
+ function OperationsConfirmCritical({ open, onOpenChange, cancelCallback, validationCallback, label, description: descriptionProp, confirmLabel: confirmLabelProp, requireTypedConfirmation = false, confirmationPhrase = '', className, children, ...props }) {
6
6
  const { tComponent, makeTrComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL });
7
7
  const tcOps = makeTrComponent(FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL);
8
8
  const title = label || tcOps('title');
9
- const description = tcOps('description');
9
+ // `null` means the host has said there is NO consequence line to show (a reversible action), which
10
+ // is different from not having said anything (the generic line).
11
+ const description = descriptionProp === null ? undefined : (descriptionProp ?? tcOps('description'));
10
12
  const cancelLabel = tcOps('cancel');
11
- const confirmLabel = tcOps('confirm');
13
+ const confirmLabel = confirmLabelProp ?? tcOps('confirm');
12
14
  // Typed "double validation" for CRITICAL operations: the confirm button stays
13
15
  // disabled until the user types `confirmationPhrase` exactly. The phrase is shown
14
- // structurally (so the gate is usable even before the i18n instruction copy is
15
- // generated — `resolveComponentLabel` returns '' on a missing key rather than
16
- // leaking it, per framework convention).
16
+ // structurally, so the gate is usable even before the i18n instruction copy is
17
+ // generated — until then the instruction renders as its KEY, which is what a
18
+ // missing label must look like (#1414).
17
19
  const [typed, setTyped] = React.useState('');
18
20
  const trimmedPhrase = confirmationPhrase.trim();
19
21
  const typedConfirmationActive = requireTypedConfirmation && trimmedPhrase.length > 0;
@@ -42,7 +44,7 @@ function OperationsConfirmCritical({ open, onOpenChange, cancelCallback, validat
42
44
  }, [typedConfirmationSatisfied, validationCallback, onOpenChange]);
43
45
  if (!isReady)
44
46
  return null;
45
- return (_jsx(AlertDialog, { open: open, onOpenChange: onOpenChange, ...props, children: _jsxs(AlertDialogContent, { className: className, children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: title }), description && _jsx(AlertDialogDescription, { children: description })] }), children && _jsx("div", { children: children }), typedConfirmationActive && (_jsxs("div", { className: "flex flex-col gap-item-xs", children: [typeToConfirmInstruction && (_jsx("p", { className: "text-sm text-muted-foreground", children: typeToConfirmInstruction })), _jsx("code", { className: "self-start rounded bg-muted px-element py-0.5 text-sm font-medium", children: trimmedPhrase }), _jsx("input", { type: "text", value: typed, onChange: (event) => setTyped(event.target.value), placeholder: trimmedPhrase, "aria-label": typeToConfirmInstruction || trimmedPhrase, autoComplete: "off", className: "flex h-9 w-full rounded-md border border-input bg-transparent px-element py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" })] })), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: handleCancel, children: cancelLabel }), _jsx(AlertDialogAction, { onClick: handleConfirm, disabled: !typedConfirmationSatisfied, children: confirmLabel })] })] }) }));
47
+ return (_jsx(AlertDialog, { open: open, onOpenChange: onOpenChange, ...props, children: _jsxs(AlertDialogContent, { className: className, children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: title }), description && _jsx(AlertDialogDescription, { children: description })] }), children && _jsx("div", { children: children }), typedConfirmationActive && (_jsxs("div", { className: "flex flex-col gap-item-xs", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: typeToConfirmInstruction }), _jsx("code", { className: "self-start rounded bg-muted px-element py-0.5 text-sm font-medium", children: trimmedPhrase }), _jsx("input", { type: "text", value: typed, onChange: (event) => setTyped(event.target.value), placeholder: trimmedPhrase, "aria-label": typeToConfirmInstruction, autoComplete: "off", className: "flex h-9 w-full rounded-md border border-input bg-transparent px-element py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" })] })), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { onClick: handleCancel, children: cancelLabel }), _jsx(AlertDialogAction, { onClick: handleConfirm, disabled: !typedConfirmationSatisfied, children: confirmLabel })] })] }) }));
46
48
  }
47
49
  export { OperationsConfirmCritical };
48
50
  //# sourceMappingURL=operations-confirm-critical.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations-confirm-critical.js","sourceRoot":"","sources":["../../../../../src/components/feedback/operations-confirm-critical.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\"\nimport type { OperationsConfirmCriticalProps } from '@wildo-ai/saas-frontend-lib'\nimport {\n AlertDialog,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogAction,\n AlertDialogCancel,\n resolveComponentLabel,\n useI18n,\n} from \"@wildo-ai/saas-frontend-lib\"\nimport { FrontendComponentType } from \"@wildo-ai/presets-components-models\"\n\nfunction OperationsConfirmCritical({\n open,\n onOpenChange,\n cancelCallback,\n validationCallback,\n label,\n requireTypedConfirmation = false,\n confirmationPhrase = '',\n className,\n children,\n ...props\n}: OperationsConfirmCriticalProps): React.JSX.Element | null {\n const { tComponent, makeTrComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL })\n const tcOps = makeTrComponent(FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL)\n\n const title = label || tcOps('title')\n const description = tcOps('description')\n const cancelLabel = tcOps('cancel')\n const confirmLabel = tcOps('confirm')\n\n // Typed \"double validation\" for CRITICAL operations: the confirm button stays\n // disabled until the user types `confirmationPhrase` exactly. The phrase is shown\n // structurally (so the gate is usable even before the i18n instruction copy is\n // generated — `resolveComponentLabel` returns '' on a missing key rather than\n // leaking it, per framework convention).\n const [typed, setTyped] = React.useState('')\n const trimmedPhrase = confirmationPhrase.trim()\n const typedConfirmationActive = requireTypedConfirmation && trimmedPhrase.length > 0\n const typedConfirmationSatisfied = !typedConfirmationActive || typed.trim() === trimmedPhrase\n\n // Reset the typed value when the dialog closes so a reused dialog never carries\n // a stale match into the next critical action.\n React.useEffect(() => {\n if (!open) setTyped('')\n }, [open])\n\n const typeToConfirmInstruction = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL,\n key: 'typeToConfirmInstruction',\n params: { phrase: trimmedPhrase },\n })\n\n const handleCancel = React.useCallback(() => {\n cancelCallback()\n onOpenChange?.(false)\n }, [cancelCallback, onOpenChange])\n\n const handleConfirm = React.useCallback(() => {\n if (!typedConfirmationSatisfied) return\n validationCallback()\n onOpenChange?.(false)\n }, [typedConfirmationSatisfied, validationCallback, onOpenChange])\n\n if (!isReady) return null\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange} {...props}>\n <AlertDialogContent className={className}>\n <AlertDialogHeader>\n <AlertDialogTitle>{title}</AlertDialogTitle>\n {description && <AlertDialogDescription>{description}</AlertDialogDescription>}\n </AlertDialogHeader>\n {children && <div>{children}</div>}\n {typedConfirmationActive && (\n <div className=\"flex flex-col gap-item-xs\">\n {typeToConfirmInstruction && (\n <p className=\"text-sm text-muted-foreground\">{typeToConfirmInstruction}</p>\n )}\n <code className=\"self-start rounded bg-muted px-element py-0.5 text-sm font-medium\">{trimmedPhrase}</code>\n <input\n type=\"text\"\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n placeholder={trimmedPhrase}\n aria-label={typeToConfirmInstruction || trimmedPhrase}\n autoComplete=\"off\"\n className=\"flex h-9 w-full rounded-md border border-input bg-transparent px-element py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\n />\n </div>\n )}\n <AlertDialogFooter>\n <AlertDialogCancel onClick={handleCancel}>\n {cancelLabel}\n </AlertDialogCancel>\n <AlertDialogAction onClick={handleConfirm} disabled={!typedConfirmationSatisfied}>\n {confirmLabel}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n )\n}\n\nexport { OperationsConfirmCritical }\n"]}
1
+ {"version":3,"file":"operations-confirm-critical.js","sourceRoot":"","sources":["../../../../../src/components/feedback/operations-confirm-critical.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\"\nimport type { OperationsConfirmCriticalProps } from '@wildo-ai/saas-frontend-lib'\nimport {\n AlertDialog,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogAction,\n AlertDialogCancel,\n resolveComponentLabel,\n useI18n,\n} from \"@wildo-ai/saas-frontend-lib\"\nimport { FrontendComponentType } from \"@wildo-ai/presets-components-models\"\n\nfunction OperationsConfirmCritical({\n open,\n onOpenChange,\n cancelCallback,\n validationCallback,\n label,\n description: descriptionProp,\n confirmLabel: confirmLabelProp,\n requireTypedConfirmation = false,\n confirmationPhrase = '',\n className,\n children,\n ...props\n}: OperationsConfirmCriticalProps): React.JSX.Element | null {\n const { tComponent, makeTrComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL })\n const tcOps = makeTrComponent(FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL)\n\n const title = label || tcOps('title')\n // `null` means the host has said there is NO consequence line to show (a reversible action), which\n // is different from not having said anything (the generic line).\n const description = descriptionProp === null ? undefined : (descriptionProp ?? tcOps('description'))\n const cancelLabel = tcOps('cancel')\n const confirmLabel = confirmLabelProp ?? tcOps('confirm')\n\n // Typed \"double validation\" for CRITICAL operations: the confirm button stays\n // disabled until the user types `confirmationPhrase` exactly. The phrase is shown\n // structurally, so the gate is usable even before the i18n instruction copy is\n // generated — until then the instruction renders as its KEY, which is what a\n // missing label must look like (#1414).\n const [typed, setTyped] = React.useState('')\n const trimmedPhrase = confirmationPhrase.trim()\n const typedConfirmationActive = requireTypedConfirmation && trimmedPhrase.length > 0\n const typedConfirmationSatisfied = !typedConfirmationActive || typed.trim() === trimmedPhrase\n\n // Reset the typed value when the dialog closes so a reused dialog never carries\n // a stale match into the next critical action.\n React.useEffect(() => {\n if (!open) setTyped('')\n }, [open])\n\n const typeToConfirmInstruction = resolveComponentLabel({\n tComponent,\n componentType: FrontendComponentType.LOW_LEVEL_OPERATIONS_CONFIRM_CRITICAL,\n key: 'typeToConfirmInstruction',\n params: { phrase: trimmedPhrase },\n })\n\n const handleCancel = React.useCallback(() => {\n cancelCallback()\n onOpenChange?.(false)\n }, [cancelCallback, onOpenChange])\n\n const handleConfirm = React.useCallback(() => {\n if (!typedConfirmationSatisfied) return\n validationCallback()\n onOpenChange?.(false)\n }, [typedConfirmationSatisfied, validationCallback, onOpenChange])\n\n if (!isReady) return null\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange} {...props}>\n <AlertDialogContent className={className}>\n <AlertDialogHeader>\n <AlertDialogTitle>{title}</AlertDialogTitle>\n {description && <AlertDialogDescription>{description}</AlertDialogDescription>}\n </AlertDialogHeader>\n {children && <div>{children}</div>}\n {typedConfirmationActive && (\n <div className=\"flex flex-col gap-item-xs\">\n <p className=\"text-sm text-muted-foreground\">{typeToConfirmInstruction}</p>\n <code className=\"self-start rounded bg-muted px-element py-0.5 text-sm font-medium\">{trimmedPhrase}</code>\n <input\n type=\"text\"\n value={typed}\n onChange={(event) => setTyped(event.target.value)}\n placeholder={trimmedPhrase}\n aria-label={typeToConfirmInstruction}\n autoComplete=\"off\"\n className=\"flex h-9 w-full rounded-md border border-input bg-transparent px-element py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\n />\n </div>\n )}\n <AlertDialogFooter>\n <AlertDialogCancel onClick={handleCancel}>\n {cancelLabel}\n </AlertDialogCancel>\n <AlertDialogAction onClick={handleConfirm} disabled={!typedConfirmationSatisfied}>\n {confirmLabel}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n )\n}\n\nexport { OperationsConfirmCritical }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"operations-confirm-critical.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/operations-confirm-critical.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,uCAAuC,EAAE,mBAAmB,EA2BxE,CAAC"}
1
+ {"version":3,"file":"operations-confirm-critical.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/operations-confirm-critical.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,uCAAuC,EAAE,mBAAmB,EA2BxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/progress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAK7D,QAAA,MAAM,QAAQ,2JAmCZ,CAAA;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/progress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAK7D,QAAA,MAAM,QAAQ,2JAmCZ,CAAA;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"progress.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/progress.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"progress.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/progress.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWzF;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWzF;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/skeleton.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"skeleton.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/skeleton.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAqB,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGjE,QAAA,MAAM,OAAO,GAAI,cAAc,YAAY,KAAG,KAAK,CAAC,GAAG,CAAC,OA0BvD,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAqB,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGjE,QAAA,MAAM,OAAO,GAAI,cAAc,YAAY,KAAG,KAAK,CAAC,GAAG,CAAC,OA0BvD,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"toast.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/toast.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"toast.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/toast.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"autosave-indicator.d.ts","sourceRoot":"","sources":["../../../../src/components/form/autosave-indicator.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAiDzE,iBAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,YAAY,EACZ,OAAO,EACP,SAAS,EACT,IAAW,EACX,QAAmB,GACpB,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwEnD;AAID,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"autosave-indicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/autosave-indicator.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAiDzE,iBAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,YAAY,EACZ,OAAO,EACP,SAAS,EACT,IAAW,EACX,QAAmB,GACpB,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwEnD;AAID,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"autosave-indicator.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/form/autosave-indicator.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,+BAA+B,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"autosave-indicator.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/autosave-indicator.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,+BAA+B,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/chromes/field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAGL,KAAK,EAGL,KAAK,UAAU,EAChB,MAAM,6BAA6B,CAAC;AAsCrC,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,WAAgD,EAChD,GAAG,KAAK,EACT,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUhC;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAW7F;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAaxD;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAW3F;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmB/F;AAED,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsBpB;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;CACjD,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0CpB;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,UAAU,GACX,CAAA"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAGL,KAAK,EAGL,KAAK,UAAU,EAChB,MAAM,6BAA6B,CAAC;AA8CrC,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,WAAgD,EAChD,GAAG,KAAK,EACT,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUhC;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAW7F;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAaxD;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAW3F;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmB/F;AAED,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsBpB;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;CACjD,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0CpB;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,UAAU,GACX,CAAA"}
@@ -15,12 +15,20 @@ const fieldBase = "group/field flex w-full gap-field-sm data-[invalid=true]:text
15
15
  * exclusion keys on the controls' ARIA roles (their semantic identity — no
16
16
  * extra marker attribute needed). If a new intrinsic control family is added,
17
17
  * extend the exclusion list; do NOT re-blanket `[&>*]:w-full`.
18
+ *
19
+ * A VISUALLY HIDDEN child (`.sr-only` — a hidden field label) is excluded too, in the SAME selector.
20
+ * It used to be stretched here and then "released" by a separate `[&>.sr-only]:w-auto`, which lost on
21
+ * specificity: three attribute `:not()`s outrank one class, so the hidden label took `width: 100%` of
22
+ * its containing block — the viewport, as it is absolutely positioned. Measured in the running Wonder
23
+ * Todos: the top bar's quick switcher's hidden "Todo Lists" label was 1px tall and 1280px WIDE at
24
+ * x=967, so every page scrolled horizontally to 2246px. Even had it won, `w-auto` is not `sr-only`'s
25
+ * 1px. Excluding it leaves `sr-only`'s own box untouched.
18
26
  */
19
- const INTRINSIC_CONTROL_EXCLUSION = "[&>*:not([role=switch]):not([role=checkbox]):not([role=radiogroup])]:w-full";
27
+ const INTRINSIC_CONTROL_EXCLUSION = "[&>*:not([role=switch]):not([role=checkbox]):not([role=radiogroup]):not(.sr-only)]:w-full";
20
28
  const fieldOrientationClasses = {
21
- [FieldVariants_Orientation.VERTICAL]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION} [&>.sr-only]:w-auto`,
29
+ [FieldVariants_Orientation.VERTICAL]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION}`,
22
30
  [FieldVariants_Orientation.HORIZONTAL]: "flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",
23
- [FieldVariants_Orientation.RESPONSIVE]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION} [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,
31
+ [FieldVariants_Orientation.RESPONSIVE]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION} @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*:not(.sr-only)]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,
24
32
  };
25
33
  function fieldVariants(props) {
26
34
  const orientation = props?.orientation ?? FieldVariants_Orientation.VERTICAL;
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/field.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\"\nimport { useMemo } from \"react\"\n\nimport {\n cn,\n useUI,\n Label,\n Separator,\n FieldVariants_Orientation,\n type FieldProps,\n} from '@wildo-ai/saas-frontend-lib';\n\nimport { FrontendComponentType, TypographyVariant, UIBehavior } from \"@wildo-ai/presets-components-models\"\n\ntype FieldVariantsType = (props?: {\n orientation?: FieldVariants_Orientation | null\n className?: string\n}) => string\n\n\n/** Field base classes */\nconst fieldBase = \"group/field flex w-full gap-field-sm data-[invalid=true]:text-destructive\"\n\n/**\n * Field orientation variant classes.\n *\n * WIDTH POLICY — the vertical orientations stretch children to the column\n * (`w-full`) so text inputs / selects / textareas fill the field, but\n * INTRINSIC-SIZE controls must keep their own box: a Switch (`role=switch`,\n * `w-8`), Checkbox (`role=checkbox`) or RadioGroup (`role=radiogroup`)\n * stretched to `w-full` renders as a container-wide slider bar. The `:not()`\n * exclusion keys on the controls' ARIA roles (their semantic identity — no\n * extra marker attribute needed). If a new intrinsic control family is added,\n * extend the exclusion list; do NOT re-blanket `[&>*]:w-full`.\n */\nconst INTRINSIC_CONTROL_EXCLUSION = \"[&>*:not([role=switch]):not([role=checkbox]):not([role=radiogroup])]:w-full\"\n\nconst fieldOrientationClasses: Record<FieldVariants_Orientation, string> = {\n [FieldVariants_Orientation.VERTICAL]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION} [&>.sr-only]:w-auto`,\n [FieldVariants_Orientation.HORIZONTAL]: \"flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n [FieldVariants_Orientation.RESPONSIVE]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION} [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,\n}\n\nfunction fieldVariants(props?: { orientation?: FieldVariants_Orientation | null; className?: string }): string {\n const orientation = props?.orientation ?? FieldVariants_Orientation.VERTICAL\n return cn(fieldBase, fieldOrientationClasses[orientation], props?.className)\n}\n\nfunction Field({\n className,\n orientation = FieldVariants_Orientation.VERTICAL,\n ...props\n}: FieldProps): React.JSX.Element {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">): React.JSX.Element {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-element-sm leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>): React.JSX.Element {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-element leading-snug group-data-[disabled=true]/field:opacity-[var(--opacity-disabled)]\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-card\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">): React.JSX.Element {\n return (\n <div\n data-slot=\"field-title\"\n className={cn(\n \"flex w-fit items-center gap-element text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-[var(--opacity-disabled)]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">): React.JSX.Element {\n const { getRecipe } = useUI();\n const recipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);\n\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n // Style from TYPOGRAPHY.DESCRIPTION recipe\n recipe.base,\n // Structure\n \"leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}): React.JSX.Element {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-card-sm\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}): React.JSX.Element {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ms-card flex list-disc flex-col gap-item-xs\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldSeparator,\n FieldContent,\n FieldTitle,\n}\n"]}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/field.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\"\nimport { useMemo } from \"react\"\n\nimport {\n cn,\n useUI,\n Label,\n Separator,\n FieldVariants_Orientation,\n type FieldProps,\n} from '@wildo-ai/saas-frontend-lib';\n\nimport { FrontendComponentType, TypographyVariant, UIBehavior } from \"@wildo-ai/presets-components-models\"\n\ntype FieldVariantsType = (props?: {\n orientation?: FieldVariants_Orientation | null\n className?: string\n}) => string\n\n\n/** Field base classes */\nconst fieldBase = \"group/field flex w-full gap-field-sm data-[invalid=true]:text-destructive\"\n\n/**\n * Field orientation variant classes.\n *\n * WIDTH POLICY — the vertical orientations stretch children to the column\n * (`w-full`) so text inputs / selects / textareas fill the field, but\n * INTRINSIC-SIZE controls must keep their own box: a Switch (`role=switch`,\n * `w-8`), Checkbox (`role=checkbox`) or RadioGroup (`role=radiogroup`)\n * stretched to `w-full` renders as a container-wide slider bar. The `:not()`\n * exclusion keys on the controls' ARIA roles (their semantic identity — no\n * extra marker attribute needed). If a new intrinsic control family is added,\n * extend the exclusion list; do NOT re-blanket `[&>*]:w-full`.\n *\n * A VISUALLY HIDDEN child (`.sr-only` — a hidden field label) is excluded too, in the SAME selector.\n * It used to be stretched here and then \"released\" by a separate `[&>.sr-only]:w-auto`, which lost on\n * specificity: three attribute `:not()`s outrank one class, so the hidden label took `width: 100%` of\n * its containing block — the viewport, as it is absolutely positioned. Measured in the running Wonder\n * Todos: the top bar's quick switcher's hidden \"Todo Lists\" label was 1px tall and 1280px WIDE at\n * x=967, so every page scrolled horizontally to 2246px. Even had it won, `w-auto` is not `sr-only`'s\n * 1px. Excluding it leaves `sr-only`'s own box untouched.\n */\nconst INTRINSIC_CONTROL_EXCLUSION = \"[&>*:not([role=switch]):not([role=checkbox]):not([role=radiogroup]):not(.sr-only)]:w-full\"\n\nconst fieldOrientationClasses: Record<FieldVariants_Orientation, string> = {\n [FieldVariants_Orientation.VERTICAL]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION}`,\n [FieldVariants_Orientation.HORIZONTAL]: \"flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n [FieldVariants_Orientation.RESPONSIVE]: `flex-col ${INTRINSIC_CONTROL_EXCLUSION} @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*:not(.sr-only)]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,\n}\n\nfunction fieldVariants(props?: { orientation?: FieldVariants_Orientation | null; className?: string }): string {\n const orientation = props?.orientation ?? FieldVariants_Orientation.VERTICAL\n return cn(fieldBase, fieldOrientationClasses[orientation], props?.className)\n}\n\nfunction Field({\n className,\n orientation = FieldVariants_Orientation.VERTICAL,\n ...props\n}: FieldProps): React.JSX.Element {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">): React.JSX.Element {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-element-sm leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>): React.JSX.Element {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-element leading-snug group-data-[disabled=true]/field:opacity-[var(--opacity-disabled)]\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-card\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">): React.JSX.Element {\n return (\n <div\n data-slot=\"field-title\"\n className={cn(\n \"flex w-fit items-center gap-element text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-[var(--opacity-disabled)]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">): React.JSX.Element {\n const { getRecipe } = useUI();\n const recipe = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.DESCRIPTION);\n\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n // Style from TYPOGRAPHY.DESCRIPTION recipe\n recipe.base,\n // Structure\n \"leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}): React.JSX.Element {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-card-sm\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}): React.JSX.Element {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ms-card flex list-disc flex-col gap-item-xs\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldSeparator,\n FieldContent,\n FieldTitle,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"field.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/chromes/field.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EAAO,CAAC;AAG7D,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAAO,CAAC;AAGpE,eAAO,MAAM,8BAA8B,EAAE,mBAAmB,EAAO,CAAC;AAGxE,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAAO,CAAC;AAGlE,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAAO,CAAC;AAGlE,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAAO,CAAC;AAGtE,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"field.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/field.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EAAO,CAAC;AAG7D,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAAO,CAAC;AAGpE,eAAO,MAAM,8BAA8B,EAAE,mBAAmB,EAAO,CAAC;AAGxE,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAAO,CAAC;AAGlE,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAAO,CAAC;AAGlE,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAAO,CAAC;AAGtE,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-primitive.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/chromes/form-primitive.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAEL,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAyC,YAAY,EAA4B,MAAM,6BAA6B,CAAA;AAG3H,QAAA,MAAM,QAAQ,EAAE,OAAO,YAA2B,CAAA;AAElD,QAAA,MAAM,kBAAkB,GACtB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,cAEC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,KAAG,KAAK,CAAC,GAAG,CAAC,OAMnD,CAAA;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAYzF;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAYtE;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgBvF;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAY9F;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAmBjG;AAED,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,kBAAkB,GACnB,CAAA"}
1
+ {"version":3,"file":"form-primitive.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/form-primitive.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAEL,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAyC,YAAY,EAA4B,MAAM,6BAA6B,CAAA;AAG3H,QAAA,MAAM,QAAQ,EAAE,OAAO,YAA2B,CAAA;AAElD,QAAA,MAAM,kBAAkB,GACtB,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,cAEC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,KAAG,KAAK,CAAC,GAAG,CAAC,OAMnD,CAAA;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAYzF;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAYtE;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgBvF;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAY9F;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAmBjG;AAED,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACX,kBAAkB,GACnB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-primitive.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/chromes/form-primitive.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,EAAO,CAAC;AAG5D,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAAO,CAAC;AAGnE,eAAO,MAAM,6BAA6B,EAAE,mBAAmB,EAAO,CAAC;AAGvE,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EA0DxD,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAAO,CAAC;AAGhE,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAAO,CAAC;AAGjE,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAgI1D,CAAC"}
1
+ {"version":3,"file":"form-primitive.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/form-primitive.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,EAAO,CAAC;AAG5D,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAAO,CAAC;AAGnE,eAAO,MAAM,6BAA6B,EAAE,mBAAmB,EAAO,CAAC;AAGvE,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EA+FxD,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAAO,CAAC;AAGhE,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAAO,CAAC;AAGjE,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAgI1D,CAAC"}
@@ -14,6 +14,7 @@ export const LowLevelFormFieldLabels = [
14
14
  { ref: 'saved', kind: LabelKind.LABEL, purpose: 'Confirmation shown once a field value has persisted successfully' },
15
15
  { ref: 'retry', kind: LabelKind.BUTTON, purpose: 'Button that re-attempts a failed field save' },
16
16
  { ref: 'save_failed', kind: LabelKind.MESSAGE, purpose: 'Error shown when persisting a field value fails' },
17
+ { ref: 'field_reset_after_conflict', kind: LabelKind.MESSAGE, purpose: 'Shown on an inline-edited field after someone else saved it first: the edit was discarded and the field now shows the latest saved value' },
17
18
  {
18
19
  ref: 'save_conflict',
19
20
  kind: LabelKind.MESSAGE,
@@ -21,6 +22,11 @@ export const LowLevelFormFieldLabels = [
21
22
  },
22
23
  // Shared display labels (read-only value rendering)
23
24
  { ref: 'noValue', kind: LabelKind.EMPTY_STATE, purpose: 'Placeholder shown in place of a field that has no value' },
25
+ // The other two halves of `DisplayEmptyReason`. One em dash used to say all three things at once:
26
+ // a field awaiting the operator's input, a list with no members, and a computed value nothing has
27
+ // produced yet. `noValue` above keeps the NOT_SET case and its existing words.
28
+ { ref: 'noValueNone', kind: LabelKind.EMPTY_STATE, purpose: 'Shown in place of a COLLECTION (list, object or record) that exists but has no members yet — frequently the correct state rather than a gap, so the words should read as a calm statement ("None yet"), not as something missing' },
29
+ { ref: 'noValueNotProvided', kind: LabelKind.EMPTY_STATE, purpose: 'Shown in place of a COMPUTED or system-owned field that has no value — the reader cannot set it, so the words must NOT invite input; they say nothing has produced one yet ("Not available")' },
24
30
  { ref: 'clear', kind: LabelKind.ARIA, purpose: 'Accessible name of the affordance inside a clearable picker that removes the current selection, returning the control to its empty state' },
25
31
  { ref: 'displayError', kind: LabelKind.MESSAGE, purpose: 'Fallback text when a field value cannot be rendered' },
26
32
  { ref: 'object', kind: LabelKind.ARIA, purpose: 'Accessible name for a rendered object/record value region' },
@@ -66,6 +72,37 @@ export const LowLevelFormFieldLabels = [
66
72
  { ref: 'selectAll', kind: LabelKind.BUTTON, purpose: 'Selects every available option in a multi-select' },
67
73
  // Chrome labels
68
74
  { ref: 'moreInformation', kind: LabelKind.ARIA, purpose: "Accessible label for a field's help/info trigger" },
75
+ // Display-side labels. These four were READ by components and declared NOWHERE until 2026-09-18,
76
+ // which is the drift direction this file's own header warns about: "a key the component reads and
77
+ // this array omits renders as its RAW KEY PATH in the browser — visible only to somebody looking
78
+ // at the panel". `unsupportedDisplayType` is how it was caught — it rendered verbatim on five
79
+ // settings panes, and reading WHY led to a whole missing display branch (`FieldSchemaType.RECORD`).
80
+ {
81
+ ref: 'fileCount',
82
+ kind: LabelKind.LABEL,
83
+ purpose: 'Summary of how many files a file field holds, shown instead of listing them',
84
+ params: [{ key: 'count', meaning: 'number of files attached to the field' }],
85
+ },
86
+ { ref: 'noFile', kind: LabelKind.EMPTY_STATE, purpose: 'Shown in place of a file field that holds no file' },
87
+ {
88
+ ref: 'save_unavailable',
89
+ kind: LabelKind.MESSAGE,
90
+ purpose: 'Shown when an inline relationship edit cannot be saved because the save route is unavailable — distinct from a save that was attempted and failed',
91
+ },
92
+ {
93
+ ref: 'syncedFromAsOf',
94
+ kind: LabelKind.MESSAGE,
95
+ purpose: 'A short note beneath a read-only value that this application copies from another business system (an ERP such as Odoo or SAP) rather than holding itself: it names that system and says how current the local copy is — the time the last completed synchronisation started. It tells the reader the value is edited in that other system, not here',
96
+ params: [
97
+ { key: 'system', meaning: "the name of the other system the value was copied from, already in the reader's words (for example \"Odoo\")" },
98
+ { key: 'asOf', meaning: 'when the copy was last brought up to date, already formatted — either relative ("12 minutes ago") or a date and time' },
99
+ ],
100
+ },
101
+ {
102
+ ref: 'unsupportedDisplayType',
103
+ kind: LabelKind.MESSAGE,
104
+ purpose: 'Shown beside the raw schema type when a field\'s type has no display renderer at all; it names a framework gap rather than anything the reader can act on, so it reads as a diagnostic and not as user error',
105
+ },
69
106
  ];
70
107
  registerComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_FIELD, LowLevelFormFieldLabels);
71
108
  export const LowLevelFormItemLabels = [];
@@ -1 +1 @@
1
- {"version":3,"file":"form-primitive.labels.js","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/form-primitive.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAA4B,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE1I,2EAA2E;AAC3E,6EAA6E;AAC7E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAA0B,EAAE,CAAC;AAC5D,uBAAuB,CAAC,qBAAqB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,yBAAyB,GAA0B,EAAE,CAAC;AACnE,uBAAuB,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;AAEjG,MAAM,CAAC,MAAM,6BAA6B,GAA0B,EAAE,CAAC;AACvE,uBAAuB,CAAC,qBAAqB,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,qCAAqC;IACrC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,qDAAqD,EAAE;IACxG,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,kEAAkE,EAAE;IACpH,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,6CAA6C,EAAE;IAChG,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAC3G;QACE,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,0FAA0F;KACpG;IACD,oDAAoD;IACpD,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,yDAAyD,EAAE;IACnH,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,0IAA0I,EAAE;IAC3L,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,qDAAqD,EAAE;IAChH,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,2DAA2D,EAAE;IAC7G;QACE,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,8NAA8N;KACxO;IACD,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,wDAAwD,EAAE;IACxG;QACE,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,OAAO,EAAE,kEAAkE;QAC3E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,wDAAwD,EAAE,CAAC;KAC9F;IACD;QACE,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,sEAAsE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;KAC9E;IACD,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,2DAA2D,EAAE;IACvH,kCAAkC;IAClC;QACE,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,SAAS,CAAC,WAAW;QAC3B,OAAO,EAAE,mEAAmE;KAC7E;IACD;QACE,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,SAAS,CAAC,WAAW;QAC3B,OAAO,EAAE,kEAAkE;KAC5E;IACD,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,wDAAwD,EAAE;IACpH,sBAAsB;IACtB;QACE,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,OAAO,EAAE,mEAAmE;QAC5E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;KAC5E;IACD,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,0CAA0C,EAAE;IAChG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,kDAAkD,EAAE;IACzG,gBAAgB;IAChB,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,kDAAkD,EAAE;CAC9G,CAAC;AACF,uBAAuB,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,sBAAsB,GAA0B,EAAE,CAAC;AAChE,uBAAuB,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;AAE3F,MAAM,CAAC,MAAM,uBAAuB,GAA0B,EAAE,CAAC;AACjE,uBAAuB,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,yBAAyB,GAA0B;IAC9D,yBAAyB;IACzB;QACE,GAAG,EAAE,uBAAuB;QAC5B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,wDAAwD;KAClE;IACD,EAAE,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAC/G;QACE,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,OAAO,EAAE,oEAAoE;QAC7E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;KACtF;IACD,oBAAoB;IACpB,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,gDAAgD,EAAE;IACxG,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,mDAAmD,EAAE;IAC/G,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,6CAA6C,EAAE;IACvG;QACE,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,OAAO,EAAE,4DAA4D;QACrE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;KACjF;IACD,eAAe;IACf,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,2CAA2C,EAAE;IACpG,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,kDAAkD,EAAE;IAC5G,4EAA4E;IAC5E,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,mEAAmE,EAAE;IAC3H,uBAAuB;IACvB,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,8CAA8C,EAAE;IACxG,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAC5G,EAAE,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,8CAA8C,EAAE;IAClH;QACE,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,mEAAmE;QAC5E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;KAC7E;IACD;QACE,GAAG,EAAE,aAAa;QAClB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,mEAAmE;QAC5E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;KAC3E;IACD;QACE,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,iEAAiE;QAC1E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;KAC3E;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,6DAA6D;QACtE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;KAC7E;IACD,kCAAkC;IAClC;QACE,GAAG,EAAE,uBAAuB;QAC5B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,mEAAmE;QAC5E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;KACpF;IACD;QACE,GAAG,EAAE,uBAAuB;QAC5B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,oEAAoE;QAC7E,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;KACtF;IACD;QACE,GAAG,EAAE,oBAAoB;QACzB,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,wEAAwE;QACjF,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;KACrF;IACD;QACE,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,2EAA2E;QACpF,MAAM,EAAE;YACN,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,gDAAgD,EAAE;YACzE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,+CAA+C,EAAE;SACzE;KACF;IACD;QACE,GAAG,EAAE,uBAAuB;QAC5B,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,OAAO,EAAE,gEAAgE;QACzE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;KAC3E;IACD,4BAA4B;IAC5B,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAC7G,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,+CAA+C,EAAE;IAC1G,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,iDAAiD,EAAE;IAC9G,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,kDAAkD,EAAE;IACvH;QACE,GAAG,EAAE,oBAAoB;QACzB,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,4DAA4D;KACtE;IACD;QACE,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,oEAAoE;KAC9E;IACD,uBAAuB;IACvB;QACE,GAAG,EAAE,2BAA2B;QAChC,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,wDAAwD;KAClE;IACD,qCAAqC;IACrC;QACE,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,oEAAoE;KAC9E;IACD;QACE,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,wDAAwD;KAClE;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,OAAO,EAAE,qDAAqD;KAC/D;CACF,CAAC;AACF,uBAAuB,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC","sourcesContent":["import { FrontendComponentType, LabelKind, type LabellingUnitaryDef, registerComponentLabels } from '@wildo-ai/presets-components-models';\n\n// Companion-only label metadata for this component: keys + params + (where\n// authored) per-key purpose / kind / variable meaning. Statically scanned by\n// the dev companion; NOT imported at runtime, so it never ships in the bundle.\n\nexport const LowLevelFormLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM, LowLevelFormLabels);\n\nexport const LowLevelFormControlLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_CONTROL, LowLevelFormControlLabels);\n\nexport const LowLevelFormDescriptionLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_DESCRIPTION, LowLevelFormDescriptionLabels);\n\nexport const LowLevelFormFieldLabels: LabellingUnitaryDef[] = [\n // Autosave / inline-edit save states\n { ref: 'saving', kind: LabelKind.LABEL, purpose: 'Status shown while a field value is being persisted' },\n { ref: 'saved', kind: LabelKind.LABEL, purpose: 'Confirmation shown once a field value has persisted successfully' },\n { ref: 'retry', kind: LabelKind.BUTTON, purpose: 'Button that re-attempts a failed field save' },\n { ref: 'save_failed', kind: LabelKind.MESSAGE, purpose: 'Error shown when persisting a field value fails' },\n {\n ref: 'save_conflict',\n kind: LabelKind.MESSAGE,\n purpose: 'Error shown when a field save is rejected because the record changed since it was loaded',\n },\n // Shared display labels (read-only value rendering)\n { ref: 'noValue', kind: LabelKind.EMPTY_STATE, purpose: 'Placeholder shown in place of a field that has no value' },\n { ref: 'clear', kind: LabelKind.ARIA, purpose: 'Accessible name of the affordance inside a clearable picker that removes the current selection, returning the control to its empty state' },\n { ref: 'displayError', kind: LabelKind.MESSAGE, purpose: 'Fallback text when a field value cannot be rendered' },\n { ref: 'object', kind: LabelKind.ARIA, purpose: 'Accessible name for a rendered object/record value region' },\n {\n ref: 'resourceLinkLimitReached',\n kind: LabelKind.MESSAGE,\n purpose: 'Notice shown where an automatic display stops expanding LINKED RECORDS, having already followed the maximum number of resource links. It never appears over a record\\'s own nested fields, which are always rendered in full',\n },\n { ref: 'list', kind: LabelKind.ARIA, purpose: 'Accessible name for a rendered list/array value region' },\n {\n ref: 'showMore',\n kind: LabelKind.BUTTON,\n purpose: 'Reveals list or object entries hidden behind a truncation cutoff',\n params: [{ key: 'count', meaning: 'number of additional entries that are currently hidden' }],\n },\n {\n ref: 'editField',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the inline-edit affordance on a displayed field',\n params: [{ key: 'label', meaning: 'display name of the field being edited' }],\n },\n { ref: 'clearSelection', kind: LabelKind.BUTTON, purpose: 'Clears the chosen value of a relationship/reference field' },\n // Select / Combobox shared labels\n {\n ref: 'selectPlaceholder',\n kind: LabelKind.PLACEHOLDER,\n purpose: 'Prompt shown in a select/combobox trigger before a choice is made',\n },\n {\n ref: 'searchPlaceholder',\n kind: LabelKind.PLACEHOLDER,\n purpose: 'Prompt shown in the filter input of a searchable select/combobox',\n },\n { ref: 'noResults', kind: LabelKind.EMPTY_STATE, purpose: 'Shown when a select/combobox search matches no options' },\n // Multi-select labels\n {\n ref: 'selectedCount',\n kind: LabelKind.LABEL,\n purpose: 'Multi-select trigger summary counting how many options are chosen',\n params: [{ key: 'count', meaning: 'number of options currently selected' }],\n },\n { ref: 'clearAll', kind: LabelKind.BUTTON, purpose: 'Deselects every option in a multi-select' },\n { ref: 'selectAll', kind: LabelKind.BUTTON, purpose: 'Selects every available option in a multi-select' },\n // Chrome labels\n { ref: 'moreInformation', kind: LabelKind.ARIA, purpose: \"Accessible label for a field's help/info trigger\" },\n];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_FIELD, LowLevelFormFieldLabels);\n\nexport const LowLevelFormItemLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_ITEM, LowLevelFormItemLabels);\n\nexport const LowLevelFormLabelLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_LABEL, LowLevelFormLabelLabels);\n\nexport const LowLevelFormMessageLabels: LabellingUnitaryDef[] = [\n // Error summary headings\n {\n ref: 'serverValidationTitle',\n kind: LabelKind.HEADING,\n purpose: 'Heading above validation errors returned by the server',\n },\n { ref: 'formErrorsTitle', kind: LabelKind.HEADING, purpose: 'Heading above the aggregated form-error summary' },\n {\n ref: 'moreErrors',\n kind: LabelKind.LABEL,\n purpose: 'Overflow line counting validation errors not listed in the summary',\n params: [{ key: 'count', meaning: 'number of additional errors beyond those shown' }],\n },\n // Wizard navigation\n { ref: 'wizardNext', kind: LabelKind.BUTTON, purpose: 'Advances to the next step of a multi-step form' },\n { ref: 'wizardPrevious', kind: LabelKind.BUTTON, purpose: 'Returns to the previous step of a multi-step form' },\n { ref: 'wizardSubmit', kind: LabelKind.BUTTON, purpose: 'Submits the form from the final wizard step' },\n {\n ref: 'wizardStepDefault',\n kind: LabelKind.LABEL,\n purpose: 'Fallback name for a wizard step that has no authored title',\n params: [{ key: 'index', meaning: \"the step's 1-based position in the wizard\" }],\n },\n // Section save\n { ref: 'sectionSave', kind: LabelKind.BUTTON, purpose: 'Saves the values of a single form section' },\n { ref: 'sectionSaving', kind: LabelKind.LABEL, purpose: 'Status shown while a form section is being saved' },\n // Default submit action (skeleton SubmitButton fallback when no label prop)\n { ref: 'submitSave', kind: LabelKind.BUTTON, purpose: 'Default submit-button text when the form supplies no custom label' },\n // Array field messages\n { ref: 'arrayAddItem', kind: LabelKind.BUTTON, purpose: 'Adds a new entry to a repeatable array field' },\n { ref: 'arrayItemLabel', kind: LabelKind.LABEL, purpose: 'Base name given to each entry of an array field' },\n { ref: 'arrayEmptyMessage', kind: LabelKind.EMPTY_STATE, purpose: 'Shown when an array field has no entries yet' },\n {\n ref: 'arrayDragHandle',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the drag handle that reorders an array entry',\n params: [{ key: 'label', meaning: 'name of the array entry being dragged' }],\n },\n {\n ref: 'arrayMoveUp',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the button that moves an array entry earlier',\n params: [{ key: 'label', meaning: 'name of the array entry being moved' }],\n },\n {\n ref: 'arrayMoveDown',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the button that moves an array entry later',\n params: [{ key: 'label', meaning: 'name of the array entry being moved' }],\n },\n {\n ref: 'arrayRemoveItem',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the button that deletes an array entry',\n params: [{ key: 'label', meaning: 'name of the array entry being removed' }],\n },\n // Checkbox group constraint hints\n {\n ref: 'checkboxSelectExactly',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group requires an exact number of selections',\n params: [{ key: 'count', meaning: 'exact number of options that must be checked' }],\n },\n {\n ref: 'checkboxSelectAtLeast',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group requires a minimum number of selections',\n params: [{ key: 'count', meaning: 'minimum number of options that must be checked' }],\n },\n {\n ref: 'checkboxSelectUpTo',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group allows at most a given number of selections',\n params: [{ key: 'count', meaning: 'maximum number of options that may be checked' }],\n },\n {\n ref: 'checkboxSelectRange',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group requires a number of selections within a range',\n params: [\n { key: 'min', meaning: 'minimum number of options that must be checked' },\n { key: 'max', meaning: 'maximum number of options that may be checked' },\n ],\n },\n {\n ref: 'checkboxSelectedCount',\n kind: LabelKind.LABEL,\n purpose: 'Live count of how many options are checked in a checkbox group',\n params: [{ key: 'count', meaning: 'number of options currently checked' }],\n },\n // Record/Map field messages\n { ref: 'recordAddEntry', kind: LabelKind.BUTTON, purpose: 'Adds a new key/value pair to a record/map field' },\n { ref: 'recordKeyLabel', kind: LabelKind.LABEL, purpose: 'Label for the key input of a record/map entry' },\n { ref: 'recordValueLabel', kind: LabelKind.LABEL, purpose: 'Label for the value input of a record/map entry' },\n { ref: 'recordEmptyMessage', kind: LabelKind.EMPTY_STATE, purpose: 'Shown when a record/map field has no entries yet' },\n {\n ref: 'recordDuplicateKey',\n kind: LabelKind.MESSAGE,\n purpose: 'Error shown when a record/map entry reuses an existing key',\n },\n {\n ref: 'recordEnterKeyFirst',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a record/map entry needs a key before a value can be set',\n },\n // Range field messages\n {\n ref: 'rangeFromMustBeLessThanTo',\n kind: LabelKind.MESSAGE,\n purpose: \"Error shown when a range field's start exceeds its end\",\n },\n // Uniqueness pre-validation messages\n {\n ref: 'uniqueFieldChecking',\n kind: LabelKind.MESSAGE,\n purpose: \"Status shown while a field's value is being checked for uniqueness\",\n },\n {\n ref: 'uniqueFieldConflict',\n kind: LabelKind.MESSAGE,\n purpose: 'Error shown when a unique field value is already taken',\n },\n {\n ref: 'uniqueFieldAvailable',\n kind: LabelKind.MESSAGE,\n purpose: 'Confirmation that a unique field value is available',\n },\n];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, LowLevelFormMessageLabels);\n"]}
1
+ {"version":3,"file":"form-primitive.labels.js","sourceRoot":"","sources":["../../../../../../src/components/form/chromes/form-primitive.labels.ts"],"names":[],"mappings":"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","sourcesContent":["import { FrontendComponentType, LabelKind, type LabellingUnitaryDef, registerComponentLabels } from '@wildo-ai/presets-components-models';\n\n// Companion-only label metadata for this component: keys + params + (where\n// authored) per-key purpose / kind / variable meaning. Statically scanned by\n// the dev companion; NOT imported at runtime, so it never ships in the bundle.\n\nexport const LowLevelFormLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM, LowLevelFormLabels);\n\nexport const LowLevelFormControlLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_CONTROL, LowLevelFormControlLabels);\n\nexport const LowLevelFormDescriptionLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_DESCRIPTION, LowLevelFormDescriptionLabels);\n\nexport const LowLevelFormFieldLabels: LabellingUnitaryDef[] = [\n // Autosave / inline-edit save states\n { ref: 'saving', kind: LabelKind.LABEL, purpose: 'Status shown while a field value is being persisted' },\n { ref: 'saved', kind: LabelKind.LABEL, purpose: 'Confirmation shown once a field value has persisted successfully' },\n { ref: 'retry', kind: LabelKind.BUTTON, purpose: 'Button that re-attempts a failed field save' },\n { ref: 'save_failed', kind: LabelKind.MESSAGE, purpose: 'Error shown when persisting a field value fails' },\n { ref: 'field_reset_after_conflict', kind: LabelKind.MESSAGE, purpose: 'Shown on an inline-edited field after someone else saved it first: the edit was discarded and the field now shows the latest saved value' },\n {\n ref: 'save_conflict',\n kind: LabelKind.MESSAGE,\n purpose: 'Error shown when a field save is rejected because the record changed since it was loaded',\n },\n // Shared display labels (read-only value rendering)\n { ref: 'noValue', kind: LabelKind.EMPTY_STATE, purpose: 'Placeholder shown in place of a field that has no value' },\n // The other two halves of `DisplayEmptyReason`. One em dash used to say all three things at once:\n // a field awaiting the operator's input, a list with no members, and a computed value nothing has\n // produced yet. `noValue` above keeps the NOT_SET case and its existing words.\n { ref: 'noValueNone', kind: LabelKind.EMPTY_STATE, purpose: 'Shown in place of a COLLECTION (list, object or record) that exists but has no members yet — frequently the correct state rather than a gap, so the words should read as a calm statement (\"None yet\"), not as something missing' },\n { ref: 'noValueNotProvided', kind: LabelKind.EMPTY_STATE, purpose: 'Shown in place of a COMPUTED or system-owned field that has no value — the reader cannot set it, so the words must NOT invite input; they say nothing has produced one yet (\"Not available\")' },\n { ref: 'clear', kind: LabelKind.ARIA, purpose: 'Accessible name of the affordance inside a clearable picker that removes the current selection, returning the control to its empty state' },\n { ref: 'displayError', kind: LabelKind.MESSAGE, purpose: 'Fallback text when a field value cannot be rendered' },\n { ref: 'object', kind: LabelKind.ARIA, purpose: 'Accessible name for a rendered object/record value region' },\n {\n ref: 'resourceLinkLimitReached',\n kind: LabelKind.MESSAGE,\n purpose: 'Notice shown where an automatic display stops expanding LINKED RECORDS, having already followed the maximum number of resource links. It never appears over a record\\'s own nested fields, which are always rendered in full',\n },\n { ref: 'list', kind: LabelKind.ARIA, purpose: 'Accessible name for a rendered list/array value region' },\n {\n ref: 'showMore',\n kind: LabelKind.BUTTON,\n purpose: 'Reveals list or object entries hidden behind a truncation cutoff',\n params: [{ key: 'count', meaning: 'number of additional entries that are currently hidden' }],\n },\n {\n ref: 'editField',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the inline-edit affordance on a displayed field',\n params: [{ key: 'label', meaning: 'display name of the field being edited' }],\n },\n { ref: 'clearSelection', kind: LabelKind.BUTTON, purpose: 'Clears the chosen value of a relationship/reference field' },\n // Select / Combobox shared labels\n {\n ref: 'selectPlaceholder',\n kind: LabelKind.PLACEHOLDER,\n purpose: 'Prompt shown in a select/combobox trigger before a choice is made',\n },\n {\n ref: 'searchPlaceholder',\n kind: LabelKind.PLACEHOLDER,\n purpose: 'Prompt shown in the filter input of a searchable select/combobox',\n },\n { ref: 'noResults', kind: LabelKind.EMPTY_STATE, purpose: 'Shown when a select/combobox search matches no options' },\n // Multi-select labels\n {\n ref: 'selectedCount',\n kind: LabelKind.LABEL,\n purpose: 'Multi-select trigger summary counting how many options are chosen',\n params: [{ key: 'count', meaning: 'number of options currently selected' }],\n },\n { ref: 'clearAll', kind: LabelKind.BUTTON, purpose: 'Deselects every option in a multi-select' },\n { ref: 'selectAll', kind: LabelKind.BUTTON, purpose: 'Selects every available option in a multi-select' },\n // Chrome labels\n { ref: 'moreInformation', kind: LabelKind.ARIA, purpose: \"Accessible label for a field's help/info trigger\" },\n // Display-side labels. These four were READ by components and declared NOWHERE until 2026-09-18,\n // which is the drift direction this file's own header warns about: \"a key the component reads and\n // this array omits renders as its RAW KEY PATH in the browser — visible only to somebody looking\n // at the panel\". `unsupportedDisplayType` is how it was caught — it rendered verbatim on five\n // settings panes, and reading WHY led to a whole missing display branch (`FieldSchemaType.RECORD`).\n {\n ref: 'fileCount',\n kind: LabelKind.LABEL,\n purpose: 'Summary of how many files a file field holds, shown instead of listing them',\n params: [{ key: 'count', meaning: 'number of files attached to the field' }],\n },\n { ref: 'noFile', kind: LabelKind.EMPTY_STATE, purpose: 'Shown in place of a file field that holds no file' },\n {\n ref: 'save_unavailable',\n kind: LabelKind.MESSAGE,\n purpose: 'Shown when an inline relationship edit cannot be saved because the save route is unavailable — distinct from a save that was attempted and failed',\n },\n {\n ref: 'syncedFromAsOf',\n kind: LabelKind.MESSAGE,\n purpose: 'A short note beneath a read-only value that this application copies from another business system (an ERP such as Odoo or SAP) rather than holding itself: it names that system and says how current the local copy is — the time the last completed synchronisation started. It tells the reader the value is edited in that other system, not here',\n params: [\n { key: 'system', meaning: \"the name of the other system the value was copied from, already in the reader's words (for example \\\"Odoo\\\")\" },\n { key: 'asOf', meaning: 'when the copy was last brought up to date, already formatted — either relative (\"12 minutes ago\") or a date and time' },\n ],\n },\n {\n ref: 'unsupportedDisplayType',\n kind: LabelKind.MESSAGE,\n purpose: 'Shown beside the raw schema type when a field\\'s type has no display renderer at all; it names a framework gap rather than anything the reader can act on, so it reads as a diagnostic and not as user error',\n },\n];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_FIELD, LowLevelFormFieldLabels);\n\nexport const LowLevelFormItemLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_ITEM, LowLevelFormItemLabels);\n\nexport const LowLevelFormLabelLabels: LabellingUnitaryDef[] = [];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_LABEL, LowLevelFormLabelLabels);\n\nexport const LowLevelFormMessageLabels: LabellingUnitaryDef[] = [\n // Error summary headings\n {\n ref: 'serverValidationTitle',\n kind: LabelKind.HEADING,\n purpose: 'Heading above validation errors returned by the server',\n },\n { ref: 'formErrorsTitle', kind: LabelKind.HEADING, purpose: 'Heading above the aggregated form-error summary' },\n {\n ref: 'moreErrors',\n kind: LabelKind.LABEL,\n purpose: 'Overflow line counting validation errors not listed in the summary',\n params: [{ key: 'count', meaning: 'number of additional errors beyond those shown' }],\n },\n // Wizard navigation\n { ref: 'wizardNext', kind: LabelKind.BUTTON, purpose: 'Advances to the next step of a multi-step form' },\n { ref: 'wizardPrevious', kind: LabelKind.BUTTON, purpose: 'Returns to the previous step of a multi-step form' },\n { ref: 'wizardSubmit', kind: LabelKind.BUTTON, purpose: 'Submits the form from the final wizard step' },\n {\n ref: 'wizardStepDefault',\n kind: LabelKind.LABEL,\n purpose: 'Fallback name for a wizard step that has no authored title',\n params: [{ key: 'index', meaning: \"the step's 1-based position in the wizard\" }],\n },\n // Section save\n { ref: 'sectionSave', kind: LabelKind.BUTTON, purpose: 'Saves the values of a single form section' },\n { ref: 'sectionSaving', kind: LabelKind.LABEL, purpose: 'Status shown while a form section is being saved' },\n // Default submit action (skeleton SubmitButton fallback when no label prop)\n { ref: 'submitSave', kind: LabelKind.BUTTON, purpose: 'Default submit-button text when the form supplies no custom label' },\n // Array field messages\n { ref: 'arrayAddItem', kind: LabelKind.BUTTON, purpose: 'Adds a new entry to a repeatable array field' },\n { ref: 'arrayItemLabel', kind: LabelKind.LABEL, purpose: 'Base name given to each entry of an array field' },\n { ref: 'arrayEmptyMessage', kind: LabelKind.EMPTY_STATE, purpose: 'Shown when an array field has no entries yet' },\n {\n ref: 'arrayDragHandle',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the drag handle that reorders an array entry',\n params: [{ key: 'label', meaning: 'name of the array entry being dragged' }],\n },\n {\n ref: 'arrayMoveUp',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the button that moves an array entry earlier',\n params: [{ key: 'label', meaning: 'name of the array entry being moved' }],\n },\n {\n ref: 'arrayMoveDown',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the button that moves an array entry later',\n params: [{ key: 'label', meaning: 'name of the array entry being moved' }],\n },\n {\n ref: 'arrayRemoveItem',\n kind: LabelKind.ARIA,\n purpose: 'Accessible label for the button that deletes an array entry',\n params: [{ key: 'label', meaning: 'name of the array entry being removed' }],\n },\n // Checkbox group constraint hints\n {\n ref: 'checkboxSelectExactly',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group requires an exact number of selections',\n params: [{ key: 'count', meaning: 'exact number of options that must be checked' }],\n },\n {\n ref: 'checkboxSelectAtLeast',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group requires a minimum number of selections',\n params: [{ key: 'count', meaning: 'minimum number of options that must be checked' }],\n },\n {\n ref: 'checkboxSelectUpTo',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group allows at most a given number of selections',\n params: [{ key: 'count', meaning: 'maximum number of options that may be checked' }],\n },\n {\n ref: 'checkboxSelectRange',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a checkbox group requires a number of selections within a range',\n params: [\n { key: 'min', meaning: 'minimum number of options that must be checked' },\n { key: 'max', meaning: 'maximum number of options that may be checked' },\n ],\n },\n {\n ref: 'checkboxSelectedCount',\n kind: LabelKind.LABEL,\n purpose: 'Live count of how many options are checked in a checkbox group',\n params: [{ key: 'count', meaning: 'number of options currently checked' }],\n },\n // Record/Map field messages\n { ref: 'recordAddEntry', kind: LabelKind.BUTTON, purpose: 'Adds a new key/value pair to a record/map field' },\n { ref: 'recordKeyLabel', kind: LabelKind.LABEL, purpose: 'Label for the key input of a record/map entry' },\n { ref: 'recordValueLabel', kind: LabelKind.LABEL, purpose: 'Label for the value input of a record/map entry' },\n { ref: 'recordEmptyMessage', kind: LabelKind.EMPTY_STATE, purpose: 'Shown when a record/map field has no entries yet' },\n {\n ref: 'recordDuplicateKey',\n kind: LabelKind.MESSAGE,\n purpose: 'Error shown when a record/map entry reuses an existing key',\n },\n {\n ref: 'recordEnterKeyFirst',\n kind: LabelKind.MESSAGE,\n purpose: 'Hint that a record/map entry needs a key before a value can be set',\n },\n // Range field messages\n {\n ref: 'rangeFromMustBeLessThanTo',\n kind: LabelKind.MESSAGE,\n purpose: \"Error shown when a range field's start exceeds its end\",\n },\n // Uniqueness pre-validation messages\n {\n ref: 'uniqueFieldChecking',\n kind: LabelKind.MESSAGE,\n purpose: \"Status shown while a field's value is being checked for uniqueness\",\n },\n {\n ref: 'uniqueFieldConflict',\n kind: LabelKind.MESSAGE,\n purpose: 'Error shown when a unique field value is already taken',\n },\n {\n ref: 'uniqueFieldAvailable',\n kind: LabelKind.MESSAGE,\n purpose: 'Confirmation that a unique field value is available',\n },\n];\nregisterComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_MESSAGE, LowLevelFormMessageLabels);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../../src/components/form/combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAyB9B,OAAO,KAAK,EAAE,aAAa,EAAe,qBAAqB,EAAoC,MAAM,6BAA6B,CAAA;AAEtI,QAAA,MAAM,QAAQ,0GAgNZ,CAAA;AAGF,QAAA,MAAM,gBAAgB,kHAwNpB,CAAA;AAWF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAyB9B,OAAO,KAAK,EAAE,aAAa,EAAe,qBAAqB,EAAoC,MAAM,6BAA6B,CAAA;AAEtI,QAAA,MAAM,QAAQ,0GAwNZ,CAAA;AAGF,QAAA,MAAM,gBAAgB,kHA8NpB,CAAA;AAWF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA"}
@@ -5,7 +5,7 @@ import { cn, useIconRegistry, StandardIconReference, IconSize, useI18n, useUI, B
5
5
  import { ButtonVariants_Variant } from "@wildo-ai/saas-frontend-lib";
6
6
  import { FormControlVariant, FrontendComponentType, UIBehavior } from "@wildo-ai/presets-components-models";
7
7
  import { HorizontalAlign } from "@wildo-ai/zod-decorators";
8
- const Combobox = React.forwardRef(function ComboboxInner({ schema, name, options, value: controlledValue, onChange, onBlur, defaultValue, placeholder, searchPlaceholder, emptyMessage, disabled, readOnly, className, autoFocus, size = "md", renderOption, renderSelectedValue, onClear, leadingAdornment, onSearchChange, isLoading, shouldFilter = true, onOpenChange: onOpenChangeProp, surfacePolicyOverride, }, ref) {
8
+ const Combobox = React.forwardRef(function ComboboxInner({ schema, name, options, value: controlledValue, onChange, onBlur, defaultValue, placeholder, searchPlaceholder, emptyMessage, disabled, readOnly, className, autoFocus, size = "md", renderOption, renderSelectedValue, onClear, leadingAdornment, onSearchChange, isLoading, shouldFilter = true, onOpenChange: onOpenChangeProp, listFooter, surfacePolicyOverride, }, ref) {
9
9
  const [open, setOpen] = React.useState(false);
10
10
  const [internalValue, setInternalValue] = React.useState(defaultValue);
11
11
  const { renderIcon } = useIconRegistry();
@@ -66,7 +66,7 @@ const Combobox = React.forwardRef(function ComboboxInner({ schema, name, options
66
66
  than overriding height with a className. The form recipe
67
67
  still drives focus/disabled/motion because the trigger lives
68
68
  inside a form context. */
69
- size: size, className: cn("w-full justify-between font-normal", !selectedOption && "text-muted-foreground", formRecipe.states.focus, formRecipe.states.disabled, formRecipe.motion.transition, className), children: [leadingAdornment && (_jsx("span", { "data-slot": "combobox-leading-adornment", className: "shrink-0 inline-flex items-center", "aria-hidden": "true", children: leadingAdornment })), _jsx("span", { className: "inline-flex items-center gap-item-xs truncate", children: selectedOption
69
+ size: size, className: cn("w-full justify-between font-normal", !selectedOption && "text-muted-foreground", formRecipe.states.focus, formRecipe.states.disabled, formRecipe.motion.transition, className), children: [leadingAdornment && (_jsx("span", { "data-slot": "combobox-leading-adornment", className: "shrink-0 inline-flex items-center", "aria-hidden": "true", children: leadingAdornment })), _jsx("span", { className: "inline-flex items-center gap-element-sm truncate", children: selectedOption
70
70
  ? (renderSelectedValue
71
71
  ? renderSelectedValue(selectedOption)
72
72
  : selectedOption.label)
@@ -83,15 +83,15 @@ const Combobox = React.forwardRef(function ComboboxInner({ schema, name, options
83
83
  }, children: renderIcon(StandardIconReference.CLOSE, { size: IconSize.SM }) })), renderIcon(StandardIconReference.CHEVRONS_UP_DOWN, {
84
84
  size: IconSize.SM,
85
85
  className: "ms-2 shrink-0 opacity-[var(--opacity-muted)]",
86
- })] }) }), _jsx(PopoverContent, { className: "w-[--radix-popover-trigger-width] p-0", align: HorizontalAlign.START, surfacePolicyOverride: surfacePolicyOverride, children: _jsxs(Command, { shouldFilter: shouldFilter, children: [_jsx(CommandInput, { placeholder: searchPlaceholder ?? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'searchPlaceholder'), onValueChange: onSearchChange }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: isLoading
87
- ? _jsx(LoadingIndicator, {})
88
- : (emptyMessage ?? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'noResults')) }), _jsx(CommandGroup, { children: options.map((option) => {
89
- const isSelected = option.value === currentValue;
90
- return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: handleSelect, children: [renderIcon(StandardIconReference.CHECK, {
91
- size: IconSize.SM,
92
- className: cn("me-2 shrink-0", isSelected ? "opacity-100" : "opacity-0"),
93
- }), renderOption ? renderOption(option, isSelected) : option.label] }, option.value));
94
- }) })] })] }) })] }));
86
+ })] }) }), _jsxs(PopoverContent, { className: "w-[--radix-popover-trigger-width] p-0", align: HorizontalAlign.START, surfacePolicyOverride: surfacePolicyOverride, children: [_jsxs(Command, { shouldFilter: shouldFilter, children: [_jsx(CommandInput, { placeholder: searchPlaceholder ?? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'searchPlaceholder'), onValueChange: onSearchChange }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: isLoading
87
+ ? _jsx(LoadingIndicator, {})
88
+ : (emptyMessage ?? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'noResults')) }), _jsx(CommandGroup, { children: options.map((option) => {
89
+ const isSelected = option.value === currentValue;
90
+ return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: handleSelect, children: [renderIcon(StandardIconReference.CHECK, {
91
+ size: IconSize.SM,
92
+ className: cn("me-2 shrink-0", isSelected ? "opacity-100" : "opacity-0"),
93
+ }), renderOption ? renderOption(option, isSelected) : option.label] }, option.value));
94
+ }) })] })] }), listFooter ? (_jsx("div", { "data-slot": "combobox-list-footer", className: "border-t border-border px-element py-element-sm", children: listFooter })) : null] })] }));
95
95
  });
96
96
  Combobox.displayName = "Combobox";
97
97
  const ComboboxMultiple = React.forwardRef(function ComboboxMultipleInner({ schema, name, options, value: controlledValue, onChange, onBlur, defaultValue, placeholder, searchPlaceholder, emptyMessage, disabled, readOnly, className, autoFocus, size = "md", maxDisplayedBadges = 5, showSelectAll = true, renderOption, renderSelectedValue, onSearchChange, isLoading, shouldFilter = true, onOpenChange: onOpenChangeProp, surfacePolicyOverride, }, ref) {
@@ -164,9 +164,10 @@ const ComboboxMultiple = React.forwardRef(function ComboboxMultipleInner({ schem
164
164
  : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'selectAll') })), options.map((option) => {
165
165
  const isSelected = selectedSet.has(option.value);
166
166
  return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: () => handleToggle(option.value), children: [_jsx("div", { className: cn("me-2 flex size-4 shrink-0 items-center justify-center rounded-sm border border-primary", isSelected ? "bg-primary text-primary-foreground" : "opacity-[var(--opacity-muted)]"), children: isSelected && renderIcon(StandardIconReference.CHECK, { size: IconSize.XS }) }), renderOption ? renderOption(option, isSelected) : option.label] }, option.value));
167
- })] })] })] }) })] }), currentValue.length > 0 && (_jsxs("div", { className: "flex flex-wrap gap-item-xs", children: [displayedBadges.map((v) => {
167
+ })] })] })] }) })] }), currentValue.length > 0 && (_jsxs("div", { className: "flex flex-wrap gap-element-sm", children: [displayedBadges.map((v) => {
168
168
  const opt = options.find(o => o.value === v);
169
- return (_jsxs(Badge, { variant: "secondary", className: "gap-item-xs pe-1", children: [opt && renderSelectedValue
169
+ /* No local gap on the chip: `Badge`'s own structure owns the space between its parts. */
170
+ return (_jsxs(Badge, { variant: "secondary", className: "pe-1", children: [opt && renderSelectedValue
170
171
  ? renderSelectedValue(opt)
171
172
  : (opt?.label ?? v), !readOnly && !disabled && (_jsx("button", { type: "button", "aria-label": `Remove ${opt?.label ?? v}`, className: "ms-0.5 rounded-full p-0.5 hover:bg-muted-foreground/20 transition-colors duration-[var(--motion-duration-fast)]", onClick: () => handleRemove(v), children: renderIcon(StandardIconReference.X_MARK, { size: IconSize.XS }) }))] }, v));
172
173
  }), overflowCount > 0 && (_jsxs(Badge, { variant: "secondary", className: "text-muted-foreground", children: ["+", overflowCount] }))] }))] }));