@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
@@ -519,6 +519,21 @@
519
519
  );
520
520
  --osdk-button-secondary-border-color: var(--osdk-surface-border-color-default);
521
521
 
522
+ /* Minimal Button */
523
+ --osdk-button-minimal-bg: transparent;
524
+ --osdk-button-minimal-bg-hover: var(
525
+ --osdk-surface-background-color-default-hover
526
+ );
527
+ --osdk-button-minimal-bg-active: var(
528
+ --osdk-surface-background-color-default-active
529
+ );
530
+ --osdk-button-minimal-border: none;
531
+ --osdk-button-minimal-shadow: none;
532
+ --osdk-button-secondary-minimal-color: var(
533
+ --osdk-typography-color-default-rest
534
+ );
535
+ --osdk-button-primary-minimal-color: var(--osdk-button-primary-bg);
536
+
522
537
  /* Success Button */
523
538
  --osdk-button-success-color: var(--osdk-intent-success-foreground);
524
539
  --osdk-button-success-bg: var(--osdk-intent-success-rest);
@@ -708,6 +723,15 @@
708
723
  --osdk-checkbox-bg-checked-active: var(--osdk-intent-primary-active);
709
724
  --osdk-checkbox-checked-foreground: var(--osdk-intent-primary-foreground);
710
725
  }
726
+ :root {
727
+ /* Combobox popup: cap the dropdown's max-height so very long option lists
728
+ scroll inside the popup instead of forcing the popup to grow tall enough
729
+ to push other UI off-screen. The actual `max-height` rule uses
730
+ `min(this token, --available-height)` — `--available-height` is set
731
+ automatically by Base UI's `Combobox.Positioner` (same source as
732
+ `--anchor-width`) so the cap is automatically lowered on short viewports. */
733
+ --osdk-combobox-popup-max-height: 320px;
734
+ }
711
735
  /* Datetime Picker Styling */
712
736
  :root {
713
737
  /* Input error */
@@ -721,7 +745,7 @@
721
745
 
722
746
  /* Calendar */
723
747
  --osdk-datetime-calendar-font-family: var(--osdk-typography-family-default);
724
- --osdk-datetime-calendar-font-size: var(--osdk-typography-size-body-small);
748
+ --osdk-datetime-calendar-font-size: var(--osdk-input-font-size);
725
749
  --osdk-datetime-calendar-cell-size: calc(var(--osdk-surface-spacing) * 8);
726
750
  --osdk-datetime-calendar-gap: 2px;
727
751
 
@@ -736,7 +760,7 @@
736
760
  /* Calendar weekday header */
737
761
  --osdk-datetime-calendar-weekday-color: var(--osdk-typography-color-muted);
738
762
  --osdk-datetime-calendar-weekday-font-size: var(
739
- --osdk-typography-size-body-x-small
763
+ --osdk-datetime-calendar-font-size
740
764
  );
741
765
 
742
766
  --osdk-datetime-calendar-day-color: var(--osdk-typography-color-default);
@@ -913,16 +937,6 @@
913
937
  --osdk-file-picker-trigger-border-color-error: var(
914
938
  --osdk-input-border-color-error
915
939
  );
916
-
917
- /* Browse button */
918
- --osdk-file-picker-browse-bg: var(--osdk-button-secondary-bg);
919
- --osdk-file-picker-browse-bg-hover: var(--osdk-button-secondary-bg-hover);
920
- --osdk-file-picker-browse-bg-active: var(--osdk-button-secondary-bg-active);
921
- --osdk-file-picker-browse-color: var(--osdk-button-secondary-color);
922
- --osdk-file-picker-browse-padding: calc(var(--osdk-surface-spacing) * 1.5)
923
- calc(var(--osdk-surface-spacing) * 3);
924
- --osdk-file-picker-browse-border-left: var(--osdk-input-border-width) solid
925
- var(--osdk-input-border-color);
926
940
  }
927
941
  :root {
928
942
  /* Filter List Container */
@@ -1133,8 +1147,15 @@
1133
1147
  --osdk-filter-listogram-label-color: var(
1134
1148
  --osdk-typography-color-default-rest
1135
1149
  );
1136
- --osdk-filter-listogram-empty-label-color: var(--osdk-typography-color-muted);
1137
- --osdk-filter-listogram-empty-label-font-style: italic;
1150
+
1151
+ /* Canonical "No value" tokens. Used by NoValueLabel everywhere.
1152
+ Legacy --osdk-filter-listogram-empty-label-* and
1153
+ --osdk-filter-null-label-* tokens are honored as opt-in overrides
1154
+ by the per-container className passed to NoValueLabel; they are
1155
+ not declared here so that the cascade does not cycle through them. */
1156
+ --osdk-filter-no-value-color: var(--osdk-typography-color-muted);
1157
+ --osdk-filter-no-value-font-style: italic;
1158
+
1138
1159
  --osdk-filter-listogram-bar-height: calc(var(--osdk-surface-spacing) * 2);
1139
1160
  --osdk-filter-listogram-bar-width: calc(var(--osdk-surface-spacing) * 12.5);
1140
1161
  --osdk-filter-listogram-bar-bg: var(--osdk-palette-gray-100);
@@ -1212,10 +1233,6 @@
1212
1233
  --osdk-filter-null-row-padding: calc(var(--osdk-surface-spacing) * 1) 0;
1213
1234
  --osdk-filter-null-row-border-top: none;
1214
1235
  --osdk-filter-null-label-gap: var(--osdk-surface-spacing);
1215
- --osdk-filter-null-label-font-family: var(--osdk-typography-family-default);
1216
- --osdk-filter-null-label-font-size: var(--osdk-typography-size-body-medium);
1217
- --osdk-filter-null-label-line-height: 1.4;
1218
- --osdk-filter-null-label-color: var(--osdk-typography-color-default-rest);
1219
1236
  --osdk-filter-null-count-font-family: var(--osdk-typography-family-default);
1220
1237
  --osdk-filter-null-count-font-size: var(--osdk-typography-size-body-small);
1221
1238
  --osdk-filter-null-count-color: var(--osdk-typography-color-muted);
@@ -1355,16 +1372,16 @@
1355
1372
  }
