@osdk/react-components 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/AGENTS.md +4 -0
  2. package/CHANGELOG.md +11 -0
  3. package/build/browser/action-form/ActionForm.js +19 -11
  4. package/build/browser/action-form/ActionForm.js.map +1 -1
  5. package/build/browser/action-form/ActionFormApi.js.map +1 -1
  6. package/build/browser/action-form/BaseForm.js +19 -13
  7. package/build/browser/action-form/BaseForm.js.map +1 -1
  8. package/build/browser/action-form/BaseForm.module.css +7 -7
  9. package/build/browser/action-form/FormField.js +5 -2
  10. package/build/browser/action-form/FormField.js.map +1 -1
  11. package/build/browser/action-form/FormField.module.css +6 -1
  12. package/build/browser/action-form/FormField.module.css.js +1 -0
  13. package/build/browser/action-form/FormFieldApi.js +7 -1
  14. package/build/browser/action-form/FormFieldApi.js.map +1 -1
  15. package/build/browser/action-form/FormHeader.module.css +2 -2
  16. package/build/browser/action-form/fields/DateCalendar.js +41 -3
  17. package/build/browser/action-form/fields/DateCalendar.js.map +1 -1
  18. package/build/browser/action-form/fields/DateCalendar.module.css +59 -10
  19. package/build/browser/action-form/fields/DateCalendar.module.css.js +5 -1
  20. package/build/browser/action-form/fields/DateRangeCalendar.js +8 -5
  21. package/build/browser/action-form/fields/DateRangeCalendar.js.map +1 -1
  22. package/build/browser/action-form/fields/DateRangeInputField.js +76 -61
  23. package/build/browser/action-form/fields/DateRangeInputField.js.map +1 -1
  24. package/build/browser/action-form/fields/DateRangeInputField.module.css +0 -15
  25. package/build/browser/action-form/fields/DateRangeInputField.module.css.js +1 -2
  26. package/build/browser/action-form/fields/DatetimePickerField.js +74 -40
  27. package/build/browser/action-form/fields/DatetimePickerField.js.map +1 -1
  28. package/build/browser/action-form/fields/DatetimePickerField.module.css +2 -9
  29. package/build/browser/action-form/fields/FieldBridge.js +1 -1
  30. package/build/browser/action-form/fields/FieldBridge.js.map +1 -1
  31. package/build/browser/action-form/fields/FilePickerField.js +47 -39
  32. package/build/browser/action-form/fields/FilePickerField.js.map +1 -1
  33. package/build/browser/action-form/fields/FilePickerField.module.css +43 -31
  34. package/build/browser/action-form/fields/FilePickerField.module.css.js +2 -2
  35. package/build/browser/action-form/fields/FormFieldRenderer.js +9 -0
  36. package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -1
  37. package/build/browser/action-form/fields/RadioButtonsField.module.css +3 -3
  38. package/build/browser/action-form/fields/SwitchField.js +34 -0
  39. package/build/browser/action-form/fields/SwitchField.js.map +1 -0
  40. package/build/browser/action-form/fields/TimePicker.js +165 -26
  41. package/build/browser/action-form/fields/TimePicker.js.map +1 -1
  42. package/build/browser/action-form/fields/TimePicker.module.css +27 -2
  43. package/build/browser/action-form/fields/TimePicker.module.css.js +3 -1
  44. package/build/browser/action-form/fields/calendarShared.js +5 -0
  45. package/build/browser/action-form/fields/calendarShared.js.map +1 -1
  46. package/build/browser/action-form/fields/useDateEditState.js +3 -4
  47. package/build/browser/action-form/fields/useDateEditState.js.map +1 -1
  48. package/build/browser/base-components/action-button/ActionButton.js +2 -1
  49. package/build/browser/base-components/action-button/ActionButton.js.map +1 -1
  50. package/build/browser/base-components/action-button/ActionButton.module.css +19 -0
  51. package/build/browser/base-components/action-button/ActionButton.module.css.js +2 -1
  52. package/build/browser/base-components/combobox/Combobox.module.css +31 -3
  53. package/build/browser/base-components/select/Select.module.css +18 -0
  54. package/build/browser/base-components/switch/Switch.module.css +18 -6
  55. package/build/browser/filter-list/base/inputs/ListogramInput.js +34 -6
  56. package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
  57. package/build/browser/filter-list/base/inputs/ListogramInput.module.css +11 -5
  58. package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +1 -1
  59. package/build/browser/filter-list/base/inputs/MultiSelectInput.js +20 -12
  60. package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
  61. package/build/browser/filter-list/base/inputs/NoValueLabel.js +36 -0
  62. package/build/browser/filter-list/base/inputs/NoValueLabel.js.map +1 -0
  63. package/build/browser/filter-list/base/inputs/NoValueLabel.module.css +20 -0
  64. package/build/browser/filter-list/base/inputs/NoValueLabel.module.css.js +6 -0
  65. package/build/browser/filter-list/base/inputs/NullValueWrapper.js +4 -3
  66. package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
  67. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
  68. package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +1 -1
  69. package/build/browser/filter-list/base/inputs/SingleSelectInput.js +13 -8
  70. package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
  71. package/build/browser/filter-list/base/inputs/TextTagsInput.js +6 -2
  72. package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -1
  73. package/build/browser/filter-list/hooks/useFilterListState.js +7 -6
  74. package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
  75. package/build/browser/filter-list/hooks/useStableMapEntries.js +35 -0
  76. package/build/browser/filter-list/hooks/useStableMapEntries.js.map +1 -0
  77. package/build/browser/filter-list/utils/filterValues.js +13 -0
  78. package/build/browser/filter-list/utils/filterValues.js.map +1 -1
  79. package/build/browser/object-table/DefaultCellRenderer.js +12 -2
  80. package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
  81. package/build/browser/object-table/EditableCell.js +14 -4
  82. package/build/browser/object-table/EditableCell.js.map +1 -1
  83. package/build/browser/object-table/EditableCell.module.css +4 -0
  84. package/build/browser/object-table/EditableCell.module.css.js +1 -0
  85. package/build/browser/object-table/ObjectTable.js +3 -1
  86. package/build/browser/object-table/ObjectTable.js.map +1 -1
  87. package/build/browser/object-table/ObjectTableApi.js.map +1 -1
  88. package/build/browser/object-table/Table.js +8 -4
  89. package/build/browser/object-table/Table.js.map +1 -1
  90. package/build/browser/object-table/TableBody.js +4 -2
  91. package/build/browser/object-table/TableBody.js.map +1 -1
  92. package/build/browser/object-table/TableRow.js +12 -4
  93. package/build/browser/object-table/TableRow.js.map +1 -1
  94. package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
  95. package/build/browser/object-table/utils/editableUtils.js +39 -0
  96. package/build/browser/object-table/utils/editableUtils.js.map +1 -0
  97. package/build/browser/object-table/utils/shouldShowEditableCell.js +1 -1
  98. package/build/browser/object-table/utils/shouldShowEditableCell.js.map +1 -1
  99. package/build/browser/object-table/utils/types.js.map +1 -1
  100. package/build/browser/styles.css +331 -130
  101. package/build/browser/tokens/component-tokens/button.css +15 -0
  102. package/build/browser/tokens/component-tokens/combobox.css +9 -0
  103. package/build/browser/tokens/component-tokens/datetime-picker.css +2 -2
  104. package/build/browser/tokens/component-tokens/file-picker.css +0 -10
  105. package/build/browser/tokens/component-tokens/filter-list.css +9 -6
  106. package/build/browser/tokens/component-tokens/form-section.css +1 -1
  107. package/build/browser/tokens/component-tokens/form.css +9 -5
  108. package/build/browser/tokens/component-tokens/table.css +3 -5
  109. package/build/browser/tokens.css +1 -0
  110. package/build/browser/util/UserAgent.js +1 -1
  111. package/build/cjs/{DateCalendar-2W4QHEEI.css → DateCalendar-G7RC2FCG.css} +105 -8
  112. package/build/cjs/DateCalendar-G7RC2FCG.css.map +1 -0
  113. package/build/cjs/DateCalendar-RX7HP2XP.cjs +26 -0
  114. package/build/cjs/{DateCalendar-QGSYBWJB.cjs.map → DateCalendar-RX7HP2XP.cjs.map} +1 -1
  115. package/build/cjs/{DateRangeCalendar-M63S2LLG.css → DateRangeCalendar-JBVYJDBJ.css} +105 -8
  116. package/build/cjs/DateRangeCalendar-JBVYJDBJ.css.map +1 -0
  117. package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs +54 -0
  118. package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs.map +1 -0
  119. package/build/cjs/{chunk-T7I6O43T.cjs → chunk-6SPXSFPI.cjs} +237 -85
  120. package/build/cjs/chunk-6SPXSFPI.cjs.map +1 -0
  121. package/build/cjs/{chunk-SZXVBDSA.cjs → chunk-6UDBHYSO.cjs} +3 -3
  122. package/build/cjs/{chunk-SZXVBDSA.cjs.map → chunk-6UDBHYSO.cjs.map} +1 -1
  123. package/build/cjs/{chunk-YBDS5WQP.cjs → chunk-7H6WXQ35.cjs} +4 -4
  124. package/build/cjs/{chunk-YBDS5WQP.cjs.map → chunk-7H6WXQ35.cjs.map} +1 -1
  125. package/build/cjs/{chunk-VVJFMOZI.cjs → chunk-I3OSD6CF.cjs} +19 -45
  126. package/build/cjs/chunk-I3OSD6CF.cjs.map +1 -0
  127. package/build/cjs/chunk-MD4KDE44.cjs +41 -0
  128. package/build/cjs/chunk-MD4KDE44.cjs.map +1 -0
  129. package/build/cjs/{chunk-YPXTSEE7.cjs → chunk-MLFMSZJQ.cjs} +85 -38
  130. package/build/cjs/chunk-MLFMSZJQ.cjs.map +1 -0
  131. package/build/cjs/chunk-MQYOHGPY.cjs +52 -0
  132. package/build/cjs/chunk-MQYOHGPY.cjs.map +1 -0
  133. package/build/cjs/{chunk-BJDCC446.cjs → chunk-PTTCWNZZ.cjs} +417 -364
  134. package/build/cjs/chunk-PTTCWNZZ.cjs.map +1 -0
  135. package/build/cjs/{chunk-B2GRQRWU.cjs → chunk-TOJSJN3L.cjs} +44 -8
  136. package/build/cjs/chunk-TOJSJN3L.cjs.map +1 -0
  137. package/build/cjs/{chunk-JLESWL47.cjs → chunk-V7XWTJV7.cjs} +4 -2
  138. package/build/cjs/chunk-V7XWTJV7.cjs.map +1 -0
  139. package/build/cjs/{chunk-L5LPFCXT.cjs → chunk-W2IASYE4.cjs} +163 -125
  140. package/build/cjs/chunk-W2IASYE4.cjs.map +1 -0
  141. package/build/cjs/chunk-X337DNCW.cjs +45 -0
  142. package/build/cjs/chunk-X337DNCW.cjs.map +1 -0
  143. package/build/cjs/{chunk-SB2VTP67.cjs → chunk-Z7VHLTKD.cjs} +2 -64
  144. package/build/cjs/chunk-Z7VHLTKD.cjs.map +1 -0
  145. package/build/cjs/public/experimental/action-form.cjs +11 -9
  146. package/build/cjs/public/experimental/action-form.css +223 -68
  147. package/build/cjs/public/experimental/action-form.css.map +1 -1
  148. package/build/cjs/public/experimental/action-form.d.cts +83 -74
  149. package/build/cjs/public/experimental/filter-list.cjs +9 -8
  150. package/build/cjs/public/experimental/filter-list.css +38 -19
  151. package/build/cjs/public/experimental/filter-list.css.map +1 -1
  152. package/build/cjs/public/experimental/object-table.cjs +14 -12
  153. package/build/cjs/public/experimental/object-table.css +152 -59
  154. package/build/cjs/public/experimental/object-table.css.map +1 -1
  155. package/build/cjs/public/experimental/object-table.d.cts +39 -20
  156. package/build/cjs/public/experimental/pdf-viewer.cjs +24 -24
  157. package/build/cjs/public/experimental.cjs +46 -44
  158. package/build/cjs/public/experimental.css +242 -139
  159. package/build/cjs/public/experimental.css.map +1 -1
  160. package/build/cjs/public/primitives.cjs +8 -7
  161. package/build/cjs/public/primitives.css +15 -0
  162. package/build/cjs/public/primitives.css.map +1 -1
  163. package/build/cjs/public/primitives.d.cts +1 -0
  164. package/build/esm/action-form/ActionForm.js +19 -11
  165. package/build/esm/action-form/ActionForm.js.map +1 -1
  166. package/build/esm/action-form/ActionFormApi.js.map +1 -1
  167. package/build/esm/action-form/BaseForm.js +19 -13
  168. package/build/esm/action-form/BaseForm.js.map +1 -1
  169. package/build/esm/action-form/BaseForm.module.css +7 -7
  170. package/build/esm/action-form/FormField.js +5 -2
  171. package/build/esm/action-form/FormField.js.map +1 -1
  172. package/build/esm/action-form/FormField.module.css +6 -1
  173. package/build/esm/action-form/FormFieldApi.js +7 -1
  174. package/build/esm/action-form/FormFieldApi.js.map +1 -1
  175. package/build/esm/action-form/FormHeader.module.css +2 -2
  176. package/build/esm/action-form/fields/DateCalendar.js +41 -3
  177. package/build/esm/action-form/fields/DateCalendar.js.map +1 -1
  178. package/build/esm/action-form/fields/DateCalendar.module.css +59 -10
  179. package/build/esm/action-form/fields/DateRangeCalendar.js +8 -5
  180. package/build/esm/action-form/fields/DateRangeCalendar.js.map +1 -1
  181. package/build/esm/action-form/fields/DateRangeInputField.js +76 -61
  182. package/build/esm/action-form/fields/DateRangeInputField.js.map +1 -1
  183. package/build/esm/action-form/fields/DateRangeInputField.module.css +0 -15
  184. package/build/esm/action-form/fields/DatetimePickerField.js +74 -40
  185. package/build/esm/action-form/fields/DatetimePickerField.js.map +1 -1
  186. package/build/esm/action-form/fields/DatetimePickerField.module.css +2 -9
  187. package/build/esm/action-form/fields/FieldBridge.js +1 -1
  188. package/build/esm/action-form/fields/FieldBridge.js.map +1 -1
  189. package/build/esm/action-form/fields/FilePickerField.js +47 -39
  190. package/build/esm/action-form/fields/FilePickerField.js.map +1 -1
  191. package/build/esm/action-form/fields/FilePickerField.module.css +43 -31
  192. package/build/esm/action-form/fields/FormFieldRenderer.js +9 -0
  193. package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -1
  194. package/build/esm/action-form/fields/RadioButtonsField.module.css +3 -3
  195. package/build/esm/action-form/fields/SwitchField.js +34 -0
  196. package/build/esm/action-form/fields/SwitchField.js.map +1 -0
  197. package/build/esm/action-form/fields/TimePicker.js +165 -26
  198. package/build/esm/action-form/fields/TimePicker.js.map +1 -1
  199. package/build/esm/action-form/fields/TimePicker.module.css +27 -2
  200. package/build/esm/action-form/fields/calendarShared.js +5 -0
  201. package/build/esm/action-form/fields/calendarShared.js.map +1 -1
  202. package/build/esm/action-form/fields/useDateEditState.js +3 -4
  203. package/build/esm/action-form/fields/useDateEditState.js.map +1 -1
  204. package/build/esm/base-components/action-button/ActionButton.js +2 -1
  205. package/build/esm/base-components/action-button/ActionButton.js.map +1 -1
  206. package/build/esm/base-components/action-button/ActionButton.module.css +19 -0
  207. package/build/esm/base-components/combobox/Combobox.module.css +31 -3
  208. package/build/esm/base-components/select/Select.module.css +18 -0
  209. package/build/esm/base-components/switch/Switch.module.css +18 -6
  210. package/build/esm/filter-list/base/inputs/ListogramInput.js +34 -6
  211. package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
  212. package/build/esm/filter-list/base/inputs/ListogramInput.module.css +11 -5
  213. package/build/esm/filter-list/base/inputs/MultiSelectInput.js +20 -12
  214. package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
  215. package/build/esm/filter-list/base/inputs/NoValueLabel.js +36 -0
  216. package/build/esm/filter-list/base/inputs/NoValueLabel.js.map +1 -0
  217. package/build/esm/filter-list/base/inputs/NoValueLabel.module.css +20 -0
  218. package/build/esm/filter-list/base/inputs/NullValueWrapper.js +4 -3
  219. package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
  220. package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
  221. package/build/esm/filter-list/base/inputs/SingleSelectInput.js +13 -8
  222. package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
  223. package/build/esm/filter-list/base/inputs/TextTagsInput.js +6 -2
  224. package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -1
  225. package/build/esm/filter-list/hooks/useFilterListState.js +7 -6
  226. package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
  227. package/build/esm/filter-list/hooks/useStableMapEntries.js +35 -0
  228. package/build/esm/filter-list/hooks/useStableMapEntries.js.map +1 -0
  229. package/build/esm/filter-list/utils/filterValues.js +13 -0
  230. package/build/esm/filter-list/utils/filterValues.js.map +1 -1
  231. package/build/esm/object-table/DefaultCellRenderer.js +12 -2
  232. package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
  233. package/build/esm/object-table/EditableCell.js +14 -4
  234. package/build/esm/object-table/EditableCell.js.map +1 -1
  235. package/build/esm/object-table/EditableCell.module.css +4 -0
  236. package/build/esm/object-table/ObjectTable.js +3 -1
  237. package/build/esm/object-table/ObjectTable.js.map +1 -1
  238. package/build/esm/object-table/ObjectTableApi.js.map +1 -1
  239. package/build/esm/object-table/Table.js +8 -4
  240. package/build/esm/object-table/Table.js.map +1 -1
  241. package/build/esm/object-table/TableBody.js +4 -2
  242. package/build/esm/object-table/TableBody.js.map +1 -1
  243. package/build/esm/object-table/TableRow.js +12 -4
  244. package/build/esm/object-table/TableRow.js.map +1 -1
  245. package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
  246. package/build/esm/object-table/utils/editableUtils.js +39 -0
  247. package/build/esm/object-table/utils/editableUtils.js.map +1 -0
  248. package/build/esm/object-table/utils/shouldShowEditableCell.js +1 -1
  249. package/build/esm/object-table/utils/shouldShowEditableCell.js.map +1 -1
  250. package/build/esm/object-table/utils/types.js.map +1 -1
  251. package/build/esm/tokens/component-tokens/button.css +15 -0
  252. package/build/esm/tokens/component-tokens/combobox.css +9 -0
  253. package/build/esm/tokens/component-tokens/datetime-picker.css +2 -2
  254. package/build/esm/tokens/component-tokens/file-picker.css +0 -10
  255. package/build/esm/tokens/component-tokens/filter-list.css +9 -6
  256. package/build/esm/tokens/component-tokens/form-section.css +1 -1
  257. package/build/esm/tokens/component-tokens/form.css +9 -5
  258. package/build/esm/tokens/component-tokens/table.css +3 -5
  259. package/build/esm/tokens.css +1 -0
  260. package/build/esm/util/UserAgent.js +1 -1
  261. package/build/types/action-form/ActionFormApi.d.ts +8 -8
  262. package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
  263. package/build/types/action-form/BaseForm.d.ts.map +1 -1
  264. package/build/types/action-form/FormFieldApi.d.ts +29 -22
  265. package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
  266. package/build/types/action-form/fields/DateCalendar.d.ts +6 -1
  267. package/build/types/action-form/fields/DateCalendar.d.ts.map +1 -1
  268. package/build/types/action-form/fields/DateRangeCalendar.d.ts.map +1 -1
  269. package/build/types/action-form/fields/DateRangeInputField.d.ts.map +1 -1
  270. package/build/types/action-form/fields/DatetimePickerField.d.ts.map +1 -1
  271. package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -1
  272. package/build/types/action-form/fields/FilePickerField.d.ts.map +1 -1
  273. package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -1
  274. package/build/types/action-form/fields/SwitchField.d.ts +7 -0
  275. package/build/types/action-form/fields/SwitchField.d.ts.map +1 -0
  276. package/build/types/action-form/fields/TimePicker.d.ts +4 -5
  277. package/build/types/action-form/fields/TimePicker.d.ts.map +1 -1
  278. package/build/types/action-form/fields/useDateEditState.d.ts +2 -2
  279. package/build/types/base-components/action-button/ActionButton.d.ts +1 -0
  280. package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -1
  281. package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
  282. package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -1
  283. package/build/types/filter-list/base/inputs/NoValueLabel.d.ts +15 -0
  284. package/build/types/filter-list/base/inputs/NoValueLabel.d.ts.map +1 -0
  285. package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -1
  286. package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -1
  287. package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -1
  288. package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
  289. package/build/types/filter-list/hooks/useStableMapEntries.d.ts +9 -0
  290. package/build/types/filter-list/hooks/useStableMapEntries.d.ts.map +1 -0
  291. package/build/types/filter-list/utils/filterValues.d.ts +7 -0
  292. package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
  293. package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -1
  294. package/build/types/object-table/EditableCell.d.ts +1 -1
  295. package/build/types/object-table/EditableCell.d.ts.map +1 -1
  296. package/build/types/object-table/ObjectTableApi.d.ts +26 -7
  297. package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
  298. package/build/types/object-table/Table.d.ts +9 -2
  299. package/build/types/object-table/Table.d.ts.map +1 -1
  300. package/build/types/object-table/TableBody.d.ts +2 -1
  301. package/build/types/object-table/TableBody.d.ts.map +1 -1
  302. package/build/types/object-table/TableRow.d.ts +2 -1
  303. package/build/types/object-table/TableRow.d.ts.map +1 -1
  304. package/build/types/object-table/utils/editableUtils.d.ts +16 -0
  305. package/build/types/object-table/utils/editableUtils.d.ts.map +1 -0
  306. package/build/types/object-table/utils/shouldShowEditableCell.d.ts +2 -1
  307. package/build/types/object-table/utils/shouldShowEditableCell.d.ts.map +1 -1
  308. package/build/types/object-table/utils/types.d.ts +4 -11
  309. package/build/types/object-table/utils/types.d.ts.map +1 -1
  310. package/docs/ActionForm.md +176 -0
  311. package/docs/CSSVariables.md +31 -30
  312. package/docs/ObjectTable.md +141 -16
  313. package/package.json +6 -5
  314. package/build/cjs/DateCalendar-2W4QHEEI.css.map +0 -1
  315. package/build/cjs/DateCalendar-QGSYBWJB.cjs +0 -24
  316. package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs +0 -48
  317. package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs.map +0 -1
  318. package/build/cjs/DateRangeCalendar-M63S2LLG.css.map +0 -1
  319. package/build/cjs/chunk-B2GRQRWU.cjs.map +0 -1
  320. package/build/cjs/chunk-BJDCC446.cjs.map +0 -1
  321. package/build/cjs/chunk-JLESWL47.cjs.map +0 -1
  322. package/build/cjs/chunk-L5LPFCXT.cjs.map +0 -1
  323. package/build/cjs/chunk-SB2VTP67.cjs.map +0 -1
  324. package/build/cjs/chunk-T7I6O43T.cjs.map +0 -1
  325. package/build/cjs/chunk-UCTQICPR.cjs +0 -10
  326. package/build/cjs/chunk-UCTQICPR.cjs.map +0 -1
  327. package/build/cjs/chunk-VVJFMOZI.cjs.map +0 -1
  328. package/build/cjs/chunk-YPXTSEE7.cjs.map +0 -1
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
3
+ var chunkX337DNCW_cjs = require('./chunk-X337DNCW.cjs');
4
4
  var chunkOHKKNZZS_cjs = require('./chunk-OHKKNZZS.cjs');
