@wildo-ai/presets-components 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (780) hide show
  1. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  2. package/dist/esm/components/actions/action-bar.js +65 -8
  3. package/dist/esm/components/actions/action-bar.js.map +1 -1
  4. package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
  5. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  6. package/dist/esm/components/actions/action-button.js +3 -3
  7. package/dist/esm/components/actions/action-button.js.map +1 -1
  8. package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
  9. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.js +62 -3
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
  14. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
  15. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  16. package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
  17. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  18. package/dist/esm/components/ai-elements/artifacts/code-block.js +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +4 -0
  22. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
  23. package/dist/esm/components/ai-elements/artifacts/diff-block.js +165 -0
  24. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
  25. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts +3 -0
  26. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts.map +1 -0
  27. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js +63 -0
  28. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js.map +1 -0
  29. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
  33. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/chat/suggestion.js +8 -1
  45. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  46. package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
  48. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
  49. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
  50. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
  51. package/dist/esm/components/ai-elements/decision/approval.d.ts +124 -17
  52. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/approval.js +105 -13
  54. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  55. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/task.js +1 -1
  63. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  64. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  66. package/dist/esm/components/ai-elements/execution/tool.js +8 -1
  67. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  68. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts +3 -1
  78. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/graph/graph-runtime.js +3 -1
  80. package/dist/esm/components/ai-elements/graph/graph-runtime.js.map +1 -1
  81. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
  83. package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
  84. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
  91. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/meta/agent.js +23 -18
  93. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  94. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  96. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  97. package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
  98. package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
  99. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  101. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  103. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  105. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  106. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  107. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  108. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  109. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
  110. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  111. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
  112. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  113. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  114. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  115. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  116. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  117. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  118. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  119. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  120. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  121. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  122. package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
  123. package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
  124. package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
  125. package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
  126. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
  127. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
  128. package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
  129. package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
  130. package/dist/esm/components/app/app-layout-main-container.d.ts +9 -0
  131. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  132. package/dist/esm/components/app/app-layout-main-container.js +17 -23
  133. package/dist/esm/components/app/app-layout-main-container.js.map +1 -1
  134. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  135. package/dist/esm/components/app/app-layout-main-container.labels.js +48 -0
  136. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  137. package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
  138. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  139. package/dist/esm/components/app/public-layout-main-container.js +9 -8
  140. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  141. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  142. package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
  143. package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
  144. package/dist/esm/components/app/public-layout-terms.js +137 -0
  145. package/dist/esm/components/app/public-layout-terms.js.map +1 -0
  146. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  147. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
  148. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  149. package/dist/esm/components/billing/billing-invoice-history.js +3 -1
  150. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  151. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  152. package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
  153. package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
  154. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -0
  155. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  156. package/dist/esm/components/billing/billing-plan-change-preview.js +25 -0
  157. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  158. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
  159. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
  160. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +22 -0
  161. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
  162. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
  163. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  164. package/dist/esm/components/billing/billing-portal-link.js +3 -1
  165. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  166. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  167. package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
  168. package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
  169. package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
  170. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  171. package/dist/esm/components/billing/billing-pricing-table.js +10 -4
  172. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  173. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  174. package/dist/esm/components/billing/billing-pricing-table.labels.js +8 -1
  175. package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
  176. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
  177. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  178. package/dist/esm/components/billing/billing-subscription-status.js +3 -1
  179. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  180. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  181. package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
  182. package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
  183. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
  184. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  185. package/dist/esm/components/billing/billing-usage-dashboard.js +10 -7
  186. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  187. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  188. package/dist/esm/components/billing/billing-usage-dashboard.labels.js +4 -1
  189. package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
  190. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  191. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  192. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  193. package/dist/esm/components/data-display/badge.js +16 -15
  194. package/dist/esm/components/data-display/badge.js.map +1 -1
  195. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  196. package/dist/esm/components/data-display/description-list.d.ts +2 -1
  197. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  198. package/dist/esm/components/data-display/description-list.js +24 -8
  199. package/dist/esm/components/data-display/description-list.js.map +1 -1
  200. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  201. package/dist/esm/components/data-display/duration.d.ts +15 -0
  202. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  203. package/dist/esm/components/data-display/duration.js +50 -0
  204. package/dist/esm/components/data-display/duration.js.map +1 -0
  205. package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
  206. package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
  207. package/dist/esm/components/data-display/duration.labels.js +35 -0
  208. package/dist/esm/components/data-display/duration.labels.js.map +1 -0
  209. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
  210. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  211. package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
  212. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  213. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
  214. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
  215. package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
  216. package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
  217. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  218. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
  219. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  220. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  221. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  222. package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
  223. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  224. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  225. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  226. package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
  227. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  228. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  229. package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
  230. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  231. package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
  232. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  233. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  234. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
  235. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  236. package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
  237. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  238. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  239. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  240. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  241. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  242. package/dist/esm/components/data-display/formatters/display-field-enum.js +29 -11
  243. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  244. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  245. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  246. package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
  247. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  248. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  249. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
  250. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  251. package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
  252. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  253. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  254. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
  255. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
  256. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  257. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  258. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  259. package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
  260. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  261. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  262. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  263. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  265. package/dist/esm/components/data-display/formatters/display-field-file.js +14 -15
  266. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  267. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  268. package/dist/esm/components/data-display/formatters/display-field-file.labels.js +2 -0
  269. package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
  270. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  272. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  274. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  275. package/dist/esm/components/data-display/formatters/display-field-number.js +8 -3
  276. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  277. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/formatters/display-field-number.labels.js +5 -2
  279. package/dist/esm/components/data-display/formatters/display-field-number.labels.js.map +1 -1
  280. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  281. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  283. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  285. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  286. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  287. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  289. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  291. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  292. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  293. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  294. package/dist/esm/components/data-display/formatters/display-field-string.d.ts +1 -1
  295. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/formatters/display-field-string.js +129 -15
  297. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  298. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  299. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  301. package/dist/esm/components/data-display/identifier.d.ts +19 -0
  302. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  303. package/dist/esm/components/data-display/identifier.js +21 -0
  304. package/dist/esm/components/data-display/identifier.js.map +1 -0
  305. package/dist/esm/components/data-display/kbd.d.ts +17 -0
  306. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  307. package/dist/esm/components/data-display/kbd.js +18 -0
  308. package/dist/esm/components/data-display/kbd.js.map +1 -0
  309. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  311. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
  313. package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
  314. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  315. package/dist/esm/components/data-display/notification-indicator.js +3 -11
  316. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  317. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
  319. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
  320. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
  321. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
  322. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
  323. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
  324. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
  325. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
  326. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
  327. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
  329. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
  330. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
  331. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
  333. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
  334. package/dist/esm/components/data-display/timeline.d.ts +3 -0
  335. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  336. package/dist/esm/components/data-display/timeline.js +92 -0
  337. package/dist/esm/components/data-display/timeline.js.map +1 -0
  338. package/dist/esm/components/data-display/untrusted-html-content.d.ts +55 -0
  339. package/dist/esm/components/data-display/untrusted-html-content.d.ts.map +1 -0
  340. package/dist/esm/components/data-display/untrusted-html-content.js +67 -0
  341. package/dist/esm/components/data-display/untrusted-html-content.js.map +1 -0
  342. package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
  343. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  344. package/dist/esm/components/feedback/celebration-overlay.js +146 -22
  345. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  346. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  347. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  348. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  349. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  350. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  351. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  352. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  353. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  354. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  355. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  356. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  357. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  358. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  359. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  360. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  361. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  362. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  363. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  364. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  365. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  367. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  368. package/dist/esm/components/feedback/notification-center.js +5 -5
  369. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  370. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
  371. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  372. package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
  373. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  374. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  375. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  376. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  377. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  378. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  379. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  380. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  381. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  382. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  383. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  384. package/dist/esm/components/form/chromes/field.js +11 -3
  385. package/dist/esm/components/form/chromes/field.js.map +1 -1
  386. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  387. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  388. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  389. package/dist/esm/components/form/chromes/form-primitive.labels.js +37 -0
  390. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  391. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  392. package/dist/esm/components/form/combobox.js +14 -13
  393. package/dist/esm/components/form/combobox.js.map +1 -1
  394. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  395. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts +42 -0
  396. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts.map +1 -0
  397. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js +120 -0
  398. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js.map +1 -0
  399. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts +16 -0
  400. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts.map +1 -0
  401. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js +8 -0
  402. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js.map +1 -0
  403. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  404. package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
  405. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  406. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  407. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  408. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  409. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  410. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  411. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  412. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  413. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  414. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  415. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  416. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
  417. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
  418. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  419. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  420. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  421. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  422. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  423. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  424. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  425. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  426. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  427. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  428. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  429. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  430. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
  431. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
  432. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  433. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  434. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  435. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  436. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
  437. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
  438. package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
  439. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  440. package/dist/esm/components/form/controls/enum/radio.js +13 -12
  441. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  442. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  443. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  444. package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
  445. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  446. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  447. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  448. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  449. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  450. package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
  451. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  452. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  453. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  454. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  455. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  456. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  457. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
  458. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
  459. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
  460. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
  461. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
  462. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
  463. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
  464. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
  465. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +3 -1
  466. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -1
  467. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +3 -1
  468. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -1
  469. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +6 -0
  470. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -1
  471. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +8 -1
  472. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -1
  473. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +6 -2
  474. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -1
  475. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +6 -2
  476. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -1
  477. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +6 -0
  478. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -1
  479. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +8 -1
  480. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -1
  481. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  482. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  483. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  484. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  485. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  486. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  487. package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
  488. package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
  489. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  490. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  491. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  492. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  493. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  494. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  495. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  496. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  497. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  498. package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
  499. package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
  500. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  501. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  502. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  503. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  504. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  505. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  506. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  507. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  508. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  509. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  510. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  511. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  512. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  513. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  514. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  515. package/dist/esm/components/navigation/app-level/activity-bar.js +2 -2
  516. package/dist/esm/components/navigation/app-level/activity-bar.js.map +1 -1
  517. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  518. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  519. package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
  520. package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
  521. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  523. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  524. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  525. package/dist/esm/components/navigation/app-level/menu-user-org.js +10 -4
  526. package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
  527. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  528. package/dist/esm/components/navigation/app-level/menu-user-org.labels.js +7 -0
  529. package/dist/esm/components/navigation/app-level/menu-user-org.labels.js.map +1 -1
  530. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/menubar.js +36 -14
  532. package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
  533. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  534. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  535. package/dist/esm/components/navigation/app-level/navigation-back.js +31 -5
  536. package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
  537. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  539. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  540. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  541. package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
  542. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  543. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  544. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
  546. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
  547. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  548. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  549. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  550. package/dist/esm/components/navigation/app-level/sidebar.js +41 -25
  551. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  552. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  553. package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
  554. package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
  555. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  556. package/dist/esm/components/navigation/app-level/status-bar.js +2 -2
  557. package/dist/esm/components/navigation/app-level/status-bar.js.map +1 -1
  558. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  559. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  560. package/dist/esm/components/navigation/app-level/toolbar.js +2 -2
  561. package/dist/esm/components/navigation/app-level/toolbar.js.map +1 -1
  562. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  563. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  564. package/dist/esm/components/navigation/app-level/utility-panel.js +24 -6
  565. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  566. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  567. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  568. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  569. package/dist/esm/components/navigation/breadcrumb.js +1 -1
  570. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  571. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  572. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  573. package/dist/esm/components/navigation/command.js +2 -2
  574. package/dist/esm/components/navigation/command.js.map +1 -1
  575. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  576. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  577. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  578. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  579. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  580. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  581. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  582. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  583. package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
  584. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  585. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  586. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  587. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  588. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  589. package/dist/esm/components/overlays/containers/dialog.js +11 -1
  590. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  591. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  592. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  593. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  594. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  595. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  596. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  597. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  598. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  599. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  600. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  601. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  602. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  603. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  604. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  605. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  606. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  607. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  608. package/dist/esm/components/sections/card.d.ts.map +1 -1
  609. package/dist/esm/components/sections/card.js +71 -6
  610. package/dist/esm/components/sections/card.js.map +1 -1
  611. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  612. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  613. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  614. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  615. package/dist/esm/components/sections/content-section.js +36 -6
  616. package/dist/esm/components/sections/content-section.js.map +1 -1
  617. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
  618. package/dist/esm/components/sections/option-gesture.d.ts +15 -0
  619. package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
  620. package/dist/esm/components/sections/option-gesture.js +66 -0
  621. package/dist/esm/components/sections/option-gesture.js.map +1 -0
  622. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  623. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  624. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  625. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  626. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  627. package/dist/esm/components/sections/stepper.js +5 -3
  628. package/dist/esm/components/sections/stepper.js.map +1 -1
  629. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  630. package/dist/esm/components/sections/table.d.ts.map +1 -1
  631. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  632. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  633. package/dist/esm/components/sections/tabs.js +60 -15
  634. package/dist/esm/components/sections/tabs.js.map +1 -1
  635. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  636. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  637. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  638. package/dist/esm/components/typography/label.d.ts.map +1 -1
  639. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  640. package/dist/esm/components/typography/link.d.ts.map +1 -1
  641. package/dist/esm/components/typography/link.js +9 -3
  642. package/dist/esm/components/typography/link.js.map +1 -1
  643. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  644. package/dist/esm/components/typography/text.d.ts +1 -1
  645. package/dist/esm/components/typography/text.d.ts.map +1 -1
  646. package/dist/esm/components/typography/text.js +3 -2
  647. package/dist/esm/components/typography/text.js.map +1 -1
  648. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  649. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  650. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  651. package/dist/esm/config/index.d.ts.map +1 -1
  652. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  653. package/dist/esm/config/preset-design-system.js +37 -60
  654. package/dist/esm/config/preset-design-system.js.map +1 -1
  655. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  656. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  657. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  658. package/dist/esm/config/preset-navigation.js +23 -7
  659. package/dist/esm/config/preset-navigation.js.map +1 -1
  660. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  661. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  662. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  663. package/dist/esm/config/presets.d.ts.map +1 -1
  664. package/dist/esm/config/resources/agent-work.resource-presets.d.ts +4 -0
  665. package/dist/esm/config/resources/agent-work.resource-presets.d.ts.map +1 -0
  666. package/dist/esm/config/resources/agent-work.resource-presets.js +115 -0
  667. package/dist/esm/config/resources/agent-work.resource-presets.js.map +1 -0
  668. package/dist/esm/config/resources/api-key-rotation-window.d.ts +22 -0
  669. package/dist/esm/config/resources/api-key-rotation-window.d.ts.map +1 -0
  670. package/dist/esm/config/resources/api-key-rotation-window.js +45 -0
  671. package/dist/esm/config/resources/api-key-rotation-window.js.map +1 -0
  672. package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
  673. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  674. package/dist/esm/config/resources/application.resource-presets.js +268 -26
  675. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  676. package/dist/esm/config/resources/billing.resource-presets.d.ts +4 -3
  677. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  678. package/dist/esm/config/resources/billing.resource-presets.js +241 -111
  679. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  680. package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts +4 -0
  681. package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts.map +1 -0
  682. package/dist/esm/config/resources/conversation-threads.resource-presets.js +105 -0
  683. package/dist/esm/config/resources/conversation-threads.resource-presets.js.map +1 -0
  684. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  685. package/dist/esm/config/resources/guidance.resource-presets.js +39 -16
  686. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  687. package/dist/esm/config/resources/identity.resource-presets.d.ts +0 -13
  688. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  689. package/dist/esm/config/resources/identity.resource-presets.js +71 -17
  690. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  691. package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts +6 -0
  692. package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts.map +1 -0
  693. package/dist/esm/config/resources/inbound-deliveries.resource-presets.js +112 -0
  694. package/dist/esm/config/resources/inbound-deliveries.resource-presets.js.map +1 -0
  695. package/dist/esm/config/resources/inbound-email.resource-presets.d.ts +4 -0
  696. package/dist/esm/config/resources/inbound-email.resource-presets.d.ts.map +1 -0
  697. package/dist/esm/config/resources/inbound-email.resource-presets.js +182 -0
  698. package/dist/esm/config/resources/inbound-email.resource-presets.js.map +1 -0
  699. package/dist/esm/config/resources/index.d.ts.map +1 -1
  700. package/dist/esm/config/resources/index.js +9 -2
  701. package/dist/esm/config/resources/index.js.map +1 -1
  702. package/dist/esm/config/resources/legal-holds.resource-presets.d.ts +4 -0
  703. package/dist/esm/config/resources/legal-holds.resource-presets.d.ts.map +1 -0
  704. package/dist/esm/config/resources/legal-holds.resource-presets.js +76 -0
  705. package/dist/esm/config/resources/legal-holds.resource-presets.js.map +1 -0
  706. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  707. package/dist/esm/config/resources/organizations.resource-presets.js +216 -35
  708. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  709. package/dist/esm/config/resources/resource.config.utils.d.ts +20 -0
  710. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  711. package/dist/esm/config/resources/resource.config.utils.js +20 -0
  712. package/dist/esm/config/resources/resource.config.utils.js.map +1 -1
  713. package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts +5 -0
  714. package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts.map +1 -0
  715. package/dist/esm/config/resources/retention-enforcement.resource-presets.js +74 -0
  716. package/dist/esm/config/resources/retention-enforcement.resource-presets.js.map +1 -0
  717. package/dist/esm/config/resources/security.resource-presets.d.ts +11 -3
  718. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  719. package/dist/esm/config/resources/security.resource-presets.js +685 -99
  720. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  721. package/dist/esm/config/resources/service-providers.resource-presets.d.ts +4 -0
  722. package/dist/esm/config/resources/service-providers.resource-presets.d.ts.map +1 -0
  723. package/dist/esm/config/resources/service-providers.resource-presets.js +321 -0
  724. package/dist/esm/config/resources/service-providers.resource-presets.js.map +1 -0
  725. package/dist/esm/config/resources/webhooks.resource-presets.d.ts +4 -3
  726. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  727. package/dist/esm/config/resources/webhooks.resource-presets.js +102 -26
  728. package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
  729. package/dist/esm/index.d.ts +7 -1
  730. package/dist/esm/index.d.ts.map +1 -1
  731. package/dist/esm/index.js +7 -1
  732. package/dist/esm/index.js.map +1 -1
  733. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  734. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  735. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  736. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  737. package/dist/esm/registration/register-common-enums.js +63 -34
  738. package/dist/esm/registration/register-common-enums.js.map +1 -1
  739. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  740. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  741. package/dist/esm/registration/register-default-icons.js +3 -1
  742. package/dist/esm/registration/register-default-icons.js.map +1 -1
  743. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  744. package/dist/esm/registration/register-default-presets.js +32 -4
  745. package/dist/esm/registration/register-default-presets.js.map +1 -1
  746. package/dist/esm/registration/register-provider-components.d.ts.map +1 -1
  747. package/dist/esm/registration/register-provider-components.js +11 -0
  748. package/dist/esm/registration/register-provider-components.js.map +1 -1
  749. package/dist/esm/shiki-subset.d.ts +11 -3
  750. package/dist/esm/shiki-subset.d.ts.map +1 -1
  751. package/dist/esm/shiki-subset.js +10 -2
  752. package/dist/esm/shiki-subset.js.map +1 -1
  753. package/dist/esm/theme-exports.d.ts.map +1 -1
  754. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  755. package/dist/esm/themes/cozy.theme.js +19 -5
  756. package/dist/esm/themes/cozy.theme.js.map +1 -1
  757. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  758. package/dist/esm/themes/dense.theme.js +76 -10
  759. package/dist/esm/themes/dense.theme.js.map +1 -1
  760. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  761. package/dist/esm/themes/editorial.theme.js +19 -5
  762. package/dist/esm/themes/editorial.theme.js.map +1 -1
  763. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  764. package/dist/esm/themes/glass.theme.js +5 -1
  765. package/dist/esm/themes/glass.theme.js.map +1 -1
  766. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  767. package/dist/esm/themes/neo-brutalist.theme.js +9 -2
  768. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  769. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  770. package/dist/esm/themes/terminal.theme.js +19 -5
  771. package/dist/esm/themes/terminal.theme.js.map +1 -1
  772. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  773. package/dist/esm/themes/trading.theme.js +22 -6
  774. package/dist/esm/themes/trading.theme.js.map +1 -1
  775. package/dist/tsconfig.build.tsbuildinfo +1 -1
  776. package/package.json +31 -45
  777. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
  778. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
  779. package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
  780. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-phone.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-phone.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,+BAA+B,EAAE,mBAAmB,EAMhE,CAAC"}