1356
1373
  :root {
1357
1374
  /* Form layout */
1358
- --osdk-form-content-padding: calc(var(--osdk-surface-spacing) * 4);
1359
- --osdk-form-field-gap: calc(var(--osdk-surface-spacing) * 4);
1375
+ --osdk-form-fields-gap: calc(var(--osdk-surface-spacing) * 1.5);
1376
+ --osdk-form-content-padding-inline: 0;
1377
+ --osdk-form-content-padding-block: 0;
1360
1378
 
1361
1379
  /* Form header */
1362
1380
  --osdk-form-header-border-color: var(--osdk-surface-border-color-default);
1363
1381
  --osdk-form-header-font-size: var(--osdk-typography-size-body-large);
1364
1382
  --osdk-form-header-font-weight: var(--osdk-typography-weight-bold);
1365
1383
  --osdk-form-header-color: var(--osdk-typography-color-default-rest);
1366
- --osdk-form-header-block-padding: calc(var(--osdk-surface-spacing) * 3);
1367
- --osdk-form-header-inline-padding: var(--osdk-form-content-padding);
1384
+ --osdk-form-header-block-padding: calc(var(--osdk-surface-spacing) * 2);
1368
1385
 
1369
1386
  /* Form footer */
1370
1387
  --osdk-form-footer-border-color: var(--osdk-surface-border-color-default);
@@ -1373,7 +1390,7 @@
1373
1390
  --osdk-form-label-font-size: var(--osdk-typography-size-body-medium);
1374
1391
  --osdk-form-label-font-weight: var(--osdk-typography-weight-bold);
1375
1392
  --osdk-form-label-color: var(--osdk-typography-color-default-rest);
1376
- --osdk-form-label-field-gap: calc(var(--osdk-surface-spacing) * 1.5);
1393
+ --osdk-form-field-gap: var(--osdk-surface-spacing);
1377
1394
 
1378
1395
  /* Label row (label + info icon) */
1379
1396
  --osdk-form-label-row-gap: calc(var(--osdk-surface-spacing) * 1);
@@ -1393,6 +1410,10 @@
1393
1410
 
1394
1411
  /* Validation errors */
1395
1412
  --osdk-form-error-font-size: var(--osdk-typography-size-body-small);
1413
+ --osdk-form-error-line-height: var(--osdk-typography-line-height-default);
1414
+ --osdk-form-error-reserved-block-size: calc(
1415
+ var(--osdk-form-error-font-size) * var(--osdk-form-error-line-height)
1416
+ );
1396
1417
  --osdk-form-error-color: var(--osdk-typography-color-danger-rest);
1397
1418
 
1398
1419
  /* Form footer error indicator */
@@ -1449,7 +1470,7 @@
1449
1470
  --osdk-form-section-content-padding-inline: calc(
1450
1471
  var(--osdk-surface-spacing) * 2.5
1451
1472
  );
1452
- --osdk-form-section-field-gap: var(--osdk-form-field-gap);
1473
+ --osdk-form-section-field-gap: var(--osdk-form-fields-gap);
1453
1474
  --osdk-form-section-grid-column-gap: calc(var(--osdk-surface-spacing) * 4);
1454
1475
 
1455
1476
  /* Minimal style */
@@ -1597,12 +1618,12 @@
1597
1618
  --osdk-table-row-bg-default: var(--osdk-background-primary);
1598
1619
  --osdk-table-row-bg-alternate: var(--osdk-background-tertiary);
1599
1620
  --osdk-table-row-bg-hover: color-mix(
1600
- in oklch,
1621
+ in srgb,
1601
1622
  var(--osdk-intent-primary-hover) 10%,
1602
1623
  var(--osdk-background-primary)
1603
1624
  );
1604
1625
  --osdk-table-row-bg-active: color-mix(
1605
- in oklch,
1626
+ in srgb,
1606
1627
  var(--osdk-intent-primary-hover) 10%,
1607
1628
  var(--osdk-background-primary)
1608
1629
  );
@@ -1624,9 +1645,7 @@
1624
1645
  --osdk-table-header-menu-color-active: var(
1625
1646
  --osdk-typography-color-default-rest
1626
1647
  );
1627
- --osdk-table-header-menu-icon-color: var(
1628
- --osdk-table-header-menu-color
1629
- );
1648
+ --osdk-table-header-menu-icon-color: var(--osdk-table-header-menu-color);
1630
1649
  --osdk-table-header-menu-bg-hover: var(--osdk-custom-color-gray-1);
1631
1650
  --osdk-table-header-menu-bg-active: var(--osdk-custom-color-gray-2);
1632
1651
 
@@ -1750,8 +1769,9 @@
1750
1769
  .BaseForm-module__osdkFormFields___3DthDz5L {
1751
1770
  display: flex;
1752
1771
  flex-direction: column;
1753
- gap: var(--osdk-form-field-gap);
1754
- padding: var(--osdk-form-content-padding);
1772
+ gap: var(--osdk-form-fields-gap);
1773
+ padding-block: var(--osdk-form-content-padding-block);
1774
+ padding-inline: var(--osdk-form-content-padding-inline);
1755
1775
  }
1756
1776
 
1757
1777
  .BaseForm-module__osdkFormFooter___ZRbu-oda {
@@ -1759,10 +1779,9 @@
1759
1779
  flex-direction: row;
1760
1780
  justify-content: space-between;
1761
1781
  align-items: center;
1762
- border-top: var(--osdk-surface-border-width) solid
1763
- var(--osdk-form-footer-border-color);
1764
- padding-block: var(--osdk-form-content-padding);
1765
- padding-inline: var(--osdk-form-content-padding);
1782
+ padding-block: var(--osdk-form-content-padding-inline);
1783
+ padding-inline: var(--osdk-form-content-padding-inline);
1784
+ border-block-start: var(--osdk-surface-border-width) solid var(--osdk-form-footer-border-color);
1766
1785
  }
1767
1786
 
1768
1787
  .BaseForm-module__osdkFormSubmitButton___sTo2Mti- {
@@ -1788,7 +1807,7 @@
1788
1807
  .BaseForm-module__osdkFormSkeletonField___fumkrjHR {
1789
1808
  display: flex;
1790
1809
  flex-direction: column;
1791
- gap: var(--osdk-form-label-field-gap);
1810
+ gap: var(--osdk-form-field-gap);
1792
1811
  }
1793
1812
 
1794
1813
  .BaseForm-module__osdkFormSkeletonLabel___-3zJJ2Wm {
@@ -1828,7 +1847,7 @@
1828
1847
  .FormField-module__osdkFormField___K4BpO5Sn {
1829
1848
  display: flex;
1830
1849
  flex-direction: column;
1831
- gap: var(--osdk-form-label-field-gap);
1850
+ gap: var(--osdk-form-field-gap);
1832
1851
  }
1833
1852
 
1834
1853
  .FormField-module__osdkFormFieldLabel___S9J-yCFD {
@@ -1843,9 +1862,14 @@
1843
1862
 
1844
1863
  .FormField-module__osdkFormFieldError___VYf8-K5I {
1845
1864
  font-size: var(--osdk-form-error-font-size);
1865
+ line-height: var(--osdk-form-error-line-height);
1846
1866
  color: var(--osdk-form-error-color);
1847
1867
  }
1848
1868
 
1869
+ .FormField-module__osdkFormFieldErrorSlot___6kJW7FnJ {
1870
+ min-block-size: var(--osdk-form-error-reserved-block-size);
1871
+ }
1872
+
1849
1873
  .FormField-module__osdkFormFieldLabelRow___RXG0mixo {
1850
1874
  display: flex;
1851
1875
  align-items: center;
@@ -1895,8 +1919,8 @@
1895
1919
  .FormHeader-module__osdkFormHeader___CkEkQTWh {
1896
1920
  margin: 0;
1897
1921
  padding-block: var(--osdk-form-header-block-padding);
1898
- padding-inline: var(--osdk-form-header-inline-padding);
1899
- border-bottom: var(--osdk-surface-border-width) solid
1922
+ padding-inline: var(--osdk-form-content-padding-inline);
1923
+ border-block-end: var(--osdk-surface-border-width) solid
1900
1924
  var(--osdk-form-header-border-color);
1901
1925
  font-size: var(--osdk-form-header-font-size);
1902
1926
  font-weight: var(--osdk-form-header-font-weight);
@@ -2180,6 +2204,7 @@
2180
2204
  }
2181
2205
 
2182
2206
  .DateCalendar-module__calendarDay___sUMDmHH- {
2207
+ position: relative;
2183
2208
  padding: var(--osdk-datetime-calendar-gap);
2184
2209
  text-align: center;
2185
2210
  }
@@ -2264,18 +2289,46 @@
2264
2289
  }
2265
2290
  }
2266
2291
 
2292
+ /* Day buttons are inset by cell padding; paint the range on the table cell too
2293
+ so the range spans horizontal gaps while staying the same height as a day. */
2294
+ .DateCalendar-module__calendarDay___sUMDmHH-:has(.DateCalendar-module__calendarRangeStart___n5gwcPaH)::before,
2295
+ .DateCalendar-module__calendarDay___sUMDmHH-:has(.DateCalendar-module__calendarRangeMiddle___LG7UBJb8)::before,
2296
+ .DateCalendar-module__calendarDay___sUMDmHH-:has(.DateCalendar-module__calendarRangeEnd___Ip19MHPV)::before {
2297
+ content: "";
2298
+ position: absolute;
2299
+ inset-block: var(--osdk-datetime-calendar-gap);
2300
+ background: var(--osdk-datetime-calendar-range-middle-bg);
2301
+ pointer-events: none;
2302
+ }
2303
+
2304
+ .DateCalendar-module__calendarDay___sUMDmHH-:has(.DateCalendar-module__calendarRangeStart___n5gwcPaH)::before {
2305
+ inset-inline-start: 50%;
2306
+ inset-inline-end: 0;
2307
+ }
2267
2308
 
2268
- /* Range-middle needs .calendarDayButton prefix to match specificity of
2269
- .calendarDayButton.calendarSelected (rdp applies both to range-middle days). */
2309
+ .DateCalendar-module__calendarDay___sUMDmHH-:has(.DateCalendar-module__calendarRangeMiddle___LG7UBJb8)::before {
2310
+ inset-inline: 0;
2311
+ }
2312
+
2313
+ .DateCalendar-module__calendarDay___sUMDmHH-:has(.DateCalendar-module__calendarRangeEnd___Ip19MHPV)::before {
2314
+ inset-inline-start: 0;
2315
+ inset-inline-end: 50%;
2316
+ }
2317
+
2318
+ .DateCalendar-module__calendarDay___sUMDmHH-:has(.DateCalendar-module__calendarRangeStart___n5gwcPaH.DateCalendar-module__calendarRangeEnd___Ip19MHPV)::before {
2319
+ content: none;
2320
+ }
2321
+
2322
+ /* The table cell owns the translucent range fill. Keeping the middle button
2323
+ transparent avoids alpha-stacking the same token over itself. */
2270
2324
  .DateCalendar-module__calendarDayButton___SoPcp9U0.DateCalendar-module__calendarRangeMiddle___LG7UBJb8 {
2271
- background: var(--osdk-datetime-calendar-range-middle-bg);
2325
+ background: transparent;
2272
2326
  color: var(--osdk-datetime-calendar-day-color);
2273
2327
  border-radius: 0;
2274
2328
 
2275
2329
  &:hover {
2276
- background: var(--osdk-datetime-calendar-range-middle-bg);
2330
+ background: transparent;
2277
2331
  color: var(--osdk-datetime-calendar-day-hover-color);
2278
- filter: brightness(0.95);
2279
2332
  }
2280
2333
 
2281
2334
  &:active {
@@ -2283,6 +2336,14 @@
2283
2336
  }
2284
2337
  }
2285
2338
 
2339
+ .DateCalendar-module__calendarRangeFooter___C97aWQDF {
2340
+ display: grid;
2341
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2342
+ column-gap: var(--osdk-datetime-calendar-months-gap);
2343
+ justify-items: center;
2344
+ padding-block-start: var(--osdk-time-picker-padding-top);
2345
+ }
2346
+
2286
2347
  .DateCalendar-module__calendarHidden___DMxoFqL0 {
2287
2348
  visibility: hidden;
2288
2349
  }
@@ -2365,6 +2426,9 @@
2365
2426
 
2366
2427
  /* Month/year selects — borderless, matching caption text weight */
2367
2428
  .DateCalendar-module__calendarDropdown___XM6Skm8I {
2429
+ /* Native selects otherwise reserve room for the longest option, which makes
2430
+ the month caret drift away from short month names like "May". */
2431
+ field-sizing: content;
2368
2432
  font-family: var(--osdk-datetime-calendar-font-family);
2369
2433
  font-size: var(--osdk-datetime-calendar-caption-font-size);
2370
2434
  font-weight: var(--osdk-datetime-calendar-caption-font-weight);
@@ -2382,13 +2446,22 @@
2382
2446
  }
2383
2447
 
2384
2448
 
2385
- /* Footer — content rendered inside DayPicker's <tfoot> (constrained by the table). */
2386
- .DateCalendar-module__calendarFooter___k5XnkRwd {
2387
- padding-top: var(--osdk-time-picker-padding-top);
2388
- margin-top: var(--osdk-time-picker-margin-top);
2389
- border-top: var(--osdk-time-picker-border-top);
2449
+ .DateCalendar-module__calendarTimeFooter___fZ-ifaAU {
2450
+ display: flex;
2451
+ justify-content: center;
2452
+ padding-block-start: var(--osdk-time-picker-padding-top);
2390
2453
  }
2391
2454
 
2455
+ .DateCalendar-module__calendarActionBar___wRALmfXN {
2456
+ display: flex;
2457
+ justify-content: space-between;
2458
+ gap: var(--osdk-surface-spacing);
2459
+ padding-block-start: var(--osdk-time-picker-padding-top);
2460
+ padding-inline: var(--osdk-datetime-popover-padding);
2461
+ margin-block-start: var(--osdk-time-picker-margin-top);
2462
+ margin-inline: calc(var(--osdk-datetime-popover-padding) * -1);
2463
+ border-block-start: var(--osdk-time-picker-border-top);
2464
+ }
2392
2465
 
2393
2466
 
2394
2467
  /* action-form/fields/DatePickerCommon.module.css */
@@ -2510,21 +2583,6 @@
2510
2583
  min-width: 0;
2511
2584
  }
2512
2585
 
2513
- /* Two TimePickers side-by-side, each centered under its calendar month.
2514
- Negative horizontal margin counters the popover padding so the border-top
2515
- spans the full width of the popover. */
2516
- .DateRangeInputField-module__osdkDateRangeTimeRow___taNjftwF {
2517
- display: flex;
2518
- gap: var(--osdk-time-picker-gap);
2519
- padding-top: var(--osdk-time-picker-padding-top);
2520
- padding-left: var(--osdk-datetime-popover-padding);
2521
- padding-right: var(--osdk-datetime-popover-padding);
2522
- margin-top: var(--osdk-time-picker-margin-top);
2523
- margin-left: calc(var(--osdk-datetime-popover-padding) * -1);
2524
- margin-right: calc(var(--osdk-datetime-popover-padding) * -1);
2525
- border-top: var(--osdk-time-picker-border-top);
2526
- }
2527
-
2528
2586
 
2529
2587
  /* action-form/fields/DatetimePickerField.module.css */
2530
2588
  /* DatetimePickerField — component-specific overrides.
@@ -2534,16 +2592,9 @@
2534
2592
  outline: none;
2535
2593
  }
2536
2594
 
2537
- /* Time footer — rendered as a popover sibling (not a DayPicker tfoot) so the
2538
- border-top can span the full popover width via negative margins. */
2539
2595
  .DatetimePickerField-module__osdkDatetimeTimeFooter___z2mK-iXP {
2540
- padding-top: var(--osdk-time-picker-padding-top);
2541
- padding-left: var(--osdk-datetime-popover-padding);
2542
- padding-right: var(--osdk-datetime-popover-padding);
2543
- margin-top: var(--osdk-time-picker-margin-top);
2544
- margin-left: calc(var(--osdk-datetime-popover-padding) * -1);
2545
- margin-right: calc(var(--osdk-datetime-popover-padding) * -1);
2546
- border-top: var(--osdk-time-picker-border-top);
2596
+ display: flex;
2597
+ justify-content: center;
2547
2598
  }
2548
2599
 
2549
2600
 
@@ -2605,7 +2656,7 @@
2605
2656
  border: var(--osdk-file-picker-trigger-border);
2606
2657
  border-radius: var(--osdk-file-picker-trigger-border-radius);
2607
2658
  box-shadow: var(--osdk-input-shadow);
2608
- background: var(--osdk-file-picker-trigger-bg);
2659
+ background-color: var(--osdk-file-picker-trigger-bg);
2609
2660
  font-family: var(--osdk-file-picker-trigger-font-family);
2610
2661
  font-size: var(--osdk-file-picker-trigger-font-size);
2611
2662
  box-sizing: border-box;
@@ -2615,21 +2666,18 @@
2615
2666
  var(--osdk-file-picker-transition-ease),
2616
2667
  border-color var(--osdk-file-picker-transition-duration)
2617
2668
  var(--osdk-file-picker-transition-ease);
2669
+ }
2618
2670
 
2619
- &:hover {
2620
- background: var(--osdk-file-picker-trigger-bg-hover);
2621
- }
2622
-
2623
- &:focus-visible {
2624
- border-color: var(--osdk-file-picker-trigger-border-color-focus);
2625
- outline: var(--osdk-file-picker-trigger-focus-width) solid
2626
- var(--osdk-file-picker-trigger-focus-color);
2627
- outline-offset: var(--osdk-file-picker-trigger-focus-offset);
2628
- }
2671
+ .FilePickerField-module__osdkFilePickerTrigger___xiODCPnX:has(.FilePickerField-module__osdkFilePickerText___VbLe9-Bb:focus-visible),
2672
+ .FilePickerField-module__osdkFilePickerTrigger___xiODCPnX:has(.FilePickerField-module__osdkFilePickerClear___SOf8mcYq:focus-visible) {
2673
+ border-color: var(--osdk-file-picker-trigger-border-color-focus);
2674
+ outline: var(--osdk-file-picker-trigger-focus-width) solid
2675
+ var(--osdk-file-picker-trigger-focus-color);
2676
+ outline-offset: var(--osdk-file-picker-trigger-focus-offset);
2677
+ }
2629
2678
 
2630
- &[aria-invalid] {
2631
- border-color: var(--osdk-file-picker-trigger-border-color-error);
2632
- }
2679
+ .FilePickerField-module__osdkFilePickerTrigger___xiODCPnX[aria-invalid] {
2680
+ border-color: var(--osdk-file-picker-trigger-border-color-error);
2633
2681
  }
2634
2682
 
2635
2683
  /* display: none fully removes the input from the a11y tree, avoiding
@@ -2642,6 +2690,8 @@
2642
2690
  /* File name text (left section) */
2643
2691
  .FilePickerField-module__osdkFilePickerText___VbLe9-Bb {
2644
2692
  flex: 1;
2693
+ align-self: stretch;
2694
+ min-width: 0;
2645
2695
  padding: var(--osdk-file-picker-trigger-padding);
2646
2696
  overflow: hidden;
2647
2697
  text-overflow: ellipsis;
@@ -2649,10 +2699,23 @@
2649
2699
  text-align: left;
2650
2700
  color: var(--osdk-file-picker-trigger-color);
2651
2701
  cursor: pointer;
2652
- background: none;
2702
+ background-color: transparent;
2653
2703
  border: none;
2654
2704
  font-family: inherit;
2655
2705
  font-size: inherit;
2706
+ line-height: inherit;
2707
+
2708
+ &:hover {
2709
+ background-color: var(--osdk-file-picker-trigger-bg-hover);
2710
+ }
2711
+
2712
+ &:active {
2713
+ background-color: var(--osdk-surface-background-color-default-active);
2714
+ }
2715
+
2716
+ &:focus-visible {
2717
+ outline: none;
2718
+ }
2656
2719
  }
2657
2720
 
2658
2721
  .FilePickerField-module__osdkFilePickerPlaceholder___ntQ09iNR {
@@ -2687,30 +2750,30 @@
2687
2750
  }
2688
2751
  }
2689
2752
 
2690
- /* Browse label (right section) */
2753
+ /* Browse button (right section) */
2691
2754
  .FilePickerField-module__osdkFilePickerBrowse___XurnxfvY {
2692
- flex-shrink: 0;
2693
- align-self: stretch;
2755
+ --osdk-button-min-height: 0;
2756
+
2694
2757
  display: flex;
2695
2758
  align-items: center;
2696
- padding: var(--osdk-file-picker-browse-padding);
2697
- border-left: var(--osdk-file-picker-browse-border-left);
2698
- box-shadow: var(--osdk-button-shadow);
2699
- background: var(--osdk-file-picker-browse-bg);
2700
- color: var(--osdk-file-picker-browse-color);
2759
+ justify-content: center;
2760
+ flex-shrink: 0;
2761
+ min-height: 0;
2762
+ margin-block-start: calc(var(--osdk-surface-spacing) * 0.5);
2763
+ margin-block-end: calc(var(--osdk-surface-spacing) * 0.5);
2764
+ margin-inline-start: calc(var(--osdk-surface-spacing) * 0.5);
2765
+ margin-inline-end: calc(var(--osdk-surface-spacing) * 0.5);
2701
2766
  font-family: var(--osdk-file-picker-trigger-font-family);
2702
2767
  font-size: var(--osdk-file-picker-trigger-font-size);
2703
- pointer-events: none;
2704
- transition: background-color var(--osdk-file-picker-transition-duration)
2705
- var(--osdk-file-picker-transition-ease);
2706
- }
2707
2768
 
2708
- .FilePickerField-module__osdkFilePickerTrigger___xiODCPnX:hover .FilePickerField-module__osdkFilePickerBrowse___XurnxfvY {
2709
- background-color: var(--osdk-file-picker-browse-bg-hover);
2769
+ &:focus {
2770
+ outline: none;
2771
+ }
2710
2772
  }
2711
2773
 
2712
- .FilePickerField-module__osdkFilePickerTrigger___xiODCPnX:active .FilePickerField-module__osdkFilePickerBrowse___XurnxfvY {
2713
- background-color: var(--osdk-file-picker-browse-bg-active);
2774
+ .FilePickerField-module__osdkFilePickerBrowse___XurnxfvY.FilePickerField-module__osdkFilePickerBrowse___XurnxfvY {
2775
+ padding-block: calc(var(--osdk-surface-spacing) * 0.5);
2776
+ padding-inline: calc(var(--osdk-surface-spacing) * 3);
2714
2777
  }
2715
2778
 
2716
2779
 
@@ -2980,21 +3043,32 @@
2980
3043
  }
2981
3044
 
2982
3045
  .RadioButtonsField-module__osdkRadioLabel___UUPF7AlO {
2983
- font-family: var(--osdk-typography-font-family);
2984
- font-size: var(--osdk-typography-font-size-default);
3046
+ font-family: var(--osdk-typography-family-default);
3047
+ font-size: var(--osdk-typography-size-body-medium);
2985
3048
  line-height: var(--osdk-typography-line-height-default);
2986
- color: var(--osdk-typography-color-default);
3049
+ color: var(--osdk-typography-color-default-rest);
2987
3050
  cursor: pointer;
2988
3051
  }
2989
3052
 
2990
3053
 
2991
3054
  /* action-form/fields/TimePicker.module.css */
2992
- /* TimePicker — bare time input. Layout (spacing, borders) owned by the parent. */
3055
+ /* TimePicker — HH:mm control. Outer layout is owned by the parent. */
3056
+
3057
+ .TimePicker-module__osdkTimePickerRoot___i8UN3Nug {
3058
+ display: inline-flex;
3059
+ align-items: center;
3060
+ gap: var(--osdk-surface-spacing);
3061
+ }
2993
3062
 
2994
3063
  .TimePicker-module__osdkTimePickerInput___uUABQ7Pu {
2995
- width: 100%;
3064
+ width: calc(var(--osdk-surface-spacing) * 10);
2996
3065
  font-family: var(--osdk-time-picker-input-font-family);
2997
3066
  font-size: var(--osdk-time-picker-input-font-size);
3067
+ line-height: var(
3068
+ --osdk-input-line-height,
3069
+ var(--osdk-typography-line-height-default)
3070
+ );
3071
+ text-align: center;
2998
3072
  padding: var(--osdk-time-picker-input-padding);
2999
3073
  border: var(--osdk-time-picker-input-border);
3000
3074
  border-radius: var(--osdk-time-picker-input-border-radius);
@@ -3007,6 +3081,20 @@
3007
3081
  outline: var(--osdk-time-picker-input-focus-outline);
3008
3082
  outline-offset: var(--osdk-time-picker-input-focus-offset);
3009
3083
  }
3084
+
3085
+ &[aria-invalid] {
3086
+ border-color: var(--osdk-input-border-color-error);
3087
+ }
3088
+ }
3089
+
3090
+ .TimePicker-module__osdkTimePickerSeparator___3cKcNBWE {
3091
+ color: var(--osdk-typography-color-muted);
3092
+ font-family: var(--osdk-time-picker-input-font-family);
3093
+ font-size: var(--osdk-time-picker-input-font-size);
3094
+ line-height: var(
3095
+ --osdk-input-line-height,
3096
+ var(--osdk-typography-line-height-default)
3097
+ );
3010
3098
  }
