@osdk/react-components 0.12.0 → 0.13.0

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 (328) hide show
  1. package/AGENTS.md +4 -0
  2. package/CHANGELOG.md +11 -0
  3. package/build/browser/action-form/ActionForm.js +19 -11
  4. package/build/browser/action-form/ActionForm.js.map +1 -1
  5. package/build/browser/action-form/ActionFormApi.js.map +1 -1
  6. package/build/browser/action-form/BaseForm.js +19 -13
  7. package/build/browser/action-form/BaseForm.js.map +1 -1
  8. package/build/browser/action-form/BaseForm.module.css +7 -7
  9. package/build/browser/action-form/FormField.js +5 -2
  10. package/build/browser/action-form/FormField.js.map +1 -1
  11. package/build/browser/action-form/FormField.module.css +6 -1
  12. package/build/browser/action-form/FormField.module.css.js +1 -0
  13. package/build/browser/action-form/FormFieldApi.js +7 -1
  14. package/build/browser/action-form/FormFieldApi.js.map +1 -1
  15. package/build/browser/action-form/FormHeader.module.css +2 -2
  16. package/build/browser/action-form/fields/DateCalendar.js +41 -3
  17. package/build/browser/action-form/fields/DateCalendar.js.map +1 -1
  18. package/build/browser/action-form/fields/DateCalendar.module.css +59 -10
  19. package/build/browser/action-form/fields/DateCalendar.module.css.js +5 -1
  20. package/build/browser/action-form/fields/DateRangeCalendar.js +8 -5
  21. package/build/browser/action-form/fields/DateRangeCalendar.js.map +1 -1
  22. package/build/browser/action-form/fields/DateRangeInputField.js +76 -61
  23. package/build/browser/action-form/fields/DateRangeInputField.js.map +1 -1
  24. package/build/browser/action-form/fields/DateRangeInputField.module.css +0 -15
  25. package/build/browser/action-form/fields/DateRangeInputField.module.css.js +1 -2
  26. package/build/browser/action-form/fields/DatetimePickerField.js +74 -40
  27. package/build/browser/action-form/fields/DatetimePickerField.js.map +1 -1
  28. package/build/browser/action-form/fields/DatetimePickerField.module.css +2 -9
  29. package/build/browser/action-form/fields/FieldBridge.js +1 -1
  30. package/build/browser/action-form/fields/FieldBridge.js.map +1 -1
  31. package/build/browser/action-form/fields/FilePickerField.js +47 -39
  32. package/build/browser/action-form/fields/FilePickerField.js.map +1 -1
  33. package/build/browser/action-form/fields/FilePickerField.module.css +43 -31
  34. package/build/browser/action-form/fields/FilePickerField.module.css.js +2 -2
  35. package/build/browser/action-form/fields/FormFieldRenderer.js +9 -0
  36. package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -1
  37. package/build/browser/action-form/fields/RadioButtonsField.module.css +3 -3
  38. package/build/browser/action-form/fields/SwitchField.js +34 -0
  39. package/build/browser/action-form/fields/SwitchField.js.map +1 -0
  40. package/build/browser/action-form/fields/TimePicker.js +165 -26
  41. package/build/browser/action-form/fields/TimePicker.js.map +1 -1
  42. package/build/browser/action-form/fields/TimePicker.module.css +27 -2
  43. package/build/browser/action-form/fields/TimePicker.module.css.js +3 -1
  44. package/build/browser/action-form/fields/calendarShared.js +5 -0
  45. package/build/browser/action-form/fields/calendarShared.js.map +1 -1
  46. package/build/browser/action-form/fields/useDateEditState.js +3 -4
  47. package/build/browser/action-form/fields/useDateEditState.js.map +1 -1
  48. package/build/browser/base-components/action-button/ActionButton.js +2 -1
  49. package/build/browser/base-components/action-button/ActionButton.js.map +1 -1
  50. package/build/browser/base-components/action-button/ActionButton.module.css +19 -0
  51. package/build/browser/base-components/action-button/ActionButton.module.css.js +2 -1
  52. package/build/browser/base-components/combobox/Combobox.module.css +31 -3
  53. package/build/browser/base-components/select/Select.module.css +18 -0
  54. package/build/browser/base-components/switch/Switch.module.css +18 -6
  55. package/build/browser/filter-list/base/inputs/ListogramInput.js +34 -6
  56. package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
  57. package/build/browser/filter-list/base/inputs/ListogramInput.module.css +11 -5
  58. package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +1 -1
  59. package/build/browser/filter-list/base/inputs/MultiSelectInput.js +20 -12
  60. package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
  61. package/build/browser/filter-list/base/inputs/NoValueLabel.js +36 -0
  62. package/build/browser/filter-list/base/inputs/NoValueLabel.js.map +1 -0
  63. package/build/browser/filter-list/base/inputs/NoValueLabel.module.css +20 -0
  64. package/build/browser/filter-list/base/inputs/NoValueLabel.module.css.js +6 -0
  65. package/build/browser/filter-list/base/inputs/NullValueWrapper.js +4 -3
  66. package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
  67. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
  68. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +1 -1
  69. package/build/browser/filter-list/base/inputs/SingleSelectInput.js +13 -8
  70. package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
  71. package/build/browser/filter-list/base/inputs/TextTagsInput.js +6 -2
  72. package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -1
  73. package/build/browser/filter-list/hooks/useFilterListState.js +7 -6
  74. package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
  75. package/build/browser/filter-list/hooks/useStableMapEntries.js +35 -0
  76. package/build/browser/filter-list/hooks/useStableMapEntries.js.map +1 -0
  77. package/build/browser/filter-list/utils/filterValues.js +13 -0
  78. package/build/browser/filter-list/utils/filterValues.js.map +1 -1
  79. package/build/browser/object-table/DefaultCellRenderer.js +12 -2
  80. package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
  81. package/build/browser/object-table/EditableCell.js +14 -4
  82. package/build/browser/object-table/EditableCell.js.map +1 -1
  83. package/build/browser/object-table/EditableCell.module.css +4 -0
  84. package/build/browser/object-table/EditableCell.module.css.js +1 -0
  85. package/build/browser/object-table/ObjectTable.js +3 -1
  86. package/build/browser/object-table/ObjectTable.js.map +1 -1
  87. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  88. package/build/browser/object-table/Table.js +8 -4
  89. package/build/browser/object-table/Table.js.map +1 -1
  90. package/build/browser/object-table/TableBody.js +4 -2
  91. package/build/browser/object-table/TableBody.js.map +1 -1
  92. package/build/browser/object-table/TableRow.js +12 -4
  93. package/build/browser/object-table/TableRow.js.map +1 -1
  94. package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
  95. package/build/browser/object-table/utils/editableUtils.js +39 -0
  96. package/build/browser/object-table/utils/editableUtils.js.map +1 -0
  97. package/build/browser/object-table/utils/shouldShowEditableCell.js +1 -1
  98. package/build/browser/object-table/utils/shouldShowEditableCell.js.map +1 -1
  99. package/build/browser/object-table/utils/types.js.map +1 -1
  100. package/build/browser/styles.css +331 -130
  101. package/build/browser/tokens/component-tokens/button.css +15 -0
  102. package/build/browser/tokens/component-tokens/combobox.css +9 -0
  103. package/build/browser/tokens/component-tokens/datetime-picker.css +2 -2
  104. package/build/browser/tokens/component-tokens/file-picker.css +0 -10
  105. package/build/browser/tokens/component-tokens/filter-list.css +9 -6
  106. package/build/browser/tokens/component-tokens/form-section.css +1 -1
  107. package/build/browser/tokens/component-tokens/form.css +9 -5
  108. package/build/browser/tokens/component-tokens/table.css +3 -5
  109. package/build/browser/tokens.css +1 -0
  110. package/build/browser/util/UserAgent.js +1 -1
  111. package/build/cjs/{DateCalendar-2W4QHEEI.css → DateCalendar-G7RC2FCG.css} +105 -8
  112. package/build/cjs/DateCalendar-G7RC2FCG.css.map +1 -0
  113. package/build/cjs/DateCalendar-RX7HP2XP.cjs +26 -0
  114. package/build/cjs/{DateCalendar-QGSYBWJB.cjs.map → DateCalendar-RX7HP2XP.cjs.map} +1 -1
  115. package/build/cjs/{DateRangeCalendar-M63S2LLG.css → DateRangeCalendar-JBVYJDBJ.css} +105 -8
  116. package/build/cjs/DateRangeCalendar-JBVYJDBJ.css.map +1 -0
  117. package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs +54 -0
  118. package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs.map +1 -0
  119. package/build/cjs/{chunk-T7I6O43T.cjs → chunk-6SPXSFPI.cjs} +237 -85
  120. package/build/cjs/chunk-6SPXSFPI.cjs.map +1 -0
  121. package/build/cjs/{chunk-SZXVBDSA.cjs → chunk-6UDBHYSO.cjs} +3 -3
  122. package/build/cjs/{chunk-SZXVBDSA.cjs.map → chunk-6UDBHYSO.cjs.map} +1 -1
  123. package/build/cjs/{chunk-YBDS5WQP.cjs → chunk-7H6WXQ35.cjs} +4 -4
  124. package/build/cjs/{chunk-YBDS5WQP.cjs.map → chunk-7H6WXQ35.cjs.map} +1 -1
  125. package/build/cjs/{chunk-VVJFMOZI.cjs → chunk-I3OSD6CF.cjs} +19 -45
  126. package/build/cjs/chunk-I3OSD6CF.cjs.map +1 -0
  127. package/build/cjs/chunk-MD4KDE44.cjs +41 -0
  128. package/build/cjs/chunk-MD4KDE44.cjs.map +1 -0
  129. package/build/cjs/{chunk-YPXTSEE7.cjs → chunk-MLFMSZJQ.cjs} +85 -38
  130. package/build/cjs/chunk-MLFMSZJQ.cjs.map +1 -0
  131. package/build/cjs/chunk-MQYOHGPY.cjs +52 -0
  132. package/build/cjs/chunk-MQYOHGPY.cjs.map +1 -0
  133. package/build/cjs/{chunk-BJDCC446.cjs → chunk-PTTCWNZZ.cjs} +417 -364
  134. package/build/cjs/chunk-PTTCWNZZ.cjs.map +1 -0
  135. package/build/cjs/{chunk-B2GRQRWU.cjs → chunk-TOJSJN3L.cjs} +44 -8
  136. package/build/cjs/chunk-TOJSJN3L.cjs.map +1 -0
  137. package/build/cjs/{chunk-JLESWL47.cjs → chunk-V7XWTJV7.cjs} +4 -2
  138. package/build/cjs/chunk-V7XWTJV7.cjs.map +1 -0
  139. package/build/cjs/{chunk-L5LPFCXT.cjs → chunk-W2IASYE4.cjs} +163 -125
  140. package/build/cjs/chunk-W2IASYE4.cjs.map +1 -0
  141. package/build/cjs/chunk-X337DNCW.cjs +45 -0
  142. package/build/cjs/chunk-X337DNCW.cjs.map +1 -0
  143. package/build/cjs/{chunk-SB2VTP67.cjs → chunk-Z7VHLTKD.cjs} +2 -64
  144. package/build/cjs/chunk-Z7VHLTKD.cjs.map +1 -0
  145. package/build/cjs/public/experimental/action-form.cjs +11 -9
  146. package/build/cjs/public/experimental/action-form.css +223 -68
  147. package/build/cjs/public/experimental/action-form.css.map +1 -1
  148. package/build/cjs/public/experimental/action-form.d.cts +83 -74
  149. package/build/cjs/public/experimental/filter-list.cjs +9 -8
  150. package/build/cjs/public/experimental/filter-list.css +38 -19
  151. package/build/cjs/public/experimental/filter-list.css.map +1 -1
  152. package/build/cjs/public/experimental/object-table.cjs +14 -12
  153. package/build/cjs/public/experimental/object-table.css +152 -59
  154. package/build/cjs/public/experimental/object-table.css.map +1 -1
  155. package/build/cjs/public/experimental/object-table.d.cts +39 -20
  156. package/build/cjs/public/experimental/pdf-viewer.cjs +24 -24
  157. package/build/cjs/public/experimental.cjs +46 -44
  158. package/build/cjs/public/experimental.css +242 -139
  159. package/build/cjs/public/experimental.css.map +1 -1
  160. package/build/cjs/public/primitives.cjs +8 -7
  161. package/build/cjs/public/primitives.css +15 -0
  162. package/build/cjs/public/primitives.css.map +1 -1
  163. package/build/cjs/public/primitives.d.cts +1 -0
  164. package/build/esm/action-form/ActionForm.js +19 -11
  165. package/build/esm/action-form/ActionForm.js.map +1 -1
  166. package/build/esm/action-form/ActionFormApi.js.map +1 -1
  167. package/build/esm/action-form/BaseForm.js +19 -13
  168. package/build/esm/action-form/BaseForm.js.map +1 -1
  169. package/build/esm/action-form/BaseForm.module.css +7 -7
  170. package/build/esm/action-form/FormField.js +5 -2
  171. package/build/esm/action-form/FormField.js.map +1 -1
  172. package/build/esm/action-form/FormField.module.css +6 -1
  173. package/build/esm/action-form/FormFieldApi.js +7 -1
  174. package/build/esm/action-form/FormFieldApi.js.map +1 -1
  175. package/build/esm/action-form/FormHeader.module.css +2 -2
  176. package/build/esm/action-form/fields/DateCalendar.js +41 -3
  177. package/build/esm/action-form/fields/DateCalendar.js.map +1 -1
  178. package/build/esm/action-form/fields/DateCalendar.module.css +59 -10
  179. package/build/esm/action-form/fields/DateRangeCalendar.js +8 -5
  180. package/build/esm/action-form/fields/DateRangeCalendar.js.map +1 -1
  181. package/build/esm/action-form/fields/DateRangeInputField.js +76 -61
  182. package/build/esm/action-form/fields/DateRangeInputField.js.map +1 -1
  183. package/build/esm/action-form/fields/DateRangeInputField.module.css +0 -15
  184. package/build/esm/action-form/fields/DatetimePickerField.js +74 -40
  185. package/build/esm/action-form/fields/DatetimePickerField.js.map +1 -1
  186. package/build/esm/action-form/fields/DatetimePickerField.module.css +2 -9
  187. package/build/esm/action-form/fields/FieldBridge.js +1 -1
  188. package/build/esm/action-form/fields/FieldBridge.js.map +1 -1
  189. package/build/esm/action-form/fields/FilePickerField.js +47 -39
  190. package/build/esm/action-form/fields/FilePickerField.js.map +1 -1
  191. package/build/esm/action-form/fields/FilePickerField.module.css +43 -31
  192. package/build/esm/action-form/fields/FormFieldRenderer.js +9 -0
  193. package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -1
  194. package/build/esm/action-form/fields/RadioButtonsField.module.css +3 -3
  195. package/build/esm/action-form/fields/SwitchField.js +34 -0
  196. package/build/esm/action-form/fields/SwitchField.js.map +1 -0
  197. package/build/esm/action-form/fields/TimePicker.js +165 -26
  198. package/build/esm/action-form/fields/TimePicker.js.map +1 -1
  199. package/build/esm/action-form/fields/TimePicker.module.css +27 -2
  200. package/build/esm/action-form/fields/calendarShared.js +5 -0
  201. package/build/esm/action-form/fields/calendarShared.js.map +1 -1
  202. package/build/esm/action-form/fields/useDateEditState.js +3 -4
  203. package/build/esm/action-form/fields/useDateEditState.js.map +1 -1
  204. package/build/esm/base-components/action-button/ActionButton.js +2 -1
  205. package/build/esm/base-components/action-button/ActionButton.js.map +1 -1
  206. package/build/esm/base-components/action-button/ActionButton.module.css +19 -0
  207. package/build/esm/base-components/combobox/Combobox.module.css +31 -3
  208. package/build/esm/base-components/select/Select.module.css +18 -0
  209. package/build/esm/base-components/switch/Switch.module.css +18 -6
  210. package/build/esm/filter-list/base/inputs/ListogramInput.js +34 -6
  211. package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
  212. package/build/esm/filter-list/base/inputs/ListogramInput.module.css +11 -5
  213. package/build/esm/filter-list/base/inputs/MultiSelectInput.js +20 -12
  214. package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
  215. package/build/esm/filter-list/base/inputs/NoValueLabel.js +36 -0
  216. package/build/esm/filter-list/base/inputs/NoValueLabel.js.map +1 -0
  217. package/build/esm/filter-list/base/inputs/NoValueLabel.module.css +20 -0
  218. package/build/esm/filter-list/base/inputs/NullValueWrapper.js +4 -3
  219. package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
  220. package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
  221. package/build/esm/filter-list/base/inputs/SingleSelectInput.js +13 -8
  222. package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
  223. package/build/esm/filter-list/base/inputs/TextTagsInput.js +6 -2
  224. package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -1
  225. package/build/esm/filter-list/hooks/useFilterListState.js +7 -6
  226. package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
  227. package/build/esm/filter-list/hooks/useStableMapEntries.js +35 -0
  228. package/build/esm/filter-list/hooks/useStableMapEntries.js.map +1 -0
  229. package/build/esm/filter-list/utils/filterValues.js +13 -0
  230. package/build/esm/filter-list/utils/filterValues.js.map +1 -1
  231. package/build/esm/object-table/DefaultCellRenderer.js +12 -2
  232. package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
  233. package/build/esm/object-table/EditableCell.js +14 -4
  234. package/build/esm/object-table/EditableCell.js.map +1 -1
  235. package/build/esm/object-table/EditableCell.module.css +4 -0
  236. package/build/esm/object-table/ObjectTable.js +3 -1
  237. package/build/esm/object-table/ObjectTable.js.map +1 -1
  238. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  239. package/build/esm/object-table/Table.js +8 -4
  240. package/build/esm/object-table/Table.js.map +1 -1
  241. package/build/esm/object-table/TableBody.js +4 -2
  242. package/build/esm/object-table/TableBody.js.map +1 -1
  243. package/build/esm/object-table/TableRow.js +12 -4
  244. package/build/esm/object-table/TableRow.js.map +1 -1
  245. package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
  246. package/build/esm/object-table/utils/editableUtils.js +39 -0
  247. package/build/esm/object-table/utils/editableUtils.js.map +1 -0
  248. package/build/esm/object-table/utils/shouldShowEditableCell.js +1 -1
  249. package/build/esm/object-table/utils/shouldShowEditableCell.js.map +1 -1
  250. package/build/esm/object-table/utils/types.js.map +1 -1
  251. package/build/esm/tokens/component-tokens/button.css +15 -0
  252. package/build/esm/tokens/component-tokens/combobox.css +9 -0
  253. package/build/esm/tokens/component-tokens/datetime-picker.css +2 -2
  254. package/build/esm/tokens/component-tokens/file-picker.css +0 -10
  255. package/build/esm/tokens/component-tokens/filter-list.css +9 -6
  256. package/build/esm/tokens/component-tokens/form-section.css +1 -1
  257. package/build/esm/tokens/component-tokens/form.css +9 -5
  258. package/build/esm/tokens/component-tokens/table.css +3 -5
  259. package/build/esm/tokens.css +1 -0
  260. package/build/esm/util/UserAgent.js +1 -1
  261. package/build/types/action-form/ActionFormApi.d.ts +8 -8
  262. package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
  263. package/build/types/action-form/BaseForm.d.ts.map +1 -1
  264. package/build/types/action-form/FormFieldApi.d.ts +29 -22
  265. package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
  266. package/build/types/action-form/fields/DateCalendar.d.ts +6 -1
  267. package/build/types/action-form/fields/DateCalendar.d.ts.map +1 -1
  268. package/build/types/action-form/fields/DateRangeCalendar.d.ts.map +1 -1
  269. package/build/types/action-form/fields/DateRangeInputField.d.ts.map +1 -1
  270. package/build/types/action-form/fields/DatetimePickerField.d.ts.map +1 -1
  271. package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -1
  272. package/build/types/action-form/fields/FilePickerField.d.ts.map +1 -1
  273. package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -1
  274. package/build/types/action-form/fields/SwitchField.d.ts +7 -0
  275. package/build/types/action-form/fields/SwitchField.d.ts.map +1 -0
  276. package/build/types/action-form/fields/TimePicker.d.ts +4 -5
  277. package/build/types/action-form/fields/TimePicker.d.ts.map +1 -1
  278. package/build/types/action-form/fields/useDateEditState.d.ts +2 -2
  279. package/build/types/base-components/action-button/ActionButton.d.ts +1 -0
  280. package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -1
  281. package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
  282. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -1
  283. package/build/types/filter-list/base/inputs/NoValueLabel.d.ts +15 -0
  284. package/build/types/filter-list/base/inputs/NoValueLabel.d.ts.map +1 -0
  285. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -1
  286. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -1
  287. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -1
  288. package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
  289. package/build/types/filter-list/hooks/useStableMapEntries.d.ts +9 -0
  290. package/build/types/filter-list/hooks/useStableMapEntries.d.ts.map +1 -0
  291. package/build/types/filter-list/utils/filterValues.d.ts +7 -0
  292. package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
  293. package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -1
  294. package/build/types/object-table/EditableCell.d.ts +1 -1
  295. package/build/types/object-table/EditableCell.d.ts.map +1 -1
  296. package/build/types/object-table/ObjectTableApi.d.ts +26 -7
  297. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  298. package/build/types/object-table/Table.d.ts +9 -2
  299. package/build/types/object-table/Table.d.ts.map +1 -1
  300. package/build/types/object-table/TableBody.d.ts +2 -1
  301. package/build/types/object-table/TableBody.d.ts.map +1 -1
  302. package/build/types/object-table/TableRow.d.ts +2 -1
  303. package/build/types/object-table/TableRow.d.ts.map +1 -1
  304. package/build/types/object-table/utils/editableUtils.d.ts +16 -0
  305. package/build/types/object-table/utils/editableUtils.d.ts.map +1 -0
  306. package/build/types/object-table/utils/shouldShowEditableCell.d.ts +2 -1
  307. package/build/types/object-table/utils/shouldShowEditableCell.d.ts.map +1 -1
  308. package/build/types/object-table/utils/types.d.ts +4 -11
  309. package/build/types/object-table/utils/types.d.ts.map +1 -1
  310. package/docs/ActionForm.md +176 -0
  311. package/docs/CSSVariables.md +31 -30
  312. package/docs/ObjectTable.md +141 -16
  313. package/package.json +6 -5
  314. package/build/cjs/DateCalendar-2W4QHEEI.css.map +0 -1
  315. package/build/cjs/DateCalendar-QGSYBWJB.cjs +0 -24
  316. package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs +0 -48
  317. package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs.map +0 -1
  318. package/build/cjs/DateRangeCalendar-M63S2LLG.css.map +0 -1
  319. package/build/cjs/chunk-B2GRQRWU.cjs.map +0 -1
  320. package/build/cjs/chunk-BJDCC446.cjs.map +0 -1
  321. package/build/cjs/chunk-JLESWL47.cjs.map +0 -1
  322. package/build/cjs/chunk-L5LPFCXT.cjs.map +0 -1
  323. package/build/cjs/chunk-SB2VTP67.cjs.map +0 -1
  324. package/build/cjs/chunk-T7I6O43T.cjs.map +0 -1
  325. package/build/cjs/chunk-UCTQICPR.cjs +0 -10
  326. package/build/cjs/chunk-UCTQICPR.cjs.map +0 -1
  327. package/build/cjs/chunk-VVJFMOZI.cjs.map +0 -1
  328. package/build/cjs/chunk-YPXTSEE7.cjs.map +0 -1
