@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.
- package/AGENTS.md +4 -0
- package/CHANGELOG.md +11 -0
- package/build/browser/action-form/ActionForm.js +19 -11
- package/build/browser/action-form/ActionForm.js.map +1 -1
- package/build/browser/action-form/ActionFormApi.js.map +1 -1
- package/build/browser/action-form/BaseForm.js +19 -13
- package/build/browser/action-form/BaseForm.js.map +1 -1
- package/build/browser/action-form/BaseForm.module.css +7 -7
- package/build/browser/action-form/FormField.js +5 -2
- package/build/browser/action-form/FormField.js.map +1 -1
- package/build/browser/action-form/FormField.module.css +6 -1
- package/build/browser/action-form/FormField.module.css.js +1 -0
- package/build/browser/action-form/FormFieldApi.js +7 -1
- package/build/browser/action-form/FormFieldApi.js.map +1 -1
- package/build/browser/action-form/FormHeader.module.css +2 -2
- package/build/browser/action-form/fields/DateCalendar.js +41 -3
- package/build/browser/action-form/fields/DateCalendar.js.map +1 -1
- package/build/browser/action-form/fields/DateCalendar.module.css +59 -10
- package/build/browser/action-form/fields/DateCalendar.module.css.js +5 -1
- package/build/browser/action-form/fields/DateRangeCalendar.js +8 -5
- package/build/browser/action-form/fields/DateRangeCalendar.js.map +1 -1
- package/build/browser/action-form/fields/DateRangeInputField.js +76 -61
- package/build/browser/action-form/fields/DateRangeInputField.js.map +1 -1
- package/build/browser/action-form/fields/DateRangeInputField.module.css +0 -15
- package/build/browser/action-form/fields/DateRangeInputField.module.css.js +1 -2
- package/build/browser/action-form/fields/DatetimePickerField.js +74 -40
- package/build/browser/action-form/fields/DatetimePickerField.js.map +1 -1
- package/build/browser/action-form/fields/DatetimePickerField.module.css +2 -9
- package/build/browser/action-form/fields/FieldBridge.js +1 -1
- package/build/browser/action-form/fields/FieldBridge.js.map +1 -1
- package/build/browser/action-form/fields/FilePickerField.js +47 -39
- package/build/browser/action-form/fields/FilePickerField.js.map +1 -1
- package/build/browser/action-form/fields/FilePickerField.module.css +43 -31
- package/build/browser/action-form/fields/FilePickerField.module.css.js +2 -2
- package/build/browser/action-form/fields/FormFieldRenderer.js +9 -0
- package/build/browser/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/browser/action-form/fields/RadioButtonsField.module.css +3 -3
- package/build/browser/action-form/fields/SwitchField.js +34 -0
- package/build/browser/action-form/fields/SwitchField.js.map +1 -0
- package/build/browser/action-form/fields/TimePicker.js +165 -26
- package/build/browser/action-form/fields/TimePicker.js.map +1 -1
- package/build/browser/action-form/fields/TimePicker.module.css +27 -2
- package/build/browser/action-form/fields/TimePicker.module.css.js +3 -1
- package/build/browser/action-form/fields/calendarShared.js +5 -0
- package/build/browser/action-form/fields/calendarShared.js.map +1 -1
- package/build/browser/action-form/fields/useDateEditState.js +3 -4
- package/build/browser/action-form/fields/useDateEditState.js.map +1 -1
- package/build/browser/base-components/action-button/ActionButton.js +2 -1
- package/build/browser/base-components/action-button/ActionButton.js.map +1 -1
- package/build/browser/base-components/action-button/ActionButton.module.css +19 -0
- package/build/browser/base-components/action-button/ActionButton.module.css.js +2 -1
- package/build/browser/base-components/combobox/Combobox.module.css +31 -3
- package/build/browser/base-components/select/Select.module.css +18 -0
- package/build/browser/base-components/switch/Switch.module.css +18 -6
- package/build/browser/filter-list/base/inputs/ListogramInput.js +34 -6
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +11 -5
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +1 -1
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +20 -12
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NoValueLabel.js +36 -0
- package/build/browser/filter-list/base/inputs/NoValueLabel.js.map +1 -0
- package/build/browser/filter-list/base/inputs/NoValueLabel.module.css +20 -0
- package/build/browser/filter-list/base/inputs/NoValueLabel.module.css.js +6 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +4 -3
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +1 -1
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +13 -8
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TextTagsInput.js +6 -2
- package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterListState.js +7 -6
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/hooks/useStableMapEntries.js +35 -0
- package/build/browser/filter-list/hooks/useStableMapEntries.js.map +1 -0
- package/build/browser/filter-list/utils/filterValues.js +13 -0
- package/build/browser/filter-list/utils/filterValues.js.map +1 -1
- package/build/browser/object-table/DefaultCellRenderer.js +12 -2
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/browser/object-table/EditableCell.js +14 -4
- package/build/browser/object-table/EditableCell.js.map +1 -1
- package/build/browser/object-table/EditableCell.module.css +4 -0
- package/build/browser/object-table/EditableCell.module.css.js +1 -0
- package/build/browser/object-table/ObjectTable.js +3 -1
- package/build/browser/object-table/ObjectTable.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/object-table/Table.js +8 -4
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/TableBody.js +4 -2
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableRow.js +12 -4
- package/build/browser/object-table/TableRow.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/utils/editableUtils.js +39 -0
- package/build/browser/object-table/utils/editableUtils.js.map +1 -0
- package/build/browser/object-table/utils/shouldShowEditableCell.js +1 -1
- package/build/browser/object-table/utils/shouldShowEditableCell.js.map +1 -1
- package/build/browser/object-table/utils/types.js.map +1 -1
- package/build/browser/styles.css +331 -130
- package/build/browser/tokens/component-tokens/button.css +15 -0
- package/build/browser/tokens/component-tokens/combobox.css +9 -0
- package/build/browser/tokens/component-tokens/datetime-picker.css +2 -2
- package/build/browser/tokens/component-tokens/file-picker.css +0 -10
- package/build/browser/tokens/component-tokens/filter-list.css +9 -6
- package/build/browser/tokens/component-tokens/form-section.css +1 -1
- package/build/browser/tokens/component-tokens/form.css +9 -5
- package/build/browser/tokens/component-tokens/table.css +3 -5
- package/build/browser/tokens.css +1 -0
- package/build/browser/util/UserAgent.js +1 -1
- package/build/cjs/{DateCalendar-2W4QHEEI.css → DateCalendar-G7RC2FCG.css} +105 -8
- package/build/cjs/DateCalendar-G7RC2FCG.css.map +1 -0
- package/build/cjs/DateCalendar-RX7HP2XP.cjs +26 -0
- package/build/cjs/{DateCalendar-QGSYBWJB.cjs.map → DateCalendar-RX7HP2XP.cjs.map} +1 -1
- package/build/cjs/{DateRangeCalendar-M63S2LLG.css → DateRangeCalendar-JBVYJDBJ.css} +105 -8
- package/build/cjs/DateRangeCalendar-JBVYJDBJ.css.map +1 -0
- package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs +54 -0
- package/build/cjs/DateRangeCalendar-OHT4IUWQ.cjs.map +1 -0
- package/build/cjs/{chunk-T7I6O43T.cjs → chunk-6SPXSFPI.cjs} +237 -85
- package/build/cjs/chunk-6SPXSFPI.cjs.map +1 -0
- package/build/cjs/{chunk-SZXVBDSA.cjs → chunk-6UDBHYSO.cjs} +3 -3
- package/build/cjs/{chunk-SZXVBDSA.cjs.map → chunk-6UDBHYSO.cjs.map} +1 -1
- package/build/cjs/{chunk-YBDS5WQP.cjs → chunk-7H6WXQ35.cjs} +4 -4
- package/build/cjs/{chunk-YBDS5WQP.cjs.map → chunk-7H6WXQ35.cjs.map} +1 -1
- package/build/cjs/{chunk-VVJFMOZI.cjs → chunk-I3OSD6CF.cjs} +19 -45
- package/build/cjs/chunk-I3OSD6CF.cjs.map +1 -0
- package/build/cjs/chunk-MD4KDE44.cjs +41 -0
- package/build/cjs/chunk-MD4KDE44.cjs.map +1 -0
- package/build/cjs/{chunk-YPXTSEE7.cjs → chunk-MLFMSZJQ.cjs} +85 -38
- package/build/cjs/chunk-MLFMSZJQ.cjs.map +1 -0
- package/build/cjs/chunk-MQYOHGPY.cjs +52 -0
- package/build/cjs/chunk-MQYOHGPY.cjs.map +1 -0
- package/build/cjs/{chunk-BJDCC446.cjs → chunk-PTTCWNZZ.cjs} +417 -364
- package/build/cjs/chunk-PTTCWNZZ.cjs.map +1 -0
- package/build/cjs/{chunk-B2GRQRWU.cjs → chunk-TOJSJN3L.cjs} +44 -8
- package/build/cjs/chunk-TOJSJN3L.cjs.map +1 -0
- package/build/cjs/{chunk-JLESWL47.cjs → chunk-V7XWTJV7.cjs} +4 -2
- package/build/cjs/chunk-V7XWTJV7.cjs.map +1 -0
- package/build/cjs/{chunk-L5LPFCXT.cjs → chunk-W2IASYE4.cjs} +163 -125
- package/build/cjs/chunk-W2IASYE4.cjs.map +1 -0
- package/build/cjs/chunk-X337DNCW.cjs +45 -0
- package/build/cjs/chunk-X337DNCW.cjs.map +1 -0
- package/build/cjs/{chunk-SB2VTP67.cjs → chunk-Z7VHLTKD.cjs} +2 -64
- package/build/cjs/chunk-Z7VHLTKD.cjs.map +1 -0
- package/build/cjs/public/experimental/action-form.cjs +11 -9
- package/build/cjs/public/experimental/action-form.css +223 -68
- package/build/cjs/public/experimental/action-form.css.map +1 -1
- package/build/cjs/public/experimental/action-form.d.cts +83 -74
- package/build/cjs/public/experimental/filter-list.cjs +9 -8
- package/build/cjs/public/experimental/filter-list.css +38 -19
- package/build/cjs/public/experimental/filter-list.css.map +1 -1
- package/build/cjs/public/experimental/object-table.cjs +14 -12
- package/build/cjs/public/experimental/object-table.css +152 -59
- package/build/cjs/public/experimental/object-table.css.map +1 -1
- package/build/cjs/public/experimental/object-table.d.cts +39 -20
- package/build/cjs/public/experimental/pdf-viewer.cjs +24 -24
- package/build/cjs/public/experimental.cjs +46 -44
- package/build/cjs/public/experimental.css +242 -139
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/primitives.cjs +8 -7
- package/build/cjs/public/primitives.css +15 -0
- package/build/cjs/public/primitives.css.map +1 -1
- package/build/cjs/public/primitives.d.cts +1 -0
- package/build/esm/action-form/ActionForm.js +19 -11
- package/build/esm/action-form/ActionForm.js.map +1 -1
- package/build/esm/action-form/ActionFormApi.js.map +1 -1
- package/build/esm/action-form/BaseForm.js +19 -13
- package/build/esm/action-form/BaseForm.js.map +1 -1
- package/build/esm/action-form/BaseForm.module.css +7 -7
- package/build/esm/action-form/FormField.js +5 -2
- package/build/esm/action-form/FormField.js.map +1 -1
- package/build/esm/action-form/FormField.module.css +6 -1
- package/build/esm/action-form/FormFieldApi.js +7 -1
- package/build/esm/action-form/FormFieldApi.js.map +1 -1
- package/build/esm/action-form/FormHeader.module.css +2 -2
- package/build/esm/action-form/fields/DateCalendar.js +41 -3
- package/build/esm/action-form/fields/DateCalendar.js.map +1 -1
- package/build/esm/action-form/fields/DateCalendar.module.css +59 -10
- package/build/esm/action-form/fields/DateRangeCalendar.js +8 -5
- package/build/esm/action-form/fields/DateRangeCalendar.js.map +1 -1
- package/build/esm/action-form/fields/DateRangeInputField.js +76 -61
- package/build/esm/action-form/fields/DateRangeInputField.js.map +1 -1
- package/build/esm/action-form/fields/DateRangeInputField.module.css +0 -15
- package/build/esm/action-form/fields/DatetimePickerField.js +74 -40
- package/build/esm/action-form/fields/DatetimePickerField.js.map +1 -1
- package/build/esm/action-form/fields/DatetimePickerField.module.css +2 -9
- package/build/esm/action-form/fields/FieldBridge.js +1 -1
- package/build/esm/action-form/fields/FieldBridge.js.map +1 -1
- package/build/esm/action-form/fields/FilePickerField.js +47 -39
- package/build/esm/action-form/fields/FilePickerField.js.map +1 -1
- package/build/esm/action-form/fields/FilePickerField.module.css +43 -31
- package/build/esm/action-form/fields/FormFieldRenderer.js +9 -0
- package/build/esm/action-form/fields/FormFieldRenderer.js.map +1 -1
- package/build/esm/action-form/fields/RadioButtonsField.module.css +3 -3
- package/build/esm/action-form/fields/SwitchField.js +34 -0
- package/build/esm/action-form/fields/SwitchField.js.map +1 -0
- package/build/esm/action-form/fields/TimePicker.js +165 -26
- package/build/esm/action-form/fields/TimePicker.js.map +1 -1
- package/build/esm/action-form/fields/TimePicker.module.css +27 -2
- package/build/esm/action-form/fields/calendarShared.js +5 -0
- package/build/esm/action-form/fields/calendarShared.js.map +1 -1
- package/build/esm/action-form/fields/useDateEditState.js +3 -4
- package/build/esm/action-form/fields/useDateEditState.js.map +1 -1
- package/build/esm/base-components/action-button/ActionButton.js +2 -1
- package/build/esm/base-components/action-button/ActionButton.js.map +1 -1
- package/build/esm/base-components/action-button/ActionButton.module.css +19 -0
- package/build/esm/base-components/combobox/Combobox.module.css +31 -3
- package/build/esm/base-components/select/Select.module.css +18 -0
- package/build/esm/base-components/switch/Switch.module.css +18 -6
- package/build/esm/filter-list/base/inputs/ListogramInput.js +34 -6
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +11 -5
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +20 -12
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NoValueLabel.js +36 -0
- package/build/esm/filter-list/base/inputs/NoValueLabel.js.map +1 -0
- package/build/esm/filter-list/base/inputs/NoValueLabel.module.css +20 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +4 -3
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +10 -7
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +13 -8
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TextTagsInput.js +6 -2
- package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterListState.js +7 -6
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/hooks/useStableMapEntries.js +35 -0
- package/build/esm/filter-list/hooks/useStableMapEntries.js.map +1 -0
- package/build/esm/filter-list/utils/filterValues.js +13 -0
- package/build/esm/filter-list/utils/filterValues.js.map +1 -1
- package/build/esm/object-table/DefaultCellRenderer.js +12 -2
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/esm/object-table/EditableCell.js +14 -4
- package/build/esm/object-table/EditableCell.js.map +1 -1
- package/build/esm/object-table/EditableCell.module.css +4 -0
- package/build/esm/object-table/ObjectTable.js +3 -1
- package/build/esm/object-table/ObjectTable.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/object-table/Table.js +8 -4
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/TableBody.js +4 -2
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableRow.js +12 -4
- package/build/esm/object-table/TableRow.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/utils/editableUtils.js +39 -0
- package/build/esm/object-table/utils/editableUtils.js.map +1 -0
- package/build/esm/object-table/utils/shouldShowEditableCell.js +1 -1
- package/build/esm/object-table/utils/shouldShowEditableCell.js.map +1 -1
- package/build/esm/object-table/utils/types.js.map +1 -1
- package/build/esm/tokens/component-tokens/button.css +15 -0
- package/build/esm/tokens/component-tokens/combobox.css +9 -0
- package/build/esm/tokens/component-tokens/datetime-picker.css +2 -2
- package/build/esm/tokens/component-tokens/file-picker.css +0 -10
- package/build/esm/tokens/component-tokens/filter-list.css +9 -6
- package/build/esm/tokens/component-tokens/form-section.css +1 -1
- package/build/esm/tokens/component-tokens/form.css +9 -5
- package/build/esm/tokens/component-tokens/table.css +3 -5
- package/build/esm/tokens.css +1 -0
- package/build/esm/util/UserAgent.js +1 -1
- package/build/types/action-form/ActionFormApi.d.ts +8 -8
- package/build/types/action-form/ActionFormApi.d.ts.map +1 -1
- package/build/types/action-form/BaseForm.d.ts.map +1 -1
- package/build/types/action-form/FormFieldApi.d.ts +29 -22
- package/build/types/action-form/FormFieldApi.d.ts.map +1 -1
- package/build/types/action-form/fields/DateCalendar.d.ts +6 -1
- package/build/types/action-form/fields/DateCalendar.d.ts.map +1 -1
- package/build/types/action-form/fields/DateRangeCalendar.d.ts.map +1 -1
- package/build/types/action-form/fields/DateRangeInputField.d.ts.map +1 -1
- package/build/types/action-form/fields/DatetimePickerField.d.ts.map +1 -1
- package/build/types/action-form/fields/FieldBridge.d.ts.map +1 -1
- package/build/types/action-form/fields/FilePickerField.d.ts.map +1 -1
- package/build/types/action-form/fields/FormFieldRenderer.d.ts.map +1 -1
- package/build/types/action-form/fields/SwitchField.d.ts +7 -0
- package/build/types/action-form/fields/SwitchField.d.ts.map +1 -0
- package/build/types/action-form/fields/TimePicker.d.ts +4 -5
- package/build/types/action-form/fields/TimePicker.d.ts.map +1 -1
- package/build/types/action-form/fields/useDateEditState.d.ts +2 -2
- package/build/types/base-components/action-button/ActionButton.d.ts +1 -0
- package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/NoValueLabel.d.ts +15 -0
- package/build/types/filter-list/base/inputs/NoValueLabel.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useStableMapEntries.d.ts +9 -0
- package/build/types/filter-list/hooks/useStableMapEntries.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterValues.d.ts +7 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -1
- package/build/types/object-table/EditableCell.d.ts +1 -1
- package/build/types/object-table/EditableCell.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +26 -7
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/Table.d.ts +9 -2
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableBody.d.ts +2 -1
- package/build/types/object-table/TableBody.d.ts.map +1 -1
- package/build/types/object-table/TableRow.d.ts +2 -1
- package/build/types/object-table/TableRow.d.ts.map +1 -1
- package/build/types/object-table/utils/editableUtils.d.ts +16 -0
- package/build/types/object-table/utils/editableUtils.d.ts.map +1 -0
- package/build/types/object-table/utils/shouldShowEditableCell.d.ts +2 -1
- package/build/types/object-table/utils/shouldShowEditableCell.d.ts.map +1 -1
- package/build/types/object-table/utils/types.d.ts +4 -11
- package/build/types/object-table/utils/types.d.ts.map +1 -1
- package/docs/ActionForm.md +176 -0
- package/docs/CSSVariables.md +31 -30
- package/docs/ObjectTable.md +141 -16
- package/package.json +6 -5
- package/build/cjs/DateCalendar-2W4QHEEI.css.map +0 -1
- package/build/cjs/DateCalendar-QGSYBWJB.cjs +0 -24
- package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs +0 -48
- package/build/cjs/DateRangeCalendar-JHO2BF3Z.cjs.map +0 -1
- package/build/cjs/DateRangeCalendar-M63S2LLG.css.map +0 -1
- package/build/cjs/chunk-B2GRQRWU.cjs.map +0 -1
- package/build/cjs/chunk-BJDCC446.cjs.map +0 -1
- package/build/cjs/chunk-JLESWL47.cjs.map +0 -1
- package/build/cjs/chunk-L5LPFCXT.cjs.map +0 -1
- package/build/cjs/chunk-SB2VTP67.cjs.map +0 -1
- package/build/cjs/chunk-T7I6O43T.cjs.map +0 -1
- package/build/cjs/chunk-UCTQICPR.cjs +0 -10
- package/build/cjs/chunk-UCTQICPR.cjs.map +0 -1
- package/build/cjs/chunk-VVJFMOZI.cjs.map +0 -1
- package/build/cjs/chunk-YPXTSEE7.cjs.map +0 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkX337DNCW_cjs = require('./chunk-X337DNCW.cjs');
|
|
4
4
|
var chunkOHKKNZZS_cjs = require('./chunk-OHKKNZZS.cjs');
|
|
5
|
-
var
|
|
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
|
|
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
|
|
921
|
-
return
|
|
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
|
-
},
|
|
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,
|
|
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,
|
|
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
|
|
1065
|
-
return
|
|
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
|
-
},
|
|
1054
|
+
}, _extends3.apply(null, arguments);
|
|
1072
1055
|
}
|
|
1073
1056
|
var dateConfig = {
|
|
1074
1057
|
inputType: "date",
|
|
1075
|
-
formatValue:
|
|
1076
|
-
parseValue:
|
|
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) => `${
|
|
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,
|
|
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
|
|
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:
|
|
1225
|
+
className: ListogramInput_default.label,
|
|
1208
1226
|
"data-excluding": isExcluding && selectedSet.has(value) || void 0
|
|
1209
|
-
},
|
|
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 =
|
|
1239
|
-
const exists = selectedDates.some((d) =>
|
|
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 =
|
|
1246
|
-
onChange(selectedDates.filter((d) =>
|
|
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 =
|
|
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
|
-
},
|
|
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 ${
|
|
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 ?
|
|
1281
|
-
max: maxDate ?
|
|
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) =>
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
1381
|
-
className: NullValueWrapper_default.
|
|
1382
|
-
}
|
|
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
|
|
1390
|
-
return
|
|
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
|
-
},
|
|
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,
|
|
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 =
|
|
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:
|
|
1482
|
+
value: chunkMQYOHGPY_cjs.formatDateForInput(selectedDate),
|
|
1457
1483
|
onChange: handleChange,
|
|
1458
|
-
min: minDate ?
|
|
1459
|
-
max: maxDate ?
|
|
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) =>
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 ${
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 =
|
|
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 =
|
|
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,
|
|
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:
|
|
1718
|
+
value: chunkMQYOHGPY_cjs.formatDateForInput(startDate),
|
|
1688
1719
|
onChange: handleStartChange,
|
|
1689
|
-
min: minDate ?
|
|
1690
|
-
max: startInputMax ?
|
|
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:
|
|
1726
|
+
value: chunkMQYOHGPY_cjs.formatDateForInput(endDate),
|
|
1696
1727
|
onChange: handleEndChange,
|
|
1697
|
-
min: endInputMin ?
|
|
1698
|
-
max: maxDate ?
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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-
|
|
4084
|
-
//# sourceMappingURL=chunk-
|
|
4121
|
+
//# sourceMappingURL=chunk-W2IASYE4.cjs.map
|
|
4122
|
+
//# sourceMappingURL=chunk-W2IASYE4.cjs.map
|