@osdk/react-components 0.54.0 → 0.55.0-main-caff0c0ea39b54fba6782b0f2a1514f491afa4c1
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 +8 -0
- package/build/browser/filter-list/FilterList.js.map +1 -1
- package/build/browser/filter-list/FilterListApi.js.map +1 -1
- package/build/browser/filter-list/hooks/useFilterListState.js +92 -16
- package/build/browser/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/browser/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/browser/object-table/ObjectTableApi.js.map +1 -1
- package/build/browser/public/experimental/filter-list.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/UserAgent.js.map +1 -1
- package/build/cjs/chunk-4OB3E6KJ.cjs +11 -0
- package/build/cjs/{chunk-D2XXXPH6.cjs.map → chunk-4OB3E6KJ.cjs.map} +1 -1
- package/build/cjs/chunk-C4M2S3UN.cjs +11 -0
- package/build/cjs/{chunk-EYGD2H45.cjs.map → chunk-C4M2S3UN.cjs.map} +1 -1
- package/build/cjs/chunk-DRCXFM73.cjs +11 -0
- package/build/cjs/{chunk-LJLLTHYK.cjs.map → chunk-DRCXFM73.cjs.map} +1 -1
- package/build/cjs/{chunk-HWY2YSBD.cjs → chunk-GL2UPD5Q.cjs} +4 -4
- package/build/cjs/{chunk-HWY2YSBD.cjs.map → chunk-GL2UPD5Q.cjs.map} +1 -1
- package/build/cjs/{chunk-4QUYZCMR.cjs → chunk-HG2XX6LZ.cjs} +4 -4
- package/build/cjs/{chunk-4QUYZCMR.cjs.map → chunk-HG2XX6LZ.cjs.map} +1 -1
- package/build/cjs/{chunk-EANEZ7DS.cjs → chunk-K6OEAX2T.cjs} +4 -4
- package/build/cjs/{chunk-EANEZ7DS.cjs.map → chunk-K6OEAX2T.cjs.map} +1 -1
- package/build/cjs/{chunk-B2VLYFEO.cjs → chunk-L57CLKED.cjs} +4 -4
- package/build/cjs/{chunk-B2VLYFEO.cjs.map → chunk-L57CLKED.cjs.map} +1 -1
- package/build/cjs/{chunk-JJTZZ4AO.cjs → chunk-LUHPM2MY.cjs} +91 -20
- package/build/cjs/chunk-LUHPM2MY.cjs.map +1 -0
- package/build/cjs/{chunk-RCPPRRRK.cjs → chunk-R3KKO3FP.cjs} +4 -4
- package/build/cjs/{chunk-RCPPRRRK.cjs.map → chunk-R3KKO3FP.cjs.map} +1 -1
- package/build/cjs/{chunk-G7M3NOUP.cjs → chunk-WATCUA6R.cjs} +3 -3
- package/build/cjs/chunk-WATCUA6R.cjs.map +1 -0
- package/build/cjs/chunk-WTIDFE4H.cjs +11 -0
- package/build/cjs/{chunk-NX3YZIHN.cjs.map → chunk-WTIDFE4H.cjs.map} +1 -1
- package/build/cjs/{chunk-R6TVZR37.cjs → chunk-YCBXWCQB.cjs} +4 -4
- package/build/cjs/{chunk-R6TVZR37.cjs.map → chunk-YCBXWCQB.cjs.map} +1 -1
- package/build/cjs/{chunk-LCSQHTQ2.cjs → chunk-YU4NMPPG.cjs} +4 -4
- package/build/cjs/{chunk-LCSQHTQ2.cjs.map → chunk-YU4NMPPG.cjs.map} +1 -1
- package/build/cjs/{chunk-USKT6B3H.cjs → chunk-Z3LAOM6L.cjs} +4 -4
- package/build/cjs/{chunk-USKT6B3H.cjs.map → chunk-Z3LAOM6L.cjs.map} +1 -1
- package/build/cjs/public/experimental/action-form.cjs +4 -4
- package/build/cjs/public/experimental/cbac-picker.cjs +11 -11
- package/build/cjs/public/experimental/document-viewer.cjs +4 -4
- package/build/cjs/public/experimental/email-viewer.cjs +3 -3
- package/build/cjs/public/experimental/filter-list.cjs +15 -15
- package/build/cjs/public/experimental/filter-list.d.cts +66 -12
- package/build/cjs/public/experimental/image-viewer.cjs +3 -3
- package/build/cjs/public/experimental/markdown-renderer.cjs +5 -5
- package/build/cjs/public/experimental/object-table.cjs +22 -22
- package/build/cjs/public/experimental/object-table.d.cts +0 -1
- package/build/cjs/public/experimental/pdf-viewer.cjs +7 -7
- package/build/cjs/public/experimental/spreadsheet-viewer.cjs +3 -3
- package/build/cjs/public/experimental/tiff-renderer.cjs +5 -5
- package/build/cjs/public/experimental/video-viewer.cjs +3 -3
- package/build/cjs/public/experimental/xml-viewer.cjs +3 -3
- package/build/cjs/public/experimental.cjs +76 -76
- package/build/cjs/public/experimental.d.cts +1 -1
- package/build/esm/filter-list/FilterList.js.map +1 -1
- package/build/esm/filter-list/FilterListApi.js.map +1 -1
- package/build/esm/filter-list/hooks/useFilterListState.js +92 -16
- package/build/esm/filter-list/hooks/useFilterListState.js.map +1 -1
- package/build/esm/filter-list/types/LinkedFilterTypes.js.map +1 -1
- package/build/esm/object-table/ObjectTableApi.js.map +1 -1
- package/build/esm/public/experimental/filter-list.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/UserAgent.js.map +1 -1
- package/build/types/filter-list/FilterList.d.ts.map +1 -1
- package/build/types/filter-list/FilterListApi.d.ts +56 -10
- package/build/types/filter-list/FilterListApi.d.ts.map +1 -1
- package/build/types/filter-list/hooks/useFilterListState.d.ts.map +1 -1
- package/build/types/filter-list/types/LinkedFilterTypes.d.ts +1 -1
- package/build/types/object-table/ObjectTableApi.d.ts +0 -1
- package/build/types/object-table/ObjectTableApi.d.ts.map +1 -1
- package/build/types/public/experimental/filter-list.d.ts +1 -1
- package/build/types/public/experimental/filter-list.d.ts.map +1 -1
- package/docs/FilterList.md +93 -27
- package/docs/ObjectTable.md +1 -1
- package/docs/ObjectTableOverview.md +1 -1
- package/package.json +4 -4
- package/build/cjs/chunk-D2XXXPH6.cjs +0 -11
- package/build/cjs/chunk-EYGD2H45.cjs +0 -11
- package/build/cjs/chunk-G7M3NOUP.cjs.map +0 -1
- package/build/cjs/chunk-JJTZZ4AO.cjs.map +0 -1
- package/build/cjs/chunk-LJLLTHYK.cjs +0 -11
- package/build/cjs/chunk-NX3YZIHN.cjs +0 -11
|
@@ -6,7 +6,7 @@ var chunk3KMJ6NKF_cjs = require('./chunk-3KMJ6NKF.cjs');
|
|
|
6
6
|
var chunkYE4F6HIR_cjs = require('./chunk-YE4F6HIR.cjs');
|
|
7
7
|
var chunk7LXS66DW_cjs = require('./chunk-7LXS66DW.cjs');
|
|
8
8
|
var chunkUCTQICPR_cjs = require('./chunk-UCTQICPR.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunkWATCUA6R_cjs = require('./chunk-WATCUA6R.cjs');
|
|
10
10
|
var button = require('@base-ui/react/button');
|
|
11
11
|
var classnames3 = require('classnames');
|
|
12
12
|
var React15 = require('react');
|
|
@@ -5020,13 +5020,26 @@ function buildInitialStates(definitions) {
|
|
|
5020
5020
|
}
|
|
5021
5021
|
return states;
|
|
5022
5022
|
}
|
|
5023
|
+
function deriveSnapshot(definitions, filterStates, propertyTypes, objectSet) {
|
|
5024
|
+
const whereClause = buildWhereClause(definitions, filterStates, propertyTypes);
|
|
5025
|
+
const linkedFilters = getActiveLinkedFilters(definitions, filterStates);
|
|
5026
|
+
return {
|
|
5027
|
+
whereClause,
|
|
5028
|
+
linkedFilters,
|
|
5029
|
+
effectiveObjectSet: objectSet == null ? void 0 : narrowObjectSet(objectSet, whereClause, linkedFilters)
|
|
5030
|
+
};
|
|
5031
|
+
}
|
|
5023
5032
|
function useFilterListState(props) {
|
|
5024
5033
|
const {
|
|
5025
5034
|
objectType,
|
|
5026
5035
|
objectSet,
|
|
5027
5036
|
filterDefinitions,
|
|
5037
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported
|
|
5028
5038
|
onFilterStateChanged,
|
|
5039
|
+
onFilterListChanged,
|
|
5040
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported
|
|
5029
5041
|
onFilterClauseChanged,
|
|
5042
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat callback still supported
|
|
5030
5043
|
onEffectiveObjectSet,
|
|
5031
5044
|
defaultFilterStates,
|
|
5032
5045
|
// eslint-disable-next-line @typescript-eslint/no-deprecated -- back-compat fallback for the pre-rename prop
|
|
@@ -5034,14 +5047,21 @@ function useFilterListState(props) {
|
|
|
5034
5047
|
} = props;
|
|
5035
5048
|
const seededFilterStates = defaultFilterStates ?? initialFilterStates;
|
|
5036
5049
|
const {
|
|
5037
|
-
metadata
|
|
5050
|
+
metadata,
|
|
5051
|
+
loading: metadataLoading
|
|
5038
5052
|
} = react.useOsdkMetadata(objectType);
|
|
5053
|
+
const onFilterStateChangedRef = React15.useRef(onFilterStateChanged);
|
|
5054
|
+
onFilterStateChangedRef.current = onFilterStateChanged;
|
|
5039
5055
|
const onFilterClauseChangedRef = React15.useRef(onFilterClauseChanged);
|
|
5040
5056
|
onFilterClauseChangedRef.current = onFilterClauseChanged;
|
|
5041
5057
|
const onEffectiveObjectSetRef = React15.useRef(onEffectiveObjectSet);
|
|
5042
5058
|
onEffectiveObjectSetRef.current = onEffectiveObjectSet;
|
|
5059
|
+
const onFilterListChangedRef = React15.useRef(onFilterListChanged);
|
|
5060
|
+
onFilterListChangedRef.current = onFilterListChanged;
|
|
5043
5061
|
const filterDefinitionsRef = React15.useRef(filterDefinitions);
|
|
5044
5062
|
filterDefinitionsRef.current = filterDefinitions;
|
|
5063
|
+
const objectSetRef = React15.useRef(objectSet);
|
|
5064
|
+
objectSetRef.current = objectSet;
|
|
5045
5065
|
const propertyTypes = React15.useMemo(() => {
|
|
5046
5066
|
const map = /* @__PURE__ */ new Map();
|
|
5047
5067
|
if (metadata?.properties) {
|
|
@@ -5056,6 +5076,22 @@ function useFilterListState(props) {
|
|
|
5056
5076
|
}
|
|
5057
5077
|
return map;
|
|
5058
5078
|
}, [metadata?.properties]);
|
|
5079
|
+
const propertyTypesRef = React15.useRef(propertyTypes);
|
|
5080
|
+
propertyTypesRef.current = propertyTypes;
|
|
5081
|
+
const emitFilterListChanged = React15.useCallback((states, reason) => {
|
|
5082
|
+
const onChange = onFilterListChangedRef.current;
|
|
5083
|
+
if (onChange == null) {
|
|
5084
|
+
return;
|
|
5085
|
+
}
|
|
5086
|
+
const snapshot = deriveSnapshot(filterDefinitionsRef.current, states, propertyTypesRef.current, objectSetRef.current);
|
|
5087
|
+
onChange({
|
|
5088
|
+
snapshot: {
|
|
5089
|
+
filterClause: snapshot.whereClause,
|
|
5090
|
+
filteredObjectSet: snapshot.effectiveObjectSet
|
|
5091
|
+
},
|
|
5092
|
+
reason
|
|
5093
|
+
});
|
|
5094
|
+
}, []);
|
|
5059
5095
|
const [initialFilterStatesSnapshot] = React15.useState(() => {
|
|
5060
5096
|
const snapshot = buildInitialStates(filterDefinitions);
|
|
5061
5097
|
if (seededFilterStates) {
|
|
@@ -5066,30 +5102,65 @@ function useFilterListState(props) {
|
|
|
5066
5102
|
return snapshot;
|
|
5067
5103
|
});
|
|
5068
5104
|
const [filterStates, setFilterStates] = React15.useState(() => new Map(initialFilterStatesSnapshot));
|
|
5105
|
+
const filterStatesRef = React15.useRef(filterStates);
|
|
5106
|
+
filterStatesRef.current = filterStates;
|
|
5107
|
+
const applyChange = React15.useCallback((transition, reason) => {
|
|
5108
|
+
const next = transition(filterStatesRef.current);
|
|
5109
|
+
if (next === void 0) {
|
|
5110
|
+
return;
|
|
5111
|
+
}
|
|
5112
|
+
filterStatesRef.current = next;
|
|
5113
|
+
setFilterStates(next);
|
|
5114
|
+
emitFilterListChanged(next, reason);
|
|
5115
|
+
}, [emitFilterListChanged]);
|
|
5069
5116
|
const setFilterState = React15.useCallback((filterKey, state) => {
|
|
5070
|
-
|
|
5071
|
-
|
|
5117
|
+
const definition = filterDefinitionsRef.current?.find((candidate) => getFilterKey(candidate) === filterKey);
|
|
5118
|
+
if (definition) {
|
|
5119
|
+
onFilterStateChangedRef.current?.(definition, state);
|
|
5120
|
+
}
|
|
5121
|
+
applyChange((previous) => {
|
|
5122
|
+
const next = new Map(previous);
|
|
5072
5123
|
next.set(filterKey, state);
|
|
5073
5124
|
return next;
|
|
5125
|
+
}, {
|
|
5126
|
+
type: "FILTER_STATE_CHANGED",
|
|
5127
|
+
filterKey,
|
|
5128
|
+
newState: state
|
|
5074
5129
|
});
|
|
5075
|
-
|
|
5076
|
-
if (definition) {
|
|
5077
|
-
onFilterStateChanged?.(definition, state);
|
|
5078
|
-
}
|
|
5079
|
-
}, [onFilterStateChanged]);
|
|
5130
|
+
}, [applyChange]);
|
|
5080
5131
|
const clearFilterState2 = React15.useCallback((filterKey) => {
|
|
5081
|
-
|
|
5082
|
-
|
|
5132
|
+
applyChange((previous) => {
|
|
5133
|
+
if (!previous.has(filterKey)) {
|
|
5134
|
+
return;
|
|
5135
|
+
}
|
|
5136
|
+
const next = new Map(previous);
|
|
5083
5137
|
next.delete(filterKey);
|
|
5084
5138
|
return next;
|
|
5139
|
+
}, {
|
|
5140
|
+
type: "FILTER_REMOVED",
|
|
5141
|
+
filterKey
|
|
5085
5142
|
});
|
|
5086
|
-
}, []);
|
|
5143
|
+
}, [applyChange]);
|
|
5087
5144
|
const reset = React15.useCallback(() => {
|
|
5088
|
-
|
|
5089
|
-
|
|
5090
|
-
|
|
5091
|
-
|
|
5092
|
-
const
|
|
5145
|
+
applyChange(() => new Map(initialFilterStatesSnapshot), {
|
|
5146
|
+
type: "FILTER_LIST_RESET"
|
|
5147
|
+
});
|
|
5148
|
+
}, [applyChange, initialFilterStatesSnapshot]);
|
|
5149
|
+
const {
|
|
5150
|
+
whereClause,
|
|
5151
|
+
linkedFilters,
|
|
5152
|
+
effectiveObjectSet
|
|
5153
|
+
} = React15.useMemo(() => deriveSnapshot(filterDefinitions, filterStates, propertyTypes, objectSet), [filterDefinitions, filterStates, propertyTypes, objectSet]);
|
|
5154
|
+
const hasEmittedInit = React15.useRef(false);
|
|
5155
|
+
React15.useEffect(() => {
|
|
5156
|
+
if (hasEmittedInit.current || metadataLoading) {
|
|
5157
|
+
return;
|
|
5158
|
+
}
|
|
5159
|
+
hasEmittedInit.current = true;
|
|
5160
|
+
emitFilterListChanged(filterStatesRef.current, {
|
|
5161
|
+
type: "FILTER_LIST_INITIALIZED"
|
|
5162
|
+
});
|
|
5163
|
+
}, [metadataLoading, emitFilterListChanged]);
|
|
5093
5164
|
React15.useEffect(() => {
|
|
5094
5165
|
onFilterClauseChangedRef.current?.(whereClause);
|
|
5095
5166
|
}, [whereClause]);
|
|
@@ -5654,7 +5725,7 @@ function summarizeFilterValue(definition, state) {
|
|
|
5654
5725
|
}
|
|
5655
5726
|
|
|
5656
5727
|
// src/public/experimental/filter-list.ts
|
|
5657
|
-
var FilterList2 =
|
|
5728
|
+
var FilterList2 = chunkWATCUA6R_cjs.withOsdkMetrics(FilterList, "FilterList");
|
|
5658
5729
|
|
|
5659
5730
|
exports.BaseFilterList = BaseFilterList;
|
|
5660
5731
|
exports.FilterInput = FilterInput;
|
|
@@ -5669,5 +5740,5 @@ exports.narrowObjectSet = narrowObjectSet;
|
|
|
5669
5740
|
exports.serializeFilterStates = serializeFilterStates;
|
|
5670
5741
|
exports.summarizeFilterValue = summarizeFilterValue;
|
|
5671
5742
|
exports.useFilterListState = useFilterListState;
|
|
5672
|
-
//# sourceMappingURL=chunk-
|
|
5673
|
-
//# sourceMappingURL=chunk-
|
|
5743
|
+
//# sourceMappingURL=chunk-LUHPM2MY.cjs.map
|
|
5744
|
+
//# sourceMappingURL=chunk-LUHPM2MY.cjs.map
|