5
- var chunkSB2VTP67_cjs = require('./chunk-SB2VTP67.cjs');
5
+ var chunkZ7VHLTKD_cjs = require('./chunk-Z7VHLTKD.cjs');
6
+ var chunkMQYOHGPY_cjs = require('./chunk-MQYOHGPY.cjs');
6
7
  var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
7
- var chunkSZXVBDSA_cjs = require('./chunk-SZXVBDSA.cjs');
8
+ var chunk6UDBHYSO_cjs = require('./chunk-6UDBHYSO.cjs');
8
9
  var button = require('@base-ui/react/button');
9
10
  var classnames3 = require('classnames');
10
11
  var React18 = require('react');
@@ -14,14 +15,15 @@ var sortable = require('@dnd-kit/sortable');
14
15
  var input = require('@base-ui/react/input');
15
16
  var utilities = require('@dnd-kit/utilities');
16
17
  var lodashEs = require('lodash-es');
17
- var _switch = require('@base-ui/react/switch');
18
18
  var react = require('@osdk/react');
19
19
  var menu = require('@base-ui/react/menu');
20
+ var deepEqual = require('fast-deep-equal');
20
21
 
21
22
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
22
23
 
23
24
  var classnames3__default = /*#__PURE__*/_interopDefault(classnames3);
