@osdk/react-components 0.56.0 → 0.57.0-main-9c5a7b17bd0a71c88bf2d3ed29847e6f87975bbf

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 (378) hide show
  1. package/AGENTS.md +19 -14
  2. package/CHANGELOG.md +55 -0
  3. package/README.md +3 -3
  4. package/action-form.d.ts +17 -0
  5. package/build/browser/pdf-viewer/BasePdfViewer.js +12 -8
  6. package/build/browser/pdf-viewer/BasePdfViewer.js.map +1 -1
  7. package/build/browser/pdf-viewer/PdfViewerApi.js.map +1 -1
  8. package/build/browser/pdf-viewer/PdfViewerContext.js +4 -0
  9. package/build/browser/pdf-viewer/PdfViewerContext.js.map +1 -1
  10. package/build/browser/pdf-viewer/components/PdfViewerContent.js +6 -2
  11. package/build/browser/pdf-viewer/components/PdfViewerContent.js.map +1 -1
  12. package/build/browser/pdf-viewer/hooks/usePdfViewerCore.js +10 -4
  13. package/build/browser/pdf-viewer/hooks/usePdfViewerCore.js.map +1 -1
  14. package/build/browser/pdf-viewer/hooks/usePdfViewerState.js +9 -1
  15. package/build/browser/pdf-viewer/hooks/usePdfViewerState.js.map +1 -1
  16. package/build/browser/public/action-form.js +21 -0
  17. package/build/browser/public/action-form.js.map +1 -0
  18. package/build/browser/public/document-viewer.js +22 -0
  19. package/build/browser/public/document-viewer.js.map +1 -0
  20. package/build/browser/public/email-viewer.js +23 -0
  21. package/build/browser/public/email-viewer.js.map +1 -0
  22. package/build/browser/public/experimental/action-form.js +60 -5
  23. package/build/browser/public/experimental/action-form.js.map +1 -1
  24. package/build/browser/public/experimental/document-viewer.js +11 -5
  25. package/build/browser/public/experimental/document-viewer.js.map +1 -1
  26. package/build/browser/public/experimental/email-viewer.js +15 -6
  27. package/build/browser/public/experimental/email-viewer.js.map +1 -1
  28. package/build/browser/public/experimental/filter-list.js +71 -14
  29. package/build/browser/public/experimental/filter-list.js.map +1 -1
  30. package/build/browser/public/experimental/image-viewer.js +11 -6
  31. package/build/browser/public/experimental/image-viewer.js.map +1 -1
  32. package/build/browser/public/experimental/markdown-renderer.js +11 -17
  33. package/build/browser/public/experimental/markdown-renderer.js.map +1 -1
  34. package/build/browser/public/experimental/object-table.js +152 -37
  35. package/build/browser/public/experimental/object-table.js.map +1 -1
  36. package/build/browser/public/experimental/pdf-viewer.js +134 -34
  37. package/build/browser/public/experimental/pdf-viewer.js.map +1 -1
  38. package/build/browser/public/experimental/spreadsheet-viewer.js +15 -6
  39. package/build/browser/public/experimental/spreadsheet-viewer.js.map +1 -1
  40. package/build/browser/public/experimental/tiff-renderer.js +11 -17
  41. package/build/browser/public/experimental/tiff-renderer.js.map +1 -1
  42. package/build/browser/public/experimental/video-viewer.js +11 -6
  43. package/build/browser/public/experimental/video-viewer.js.map +1 -1
  44. package/build/browser/public/experimental/xml-viewer.js +11 -6
  45. package/build/browser/public/experimental/xml-viewer.js.map +1 -1
  46. package/build/browser/public/filter-list.js +30 -0
  47. package/build/browser/public/filter-list.js.map +1 -0
  48. package/build/browser/public/image-viewer.js +23 -0
  49. package/build/browser/public/image-viewer.js.map +1 -0
  50. package/build/browser/public/markdown-viewer.js +24 -0
  51. package/build/browser/public/markdown-viewer.js.map +1 -0
  52. package/build/browser/public/object-table.js +65 -0
  53. package/build/browser/public/object-table.js.map +1 -0
  54. package/build/browser/public/pdf-viewer.js +50 -0
  55. package/build/browser/public/pdf-viewer.js.map +1 -0
  56. package/build/browser/public/spreadsheet-viewer.js +23 -0
  57. package/build/browser/public/spreadsheet-viewer.js.map +1 -0
  58. package/build/browser/public/tiff-viewer.js +24 -0
  59. package/build/browser/public/tiff-viewer.js.map +1 -0
  60. package/build/browser/public/video-viewer.js +23 -0
  61. package/build/browser/public/video-viewer.js.map +1 -0
  62. package/build/browser/public/xml-viewer.js +23 -0
  63. package/build/browser/public/xml-viewer.js.map +1 -0
  64. package/build/browser/util/UserAgent.js +1 -1
  65. package/build/browser/util/UserAgent.js.map +1 -1
  66. package/build/cjs/{PdfViewerApi-CQJlwPUl.d.cts → PdfViewerApi-CIpvxxUo.d.cts} +9 -1
  67. package/build/cjs/action-form-4OvVNZ6i.d.cts +791 -0
  68. package/build/cjs/chunk-36QJAKOY.cjs +13 -0
  69. package/build/cjs/chunk-36QJAKOY.cjs.map +1 -0
  70. package/build/cjs/{chunk-HVJTECCC.cjs → chunk-4KHF42ZL.cjs} +34 -15
  71. package/build/cjs/chunk-4KHF42ZL.cjs.map +1 -0
  72. package/build/cjs/chunk-5KVF4DSH.cjs +53 -0
  73. package/build/cjs/chunk-5KVF4DSH.cjs.map +1 -0
  74. package/build/cjs/{chunk-L2FCT7HW.cjs → chunk-6YNO7HDC.cjs} +4 -4
  75. package/build/cjs/{chunk-L2FCT7HW.cjs.map → chunk-6YNO7HDC.cjs.map} +1 -1
  76. package/build/cjs/{chunk-JHKAQXRZ.cjs → chunk-7IP4YOC6.cjs} +5 -5
  77. package/build/cjs/chunk-7IP4YOC6.cjs.map +1 -0
  78. package/build/cjs/chunk-A3GEXM7R.cjs +48 -0
  79. package/build/cjs/chunk-A3GEXM7R.cjs.map +1 -0
  80. package/build/cjs/chunk-AWSDHTVF.cjs +11 -0
  81. package/build/cjs/chunk-AWSDHTVF.cjs.map +1 -0
  82. package/build/cjs/chunk-BPRRM7TQ.cjs +12 -0
  83. package/build/cjs/chunk-BPRRM7TQ.cjs.map +1 -0
  84. package/build/cjs/chunk-DZLFOD3V.cjs +12 -0
  85. package/build/cjs/chunk-DZLFOD3V.cjs.map +1 -0
  86. package/build/cjs/{chunk-DJNKQI5C.cjs → chunk-GCAQEFD6.cjs} +35 -27
  87. package/build/cjs/chunk-GCAQEFD6.cjs.map +1 -0
  88. package/build/cjs/chunk-IBDBFMEQ.cjs +13 -0
  89. package/build/cjs/chunk-IBDBFMEQ.cjs.map +1 -0
  90. package/build/cjs/chunk-IFBNWYYC.cjs +11 -0
  91. package/build/cjs/chunk-IFBNWYYC.cjs.map +1 -0
  92. package/build/cjs/chunk-JCCZWVY3.cjs +13 -0
  93. package/build/cjs/chunk-JCCZWVY3.cjs.map +1 -0
  94. package/build/cjs/{chunk-BBXX42YT.cjs → chunk-L4PLQPV2.cjs} +12 -12
  95. package/build/cjs/chunk-L4PLQPV2.cjs.map +1 -0
  96. package/build/cjs/chunk-MDVEVGFJ.cjs +11 -0
  97. package/build/cjs/chunk-MDVEVGFJ.cjs.map +1 -0
  98. package/build/cjs/chunk-OJTBEZKG.cjs +11 -0
  99. package/build/cjs/chunk-OJTBEZKG.cjs.map +1 -0
  100. package/build/cjs/{chunk-ABT6IGXN.cjs → chunk-RPEXVMQG.cjs} +7 -7
  101. package/build/cjs/chunk-RPEXVMQG.cjs.map +1 -0
  102. package/build/cjs/{chunk-RDJK72SG.cjs → chunk-RZOLA2GI.cjs} +10 -10
  103. package/build/cjs/chunk-RZOLA2GI.cjs.map +1 -0
  104. package/build/cjs/{chunk-6RCVPIW5.cjs → chunk-U7FYMS5T.cjs} +3 -3
  105. package/build/cjs/chunk-U7FYMS5T.cjs.map +1 -0
  106. package/build/cjs/chunk-UAKUGVQW.cjs +17 -0
  107. package/build/cjs/chunk-UAKUGVQW.cjs.map +1 -0
  108. package/build/cjs/chunk-UQGEGHHQ.cjs +34 -0
  109. package/build/cjs/chunk-UQGEGHHQ.cjs.map +1 -0
  110. package/build/cjs/chunk-VLADVYGE.cjs +13 -0
  111. package/build/cjs/chunk-VLADVYGE.cjs.map +1 -0
  112. package/build/cjs/chunk-VYLMJUGV.cjs +17 -0
  113. package/build/cjs/chunk-VYLMJUGV.cjs.map +1 -0
  114. package/build/cjs/chunk-VZ2OSX6A.cjs +11 -0
  115. package/build/cjs/chunk-VZ2OSX6A.cjs.map +1 -0
  116. package/build/cjs/chunk-XE7JD6LH.cjs +13 -0
  117. package/build/cjs/chunk-XE7JD6LH.cjs.map +1 -0
  118. package/build/cjs/chunk-XQHT3TQO.cjs +11 -0
  119. package/build/cjs/chunk-XQHT3TQO.cjs.map +1 -0
  120. package/build/cjs/chunk-YE6XEEAZ.cjs +11 -0
  121. package/build/cjs/chunk-YE6XEEAZ.cjs.map +1 -0
  122. package/build/cjs/filter-list-CraygbR8.d.cts +976 -0
  123. package/build/cjs/public/action-form.cjs +27 -0
  124. package/build/cjs/public/action-form.cjs.map +1 -0
  125. package/build/cjs/public/action-form.css +1668 -0
  126. package/build/cjs/public/action-form.css.map +1 -0
  127. package/build/cjs/public/action-form.d.cts +3 -0
  128. package/build/cjs/public/document-viewer.cjs +28 -0
  129. package/build/cjs/public/document-viewer.cjs.map +1 -0
  130. package/build/cjs/public/document-viewer.css +914 -0
  131. package/build/cjs/public/document-viewer.css.map +1 -0
  132. package/build/cjs/public/document-viewer.d.cts +57 -0
  133. package/build/cjs/public/email-viewer.cjs +20 -0
  134. package/build/cjs/public/email-viewer.cjs.map +1 -0
  135. package/build/cjs/public/email-viewer.css +81 -0
  136. package/build/cjs/public/email-viewer.css.map +1 -0
  137. package/build/cjs/public/email-viewer.d.cts +37 -0
  138. package/build/cjs/public/experimental/action-form.cjs +7 -6
  139. package/build/cjs/public/experimental/action-form.d.cts +58 -787
  140. package/build/cjs/public/experimental/cbac-picker.cjs +12 -12
  141. package/build/cjs/public/experimental/document-viewer.cjs +10 -9
  142. package/build/cjs/public/experimental/document-viewer.d.cts +14 -53
  143. package/build/cjs/public/experimental/email-viewer.cjs +8 -7
  144. package/build/cjs/public/experimental/email-viewer.d.cts +14 -33
  145. package/build/cjs/public/experimental/filter-list.cjs +17 -16
  146. package/build/cjs/public/experimental/filter-list.d.cts +59 -973
  147. package/build/cjs/public/experimental/image-viewer.cjs +8 -7
  148. package/build/cjs/public/experimental/image-viewer.d.cts +11 -7
  149. package/build/cjs/public/experimental/markdown-renderer.cjs +11 -10
  150. package/build/cjs/public/experimental/markdown-renderer.d.cts +13 -20
  151. package/build/cjs/public/experimental/object-table.cjs +28 -27
  152. package/build/cjs/public/experimental/object-table.d.cts +148 -1228
  153. package/build/cjs/public/experimental/pdf-viewer.cjs +38 -37
  154. package/build/cjs/public/experimental/pdf-viewer.d.cts +115 -344
  155. package/build/cjs/public/experimental/spreadsheet-viewer.cjs +8 -7
  156. package/build/cjs/public/experimental/spreadsheet-viewer.d.cts +14 -30
  157. package/build/cjs/public/experimental/tiff-renderer.cjs +11 -10
  158. package/build/cjs/public/experimental/tiff-renderer.d.cts +14 -10
  159. package/build/cjs/public/experimental/video-viewer.cjs +8 -7
  160. package/build/cjs/public/experimental/video-viewer.d.cts +11 -7
  161. package/build/cjs/public/experimental/xml-viewer.cjs +8 -7
  162. package/build/cjs/public/experimental/xml-viewer.d.cts +11 -19
  163. package/build/cjs/public/experimental.cjs +221 -209
  164. package/build/cjs/public/experimental.d.cts +21 -9
  165. package/build/cjs/public/filter-list.cjs +71 -0
  166. package/build/cjs/public/filter-list.cjs.map +1 -0
  167. package/build/cjs/public/filter-list.css +2414 -0
  168. package/build/cjs/public/filter-list.css.map +1 -0
  169. package/build/cjs/public/filter-list.d.cts +3 -0
  170. package/build/cjs/public/image-viewer.cjs +20 -0
  171. package/build/cjs/public/image-viewer.cjs.map +1 -0
  172. package/build/cjs/public/image-viewer.css +30 -0
  173. package/build/cjs/public/image-viewer.css.map +1 -0
  174. package/build/cjs/public/image-viewer.d.cts +11 -0
  175. package/build/cjs/public/markdown-viewer.cjs +20 -0
  176. package/build/cjs/public/markdown-viewer.cjs.map +1 -0
  177. package/build/cjs/public/markdown-viewer.css +117 -0
  178. package/build/cjs/public/markdown-viewer.css.map +1 -0
  179. package/build/cjs/public/markdown-viewer.d.cts +21 -0
  180. package/build/cjs/public/object-table.cjs +101 -0
  181. package/build/cjs/public/object-table.cjs.map +1 -0
  182. package/build/cjs/public/object-table.css +2201 -0
  183. package/build/cjs/public/object-table.css.map +1 -0
  184. package/build/cjs/public/object-table.d.cts +1231 -0
  185. package/build/cjs/public/pdf-viewer.cjs +99 -0
  186. package/build/cjs/public/pdf-viewer.cjs.map +1 -0
  187. package/build/cjs/public/pdf-viewer.css +442 -0
  188. package/build/cjs/public/pdf-viewer.css.map +1 -0
  189. package/build/cjs/public/pdf-viewer.d.cts +360 -0
  190. package/build/cjs/public/primitives.cjs +1 -1
  191. package/build/cjs/public/spreadsheet-viewer.cjs +20 -0
  192. package/build/cjs/public/spreadsheet-viewer.cjs.map +1 -0
  193. package/build/cjs/public/spreadsheet-viewer.css +122 -0
  194. package/build/cjs/public/spreadsheet-viewer.css.map +1 -0
  195. package/build/cjs/public/spreadsheet-viewer.d.cts +34 -0
  196. package/build/cjs/public/tiff-viewer.cjs +20 -0
  197. package/build/cjs/public/tiff-viewer.cjs.map +1 -0
  198. package/build/cjs/public/tiff-viewer.css +23 -0
  199. package/build/cjs/public/tiff-viewer.css.map +1 -0
  200. package/build/cjs/public/tiff-viewer.d.cts +11 -0
  201. package/build/cjs/public/video-viewer.cjs +20 -0
  202. package/build/cjs/public/video-viewer.cjs.map +1 -0
  203. package/build/cjs/public/video-viewer.css +29 -0
  204. package/build/cjs/public/video-viewer.css.map +1 -0
  205. package/build/cjs/public/video-viewer.d.cts +11 -0
  206. package/build/cjs/public/xml-viewer.cjs +20 -0
  207. package/build/cjs/public/xml-viewer.cjs.map +1 -0
  208. package/build/cjs/public/xml-viewer.css +38 -0
  209. package/build/cjs/public/xml-viewer.css.map +1 -0
  210. package/build/cjs/public/xml-viewer.d.cts +22 -0
  211. package/build/esm/pdf-viewer/BasePdfViewer.js +12 -8
  212. package/build/esm/pdf-viewer/BasePdfViewer.js.map +1 -1
  213. package/build/esm/pdf-viewer/PdfViewerApi.js.map +1 -1
  214. package/build/esm/pdf-viewer/PdfViewerContext.js +4 -0
  215. package/build/esm/pdf-viewer/PdfViewerContext.js.map +1 -1
  216. package/build/esm/pdf-viewer/components/PdfViewerContent.js +6 -2
  217. package/build/esm/pdf-viewer/components/PdfViewerContent.js.map +1 -1
  218. package/build/esm/pdf-viewer/hooks/usePdfViewerCore.js +10 -4
  219. package/build/esm/pdf-viewer/hooks/usePdfViewerCore.js.map +1 -1
  220. package/build/esm/pdf-viewer/hooks/usePdfViewerState.js +9 -1
  221. package/build/esm/pdf-viewer/hooks/usePdfViewerState.js.map +1 -1
  222. package/build/esm/public/action-form.js +21 -0
  223. package/build/esm/public/action-form.js.map +1 -0
  224. package/build/esm/public/document-viewer.js +22 -0
  225. package/build/esm/public/document-viewer.js.map +1 -0
  226. package/build/esm/public/email-viewer.js +23 -0
  227. package/build/esm/public/email-viewer.js.map +1 -0
  228. package/build/esm/public/experimental/action-form.js +60 -5
  229. package/build/esm/public/experimental/action-form.js.map +1 -1
  230. package/build/esm/public/experimental/document-viewer.js +11 -5
  231. package/build/esm/public/experimental/document-viewer.js.map +1 -1
  232. package/build/esm/public/experimental/email-viewer.js +15 -6
  233. package/build/esm/public/experimental/email-viewer.js.map +1 -1
  234. package/build/esm/public/experimental/filter-list.js +71 -14
  235. package/build/esm/public/experimental/filter-list.js.map +1 -1
  236. package/build/esm/public/experimental/image-viewer.js +11 -6
  237. package/build/esm/public/experimental/image-viewer.js.map +1 -1
  238. package/build/esm/public/experimental/markdown-renderer.js +11 -17
  239. package/build/esm/public/experimental/markdown-renderer.js.map +1 -1
  240. package/build/esm/public/experimental/object-table.js +152 -37
  241. package/build/esm/public/experimental/object-table.js.map +1 -1
  242. package/build/esm/public/experimental/pdf-viewer.js +134 -34
  243. package/build/esm/public/experimental/pdf-viewer.js.map +1 -1
  244. package/build/esm/public/experimental/spreadsheet-viewer.js +15 -6
  245. package/build/esm/public/experimental/spreadsheet-viewer.js.map +1 -1
  246. package/build/esm/public/experimental/tiff-renderer.js +11 -17
  247. package/build/esm/public/experimental/tiff-renderer.js.map +1 -1
  248. package/build/esm/public/experimental/video-viewer.js +11 -6
  249. package/build/esm/public/experimental/video-viewer.js.map +1 -1
  250. package/build/esm/public/experimental/xml-viewer.js +11 -6
  251. package/build/esm/public/experimental/xml-viewer.js.map +1 -1
  252. package/build/esm/public/filter-list.js +30 -0
  253. package/build/esm/public/filter-list.js.map +1 -0
  254. package/build/esm/public/image-viewer.js +23 -0
  255. package/build/esm/public/image-viewer.js.map +1 -0
  256. package/build/esm/public/markdown-viewer.js +24 -0
  257. package/build/esm/public/markdown-viewer.js.map +1 -0
  258. package/build/esm/public/object-table.js +65 -0
  259. package/build/esm/public/object-table.js.map +1 -0
  260. package/build/esm/public/pdf-viewer.js +50 -0
  261. package/build/esm/public/pdf-viewer.js.map +1 -0
  262. package/build/esm/public/spreadsheet-viewer.js +23 -0
  263. package/build/esm/public/spreadsheet-viewer.js.map +1 -0
  264. package/build/esm/public/tiff-viewer.js +24 -0
  265. package/build/esm/public/tiff-viewer.js.map +1 -0
  266. package/build/esm/public/video-viewer.js +23 -0
  267. package/build/esm/public/video-viewer.js.map +1 -0
  268. package/build/esm/public/xml-viewer.js +23 -0
  269. package/build/esm/public/xml-viewer.js.map +1 -0
  270. package/build/esm/util/UserAgent.js +1 -1
  271. package/build/esm/util/UserAgent.js.map +1 -1
  272. package/build/types/pdf-viewer/PdfViewerApi.d.ts +9 -1
  273. package/build/types/pdf-viewer/PdfViewerApi.d.ts.map +1 -1
  274. package/build/types/pdf-viewer/components/PdfViewerContent.d.ts +5 -1
  275. package/build/types/pdf-viewer/components/PdfViewerContent.d.ts.map +1 -1
  276. package/build/types/pdf-viewer/hooks/usePdfViewerCore.d.ts +7 -1
  277. package/build/types/pdf-viewer/hooks/usePdfViewerCore.d.ts.map +1 -1
  278. package/build/types/pdf-viewer/hooks/usePdfViewerState.d.ts +3 -1
  279. package/build/types/pdf-viewer/hooks/usePdfViewerState.d.ts.map +1 -1
  280. package/build/types/public/action-form.d.ts +5 -0
  281. package/build/types/public/action-form.d.ts.map +1 -0
  282. package/build/types/public/document-viewer.d.ts +4 -0
  283. package/build/types/public/document-viewer.d.ts.map +1 -0
  284. package/build/types/public/email-viewer.d.ts +4 -0
  285. package/build/types/public/email-viewer.d.ts.map +1 -0
  286. package/build/types/public/experimental/action-form.d.ts +68 -5
  287. package/build/types/public/experimental/action-form.d.ts.map +1 -1
  288. package/build/types/public/experimental/document-viewer.d.ts +9 -4
  289. package/build/types/public/experimental/document-viewer.d.ts.map +1 -1
  290. package/build/types/public/experimental/email-viewer.d.ts +13 -4
  291. package/build/types/public/experimental/email-viewer.d.ts.map +1 -1
  292. package/build/types/public/experimental/filter-list.d.ts +63 -19
  293. package/build/types/public/experimental/filter-list.d.ts.map +1 -1
  294. package/build/types/public/experimental/image-viewer.d.ts +9 -4
  295. package/build/types/public/experimental/image-viewer.d.ts.map +1 -1
  296. package/build/types/public/experimental/markdown-renderer.d.ts +12 -9
  297. package/build/types/public/experimental/markdown-renderer.d.ts.map +1 -1
  298. package/build/types/public/experimental/object-table.d.ts +235 -29
  299. package/build/types/public/experimental/object-table.d.ts.map +1 -1
  300. package/build/types/public/experimental/pdf-viewer.d.ts +111 -25
  301. package/build/types/public/experimental/pdf-viewer.d.ts.map +1 -1
  302. package/build/types/public/experimental/spreadsheet-viewer.d.ts +13 -4
  303. package/build/types/public/experimental/spreadsheet-viewer.d.ts.map +1 -1
  304. package/build/types/public/experimental/tiff-renderer.d.ts +12 -9
  305. package/build/types/public/experimental/tiff-renderer.d.ts.map +1 -1
  306. package/build/types/public/experimental/video-viewer.d.ts +9 -4
  307. package/build/types/public/experimental/video-viewer.d.ts.map +1 -1
  308. package/build/types/public/experimental/xml-viewer.d.ts +9 -4
  309. package/build/types/public/experimental/xml-viewer.d.ts.map +1 -1
  310. package/build/types/public/filter-list.d.ts +19 -0
  311. package/build/types/public/filter-list.d.ts.map +1 -0
  312. package/build/types/public/image-viewer.d.ts +4 -0
  313. package/build/types/public/image-viewer.d.ts.map +1 -0
  314. package/build/types/public/markdown-viewer.d.ts +4 -0
  315. package/build/types/public/markdown-viewer.d.ts.map +1 -0
  316. package/build/types/public/object-table.d.ts +29 -0
  317. package/build/types/public/object-table.d.ts.map +1 -0
  318. package/build/types/public/pdf-viewer.d.ts +25 -0
  319. package/build/types/public/pdf-viewer.d.ts.map +1 -0
  320. package/build/types/public/spreadsheet-viewer.d.ts +4 -0
  321. package/build/types/public/spreadsheet-viewer.d.ts.map +1 -0
  322. package/build/types/public/tiff-viewer.d.ts +4 -0
  323. package/build/types/public/tiff-viewer.d.ts.map +1 -0
  324. package/build/types/public/video-viewer.d.ts +4 -0
  325. package/build/types/public/video-viewer.d.ts.map +1 -0
  326. package/build/types/public/xml-viewer.d.ts +4 -0
  327. package/build/types/public/xml-viewer.d.ts.map +1 -0
  328. package/docs/ActionForm.md +3 -3
  329. package/docs/ActionFormOverview.md +3 -3
  330. package/docs/DocumentViewer.md +3 -3
  331. package/docs/DocumentViewerOverview.md +8 -8
  332. package/docs/EmailViewer.md +3 -3
  333. package/docs/FilterList.md +6 -6
  334. package/docs/FilterListOverview.md +3 -3
  335. package/docs/GettingStarted.md +1 -1
  336. package/docs/ImageViewer.md +3 -3
  337. package/docs/MarkdownViewer.md +3 -3
  338. package/docs/ObjectTable.md +23 -23
  339. package/docs/ObjectTableOverview.md +3 -3
  340. package/docs/PdfViewer.md +16 -19
  341. package/docs/SpreadsheetViewer.md +3 -3
  342. package/docs/TiffViewer.md +3 -6
  343. package/docs/VideoViewer.md +3 -3
  344. package/docs/Welcome.md +2 -2
  345. package/docs/XmlViewer.md +3 -6
  346. package/document-viewer.d.ts +17 -0
  347. package/email-viewer.d.ts +17 -0
  348. package/filter-list.d.ts +17 -0
  349. package/image-viewer.d.ts +17 -0
  350. package/markdown-viewer.d.ts +17 -0
  351. package/object-table.d.ts +17 -0
  352. package/package.json +116 -8
  353. package/pdf-viewer.d.ts +17 -0
  354. package/spreadsheet-viewer.d.ts +17 -0
  355. package/tiff-viewer.d.ts +17 -0
  356. package/video-viewer.d.ts +17 -0
  357. package/xml-viewer.d.ts +17 -0
  358. package/build/cjs/chunk-2UJNMXVL.cjs +0 -15
  359. package/build/cjs/chunk-2UJNMXVL.cjs.map +0 -1
  360. package/build/cjs/chunk-4F5VJN66.cjs +0 -11
  361. package/build/cjs/chunk-4F5VJN66.cjs.map +0 -1
  362. package/build/cjs/chunk-6RCVPIW5.cjs.map +0 -1
  363. package/build/cjs/chunk-A5ZKDZH4.cjs +0 -11
  364. package/build/cjs/chunk-A5ZKDZH4.cjs.map +0 -1
  365. package/build/cjs/chunk-ABT6IGXN.cjs.map +0 -1
  366. package/build/cjs/chunk-BBXX42YT.cjs.map +0 -1
  367. package/build/cjs/chunk-CR5S7BJM.cjs +0 -11
  368. package/build/cjs/chunk-CR5S7BJM.cjs.map +0 -1
  369. package/build/cjs/chunk-DJNKQI5C.cjs.map +0 -1
  370. package/build/cjs/chunk-HVJTECCC.cjs.map +0 -1
  371. package/build/cjs/chunk-JDKKKXMF.cjs +0 -15
  372. package/build/cjs/chunk-JDKKKXMF.cjs.map +0 -1
  373. package/build/cjs/chunk-JHKAQXRZ.cjs.map +0 -1
  374. package/build/cjs/chunk-RDJK72SG.cjs.map +0 -1
  375. package/build/cjs/chunk-S4DLEUUJ.cjs +0 -11
  376. package/build/cjs/chunk-S4DLEUUJ.cjs.map +0 -1
  377. package/build/cjs/chunk-ULVTAKJF.cjs +0 -11
  378. package/build/cjs/chunk-ULVTAKJF.cjs.map +0 -1