3011
3099
 
3012
3100
 
@@ -3076,6 +3164,25 @@
3076
3164
  }
3077
3165
  }
3078
3166
 
3167
+ .ActionButton-module__minimalButton___GD-TV5sR {
3168
+ background-color: var(--osdk-button-minimal-bg);
3169
+ border: var(--osdk-button-minimal-border);
3170
+ box-shadow: var(--osdk-button-minimal-shadow);
3171
+ color: var(--osdk-button-secondary-minimal-color);
3172
+
3173
+ &:hover:not(:disabled) {
3174
+ background-color: var(--osdk-button-minimal-bg-hover);
3175
+ }
3176
+
3177
+ &:active:not(:disabled) {
3178
+ background-color: var(--osdk-button-minimal-bg-active);
3179
+ }
3180
+ }
3181
+
3182
+ .ActionButton-module__primaryButton___26uDwmR6.ActionButton-module__minimalButton___GD-TV5sR {
3183
+ color: var(--osdk-button-primary-minimal-color);
3184
+ }
3185
+
3079
3186
 
3080
3187
  /* base-components/checkbox/Checkbox.module.css */
3081
3188
  /*
@@ -3258,6 +3365,12 @@
3258
3365
  );
3259
3366
  }
3260
3367
 
3368
+ /* Override global :focus rules (e.g. Blueprint) that add an outline on
3369
+ mouse click. Only show the ring on keyboard focus (:focus-visible). */
3370
+ &:focus:not(:focus-visible) {
3371
+ outline: none;
3372
+ }
3373
+
3261
3374
  &:focus-visible {
3262
3375
  outline: var(
3263
3376
  --osdk-combobox-trigger-focus-width,
@@ -3271,6 +3384,10 @@
3271
3384
  );
3272
3385
  }