24
25
  var React18__default = /*#__PURE__*/_interopDefault(React18);
26
+ var deepEqual__default = /*#__PURE__*/_interopDefault(deepEqual);
25
27
 
26
28
  function RemoveIcon() {
27
29
  return /* @__PURE__ */ React18__default.default.createElement(icons.Cross, {
@@ -168,6 +170,12 @@ function supportsExcluding(state) {
168
170
  }
169
171
  }
170
172
  }
173
+ function isEmptyValue(value) {
174
+ if (value == null) {
175
+ return true;
176
+ }
177
+ return value.trim() === "";
178
+ }
171
179
  function filterValuesBySearch(values, searchValue, getValue) {
172
180
  const trimmed = searchValue.trim();
173
181
  if (!trimmed) return values;
@@ -817,31 +825,6 @@ function ContainsTextInputInner({
817
825
  }
818
826
  var ContainsTextInput = /* @__PURE__ */ React18.memo(ContainsTextInputInner);
819
827
 
820
- // src/base-components/switch/Switch.module.css
821
- var Switch_default = {};
822
-
823
- // src/base-components/switch/Switch.tsx
824
- function _extends2() {
825
- return _extends2 = Object.assign ? Object.assign.bind() : function(n) {
826
- for (var e = 1; e < arguments.length; e++) {
827
- var t = arguments[e];
828
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
829
- }
830
- return n;
831
- }, _extends2.apply(null, arguments);
832
- }
833
- function Switch({
834
- className,
835
- thumbProps,
836
- ...rest
837
- }) {
838
- return /* @__PURE__ */ React18__default.default.createElement(_switch.Switch.Root, _extends2({
839
- className: classnames3__default.default(Switch_default.osdkSwitchRoot, className)
840
- }, rest), /* @__PURE__ */ React18__default.default.createElement(_switch.Switch.Thumb, _extends2({}, thumbProps, {
841
- className: classnames3__default.default(Switch_default.osdkSwitchThumb, thumbProps?.className)
842
- })));
843
- }
844
-
845
828
  // src/filter-list/base/inputs/ToggleInput.module.css
846
829
  var ToggleInput_default = {};
847
830
 
@@ -860,7 +843,7 @@ function ToggleInputInner({
860
843
  "data-enabled": enabled
861
844
  }, /* @__PURE__ */ React18__default.default.createElement("label", {
862
845
  className: ToggleInput_default.toggleLabel
863
- }, /* @__PURE__ */ React18__default.default.createElement(Switch, {
846
+ }, /* @__PURE__ */ React18__default.default.createElement(chunkX337DNCW_cjs.Switch, {
864
847
  checked: enabled,
865
848
  onCheckedChange: onChange
866
849
  }), label && /* @__PURE__ */ React18__default.default.createElement("span", {
@@ -917,14 +900,14 @@ function useStableData(data, isLoading) {
917
900
  }
918
901
 
919
902
  // src/filter-list/base/inputs/RangeInput.tsx
920
- function _extends3() {
921
- return _extends3 = Object.assign ? Object.assign.bind() : function(n) {
903
+ function _extends2() {
904
+ return _extends2 = Object.assign ? Object.assign.bind() : function(n) {
922
905
  for (var e = 1; e < arguments.length; e++) {
923
906
  var t = arguments[e];
924
907
  for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
925
908
  }
926
909
  return n;
927
- }, _extends3.apply(null, arguments);
910
+ }, _extends2.apply(null, arguments);
928
911
  }
929
912
  var DEBOUNCE_MS = 300;
930
913
  function RangeInputInner({
@@ -1034,7 +1017,7 @@ function RangeInputInner({
1034
1017
  }, /* @__PURE__ */ React18__default.default.createElement("label", {
1035
1018
  htmlFor: minInputId,
1036
1019
  className: RangeInput_default.inputLabel
1037
- }, config.minLabel), /* @__PURE__ */ React18__default.default.createElement(input.Input, _extends3({
1020
+ }, config.minLabel), /* @__PURE__ */ React18__default.default.createElement(input.Input, _extends2({
1038
1021
  id: minInputId,
1039
1022
  type: config.inputType,
1040
1023
  className: RangeInput_default.input,
@@ -1049,7 +1032,7 @@ function RangeInputInner({
1049
1032
  }, /* @__PURE__ */ React18__default.default.createElement("label", {
1050
1033
  htmlFor: maxInputId,
1051
1034
  className: RangeInput_default.inputLabel
1052
- }, config.maxLabel), /* @__PURE__ */ React18__default.default.createElement(input.Input, _extends3({
1035
+ }, config.maxLabel), /* @__PURE__ */ React18__default.default.createElement(input.Input, _extends2({
1053
1036
  id: maxInputId,
1054
1037
  type: config.inputType,
1055
1038
  className: RangeInput_default.input,
@@ -1061,27 +1044,27 @@ function RangeInputInner({
1061
1044
  var RangeInput = /* @__PURE__ */ React18.memo(RangeInputInner);
1062
1045
 
1063
1046
  // src/filter-list/base/inputs/DateRangeInput.tsx
1064
- function _extends4() {
1065
- return _extends4 = Object.assign ? Object.assign.bind() : function(n) {
1047
+ function _extends3() {
1048
+ return _extends3 = Object.assign ? Object.assign.bind() : function(n) {
1066
1049
  for (var e = 1; e < arguments.length; e++) {
1067
1050
  var t = arguments[e];
1068
1051
  for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
1069
1052
  }
1070
1053
  return n;
1071
- }, _extends4.apply(null, arguments);
1054
+ }, _extends3.apply(null, arguments);
1072
1055
  }
1073
1056
  var dateConfig = {
1074
1057
  inputType: "date",
1075
- formatValue: chunkSB2VTP67_cjs.formatDateForInput,
1076
- parseValue: chunkSB2VTP67_cjs.parseDateFromInput,
1058
+ formatValue: chunkMQYOHGPY_cjs.formatDateForInput,
1059
+ parseValue: chunkMQYOHGPY_cjs.parseDateFromInput,
1077
1060
  toNumber: (d) => d.getTime(),
1078
1061
  fromNumber: (t) => new Date(t),
1079
1062
  minLabel: "From",
1080
1063
  maxLabel: "To",
1081
- formatTooltip: (min, max, count) => `${chunkSB2VTP67_cjs.formatDateForInput(min)} - ${chunkSB2VTP67_cjs.formatDateForInput(max)}: ${count.toLocaleString()}`
1064
+ formatTooltip: (min, max, count) => `${chunkMQYOHGPY_cjs.formatDateForInput(min)} - ${chunkMQYOHGPY_cjs.formatDateForInput(max)}: ${count.toLocaleString()}`
1082
1065
  };
1083
1066
  function DateRangeInputInner(props) {
1084
- return /* @__PURE__ */ React18__default.default.createElement(RangeInput, _extends4({}, props, {
1067
+ return /* @__PURE__ */ React18__default.default.createElement(RangeInput, _extends3({}, props, {
1085
1068
  config: dateConfig
1086
1069
  }));
1087
1070
  }
@@ -1123,6 +1106,19 @@ function ListogramSkeleton() {
1123
1106
  }))));
1124
1107
  }
1125
1108
 
1109
+ // src/filter-list/base/inputs/NoValueLabel.module.css
1110
+ var NoValueLabel_default = {};
1111
+
1112
+ // src/filter-list/base/inputs/NoValueLabel.tsx
1113
+ function NoValueLabelInner({
1114
+ className
1115
+ }) {
1116
+ return /* @__PURE__ */ React18__default.default.createElement("span", {
1117
+ className: classnames3__default.default(NoValueLabel_default.noValue, className)
1118
+ }, "No value");
1119
+ }
1120
+ var NoValueLabel = /* @__PURE__ */ React18.memo(NoValueLabelInner);
1121
+
1126
1122
  // src/filter-list/base/inputs/ListogramInput.tsx
1127
1123
  function ListogramInputInner({
1128
1124
  values,
@@ -1142,7 +1138,30 @@ function ListogramInputInner({
1142
1138
  renderValue
1143
1139
  }) {
1144
1140
  const [isExpanded, setIsExpanded] = React18.useState(false);
1145
- const stableValues = useStableData(values, isLoading);
1141
+ const dedupedValues = React18.useMemo(() => {
1142
+ const out = [];
1143
+ let emptyCount = 0;
1144
+ let firstEmptyIndex = -1;
1145
+ for (const v of values) {
1146
+ if (v.value === "" || v.value == null) {
1147
+ if (firstEmptyIndex === -1) {
1148
+ firstEmptyIndex = out.length;
1149
+ }
1150
+ emptyCount += v.count;
1151
+ } else {
1152
+ out.push(v);
1153
+ }
1154
+ }
1155
+ if (firstEmptyIndex >= 0 && emptyCount > 0) {
1156
+ out.splice(firstEmptyIndex, 0, {
1157
+ value: "",
1158
+ count: emptyCount,
1159
+ isNull: true
1160
+ });
1161
+ }
1162
+ return out;
1163
+ }, [values]);
1164
+ const stableValues = useStableData(dedupedValues, isLoading);
1146
1165
  const selectedSet = React18.useMemo(() => new Set(selectedValues), [selectedValues]);
1147
1166
  const toggleValue = React18.useCallback((value) => {
1148
1167
  if (selectedSet.has(value)) {
@@ -1183,8 +1202,7 @@ function ListogramInputInner({
1183
1202
  }) => {
1184
1203
  const percentage = maxCount > 0 ? count / maxCount * 100 : 0;
1185
1204
  const perRowColor = colorMap?.[value];
1186
- const isEmpty = value === "";
1187
- const displayLabel = isEmpty ? "No value" : renderValue?.(value) ?? value;
1205
+ const isEmpty = isEmptyValue(value);
1188
1206
  return /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1189
1207
  key: value,
1190
1208
  className: ListogramInput_default.row,
@@ -1204,9 +1222,11 @@ function ListogramInputInner({
1204
1222
  onCheckedChange: () => toggleValue(value),
1205
1223
  isExcluding
1206
1224
  })), /* @__PURE__ */ React18__default.default.createElement("span", {
1207
- className: classnames3__default.default(ListogramInput_default.label, isEmpty && ListogramInput_default.emptyLabel),
1225
+ className: ListogramInput_default.label,
1208
1226
  "data-excluding": isExcluding && selectedSet.has(value) || void 0
1209
- }, displayLabel), showCount && displayMode !== "minimal" && /* @__PURE__ */ React18__default.default.createElement("span", {
1227
+ }, isEmpty ? /* @__PURE__ */ React18__default.default.createElement(NoValueLabel, {
1228
+ className: ListogramInput_default.noValueLabel
1229
+ }) : renderValue?.(value) ?? value), showCount && displayMode !== "minimal" && /* @__PURE__ */ React18__default.default.createElement("span", {
1210
1230
  className: ListogramInput_default.count
1211
1231
  }, count.toLocaleString()), displayMode === "full" && /* @__PURE__ */ React18__default.default.createElement("span", {
1212
1232
  className: ListogramInput_default.bar
@@ -1235,21 +1255,21 @@ function MultiDateInputInner({
1235
1255
  showClearAll = true
1236
1256
  }) {
1237
1257
  const addDate = React18.useCallback((date) => {
1238
- const dateStr = chunkSB2VTP67_cjs.formatDateForInput(date);
1239
- const exists = selectedDates.some((d) => chunkSB2VTP67_cjs.formatDateForInput(d) === dateStr);
1258
+ const dateStr = chunkMQYOHGPY_cjs.formatDateForInput(date);
1259
+ const exists = selectedDates.some((d) => chunkMQYOHGPY_cjs.formatDateForInput(d) === dateStr);
1240
1260
  if (!exists) {
1241
1261
  onChange([...selectedDates, date].sort((a, b) => a.getTime() - b.getTime()));
1242
1262
  }
1243
1263
  }, [selectedDates, onChange]);
1244
1264
  const removeDate = React18.useCallback((date) => {
1245
- const dateStr = chunkSB2VTP67_cjs.formatDateForInput(date);
1246
- onChange(selectedDates.filter((d) => chunkSB2VTP67_cjs.formatDateForInput(d) !== dateStr));
1265
+ const dateStr = chunkMQYOHGPY_cjs.formatDateForInput(date);
1266
+ onChange(selectedDates.filter((d) => chunkMQYOHGPY_cjs.formatDateForInput(d) !== dateStr));
1247
1267
  }, [selectedDates, onChange]);
1248
1268
  const clearAll = React18.useCallback(() => {
1249
1269
  onChange([]);
1250
1270
  }, [onChange]);
1251
1271
  const handleDateChange = React18.useCallback((e) => {
1252
- const date = chunkSB2VTP67_cjs.parseDateFromInput(e.target.value);
1272
+ const date = chunkMQYOHGPY_cjs.parseDateFromInput(e.target.value);
1253
1273
  if (date) {
1254
1274
  addDate(date);
1255
1275
  e.target.value = "";
@@ -1263,10 +1283,10 @@ function MultiDateInputInner({
1263
1283
  }, selectedDates.map((date) => /* @__PURE__ */ React18__default.default.createElement("span", {
1264
1284
  key: date.toISOString(),
1265
1285
  className: shared_default.tag
1266
- }, chunkSB2VTP67_cjs.formatDateForDisplay(date), /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1286
+ }, chunkMQYOHGPY_cjs.formatDateForDisplay(date), /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1267
1287
  className: shared_default.tagRemove,
1268
1288
  onClick: () => removeDate(date),
1269
- "aria-label": `Remove ${chunkSB2VTP67_cjs.formatDateForDisplay(date)}`
1289
+ "aria-label": `Remove ${chunkMQYOHGPY_cjs.formatDateForDisplay(date)}`
1270
1290
  }, "\xD7"))), showClearAll && selectedDates.length > 1 && /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1271
1291
  className: MultiDateInput_default.clearAll,
1272
1292
  onClick: clearAll,
@@ -1277,8 +1297,8 @@ function MultiDateInputInner({
1277
1297
  type: "date",
1278
1298
  className: MultiDateInput_default.input,
1279
1299
  onChange: handleDateChange,
1280
- min: minDate ? chunkSB2VTP67_cjs.formatDateForInput(minDate) : void 0,
1281
- max: maxDate ? chunkSB2VTP67_cjs.formatDateForInput(maxDate) : void 0,
1300
+ min: minDate ? chunkMQYOHGPY_cjs.formatDateForInput(minDate) : void 0,
1301
+ max: maxDate ? chunkMQYOHGPY_cjs.formatDateForInput(maxDate) : void 0,
1282
1302
  "aria-label": "Add date"
1283
1303
  })));
1284
1304
  }
@@ -1312,18 +1332,24 @@ function MultiSelectInputInner({
1312
1332
  count
1313
1333
  }) => [value, count])), [values]);
1314
1334
  const comboboxFilter = React18.useMemo(() => renderValue ? (itemValue, query) => renderValue(itemValue).toLowerCase().includes(query.toLowerCase()) : void 0, [renderValue]);
1315
- const renderItem = React18.useCallback((value) => /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Item, {
1316
- key: value,
1317
- value
1318
- }, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.ItemIndicator, null), /* @__PURE__ */ React18__default.default.createElement("span", {
1319
- className: MultiSelectInput_default.itemLabel
1320
- }, renderValue ? renderValue(value) : value), showCounts && /* @__PURE__ */ React18__default.default.createElement("span", {
1321
- className: MultiSelectInput_default.itemCount
1322
- }, "(", (countByValue.get(value) ?? 0).toLocaleString(), ")")), [countByValue, showCounts, renderValue]);
1323
- const renderChips = React18.useCallback((selectedItems) => /* @__PURE__ */ React18__default.default.createElement(React18__default.default.Fragment, null, selectedItems.map((value) => /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Chip, {
1324
- key: value,
1325
- "aria-label": value
1326
- }, renderValue ? renderValue(value) : value, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.ChipRemove, null))), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Input, {
1335
+ const renderItem = React18.useCallback((value) => {
1336
+ const isEmpty = isEmptyValue(value);
1337
+ return /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Item, {
1338
+ key: value,
1339
+ value
1340
+ }, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.ItemIndicator, null), /* @__PURE__ */ React18__default.default.createElement("span", {
1341
+ className: MultiSelectInput_default.itemLabel
1342
+ }, isEmpty ? /* @__PURE__ */ React18__default.default.createElement(NoValueLabel, null) : renderValue ? renderValue(value) : value), showCounts && /* @__PURE__ */ React18__default.default.createElement("span", {
1343
+ className: MultiSelectInput_default.itemCount
1344
+ }, "(", (countByValue.get(value) ?? 0).toLocaleString(), ")"));
1345
+ }, [countByValue, showCounts, renderValue]);
1346
+ const renderChips = React18.useCallback((selectedItems) => /* @__PURE__ */ React18__default.default.createElement(React18__default.default.Fragment, null, selectedItems.map((value) => {
1347
+ const isEmpty = isEmptyValue(value);
1348
+ return /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Chip, {
1349
+ key: value,
1350
+ "aria-label": isEmpty ? "No value" : value
1351
+ }, isEmpty ? /* @__PURE__ */ React18__default.default.createElement(NoValueLabel, null) : renderValue ? renderValue(value) : value, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.ChipRemove, null));
1352
+ }), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Input, {
1327
1353
  placeholder: selectedItems.length > 0 ? "" : placeholder,
1328
1354
  "aria-label": ariaLabel
1329
1355
  })), [placeholder, ariaLabel, renderValue]);
@@ -1335,7 +1361,7 @@ function MultiSelectInputInner({
1335
1361
  className: shared_default.errorMessage
1336
1362
  }, "Error loading options: ", error.message), !error && values.length === 0 && /* @__PURE__ */ React18__default.default.createElement("div", {
1337
1363
  className: shared_default.emptyMessage
1338
- }, isLoading ? "Loading options..." : "No options available"), (values.length > 0 || isLoading) && /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Root, {
1364
+ }, isLoading ? "Loading options..." : "No options available"), (values.length > 0 || isLoading) && /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Root, {
1339
1365
  multiple: true,
1340
1366
  value: selectedValues,
1341
1367
  onValueChange: handleValueChange,
@@ -1343,7 +1369,7 @@ function MultiSelectInputInner({
1343
1369
  filter: comboboxFilter
1344
1370
  }, isLoading && /* @__PURE__ */ React18__default.default.createElement("div", {
1345
1371
  className: shared_default.loadingMessage
1346
- }, "Updating..."), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Chips, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Value, null, renderChips)), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Portal, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Positioner, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Popup, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Empty, null, "No matching options"), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.List, null, renderItem))))));
1372
+ }, "Updating..."), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Chips, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Value, null, renderChips)), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Portal, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Positioner, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Popup, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Empty, null, "No matching options"), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.List, null, renderItem))))));
1347
1373
  }
