@wildo-ai/presets-components 1.1.3 → 1.1.5

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 (707) hide show
  1. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  2. package/dist/esm/components/actions/action-bar.js +61 -7
  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.labels.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
  46. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
  47. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
  48. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
  49. package/dist/esm/components/ai-elements/decision/approval.d.ts +36 -4
  50. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/decision/approval.js +77 -7
  52. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  54. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/task.js +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  64. package/dist/esm/components/ai-elements/execution/tool.js +8 -1
  65. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  66. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  68. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
  78. package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
  79. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
  86. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/meta/agent.js +23 -18
  88. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  89. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  91. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
  93. package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
  94. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  96. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  97. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  98. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  99. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  101. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  103. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
  105. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  106. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
  107. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  108. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  109. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  110. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  111. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  112. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  113. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  114. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  115. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  116. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  117. package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
  118. package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
  119. package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
  120. package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
  121. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
  122. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
  123. package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
  124. package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
  125. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  126. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  127. package/dist/esm/components/app/app-layout-main-container.labels.js +21 -0
  128. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  129. package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
  130. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  131. package/dist/esm/components/app/public-layout-main-container.js +9 -8
  132. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  133. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  134. package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
  135. package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
  136. package/dist/esm/components/app/public-layout-terms.js +137 -0
  137. package/dist/esm/components/app/public-layout-terms.js.map +1 -0
  138. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  139. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
  140. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  141. package/dist/esm/components/billing/billing-invoice-history.js +3 -1
  142. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  143. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  144. package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
  145. package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
  146. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -0
  147. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  148. package/dist/esm/components/billing/billing-plan-change-preview.js +22 -0
  149. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  150. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
  151. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
  152. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +19 -0
  153. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
  154. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
  155. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  156. package/dist/esm/components/billing/billing-portal-link.js +3 -1
  157. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  158. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  159. package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
  160. package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
  161. package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
  162. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  163. package/dist/esm/components/billing/billing-pricing-table.js +4 -2
  164. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  165. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  166. package/dist/esm/components/billing/billing-pricing-table.labels.js +1 -0
  167. package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
  168. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
  169. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  170. package/dist/esm/components/billing/billing-subscription-status.js +3 -1
  171. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  172. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  173. package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
  174. package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
  175. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
  176. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  177. package/dist/esm/components/billing/billing-usage-dashboard.js +4 -4
  178. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  179. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  180. package/dist/esm/components/billing/billing-usage-dashboard.labels.js +2 -0
  181. package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
  182. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  183. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  184. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  185. package/dist/esm/components/data-display/badge.js +16 -15
  186. package/dist/esm/components/data-display/badge.js.map +1 -1
  187. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  188. package/dist/esm/components/data-display/description-list.d.ts +2 -1
  189. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  190. package/dist/esm/components/data-display/description-list.js +24 -8
  191. package/dist/esm/components/data-display/description-list.js.map +1 -1
  192. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  193. package/dist/esm/components/data-display/duration.d.ts +15 -0
  194. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  195. package/dist/esm/components/data-display/duration.js +50 -0
  196. package/dist/esm/components/data-display/duration.js.map +1 -0
  197. package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
  198. package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
  199. package/dist/esm/components/data-display/duration.labels.js +35 -0
  200. package/dist/esm/components/data-display/duration.labels.js.map +1 -0
  201. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
  202. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  203. package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
  204. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  205. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
  206. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
  207. package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
  208. package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
  209. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  210. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
  211. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  212. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  213. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  214. package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
  215. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  216. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  217. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  218. package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
  219. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  220. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  221. package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
  222. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  223. package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
  224. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  225. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  226. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
  227. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  228. package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
  229. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  230. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  231. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  232. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  233. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  234. package/dist/esm/components/data-display/formatters/display-field-enum.js +12 -8
  235. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  236. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  237. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  238. package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
  239. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  240. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  241. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
  242. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  243. package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
  244. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  245. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  246. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
  247. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
  248. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  249. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  250. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  251. package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
  252. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  253. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  254. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  255. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  256. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  257. package/dist/esm/components/data-display/formatters/display-field-file.js +2 -2
  258. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  259. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  260. package/dist/esm/components/data-display/formatters/display-field-file.labels.js +1 -0
  261. package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
  262. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  263. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  265. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  266. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  267. package/dist/esm/components/data-display/formatters/display-field-number.js +2 -2
  268. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  269. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  270. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  272. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  274. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  275. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  276. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  277. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  279. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  280. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  281. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  283. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  285. package/dist/esm/components/data-display/formatters/display-field-string.js +82 -7
  286. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  287. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  289. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/identifier.d.ts +19 -0
  291. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  292. package/dist/esm/components/data-display/identifier.js +21 -0
  293. package/dist/esm/components/data-display/identifier.js.map +1 -0
  294. package/dist/esm/components/data-display/kbd.d.ts +17 -0
  295. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  296. package/dist/esm/components/data-display/kbd.js +18 -0
  297. package/dist/esm/components/data-display/kbd.js.map +1 -0
  298. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  299. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  301. package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
  302. package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
  303. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  304. package/dist/esm/components/data-display/notification-indicator.js +3 -11
  305. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  306. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  307. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
  308. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
  309. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
  310. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
  311. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
  312. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
  313. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
  314. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
  315. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
  316. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  317. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
  318. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
  319. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
  320. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  321. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
  322. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
  323. package/dist/esm/components/data-display/timeline.d.ts +3 -0
  324. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  325. package/dist/esm/components/data-display/timeline.js +92 -0
  326. package/dist/esm/components/data-display/timeline.js.map +1 -0
  327. package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
  328. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  329. package/dist/esm/components/feedback/celebration-overlay.js +146 -22
  330. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  331. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  332. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  333. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  334. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  335. package/dist/esm/components/feedback/empty-state.js +11 -1
  336. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  337. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  338. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  339. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  340. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  341. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  342. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  343. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  344. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  345. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  346. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  347. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  348. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  349. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  350. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  351. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  352. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  353. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  354. package/dist/esm/components/feedback/notification-center.js +6 -6
  355. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  356. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
  357. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  358. package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
  359. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  360. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  361. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  362. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  363. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  364. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  365. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  367. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  368. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  369. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  370. package/dist/esm/components/form/chromes/field.js +11 -3
  371. package/dist/esm/components/form/chromes/field.js.map +1 -1
  372. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  373. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  374. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  375. package/dist/esm/components/form/chromes/form-primitive.labels.js +28 -0
  376. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  377. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  378. package/dist/esm/components/form/combobox.js +4 -3
  379. package/dist/esm/components/form/combobox.js.map +1 -1
  380. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  381. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  382. package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
  383. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  384. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  385. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  386. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  387. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  388. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  389. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  390. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  391. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  392. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  393. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  394. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
  395. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
  396. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  397. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  398. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  399. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  400. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  401. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  402. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  403. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  404. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  405. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  406. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  407. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  408. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
  409. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
  410. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  411. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  412. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  413. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  414. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
  415. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
  416. package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
  417. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  418. package/dist/esm/components/form/controls/enum/radio.js +13 -12
  419. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  420. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  421. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  422. package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
  423. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  424. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  425. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  426. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  427. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  428. package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
  429. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  430. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  431. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  432. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  433. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  434. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  435. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
  436. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
  437. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
  438. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
  439. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
  440. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
  441. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
  442. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
  443. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +54 -0
  444. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -0
  445. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +159 -0
  446. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -0
  447. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +22 -0
  448. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -0
  449. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +27 -0
  450. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -0
  451. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +41 -0
  452. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -0
  453. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +129 -0
  454. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -0
  455. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +22 -0
  456. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -0
  457. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +27 -0
  458. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -0
  459. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  460. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  461. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  462. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  463. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  464. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  465. package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
  466. package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
  467. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  468. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  469. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  470. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  471. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  472. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  473. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  474. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  475. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  476. package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
  477. package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
  478. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  479. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  480. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  481. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  482. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  483. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  484. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  485. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  486. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  487. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  488. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  489. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  490. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  491. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  492. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  493. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  494. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  495. package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
  496. package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
  497. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  498. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  499. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  500. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  501. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  502. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  503. package/dist/esm/components/navigation/app-level/menubar.js +35 -13
  504. package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
  505. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  506. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  507. package/dist/esm/components/navigation/app-level/navigation-back.js +10 -2
  508. package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
  509. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  510. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  511. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  512. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  513. package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
  514. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  515. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  516. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  517. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
  518. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
  519. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  520. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  521. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/sidebar.js +38 -22
  523. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  524. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  525. package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
  526. package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
  527. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  528. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  529. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  530. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  532. package/dist/esm/components/navigation/app-level/utility-panel.js +30 -5
  533. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  534. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  535. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  536. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  537. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  539. package/dist/esm/components/navigation/command.js +2 -2
  540. package/dist/esm/components/navigation/command.js.map +1 -1
  541. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  542. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  543. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  544. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  546. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  547. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  548. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  549. package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
  550. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  551. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  552. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  553. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  554. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  555. package/dist/esm/components/overlays/containers/dialog.js +11 -1
  556. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  557. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  558. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  559. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  560. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  561. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  562. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  563. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  564. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  565. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  566. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  567. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  568. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  569. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  570. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  571. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  572. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  573. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  574. package/dist/esm/components/sections/card.d.ts.map +1 -1
  575. package/dist/esm/components/sections/card.js +71 -6
  576. package/dist/esm/components/sections/card.js.map +1 -1
  577. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  578. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  579. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  580. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  581. package/dist/esm/components/sections/content-section.js +36 -6
  582. package/dist/esm/components/sections/content-section.js.map +1 -1
  583. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
  584. package/dist/esm/components/sections/option-gesture.d.ts +15 -0
  585. package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
  586. package/dist/esm/components/sections/option-gesture.js +66 -0
  587. package/dist/esm/components/sections/option-gesture.js.map +1 -0
  588. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  589. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  590. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  591. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  592. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  593. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  594. package/dist/esm/components/sections/table.d.ts.map +1 -1
  595. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  596. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  597. package/dist/esm/components/sections/tabs.js +64 -15
  598. package/dist/esm/components/sections/tabs.js.map +1 -1
  599. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  600. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  601. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  602. package/dist/esm/components/typography/label.d.ts.map +1 -1
  603. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  604. package/dist/esm/components/typography/link.d.ts.map +1 -1
  605. package/dist/esm/components/typography/link.js +9 -3
  606. package/dist/esm/components/typography/link.js.map +1 -1
  607. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  608. package/dist/esm/components/typography/text.d.ts +1 -1
  609. package/dist/esm/components/typography/text.d.ts.map +1 -1
  610. package/dist/esm/components/typography/text.js +3 -2
  611. package/dist/esm/components/typography/text.js.map +1 -1
  612. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  613. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  614. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  615. package/dist/esm/config/index.d.ts.map +1 -1
  616. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  617. package/dist/esm/config/preset-design-system.js +37 -60
  618. package/dist/esm/config/preset-design-system.js.map +1 -1
  619. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  620. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  621. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  622. package/dist/esm/config/preset-navigation.js +0 -5
  623. package/dist/esm/config/preset-navigation.js.map +1 -1
  624. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  625. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  626. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  627. package/dist/esm/config/presets.d.ts.map +1 -1
  628. package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
  629. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  630. package/dist/esm/config/resources/application.resource-presets.js +163 -7
  631. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  632. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  633. package/dist/esm/config/resources/billing.resource-presets.js +1 -0
  634. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  635. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  636. package/dist/esm/config/resources/guidance.resource-presets.js +21 -5
  637. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  638. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  639. package/dist/esm/config/resources/identity.resource-presets.js +25 -3
  640. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  641. package/dist/esm/config/resources/index.d.ts.map +1 -1
  642. package/dist/esm/config/resources/index.js.map +1 -1
  643. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  644. package/dist/esm/config/resources/organizations.resource-presets.js +90 -12
  645. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  646. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  647. package/dist/esm/config/resources/security.resource-presets.d.ts +8 -2
  648. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  649. package/dist/esm/config/resources/security.resource-presets.js +185 -29
  650. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  651. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  652. package/dist/esm/config/resources/webhooks.resource-presets.js +27 -2
  653. package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
  654. package/dist/esm/index.d.ts +7 -1
  655. package/dist/esm/index.d.ts.map +1 -1
  656. package/dist/esm/index.js +7 -1
  657. package/dist/esm/index.js.map +1 -1
  658. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  659. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  660. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  661. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  662. package/dist/esm/registration/register-common-enums.js +48 -34
  663. package/dist/esm/registration/register-common-enums.js.map +1 -1
  664. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  665. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  666. package/dist/esm/registration/register-default-icons.js +3 -1
  667. package/dist/esm/registration/register-default-icons.js.map +1 -1
  668. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  669. package/dist/esm/registration/register-default-presets.js +36 -4
  670. package/dist/esm/registration/register-default-presets.js.map +1 -1
  671. package/dist/esm/registration/register-provider-components.d.ts +31 -0
  672. package/dist/esm/registration/register-provider-components.d.ts.map +1 -0
  673. package/dist/esm/registration/register-provider-components.js +50 -0
  674. package/dist/esm/registration/register-provider-components.js.map +1 -0
  675. package/dist/esm/shiki-subset.d.ts +11 -3
  676. package/dist/esm/shiki-subset.d.ts.map +1 -1
  677. package/dist/esm/shiki-subset.js +10 -2
  678. package/dist/esm/shiki-subset.js.map +1 -1
  679. package/dist/esm/theme-exports.d.ts.map +1 -1
  680. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  681. package/dist/esm/themes/cozy.theme.js +19 -5
  682. package/dist/esm/themes/cozy.theme.js.map +1 -1
  683. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  684. package/dist/esm/themes/dense.theme.js +56 -10
  685. package/dist/esm/themes/dense.theme.js.map +1 -1
  686. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  687. package/dist/esm/themes/editorial.theme.js +19 -5
  688. package/dist/esm/themes/editorial.theme.js.map +1 -1
  689. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  690. package/dist/esm/themes/glass.theme.js +5 -1
  691. package/dist/esm/themes/glass.theme.js.map +1 -1
  692. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  693. package/dist/esm/themes/neo-brutalist.theme.js +9 -2
  694. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  695. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  696. package/dist/esm/themes/terminal.theme.js +19 -5
  697. package/dist/esm/themes/terminal.theme.js.map +1 -1
  698. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  699. package/dist/esm/themes/trading.theme.js +22 -6
  700. package/dist/esm/themes/trading.theme.js.map +1 -1
  701. package/dist/tsconfig.build.tsbuildinfo +1 -1
  702. package/package.json +29 -44
  703. package/dist/esm/.native.tsbuildinfo +0 -1
  704. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
  705. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
  706. package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
  707. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"feature-unavailable-prompt.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/features/feature-unavailable-prompt.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAQL,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AAuCrC,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,SAAS,GACV,EAAE,6BAA6B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgH1D"}