3273
3386
 
3387
+ &[data-popup-open]:focus-visible {
3388
+ outline: none;
3389
+ }
3390
+
3274
3391
  &[data-disabled] {
3275
3392
  cursor: not-allowed;
3276
3393
  opacity: var(--osdk-disabled-opacity, 0.5);
@@ -3465,13 +3582,20 @@
3465
3582
 
3466
3583
  .Combobox-module__osdkComboboxPositioner___hKb8oXuo {
3467
3584
  z-index: var(--osdk-combobox-z-index, var(--osdk-surface-z-index-3));
3585
+ /* Base UI may focus popup containers so they can own roving keyboard
3586
+ navigation. Keep visible focus on the trigger/input or highlighted option
3587
+ instead of drawing a browser-default ring around this wrapper. */
3588
+ outline: none;
3468
3589
  }
3469
3590
 
3470
3591
  .Combobox-module__osdkComboboxPopup___J-p7AW55 {
3471
3592
  display: flex;
3472
3593
  flex-direction: column;
3473
3594
  min-width: var(--anchor-width);
3474
- max-height: var(--available-height);
3595
+ max-height: min(
3596
+ var(--osdk-combobox-popup-max-height),
3597
+ var(--available-height)
3598
+ );
3475
3599
  overflow-y: auto;
3476
3600
  padding: calc(
3477
3601
  var(--osdk-combobox-spacing, var(--osdk-surface-spacing)) * 1.5
@@ -3488,6 +3612,10 @@
3488
3612
  var(--osdk-surface-background-color-default-rest)
3489
3613
  );
3490
3614
  box-shadow: var(--osdk-combobox-popup-shadow, var(--osdk-surface-shadow-2));
3615
+
3616
+ &:focus {
3617
+ outline: none;
3618
+ }
3491
3619
  }
3492
3620
 
3493
3621
  /*
@@ -3607,7 +3735,7 @@
3607
3735
  );
3608
3736
  background-color: var(
3609
3737
  --osdk-combobox-chip-bg,
3610
- var(--osdk-surface-background-color-default-hover)
3738
+ var(--osdk-custom-color-gray-4)
3611
3739
  );
3612
3740
  font-family: var(
3613
3741
  --osdk-combobox-font-family,
@@ -3699,6 +3827,13 @@
3699
3827
  display: flex;
3700
3828
  flex-direction: column;
3701
3829
  overflow-y: auto;
3830
+
3831
+ /* Base UI moves focus into the list when the popup opens for keyboard
3832
+ navigation. Highlighted options provide the visible affordance, so do not
3833
+ draw a browser/default focus ring around the whole popup list. */
3834
+ &:focus {
3835
+ outline: none;
3836
+ }
3702
3837
  }
