@osdk/react-components 0.1.0 → 0.2.0-beta.10
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 +98 -19
- package/README.md +56 -23
- package/build/browser/base-components/action-button/ActionButton.js +31 -0
- package/build/browser/base-components/action-button/ActionButton.js.map +1 -0
- package/build/browser/base-components/action-button/ActionButton.module.css +70 -0
- package/build/browser/base-components/action-button/ActionButton.module.css.js +8 -0
- package/build/browser/base-components/checkbox/Checkbox.js +27 -32
- package/build/browser/base-components/checkbox/Checkbox.module.css +79 -0
- package/build/browser/base-components/checkbox/Checkbox.module.css.js +7 -0
- package/build/browser/base-components/combobox/Combobox.js +124 -0
- package/build/browser/base-components/combobox/Combobox.js.map +1 -0
- package/build/browser/base-components/combobox/Combobox.module.css +177 -0
- package/build/browser/base-components/combobox/Combobox.module.css.js +16 -0
- package/build/browser/base-components/dialog/Dialog.js +52 -0
- package/build/browser/base-components/dialog/Dialog.js.map +1 -0
- package/build/browser/base-components/dialog/Dialog.module.css +101 -0
- package/build/browser/base-components/dialog/Dialog.module.css.js +13 -0
- package/build/browser/base-components/draggable-list/DraggableList.js +155 -0
- package/build/browser/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/browser/base-components/draggable-list/DraggableList.module.css +108 -0
- package/build/browser/base-components/draggable-list/DraggableList.module.css.js +11 -0
- package/build/browser/base-components/search-bar/SearchBar.js +44 -0
- package/build/browser/base-components/search-bar/SearchBar.js.map +1 -0
- package/build/browser/base-components/search-bar/SearchBar.module.css +53 -0
- package/build/browser/base-components/search-bar/SearchBar.module.css.js +8 -0
- package/build/browser/base-components/select/Select.js +89 -0
- package/build/browser/base-components/select/Select.js.map +1 -0
- package/build/browser/base-components/select/Select.module.css +138 -0
- package/build/browser/base-components/select/Select.module.css.js +11 -0
- package/build/browser/base-components/switch/Switch.js +33 -0
- package/build/browser/base-components/switch/Switch.js.map +1 -0
- package/build/browser/base-components/switch/Switch.module.css +91 -0
- package/build/browser/base-components/switch/Switch.module.css.js +7 -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/__tests__/LinkedPropertyInput.test.js +202 -0
- package/build/browser/filter-list/__tests__/LinkedPropertyInput.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/dateUtils.test.js +55 -0
- package/build/browser/filter-list/__tests__/dateUtils.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
- package/build/browser/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/getFilterKey.test.js +53 -0
- package/build/browser/filter-list/__tests__/getFilterKey.test.js.map +1 -0
- package/build/browser/filter-list/__tests__/testUtils.js +203 -0
- package/build/browser/filter-list/__tests__/testUtils.js.map +1 -0
- package/build/browser/filter-list/base/FilterInput.js +542 -0
- package/build/browser/filter-list/base/FilterInput.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.js +77 -0
- package/build/browser/filter-list/base/FilterList.js.map +1 -0
- package/build/browser/filter-list/base/FilterList.module.css +67 -0
- package/build/browser/filter-list/base/FilterList.module.css.js +8 -0
- package/build/browser/filter-list/base/FilterListContent.js +57 -0
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -0
- package/build/browser/filter-list/base/FilterListContent.module.css +27 -0
- package/build/browser/filter-list/base/FilterListContent.module.css.js +7 -0
- package/build/browser/filter-list/base/FilterListHeader.js +58 -0
- package/build/browser/filter-list/base/FilterListHeader.js.map +1 -0
- package/build/browser/filter-list/base/FilterListHeader.module.css +127 -0
- package/build/browser/filter-list/base/FilterListHeader.module.css.js +13 -0
- package/build/browser/filter-list/base/FilterListItem.js +75 -0
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -0
- package/build/browser/filter-list/base/FilterListItem.module.css +38 -0
- package/build/browser/filter-list/base/FilterListItem.module.css.js +9 -0
- package/build/browser/filter-list/base/index.js +22 -0
- package/build/browser/filter-list/base/index.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js +75 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +42 -0
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js +85 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
- package/build/browser/filter-list/base/inputs/ContainsTextInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/DateRangeInput.js +37 -0
- package/build/browser/filter-list/base/inputs/DateRangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js +237 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
- package/build/browser/filter-list/base/inputs/LinkedPropertyInput.module.css.js +6 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js +98 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +88 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +12 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.js +82 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css +54 -0
- package/build/browser/filter-list/base/inputs/MultiDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js +100 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css +35 -0
- package/build/browser/filter-list/base/inputs/MultiSelectInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +76 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css +49 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js +48 -0
- package/build/browser/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/RangeInput.js +187 -0
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/RangeInput.module.css +81 -0
- package/build/browser/filter-list/base/inputs/RangeInput.module.css.js +13 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.js +61 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css +63 -0
- package/build/browser/filter-list/base/inputs/SingleDateInput.module.css.js +9 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js +95 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
- package/build/browser/filter-list/base/inputs/SingleSelectInput.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.js +141 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.module.css +25 -0
- package/build/browser/filter-list/base/inputs/TextTagsInput.module.css.js +7 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.js +74 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.module.css +73 -0
- package/build/browser/filter-list/base/inputs/TimelineInput.module.css.js +10 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.js +43 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.js.map +1 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.module.css +34 -0
- package/build/browser/filter-list/base/inputs/ToggleInput.module.css.js +8 -0
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js +53 -0
- package/build/browser/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/browser/filter-list/base/inputs/dateUtils.js +57 -0
- package/build/browser/filter-list/base/inputs/dateUtils.js.map +1 -0
- package/build/browser/filter-list/base/inputs/index.js +25 -0
- package/build/browser/filter-list/base/inputs/index.js.map +1 -0
- package/build/browser/filter-list/base/inputs/shared.module.css +79 -0
- package/build/browser/filter-list/base/inputs/shared.module.css.js +11 -0
- package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
- package/build/browser/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
- package/build/browser/filter-list/hooks/useFilterListState.js +119 -0
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.js +92 -0
- package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -0
- package/build/browser/filter-list/types/AddFilterMenuTypes.js +2 -0
- package/build/browser/filter-list/types/AddFilterMenuTypes.js.map +1 -0
- package/build/browser/filter-list/types/CustomRendererTypes.js +2 -0
- package/build/browser/filter-list/types/CustomRendererTypes.js.map +1 -0
- package/build/browser/filter-list/types/FilterPanelTypes.js +2 -0
- package/build/browser/filter-list/types/FilterPanelTypes.js.map +1 -0
- package/build/browser/filter-list/types/KeywordSearchTypes.js +2 -0
- package/build/browser/filter-list/types/KeywordSearchTypes.js.map +1 -0
- package/build/browser/filter-list/types/LinkedFilterTypes.js +2 -0
- package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -0
- package/build/browser/filter-list/types/index.js +22 -0
- package/build/browser/filter-list/types/index.js.map +1 -0
- package/build/browser/filter-list/utils/aggregationHelpers.js +44 -0
- package/build/browser/filter-list/utils/aggregationHelpers.js.map +1 -0
- package/build/browser/filter-list/utils/assertUnreachable.js +25 -0
- package/build/browser/filter-list/utils/assertUnreachable.js.map +1 -0
- package/build/browser/filter-list/utils/coerceFilterValue.js +33 -0
- package/build/browser/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +337 -0
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/browser/filter-list/utils/filterValues.js +55 -0
- package/build/browser/filter-list/utils/filterValues.js.map +1 -0
- package/build/browser/filter-list/utils/getFilterKey.js +34 -0
- package/build/browser/filter-list/utils/getFilterKey.js.map +1 -0
- package/build/browser/object-table/CellContextMenu.js +23 -20
- package/build/browser/object-table/CellContextMenu.module.css +20 -0
- package/build/browser/object-table/CellContextMenu.module.css.js +6 -0
- package/build/browser/object-table/ColumnConfigDialog.js +259 -0
- package/build/browser/object-table/ColumnConfigDialog.js.map +1 -0
- package/build/browser/object-table/ColumnConfigDialog.module.css +247 -0
- package/build/browser/object-table/ColumnConfigDialog.module.css.js +29 -0
- package/build/browser/object-table/DefaultCellRenderer.js +43 -0
- package/build/browser/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/browser/object-table/EditableCell.js +91 -0
- package/build/browser/object-table/EditableCell.js.map +1 -0
- package/build/browser/object-table/EditableCell.module.css +3 -0
- package/build/browser/object-table/EditableCell.module.css.js +6 -0
- package/build/browser/object-table/LoadingCell.js +24 -29
- package/build/browser/object-table/LoadingCell.module.css +48 -0
- package/build/browser/object-table/LoadingCell.module.css.js +8 -0
- package/build/browser/object-table/LoadingRow.js +24 -50
- package/build/browser/object-table/LoadingStateTable.js +49 -343
- package/build/browser/object-table/LoadingStateTable.js.map +1 -1
- package/build/browser/object-table/MultiColumnSortDialog.js +178 -0
- package/build/browser/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css +195 -0
- package/build/browser/object-table/MultiColumnSortDialog.module.css.js +22 -0
- package/build/browser/object-table/NonIdealState.js +23 -20
- package/build/browser/object-table/NonIdealState.module.css +27 -0
- package/build/browser/object-table/NonIdealState.module.css.js +7 -0
- package/build/browser/object-table/ObjectTable.js +74 -15
- 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 +15 -4
- package/build/browser/object-table/SelectionCells.js.map +1 -1
- package/build/browser/object-table/SortableItemsList.js +35 -0
- package/build/browser/object-table/SortableItemsList.js.map +1 -0
- package/build/browser/object-table/Table.js +70 -935
- package/build/browser/object-table/Table.js.map +1 -1
- package/build/browser/object-table/Table.module.css +45 -0
- package/build/browser/object-table/Table.module.css.js +8 -0
- package/build/browser/object-table/TableBody.js +36 -260
- package/build/browser/object-table/TableBody.module.css +22 -0
- package/build/browser/object-table/TableBody.module.css.js +6 -0
- package/build/browser/object-table/TableCell.js +31 -111
- package/build/browser/object-table/TableCell.module.css +83 -0
- package/build/browser/object-table/TableCell.module.css.js +8 -0
- package/build/browser/object-table/TableHeader.js +126 -216
- package/build/browser/object-table/TableHeader.js.map +1 -1
- package/build/browser/object-table/TableHeader.module.css +108 -0
- package/build/browser/object-table/TableHeader.module.css.js +10 -0
- package/build/browser/object-table/TableHeaderContent.js +21 -18
- package/build/browser/object-table/TableHeaderContent.module.css +30 -0
- package/build/browser/object-table/TableHeaderContent.module.css.js +6 -0
- package/build/browser/object-table/TableHeaderWithPopover.js +110 -93
- package/build/browser/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/browser/object-table/TableHeaderWithPopover.module.css +141 -0
- package/build/browser/object-table/TableHeaderWithPopover.module.css.js +17 -0
- package/build/browser/object-table/TableRow.js +26 -144
- package/build/browser/object-table/TableRow.module.css +62 -0
- package/build/browser/object-table/TableRow.module.css.js +6 -0
- package/build/browser/object-table/__tests__/useEditableTable.test.js +197 -0
- package/build/browser/object-table/__tests__/useEditableTable.test.js.map +1 -0
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
- package/build/browser/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
- package/build/browser/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
- package/build/browser/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
- package/build/browser/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
- package/build/browser/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
- package/build/browser/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnDefs.js +16 -3
- package/build/browser/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/browser/object-table/hooks/useColumnResize.js +45 -0
- package/build/browser/object-table/hooks/useColumnResize.js.map +1 -0
- package/build/browser/object-table/hooks/useColumnVisibility.js +52 -20
- package/build/browser/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/browser/object-table/hooks/useEditableTable.js +57 -0
- package/build/browser/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/browser/object-table/hooks/useObjectTableData.js +42 -7
- package/build/browser/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/browser/object-table/hooks/useRowSelection.js +31 -10
- package/build/browser/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/browser/object-table/hooks/useSelectionColumn.js +15 -6
- package/build/browser/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/browser/object-table/utils/getCellId.js +27 -0
- package/build/browser/object-table/utils/getCellId.js.map +1 -0
- package/build/browser/object-table/utils/types.js +2 -0
- package/build/browser/object-table/utils/types.js.map +1 -0
- package/build/browser/public/experimental.js +2 -0
- package/build/browser/public/experimental.js.map +1 -1
- package/build/browser/shared/ErrorBoundary.js +62 -0
- package/build/browser/shared/ErrorBoundary.js.map +1 -0
- package/build/browser/shared/ErrorBoundary.module.css +55 -0
- package/build/browser/shared/ErrorBoundary.module.css.js +8 -0
- package/build/browser/styles.css +3073 -0
- package/build/cjs/public/experimental.cjs +4026 -240
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +1834 -154
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +453 -50
- package/build/esm/base-components/action-button/ActionButton.js +31 -0
- package/build/esm/base-components/action-button/ActionButton.js.map +1 -0
- package/build/esm/base-components/action-button/ActionButton.module.css +70 -0
- package/build/esm/base-components/checkbox/Checkbox.module.css +1 -1
- package/build/esm/base-components/combobox/Combobox.js +124 -0
- package/build/esm/base-components/combobox/Combobox.js.map +1 -0
- package/build/esm/base-components/combobox/Combobox.module.css +177 -0
- package/build/esm/base-components/dialog/Dialog.js +52 -0
- package/build/esm/base-components/dialog/Dialog.js.map +1 -0
- package/build/esm/base-components/dialog/Dialog.module.css +101 -0
- package/build/esm/base-components/draggable-list/DraggableList.js +155 -0
- package/build/esm/base-components/draggable-list/DraggableList.js.map +1 -0
- package/build/esm/base-components/draggable-list/DraggableList.module.css +108 -0
- package/build/esm/base-components/search-bar/SearchBar.js +44 -0
- package/build/esm/base-components/search-bar/SearchBar.js.map +1 -0
- package/build/esm/base-components/search-bar/SearchBar.module.css +53 -0
- package/build/esm/base-components/select/Select.js +89 -0
- package/build/esm/base-components/select/Select.js.map +1 -0
- package/build/esm/base-components/select/Select.module.css +138 -0
- package/build/esm/base-components/switch/Switch.js +33 -0
- package/build/esm/base-components/switch/Switch.js.map +1 -0
- package/build/esm/base-components/switch/Switch.module.css +91 -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/__tests__/LinkedPropertyInput.test.js +202 -0
- package/build/esm/filter-list/__tests__/LinkedPropertyInput.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/dateUtils.test.js +55 -0
- package/build/esm/filter-list/__tests__/dateUtils.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js +296 -0
- package/build/esm/filter-list/__tests__/filterStateToWhereClause.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/getFilterKey.test.js +53 -0
- package/build/esm/filter-list/__tests__/getFilterKey.test.js.map +1 -0
- package/build/esm/filter-list/__tests__/testUtils.js +203 -0
- package/build/esm/filter-list/__tests__/testUtils.js.map +1 -0
- package/build/esm/filter-list/base/FilterInput.js +542 -0
- package/build/esm/filter-list/base/FilterInput.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.js +77 -0
- package/build/esm/filter-list/base/FilterList.js.map +1 -0
- package/build/esm/filter-list/base/FilterList.module.css +67 -0
- package/build/esm/filter-list/base/FilterListContent.js +57 -0
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -0
- package/build/esm/filter-list/base/FilterListContent.module.css +27 -0
- package/build/esm/filter-list/base/FilterListHeader.js +58 -0
- package/build/esm/filter-list/base/FilterListHeader.js.map +1 -0
- package/build/esm/filter-list/base/FilterListHeader.module.css +127 -0
- package/build/esm/filter-list/base/FilterListItem.js +75 -0
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -0
- package/build/esm/filter-list/base/FilterListItem.module.css +38 -0
- package/build/esm/filter-list/base/index.js +22 -0
- package/build/esm/filter-list/base/index.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js +75 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +42 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js +85 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ContainsTextInput.module.css +91 -0
- package/build/esm/filter-list/base/inputs/DateRangeInput.js +37 -0
- package/build/esm/filter-list/base/inputs/DateRangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js +237 -0
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/LinkedPropertyInput.module.css +20 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js +98 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +88 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.js +82 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiDateInput.module.css +54 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js +100 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/MultiSelectInput.module.css +35 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +76 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.module.css +49 -0
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js +48 -0
- package/build/esm/filter-list/base/inputs/NumberRangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/RangeInput.js +187 -0
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/RangeInput.module.css +81 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.js +61 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/SingleDateInput.module.css +63 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js +95 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/SingleSelectInput.module.css +55 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.js +141 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/TextTagsInput.module.css +25 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.js +74 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/TimelineInput.module.css +73 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.js +43 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.js.map +1 -0
- package/build/esm/filter-list/base/inputs/ToggleInput.module.css +34 -0
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js +53 -0
- package/build/esm/filter-list/base/inputs/createHistogramBuckets.js.map +1 -0
- package/build/esm/filter-list/base/inputs/dateUtils.js +57 -0
- package/build/esm/filter-list/base/inputs/dateUtils.js.map +1 -0
- package/build/esm/filter-list/base/inputs/index.js +25 -0
- package/build/esm/filter-list/base/inputs/index.js.map +1 -0
- package/build/esm/filter-list/base/inputs/shared.module.css +79 -0
- package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js +128 -0
- package/build/esm/filter-list/hooks/__tests__/useFilterListState.test.js.map +1 -0
- package/build/esm/filter-list/hooks/useFilterListState.js +119 -0
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.js +92 -0
- package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -0
- package/build/esm/filter-list/types/AddFilterMenuTypes.js +2 -0
- package/build/esm/filter-list/types/AddFilterMenuTypes.js.map +1 -0
- package/build/esm/filter-list/types/CustomRendererTypes.js +2 -0
- package/build/esm/filter-list/types/CustomRendererTypes.js.map +1 -0
- package/build/esm/filter-list/types/FilterPanelTypes.js +2 -0
- package/build/esm/filter-list/types/FilterPanelTypes.js.map +1 -0
- package/build/esm/filter-list/types/KeywordSearchTypes.js +2 -0
- package/build/esm/filter-list/types/KeywordSearchTypes.js.map +1 -0
- package/build/esm/filter-list/types/LinkedFilterTypes.js +2 -0
- package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -0
- package/build/esm/filter-list/types/index.js +22 -0
- package/build/esm/filter-list/types/index.js.map +1 -0
- package/build/esm/filter-list/utils/aggregationHelpers.js +44 -0
- package/build/esm/filter-list/utils/aggregationHelpers.js.map +1 -0
- package/build/esm/filter-list/utils/assertUnreachable.js +25 -0
- package/build/esm/filter-list/utils/assertUnreachable.js.map +1 -0
- package/build/esm/filter-list/utils/coerceFilterValue.js +33 -0
- package/build/esm/filter-list/utils/coerceFilterValue.js.map +1 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +337 -0
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -0
- package/build/esm/filter-list/utils/filterValues.js +55 -0
- package/build/esm/filter-list/utils/filterValues.js.map +1 -0
- package/build/esm/filter-list/utils/getFilterKey.js +34 -0
- package/build/esm/filter-list/utils/getFilterKey.js.map +1 -0
- package/build/esm/object-table/ColumnConfigDialog.js +259 -0
- package/build/esm/object-table/ColumnConfigDialog.js.map +1 -0
- package/build/esm/object-table/ColumnConfigDialog.module.css +247 -0
- package/build/esm/object-table/DefaultCellRenderer.js +43 -0
- package/build/esm/object-table/DefaultCellRenderer.js.map +1 -0
- package/build/esm/object-table/EditableCell.js +91 -0
- package/build/esm/object-table/EditableCell.js.map +1 -0
- package/build/esm/object-table/EditableCell.module.css +3 -0
- package/build/esm/object-table/LoadingStateTable.js +4 -4
- package/build/esm/object-table/LoadingStateTable.js.map +1 -1
- package/build/esm/object-table/MultiColumnSortDialog.js +178 -0
- package/build/esm/object-table/MultiColumnSortDialog.js.map +1 -0
- package/build/esm/object-table/MultiColumnSortDialog.module.css +195 -0
- package/build/esm/object-table/NonIdealState.module.css +2 -3
- package/build/esm/object-table/ObjectTable.js +74 -15
- 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 +15 -4
- package/build/esm/object-table/SelectionCells.js.map +1 -1
- package/build/esm/object-table/SortableItemsList.js +35 -0
- package/build/esm/object-table/SortableItemsList.js.map +1 -0
- package/build/esm/object-table/Table.js +25 -8
- package/build/esm/object-table/Table.js.map +1 -1
- package/build/esm/object-table/Table.module.css +26 -3
- package/build/esm/object-table/TableBody.module.css +2 -0
- package/build/esm/object-table/TableCell.module.css +22 -1
- package/build/esm/object-table/TableHeader.js +93 -6
- package/build/esm/object-table/TableHeader.js.map +1 -1
- package/build/esm/object-table/TableHeader.module.css +9 -2
- package/build/esm/object-table/TableHeaderWithPopover.js +53 -22
- package/build/esm/object-table/TableHeaderWithPopover.js.map +1 -1
- package/build/esm/object-table/TableHeaderWithPopover.module.css +56 -25
- package/build/esm/object-table/TableRow.module.css +2 -0
- package/build/esm/object-table/__tests__/useEditableTable.test.js +197 -0
- package/build/esm/object-table/__tests__/useEditableTable.test.js.map +1 -0
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js +14 -2
- package/build/esm/object-table/hooks/__tests__/useColumnDefs.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js +160 -138
- package/build/esm/object-table/hooks/__tests__/useColumnVisibility.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js +113 -25
- package/build/esm/object-table/hooks/__tests__/useObjectTableData.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js +48 -0
- package/build/esm/object-table/hooks/__tests__/useRowSelection.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js +27 -82
- package/build/esm/object-table/hooks/__tests__/useSelectionColumn.test.js.map +1 -1
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js +290 -0
- package/build/esm/object-table/hooks/__tests__/useTableSorting.test.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnDefs.js +16 -3
- package/build/esm/object-table/hooks/useColumnDefs.js.map +1 -1
- package/build/esm/object-table/hooks/useColumnResize.js +45 -0
- package/build/esm/object-table/hooks/useColumnResize.js.map +1 -0
- package/build/esm/object-table/hooks/useColumnVisibility.js +52 -20
- package/build/esm/object-table/hooks/useColumnVisibility.js.map +1 -1
- package/build/esm/object-table/hooks/useEditableTable.js +57 -0
- package/build/esm/object-table/hooks/useEditableTable.js.map +1 -0
- package/build/esm/object-table/hooks/useObjectTableData.js +42 -7
- package/build/esm/object-table/hooks/useObjectTableData.js.map +1 -1
- package/build/esm/object-table/hooks/useRowSelection.js +31 -10
- package/build/esm/object-table/hooks/useRowSelection.js.map +1 -1
- package/build/esm/object-table/hooks/useSelectionColumn.js +15 -6
- package/build/esm/object-table/hooks/useSelectionColumn.js.map +1 -1
- package/build/esm/object-table/utils/getCellId.js +27 -0
- package/build/esm/object-table/utils/getCellId.js.map +1 -0
- package/build/esm/object-table/utils/types.js +2 -0
- package/build/esm/object-table/utils/types.js.map +1 -0
- package/build/esm/public/experimental.js +2 -0
- package/build/esm/public/experimental.js.map +1 -1
- package/build/esm/shared/ErrorBoundary.js +62 -0
- package/build/esm/shared/ErrorBoundary.js.map +1 -0
- package/build/esm/shared/ErrorBoundary.module.css +55 -0
- package/build/types/base-components/action-button/ActionButton.d.ts +5 -0
- package/build/types/base-components/action-button/ActionButton.d.ts.map +1 -0
- package/build/types/base-components/combobox/Combobox.d.ts +52 -0
- package/build/types/base-components/combobox/Combobox.d.ts.map +1 -0
- package/build/types/base-components/dialog/Dialog.d.ts +10 -0
- package/build/types/base-components/dialog/Dialog.d.ts.map +1 -0
- package/build/types/base-components/draggable-list/DraggableList.d.ts +17 -0
- package/build/types/base-components/draggable-list/DraggableList.d.ts.map +1 -0
- package/build/types/base-components/search-bar/SearchBar.d.ts +11 -0
- package/build/types/base-components/search-bar/SearchBar.d.ts.map +1 -0
- package/build/types/base-components/select/Select.d.ts +34 -0
- package/build/types/base-components/select/Select.d.ts.map +1 -0
- package/build/types/base-components/switch/Switch.d.ts +10 -0
- package/build/types/base-components/switch/Switch.d.ts.map +1 -0
- package/build/types/filter-list/FilterListApi.d.ts +62 -17
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts +101 -53
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/LinkedPropertyInput.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/dateUtils.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/dateUtils.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/filterStateToWhereClause.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/getFilterKey.test.d.ts +1 -0
- package/build/types/filter-list/__tests__/getFilterKey.test.d.ts.map +1 -0
- package/build/types/filter-list/__tests__/testUtils.d.ts +65 -0
- package/build/types/filter-list/__tests__/testUtils.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterInput.d.ts +15 -0
- package/build/types/filter-list/base/FilterInput.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterList.d.ts +4 -0
- package/build/types/filter-list/base/FilterList.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListContent.d.ts +16 -0
- package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListHeader.d.ts +14 -0
- package/build/types/filter-list/base/FilterListHeader.d.ts.map +1 -0
- package/build/types/filter-list/base/FilterListItem.d.ts +18 -0
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -0
- package/build/types/filter-list/base/index.d.ts +5 -0
- package/build/types/filter-list/base/index.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +21 -0
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts +13 -0
- package/build/types/filter-list/base/inputs/ContainsTextInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts +22 -0
- package/build/types/filter-list/base/inputs/DateRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts +21 -0
- package/build/types/filter-list/base/inputs/LinkedPropertyInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts +22 -0
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/MultiDateInput.d.ts +12 -0
- package/build/types/filter-list/base/inputs/MultiDateInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts +24 -0
- package/build/types/filter-list/base/inputs/MultiSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts +21 -0
- package/build/types/filter-list/base/inputs/NullValueWrapper.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts +22 -0
- package/build/types/filter-list/base/inputs/NumberRangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/RangeInput.d.ts +37 -0
- package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/SingleDateInput.d.ts +13 -0
- package/build/types/filter-list/base/inputs/SingleDateInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts +24 -0
- package/build/types/filter-list/base/inputs/SingleSelectInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts +24 -0
- package/build/types/filter-list/base/inputs/TextTagsInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/TimelineInput.d.ts +11 -0
- package/build/types/filter-list/base/inputs/TimelineInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/ToggleInput.d.ts +10 -0
- package/build/types/filter-list/base/inputs/ToggleInput.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts +16 -0
- package/build/types/filter-list/base/inputs/createHistogramBuckets.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/dateUtils.d.ts +17 -0
- package/build/types/filter-list/base/inputs/dateUtils.d.ts.map +1 -0
- package/build/types/filter-list/base/inputs/index.d.ts +8 -0
- package/build/types/filter-list/base/inputs/index.d.ts.map +1 -0
- package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts +1 -0
- package/build/types/filter-list/hooks/__tests__/useFilterListState.test.d.ts.map +1 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts +11 -0
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +20 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -0
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts +56 -0
- package/build/types/filter-list/types/AddFilterMenuTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/CustomRendererTypes.d.ts +76 -0
- package/build/types/filter-list/types/CustomRendererTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/FilterPanelTypes.d.ts +18 -0
- package/build/types/filter-list/types/FilterPanelTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/KeywordSearchTypes.d.ts +56 -0
- package/build/types/filter-list/types/KeywordSearchTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts +89 -0
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts.map +1 -0
- package/build/types/filter-list/types/index.d.ts +5 -0
- package/build/types/filter-list/types/index.d.ts.map +1 -0
- package/build/types/filter-list/utils/aggregationHelpers.d.ts +9 -0
- package/build/types/filter-list/utils/aggregationHelpers.d.ts.map +1 -0
- package/build/types/filter-list/utils/assertUnreachable.d.ts +6 -0
- package/build/types/filter-list/utils/assertUnreachable.d.ts.map +1 -0
- package/build/types/filter-list/utils/coerceFilterValue.d.ts +11 -0
- package/build/types/filter-list/utils/coerceFilterValue.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +16 -0
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -0
- package/build/types/filter-list/utils/filterValues.d.ts +5 -0
- package/build/types/filter-list/utils/filterValues.d.ts.map +1 -0
- package/build/types/filter-list/utils/getFilterKey.d.ts +3 -0
- package/build/types/filter-list/utils/getFilterKey.d.ts.map +1 -0
- package/build/types/object-table/ColumnConfigDialog.d.ts +18 -0
- package/build/types/object-table/ColumnConfigDialog.d.ts.map +1 -0
- package/build/types/object-table/DefaultCellRenderer.d.ts +3 -0
- package/build/types/object-table/DefaultCellRenderer.d.ts.map +1 -0
- package/build/types/object-table/EditableCell.d.ts +10 -0
- package/build/types/object-table/EditableCell.d.ts.map +1 -0
- package/build/types/object-table/LoadingStateTable.d.ts.map +1 -1
- package/build/types/object-table/MultiColumnSortDialog.d.ts +15 -0
- package/build/types/object-table/MultiColumnSortDialog.d.ts.map +1 -0
- 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 +79 -8
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/object-table/SortableItemsList.d.ts +13 -0
- package/build/types/object-table/SortableItemsList.d.ts.map +1 -0
- package/build/types/object-table/Table.d.ts +26 -1
- package/build/types/object-table/Table.d.ts.map +1 -1
- package/build/types/object-table/TableHeader.d.ts +3 -1
- package/build/types/object-table/TableHeader.d.ts.map +1 -1
- package/build/types/object-table/TableHeaderWithPopover.d.ts +30 -6
- package/build/types/object-table/TableHeaderWithPopover.d.ts.map +1 -1
- package/build/types/object-table/__tests__/useEditableTable.test.d.ts +1 -0
- package/build/types/object-table/__tests__/useEditableTable.test.d.ts.map +1 -0
- package/build/types/object-table/hooks/useColumnDefs.d.ts.map +1 -1
- package/build/types/object-table/hooks/useColumnResize.d.ts +10 -0
- package/build/types/object-table/hooks/useColumnResize.d.ts.map +1 -0
- package/build/types/object-table/hooks/useColumnVisibility.d.ts +18 -7
- package/build/types/object-table/hooks/useColumnVisibility.d.ts.map +1 -1
- package/build/types/object-table/hooks/useEditableTable.d.ts +22 -0
- package/build/types/object-table/hooks/useEditableTable.d.ts.map +1 -0
- package/build/types/object-table/hooks/useObjectTableData.d.ts +6 -5
- package/build/types/object-table/hooks/useObjectTableData.d.ts.map +1 -1
- package/build/types/object-table/hooks/useRowSelection.d.ts +5 -4
- package/build/types/object-table/hooks/useRowSelection.d.ts.map +1 -1
- package/build/types/object-table/utils/getCellId.d.ts +3 -0
- package/build/types/object-table/utils/getCellId.d.ts.map +1 -0
- package/build/types/object-table/utils/types.d.ts +14 -0
- package/build/types/object-table/utils/types.d.ts.map +1 -0
- package/build/types/public/experimental.d.ts +6 -2
- package/build/types/public/experimental.d.ts.map +1 -1
- package/build/types/shared/ErrorBoundary.d.ts +19 -0
- package/build/types/shared/ErrorBoundary.d.ts.map +1 -0
- package/package.json +17 -9
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import classnames from "classnames";
|
|
18
|
+
import React, { memo, useCallback, useMemo } from "react";
|
|
19
|
+
import { Checkbox } from "../../../base-components/checkbox/Checkbox.js";
|
|
20
|
+
import { usePropertyAggregation } from "../../hooks/usePropertyAggregation.js";
|
|
21
|
+
import styles from "./CheckboxListInput.module.css.js";
|
|
22
|
+
import sharedStyles from "./shared.module.css.js";
|
|
23
|
+
function CheckboxListInputInner({
|
|
24
|
+
objectType,
|
|
25
|
+
propertyKey,
|
|
26
|
+
selectedValues,
|
|
27
|
+
onChange,
|
|
28
|
+
whereClause,
|
|
29
|
+
className,
|
|
30
|
+
style
|
|
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]);
|
|
40
|
+
const selectedSet = useMemo(() => new Set(selectedValues), [selectedValues]);
|
|
41
|
+
const toggleValue = useCallback(value => {
|
|
42
|
+
if (selectedSet.has(value)) {
|
|
43
|
+
onChange(selectedValues.filter(v => v !== value));
|
|
44
|
+
} else {
|
|
45
|
+
onChange([...selectedValues, value]);
|
|
46
|
+
}
|
|
47
|
+
}, [selectedValues, selectedSet, onChange]);
|
|
48
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
49
|
+
className: classnames(styles.checkboxList, className),
|
|
50
|
+
style: style,
|
|
51
|
+
"data-loading": isLoading
|
|
52
|
+
}, error && /*#__PURE__*/React.createElement("div", {
|
|
53
|
+
className: sharedStyles.errorMessage
|
|
54
|
+
}, "Error loading values: ", error.message), !error && values.length === 0 && /*#__PURE__*/React.createElement("div", {
|
|
55
|
+
className: sharedStyles.emptyMessage
|
|
56
|
+
}, isLoading ? "Loading values..." : "No values available"), (values.length > 0 || isLoading) && /*#__PURE__*/React.createElement(React.Fragment, null, isLoading && /*#__PURE__*/React.createElement("div", {
|
|
57
|
+
className: sharedStyles.loadingMessage
|
|
58
|
+
}, "Updating..."), values.map(value => {
|
|
59
|
+
const isSelected = selectedSet.has(value);
|
|
60
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
key: value,
|
|
62
|
+
className: styles.checkboxRow,
|
|
63
|
+
"data-selected": isSelected
|
|
64
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
65
|
+
className: styles.checkboxLabel
|
|
66
|
+
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
67
|
+
checked: isSelected,
|
|
68
|
+
onCheckedChange: () => toggleValue(value)
|
|
69
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
70
|
+
className: styles.valueText
|
|
71
|
+
}, value)));
|
|
72
|
+
})));
|
|
73
|
+
}
|
|
74
|
+
export const CheckboxListInput = /*#__PURE__*/memo(CheckboxListInputInner);
|
|
75
|
+
//# sourceMappingURL=CheckboxListInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxListInput.js","names":["classnames","React","memo","useCallback","useMemo","Checkbox","usePropertyAggregation","styles","sharedStyles","CheckboxListInputInner","objectType","propertyKey","selectedValues","onChange","whereClause","className","style","data","isLoading","error","where","values","map","item","value","selectedSet","Set","toggleValue","has","filter","v","createElement","checkboxList","errorMessage","message","length","emptyMessage","Fragment","loadingMessage","isSelected","key","checkboxRow","checkboxLabel","checked","onCheckedChange","valueText","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 type {\n ObjectSet,\n ObjectTypeDefinition,\n PropertyKeys,\n WhereClause,\n} from \"@osdk/api\";\nimport classnames from \"classnames\";\nimport React, { memo, useCallback, useMemo } from \"react\";\nimport { Checkbox } from \"../../../base-components/checkbox/Checkbox.js\";\nimport { usePropertyAggregation } from \"../../hooks/usePropertyAggregation.js\";\nimport styles from \"./CheckboxListInput.module.css\";\nimport sharedStyles from \"./shared.module.css\";\n\ninterface CheckboxListInputProps<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q>,\n> {\n objectType: Q;\n propertyKey: K;\n selectedValues: string[];\n onChange: (selectedValues: string[]) => void;\n objectSet?: ObjectSet<Q>;\n whereClause?: WhereClause<Q>;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction CheckboxListInputInner<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q>,\n>({\n objectType,\n propertyKey,\n selectedValues,\n onChange,\n whereClause,\n className,\n style,\n}: CheckboxListInputProps<Q, K>): React.ReactElement {\n const { data, isLoading, error } = usePropertyAggregation(\n objectType,\n propertyKey,\n { where: whereClause },\n );\n\n const values = useMemo(\n () => data.map((item) => item.value),\n [data],\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 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 && values.length === 0 && (\n <div className={sharedStyles.emptyMessage}>\n {isLoading ? \"Loading values...\" : \"No values available\"}\n </div>\n )}\n\n {(values.length > 0 || isLoading) && (\n <>\n {isLoading && (\n <div className={sharedStyles.loadingMessage}>\n Updating...\n </div>\n )}\n {values.map((value) => {\n const isSelected = selectedSet.has(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 <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":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
.checkboxList {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
gap: var(--osdk-filter-checkbox-list-gap);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.checkboxRow {
|
|
24
|
+
padding: var(--osdk-filter-checkbox-row-padding);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.checkboxLabel {
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
gap: var(--osdk-filter-checkbox-label-gap);
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.valueText {
|
|
35
|
+
font-family: var(--osdk-filter-checkbox-value-font-family);
|
|
36
|
+
font-size: var(--osdk-filter-checkbox-value-font-size);
|
|
37
|
+
line-height: var(--osdk-filter-checkbox-value-line-height);
|
|
38
|
+
color: var(--osdk-filter-checkbox-value-color);
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
text-overflow: ellipsis;
|
|
41
|
+
white-space: nowrap;
|
|
42
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// CSS Module proxy for CheckboxListInput.module.css
|
|
2
|
+
const styles = {
|
|
3
|
+
"checkboxList": "CheckboxListInput-module__checkboxList___NTBTd7DH",
|
|
4
|
+
"checkboxRow": "CheckboxListInput-module__checkboxRow___ga-mvL9m",
|
|
5
|
+
"checkboxLabel": "CheckboxListInput-module__checkboxLabel___iFH7C6-U",
|
|
6
|
+
"valueText": "CheckboxListInput-module__valueText___ohfVO74D"
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default styles;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { Button } from "@base-ui/react/button";
|
|
18
|
+
import { Input } from "@base-ui/react/input";
|
|
19
|
+
import { Cross, Search } from "@blueprintjs/icons";
|
|
20
|
+
import classnames from "classnames";
|
|
21
|
+
import { debounce } from "lodash-es";
|
|
22
|
+
import React, { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
23
|
+
import styles from "./ContainsTextInput.module.css.js";
|
|
24
|
+
function ContainsTextInputInner({
|
|
25
|
+
value,
|
|
26
|
+
onChange,
|
|
27
|
+
placeholder = "Search...",
|
|
28
|
+
debounceMs = 300,
|
|
29
|
+
className,
|
|
30
|
+
style,
|
|
31
|
+
renderSearchIcon,
|
|
32
|
+
renderClearIcon
|
|
33
|
+
}) {
|
|
34
|
+
const [localValue, setLocalValue] = useState(value ?? "");
|
|
35
|
+
const onChangeRef = useRef(onChange);
|
|
36
|
+
onChangeRef.current = onChange;
|
|
37
|
+
const debouncedOnChange = useMemo(() => debounce(newValue => {
|
|
38
|
+
onChangeRef.current(newValue.length > 0 ? newValue : undefined);
|
|
39
|
+
}, debounceMs), [debounceMs]);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
return () => {
|
|
42
|
+
debouncedOnChange.cancel();
|
|
43
|
+
};
|
|
44
|
+
}, [debouncedOnChange]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
setLocalValue(value ?? "");
|
|
47
|
+
debouncedOnChange.cancel();
|
|
48
|
+
}, [value, debouncedOnChange]);
|
|
49
|
+
const handleInputChange = useCallback(e => {
|
|
50
|
+
setLocalValue(e.target.value);
|
|
51
|
+
debouncedOnChange(e.target.value);
|
|
52
|
+
}, [debouncedOnChange]);
|
|
53
|
+
const handleClear = useCallback(() => {
|
|
54
|
+
setLocalValue("");
|
|
55
|
+
debouncedOnChange.cancel();
|
|
56
|
+
onChangeRef.current(undefined);
|
|
57
|
+
}, [debouncedOnChange]);
|
|
58
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: classnames(styles.textInput, className),
|
|
60
|
+
style: style,
|
|
61
|
+
"data-has-value": !!localValue
|
|
62
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
className: styles.inputGroup
|
|
64
|
+
}, renderSearchIcon ? renderSearchIcon() : /*#__PURE__*/React.createElement("span", {
|
|
65
|
+
className: styles.searchIcon
|
|
66
|
+
}, /*#__PURE__*/React.createElement(Search, {
|
|
67
|
+
color: "currentColor"
|
|
68
|
+
})), /*#__PURE__*/React.createElement(Input, {
|
|
69
|
+
type: "text",
|
|
70
|
+
className: styles.input,
|
|
71
|
+
value: localValue,
|
|
72
|
+
onChange: handleInputChange,
|
|
73
|
+
placeholder: placeholder,
|
|
74
|
+
"aria-label": placeholder
|
|
75
|
+
}), localValue && /*#__PURE__*/React.createElement(Button, {
|
|
76
|
+
type: "button",
|
|
77
|
+
className: styles.clearButton,
|
|
78
|
+
onClick: handleClear,
|
|
79
|
+
"aria-label": "Clear search"
|
|
80
|
+
}, renderClearIcon ? renderClearIcon() : /*#__PURE__*/React.createElement(Cross, {
|
|
81
|
+
color: "currentColor"
|
|
82
|
+
}))));
|
|
83
|
+
}
|
|
84
|
+
export const ContainsTextInput = /*#__PURE__*/memo(ContainsTextInputInner);
|
|
85
|
+
//# sourceMappingURL=ContainsTextInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContainsTextInput.js","names":["Button","Input","Cross","Search","classnames","debounce","React","memo","useCallback","useEffect","useMemo","useRef","useState","styles","ContainsTextInputInner","value","onChange","placeholder","debounceMs","className","style","renderSearchIcon","renderClearIcon","localValue","setLocalValue","onChangeRef","current","debouncedOnChange","newValue","length","undefined","cancel","handleInputChange","e","target","handleClear","createElement","textInput","inputGroup","searchIcon","color","type","input","clearButton","onClick","ContainsTextInput"],"sources":["ContainsTextInput.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 { Input } from \"@base-ui/react/input\";\nimport { Cross, Search } from \"@blueprintjs/icons\";\nimport classnames from \"classnames\";\nimport { debounce } from \"lodash-es\";\nimport React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport styles from \"./ContainsTextInput.module.css\";\n\ninterface ContainsTextInputProps {\n value: string | undefined;\n onChange: (value: string | undefined) => void;\n placeholder?: string;\n debounceMs?: number;\n className?: string;\n style?: React.CSSProperties;\n renderSearchIcon?: () => React.ReactNode;\n renderClearIcon?: () => React.ReactNode;\n}\n\nfunction ContainsTextInputInner({\n value,\n onChange,\n placeholder = \"Search...\",\n debounceMs = 300,\n className,\n style,\n renderSearchIcon,\n renderClearIcon,\n}: ContainsTextInputProps): React.ReactElement {\n const [localValue, setLocalValue] = useState(value ?? \"\");\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const debouncedOnChange = useMemo(\n () =>\n debounce((newValue: string) => {\n onChangeRef.current(newValue.length > 0 ? newValue : undefined);\n }, debounceMs),\n [debounceMs],\n );\n\n useEffect(() => {\n return () => {\n debouncedOnChange.cancel();\n };\n }, [debouncedOnChange]);\n\n useEffect(() => {\n setLocalValue(value ?? \"\");\n debouncedOnChange.cancel();\n }, [value, debouncedOnChange]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setLocalValue(e.target.value);\n debouncedOnChange(e.target.value);\n },\n [debouncedOnChange],\n );\n\n const handleClear = useCallback(() => {\n setLocalValue(\"\");\n debouncedOnChange.cancel();\n onChangeRef.current(undefined);\n }, [debouncedOnChange]);\n\n return (\n <div\n className={classnames(styles.textInput, className)}\n style={style}\n data-has-value={!!localValue}\n >\n <div className={styles.inputGroup}>\n {renderSearchIcon\n ? renderSearchIcon()\n : (\n <span className={styles.searchIcon}>\n <Search color=\"currentColor\" />\n </span>\n )}\n <Input\n type=\"text\"\n className={styles.input}\n value={localValue}\n onChange={handleInputChange}\n placeholder={placeholder}\n aria-label={placeholder}\n />\n {localValue && (\n <Button\n type=\"button\"\n className={styles.clearButton}\n onClick={handleClear}\n aria-label=\"Clear search\"\n >\n {renderClearIcon\n ? renderClearIcon()\n : <Cross color=\"currentColor\" />}\n </Button>\n )}\n </div>\n </div>\n );\n}\n\nexport const ContainsTextInput: React.NamedExoticComponent<\n ContainsTextInputProps\n> = memo(ContainsTextInputInner);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
.textInput {
|
|
18
|
+
position: relative;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.inputGroup {
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: center;
|
|
24
|
+
background: var(--osdk-filter-input-bg);
|
|
25
|
+
border: var(--osdk-filter-input-border);
|
|
26
|
+
border-radius: var(--osdk-filter-input-border-radius);
|
|
27
|
+
padding: var(--osdk-filter-input-padding);
|
|
28
|
+
gap: var(--osdk-filter-input-gap);
|
|
29
|
+
transition: border-color var(--osdk-filter-input-transition);
|
|
30
|
+
|
|
31
|
+
&:focus-within {
|
|
32
|
+
border-color: var(--osdk-filter-input-focus-border);
|
|
33
|
+
outline: var(--osdk-filter-input-focus-outline-width) solid var(--osdk-filter-input-focus-outline-color);
|
|
34
|
+
outline-offset: var(--osdk-filter-input-focus-outline-offset);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@media (prefers-reduced-motion: reduce) {
|
|
38
|
+
transition: none;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.searchIcon {
|
|
43
|
+
color: var(--osdk-filter-input-icon-color);
|
|
44
|
+
flex-shrink: 0;
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.input {
|
|
50
|
+
flex: 1;
|
|
51
|
+
border: none;
|
|
52
|
+
background: transparent;
|
|
53
|
+
font-family: var(--osdk-filter-input-font-family);
|
|
54
|
+
font-size: var(--osdk-filter-input-font-size);
|
|
55
|
+
color: var(--osdk-filter-input-color);
|
|
56
|
+
outline: none;
|
|
57
|
+
|
|
58
|
+
&::placeholder {
|
|
59
|
+
color: var(--osdk-filter-input-placeholder-color);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.clearButton {
|
|
64
|
+
display: flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
padding: var(--osdk-filter-input-clear-padding);
|
|
68
|
+
border: none;
|
|
69
|
+
background: var(--osdk-filter-input-clear-bg);
|
|
70
|
+
color: var(--osdk-filter-input-icon-color);
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
border-radius: var(--osdk-filter-input-clear-border-radius);
|
|
73
|
+
transition: background-color var(--osdk-filter-input-transition);
|
|
74
|
+
|
|
75
|
+
&:hover {
|
|
76
|
+
background: var(--osdk-filter-input-clear-bg-hover);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&:active {
|
|
80
|
+
background: var(--osdk-filter-input-clear-bg-active);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&:focus-visible {
|
|
84
|
+
outline: var(--osdk-filter-input-focus-outline-width) solid var(--osdk-filter-input-focus-outline-color);
|
|
85
|
+
outline-offset: var(--osdk-filter-input-focus-outline-offset);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@media (prefers-reduced-motion: reduce) {
|
|
89
|
+
transition: none;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// CSS Module proxy for ContainsTextInput.module.css
|
|
2
|
+
const styles = {
|
|
3
|
+
"textInput": "ContainsTextInput-module__textInput___VE1JFstL",
|
|
4
|
+
"inputGroup": "ContainsTextInput-module__inputGroup___ww0O5kep",
|
|
5
|
+
"searchIcon": "ContainsTextInput-module__searchIcon___O-6jW-zD",
|
|
6
|
+
"input": "ContainsTextInput-module__input___GP3qIOWL",
|
|
7
|
+
"clearButton": "ContainsTextInput-module__clearButton___4A9AsUvv"
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default styles;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
/*
|
|
3
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React, { memo } from "react";
|
|
19
|
+
import { formatDateForInput, parseDateFromInput } from "./dateUtils.js";
|
|
20
|
+
import { RangeInput } from "./RangeInput.js";
|
|
21
|
+
const dateConfig = {
|
|
22
|
+
inputType: "date",
|
|
23
|
+
formatValue: formatDateForInput,
|
|
24
|
+
parseValue: parseDateFromInput,
|
|
25
|
+
toNumber: d => d.getTime(),
|
|
26
|
+
fromNumber: t => new Date(t),
|
|
27
|
+
minLabel: "From",
|
|
28
|
+
maxLabel: "To",
|
|
29
|
+
formatTooltip: (min, max, count) => `${formatDateForInput(min)} - ${formatDateForInput(max)}: ${count.toLocaleString()}`
|
|
30
|
+
};
|
|
31
|
+
function DateRangeInputInner(props) {
|
|
32
|
+
return /*#__PURE__*/React.createElement(RangeInput, _extends({}, props, {
|
|
33
|
+
config: dateConfig
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
export const DateRangeInput = /*#__PURE__*/memo(DateRangeInputInner);
|
|
37
|
+
//# sourceMappingURL=DateRangeInput.js.map
|
|
@@ -0,0 +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 type { ObjectSet, ObjectTypeDefinition, PropertyKeys } from \"@osdk/api\";\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 Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q>,\n> {\n objectType: Q;\n propertyKey: K;\n minValue: Date | undefined;\n maxValue: Date | undefined;\n onChange: (min: Date | undefined, max: Date | undefined) => void;\n objectSet?: ObjectSet<Q>;\n showHistogram?: boolean;\n className?: string;\n style?: React.CSSProperties;\n}\n\nfunction DateRangeInputInner<\n Q extends ObjectTypeDefinition,\n K extends PropertyKeys<Q>,\n>(props: DateRangeInputProps<Q, K>): 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;;AAGA,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;AAiBD,SAASC,mBAAmBA,CAG1BC,KAAgC,EAAsB;EACtD,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":[]}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import classnames from "classnames";
|
|
18
|
+
import React, { memo, useCallback, useMemo } from "react";
|
|
19
|
+
import { assertUnreachable } from "../../utils/assertUnreachable.js";
|
|
20
|
+
import { coerceToString, coerceToStringArray } from "../../utils/coerceFilterValue.js";
|
|
21
|
+
import { CheckboxListInput } from "./CheckboxListInput.js";
|
|
22
|
+
import { ContainsTextInput } from "./ContainsTextInput.js";
|
|
23
|
+
import { DateRangeInput } from "./DateRangeInput.js";
|
|
24
|
+
import styles from "./LinkedPropertyInput.module.css.js";
|
|
25
|
+
import { ListogramInput } from "./ListogramInput.js";
|
|
26
|
+
import { MultiDateInput } from "./MultiDateInput.js";
|
|
27
|
+
import { MultiSelectInput } from "./MultiSelectInput.js";
|
|
28
|
+
import { NumberRangeInput } from "./NumberRangeInput.js";
|
|
29
|
+
import { SingleDateInput } from "./SingleDateInput.js";
|
|
30
|
+
import { SingleSelectInput } from "./SingleSelectInput.js";
|
|
31
|
+
import { TextTagsInput } from "./TextTagsInput.js";
|
|
32
|
+
import { TimelineInput } from "./TimelineInput.js";
|
|
33
|
+
import { ToggleInput } from "./ToggleInput.js";
|
|
34
|
+
function LinkedPropertyInputInner({
|
|
35
|
+
objectSet,
|
|
36
|
+
definition,
|
|
37
|
+
filterState,
|
|
38
|
+
onFilterStateChanged,
|
|
39
|
+
className,
|
|
40
|
+
style
|
|
41
|
+
}) {
|
|
42
|
+
const linkedObjectSet = useMemo(() => objectSet.pivotTo(definition.linkName), [objectSet, definition.linkName]);
|
|
43
|
+
const linkedObjectType = linkedObjectSet.$objectSetInternals.def;
|
|
44
|
+
const linkedPropertyKey = definition.linkedPropertyKey;
|
|
45
|
+
const innerState = filterState?.type === "linkedProperty" ? filterState.linkedFilterState : undefined;
|
|
46
|
+
const isExcluding = innerState?.isExcluding ?? false;
|
|
47
|
+
const includeNull = innerState?.includeNull;
|
|
48
|
+
const wrappedOnChange = useCallback(innerFilterState => {
|
|
49
|
+
onFilterStateChanged({
|
|
50
|
+
type: "linkedProperty",
|
|
51
|
+
linkedFilterState: innerFilterState
|
|
52
|
+
});
|
|
53
|
+
}, [onFilterStateChanged]);
|
|
54
|
+
const onSelectChange = useCallback(selectedValues => {
|
|
55
|
+
wrappedOnChange({
|
|
56
|
+
type: "SELECT",
|
|
57
|
+
selectedValues,
|
|
58
|
+
isExcluding
|
|
59
|
+
});
|
|
60
|
+
}, [wrappedOnChange, isExcluding]);
|
|
61
|
+
const onSingleSelectChange = useCallback(selectedValue => {
|
|
62
|
+
wrappedOnChange({
|
|
63
|
+
type: "SELECT",
|
|
64
|
+
selectedValues: selectedValue !== undefined ? [selectedValue] : [],
|
|
65
|
+
isExcluding
|
|
66
|
+
});
|
|
67
|
+
}, [wrappedOnChange, isExcluding]);
|
|
68
|
+
const onContainsTextChange = useCallback(value => {
|
|
69
|
+
wrappedOnChange({
|
|
70
|
+
type: "CONTAINS_TEXT",
|
|
71
|
+
value
|
|
72
|
+
});
|
|
73
|
+
}, [wrappedOnChange]);
|
|
74
|
+
const onToggleChange = useCallback(enabled => {
|
|
75
|
+
wrappedOnChange({
|
|
76
|
+
type: "TOGGLE",
|
|
77
|
+
enabled
|
|
78
|
+
});
|
|
79
|
+
}, [wrappedOnChange]);
|
|
80
|
+
const onNumberRangeChange = useCallback((minValue, maxValue) => {
|
|
81
|
+
wrappedOnChange({
|
|
82
|
+
type: "NUMBER_RANGE",
|
|
83
|
+
minValue,
|
|
84
|
+
maxValue,
|
|
85
|
+
includeNull
|
|
86
|
+
});
|
|
87
|
+
}, [wrappedOnChange, includeNull]);
|
|
88
|
+
const onDateRangeChange = useCallback((minValue, maxValue) => {
|
|
89
|
+
wrappedOnChange({
|
|
90
|
+
type: "DATE_RANGE",
|
|
91
|
+
minValue,
|
|
92
|
+
maxValue,
|
|
93
|
+
includeNull
|
|
94
|
+
});
|
|
95
|
+
}, [wrappedOnChange, includeNull]);
|
|
96
|
+
const onExactMatchChange = useCallback(values => {
|
|
97
|
+
wrappedOnChange({
|
|
98
|
+
type: "EXACT_MATCH",
|
|
99
|
+
values,
|
|
100
|
+
isExcluding
|
|
101
|
+
});
|
|
102
|
+
}, [wrappedOnChange, isExcluding]);
|
|
103
|
+
const onDateSelectChange = useCallback(date => {
|
|
104
|
+
wrappedOnChange({
|
|
105
|
+
type: "SELECT",
|
|
106
|
+
selectedValues: date !== undefined ? [date] : [],
|
|
107
|
+
isExcluding
|
|
108
|
+
});
|
|
109
|
+
}, [wrappedOnChange, isExcluding]);
|
|
110
|
+
const onMultiDateChange = useCallback(dates => {
|
|
111
|
+
wrappedOnChange({
|
|
112
|
+
type: "SELECT",
|
|
113
|
+
selectedValues: dates
|
|
114
|
+
});
|
|
115
|
+
}, [wrappedOnChange]);
|
|
116
|
+
const onTimelineChange = useCallback((start, end) => {
|
|
117
|
+
wrappedOnChange({
|
|
118
|
+
type: "TIMELINE",
|
|
119
|
+
startDate: start,
|
|
120
|
+
endDate: end,
|
|
121
|
+
isExcluding
|
|
122
|
+
});
|
|
123
|
+
}, [wrappedOnChange, isExcluding]);
|
|
124
|
+
const selectStringValues = useMemo(() => innerState?.type === "SELECT" ? coerceToStringArray(innerState.selectedValues) : [], [innerState]);
|
|
125
|
+
const singleSelectValue = useMemo(() => innerState?.type === "SELECT" ? coerceToString(innerState.selectedValues[0]) : undefined, [innerState]);
|
|
126
|
+
const exactMatchValues = useMemo(() => innerState?.type === "EXACT_MATCH" ? coerceToStringArray(innerState.values) : [], [innerState]);
|
|
127
|
+
const selectedDates = useMemo(() => innerState?.type === "SELECT" ? innerState.selectedValues.filter(v => v instanceof Date) : [], [innerState]);
|
|
128
|
+
const selectedDate = useMemo(() => innerState?.type === "SELECT" && innerState.selectedValues[0] instanceof Date ? innerState.selectedValues[0] : undefined, [innerState]);
|
|
129
|
+
const content = (() => {
|
|
130
|
+
switch (definition.linkedFilterComponent) {
|
|
131
|
+
case "CHECKBOX_LIST":
|
|
132
|
+
return /*#__PURE__*/React.createElement(CheckboxListInput, {
|
|
133
|
+
objectType: linkedObjectType,
|
|
134
|
+
objectSet: linkedObjectSet,
|
|
135
|
+
propertyKey: linkedPropertyKey,
|
|
136
|
+
selectedValues: selectStringValues,
|
|
137
|
+
onChange: onSelectChange
|
|
138
|
+
});
|
|
139
|
+
case "MULTI_SELECT":
|
|
140
|
+
return /*#__PURE__*/React.createElement(MultiSelectInput, {
|
|
141
|
+
objectType: linkedObjectType,
|
|
142
|
+
objectSet: linkedObjectSet,
|
|
143
|
+
propertyKey: linkedPropertyKey,
|
|
144
|
+
selectedValues: selectStringValues,
|
|
145
|
+
onChange: onSelectChange
|
|
146
|
+
});
|
|
147
|
+
case "SINGLE_SELECT":
|
|
148
|
+
return /*#__PURE__*/React.createElement(SingleSelectInput, {
|
|
149
|
+
objectType: linkedObjectType,
|
|
150
|
+
objectSet: linkedObjectSet,
|
|
151
|
+
propertyKey: linkedPropertyKey,
|
|
152
|
+
selectedValue: singleSelectValue,
|
|
153
|
+
onChange: onSingleSelectChange
|
|
154
|
+
});
|
|
155
|
+
case "CONTAINS_TEXT":
|
|
156
|
+
return /*#__PURE__*/React.createElement(ContainsTextInput, {
|
|
157
|
+
value: innerState?.type === "CONTAINS_TEXT" ? innerState.value : undefined,
|
|
158
|
+
onChange: onContainsTextChange,
|
|
159
|
+
placeholder: `Search ${String(definition.linkedPropertyKey)}...`
|
|
160
|
+
});
|
|
161
|
+
case "TOGGLE":
|
|
162
|
+
return /*#__PURE__*/React.createElement(ToggleInput, {
|
|
163
|
+
enabled: innerState?.type === "TOGGLE" ? innerState.enabled : false,
|
|
164
|
+
onChange: onToggleChange
|
|
165
|
+
});
|
|
166
|
+
case "NUMBER_RANGE":
|
|
167
|
+
{
|
|
168
|
+
const numberRange = innerState?.type === "NUMBER_RANGE" ? innerState : undefined;
|
|
169
|
+
return /*#__PURE__*/React.createElement(NumberRangeInput, {
|
|
170
|
+
objectType: linkedObjectType,
|
|
171
|
+
objectSet: linkedObjectSet,
|
|
172
|
+
propertyKey: linkedPropertyKey,
|
|
173
|
+
minValue: numberRange?.minValue,
|
|
174
|
+
maxValue: numberRange?.maxValue,
|
|
175
|
+
onChange: onNumberRangeChange
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
case "DATE_RANGE":
|
|
179
|
+
{
|
|
180
|
+
const dateRange = innerState?.type === "DATE_RANGE" ? innerState : undefined;
|
|
181
|
+
return /*#__PURE__*/React.createElement(DateRangeInput, {
|
|
182
|
+
objectType: linkedObjectType,
|
|
183
|
+
objectSet: linkedObjectSet,
|
|
184
|
+
propertyKey: linkedPropertyKey,
|
|
185
|
+
minValue: dateRange?.minValue,
|
|
186
|
+
maxValue: dateRange?.maxValue,
|
|
187
|
+
onChange: onDateRangeChange
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
case "LISTOGRAM":
|
|
191
|
+
return /*#__PURE__*/React.createElement(ListogramInput, {
|
|
192
|
+
objectType: linkedObjectType,
|
|
193
|
+
objectSet: linkedObjectSet,
|
|
194
|
+
propertyKey: linkedPropertyKey,
|
|
195
|
+
selectedValues: exactMatchValues,
|
|
196
|
+
onChange: onExactMatchChange
|
|
197
|
+
});
|
|
198
|
+
case "TEXT_TAGS":
|
|
199
|
+
return /*#__PURE__*/React.createElement(TextTagsInput, {
|
|
200
|
+
objectType: linkedObjectType,
|
|
201
|
+
objectSet: linkedObjectSet,
|
|
202
|
+
propertyKey: linkedPropertyKey,
|
|
203
|
+
tags: exactMatchValues,
|
|
204
|
+
onChange: onExactMatchChange
|
|
205
|
+
});
|
|
206
|
+
case "SINGLE_DATE":
|
|
207
|
+
return /*#__PURE__*/React.createElement(SingleDateInput, {
|
|
208
|
+
selectedDate: selectedDate,
|
|
209
|
+
onChange: onDateSelectChange,
|
|
210
|
+
showClearButton: true
|
|
211
|
+
});
|
|
212
|
+
case "MULTI_DATE":
|
|
213
|
+
return /*#__PURE__*/React.createElement(MultiDateInput, {
|
|
214
|
+
selectedDates: selectedDates,
|
|
215
|
+
onChange: onMultiDateChange,
|
|
216
|
+
showClearAll: true
|
|
217
|
+
});
|
|
218
|
+
case "TIMELINE":
|
|
219
|
+
{
|
|
220
|
+
const timeline = innerState?.type === "TIMELINE" ? innerState : undefined;
|
|
221
|
+
return /*#__PURE__*/React.createElement(TimelineInput, {
|
|
222
|
+
startDate: timeline?.startDate,
|
|
223
|
+
endDate: timeline?.endDate,
|
|
224
|
+
onChange: onTimelineChange
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
default:
|
|
228
|
+
return assertUnreachable(definition.linkedFilterComponent);
|
|
229
|
+
}
|
|
230
|
+
})();
|
|
231
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
232
|
+
className: classnames(styles.linkedProperty, className),
|
|
233
|
+
style: style
|
|
234
|
+
}, content);
|
|
235
|
+
}
|
|
236
|
+
export const LinkedPropertyInput = /*#__PURE__*/memo(LinkedPropertyInputInner);
|
|
237
|
+
//# sourceMappingURL=LinkedPropertyInput.js.map
|