@osdk/react-components 0.2.0-beta.27 → 0.2.0-beta.28
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 +7 -0
- package/README.md +58 -3
- package/build/browser/base-components/checkbox/Checkbox.js +6 -2
- package/build/browser/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/browser/base-components/checkbox/Checkbox.module.css +7 -2
- 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/ExcludeDropdown.js +4 -3
- package/build/browser/filter-list/base/ExcludeDropdown.js.map +1 -1
- package/build/browser/filter-list/base/FilterIcons.js +7 -1
- package/build/browser/filter-list/base/FilterIcons.js.map +1 -1
- package/build/browser/filter-list/base/FilterList.module.css +0 -3
- package/build/browser/filter-list/base/FilterListContent.js +38 -17
- package/build/browser/filter-list/base/FilterListContent.js.map +1 -1
- package/build/browser/filter-list/base/FilterListItem.js +33 -1
- package/build/browser/filter-list/base/FilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/FilterListItem.module.css +9 -6
- package/build/browser/filter-list/base/FilterListItem.module.css.js +1 -1
- package/build/browser/filter-list/base/SortableFilterListItem.js +3 -2
- package/build/browser/filter-list/base/SortableFilterListItem.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ListogramInput.js +25 -10
- package/build/browser/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css +8 -0
- package/build/browser/filter-list/base/inputs/ListogramInput.module.css.js +1 -0
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js +1 -1
- package/build/browser/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/browser/filter-list/base/inputs/RangeInput.js +5 -3
- package/build/browser/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/browser/filter-list/base/inputs/RangeInput.module.css +0 -6
- package/build/browser/filter-list/base/inputs/index.js +0 -1
- package/build/browser/filter-list/base/inputs/index.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterListState.js +7 -11
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/hooks/usePropertyAggregation.js +7 -2
- package/build/browser/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js +0 -35
- package/build/browser/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
- package/build/browser/filter-list/inputs/ListogramFilterInput.js +5 -2
- package/build/browser/filter-list/inputs/ListogramFilterInput.js.map +1 -1
- package/build/browser/filter-list/inputs/PropertyFilterInput.js +0 -13
- package/build/browser/filter-list/inputs/PropertyFilterInput.js.map +1 -1
- package/build/browser/filter-list/utils/filterStateToWhereClause.js +2 -7
- package/build/browser/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/browser/styles.css +24 -120
- package/build/cjs/public/experimental.cjs +1353 -1457
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.css +133 -189
- package/build/cjs/public/experimental.css.map +1 -1
- package/build/cjs/public/experimental.d.cts +6 -14
- package/build/esm/base-components/checkbox/Checkbox.js +6 -2
- package/build/esm/base-components/checkbox/Checkbox.js.map +1 -1
- package/build/esm/base-components/checkbox/Checkbox.module.css +7 -2
- 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/ExcludeDropdown.js +4 -3
- package/build/esm/filter-list/base/ExcludeDropdown.js.map +1 -1
- package/build/esm/filter-list/base/FilterIcons.js +7 -1
- package/build/esm/filter-list/base/FilterIcons.js.map +1 -1
- package/build/esm/filter-list/base/FilterList.module.css +0 -3
- package/build/esm/filter-list/base/FilterListContent.js +38 -17
- package/build/esm/filter-list/base/FilterListContent.js.map +1 -1
- package/build/esm/filter-list/base/FilterListItem.js +33 -1
- package/build/esm/filter-list/base/FilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/FilterListItem.module.css +9 -6
- package/build/esm/filter-list/base/SortableFilterListItem.js +3 -2
- package/build/esm/filter-list/base/SortableFilterListItem.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ListogramInput.js +25 -10
- package/build/esm/filter-list/base/inputs/ListogramInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/ListogramInput.module.css +8 -0
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js +1 -1
- package/build/esm/filter-list/base/inputs/NullValueWrapper.js.map +1 -1
- package/build/esm/filter-list/base/inputs/RangeInput.js +5 -3
- package/build/esm/filter-list/base/inputs/RangeInput.js.map +1 -1
- package/build/esm/filter-list/base/inputs/RangeInput.module.css +0 -6
- package/build/esm/filter-list/base/inputs/index.js +0 -1
- package/build/esm/filter-list/base/inputs/index.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterListState.js +7 -11
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/hooks/usePropertyAggregation.js +7 -2
- package/build/esm/filter-list/hooks/usePropertyAggregation.js.map +1 -1
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js +0 -35
- package/build/esm/filter-list/inputs/LinkedPropertyInput.js.map +1 -1
- package/build/esm/filter-list/inputs/ListogramFilterInput.js +5 -2
- package/build/esm/filter-list/inputs/ListogramFilterInput.js.map +1 -1
- package/build/esm/filter-list/inputs/PropertyFilterInput.js +0 -13
- package/build/esm/filter-list/inputs/PropertyFilterInput.js.map +1 -1
- package/build/esm/filter-list/utils/filterStateToWhereClause.js +2 -7
- package/build/esm/filter-list/utils/filterStateToWhereClause.js.map +1 -1
- package/build/types/base-components/checkbox/Checkbox.d.ts +2 -1
- package/build/types/base-components/checkbox/Checkbox.d.ts.map +1 -1
- package/build/types/filter-list/FilterListApi.d.ts +0 -7
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/FilterListItemApi.d.ts +6 -7
- package/build/types/filter-list/FilterListItemApi.d.ts.map +1 -1
- package/build/types/filter-list/base/ExcludeDropdown.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterIcons.d.ts +1 -0
- package/build/types/filter-list/base/FilterIcons.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListContent.d.ts.map +1 -1
- package/build/types/filter-list/base/FilterListItem.d.ts.map +1 -1
- package/build/types/filter-list/base/SortableFilterListItem.d.ts +2 -1
- package/build/types/filter-list/base/SortableFilterListItem.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts +2 -1
- package/build/types/filter-list/base/inputs/ListogramInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/RangeInput.d.ts.map +1 -1
- package/build/types/filter-list/base/inputs/index.d.ts +0 -1
- package/build/types/filter-list/base/inputs/index.d.ts.map +1 -1
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts +1 -0
- package/build/types/filter-list/hooks/usePropertyAggregation.d.ts.map +1 -1
- package/build/types/filter-list/inputs/LinkedPropertyInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/ListogramFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/inputs/PropertyFilterInput.d.ts.map +1 -1
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts +1 -1
- package/build/types/filter-list/utils/filterStateToWhereClause.d.ts.map +1 -1
- package/package.json +5 -5
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js +0 -83
- package/build/browser/filter-list/base/inputs/CheckboxListInput.js.map +0 -1
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css +0 -65
- package/build/browser/filter-list/base/inputs/CheckboxListInput.module.css.js +0 -10
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js +0 -46
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.js.map +0 -1
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css +0 -32
- package/build/browser/filter-list/base/inputs/CheckboxListSkeleton.module.css.js +0 -8
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js +0 -66
- package/build/browser/filter-list/inputs/CheckboxListFilterInput.js.map +0 -1
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js +0 -83
- package/build/esm/filter-list/base/inputs/CheckboxListInput.js.map +0 -1
- package/build/esm/filter-list/base/inputs/CheckboxListInput.module.css +0 -65
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js +0 -46
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.js.map +0 -1
- package/build/esm/filter-list/base/inputs/CheckboxListSkeleton.module.css +0 -32
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js +0 -66
- package/build/esm/filter-list/inputs/CheckboxListFilterInput.js.map +0 -1
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts +0 -16
- package/build/types/filter-list/base/inputs/CheckboxListInput.d.ts.map +0 -1
- package/build/types/filter-list/base/inputs/CheckboxListSkeleton.d.ts +0 -2
- package/build/types/filter-list/base/inputs/CheckboxListSkeleton.d.ts.map +0 -1
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts +0 -17
- package/build/types/filter-list/inputs/CheckboxListFilterInput.d.ts.map +0 -1
|
@@ -53,19 +53,12 @@ export interface FilterListProps<Q extends ObjectTypeDefinition> {
|
|
|
53
53
|
filterClause?: WhereClause<Q>;
|
|
54
54
|
/**
|
|
55
55
|
* Called when the filter clause changes.
|
|
56
|
-
* The filters are joined by the selected filterOperator.
|
|
57
56
|
* Required in controlled mode.
|
|
58
57
|
*
|
|
59
58
|
* @param newClause The updated filter clause
|
|
60
59
|
*/
|
|
61
60
|
onFilterClauseChanged?: (newClause: WhereClause<Q>) => void;
|
|
62
61
|
/**
|
|
63
|
-
* The logical operator to join multiple filters
|
|
64
|
-
*
|
|
65
|
-
* @default "and"
|
|
66
|
-
*/
|
|
67
|
-
filterOperator?: "and" | "or";
|
|
68
|
-
/**
|
|
69
62
|
* Called when filter state changes
|
|
70
63
|
*
|
|
71
64
|
* @param definition The filter definition whose state changed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,WACA,WACA,sBACA,mBACK,WAAY;AACnB,YAAY,WAAW,OAAQ;AAC/B,cAAc,iBAAiB,OAAQ;AACvC,cACE,eAAe,iBACf,gCACK,wBAAyB;AAChC,cAAc,8BAA8B,gCAAiC;AAC7E,cAAc,qCAAqC,+BAAgC;AACnF,cACE,yBACA,sCACK,8BAA+B;;;;AAKtC,YAAY,sBAAsB,UAAU,wBACxC,yBAAyB,KACzB,wBAAwB,KACxB,+BAA+B,GAAG,UAAU,MAC5C,8BAA8B,KAC9B,uBAAuB;;;;AAK3B,YAAY,UAAU,UAAU,wBAC9B,sBAAsB,iBAAiB,IAAI,UAAU;CAAE,WAAW;AAAG,IAAG,IACpE,UAAU;CAAE,gBAAgB;AAAG,IAAG;;;;AAOxC,YAAY,YAAY,UAAU,wBAChC,sBAAsB,iBAAiB,IACnC,UAAU;CAAE,mBAAmB;AAAG,IAAG;;;;;AAQ3C,YAAY,gBAAgB,UAAU,wBAAwB,IAC5D,sBAAsB,IACtB;AAGF,iBAAiB,gBAAgB,UAAU,sBAAsB;;;;CAI/D,WAAW,UAAU;;;;CAKrB,QAAQ;;;;CAKR,YAAY,MAAM;;;;;CAMlB,oBAAoB,MAAM,sBAAsB;;;;;CAMhD,eAAe,YAAY
|
|
1
|
+
{"mappings":"AAgBA,cACE,WACA,WACA,sBACA,mBACK,WAAY;AACnB,YAAY,WAAW,OAAQ;AAC/B,cAAc,iBAAiB,OAAQ;AACvC,cACE,eAAe,iBACf,gCACK,wBAAyB;AAChC,cAAc,8BAA8B,gCAAiC;AAC7E,cAAc,qCAAqC,+BAAgC;AACnF,cACE,yBACA,sCACK,8BAA+B;;;;AAKtC,YAAY,sBAAsB,UAAU,wBACxC,yBAAyB,KACzB,wBAAwB,KACxB,+BAA+B,GAAG,UAAU,MAC5C,8BAA8B,KAC9B,uBAAuB;;;;AAK3B,YAAY,UAAU,UAAU,wBAC9B,sBAAsB,iBAAiB,IAAI,UAAU;CAAE,WAAW;AAAG,IAAG,IACpE,UAAU;CAAE,gBAAgB;AAAG,IAAG;;;;AAOxC,YAAY,YAAY,UAAU,wBAChC,sBAAsB,iBAAiB,IACnC,UAAU;CAAE,mBAAmB;AAAG,IAAG;;;;;AAQ3C,YAAY,gBAAgB,UAAU,wBAAwB,IAC5D,sBAAsB,IACtB;AAGF,iBAAiB,gBAAgB,UAAU,sBAAsB;;;;CAI/D,WAAW,UAAU;;;;CAKrB,QAAQ;;;;CAKR,YAAY,MAAM;;;;;CAMlB,oBAAoB,MAAM,sBAAsB;;;;;CAMhD,eAAe,YAAY;;;;;;;CAQ3B,yBAAyBA,WAAW,YAAY;;;;;;;CAQhD,wBACEC,YAAY,sBAAsB,IAClCC,UAAU;;;;;;;;;;;;;CAeZ,gBAAgB,eAAe;;;;;;;;;;CAW/B,iBACEC,WAAW,UAAU,IACrBC,gBAAgB,MAAM,sBAAsB;;;;;;;;;CAW9C,mBAAmBD,WAAW,UAAU;;;;;;;CAQxC;;;;CAKA;;;;CAKA,qBAAqBE;;;;;;CAOrB,sBAAsB,YAAY;;;;CAKlC;;;;CAKA;;;;CAKA;;;;CAKA;;;;;;;;;CAUA,8BAA8B,MAAM;AACrC","names":["newClause: WhereClause<Q>","definition: FilterDefinitionUnion<Q>","newState: FilterStateType","filterKey: FilterKey<Q>","newDefinitions: Array<FilterDefinitionUnion<Q>>","collapsed: boolean"],"sources":["../../../src/filter-list/FilterListApi.ts"],"version":3,"file":"FilterListApi.d.ts"}
|
|
@@ -12,11 +12,11 @@ export type PropertyTypeFromKey<
|
|
|
12
12
|
/**
|
|
13
13
|
* All available filter component types
|
|
14
14
|
*/
|
|
15
|
-
export type FilterComponentType = "LISTOGRAM" | "DATE_RANGE" | "NUMBER_RANGE" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" | "
|
|
15
|
+
export type FilterComponentType = "LISTOGRAM" | "DATE_RANGE" | "NUMBER_RANGE" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" | "TOGGLE";
|
|
16
16
|
/**
|
|
17
17
|
* Gets valid component types for a given property type
|
|
18
18
|
*/
|
|
19
|
-
export type ValidComponentsForPropertyType<P extends WirePropertyTypes> = P extends "boolean" ? "LISTOGRAM" | "
|
|
19
|
+
export type ValidComponentsForPropertyType<P extends WirePropertyTypes> = P extends "boolean" ? "LISTOGRAM" | "SINGLE_SELECT" | "TOGGLE" : P extends "string" ? "LISTOGRAM" | "TEXT_TAGS" | "CONTAINS_TEXT" | "SINGLE_SELECT" | "MULTI_SELECT" : P extends "datetime" | "timestamp" ? "DATE_RANGE" | "SINGLE_DATE" | "MULTI_DATE" | "TIMELINE" : P extends "double" | "integer" | "long" | "float" | "short" | "byte" | "decimal" ? "NUMBER_RANGE" | "SINGLE_SELECT" | "MULTI_SELECT" : never;
|
|
20
20
|
/**
|
|
21
21
|
* Union of all possible filter states
|
|
22
22
|
*/
|
|
@@ -35,7 +35,6 @@ export interface FilterStateByComponentType {
|
|
|
35
35
|
SINGLE_DATE: SelectFilterState<Date>;
|
|
36
36
|
MULTI_DATE: SelectFilterState<Date>;
|
|
37
37
|
TIMELINE: TimelineFilterState;
|
|
38
|
-
CHECKBOX_LIST: SelectFilterState<string>;
|
|
39
38
|
TOGGLE: ToggleFilterState;
|
|
40
39
|
}
|
|
41
40
|
/**
|
|
@@ -94,7 +93,7 @@ export interface NumberRangeFilterState extends BaseFilterState {
|
|
|
94
93
|
}
|
|
95
94
|
/**
|
|
96
95
|
* Consolidated state type for select-based filters.
|
|
97
|
-
* Used by SINGLE_SELECT, MULTI_SELECT, SINGLE_DATE,
|
|
96
|
+
* Used by SINGLE_SELECT, MULTI_SELECT, SINGLE_DATE, and MULTI_DATE.
|
|
98
97
|
*/
|
|
99
98
|
export interface SelectFilterState<T = string | boolean | number | Date> extends BaseFilterState {
|
|
100
99
|
type: "SELECT";
|
|
@@ -114,8 +113,8 @@ export interface ToggleFilterState extends BaseFilterState {
|
|
|
114
113
|
* A property filter definition specifies configuration for filtering on a single property
|
|
115
114
|
*
|
|
116
115
|
* The component type C must be compatible with the property type derived from the key.
|
|
117
|
-
* For example, boolean properties can only use LISTOGRAM
|
|
118
|
-
* while string properties can use LISTOGRAM, TEXT_TAGS, CONTAINS_TEXT, SINGLE_SELECT,
|
|
116
|
+
* For example, boolean properties can only use LISTOGRAM or SINGLE_SELECT,
|
|
117
|
+
* while string properties can use LISTOGRAM, TEXT_TAGS, CONTAINS_TEXT, SINGLE_SELECT, or MULTI_SELECT.
|
|
119
118
|
*/
|
|
120
119
|
export interface PropertyFilterDefinition<
|
|
121
120
|
Q extends ObjectTypeDefinition,
|
|
@@ -150,7 +149,7 @@ export interface PropertyFilterDefinition<
|
|
|
150
149
|
filterState: FilterStateByComponentType[C];
|
|
151
150
|
/**
|
|
152
151
|
* Maps filter values to colors for visual differentiation.
|
|
153
|
-
* Used by
|
|
152
|
+
* Used by LISTOGRAM (per-row bar colors).
|
|
154
153
|
*/
|
|
155
154
|
colorMap?: Record<string, string>;
|
|
156
155
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,qBACA,WACA,sBACA,cACA,yBACK,WAAY;AACnB,cAAc,yBAAyB,gCAAiC;AACxE,cAAc,gCAAgC,+BAAgC;AAC9E,cACE,oBACA,iCACK,8BAA+B;;;;AAKtC,YAAY;CACV,UAAU;CACV,UAAU,aAAa;IACrB,oBAAoB,GAAG,cAAc,GAAG;;;;AAK5C,YAAY,sBACR,cACA,eACA,iBACA,cACA,kBACA,kBACA,iBACA,gBACA,eACA,aACA
|
|
1
|
+
{"mappings":"AAgBA,cACE,qBACA,WACA,sBACA,cACA,yBACK,WAAY;AACnB,cAAc,yBAAyB,gCAAiC;AACxE,cAAc,gCAAgC,+BAAgC;AAC9E,cACE,oBACA,iCACK,8BAA+B;;;;AAKtC,YAAY;CACV,UAAU;CACV,UAAU,aAAa;IACrB,oBAAoB,GAAG,cAAc,GAAG;;;;AAK5C,YAAY,sBACR,cACA,eACA,iBACA,cACA,kBACA,kBACA,iBACA,gBACA,eACA,aACA;;;;AAKJ,YAAY,+BAA+B,UAAU,qBACnD,UAAU,YAAY,cAAc,kBAAkB,WAClD,UAAU,WACN,cACA,cACA,kBACA,kBACA,iBACJ,UAAU,aAAa,cACrB,eAAe,gBAAgB,eAAe,aAChD,UACE,WACA,YACA,SACA,UACA,UACA,SACA,YAAY,iBAAiB,kBAAkB;;;;AAMvD,YAAY,cACR,0CACA,uBACA,0BACA,yBACA,+CACA,kBAAkB,QAClB,sBACA,oBACA,qBACA,4BACA,2BACA;;;;AAKJ,iBAAiB,2BAA2B;CAC1C,WAAW;CACX,YAAY;CACZ,WAAW;CACX,eAAe;CACf,cAAc;CACd,eAAe;CACf,cAAc;CACd,aAAa,kBAAkB;CAC/B,YAAY,kBAAkB;CAC9B,UAAU;CACV,QAAQ;AACT;;;;AAKD,YAAY,kBACR,gBACA,eACA,iBACA,kBACA,WACA,aACA,WACA,YACA,mBACA,kBACA;;;;;AAMJ,iBAAiB,gBAAgB;;;;CAI/B,MAAM;;;;;CAMN;;;;;CAMA;AACD;AAED,iBAAiB,sBAAsB,8BAC7B,gBACV;CACE,MAAM;CACN,QAAQ;AACT;AAED,iBAAiB,6BAA6B,gBAAgB;CAC5D,MAAM;;;;CAIN,WAAW;;;;CAIX,WAAW;AACZ;AAED,iBAAiB,gCAAgC,gBAAgB;CAC/D,MAAM;CACN;AACD;AAED,iBAAiB,+BAA+B,gBAAgB;CAC9D,MAAM;;;;CAIN;;;;CAIA;AACD;;;;;AAMD,iBAAiB,kBAAkB,gCAAgC,cACzD,gBACV;CACE,MAAM;CACN,gBAAgB;AACjB;AAED,iBAAiB,4BAA4B,gBAAgB;CAC3D,MAAM;CACN,YAAY;CACZ,UAAU;CACV,cAAc,QAAQ,SAAS,UAAU,YAAY;AACtD;AAED,iBAAiB,0BAA0B,gBAAgB;CACzD,MAAM;CACN;AACD;;;;;;;;AASD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;EAC1D;;;;CAIA,MAAM;;;;CAKN;;;;CAKA,KAAK;;;;CAKL;;;;;CAMA,iBAAiB;;;;;CAMjB,aAAa,2BAA2B;;;;;CAMxC,WAAW;;;;;CAMX,kBAAkB;EAChB,cAAc,SAAS,UAAU;EACjC;CACD;;;;;;CAOD;AACD;;;;;AAMD,iBAAiB;CACf,UAAU;CACV,UAAU,aAAa,KAAK,aAAa;CACzC,UAAU,+BACR,oBAAoB,GAAG,MACrB,+BAA+B,oBAAoB,GAAG;UAClD,yBAAyB,GAAG,GAAG,GAAG;CAC1C,WAAW,UAAU;;;;;CAMrB,uBAAuBA,OAAO,2BAA2B;CAEzD,mBAAmBC,KAAK,aAAa;AACtC","names":["state: FilterStateByComponentType[C]","key: PropertyKeys<Q>"],"sources":["../../../src/filter-list/FilterListItemApi.ts"],"version":3,"file":"FilterListItemApi.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAiBA,OAAO,WAAkC,OAAQ;UAIvC,qBAAqB;CAC7B;CACA;AACD;AAED,iBAAS,qBAAqB,EAC5B,aACA,iBACqB,EAApB,uBAAuB,MAAM;
|
|
1
|
+
{"mappings":"AAiBA,OAAO,WAAkC,OAAQ;UAIvC,qBAAqB;CAC7B;CACA;AACD;AAED,iBAAS,qBAAqB,EAC5B,aACA,iBACqB,EAApB,uBAAuB,MAAM;AA0DhC,OAAO,cAAMA,iBAAiB,MAAM,2BAC3B","names":["ExcludeDropdown: React.MemoExoticComponent<\n typeof ExcludeDropdownInner\n>"],"sources":["../../../../src/filter-list/base/ExcludeDropdown.tsx"],"version":3,"file":"ExcludeDropdown.d.ts"}
|
|
@@ -7,3 +7,4 @@ export declare function CollapseIcon(): React.ReactElement;
|
|
|
7
7
|
export declare function ExpandIcon(): React.ReactElement;
|
|
8
8
|
export declare function ResetIcon(): React.ReactElement;
|
|
9
9
|
export declare function CheckIcon(): React.ReactElement;
|
|
10
|
+
export declare function ExcludeIcon(): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AA2BA,OAAO,WAAW,OAAQ;AAE1B,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,oBAAoB,MAAM;AAI1C,OAAO,iBAAS,mBAAmB,MAAM;AAIzC,OAAO,iBAAS,gBAAgB,MAAM;AAItC,OAAO,iBAAS,cAAc,MAAM;AAIpC,OAAO,iBAAS,aAAa,MAAM;AAInC,OAAO,iBAAS,aAAa,MAAM;AAInC,OAAO,iBAAS,eAAe,MAAM","names":[],"sources":["../../../../src/filter-list/base/FilterIcons.tsx"],"version":3,"file":"FilterIcons.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAwCA,OAAO,WAA+C,OAAQ;AAC9D,cAAc,mBAAmB,yBAA0B;AAC3D,cAAc,yBAAyB,wBAAyB;UAsBtD,uBAAuB,GAAG;CAClC,oBAAoB,MAAM;CAC1B,cAAc,YAAY;CAC1B,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;CAC/B,eAAeE,YAAY;CAC3B,iBAAiBA,YAAY;CAC7B;CACA;CACA,QAAQ,MAAM;AACf;AAED,OAAO,iBAAS,kBAAkB,GAAG,EACnC,mBACA,cACA,sBACA,iBACA,aACA,cACA,gBACA,eACA,WACA,OAC0B,EAAzB,uBAAuB,KAAK,MAAM","names":["filterKey: string","state: FilterState","definition: D"],"sources":["../../../../src/filter-list/base/FilterListContent.tsx"],"version":3,"file":"FilterListContent.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAkBA,cACE,qBACA,mCACK,eAAgB;AAEvB,OAAO,WAA4C,OAAQ;AAE3D,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,yBAAyB,wBAAyB;
|
|
1
|
+
{"mappings":"AAkBA,cACE,qBACA,mCACK,eAAgB;AAEvB,OAAO,WAA4C,OAAQ;AAE3D,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,yBAAyB,wBAAyB;UAqCtD,oBAAoB,GAAG;CAC/B,YAAY;CACZ;CACA;CACA,aAAa;CACb,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;CAC/B,uBAAuB;CACvB,sBAAsB;CACtB;CACA,QAAQ,MAAM;AACf;AAED,iBAAS,oBAAoB,GAAG,EAC9B,YACA,WACA,OACA,aACA,sBACA,iBACA,aACA,sBACA,qBACA,WACA,OACuB,EAAtB,oBAAoB,KAAK,MAAM;AAiJlC,OAAO,cAAM,uBAED","names":["filterKey: string","state: FilterState"],"sources":["../../../../src/filter-list/base/FilterListItem.tsx"],"version":3,"file":"FilterListItem.d.ts"}
|
|
@@ -11,5 +11,6 @@ interface SortableFilterListItemProps<D> {
|
|
|
11
11
|
onFilterRemoved?: (filterKey: string) => void;
|
|
12
12
|
renderInput: RenderFilterInput<D>;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
declare function SortableFilterListItemInner<D>({ id, definition, filterKey, label, filterState, onFilterStateChanged, onFilterRemoved, renderInput }: SortableFilterListItemProps<D>): React.ReactElement;
|
|
15
|
+
export declare const SortableFilterListItem: typeof SortableFilterListItemInner;
|
|
15
16
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAmBA,OAAO,
|
|
1
|
+
{"mappings":"AAmBA,OAAO,WAA8B,OAAQ;AAC7C,cAAc,mBAAmB,yBAA0B;AAC3D,cAAc,yBAAyB,wBAAyB;UAItD,4BAA4B,GAAG;CACvC;CACA,YAAY;CACZ;CACA;CACA,aAAa;CACb,uBACEA,mBACAC,OAAO;CAET,mBAAmBD;CACnB,aAAa,kBAAkB;AAChC;AAED,iBAAS,4BAA4B,GAAG,EACtC,IACA,YACA,WACA,OACA,aACA,sBACA,iBACA,aAC+B,EAA9B,4BAA4B,KAAK,MAAM;AAoC1C,OAAO,cAAM,+BAED","names":["filterKey: string","state: FilterState"],"sources":["../../../../src/filter-list/base/SortableFilterListItem.tsx"],"version":3,"file":"SortableFilterListItem.d.ts"}
|
|
@@ -10,11 +10,12 @@ interface ListogramInputProps {
|
|
|
10
10
|
onChange: (values: string[]) => void;
|
|
11
11
|
colorMap?: Record<string, string>;
|
|
12
12
|
displayMode?: ListogramDisplayMode;
|
|
13
|
+
isExcluding?: boolean;
|
|
13
14
|
className?: string;
|
|
14
15
|
style?: React.CSSProperties;
|
|
15
16
|
maxVisibleItems?: number;
|
|
16
17
|
searchQuery?: string;
|
|
17
18
|
}
|
|
18
|
-
declare function ListogramInputInner({ values, maxCount, isLoading, error, selectedValues, onChange, colorMap, displayMode, className, style, maxVisibleItems, searchQuery }: ListogramInputProps): React.ReactElement;
|
|
19
|
+
declare function ListogramInputInner({ values, maxCount, isLoading, error, selectedValues, onChange, colorMap, displayMode, isExcluding, className, style, maxVisibleItems, searchQuery }: ListogramInputProps): React.ReactElement;
|
|
19
20
|
export declare const ListogramInput: typeof ListogramInputInner;
|
|
20
21
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAkBA,OAAO,WAAqD,OAAQ;
|
|
1
|
+
{"mappings":"AAkBA,OAAO,WAAqD,OAAQ;AAEpE,cAAc,gCAAgC,iCAAkC;AAOhF,YAAY,uBAAuB,SAAS,UAAU;UAE5C,oBAAoB;CAC5B,QAAQ;CACR;CACA;CACA,OAAO;CACP;CACA,WAAWA;CACX,WAAW;CACX,cAAc;CACd;CACA;CACA,QAAQ,MAAM;CACd;CACA;AACD;AAED,iBAAS,oBAAoB,EAC3B,QACA,UACA,WACA,OACA,gBACA,UACA,UACA,aACA,aACA,WACA,OACA,iBACA,aACoB,EAAnB,sBAAsB,MAAM;AAiI/B,OAAO,cAAM,uBAED","names":["values: string[]"],"sources":["../../../../../src/filter-list/base/inputs/ListogramInput.tsx"],"version":3,"file":"ListogramInput.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAmBA,OAAO,WAQA,OAAQ;
|
|
1
|
+
{"mappings":"AAmBA,OAAO,WAQA,OAAQ;AAYf,iBAAiB,iBAAiB,GAAG;CACnC,WAAW,WAAW;CACtB,cAAcA,OAAO;CACrB,aAAaC,kBAAkB;CAC/B,WAAWC,OAAO;CAClB,aAAaC,kBAAkB;CAC/B;CACA;CACA,gBAAgBC,KAAK,GAAGC,KAAK,GAAGC;CAChC,qBAAqBJ,OAAO;CAC5B,aAAa,MAAM,oBAAoB;AACxC;AAED,iBAAiB,gBAAgB,GAAG;CAClC,iBAAiB,MAAM;EAAE,OAAO;EAAG;CAAe;CAClD;CACA,UAAU;CACV,UAAU;CACV,WAAWK,KAAK,eAAeC,KAAK;CACpC;CACA;CACA,QAAQ,MAAM;CACd,QAAQ,iBAAiB;AAC1B;AAED,iBAAS,gBAAgB,GAAG,EAC1B,iBACA,WACA,UACA,UACA,UACA,eACA,WACA,OACA,QACmB,EAAlB,gBAAgB,KAAK,MAAM;AAoM9B,OAAO,cAAM,mBAA6C","names":["value: T | undefined","value: string","value: T","value: number","min: T","max: T","count: number","min: T | undefined","max: T | undefined"],"sources":["../../../../../src/filter-list/base/inputs/RangeInput.tsx"],"version":3,"file":"RangeInput.d.ts"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { formatDateForDisplay, formatDateForInput, parseDateFromInput } from "../../../shared/dateUtils.js";
|
|
2
|
-
export { CheckboxListInput } from "./CheckboxListInput.js";
|
|
3
2
|
export { ContainsTextInput } from "./ContainsTextInput.js";
|
|
4
3
|
export { DateRangeInput } from "./DateRangeInput.js";
|
|
5
4
|
export { NullValueWrapper } from "./NullValueWrapper.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,SACE,sBACA,oBACA,0BACK;AACP,SAAS,yBAAyB;AAClC,SAAS,
|
|
1
|
+
{"mappings":"AAgBA,SACE,sBACA,oBACA,0BACK;AACP,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB","names":[],"sources":["../../../../../src/filter-list/base/inputs/index.ts"],"version":3,"file":"index.d.ts"}
|
|
@@ -10,6 +10,7 @@ export interface UsePropertyAggregationResult {
|
|
|
10
10
|
export interface UsePropertyAggregationOptions<Q extends ObjectTypeDefinition = ObjectTypeDefinition> {
|
|
11
11
|
limit?: number;
|
|
12
12
|
where?: WhereClause<Q>;
|
|
13
|
+
sortBy?: "count" | "value";
|
|
13
14
|
}
|
|
14
15
|
export declare function usePropertyAggregation<
|
|
15
16
|
Q extends ObjectTypeDefinition,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAEE,WACA,sBACA,cACA,mBACK,WAAY;AAKnB,cAAc,gCAAgC;AAE9C,cAAc,gCAAgC,8BAA+B;AAE7E,iBAAiB,6BAA6B;CAC5C,MAAM;CACN;CACA;CACA,OAAO;AACR;AAED,iBAAiB,8BACf,UAAU,uBAAuB,sBACjC;CACA;CACA,QAAQ,YAAY;
|
|
1
|
+
{"mappings":"AAgBA,cAEE,WACA,sBACA,cACA,mBACK,WAAY;AAKnB,cAAc,gCAAgC;AAE9C,cAAc,gCAAgC,8BAA+B;AAE7E,iBAAiB,6BAA6B;CAC5C,MAAM;CACN;CACA;CACA,OAAO;AACR;AAED,iBAAiB,8BACf,UAAU,uBAAuB,sBACjC;CACA;CACA,QAAQ,YAAY;CACpB,SAAS,UAAU;AACpB;AAED,OAAO,iBAAS;CACd,UAAU;CACV,UAAU,aAAa;EAEvBA,YAAY,GACZC,aAAa,GACbC,WAAW,UAAU,IACrBC,UAAU,8BAA8B,KACvC","names":["objectType: Q","propertyKey: K","objectSet: ObjectSet<Q>","options?: UsePropertyAggregationOptions<Q>"],"sources":["../../../../src/filter-list/hooks/usePropertyAggregation.ts"],"version":3,"file":"usePropertyAggregation.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,WACA,WACA,sBACA,oBACK,WAAY;AAGnB,OAAO,WAA2C,OAAQ;
|
|
1
|
+
{"mappings":"AAgBA,cACE,WACA,WACA,sBACA,oBACK,WAAY;AAGnB,OAAO,WAA2C,OAAQ;AAe1D,cAAc,mBAAmB,yBAA0B;AAE3D,cAAc,sCAAsC,+BAAgC;UAW1E;CACR,UAAU;CACV,UAAU,UAAU;EACpB;CACA,WAAW,UAAU;CACrB,YAAY,+BACV,GACA,GACA,sBACA,aAAa;CAEf,aAAa;CACb,uBAAuBA,OAAO;CAC9B;CACA;CACA,QAAQ,MAAM;AACf;AAED,iBAAS;CACP,UAAU;CACV,UAAU,UAAU;EACpB,EACA,WACA,YACA,aACA,sBACA,aACA,WACA,OAC+B,EAA9B,yBAAyB,GAAG,KAAK,MAAM;AAwU1C,OAAO,cAAMC,4BAA4B","names":["state: FilterState","LinkedPropertyInput: typeof LinkedPropertyInputInner"],"sources":["../../../../src/filter-list/inputs/LinkedPropertyInput.tsx"],"version":3,"file":"LinkedPropertyInput.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,WACA,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAIjD,0BAA0B,UAAU,sBAAsB;CAClE,YAAY;CACZ,WAAW,UAAU;CACrB;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB,WAAW;CACX,cAAc,SAAS,UAAU;CACjC;CACA;CACA;AACD;AAED,iBAAS,0BAA0B,UAAU,sBAAsB,EACjE,YACA,WACA,aACA,aACA,sBACA,aACA,UACA,aACA,iBACA,aACA,gBAC6B,EAA5B,0BAA0B,KAAK,MAAM;
|
|
1
|
+
{"mappings":"AAgBA,cACE,WACA,sBAEA,mBACK,WAAY;AACnB,OAAO,WAA2C,OAAQ;AAG1D,cAAc,mBAAmB,yBAA0B;UAIjD,0BAA0B,UAAU,sBAAsB;CAClE,YAAY;CACZ,WAAW,UAAU;CACrB;CACA,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB,WAAW;CACX,cAAc,SAAS,UAAU;CACjC;CACA;CACA;AACD;AAED,iBAAS,0BAA0B,UAAU,sBAAsB,EACjE,YACA,WACA,aACA,aACA,sBACA,aACA,UACA,aACA,iBACA,aACA,gBAC6B,EAA5B,0BAA0B,KAAK,MAAM;AA4DxC,OAAO,cAAMC,6BAA6B","names":["state: FilterState","ListogramFilterInput: typeof ListogramFilterInputInner"],"sources":["../../../../src/filter-list/inputs/ListogramFilterInput.tsx"],"version":3,"file":"ListogramFilterInput.d.ts"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,WAAW,sBAAsB,mBAAmB,WAAY;AAC9E,OAAO,WAAqB,OAAQ;AAEpC,cAAc,6BAA6B,qBAAsB;AACjE,cAAc,mBAAmB,yBAA0B;
|
|
1
|
+
{"mappings":"AAgBA,cAAc,WAAW,sBAAsB,mBAAmB,WAAY;AAC9E,OAAO,WAAqB,OAAQ;AAEpC,cAAc,6BAA6B,qBAAsB;AACjE,cAAc,mBAAmB,yBAA0B;UAajD,yBAAyB,UAAU,sBAAsB;CACjE,YAAY;CACZ,WAAW,UAAU;CACrB,YAAY,QAAQ,sBAAsB,IAAI;EAAE,MAAM;CAAY;CAClE,aAAa;CACb,uBAAuBA,OAAO;CAC9B,aAAa,YAAY;CACzB;CACA;AACD;AAED,iBAAS,yBAAyB,UAAU,sBAAsB,EAChE,YACA,WACA,YACA,aACA,sBACA,aACA,aACA,gBAC4B,EAA3B,yBAAyB,KAAK,MAAM;AA8IvC,OAAO,cAAMC,4BAA4B","names":["state: FilterState","PropertyFilterInput: typeof PropertyFilterInputInner"],"sources":["../../../../src/filter-list/inputs/PropertyFilterInput.tsx"],"version":3,"file":"PropertyFilterInput.d.ts"}
|
|
@@ -17,4 +17,4 @@ export interface PropertyTypeInfo {
|
|
|
17
17
|
type: string;
|
|
18
18
|
multiplicity: boolean;
|
|
19
19
|
}
|
|
20
|
-
export declare function buildWhereClause<Q extends ObjectTypeDefinition>(definitions: Array<FilterDefinitionUnion<Q>> | undefined, filterStates: Map<string, FilterState>,
|
|
20
|
+
export declare function buildWhereClause<Q extends ObjectTypeDefinition>(definitions: Array<FilterDefinitionUnion<Q>> | undefined, filterStates: Map<string, FilterState>, propertyTypes?: Map<string, PropertyTypeInfo>, excludeFilterKey?: string): WhereClause<Q>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,sBAAsB,mBAAmB,WAAY;AAGnE,cAAc,6BAA6B,qBAAsB;AACjE,cAAc,mBAAmB,yBAA0B;;;;;;;;;;;;;AA0M3D,iBAAiB,iBAAiB;CAChC;CACA;AACD;AAED,OAAO,iBAAS,iBAAiB,UAAU,sBACzCA,aAAa,MAAM,sBAAsB,iBACzCC,cAAc,YAAY,cAC1BC,
|
|
1
|
+
{"mappings":"AAgBA,cAAc,sBAAsB,mBAAmB,WAAY;AAGnE,cAAc,6BAA6B,qBAAsB;AACjE,cAAc,mBAAmB,yBAA0B;;;;;;;;;;;;;AA0M3D,iBAAiB,iBAAiB;CAChC;CACA;AACD;AAED,OAAO,iBAAS,iBAAiB,UAAU,sBACzCA,aAAa,MAAM,sBAAsB,iBACzCC,cAAc,YAAY,cAC1BC,gBAAgB,YAAY,mBAC5BC,4BACC,YAAY","names":["definitions: Array<FilterDefinitionUnion<Q>> | undefined","filterStates: Map<string, FilterState>","propertyTypes?: Map<string, PropertyTypeInfo>","excludeFilterKey?: string"],"sources":["../../../../src/filter-list/utils/filterStateToWhereClause.ts"],"version":3,"file":"filterStateToWhereClause.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/react-components",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.28",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -78,11 +78,11 @@
|
|
|
78
78
|
"react": "^18.3.1",
|
|
79
79
|
"react-dom": "^18.3.1",
|
|
80
80
|
"typescript": "~5.5.4",
|
|
81
|
-
"@osdk/api": "2.8.0-beta.
|
|
82
|
-
"@osdk/client": "2.8.0-beta.
|
|
81
|
+
"@osdk/api": "2.8.0-beta.31",
|
|
82
|
+
"@osdk/client": "2.8.0-beta.31",
|
|
83
|
+
"@osdk/monorepo.api-extractor": "~0.7.0-beta.1",
|
|
83
84
|
"@osdk/react": "0.10.0-beta.15",
|
|
84
|
-
"@osdk/monorepo.tsconfig": "~0.7.0-beta.1"
|
|
85
|
-
"@osdk/monorepo.api-extractor": "~0.7.0-beta.1"
|
|
85
|
+
"@osdk/monorepo.tsconfig": "~0.7.0-beta.1"
|
|
86
86
|
},
|
|
87
87
|
"publishConfig": {
|
|
88
88
|
"access": "public"
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import classnames from "classnames";
|
|
18
|
-
import React, { memo, useCallback, useMemo } from "react";
|
|
19
|
-
import { Checkbox } from "../../../base-components/checkbox/Checkbox.js";
|
|
20
|
-
import { filterValuesBySearch } from "../../utils/filterValues.js";
|
|
21
|
-
import styles from "./CheckboxListInput.module.css.js";
|
|
22
|
-
import { CheckboxListSkeleton } from "./CheckboxListSkeleton.js";
|
|
23
|
-
import sharedStyles from "./shared.module.css.js";
|
|
24
|
-
import { useStableData } from "./useStableData.js";
|
|
25
|
-
function CheckboxListInputInner({
|
|
26
|
-
values,
|
|
27
|
-
isLoading,
|
|
28
|
-
error,
|
|
29
|
-
selectedValues,
|
|
30
|
-
onChange,
|
|
31
|
-
colorMap,
|
|
32
|
-
searchQuery,
|
|
33
|
-
className,
|
|
34
|
-
style
|
|
35
|
-
}) {
|
|
36
|
-
const stableValues = useStableData(values, isLoading);
|
|
37
|
-
const displayValues = useMemo(() => {
|
|
38
|
-
const allValues = stableValues.map(item => item.value);
|
|
39
|
-
if (searchQuery) {
|
|
40
|
-
return filterValuesBySearch(allValues, searchQuery, v => v);
|
|
41
|
-
}
|
|
42
|
-
return allValues;
|
|
43
|
-
}, [stableValues, searchQuery]);
|
|
44
|
-
const selectedSet = useMemo(() => new Set(selectedValues), [selectedValues]);
|
|
45
|
-
const toggleValue = useCallback(value => {
|
|
46
|
-
if (selectedSet.has(value)) {
|
|
47
|
-
onChange(selectedValues.filter(v => v !== value));
|
|
48
|
-
} else {
|
|
49
|
-
onChange([...selectedValues, value]);
|
|
50
|
-
}
|
|
51
|
-
}, [selectedValues, selectedSet, onChange]);
|
|
52
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
53
|
-
className: classnames(styles.checkboxList, className),
|
|
54
|
-
style: style,
|
|
55
|
-
"data-loading": isLoading && displayValues.length > 0
|
|
56
|
-
}, error && /*#__PURE__*/React.createElement("div", {
|
|
57
|
-
className: sharedStyles.errorMessage
|
|
58
|
-
}, "Error loading values: ", error.message), !error && displayValues.length === 0 && isLoading && /*#__PURE__*/React.createElement(CheckboxListSkeleton, null), !error && displayValues.length === 0 && !isLoading && /*#__PURE__*/React.createElement("div", {
|
|
59
|
-
className: sharedStyles.emptyMessage
|
|
60
|
-
}, "No values available"), displayValues.map(value => {
|
|
61
|
-
const isSelected = selectedSet.has(value);
|
|
62
|
-
const color = colorMap?.[value];
|
|
63
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
64
|
-
key: value,
|
|
65
|
-
className: styles.checkboxRow,
|
|
66
|
-
"data-selected": isSelected
|
|
67
|
-
}, /*#__PURE__*/React.createElement("label", {
|
|
68
|
-
className: styles.checkboxLabel
|
|
69
|
-
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
70
|
-
checked: isSelected,
|
|
71
|
-
onCheckedChange: () => toggleValue(value)
|
|
72
|
-
}), color && /*#__PURE__*/React.createElement("span", {
|
|
73
|
-
className: styles.colorDot,
|
|
74
|
-
style: {
|
|
75
|
-
backgroundColor: color
|
|
76
|
-
}
|
|
77
|
-
}), /*#__PURE__*/React.createElement("span", {
|
|
78
|
-
className: styles.valueText
|
|
79
|
-
}, value)));
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
export const CheckboxListInput = /*#__PURE__*/memo(CheckboxListInputInner);
|
|
83
|
-
//# sourceMappingURL=CheckboxListInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxListInput.js","names":["classnames","React","memo","useCallback","useMemo","Checkbox","filterValuesBySearch","styles","CheckboxListSkeleton","sharedStyles","useStableData","CheckboxListInputInner","values","isLoading","error","selectedValues","onChange","colorMap","searchQuery","className","style","stableValues","displayValues","allValues","map","item","value","v","selectedSet","Set","toggleValue","has","filter","createElement","checkboxList","length","errorMessage","message","emptyMessage","isSelected","color","key","checkboxRow","checkboxLabel","checked","onCheckedChange","colorDot","backgroundColor","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 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 { filterValuesBySearch } from \"../../utils/filterValues.js\";\nimport styles from \"./CheckboxListInput.module.css\";\nimport { CheckboxListSkeleton } from \"./CheckboxListSkeleton.js\";\nimport sharedStyles from \"./shared.module.css\";\nimport { useStableData } from \"./useStableData.js\";\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 searchQuery?: 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 searchQuery,\n className,\n style,\n}: CheckboxListInputProps): React.ReactElement {\n const stableValues = useStableData(values, isLoading);\n\n const displayValues = useMemo(\n () => {\n const allValues = stableValues.map((item) => item.value);\n if (searchQuery) {\n return filterValuesBySearch(allValues, searchQuery, (v) => v);\n }\n return allValues;\n },\n [stableValues, searchQuery],\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 && displayValues.length > 0}\n >\n {error && (\n <div className={sharedStyles.errorMessage}>\n Error loading values: {error.message}\n </div>\n )}\n\n {!error && displayValues.length === 0 && isLoading && (\n <CheckboxListSkeleton />\n )}\n {!error && displayValues.length === 0 && !isLoading && (\n <div className={sharedStyles.emptyMessage}>\n No values available\n </div>\n )}\n\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 </div>\n );\n}\n\nexport const CheckboxListInput = memo(\n CheckboxListInputInner,\n) as typeof CheckboxListInputInner;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
.checkboxList {
|
|
18
|
-
display: flex;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
gap: var(--osdk-filter-checkbox-list-gap);
|
|
21
|
-
transition: opacity var(--osdk-filter-content-fade-duration);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.checkboxList[data-loading="true"] {
|
|
25
|
-
opacity: 0.5;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@media (prefers-reduced-motion: reduce) {
|
|
29
|
-
.checkboxList {
|
|
30
|
-
transition: none;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.checkboxRow {
|
|
35
|
-
padding: var(--osdk-filter-checkbox-row-padding);
|
|
36
|
-
border-radius: var(--osdk-filter-checkbox-row-border-radius);
|
|
37
|
-
|
|
38
|
-
&:hover {
|
|
39
|
-
background: var(--osdk-filter-checkbox-row-bg-hover);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.checkboxLabel {
|
|
44
|
-
display: flex;
|
|
45
|
-
align-items: center;
|
|
46
|
-
gap: var(--osdk-filter-checkbox-label-gap);
|
|
47
|
-
cursor: pointer;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.valueText {
|
|
51
|
-
font-family: var(--osdk-filter-checkbox-value-font-family);
|
|
52
|
-
font-size: var(--osdk-filter-checkbox-value-font-size);
|
|
53
|
-
line-height: var(--osdk-filter-checkbox-value-line-height);
|
|
54
|
-
color: var(--osdk-filter-checkbox-value-color);
|
|
55
|
-
overflow: hidden;
|
|
56
|
-
text-overflow: ellipsis;
|
|
57
|
-
white-space: nowrap;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.colorDot {
|
|
61
|
-
width: var(--osdk-filter-checkbox-color-dot-size);
|
|
62
|
-
height: var(--osdk-filter-checkbox-color-dot-size);
|
|
63
|
-
border-radius: 50%;
|
|
64
|
-
flex-shrink: 0;
|
|
65
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
"colorDot": "CheckboxListInput-module__colorDot___AdQXW5K-"
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export default styles;
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import React from "react";
|
|
18
|
-
import { SkeletonBar } from "../../../base-components/skeleton/SkeletonBar.js";
|
|
19
|
-
import styles from "./CheckboxListSkeleton.module.css.js";
|
|
20
|
-
const SKELETON_ROWS = [{
|
|
21
|
-
textWidth: "60%"
|
|
22
|
-
}, {
|
|
23
|
-
textWidth: "45%"
|
|
24
|
-
}, {
|
|
25
|
-
textWidth: "70%"
|
|
26
|
-
}];
|
|
27
|
-
const CHECKBOX_SIZE = "calc(var(--osdk-checkbox-icon-size) + var(--osdk-checkbox-padding) * 2)";
|
|
28
|
-
export function CheckboxListSkeleton() {
|
|
29
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
30
|
-
className: styles.container
|
|
31
|
-
}, SKELETON_ROWS.map((row, index) => /*#__PURE__*/React.createElement("div", {
|
|
32
|
-
key: index,
|
|
33
|
-
className: styles.row
|
|
34
|
-
}, /*#__PURE__*/React.createElement(SkeletonBar, {
|
|
35
|
-
width: CHECKBOX_SIZE,
|
|
36
|
-
height: CHECKBOX_SIZE
|
|
37
|
-
}), /*#__PURE__*/React.createElement(SkeletonBar, {
|
|
38
|
-
height: "var(--osdk-filter-skeleton-text-height)",
|
|
39
|
-
maxWidth: row.textWidth,
|
|
40
|
-
className: styles.flexBar
|
|
41
|
-
}), /*#__PURE__*/React.createElement(SkeletonBar, {
|
|
42
|
-
width: "var(--osdk-filter-skeleton-count-width)",
|
|
43
|
-
height: "var(--osdk-filter-skeleton-text-height)"
|
|
44
|
-
}))));
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=CheckboxListSkeleton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxListSkeleton.js","names":["React","SkeletonBar","styles","SKELETON_ROWS","textWidth","CHECKBOX_SIZE","CheckboxListSkeleton","createElement","className","container","map","row","index","key","width","height","maxWidth","flexBar"],"sources":["CheckboxListSkeleton.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 from \"react\";\nimport { SkeletonBar } from \"../../../base-components/skeleton/SkeletonBar.js\";\nimport styles from \"./CheckboxListSkeleton.module.css\";\n\nconst SKELETON_ROWS = [\n { textWidth: \"60%\" },\n { textWidth: \"45%\" },\n { textWidth: \"70%\" },\n];\n\nconst CHECKBOX_SIZE =\n \"calc(var(--osdk-checkbox-icon-size) + var(--osdk-checkbox-padding) * 2)\";\n\nexport function CheckboxListSkeleton(): React.ReactElement {\n return (\n <div className={styles.container}>\n {SKELETON_ROWS.map((row, index) => (\n <div key={index} className={styles.row}>\n <SkeletonBar\n width={CHECKBOX_SIZE}\n height={CHECKBOX_SIZE}\n />\n <SkeletonBar\n height=\"var(--osdk-filter-skeleton-text-height)\"\n maxWidth={row.textWidth}\n className={styles.flexBar}\n />\n <SkeletonBar\n width=\"var(--osdk-filter-skeleton-count-width)\"\n height=\"var(--osdk-filter-skeleton-text-height)\"\n />\n </div>\n ))}\n </div>\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,kDAAkD;AAC9E,OAAOC,MAAM,MAAM,mCAAmC;AAEtD,MAAMC,aAAa,GAAG,CACpB;EAAEC,SAAS,EAAE;AAAM,CAAC,EACpB;EAAEA,SAAS,EAAE;AAAM,CAAC,EACpB;EAAEA,SAAS,EAAE;AAAM,CAAC,CACrB;AAED,MAAMC,aAAa,GACjB,yEAAyE;AAE3E,OAAO,SAASC,oBAAoBA,CAAA,EAAuB;EACzD,oBACEN,KAAA,CAAAO,aAAA;IAAKC,SAAS,EAAEN,MAAM,CAACO;EAAU,GAC9BN,aAAa,CAACO,GAAG,CAAC,CAACC,GAAG,EAAEC,KAAK,kBAC5BZ,KAAA,CAAAO,aAAA;IAAKM,GAAG,EAAED,KAAM;IAACJ,SAAS,EAAEN,MAAM,CAACS;EAAI,gBACrCX,KAAA,CAAAO,aAAA,CAACN,WAAW;IACVa,KAAK,EAAET,aAAc;IACrBU,MAAM,EAAEV;EAAc,CACvB,CAAC,eACFL,KAAA,CAAAO,aAAA,CAACN,WAAW;IACVc,MAAM,EAAC,yCAAyC;IAChDC,QAAQ,EAAEL,GAAG,CAACP,SAAU;IACxBI,SAAS,EAAEN,MAAM,CAACe;EAAQ,CAC3B,CAAC,eACFjB,KAAA,CAAAO,aAAA,CAACN,WAAW;IACVa,KAAK,EAAC,yCAAyC;IAC/CC,MAAM,EAAC;EAAyC,CACjD,CACE,CACN,CACE,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
.container {
|
|
18
|
-
display: flex;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
gap: var(--osdk-filter-checkbox-list-gap);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.row {
|
|
24
|
-
display: flex;
|
|
25
|
-
align-items: center;
|
|
26
|
-
gap: var(--osdk-filter-checkbox-label-gap);
|
|
27
|
-
padding: var(--osdk-filter-checkbox-row-padding);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.flexBar {
|
|
31
|
-
flex: 1;
|
|
32
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// CSS Module proxy for CheckboxListSkeleton.module.css
|
|
2
|
-
const styles = {
|
|
3
|
-
"container": "CheckboxListSkeleton-module__container___34VQnT36",
|
|
4
|
-
"row": "CheckboxListSkeleton-module__row___j6zYcQ2Q",
|
|
5
|
-
"flexBar": "CheckboxListSkeleton-module__flexBar___6K266kRa"
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export default styles;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import React, { memo, useCallback, useMemo } from "react";
|
|
18
|
-
import { FilterInputExcludeRow } from "../base/FilterInputExcludeRow.js";
|
|
19
|
-
import { CheckboxListInput } from "../base/inputs/CheckboxListInput.js";
|
|
20
|
-
import { usePropertyAggregation } from "../hooks/usePropertyAggregation.js";
|
|
21
|
-
import { coerceToStringArray } from "../utils/coerceFilterValue.js";
|
|
22
|
-
function CheckboxListFilterInputInner({
|
|
23
|
-
objectType,
|
|
24
|
-
objectSet,
|
|
25
|
-
propertyKey,
|
|
26
|
-
filterState,
|
|
27
|
-
onFilterStateChanged,
|
|
28
|
-
whereClause,
|
|
29
|
-
colorMap,
|
|
30
|
-
searchQuery,
|
|
31
|
-
excludeRowOpen
|
|
32
|
-
}) {
|
|
33
|
-
const selectedValues = useMemo(() => filterState?.type === "SELECT" ? coerceToStringArray(filterState.selectedValues) : [], [filterState]);
|
|
34
|
-
const isExcluding = filterState?.isExcluding ?? false;
|
|
35
|
-
const handleChange = useCallback(newSelectedValues => {
|
|
36
|
-
onFilterStateChanged({
|
|
37
|
-
type: "SELECT",
|
|
38
|
-
selectedValues: newSelectedValues,
|
|
39
|
-
isExcluding
|
|
40
|
-
});
|
|
41
|
-
}, [onFilterStateChanged, isExcluding]);
|
|
42
|
-
const aggregationOptions = useMemo(() => ({
|
|
43
|
-
where: whereClause
|
|
44
|
-
}), [whereClause]);
|
|
45
|
-
const {
|
|
46
|
-
data,
|
|
47
|
-
isLoading,
|
|
48
|
-
error
|
|
49
|
-
} = usePropertyAggregation(objectType, propertyKey, objectSet, aggregationOptions);
|
|
50
|
-
return /*#__PURE__*/React.createElement(FilterInputExcludeRow, {
|
|
51
|
-
excludeRowOpen: excludeRowOpen,
|
|
52
|
-
filterState: filterState,
|
|
53
|
-
onFilterStateChanged: onFilterStateChanged,
|
|
54
|
-
totalValueCount: data.length
|
|
55
|
-
}, /*#__PURE__*/React.createElement(CheckboxListInput, {
|
|
56
|
-
values: data,
|
|
57
|
-
isLoading: isLoading,
|
|
58
|
-
error: error,
|
|
59
|
-
selectedValues: selectedValues,
|
|
60
|
-
onChange: handleChange,
|
|
61
|
-
colorMap: colorMap,
|
|
62
|
-
searchQuery: searchQuery
|
|
63
|
-
}));
|
|
64
|
-
}
|
|
65
|
-
export const CheckboxListFilterInput = /*#__PURE__*/memo(CheckboxListFilterInputInner);
|
|
66
|
-
//# sourceMappingURL=CheckboxListFilterInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxListFilterInput.js","names":["React","memo","useCallback","useMemo","FilterInputExcludeRow","CheckboxListInput","usePropertyAggregation","coerceToStringArray","CheckboxListFilterInputInner","objectType","objectSet","propertyKey","filterState","onFilterStateChanged","whereClause","colorMap","searchQuery","excludeRowOpen","selectedValues","type","isExcluding","handleChange","newSelectedValues","aggregationOptions","where","data","isLoading","error","createElement","totalValueCount","length","values","onChange","CheckboxListFilterInput"],"sources":["CheckboxListFilterInput.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 React, { memo, useCallback, useMemo } from \"react\";\nimport { FilterInputExcludeRow } from \"../base/FilterInputExcludeRow.js\";\nimport { CheckboxListInput } from \"../base/inputs/CheckboxListInput.js\";\nimport type { FilterState } from \"../FilterListItemApi.js\";\nimport { usePropertyAggregation } from \"../hooks/usePropertyAggregation.js\";\nimport { coerceToStringArray } from \"../utils/coerceFilterValue.js\";\n\ninterface CheckboxListFilterInputProps<Q extends ObjectTypeDefinition> {\n objectType: Q;\n objectSet: ObjectSet<Q>;\n propertyKey: string;\n filterState: FilterState | undefined;\n onFilterStateChanged: (state: FilterState) => void;\n whereClause: WhereClause<Q>;\n colorMap?: Record<string, string>;\n searchQuery?: string;\n excludeRowOpen?: boolean;\n}\n\nfunction CheckboxListFilterInputInner<Q extends ObjectTypeDefinition>({\n objectType,\n objectSet,\n propertyKey,\n filterState,\n onFilterStateChanged,\n whereClause,\n colorMap,\n searchQuery,\n excludeRowOpen,\n}: CheckboxListFilterInputProps<Q>): React.ReactElement {\n const selectedValues = useMemo(\n () =>\n filterState?.type === \"SELECT\"\n ? coerceToStringArray(filterState.selectedValues)\n : [],\n [filterState],\n );\n const isExcluding = filterState?.isExcluding ?? false;\n\n const handleChange = useCallback(\n (newSelectedValues: string[]) => {\n onFilterStateChanged({\n type: \"SELECT\",\n selectedValues: newSelectedValues,\n isExcluding,\n });\n },\n [onFilterStateChanged, isExcluding],\n );\n\n const aggregationOptions = useMemo(\n () => ({ where: whereClause }),\n [whereClause],\n );\n\n const { data, isLoading, error } = usePropertyAggregation(\n objectType,\n propertyKey as PropertyKeys<Q>,\n objectSet,\n aggregationOptions,\n );\n\n return (\n <FilterInputExcludeRow\n excludeRowOpen={excludeRowOpen}\n filterState={filterState}\n onFilterStateChanged={onFilterStateChanged}\n totalValueCount={data.length}\n >\n <CheckboxListInput\n values={data}\n isLoading={isLoading}\n error={error}\n selectedValues={selectedValues}\n onChange={handleChange}\n colorMap={colorMap}\n searchQuery={searchQuery}\n />\n </FilterInputExcludeRow>\n );\n}\n\nexport const CheckboxListFilterInput: typeof CheckboxListFilterInputInner =\n memo(CheckboxListFilterInputInner) as typeof CheckboxListFilterInputInner;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AACzD,SAASC,qBAAqB,QAAQ,kCAAkC;AACxE,SAASC,iBAAiB,QAAQ,qCAAqC;AAEvE,SAASC,sBAAsB,QAAQ,oCAAoC;AAC3E,SAASC,mBAAmB,QAAQ,+BAA+B;AAcnE,SAASC,4BAA4BA,CAAiC;EACpEC,UAAU;EACVC,SAAS;EACTC,WAAW;EACXC,WAAW;EACXC,oBAAoB;EACpBC,WAAW;EACXC,QAAQ;EACRC,WAAW;EACXC;AAC+B,CAAC,EAAsB;EACtD,MAAMC,cAAc,GAAGf,OAAO,CAC5B,MACES,WAAW,EAAEO,IAAI,KAAK,QAAQ,GAC1BZ,mBAAmB,CAACK,WAAW,CAACM,cAAc,CAAC,GAC/C,EAAE,EACR,CAACN,WAAW,CACd,CAAC;EACD,MAAMQ,WAAW,GAAGR,WAAW,EAAEQ,WAAW,IAAI,KAAK;EAErD,MAAMC,YAAY,GAAGnB,WAAW,CAC7BoB,iBAA2B,IAAK;IAC/BT,oBAAoB,CAAC;MACnBM,IAAI,EAAE,QAAQ;MACdD,cAAc,EAAEI,iBAAiB;MACjCF;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACP,oBAAoB,EAAEO,WAAW,CACpC,CAAC;EAED,MAAMG,kBAAkB,GAAGpB,OAAO,CAChC,OAAO;IAAEqB,KAAK,EAAEV;EAAY,CAAC,CAAC,EAC9B,CAACA,WAAW,CACd,CAAC;EAED,MAAM;IAAEW,IAAI;IAAEC,SAAS;IAAEC;EAAM,CAAC,GAAGrB,sBAAsB,CACvDG,UAAU,EACVE,WAAW,EACXD,SAAS,EACTa,kBACF,CAAC;EAED,oBACEvB,KAAA,CAAA4B,aAAA,CAACxB,qBAAqB;IACpBa,cAAc,EAAEA,cAAe;IAC/BL,WAAW,EAAEA,WAAY;IACzBC,oBAAoB,EAAEA,oBAAqB;IAC3CgB,eAAe,EAAEJ,IAAI,CAACK;EAAO,gBAE7B9B,KAAA,CAAA4B,aAAA,CAACvB,iBAAiB;IAChB0B,MAAM,EAAEN,IAAK;IACbC,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACbT,cAAc,EAAEA,cAAe;IAC/Bc,QAAQ,EAAEX,YAAa;IACvBN,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA;EAAY,CAC1B,CACoB,CAAC;AAE5B;AAEA,OAAO,MAAMiB,uBAA4D,gBACvEhC,IAAI,CAACO,4BAA4B,CAAwC","ignoreList":[]}
|