@osdk/react-components 0.2.0-beta.14 → 0.2.0-beta.16
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/CHANGELOG.md +27 -0
- package/build/browser/base-components/action-button/ActionButton.module.css +0 -4
- package/build/browser/base-components/checkbox/Checkbox.module.css +0 -4
- package/build/browser/base-components/dialog/Dialog.module.css +0 -8
- package/build/browser/base-components/draggable-list/DraggableList.js +4 -2
- package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -1
- package/build/browser/base-components/draggable-list/DraggableList.module.css +0 -8
- package/build/browser/filter-list/FilterInput.js +132 -0
- package/build/browser/filter-list/FilterInput.js.map +1 -0
- package/build/browser/filter-list/FilterList.js +91 -0
- package/build/browser/filter-list/FilterList.js.map +1 -0
- package/build/browser/filter-list/FilterListApi.js.map +1 -1
- package/build/browser/filter-list/FilterListItemApi.js.map +1 -1
- package/build/browser/filter-list/base/{FilterList.js → BaseFilterList.js} +30 -31
- package/build/browser/filter-list/base/BaseFilterList.js.map +1 -0
- package/build/browser/filter-list/base/BaseFilterListApi.js +2 -0
- package/build/browser/filter-list/base/BaseFilterListApi.js.map +1 -0
- package/build/browser/filter-list/base/FilterIcons.js +63 -0
- package/build/browser/filter-list/base/FilterIcons.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.module.css +22 -1
- package/build/browser/filter-list/base/FilterList.module.css.js +2 -0
- package/build/browser/filter-list/base/FilterListContent.js +21 -20
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -1
- package/build/browser/filter-list/base/FilterListHeader.js +8 -3
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/browser/filter-list/base/FilterListHeader.module.css +25 -1
- package/build/browser/filter-list/base/FilterListHeader.module.css.js +3 -0
- package/build/browser/filter-list/base/FilterListItem.js +36 -17
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/FilterListItem.module.css +58 -2
- package/build/browser/filter-list/base/FilterListItem.module.css.js +2 -0
- package/build/browser/filter-list/base/SortableFilterListItem.js +6 -6
- package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/index.js +1 -2
- package/build/browser/filter-list/base/index.js.map +1 -1
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js +34 -15
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +13 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +2 -1
- package/build/browser/filter-list/base/inputs/DateRangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ListogramInput.js +17 -21
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +25 -19
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css +6 -4
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +7 -14
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +4 -1
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +1 -1
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +4 -23
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +3 -2
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/RangeInput.js +2 -32
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/RangeInput.module.css +16 -14
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css +2 -1
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +6 -13
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TextTagsInput.js +6 -14
- package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TimelineInput.js +2 -2
- package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/TimelineInput.module.css +14 -12
- package/build/browser/filter-list/base/inputs/shared.module.css +5 -4
- package/build/browser/filter-list/hooks/useFilterListState.js +24 -3
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js +56 -0
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ContainsTextFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js +105 -0
- package/build/browser/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js +508 -0
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ListogramFilterInput.js +62 -0
- package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/MultiDateFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js +55 -0
- package/build/browser/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js +105 -0
- package/build/browser/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/PropertyFilterInput.js +129 -0
- package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/SingleDateFilterInput.js +38 -0
- package/build/browser/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js +55 -0
- package/build/browser/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js +54 -0
- package/build/browser/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/TimelineFilterInput.js +49 -0
- package/build/browser/filter-list/inputs/TimelineFilterInput.js.map +1 -0
- package/build/browser/filter-list/inputs/ToggleFilterInput.js +36 -0
- package/build/browser/filter-list/inputs/ToggleFilterInput.js.map +1 -0
- package/build/browser/filter-list/types/AggregationTypes.js +2 -0
- package/build/browser/filter-list/types/AggregationTypes.js.map +1 -0
- package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/browser/filter-list/types/index.js +0 -2
- package/build/browser/filter-list/types/index.js.map +1 -1
- package/build/browser/filter-list/utils/filterStateSerialization.js +42 -0
- package/build/browser/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +19 -11
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/browser/filter-list/utils/filterValues.js +26 -0
- package/build/browser/filter-list/utils/filterValues.js.map +1 -1
- package/build/browser/object-table/ColumnConfigDialog.module.css +0 -9
- package/build/browser/object-table/MultiColumnSortDialog.module.css +0 -4
- package/build/browser/object-table/ObjectTable.js +2 -0
- 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/TableHeaderWithPopover.module.css +0 -12
- package/build/browser/object-table/hooks/useRowSelection.js +11 -8
- package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/browser/public/experimental.js +4 -1
- package/build/browser/public/experimental.js.map +1 -1
- package/build/browser/shared/ErrorBoundary.module.css +14 -14
- package/build/browser/styles.css +207 -124
- package/build/cjs/public/experimental.cjs +3156 -2559
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +591 -513
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +70 -4
- package/build/esm/base-components/action-button/ActionButton.module.css +0 -4
- package/build/esm/base-components/checkbox/Checkbox.module.css +0 -4
- package/build/esm/base-components/dialog/Dialog.module.css +0 -8
- package/build/esm/base-components/draggable-list/DraggableList.js +4 -2
- package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -1
- package/build/esm/base-components/draggable-list/DraggableList.module.css +0 -8
- package/build/esm/filter-list/FilterInput.js +132 -0
- package/build/esm/filter-list/FilterInput.js.map +1 -0
- package/build/esm/filter-list/FilterList.js +91 -0
- package/build/esm/filter-list/FilterList.js.map +1 -0
- package/build/esm/filter-list/FilterListApi.js.map +1 -1
- package/build/esm/filter-list/FilterListItemApi.js.map +1 -1
- package/build/esm/filter-list/base/{FilterList.js → BaseFilterList.js} +30 -31
- package/build/esm/filter-list/base/BaseFilterList.js.map +1 -0
- package/build/esm/filter-list/base/BaseFilterListApi.js +2 -0
- package/build/esm/filter-list/base/BaseFilterListApi.js.map +1 -0
- package/build/esm/filter-list/base/FilterIcons.js +63 -0
- package/build/esm/filter-list/base/FilterIcons.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.module.css +22 -1
- package/build/esm/filter-list/base/FilterListContent.js +21 -20
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -1
- package/build/esm/filter-list/base/FilterListHeader.js +8 -3
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -1
- package/build/esm/filter-list/base/FilterListHeader.module.css +25 -1
- package/build/esm/filter-list/base/FilterListItem.js +36 -17
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/FilterListItem.module.css +58 -2
- package/build/esm/filter-list/base/SortableFilterListItem.js +6 -6
- package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/index.js +1 -2
- package/build/esm/filter-list/base/index.js.map +1 -1
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js +34 -15
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +13 -0
- package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ListogramInput.js +17 -21
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +25 -19
- package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +6 -4
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +7 -14
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +4 -1
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +4 -23
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +3 -2
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/RangeInput.js +2 -32
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/RangeInput.module.css +16 -14
- package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +2 -1
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +6 -13
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TextTagsInput.js +6 -14
- package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TimelineInput.js +2 -2
- package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/TimelineInput.module.css +14 -12
- package/build/esm/filter-list/base/inputs/shared.module.css +5 -4
- package/build/esm/filter-list/hooks/useFilterListState.js +24 -3
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js +56 -0
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ContainsTextFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/ContainsTextFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js +105 -0
- package/build/esm/filter-list/inputs/DateRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js +508 -0
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ListogramFilterInput.js +62 -0
- package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/MultiDateFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/MultiDateFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js +55 -0
- package/build/esm/filter-list/inputs/MultiSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js +105 -0
- package/build/esm/filter-list/inputs/NumberRangeFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/PropertyFilterInput.js +129 -0
- package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/SingleDateFilterInput.js +38 -0
- package/build/esm/filter-list/inputs/SingleDateFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js +55 -0
- package/build/esm/filter-list/inputs/SingleSelectFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js +54 -0
- package/build/esm/filter-list/inputs/TextTagsFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/TimelineFilterInput.js +49 -0
- package/build/esm/filter-list/inputs/TimelineFilterInput.js.map +1 -0
- package/build/esm/filter-list/inputs/ToggleFilterInput.js +36 -0
- package/build/esm/filter-list/inputs/ToggleFilterInput.js.map +1 -0
- package/build/esm/filter-list/types/AggregationTypes.js +2 -0
- package/build/esm/filter-list/types/AggregationTypes.js.map +1 -0
- package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/esm/filter-list/types/index.js +0 -2
- package/build/esm/filter-list/types/index.js.map +1 -1
- package/build/esm/filter-list/utils/filterStateSerialization.js +42 -0
- package/build/esm/filter-list/utils/filterStateSerialization.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +19 -11
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/esm/filter-list/utils/filterValues.js +26 -0
- package/build/esm/filter-list/utils/filterValues.js.map +1 -1
- package/build/esm/object-table/ColumnConfigDialog.module.css +0 -9
- package/build/esm/object-table/MultiColumnSortDialog.module.css +0 -4
- package/build/esm/object-table/ObjectTable.js +2 -0
- 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/TableHeaderWithPopover.module.css +0 -12
- package/build/esm/object-table/hooks/useRowSelection.js +11 -8
- package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/esm/public/experimental.js +4 -1
- package/build/esm/public/experimental.js.map +1 -1
- package/build/esm/shared/ErrorBoundary.module.css +14 -14
- package/build/types/filter-list/{base/FilterInput.d.ts → FilterInput.d.ts} +2 -2
- package/build/types/filter-list/FilterInput.d.ts.map +1 -0
- package/build/types/filter-list/{base/FilterList.d.ts → FilterList.d.ts} +1 -1
- package/build/types/filter-list/FilterList.d.ts.map +1 -0
- package/build/types/filter-list/FilterListApi.d.ts +14 -0
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts +13 -0
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/base/BaseFilterList.d.ts +3 -0
- package/build/types/filter-list/base/BaseFilterList.d.ts.map +1 -0
- package/build/types/filter-list/base/BaseFilterListApi.d.ts +29 -0
- package/build/types/filter-list/base/BaseFilterListApi.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterIcons.d.ts +4 -0
- package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListContent.d.ts +8 -8
- package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListItem.d.ts +7 -8
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -1
- package/build/types/filter-list/base/SortableFilterListItem.d.ts +7 -8
- package/build/types/filter-list/base/SortableFilterListItem.d.ts.map +1 -1
- package/build/types/filter-list/base/index.d.ts +2 -2
- package/build/types/filter-list/base/index.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +7 -13
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts +7 -12
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts +10 -13
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts +7 -13
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +5 -11
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +7 -12
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/RangeInput.d.ts +7 -14
- package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts +7 -13
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +7 -13
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterListState.d.ts +1 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +2 -5
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -1
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts +14 -0
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts +10 -0
- package/build/types/filter-list/inputs/ContainsTextFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts +12 -0
- package/build/types/filter-list/inputs/DateRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/{base/inputs → inputs}/LinkedPropertyInput.d.ts +2 -2
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts +16 -0
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/MultiDateFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/MultiSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts +12 -0
- package/build/types/filter-list/inputs/NumberRangeFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts +17 -0
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/SingleDateFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/SingleSelectFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts +13 -0
- package/build/types/filter-list/inputs/TextTagsFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/TimelineFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/TimelineFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/inputs/ToggleFilterInput.d.ts +9 -0
- package/build/types/filter-list/inputs/ToggleFilterInput.d.ts.map +1 -0
- package/build/types/filter-list/types/AggregationTypes.d.ts +5 -0
- package/build/types/filter-list/types/AggregationTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts +0 -19
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -1
- package/build/types/filter-list/types/index.d.ts +0 -2
- package/build/types/filter-list/types/index.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterStateSerialization.d.ts +3 -0
- package/build/types/filter-list/utils/filterStateSerialization.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +1 -1
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterValues.d.ts +2 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -1
- package/build/types/object-table/ObjectTable.d.ts +1 -1
- package/build/types/object-table/ObjectTable.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +7 -1
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/hooks/useRowSelection.d.ts +3 -2
- package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
- package/build/types/public/experimental.d.ts +4 -1
- package/build/types/public/experimental.d.ts.map +1 -1
- package/package.json +4 -4
- package/build/browser/filter-list/base/FilterInput.js +0 -542
- package/build/browser/filter-list/base/FilterInput.js.map +0 -1
- package/build/browser/filter-list/base/FilterList.js.map +0 -1
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js +0 -237
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js.map +0 -1
- package/build/browser/filter-list/types/AddFilterMenuTypes.js +0 -2
- package/build/browser/filter-list/types/AddFilterMenuTypes.js.map +0 -1
- package/build/browser/filter-list/types/FilterPanelTypes.js +0 -2
- package/build/browser/filter-list/types/FilterPanelTypes.js.map +0 -1
- package/build/esm/filter-list/base/FilterInput.js +0 -542
- package/build/esm/filter-list/base/FilterInput.js.map +0 -1
- package/build/esm/filter-list/base/FilterList.js.map +0 -1
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js +0 -237
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js.map +0 -1
- package/build/esm/filter-list/types/AddFilterMenuTypes.js +0 -2
- package/build/esm/filter-list/types/AddFilterMenuTypes.js.map +0 -1
- package/build/esm/filter-list/types/FilterPanelTypes.js +0 -2
- package/build/esm/filter-list/types/FilterPanelTypes.js.map +0 -1
- package/build/types/filter-list/base/FilterInput.d.ts.map +0 -1
- package/build/types/filter-list/base/FilterList.d.ts.map +0 -1
- package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts.map +0 -1
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts +0 -56
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts.map +0 -1
- package/build/types/filter-list/types/FilterPanelTypes.d.ts +0 -18
- package/build/types/filter-list/types/FilterPanelTypes.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterInput.js","names":["React","memo","useCallback","useMemo","coerceToString","coerceToStringArray","CheckboxListInput","ContainsTextInput","DateRangeInput","LinkedPropertyInput","ListogramInput","MultiDateInput","MultiSelectInput","NullValueWrapper","NumberRangeInput","SingleDateInput","SingleSelectInput","TextTagsInput","TimelineInput","ToggleInput","FilterInputInner","objectType","objectSet","definition","filterState","onFilterStateChanged","whereClause","createElement","FilterInputContent","FilterInput","type","HasLinkInput","KeywordSearchInput","placeholder","label","renderInput","customFilterState","Fragment","state","PropertyFilterInput","hasLink","handleChange","enabled","onChange","searchTerm","undefined","operator","newSearchTerm","value","PropertyFilterInputInner","filterComponent","CheckboxListFilterInput","propertyKey","key","ContainsTextFilterInput","ToggleFilterInput","NumberRangeFilterInput","DateRangeFilterInput","SingleSelectFilterInput","MultiSelectFilterInput","SingleDateFilterInput","MultiDateFilterInput","ListogramFilterInput","TextTagsFilterInput","TimelineFilterInput","CheckboxListFilterInputInner","selectedValues","isExcluding","newSelectedValues","NumberRangeFilterInputInner","numberRangeState","includeNull","handleNullChange","minValue","maxValue","handleRangeChange","onIncludeNullChange","DateRangeFilterInputInner","dateRangeState","SingleSelectFilterInputInner","selectedValue","MultiSelectFilterInputInner","selectedDate","Date","selectedDates","filter","v","ListogramFilterInputInner","values","TextTagsFilterInputInner","tags","startDate","endDate"],"sources":["FilterInput.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectSet, ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport React, { memo, useCallback, useMemo } from \"react\";\nimport type { FilterDefinitionUnion } from \"../FilterListApi.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport {\n coerceToString,\n coerceToStringArray,\n} from \"../utils/coerceFilterValue.js\";\nimport { CheckboxListInput } from \"./inputs/CheckboxListInput.js\";\nimport { ContainsTextInput } from \"./inputs/ContainsTextInput.js\";\nimport { DateRangeInput } from \"./inputs/DateRangeInput.js\";\nimport { LinkedPropertyInput } from \"./inputs/LinkedPropertyInput.js\";\nimport { ListogramInput } from \"./inputs/ListogramInput.js\";\nimport { MultiDateInput } from \"./inputs/MultiDateInput.js\";\nimport { MultiSelectInput } from \"./inputs/MultiSelectInput.js\";\nimport { NullValueWrapper } from \"./inputs/NullValueWrapper.js\";\nimport { NumberRangeInput } from \"./inputs/NumberRangeInput.js\";\nimport { SingleDateInput } from \"./inputs/SingleDateInput.js\";\nimport { SingleSelectInput } from \"./inputs/SingleSelectInput.js\";\nimport { TextTagsInput } from \"./inputs/TextTagsInput.js\";\nimport { TimelineInput } from \"./inputs/TimelineInput.js\";\nimport { ToggleInput } from \"./inputs/ToggleInput.js\";\n\ninterface FilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n definition: FilterDefinitionUnion<Q>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction FilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: FilterInputProps<Q>): React.ReactElement {\n return (\n <FilterInputContent\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n}\n\nexport const FilterInput = memo(FilterInputInner) as typeof FilterInputInner;\n\nfunction FilterInputContent<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: FilterInputProps<Q>): React.ReactElement {\n switch (definition.type) {\n case \"HAS_LINK\":\n return (\n <HasLinkInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"LINKED_PROPERTY\":\n return (\n <LinkedPropertyInput\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"KEYWORD_SEARCH\":\n return (\n <KeywordSearchInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n placeholder={definition.label ?? \"Search...\"}\n />\n );\n\n case \"CUSTOM\": {\n if (!definition.renderInput) {\n return (\n <div data-unsupported=\"true\">Custom filter missing renderInput</div>\n );\n }\n const customFilterState = filterState?.type === \"custom\"\n ? filterState\n : definition.filterState;\n return (\n <>\n {definition.renderInput({\n objectSet,\n filterState: customFilterState,\n onFilterStateChanged: (state) => onFilterStateChanged(state),\n })}\n </>\n );\n }\n\n case \"PROPERTY\":\n return (\n <PropertyFilterInput\n objectType={objectType}\n objectSet={objectSet}\n definition={definition}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n default:\n return <div data-unsupported=\"true\">Unsupported filter type</div>;\n }\n}\n\ninterface HasLinkInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst HasLinkInput = memo(function HasLinkInput({\n filterState,\n onFilterStateChanged,\n}: HasLinkInputProps): React.ReactElement {\n const hasLink = filterState?.type === \"hasLink\"\n ? filterState.hasLink\n : false;\n\n const handleChange = useCallback(\n (hasLink: boolean) => {\n onFilterStateChanged({ type: \"hasLink\", hasLink });\n },\n [onFilterStateChanged],\n );\n\n return <ToggleInput enabled={hasLink} onChange={handleChange} />;\n});\n\ninterface KeywordSearchInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n placeholder: string;\n}\n\nconst KeywordSearchInput = memo(function KeywordSearchInput({\n filterState,\n onFilterStateChanged,\n placeholder,\n}: KeywordSearchInputProps): React.ReactElement {\n const searchTerm = filterState?.type === \"keywordSearch\"\n ? filterState.searchTerm\n : undefined;\n const operator = filterState?.type === \"keywordSearch\"\n ? filterState.operator\n : \"AND\";\n\n const handleChange = useCallback(\n (newSearchTerm: string | undefined) => {\n onFilterStateChanged({\n type: \"keywordSearch\",\n searchTerm: newSearchTerm ?? \"\",\n operator,\n });\n },\n [onFilterStateChanged, operator],\n );\n\n return (\n <ContainsTextInput\n value={searchTerm}\n onChange={handleChange}\n placeholder={placeholder}\n />\n );\n});\n\ninterface PropertyFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n definition: Extract<FilterDefinitionUnion<Q>, { type: \"PROPERTY\" }>;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction PropertyFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: PropertyFilterInputProps<Q>): React.ReactElement {\n switch (definition.filterComponent) {\n case \"CHECKBOX_LIST\":\n return (\n <CheckboxListFilterInput\n objectType={objectType}\n objectSet={objectSet}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"CONTAINS_TEXT\":\n return (\n <ContainsTextFilterInput\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"TOGGLE\":\n return (\n <ToggleFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"NUMBER_RANGE\":\n return (\n <NumberRangeFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"DATE_RANGE\":\n return (\n <DateRangeFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"SINGLE_SELECT\":\n return (\n <SingleSelectFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"MULTI_SELECT\":\n return (\n <MultiSelectFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"SINGLE_DATE\":\n return (\n <SingleDateFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"MULTI_DATE\":\n return (\n <MultiDateFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n case \"LISTOGRAM\":\n return (\n <ListogramFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"TEXT_TAGS\":\n return (\n <TextTagsFilterInput\n objectType={objectType}\n propertyKey={definition.key}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n whereClause={whereClause}\n />\n );\n\n case \"TIMELINE\":\n return (\n <TimelineFilterInput\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n />\n );\n\n default:\n return (\n <div data-unsupported=\"true\">\n Unsupported filter component: {definition.filterComponent}\n </div>\n );\n }\n}\n\nconst PropertyFilterInput = memo(\n PropertyFilterInputInner,\n) as typeof PropertyFilterInputInner;\n\ninterface CheckboxListFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction CheckboxListFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: CheckboxListFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToStringArray(filterState.selectedValues)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (newSelectedValues: string[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: newSelectedValues,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <CheckboxListInput\n objectType={objectType}\n objectSet={objectSet}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst CheckboxListFilterInput = memo(\n CheckboxListFilterInputInner,\n) as typeof CheckboxListFilterInputInner;\n\ninterface ContainsTextFilterInputProps {\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst ContainsTextFilterInput = memo(function ContainsTextFilterInput({\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: ContainsTextFilterInputProps): React.ReactElement {\n const value = useMemo(\n () =>\n filterState?.type === \"CONTAINS_TEXT\"\n ? filterState.value\n : undefined,\n [filterState],\n );\n\n const handleChange = useCallback(\n (value: string | undefined) => {\n onFilterStateChanged({ type: \"CONTAINS_TEXT\", value });\n },\n [onFilterStateChanged],\n );\n\n return (\n <ContainsTextInput\n value={value}\n onChange={handleChange}\n placeholder={`Search ${propertyKey}...`}\n />\n );\n});\n\ninterface ToggleFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst ToggleFilterInput = memo(function ToggleFilterInput({\n filterState,\n onFilterStateChanged,\n}: ToggleFilterInputProps): React.ReactElement {\n const enabled = filterState?.type === \"TOGGLE\" ? filterState.enabled : false;\n\n const handleChange = useCallback(\n (enabled: boolean) => {\n onFilterStateChanged({ type: \"TOGGLE\", enabled });\n },\n [onFilterStateChanged],\n );\n\n return <ToggleInput enabled={enabled} onChange={handleChange} />;\n});\n\ninterface NumberRangeFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nfunction NumberRangeFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: NumberRangeFilterInputProps<Q>): React.ReactElement {\n const numberRangeState = useMemo(\n () => filterState?.type === \"NUMBER_RANGE\" ? filterState : undefined,\n [filterState],\n );\n const includeNull = filterState?.includeNull;\n\n const handleNullChange = useCallback(\n (includeNull: boolean) => {\n onFilterStateChanged({\n type: \"NUMBER_RANGE\",\n minValue: numberRangeState?.minValue,\n maxValue: numberRangeState?.maxValue,\n includeNull,\n });\n },\n [\n onFilterStateChanged,\n numberRangeState?.minValue,\n numberRangeState?.maxValue,\n ],\n );\n\n const handleRangeChange = useCallback(\n (minValue: number | undefined, maxValue: number | undefined) => {\n onFilterStateChanged({\n type: \"NUMBER_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, includeNull],\n );\n\n return (\n <NullValueWrapper\n objectType={objectType}\n propertyKey={propertyKey}\n includeNull={includeNull}\n onIncludeNullChange={handleNullChange}\n >\n <NumberRangeInput\n objectType={objectType}\n propertyKey={propertyKey}\n minValue={numberRangeState?.minValue}\n maxValue={numberRangeState?.maxValue}\n onChange={handleRangeChange}\n />\n </NullValueWrapper>\n );\n}\n\nconst NumberRangeFilterInput = memo(\n NumberRangeFilterInputInner,\n) as typeof NumberRangeFilterInputInner;\n\ninterface DateRangeFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nfunction DateRangeFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n}: DateRangeFilterInputProps<Q>): React.ReactElement {\n const dateRangeState = useMemo(\n () => filterState?.type === \"DATE_RANGE\" ? filterState : undefined,\n [filterState],\n );\n const includeNull = filterState?.includeNull;\n\n const handleNullChange = useCallback(\n (includeNull: boolean) => {\n onFilterStateChanged({\n type: \"DATE_RANGE\",\n minValue: dateRangeState?.minValue,\n maxValue: dateRangeState?.maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, dateRangeState?.minValue, dateRangeState?.maxValue],\n );\n\n const handleRangeChange = useCallback(\n (minValue: Date | undefined, maxValue: Date | undefined) => {\n onFilterStateChanged({\n type: \"DATE_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [onFilterStateChanged, includeNull],\n );\n\n return (\n <NullValueWrapper\n objectType={objectType}\n propertyKey={propertyKey}\n includeNull={includeNull}\n onIncludeNullChange={handleNullChange}\n >\n <DateRangeInput\n objectType={objectType}\n propertyKey={propertyKey}\n minValue={dateRangeState?.minValue}\n maxValue={dateRangeState?.maxValue}\n onChange={handleRangeChange}\n />\n </NullValueWrapper>\n );\n}\n\nconst DateRangeFilterInput = memo(\n DateRangeFilterInputInner,\n) as typeof DateRangeFilterInputInner;\n\ninterface SingleSelectFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction SingleSelectFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: SingleSelectFilterInputProps<Q>): React.ReactElement {\n const selectedValue = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToString(filterState.selectedValues[0])\n : undefined,\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (value: string | undefined) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: value !== undefined ? [value] : [],\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <SingleSelectInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValue={selectedValue}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst SingleSelectFilterInput = memo(\n SingleSelectFilterInputInner,\n) as typeof SingleSelectFilterInputInner;\n\ninterface MultiSelectFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction MultiSelectFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: MultiSelectFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToStringArray(filterState.selectedValues)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedValues: string[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <MultiSelectInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst MultiSelectFilterInput = memo(\n MultiSelectFilterInputInner,\n) as typeof MultiSelectFilterInputInner;\n\ninterface SingleDateFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst SingleDateFilterInput = memo(function SingleDateFilterInput({\n filterState,\n onFilterStateChanged,\n}: SingleDateFilterInputProps): React.ReactElement {\n const selectedDate = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? (filterState.selectedValues[0] instanceof Date\n ? filterState.selectedValues[0]\n : undefined)\n : undefined,\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedDate: Date | undefined) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: selectedDate !== undefined ? [selectedDate] : [],\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <SingleDateInput selectedDate={selectedDate} onChange={handleChange} />\n );\n});\n\ninterface MultiDateFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst MultiDateFilterInput = memo(function MultiDateFilterInput({\n filterState,\n onFilterStateChanged,\n}: MultiDateFilterInputProps): React.ReactElement {\n const selectedDates = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? filterState.selectedValues.filter((v): v is Date => v instanceof Date)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (selectedDates: Date[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: selectedDates,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <MultiDateInput selectedDates={selectedDates} onChange={handleChange} />\n );\n});\n\ninterface ListogramFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction ListogramFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: ListogramFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"EXACT_MATCH\"\n ? coerceToStringArray(filterState.values)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (values: string[]) => {\n onFilterStateChanged({\n type: \"EXACT_MATCH\",\n values,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <ListogramInput\n objectType={objectType}\n propertyKey={propertyKey}\n selectedValues={selectedValues}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst ListogramFilterInput = memo(\n ListogramFilterInputInner,\n) as typeof ListogramFilterInputInner;\n\ninterface TextTagsFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n}\n\nfunction TextTagsFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n}: TextTagsFilterInputProps<Q>): React.ReactElement {\n const tags = useMemo(\n () =>\n filterState?.type === \"EXACT_MATCH\"\n ? coerceToStringArray(filterState.values)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (values: string[]) => {\n onFilterStateChanged({\n type: \"EXACT_MATCH\",\n values,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <TextTagsInput\n objectType={objectType}\n propertyKey={propertyKey}\n tags={tags}\n onChange={handleChange}\n whereClause={whereClause}\n />\n );\n}\n\nconst TextTagsFilterInput = memo(\n TextTagsFilterInputInner,\n) as typeof TextTagsFilterInputInner;\n\ninterface TimelineFilterInputProps {\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}\n\nconst TimelineFilterInput = memo(function TimelineFilterInput({\n filterState,\n onFilterStateChanged,\n}: TimelineFilterInputProps): React.ReactElement {\n const { startDate, endDate } = useMemo(\n () =>\n filterState?.type === \"TIMELINE\"\n ? { startDate: filterState.startDate, endDate: filterState.endDate }\n : { startDate: undefined, endDate: undefined },\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (startDate: Date | undefined, endDate: Date | undefined) => {\n onFilterStateChanged({\n type: \"TIMELINE\",\n startDate,\n endDate,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n return (\n <TimelineInput\n startDate={startDate}\n endDate={endDate}\n onChange={handleChange}\n />\n );\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAGzD,SACEC,cAAc,EACdC,mBAAmB,QACd,+BAA+B;AACtC,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,gBAAgB,QAAQ,8BAA8B;AAC/D,SAASC,eAAe,QAAQ,6BAA6B;AAC7D,SAASC,iBAAiB,QAAQ,+BAA+B;AACjE,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,WAAW,QAAQ,yBAAyB;AAWrD,SAASC,gBAAgBA,CAAiC;EACxDC,UAAU;EACVC,SAAS;EACTC,UAAU;EACVC,WAAW;EACXC,oBAAoB;EACpBC;AACmB,CAAC,EAAsB;EAC1C,oBACE1B,KAAA,CAAA2B,aAAA,CAACC,kBAAkB;IACjBP,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,oBAAoB,EAAEA,oBAAqB;IAC3CC,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN;AAEA,OAAO,MAAMG,WAAW,gBAAG5B,IAAI,CAACmB,gBAAgB,CAA4B;AAE5E,SAASQ,kBAAkBA,CAAiC;EAC1DP,UAAU;EACVC,SAAS;EACTC,UAAU;EACVC,WAAW;EACXC,oBAAoB;EACpBC;AACmB,CAAC,EAAsB;EAC1C,QAAQH,UAAU,CAACO,IAAI;IACrB,KAAK,UAAU;MACb,oBACE9B,KAAA,CAAA2B,aAAA,CAACI,YAAY;QACXP,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,iBAAiB;MACpB,oBACEzB,KAAA,CAAA2B,aAAA,CAAClB,mBAAmB;QAClBa,SAAS,EAAEA,SAAU;QACrBC,UAAU,EAAEA,UAAW;QACvBC,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,gBAAgB;MACnB,oBACEzB,KAAA,CAAA2B,aAAA,CAACK,kBAAkB;QACjBR,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA,oBAAqB;QAC3CQ,WAAW,EAAEV,UAAU,CAACW,KAAK,IAAI;MAAY,CAC9C,CAAC;IAGN,KAAK,QAAQ;MAAE;QACb,IAAI,CAACX,UAAU,CAACY,WAAW,EAAE;UAC3B,oBACEnC,KAAA,CAAA2B,aAAA;YAAK,oBAAiB;UAAM,GAAC,mCAAsC,CAAC;QAExE;QACA,MAAMS,iBAAiB,GAAGZ,WAAW,EAAEM,IAAI,KAAK,QAAQ,GACpDN,WAAW,GACXD,UAAU,CAACC,WAAW;QAC1B,oBACExB,KAAA,CAAA2B,aAAA,CAAA3B,KAAA,CAAAqC,QAAA,QACGd,UAAU,CAACY,WAAW,CAAC;UACtBb,SAAS;UACTE,WAAW,EAAEY,iBAAiB;UAC9BX,oBAAoB,EAAGa,KAAK,IAAKb,oBAAoB,CAACa,KAAK;QAC7D,CAAC,CACD,CAAC;MAEP;IAEA,KAAK,UAAU;MACb,oBACEtC,KAAA,CAAA2B,aAAA,CAACY,mBAAmB;QAClBlB,UAAU,EAAEA,UAAW;QACvBC,SAAS,EAAEA,SAAU;QACrBC,UAAU,EAAEA,UAAW;QACvBC,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA,oBAAqB;QAC3CC,WAAW,EAAEA;MAAY,CAC1B,CAAC;IAGN;MACE,oBAAO1B,KAAA,CAAA2B,aAAA;QAAK,oBAAiB;MAAM,GAAC,yBAA4B,CAAC;EACrE;AACF;AAOA,MAAMI,YAAY,gBAAG9B,IAAI,CAAC,UAAsB;EAC9CuB,WAAW;EACXC;AACiB,CAAC,EAAsB;EACxC,MAAMe,OAAO,GAAGhB,WAAW,EAAEM,IAAI,KAAK,SAAS,GAC3CN,WAAW,CAACgB,OAAO,GACnB,KAAK;EAET,MAAMC,YAAY,GAAGvC,WAAW,CAC7BsC,OAAgB,IAAK;IACpBf,oBAAoB,CAAC;MAAEK,IAAI,EAAE,SAAS;MAAEU;IAAQ,CAAC,CAAC;EACpD,CAAC,EACD,CAACf,oBAAoB,CACvB,CAAC;EAED,oBAAOzB,KAAA,CAAA2B,aAAA,CAACR,WAAW;IAACuB,OAAO,EAAEF,OAAQ;IAACG,QAAQ,EAAEF;EAAa,CAAE,CAAC;AAClE,CAAC,CAAC;AAQF,MAAMT,kBAAkB,gBAAG/B,IAAI,CAAC,UAA4B;EAC1DuB,WAAW;EACXC,oBAAoB;EACpBQ;AACuB,CAAC,EAAsB;EAC9C,MAAMW,UAAU,GAAGpB,WAAW,EAAEM,IAAI,KAAK,eAAe,GACpDN,WAAW,CAACoB,UAAU,GACtBC,SAAS;EACb,MAAMC,QAAQ,GAAGtB,WAAW,EAAEM,IAAI,KAAK,eAAe,GAClDN,WAAW,CAACsB,QAAQ,GACpB,KAAK;EAET,MAAML,YAAY,GAAGvC,WAAW,CAC7B6C,aAAiC,IAAK;IACrCtB,oBAAoB,CAAC;MACnBK,IAAI,EAAE,eAAe;MACrBc,UAAU,EAAEG,aAAa,IAAI,EAAE;MAC/BD;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACrB,oBAAoB,EAAEqB,QAAQ,CACjC,CAAC;EAED,oBACE9C,KAAA,CAAA2B,aAAA,CAACpB,iBAAiB;IAChByC,KAAK,EAAEJ,UAAW;IAClBD,QAAQ,EAAEF,YAAa;IACvBR,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN,CAAC,CAAC;AAWF,SAASgB,wBAAwBA,CAAiC;EAChE5B,UAAU;EACVC,SAAS;EACTC,UAAU;EACVC,WAAW;EACXC,oBAAoB;EACpBC;AAC2B,CAAC,EAAsB;EAClD,QAAQH,UAAU,CAAC2B,eAAe;IAChC,KAAK,eAAe;MAClB,oBACElD,KAAA,CAAA2B,aAAA,CAACwB,uBAAuB;QACtB9B,UAAU,EAAEA,UAAW;QACvBC,SAAS,EAAEA,SAAU;QACrB8B,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA,oBAAqB;QAC3CC,WAAW,EAAEA;MAAY,CAC1B,CAAC;IAGN,KAAK,eAAe;MAClB,oBACE1B,KAAA,CAAA2B,aAAA,CAAC2B,uBAAuB;QACtBF,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,QAAQ;MACX,oBACEzB,KAAA,CAAA2B,aAAA,CAAC4B,iBAAiB;QAChB/B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,cAAc;MACjB,oBACEzB,KAAA,CAAA2B,aAAA,CAAC6B,sBAAsB;QACrBnC,UAAU,EAAEA,UAAW;QACvB+B,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,YAAY;MACf,oBACEzB,KAAA,CAAA2B,aAAA,CAAC8B,oBAAoB;QACnBpC,UAAU,EAAEA,UAAW;QACvB+B,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,eAAe;MAClB,oBACEzB,KAAA,CAAA2B,aAAA,CAAC+B,uBAAuB;QACtBrC,UAAU,EAAEA,UAAW;QACvB+B,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA,oBAAqB;QAC3CC,WAAW,EAAEA;MAAY,CAC1B,CAAC;IAGN,KAAK,cAAc;MACjB,oBACE1B,KAAA,CAAA2B,aAAA,CAACgC,sBAAsB;QACrBtC,UAAU,EAAEA,UAAW;QACvB+B,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA,oBAAqB;QAC3CC,WAAW,EAAEA;MAAY,CAC1B,CAAC;IAGN,KAAK,aAAa;MAChB,oBACE1B,KAAA,CAAA2B,aAAA,CAACiC,qBAAqB;QACpBpC,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,YAAY;MACf,oBACEzB,KAAA,CAAA2B,aAAA,CAACkC,oBAAoB;QACnBrC,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN,KAAK,WAAW;MACd,oBACEzB,KAAA,CAAA2B,aAAA,CAACmC,oBAAoB;QACnBzC,UAAU,EAAEA,UAAW;QACvB+B,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA,oBAAqB;QAC3CC,WAAW,EAAEA;MAAY,CAC1B,CAAC;IAGN,KAAK,WAAW;MACd,oBACE1B,KAAA,CAAA2B,aAAA,CAACoC,mBAAmB;QAClB1C,UAAU,EAAEA,UAAW;QACvB+B,WAAW,EAAE7B,UAAU,CAAC8B,GAAI;QAC5B7B,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA,oBAAqB;QAC3CC,WAAW,EAAEA;MAAY,CAC1B,CAAC;IAGN,KAAK,UAAU;MACb,oBACE1B,KAAA,CAAA2B,aAAA,CAACqC,mBAAmB;QAClBxC,WAAW,EAAEA,WAAY;QACzBC,oBAAoB,EAAEA;MAAqB,CAC5C,CAAC;IAGN;MACE,oBACEzB,KAAA,CAAA2B,aAAA;QAAK,oBAAiB;MAAM,GAAC,gCACG,EAACJ,UAAU,CAAC2B,eACvC,CAAC;EAEZ;AACF;AAEA,MAAMX,mBAAmB,gBAAGtC,IAAI,CAC9BgD,wBACF,CAAoC;AAWpC,SAASgB,4BAA4BA,CAAiC;EACpE5C,UAAU;EACVC,SAAS;EACT8B,WAAW;EACX5B,WAAW;EACXC,oBAAoB;EACpBC;AAC+B,CAAC,EAAsB;EACtD,MAAMwC,cAAc,GAAG/D,OAAO,CAC5B,MACEqB,WAAW,EAAEM,IAAI,KAAK,QAAQ,GAC1BzB,mBAAmB,CAACmB,WAAW,CAAC0C,cAAc,CAAC,GAC/C,EAAE,EACR,CAAC1C,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC7BkE,iBAA2B,IAAK;IAC/B3C,oBAAoB,CAAC;MACnBK,IAAI,EAAE,QAAQ;MACdoC,cAAc,EAAEE,iBAAiB;MACjCD;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAACrB,iBAAiB;IAChBe,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrB8B,WAAW,EAAEA,WAAY;IACzBc,cAAc,EAAEA,cAAe;IAC/BvB,QAAQ,EAAEF,YAAa;IACvBf,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN;AAEA,MAAMyB,uBAAuB,gBAAGlD,IAAI,CAClCgE,4BACF,CAAwC;AAQxC,MAAMX,uBAAuB,gBAAGrD,IAAI,CAAC,UAAiC;EACpEmD,WAAW;EACX5B,WAAW;EACXC;AAC4B,CAAC,EAAsB;EACnD,MAAMuB,KAAK,GAAG7C,OAAO,CACnB,MACEqB,WAAW,EAAEM,IAAI,KAAK,eAAe,GACjCN,WAAW,CAACwB,KAAK,GACjBH,SAAS,EACf,CAACrB,WAAW,CACd,CAAC;EAED,MAAMiB,YAAY,GAAGvC,WAAW,CAC7B8C,KAAyB,IAAK;IAC7BvB,oBAAoB,CAAC;MAAEK,IAAI,EAAE,eAAe;MAAEkB;IAAM,CAAC,CAAC;EACxD,CAAC,EACD,CAACvB,oBAAoB,CACvB,CAAC;EAED,oBACEzB,KAAA,CAAA2B,aAAA,CAACpB,iBAAiB;IAChByC,KAAK,EAAEA,KAAM;IACbL,QAAQ,EAAEF,YAAa;IACvBR,WAAW,EAAE,UAAUmB,WAAW;EAAM,CACzC,CAAC;AAEN,CAAC,CAAC;AAOF,MAAMG,iBAAiB,gBAAGtD,IAAI,CAAC,UAA2B;EACxDuB,WAAW;EACXC;AACsB,CAAC,EAAsB;EAC7C,MAAMiB,OAAO,GAAGlB,WAAW,EAAEM,IAAI,KAAK,QAAQ,GAAGN,WAAW,CAACkB,OAAO,GAAG,KAAK;EAE5E,MAAMD,YAAY,GAAGvC,WAAW,CAC7BwC,OAAgB,IAAK;IACpBjB,oBAAoB,CAAC;MAAEK,IAAI,EAAE,QAAQ;MAAEY;IAAQ,CAAC,CAAC;EACnD,CAAC,EACD,CAACjB,oBAAoB,CACvB,CAAC;EAED,oBAAOzB,KAAA,CAAA2B,aAAA,CAACR,WAAW;IAACuB,OAAO,EAAEA,OAAQ;IAACC,QAAQ,EAAEF;EAAa,CAAE,CAAC;AAClE,CAAC,CAAC;AASF,SAAS4B,2BAA2BA,CAAiC;EACnEhD,UAAU;EACV+B,WAAW;EACX5B,WAAW;EACXC;AAC8B,CAAC,EAAsB;EACrD,MAAM6C,gBAAgB,GAAGnE,OAAO,CAC9B,MAAMqB,WAAW,EAAEM,IAAI,KAAK,cAAc,GAAGN,WAAW,GAAGqB,SAAS,EACpE,CAACrB,WAAW,CACd,CAAC;EACD,MAAM+C,WAAW,GAAG/C,WAAW,EAAE+C,WAAW;EAE5C,MAAMC,gBAAgB,GAAGtE,WAAW,CACjCqE,WAAoB,IAAK;IACxB9C,oBAAoB,CAAC;MACnBK,IAAI,EAAE,cAAc;MACpB2C,QAAQ,EAAEH,gBAAgB,EAAEG,QAAQ;MACpCC,QAAQ,EAAEJ,gBAAgB,EAAEI,QAAQ;MACpCH;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CACE9C,oBAAoB,EACpB6C,gBAAgB,EAAEG,QAAQ,EAC1BH,gBAAgB,EAAEI,QAAQ,CAE9B,CAAC;EAED,MAAMC,iBAAiB,GAAGzE,WAAW,CACnC,CAACuE,QAA4B,EAAEC,QAA4B,KAAK;IAC9DjD,oBAAoB,CAAC;MACnBK,IAAI,EAAE,cAAc;MACpB2C,QAAQ;MACRC,QAAQ;MACRH;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC9C,oBAAoB,EAAE8C,WAAW,CACpC,CAAC;EAED,oBACEvE,KAAA,CAAA2B,aAAA,CAACd,gBAAgB;IACfQ,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzBmB,WAAW,EAAEA,WAAY;IACzBK,mBAAmB,EAAEJ;EAAiB,gBAEtCxE,KAAA,CAAA2B,aAAA,CAACb,gBAAgB;IACfO,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzBqB,QAAQ,EAAEH,gBAAgB,EAAEG,QAAS;IACrCC,QAAQ,EAAEJ,gBAAgB,EAAEI,QAAS;IACrC/B,QAAQ,EAAEgC;EAAkB,CAC7B,CACe,CAAC;AAEvB;AAEA,MAAMnB,sBAAsB,gBAAGvD,IAAI,CACjCoE,2BACF,CAAuC;AASvC,SAASQ,yBAAyBA,CAAiC;EACjExD,UAAU;EACV+B,WAAW;EACX5B,WAAW;EACXC;AAC4B,CAAC,EAAsB;EACnD,MAAMqD,cAAc,GAAG3E,OAAO,CAC5B,MAAMqB,WAAW,EAAEM,IAAI,KAAK,YAAY,GAAGN,WAAW,GAAGqB,SAAS,EAClE,CAACrB,WAAW,CACd,CAAC;EACD,MAAM+C,WAAW,GAAG/C,WAAW,EAAE+C,WAAW;EAE5C,MAAMC,gBAAgB,GAAGtE,WAAW,CACjCqE,WAAoB,IAAK;IACxB9C,oBAAoB,CAAC;MACnBK,IAAI,EAAE,YAAY;MAClB2C,QAAQ,EAAEK,cAAc,EAAEL,QAAQ;MAClCC,QAAQ,EAAEI,cAAc,EAAEJ,QAAQ;MAClCH;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC9C,oBAAoB,EAAEqD,cAAc,EAAEL,QAAQ,EAAEK,cAAc,EAAEJ,QAAQ,CAC3E,CAAC;EAED,MAAMC,iBAAiB,GAAGzE,WAAW,CACnC,CAACuE,QAA0B,EAAEC,QAA0B,KAAK;IAC1DjD,oBAAoB,CAAC;MACnBK,IAAI,EAAE,YAAY;MAClB2C,QAAQ;MACRC,QAAQ;MACRH;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC9C,oBAAoB,EAAE8C,WAAW,CACpC,CAAC;EAED,oBACEvE,KAAA,CAAA2B,aAAA,CAACd,gBAAgB;IACfQ,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzBmB,WAAW,EAAEA,WAAY;IACzBK,mBAAmB,EAAEJ;EAAiB,gBAEtCxE,KAAA,CAAA2B,aAAA,CAACnB,cAAc;IACba,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzBqB,QAAQ,EAAEK,cAAc,EAAEL,QAAS;IACnCC,QAAQ,EAAEI,cAAc,EAAEJ,QAAS;IACnC/B,QAAQ,EAAEgC;EAAkB,CAC7B,CACe,CAAC;AAEvB;AAEA,MAAMlB,oBAAoB,gBAAGxD,IAAI,CAC/B4E,yBACF,CAAqC;AAUrC,SAASE,4BAA4BA,CAAiC;EACpE1D,UAAU;EACV+B,WAAW;EACX5B,WAAW;EACXC,oBAAoB;EACpBC;AAC+B,CAAC,EAAsB;EACtD,MAAMsD,aAAa,GAAG7E,OAAO,CAC3B,MACEqB,WAAW,EAAEM,IAAI,KAAK,QAAQ,GAC1B1B,cAAc,CAACoB,WAAW,CAAC0C,cAAc,CAAC,CAAC,CAAC,CAAC,GAC7CrB,SAAS,EACf,CAACrB,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC7B8C,KAAyB,IAAK;IAC7BvB,oBAAoB,CAAC;MACnBK,IAAI,EAAE,QAAQ;MACdoC,cAAc,EAAElB,KAAK,KAAKH,SAAS,GAAG,CAACG,KAAK,CAAC,GAAG,EAAE;MAClDmB;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAACX,iBAAiB;IAChBK,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzB4B,aAAa,EAAEA,aAAc;IAC7BrC,QAAQ,EAAEF,YAAa;IACvBf,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN;AAEA,MAAMgC,uBAAuB,gBAAGzD,IAAI,CAClC8E,4BACF,CAAwC;AAUxC,SAASE,2BAA2BA,CAAiC;EACnE5D,UAAU;EACV+B,WAAW;EACX5B,WAAW;EACXC,oBAAoB;EACpBC;AAC8B,CAAC,EAAsB;EACrD,MAAMwC,cAAc,GAAG/D,OAAO,CAC5B,MACEqB,WAAW,EAAEM,IAAI,KAAK,QAAQ,GAC1BzB,mBAAmB,CAACmB,WAAW,CAAC0C,cAAc,CAAC,GAC/C,EAAE,EACR,CAAC1C,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC7BgE,cAAwB,IAAK;IAC5BzC,oBAAoB,CAAC;MACnBK,IAAI,EAAE,QAAQ;MACdoC,cAAc;MACdC;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAACf,gBAAgB;IACfS,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzBc,cAAc,EAAEA,cAAe;IAC/BvB,QAAQ,EAAEF,YAAa;IACvBf,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN;AAEA,MAAMiC,sBAAsB,gBAAG1D,IAAI,CACjCgF,2BACF,CAAuC;AAOvC,MAAMrB,qBAAqB,gBAAG3D,IAAI,CAAC,UAA+B;EAChEuB,WAAW;EACXC;AAC0B,CAAC,EAAsB;EACjD,MAAMyD,YAAY,GAAG/E,OAAO,CAC1B,MACEqB,WAAW,EAAEM,IAAI,KAAK,QAAQ,GACzBN,WAAW,CAAC0C,cAAc,CAAC,CAAC,CAAC,YAAYiB,IAAI,GAC5C3D,WAAW,CAAC0C,cAAc,CAAC,CAAC,CAAC,GAC7BrB,SAAS,GACXA,SAAS,EACf,CAACrB,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC7BgF,YAA8B,IAAK;IAClCzD,oBAAoB,CAAC;MACnBK,IAAI,EAAE,QAAQ;MACdoC,cAAc,EAAEgB,YAAY,KAAKrC,SAAS,GAAG,CAACqC,YAAY,CAAC,GAAG,EAAE;MAChEf;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAACZ,eAAe;IAACmE,YAAY,EAAEA,YAAa;IAACvC,QAAQ,EAAEF;EAAa,CAAE,CAAC;AAE3E,CAAC,CAAC;AAOF,MAAMoB,oBAAoB,gBAAG5D,IAAI,CAAC,UAA8B;EAC9DuB,WAAW;EACXC;AACyB,CAAC,EAAsB;EAChD,MAAM2D,aAAa,GAAGjF,OAAO,CAC3B,MACEqB,WAAW,EAAEM,IAAI,KAAK,QAAQ,GAC1BN,WAAW,CAAC0C,cAAc,CAACmB,MAAM,CAAEC,CAAC,IAAgBA,CAAC,YAAYH,IAAI,CAAC,GACtE,EAAE,EACR,CAAC3D,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC7BkF,aAAqB,IAAK;IACzB3D,oBAAoB,CAAC;MACnBK,IAAI,EAAE,QAAQ;MACdoC,cAAc,EAAEkB,aAAa;MAC7BjB;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAAChB,cAAc;IAACyE,aAAa,EAAEA,aAAc;IAACzC,QAAQ,EAAEF;EAAa,CAAE,CAAC;AAE5E,CAAC,CAAC;AAUF,SAAS8C,yBAAyBA,CAAiC;EACjElE,UAAU;EACV+B,WAAW;EACX5B,WAAW;EACXC,oBAAoB;EACpBC;AAC4B,CAAC,EAAsB;EACnD,MAAMwC,cAAc,GAAG/D,OAAO,CAC5B,MACEqB,WAAW,EAAEM,IAAI,KAAK,aAAa,GAC/BzB,mBAAmB,CAACmB,WAAW,CAACgE,MAAM,CAAC,GACvC,EAAE,EACR,CAAChE,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC7BsF,MAAgB,IAAK;IACpB/D,oBAAoB,CAAC;MACnBK,IAAI,EAAE,aAAa;MACnB0D,MAAM;MACNrB;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAACjB,cAAc;IACbW,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzBc,cAAc,EAAEA,cAAe;IAC/BvB,QAAQ,EAAEF,YAAa;IACvBf,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN;AAEA,MAAMoC,oBAAoB,gBAAG7D,IAAI,CAC/BsF,yBACF,CAAqC;AAUrC,SAASE,wBAAwBA,CAAiC;EAChEpE,UAAU;EACV+B,WAAW;EACX5B,WAAW;EACXC,oBAAoB;EACpBC;AAC2B,CAAC,EAAsB;EAClD,MAAMgE,IAAI,GAAGvF,OAAO,CAClB,MACEqB,WAAW,EAAEM,IAAI,KAAK,aAAa,GAC/BzB,mBAAmB,CAACmB,WAAW,CAACgE,MAAM,CAAC,GACvC,EAAE,EACR,CAAChE,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC7BsF,MAAgB,IAAK;IACpB/D,oBAAoB,CAAC;MACnBK,IAAI,EAAE,aAAa;MACnB0D,MAAM;MACNrB;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAACV,aAAa;IACZI,UAAU,EAAEA,UAAW;IACvB+B,WAAW,EAAEA,WAAY;IACzBsC,IAAI,EAAEA,IAAK;IACX/C,QAAQ,EAAEF,YAAa;IACvBf,WAAW,EAAEA;EAAY,CAC1B,CAAC;AAEN;AAEA,MAAMqC,mBAAmB,gBAAG9D,IAAI,CAC9BwF,wBACF,CAAoC;AAOpC,MAAMzB,mBAAmB,gBAAG/D,IAAI,CAAC,UAA6B;EAC5DuB,WAAW;EACXC;AACwB,CAAC,EAAsB;EAC/C,MAAM;IAAEkE,SAAS;IAAEC;EAAQ,CAAC,GAAGzF,OAAO,CACpC,MACEqB,WAAW,EAAEM,IAAI,KAAK,UAAU,GAC5B;IAAE6D,SAAS,EAAEnE,WAAW,CAACmE,SAAS;IAAEC,OAAO,EAAEpE,WAAW,CAACoE;EAAQ,CAAC,GAClE;IAAED,SAAS,EAAE9C,SAAS;IAAE+C,OAAO,EAAE/C;EAAU,CAAC,EAClD,CAACrB,WAAW,CACd,CAAC;EACD,MAAM2C,WAAW,GAAG3C,WAAW,EAAE2C,WAAW,IAAI,KAAK;EAErD,MAAM1B,YAAY,GAAGvC,WAAW,CAC9B,CAACyF,SAA2B,EAAEC,OAAyB,KAAK;IAC1DnE,oBAAoB,CAAC;MACnBK,IAAI,EAAE,UAAU;MAChB6D,SAAS;MACTC,OAAO;MACPzB;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAAC1C,oBAAoB,EAAE0C,WAAW,CACpC,CAAC;EAED,oBACEnE,KAAA,CAAA2B,aAAA,CAACT,aAAa;IACZyE,SAAS,EAAEA,SAAU;IACrBC,OAAO,EAAEA,OAAQ;IACjBjD,QAAQ,EAAEF;EAAa,CACxB,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterList.js","names":["Button","classnames","React","useCallback","useMemo","useFilterListState","styles","FilterListContent","FilterListHeader","FilterList","props","objectSet","title","titleIcon","filterDefinitions","showResetButton","onReset","onFilterAdded","showActiveFilterCount","enableSorting","className","renderAddFilterButton","objectType","$objectSetInternals","def","filterStates","setFilterState","whereClause","activeFilterCount","reset","handleReset","visibleFilterDefinitions","undefined","filter","isVisible","createElement","filterList","onFilterStateChanged","addButtonContainer","type","addButton"],"sources":["FilterList.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Button } from \"@base-ui/react/button\";\nimport type { ObjectTypeDefinition } from \"@osdk/api\";\nimport classnames from \"classnames\";\nimport React, { useCallback, useMemo } from \"react\";\nimport type {\n FilterDefinitionUnion,\n FilterListProps,\n} from \"../FilterListApi.js\";\nimport { useFilterListState } from \"../hooks/useFilterListState.js\";\nimport styles from \"./FilterList.module.css\";\nimport { FilterListContent } from \"./FilterListContent.js\";\nimport { FilterListHeader } from \"./FilterListHeader.js\";\n\nexport function FilterList<Q extends ObjectTypeDefinition>(\n props: FilterListProps<Q>,\n): React.ReactElement {\n const {\n objectSet,\n title,\n titleIcon,\n filterDefinitions,\n showResetButton = false,\n onReset,\n onFilterAdded,\n showActiveFilterCount = false,\n enableSorting,\n className,\n renderAddFilterButton,\n } = props;\n\n const objectType = objectSet.$objectSetInternals.def;\n\n const {\n filterStates,\n setFilterState,\n whereClause,\n activeFilterCount,\n reset,\n } = useFilterListState(props);\n\n const handleReset = useCallback(() => {\n reset();\n onReset?.();\n }, [reset, onReset]);\n\n const visibleFilterDefinitions = useMemo(() => {\n if (!filterDefinitions) return undefined;\n return filterDefinitions.filter(\n (def: FilterDefinitionUnion<Q>) => def.isVisible !== false,\n );\n }, [filterDefinitions]);\n\n const showHeader = title || titleIcon || showResetButton\n || showActiveFilterCount;\n\n const showAddButton = renderAddFilterButton != null || onFilterAdded != null;\n\n return (\n <div\n className={classnames(styles.filterList, className)}\n data-active-count={activeFilterCount}\n >\n {showHeader && (\n <FilterListHeader\n title={title}\n titleIcon={titleIcon}\n showResetButton={showResetButton}\n onReset={handleReset}\n showActiveFilterCount={showActiveFilterCount}\n activeFilterCount={activeFilterCount}\n />\n )}\n\n <FilterListContent\n objectType={objectType}\n objectSet={objectSet}\n filterDefinitions={visibleFilterDefinitions}\n filterStates={filterStates}\n onFilterStateChanged={setFilterState}\n whereClause={whereClause}\n enableSorting={enableSorting}\n />\n\n {showAddButton && (\n <div className={styles.addButtonContainer}>\n {renderAddFilterButton\n ? renderAddFilterButton()\n : (\n <Button type=\"button\" className={styles.addButton}>\n + Add filter\n </Button>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,uBAAuB;AAE9C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAKnD,SAASC,kBAAkB,QAAQ,gCAAgC;AACnE,OAAOC,MAAM,MAAM,yBAAyB;AAC5C,SAASC,iBAAiB,QAAQ,wBAAwB;AAC1D,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAO,SAASC,UAAUA,CACxBC,KAAyB,EACL;EACpB,MAAM;IACJC,SAAS;IACTC,KAAK;IACLC,SAAS;IACTC,iBAAiB;IACjBC,eAAe,GAAG,KAAK;IACvBC,OAAO;IACPC,aAAa;IACbC,qBAAqB,GAAG,KAAK;IAC7BC,aAAa;IACbC,SAAS;IACTC;EACF,CAAC,GAAGX,KAAK;EAET,MAAMY,UAAU,GAAGX,SAAS,CAACY,mBAAmB,CAACC,GAAG;EAEpD,MAAM;IACJC,YAAY;IACZC,cAAc;IACdC,WAAW;IACXC,iBAAiB;IACjBC;EACF,CAAC,GAAGxB,kBAAkB,CAACK,KAAK,CAAC;EAE7B,MAAMoB,WAAW,GAAG3B,WAAW,CAAC,MAAM;IACpC0B,KAAK,CAAC,CAAC;IACPb,OAAO,GAAG,CAAC;EACb,CAAC,EAAE,CAACa,KAAK,EAAEb,OAAO,CAAC,CAAC;EAEpB,MAAMe,wBAAwB,GAAG3B,OAAO,CAAC,MAAM;IAC7C,IAAI,CAACU,iBAAiB,EAAE,OAAOkB,SAAS;IACxC,OAAOlB,iBAAiB,CAACmB,MAAM,CAC5BT,GAA6B,IAAKA,GAAG,CAACU,SAAS,KAAK,KACvD,CAAC;EACH,CAAC,EAAE,CAACpB,iBAAiB,CAAC,CAAC;EAOvB,oBACEZ,KAAA,CAAAiC,aAAA;IACEf,SAAS,EAAEnB,UAAU,CAACK,MAAM,CAAC8B,UAAU,EAAEhB,SAAS,CAAE;IACpD,qBAAmBQ;EAAkB,GAEpC,CAVchB,KAAK,IAAIC,SAAS,IAAIE,eAAe,IACnDG,qBAAqB,kBAUpBhB,KAAA,CAAAiC,aAAA,CAAC3B,gBAAgB;IACfI,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA,SAAU;IACrBE,eAAe,EAAEA,eAAgB;IACjCC,OAAO,EAAEc,WAAY;IACrBZ,qBAAqB,EAAEA,qBAAsB;IAC7CU,iBAAiB,EAAEA;EAAkB,CACtC,CACF,eAED1B,KAAA,CAAAiC,aAAA,CAAC5B,iBAAiB;IAChBe,UAAU,EAAEA,UAAW;IACvBX,SAAS,EAAEA,SAAU;IACrBG,iBAAiB,EAAEiB,wBAAyB;IAC5CN,YAAY,EAAEA,YAAa;IAC3BY,oBAAoB,EAAEX,cAAe;IACrCC,WAAW,EAAEA,WAAY;IACzBR,aAAa,EAAEA;EAAc,CAC9B,CAAC,EAED,CA5BiBE,qBAAqB,IAAI,IAAI,IAAIJ,aAAa,IAAI,IAAI,kBA6BtEf,KAAA,CAAAiC,aAAA;IAAKf,SAAS,EAAEd,MAAM,CAACgC;EAAmB,GACvCjB,qBAAqB,GAClBA,qBAAqB,CAAC,CAAC,gBAEvBnB,KAAA,CAAAiC,aAAA,CAACnC,MAAM;IAACuC,IAAI,EAAC,QAAQ;IAACnB,SAAS,EAAEd,MAAM,CAACkC;EAAU,GAAC,cAE3C,CAET,CAEJ,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import classnames from "classnames";
|
|
18
|
-
import React, { memo, useCallback, useMemo } from "react";
|
|
19
|
-
import { assertUnreachable } from "../../utils/assertUnreachable.js";
|
|
20
|
-
import { coerceToString, coerceToStringArray } from "../../utils/coerceFilterValue.js";
|
|
21
|
-
import { CheckboxListInput } from "./CheckboxListInput.js";
|
|
22
|
-
import { ContainsTextInput } from "./ContainsTextInput.js";
|
|
23
|
-
import { DateRangeInput } from "./DateRangeInput.js";
|
|
24
|
-
import styles from "./LinkedPropertyInput.module.css.js";
|
|
25
|
-
import { ListogramInput } from "./ListogramInput.js";
|
|
26
|
-
import { MultiDateInput } from "./MultiDateInput.js";
|
|
27
|
-
import { MultiSelectInput } from "./MultiSelectInput.js";
|
|
28
|
-
import { NumberRangeInput } from "./NumberRangeInput.js";
|
|
29
|
-
import { SingleDateInput } from "./SingleDateInput.js";
|
|
30
|
-
import { SingleSelectInput } from "./SingleSelectInput.js";
|
|
31
|
-
import { TextTagsInput } from "./TextTagsInput.js";
|
|
32
|
-
import { TimelineInput } from "./TimelineInput.js";
|
|
33
|
-
import { ToggleInput } from "./ToggleInput.js";
|
|
34
|
-
function LinkedPropertyInputInner({
|
|
35
|
-
objectSet,
|
|
36
|
-
definition,
|
|
37
|
-
filterState,
|
|
38
|
-
onFilterStateChanged,
|
|
39
|
-
className,
|
|
40
|
-
style
|
|
41
|
-
}) {
|
|
42
|
-
const linkedObjectSet = useMemo(() => objectSet.pivotTo(definition.linkName), [objectSet, definition.linkName]);
|
|
43
|
-
const linkedObjectType = linkedObjectSet.$objectSetInternals.def;
|
|
44
|
-
const linkedPropertyKey = definition.linkedPropertyKey;
|
|
45
|
-
const innerState = filterState?.type === "linkedProperty" ? filterState.linkedFilterState : undefined;
|
|
46
|
-
const isExcluding = innerState?.isExcluding ?? false;
|
|
47
|
-
const includeNull = innerState?.includeNull;
|
|
48
|
-
const wrappedOnChange = useCallback(innerFilterState => {
|
|
49
|
-
onFilterStateChanged({
|
|
50
|
-
type: "linkedProperty",
|
|
51
|
-
linkedFilterState: innerFilterState
|
|
52
|
-
});
|
|
53
|
-
}, [onFilterStateChanged]);
|
|
54
|
-
const onSelectChange = useCallback(selectedValues => {
|
|
55
|
-
wrappedOnChange({
|
|
56
|
-
type: "SELECT",
|
|
57
|
-
selectedValues,
|
|
58
|
-
isExcluding
|
|
59
|
-
});
|
|
60
|
-
}, [wrappedOnChange, isExcluding]);
|
|
61
|
-
const onSingleSelectChange = useCallback(selectedValue => {
|
|
62
|
-
wrappedOnChange({
|
|
63
|
-
type: "SELECT",
|
|
64
|
-
selectedValues: selectedValue !== undefined ? [selectedValue] : [],
|
|
65
|
-
isExcluding
|
|
66
|
-
});
|
|
67
|
-
}, [wrappedOnChange, isExcluding]);
|
|
68
|
-
const onContainsTextChange = useCallback(value => {
|
|
69
|
-
wrappedOnChange({
|
|
70
|
-
type: "CONTAINS_TEXT",
|
|
71
|
-
value
|
|
72
|
-
});
|
|
73
|
-
}, [wrappedOnChange]);
|
|
74
|
-
const onToggleChange = useCallback(enabled => {
|
|
75
|
-
wrappedOnChange({
|
|
76
|
-
type: "TOGGLE",
|
|
77
|
-
enabled
|
|
78
|
-
});
|
|
79
|
-
}, [wrappedOnChange]);
|
|
80
|
-
const onNumberRangeChange = useCallback((minValue, maxValue) => {
|
|
81
|
-
wrappedOnChange({
|
|
82
|
-
type: "NUMBER_RANGE",
|
|
83
|
-
minValue,
|
|
84
|
-
maxValue,
|
|
85
|
-
includeNull
|
|
86
|
-
});
|
|
87
|
-
}, [wrappedOnChange, includeNull]);
|
|
88
|
-
const onDateRangeChange = useCallback((minValue, maxValue) => {
|
|
89
|
-
wrappedOnChange({
|
|
90
|
-
type: "DATE_RANGE",
|
|
91
|
-
minValue,
|
|
92
|
-
maxValue,
|
|
93
|
-
includeNull
|
|
94
|
-
});
|
|
95
|
-
}, [wrappedOnChange, includeNull]);
|
|
96
|
-
const onExactMatchChange = useCallback(values => {
|
|
97
|
-
wrappedOnChange({
|
|
98
|
-
type: "EXACT_MATCH",
|
|
99
|
-
values,
|
|
100
|
-
isExcluding
|
|
101
|
-
});
|
|
102
|
-
}, [wrappedOnChange, isExcluding]);
|
|
103
|
-
const onDateSelectChange = useCallback(date => {
|
|
104
|
-
wrappedOnChange({
|
|
105
|
-
type: "SELECT",
|
|
106
|
-
selectedValues: date !== undefined ? [date] : [],
|
|
107
|
-
isExcluding
|
|
108
|
-
});
|
|
109
|
-
}, [wrappedOnChange, isExcluding]);
|
|
110
|
-
const onMultiDateChange = useCallback(dates => {
|
|
111
|
-
wrappedOnChange({
|
|
112
|
-
type: "SELECT",
|
|
113
|
-
selectedValues: dates
|
|
114
|
-
});
|
|
115
|
-
}, [wrappedOnChange]);
|
|
116
|
-
const onTimelineChange = useCallback((start, end) => {
|
|
117
|
-
wrappedOnChange({
|
|
118
|
-
type: "TIMELINE",
|
|
119
|
-
startDate: start,
|
|
120
|
-
endDate: end,
|
|
121
|
-
isExcluding
|
|
122
|
-
});
|
|
123
|
-
}, [wrappedOnChange, isExcluding]);
|
|
124
|
-
const selectStringValues = useMemo(() => innerState?.type === "SELECT" ? coerceToStringArray(innerState.selectedValues) : [], [innerState]);
|
|
125
|
-
const singleSelectValue = useMemo(() => innerState?.type === "SELECT" ? coerceToString(innerState.selectedValues[0]) : undefined, [innerState]);
|
|
126
|
-
const exactMatchValues = useMemo(() => innerState?.type === "EXACT_MATCH" ? coerceToStringArray(innerState.values) : [], [innerState]);
|
|
127
|
-
const selectedDates = useMemo(() => innerState?.type === "SELECT" ? innerState.selectedValues.filter(v => v instanceof Date) : [], [innerState]);
|
|
128
|
-
const selectedDate = useMemo(() => innerState?.type === "SELECT" && innerState.selectedValues[0] instanceof Date ? innerState.selectedValues[0] : undefined, [innerState]);
|
|
129
|
-
const content = (() => {
|
|
130
|
-
switch (definition.linkedFilterComponent) {
|
|
131
|
-
case "CHECKBOX_LIST":
|
|
132
|
-
return /*#__PURE__*/React.createElement(CheckboxListInput, {
|
|
133
|
-
objectType: linkedObjectType,
|
|
134
|
-
objectSet: linkedObjectSet,
|
|
135
|
-
propertyKey: linkedPropertyKey,
|
|
136
|
-
selectedValues: selectStringValues,
|
|
137
|
-
onChange: onSelectChange
|
|
138
|
-
});
|
|
139
|
-
case "MULTI_SELECT":
|
|
140
|
-
return /*#__PURE__*/React.createElement(MultiSelectInput, {
|
|
141
|
-
objectType: linkedObjectType,
|
|
142
|
-
objectSet: linkedObjectSet,
|
|
143
|
-
propertyKey: linkedPropertyKey,
|
|
144
|
-
selectedValues: selectStringValues,
|
|
145
|
-
onChange: onSelectChange
|
|
146
|
-
});
|
|
147
|
-
case "SINGLE_SELECT":
|
|
148
|
-
return /*#__PURE__*/React.createElement(SingleSelectInput, {
|
|
149
|
-
objectType: linkedObjectType,
|
|
150
|
-
objectSet: linkedObjectSet,
|
|
151
|
-
propertyKey: linkedPropertyKey,
|
|
152
|
-
selectedValue: singleSelectValue,
|
|
153
|
-
onChange: onSingleSelectChange
|
|
154
|
-
});
|
|
155
|
-
case "CONTAINS_TEXT":
|
|
156
|
-
return /*#__PURE__*/React.createElement(ContainsTextInput, {
|
|
157
|
-
value: innerState?.type === "CONTAINS_TEXT" ? innerState.value : undefined,
|
|
158
|
-
onChange: onContainsTextChange,
|
|
159
|
-
placeholder: `Search ${String(definition.linkedPropertyKey)}...`
|
|
160
|
-
});
|
|
161
|
-
case "TOGGLE":
|
|
162
|
-
return /*#__PURE__*/React.createElement(ToggleInput, {
|
|
163
|
-
enabled: innerState?.type === "TOGGLE" ? innerState.enabled : false,
|
|
164
|
-
onChange: onToggleChange
|
|
165
|
-
});
|
|
166
|
-
case "NUMBER_RANGE":
|
|
167
|
-
{
|
|
168
|
-
const numberRange = innerState?.type === "NUMBER_RANGE" ? innerState : undefined;
|
|
169
|
-
return /*#__PURE__*/React.createElement(NumberRangeInput, {
|
|
170
|
-
objectType: linkedObjectType,
|
|
171
|
-
objectSet: linkedObjectSet,
|
|
172
|
-
propertyKey: linkedPropertyKey,
|
|
173
|
-
minValue: numberRange?.minValue,
|
|
174
|
-
maxValue: numberRange?.maxValue,
|
|
175
|
-
onChange: onNumberRangeChange
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
case "DATE_RANGE":
|
|
179
|
-
{
|
|
180
|
-
const dateRange = innerState?.type === "DATE_RANGE" ? innerState : undefined;
|
|
181
|
-
return /*#__PURE__*/React.createElement(DateRangeInput, {
|
|
182
|
-
objectType: linkedObjectType,
|
|
183
|
-
objectSet: linkedObjectSet,
|
|
184
|
-
propertyKey: linkedPropertyKey,
|
|
185
|
-
minValue: dateRange?.minValue,
|
|
186
|
-
maxValue: dateRange?.maxValue,
|
|
187
|
-
onChange: onDateRangeChange
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
case "LISTOGRAM":
|
|
191
|
-
return /*#__PURE__*/React.createElement(ListogramInput, {
|
|
192
|
-
objectType: linkedObjectType,
|
|
193
|
-
objectSet: linkedObjectSet,
|
|
194
|
-
propertyKey: linkedPropertyKey,
|
|
195
|
-
selectedValues: exactMatchValues,
|
|
196
|
-
onChange: onExactMatchChange
|
|
197
|
-
});
|
|
198
|
-
case "TEXT_TAGS":
|
|
199
|
-
return /*#__PURE__*/React.createElement(TextTagsInput, {
|
|
200
|
-
objectType: linkedObjectType,
|
|
201
|
-
objectSet: linkedObjectSet,
|
|
202
|
-
propertyKey: linkedPropertyKey,
|
|
203
|
-
tags: exactMatchValues,
|
|
204
|
-
onChange: onExactMatchChange
|
|
205
|
-
});
|
|
206
|
-
case "SINGLE_DATE":
|
|
207
|
-
return /*#__PURE__*/React.createElement(SingleDateInput, {
|
|
208
|
-
selectedDate: selectedDate,
|
|
209
|
-
onChange: onDateSelectChange,
|
|
210
|
-
showClearButton: true
|
|
211
|
-
});
|
|
212
|
-
case "MULTI_DATE":
|
|
213
|
-
return /*#__PURE__*/React.createElement(MultiDateInput, {
|
|
214
|
-
selectedDates: selectedDates,
|
|
215
|
-
onChange: onMultiDateChange,
|
|
216
|
-
showClearAll: true
|
|
217
|
-
});
|
|
218
|
-
case "TIMELINE":
|
|
219
|
-
{
|
|
220
|
-
const timeline = innerState?.type === "TIMELINE" ? innerState : undefined;
|
|
221
|
-
return /*#__PURE__*/React.createElement(TimelineInput, {
|
|
222
|
-
startDate: timeline?.startDate,
|
|
223
|
-
endDate: timeline?.endDate,
|
|
224
|
-
onChange: onTimelineChange
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
default:
|
|
228
|
-
return assertUnreachable(definition.linkedFilterComponent);
|
|
229
|
-
}
|
|
230
|
-
})();
|
|
231
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
232
|
-
className: classnames(styles.linkedProperty, className),
|
|
233
|
-
style: style
|
|
234
|
-
}, content);
|
|
235
|
-
}
|
|
236
|
-
export const LinkedPropertyInput = /*#__PURE__*/memo(LinkedPropertyInputInner);
|
|
237
|
-
//# sourceMappingURL=LinkedPropertyInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedPropertyInput.js","names":["classnames","React","memo","useCallback","useMemo","assertUnreachable","coerceToString","coerceToStringArray","CheckboxListInput","ContainsTextInput","DateRangeInput","styles","ListogramInput","MultiDateInput","MultiSelectInput","NumberRangeInput","SingleDateInput","SingleSelectInput","TextTagsInput","TimelineInput","ToggleInput","LinkedPropertyInputInner","objectSet","definition","filterState","onFilterStateChanged","className","style","linkedObjectSet","pivotTo","linkName","linkedObjectType","$objectSetInternals","def","linkedPropertyKey","innerState","type","linkedFilterState","undefined","isExcluding","includeNull","wrappedOnChange","innerFilterState","onSelectChange","selectedValues","onSingleSelectChange","selectedValue","onContainsTextChange","value","onToggleChange","enabled","onNumberRangeChange","minValue","maxValue","onDateRangeChange","onExactMatchChange","values","onDateSelectChange","date","onMultiDateChange","dates","onTimelineChange","start","end","startDate","endDate","selectStringValues","singleSelectValue","exactMatchValues","selectedDates","filter","v","Date","selectedDate","content","linkedFilterComponent","createElement","objectType","propertyKey","onChange","placeholder","String","numberRange","dateRange","tags","showClearButton","showClearAll","timeline","linkedProperty","LinkedPropertyInput"],"sources":["LinkedPropertyInput.tsx"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n LinkNames,\n ObjectSet,\n ObjectTypeDefinition,\n PropertyKeys,\n} from \"@osdk/api\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useMemo } from \"react\";\nimport type { FilterState } from \"../../FilterListItemApi.js\";\nimport type { LinkedPropertyFilterDefinition } from \"../../types/LinkedFilterTypes.js\";\nimport { assertUnreachable } from \"../../utils/assertUnreachable.js\";\nimport {\n coerceToString,\n coerceToStringArray,\n} from \"../../utils/coerceFilterValue.js\";\nimport { CheckboxListInput } from \"./CheckboxListInput.js\";\nimport { ContainsTextInput } from \"./ContainsTextInput.js\";\nimport { DateRangeInput } from \"./DateRangeInput.js\";\nimport styles from \"./LinkedPropertyInput.module.css\";\nimport { ListogramInput } from \"./ListogramInput.js\";\nimport { MultiDateInput } from \"./MultiDateInput.js\";\nimport { MultiSelectInput } from \"./MultiSelectInput.js\";\nimport { NumberRangeInput } from \"./NumberRangeInput.js\";\nimport { SingleDateInput } from \"./SingleDateInput.js\";\nimport { SingleSelectInput } from \"./SingleSelectInput.js\";\nimport { TextTagsInput } from \"./TextTagsInput.js\";\nimport { TimelineInput } from \"./TimelineInput.js\";\nimport { ToggleInput } from \"./ToggleInput.js\";\n\ninterface LinkedPropertyInputProps<\n Q extends ObjectTypeDefinition,\n L extends LinkNames<Q>,\n> {\n objectSet: ObjectSet<Q>;\n definition: LinkedPropertyFilterDefinition<\n Q,\n L,\n ObjectTypeDefinition,\n PropertyKeys<ObjectTypeDefinition>\n >;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction LinkedPropertyInputInner<\n Q extends ObjectTypeDefinition,\n L extends LinkNames<Q>,\n>({\n objectSet,\n definition,\n filterState,\n onFilterStateChanged,\n className,\n style,\n}: LinkedPropertyInputProps<Q, L>): React.ReactElement {\n const linkedObjectSet = useMemo(\n () => objectSet.pivotTo(definition.linkName),\n [objectSet, definition.linkName],\n );\n\n const linkedObjectType = linkedObjectSet.$objectSetInternals.def;\n\n const linkedPropertyKey = definition.linkedPropertyKey as PropertyKeys<\n typeof linkedObjectType\n >;\n\n const innerState = filterState?.type === \"linkedProperty\"\n ? filterState.linkedFilterState\n : undefined;\n\n const isExcluding = innerState?.isExcluding ?? false;\n const includeNull = innerState?.includeNull;\n\n const wrappedOnChange = useCallback(\n (innerFilterState: FilterState) => {\n onFilterStateChanged({\n type: \"linkedProperty\",\n linkedFilterState: innerFilterState,\n });\n },\n [onFilterStateChanged],\n );\n\n const onSelectChange = useCallback(\n (selectedValues: string[]) => {\n wrappedOnChange({\n type: \"SELECT\",\n selectedValues,\n isExcluding,\n });\n },\n [wrappedOnChange, isExcluding],\n );\n\n const onSingleSelectChange = useCallback(\n (selectedValue: string | undefined) => {\n wrappedOnChange({\n type: \"SELECT\",\n selectedValues: selectedValue !== undefined ? [selectedValue] : [],\n isExcluding,\n });\n },\n [wrappedOnChange, isExcluding],\n );\n\n const onContainsTextChange = useCallback(\n (value: string | undefined) => {\n wrappedOnChange({ type: \"CONTAINS_TEXT\", value });\n },\n [wrappedOnChange],\n );\n\n const onToggleChange = useCallback(\n (enabled: boolean) => {\n wrappedOnChange({ type: \"TOGGLE\", enabled });\n },\n [wrappedOnChange],\n );\n\n const onNumberRangeChange = useCallback(\n (minValue: number | undefined, maxValue: number | undefined) => {\n wrappedOnChange({\n type: \"NUMBER_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [wrappedOnChange, includeNull],\n );\n\n const onDateRangeChange = useCallback(\n (minValue: Date | undefined, maxValue: Date | undefined) => {\n wrappedOnChange({\n type: \"DATE_RANGE\",\n minValue,\n maxValue,\n includeNull,\n });\n },\n [wrappedOnChange, includeNull],\n );\n\n const onExactMatchChange = useCallback(\n (values: string[]) => {\n wrappedOnChange({\n type: \"EXACT_MATCH\",\n values,\n isExcluding,\n });\n },\n [wrappedOnChange, isExcluding],\n );\n\n const onDateSelectChange = useCallback(\n (date: Date | undefined) => {\n wrappedOnChange({\n type: \"SELECT\",\n selectedValues: date !== undefined ? [date] : [],\n isExcluding,\n });\n },\n [wrappedOnChange, isExcluding],\n );\n\n const onMultiDateChange = useCallback(\n (dates: Date[]) => {\n wrappedOnChange({\n type: \"SELECT\",\n selectedValues: dates,\n });\n },\n [wrappedOnChange],\n );\n\n const onTimelineChange = useCallback(\n (start: Date | undefined, end: Date | undefined) => {\n wrappedOnChange({\n type: \"TIMELINE\",\n startDate: start,\n endDate: end,\n isExcluding,\n });\n },\n [wrappedOnChange, isExcluding],\n );\n\n const selectStringValues = useMemo(\n () =>\n innerState?.type === \"SELECT\"\n ? coerceToStringArray(innerState.selectedValues)\n : [],\n [innerState],\n );\n\n const singleSelectValue = useMemo(\n () =>\n innerState?.type === \"SELECT\"\n ? coerceToString(innerState.selectedValues[0])\n : undefined,\n [innerState],\n );\n\n const exactMatchValues = useMemo(\n () =>\n innerState?.type === \"EXACT_MATCH\"\n ? coerceToStringArray(innerState.values)\n : [],\n [innerState],\n );\n\n const selectedDates = useMemo(\n () =>\n innerState?.type === \"SELECT\"\n ? innerState.selectedValues.filter(\n (v): v is Date => v instanceof Date,\n )\n : [],\n [innerState],\n );\n\n const selectedDate = useMemo(\n () =>\n innerState?.type === \"SELECT\"\n && innerState.selectedValues[0] instanceof Date\n ? innerState.selectedValues[0]\n : undefined,\n [innerState],\n );\n\n const content = (() => {\n switch (definition.linkedFilterComponent) {\n case \"CHECKBOX_LIST\":\n return (\n <CheckboxListInput\n objectType={linkedObjectType}\n objectSet={linkedObjectSet}\n propertyKey={linkedPropertyKey}\n selectedValues={selectStringValues}\n onChange={onSelectChange}\n />\n );\n\n case \"MULTI_SELECT\":\n return (\n <MultiSelectInput\n objectType={linkedObjectType}\n objectSet={linkedObjectSet}\n propertyKey={linkedPropertyKey}\n selectedValues={selectStringValues}\n onChange={onSelectChange}\n />\n );\n\n case \"SINGLE_SELECT\":\n return (\n <SingleSelectInput\n objectType={linkedObjectType}\n objectSet={linkedObjectSet}\n propertyKey={linkedPropertyKey}\n selectedValue={singleSelectValue}\n onChange={onSingleSelectChange}\n />\n );\n\n case \"CONTAINS_TEXT\":\n return (\n <ContainsTextInput\n value={innerState?.type === \"CONTAINS_TEXT\"\n ? innerState.value\n : undefined}\n onChange={onContainsTextChange}\n placeholder={`Search ${String(definition.linkedPropertyKey)}...`}\n />\n );\n\n case \"TOGGLE\":\n return (\n <ToggleInput\n enabled={innerState?.type === \"TOGGLE\"\n ? innerState.enabled\n : false}\n onChange={onToggleChange}\n />\n );\n\n case \"NUMBER_RANGE\": {\n const numberRange = innerState?.type === \"NUMBER_RANGE\"\n ? innerState\n : undefined;\n return (\n <NumberRangeInput\n objectType={linkedObjectType}\n objectSet={linkedObjectSet}\n propertyKey={linkedPropertyKey}\n minValue={numberRange?.minValue}\n maxValue={numberRange?.maxValue}\n onChange={onNumberRangeChange}\n />\n );\n }\n\n case \"DATE_RANGE\": {\n const dateRange = innerState?.type === \"DATE_RANGE\"\n ? innerState\n : undefined;\n return (\n <DateRangeInput\n objectType={linkedObjectType}\n objectSet={linkedObjectSet}\n propertyKey={linkedPropertyKey}\n minValue={dateRange?.minValue}\n maxValue={dateRange?.maxValue}\n onChange={onDateRangeChange}\n />\n );\n }\n\n case \"LISTOGRAM\":\n return (\n <ListogramInput\n objectType={linkedObjectType}\n objectSet={linkedObjectSet}\n propertyKey={linkedPropertyKey}\n selectedValues={exactMatchValues}\n onChange={onExactMatchChange}\n />\n );\n\n case \"TEXT_TAGS\":\n return (\n <TextTagsInput\n objectType={linkedObjectType}\n objectSet={linkedObjectSet}\n propertyKey={linkedPropertyKey}\n tags={exactMatchValues}\n onChange={onExactMatchChange}\n />\n );\n\n case \"SINGLE_DATE\":\n return (\n <SingleDateInput\n selectedDate={selectedDate}\n onChange={onDateSelectChange}\n showClearButton={true}\n />\n );\n\n case \"MULTI_DATE\":\n return (\n <MultiDateInput\n selectedDates={selectedDates}\n onChange={onMultiDateChange}\n showClearAll={true}\n />\n );\n\n case \"TIMELINE\": {\n const timeline = innerState?.type === \"TIMELINE\"\n ? innerState\n : undefined;\n return (\n <TimelineInput\n startDate={timeline?.startDate}\n endDate={timeline?.endDate}\n onChange={onTimelineChange}\n />\n );\n }\n\n default:\n return assertUnreachable(definition.linkedFilterComponent);\n }\n })();\n\n return (\n <div className={classnames(styles.linkedProperty, className)} style={style}>\n {content}\n </div>\n );\n}\n\nexport const LinkedPropertyInput = memo(\n LinkedPropertyInputInner,\n) as typeof LinkedPropertyInputInner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddFilterMenuTypes.js","names":[],"sources":["AddFilterMenuTypes.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ReactNode } from \"react\";\nimport type { FilterComponentType } from \"../FilterListItemApi.js\";\n\n/**\n * Visual data indicator configuration for filter items\n */\nexport type FilterDataIndicator = \"histogram\" | \"count\" | \"none\";\n\n/**\n * Category for organizing filters in the add filter menu\n */\nexport type FilterCategory =\n | \"ALL_PROPERTIES\"\n | \"SINGLE_PROPERTY\"\n | \"LINKED_OBJECT\";\n\n/**\n * Template for a filter that can be added via the add filter menu\n */\nexport interface FilterTemplate {\n /**\n * Unique identifier for the template\n */\n id: string;\n\n /**\n * Display label for the filter\n */\n label: string;\n\n /**\n * Property key this filter applies to\n */\n key: string;\n\n /**\n * The type of filter component to use\n */\n filterComponent: FilterComponentType;\n\n /**\n * Icon to display next to the filter label.\n * Can be a string (icon name) or a ReactNode for custom icons.\n */\n icon: string | ReactNode;\n\n /**\n * Type of data indicator to show (histogram, count, none)\n */\n dataIndicator?: FilterDataIndicator;\n\n /**\n * Whether to show a \"Select All\" option for checkbox lists\n */\n showSelectAll?: boolean;\n\n /**\n * Maximum number of visible items before scrolling\n */\n maxVisibleItems?: number;\n\n /**\n * Whether multiple instances of this filter can be added\n */\n allowMultiple: boolean;\n\n /**\n * Category for grouping in the add filter menu\n */\n category: FilterCategory;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPanelTypes.js","names":[],"sources":["FilterPanelTypes.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ObjectTypeDefinition, WhereClause } from \"@osdk/api\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\n\n/**\n * Filter states indexed by key (serializable to JSON)\n */\nexport type SerializableFilterStates = Record<string, FilterState>;\n\n/**\n * Persisted state for the filter list\n * Can be serialized and stored for session persistence\n *\n * Note: Only includes serializable data. Filter definitions are not persisted\n * because they may contain callback functions which cannot be serialized.\n */\nexport interface FilterListPersistedState<\n Q extends ObjectTypeDefinition = ObjectTypeDefinition,\n> {\n collapsed: boolean;\n filterStatesByKey: SerializableFilterStates;\n filterClause?: WhereClause<Q>;\n}\n"],"mappings":"","ignoreList":[]}
|