@@ -0,0 +1,791 @@
1
+ import { ObjectTypeDefinition, Osdk, ObjectSet, ActionDefinition, CompileTimeMetadata, ActionMetadata, ActionParam, DataValueClientToWire, ActionEditResponse, ActionValidationResponse } from '@osdk/api';
2
+ import React__default from 'react';
3
+
4
+ /**
5
+ * Element that receives a portal — accepts an HTMLElement, ShadowRoot, a
6
+ * ref to either, `null` for default body-attachment, or `undefined`.
7
+ */
8
+ type PortalContainer = HTMLElement | ShadowRoot | null | React__default.RefObject<HTMLElement | ShadowRoot | null>;
9
+
10
+ /**
11
+ * Props for the shared DatePicker. Used directly by filter-list and
12
+ * object-table; wrapped by action-form's FormFieldRenderer for the
13
+ * `DATETIME_PICKER` field kind. `id` and `error` are optional so non-form
14
+ * callers can omit them.
15
+ *
16
+ * When `formatDate` is omitted, ISO-like format is used (YYYY-MM-DD /
17
+ * YYYY-MM-DD HH:mm).
18
+ */
19
+ interface DatePickerProps {
20
+ /**
21
+ * The HTML `id` attribute for the input element. Used for `<label htmlFor>`
22
+ * association in form contexts. Optional in non-form contexts.
23
+ */
24
+ id?: string;
25
+ /**
26
+ * Visual error state for the input. Set by form validation in
27
+ * action-form contexts; non-form callers typically omit it.
28
+ */
29
+ error?: string;
30
+ /** The currently-selected Date, or `null` for empty. */
31
+ value: Date | null;
32
+ /** Called when the user selects or types a new date. */
33
+ onChange?: (value: Date | null) => void;
34
+ /** Whether the picker is disabled. */
35
+ disabled?: boolean;
36
+ /** The earliest date the user can select. */
37
+ min?: Date;
38
+ /** The latest date the user can select. */
39
+ max?: Date;
40
+ /** Whether to show a time picker alongside the date. */
41
+ showTime?: boolean;
42
+ /**
43
+ * Whether to close the popover after selecting a date.
44
+ * @default true when `showTime` is false, false when `showTime` is true
45
+ */
46
+ closeOnSelection?: boolean;
47
+ /** Placeholder text shown when no value is selected. */
48
+ placeholder?: string;
49
+ /**
50
+ * Formats a Date for display in the input field when not editing.
51
+ * When typing, the input shows the parsable format (YYYY-MM-DD or
52
+ * YYYY-MM-DD HH:mm). Provide a matching `parseDate` if using a custom
53
+ * format.
54
+ */
55
+ formatDate?: (date: Date) => string;
56
+ /**
57
+ * Parses a user-typed string back into a Date. Must be the inverse of
58
+ * `formatDate` — if `formatDate(d)` produces string `s`, then
59
+ * `parseDate(s)` must return an equivalent Date. When omitted, defaults
60
+ * to parsing "YYYY-MM-DD" (date-only) or "YYYY-MM-DD HH:mm" (with time).
61
+ */
62
+ parseDate?: (text: string) => Date | undefined;
63
+ /**
64
+ * Ref forwarded to the portal container element. Used to track portaled
65
+ * content for click-outside detection.
66
+ */
67
+ portalRef?: React__default.Ref<HTMLDivElement>;
68
+ /**
69
+ * Element that receives the date picker portal. Use this when rendering
70
+ * inside modal dialogs so popovers stay in the dialog's stacking and
71
+ * focus context instead of being appended directly to document.body.
72
+ */
73
+ portalContainer?: PortalContainer;
74
+ /**
75
+ * Accessible label for the input when there is no adjacent `<label>`
76
+ * element.
77
+ */
78
+ ariaLabel?: string;
79
+ /**
80
+ * Popover modality. Defaults to `"trap-focus"`, which traps Tab cycling
81
+ * inside the calendar and renders a transparent dismiss layer over the
82
+ * page. Pass `false` when nesting this picker inside another popover so
83
+ * the inner dismiss layer doesn't intercept clicks intended for the
84
+ * outer popover and base-ui's default outside-click handles dismissal
85
+ * instead.
86
+ */
87
+ modal?: "trap-focus" | false;
88
+ }
89
+
90
+ /**
91
+ * A date range represented as a start/end tuple. Either element may be
92
+ * `null` when the range is partially selected.
93
+ */
94
+ type DateRange = readonly [Date | null, Date | null];
95
+ /**
96
+ * Props for the shared DateRangePicker. Used by filter-list's date-range
97
+ * histogram and action-form's `DATE_RANGE_INPUT` field kind. `id` and
98
+ * `error` are optional so non-form callers can omit them.
99
+ *
100
+ * Renders two text inputs (start / end) with a shared calendar popover
101
+ * supporting range selection.
102
+ */
103
+ interface DateRangePickerProps {
104
+ /**
105
+ * The HTML `id` attribute for the start input element. Used for
106
+ * `<label htmlFor>` association in form contexts.
107
+ */
108
+ id?: string;
109
+ /**
110
+ * Visual error state for the inputs. Set by form validation in
111
+ * action-form contexts; non-form callers typically omit it.
112
+ */
113
+ error?: string;
114
+ /** The currently-selected range, or `null` for empty. */
115
+ value: DateRange | null;
116
+ /** Called when the user selects or types a new range. */
117
+ onChange?: (value: DateRange | null) => void;
118
+ /** Whether the picker is disabled. */
119
+ disabled?: boolean;
120
+ /** The earliest selectable date. */
121
+ min?: Date;
122
+ /** The latest selectable date. */
123
+ max?: Date;
124
+ /** Whether to show time pickers for both dates. */
125
+ showTime?: boolean;
126
+ /** Placeholder text for the start date input. */
127
+ placeholderStart?: string;
128
+ /** Placeholder text for the end date input. */
129
+ placeholderEnd?: string;
130
+ /** Whether to allow start and end on the same day. @default true */
131
+ allowSingleDayRange?: boolean;
132
+ /** Formats a Date for display. Defaults to "YYYY-MM-DD". */
133
+ formatDate?: (date: Date) => string;
134
+ /** Parses a user-typed string back into a Date. */
135
+ parseDate?: (text: string) => Date | undefined;
136
+ /**
137
+ * Element that receives the date range picker portal. Use this when
138
+ * rendering inside modal dialogs so popovers stay in the dialog's
139
+ * stacking and focus context instead of being appended directly to
140
+ * document.body.
141
+ */
142
+ portalContainer?: PortalContainer;
143
+ /**
144
+ * Popover modality. Defaults to `"trap-focus"`, which traps Tab cycling
145
+ * inside the calendar and renders a transparent dismiss layer over the
146
+ * page. Pass `false` when nesting this picker inside another popover so
147
+ * the inner dismiss layer doesn't intercept clicks intended for the
148
+ * outer popover and base-ui's default outside-click handles dismissal
149
+ * instead.
150
+ */
151
+ modal?: "trap-focus" | false;
152
+ }
153
+
154
+ /**
155
+ * A form field definition specifies configuration for a single field.
156
+ * Implemented as a distributed mapped type so `fieldComponent` narrows
157
+ * `fieldComponentProps` to the matching component prop type.
158
+ */
159
+ type FormFieldDefinition<Q extends ActionDefinition<unknown>, K extends FieldKey<Q> = FieldKey<Q>> = K extends unknown ? {
160
+ [C in ValidFormFieldForPropertyType<FieldDescriptorType<Q, K>>]: {
161
+ /**
162
+ * The field's unique key
163
+ */
164
+ fieldKey: K;
165
+ /**
166
+ * Display label for the field
167
+ */
168
+ label: string;
169
+ /**
170
+ * Default value of the field
171
+ */
172
+ defaultValue?: FieldValueType<Q, K>;
173
+ /**
174
+ * Whether the field is required
175
+ */
176
+ isRequired?: boolean;
177
+ /**
178
+ * Placeholder text
179
+ */
180
+ placeholder?: string;
181
+ /**
182
+ * Additional information to display on this field.
183
+ * Accepts plain text or rich content (e.g. JSX with links or formatting).
184
+ * Rendered as a tooltip icon next to the label by default, or below the
185
+ * label when helperTextPlacement is "bottom".
186
+ */
187
+ helperText?: React__default.ReactNode;
188
+ /**
189
+ * The placement of the helper text either below the field or in a tooltip
190
+ *
191
+ * @default "tooltip"
192
+ */
193
+ helperTextPlacement?: "bottom" | "tooltip";
194
+ /**
195
+ * Whether the field is disabled
196
+ */
197
+ disabled?: boolean;
198
+ /**
199
+ * A callback to customize error messages when a built-in validation rule fails.
200
+ * Receives a discriminated union with the constraint data (e.g., the min value
201
+ * that was exceeded) so the message can reference the threshold.
202
+ *
203
+ * Return a string to override the default message, or `undefined` to keep it.
204
+ */
205
+ onValidationError?: (error: ValidationError) => string | undefined;
206
+ /**
207
+ * Additional function to validate the field.
208
+ *
209
+ * Return `undefined` if valid, or an error message string if invalid.
210
+ */
211
+ validate?: (value: FieldValueType<Q, K>) => Promise<string | undefined>;
212
+ /**
213
+ * The form field component type to render
214
+ */
215
+ fieldComponent: C;
216
+ /**
217
+ * The component props for the form field.
218
+ * Excludes runtime props (value, onChange) which are managed by ActionForm.
219
+ */
220
+ fieldComponentProps: DistributiveOmit<FormFieldPropsByType[C], FormManagedProps<C>>;
221
+ };
222
+ }[ValidFormFieldForPropertyType<FieldDescriptorType<Q, K>>] : never;
223
+ /**
224
+ * A discriminated union describing which validation rule failed and the
225
+ * constraint data the user needs to build a meaningful error message.
226
+ */
227
+ type ValidationError = {
228
+ type: "required";
229
+ } | {
230
+ type: "min";
231
+ min: number | Date;
232
+ } | {
233
+ type: "max";
234
+ max: number | Date;
235
+ } | {
236
+ type: "minLength";
237
+ minLength: number;
238
+ } | {
239
+ type: "maxLength";
240
+ maxLength: number;
241
+ } | {
242
+ type: "maxSize";
243
+ maxSize: number;
244
+ } | {
245
+ type: "validate";
246
+ message: string;
247
+ };
248
+ /**
249
+ * Maps field types to their corresponding props
250
+ */
251
+ interface FormFieldPropsByType {
252
+ DATE_RANGE_INPUT: DateRangePickerProps;
253
+ DATETIME_PICKER: DatePickerProps;
254
+ DROPDOWN: DropdownFieldProps<unknown, boolean>;
255
+ FILE_PICKER: FilePickerProps;
256
+ NUMBER_INPUT: NumberInputFieldProps;
257
+ OBJECT_SELECT: ObjectSelectFieldProps<ObjectTypeDefinition>;
258
+ OBJECT_SET: ObjectSetFieldProps<ObjectTypeDefinition>;
259
+ RADIO_BUTTONS: RadioButtonsFieldProps<unknown>;
260
+ SWITCH: SwitchFieldProps;
261
+ TEXT_AREA: TextAreaFieldProps;
262
+ TEXT_INPUT: TextInputFieldProps;
263
+ CUSTOM: CustomFieldProps<unknown>;
264
+ UNSUPPORTED: UnsupportedFieldProps;
265
+ }
266
+ /**
267
+ * Dropdown field props with selectable items
268
+ */
269
+ interface DropdownFieldProps<V, Multiple extends boolean = false> extends BaseFormFieldProps<Multiple extends true ? V[] : V> {
270
+ /**
271
+ * Available items for the dropdown
272
+ */
273
+ items: V[];
274
+ /**
275
+ * Converts an item to searchable text and the default visual label. Defaults to `String()`.
276
+ * Use `renderItemLabel` when the visible label needs rich React content.
277
+ */
278
+ itemToStringLabel?: (item: V) => string;
279
+ /**
280
+ * Renders an item label with custom React content.
281
+ * `itemToStringLabel` is still used for search, accessibility, and fallback keys.
282
+ */
283
+ renderItemLabel?: (item: V) => React__default.ReactNode;
284
+ /**
285
+ * Returns a unique string key for a list item. Used as the React `key`.
286
+ * Falls back to the item's index when not provided.
287
+ */
288
+ itemToKey?: (item: V) => string;
289
+ /**
290
+ * Custom equality check for item values. Defaults to `Object.is`.
291
+ * Required when items are objects to ensure correct selection matching.
292
+ */
293
+ isItemEqual?: (a: V, b: V) => boolean;
294
+ /**
295
+ * Whether the dropdown allows searching/filtering.
296
+ * When true, renders a Combobox with a search input.
297
+ * When false (default), renders a Select dropdown.
298
+ */
299
+ isSearchable?: boolean;
300
+ /**
301
+ * Placeholder text shown when no value is selected.
302
+ */
303
+ placeholder?: string;
304
+ /**
305
+ * Whether multiple values can be selected
306
+ */
307
+ isMultiple?: Multiple;
308
+ /**
309
+ * Ref forwarded to the portal container element.
310
+ * Used to track portaled content for click-outside detection.
311
+ */
312
+ portalRef?: React__default.Ref<HTMLDivElement>;
313
+ /**
314
+ * Element that receives the dropdown portal. Use this when rendering inside
315
+ * modal dialogs so popups stay in the dialog's stacking and focus context
316
+ * instead of being appended directly to document.body.
317
+ */
318
+ portalContainer?: PortalContainer;
319
+ /**
320
+ * Controlled search input value. Must be provided together with `onQueryChange`.
321
+ */
322
+ query?: string;
323
+ /**
324
+ * Callback when the search input value changes.
325
+ * Can be used standalone as an event listener or together with `query`
326
+ * for fully controlled search state.
327
+ */
328
+ onQueryChange?: (query: string) => void;
329
+ /**
330
+ * When true, disables the combobox's built-in client-side filtering.
331
+ * Use when items are already filtered server-side (e.g. via `onQueryChange`).
332
+ *
333
+ * @default false
334
+ */
335
+ disableClientSideFiltering?: boolean;
336
+ /**
337
+ * Status message rendered below the search input and above the item list
338
+ * inside the popup. Use for loading/error/empty messages.
339
+ */
340
+ popupStatus?: React__default.ReactNode;
341
+ /**
342
+ * A React node to render after the item list.
343
+ * Use for infinite scroll sentinels, "load more" buttons, etc.
344
+ */
345
+ trailingItem?: React__default.ReactNode;
346
+ /**
347
+ * Whether the dropdown locks page scroll and renders a full-viewport
348
+ * dismiss layer when open. Set to `false` when the dropdown is not
349
+ * inside a `<label>` to allow normal page scrolling.
350
+ *
351
+ * @default true
352
+ */
353
+ modal?: boolean;
354
+ }
355
+ interface FilePickerProps extends BaseFormFieldProps<File | File[]> {
356
+ /**
357
+ * Whether multiple files can be selected
358
+ */
359
+ isMulti?: boolean;
360
+ /**
361
+ * Accepted file types (e.g., "image/*", ".pdf")
362
+ */
363
+ accept?: string | string[];
364
+ /**
365
+ * Maximum file size in bytes
366
+ */
367
+ maxSize?: number;
368
+ /**
369
+ * The text displayed when no file is selected.
370
+ *
371
+ * @default "No file chosen"
372
+ */
373
+ text?: string;
374
+ /**
375
+ * The text displayed on the browse button.
376
+ *
377
+ * @default "Browse"
378
+ */
379
+ buttonText?: string;
380
+ }
381
+ /**
382
+ * Text area field props
383
+ */
384
+ interface TextAreaFieldProps extends BaseFormFieldProps<string>, Pick<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "rows" | "wrap"
385
+ /**
386
+ * If provided, this will be added to the field validation
387
+ */
388
+ | "minLength"
389
+ /**
390
+ * If provided, this will be added to the field validation
391
+ */
392
+ | "maxLength"> {
393
+ placeholder?: string;
394
+ }
395
+ interface TextInputFieldProps extends BaseFormFieldProps<string>, Pick<React__default.InputHTMLAttributes<HTMLInputElement>,
396
+ /**
397
+ * If provided, this will be added to the field validation
398
+ */
399
+ "minLength"
400
+ /**
401
+ * If provided, this will be added to the field validation
402
+ */
403
+ | "maxLength"> {
404
+ placeholder?: string;
405
+ }
406
+ /**
407
+ * Number input field props
408
+ */
409
+ interface NumberInputFieldProps extends BaseFormFieldProps<number> {
410
+ /**
411
+ * Minimum allowed value.
412
+ */
413
+ min?: number;
414
+ /**
415
+ * Maximum allowed value.
416
+ */
417
+ max?: number;
418
+ /**
419
+ * Step increment for the input. Used by the stepper buttons and ArrowUp/ArrowDown keyboard stepping.
420
+ *
421
+ * @default 1
422
+ */
423
+ step?: number;
424
+ /**
425
+ * Placeholder text shown when the input is empty.
426
+ */
427
+ placeholder?: string;
428
+ }
429
+ /**
430
+ * Radio buttons field props
431
+ */
432
+ interface RadioButtonsFieldProps<V> extends BaseFormFieldProps<V> {
433
+ /**
434
+ * Available options for radio buttons.
435
+ *
436
+ * Values are compared by reference equality (`===`). When options contain
437
+ * non-primitive values, pass the same object references for `value` and
438
+ * the corresponding option entry.
439
+ */
440
+ options: Option<V>[];
441
+ /**
442
+ * Controls the layout direction of the radio buttons.
443
+ *
444
+ * - `"vertical"` (default): options are stacked in a column
445
+ * - `"horizontal"`: options are laid out in a row, wrapping when needed
446
+ */
447
+ orientation?: "horizontal" | "vertical";
448
+ }
449
+ /**
450
+ * Switch field props for boolean values.
451
+ */
452
+ type SwitchFieldProps = BaseFormFieldProps<boolean>;
453
+ /**
454
+ * Option interface for radio button options
455
+ */
456
+ interface Option<V> {
457
+ label: string;
458
+ value: V;
459
+ }
460
+ /**
461
+ * Object set field displays the summary of the count of the given object set
462
+ */
463
+ interface ObjectSetFieldProps<T extends ObjectTypeDefinition> extends Pick<BaseFormFieldProps<ObjectSet<T>>, "id" | "value" | "disabled"> {
464
+ /**
465
+ * Message displayed when no object set is provided.
466
+ *
467
+ * @default "Object set is not defined"
468
+ */
469
+ emptyMessage?: string;
470
+ }
471
+ type ObjectSelectDataSource<Q extends ObjectTypeDefinition> = {
472
+ /**
473
+ * The object type definition to search across.
474
+ */
475
+ objectType: Q;
476
+ objectSet?: never;
477
+ } | {
478
+ /**
479
+ * A pre-scoped object set to search within.
480
+ *
481
+ * Use this when selectable options should be limited to a subset of
482
+ * objects. User-entered search text is applied within this set.
483
+ */
484
+ objectSet: ObjectSet<Q>;
485
+ objectType?: never;
486
+ };
487
+ /**
488
+ * Object select field props for selecting object instances from the ontology.
489
+ * Used for action parameters that accept a single object or multiple objects.
490
+ *
491
+ * Extends DropdownFieldProps with props that ObjectSelectField
492
+ * manages internally (items, search, filtering) omitted from the public surface.
493
+ */
494
+ type ObjectSelectFieldProps<Q extends ObjectTypeDefinition = ObjectTypeDefinition> = Omit<DropdownFieldProps<Osdk.Instance<Q>>, "items" | "itemToStringLabel" | "itemToKey" | "isItemEqual" | "isSearchable" | "query" | "onQueryChange" | "disableClientSideFiltering" | "renderItemList"> & ObjectSelectDataSource<Q>;
495
+ /**
496
+ * Custom field props for user-defined renderers
497
+ */
498
+ interface CustomFieldProps<V> extends BaseFormFieldProps<V> {
499
+ /**
500
+ * Custom renderer function
501
+ */
502
+ customRenderer: (props: BaseFormFieldProps<V>) => React__default.ReactNode;
503
+ }
504
+ interface UnsupportedFieldProps extends Pick<BaseFormFieldProps<string>, "id" | "error"> {
505
+ }
506
+ interface BaseFormFieldProps<V> {
507
+ /**
508
+ * The HTML `id` attribute for the field input element.
509
+ * Used for `<label htmlFor>` association.
510
+ */
511
+ id?: string;
512
+ /**
513
+ * The validation error message for this field, if any.
514
+ * When set, the field should display a visual error state.
515
+ */
516
+ error?: string;
517
+ /**
518
+ * The value of the form field
519
+ */
520
+ value: V | null;
521
+ /**
522
+ * The default value of the form field.
523
+ */
524
+ defaultValue?: V;
525
+ /**
526
+ * Whether the field is disabled.
527
+ *
528
+ * Disabled fields keep their current value in form state and submit payloads,
529
+ * but built-in renderers block user edits and remove disabled controls from
530
+ * keyboard navigation.
531
+ */
532
+ disabled?: boolean;
533
+ /**
534
+ * Called when the field value changes.
535
+ *
536
+ * ActionForm internally wraps this to pass the key to `onFieldValueChange`:
537
+ * ```
538
+ * <DropdownField
539
+ * {...fieldDef}
540
+ * onChange={(value) => onFieldValueChange(fieldDef.key, value)}
541
+ * />
542
+ * ```
543
+ *
544
+ * @param value The new value of the form field
545
+ */
546
+ onChange?: (value: V | null) => void;
547
+ }
548
+ type FieldKey<Q extends ActionDefinition<unknown>> = keyof ActionParameters<Q>;
549
+ /**
550
+ * Extracts parameters from an ActionDefinition
551
+ */
552
+ type ActionParameters<Q extends ActionDefinition<unknown>> = CompileTimeMetadata<Q>["parameters"];
553
+ /**
554
+ * Extracts the value type for a specific parameter
555
+ */
556
+ type FieldValueType<Q extends ActionDefinition<unknown>, K extends keyof ActionParameters<Q> = keyof ActionParameters<Q>> = ActionParameters<Q>[K]["type"] extends ActionMetadata.DataType.Object<infer T> ? ActionParam.ObjectType<T> : ActionParameters<Q>[K]["type"] extends ActionMetadata.DataType.ObjectSet<infer T> ? ActionParam.ObjectSetType<T> : ActionParameters<Q>[K]["type"] extends ActionMetadata.DataType.Interface<infer T> ? ActionParam.InterfaceType<T> : ActionParameters<Q>[K]["type"] extends ActionMetadata.DataType.Struct<infer T> ? ActionParam.StructType<T> : ActionParameters<Q>[K]["type"] extends keyof DataValueClientToWire ? DataValueClientToWire[ActionParameters<Q>[K]["type"]] : never;
557
+ /**
558
+ * Extracts the parameter type descriptor for a specific action parameter.
559
+ */
560
+ type FieldDescriptorType<Q extends ActionDefinition<unknown> = ActionDefinition<unknown>, K extends keyof ActionParameters<Q> = keyof ActionParameters<Q>> = ActionParameters<Q>[K]["type"];
561
+ /**
562
+ * Available form field component types
563
+ */
564
+ type FieldComponent = "DATE_RANGE_INPUT" | "DATETIME_PICKER" | "DROPDOWN" | "FILE_PICKER" | "NUMBER_INPUT" | "OBJECT_SELECT" | "OBJECT_SET" | "RADIO_BUTTONS" | "SWITCH" | "TEXT_AREA" | "TEXT_INPUT" | "CUSTOM" | "UNSUPPORTED";
565
+ /**
566
+ * Describes the data type of a form field, independent of OSDK.
567
+ * Mirrors ActionMetadata.DataType to keep the rendering layer OSDK-agnostic.
568
+ */
569
+ type FieldType = "boolean" | "string" | "integer" | "long" | "double" | "datetime" | "timestamp" | "attachment" | "marking" | "mediaReference" | "objectType" | "geoshape" | "geohash" | "scenarioReference" | {
570
+ type: "object";
571
+ object: string;
572
+ } | {
573
+ type: "objectSet";
574
+ objectSet: string;
575
+ } | {
576
+ type: "interface";
577
+ interface: string;
578
+ } | {
579
+ type: "struct";
580
+ struct: Record<string, string>;
581
+ };
582
+ /**
583
+ * Props managed by form state infrastructure (FieldBridge / RHF).
584
+ * Fields with onChange participate in form state → value and onChange are managed
585
+ * externally. Read-only fields (no onChange, e.g. ObjectSetField) keep value in
586
+ * fieldComponentProps so it bypasses form state cloning.
587
+ */
588
+ type FormManagedProps<K extends FieldComponent> = "onChange" extends keyof FormFieldPropsByType[K] ? "value" | "onChange" | "disabled" : "onChange" | "disabled";
589
+ type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, Extract<keyof T, K>> : never;
590
+ /**
591
+ * An OSDK-agnostic field definition used by BaseForm and FormFieldRenderer.
592
+ * Contains only the information needed to render a single field — no generics,
593
+ * no compile-time parameter constraints.
594
+ *
595
+ * Implemented as a distributed mapped type: switching on `fieldComponent`
596
+ * narrows `fieldComponentProps` to the correct props type automatically.
597
+ */
598
+ type RendererFieldDefinition = {
599
+ [K in FieldComponent]: {
600
+ fieldKey: string;
601
+ fieldComponent: K;
602
+ fieldType?: FieldType;
603
+ label: string;
604
+ isRequired?: boolean;
605
+ placeholder?: string;
606
+ helperText?: React__default.ReactNode;
607
+ helperTextPlacement?: "bottom" | "tooltip";
608
+ disabled?: boolean;
609
+ validate?: (value: unknown) => Promise<string | undefined>;
610
+ onValidationError?: (error: ValidationError) => string | undefined;
611
+ fieldComponentProps: DistributiveOmit<FormFieldPropsByType[K], FormManagedProps<K>>;
612
+ };
613
+ }[FieldComponent];
614
+ /**
615
+ * Gets valid form field types for a given property type
616
+ */
617
+ type ValidFormFieldForPropertyType<P extends FieldDescriptorType> = "CUSTOM" | (P extends {
618
+ type: "objectSet";
619
+ } ? "OBJECT_SET" : P extends {
620
+ type: "object";
621
+ } ? "OBJECT_SELECT" : P extends {
622
+ type: "interface";
623
+ } ? "UNSUPPORTED" : P extends {
624
+ type: "struct";
625
+ } ? "UNSUPPORTED" : P extends "mediaReference" | "attachment" ? "FILE_PICKER" : P extends "boolean" ? "RADIO_BUTTONS" | "DROPDOWN" | "SWITCH" : P extends "string" ? "TEXT_INPUT" | "TEXT_AREA" : P extends "datetime" | "timestamp" ? "DATETIME_PICKER" : P extends "marking" | "geohash" | "geoshape" | "objectType" ? "UNSUPPORTED" : P extends "double" | "integer" | "long" | "float" | "short" | "byte" | "decimal" ? "NUMBER_INPUT" : never);
626
+
627
+ /**
628
+ * Props for the ActionForm component.
629
+ *
630
+ * A discriminated union ensures that controlled mode (formState provided)
631
+ * always requires onFormStateChange, and uncontrolled mode makes `onFormStateChange` optional
632
+ */
633
+ type ActionFormProps<Q extends ActionDefinition<unknown>> = (ActionFormConfigProps<Q> & {
634
+ /**
635
+ * The current form values.
636
+ * If provided, the form state is controlled.
637
+ */
638
+ formState: FormState<Q>;
639
+ /**
640
+ * Called when a field value changes, with a state updater.
641
+ * Required when the form state is controlled; also fires in
642
+ * uncontrolled mode so callers can observe changes.
643
+ */
644
+ onFormStateChange: (updater: (prevState: FormState<Q>) => FormState<Q>) => void;
645
+ }) | (ActionFormConfigProps<Q> & {
646
+ formState?: undefined;
647
+ onFormStateChange?: (updater: (prevState: FormState<Q>) => FormState<Q>) => void;
648
+ });
649
+ interface ActionFormConfigProps<Q extends ActionDefinition<unknown>> extends Pick<BaseFormProps, "formTitle" | "isSubmitDisabled"> {
650
+ /**
651
+ * The OSDK action definition. Its parameters drive the rendered fields
652
+ * and the submission.
653
+ */
654
+ actionDefinition: Q;
655
+ /**
656
+ * Whether to show the form title.
657
+ *
658
+ * @default false
659
+ */
660
+ showFormTitle?: boolean;
661
+ /**
662
+ * If not supplied, field definitions are constructed from action metadata.
663
+ */
664
+ formFieldDefinitions?: ReadonlyArray<FormFieldDefinition<Q>>;
665
+ /**
666
+ * If supplied, this will override the default submit action.
667
+ * By default, the action's applyAction will be called.
668
+ *
669
+ * @param formState all field values when onSubmit is called
670
+ * @param applyAction the function to execute the action
671
+ * @returns a promise of the submission response
672
+ */
673
+ onSubmit?: (formState: FormState<Q>, applyAction: (formState: FormState<Q>) => Promise<ActionEditResponse | undefined>) => Promise<unknown> | void;
674
+ /**
675
+ * Called when the validation response is returned from a validateOnly submission
676
+ *
677
+ * @param results the validation response
678
+ */
679
+ onValidationResponse?: (results: ActionValidationResponse) => void;
680
+ /**
681
+ * Called when the action is successfully executed from a non-validateOnly submission
682
+ *
683
+ * @param results the submission response
684
+ */
685
+ onSuccess?: (results: ActionEditResponse | undefined) => void;
686
+ /**
687
+ * Called when action metadata fails to load or form submission fails.
688
+ *
689
+ * @param error the error that occurred
690
+ */
691
+ onError?: (error: FormError) => void;
692
+ }
693
+ /**
694
+ * Form values mapping parameter names to their values
695
+ */
696
+ type FormState<Q extends ActionDefinition<unknown>> = {
697
+ [K in FieldKey<Q>]?: FieldValueType<Q, K>;
698
+ };
699
+ /**
700
+ * Form error discriminated union
701
+ */
702
+ type FormError = {
703
+ type: "submission";
704
+ error: unknown;
705
+ } | {
706
+ type: "unknown";
707
+ error: unknown;
708
+ };
709
+ /**
710
+ * A single item in the form content array — either a standalone field
711
+ * or a section that groups multiple fields.
712
+ */
713
+ type FormContentItem = {
714
+ type: "field";
715
+ definition: RendererFieldDefinition;
716
+ } | {
717
+ type: "section";
718
+ key: string;
719
+ definition: FormSectionDefinition;
720
+ };
721
+ /**
722
+ * Configuration for a form section — a visual group of fields with
723
+ * optional title bar, collapse behavior, and multi-column layout.
724
+ */
725
+ interface FormSectionDefinition {
726
+ title: string;
727
+ description?: string;
728
+ fields: ReadonlyArray<RendererFieldDefinition>;
729
+ /** Whether the section starts collapsed. Default `false`. */
730
+ collapsedByDefault?: boolean;
731
+ /** Whether to show the title bar. Default `true`. */
732
+ showTitleBar?: boolean;
733
+ /** Number of columns for fields. Default `1`. */
734
+ columnCount?: 1 | 2;
735
+ /** Visual style. `"box"` = bordered card, `"minimal"` = heading only. Default `"box"`. */
736
+ style?: "box" | "minimal";
737
+ }
738
+ /**
739
+ * Props for the `BaseForm` component, which renders a form without
740
+ * OSDK data fetching.
741
+ *
742
+ * Uses a discriminated union so that controlled mode (`formState` provided)
743
+ * always requires `onFieldValueChange`; uncontrolled mode omits `formState`
744
+ * (`onFieldValueChange` stays optional).
745
+ * `onSubmit` receives the current form state so callers can access values
746
+ * even in uncontrolled mode.
747
+ */
748
+ type BaseFormProps = BaseFormCommonProps & ({
749
+ /**
750
+ * The current field values keyed by field key.
751
+ * If provided, the form state is controlled.
752
+ */
753
+ formState: Record<string, unknown>;
754
+ /**
755
+ * Called when a field value changes.
756
+ * Required when the form state is controlled; also fires in
757
+ * uncontrolled mode so callers can observe changes.
758
+ */
759
+ onFieldValueChange: (fieldKey: string, value: unknown) => void;
760
+ } | {
761
+ formState?: undefined;
762
+ onFieldValueChange?: (fieldKey: string, value: unknown) => void;
763
+ });
764
+ interface BaseFormCommonProps {
765
+ /** Title shown in the form header. Omit to hide the header. */
766
+ formTitle?: string;
767
+ /** The fields and sections to render, in order. */
768
+ formContent: ReadonlyArray<FormContentItem>;
769
+ /** Called when the form is submitted with valid values. Receives the current form state. */
770
+ onSubmit: (formState: Record<string, unknown>) => Promise<void> | void;
771
+ /** Whether the submit button is disabled. Default `false`. */
772
+ isSubmitDisabled?: boolean;
773
+ /** Whether a submission is in progress. Shows the submit button in a pending state. Default `false`. */
774
+ isPending?: boolean;
775
+ /** Whether the form is loading its fields. Shows a skeleton placeholder. Default `false`. */
776
+ isLoading?: boolean;
777
+ /** Additional CSS class name for the root element. */
778
+ className?: string;
779
+ /** Label for the submit button. Default `"Submit"`. */
780
+ submitButtonText?: string;
781
+ /** Visual variant of the submit button. Default `"primary"`. */
782
+ submitButtonVariant?: "primary" | "secondary";
783
+ }
784
+
785
+ declare const ActionForm$1: <Q extends ActionDefinition<unknown>>(props: ActionFormProps<Q>) => React__default.ReactElement;
786
+
787
+ declare const BaseForm: React__default.FC<BaseFormProps>;
788
+
789
+ declare const ActionForm: typeof ActionForm$1;
790
+
791
+ export { ActionForm as A, BaseForm as B, type CustomFieldProps as C, type DropdownFieldProps as D, type FieldComponent as F, type NumberInputFieldProps as N, type ObjectSelectFieldProps as O, type PortalContainer as P, type RadioButtonsFieldProps as R, type TextAreaFieldProps as T, type UnsupportedFieldProps as U, type ValidationError as V, type ActionFormProps as a, type ActionParameters as b, type BaseFormFieldProps as c, type BaseFormProps as d, type FieldValueType as e, type FilePickerProps as f, type FormContentItem as g, type FormError as h, type FieldKey as i, type FormFieldDefinition as j, type FormFieldPropsByType as k, type FormSectionDefinition as l, type FormState as m, type ObjectSetFieldProps as n, type Option as o, type RendererFieldDefinition as p, type TextInputFieldProps as q };