1348
1374
  var MultiSelectInput = /* @__PURE__ */ React18.memo(MultiSelectInputInner);
1349
1375
 
@@ -1377,23 +1403,23 @@ function NullValueWrapperInner({
1377
1403
  }, /* @__PURE__ */ React18__default.default.createElement(chunkOHKKNZZS_cjs.Checkbox, {
1378
1404
  checked: includeNull,
1379
1405
  onCheckedChange: handleToggle
1380
- }), /* @__PURE__ */ React18__default.default.createElement("span", {
1381
- className: NullValueWrapper_default.nullLabelText
1382
- }, "No value")), showNullCount && !error && /* @__PURE__ */ React18__default.default.createElement("span", {
1406
+ }), /* @__PURE__ */ React18__default.default.createElement(NoValueLabel, {
1407
+ className: NullValueWrapper_default.noValueLabel
1408
+ })), showNullCount && !error && /* @__PURE__ */ React18__default.default.createElement("span", {
1383
1409
  className: NullValueWrapper_default.count
1384
1410
  }, nullCount.toLocaleString())), error && /* @__PURE__ */ React18__default.default.createElement("div", {
1385
1411
  className: shared_default.errorMessage
1386
1412
  }, "Failed to load null count"));
1387
1413
  }
1388
1414
  var NullValueWrapper = /* @__PURE__ */ React18.memo(NullValueWrapperInner);
