@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
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/action-form/fields/DateRangeCalendar.tsx"],"names":["CLASS_NAMES","classnames","DateCalendar_default","useMemo","buildDisabledMatchers","DEFAULT_FROM_YEAR","DEFAULT_TO_YEAR","React","DayPicker","CALENDAR_COMPONENTS"],"mappings":";;;;;;;;;;;;;;;;AAsBA,IAAMA,YAAAA,GAAc;AAAA,EAClB,GAAGA,6BAAA;AAAA,EACH,eAAA,EAAiBC,2BAAA,CAAWC,sCAAA,CAAO,qBAAA,EAAuBA,uCAAO,kBAAkB,CAAA;AAAA,EACnF,kBAAkBA,sCAAA,CAAO,mBAAA;AAAA,EACzB,aAAA,EAAeD,2BAAA,CAAWC,sCAAA,CAAO,qBAAA,EAAuBA,uCAAO,gBAAgB;AACjF,CAAA;AACe,SAAR,iBAAA,CAAmC;AAAA,EACxC,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,QAAA,GAAWC,aAAA,CAAQ,MAAMC,uCAAA,CAAsB,GAAA,EAAK,GAAG,CAAA,EAAG,CAAC,GAAA,EAAK,GAAG,CAAC,CAAA;AAC1E,EAAA,MAAM,QAAA,GAAW,GAAA,IAAO,IAAA,GAAO,GAAA,CAAI,aAAY,GAAIC,mCAAA;AACnD,EAAA,MAAM,MAAA,GAAS,GAAA,IAAO,IAAA,GAAO,GAAA,CAAI,aAAY,GAAIC,iCAAA;AACjD,EAAA,MAAM,iBAAiB,MAAA,IAAU,IAAA,GAAO,MAAA,mBAAyBC,sBAAA,CAAM,cAAc,KAAA,EAAO;AAAA,IAC1F,WAAWL,sCAAA,CAAO;AAAA,KACjB,MAAM,CAAA;AACT,EAAA,8CAA0B,aAAA,CAAcK,sBAAA,CAAM,UAAU,IAAA,kBAAmBA,sBAAA,CAAM,cAAcC,wBAAA,EAAW;AAAA,IACxG,IAAA,EAAM,OAAA;AAAA,IACN,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAc,QAAA,EAAU,IAAA;AAAA,IACxB,UAAA,EAAYR,YAAAA;AAAA,IACZ,UAAA,EAAYS,qCAAA;AAAA,IACZ,aAAA,EAAe,kBAAA;AAAA,IACf,QAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA,EAAgB,CAAA;AAAA,IAChB,eAAA,EAAiB;AAAA,GAClB,GAAG,cAAc,CAAA;AACpB","file":"DateRangeCalendar-OHT4IUWQ.cjs","sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport { DayPicker } from \"react-day-picker\";\nimport { buildDisabledMatchers, DEFAULT_FROM_YEAR, DEFAULT_TO_YEAR } from \"./calendarShared.js\";\nimport { CALENDAR_COMPONENTS, CLASS_NAMES as BASE_CLASS_NAMES } from \"./DateCalendar.js\";\nimport styles from \"./DateCalendar.module.css\";\nconst CLASS_NAMES = {\n ...BASE_CLASS_NAMES,\n day_range_start: classnames(styles.calendarRangeEndpoint, styles.calendarRangeStart),\n day_range_middle: styles.calendarRangeMiddle,\n day_range_end: classnames(styles.calendarRangeEndpoint, styles.calendarRangeEnd)\n};\nexport default function DateRangeCalendar({\n selected,\n onSelect,\n min,\n max,\n footer\n}) {\n const disabled = useMemo(() => buildDisabledMatchers(min, max), [min, max]);\n const fromYear = min != null ? min.getFullYear() : DEFAULT_FROM_YEAR;\n const toYear = max != null ? max.getFullYear() : DEFAULT_TO_YEAR;\n const calendarFooter = footer == null ? undefined : /*#__PURE__*/React.createElement(\"div\", {\n className: styles.calendarRangeFooter\n }, footer);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DayPicker, {\n mode: \"range\",\n selected: selected,\n onSelect: onSelect,\n disabled: disabled,\n defaultMonth: selected?.from,\n classNames: CLASS_NAMES,\n components: CALENDAR_COMPONENTS,\n captionLayout: \"dropdown-buttons\",\n fromYear: fromYear,\n toYear: toYear,\n numberOfMonths: 2,\n pagedNavigation: true\n }), calendarFooter);\n}"]}
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkJLESWL47_cjs = require('./chunk-JLESWL47.cjs');
4
- var chunkSB2VTP67_cjs = require('./chunk-SB2VTP67.cjs');
3
+ var chunkV7XWTJV7_cjs = require('./chunk-V7XWTJV7.cjs');
4
+ var chunkZ7VHLTKD_cjs = require('./chunk-Z7VHLTKD.cjs');
5
+ var chunkMQYOHGPY_cjs = require('./chunk-MQYOHGPY.cjs');
5
6
  var React7 = require('react');