@@ -1 +1 @@
1
- {"mappings":"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","names":["object: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>","value: unknown","objectSet: ObjectSet<Q, RDPs>","cellData?: unknown","newWhere: WhereClause<Q, RDPs>","newOrderBy: Array<{\n property: PropertyKeys<Q> | keyof RDPs;\n direction: \"asc\" | \"desc\";\n }>","info: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >","edits: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >[]","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n isVisible: boolean;\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n pinned: \"left\" | \"right\" | \"none\";\n }>","columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns","newWidth: number | null","selectedRowIds: PrimaryKeyType<Q>[]","isSelectAll?: boolean","row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","cellValue: unknown"],"sources":["../../../src/object-table/ObjectTableApi.ts"],"version":3,"file":"ObjectTableApi.d.ts"}
1
+ {"mappings":"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","names":["object: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","locator: ColumnDefinitionLocator<Q, RDPs, FunctionColumns>","value: unknown","objectSet: ObjectSet<Q, RDPs>","cellData?: unknown","newWhere: WhereClause<Q, RDPs>","newOrderBy: Array<{\n property: PropertyKeys<Q> | keyof RDPs;\n direction: \"asc\" | \"desc\";\n }>","info: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >","edits: CellEditInfo<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>,\n unknown\n >[]","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n isVisible: boolean;\n }>","newStates: Array<{\n columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns;\n pinned: \"left\" | \"right\" | \"none\";\n }>","columnId: PropertyKeys<Q> | keyof RDPs | keyof FunctionColumns","newWidth: number | null","selectedRowIds: PrimaryKeyType<Q>[]","isSelectAll?: boolean","row: Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>","cellValue: unknown"],"sources":["../../../src/object-table/ObjectTableApi.ts"],"version":3,"file":"ObjectTableApi.d.ts"}
@@ -10,9 +10,9 @@ declare module "@tanstack/react-table" {
10
10
  columnName?: string;
11
11
  isAsyncColumn?: boolean;
12
12
  isVisible?: boolean;
13
- editable?: boolean;
13
+ editable?: boolean | ((object: TData) => boolean);
14
14
  dataType?: string;
15
- editFieldConfig?: EditFieldConfig;
15
+ editFieldConfig?: EditFieldConfig<TData>;
16
16
  validateEdit?: (value: unknown) => Promise<string | undefined>;
17
17
  }
