@osdk/react-components 0.2.0-beta.15 → 0.2.0-beta.17
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/README.md +5 -3
- 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/base-components/tooltip/Tooltip.js +91 -0
- package/build/browser/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/browser/base-components/tooltip/Tooltip.module.css.js +11 -0
- package/build/browser/base-components/tooltip/index.js +18 -0
- package/build/browser/base-components/tooltip/index.js.map +1 -0
- 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 +29 -9
- 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 +36 -13
- 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/DefaultCellRenderer.js +6 -1
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/browser/object-table/EditableCell.js +76 -9
- package/build/browser/object-table/EditableCell.js.map +1 -1
- package/build/browser/object-table/EditableCell.module.css +47 -8
- package/build/browser/object-table/EditableCell.module.css.js +5 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +4 -1
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.module.css +0 -4
- package/build/browser/object-table/ObjectTable.js +4 -1
- package/build/browser/object-table/ObjectTable.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/object-table/SelectionCells.js +1 -0
- package/build/browser/object-table/SelectionCells.js.map +1 -1
- package/build/browser/object-table/Table.js +2 -2
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/TableBody.js +1 -1
- package/build/browser/object-table/TableBody.js.map +1 -1
- package/build/browser/object-table/TableEditContainer.js +27 -16
- package/build/browser/object-table/TableEditContainer.js.map +1 -1
- package/build/browser/object-table/TableEditContainer.module.css +27 -0
- package/build/browser/object-table/TableEditContainer.module.css.js +5 -1
- package/build/browser/object-table/TableHeaderWithPopover.module.css +0 -12
- package/build/browser/object-table/TableRow.js +2 -2
- package/build/browser/object-table/TableRow.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnDefs.js +2 -1
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/hooks/useEditableTable.js +21 -2
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/browser/object-table/utils/types.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 +354 -132
- package/build/cjs/public/experimental.cjs +2955 -2165
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +669 -496
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +80 -6
- 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/base-components/tooltip/Tooltip.js +91 -0
- package/build/esm/base-components/tooltip/Tooltip.js.map +1 -0
- package/build/esm/base-components/tooltip/Tooltip.module.css +70 -0
- package/build/esm/base-components/tooltip/index.js +18 -0
- package/build/esm/base-components/tooltip/index.js.map +1 -0
- 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 +29 -9
- 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 +36 -13
- 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/DefaultCellRenderer.js +6 -1
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -1
- package/build/esm/object-table/EditableCell.js +76 -9
- package/build/esm/object-table/EditableCell.js.map +1 -1
- package/build/esm/object-table/EditableCell.module.css +47 -8
- package/build/esm/object-table/MultiColumnSortDialog.js +4 -1
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.module.css +0 -4
- package/build/esm/object-table/ObjectTable.js +4 -1
- package/build/esm/object-table/ObjectTable.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/object-table/SelectionCells.js +1 -0
- package/build/esm/object-table/SelectionCells.js.map +1 -1
- package/build/esm/object-table/Table.js +2 -2
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/TableBody.js +1 -1
- package/build/esm/object-table/TableBody.js.map +1 -1
- package/build/esm/object-table/TableEditContainer.js +27 -16
- package/build/esm/object-table/TableEditContainer.js.map +1 -1
- package/build/esm/object-table/TableEditContainer.module.css +27 -0
- package/build/esm/object-table/TableHeaderWithPopover.module.css +0 -12
- package/build/esm/object-table/TableRow.js +2 -2
- package/build/esm/object-table/TableRow.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnDefs.js +2 -1
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/hooks/useEditableTable.js +21 -2
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -1
- package/build/esm/object-table/utils/types.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/base-components/tooltip/Tooltip.d.ts +31 -0
- package/build/types/base-components/tooltip/Tooltip.d.ts.map +1 -0
- package/build/types/base-components/tooltip/index.d.ts +1 -0
- package/build/types/base-components/tooltip/index.d.ts.map +1 -0
- 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/EditableCell.d.ts +8 -2
- package/build/types/object-table/EditableCell.d.ts.map +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +7 -0
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/Table.d.ts +4 -0
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableEditContainer.d.ts +1 -1
- package/build/types/object-table/TableEditContainer.d.ts.map +1 -1
- package/build/types/object-table/TableRow.d.ts +2 -2
- package/build/types/object-table/TableRow.d.ts.map +1 -1
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -1
- package/build/types/object-table/utils/types.d.ts +7 -4
- package/build/types/object-table/utils/types.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 +5 -5
- 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
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { Button } from "@base-ui/react/button";
|
|
18
|
+
import classnames from "classnames";
|
|
18
19
|
import React, { memo, useCallback } from "react";
|
|
19
20
|
import styles from "./FilterListHeader.module.css.js";
|
|
20
21
|
function FilterListHeaderInner({
|
|
@@ -38,9 +39,13 @@ function FilterListHeaderInner({
|
|
|
38
39
|
"aria-expanded": !collapsed,
|
|
39
40
|
"aria-label": collapsed ? "Expand filters" : "Collapse filters"
|
|
40
41
|
}, /*#__PURE__*/React.createElement("span", {
|
|
41
|
-
className: styles.collapseIcon,
|
|
42
|
+
className: classnames(styles.collapseIcon, collapsed && styles.collapsed)
|
|
43
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
className: styles.headerContentWrapper,
|
|
42
45
|
"data-collapsed": collapsed
|
|
43
|
-
}
|
|
46
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
47
|
+
className: styles.headerContentInner
|
|
48
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
44
49
|
className: styles.titleContainer
|
|
45
50
|
}, titleIcon && /*#__PURE__*/React.createElement("span", {
|
|
46
51
|
className: styles.titleIcon
|
|
@@ -52,7 +57,7 @@ function FilterListHeaderInner({
|
|
|
52
57
|
className: styles.resetButton,
|
|
53
58
|
onClick: onReset,
|
|
54
59
|
disabled: activeFilterCount === 0
|
|
55
|
-
}, "Reset")));
|
|
60
|
+
}, "Reset"))));
|
|
56
61
|
}
|
|
57
62
|
export const FilterListHeader = /*#__PURE__*/memo(FilterListHeaderInner);
|
|
58
63
|
//# sourceMappingURL=FilterListHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterListHeader.js","names":["Button","React","memo","useCallback","styles","FilterListHeaderInner","title","titleIcon","collapsed","onCollapsedChange","showResetButton","onReset","showActiveFilterCount","activeFilterCount","handleCollapseClick","createElement","className","header","collapseButton","onClick","collapseIcon","
|
|
1
|
+
{"version":3,"file":"FilterListHeader.js","names":["Button","classnames","React","memo","useCallback","styles","FilterListHeaderInner","title","titleIcon","collapsed","onCollapsedChange","showResetButton","onReset","showActiveFilterCount","activeFilterCount","handleCollapseClick","createElement","className","header","collapseButton","onClick","collapseIcon","headerContentWrapper","headerContentInner","titleContainer","activeCount","resetButton","disabled","FilterListHeader"],"sources":["FilterListHeader.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 classnames from \"classnames\";\nimport React, { memo, type ReactNode, useCallback } from \"react\";\nimport styles from \"./FilterListHeader.module.css\";\n\ninterface FilterListHeaderProps {\n title?: string;\n titleIcon?: ReactNode;\n collapsed?: boolean;\n onCollapsedChange?: (collapsed: boolean) => void;\n showResetButton?: boolean;\n onReset?: () => void;\n showActiveFilterCount?: boolean;\n activeFilterCount?: number;\n}\n\nfunction FilterListHeaderInner({\n title,\n titleIcon,\n collapsed = false,\n onCollapsedChange,\n showResetButton,\n onReset,\n showActiveFilterCount,\n activeFilterCount = 0,\n}: FilterListHeaderProps): React.ReactElement {\n const showCollapseButton = onCollapsedChange != null;\n\n const handleCollapseClick = useCallback(() => {\n onCollapsedChange?.(!collapsed);\n }, [onCollapsedChange, collapsed]);\n\n return (\n <div className={styles.header}>\n {showCollapseButton && (\n <Button\n className={styles.collapseButton}\n onClick={handleCollapseClick}\n aria-expanded={!collapsed}\n aria-label={collapsed ? \"Expand filters\" : \"Collapse filters\"}\n >\n <span\n className={classnames(\n styles.collapseIcon,\n collapsed && styles.collapsed,\n )}\n />\n </Button>\n )}\n\n <div\n className={styles.headerContentWrapper}\n data-collapsed={collapsed}\n >\n <div className={styles.headerContentInner}>\n <div className={styles.titleContainer}>\n {titleIcon && (\n <span className={styles.titleIcon}>\n {titleIcon}\n </span>\n )}\n {title && (\n <span className={styles.title}>\n {title}\n </span>\n )}\n {showActiveFilterCount && activeFilterCount > 0 && (\n <span className={styles.activeCount}>\n ({activeFilterCount})\n </span>\n )}\n </div>\n\n {showResetButton && (\n <Button\n className={styles.resetButton}\n onClick={onReset}\n disabled={activeFilterCount === 0}\n >\n Reset\n </Button>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nexport const FilterListHeader: React.MemoExoticComponent<\n typeof FilterListHeaderInner\n> = memo(FilterListHeaderInner);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,uBAAuB;AAC9C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,IAAI,EAAkBC,WAAW,QAAQ,OAAO;AAChE,OAAOC,MAAM,MAAM,+BAA+B;AAalD,SAASC,qBAAqBA,CAAC;EAC7BC,KAAK;EACLC,SAAS;EACTC,SAAS,GAAG,KAAK;EACjBC,iBAAiB;EACjBC,eAAe;EACfC,OAAO;EACPC,qBAAqB;EACrBC,iBAAiB,GAAG;AACC,CAAC,EAAsB;EAG5C,MAAMC,mBAAmB,GAAGX,WAAW,CAAC,MAAM;IAC5CM,iBAAiB,GAAG,CAACD,SAAS,CAAC;EACjC,CAAC,EAAE,CAACC,iBAAiB,EAAED,SAAS,CAAC,CAAC;EAElC,oBACEP,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAEZ,MAAM,CAACa;EAAO,GAPLR,iBAAiB,IAAI,IAAI,iBAS9CR,KAAA,CAAAc,aAAA,CAAChB,MAAM;IACLiB,SAAS,EAAEZ,MAAM,CAACc,cAAe;IACjCC,OAAO,EAAEL,mBAAoB;IAC7B,iBAAe,CAACN,SAAU;IAC1B,cAAYA,SAAS,GAAG,gBAAgB,GAAG;EAAmB,gBAE9DP,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAEhB,UAAU,CACnBI,MAAM,CAACgB,YAAY,EACnBZ,SAAS,IAAIJ,MAAM,CAACI,SACtB;EAAE,CACH,CACK,CACT,eAEDP,KAAA,CAAAc,aAAA;IACEC,SAAS,EAAEZ,MAAM,CAACiB,oBAAqB;IACvC,kBAAgBb;EAAU,gBAE1BP,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAEZ,MAAM,CAACkB;EAAmB,gBACxCrB,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAEZ,MAAM,CAACmB;EAAe,GACnChB,SAAS,iBACRN,KAAA,CAAAc,aAAA;IAAMC,SAAS,EAAEZ,MAAM,CAACG;EAAU,GAC/BA,SACG,CACP,EACAD,KAAK,iBACJL,KAAA,CAAAc,aAAA;IAAMC,SAAS,EAAEZ,MAAM,CAACE;EAAM,GAC3BA,KACG,CACP,EACAM,qBAAqB,IAAIC,iBAAiB,GAAG,CAAC,iBAC7CZ,KAAA,CAAAc,aAAA;IAAMC,SAAS,EAAEZ,MAAM,CAACoB;EAAY,GAAC,GAClC,EAACX,iBAAiB,EAAC,GAChB,CAEL,CAAC,EAELH,eAAe,iBACdT,KAAA,CAAAc,aAAA,CAAChB,MAAM;IACLiB,SAAS,EAAEZ,MAAM,CAACqB,WAAY;IAC9BN,OAAO,EAAER,OAAQ;IACjBe,QAAQ,EAAEb,iBAAiB,KAAK;EAAE,GACnC,OAEO,CAEP,CACF,CACF,CAAC;AAEV;AAEA,OAAO,MAAMc,gBAEZ,gBAAGzB,IAAI,CAACG,qBAAqB,CAAC","ignoreList":[]}
|
|
@@ -92,10 +92,34 @@
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
.
|
|
95
|
+
.collapsed {
|
|
96
96
|
transform: rotate(-135deg);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
.headerContentWrapper {
|
|
100
|
+
display: grid;
|
|
101
|
+
grid-template-columns: 1fr;
|
|
102
|
+
overflow: hidden;
|
|
103
|
+
transition: grid-template-columns var(--osdk-filter-list-collapse-transition);
|
|
104
|
+
|
|
105
|
+
@media (prefers-reduced-motion: reduce) {
|
|
106
|
+
transition: none;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.headerContentWrapper[data-collapsed="true"] {
|
|
111
|
+
grid-template-columns: 0fr;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.headerContentInner {
|
|
115
|
+
display: flex;
|
|
116
|
+
align-items: center;
|
|
117
|
+
justify-content: space-between;
|
|
118
|
+
flex: 1;
|
|
119
|
+
overflow: hidden;
|
|
120
|
+
min-width: 0;
|
|
121
|
+
}
|
|
122
|
+
|
|
99
123
|
.resetButton {
|
|
100
124
|
font-family: var(--osdk-filter-header-font-family);
|
|
101
125
|
font-size: var(--osdk-filter-header-reset-font-size);
|
|
@@ -7,6 +7,9 @@ const styles = {
|
|
|
7
7
|
"activeCount": "FilterListHeader-module__activeCount___GyBsnsQL",
|
|
8
8
|
"collapseButton": "FilterListHeader-module__collapseButton___N1-sj3B3",
|
|
9
9
|
"collapseIcon": "FilterListHeader-module__collapseIcon___P4YOgKig",
|
|
10
|
+
"collapsed": "FilterListHeader-module__collapsed___RKg0zje4",
|
|
11
|
+
"headerContentWrapper": "FilterListHeader-module__headerContentWrapper___Jb48M86S",
|
|
12
|
+
"headerContentInner": "FilterListHeader-module__headerContentInner___d2-TGJNm",
|
|
10
13
|
"resetButton": "FilterListHeader-module__resetButton___jLcUypov"
|
|
11
14
|
};
|
|
12
15
|
|
|
@@ -15,53 +15,72 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
+
import { Button } from "@base-ui/react/button";
|
|
18
19
|
import classnames from "classnames";
|
|
19
20
|
import React, { memo, useCallback } from "react";
|
|
20
21
|
import { ErrorBoundary } from "../../shared/ErrorBoundary.js";
|
|
21
|
-
import {
|
|
22
|
+
import { supportsExcluding } from "../utils/filterValues.js";
|
|
22
23
|
import { DragHandleIcon } from "./DragHandleIcon.js";
|
|
23
|
-
import {
|
|
24
|
+
import { ExcludeIcon, IncludeIcon, RemoveIcon } from "./FilterIcons.js";
|
|
24
25
|
import styles from "./FilterListItem.module.css.js";
|
|
25
26
|
function FilterListItemInner({
|
|
26
|
-
objectType,
|
|
27
|
-
objectSet,
|
|
28
27
|
definition,
|
|
29
28
|
filterKey,
|
|
29
|
+
label,
|
|
30
30
|
filterState,
|
|
31
31
|
onFilterStateChanged,
|
|
32
|
-
|
|
32
|
+
onFilterRemoved,
|
|
33
|
+
renderInput,
|
|
33
34
|
dragHandleAttributes,
|
|
34
35
|
dragHandleListeners,
|
|
35
36
|
className,
|
|
36
37
|
style
|
|
37
38
|
}) {
|
|
38
|
-
const label = getFilterLabel(definition);
|
|
39
39
|
const handleFilterStateChanged = useCallback(newState => {
|
|
40
40
|
onFilterStateChanged(filterKey, newState);
|
|
41
41
|
}, [filterKey, onFilterStateChanged]);
|
|
42
|
+
const handleToggleExclude = useCallback(() => {
|
|
43
|
+
if (filterState) {
|
|
44
|
+
onFilterStateChanged(filterKey, {
|
|
45
|
+
...filterState,
|
|
46
|
+
isExcluding: !filterState.isExcluding
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}, [filterKey, filterState, onFilterStateChanged]);
|
|
50
|
+
const handleRemove = useCallback(() => {
|
|
51
|
+
onFilterRemoved?.(filterKey);
|
|
52
|
+
}, [filterKey, onFilterRemoved]);
|
|
53
|
+
const isExcluding = filterState?.isExcluding ?? false;
|
|
54
|
+
const showExcludeToggle = supportsExcluding(filterState);
|
|
42
55
|
return /*#__PURE__*/React.createElement("div", {
|
|
43
56
|
className: classnames(styles.filterItem, className),
|
|
44
57
|
style: style,
|
|
45
|
-
"data-
|
|
58
|
+
"data-excluding": isExcluding || undefined
|
|
46
59
|
}, /*#__PURE__*/React.createElement("div", {
|
|
47
60
|
className: styles.itemHeader
|
|
48
|
-
}, dragHandleAttributes && /*#__PURE__*/React.createElement(
|
|
49
|
-
type: "button",
|
|
61
|
+
}, dragHandleAttributes && /*#__PURE__*/React.createElement(Button, _extends({
|
|
50
62
|
className: styles.dragHandle,
|
|
51
63
|
"aria-label": `Reorder ${label}`
|
|
52
64
|
}, dragHandleAttributes, dragHandleListeners), /*#__PURE__*/React.createElement(DragHandleIcon, null)), /*#__PURE__*/React.createElement("span", {
|
|
53
65
|
className: styles.itemLabel
|
|
54
|
-
}, label)
|
|
66
|
+
}, label), showExcludeToggle && /*#__PURE__*/React.createElement(Button, {
|
|
67
|
+
className: styles.excludeToggle,
|
|
68
|
+
onClick: handleToggleExclude,
|
|
69
|
+
"aria-pressed": isExcluding,
|
|
70
|
+
"aria-label": isExcluding ? "Switch to include mode" : "Switch to exclude mode"
|
|
71
|
+
}, isExcluding ? /*#__PURE__*/React.createElement(ExcludeIcon, null) : /*#__PURE__*/React.createElement(IncludeIcon, null)), onFilterRemoved && /*#__PURE__*/React.createElement(Button, {
|
|
72
|
+
className: styles.removeButton,
|
|
73
|
+
onClick: handleRemove,
|
|
74
|
+
"aria-label": `Remove ${label} filter`
|
|
75
|
+
}, /*#__PURE__*/React.createElement(RemoveIcon, null))), /*#__PURE__*/React.createElement("div", {
|
|
55
76
|
className: styles.itemContent
|
|
56
77
|
}, /*#__PURE__*/React.createElement(ErrorBoundary, {
|
|
57
78
|
errorMessage: "Error loading filter"
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
onFilterStateChanged: handleFilterStateChanged,
|
|
64
|
-
whereClause: whereClause
|
|
79
|
+
}, renderInput({
|
|
80
|
+
definition,
|
|
81
|
+
filterKey,
|
|
82
|
+
filterState,
|
|
83
|
+
onFilterStateChanged: handleFilterStateChanged
|
|
65
84
|
}))));
|
|
66
85
|
}
|
|
67
86
|
export const FilterListItem = /*#__PURE__*/memo(FilterListItemInner);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterListItem.js","names":["classnames","React","memo","useCallback","ErrorBoundary","
|
|
1
|
+
{"version":3,"file":"FilterListItem.js","names":["Button","classnames","React","memo","useCallback","ErrorBoundary","supportsExcluding","DragHandleIcon","ExcludeIcon","IncludeIcon","RemoveIcon","styles","FilterListItemInner","definition","filterKey","label","filterState","onFilterStateChanged","onFilterRemoved","renderInput","dragHandleAttributes","dragHandleListeners","className","style","handleFilterStateChanged","newState","handleToggleExclude","isExcluding","handleRemove","showExcludeToggle","createElement","filterItem","undefined","itemHeader","_extends","dragHandle","itemLabel","excludeToggle","onClick","removeButton","itemContent","errorMessage","FilterListItem"],"sources":["FilterListItem.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 {\n DraggableAttributes,\n DraggableSyntheticListeners,\n} from \"@dnd-kit/core\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback } from \"react\";\nimport { ErrorBoundary } from \"../../shared/ErrorBoundary.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport { supportsExcluding } from \"../utils/filterValues.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport { DragHandleIcon } from \"./DragHandleIcon.js\";\nimport { ExcludeIcon, IncludeIcon, RemoveIcon } from \"./FilterIcons.js\";\nimport styles from \"./FilterListItem.module.css\";\n\ninterface FilterListItemProps<D> {\n definition: D;\n filterKey: string;\n label: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (\n filterKey: string,\n state: FilterState,\n ) => void;\n onFilterRemoved?: (filterKey: string) => void;\n renderInput: RenderFilterInput<D>;\n dragHandleAttributes?: DraggableAttributes;\n dragHandleListeners?: DraggableSyntheticListeners;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction FilterListItemInner<D>({\n definition,\n filterKey,\n label,\n filterState,\n onFilterStateChanged,\n onFilterRemoved,\n renderInput,\n dragHandleAttributes,\n dragHandleListeners,\n className,\n style,\n}: FilterListItemProps<D>): React.ReactElement {\n const handleFilterStateChanged = useCallback(\n (newState: FilterState) => {\n onFilterStateChanged(filterKey, newState);\n },\n [filterKey, onFilterStateChanged],\n );\n\n const handleToggleExclude = useCallback(\n () => {\n if (filterState) {\n onFilterStateChanged(filterKey, {\n ...filterState,\n isExcluding: !filterState.isExcluding,\n });\n }\n },\n [filterKey, filterState, onFilterStateChanged],\n );\n\n const handleRemove = useCallback(\n () => {\n onFilterRemoved?.(filterKey);\n },\n [filterKey, onFilterRemoved],\n );\n\n const isExcluding = filterState?.isExcluding ?? false;\n const showExcludeToggle = supportsExcluding(filterState);\n\n return (\n <div\n className={classnames(styles.filterItem, className)}\n style={style}\n data-excluding={isExcluding || undefined}\n >\n <div className={styles.itemHeader}>\n {dragHandleAttributes && (\n <Button\n className={styles.dragHandle}\n aria-label={`Reorder ${label}`}\n {...dragHandleAttributes}\n {...dragHandleListeners}\n >\n <DragHandleIcon />\n </Button>\n )}\n <span className={styles.itemLabel}>{label}</span>\n {showExcludeToggle && (\n <Button\n className={styles.excludeToggle}\n onClick={handleToggleExclude}\n aria-pressed={isExcluding}\n aria-label={isExcluding\n ? \"Switch to include mode\"\n : \"Switch to exclude mode\"}\n >\n {isExcluding ? <ExcludeIcon /> : <IncludeIcon />}\n </Button>\n )}\n {onFilterRemoved && (\n <Button\n className={styles.removeButton}\n onClick={handleRemove}\n aria-label={`Remove ${label} filter`}\n >\n <RemoveIcon />\n </Button>\n )}\n </div>\n\n <div className={styles.itemContent}>\n <ErrorBoundary errorMessage=\"Error loading filter\">\n {renderInput({\n definition,\n filterKey,\n filterState,\n onFilterStateChanged: handleFilterStateChanged,\n })}\n </ErrorBoundary>\n </div>\n </div>\n );\n}\n\nexport const FilterListItem = memo(\n FilterListItemInner,\n) as typeof FilterListItemInner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
.itemLabel {
|
|
29
|
+
flex: 1;
|
|
29
30
|
font-family: var(--osdk-filter-item-label-font-family);
|
|
30
31
|
font-size: var(--osdk-filter-item-label-font-size);
|
|
31
32
|
font-weight: var(--osdk-filter-item-label-font-weight);
|
|
@@ -60,11 +61,66 @@
|
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
&:focus-visible {
|
|
63
|
-
outline:
|
|
64
|
-
outline-offset:
|
|
64
|
+
outline: var(--osdk-filter-input-focus-outline-width) solid var(--osdk-filter-item-drag-handle-focus-outline-color);
|
|
65
|
+
outline-offset: var(--osdk-filter-input-focus-outline-offset);
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
|
|
69
|
+
.excludeToggle {
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
justify-content: center;
|
|
73
|
+
padding: var(--osdk-filter-item-exclude-toggle-padding);
|
|
74
|
+
margin-left: auto;
|
|
75
|
+
border: none;
|
|
76
|
+
background: transparent;
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
border-radius: var(--osdk-filter-item-exclude-toggle-border-radius);
|
|
79
|
+
color: var(--osdk-filter-item-exclude-toggle-color);
|
|
80
|
+
|
|
81
|
+
&:hover {
|
|
82
|
+
color: var(--osdk-filter-item-exclude-toggle-color-hover);
|
|
83
|
+
background: var(--osdk-filter-item-exclude-toggle-bg-hover);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
&:focus-visible {
|
|
87
|
+
outline: var(--osdk-filter-input-focus-outline-width) solid var(--osdk-filter-input-focus-outline-color);
|
|
88
|
+
outline-offset: var(--osdk-filter-input-focus-outline-offset);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.excludeToggle[aria-pressed="true"] {
|
|
93
|
+
color: var(--osdk-filter-item-exclude-toggle-color-active);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.removeButton {
|
|
97
|
+
display: flex;
|
|
98
|
+
align-items: center;
|
|
99
|
+
justify-content: center;
|
|
100
|
+
padding: var(--osdk-filter-item-exclude-toggle-padding);
|
|
101
|
+
margin-left: var(--osdk-surface-spacing);
|
|
102
|
+
border: none;
|
|
103
|
+
background: transparent;
|
|
104
|
+
cursor: pointer;
|
|
105
|
+
border-radius: var(--osdk-filter-item-exclude-toggle-border-radius);
|
|
106
|
+
color: var(--osdk-filter-item-exclude-toggle-color);
|
|
107
|
+
|
|
108
|
+
&:hover {
|
|
109
|
+
color: var(--osdk-filter-item-exclude-toggle-color-hover);
|
|
110
|
+
background: var(--osdk-filter-item-exclude-toggle-bg-hover);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
&:focus-visible {
|
|
114
|
+
outline: var(--osdk-filter-input-focus-outline-width) solid var(--osdk-filter-input-focus-outline-color);
|
|
115
|
+
outline-offset: var(--osdk-filter-input-focus-outline-offset);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.filterItem[data-excluding] {
|
|
120
|
+
border-left: var(--osdk-filter-item-exclude-border-width) solid var(--osdk-filter-item-exclude-border-color);
|
|
121
|
+
padding-left: var(--osdk-filter-item-gap);
|
|
122
|
+
}
|
|
123
|
+
|
|
68
124
|
.dragging {
|
|
69
125
|
opacity: var(--osdk-filter-item-dragging-opacity);
|
|
70
126
|
}
|
|
@@ -5,6 +5,8 @@ const styles = {
|
|
|
5
5
|
"itemLabel": "FilterListItem-module__itemLabel___cEnbqE59",
|
|
6
6
|
"itemContent": "FilterListItem-module__itemContent___PfVHHhIy",
|
|
7
7
|
"dragHandle": "FilterListItem-module__dragHandle___BwFrILWs",
|
|
8
|
+
"excludeToggle": "FilterListItem-module__excludeToggle___nWNDvntP",
|
|
9
|
+
"removeButton": "FilterListItem-module__removeButton___72cjHbqK",
|
|
8
10
|
"dragging": "FilterListItem-module__dragging___S5-LGyfS"
|
|
9
11
|
};
|
|
10
12
|
|
|
@@ -22,13 +22,13 @@ import { FilterListItem } from "./FilterListItem.js";
|
|
|
22
22
|
import styles from "./FilterListItem.module.css.js";
|
|
23
23
|
export function SortableFilterListItem({
|
|
24
24
|
id,
|
|
25
|
-
objectType,
|
|
26
|
-
objectSet,
|
|
27
25
|
definition,
|
|
28
26
|
filterKey,
|
|
27
|
+
label,
|
|
29
28
|
filterState,
|
|
30
29
|
onFilterStateChanged,
|
|
31
|
-
|
|
30
|
+
onFilterRemoved,
|
|
31
|
+
renderInput
|
|
32
32
|
}) {
|
|
33
33
|
const {
|
|
34
34
|
attributes,
|
|
@@ -49,13 +49,13 @@ export function SortableFilterListItem({
|
|
|
49
49
|
style: style,
|
|
50
50
|
className: classnames(isDragging && styles.dragging)
|
|
51
51
|
}, /*#__PURE__*/React.createElement(FilterListItem, {
|
|
52
|
-
objectType: objectType,
|
|
53
|
-
objectSet: objectSet,
|
|
54
52
|
definition: definition,
|
|
55
53
|
filterKey: filterKey,
|
|
54
|
+
label: label,
|
|
56
55
|
filterState: filterState,
|
|
57
56
|
onFilterStateChanged: onFilterStateChanged,
|
|
58
|
-
|
|
57
|
+
onFilterRemoved: onFilterRemoved,
|
|
58
|
+
renderInput: renderInput,
|
|
59
59
|
dragHandleAttributes: attributes,
|
|
60
60
|
dragHandleListeners: listeners
|
|
61
61
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortableFilterListItem.js","names":["useSortable","CSS","classnames","React","useMemo","FilterListItem","styles","SortableFilterListItem","id","
|
|
1
|
+
{"version":3,"file":"SortableFilterListItem.js","names":["useSortable","CSS","classnames","React","useMemo","FilterListItem","styles","SortableFilterListItem","id","definition","filterKey","label","filterState","onFilterStateChanged","onFilterRemoved","renderInput","attributes","listeners","setNodeRef","transform","transition","isDragging","style","Transform","toString","undefined","createElement","ref","className","dragging","dragHandleAttributes","dragHandleListeners"],"sources":["SortableFilterListItem.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 { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classnames from \"classnames\";\nimport React, { useMemo } from \"react\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport type { RenderFilterInput } from \"./BaseFilterListApi.js\";\nimport { FilterListItem } from \"./FilterListItem.js\";\nimport styles from \"./FilterListItem.module.css\";\n\ninterface SortableFilterListItemProps<D> {\n id: string;\n definition: D;\n filterKey: string;\n label: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (\n filterKey: string,\n state: FilterState,\n ) => void;\n onFilterRemoved?: (filterKey: string) => void;\n renderInput: RenderFilterInput<D>;\n}\n\nexport function SortableFilterListItem<D>({\n id,\n definition,\n filterKey,\n label,\n filterState,\n onFilterStateChanged,\n onFilterRemoved,\n renderInput,\n}: SortableFilterListItemProps<D>): React.ReactElement {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id });\n\n const style = useMemo<React.CSSProperties>(() => ({\n transform: CSS.Transform.toString(transform),\n transition: transition ?? undefined,\n }), [transform, transition]);\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n className={classnames(isDragging && styles.dragging)}\n >\n <FilterListItem\n definition={definition}\n filterKey={filterKey}\n label={label}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n onFilterRemoved={onFilterRemoved}\n renderInput={renderInput}\n dragHandleAttributes={attributes}\n dragHandleListeners={listeners}\n />\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,GAAG,QAAQ,oBAAoB;AACxC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAGtC,SAASC,cAAc,QAAQ,qBAAqB;AACpD,OAAOC,MAAM,MAAM,6BAA6B;AAgBhD,OAAO,SAASC,sBAAsBA,CAAI;EACxCC,EAAE;EACFC,UAAU;EACVC,SAAS;EACTC,KAAK;EACLC,WAAW;EACXC,oBAAoB;EACpBC,eAAe;EACfC;AAC8B,CAAC,EAAsB;EACrD,MAAM;IACJC,UAAU;IACVC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,UAAU;IACVC;EACF,CAAC,GAAGrB,WAAW,CAAC;IAAEQ;EAAG,CAAC,CAAC;EAEvB,MAAMc,KAAK,GAAGlB,OAAO,CAAsB,OAAO;IAChDe,SAAS,EAAElB,GAAG,CAACsB,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;IAC5CC,UAAU,EAAEA,UAAU,IAAIK;EAC5B,CAAC,CAAC,EAAE,CAACN,SAAS,EAAEC,UAAU,CAAC,CAAC;EAE5B,oBACEjB,KAAA,CAAAuB,aAAA;IACEC,GAAG,EAAET,UAAW;IAChBI,KAAK,EAAEA,KAAM;IACbM,SAAS,EAAE1B,UAAU,CAACmB,UAAU,IAAIf,MAAM,CAACuB,QAAQ;EAAE,gBAErD1B,KAAA,CAAAuB,aAAA,CAACrB,cAAc;IACbI,UAAU,EAAEA,UAAW;IACvBC,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzBC,oBAAoB,EAAEA,oBAAqB;IAC3CC,eAAe,EAAEA,eAAgB;IACjCC,WAAW,EAAEA,WAAY;IACzBe,oBAAoB,EAAEd,UAAW;IACjCe,mBAAmB,EAAEd;EAAU,CAChC,CACE,CAAC;AAEV","ignoreList":[]}
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
export {
|
|
18
|
-
export { FilterList } from "./FilterList.js";
|
|
17
|
+
export { BaseFilterList } from "./BaseFilterList.js";
|
|
19
18
|
export { FilterListContent } from "./FilterListContent.js";
|
|
20
19
|
export { FilterListHeader } from "./FilterListHeader.js";
|
|
21
20
|
export { FilterListItem } from "./FilterListItem.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["BaseFilterList","FilterListContent","FilterListHeader","FilterListItem"],"sources":["index.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 \"./BaseFilterList.js\";\nexport type {\n BaseFilterListProps,\n RenderFilterInput,\n} from \"./BaseFilterListApi.js\";\nexport { FilterListContent } from \"./FilterListContent.js\";\nexport { FilterListHeader } from \"./FilterListHeader.js\";\nexport { FilterListItem } from \"./FilterListItem.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,cAAc,QAAQ,qBAAqB;AAKpD,SAASC,iBAAiB,QAAQ,wBAAwB;AAC1D,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,cAAc,QAAQ,qBAAqB","ignoreList":[]}
|
|
@@ -17,26 +17,19 @@
|
|
|
17
17
|
import classnames from "classnames";
|
|
18
18
|
import React, { memo, useCallback, useMemo } from "react";
|
|
19
19
|
import { Checkbox } from "../../../base-components/checkbox/Checkbox.js";
|
|
20
|
-
import { usePropertyAggregation } from "../../hooks/usePropertyAggregation.js";
|
|
21
20
|
import styles from "./CheckboxListInput.module.css.js";
|
|
22
21
|
import sharedStyles from "./shared.module.css.js";
|
|
23
22
|
function CheckboxListInputInner({
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
values,
|
|
24
|
+
isLoading,
|
|
25
|
+
error,
|
|
26
26
|
selectedValues,
|
|
27
27
|
onChange,
|
|
28
|
-
|
|
28
|
+
colorMap,
|
|
29
29
|
className,
|
|
30
30
|
style
|
|
31
31
|
}) {
|
|
32
|
-
const
|
|
33
|
-
data,
|
|
34
|
-
isLoading,
|
|
35
|
-
error
|
|
36
|
-
} = usePropertyAggregation(objectType, propertyKey, {
|
|
37
|
-
where: whereClause
|
|
38
|
-
});
|
|
39
|
-
const values = useMemo(() => data.map(item => item.value), [data]);
|
|
32
|
+
const displayValues = useMemo(() => values.map(item => item.value), [values]);
|
|
40
33
|
const selectedSet = useMemo(() => new Set(selectedValues), [selectedValues]);
|
|
41
34
|
const toggleValue = useCallback(value => {
|
|
42
35
|
if (selectedSet.has(value)) {
|
|
@@ -45,18 +38,39 @@ function CheckboxListInputInner({
|
|
|
45
38
|
onChange([...selectedValues, value]);
|
|
46
39
|
}
|
|
47
40
|
}, [selectedValues, selectedSet, onChange]);
|
|
41
|
+
const allSelected = useMemo(() => displayValues.length > 0 && displayValues.every(v => selectedSet.has(v)), [displayValues, selectedSet]);
|
|
42
|
+
const areSomeValuesSelected = useMemo(() => !allSelected && selectedValues.some(v => selectedSet.has(v)), [allSelected, selectedValues, selectedSet]);
|
|
43
|
+
const handleSelectAll = useCallback(() => {
|
|
44
|
+
if (allSelected) {
|
|
45
|
+
onChange([]);
|
|
46
|
+
} else {
|
|
47
|
+
onChange([...displayValues]);
|
|
48
|
+
}
|
|
49
|
+
}, [allSelected, displayValues, onChange]);
|
|
48
50
|
return /*#__PURE__*/React.createElement("div", {
|
|
49
51
|
className: classnames(styles.checkboxList, className),
|
|
50
52
|
style: style,
|
|
51
53
|
"data-loading": isLoading
|
|
52
54
|
}, error && /*#__PURE__*/React.createElement("div", {
|
|
53
55
|
className: sharedStyles.errorMessage
|
|
54
|
-
}, "Error loading values: ", error.message), !error &&
|
|
56
|
+
}, "Error loading values: ", error.message), !error && displayValues.length === 0 && /*#__PURE__*/React.createElement("div", {
|
|
55
57
|
className: sharedStyles.emptyMessage
|
|
56
|
-
}, isLoading ? "Loading values..." : "No values available"), (
|
|
58
|
+
}, isLoading ? "Loading values..." : "No values available"), (displayValues.length > 0 || isLoading) && /*#__PURE__*/React.createElement(React.Fragment, null, isLoading && /*#__PURE__*/React.createElement("div", {
|
|
57
59
|
className: sharedStyles.loadingMessage
|
|
58
|
-
}, "Updating..."),
|
|
60
|
+
}, "Updating..."), /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
className: styles.checkboxRow,
|
|
62
|
+
"data-select-all": true
|
|
63
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
64
|
+
className: styles.checkboxLabel
|
|
65
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
66
|
+
checked: allSelected,
|
|
67
|
+
indeterminate: areSomeValuesSelected,
|
|
68
|
+
onCheckedChange: handleSelectAll
|
|
69
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
70
|
+
className: styles.valueText
|
|
71
|
+
}, "Select all"))), displayValues.map(value => {
|
|
59
72
|
const isSelected = selectedSet.has(value);
|
|
73
|
+
const color = colorMap?.[value];
|
|
60
74
|
return /*#__PURE__*/React.createElement("div", {
|
|
61
75
|
key: value,
|
|
62
76
|
className: styles.checkboxRow,
|
|
@@ -66,6 +80,11 @@ function CheckboxListInputInner({
|
|
|
66
80
|
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
67
81
|
checked: isSelected,
|
|
68
82
|
onCheckedChange: () => toggleValue(value)
|
|
83
|
+
}), color && /*#__PURE__*/React.createElement("span", {
|
|
84
|
+
className: styles.colorDot,
|
|
85
|
+
style: {
|
|
86
|
+
backgroundColor: color
|
|
87
|
+
}
|
|
69
88
|
}), /*#__PURE__*/React.createElement("span", {
|
|
70
89
|
className: styles.valueText
|
|
71
90
|
}, value)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxListInput.js","names":["classnames","React","memo","useCallback","useMemo","Checkbox","
|
|
1
|
+
{"version":3,"file":"CheckboxListInput.js","names":["classnames","React","memo","useCallback","useMemo","Checkbox","styles","sharedStyles","CheckboxListInputInner","values","isLoading","error","selectedValues","onChange","colorMap","className","style","displayValues","map","item","value","selectedSet","Set","toggleValue","has","filter","v","allSelected","length","every","areSomeValuesSelected","some","handleSelectAll","createElement","checkboxList","errorMessage","message","emptyMessage","Fragment","loadingMessage","checkboxRow","checkboxLabel","checked","indeterminate","onCheckedChange","valueText","isSelected","color","key","colorDot","backgroundColor","CheckboxListInput"],"sources":["CheckboxListInput.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 classnames from \"classnames\";\nimport React, { memo, useCallback, useMemo } from \"react\";\nimport { Checkbox } from \"../../../base-components/checkbox/Checkbox.js\";\nimport type { PropertyAggregationValue } from \"../../types/AggregationTypes.js\";\nimport styles from \"./CheckboxListInput.module.css\";\nimport sharedStyles from \"./shared.module.css\";\n\ninterface CheckboxListInputProps {\n values: PropertyAggregationValue[];\n isLoading: boolean;\n error: Error | null;\n selectedValues: string[];\n onChange: (selectedValues: string[]) => void;\n colorMap?: Record<string, string>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction CheckboxListInputInner({\n values,\n isLoading,\n error,\n selectedValues,\n onChange,\n colorMap,\n className,\n style,\n}: CheckboxListInputProps): React.ReactElement {\n const displayValues = useMemo(\n () => values.map((item) => item.value),\n [values],\n );\n\n const selectedSet = useMemo(\n () => new Set(selectedValues),\n [selectedValues],\n );\n\n const toggleValue = useCallback(\n (value: string) => {\n if (selectedSet.has(value)) {\n onChange(selectedValues.filter((v) => v !== value));\n } else {\n onChange([...selectedValues, value]);\n }\n },\n [selectedValues, selectedSet, onChange],\n );\n\n const allSelected = useMemo(\n () =>\n displayValues.length > 0\n && displayValues.every((v) => selectedSet.has(v)),\n [displayValues, selectedSet],\n );\n const areSomeValuesSelected = useMemo(\n () => !allSelected && selectedValues.some((v) => selectedSet.has(v)),\n [allSelected, selectedValues, selectedSet],\n );\n\n const handleSelectAll = useCallback(\n () => {\n if (allSelected) {\n onChange([]);\n } else {\n onChange([...displayValues]);\n }\n },\n [allSelected, displayValues, onChange],\n );\n\n return (\n <div\n className={classnames(styles.checkboxList, className)}\n style={style}\n data-loading={isLoading}\n >\n {error && (\n <div className={sharedStyles.errorMessage}>\n Error loading values: {error.message}\n </div>\n )}\n\n {!error && displayValues.length === 0 && (\n <div className={sharedStyles.emptyMessage}>\n {isLoading ? \"Loading values...\" : \"No values available\"}\n </div>\n )}\n\n {(displayValues.length > 0 || isLoading) && (\n <>\n {isLoading && (\n <div className={sharedStyles.loadingMessage}>\n Updating...\n </div>\n )}\n <div\n className={styles.checkboxRow}\n data-select-all\n >\n <label className={styles.checkboxLabel}>\n <Checkbox\n checked={allSelected}\n indeterminate={areSomeValuesSelected}\n onCheckedChange={handleSelectAll}\n />\n <span className={styles.valueText}>Select all</span>\n </label>\n </div>\n {displayValues.map((value) => {\n const isSelected = selectedSet.has(value);\n const color = colorMap?.[value];\n\n return (\n <div\n key={value}\n className={styles.checkboxRow}\n data-selected={isSelected}\n >\n <label className={styles.checkboxLabel}>\n <Checkbox\n checked={isSelected}\n onCheckedChange={() => toggleValue(value)}\n />\n {color && (\n <span\n className={styles.colorDot}\n style={{ backgroundColor: color }}\n />\n )}\n <span className={styles.valueText}>\n {value}\n </span>\n </label>\n </div>\n );\n })}\n </>\n )}\n </div>\n );\n}\n\nexport const CheckboxListInput = memo(\n CheckboxListInputInner,\n) as typeof CheckboxListInputInner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,12 @@
|
|
|
24
24
|
padding: var(--osdk-filter-checkbox-row-padding);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
.checkboxRow[data-select-all] {
|
|
28
|
+
border-bottom: var(--osdk-filter-checkbox-selectall-border-bottom);
|
|
29
|
+
padding-bottom: calc(var(--osdk-filter-checkbox-row-padding) + 2px);
|
|
30
|
+
margin-bottom: 2px;
|
|
31
|
+
}
|
|
32
|
+
|
|
27
33
|
.checkboxLabel {
|
|
28
34
|
display: flex;
|
|
29
35
|
align-items: center;
|
|
@@ -40,3 +46,10 @@
|
|
|
40
46
|
text-overflow: ellipsis;
|
|
41
47
|
white-space: nowrap;
|
|
42
48
|
}
|
|
49
|
+
|
|
50
|
+
.colorDot {
|
|
51
|
+
width: var(--osdk-filter-checkbox-color-dot-size);
|
|
52
|
+
height: var(--osdk-filter-checkbox-color-dot-size);
|
|
53
|
+
border-radius: 50%;
|
|
54
|
+
flex-shrink: 0;
|
|
55
|
+
}
|
|
@@ -3,7 +3,8 @@ const styles = {
|
|
|
3
3
|
"checkboxList": "CheckboxListInput-module__checkboxList___NTBTd7DH",
|
|
4
4
|
"checkboxRow": "CheckboxListInput-module__checkboxRow___ga-mvL9m",
|
|
5
5
|
"checkboxLabel": "CheckboxListInput-module__checkboxLabel___iFH7C6-U",
|
|
6
|
-
"valueText": "CheckboxListInput-module__valueText___ohfVO74D"
|
|
6
|
+
"valueText": "CheckboxListInput-module__valueText___ohfVO74D",
|
|
7
|
+
"colorDot": "CheckboxListInput-module__colorDot___AdQXW5K-"
|
|
7
8
|
};
|
|
8
9
|
|
|
9
10
|
export default styles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeInput.js","names":["React","memo","formatDateForInput","parseDateFromInput","RangeInput","dateConfig","inputType","formatValue","parseValue","toNumber","d","getTime","fromNumber","t","Date","minLabel","maxLabel","formatTooltip","min","max","count","toLocaleString","DateRangeInputInner","props","createElement","_extends","config","DateRangeInput"],"sources":["DateRangeInput.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
|
|
1
|
+
{"version":3,"file":"DateRangeInput.js","names":["React","memo","formatDateForInput","parseDateFromInput","RangeInput","dateConfig","inputType","formatValue","parseValue","toNumber","d","getTime","fromNumber","t","Date","minLabel","maxLabel","formatTooltip","min","max","count","toLocaleString","DateRangeInputInner","props","createElement","_extends","config","DateRangeInput"],"sources":["DateRangeInput.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 React, { memo } from \"react\";\nimport { formatDateForInput, parseDateFromInput } from \"./dateUtils.js\";\nimport { RangeInput, type RangeInputConfig } from \"./RangeInput.js\";\n\nconst dateConfig: RangeInputConfig<Date> = {\n inputType: \"date\",\n formatValue: formatDateForInput,\n parseValue: parseDateFromInput,\n toNumber: (d) => d.getTime(),\n fromNumber: (t) => new Date(t),\n minLabel: \"From\",\n maxLabel: \"To\",\n formatTooltip: (min, max, count) =>\n `${formatDateForInput(min)} - ${\n formatDateForInput(max)\n }: ${count.toLocaleString()}`,\n};\n\ninterface DateRangeInputProps {\n valueCountPairs: Array<{ value: Date; count: number }>;\n isLoading: boolean;\n minValue: Date | undefined;\n maxValue: Date | undefined;\n onChange: (min: Date | undefined, max: Date | undefined) => void;\n showHistogram?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction DateRangeInputInner(\n props: DateRangeInputProps,\n): React.ReactElement {\n return <RangeInput {...props} config={dateConfig} />;\n}\n\nexport const DateRangeInput = memo(\n DateRangeInputInner,\n) as typeof DateRangeInputInner;\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,gBAAgB;AACvE,SAASC,UAAU,QAA+B,iBAAiB;AAEnE,MAAMC,UAAkC,GAAG;EACzCC,SAAS,EAAE,MAAM;EACjBC,WAAW,EAAEL,kBAAkB;EAC/BM,UAAU,EAAEL,kBAAkB;EAC9BM,QAAQ,EAAGC,CAAC,IAAKA,CAAC,CAACC,OAAO,CAAC,CAAC;EAC5BC,UAAU,EAAGC,CAAC,IAAK,IAAIC,IAAI,CAACD,CAAC,CAAC;EAC9BE,QAAQ,EAAE,MAAM;EAChBC,QAAQ,EAAE,IAAI;EACdC,aAAa,EAAEA,CAACC,GAAG,EAAEC,GAAG,EAAEC,KAAK,KAC7B,GAAGlB,kBAAkB,CAACgB,GAAG,CAAC,MACxBhB,kBAAkB,CAACiB,GAAG,CAAC,KACpBC,KAAK,CAACC,cAAc,CAAC,CAAC;AAC/B,CAAC;AAaD,SAASC,mBAAmBA,CAC1BC,KAA0B,EACN;EACpB,oBAAOvB,KAAA,CAAAwB,aAAA,CAACpB,UAAU,EAAAqB,QAAA,KAAKF,KAAK;IAAEG,MAAM,EAAErB;EAAW,EAAE,CAAC;AACtD;AAEA,OAAO,MAAMsB,cAAc,gBAAG1B,IAAI,CAChCqB,mBACF,CAA+B","ignoreList":[]}
|