3703
3838
 
3704
3839
  .Combobox-module__osdkComboboxEmpty___rfSN-zlQ {
@@ -3795,7 +3930,7 @@
3795
3930
  );
3796
3931
  background-color: var(
3797
3932
  --osdk-combobox-chip-bg,
3798
- var(--osdk-surface-background-color-default-hover)
3933
+ var(--osdk-custom-color-gray-4)
3799
3934
  );
3800
3935
  font-size: var(
3801
3936
  --osdk-combobox-chip-font-size,
@@ -4274,6 +4409,12 @@
4274
4409
  );
4275
4410
  }
4276
4411
 
4412
+ /* Override global :focus rules (e.g. Blueprint) that add an outline on
4413
+ mouse click. Only show the ring on keyboard focus (:focus-visible). */
4414
+ &:focus:not(:focus-visible) {
4415
+ outline: none;
4416
+ }
4417
+
4277
4418
  &:focus-visible {
4278
4419
  outline: var(--osdk-select-focus-width, var(--osdk-emphasis-focus-width))
4279
4420
  solid var(--osdk-select-focus-color, var(--osdk-emphasis-focus-color));
@@ -4283,6 +4424,10 @@
4283
4424
  );
4284
4425
  }
4285
4426
 
4427
+ &[data-popup-open]:focus-visible {
4428
+ outline: none;
4429
+ }
4430
+
4286
4431
  &[data-disabled] {
4287
4432
  cursor: not-allowed;
4288
4433
  opacity: var(--osdk-disabled-opacity, 0.5);
@@ -4389,6 +4534,10 @@
4389
4534
 
4390
4535
  .Select-module__osdkSelectPositioner___isn6y3d0 {
4391
4536
  z-index: var(--osdk-select-z-index, var(--osdk-surface-z-index-3));
4537
+ /* Base UI may focus the popup/positioner so it can own select keyboard
4538
+ navigation. Keep the visual focus affordance on the active option instead
4539
+ of drawing a browser-default ring around this non-interactive wrapper. */
4540
+ outline: none;
4392
4541
  }
4393
4542
 
4394
4543
  .Select-module__osdkSelectPopup___mKufWAKp {
@@ -4410,6 +4559,10 @@
4410
4559
  var(--osdk-surface-background-color-default-rest)
4411
4560
  );
4412
4561
  box-shadow: var(--osdk-select-popup-shadow, var(--osdk-surface-shadow-2));
4562
+
4563
+ &:focus {
4564
+ outline: none;
4565
+ }
4413
4566
  }