1389
- function _extends5() {
1390
- return _extends5 = Object.assign ? Object.assign.bind() : function(n) {
1415
+ function _extends4() {
1416
+ return _extends4 = Object.assign ? Object.assign.bind() : function(n) {
1391
1417
  for (var e = 1; e < arguments.length; e++) {
1392
1418
  var t = arguments[e];
1393
1419
  for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
1394
1420
  }
1395
1421
  return n;
1396
- }, _extends5.apply(null, arguments);
1422
+ }, _extends4.apply(null, arguments);
1397
1423
  }
1398
1424
  function formatNumber(value) {
1399
1425
  return value !== void 0 ? String(value) : "";
@@ -1418,7 +1444,7 @@ var numberConfig = {
1418
1444
  }
1419
1445
  };
1420
1446
  function NumberRangeInputInner(props) {
1421
- return /* @__PURE__ */ React18__default.default.createElement(RangeInput, _extends5({}, props, {
1447
+ return /* @__PURE__ */ React18__default.default.createElement(RangeInput, _extends4({}, props, {
1422
1448
  config: numberConfig
1423
1449
  }));
1424
1450
  }
@@ -1439,7 +1465,7 @@ function SingleDateInputInner({
1439
1465
  showClearButton = true
1440
1466
  }) {
1441
1467
  const handleChange = React18.useCallback((e) => {
1442
- const date = chunkSB2VTP67_cjs.parseDateFromInput(e.target.value);
1468
+ const date = chunkMQYOHGPY_cjs.parseDateFromInput(e.target.value);
1443
1469
  onChange(date);
1444
1470
  }, [onChange]);
1445
1471
  const handleClear = React18.useCallback(() => {
@@ -1453,10 +1479,10 @@ function SingleDateInputInner({
1453
1479
  }, /* @__PURE__ */ React18__default.default.createElement(input.Input, {
1454
1480
  type: "date",
1455
1481
  className: SingleDateInput_default.input,
1456
- value: chunkSB2VTP67_cjs.formatDateForInput(selectedDate),
1482
+ value: chunkMQYOHGPY_cjs.formatDateForInput(selectedDate),
1457
1483
  onChange: handleChange,
1458
- min: minDate ? chunkSB2VTP67_cjs.formatDateForInput(minDate) : void 0,
1459
- max: maxDate ? chunkSB2VTP67_cjs.formatDateForInput(maxDate) : void 0,
1484
+ min: minDate ? chunkMQYOHGPY_cjs.formatDateForInput(minDate) : void 0,
1485
+ max: maxDate ? chunkMQYOHGPY_cjs.formatDateForInput(maxDate) : void 0,
1460
1486
  placeholder,
1461
1487
  "aria-label": "Select date"
1462
1488
  }), showClearButton && selectedDate !== void 0 && /* @__PURE__ */ React18__default.default.createElement(button.Button, {
@@ -1496,14 +1522,17 @@ function SingleSelectInputInner({
1496
1522
  count
1497
1523
  }) => [value, count])), [values]);
1498
1524
  const comboboxFilter = React18.useMemo(() => renderValue ? (itemValue, query) => renderValue(itemValue).toLowerCase().includes(query.toLowerCase()) : void 0, [renderValue]);
1499
- const renderItem = React18.useCallback((value) => /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Item, {
1500
- key: value,
1501
- value
1502
- }, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.ItemIndicator, null), /* @__PURE__ */ React18__default.default.createElement("span", {
1503
- className: SingleSelectInput_default.itemLabel
1504
- }, renderValue ? renderValue(value) : value), showCounts && /* @__PURE__ */ React18__default.default.createElement("span", {
1505
- className: SingleSelectInput_default.itemCount
1506
- }, "(", (countByValue.get(value) ?? 0).toLocaleString(), ")")), [countByValue, showCounts, renderValue]);
1525
+ const renderItem = React18.useCallback((value) => {
1526
+ const isEmpty = isEmptyValue(value);
1527
+ return /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Item, {
1528
+ key: value,
1529
+ value
1530
+ }, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.ItemIndicator, null), /* @__PURE__ */ React18__default.default.createElement("span", {
1531
+ className: SingleSelectInput_default.itemLabel
1532
+ }, isEmpty ? /* @__PURE__ */ React18__default.default.createElement(NoValueLabel, null) : renderValue ? renderValue(value) : value), showCounts && /* @__PURE__ */ React18__default.default.createElement("span", {
1533
+ className: SingleSelectInput_default.itemCount
1534
+ }, "(", (countByValue.get(value) ?? 0).toLocaleString(), ")"));
1535
+ }, [countByValue, showCounts, renderValue]);
1507
1536
  return /* @__PURE__ */ React18__default.default.createElement("div", {
1508
1537
  className: classnames3__default.default(SingleSelectInput_default.singleSelect, className),
1509
1538
  style,
@@ -1516,17 +1545,17 @@ function SingleSelectInputInner({
1516
1545
  className: shared_default.emptyMessage
1517
1546
  }, "No options available"), (values.length > 0 || isLoading) && /* @__PURE__ */ React18__default.default.createElement("div", {
1518
1547
  className: SingleSelectInput_default.selectContainer
1519
- }, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Root, {
1548
+ }, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Root, {
1520
1549
  value: selectedValue ?? null,
1521
1550
  onValueChange: handleValueChange,
1522
1551
  items,
1523
1552
  filter: comboboxFilter
1524
- }, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.SearchInput, {
1553
+ }, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.SearchInput, {
1525
1554
  placeholder,
1526
1555
  "aria-label": ariaLabel
1527
- }), showClearButton && selectedValue !== void 0 && /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Clear, {
1556
+ }), showClearButton && selectedValue !== void 0 && /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Clear, {
1528
1557
  className: SingleSelectInput_default.clearButton
1529
- }), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Portal, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Positioner, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Popup, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Empty, null, "No matching options"), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.List, null, renderItem)))))));
1558
+ }), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Portal, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Positioner, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Popup, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Empty, null, "No matching options"), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.List, null, renderItem)))))));
1530
1559
  }