1
+ {"version":3,"file":"display-field-phone.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-phone.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,+BAA+B,EAAE,mBAAmB,EAMhE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-bigdecimal.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-bigdecimal.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAA;AAuEnF;;;;GAIG;AACH,iBAAS,2BAA2B,CAAC,EACnC,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAe,GAChB,EAAE,gCAAgC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA2E7D;AAID,OAAO,EAAE,2BAA2B,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-range-bigdecimal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-bigdecimal.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAA;AAuEnF;;;;GAIG;AACH,iBAAS,2BAA2B,CAAC,EACnC,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAe,GAChB,EAAE,gCAAgC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA2E7D;AAID,OAAO,EAAE,2BAA2B,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-bigdecimal.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-bigdecimal.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,yCAAyC,EAAE,mBAAmB,EAM1E,CAAC"}
1
+ {"version":3,"file":"display-field-range-bigdecimal.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-bigdecimal.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,yCAAyC,EAAE,mBAAmB,EAM1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-date.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-date.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAI7E,iBAAS,qBAAqB,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,0BAA0B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA8BvD;AAID,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-range-date.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-date.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAI7E,iBAAS,qBAAqB,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,0BAA0B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA8BvD;AAID,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-date.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-date.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mCAAmC,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"display-field-range-date.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-date.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mCAAmC,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-datetime.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-datetime.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAIjF,iBAAS,yBAAyB,CAAC,EACjC,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,8BAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA8B3D;AAID,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-range-datetime.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-datetime.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAIjF,iBAAS,yBAAyB,CAAC,EACjC,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,8BAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA8B3D;AAID,OAAO,EAAE,yBAAyB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-datetime.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-datetime.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,uCAAuC,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"display-field-range-datetime.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-datetime.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,uCAAuC,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-money.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-money.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAU9B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAwC9E;;;;GAIG;AACH,iBAAS,sBAAsB,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAiB,EACjB,cAAyB,EACzB,gBAAwB,EACxB,SAAe,GAChB,EAAE,2BAA2B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA+DxD;AAID,OAAO,EAAE,sBAAsB,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-range-money.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-money.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAU9B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AAwC9E;;;;GAIG;AACH,iBAAS,sBAAsB,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,SAAS,EACT,UAAiB,EACjB,cAAyB,EACzB,gBAAwB,EACxB,SAAe,GAChB,EAAE,2BAA2B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA+DxD;AAID,OAAO,EAAE,sBAAsB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-money.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-money.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,oCAAoC,EAAE,mBAAmB,EAMrE,CAAC"}
1
+ {"version":3,"file":"display-field-range-money.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-money.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,oCAAoC,EAAE,mBAAmB,EAMrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-number.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-number.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAK/E,iBAAS,uBAAuB,CAAC,EAC/B,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,4BAA4B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwCzD;AAID,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-range-number.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-number.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAK/E,iBAAS,uBAAuB,CAAC,EAC/B,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,4BAA4B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwCzD;AAID,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-number.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-number.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,qCAAqC,EAAE,mBAAmB,EAMtE,CAAC"}
1
+ {"version":3,"file":"display-field-range-number.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-number.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,qCAAqC,EAAE,mBAAmB,EAMtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-time.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-time.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAI7E,iBAAS,qBAAqB,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,0BAA0B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgCvD;AAID,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-range-time.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-time.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAI7E,iBAAS,qBAAqB,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,SAAe,GAChB,EAAE,0BAA0B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgCvD;AAID,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-range-time.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-range-time.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mCAAmC,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"display-field-range-time.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-range-time.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,mCAAmC,EAAE,mBAAmB,EAAO,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * DisplayFieldString Component
3
3
  *
4
4
  * Displays a string value based on the string UI decorator.
5
- * Supports different display modes: text, truncate, multiline, markdown, color, link, email, badge, copy, secret
5
+ * Supports different display modes: text, truncate, multiline, markdown, untrusted_html, color, link, email, badge, copy, secret
6
6
  */
7
7
  import * as React from "react";
8
8
  import type { DisplayFieldStringProps } from '@wildo-ai/saas-frontend-lib';
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-string.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-string.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAI1E;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,SAAS,GACV,EAAE,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAoKpD;AAID,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-string.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-string.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AA+B1E;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,SAAS,GACV,EAAE,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAuQpD;AAID,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
@@ -4,28 +4,75 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
4
4
  * DisplayFieldString Component
5
5
  *
6
6
  * Displays a string value based on the string UI decorator.
7
- * Supports different display modes: text, truncate, multiline, markdown, color, link, email, badge, copy, secret
7
+ * Supports different display modes: text, truncate, multiline, markdown, untrusted_html, color, link, email, badge, copy, secret
8
8
  */
9
9
  import * as React from "react";
10
- import { useI18n, useIconRegistry, StandardIconReference, IconSize, Text, Badge } from "@wildo-ai/saas-frontend-lib";
11
- import { FrontendComponentType } from "@wildo-ai/presets-components-models";
12
- import { getStringUI, getStringFormat, StringDisplayMode } from "@wildo-ai/zod-decorators";
10
+ import { useI18n, useIconRegistry, StandardIconReference, IconSize, Text, Badge, Identifier, useContextualDisplayParams } from "@wildo-ai/saas-frontend-lib";
11
+ import { FrontendComponentType, LabellingTypes, resolveVocabularyWordKey } from "@wildo-ai/presets-components-models";
12
+ import { getStringUI, getStringFormat, getSystemEnumName, StringDisplayMode } from "@wildo-ai/zod-decorators";
13
13
  import { MarkdownContent } from "../markdown-content.js";
14
+ import { UntrustedHtmlContent } from "../untrusted-html-content.js";
15
+ /**
16
+ * Split a string into user-perceived characters.
17
+ *
18
+ * `Intl.Segmenter` is the only thing that gets this right — code units split surrogate pairs, and
19
+ * code points still split a flag, a ZWJ sequence, a skin-tone modifier and a combining accent. The
20
+ * fallback to code points is for a runtime without it; it is strictly better than code units and
21
+ * cannot produce a lone surrogate, which is the failure that actually shows on screen.
22
+ */
23
+ const GRAPHEME_SEGMENTER = typeof Intl !== 'undefined' && typeof Intl.Segmenter === 'function'
24
+ ? new Intl.Segmenter(undefined, { granularity: 'grapheme' })
25
+ : null;
26
+ function splitIntoGraphemes(value) {
27
+ if (!GRAPHEME_SEGMENTER)
28
+ return Array.from(value);
29
+ return Array.from(GRAPHEME_SEGMENTER.segment(value), part => part.segment);
30
+ }
31
+ /**
32
+ * The label namespaces a string display reads beyond its own component: the `roles` words an ORGANIZATION_ROLE value
33
+ * shows (#1921) — requested only by a field that can show one, so no other string display waits on the roles bundle.
34
+ * Module-level so each requested set keeps one identity across renders.
35
+ */
36
+ const ROLE_LABEL_NAMESPACES = [LabellingTypes.ROLES];
37
+ const NO_EXTRA_LABEL_NAMESPACES = [];
14
38
  /**
15
39
  * DisplayFieldString component
16
40
  *
17
41
  * Renders a string value according to the string UI decorator
18
42
  */
19
43
  function DisplayFieldString({ schema, value, className, }) {
20
- const { tComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_FORM_FIELD });
44
+ const stringUI = getStringUI(schema);
45
+ const showsRole = stringUI?.display?.displayMode === StringDisplayMode.ORGANIZATION_ROLE
46
+ || stringUI?.summaryOverride?.displayMode === StringDisplayMode.ORGANIZATION_ROLE;
47
+ const { tComponent, tRole, t, isReady } = useI18n({
48
+ component: [FrontendComponentType.LOW_LEVEL_FORM_FIELD, FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING],
49
+ keys: showsRole ? ROLE_LABEL_NAMESPACES : NO_EXTRA_LABEL_NAMESPACES,
50
+ });
21
51
  const { renderIcon } = useIconRegistry();
22
52
  const [copied, setCopied] = React.useState(false);
23
- const stringUI = getStringUI(schema);
24
53
  const stringFormat = getStringFormat(schema);
54
+ /*
55
+ * An OPEN vocabulary (#1791): the string's values are words of a vocabulary declared outside the schema — today the
56
+ * engine's audit event types — named with `.systemEnum(name)`. Read as a word where the vocabulary keeps it
57
+ * (`resolveVocabularyWordKey`: `system_enums.<name>.<value>`, or a feature's and a limit's own billing section) in
58
+ * every mode that shows the value as prose (text, truncate, multiline, badge, the default); a missing word shows
59
+ * the value, which is the missing label looking missing. Modes that show the value AS DATA keep it raw on purpose:
60
+ * copy, identifier, link, email, secret, markdown, untrusted HTML, colour. Every one of those sections is eager
61
+ * (`EAGER_I18N_SECTIONS`), so this needs no extra request.
62
+ */
63
+ const openVocabulary = schema ? getSystemEnumName(schema) : undefined;
64
+ const asWord = (raw) => {
65
+ if (!openVocabulary)
66
+ return raw;
67
+ const key = resolveVocabularyWordKey(openVocabulary, raw);
68
+ const word = t(key);
69
+ return word === key ? raw : word;
70
+ };
25
71
  // SECRET fields mask by default; `initiallyRevealed` (set by `.isEphemeral()`)
26
72
  // shows the value on first paint for one-time reveals. The eye toggle still works.
27
- const [revealed, setRevealed] = React.useState(stringUI?.display?.initiallyRevealed ?? false);
28
- let displayMode = stringUI?.display?.displayMode ?? StringDisplayMode.TEXT;
73
+ const stringDisplayParams = useContextualDisplayParams(stringUI);
74
+ const [revealed, setRevealed] = React.useState(stringDisplayParams?.initiallyRevealed ?? false);
75
+ let displayMode = stringDisplayParams?.displayMode ?? StringDisplayMode.TEXT;
29
76
  if (!stringUI && stringFormat) {
30
77
  if (stringFormat === 'email')
31
78
  displayMode = StringDisplayMode.EMAIL;
@@ -49,19 +96,86 @@ function DisplayFieldString({ schema, value, className, }) {
49
96
  // Render based on display mode
50
97
  switch (displayMode) {
51
98
  case StringDisplayMode.TEXT:
52
- return _jsx(Text, { children: value });
53
- case StringDisplayMode.TRUNCATE:
54
- return (_jsx(Text, { className: "min-w-0 truncate", children: value }));
99
+ return _jsx(Text, { children: asWord(value) });
100
+ case StringDisplayMode.TRUNCATE: {
101
+ // TWO AXES, BOTH LIVE, AND THEY ARE NOT THE SAME QUESTION.
102
+ //
103
+ // The `truncate` class below is a WIDTH cap: it clips to whatever the container can
104
+ // show, so it is responsive and never cuts a value that fits. `truncateLength` is a
105
+ // CHARACTER cap — its declaration says "Max characters before truncation" — so it is a
106
+ // statement about the VALUE and holds at any width. Applying both gives the shorter of
107
+ // the two, which is what an author asking for either one expects.
108
+ //
109
+ // The `ch`-based width ceiling considered as an alternative was rejected: a `ch` is the
110
+ // advance of "0", so against a proportional font `truncateLength: 48` would show
111
+ // anywhere from roughly thirty to eighty characters. That makes a parameter documented
112
+ // as a character count mean something it does not say, which is the kind of near-miss
113
+ // semantics the framework refuses.
114
+ //
115
+ // The ellipsis is ADDITIONAL to the budget: `truncateLength: 48` yields 48 characters
116
+ // of the value plus the mark that more exists, which is how a "max characters" cap
117
+ // reads everywhere else. `trimEnd` so a cut landing mid-space does not render "abc …".
118
+ //
119
+ // A CHARACTER IS A GRAPHEME, not a UTF-16 code unit, and the difference is not academic.
120
+ // `value.slice(0, n)` cuts between the two halves of a surrogate pair, so a string of emoji
121
+ // rendered at `truncateLength: 3` came out as `👍�…` — a literal replacement glyph. It also
122
+ // counted `"🎉🎉🎉"` as six characters, which made this parameter mean something other than
123
+ // what its own declaration says, for exactly the reason the `ch`-based alternative was
124
+ // rejected. `Intl.Segmenter` counts and cuts what a reader would call a character: an emoji
125
+ // with a skin-tone modifier, a family joined by ZWJ, a flag's two regional indicators, and a
126
+ // letter with its combining accent are each one.
127
+ // What is shown, and cut: an open-vocabulary value's WORD (#1791), otherwise the value itself.
128
+ const shown = asWord(value);
129
+ const maximumCharacters = stringDisplayParams?.truncateLength;
130
+ const graphemes = typeof maximumCharacters === 'number' && maximumCharacters > 0
131
+ ? splitIntoGraphemes(shown)
132
+ : null;
133
+ const clipsAtCharacterCount = graphemes !== null && typeof maximumCharacters === 'number' && graphemes.length > maximumCharacters;
134
+ if (!clipsAtCharacterCount) {
135
+ return (_jsx(Text, { className: "min-w-0 truncate", children: shown }));
136
+ }
137
+ // `title` carries the full value, and it is not decoration: a character cap REMOVES the
138
+ // remainder from the DOM, where a CSS clip only hides it, so without this there is nothing
139
+ // left holding the rest of the string.
140
+ //
141
+ // Be precise about what it does and does not restore, because an earlier version of this
142
+ // comment overclaimed and a review caught it. `title` is an ATTRIBUTE, so browser
143
+ // find-in-page — which searches rendered text — does NOT match the hidden remainder, and a
144
+ // screen reader's treatment of `title` on a `<p>` is inconsistent and never keyboard
145
+ // reachable. It is the strongest affordance available on this element, not an equivalent of
146
+ // leaving the text in place.
147
+ //
148
+ // On a surface whose policy sets `tooltipOnTruncate`, `Text` routes its children into a
149
+ // styled tooltip when the element OVERFLOWS. A character-capped string usually no longer
150
+ // overflows, so that tooltip stops opening and the native `title` is what remains. The full
151
+ // value stays reachable either way; the polish of which tooltip shows it does not survive
152
+ // the cap, and an author choosing `truncateLength` on such a surface is choosing that.
153
+ return (_jsx(Text, { className: "min-w-0 truncate", title: shown, children: `${(graphemes ?? []).slice(0, maximumCharacters).join('').trimEnd()}…` }));
154
+ }
155
+ case StringDisplayMode.ORGANIZATION_ROLE:
156
+ // #1921 — a key of the organization role table, read as the role's word from the `roles` labels (the member
157
+ // directory's words). A role with no authored word shows its key: a missing label that looks missing.
158
+ return _jsx(Text, { children: tRole(value, 'label') });
55
159
  case StringDisplayMode.MULTILINE:
56
- return (_jsx(Text, { className: "whitespace-pre-wrap", children: value }));
160
+ return (_jsx(Text, { className: "whitespace-pre-wrap", children: asWord(value) }));
57
161
  case StringDisplayMode.IDENTIFIER:
58
162
  // A machine ref/slug: verbatim and greppable, styled to recede behind the prose.
59
- return _jsx(Text, { className: "font-mono text-xs text-muted-foreground break-all", children: value });
163
+ //
164
+ // Through the `Identifier` element rather than a class string, and that is the whole point of
165
+ // that element existing: this treatment used to live ONLY here, inside a switch nothing
166
+ // outside the field pipeline can call, so every surface that builds its own rows spelled the
167
+ // same classes by hand and drifted. One resolved component is what lets a hand-built row and
168
+ // a field render the same ref the same way — and makes the treatment themeable, which a
169
+ // class string in a switch never was.
170
+ return _jsx(Identifier, { children: value });
60
171
  case StringDisplayMode.MARKDOWN:
61
172
  // Rich long-form content (descriptions, notes): full markdown body
62
173
  // themed through the typography recipes. See markdown-content.tsx for
63
174
  // the embedded heading-demotion rationale.
64
175
  return _jsx(MarkdownContent, { value: value });
176
+ case StringDisplayMode.UNTRUSTED_HTML:
177
+ // HTML from outside the application (a received email body, #1912): sandboxed, no remote content.
178
+ return _jsx(UntrustedHtmlContent, { value: value, title: tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'untrustedHtmlFrameTitle') });
65
179
  case StringDisplayMode.COLOR:
66
180
  return (_jsxs("div", { className: "flex items-center gap-element", children: [_jsx("div", { className: "h-5 w-5 rounded border border-border", style: { backgroundColor: value }, "aria-hidden": "true" }), _jsx(Text, { className: "font-mono text-sm", children: value })] }));
67
181
  case StringDisplayMode.LINK:
@@ -69,7 +183,7 @@ function DisplayFieldString({ schema, value, className, }) {
69
183
  case StringDisplayMode.EMAIL:
70
184
  return (_jsx("a", { href: `mailto:${value}`, className: "text-primary hover:underline", children: value }));
71
185
  case StringDisplayMode.BADGE:
72
- return _jsx(Badge, { variant: "secondary", children: value });
186
+ return _jsx(Badge, { variant: "secondary", children: asWord(value) });
73
187
  case StringDisplayMode.COPY:
74
188
  return (_jsxs("div", { className: "flex items-center gap-element", children: [_jsx(Text, { className: "font-mono text-sm", children: value }), _jsx("button", { type: "button", onClick: handleCopy, className: "text-muted-foreground hover:text-foreground transition-colors", "aria-label": copied ? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copied') : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copyToClipboard'), children: _jsx("span", { "aria-hidden": "true", children: copied
75
189
  ? renderIcon(StandardIconReference.CHECK, { size: IconSize.SM })
@@ -81,7 +195,7 @@ function DisplayFieldString({ schema, value, className, }) {
81
195
  ? renderIcon(StandardIconReference.CHECK, { size: IconSize.SM })
82
196
  : renderIcon(StandardIconReference.COPY, { size: IconSize.SM }) }) })] }));
83
197
  default:
84
- return _jsx(Text, { children: value });
198
+ return _jsx(Text, { children: asWord(value) });
85
199
  }
86
200
  };
87
201
  if (!isReady)
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-string.js","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-string.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\n/**\n * DisplayFieldString Component\n *\n * Displays a string value based on the string UI decorator.\n * Supports different display modes: text, truncate, multiline, markdown, color, link, email, badge, copy, secret\n */\n\nimport * as React from \"react\"\n\nimport { cn, useI18n, useIconRegistry, StandardIconReference, IconSize, Text, Badge } from \"@wildo-ai/saas-frontend-lib\"\nimport { FrontendComponentType } from \"@wildo-ai/presets-components-models\"\nimport { getStringUI, getStringFormat, StringDisplayMode } from \"@wildo-ai/zod-decorators\"\nimport type { DisplayFieldStringProps } from '@wildo-ai/saas-frontend-lib'\n\nimport { MarkdownContent } from \"../markdown-content\"\n\n/**\n * DisplayFieldString component\n *\n * Renders a string value according to the string UI decorator\n */\nfunction DisplayFieldString({\n schema,\n value,\n className,\n}: DisplayFieldStringProps): React.JSX.Element | null {\n const { tComponent, isReady } = useI18n({ component: FrontendComponentType.LOW_LEVEL_FORM_FIELD })\n const { renderIcon } = useIconRegistry()\n const [copied, setCopied] = React.useState(false)\n\n const stringUI = getStringUI(schema)\n const stringFormat = getStringFormat(schema)\n\n // SECRET fields mask by default; `initiallyRevealed` (set by `.isEphemeral()`)\n // shows the value on first paint for one-time reveals. The eye toggle still works.\n const [revealed, setRevealed] = React.useState(stringUI?.display?.initiallyRevealed ?? false)\n\n let displayMode = stringUI?.display?.displayMode ?? StringDisplayMode.TEXT\n if (!stringUI && stringFormat) {\n if (stringFormat === 'email') displayMode = StringDisplayMode.EMAIL\n else if (stringFormat === 'url') displayMode = StringDisplayMode.LINK\n }\n\n // Copy to clipboard handler\n const handleCopy = async () => {\n if (value) {\n await navigator.clipboard.writeText(value)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }\n }\n\n // Render the value content\n const renderValue = () => {\n // Handle null/undefined\n if (value === null || value === undefined || value === '') {\n return <><Text className=\"text-muted-foreground italic\" aria-hidden=\"true\">—</Text><span className=\"sr-only\">{tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'noValue')}</span></>\n }\n\n // Render based on display mode\n switch (displayMode) {\n case StringDisplayMode.TEXT:\n return <Text>{value}</Text>\n\n case StringDisplayMode.TRUNCATE:\n return (\n <Text className=\"min-w-0 truncate\">\n {value}\n </Text>\n )\n\n case StringDisplayMode.MULTILINE:\n return (\n <Text className=\"whitespace-pre-wrap\">\n {value}\n </Text>\n )\n\n case StringDisplayMode.IDENTIFIER:\n // A machine ref/slug: verbatim and greppable, styled to recede behind the prose.\n return <Text className=\"font-mono text-xs text-muted-foreground break-all\">{value}</Text>\n\n case StringDisplayMode.MARKDOWN:\n // Rich long-form content (descriptions, notes): full markdown body\n // themed through the typography recipes. See markdown-content.tsx for\n // the embedded heading-demotion rationale.\n return <MarkdownContent value={value} />\n\n\n case StringDisplayMode.COLOR:\n return (\n <div className=\"flex items-center gap-element\">\n <div\n className=\"h-5 w-5 rounded border border-border\"\n style={{ backgroundColor: value }}\n aria-hidden=\"true\"\n />\n <Text className=\"font-mono text-sm\">{value}</Text>\n </div>\n )\n\n case StringDisplayMode.LINK:\n return (\n <a\n href={value}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-primary hover:underline\"\n >\n {value}\n </a>\n )\n\n case StringDisplayMode.EMAIL:\n return (\n <a\n href={`mailto:${value}`}\n className=\"text-primary hover:underline\"\n >\n {value}\n </a>\n )\n\n case StringDisplayMode.BADGE:\n return <Badge variant=\"secondary\">{value}</Badge>\n\n case StringDisplayMode.COPY:\n return (\n <div className=\"flex items-center gap-element\">\n <Text className=\"font-mono text-sm\">{value}</Text>\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"text-muted-foreground hover:text-foreground transition-colors\"\n aria-label={copied ? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copied') : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copyToClipboard')}\n >\n <span aria-hidden=\"true\">\n {copied\n ? renderIcon(StandardIconReference.CHECK, { size: IconSize.SM })\n : renderIcon(StandardIconReference.COPY, { size: IconSize.SM })\n }\n </span>\n </button>\n </div>\n )\n\n case StringDisplayMode.SECRET:\n return (\n <div className=\"flex items-center gap-element\">\n <Text className=\"font-mono text-sm select-all\" aria-live=\"polite\">\n {revealed ? value : '••••••••••••••••'}\n </Text>\n <button\n type=\"button\"\n onClick={() => setRevealed(prev => !prev)}\n className=\"text-muted-foreground hover:text-foreground transition-colors\"\n aria-label={revealed ? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'hideValue') : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'revealValue')}\n >\n <span aria-hidden=\"true\">\n {revealed\n ? renderIcon(StandardIconReference.EYE_OFF, { size: IconSize.SM })\n : renderIcon(StandardIconReference.EYE, { size: IconSize.SM })\n }\n </span>\n </button>\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"text-muted-foreground hover:text-foreground transition-colors\"\n aria-label={copied ? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copied') : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copyToClipboard')}\n >\n <span aria-hidden=\"true\">\n {copied\n ? renderIcon(StandardIconReference.CHECK, { size: IconSize.SM })\n : renderIcon(StandardIconReference.COPY, { size: IconSize.SM })\n }\n </span>\n </button>\n </div>\n )\n\n default:\n return <Text>{value}</Text>\n }\n }\n\n if (!isReady) return null\n // Label/description rendering is handled by the parent DisplayField (FIELD-01)\n return <div className={className}>{renderValue()}</div>\n}\n\n;(DisplayFieldString as typeof DisplayFieldString & { displayName: string }).displayName = \"DisplayFieldString\"\n\nexport { DisplayFieldString }\n"]}
1
+ {"version":3,"file":"display-field-string.js","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-string.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\n/**\n * DisplayFieldString Component\n *\n * Displays a string value based on the string UI decorator.\n * Supports different display modes: text, truncate, multiline, markdown, untrusted_html, color, link, email, badge, copy, secret\n */\n\nimport * as React from \"react\"\n\nimport { cn, useI18n, useIconRegistry, StandardIconReference, IconSize, Text, Badge, Identifier, useContextualDisplayParams} from \"@wildo-ai/saas-frontend-lib\"\nimport { FrontendComponentType, LabellingTypes, resolveVocabularyWordKey } from \"@wildo-ai/presets-components-models\"\nimport { getStringUI, getStringFormat, getSystemEnumName, StringDisplayMode } from \"@wildo-ai/zod-decorators\"\nimport type { DisplayFieldStringProps } from '@wildo-ai/saas-frontend-lib'\n\nimport { MarkdownContent } from \"../markdown-content\"\nimport { UntrustedHtmlContent } from \"../untrusted-html-content\"\n\n/**\n * Split a string into user-perceived characters.\n *\n * `Intl.Segmenter` is the only thing that gets this right — code units split surrogate pairs, and\n * code points still split a flag, a ZWJ sequence, a skin-tone modifier and a combining accent. The\n * fallback to code points is for a runtime without it; it is strictly better than code units and\n * cannot produce a lone surrogate, which is the failure that actually shows on screen.\n */\nconst GRAPHEME_SEGMENTER =\n typeof Intl !== 'undefined' && typeof Intl.Segmenter === 'function'\n ? new Intl.Segmenter(undefined, { granularity: 'grapheme' })\n : null\n\nfunction splitIntoGraphemes(value: string): string[] {\n if (!GRAPHEME_SEGMENTER) return Array.from(value)\n return Array.from(GRAPHEME_SEGMENTER.segment(value), part => part.segment)\n}\n\n/**\n * The label namespaces a string display reads beyond its own component: the `roles` words an ORGANIZATION_ROLE value\n * shows (#1921) — requested only by a field that can show one, so no other string display waits on the roles bundle.\n * Module-level so each requested set keeps one identity across renders.\n */\nconst ROLE_LABEL_NAMESPACES = [LabellingTypes.ROLES]\nconst NO_EXTRA_LABEL_NAMESPACES: LabellingTypes[] = []\n\n/**\n * DisplayFieldString component\n *\n * Renders a string value according to the string UI decorator\n */\nfunction DisplayFieldString({\n schema,\n value,\n className,\n}: DisplayFieldStringProps): React.JSX.Element | null {\n const stringUI = getStringUI(schema)\n const showsRole = stringUI?.display?.displayMode === StringDisplayMode.ORGANIZATION_ROLE\n || stringUI?.summaryOverride?.displayMode === StringDisplayMode.ORGANIZATION_ROLE\n const { tComponent, tRole, t, isReady } = useI18n({\n component: [FrontendComponentType.LOW_LEVEL_FORM_FIELD, FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING],\n keys: showsRole ? ROLE_LABEL_NAMESPACES : NO_EXTRA_LABEL_NAMESPACES,\n })\n const { renderIcon } = useIconRegistry()\n const [copied, setCopied] = React.useState(false)\n\n const stringFormat = getStringFormat(schema)\n\n /*\n * An OPEN vocabulary (#1791): the string's values are words of a vocabulary declared outside the schema — today the\n * engine's audit event types — named with `.systemEnum(name)`. Read as a word where the vocabulary keeps it\n * (`resolveVocabularyWordKey`: `system_enums.<name>.<value>`, or a feature's and a limit's own billing section) in\n * every mode that shows the value as prose (text, truncate, multiline, badge, the default); a missing word shows\n * the value, which is the missing label looking missing. Modes that show the value AS DATA keep it raw on purpose:\n * copy, identifier, link, email, secret, markdown, untrusted HTML, colour. Every one of those sections is eager\n * (`EAGER_I18N_SECTIONS`), so this needs no extra request.\n */\n const openVocabulary = schema ? getSystemEnumName(schema) : undefined\n const asWord = (raw: string): string => {\n if (!openVocabulary) return raw\n const key = resolveVocabularyWordKey(openVocabulary, raw)\n const word = t(key)\n return word === key ? raw : word\n }\n\n // SECRET fields mask by default; `initiallyRevealed` (set by `.isEphemeral()`)\n // shows the value on first paint for one-time reveals. The eye toggle still works.\n const stringDisplayParams = useContextualDisplayParams(stringUI)\n const [revealed, setRevealed] = React.useState(stringDisplayParams?.initiallyRevealed ?? false)\n\n let displayMode = stringDisplayParams?.displayMode ?? StringDisplayMode.TEXT\n if (!stringUI && stringFormat) {\n if (stringFormat === 'email') displayMode = StringDisplayMode.EMAIL\n else if (stringFormat === 'url') displayMode = StringDisplayMode.LINK\n }\n\n // Copy to clipboard handler\n const handleCopy = async () => {\n if (value) {\n await navigator.clipboard.writeText(value)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }\n }\n\n // Render the value content\n const renderValue = () => {\n // Handle null/undefined\n if (value === null || value === undefined || value === '') {\n return <><Text className=\"text-muted-foreground italic\" aria-hidden=\"true\">—</Text><span className=\"sr-only\">{tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD, 'noValue')}</span></>\n }\n\n // Render based on display mode\n switch (displayMode) {\n case StringDisplayMode.TEXT:\n return <Text>{asWord(value)}</Text>\n\n case StringDisplayMode.TRUNCATE: {\n // TWO AXES, BOTH LIVE, AND THEY ARE NOT THE SAME QUESTION.\n //\n // The `truncate` class below is a WIDTH cap: it clips to whatever the container can\n // show, so it is responsive and never cuts a value that fits. `truncateLength` is a\n // CHARACTER cap — its declaration says \"Max characters before truncation\" — so it is a\n // statement about the VALUE and holds at any width. Applying both gives the shorter of\n // the two, which is what an author asking for either one expects.\n //\n // The `ch`-based width ceiling considered as an alternative was rejected: a `ch` is the\n // advance of \"0\", so against a proportional font `truncateLength: 48` would show\n // anywhere from roughly thirty to eighty characters. That makes a parameter documented\n // as a character count mean something it does not say, which is the kind of near-miss\n // semantics the framework refuses.\n //\n // The ellipsis is ADDITIONAL to the budget: `truncateLength: 48` yields 48 characters\n // of the value plus the mark that more exists, which is how a \"max characters\" cap\n // reads everywhere else. `trimEnd` so a cut landing mid-space does not render \"abc …\".\n //\n // A CHARACTER IS A GRAPHEME, not a UTF-16 code unit, and the difference is not academic.\n // `value.slice(0, n)` cuts between the two halves of a surrogate pair, so a string of emoji\n // rendered at `truncateLength: 3` came out as `👍�…` — a literal replacement glyph. It also\n // counted `\"🎉🎉🎉\"` as six characters, which made this parameter mean something other than\n // what its own declaration says, for exactly the reason the `ch`-based alternative was\n // rejected. `Intl.Segmenter` counts and cuts what a reader would call a character: an emoji\n // with a skin-tone modifier, a family joined by ZWJ, a flag's two regional indicators, and a\n // letter with its combining accent are each one.\n // What is shown, and cut: an open-vocabulary value's WORD (#1791), otherwise the value itself.\n const shown = asWord(value)\n const maximumCharacters = stringDisplayParams?.truncateLength\n const graphemes = typeof maximumCharacters === 'number' && maximumCharacters > 0\n ? splitIntoGraphemes(shown)\n : null\n const clipsAtCharacterCount =\n graphemes !== null && typeof maximumCharacters === 'number' && graphemes.length > maximumCharacters\n\n if (!clipsAtCharacterCount) {\n return (\n <Text className=\"min-w-0 truncate\">\n {shown}\n </Text>\n )\n }\n\n // `title` carries the full value, and it is not decoration: a character cap REMOVES the\n // remainder from the DOM, where a CSS clip only hides it, so without this there is nothing\n // left holding the rest of the string.\n //\n // Be precise about what it does and does not restore, because an earlier version of this\n // comment overclaimed and a review caught it. `title` is an ATTRIBUTE, so browser\n // find-in-page — which searches rendered text — does NOT match the hidden remainder, and a\n // screen reader's treatment of `title` on a `<p>` is inconsistent and never keyboard\n // reachable. It is the strongest affordance available on this element, not an equivalent of\n // leaving the text in place.\n //\n // On a surface whose policy sets `tooltipOnTruncate`, `Text` routes its children into a\n // styled tooltip when the element OVERFLOWS. A character-capped string usually no longer\n // overflows, so that tooltip stops opening and the native `title` is what remains. The full\n // value stays reachable either way; the polish of which tooltip shows it does not survive\n // the cap, and an author choosing `truncateLength` on such a surface is choosing that.\n return (\n <Text className=\"min-w-0 truncate\" title={shown}>\n {`${(graphemes ?? []).slice(0, maximumCharacters).join('').trimEnd()}…`}\n </Text>\n )\n }\n\n case StringDisplayMode.ORGANIZATION_ROLE:\n // #1921 — a key of the organization role table, read as the role's word from the `roles` labels (the member\n // directory's words). A role with no authored word shows its key: a missing label that looks missing.\n return <Text>{tRole(value, 'label')}</Text>\n\n case StringDisplayMode.MULTILINE:\n return (\n <Text className=\"whitespace-pre-wrap\">\n {asWord(value)}\n </Text>\n )\n\n case StringDisplayMode.IDENTIFIER:\n // A machine ref/slug: verbatim and greppable, styled to recede behind the prose.\n //\n // Through the `Identifier` element rather than a class string, and that is the whole point of\n // that element existing: this treatment used to live ONLY here, inside a switch nothing\n // outside the field pipeline can call, so every surface that builds its own rows spelled the\n // same classes by hand and drifted. One resolved component is what lets a hand-built row and\n // a field render the same ref the same way — and makes the treatment themeable, which a\n // class string in a switch never was.\n return <Identifier>{value}</Identifier>\n\n case StringDisplayMode.MARKDOWN:\n // Rich long-form content (descriptions, notes): full markdown body\n // themed through the typography recipes. See markdown-content.tsx for\n // the embedded heading-demotion rationale.\n return <MarkdownContent value={value} />\n\n case StringDisplayMode.UNTRUSTED_HTML:\n // HTML from outside the application (a received email body, #1912): sandboxed, no remote content.\n return <UntrustedHtmlContent value={value} title={tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'untrustedHtmlFrameTitle')} />\n\n\n case StringDisplayMode.COLOR:\n return (\n <div className=\"flex items-center gap-element\">\n <div\n className=\"h-5 w-5 rounded border border-border\"\n style={{ backgroundColor: value }}\n aria-hidden=\"true\"\n />\n <Text className=\"font-mono text-sm\">{value}</Text>\n </div>\n )\n\n case StringDisplayMode.LINK:\n return (\n <a\n href={value}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-primary hover:underline\"\n >\n {value}\n </a>\n )\n\n case StringDisplayMode.EMAIL:\n return (\n <a\n href={`mailto:${value}`}\n className=\"text-primary hover:underline\"\n >\n {value}\n </a>\n )\n\n case StringDisplayMode.BADGE:\n return <Badge variant=\"secondary\">{asWord(value)}</Badge>\n\n case StringDisplayMode.COPY:\n return (\n <div className=\"flex items-center gap-element\">\n <Text className=\"font-mono text-sm\">{value}</Text>\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"text-muted-foreground hover:text-foreground transition-colors\"\n aria-label={copied ? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copied') : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copyToClipboard')}\n >\n <span aria-hidden=\"true\">\n {copied\n ? renderIcon(StandardIconReference.CHECK, { size: IconSize.SM })\n : renderIcon(StandardIconReference.COPY, { size: IconSize.SM })\n }\n </span>\n </button>\n </div>\n )\n\n case StringDisplayMode.SECRET:\n return (\n <div className=\"flex items-center gap-element\">\n <Text className=\"font-mono text-sm select-all\" aria-live=\"polite\">\n {revealed ? value : '••••••••••••••••'}\n </Text>\n <button\n type=\"button\"\n onClick={() => setRevealed(prev => !prev)}\n className=\"text-muted-foreground hover:text-foreground transition-colors\"\n aria-label={revealed ? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'hideValue') : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'revealValue')}\n >\n <span aria-hidden=\"true\">\n {revealed\n ? renderIcon(StandardIconReference.EYE_OFF, { size: IconSize.SM })\n : renderIcon(StandardIconReference.EYE, { size: IconSize.SM })\n }\n </span>\n </button>\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"text-muted-foreground hover:text-foreground transition-colors\"\n aria-label={copied ? tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copied') : tComponent(FrontendComponentType.LOW_LEVEL_FORM_FIELD_STRING, 'copyToClipboard')}\n >\n <span aria-hidden=\"true\">\n {copied\n ? renderIcon(StandardIconReference.CHECK, { size: IconSize.SM })\n : renderIcon(StandardIconReference.COPY, { size: IconSize.SM })\n }\n </span>\n </button>\n </div>\n )\n\n default:\n return <Text>{asWord(value)}</Text>\n }\n }\n\n if (!isReady) return null\n // Label/description rendering is handled by the parent DisplayField (FIELD-01)\n return <div className={className}>{renderValue()}</div>\n}\n\n;(DisplayFieldString as typeof DisplayFieldString & { displayName: string }).displayName = \"DisplayFieldString\"\n\nexport { DisplayFieldString }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-string.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-string.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,gCAAgC,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"display-field-string.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-string.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,gCAAgC,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-time.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-time.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAGxE,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,SAAS,GACV,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgBlD;AAID,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"display-field-time.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-time.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAGxE,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,SAAS,GACV,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgBlD;AAID,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"display-field-time.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/formatters/display-field-time.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,8BAA8B,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"display-field-time.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/data-display/formatters/display-field-time.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,8BAA8B,EAAE,mBAAmB,EAAO,CAAC"}
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import type { IdentifierProps } from "@wildo-ai/saas-frontend-lib";
3
+ /**
4
+ * DEFAULT preset for `LOW_LEVEL_IDENTIFIER`: the design-system `Text` in a monospaced face, as a
5
+ * `<span>` so it composes inline beside the prose it addresses.
6
+ *
7
+ * `Text` owns the size and colour — this preset adds only what makes an identifier an identifier:
8
+ * the monospaced face, and `min-w-0 break-all` so a long unbroken ref wraps instead of pushing its
9
+ * row sideways. The caller's `className` is merged LAST, so a surface can still override.
10
+ *
11
+ * Deliberately NOT the `TypographyVariant.CODE` recipe: that one is an inline CODE SPAN
12
+ * (`bg-muted rounded px-1 py-0.5`), which is a chip behind the value. An identifier is the value
13
+ * itself, sitting in a row — a grey pill behind every ref on a board is a different design.
14
+ */
15
+ export declare function Identifier({ size, variant, className, children, }: IdentifierProps): React.JSX.Element;
16
+ export declare namespace Identifier {
17
+ var displayName: string;
18
+ }
19
+ //# sourceMappingURL=identifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/identifier.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAElE;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAkB,EAClB,OAA2B,EAC3B,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAMrC;yBAXe,UAAU"}
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { TextSize, TextVariant } from "@wildo-ai/presets-components-models";
4
+ import { cn, Text } from "@wildo-ai/saas-frontend-lib";
5
+ /**
6
+ * DEFAULT preset for `LOW_LEVEL_IDENTIFIER`: the design-system `Text` in a monospaced face, as a
7
+ * `<span>` so it composes inline beside the prose it addresses.
8
+ *
9
+ * `Text` owns the size and colour — this preset adds only what makes an identifier an identifier:
10
+ * the monospaced face, and `min-w-0 break-all` so a long unbroken ref wraps instead of pushing its
11
+ * row sideways. The caller's `className` is merged LAST, so a surface can still override.
12
+ *
13
+ * Deliberately NOT the `TypographyVariant.CODE` recipe: that one is an inline CODE SPAN
14
+ * (`bg-muted rounded px-1 py-0.5`), which is a chip behind the value. An identifier is the value
15
+ * itself, sitting in a row — a grey pill behind every ref on a board is a different design.
16
+ */
17
+ export function Identifier({ size = TextSize.XS, variant = TextVariant.MUTED, className, children, }) {
18
+ return (_jsx(Text, { as: "span", size: size, variant: variant, className: cn("min-w-0 break-all font-mono", className), children: children }));
19
+ }
20
+ Identifier.displayName = "Identifier";
21
+ //# sourceMappingURL=identifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../../src/components/data-display/identifier.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAGtD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,GAAG,QAAQ,CAAC,EAAE,EAClB,OAAO,GAAG,WAAW,CAAC,KAAK,EAC3B,SAAS,EACT,QAAQ,GACQ;IAChB,OAAO,CACL,KAAC,IAAI,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,YAClG,QAAQ,GACJ,CACR,CAAA;AACH,CAAC;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { TextSize, TextVariant } from \"@wildo-ai/presets-components-models\"\nimport { cn, Text } from \"@wildo-ai/saas-frontend-lib\"\nimport type { IdentifierProps } from \"@wildo-ai/saas-frontend-lib\"\n\n/**\n * DEFAULT preset for `LOW_LEVEL_IDENTIFIER`: the design-system `Text` in a monospaced face, as a\n * `<span>` so it composes inline beside the prose it addresses.\n *\n * `Text` owns the size and colour — this preset adds only what makes an identifier an identifier:\n * the monospaced face, and `min-w-0 break-all` so a long unbroken ref wraps instead of pushing its\n * row sideways. The caller's `className` is merged LAST, so a surface can still override.\n *\n * Deliberately NOT the `TypographyVariant.CODE` recipe: that one is an inline CODE SPAN\n * (`bg-muted rounded px-1 py-0.5`), which is a chip behind the value. An identifier is the value\n * itself, sitting in a row — a grey pill behind every ref on a board is a different design.\n */\nexport function Identifier({\n size = TextSize.XS,\n variant = TextVariant.MUTED,\n className,\n children,\n}: IdentifierProps): React.JSX.Element {\n return (\n <Text as=\"span\" size={size} variant={variant} className={cn(\"min-w-0 break-all font-mono\", className)}>\n {children}\n </Text>\n )\n}\n\nIdentifier.displayName = \"Identifier\"\n"]}
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ import type { KbdProps } from "@wildo-ai/saas-frontend-lib";
3
+ /**
4
+ * DEFAULT preset for `LOW_LEVEL_KBD`: a real `<kbd>` element, in the monospaced face, on the INSET
5
+ * surface with a hairline border — a key cap, drawn once for every surface that tells a person what
6
+ * to press.
7
+ *
8
+ * INSET rather than SUNKEN or MUTED: the three sites this replaced disagreed on the ground, and an
9
+ * inset surface is the one whose meaning is "a control sunk into what it sits on", which is what a
10
+ * key cap depicts. The size is fixed at the XS text scale and never scales with its host: a cap
11
+ * beside a heading and a cap beside a caption are the same key.
12
+ */
13
+ export declare function Kbd({ className, children }: KbdProps): React.JSX.Element;
14
+ export declare namespace Kbd {
15
+ var displayName: string;
16
+ }
17
+ //# sourceMappingURL=kbd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/kbd.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAYxE;yBAZe,GAAG"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from "@wildo-ai/saas-frontend-lib";
4
+ /**
5
+ * DEFAULT preset for `LOW_LEVEL_KBD`: a real `<kbd>` element, in the monospaced face, on the INSET
6
+ * surface with a hairline border — a key cap, drawn once for every surface that tells a person what
7
+ * to press.
8
+ *
9
+ * INSET rather than SUNKEN or MUTED: the three sites this replaced disagreed on the ground, and an
10
+ * inset surface is the one whose meaning is "a control sunk into what it sits on", which is what a
11
+ * key cap depicts. The size is fixed at the XS text scale and never scales with its host: a cap
12
+ * beside a heading and a cap beside a caption are the same key.
13
+ */
14
+ export function Kbd({ className, children }) {
15
+ return (_jsx("kbd", { "data-slot": "kbd", className: cn("inline-flex shrink-0 select-none items-center justify-center rounded border border-border bg-surface-inset px-1.5 py-0.5 font-mono text-xs font-medium leading-none text-surface-inset-foreground", className), children: children }));
16
+ }
17
+ Kbd.displayName = "Kbd";
18
+ //# sourceMappingURL=kbd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kbd.js","sourceRoot":"","sources":["../../../../../src/components/data-display/kbd.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAIZ,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAA;AAGhD;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAY;IACnD,OAAO,CACL,2BACY,KAAK,EACf,SAAS,EAAE,EAAE,CACX,mMAAmM,EACnM,SAAS,CACV,YAEA,QAAQ,GACL,CACP,CAAA;AACH,CAAC;AAED,GAAG,CAAC,WAAW,GAAG,KAAK,CAAA","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"@wildo-ai/saas-frontend-lib\"\nimport type { KbdProps } from \"@wildo-ai/saas-frontend-lib\"\n\n/**\n * DEFAULT preset for `LOW_LEVEL_KBD`: a real `<kbd>` element, in the monospaced face, on the INSET\n * surface with a hairline border — a key cap, drawn once for every surface that tells a person what\n * to press.\n *\n * INSET rather than SUNKEN or MUTED: the three sites this replaced disagreed on the ground, and an\n * inset surface is the one whose meaning is \"a control sunk into what it sits on\", which is what a\n * key cap depicts. The size is fixed at the XS text scale and never scales with its host: a cap\n * beside a heading and a cap beside a caption are the same key.\n */\nexport function Kbd({ className, children }: KbdProps): React.JSX.Element {\n return (\n <kbd\n data-slot=\"kbd\"\n className={cn(\n \"inline-flex shrink-0 select-none items-center justify-center rounded border border-border bg-surface-inset px-1.5 py-0.5 font-mono text-xs font-medium leading-none text-surface-inset-foreground\",\n className,\n )}\n >\n {children}\n </kbd>\n )\n}\n\nKbd.displayName = \"Kbd\"\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-content.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/markdown-content.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,iBAAS,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6FtF;AAID,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"markdown-content.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/markdown-content.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,iBAAS,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6FtF;AAID,OAAO,EAAE,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-stream-runtime.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/markdown-stream-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,sGAAsG;AACtG,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,eAAO,MAAM,sBAAsB,EAAE,wBAQjC,CAAA;AAEJ;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAE1E"}
1
+ {"version":3,"file":"markdown-stream-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/markdown-stream-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,sGAAsG;AACtG,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAA;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,eAAO,MAAM,sBAAsB,EAAE,wBAQjC,CAAA;AAEJ;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAE1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-stream.lazy.d.ts","sourceRoot":"","sources":["../../../../src/components/data-display/markdown-stream.lazy.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,4DAA4D;AAC5D,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,CAAA;AAqDzE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAyB,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAc9G"}
1
+ {"version":3,"file":"markdown-stream.lazy.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/markdown-stream.lazy.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,4DAA4D;AAC5D,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,CAAA;AAwEzE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAAE,OAAyB,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgB9G"}
@@ -37,7 +37,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
37
37
  * `pnpm check:lazy-boundaries`.
38
38
  */
39
39
  import * as React from "react";
40
- import { Skeleton, cn, useUI } from "@wildo-ai/saas-frontend-lib";
40
+ import { LazyDoorErrorBoundary, Skeleton, cn, useUI } from "@wildo-ai/saas-frontend-lib";
41
41
  import { TypographyVariant, UIBehavior } from "@wildo-ai/presets-components-models";
42
42
  /**
43
43
  * What a ```` ```mermaid ```` fence renders as, now that diagram rendering is switched off.
@@ -60,6 +60,17 @@ function MermaidSourceFallback({ chart }) {
60
60
  const code = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.CODE);
61
61
  return (_jsx("pre", { className: cn("my-4 overflow-x-auto rounded-md border bg-muted/50 p-card-sm text-sm", code.base), "data-streamdown": "mermaid-source", children: _jsx("code", { children: chart }) }));
62
62
  }
63
+ /**
64
+ * What markdown degrades TO when the rendering pipeline never arrives (#963): the SOURCE, in the same
65
+ * code block the mermaid fallback uses. Markdown is readable as text — headings, lists and links keep
66
+ * their meaning unrendered — so the source is the most useful thing left to show, and it is the
67
+ * person's own content rather than a word the door would have to invent.
68
+ */
69
+ function MarkdownSourceFallback({ children }) {
70
+ const { getRecipe } = useUI();
71
+ const code = getRecipe(UIBehavior.TYPOGRAPHY, TypographyVariant.CODE);
72
+ return (_jsx("pre", { className: cn("my-4 overflow-x-auto rounded-md border border-dashed bg-muted/50 p-card-sm text-sm whitespace-pre-wrap", code.base), "data-lazy-door": "unavailable", children: _jsx("code", { children: typeof children === "string" ? children : "" }) }));
73
+ }
63
74
  /**
64
75
  * Default `mermaid` options handed to `streamdown`.
65
76
  *
@@ -87,6 +98,6 @@ const LazyStreamdown = React.lazy(() => import("./markdown-stream-runtime.js").t
87
98
  * `MermaidSourceFallback` above; passing `mermaid` explicitly overrides it.
88
99
  */
89
100
  export function MarkdownStream({ mermaid = MERMAID_OPTIONS, ...props }) {
90
- return (_jsx(React.Suspense, { fallback: _jsxs("div", { className: "space-y-2", "aria-busy": "true", children: [_jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-11/12" }), _jsx(Skeleton, { className: "h-4 w-4/6" })] }), children: _jsx(LazyStreamdown, { mermaid: mermaid, ...props }) }));
101
+ return (_jsx(LazyDoorErrorBoundary, { doorName: "MarkdownStream", fallback: _jsx(MarkdownSourceFallback, { children: props.children }), children: _jsx(React.Suspense, { fallback: _jsxs("div", { className: "space-y-2", "aria-busy": "true", children: [_jsx(Skeleton, { className: "h-4 w-full" }), _jsx(Skeleton, { className: "h-4 w-11/12" }), _jsx(Skeleton, { className: "h-4 w-4/6" })] }), children: _jsx(LazyStreamdown, { mermaid: mermaid, ...props }) }) }));
91
102
  }
92
103
  //# sourceMappingURL=markdown-stream.lazy.js.map