@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
|
@@ -19,6 +19,7 @@ import { getRowId, getRowIdFromPrimaryKey } from "../utils/getRowId.js";
|
|
|
19
19
|
export function useRowSelection({
|
|
20
20
|
selectionMode = "none",
|
|
21
21
|
selectedRows,
|
|
22
|
+
isAllSelected: isAllSelectedProp,
|
|
22
23
|
onRowSelection,
|
|
23
24
|
data
|
|
24
25
|
}) {
|
|
@@ -35,21 +36,23 @@ export function useRowSelection({
|
|
|
35
36
|
// If uncontrolled, return the internalRowSelection state
|
|
36
37
|
const rowSelectionState = useMemo(() => {
|
|
37
38
|
if (!enableRowSelection) return {};
|
|
38
|
-
if (isControlled
|
|
39
|
-
|
|
39
|
+
if (isControlled) {
|
|
40
|
+
const selectedRowIds = isAllSelectedProp ? (data ?? []).map(item => item.$primaryKey) : selectedRows;
|
|
41
|
+
return getRowSelectionState(selectedRowIds);
|
|
40
42
|
}
|
|
41
43
|
return internalRowSelection;
|
|
42
|
-
}, [enableRowSelection, isControlled, selectedRows, internalRowSelection]);
|
|
44
|
+
}, [enableRowSelection, isControlled, selectedRows, isAllSelectedProp, internalRowSelection, data]);
|
|
43
45
|
const selectedCount = Object.values(rowSelectionState).filter(Boolean).length;
|
|
44
46
|
const totalCount = data?.length ?? 0;
|
|
45
|
-
|
|
47
|
+
// In controlled mode, use the prop if provided, otherwise calculate based on selected count
|
|
48
|
+
const isAllSelected = isControlled && isAllSelectedProp !== undefined ? isAllSelectedProp : totalCount > 0 && selectedCount === totalCount;
|
|
46
49
|
const onToggleAll = useCallback(() => {
|
|
47
50
|
if (!enableRowSelection || !data) return;
|
|
48
51
|
const newSelectedRows = isAllSelected ? [] : data.map(item => item.$primaryKey);
|
|
49
52
|
if (!isControlled) {
|
|
50
53
|
setInternalRowSelection(getRowSelectionState(newSelectedRows));
|
|
51
54
|
}
|
|
52
|
-
onRowSelection?.(newSelectedRows);
|
|
55
|
+
onRowSelection?.(newSelectedRows, true);
|
|
53
56
|
}, [enableRowSelection, data, isAllSelected, isControlled, onRowSelection]);
|
|
54
57
|
const onToggleRow = useCallback((rowId, rowIndex, isShiftClick = false) => {
|
|
55
58
|
if (!enableRowSelection || !data) return;
|
|
@@ -95,13 +98,13 @@ export function useRowSelection({
|
|
|
95
98
|
if (!isControlled) {
|
|
96
99
|
setInternalRowSelection(getRowSelectionState(newSelectedRows));
|
|
97
100
|
}
|
|
98
|
-
onRowSelection?.(newSelectedRows);
|
|
99
|
-
}, [enableRowSelection, data, selectionMode,
|
|
101
|
+
onRowSelection?.(newSelectedRows, false);
|
|
102
|
+
}, [enableRowSelection, data, selectionMode, isControlled, onRowSelection, rowSelectionState, lastSelectedRowIndex]);
|
|
100
103
|
return {
|
|
101
104
|
rowSelection: rowSelectionState,
|
|
102
105
|
isAllSelected,
|
|
103
106
|
enableRowSelection,
|
|
104
|
-
hasSelection: selectedCount > 0,
|
|
107
|
+
hasSelection: isAllSelected || selectedCount > 0,
|
|
105
108
|
onToggleAll,
|
|
106
109
|
onToggleRow
|
|
107
110
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowSelection.js","names":["useCallback","useMemo","useState","getRowId","getRowIdFromPrimaryKey","useRowSelection","selectionMode","selectedRows","onRowSelection","data","internalRowSelection","setInternalRowSelection","lastSelectedRowIndex","setLastSelectedRowIndex","isControlled","undefined","enableRowSelection","rowSelectionState","getRowSelectionState","selectedCount","Object","values","filter","Boolean","length","totalCount","isAllSelected","onToggleAll","newSelectedRows","map","item","$primaryKey","onToggleRow","rowId","rowIndex","isShiftClick","getSingleSelectionRows","getRangeSelectionRows","getMultipleSelectionRows","isCurrentlySelected","rowSelection","hasSelection","primaryKey","rowsInRange","getRowsInRange","primaryKeysInRange","currentlySelected","getSelectedPrimaryKeys","forEach","includes","push","i","startIndex","endIndex","start","Math","min","end","max","rows","primaryKeys","reduce","acc","selectionState"],"sources":["useRowSelection.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 {\n ObjectOrInterfaceDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { RowSelectionState } from \"@tanstack/react-table\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { getRowId, getRowIdFromPrimaryKey } from \"../utils/getRowId.js\";\n\nexport interface UseRowSelectionProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n selectedRows?: PrimaryKeyType<Q>[];\n onRowSelection?: (selectedRowIds: PrimaryKeyType<Q>[]) => void;\n data:\n | Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>\n | undefined;\n}\n\nexport interface UseRowSelectionResult {\n rowSelection: RowSelectionState;\n isAllSelected: boolean;\n hasSelection: boolean;\n enableRowSelection: boolean;\n onToggleAll: () => void;\n onToggleRow: (\n rowId: string,\n rowIndex: number,\n isShiftClick?: boolean,\n ) => void;\n}\n\nexport function useRowSelection<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>({\n selectionMode = \"none\",\n selectedRows,\n onRowSelection,\n data,\n}: UseRowSelectionProps<Q, RDPs>): UseRowSelectionResult {\n // The rowSelectionState in uncontrolled mode\n const [internalRowSelection, setInternalRowSelection] = useState<\n RowSelectionState\n >({});\n\n // Used for shift-click behavior in \"multiple\" mode\n const [lastSelectedRowIndex, setLastSelectedRowIndex] = useState<\n number | null\n >(null);\n\n const isControlled = selectedRows !== undefined;\n const enableRowSelection = selectionMode !== \"none\";\n\n // Row selection state\n // If controlled mode, return the state from selectedRows prop\n // If uncontrolled, return the internalRowSelection state\n const rowSelectionState: RowSelectionState = useMemo(() => {\n if (!enableRowSelection) return {};\n if (isControlled && selectedRows) {\n return getRowSelectionState(selectedRows);\n }\n return internalRowSelection;\n }, [\n enableRowSelection,\n isControlled,\n selectedRows,\n internalRowSelection,\n ]);\n\n const selectedCount = Object.values(rowSelectionState).filter(Boolean).length;\n const totalCount = data?.length ?? 0;\n const isAllSelected = totalCount > 0 && selectedCount === totalCount;\n const hasSelection = selectedCount > 0;\n\n const onToggleAll = useCallback(() => {\n if (!enableRowSelection || !data) return;\n\n const newSelectedRows: PrimaryKeyType<Q>[] = isAllSelected\n ? []\n : data.map(item => item.$primaryKey);\n\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows);\n }, [enableRowSelection, data, isAllSelected, isControlled, onRowSelection]);\n\n const onToggleRow = useCallback(\n (rowId: string, rowIndex: number, isShiftClick: boolean = false) => {\n if (!enableRowSelection || !data) return;\n\n let newSelectedRows: PrimaryKeyType<Q>[] = [];\n\n if (selectionMode === \"single\") {\n newSelectedRows = getSingleSelectionRows({\n rowId,\n rowIndex,\n data,\n rowSelectionState,\n });\n } else {\n // Multiple selection mode\n\n // When user does shiftClick but lastSelectedRowIndex is null,\n // it is treated as a normal click in multiple selection\n if (isShiftClick && lastSelectedRowIndex != null) {\n newSelectedRows = getRangeSelectionRows(\n { rowId, rowIndex, data, lastSelectedRowIndex, rowSelectionState },\n );\n setLastSelectedRowIndex(rowIndex);\n } else {\n newSelectedRows = getMultipleSelectionRows(\n { rowId, rowIndex, data, rowSelectionState },\n );\n // Only update lastSelectedRowIndex if we're selecting (not deselecting)\n if (\n !isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ) {\n setLastSelectedRowIndex(rowIndex);\n }\n }\n }\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows);\n },\n [\n enableRowSelection,\n data,\n selectionMode,\n lastSelectedRowIndex,\n isControlled,\n rowSelectionState,\n onRowSelection,\n ],\n );\n\n return {\n rowSelection: rowSelectionState,\n isAllSelected,\n enableRowSelection,\n hasSelection,\n onToggleAll,\n onToggleRow,\n };\n}\n\ninterface GetSelectedRowsProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n rowId: string;\n rowIndex: number;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>;\n rowSelectionState: RowSelectionState;\n lastSelectedRowIndex?: number;\n}\n\nfunction getSingleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowId, rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n // Toggle row selection in single selection mode\n const newSelectedRows = rowSelectionState[rowId] ? [] : [primaryKey];\n return newSelectedRows;\n}\n\nfunction getRangeSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { lastSelectedRowIndex, rowIndex, data, rowSelectionState }:\n GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n // This function is only called if lastSelectedRowIndex is not null\n // This condition is added for typechecks only\n if (lastSelectedRowIndex != null) {\n const rowsInRange = getRowsInRange(data, lastSelectedRowIndex, rowIndex);\n const primaryKeysInRange = rowsInRange.map(item => item.$primaryKey);\n\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n\n // Add all rows in range to selectedRows if not yet selected\n const newSelectedRows = [...currentlySelected];\n primaryKeysInRange.forEach(item => {\n if (!newSelectedRows.includes(item)) {\n newSelectedRows.push(item);\n }\n });\n return newSelectedRows;\n }\n return [];\n}\n\nfunction isCurrentlySelected<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: Pick<\n GetSelectedRowsProps<Q, RDPs>,\n \"rowIndex\" | \"data\" | \"rowSelectionState\"\n >,\n): boolean {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n return currentlySelected.includes(primaryKey);\n}\n\nfunction getMultipleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n // Handles single row toggle in multiple selection mode\n const newSelectedRows =\n isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ? currentlySelected.filter(i => i !== primaryKey)\n : [...currentlySelected, primaryKey];\n return newSelectedRows;\n}\n\n/**\n * Builds a range of rows from startIndex to endIndex\n */\nfunction getRowsInRange<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>,\n startIndex: number,\n endIndex: number,\n): Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>> {\n const start = Math.min(startIndex, endIndex);\n const end = Math.max(startIndex, endIndex);\n const rows: Array<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = [];\n\n for (let i = start; i <= end; i++) {\n const item = data[i];\n if (item) {\n rows.push(item);\n }\n }\n\n return rows;\n}\n\n/**\n * Converts an array of primary keys to a RowSelectionState object\n */\nfunction getRowSelectionState<Q extends ObjectOrInterfaceDefinition>(\n primaryKeys: PrimaryKeyType<Q>[],\n): RowSelectionState {\n return primaryKeys.reduce<RowSelectionState>(\n (acc, primaryKey) => {\n acc[getRowIdFromPrimaryKey(primaryKey)] = true;\n return acc;\n },\n {},\n );\n}\n\n/**\n * Converts from a RowSelectionState object back to an array of primary keys\n */\nfunction getSelectedPrimaryKeys<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n selectionState: RowSelectionState,\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>,\n): PrimaryKeyType<Q>[] {\n return data\n .filter(item => selectionState[getRowId(item)])\n .map(item => item.$primaryKey);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useRowSelection.js","names":["useCallback","useMemo","useState","getRowId","getRowIdFromPrimaryKey","useRowSelection","selectionMode","selectedRows","isAllSelected","isAllSelectedProp","onRowSelection","data","internalRowSelection","setInternalRowSelection","lastSelectedRowIndex","setLastSelectedRowIndex","isControlled","undefined","enableRowSelection","rowSelectionState","selectedRowIds","map","item","$primaryKey","getRowSelectionState","selectedCount","Object","values","filter","Boolean","length","totalCount","onToggleAll","newSelectedRows","onToggleRow","rowId","rowIndex","isShiftClick","getSingleSelectionRows","getRangeSelectionRows","getMultipleSelectionRows","isCurrentlySelected","rowSelection","hasSelection","primaryKey","rowsInRange","getRowsInRange","primaryKeysInRange","currentlySelected","getSelectedPrimaryKeys","forEach","includes","push","i","startIndex","endIndex","start","Math","min","end","max","rows","primaryKeys","reduce","acc","selectionState"],"sources":["useRowSelection.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 {\n ObjectOrInterfaceDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n SimplePropertyDef,\n} from \"@osdk/api\";\nimport type { RowSelectionState } from \"@tanstack/react-table\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { getRowId, getRowIdFromPrimaryKey } from \"../utils/getRowId.js\";\n\nexport interface UseRowSelectionProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n selectionMode?: \"single\" | \"multiple\" | \"none\";\n selectedRows?: PrimaryKeyType<Q>[];\n isAllSelected?: boolean;\n onRowSelection?: (\n selectedRowIds: PrimaryKeyType<Q>[],\n isSelectAll: boolean,\n ) => void;\n data:\n | Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>\n | undefined;\n}\n\nexport interface UseRowSelectionResult {\n rowSelection: RowSelectionState;\n isAllSelected: boolean;\n hasSelection: boolean;\n enableRowSelection: boolean;\n onToggleAll: () => void;\n onToggleRow: (\n rowId: string,\n rowIndex: number,\n isShiftClick?: boolean,\n ) => void;\n}\n\nexport function useRowSelection<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>({\n selectionMode = \"none\",\n selectedRows,\n isAllSelected: isAllSelectedProp,\n onRowSelection,\n data,\n}: UseRowSelectionProps<Q, RDPs>): UseRowSelectionResult {\n // The rowSelectionState in uncontrolled mode\n const [internalRowSelection, setInternalRowSelection] = useState<\n RowSelectionState\n >({});\n\n // Used for shift-click behavior in \"multiple\" mode\n const [lastSelectedRowIndex, setLastSelectedRowIndex] = useState<\n number | null\n >(null);\n\n const isControlled = selectedRows !== undefined;\n const enableRowSelection = selectionMode !== \"none\";\n\n // Row selection state\n // If controlled mode, return the state from selectedRows prop\n // If uncontrolled, return the internalRowSelection state\n const rowSelectionState: RowSelectionState = useMemo(() => {\n if (!enableRowSelection) return {};\n if (isControlled) {\n const selectedRowIds = isAllSelectedProp\n ? (data ?? []).map(item => item.$primaryKey)\n : selectedRows;\n return getRowSelectionState(selectedRowIds);\n }\n return internalRowSelection;\n }, [\n enableRowSelection,\n isControlled,\n selectedRows,\n isAllSelectedProp,\n internalRowSelection,\n data,\n ]);\n\n const selectedCount = Object.values(rowSelectionState).filter(Boolean).length;\n const totalCount = data?.length ?? 0;\n // In controlled mode, use the prop if provided, otherwise calculate based on selected count\n const isAllSelected = isControlled && isAllSelectedProp !== undefined\n ? isAllSelectedProp\n : totalCount > 0 && selectedCount === totalCount;\n const hasSelection = isAllSelected || selectedCount > 0;\n\n const onToggleAll = useCallback(() => {\n if (!enableRowSelection || !data) return;\n\n const newSelectedRows: PrimaryKeyType<Q>[] = isAllSelected\n ? []\n : data.map(item => item.$primaryKey);\n\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows, true);\n }, [enableRowSelection, data, isAllSelected, isControlled, onRowSelection]);\n\n const onToggleRow = useCallback(\n (rowId: string, rowIndex: number, isShiftClick: boolean = false) => {\n if (!enableRowSelection || !data) return;\n\n let newSelectedRows: PrimaryKeyType<Q>[] = [];\n\n if (selectionMode === \"single\") {\n newSelectedRows = getSingleSelectionRows({\n rowId,\n rowIndex,\n data,\n rowSelectionState,\n });\n } else {\n // Multiple selection mode\n\n // When user does shiftClick but lastSelectedRowIndex is null,\n // it is treated as a normal click in multiple selection\n if (isShiftClick && lastSelectedRowIndex != null) {\n newSelectedRows = getRangeSelectionRows(\n { rowId, rowIndex, data, lastSelectedRowIndex, rowSelectionState },\n );\n setLastSelectedRowIndex(rowIndex);\n } else {\n newSelectedRows = getMultipleSelectionRows(\n { rowId, rowIndex, data, rowSelectionState },\n );\n // Only update lastSelectedRowIndex if we're selecting (not deselecting)\n if (\n !isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ) {\n setLastSelectedRowIndex(rowIndex);\n }\n }\n }\n if (!isControlled) {\n setInternalRowSelection(getRowSelectionState(newSelectedRows));\n }\n onRowSelection?.(newSelectedRows, false);\n },\n [\n enableRowSelection,\n data,\n selectionMode,\n isControlled,\n onRowSelection,\n rowSelectionState,\n lastSelectedRowIndex,\n ],\n );\n\n return {\n rowSelection: rowSelectionState,\n isAllSelected,\n enableRowSelection,\n hasSelection,\n onToggleAll,\n onToggleRow,\n };\n}\n\ninterface GetSelectedRowsProps<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n> {\n rowId: string;\n rowIndex: number;\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>;\n rowSelectionState: RowSelectionState;\n lastSelectedRowIndex?: number;\n}\n\nfunction getSingleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowId, rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n // Toggle row selection in single selection mode\n const newSelectedRows = rowSelectionState[rowId] ? [] : [primaryKey];\n return newSelectedRows;\n}\n\nfunction getRangeSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { lastSelectedRowIndex, rowIndex, data, rowSelectionState }:\n GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n // This function is only called if lastSelectedRowIndex is not null\n // This condition is added for typechecks only\n if (lastSelectedRowIndex != null) {\n const rowsInRange = getRowsInRange(data, lastSelectedRowIndex, rowIndex);\n const primaryKeysInRange = rowsInRange.map(item => item.$primaryKey);\n\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n\n // Add all rows in range to selectedRows if not yet selected\n const newSelectedRows = [...currentlySelected];\n primaryKeysInRange.forEach(item => {\n if (!newSelectedRows.includes(item)) {\n newSelectedRows.push(item);\n }\n });\n return newSelectedRows;\n }\n return [];\n}\n\nfunction isCurrentlySelected<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: Pick<\n GetSelectedRowsProps<Q, RDPs>,\n \"rowIndex\" | \"data\" | \"rowSelectionState\"\n >,\n): boolean {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n return currentlySelected.includes(primaryKey);\n}\n\nfunction getMultipleSelectionRows<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n { rowIndex, data, rowSelectionState }: GetSelectedRowsProps<Q, RDPs>,\n): PrimaryKeyType<Q>[] {\n const primaryKey = data[rowIndex].$primaryKey;\n const currentlySelected = getSelectedPrimaryKeys(rowSelectionState, data);\n // Handles single row toggle in multiple selection mode\n const newSelectedRows =\n isCurrentlySelected<Q, RDPs>({ rowIndex, data, rowSelectionState })\n ? currentlySelected.filter(i => i !== primaryKey)\n : [...currentlySelected, primaryKey];\n return newSelectedRows;\n}\n\n/**\n * Builds a range of rows from startIndex to endIndex\n */\nfunction getRowsInRange<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>,\n startIndex: number,\n endIndex: number,\n): Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>> {\n const start = Math.min(startIndex, endIndex);\n const end = Math.max(startIndex, endIndex);\n const rows: Array<\n Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>\n > = [];\n\n for (let i = start; i <= end; i++) {\n const item = data[i];\n if (item) {\n rows.push(item);\n }\n }\n\n return rows;\n}\n\n/**\n * Converts an array of primary keys to a RowSelectionState object\n */\nfunction getRowSelectionState<Q extends ObjectOrInterfaceDefinition>(\n primaryKeys: PrimaryKeyType<Q>[],\n): RowSelectionState {\n return primaryKeys.reduce<RowSelectionState>(\n (acc, primaryKey) => {\n acc[getRowIdFromPrimaryKey(primaryKey)] = true;\n return acc;\n },\n {},\n );\n}\n\n/**\n * Converts from a RowSelectionState object back to an array of primary keys\n */\nfunction getSelectedPrimaryKeys<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = Record<string, never>,\n>(\n selectionState: RowSelectionState,\n data: Array<Osdk.Instance<Q, \"$allBaseProperties\", PropertyKeys<Q>, RDPs>>,\n): PrimaryKeyType<Q>[] {\n return data\n .filter(item => selectionState[getRowId(item)])\n .map(item => item.$primaryKey);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
export {
|
|
17
|
+
export { BaseFilterList } from "../filter-list/base/BaseFilterList.js";
|
|
18
|
+
export { FilterList } from "../filter-list/FilterList.js";
|
|
19
|
+
export { deserializeFilterStates, serializeFilterStates } from "../filter-list/utils/filterStateSerialization.js";
|
|
20
|
+
|
|
18
21
|
// ObjectTable that loads and displays data for a given objectSet
|
|
19
22
|
export { ObjectTable } from "../object-table/ObjectTable.js";
|
|
20
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experimental.js","names":["FilterList","ObjectTable","BaseTable","ColumnConfigDialog"],"sources":["experimental.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\nexport {
|
|
1
|
+
{"version":3,"file":"experimental.js","names":["BaseFilterList","FilterList","deserializeFilterStates","serializeFilterStates","ObjectTable","BaseTable","ColumnConfigDialog"],"sources":["experimental.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\nexport { BaseFilterList } from \"../filter-list/base/BaseFilterList.js\";\nexport type {\n BaseFilterListProps,\n RenderFilterInput,\n} from \"../filter-list/base/BaseFilterListApi.js\";\nexport { FilterList } from \"../filter-list/FilterList.js\";\n\nexport type {\n FilterDefinitionUnion,\n FilterListProps,\n} from \"../filter-list/FilterListApi.js\";\nexport type {\n FilterComponentType,\n FilterListItemProps,\n FilterState,\n PropertyFilterDefinition,\n} from \"../filter-list/FilterListItemApi.js\";\nexport {\n deserializeFilterStates,\n serializeFilterStates,\n} from \"../filter-list/utils/filterStateSerialization.js\";\n\n// ObjectTable that loads and displays data for a given objectSet\nexport { ObjectTable } from \"../object-table/ObjectTable.js\";\nexport type {\n ColumnDefinition,\n ColumnDefinitionLocator,\n ObjectTableProps,\n} from \"../object-table/ObjectTableApi.js\";\nexport type { CellEditInfo } from \"../object-table/utils/types.js\";\n\n// BaseTable that does not handle data fetching\nexport type { BaseTableProps } from \"../object-table/Table.js\";\nexport { BaseTable } from \"../object-table/Table.js\";\n\nexport { ColumnConfigDialog } from \"../object-table/ColumnConfigDialog.js\";\nexport type {\n ColumnConfigDialogProps,\n ColumnConfigOptions,\n} from \"../object-table/ColumnConfigDialog.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,uCAAuC;AAKtE,SAASC,UAAU,QAAQ,8BAA8B;AAYzD,SACEC,uBAAuB,EACvBC,qBAAqB,QAChB,kDAAkD;;AAEzD;AACA,SAASC,WAAW,QAAQ,gCAAgC;;AAQ5D;;AAEA,SAASC,SAAS,QAAQ,0BAA0B;AAEpD,SAASC,kBAAkB,QAAQ,uCAAuC","ignoreList":[]}
|
|
@@ -18,34 +18,34 @@
|
|
|
18
18
|
display: flex;
|
|
19
19
|
flex-direction: column;
|
|
20
20
|
align-items: flex-start;
|
|
21
|
-
gap: var(--osdk-
|
|
22
|
-
padding: var(--osdk-
|
|
23
|
-
border-radius: var(--osdk-
|
|
24
|
-
background-color: var(--osdk-
|
|
21
|
+
gap: var(--osdk-error-boundary-gap, 8px);
|
|
22
|
+
padding: var(--osdk-error-boundary-padding, 8px);
|
|
23
|
+
border-radius: var(--osdk-error-boundary-border-radius, 4px);
|
|
24
|
+
background-color: var(--osdk-error-boundary-bg, color-mix(in srgb, var(--osdk-intent-danger-rest, #c23030) 5%, transparent));
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.errorMessage {
|
|
28
28
|
margin: 0;
|
|
29
|
-
font-size: var(--osdk-
|
|
30
|
-
color: var(--osdk-
|
|
29
|
+
font-size: var(--osdk-error-boundary-font-size, 13px);
|
|
30
|
+
color: var(--osdk-error-boundary-text-color, var(--osdk-intent-danger-rest, #c23030));
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
.retryButton {
|
|
34
|
-
padding: var(--osdk-
|
|
35
|
-
border: 1px solid var(--osdk-
|
|
36
|
-
border-radius: var(--osdk-
|
|
34
|
+
padding: var(--osdk-error-boundary-button-padding, 4px 8px);
|
|
35
|
+
border: var(--osdk-surface-border-width, 1px) solid var(--osdk-error-boundary-button-border-color, currentColor);
|
|
36
|
+
border-radius: var(--osdk-error-boundary-button-border-radius, 3px);
|
|
37
37
|
background: transparent;
|
|
38
|
-
font-size: var(--osdk-
|
|
39
|
-
color: var(--osdk-
|
|
38
|
+
font-size: var(--osdk-error-boundary-button-font-size, 12px);
|
|
39
|
+
color: var(--osdk-error-boundary-button-color, inherit);
|
|
40
40
|
cursor: pointer;
|
|
41
|
-
transition: background-color 150ms ease;
|
|
41
|
+
transition: background-color var(--osdk-filter-input-transition, 150ms ease);
|
|
42
42
|
|
|
43
43
|
&:hover {
|
|
44
|
-
background-color: var(--osdk-
|
|
44
|
+
background-color: var(--osdk-error-boundary-button-hover-bg, color-mix(in srgb, currentColor 5%, transparent));
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
&:focus-visible {
|
|
48
|
-
outline: var(--osdk-filter-input-focus-outline-width, 2px) solid var(--osdk-filter-input-focus-outline-color,
|
|
48
|
+
outline: var(--osdk-filter-input-focus-outline-width, 2px) solid var(--osdk-filter-input-focus-outline-color, rgba(45, 114, 210, 0.6));
|
|
49
49
|
outline-offset: var(--osdk-filter-input-focus-outline-offset, 2px);
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import type { FilterDefinitionUnion } from "
|
|
4
|
-
import type { FilterState } from "
|
|
3
|
+
import type { FilterDefinitionUnion } from "./FilterListApi.js";
|
|
4
|
+
import type { FilterState } from "./FilterListItemApi.js";
|
|
5
5
|
interface FilterInputProps<Q extends ObjectTypeDefinition> {
|
|
6
6
|
objectType: Q;
|
|
7
7
|
objectSet: ObjectSet<Q>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,WAAW,sBAAsB,mBAAmB,WAAY;AAC9E,OAAO,WAAkC,OAAQ;AAGjD,cAAc,6BAA6B,oBAAqB;AAChE,cAAc,mBAAmB,wBAAyB;UAIhD,iBAAiB,UAAU,sBAAsB;CACzD,YAAY;CACZ,WAAW,UAAU;CACrB,YAAY,sBAAsB;CAClC,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;AAC1B;AAED,iBAAS,iBAAiB,UAAU,sBAAsB,EACxD,YACA,WACA,YACA,aACA,sBACA,aACoB,EAAnB,iBAAiB,KAAK,MAAM;AAa/B,OAAO,cAAM,oBAA+C","names":["state: FilterState"],"sources":["../../../src/filter-list/FilterInput.tsx"],"version":3,"file":"FilterInput.d.ts"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ObjectTypeDefinition } from "@osdk/api";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import type { FilterListProps } from "
|
|
3
|
+
import type { FilterListProps } from "./FilterListApi.js";
|
|
4
4
|
export declare function FilterList<Q extends ObjectTypeDefinition>(props: FilterListProps<Q>): React.ReactElement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,4BAAyC,WAAY;AACnE,OAAO,WAAqC,OAAQ;AAIpD,cAEE,uBACK,oBAAqB;AAK5B,OAAO,iBAAS,WAAW,UAAU,sBACnCA,OAAO,gBAAgB,KACtB,MAAM","names":["props: FilterListProps<Q>"],"sources":["../../../src/filter-list/FilterList.tsx"],"version":3,"file":"FilterList.d.ts"}
|
|
@@ -94,6 +94,20 @@ export interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
|
94
94
|
*/
|
|
95
95
|
enableSorting?: boolean;
|
|
96
96
|
/**
|
|
97
|
+
* Whether the filter list panel is collapsed
|
|
98
|
+
*/
|
|
99
|
+
collapsed?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Called when the collapsed state changes
|
|
102
|
+
*/
|
|
103
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
104
|
+
/**
|
|
105
|
+
* Initial filter states for hydrating from external storage.
|
|
106
|
+
* These states are merged over definition defaults on mount.
|
|
107
|
+
* Use onFilterStateChanged to persist state changes externally.
|
|
108
|
+
*/
|
|
109
|
+
initialFilterStates?: Map<string, FilterStateType>;
|
|
110
|
+
/**
|
|
97
111
|
* Show reset filters button in header
|
|
98
112
|
*/
|
|
99
113
|
showResetButton?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,WACA,WACA,sBACA,mBACK,WAAY;AACnB,YAAY,WAAW,OAAQ;AAC/B,cACE,eAAe,iBACf,gCACK,wBAAyB;AAChC,cAAc,8BAA8B,gCAAiC;AAC7E,cAAc,qCAAqC,+BAAgC;AACnF,cACE,yBACA,sCACK,8BAA+B;;;;AAKtC,YAAY,sBAAsB,UAAU,wBACxC,yBAAyB,KACzB,wBAAwB,KACxB,+BAA+B,GAAG,UAAU,MAC5C,8BAA8B,KAC9B,uBAAuB;;;;AAK3B,YAAY,UAAU,UAAU,wBAC9B,sBAAsB,iBAAiB,IAAI,UAAU;CAAE,WAAW;AAAG,IAAG,IACpE,UAAU;CAAE,gBAAgB;AAAG,IAAG;;;;AAOxC,YAAY,YAAY,UAAU,wBAChC,sBAAsB,iBAAiB,IACnC,UAAU;CAAE,mBAAmB;AAAG,IAAG;;;;;AAQ3C,YAAY,gBAAgB,UAAU,wBAAwB,IAC5D,sBAAsB,IACtB;AAGF,iBAAiB,gBAAgB,UAAU,sBAAsB;;;;CAI/D,WAAW,UAAU;;;;CAKrB;;;;CAKA,YAAY,MAAM;;;;;CAMlB,oBAAoB,MAAM,sBAAsB;;;;;CAMhD,eAAe,YAAY;;;;;;;;CAS3B,yBAAyBA,WAAW,YAAY;;;;;;CAOhD,iBAAiB,QAAQ;;;;;;;CAQzB,wBACEC,YAAY,sBAAsB,IAClCC,UAAU;;;;;;;;CAUZ,iBACEC,WAAW,UAAU,IACrBC,gBAAgB,MAAM,sBAAsB;;;;;;;CAS9C,mBAAmBD,WAAW,UAAU;;;;;;;CAQxC;;;;CAKA;;;;CAKA;;;;CAKA;;;;CAKA;;;;;CAMA,8BAA8B,MAAM;AACrC","names":["newClause: WhereClause<Q>","definition: FilterDefinitionUnion<Q>","newState: FilterStateType","filterKey: FilterKey<Q>","newDefinitions: Array<FilterDefinitionUnion<Q>>"],"sources":["../../../src/filter-list/FilterListApi.ts"],"version":3,"file":"FilterListApi.d.ts"}
|
|
1
|
+
{"mappings":"AAgBA,cACE,WACA,WACA,sBACA,mBACK,WAAY;AACnB,YAAY,WAAW,OAAQ;AAC/B,cACE,eAAe,iBACf,gCACK,wBAAyB;AAChC,cAAc,8BAA8B,gCAAiC;AAC7E,cAAc,qCAAqC,+BAAgC;AACnF,cACE,yBACA,sCACK,8BAA+B;;;;AAKtC,YAAY,sBAAsB,UAAU,wBACxC,yBAAyB,KACzB,wBAAwB,KACxB,+BAA+B,GAAG,UAAU,MAC5C,8BAA8B,KAC9B,uBAAuB;;;;AAK3B,YAAY,UAAU,UAAU,wBAC9B,sBAAsB,iBAAiB,IAAI,UAAU;CAAE,WAAW;AAAG,IAAG,IACpE,UAAU;CAAE,gBAAgB;AAAG,IAAG;;;;AAOxC,YAAY,YAAY,UAAU,wBAChC,sBAAsB,iBAAiB,IACnC,UAAU;CAAE,mBAAmB;AAAG,IAAG;;;;;AAQ3C,YAAY,gBAAgB,UAAU,wBAAwB,IAC5D,sBAAsB,IACtB;AAGF,iBAAiB,gBAAgB,UAAU,sBAAsB;;;;CAI/D,WAAW,UAAU;;;;CAKrB;;;;CAKA,YAAY,MAAM;;;;;CAMlB,oBAAoB,MAAM,sBAAsB;;;;;CAMhD,eAAe,YAAY;;;;;;;;CAS3B,yBAAyBA,WAAW,YAAY;;;;;;CAOhD,iBAAiB,QAAQ;;;;;;;CAQzB,wBACEC,YAAY,sBAAsB,IAClCC,UAAU;;;;;;;;CAUZ,iBACEC,WAAW,UAAU,IACrBC,gBAAgB,MAAM,sBAAsB;;;;;;;CAS9C,mBAAmBD,WAAW,UAAU;;;;;;;CAQxC;;;;CAKA;;;;CAKA,qBAAqBE;;;;;;CAOrB,sBAAsB,YAAY;;;;CAKlC;;;;CAKA;;;;CAKA;;;;CAKA;;;;;CAMA,8BAA8B,MAAM;AACrC","names":["newClause: WhereClause<Q>","definition: FilterDefinitionUnion<Q>","newState: FilterStateType","filterKey: FilterKey<Q>","newDefinitions: Array<FilterDefinitionUnion<Q>>","collapsed: boolean"],"sources":["../../../src/filter-list/FilterListApi.ts"],"version":3,"file":"FilterListApi.d.ts"}
|
|
@@ -149,6 +149,19 @@ export interface PropertyFilterDefinition<
|
|
|
149
149
|
*/
|
|
150
150
|
filterState: FilterStateByComponentType[C];
|
|
151
151
|
/**
|
|
152
|
+
* Maps filter values to colors for visual differentiation.
|
|
153
|
+
* Used by CHECKBOX_LIST (color dots) and LISTOGRAM (per-row bar colors).
|
|
154
|
+
*/
|
|
155
|
+
colorMap?: Record<string, string>;
|
|
156
|
+
/**
|
|
157
|
+
* Configuration for LISTOGRAM display mode.
|
|
158
|
+
* Only applies when filterComponent is "LISTOGRAM".
|
|
159
|
+
*/
|
|
160
|
+
listogramConfig?: {
|
|
161
|
+
displayMode?: "full" | "count" | "minimal"
|
|
162
|
+
maxVisibleItems?: number
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
152
165
|
* Controls whether this filter is rendered.
|
|
153
166
|
* When false, the filter is hidden but its state is preserved.
|
|
154
167
|
* @default true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,qBACA,WACA,sBACA,cACA,yBACK,WAAY;AACnB,cAAc,yBAAyB,gCAAiC;AACxE,cAAc,gCAAgC,+BAAgC;AAC9E,cACE,oBACA,iCACK,8BAA+B;;;;AAKtC,YAAY;CACV,UAAU;CACV,UAAU,aAAa;IACrB,oBAAoB,GAAG,cAAc,GAAG;;;;AAK5C,YAAY,sBACR,cACA,eACA,iBACA,cACA,kBACA,kBACA,iBACA,gBACA,eACA,aACA,kBACA;;;;AAKJ,YAAY,+BAA+B,UAAU,qBACnD,UAAU,YACN,cAAc,kBAAkB,kBAAkB,WAClD,UAAU,WACN,cACA,cACA,kBACA,kBACA,iBACA,kBACJ,UAAU,aAAa,cACrB,eAAe,gBAAgB,eAAe,aAChD,UACE,WACA,YACA,SACA,UACA,UACA,SACA,YAAY,iBAAiB,kBAAkB;;;;AAMvD,YAAY,cACR,0CACA,uBACA,0BACA,yBACA,+CACA,kBAAkB,QAClB,sBACA,oBACA,qBACA,4BACA,2BACA;;;;AAKJ,iBAAiB,2BAA2B;CAC1C,WAAW;CACX,YAAY;CACZ,WAAW;CACX,eAAe;CACf,cAAc;CACd,eAAe;CACf,cAAc;CACd,aAAa,kBAAkB;CAC/B,YAAY,kBAAkB;CAC9B,UAAU;CACV,eAAe;CACf,QAAQ;AACT;;;;AAKD,YAAY,kBACR,gBACA,eACA,iBACA,kBACA,WACA,aACA,WACA,YACA,mBACA,kBACA;;;;;AAMJ,iBAAiB,gBAAgB;;;;CAI/B,MAAM;;;;;CAMN;;;;;CAMA;AACD;AAED,iBAAiB,sBAAsB,8BAC7B,gBACV;CACE,MAAM;CACN,QAAQ;AACT;AAED,iBAAiB,6BAA6B,gBAAgB;CAC5D,MAAM;;;;CAIN,WAAW;;;;CAIX,WAAW;AACZ;AAED,iBAAiB,gCAAgC,gBAAgB;CAC/D,MAAM;CACN;AACD;AAED,iBAAiB,+BAA+B,gBAAgB;CAC9D,MAAM;;;;CAIN;;;;CAIA;AACD;;;;;AAMD,iBAAiB,kBAAkB,gCAAgC,cACzD,gBACV;CACE,MAAM;CACN,gBAAgB;AACjB;AAED,iBAAiB,4BAA4B,gBAAgB;CAC3D,MAAM;CACN,YAAY;CACZ,UAAU;CACV,cAAc,QAAQ,SAAS,UAAU,YAAY;AACtD;AAED,iBAAiB,0BAA0B,gBAAgB;CACzD,MAAM;CACN;AACD;;;;;;;;AASD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;EAC1D;;;;CAIA,MAAM;;;;CAKN;;;;CAKA,KAAK;;;;CAKL;;;;;CAMA,iBAAiB;;;;;CAMjB,aAAa,2BAA2B;;;;;;
|
|
1
|
+
{"mappings":"AAgBA,cACE,qBACA,WACA,sBACA,cACA,yBACK,WAAY;AACnB,cAAc,yBAAyB,gCAAiC;AACxE,cAAc,gCAAgC,+BAAgC;AAC9E,cACE,oBACA,iCACK,8BAA+B;;;;AAKtC,YAAY;CACV,UAAU;CACV,UAAU,aAAa;IACrB,oBAAoB,GAAG,cAAc,GAAG;;;;AAK5C,YAAY,sBACR,cACA,eACA,iBACA,cACA,kBACA,kBACA,iBACA,gBACA,eACA,aACA,kBACA;;;;AAKJ,YAAY,+BAA+B,UAAU,qBACnD,UAAU,YACN,cAAc,kBAAkB,kBAAkB,WAClD,UAAU,WACN,cACA,cACA,kBACA,kBACA,iBACA,kBACJ,UAAU,aAAa,cACrB,eAAe,gBAAgB,eAAe,aAChD,UACE,WACA,YACA,SACA,UACA,UACA,SACA,YAAY,iBAAiB,kBAAkB;;;;AAMvD,YAAY,cACR,0CACA,uBACA,0BACA,yBACA,+CACA,kBAAkB,QAClB,sBACA,oBACA,qBACA,4BACA,2BACA;;;;AAKJ,iBAAiB,2BAA2B;CAC1C,WAAW;CACX,YAAY;CACZ,WAAW;CACX,eAAe;CACf,cAAc;CACd,eAAe;CACf,cAAc;CACd,aAAa,kBAAkB;CAC/B,YAAY,kBAAkB;CAC9B,UAAU;CACV,eAAe;CACf,QAAQ;AACT;;;;AAKD,YAAY,kBACR,gBACA,eACA,iBACA,kBACA,WACA,aACA,WACA,YACA,mBACA,kBACA;;;;;AAMJ,iBAAiB,gBAAgB;;;;CAI/B,MAAM;;;;;CAMN;;;;;CAMA;AACD;AAED,iBAAiB,sBAAsB,8BAC7B,gBACV;CACE,MAAM;CACN,QAAQ;AACT;AAED,iBAAiB,6BAA6B,gBAAgB;CAC5D,MAAM;;;;CAIN,WAAW;;;;CAIX,WAAW;AACZ;AAED,iBAAiB,gCAAgC,gBAAgB;CAC/D,MAAM;CACN;AACD;AAED,iBAAiB,+BAA+B,gBAAgB;CAC9D,MAAM;;;;CAIN;;;;CAIA;AACD;;;;;AAMD,iBAAiB,kBAAkB,gCAAgC,cACzD,gBACV;CACE,MAAM;CACN,gBAAgB;AACjB;AAED,iBAAiB,4BAA4B,gBAAgB;CAC3D,MAAM;CACN,YAAY;CACZ,UAAU;CACV,cAAc,QAAQ,SAAS,UAAU,YAAY;AACtD;AAED,iBAAiB,0BAA0B,gBAAgB;CACzD,MAAM;CACN;AACD;;;;;;;;AASD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;EAC1D;;;;CAIA,MAAM;;;;CAKN;;;;CAKA,KAAK;;;;CAKL;;;;;CAMA,iBAAiB;;;;;CAMjB,aAAa,2BAA2B;;;;;CAMxC,WAAW;;;;;CAMX,kBAAkB;EAChB,cAAc,SAAS,UAAU;EACjC;CACD;;;;;;CAOD;AACD;;;;;AAMD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;UAClD,yBAAyB,GAAG,GAAG,GAAG;CAC1C,WAAW,UAAU;;;;;CAMrB,uBAAuBA,OAAO,2BAA2B;CAEzD,mBAAmBC,KAAK,aAAa;AACtC","names":["state: FilterStateByComponentType[C]","key: PropertyKeys<Q>"],"sources":["../../../src/filter-list/FilterListItemApi.ts"],"version":3,"file":"FilterListItemApi.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAkBA,OAAO,WAAW,OAAQ;AAC1B,cAAc,2BAA2B,wBAAyB;AAKlE,OAAO,iBAAS,eAAe,GAC7BA,OAAO,oBAAoB,KAC1B,MAAM","names":["props: BaseFilterListProps<D>"],"sources":["../../../../src/filter-list/base/BaseFilterList.tsx"],"version":3,"file":"BaseFilterList.d.ts"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { FilterState } from "../FilterListItemApi.js";
|
|
3
|
+
export type RenderFilterInput<D> = (props: {
|
|
4
|
+
definition: D
|
|
5
|
+
filterKey: string
|
|
6
|
+
filterState: FilterState | undefined
|
|
7
|
+
onFilterStateChanged: (state: FilterState) => void
|
|
8
|
+
}) => React.ReactNode;
|
|
9
|
+
export interface BaseFilterListProps<D> {
|
|
10
|
+
filterDefinitions?: Array<D>;
|
|
11
|
+
filterStates: Map<string, FilterState>;
|
|
12
|
+
onFilterStateChanged: (filterKey: string, state: FilterState) => void;
|
|
13
|
+
renderInput: RenderFilterInput<D>;
|
|
14
|
+
getFilterKey: (definition: D) => string;
|
|
15
|
+
getFilterLabel: (definition: D) => string;
|
|
16
|
+
activeFilterCount: number;
|
|
17
|
+
onReset?: () => void;
|
|
18
|
+
onFilterAdded?: () => void;
|
|
19
|
+
onFilterRemoved?: (filterKey: string) => void;
|
|
20
|
+
collapsed?: boolean;
|
|
21
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
22
|
+
title?: string;
|
|
23
|
+
titleIcon?: React.ReactNode;
|
|
24
|
+
showResetButton?: boolean;
|
|
25
|
+
showActiveFilterCount?: boolean;
|
|
26
|
+
enableSorting?: boolean;
|
|
27
|
+
className?: string;
|
|
28
|
+
renderAddFilterButton?: () => React.ReactNode;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,YAAY,WAAW,OAAQ;AAC/B,cAAc,mBAAmB,yBAA0B;AAE3D,YAAY,kBAAkB,MAAMA,OAAO;CACzC,YAAY;CACZ;CACA,aAAa;CACb,uBAAuBC,OAAO;AAC/B,MAAK,MAAM;AAEZ,iBAAiB,oBAAoB,GAAG;CACtC,oBAAoB,MAAM;CAC1B,cAAc,YAAY;CAC1B,uBAAuBC,mBAAmBD,OAAO;CACjD,aAAa,kBAAkB;CAC/B,eAAeE,YAAY;CAC3B,iBAAiBA,YAAY;CAC7B;CACA;CACA;CACA,mBAAmBD;CAEnB;CACA,qBAAqBE;CACrB;CACA,YAAY,MAAM;CAClB;CACA;CACA;CACA;CACA,8BAA8B,MAAM;AACrC","names":["props: {\n definition: D;\n filterKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n}","state: FilterState","filterKey: string","definition: D","collapsed: boolean"],"sources":["../../../../src/filter-list/base/BaseFilterListApi.ts"],"version":3,"file":"BaseFilterListApi.d.ts"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,OAAO,WAAW,OAAQ;AAE1B,OAAO,iBAAS,eAAe,MAAM;AAgBrC,OAAO,iBAAS,eAAe,MAAM;AAiBrC,OAAO,iBAAS,cAAc,MAAM","names":[],"sources":["../../../../src/filter-list/base/FilterIcons.tsx"],"version":3,"file":"FilterIcons.d.ts"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
|
|
2
1
|
import React from "react";
|
|
3
|
-
import type { FilterDefinitionUnion } from "../FilterListApi.js";
|
|
4
2
|
import type { FilterState } from "../FilterListItemApi.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
filterDefinitions?: Array<FilterDefinitionUnion<Q>>;
|
|
3
|
+
import type { RenderFilterInput } from "./BaseFilterListApi.js";
|
|
4
|
+
interface FilterListContentProps<D> {
|
|
5
|
+
filterDefinitions?: Array<D>;
|
|
9
6
|
filterStates: Map<string, FilterState>;
|
|
10
7
|
onFilterStateChanged: (filterKey: string, state: FilterState) => void;
|
|
11
|
-
|
|
8
|
+
onFilterRemoved?: (filterKey: string) => void;
|
|
9
|
+
renderInput: RenderFilterInput<D>;
|
|
10
|
+
getFilterKey: (definition: D) => string;
|
|
11
|
+
getFilterLabel: (definition: D) => string;
|
|
12
12
|
enableSorting?: boolean;
|
|
13
13
|
className?: string;
|
|
14
14
|
style?: React.CSSProperties;
|
|
15
15
|
}
|
|
16
|
-
export declare function FilterListContent<
|
|
16
|
+
export declare function FilterListContent<D>({ filterDefinitions, filterStates, onFilterStateChanged, onFilterRemoved, renderInput, getFilterKey, getFilterLabel, enableSorting, className, style }: FilterListContentProps<D>): React.ReactElement;
|
|
17
17
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAuCA,OAAO,WAA0D,OAAQ;AACzE,cAAc,mBAAmB,yBAA0B;AAC3D,cAAc,yBAAyB,wBAAyB;UAatD,uBAAuB,GAAG;CAClC,oBAAoB,MAAM;CAC1B,cAAc,YAAY;CAC1B,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;CAC/B,eAAeE,YAAY;CAC3B,iBAAiBA,YAAY;CAC7B;CACA;CACA,QAAQ,MAAM;AACf;AAED,OAAO,iBAAS,kBAAkB,GAAG,EACnC,mBACA,cACA,sBACA,iBACA,aACA,cACA,gBACA,eACA,WACA,OAC0B,EAAzB,uBAAuB,KAAK,MAAM","names":["filterKey: string","state: FilterState","definition: D"],"sources":["../../../../src/filter-list/base/FilterListContent.tsx"],"version":3,"file":"FilterListContent.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAkBA,OAAO,cAAoB,iBAA8B,OAAQ;UAGvD,sBAAsB;CAC9B;CACA,YAAY;CACZ;CACA,qBAAqBA;CACrB;CACA;CACA;CACA;AACD;AAED,iBAAS,sBAAsB,EAC7B,OACA,WACA,WACA,mBACA,iBACA,SACA,uBACA,mBACsB,EAArB,wBAAwB,MAAM;AA+DjC,OAAO,cAAMC,kBAAkB,MAAM,2BAC5B","names":["collapsed: boolean","FilterListHeader: React.MemoExoticComponent<\n typeof FilterListHeaderInner\n>"],"sources":["../../../../src/filter-list/base/FilterListHeader.tsx"],"version":3,"file":"FilterListHeader.d.ts"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import type { DraggableAttributes, DraggableSyntheticListeners } from "@dnd-kit/core";
|
|
2
|
-
import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
|
|
3
2
|
import React from "react";
|
|
4
|
-
import type { FilterDefinitionUnion } from "../FilterListApi.js";
|
|
5
3
|
import type { FilterState } from "../FilterListItemApi.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
definition: FilterDefinitionUnion<Q>;
|
|
4
|
+
import type { RenderFilterInput } from "./BaseFilterListApi.js";
|
|
5
|
+
interface FilterListItemProps<D> {
|
|
6
|
+
definition: D;
|
|
10
7
|
filterKey: string;
|
|
8
|
+
label: string;
|
|
11
9
|
filterState: FilterState | undefined;
|
|
12
10
|
onFilterStateChanged: (filterKey: string, state: FilterState) => void;
|
|
13
|
-
|
|
11
|
+
onFilterRemoved?: (filterKey: string) => void;
|
|
12
|
+
renderInput: RenderFilterInput<D>;
|
|
14
13
|
dragHandleAttributes?: DraggableAttributes;
|
|
15
14
|
dragHandleListeners?: DraggableSyntheticListeners;
|
|
16
15
|
className?: string;
|
|
17
16
|
style?: React.CSSProperties;
|
|
18
17
|
}
|
|
19
|
-
declare function FilterListItemInner<
|
|
18
|
+
declare function FilterListItemInner<D>({ definition, filterKey, label, filterState, onFilterStateChanged, onFilterRemoved, renderInput, dragHandleAttributes, dragHandleListeners, className, style }: FilterListItemProps<D>): React.ReactElement;
|
|
20
19
|
export declare const FilterListItem: typeof FilterListItemInner;
|
|
21
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAiBA,cACE,qBACA,mCACK,eAAgB;AAEvB,OAAO,WAAkC,OAAQ;AAEjD,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,yBAAyB,wBAAyB;UAKtD,oBAAoB,GAAG;CAC/B,YAAY;CACZ;CACA;CACA,aAAa;CACb,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;CAC/B,uBAAuB;CACvB,sBAAsB;CACtB;CACA,QAAQ,MAAM;AACf;AAED,iBAAS,oBAAoB,GAAG,EAC9B,YACA,WACA,OACA,aACA,sBACA,iBACA,aACA,sBACA,qBACA,WACA,OACuB,EAAtB,oBAAoB,KAAK,MAAM;AAqFlC,OAAO,cAAM,uBAED","names":["filterKey: string","state: FilterState"],"sources":["../../../../src/filter-list/base/FilterListItem.tsx"],"version":3,"file":"FilterListItem.d.ts"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import type { ObjectSet, ObjectTypeDefinition, WhereClause } from "@osdk/api";
|
|
2
1
|
import React from "react";
|
|
3
|
-
import type { FilterDefinitionUnion } from "../FilterListApi.js";
|
|
4
2
|
import type { FilterState } from "../FilterListItemApi.js";
|
|
5
|
-
|
|
3
|
+
import type { RenderFilterInput } from "./BaseFilterListApi.js";
|
|
4
|
+
interface SortableFilterListItemProps<D> {
|
|
6
5
|
id: string;
|
|
7
|
-
|
|
8
|
-
objectSet: ObjectSet<Q>;
|
|
9
|
-
definition: FilterDefinitionUnion<Q>;
|
|
6
|
+
definition: D;
|
|
10
7
|
filterKey: string;
|
|
8
|
+
label: string;
|
|
11
9
|
filterState: FilterState | undefined;
|
|
12
10
|
onFilterStateChanged: (filterKey: string, state: FilterState) => void;
|
|
13
|
-
|
|
11
|
+
onFilterRemoved?: (filterKey: string) => void;
|
|
12
|
+
renderInput: RenderFilterInput<D>;
|
|
14
13
|
}
|
|
15
|
-
export declare function SortableFilterListItem<
|
|
14
|
+
export declare function SortableFilterListItem<D>({ id, definition, filterKey, label, filterState, onFilterStateChanged, onFilterRemoved, renderInput }: SortableFilterListItemProps<D>): React.ReactElement;
|
|
16
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAmBA,OAAO,WAAwB,OAAQ;AACvC,cAAc,mBAAmB,yBAA0B;AAC3D,cAAc,yBAAyB,wBAAyB;UAItD,4BAA4B,GAAG;CACvC;CACA,YAAY;CACZ;CACA;CACA,aAAa;CACb,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;AAChC;AAED,OAAO,iBAAS,uBAAuB,GAAG,EACxC,IACA,YACA,WACA,OACA,aACA,sBACA,iBACA,aAC+B,EAA9B,4BAA4B,KAAK,MAAM","names":["filterKey: string","state: FilterState"],"sources":["../../../../src/filter-list/base/SortableFilterListItem.tsx"],"version":3,"file":"SortableFilterListItem.d.ts"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { BaseFilterList } from "./BaseFilterList.js";
|
|
2
|
+
export type { BaseFilterListProps, RenderFilterInput } from "./BaseFilterListApi.js";
|
|
3
3
|
export { FilterListContent } from "./FilterListContent.js";
|
|
4
4
|
export { FilterListHeader } from "./FilterListHeader.js";
|
|
5
5
|
export { FilterListItem } from "./FilterListItem.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,SAAS,
|
|
1
|
+
{"mappings":"AAgBA,SAAS,sBAAsB;AAC/B,cACE,qBACA,yBACK;AACP,SAAS,yBAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB","names":[],"sources":["../../../../src/filter-list/base/index.ts"],"version":3,"file":"index.d.ts"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
import type { ObjectSet, ObjectTypeDefinition, PropertyKeys, WhereClause } from "@osdk/api";
|
|
2
1
|
import React from "react";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
propertyKey: K;
|
|
2
|
+
import type { PropertyAggregationValue } from "../../types/AggregationTypes.js";
|
|
3
|
+
interface CheckboxListInputProps {
|
|
4
|
+
values: PropertyAggregationValue[];
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
error: Error | null;
|
|
9
7
|
selectedValues: string[];
|
|
10
8
|
onChange: (selectedValues: string[]) => void;
|
|
11
|
-
|
|
12
|
-
whereClause?: WhereClause<Q>;
|
|
9
|
+
colorMap?: Record<string, string>;
|
|
13
10
|
className?: string;
|
|
14
11
|
style?: React.CSSProperties;
|
|
15
12
|
}
|
|
16
|
-
declare function CheckboxListInputInner
|
|
17
|
-
Q extends ObjectTypeDefinition,
|
|
18
|
-
K extends PropertyKeys<Q>
|
|
19
|
-
>({ objectType, propertyKey, selectedValues, onChange, whereClause, className, style }: CheckboxListInputProps<Q, K>): React.ReactElement;
|
|
13
|
+
declare function CheckboxListInputInner({ values, isLoading, error, selectedValues, onChange, colorMap, className, style }: CheckboxListInputProps): React.ReactElement;
|
|
20
14
|
export declare const CheckboxListInput: typeof CheckboxListInputInner;
|
|
21
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAiBA,OAAO,WAA2C,OAAQ;AAE1D,cAAc,gCAAgC,iCAAkC;UAItE,uBAAuB;CAC/B,QAAQ;CACR;CACA,OAAO;CACP;CACA,WAAWA;CACX,WAAW;CACX;CACA,QAAQ,MAAM;AACf;AAED,iBAAS,uBAAuB,EAC9B,QACA,WACA,OACA,gBACA,UACA,UACA,WACA,OACuB,EAAtB,yBAAyB,MAAM;AAoHlC,OAAO,cAAM,0BAED","names":["selectedValues: string[]"],"sources":["../../../../../src/filter-list/base/inputs/CheckboxListInput.tsx"],"version":3,"file":"CheckboxListInput.d.ts"}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
import type { ObjectSet, ObjectTypeDefinition, PropertyKeys } from "@osdk/api";
|
|
2
1
|
import React from "react";
|
|
3
|
-
interface DateRangeInputProps
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
interface DateRangeInputProps {
|
|
3
|
+
valueCountPairs: Array<{
|
|
4
|
+
value: Date
|
|
5
|
+
count: number
|
|
6
|
+
}>;
|
|
7
|
+
isLoading: boolean;
|
|
9
8
|
minValue: Date | undefined;
|
|
10
9
|
maxValue: Date | undefined;
|
|
11
10
|
onChange: (min: Date | undefined, max: Date | undefined) => void;
|
|
12
|
-
objectSet?: ObjectSet<Q>;
|
|
13
11
|
showHistogram?: boolean;
|
|
14
12
|
className?: string;
|
|
15
13
|
style?: React.CSSProperties;
|
|
16
14
|
}
|
|
17
|
-
declare function DateRangeInputInner
|
|
18
|
-
Q extends ObjectTypeDefinition,
|
|
19
|
-
K extends PropertyKeys<Q>
|
|
20
|
-
>(props: DateRangeInputProps<Q, K>): React.ReactElement;
|
|
15
|
+
declare function DateRangeInputInner(props: DateRangeInputProps): React.ReactElement;
|
|
21
16
|
export declare const DateRangeInput: typeof DateRangeInputInner;
|
|
22
17
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,
|
|
1
|
+
{"mappings":"AAgBA,OAAO,WAAqB,OAAQ;UAkB1B,oBAAoB;CAC5B,iBAAiB,MAAM;EAAE,OAAO;EAAM;CAAe;CACrD;CACA,UAAU;CACV,UAAU;CACV,WAAWA,KAAK,kBAAkBC,KAAK;CACvC;CACA;CACA,QAAQ,MAAM;AACf;AAED,iBAAS,oBACPC,OAAO,sBACN,MAAM;AAIT,OAAO,cAAM,uBAED","names":["min: Date | undefined","max: Date | undefined","props: DateRangeInputProps"],"sources":["../../../../../src/filter-list/base/inputs/DateRangeInput.tsx"],"version":3,"file":"DateRangeInput.d.ts"}
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import type { ObjectSet, ObjectTypeDefinition, PropertyKeys, WhereClause } from "@osdk/api";
|
|
2
1
|
import React from "react";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import type { PropertyAggregationValue } from "../../types/AggregationTypes.js";
|
|
3
|
+
export type ListogramDisplayMode = "full" | "count" | "minimal";
|
|
4
|
+
interface ListogramInputProps {
|
|
5
|
+
values: PropertyAggregationValue[];
|
|
6
|
+
maxCount: number;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
error: Error | null;
|
|
9
9
|
selectedValues: string[];
|
|
10
10
|
onChange: (values: string[]) => void;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
colorMap?: Record<string, string>;
|
|
12
|
+
displayMode?: ListogramDisplayMode;
|
|
13
13
|
className?: string;
|
|
14
14
|
style?: React.CSSProperties;
|
|
15
15
|
maxVisibleItems?: number;
|
|
16
16
|
}
|
|
17
|
-
declare function ListogramInputInner
|
|
18
|
-
Q extends ObjectTypeDefinition,
|
|
19
|
-
K extends PropertyKeys<Q>
|
|
20
|
-
>({ objectType, propertyKey, selectedValues, onChange, whereClause, className, style, maxVisibleItems }: ListogramInputProps<Q, K>): React.ReactElement;
|
|
17
|
+
declare function ListogramInputInner({ values, maxCount, isLoading, error, selectedValues, onChange, colorMap, displayMode, className, style, maxVisibleItems }: ListogramInputProps): React.ReactElement;
|
|
21
18
|
export declare const ListogramInput: typeof ListogramInputInner;
|
|
22
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAkBA,OAAO,WAAqD,OAAQ;AACpE,cAAc,gCAAgC,iCAAkC;AAIhF,YAAY,uBAAuB,SAAS,UAAU;UAE5C,oBAAoB;CAC5B,QAAQ;CACR;CACA;CACA,OAAO;CACP;CACA,WAAWA;CACX,WAAW;CACX,cAAc;CACd;CACA,QAAQ,MAAM;CACd;AACD;AAED,iBAAS,oBAAoB,EAC3B,QACA,UACA,WACA,OACA,gBACA,UACA,UACA,aACA,WACA,OACA,iBACoB,EAAnB,sBAAsB,MAAM;AAoG/B,OAAO,cAAM,uBAED","names":["values: string[]"],"sources":["../../../../../src/filter-list/base/inputs/ListogramInput.tsx"],"version":3,"file":"ListogramInput.d.ts"}
|