1531
1560
  var SingleSelectInput = /* @__PURE__ */ React18.memo(SingleSelectInputInner);
1532
1561
 
@@ -1542,13 +1571,15 @@ var TagItem = /* @__PURE__ */ React18.memo(function TagItem2({
1542
1571
  const handleRemove = React18.useCallback(() => {
1543
1572
  onRemove(tag);
1544
1573
  }, [tag, onRemove]);
1574
+ const isEmpty = isEmptyValue(tag);
1575
+ const displayLabel = isEmpty ? "No value" : tag;
1545
1576
  return /* @__PURE__ */ React18__default.default.createElement("span", {
1546
1577
  className: shared_default.tag
1547
- }, tag, /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1578
+ }, isEmpty ? /* @__PURE__ */ React18__default.default.createElement(NoValueLabel, null) : tag, /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1548
1579
  type: "button",
1549
1580
  className: shared_default.tagRemove,
1550
1581
  onClick: handleRemove,
1551
- "aria-label": `Remove ${tag}`
1582
+ "aria-label": `Remove ${displayLabel}`
1552
1583
  }, "\xD7"));
1553
1584
  });
1554
1585
  function TextTagsInputInner({
@@ -1615,7 +1646,7 @@ function TextTagsInputInner({
1615
1646
  "data-loading": isLoading
1616
1647
  }, error && /* @__PURE__ */ React18__default.default.createElement("div", {
1617
1648
  className: shared_default.errorMessage
1618
- }, "Error loading suggestions: ", error.message), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Root, {
1649
+ }, "Error loading suggestions: ", error.message), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Root, {
1619
1650
  multiple: true,
1620
1651
  value: tags,
1621
1652
  onValueChange: handleValueChange,
@@ -1627,16 +1658,16 @@ function TextTagsInputInner({
1627
1658
  key: tag,
1628
1659
  tag,
1629
1660
  onRemove: removeTag
1630
- }))), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.SearchInput, {
1661
+ }))), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.SearchInput, {
1631
1662
  className: TextTagsInput_default.input,
1632
1663
  placeholder: tags.length > 0 ? "" : placeholder,
1633
1664
  onKeyDown: handleKeyDown,
1634
1665
  onPaste: handlePaste,
1635
1666
  "aria-label": ariaLabel
1636
- }), /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Portal, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Positioner, null, /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Popup, null, filteredSuggestions.length === 0 ? allowCustomTags && inputValue.trim() ? /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Empty, null, 'Press Enter to add "', inputValue, '"') : /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Empty, null, suggestionLimit ? "No suggestions" : "Type to add a tag") : filteredSuggestions.map(({
1667
+ }), /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Portal, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Positioner, null, /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Popup, null, filteredSuggestions.length === 0 ? allowCustomTags && inputValue.trim() ? /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Empty, null, 'Press Enter to add "', inputValue, '"') : /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Empty, null, suggestionLimit ? "No suggestions" : "Type to add a tag") : filteredSuggestions.map(({
1637
1668
  value,
1638
1669
  count
1639
- }) => /* @__PURE__ */ React18__default.default.createElement(chunkSB2VTP67_cjs.Combobox.Item, {
1670
+ }) => /* @__PURE__ */ React18__default.default.createElement(chunkZ7VHLTKD_cjs.Combobox.Item, {
1640
1671
  key: value,
1641
1672
  value
1642
1673
  }, value, " (", count.toLocaleString(), ")")))))), isLoading && !!suggestionLimit && /* @__PURE__ */ React18__default.default.createElement("div", {
@@ -1658,11 +1689,11 @@ function TimelineInputInner({
1658
1689
  maxDate
1659
1690
  }) {
1660
1691
  const handleStartChange = React18.useCallback((e) => {
1661
- const date = chunkSB2VTP67_cjs.parseDateFromInput(e.target.value);
1692
+ const date = chunkMQYOHGPY_cjs.parseDateFromInput(e.target.value);
1662
1693
  onChange(date, endDate);
1663
1694
  }, [onChange, endDate]);
1664
1695
  const handleEndChange = React18.useCallback((e) => {
1665
- const date = chunkSB2VTP67_cjs.parseDateFromInput(e.target.value);
1696
+ const date = chunkMQYOHGPY_cjs.parseDateFromInput(e.target.value);
1666
1697
  onChange(startDate, date);
1667
1698
  }, [onChange, startDate]);
1668
1699
  const handleClear = React18.useCallback(() => {
@@ -1674,7 +1705,7 @@ function TimelineInputInner({
1674
1705
  className: classnames3__default.default(TimelineInput_default.timeline, className)
1675
1706
  }, /* @__PURE__ */ React18__default.default.createElement("div", {
1676
1707
  className: TimelineInput_default.labels
1677
- }, /* @__PURE__ */ React18__default.default.createElement("span", null, chunkSB2VTP67_cjs.formatDateForDisplay(startDate, "\u2014")), /* @__PURE__ */ React18__default.default.createElement("span", null, "to"), /* @__PURE__ */ React18__default.default.createElement("span", null, chunkSB2VTP67_cjs.formatDateForDisplay(endDate, "\u2014")), (startDate || endDate) && /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1708
+ }, /* @__PURE__ */ React18__default.default.createElement("span", null, chunkMQYOHGPY_cjs.formatDateForDisplay(startDate, "\u2014")), /* @__PURE__ */ React18__default.default.createElement("span", null, "to"), /* @__PURE__ */ React18__default.default.createElement("span", null, chunkMQYOHGPY_cjs.formatDateForDisplay(endDate, "\u2014")), (startDate || endDate) && /* @__PURE__ */ React18__default.default.createElement(button.Button, {
1678
1709
  type: "button",
1679
1710
  onClick: handleClear,
1680
1711
  "aria-label": "Clear range",
@@ -1684,18 +1715,18 @@ function TimelineInputInner({
1684
1715
  }, /* @__PURE__ */ React18__default.default.createElement(input.Input, {
1685
1716
  type: "date",
1686
1717
  className: TimelineInput_default.input,
1687
- value: chunkSB2VTP67_cjs.formatDateForInput(startDate),
1718
+ value: chunkMQYOHGPY_cjs.formatDateForInput(startDate),
1688
1719
  onChange: handleStartChange,
1689
- min: minDate ? chunkSB2VTP67_cjs.formatDateForInput(minDate) : void 0,
1690
- max: startInputMax ? chunkSB2VTP67_cjs.formatDateForInput(startInputMax) : void 0,
1720
+ min: minDate ? chunkMQYOHGPY_cjs.formatDateForInput(minDate) : void 0,
1721
+ max: startInputMax ? chunkMQYOHGPY_cjs.formatDateForInput(startInputMax) : void 0,
1691
1722
  "aria-label": "Start date"
1692
1723
  }), /* @__PURE__ */ React18__default.default.createElement("span", null, "\u2014"), /* @__PURE__ */ React18__default.default.createElement(input.Input, {
1693
1724
  type: "date",
1694
1725
  className: TimelineInput_default.input,
1695
- value: chunkSB2VTP67_cjs.formatDateForInput(endDate),
1726
+ value: chunkMQYOHGPY_cjs.formatDateForInput(endDate),
1696
1727
  onChange: handleEndChange,
1697
- min: endInputMin ? chunkSB2VTP67_cjs.formatDateForInput(endInputMin) : void 0,
1698
- max: maxDate ? chunkSB2VTP67_cjs.formatDateForInput(maxDate) : void 0,
1728
+ min: endInputMin ? chunkMQYOHGPY_cjs.formatDateForInput(endInputMin) : void 0,
1729
+ max: maxDate ? chunkMQYOHGPY_cjs.formatDateForInput(maxDate) : void 0,
1699
1730
  "aria-label": "End date"
1700
1731
  })));
1701
1732
  }
@@ -2037,7 +2068,7 @@ function LinkedPropertyInputInner({
2037
2068
  });
2038
2069
  }
2039
2070
  default:
2040
- return chunkUCTQICPR_cjs.assertUnreachable(definition.linkedFilterComponent);
2071
+ return chunkX337DNCW_cjs.assertUnreachable(definition.linkedFilterComponent);
2041
2072
  }
2042
2073
  })();
2043
2074
  return /* @__PURE__ */ React18__default.default.createElement("div", {
@@ -3133,7 +3164,7 @@ function StaticValuesFilterInputInner({
3133
3164
  onChange: exactMatch.handleChange
3134
3165
  }));
3135
3166
  default:
3136
- return chunkUCTQICPR_cjs.assertUnreachable(definition.filterComponent);
3167
+ return chunkX337DNCW_cjs.assertUnreachable(definition.filterComponent);
3137
3168
  }
3138
3169
  }
3139
3170
  var StaticValuesFilterInput = /* @__PURE__ */ React18.memo(StaticValuesFilterInputInner);
@@ -3287,7 +3318,7 @@ function getFilterKey(definition) {
3287
3318
  case "STATIC_VALUES":
3288
3319
  return definition.id ?? definition.key;
3289
3320
  default:
3290
- return chunkUCTQICPR_cjs.assertUnreachable(definition);
3321
+ return chunkX337DNCW_cjs.assertUnreachable(definition);
3291
3322
  }
3292
3323
  }