6
7
  var input = require('@base-ui/react/input');
7
8
  var popover = require('@base-ui/react/popover');
@@ -21,7 +22,7 @@ var DatePickerCommon_default = {};
21
22
 
22
23
  // src/action-form/fields/DatetimePickerField.module.css
23
24
  var DatetimePickerField_default = {};
24
- var DateCalendarLazy = /* @__PURE__ */ React7__default.default.lazy(() => import('./DateCalendar-QGSYBWJB.cjs'));
25
+ var DateCalendarLazy = /* @__PURE__ */ React7__default.default.lazy(() => import('./DateCalendar-RX7HP2XP.cjs'));
25
26
  function LazyDateCalendar(props) {
26
27
  return /* @__PURE__ */ React7__default.default.createElement(React7.Suspense, {
27
28
  fallback: /* @__PURE__ */ React7__default.default.createElement("div", {
@@ -54,36 +55,165 @@ var PortalDismissLayer = /* @__PURE__ */ React7__default.default.memo(function P
54
55
  var TimePicker_default = {};
55
56
 
56
57
  // src/action-form/fields/TimePicker.tsx
57
- function TimePicker({
58
+ var NUMERIC_INPUT_PATTERN = "[0-9]*";
59
+ var SEGMENT_LIMITS = {
60
+ hours: {
61
+ min: 0,
62
+ max: 23
63
+ },
64
+ minutes: {
65
+ min: 0,
66
+ max: 59
67
+ }
68
+ };
69
+ var TimePicker = /* @__PURE__ */ React7__default.default.memo(function TimePickerFn({
58
70
  value,
59
71
  onChange,
60
72
  label = "Time"
61
73
  }) {
62
- const [localValue, setLocalValue] = React7.useState(value);
63
- const isFocusedRef = React7.useRef(false);
64
- const prevValueRef = React7.useRef(value);
65
- if (prevValueRef.current !== value) {
66
- prevValueRef.current = value;
67
- if (!isFocusedRef.current) {
68
- setLocalValue(value);
74
+ const valueTimestamp = value?.getTime() ?? null;
75
+ const [internalSegments, setInternalSegments] = React7.useState(() => createInternalSegments(valueTimestamp, segmentsFromTimestamp(valueTimestamp)));
76
+ const valueSegments = React7.useMemo(() => segmentsFromTimestamp(valueTimestamp), [valueTimestamp]);
77
+ const activeSegments = internalSegments.valueTimestamp === valueTimestamp ? internalSegments : createInternalSegments(valueTimestamp, valueSegments);
78
+ const hourText = activeSegments.hours;
79
+ const minuteText = activeSegments.minutes;
80
+ const hourInvalid = isSegmentInvalid(hourText, "hours");
81
+ const minuteInvalid = isSegmentInvalid(minuteText, "minutes");
82
+ const emitChange = React7.useCallback((hours, minutes) => {
83
+ const nextDate = value != null ? new Date(value.getTime()) : /* @__PURE__ */ new Date();
84
+ nextDate.setHours(hours, minutes, 0, 0);
85
+ onChange?.(nextDate);
86
+ }, [onChange, value]);
87
+ const handleSegmentChange = React7.useCallback((segment, nextText) => {
88
+ setInternalSegments({
89
+ valueTimestamp,
90
+ ...replaceSegmentText({
91
+ hours: hourText,
92
+ minutes: minuteText
93
+ }, {
94
+ segment,
95
+ nextText
96
+ })
97
+ });
98
+ }, [hourText, minuteText, valueTimestamp]);
99
+ const handleSegmentBlur = React7.useCallback((segment, text) => {
100
+ const parsedSegment = parseNumber(text);
101
+ if (parsedSegment == null) {
102
+ setInternalSegments(createInternalSegments(valueTimestamp, valueSegments));
103
+ return;
69
104
  }
70
- }
71
- const handleFocus = React7.useCallback(() => {
72
- isFocusedRef.current = true;
73
- }, []);
74
- const handleBlur = React7.useCallback(() => {
75
- isFocusedRef.current = false;
76
- onChange(localValue);
77
- }, [onChange, localValue]);
78
- return /* @__PURE__ */ React7__default.default.createElement(input.Input, {
79
- type: "time",
80
- value: localValue,
81
- onValueChange: setLocalValue,
82
- onFocus: handleFocus,
83
- onBlur: handleBlur,
84
- className: TimePicker_default.osdkTimePickerInput,
105
+ const clampedSegment = clampSegment(parsedSegment, segment);
106
+ const nextSegments = replaceSegmentText({
107
+ hours: hourText,
108
+ minutes: minuteText
109
+ }, {
110
+ segment,
111
+ nextText: formatSegment(clampedSegment, segment)
112
+ });
113
+ const nextHours = parseSegment(nextSegments.hours, "hours") ?? Number(valueSegments.hours);
114
+ const nextMinutes = parseSegment(nextSegments.minutes, "minutes") ?? Number(valueSegments.minutes);
115
+ setInternalSegments({
116
+ valueTimestamp,
117
+ hours: formatSegment(nextHours, "hours"),
118
+ minutes: formatSegment(nextMinutes, "minutes")
119
+ });
120
+ const currentHours = Number(valueSegments.hours);
121
+ const currentMinutes = Number(valueSegments.minutes);
122
+ if (nextHours !== currentHours || nextMinutes !== currentMinutes) {
123
+ emitChange(nextHours, nextMinutes);
124
+ }
125
+ }, [emitChange, hourText, minuteText, valueTimestamp, valueSegments]);
126
+ const handleHourChange = React7.useCallback((nextText) => handleSegmentChange("hours", nextText), [handleSegmentChange]);
127
+ const handleMinuteChange = React7.useCallback((nextText) => handleSegmentChange("minutes", nextText), [handleSegmentChange]);
128
+ const handleHourBlur = React7.useCallback(() => handleSegmentBlur("hours", hourText), [handleSegmentBlur, hourText]);
129
+ const handleMinuteBlur = React7.useCallback(() => handleSegmentBlur("minutes", minuteText), [handleSegmentBlur, minuteText]);
130
+ return /* @__PURE__ */ React7__default.default.createElement("div", {
131
+ className: TimePicker_default.osdkTimePickerRoot,
132
+ role: "group",
85
133
  "aria-label": label
86
- });
134
+ }, /* @__PURE__ */ React7__default.default.createElement(input.Input, {
135
+ type: "text",
136
+ inputMode: "numeric",
137
+ pattern: NUMERIC_INPUT_PATTERN,
138
+ value: hourText,
139
+ onValueChange: handleHourChange,
140
+ onBlur: handleHourBlur,
141
+ className: TimePicker_default.osdkTimePickerInput,
142
+ "aria-label": `${label} hours`,
143
+ "aria-invalid": hourInvalid || void 0
144
+ }), /* @__PURE__ */ React7__default.default.createElement("span", {
145
+ className: TimePicker_default.osdkTimePickerSeparator,
146
+ "aria-hidden": "true"
147
+ }, ":"), /* @__PURE__ */ React7__default.default.createElement(input.Input, {
148
+ type: "text",
149
+ inputMode: "numeric",
150
+ pattern: NUMERIC_INPUT_PATTERN,
151
+ value: minuteText,
152
+ onValueChange: handleMinuteChange,
153
+ onBlur: handleMinuteBlur,
154
+ className: TimePicker_default.osdkTimePickerInput,
155
+ "aria-label": `${label} minutes`,
156
+ "aria-invalid": minuteInvalid || void 0
157
+ }));
158
+ });
159
+ function createInternalSegments(valueTimestamp, segments) {
160
+ return {
161
+ valueTimestamp,
162
+ ...segments
163
+ };
164
+ }
165
+ function replaceSegmentText(segments, {
166
+ segment,
167
+ nextText
168
+ }) {
169
+ return {
170
+ ...segments,
171
+ [segment]: nextText
172
+ };
173
+ }
174
+ function segmentsFromTimestamp(valueTimestamp) {
175
+ if (valueTimestamp == null) {
176
+ return {
177
+ hours: formatSegment(0, "hours"),
178
+ minutes: formatSegment(0, "minutes")
179
+ };
180
+ }
181
+ const value = new Date(valueTimestamp);
182
+ return {
183
+ hours: formatSegment(value.getHours(), "hours"),
184
+ minutes: formatSegment(value.getMinutes(), "minutes")
185
+ };
186
+ }
187
+ function formatSegment(value, segment) {
188
+ return segment === "hours" ? String(value) : String(value).padStart(2, "0");
189
+ }
190
+ function parseNumber(text) {
191
+ if (!/^\d{1,2}$/.test(text)) {
192
+ return void 0;
193
+ }
194
+ const parsed = Number(text);
195
+ return Number.isNaN(parsed) ? void 0 : parsed;
196
+ }
197
+ function parseSegment(text, segment) {
198
+ const parsed = parseNumber(text);
199
+ if (parsed == null) {
200
+ return void 0;
201
+ }
202
+ const {
203
+ min,
204
+ max
205
+ } = SEGMENT_LIMITS[segment];
206
+ return parsed >= min && parsed <= max ? parsed : void 0;
207
+ }
208
+ function isSegmentInvalid(text, segment) {
209
+ return parseSegment(text, segment) == null;
210
+ }
211
+ function clampSegment(value, segment) {
212
+ const {
213
+ min,
214
+ max
215
+ } = SEGMENT_LIMITS[segment];
216
+ return Math.min(Math.max(value, min), max);
87
217
  }
88
218
  function useDateEditState({
89
219
  value,
@@ -109,7 +239,7 @@ function useDateEditState({
109
239
  const inputError = (() => {
110
240
  if (!isEditing || inputValue === "") return null;
111
241
  if (dateValue == null) return "invalid";
112
- if (!chunkSB2VTP67_cjs.isDateInRange(dateValue, min, max)) return "out-of-range";
242
+ if (!chunkMQYOHGPY_cjs.isDateInRange(dateValue, min, max)) return "out-of-range";
113
243
  return null;
114
244
  })();
115
245
  const validatedDate = inputError == null && dateValue != null ? dateValue : null;
@@ -168,16 +298,20 @@ var DatetimePickerField = /* @__PURE__ */ React7__default.default.memo(function
168
298
  }) {
169
299
  const shouldCloseOnSelection = closeOnSelection ?? !showTime;
170
300
  const popoverId = React7.useId();
301
+ const wrapperRef = React7.useRef(null);
171
302
  const inputRef = React7.useRef(null);
172
303
  const popoverRef = React7.useRef(null);
173
304
  const [isOpen, setIsOpen] = React7.useState(false);
305
+ const [visibleCalendarMonth, setVisibleCalendarMonth] = React7.useState(value ?? /* @__PURE__ */ new Date());
174
306
  const skipReopenRef = React7.useRef(false);
175
- const editFormatFn = showTime ? chunkSB2VTP67_cjs.formatDatetimeForInput : chunkSB2VTP67_cjs.formatDateForInput;
176
- const displayFormatFn = formatDate ?? (showTime ? chunkSB2VTP67_cjs.formatDatetimeForInput : chunkSB2VTP67_cjs.formatDateForDisplay);
177
- const parseFn = parseDate ?? (showTime ? chunkSB2VTP67_cjs.parseDatetimeFromInput : chunkSB2VTP67_cjs.parseDateFromInput);
307
+ const editFormatFn = showTime ? chunkMQYOHGPY_cjs.formatDatetimeForInput : chunkMQYOHGPY_cjs.formatDateForInput;
308
+ const displayFormatFn = formatDate ?? (showTime ? chunkMQYOHGPY_cjs.formatDatetimeForInput : chunkMQYOHGPY_cjs.formatDateForInput);
309
+ const parseFn = parseDate ?? (showTime ? chunkMQYOHGPY_cjs.parseDatetimeFromInput : chunkMQYOHGPY_cjs.parseDateFromInput);
178
310
  const {
311
+ isEditing,
179
312
  displayedValue,
180
313
  inputError,
314
+ dateValue,
181
315
  startEditing,
182
316
  stopEditing,
183
317
  commitAndStopEditing,
@@ -199,8 +333,20 @@ var DatetimePickerField = /* @__PURE__ */ React7__default.default.memo(function
199
333
  return;
200
334
  }
201
335
  startEditing();
336
+ setVisibleCalendarMonth(value ?? void 0);
202
337
  setIsOpen(true);
203
- }, [startEditing]);
338
+ }, [startEditing, value]);
339
+ const handlePointerDown = React7.useCallback(() => {
340
+ inputRef.current?.focus();
341
+ handleFocus();
342
+ }, [handleFocus]);
343
+ const handleInputValueChange = React7.useCallback((nextValue) => {
344
+ setInputValue(nextValue);
345
+ const parsedDate = nextValue !== "" ? parseFn(nextValue) : void 0;
346
+ if (parsedDate != null && chunkMQYOHGPY_cjs.isDateInRange(parsedDate, min, max)) {
347
+ setVisibleCalendarMonth(parsedDate);
348
+ }
349
+ }, [max, min, parseFn, setInputValue]);
204
350
  const handleBlur = React7.useCallback((e) => {
205
351
  const relatedTarget = e.relatedTarget ?? document.activeElement;
206
352
  if (popoverRef.current?.contains(relatedTarget)) {
@@ -252,20 +398,19 @@ var DatetimePickerField = /* @__PURE__ */ React7__default.default.memo(function
252
398
  }
253
399
  onChange?.(date);
254
400
  setDateValue(date);
401
+ setVisibleCalendarMonth(date);
255
402
  if (shouldCloseOnSelection) {
256
403
  closePopover();
257
404
  }
258
405
  }, [onChange, showTime, value, shouldCloseOnSelection, setDateValue, setInputValue, closePopover]);
259
- const handleTimeChange = React7.useCallback((timeString) => {
260
- const {
261
- hours,
262
- minutes
263
- } = chunkSB2VTP67_cjs.parseTimeString(timeString);
264
- const base = value != null ? new Date(value.getTime()) : /* @__PURE__ */ new Date();
265
- base.setHours(hours, minutes, 0, 0);
266
- onChange?.(base);
267
- setDateValue(base);
268
- }, [value, onChange, setDateValue]);
406
+ const handleTimeChange = React7.useCallback((time) => {
407
+ onChange?.(time);
408
+ setDateValue(time);
409
+ }, [onChange, setDateValue]);
410
+ const handleCalendarClear = React7.useCallback(() => {
411
+ onChange?.(null);
412
+ setDateValue(null);
413
+ }, [onChange, setDateValue]);
269
414
  const handleStartFocusBoundary = React7.useCallback(() => {
270
415
  inputRef.current?.focus();
271
416
  }, []);
@@ -282,10 +427,11 @@ var DatetimePickerField = /* @__PURE__ */ React7__default.default.memo(function
282
427
  lastButton?.focus();
283
428
  }
284
429
  }, [stopEditing]);
430
+ const activeDateValue = isEditing && inputError == null ? dateValue : value ?? void 0;
285
431
  const timeFooter = showTime ? /* @__PURE__ */ React7__default.default.createElement("div", {
286
432
  className: DatetimePickerField_default.osdkDatetimeTimeFooter
287
433
  }, /* @__PURE__ */ React7__default.default.createElement(TimePicker, {
288
- value: chunkSB2VTP67_cjs.getTimeValue(value),
434
+ value: activeDateValue ?? null,
289
435
  onChange: handleTimeChange
290
436
  })) : void 0;
291
437
  const wrapperClassName = classnames2__default.default(DatePickerCommon_default.osdkDatePickerInputWrapper, DatetimePickerField_default.osdkDatetimeInputWrapper, inputError != null && DatePickerCommon_default.osdkDatePickerInputWrapperError);
@@ -293,29 +439,30 @@ var DatetimePickerField = /* @__PURE__ */ React7__default.default.memo(function
293
439
  open: isOpen,
294
440
  onOpenChange: handleOpenChange,
295
441
  modal: "trap-focus"
442
+ }, /* @__PURE__ */ React7__default.default.createElement("div", {
443
+ ref: wrapperRef,
444
+ className: wrapperClassName
296
445
  }, /* @__PURE__ */ React7__default.default.createElement(popover.Popover.Trigger, {
297
446
  nativeButton: false,
298
- render: /* @__PURE__ */ React7__default.default.createElement("div", {
299
- className: wrapperClassName,
300
- tabIndex: -1
447
+ render: /* @__PURE__ */ React7__default.default.createElement(input.Input, {
448
+ ref: inputRef,
449
+ id,
450
+ className: DatePickerCommon_default.osdkDatePickerInput,
451
+ type: "text",
452
+ value: displayedValue,
453
+ onValueChange: handleInputValueChange,
454
+ onFocus: handleFocus,
455
+ onPointerDown: handlePointerDown,
456
+ onBlur: handleBlur,
457
+ onClick: chunkV7XWTJV7_cjs.stopPropagation,
458
+ onKeyDown: handleKeyDown,
459
+ placeholder,
460
+ autoComplete: "off",
461
+ role: "combobox",
462
+ "aria-expanded": isOpen,
463
+ "aria-controls": popoverId,
464
+ "aria-haspopup": "dialog"
301
465
  })
302
- }, /* @__PURE__ */ React7__default.default.createElement(input.Input, {
303
- ref: inputRef,
304
- id,
305
- className: DatePickerCommon_default.osdkDatePickerInput,
306
- type: "text",
307
- value: displayedValue,
308
- onValueChange: setInputValue,
309
- onFocus: handleFocus,
310
- onBlur: handleBlur,
311
- onClick: chunkJLESWL47_cjs.stopPropagation,
312
- onKeyDown: handleKeyDown,
313
- placeholder,
314
- autoComplete: "off",
315
- role: "combobox",
316
- "aria-expanded": isOpen,
317
- "aria-controls": popoverId,
318
- "aria-haspopup": "dialog"
319
466
  })), /* @__PURE__ */ React7__default.default.createElement(popover.Popover.Portal, {
320
467
  ref: portalRef,
321
468
  container: portalContainer
@@ -323,6 +470,7 @@ var DatetimePickerField = /* @__PURE__ */ React7__default.default.memo(function
323
470
  className: DatePickerCommon_default.osdkDatePickerDismissLayer,
324
471
  onDismiss: closePopover
325
472
  }), /* @__PURE__ */ React7__default.default.createElement(popover.Popover.Positioner, {
473
+ anchor: wrapperRef,
326
474
  className: DatePickerCommon_default.osdkDatePickerPositioner,
327
475
  sideOffset: 4
328
476
  }, /* @__PURE__ */ React7__default.default.createElement(popover.Popover.Popup, {
@@ -338,11 +486,15 @@ var DatetimePickerField = /* @__PURE__ */ React7__default.default.memo(function
338
486
  "aria-label": "Start of date picker dialog",
339
487
  className: DatePickerCommon_default.osdkDatePickerFocusBoundary
340
488
  }), /* @__PURE__ */ React7__default.default.createElement(LazyDateCalendar, {
341
- dateSelected: value ?? void 0,
489
+ dateSelected: activeDateValue,
342
490
  onSelect: handleCalendarSelect,
491
+ onClear: handleCalendarClear,
492
+ month: visibleCalendarMonth,
493
+ onMonthChange: setVisibleCalendarMonth,
343
494
  min,
344
- max
345
- }), timeFooter, /* @__PURE__ */ React7__default.default.createElement("div", {
495
+ max,
496
+ footer: timeFooter
497
+ }), /* @__PURE__ */ React7__default.default.createElement("div", {
346
498
  onFocus: handleEndFocusBoundary,
347
499
  tabIndex: 0,
348
500
  "aria-label": "End of date picker dialog",
@@ -577,11 +729,11 @@ var ComboboxDropdown = typedReactMemo(function ComboboxDropdownFn({
577
729
  const handleDismiss = React7.useCallback(() => {
578
730
  setOpen(false);
579
731
  }, []);
580
- const renderItem = React7.useCallback((item) => /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Item, {
732
+ const renderItem = React7.useCallback((item) => /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Item, {
581
733
  key: getKey(item),
582
734
  value: item
583
- }, isMultiple && /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.ItemIndicator, null, /* @__PURE__ */ React7__default.default.createElement(icons.Tick, null)), itemToStringLabel(item)), [getKey, isMultiple, itemToStringLabel]);
584
- return /* @__PURE__ */ React7__default.default.createElement("div", null, /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Root, {
735
+ }, isMultiple && /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.ItemIndicator, null, /* @__PURE__ */ React7__default.default.createElement(icons.Tick, null)), itemToStringLabel(item)), [getKey, isMultiple, itemToStringLabel]);
736
+ return /* @__PURE__ */ React7__default.default.createElement("div", null, /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Root, {
585
737
  value,
586
738
  onValueChange: onChange,
587
739
  open,
@@ -593,43 +745,43 @@ var ComboboxDropdown = typedReactMemo(function ComboboxDropdownFn({
593
745
  inputValue: query,
594
746
  onInputValueChange: onQueryChange,
595
747
  filter: disableClientSideFiltering ? null : void 0
596
- }, /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Trigger, {
748
+ }, /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Trigger, {
597
749
  id,
598
- className: isMultiple ? chunkSB2VTP67_cjs.Combobox_default.osdkComboboxTriggerMulti : void 0
750
+ className: isMultiple ? chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxTriggerMulti : void 0
599
751
  }, /* @__PURE__ */ React7__default.default.createElement("div", {
600
- className: chunkSB2VTP67_cjs.Combobox_default.osdkComboboxValueContainer
752
+ className: chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxValueContainer
601
753
  }, isMultiple && Array.isArray(value) && value.length > 0 ? /* @__PURE__ */ React7__default.default.createElement("div", {
602
- className: chunkSB2VTP67_cjs.Combobox_default.osdkComboboxTriggerChips
754
+ className: chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxTriggerChips
603
755
  }, value.map((item) => /* @__PURE__ */ React7__default.default.createElement("span", {
604
756
  key: getKey(item),
605
- className: chunkSB2VTP67_cjs.Combobox_default.osdkComboboxTriggerChip
757
+ className: chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxTriggerChip
606
758
  }, itemToStringLabel(item), /* @__PURE__ */ React7__default.default.createElement("span", {
607
759
  role: "button",
608
760
  "aria-label": `Remove ${itemToStringLabel(item)}`,
609
- className: chunkSB2VTP67_cjs.Combobox_default.osdkComboboxTriggerChipRemove,
761
+ className: chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxTriggerChipRemove,
610
762
  onMouseDown: preventTriggerOpen,
611
763
  onClick: () => handleRemoveItem(item)
612
764
  }, /* @__PURE__ */ React7__default.default.createElement(icons.Cross, {
613
765
  size: 12
614
- }))))) : /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Value, null), !hasValue && placeholder != null && /* @__PURE__ */ React7__default.default.createElement("span", {
615
- className: chunkSB2VTP67_cjs.Combobox_default.osdkComboboxPlaceholder
766
+ }))))) : /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Value, null), !hasValue && placeholder != null && /* @__PURE__ */ React7__default.default.createElement("span", {
767
+ className: chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxPlaceholder
616
768
  }, placeholder))), hasValue && /* @__PURE__ */ React7__default.default.createElement("span", {
617
769
  role: "button",
618
770
  "aria-label": "Clear",
619
- className: chunkSB2VTP67_cjs.Combobox_default.osdkComboboxClear,
771
+ className: chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxClear,
620
772
  onMouseDown: preventTriggerOpen,
621
773
  onClick: handleClear
622
- }, /* @__PURE__ */ React7__default.default.createElement(icons.SmallCross, null)), /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Icon, null, /* @__PURE__ */ React7__default.default.createElement(icons.CaretDown, null))), /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Portal, {
774
+ }, /* @__PURE__ */ React7__default.default.createElement(icons.SmallCross, null)), /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Icon, null, /* @__PURE__ */ React7__default.default.createElement(icons.CaretDown, null))), /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Portal, {
623
775
  ref: portalRef,
624
776
  container: portalContainer
625
777
  }, open && /* @__PURE__ */ React7__default.default.createElement(PortalDismissLayer, {
626
778
  className: DropdownField_default.osdkComboboxDismissLayer,
627
779
  onDismiss: handleDismiss
628
- }), /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Positioner, null, /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Popup, null, isSearchable && /* @__PURE__ */ React7__default.default.createElement("div", {
629
- className: chunkSB2VTP67_cjs.Combobox_default.osdkComboboxPopupSearchInput
630
- }, /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.SearchInput, {
780
+ }), /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Positioner, null, /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Popup, null, isSearchable && /* @__PURE__ */ React7__default.default.createElement("div", {
781
+ className: chunkZ7VHLTKD_cjs.Combobox_default.osdkComboboxPopupSearchInput
782
+ }, /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.SearchInput, {
631
783
  placeholder: "Search\u2026"
632
- })), popupStatus, popupStatus == null && /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Empty, null, "No results"), /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.List, null, /* @__PURE__ */ React7__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Collection, null, renderItem), trailingItem))))));
784
+ })), popupStatus, popupStatus == null && /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Empty, null, "No results"), /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.List, null, /* @__PURE__ */ React7__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Collection, null, renderItem), trailingItem))))));
633
785
  });
634
786
  function preventTriggerOpen(e) {
635
787
  e.stopPropagation();
@@ -652,5 +804,5 @@ exports.PortalDismissLayer = PortalDismissLayer;
652
804
  exports.TimePicker = TimePicker;
653
805
  exports.typedReactMemo = typedReactMemo;
654
806
  exports.useDateEditState = useDateEditState;
655
- //# sourceMappingURL=chunk-T7I6O43T.cjs.map
656
- //# sourceMappingURL=chunk-T7I6O43T.cjs.map
807
+ //# sourceMappingURL=chunk-6SPXSFPI.cjs.map
808
+ //# sourceMappingURL=chunk-6SPXSFPI.cjs.map