4414
4567
 
4415
4568
  .Select-module__osdkSelectItem___OVOZPohZ {
@@ -4531,10 +4684,22 @@
4531
4684
  */
4532
4685
 
4533
4686
  .Switch-module__osdkSwitchRoot___Jp9OHtZ1 {
4534
- --osdk-switch-track-width: var(--osdk-switch-track-width-override, 28px);
4535
- --osdk-switch-track-height: var(--osdk-switch-track-height-override, 16px);
4536
- --osdk-switch-thumb-size: var(--osdk-switch-thumb-size-override, 12px);
4537
- --osdk-switch-thumb-offset: var(--osdk-switch-thumb-offset-override, 2px);
4687
+ --osdk-switch-track-width: var(
4688
+ --osdk-switch-track-width-override,
4689
+ calc(var(--osdk-surface-spacing) * 9)
4690
+ );
4691
+ --osdk-switch-track-height: var(
4692
+ --osdk-switch-track-height-override,
4693
+ calc(var(--osdk-surface-spacing) * 5)
4694
+ );
4695
+ --osdk-switch-thumb-size: var(
4696
+ --osdk-switch-thumb-size-override,
4697
+ calc(var(--osdk-surface-spacing) * 4)
4698
+ );
4699
+ --osdk-switch-thumb-offset: var(
4700
+ --osdk-switch-thumb-offset-override,
4701
+ calc(var(--osdk-surface-spacing) * 0.5)
4702
+ );
4538
4703
 
4539
4704
  display: inline-flex;
4540
4705
  align-items: center;
@@ -4542,7 +4707,7 @@
4542
4707
  height: var(--osdk-switch-track-height);
4543
4708
  padding: 0;
4544
4709
  cursor: pointer;
4545
- border-radius: var(--osdk-switch-border-radius, var(--osdk-surface-border-radius));
4710
+ border-radius: var(--osdk-switch-border-radius, 9999px);
4546
4711
  position: relative;
4547
4712
  border: none;
4548
4713
  transition: background-color var(--osdk-switch-transition-duration, var(--osdk-emphasis-transition-duration))
@@ -4574,7 +4739,7 @@
4574
4739
 
4575
4740
  &[data-disabled] {
4576
4741
  cursor: not-allowed;
4577
- opacity: 0.5;
4742
+ opacity: var(--osdk-switch-disabled-opacity, var(--osdk-input-disabled-opacity));
4578
4743
  }
4579
4744
 
4580
4745
  &:focus-visible {
@@ -5499,6 +5664,17 @@
5499
5664
  transition: opacity var(--osdk-filter-content-fade-duration);
5500
5665
  }
5501
5666
 
5667
+ .ListogramInput-module__noValueLabel___8avapBJI {
5668
+ color: var(
5669
+ --osdk-filter-listogram-empty-label-color,
5670
+ var(--osdk-filter-no-value-color)
5671
+ );
5672
+ font-style: var(
5673
+ --osdk-filter-listogram-empty-label-font-style,
5674
+ var(--osdk-filter-no-value-font-style)
5675
+ );
5676
+ }
5677
+
5502
5678
  .ListogramInput-module__listogram___QdvKag0g[data-loading="true"] {
5503
5679
  opacity: 0.5;
5504
5680
  }
@@ -5556,11 +5732,6 @@
5556
5732
  text-decoration: line-through;
5557
5733
  }
5558
5734
 
5559
- .ListogramInput-module__emptyLabel___4JpVowj8 {
5560
- color: var(--osdk-filter-listogram-empty-label-color);
5561
- font-style: var(--osdk-filter-listogram-empty-label-font-style);
5562
- }
5563
-
5564
5735
  .ListogramInput-module__bar___iUqTfYSm {
5565
5736
  width: var(--osdk-filter-listogram-bar-width);
5566
5737
  flex-shrink: 0;
@@ -5755,6 +5926,29 @@
5755
5926
  }
5756
5927
 
5757
5928
 
5929
+ /* filter-list/base/inputs/NoValueLabel.module.css */
5930
+ /*
5931
+ * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
5932
+ *
5933
+ * Licensed under the Apache License, Version 2.0 (the "License");
5934
+ * you may not use this file except in compliance with the License.
5935
+ * You may obtain a copy of the License at
5936
+ *
5937
+ * http://www.apache.org/licenses/LICENSE-2.0
5938
+ *
5939
+ * Unless required by applicable law or agreed to in writing, software
5940
+ * distributed under the License is distributed on an "AS IS" BASIS,
5941
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5942
+ * See the License for the specific language governing permissions and
5943
+ * limitations under the License.
5944
+ */
5945
+
5946
+ .NoValueLabel-module__noValue___rihoTb7q {
5947
+ color: var(--osdk-filter-no-value-color);
5948
+ font-style: var(--osdk-filter-no-value-font-style);
5949
+ }
5950
+
5951
+
5758
5952
  /* filter-list/base/inputs/NullValueWrapper.module.css */
5759
5953
  /*
5760
5954
  * Copyright 2025 Palantir Technologies, Inc. All rights reserved.
@@ -5778,6 +5972,16 @@
5778
5972
  gap: var(--osdk-filter-null-wrapper-gap);
5779
5973
  }
5780
5974
 
5975
+ .NullValueWrapper-module__noValueLabel___dz4qRXGp {
5976
+ color: var(
5977
+ --osdk-filter-null-label-color,
5978
+ var(--osdk-filter-no-value-color)
5979
+ );
5980
+ font-family: var(--osdk-filter-null-label-font-family, inherit);
5981
+ font-size: var(--osdk-filter-null-label-font-size, inherit);
5982
+ line-height: var(--osdk-filter-null-label-line-height, inherit);
5983
+ }
5984
+
5781
5985
  .NullValueWrapper-module__nullValueRow___sHIqcE89 {
5782
5986
  display: flex;
5783
5987
  align-items: center;
@@ -5793,13 +5997,6 @@
5793
5997
  cursor: pointer;
5794
5998
  }
5795
5999
 
5796
- .NullValueWrapper-module__nullLabelText___jzAptlbZ {
5797
- font-family: var(--osdk-filter-null-label-font-family);
5798
- font-size: var(--osdk-filter-null-label-font-size);
5799
- line-height: var(--osdk-filter-null-label-line-height);
5800
- color: var(--osdk-filter-null-label-color);
5801
- }
5802
-
5803
6000
  .NullValueWrapper-module__count___-Rsq7EuS {
5804
6001
  font-family: var(--osdk-filter-null-count-font-family);
5805
6002
  font-size: var(--osdk-filter-null-count-font-size);
@@ -6822,6 +7019,10 @@
6822
7019
  padding: calc(var(--osdk-surface-spacing) * 0.5) 0;
6823
7020
  }
6824
7021
 
7022
+ .EditableCell-module__nonEditableCellInEditMode___Mh3RMcM3 {
7023
+ padding-left: calc(var(--osdk-surface-spacing) * 3);
7024
+ }
7025
+
6825
7026
  .EditableCell-module__osdkEditableInput___2BjN5Q4P {
6826
7027
  width: 100%;
6827
7028
  overflow: hidden;