3293
3324
 
@@ -3325,7 +3356,7 @@ function clampToPropertyBounds(value, propertyType) {
3325
3356
  }
3326
3357
  function formatDateValue(date, propertyType) {
3327
3358
  if (propertyType === "datetime") {
3328
- return chunkSB2VTP67_cjs.formatDateForInput(date);
3359
+ return chunkMQYOHGPY_cjs.formatDateForInput(date);
3329
3360
  }
3330
3361
  return date.toISOString();
3331
3362
  }
@@ -3442,7 +3473,7 @@ function filterStateToPropertyFilter(state, propertyType) {
3442
3473
  case "custom":
3443
3474
  return void 0;
3444
3475
  default:
3445
- return chunkUCTQICPR_cjs.assertUnreachable(state);
3476
+ return chunkX337DNCW_cjs.assertUnreachable(state);
3446
3477
  }
3447
3478
  }
3448
3479
  function buildPropertyKeyClause(key, state, propertyType) {
@@ -3605,7 +3636,7 @@ function buildWhereClause(definitions, filterStates, propertyTypes, excludeFilte
3605
3636
  break;
3606
3637
  }
3607
3638
  default:
3608
- chunkUCTQICPR_cjs.assertUnreachable(definition);
3639
+ chunkX337DNCW_cjs.assertUnreachable(definition);
3609
3640
  }