18
18
  interface TableMeta<TData extends RowData = unknown> {
@@ -37,5 +37,12 @@ export interface BaseTableProps<TData extends RowData> {
37
37
  error?: Error;
38
38
  headerMenuFeatureFlags?: HeaderMenuFeatureFlags;
39
39
  editableConfig?: EditableConfig<TData, unknown>;
40
+ getRowAttributes?: (object: TData) => Record<string, string | undefined>;
41
+ /**
42
+ * Whether to render the bottom edit footer. Defaults to `true`; the
43
+ * footer is only rendered when the table has at least one editable
44
+ * column (`hasEditableColumns`).
45
+ */
46
+ showEditFooter?: boolean;
40
47
  }
41
48
  export declare function BaseTable<TData extends RowData>(props: BaseTableProps<TData>): ReactElement;
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cACA,oBAKA,OAAQ;AAOf,cAAc,8BAA8B,6BAA8B;AAM1E,cACE,cACA,gBACA,uBACK,kBAAmB;eAEX,wBAAwB;WAC3B;EAAW,cAAc;EAAmB;GAAkB;EACtE;EACA;EACA;EACA;EACA;EACA,kBAAkB;EAClB,gBAAgBA,mBAAmB;CACpC;WACS,UAAU,cAAc,mBAAmB;EACnD,cACEC,gBACAC,MAAM,aAAa;EAErB,yBACED,gBACAE;EAEF,4BAA4BF;EAC5B,YAAY,eAAe,aAAa;EACxC;EACA,mBAAmB;EACnB;CACD;AACF;AAED,iBAAiB,eACf,cAAc,SACd;CACA,OAAO,MAAM;CACb;CACA,sBAAsB;CACtB,cAAcG,KAAK;CACnB,uBAAuBC;CACvB;CACA,yBACED,KAAK,OACLE,MAAM,KAAK,oBACR,MAAM;CACX;CACA,QAAQ;CACR,yBAAyB;CACzB,iBAAiB,eAAe;AACjC;AAED,OAAO,iBAAS,UACd,cAAc,SACdC,OAAO,eAAe,SAAS","names":["value: unknown","cellId: string","info: CellEditInfo<TData, unknown>","error: string","row: TData","columnId: string","cell: Cell<TData, unknown>","props: BaseTableProps<TData>"],"sources":["../../../src/object-table/Table.tsx"],"version":3,"file":"Table.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,MAAM,SAAS,aAAa,uBAAwB;AAElE,OAAO,cACA,oBAKA,OAAQ;AAOf,cAAc,8BAA8B,6BAA8B;AAO1E,cACE,cACA,gBACA,uBACK,kBAAmB;eAEX,wBAAwB;WAC3B;EAAW,cAAc;EAAmB;GAAkB;EACtE;EACA;EACA;EACA,uBAAuBA,QAAQ;EAC/B;EACA,kBAAkB,gBAAgB;EAClC,gBAAgBC,mBAAmB;CACpC;WACS,UAAU,cAAc,mBAAmB;EACnD,cACEC,gBACAC,MAAM,aAAa;EAErB,yBACED,gBACAE;EAEF,4BAA4BF;EAC5B,YAAY,eAAe,aAAa;EACxC;EACA,mBAAmB;EACnB;CACD;AACF;AAED,iBAAiB,eACf,cAAc,SACd;CACA,OAAO,MAAM;CACb;CACA,sBAAsB;CACtB,cAAcG,KAAK;CACnB,uBAAuBC;CACvB;CACA,yBACED,KAAK,OACLE,MAAM,KAAK,oBACR,MAAM;CACX;CACA,QAAQ;CACR,yBAAyB;CACzB,iBAAiB,eAAe;CAChC,oBACEP,QAAQ,UACL;;;;;;CAML;AACD;AAED,OAAO,iBAAS,UACd,cAAc,SACdQ,OAAO,eAAe,SAAS","names":["object: TData","value: unknown","cellId: string","info: CellEditInfo<TData, unknown>","error: string","row: TData","columnId: string","cell: Cell<TData, unknown>","props: BaseTableProps<TData>"],"sources":["../../../src/object-table/Table.tsx"],"version":3,"file":"Table.d.ts"}
@@ -11,6 +11,7 @@ interface TableBodyProps<TData extends RowData> {
11
11
  focusedRowId?: string | null;
12
12
  setFocusedRowId?: (rowId: string | null) => void;
13
13
  isInEditMode?: boolean;
14
+ getRowAttributes?: (object: TData) => Record<string, string | undefined>;
14
15
  }
15
- export declare function TableBody<TData extends RowData>({ rows, tableContainerRef, onRowClick, renderCellContextMenu, rowHeight, isLoadingMore, headerGroups, focusedRowId, setFocusedRowId, isInEditMode }: TableBodyProps<TData>): React.ReactElement;
16
+ export declare function TableBody<TData extends RowData>({ rows, tableContainerRef, onRowClick, renderCellContextMenu, rowHeight, isLoadingMore, headerGroups, focusedRowId, setFocusedRowId, isInEditMode, getRowAttributes }: TableBodyProps<TData>): React.ReactElement;
16
17
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,MAAM,aAAa,KAAK,eAAe,uBAAwB;AAE7E,OAAO,WAAgC,OAAQ;UAMrC,eAAe,cAAc,SAAS;CAC9C,MAAM,MAAM,IAAI;CAChB,mBAAmB,MAAM,UAAU;CACnC,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,eAAe,MAAM,YAAY;CACjC;CACA,mBAAmBC;CACnB;AACD;AAED,OAAO,iBAAS,UAAU,cAAc,SAAS,EAC/C,MACA,mBACA,YACA,uBACA,WACA,eACA,cACA,cACA,iBACA,cACsB,EAArB,eAAe,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>","rowId: string | null"],"sources":["../../../src/object-table/TableBody.tsx"],"version":3,"file":"TableBody.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,MAAM,aAAa,KAAK,eAAe,uBAAwB;AAE7E,OAAO,WAAgC,OAAQ;UAMrC,eAAe,cAAc,SAAS;CAC9C,MAAM,MAAM,IAAI;CAChB,mBAAmB,MAAM,UAAU;CACnC,cAAcA,KAAK;CACnB;CACA,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,eAAe,MAAM,YAAY;CACjC;CACA,mBAAmBC;CACnB;CACA,oBACEC,QAAQ,UACL;AACN;AAED,OAAO,iBAAS,UAAU,cAAc,SAAS,EAC/C,MACA,mBACA,YACA,uBACA,WACA,eACA,cACA,cACA,iBACA,cACA,kBACsB,EAArB,eAAe,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>","rowId: string | null","object: TData"],"sources":["../../../src/object-table/TableBody.tsx"],"version":3,"file":"TableBody.d.ts"}
@@ -9,6 +9,7 @@ interface TableRowProps<TData extends RowData> {
9
9
  isFocused: boolean;
10
10
  setFocusedRowId?: (rowId: string | null) => void;
11
11
  isInEditMode?: boolean;
12
+ getRowAttributes?: (object: TData) => Record<string, string | undefined>;
12
13
  }
13
- export declare function TableRow<TData extends RowData>({ row, virtualRow, onRowClick, renderCellContextMenu, isFocused, setFocusedRowId, isInEditMode }: TableRowProps<TData>): React.ReactElement;
14
+ export declare function TableRow<TData extends RowData>({ row, virtualRow, onRowClick, renderCellContextMenu, isFocused, setFocusedRowId, isInEditMode, getRowAttributes }: TableRowProps<TData>): React.ReactElement;
14
15
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,MAAM,KAAK,eAAe,uBAAwB;AAChE,cAAc,mBAAmB,yBAA0B;AAC3D,OAAO,WAA4B,OAAQ;UAIjC,cAAc,cAAc,SAAS;CAC7C,KAAK,IAAI;CACT,YAAY;CACZ,cAAcA,KAAK;CACnB,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,mBAAmBC;CACnB;AACD;AAED,OAAO,iBAAS,SAAS,cAAc,SAAS,EAC9C,KACA,YACA,YACA,uBACA,WACA,iBACA,cACqB,EAApB,cAAc,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>","rowId: string | null"],"sources":["../../../src/object-table/TableRow.tsx"],"version":3,"file":"TableRow.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,MAAM,KAAK,eAAe,uBAAwB;AAChE,cAAc,mBAAmB,yBAA0B;AAC3D,OAAO,WAAqC,OAAQ;UAI1C,cAAc,cAAc,SAAS;CAC7C,KAAK,IAAI;CACT,YAAY;CACZ,cAAcA,KAAK;CACnB,yBACEA,KAAK,OACLC,MAAM,KAAK,oBACR,MAAM;CACX;CACA,mBAAmBC;CACnB;CACA,oBACEC,QAAQ,UACL;AACN;AAED,OAAO,iBAAS,SAAS,cAAc,SAAS,EAC9C,KACA,YACA,YACA,uBACA,WACA,iBACA,cACA,kBACqB,EAApB,cAAc,SAAS,MAAM","names":["row: TData","cell: Cell<TData, unknown>","rowId: string | null","object: TData"],"sources":["../../../src/object-table/TableRow.tsx"],"version":3,"file":"TableRow.d.ts"}
@@ -0,0 +1,16 @@
1
+ import type { RowData } from "@tanstack/react-table";
2
+ export type EditablePredicate<TData extends RowData = RowData> = boolean | ((object: TData) => boolean);
3
+ /**
4
+ * Whether a column declares any editing behavior.
5
+ *
6
+ * Returns `true` when `editable` is `true` or a predicate function. The
7
+ * predicate may still return `false` for individual rows — that decision is
8
+ * made per-cell via {@link isCellEditable}. This function answers the
9
+ * column-level question used to drive table-wide UI like the bottom edit bar.
10
+ */
11
+ export declare function isColumnDeclaredEditable<TData extends RowData>(editable: EditablePredicate<TData> | undefined): boolean;
12
+ /**
13
+ * Whether a specific cell is editable, given the column's `editable` value
14
+ * and the row's object. Used at render time per cell.
15
+ */
16
+ export declare function isCellEditable<TData extends RowData>(editable: EditablePredicate<TData> | undefined, object: TData): boolean;
@@ -0,0 +1 @@
1
+ {"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,YAAY,kBAAkB,cAAc,UAAU,uBAEhDA,QAAQ;;;;;;;;;AAUd,OAAO,iBAAS,yBAAyB,cAAc,SACrDC,UAAU,kBAAkB;;;;;AAS9B,OAAO,iBAAS,eAAe,cAAc,SAC3CA,UAAU,kBAAkB,oBAC5BD,QAAQ","names":["object: TData","editable: EditablePredicate<TData> | undefined"],"sources":["../../../../src/object-table/utils/editableUtils.ts"],"version":3,"file":"editableUtils.d.ts"}
@@ -1,3 +1,4 @@
1
+ import type { EditablePredicate } from "./editableUtils.js";
1
2
  /**
2
3
  * Determines if a cell should be rendered as editable
3
4
  *
@@ -6,4 +7,4 @@
6
7
  * @param isInEditMode - Whether the table is currently in edit mode
7
8
  * @returns true if the cell should be rendered with edit controls
8
9
  */
9
- export declare function shouldShowEditableCell(editable: boolean | undefined, onCellEdit: unknown, isInEditMode: boolean | undefined): boolean;
10
+ export declare function shouldShowEditableCell<TData>(editable: EditablePredicate<TData> | undefined, onCellEdit: unknown, isInEditMode: boolean | undefined): boolean;
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;AAwBA,OAAO,iBAAS,uBACdA,+BACAC,qBACAC","names":["editable: boolean | undefined","onCellEdit: unknown","isInEditMode: boolean | undefined"],"sources":["../../../../src/object-table/utils/shouldShowEditableCell.ts"],"version":3,"file":"shouldShowEditableCell.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,yBAAyB,oBAAqB;;;;;;;;;AAU5D,OAAO,iBAAS,uBAAuB,OACrCA,UAAU,kBAAkB,oBAC5BC,qBACAC","names":["editable: EditablePredicate<TData> | undefined","onCellEdit: unknown","isInEditMode: boolean | undefined"],"sources":["../../../../src/object-table/utils/shouldShowEditableCell.ts"],"version":3,"file":"shouldShowEditableCell.d.ts"}
@@ -129,18 +129,11 @@ type EditFieldComponent = keyof EditFieldPropsByType;
129
129
  /**
130
130
  * Configuration for an editable cell's field component.
131
131
  *
132
- * @example
133
- * ```ts
134
- * editFieldConfig: {
135
- * fieldComponent: "DROPDOWN",
136
- * fieldComponentProps: {
137
- * items: ["Active", "Inactive", "Pending"],
138
- * },
139
- * }
140
- * ```
132
+ * `getFieldComponentProps` is called with the row's object so the configuration
133
+ * can vary per row (e.g. dropdown items that depend on row state).
141
134
  */
142
- export type EditFieldConfig = { [K in EditFieldComponent] : {
135
+ export type EditFieldConfig<TData = unknown> = { [K in EditFieldComponent] : {
143
136
  fieldComponent: K
144
- fieldComponentProps: EditFieldPropsByType[K]
137
+ getFieldComponentProps: (object: TData) => EditFieldPropsByType[K]
145
138
  } }[EditFieldComponent];
146
139
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,iBAAiB,aAAa;CAC5B;CACA;CACA;AACD;AAED,iBAAiB,eAAe;CAC9B;CACA;AACD;AAED,iBAAiB;CACf,cAAc;CACd;UACQ,eAAe;CACvB,UAAU;CACV,UAAU;CACV,iBAAiB;AAClB;AAED,YAAY,gBACR;CAAE,MAAM;CAAU,UAAU;AAAM,IAClC;CAAE,MAAM;CAAU;CAAmB,YAAYA;AAAyB;AAE9E,iBAAiB;CACf,cAAc;CACd;EACA;CACA,WAAW,eAAe,aAAa,OAAO;CAC9C,aACEC,gBACAC,MAAM,aAAa,OAAO;CAE5B,sBAAsB;CACtB;CACA,eAAe;CACf,wBACED,gBACAE;CAEF,kBAAkB;CAClB,2BAA2BF;AAC5B;;;;;;;;AASD,iBAAiB,mBAAmB,aAAa;;;;CAI/C,OAAO;;;;CAKP,qBAAqBG,MAAM;;;;;CAM3B,aAAaA,MAAM;;;;;CAMnB,eAAeC,GAAG,GAAGC,GAAG;;;;;;CAOxB;;;;CAKA;;;;CAKA;AACD;;;;;;;;AASD,iBAAiB,qBAAqB;;;;CAIpC,MAAM;;;;CAKN,MAAM;;;;CAKN;;;;;CAMA;;;;CAKA;;;;;CAMA,cAAcC,MAAM;;;;;CAMpB,aAAaC,iBAAiB;AAC/B;;;;UAKS,qBAAqB;CAC7B,UAAU;CACV,aAAa;AACd;KAEI,2BAA2B;;;;;;;;;;;;;;AAehC,YAAY,qBACT,KAAK,sBAAqB;CACzB,gBAAgB;CAChB,qBAAqB,qBAAqB;AAC3C,IACD","names":["value: boolean","cellId: string","info: CellEditInfo<TData, CellValue>","error: string","item: V","a: V","b: V","date: Date","text: string"],"sources":["../../../../src/object-table/utils/types.ts"],"version":3,"file":"types.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,eAAe,uBAAwB;AAErD,iBAAiB,aAAa;CAC5B;CACA;CACA;AACD;AAED,iBAAiB,eAAe;CAC9B;CACA;AACD;AAED,iBAAiB;CACf,cAAc;CACd;UACQ,eAAe;CACvB,UAAU;CACV,UAAU;CACV,iBAAiB;AAClB;AAED,YAAY,gBACR;CAAE,MAAM;CAAU,UAAU;AAAM,IAClC;CAAE,MAAM;CAAU;CAAmB,YAAYA;AAAyB;AAE9E,iBAAiB;CACf,cAAc;CACd;EACA;CACA,WAAW,eAAe,aAAa,OAAO;CAC9C,aACEC,gBACAC,MAAM,aAAa,OAAO;CAE5B,sBAAsB;CACtB;CACA,eAAe;CACf,wBACED,gBACAE;CAEF,kBAAkB;CAClB,2BAA2BF;AAC5B;;;;;;;;AASD,iBAAiB,mBAAmB,aAAa;;;;CAI/C,OAAO;;;;CAKP,qBAAqBG,MAAM;;;;;CAM3B,aAAaA,MAAM;;;;;CAMnB,eAAeC,GAAG,GAAGC,GAAG;;;;;;CAOxB;;;;CAKA;;;;CAKA;AACD;;;;;;;;AASD,iBAAiB,qBAAqB;;;;CAIpC,MAAM;;;;CAKN,MAAM;;;;CAKN;;;;;CAMA;;;;CAKA;;;;;CAMA,cAAcC,MAAM;;;;;CAMpB,aAAaC,iBAAiB;AAC/B;;;;UAKS,qBAAqB;CAC7B,UAAU;CACV,aAAa;AACd;KAEI,2BAA2B;;;;;;;AAQhC,YAAY,gBAAgB,sBACzB,KAAK,sBAAqB;CACzB,gBAAgB;CAChB,yBAAyBC,QAAQ,UAAU,qBAAqB;AACjE,IACD","names":["value: boolean","cellId: string","info: CellEditInfo<TData, CellValue>","error: string","item: V","a: V","b: V","date: Date","text: string","object: TData"],"sources":["../../../../src/object-table/utils/types.ts"],"version":3,"file":"types.d.ts"}
@@ -0,0 +1,176 @@
1
+ # ActionForm
2
+
3
+ `ActionForm` renders and submits an OSDK action using `@osdk/react-components`.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Import](#import)
8
+ - [Basic Usage](#basic-usage)
9
+ - [Choosing ActionForm vs BaseForm](#choosing-actionform-vs-baseform)
10
+ - [Default Field Rendering](#default-field-rendering)
11
+ - [Custom Field Definitions](#custom-field-definitions)
12
+ - [Behavior Notes](#behavior-notes)
13
+ - [Examples](#examples)
14
+ - [Styling](#styling)
15
+
16
+ ## Import
17
+
18
+ ```typescript
19
+ import { ActionForm } from "@osdk/react-components/experimental";
20
+ import type { FormFieldDefinition } from "@osdk/react-components/experimental";
21
+ ```
22
+
23
+ ## Basic Usage
24
+
25
+ ```tsx
26
+ import { ActionForm } from "@osdk/react-components/experimental";
27
+ import { updateEmployee } from "@YourApp/sdk";
28
+
29
+ function UpdateEmployeeForm() {
30
+ return <ActionForm actionDefinition={updateEmployee} />;
31
+ }
32
+ ```
33
+
34
+ `ActionForm` fetches action metadata, renders fields for the action parameters, validates the form, and calls the OSDK action when the user submits. The form title is hidden by default. Pass `showFormTitle={true}` to show it; the title uses `formTitle` when provided, otherwise the action display name, otherwise the action API name.
35
+
36
+ ## Choosing ActionForm vs BaseForm
37
+
38
+ | Use case | Use this API |
39
+ | ------------------------------------------------------------------------ | ---------------------------------------- |
40
+ | Render a form directly from an OSDK action and submit with `applyAction` | `ActionForm` |
41
+ | Override generated fields for an OSDK action | `ActionForm` with `formFieldDefinitions` |
42
+ | Build a form from manually-authored field definitions | `BaseForm` |
43
+ | Compose sections, standalone fields, or custom form layouts | `BaseForm` |
44
+
45
+ ## Default Field Rendering
46
+
47
+ When `formFieldDefinitions` is omitted, `ActionForm` derives one field per action parameter from action metadata.
48
+
49
+ | Action parameter type | Default field component | Default behavior |
50
+ | ---------------------------------------------- | ----------------------- | ---------------------------------------------- |
51
+ | `string` | `TEXT_INPUT` | Single-line text input |
52
+ | `marking`, `geohash`, `geoshape`, `objectType` | `TEXT_INPUT` | Text input fallback for string-like values |
53
+ | `boolean` | `RADIO_BUTTONS` | True/False radio options |
54
+ | `integer`, `double`, `long` | `NUMBER_INPUT` | Numeric input |
55
+ | `datetime`, `timestamp` | `DATETIME_PICKER` | Date picker |
56
+ | `attachment`, `mediaReference` | `FILE_PICKER` | File picker |
57
+ | `{ type: "object" }` | `OBJECT_SELECT` | Object selector for the referenced object type |
58
+ | `{ type: "objectSet" }` | `OBJECT_SET` | Read-only object set summary |
59
+ | `{ type: "interface" }`, `{ type: "struct" }` | `TEXT_INPUT` | Text input fallback |
60
+
61
+ Required validation is inferred from the action parameter's nullability. Additional validation comes from field-specific props such as `min`, `max`, `minLength`, `maxLength`, and `maxSize`.
62
+
63
+ ## Custom Field Definitions
64
+
65
+ Use `formFieldDefinitions` when the default rendering for a parameter is not the UI you want. The list is a complete replacement: include every parameter that should appear in the form.
66
+
67
+ ```tsx
68
+ const fields = [
69
+ {
70
+ fieldKey: "fullName",
71
+ label: "Full name",
72
+ fieldComponent: "TEXT_INPUT",
73
+ fieldComponentProps: {
74
+ placeholder: "Jane Doe",
75
+ minLength: 2,
76
+ },
77
+ },
78
+ {
79
+ fieldKey: "yearsExperience",
80
+ label: "Years of experience",
81
+ fieldComponent: "NUMBER_INPUT",
82
+ fieldComponentProps: {
83
+ min: 0,
84
+ max: 80,
85
+ },
86
+ },
87
+ {
88
+ fieldKey: "isRemote",
89
+ label: "Remote employee",
90
+ fieldComponent: "SWITCH",
91
+ fieldComponentProps: {},
92
+ },
93
+ ] satisfies Array<FormFieldDefinition<typeof updateEmployee>>;
94
+
95
+ <ActionForm actionDefinition={updateEmployee} formFieldDefinitions={fields} />;
96
+ ```
97
+
98
+ For a completely custom field, use `fieldComponent: "CUSTOM"` and provide `customRenderer`:
99
+
100
+ ```tsx
101
+ const fields = [
102
+ {
103
+ fieldKey: "approvalReason",
104
+ label: "Approval reason",
105
+ fieldComponent: "CUSTOM",
106
+ fieldComponentProps: {
107
+ customRenderer: ({ value, onChange }) => (
108
+ <textarea
109
+ value={value != null ? String(value) : ""}
110
+ onChange={(event) => onChange?.(event.target.value)}
111
+ />
112
+ ),
113
+ },
114
+ },
115
+ ] satisfies Array<FormFieldDefinition<typeof approveEmployee>>;
116
+
117
+ <ActionForm actionDefinition={approveEmployee} formFieldDefinitions={fields} />;
118
+ ```
119
+
120
+ ## Behavior Notes
121
+
122
+ - `formFieldDefinitions` replaces generated fields. Passing one custom field means only that field renders.
123
+ - `fieldKey` must match the action parameter key; submitted form state uses the same keys.
124
+ - `fieldComponentProps` should not include `value`, `onChange`, or `id`; form state wiring provides those.
125
+ - Controlled mode requires both `formState` and `onFormStateChange`.
126
+ - Use `onSubmit` for custom submission behavior. If `onSubmit` is omitted, `ActionForm` calls `applyAction` and then `onSuccess`.
127
+
128
+ ## Examples
129
+
130
+ ### Controlled form state
131
+
132
+ ```tsx
133
+ const [formState, setFormState] = useState({
134
+ fullName: "Ada Lovelace",
135
+ isRemote: true,
136
+ });
137
+
138
+ <ActionForm
139
+ actionDefinition={updateEmployee}
140
+ formState={formState}
141
+ onFormStateChange={setFormState}
142
+ />;
143
+ ```
144
+
145
+ ### Custom submit handling
146
+
147
+ ```tsx
148
+ <ActionForm
149
+ actionDefinition={updateEmployee}
150
+ onSubmit={async (formState, applyAction) => {
151
+ await applyAction(formState);
152
+ showToast("Employee updated");
153
+ }}
154
+ />;
155
+ ```
156
+
157
+ ## Styling
158
+
159
+ `ActionForm` is built on `BaseForm`, so the form layout and field styling use the same CSS variables documented in [CSSVariables.md](./CSSVariables.md).
160
+
161
+ `ActionForm` does not add outer padding by default. Apply internal spacing by setting the form padding variables on the form or a wrapper element:
162
+
163
+ ```css
164
+ .employeeForm {
165
+ --osdk-form-content-padding-inline: calc(var(--osdk-surface-spacing) * 4);
166
+ --osdk-form-content-padding-block: calc(var(--osdk-surface-spacing) * 4);
167
+ }
168
+ ```
169
+
170
+ ```tsx
171
+ <div className="employeeForm">
172
+ <ActionForm actionDefinition={updateEmployee} />
173
+ </div>;
174
+ ```
175
+
176
+ Use `--osdk-form-content-padding-inline` to apply shared horizontal padding to the header, fields, and footer. Use `--osdk-form-content-padding-block` to control vertical padding for the form fields section. For card-style outer spacing, apply margin, border, background, and border radius to the wrapper rather than the form itself.
@@ -252,6 +252,18 @@ Styling for button components.
252
252
  | `--osdk-button-secondary-bg-hover` | `var(--osdk-surface-background-color-default-hover)` | Secondary button hover background |
253
253
  | `--osdk-button-secondary-bg-active` | `var(--osdk-surface-background-color-default-active)` | Secondary button active background |
254
254
 
255
+ #### Minimal Button
256
+
257
+ | Variable | Default Value | Description |
258
+ | --------------------------------------- | ----------------------------------------------------- | ----------------------------------- |
259
+ | `--osdk-button-minimal-bg` | `transparent` | Minimal button background |
260
+ | `--osdk-button-minimal-bg-hover` | `var(--osdk-surface-background-color-default-hover)` | Minimal button hover background |
261
+ | `--osdk-button-minimal-bg-active` | `var(--osdk-surface-background-color-default-active)` | Minimal button active background |
262
+ | `--osdk-button-minimal-border` | `none` | Minimal button border |
263
+ | `--osdk-button-minimal-shadow` | `none` | Minimal button shadow |
264
+ | `--osdk-button-secondary-minimal-color` | `var(--osdk-typography-color-default-rest)` | Secondary minimal button text color |
265
+ | `--osdk-button-primary-minimal-color` | `var(--osdk-button-primary-bg)` | Primary minimal button text color |
266
+
255
267
  ### Checkbox
256
268
 
257
269
  Styling for checkbox components.
@@ -547,17 +559,6 @@ Styling for file picker components.
547
559
  | `--osdk-file-picker-clear-color` | `var(--osdk-typography-color-muted)` | Clear button color |
548
560
  | `--osdk-file-picker-clear-color-hover` | `var(--osdk-typography-color-default-rest)` | Clear button hover color |
549
561
 
550
- #### Browse Button
551
-
552
- | Variable | Default Value | Description |
553
- | --------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------- |
554
- | `--osdk-file-picker-browse-bg` | `var(--osdk-button-secondary-bg)` | Browse button background |
555
- | `--osdk-file-picker-browse-bg-hover` | `var(--osdk-button-secondary-bg-hover)` | Browse button hover background |
556
- | `--osdk-file-picker-browse-bg-active` | `var(--osdk-button-secondary-bg-active)` | Browse button active background |
557
- | `--osdk-file-picker-browse-color` | `var(--osdk-button-secondary-color)` | Browse button text color |
558
- | `--osdk-file-picker-browse-padding` | `calc(var(--osdk-surface-spacing) * 1.5) calc(var(--osdk-surface-spacing) * 3)` | Browse button padding |
559
- | `--osdk-file-picker-browse-border-left` | `var(--osdk-input-border-width) solid var(--osdk-input-border-color)` | Browse button left border |
560
-
561
562
  ### Filter List
562
563
 
563
564
  Styling for filter list components including search, checkboxes, listogram, and range inputs.
@@ -923,21 +924,21 @@ Styling for form components.
923
924
 
924
925
  #### Layout
925
926
 
926
- | Variable | Default Value | Description |
927
- | ----------------------------- | --------------------------------------- | -------------------- |
928
- | `--osdk-form-content-padding` | `calc(var(--osdk-surface-spacing) * 4)` | Form content padding |
929
- | `--osdk-form-field-gap` | `calc(var(--osdk-surface-spacing) * 4)` | Gap between fields |
927
+ | Variable | Default Value | Description |
928
+ | ------------------------------------ | ----------------------------------------- | ------------------------------------------------ |
929
+ | `--osdk-form-fields-gap` | `calc(var(--osdk-surface-spacing) * 1.5)` | Gap between fields |
930
+ | `--osdk-form-content-padding-inline` | `0` | Shared inline padding for form regions |
931
+ | `--osdk-form-content-padding-block` | `0` | Content block padding for the form fields region |
930
932
 
931
933
  #### Header
932
934
 
933
- | Variable | Default Value | Description |
934
- | ----------------------------------- | ------------------------------------------- | --------------------- |
935
- | `--osdk-form-header-border-color` | `var(--osdk-surface-border-color-default)` | Header border color |
936
- | `--osdk-form-header-font-size` | `var(--osdk-typography-size-body-large)` | Header font size |
937
- | `--osdk-form-header-font-weight` | `var(--osdk-typography-weight-bold)` | Header font weight |
938
- | `--osdk-form-header-color` | `var(--osdk-typography-color-default-rest)` | Header text color |
939
- | `--osdk-form-header-block-padding` | `calc(var(--osdk-surface-spacing) * 3)` | Header block padding |
940
- | `--osdk-form-header-inline-padding` | `var(--osdk-form-content-padding)` | Header inline padding |
935
+ | Variable | Default Value | Description |
936
+ | ---------------------------------- | ------------------------------------------- | -------------------- |
937
+ | `--osdk-form-header-border-color` | `var(--osdk-surface-border-color-default)` | Header border color |
938
+ | `--osdk-form-header-font-size` | `var(--osdk-typography-size-body-large)` | Header font size |
939
+ | `--osdk-form-header-font-weight` | `var(--osdk-typography-weight-bold)` | Header font weight |
940
+ | `--osdk-form-header-color` | `var(--osdk-typography-color-default-rest)` | Header text color |
941
+ | `--osdk-form-header-block-padding` | `calc(var(--osdk-surface-spacing) * 2)` | Header block padding |
941
942
 
942
943
  #### Footer
943
944
 
@@ -949,12 +950,12 @@ Styling for form components.
949
950
 
950
951
  #### Labels
951
952
 
952
- | Variable | Default Value | Description |
953
- | ------------------------------- | ------------------------------------------- | --------------------------- |
954
- | `--osdk-form-label-font-size` | `var(--osdk-typography-size-body-medium)` | Label font size |
955
- | `--osdk-form-label-font-weight` | `var(--osdk-typography-weight-bold)` | Label font weight |
956
- | `--osdk-form-label-color` | `var(--osdk-typography-color-default-rest)` | Label text color |
957
- | `--osdk-form-label-field-gap` | `calc(var(--osdk-surface-spacing) * 1.5)` | Gap between label and field |
953
+ | Variable | Default Value | Description |
954
+ | ------------------------------- | ------------------------------------------- | ---------------------------- |
955
+ | `--osdk-form-label-font-size` | `var(--osdk-typography-size-body-medium)` | Label font size |
956
+ | `--osdk-form-label-font-weight` | `var(--osdk-typography-weight-bold)` | Label font weight |
957
+ | `--osdk-form-label-color` | `var(--osdk-typography-color-default-rest)` | Label text color |
958
+ | `--osdk-form-field-gap` | `var(--osdk-surface-spacing)` | Gap between items in a field |
958
959
 
959
960
  #### Validation
960
961
 
@@ -1293,7 +1294,7 @@ To create a custom theme, override the tokens at the appropriate level. You can
1293
1294
  --osdk-table-header-bg: #f0f0f0;
1294
1295
  --osdk-table-row-bg-default: white;
1295
1296
  --osdk-table-border-color: #e0e0e0;
1296
-
1297
+
1297
1298
  /* Customize editable table styling */
1298
1299
  --osdk-table-cell-editable-border: 1px solid #3b82f6;
1299
1300
  --osdk-table-cell-edited-border: 2px solid #10b981;