1
+ {"version":3,"file":"feature-unavailable-prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/components/feedback/features/feature-unavailable-prompt.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAQL,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AAuCrC,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,SAAS,GACV,EAAE,6BAA6B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgH1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-unavailable-prompt.js","sourceRoot":"","sources":["../../../../../src/components/feedback/features/feature-unavailable-prompt.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * FeatureUnavailablePrompt (Preset)\n *\n * Core reusable content for feature unavailability prompts.\n * Adapts its title, description, icon, and CTA based on `behavior`.\n *\n * Rendered both in the route content area (FeatureRouteGuard) and inside a Dialog.\n */\n\nimport React, { useMemo } from 'react';\nimport { ButtonSize, FrontendComponentType, SurfaceVariant } from '@wildo-ai/presets-components-models';\nimport {\n Button,\n ButtonVariants_Variant,\n useI18n,\n useIconRegistry,\n StandardIconReference,\n IconSize,\n Surface,\n FeatureUnavailablePromptProps,\n} from '@wildo-ai/saas-frontend-lib';\n\n// ── Behavior → icon / label key mapping ─────────────────────────────\n\ninterface BehaviorConfig {\n icon: StandardIconReference;\n titleKey: string;\n descriptionKey: string;\n ctaKey?: string;\n}\n\n/**\n * Maps FeatureUnavailabilityBehavior enum values (lowercase) to icon + label keys.\n * Keys must match the enum values exactly: 'upgrade_prompt', 'addon_prompt', etc.\n */\nconst BEHAVIOR_CONFIG: Record<string, BehaviorConfig> = {\n upgrade_prompt: { icon: StandardIconReference.LOCK, titleKey: 'upgradeTitle', descriptionKey: 'upgradeDescription', ctaKey: 'upgradeCTA' },\n addon_prompt: { icon: StandardIconReference.PLUS, titleKey: 'addonTitle', descriptionKey: 'addonDescription', ctaKey: 'addonCTA' },\n contact_admin: { icon: StandardIconReference.USERS, titleKey: 'contactTitle', descriptionKey: 'contactDescription' },\n limit_upgrade_prompt: { icon: StandardIconReference.WARNING, titleKey: 'limitTitle', descriptionKey: 'limitDescription', ctaKey: 'limitCTA' },\n disable: { icon: StandardIconReference.LOCK, titleKey: 'disableTitle', descriptionKey: 'disableDescription' },\n /*\n * `custom` reaches this preset ONLY when the feature declared no `customComponentRef`: the engine\n * wrapper resolves a declared ref through the component registry and renders that instead, and an\n * unresolvable ref renders ComponentNotInjected (#440). So this row is the no-ref fallback, not an\n * alias — it used to be the alias, which is why a CUSTOM feature rendered the DISABLE copy while\n * `useResourceOperationActions` was treating CUSTOM as a prompt behaviour.\n */\n custom: { icon: StandardIconReference.LOCK, titleKey: 'disableTitle', descriptionKey: 'disableDescription' },\n};\n\nconst DEFAULT_CONFIG: BehaviorConfig = {\n icon: StandardIconReference.LOCK,\n titleKey: 'disableTitle',\n descriptionKey: 'disableDescription',\n};\n\n// ── Component ───────────────────────────────────────────────────────\n\nexport function FeatureUnavailablePrompt({\n behavior,\n missingFeatures,\n limitInfo,\n upgradeOptionsCount,\n onAction,\n onDismiss,\n}: FeatureUnavailablePromptProps): React.JSX.Element | null {\n const { makeTrComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_FEATURE_UNAVAILABLE_PROMPT });\n const { renderIcon } = useIconRegistry();\n\n const t = useMemo(\n () => makeTrComponent(FrontendComponentType.LOW_LEVEL_FEATURE_UNAVAILABLE_PROMPT),\n [makeTrComponent],\n );\n\n const config = BEHAVIOR_CONFIG[behavior] ?? DEFAULT_CONFIG;\n\n const limitPercentage = useMemo(() => {\n if (!limitInfo || limitInfo.limit <= 0) return 0;\n return Math.min(100, Math.round((limitInfo.current / limitInfo.limit) * 100));\n }, [limitInfo]);\n\n if (!isReady) return null;\n\n return (\n <div className=\"flex flex-col items-center justify-center min-h-[60vh] p-card text-center max-w-lg mx-auto\">\n {/* Icon */}\n <div className=\"w-16 h-16 rounded-full bg-muted flex items-center justify-center mb-section\">\n {renderIcon(config.icon, { size: IconSize.LG, className: 'text-muted-foreground' })}\n </div>\n\n {/* Title */}\n <h2 className=\"text-2xl font-semibold text-foreground mb-element\">\n {t(config.titleKey)}\n </h2>\n\n {/* Description */}\n <p className=\"text-muted-foreground mb-section max-w-sm\">\n {t(config.descriptionKey)}\n </p>\n\n {/* Missing features badges */}\n {missingFeatures && missingFeatures.length > 0 && (\n <div className=\"mb-section space-y-element\">\n <p className=\"text-xs font-medium text-muted-foreground\">\n {t('requiredFeaturesLabel')}\n </p>\n <div className=\"flex flex-wrap justify-center gap-1\">\n {missingFeatures.map(f => (\n <span key={f} className=\"inline-flex items-center rounded-md bg-primary/10 px-2.5 py-1 text-xs font-medium text-primary\">\n {f}\n </span>\n ))}\n </div>\n </div>\n )}\n\n {/* Limit usage bar */}\n {limitInfo && (\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.INSET}>\n <div className=\"bg-muted rounded-lg p-card-sm space-y-element w-full max-w-xs mb-section\">\n <div className=\"flex justify-between text-sm\">\n <span className=\"text-muted-foreground\">{limitInfo.featureId}</span>\n <span className=\"font-medium text-foreground\">\n {t('usageProgress', { current: limitInfo.current, limit: limitInfo.limit })}\n </span>\n </div>\n <div\n className=\"h-2.5 bg-muted-foreground/20 rounded-full overflow-hidden\"\n role=\"progressbar\"\n aria-valuenow={limitInfo.current}\n aria-valuemin={0}\n aria-valuemax={limitInfo.limit}\n aria-label={`${limitInfo.featureId}: ${limitInfo.current} of ${limitInfo.limit}`}\n >\n <div\n className={`h-full rounded-full transition-all duration-[var(--motion-duration-fast)] ${\n limitPercentage >= 100 ? 'bg-destructive' : limitPercentage >= 80 ? 'bg-warning' : 'bg-primary'\n }`}\n style={{ width: `${limitPercentage}%` }}\n />\n </div>\n </div>\n </Surface>\n )}\n\n {/* Upgrade options count */}\n {upgradeOptionsCount != null && upgradeOptionsCount > 0 && (\n <p className=\"text-sm text-muted-foreground mb-section\">\n {t('upgradeOptionsAvailable', { count: upgradeOptionsCount })}\n </p>\n )}\n\n {/* Actions */}\n <div className=\"flex flex-col gap-element w-full max-w-xs\">\n {config.ctaKey && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.DEFAULT}\n size={ButtonSize.MD}\n onClick={onAction}\n >\n {t(config.ctaKey)}\n </Button>\n )}\n {onDismiss && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.MD}\n onClick={onDismiss}\n >\n {t('goBack')}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"feature-unavailable-prompt.js","sourceRoot":"","sources":["../../../../../../src/components/feedback/features/feature-unavailable-prompt.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * FeatureUnavailablePrompt (Preset)\n *\n * Core reusable content for feature unavailability prompts.\n * Adapts its title, description, icon, and CTA based on `behavior`.\n *\n * Rendered both in the route content area (FeatureRouteGuard) and inside a Dialog.\n */\n\nimport React, { useMemo } from 'react';\nimport { ButtonSize, FrontendComponentType, SurfaceVariant } from '@wildo-ai/presets-components-models';\nimport {\n Button,\n ButtonVariants_Variant,\n useI18n,\n useIconRegistry,\n StandardIconReference,\n IconSize,\n Surface,\n FeatureUnavailablePromptProps,\n} from '@wildo-ai/saas-frontend-lib';\n\n// ── Behavior → icon / label key mapping ─────────────────────────────\n\ninterface BehaviorConfig {\n icon: StandardIconReference;\n titleKey: string;\n descriptionKey: string;\n ctaKey?: string;\n}\n\n/**\n * Maps FeatureUnavailabilityBehavior enum values (lowercase) to icon + label keys.\n * Keys must match the enum values exactly: 'upgrade_prompt', 'addon_prompt', etc.\n */\nconst BEHAVIOR_CONFIG: Record<string, BehaviorConfig> = {\n upgrade_prompt: { icon: StandardIconReference.LOCK, titleKey: 'upgradeTitle', descriptionKey: 'upgradeDescription', ctaKey: 'upgradeCTA' },\n addon_prompt: { icon: StandardIconReference.PLUS, titleKey: 'addonTitle', descriptionKey: 'addonDescription', ctaKey: 'addonCTA' },\n contact_admin: { icon: StandardIconReference.USERS, titleKey: 'contactTitle', descriptionKey: 'contactDescription' },\n limit_upgrade_prompt: { icon: StandardIconReference.WARNING, titleKey: 'limitTitle', descriptionKey: 'limitDescription', ctaKey: 'limitCTA' },\n disable: { icon: StandardIconReference.LOCK, titleKey: 'disableTitle', descriptionKey: 'disableDescription' },\n /*\n * `custom` reaches this preset ONLY when the feature declared no `customComponentRef`: the engine\n * wrapper resolves a declared ref through the component registry and renders that instead, and an\n * unresolvable ref renders ComponentNotInjected (#440). So this row is the no-ref fallback, not an\n * alias — it used to be the alias, which is why a CUSTOM feature rendered the DISABLE copy while\n * `useResourceOperationActions` was treating CUSTOM as a prompt behaviour.\n */\n custom: { icon: StandardIconReference.LOCK, titleKey: 'disableTitle', descriptionKey: 'disableDescription' },\n};\n\nconst DEFAULT_CONFIG: BehaviorConfig = {\n icon: StandardIconReference.LOCK,\n titleKey: 'disableTitle',\n descriptionKey: 'disableDescription',\n};\n\n// ── Component ───────────────────────────────────────────────────────\n\nexport function FeatureUnavailablePrompt({\n behavior,\n missingFeatures,\n limitInfo,\n upgradeOptionsCount,\n onAction,\n onDismiss,\n}: FeatureUnavailablePromptProps): React.JSX.Element | null {\n const { makeTrComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_FEATURE_UNAVAILABLE_PROMPT });\n const { renderIcon } = useIconRegistry();\n\n const t = useMemo(\n () => makeTrComponent(FrontendComponentType.LOW_LEVEL_FEATURE_UNAVAILABLE_PROMPT),\n [makeTrComponent],\n );\n\n const config = BEHAVIOR_CONFIG[behavior] ?? DEFAULT_CONFIG;\n\n const limitPercentage = useMemo(() => {\n if (!limitInfo || limitInfo.limit <= 0) return 0;\n return Math.min(100, Math.round((limitInfo.current / limitInfo.limit) * 100));\n }, [limitInfo]);\n\n if (!isReady) return null;\n\n return (\n <div className=\"flex flex-col items-center justify-center min-h-[60vh] p-card text-center max-w-lg mx-auto\">\n {/* Icon */}\n <div className=\"w-16 h-16 rounded-full bg-muted flex items-center justify-center mb-section\">\n {renderIcon(config.icon, { size: IconSize.LG, className: 'text-muted-foreground' })}\n </div>\n\n {/* Title */}\n <h2 className=\"text-2xl font-semibold text-foreground mb-element\">\n {t(config.titleKey)}\n </h2>\n\n {/* Description */}\n <p className=\"text-muted-foreground mb-section max-w-sm\">\n {t(config.descriptionKey)}\n </p>\n\n {/* Missing features badges */}\n {missingFeatures && missingFeatures.length > 0 && (\n <div className=\"mb-section space-y-element\">\n <p className=\"text-xs font-medium text-muted-foreground\">\n {t('requiredFeaturesLabel')}\n </p>\n <div className=\"flex flex-wrap justify-center gap-1\">\n {missingFeatures.map(f => (\n <span key={f} className=\"inline-flex items-center rounded-md bg-primary/10 px-2.5 py-1 text-xs font-medium text-primary\">\n {f}\n </span>\n ))}\n </div>\n </div>\n )}\n\n {/* Limit usage bar */}\n {limitInfo && (\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.INSET}>\n <div className=\"bg-muted rounded-lg p-card-sm space-y-element w-full max-w-xs mb-section\">\n <div className=\"flex justify-between text-sm\">\n <span className=\"text-muted-foreground\">{limitInfo.featureId}</span>\n <span className=\"font-medium text-foreground\">\n {t('usageProgress', { current: limitInfo.current, limit: limitInfo.limit })}\n </span>\n </div>\n <div\n className=\"h-2.5 bg-muted-foreground/20 rounded-full overflow-hidden\"\n role=\"progressbar\"\n aria-valuenow={limitInfo.current}\n aria-valuemin={0}\n aria-valuemax={limitInfo.limit}\n aria-label={`${limitInfo.featureId}: ${limitInfo.current} of ${limitInfo.limit}`}\n >\n <div\n className={`h-full rounded-full transition-all duration-[var(--motion-duration-fast)] ${\n limitPercentage >= 100 ? 'bg-destructive' : limitPercentage >= 80 ? 'bg-warning' : 'bg-primary'\n }`}\n style={{ width: `${limitPercentage}%` }}\n />\n </div>\n </div>\n </Surface>\n )}\n\n {/* Upgrade options count */}\n {upgradeOptionsCount != null && upgradeOptionsCount > 0 && (\n <p className=\"text-sm text-muted-foreground mb-section\">\n {t('upgradeOptionsAvailable', { count: upgradeOptionsCount })}\n </p>\n )}\n\n {/* Actions */}\n <div className=\"flex flex-col gap-element w-full max-w-xs\">\n {config.ctaKey && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.DEFAULT}\n size={ButtonSize.MD}\n onClick={onAction}\n >\n {t(config.ctaKey)}\n </Button>\n )}\n {onDismiss && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.MD}\n onClick={onDismiss}\n >\n {t('goBack')}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-unavailable-prompt.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/features/feature-unavailable-prompt.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,sCAAsC,EAAE,mBAAmB,EA2GvE,CAAC"}
1
+ {"version":3,"file":"feature-unavailable-prompt.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/feedback/features/feature-unavailable-prompt.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,sCAAsC,EAAE,mBAAmB,EA2GvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading-overlay.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loading-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,WAAgB,EAAE,WAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwBpI;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"loading-overlay.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/loading-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE;;;;;;;GAOG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,WAAgB,EAAE,WAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwBpI;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading-overlay.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loading-overlay.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAM7D,CAAC"}
1
+ {"version":3,"file":"loading-overlay.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/loading-overlay.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAM7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading-spinner.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loading-spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE;;;;;GAKG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA2CzG;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"loading-spinner.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/loading-spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE;;;;;GAKG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,IAAS,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA2CzG;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading-spinner.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/loading-spinner.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAM7D,CAAC"}
1
+ {"version":3,"file":"loading-spinner.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/loading-spinner.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAM7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/notification-center.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAEL,uBAAuB,EAMxB,MAAM,6BAA6B,CAAC;AAkCrC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,gGA2H9B,CAAC"}
1
+ {"version":3,"file":"notification-center.d.ts","sourceRoot":"","sources":["../../../../../src/components/feedback/notification-center.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAEL,uBAAuB,EAMxB,MAAM,6BAA6B,CAAC;AAkCrC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,gGA2H9B,CAAC"}
@@ -11,12 +11,12 @@ function getRelativeTime(timestamp, labels) {
11
11
  const hours = Math.floor(diff / 3600000);
12
12
  const days = Math.floor(diff / 86400000);
13
13
  if (minutes < 1)
14
- return labels.labelTimeJustNow ?? 'Just now';
14
+ return labels.labelTimeJustNow;
15
15
  if (minutes < 60)
16
- return labels.formatTimeMinutesAgo?.(minutes) ?? `${minutes}m ago`;
16
+ return labels.formatTimeMinutesAgo(minutes);
17
17
  if (hours < 24)
18
- return labels.formatTimeHoursAgo?.(hours) ?? `${hours}h ago`;
19
- return labels.formatTimeDaysAgo?.(days) ?? `${days}d ago`;
18
+ return labels.formatTimeHoursAgo(hours);
19
+ return labels.formatTimeDaysAgo(days);
20
20
  }
21
21
  const TYPE_INDICATORS = {
22
22
  success: 'bg-success',
@@ -39,9 +39,9 @@ const TYPE_INDICATORS = {
39
39
  * For engine integration, see the notification-center wrapper in saas-frontend-lib
40
40
  * which wires NotificationContext and resolves i18n labels.
41
41
  */
42
- export const NotificationCenter = React.forwardRef(({ notifications, sessionCount, onRemove, onClearAll, labelTitle = 'Notifications', labelNoNotifications = 'Nothing since this page loaded', labelClearAll = 'Clear all', labelDismiss = 'Dismiss', labelTimeJustNow, formatTimeMinutesAgo, formatTimeHoursAgo, formatTimeDaysAgo, className, ...props }, ref) => {
42
+ export const NotificationCenter = React.forwardRef(({ notifications, sessionCount, onRemove, onClearAll, labelTitle, labelNoNotifications, labelClearAll, labelDismiss, labelTimeJustNow, formatTimeMinutesAgo, formatTimeHoursAgo, formatTimeDaysAgo, className, ...props }, ref) => {
43
43
  const timeLabels = { labelTimeJustNow, formatTimeMinutesAgo, formatTimeHoursAgo, formatTimeDaysAgo };
44
- return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.RAISED, children: _jsxs("div", { ref: ref, className: cn("flex flex-col w-full max-w-sm border border-border rounded-lg bg-popover shadow-[var(--shadow-lg)]", className), ...props, children: [_jsxs("div", { className: "flex items-center justify-between px-card py-element border-b border-border", children: [_jsxs("div", { className: "flex items-center gap-element", children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: labelTitle }), sessionCount > 0 && (_jsx("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", children: sessionCount }))] }), _jsx("div", { className: "flex items-center gap-element-sm", children: notifications.length > 0 && onClearAll && (_jsx(Button, { variant: ButtonVariants_Variant.GHOST, size: ButtonSize.XS, className: "text-muted-foreground", onClick: onClearAll, children: labelClearAll })) })] }), _jsx(ScrollArea, { className: "max-h-[24rem]", children: notifications.length === 0 ? (_jsx("div", { className: "flex items-center justify-center py-section text-sm text-muted-foreground", children: labelNoNotifications })) : (_jsx("div", { className: "flex flex-col", children: notifications.map((notification) => (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.INSET, children: _jsxs("div", { className: cn("flex items-start gap-element px-card py-element-lg border-b border-border/50 last:border-b-0"), children: [_jsx("div", { className: "flex-shrink-0 mt-1.5", children: _jsx("div", { className: cn("w-2 h-2 rounded-full", TYPE_INDICATORS[notification.type] ?? TYPE_INDICATORS.info) }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-start justify-between gap-element-sm", children: [_jsxs("p", { className: "text-sm leading-snug font-medium text-foreground", children: [notification.wasCelebration && _jsx("span", { className: "me-1", children: "\uD83C\uDF89" }), notification.message] }), onRemove && (_jsx("button", { type: "button", className: "flex-shrink-0 text-muted-foreground/50 hover:text-muted-foreground text-xs", onClick: () => onRemove(notification.id), "aria-label": labelDismiss, children: "\u00D7" }))] }), _jsx("p", { className: "text-xs text-muted-foreground/70 mt-0.5", children: getRelativeTime(notification.timestamp, timeLabels) }), notification.nextStep && (_jsxs(Button, { variant: ButtonVariants_Variant.LINK, size: ButtonSize.SM, className: "h-auto p-0 text-xs mt-1", onClick: () => notification.nextStep.onClick(), children: [notification.nextStep.label, " \u2192"] }))] })] }) }, notification.id))) })) })] }) }));
44
+ return (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.RAISED, children: _jsxs("div", { ref: ref, className: cn("flex flex-col w-full max-w-sm border border-border rounded-lg bg-popover shadow-[var(--shadow-lg)]", className), ...props, children: [_jsxs("div", { className: "flex items-center justify-between px-card py-element border-b border-border", children: [_jsxs("div", { className: "flex items-center gap-element", children: [_jsx("h3", { className: "text-sm font-semibold text-foreground", children: labelTitle }), sessionCount > 0 && (_jsx("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", children: sessionCount }))] }), _jsx("div", { className: "flex items-center gap-element-sm", children: notifications.length > 0 && onClearAll && (_jsx(Button, { variant: ButtonVariants_Variant.GHOST, size: ButtonSize.XS, className: "text-muted-foreground", onClick: onClearAll, children: labelClearAll })) })] }), _jsx(ScrollArea, { className: "max-h-[24rem]", children: notifications.length === 0 ? (_jsx("div", { className: "flex items-center justify-center py-section text-sm text-muted-foreground", children: labelNoNotifications })) : (_jsx("div", { className: "flex flex-col", children: notifications.map((notification) => (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.INSET, children: _jsxs("div", { className: cn("flex items-start gap-element px-card py-element-lg border-b border-border/50 last:border-b-0"), children: [_jsx("div", { className: "flex-shrink-0 mt-1.5", children: _jsx("div", { className: cn("w-2 h-2 rounded-full", TYPE_INDICATORS[notification.type] ?? TYPE_INDICATORS.info) }) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsxs("div", { className: "flex items-start justify-between gap-element-sm", children: [_jsxs("p", { className: "text-sm leading-snug font-medium text-foreground", children: [notification.wasCelebration && _jsx("span", { className: "me-1", children: "\uD83C\uDF89" }), notification.message] }), onRemove && (_jsx("button", { type: "button", className: "flex-shrink-0 text-muted-foreground/50 hover:text-muted-foreground text-xs", onClick: () => onRemove(notification.id), "aria-label": labelDismiss, children: "\u00D7" }))] }), _jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: getRelativeTime(notification.timestamp, timeLabels) }), notification.nextStep && (_jsxs(Button, { variant: ButtonVariants_Variant.LINK, size: ButtonSize.SM, className: "h-auto p-0 text-xs mt-1", onClick: () => notification.nextStep.onClick(), children: [notification.nextStep.label, " \u2192"] }))] })] }) }, notification.id))) })) })] }) }));
45
45
  });
46
46
  NotificationCenter.displayName = "NotificationCenter";
47
47
  //# sourceMappingURL=notification-center.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-center.js","sourceRoot":"","sources":["../../../../src/components/feedback/notification-center.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAGL,EAAE,EACF,MAAM,EACN,sBAAsB,EACtB,UAAU,EACV,OAAO,GACR,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAEhF,gEAAgE;AAChE,UAAU;AACV,gEAAgE;AAEhE,SAAS,eAAe,CACtB,SAAiB,EACjB,MAA+H;IAE/H,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;IAEzC,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,gBAAgB,IAAI,UAAU,CAAC;IAC9D,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,OAAO,CAAC;IACrF,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC;IAC7E,OAAO,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC;AAC5D,CAAC;AAED,MAAM,eAAe,GAA2B;IAC9C,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,gEAAgE;AAChE,YAAY;AACZ,gEAAgE;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAChD,CACE,EACE,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,UAAU,GAAG,eAAe,EAC5B,oBAAoB,GAAG,gCAAgC,EACvD,aAAa,GAAG,WAAW,EAC3B,YAAY,GAAG,SAAS,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,UAAU,GAAG,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IAErG,OAAO,CACL,KAAC,OAAO,IAAC,OAAO,QAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,YACpE,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,oGAAoG,EACpG,SAAS,CACV,KACG,KAAK,aAGT,eAAK,SAAS,EAAC,6EAA6E,aAC1F,eAAK,SAAS,EAAC,+BAA+B,aAC5C,aAAI,SAAS,EAAC,uCAAuC,YAAE,UAAU,GAAM,EAEtE,YAAY,GAAG,CAAC,IAAI,CACnB,eAAM,SAAS,EAAC,qIAAqI,YAClJ,YAAY,GACR,CACR,IACG,EACN,cAAK,SAAS,EAAC,kCAAkC,YAC9C,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,IAAI,CACzC,KAAC,MAAM,IAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAC,uBAAuB,EAAC,OAAO,EAAE,UAAU,YACtH,aAAa,GACP,CACV,GACG,IACF,EAGN,KAAC,UAAU,IAAC,SAAS,EAAC,eAAe,YAClC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC5B,cAAK,SAAS,EAAC,2EAA2E,YACvF,oBAAoB,GACjB,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,eAAe,YAC3B,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACnC,KAAC,OAAO,IAAuB,OAAO,QAAC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,YAOzF,eACE,SAAS,EAAE,EAAE,CACX,8FAA8F,CAC/F,aAGD,cAAK,SAAS,EAAC,sBAAsB,YACnC,cAAK,SAAS,EAAE,EAAE,CAChB,sBAAsB,EACtB,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAC3D,GAAI,GACD,EAGN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,eAAK,SAAS,EAAC,iDAAiD,aAC9D,aAAG,SAAS,EAAC,kDAAkD,aAC5D,YAAY,CAAC,cAAc,IAAI,eAAM,SAAS,EAAC,MAAM,6BAAU,EAC/D,YAAY,CAAC,OAAO,IACnB,EACH,QAAQ,IAAI,CACX,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,4EAA4E,EACtF,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,gBAC5B,YAAY,uBAGjB,CACV,IACG,EACN,YAAG,SAAS,EAAC,yCAAyC,YACnD,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,GAClD,EACH,YAAY,CAAC,QAAQ,IAAI,CACxB,MAAC,MAAM,IACL,OAAO,EAAE,sBAAsB,CAAC,IAAI,EACpC,IAAI,EAAE,UAAU,CAAC,EAAE,EACnB,SAAS,EAAC,yBAAyB,EACnC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAS,CAAC,OAAO,EAAE,aAE9C,YAAY,CAAC,QAAQ,CAAC,KAAK,eACrB,CACV,IACG,IACF,IApDM,YAAY,CAAC,EAAE,CAqDnB,CACX,CAAC,GACE,CACP,GACU,IACT,GACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC","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/70 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,EAsFxD,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,28 @@ 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: 'unsupportedDisplayType',
94
+ kind: LabelKind.MESSAGE,
95
+ 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',
96
+ },
69
97
  ];
70
98
  registerComponentLabels(FrontendComponentType.LOW_LEVEL_FORM_FIELD, LowLevelFormFieldLabels);
71
99
  export const LowLevelFormItemLabels = [];