3610
3641
  }
3611
3642
  if (clauses.length === 0) {
@@ -3641,6 +3672,16 @@ function buildValueOrNullFilter(values) {
3641
3672
  includeNull: true
3642
3673
  };
3643
3674
  }
3675
+ function useStableMapEntries(input) {
3676
+ const ref = React18.useRef(/* @__PURE__ */ new Map());
3677
+ const next = /* @__PURE__ */ new Map();
3678
+ for (const [key, value] of input) {
3679
+ const prev = ref.current.get(key);
3680
+ next.set(key, prev !== void 0 && deepEqual__default.default(prev, value) ? prev : value);
3681
+ }
3682
+ ref.current = next;
3683
+ return next;
3684
+ }
3644
3685
 
3645
3686
  // src/filter-list/hooks/useFilterListState.ts
3646
3687
  function buildInitialStates(definitions) {
@@ -3686,7 +3727,7 @@ function buildInitialStates(definitions) {
3686
3727
  break;
3687
3728
  }
3688
3729
  default:
3689
- chunkUCTQICPR_cjs.assertUnreachable(definition);
3730
+ chunkX337DNCW_cjs.assertUnreachable(definition);
3690
3731
  }
3691
3732
  }
3692
3733
  return states;
@@ -3749,17 +3790,14 @@ function useFilterListState(props) {
3749
3790
  React18.useEffect(() => {
3750
3791
  onFilterClauseChangedRef.current?.(whereClause);
3751
3792
  }, [whereClause]);
3752
- const perFilterWhereClauses = React18.useMemo(() => {
3793
+ const perFilterWhereClauses = useStableMapEntries(React18.useMemo(() => {
3753
3794
  const map = /* @__PURE__ */ new Map();
3754
- if (!filterDefinitions) {
3755
- return map;
3756
- }
3757
- for (const definition of filterDefinitions) {
3795
+ for (const definition of filterDefinitions ?? []) {
3758
3796
  const key = getFilterKey(definition);
3759
3797
  map.set(key, buildWhereClause(filterDefinitions, filterStates, propertyTypes, key));
3760
3798
  }
3761
3799
  return map;
3762
- }, [filterDefinitions, filterStates, propertyTypes]);
3800
+ }, [filterDefinitions, filterStates, propertyTypes]));
3763
3801
  const activeFilterCount = React18.useMemo(() => {
3764
3802
  let count = 0;
3765
3803
  for (const state of filterStates.values()) {
@@ -3905,7 +3943,7 @@ function getFilterLabel(definition) {
3905
3943
  case "STATIC_VALUES":
3906
3944
  return definition.key;
3907
3945
  default:
3908
- return chunkUCTQICPR_cjs.assertUnreachable(definition);
3946
+ return chunkX337DNCW_cjs.assertUnreachable(definition);
3909
3947
  }
3910
3948
  }
3911
3949
 
@@ -4074,11 +4112,11 @@ function deserializeFilterStates(json) {
4074
4112
  }
4075
4113
 
4076
4114
  // src/public/experimental/filter-list.ts
4077
- var FilterList2 = chunkSZXVBDSA_cjs.withOsdkMetrics(FilterList, "FilterList");
4115
+ var FilterList2 = chunk6UDBHYSO_cjs.withOsdkMetrics(FilterList, "FilterList");
4078
4116
 
4079
4117
  exports.BaseFilterList = BaseFilterList;
4080
4118
  exports.FilterList = FilterList2;
4081
4119
  exports.deserializeFilterStates = deserializeFilterStates;
4082
4120
  exports.serializeFilterStates = serializeFilterStates;
4083
- //# sourceMappingURL=chunk-L5LPFCXT.cjs.map
4084
- //# sourceMappingURL=chunk-L5LPFCXT.cjs.map
4121
+ //# sourceMappingURL=chunk-W2IASYE4.cjs.map
4122
+ //# sourceMappingURL=chunk-W2IASYE4.cjs.map