@uniformdev/mesh-sdk-react 20.7.1-alpha.4 → 20.7.1-alpha.45

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/dist/index.d.mts CHANGED
@@ -96,6 +96,10 @@ declare function useMeshLocation<TLocationType extends MeshLocation['type'], TLo
96
96
  type: TLocationType;
97
97
  }> | Extract<_uniformdev_mesh_sdk.AIGenerateLocation<TLocationValue>, {
98
98
  type: TLocationType;
99
+ }> | Extract<_uniformdev_mesh_sdk.PersonalizationCriteriaLocation<TLocationValue, unknown>, {
100
+ type: TLocationType;
101
+ }> | Extract<_uniformdev_mesh_sdk.ProjectToolLocation<TLocationValue, unknown>, {
102
+ type: TLocationType;
99
103
  }>, "setValue"> & {
100
104
  setValue: SetLocationValueDispatch<(Extract<_uniformdev_mesh_sdk.AssetLibraryLocation, {
101
105
  type: TLocationType;
@@ -121,6 +125,10 @@ declare function useMeshLocation<TLocationType extends MeshLocation['type'], TLo
121
125
  type: TLocationType;
122
126
  }> | Extract<_uniformdev_mesh_sdk.AIGenerateLocation<TLocationValue>, {
123
127
  type: TLocationType;
128
+ }> | Extract<_uniformdev_mesh_sdk.PersonalizationCriteriaLocation<TLocationValue, unknown>, {
129
+ type: TLocationType;
130
+ }> | Extract<_uniformdev_mesh_sdk.ProjectToolLocation<TLocationValue, unknown>, {
131
+ type: TLocationType;
124
132
  }>)["value"], Parameters<(Extract<_uniformdev_mesh_sdk.AssetLibraryLocation, {
125
133
  type: TLocationType;
126
134
  }> | Extract<_uniformdev_mesh_sdk.AssetParameterLocation, {
@@ -145,6 +153,10 @@ declare function useMeshLocation<TLocationType extends MeshLocation['type'], TLo
145
153
  type: TLocationType;
146
154
  }> | Extract<_uniformdev_mesh_sdk.AIGenerateLocation<TLocationValue>, {
147
155
  type: TLocationType;
156
+ }> | Extract<_uniformdev_mesh_sdk.PersonalizationCriteriaLocation<TLocationValue, unknown>, {
157
+ type: TLocationType;
158
+ }> | Extract<_uniformdev_mesh_sdk.ProjectToolLocation<TLocationValue, unknown>, {
159
+ type: TLocationType;
148
160
  }>)["setValue"]>[0]>;
149
161
  };
150
162
  type SetLocationValueDispatch<TValue, TSetValue = TValue> = (dispatch: SetLocationValueFunction<TValue, TSetValue>) => Promise<void> | void;
@@ -881,7 +893,9 @@ type DataRefreshButtonProps = HTMLAttributes<HTMLButtonElement> & {
881
893
  };
882
894
  /**
883
895
  * @description The data refresh button is a UI component to indicate to users a request for data is taking place
884
- * @example <DataRefreshButton buttonText="my button" isLoading /> */
896
+ * @example <DataRefreshButton buttonText="my button" isLoading />
897
+ * @deprecated this component is not recommended for use in new projects
898
+ */
885
899
  declare const DataRefreshButton: ({ buttonText, isLoading, onRefreshData, ...props }: DataRefreshButtonProps) => _emotion_react_jsx_runtime.JSX.Element;
886
900
 
887
901
  type ObjectSearchContainerProps = {
@@ -908,7 +922,9 @@ type ObjectSearchContainerProps = {
908
922
  };
909
923
  /**
910
924
  * @description Object search container is an opinionated layout for search parameters and retrieved results
911
- * @example <ObjectSearchContainer searchFilters={<>your component</>} resultList={<>your result list component<>} onSave={yourSaveAction} onCancel={yourCancelAction} /> */
925
+ * @example <ObjectSearchContainer searchFilters={<>your component</>} resultList={<>your result list component<>} onSave={yourSaveAction} onCancel={yourCancelAction} />
926
+ * @deprecated this component is not recommended for use in new projects
927
+ */
912
928
  declare const ObjectSearchContainer: ({ label, enableDynamicInputToResultId, searchFilters, resultList, children, }: ObjectSearchContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
913
929
 
914
930
  type ObjectSearchFilterProps = {
@@ -939,7 +955,9 @@ type ObjectSearchFilterProps = {
939
955
  /**
940
956
  * @description Object search filter is an opinionated filter that has pre-defined query and setQuery functions
941
957
  * that can be extended with custom functions
942
- * @example <ObjectSearchFilter selectOptions={[{ id: 'id value', name: 'name value'}]} /> */
958
+ * @example <ObjectSearchFilter selectOptions={[{ id: 'id value', name: 'name value'}]} />
959
+ * @deprecated this component is not recommended for use in new projects
960
+ */
943
961
  declare const ObjectSearchFilter: ({ requireContentType, typeSelectorAllTypesOptionText, searchInputName, searchInputPlaceholderText, selectLabel, selectOptions, }: ObjectSearchFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
944
962
 
945
963
  type ObjectSearchFilterContainerProps = {
@@ -949,6 +967,7 @@ type ObjectSearchFilterContainerProps = {
949
967
  /**
950
968
  * @description an opinionated layout for search filters
951
969
  * @example <ObjectSearchFilterContainer label="my label"><input type="text" aria-label="my input" /></ObjectSearchFilterContainer>
970
+ * @deprecated this component is not recommended for use in new projects
952
971
  */
953
972
  declare const ObjectSearchFilterContainer: ({ children }: ObjectSearchFilterContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
954
973
 
@@ -966,12 +985,14 @@ type ObjectSearchResultItemProps = SelectedItemProps & {
966
985
  * @default false
967
986
  */
968
987
  disableDnD?: boolean;
988
+ onClick?: () => void;
969
989
  };
970
990
  /**
971
991
  * @description An opinionated result item, best used for selected results
972
992
  * @example <ObjectSearchResultItem id="my-result" title="title" />
993
+ * @deprecated this component is not recommended for use in new projects
973
994
  */
974
- declare const ObjectSearchResultItem: ({ id, title, contentType, popoverData, publishStatus, editLinkIcon, editLink, imageUrl, onRemove, createdAt, publishedAt, hideRemoveButton, disableDnD, children, }: ObjectSearchResultItemProps) => _emotion_react_jsx_runtime.JSX.Element;
995
+ declare const ObjectSearchResultItem: ({ id, title, contentType, popoverData, publishStatus, editLinkIcon, editLink, imageUrl, onRemove, createdAt, publishedAt, hideRemoveButton, disableDnD, children, onClick, }: ObjectSearchResultItemProps) => _emotion_react_jsx_runtime.JSX.Element;
975
996
 
976
997
  type SearchQueryProps<TExtraFilters = unknown> = {
977
998
  /** sets the content type in the search context */
@@ -1049,7 +1070,13 @@ type ObjectSearchProviderProps = {
1049
1070
  isMulti?: boolean;
1050
1071
  defaultQuery?: SearchQueryProps;
1051
1072
  };
1073
+ /**
1074
+ * @deprecated this component is not recommended for use in new projects
1075
+ */
1052
1076
  declare const ObjectSearchProvider: ({ currentlySelectedItems, isMulti, children, defaultQuery, }: ObjectSearchProviderProps) => _emotion_react_jsx_runtime.JSX.Element;
1077
+ /**
1078
+ * @deprecated this component is not recommended for use in new projects
1079
+ */
1053
1080
  declare function useObjectSearchContext<TExtraSearchFilters = unknown, TExtraItemProps = unknown>(): ObjectSearchContextProps<TExtraSearchFilters, TExtraItemProps>;
1054
1081
 
1055
1082
  type ObjectSearchListItemProps = SelectedItemProps & {
@@ -1071,7 +1098,9 @@ type ObjectSearchListItemProps = SelectedItemProps & {
1071
1098
  } & React$1.HTMLAttributes<HTMLDivElement>;
1072
1099
  /**
1073
1100
  * @description entry search list item is an opinionated UI component best used for initial retrieved results
1074
- * @example <ObjectSearchListItem id="my-result-item" title="title" popoverData={<p>some data info</p>}><div>example of uncontrolled content</div></ObjectSearchListItem> */
1101
+ * @example <ObjectSearchListItem id="my-result-item" title="title" popoverData={<p>some data info</p>}><div>example of uncontrolled content</div></ObjectSearchListItem>
1102
+ * @deprecated this component is not recommended for use in new projects
1103
+ */
1075
1104
  declare const ObjectSearchListItem: ({ id, title, contentType, imageUrl, popoverData, onSelect, isMulti, disabled, children, ...props }: ObjectSearchListItemProps & React$1.HTMLAttributes<HTMLDivElement>) => _emotion_react_jsx_runtime.JSX.Element;
1076
1105
  /**
1077
1106
  * An opinionated loading skeleton component best used with ObjectSearchListItem
@@ -1090,12 +1119,14 @@ type ObjectSearchResultItemButtonProps<THtml extends HTMLAttributes<HTMLElement>
1090
1119
  /**
1091
1120
  * @description An opinionated button component best used within the ObjectSearchResultItem component
1092
1121
  * @example <ObjectSearchResultItemButton text="button text" icon="/my-image.png" onClick={() => myFunction()} />
1122
+ * @deprecated this component is not recommended for use in new projects
1093
1123
  */
1094
1124
  declare const ObjectSearchResultItemButton: ({ text, icon, ...props }: ObjectSearchResultItemButtonProps<HTMLAttributes<HTMLButtonElement>>) => _emotion_react_jsx_runtime.JSX.Element;
1095
1125
  /**
1096
1126
  * @description An opinionated link component styled the same of the ObjectSearchResultItemButton component,
1097
1127
  * that automatically sets the target and rel attributes. Best used within the ObjectSearchResultItem component
1098
1128
  * @example <LinkButton text="link text" icon="/my-image.png" />
1129
+ * @deprecated this component is not recommended for use in new projects
1099
1130
  */
1100
1131
  declare const LinkButton: ({ text, icon, ...props }: ObjectSearchResultItemButtonProps<Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "rel">>) => _emotion_react_jsx_runtime.JSX.Element;
1101
1132
 
@@ -1140,6 +1171,7 @@ type ObjectSearchResultListProps<TRenderComponent extends SelectedItemProps = Se
1140
1171
  * The result item component defaults to <ObjectSearchResultItem {...props} />, however this can be overridden with any other UI component and still
1141
1172
  * maintain drag and drop functionality
1142
1173
  * @example <ObjectSearchResultList id="my-id" title="title" renderResultComponent={(values) => <CustomComponent {...values} />} />
1174
+ * @deprecated this component is not recommended for use in new projects
1143
1175
  */
1144
1176
  declare function ObjectSearchResultList<TRenderComponent extends SelectedItemProps = SelectedItemProps>({ resultLabelText, removeButtonText, onRemoveAllSelected, hideRemoveButton, resultLabelOverride, additionalButtons, renderResultComponent, multiSelectId, disableDnD, getContainerForDnDReparenting, whenNothingSelected, }: ObjectSearchResultListProps<TRenderComponent>): _emotion_react_jsx_runtime.JSX.Element;
1145
1177
 
@@ -1209,6 +1241,7 @@ type QueryFilterProps<TSelectOptions extends QueryFilterSelectionOptionProps = Q
1209
1241
  /**
1210
1242
  * @description An opinionated multi query filter UI component, best used for querying product data or more complex scenarios
1211
1243
  * @example <QueryFilter contentTypeOptions={[{ id: 'id', name: 'name' }]} sortOptions={[{ id: 'id', name: 'name' }]} sortOrderOptions={[{ id: 'id', name: 'name' }]} />
1244
+ * @deprecated this component is not recommended for use in new projects
1212
1245
  */
1213
1246
  declare const QueryFilter: ({ requireContentType, queryFilterTitle, contentTypeLabel, typeSelectorAllTypesOptionText, contentTypeOptions, searchInputName, searchInputPlaceholderText, searchInputLabel, countLabel, sortLabel, sortOptions, sortOrderLabel, sortOrderOptions, children, }: QueryFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
1214
1247
 
@@ -1681,6 +1714,8 @@ type SearchAndFilterProviderProps = {
1681
1714
  resetFilterValues?: Filter[];
1682
1715
  /** sets the list of filter options for each filter row */
1683
1716
  filterOptions: FilterOptionGroup[];
1717
+ /** optional function that is used instead of the default reset filter functionality */
1718
+ onResetFilterValues?: () => void;
1684
1719
  /** the total number of results */
1685
1720
  totalResults?: number;
1686
1721
  /** the filter mapper function */
@@ -1725,7 +1760,7 @@ declare const SearchAndFilterContext: React$1.Context<SearchAndFilterContextProp
1725
1760
  * Search and filter provider
1726
1761
  * @example <SearchAndFilterProvider filters={filters} filterOptions={filterOptions} onSearchChange={onSearchChange} onChange={onChange}>Children</SearchAndFilterProvider>
1727
1762
  * */
1728
- declare const SearchAndFilterProvider: ({ filters, filterOptions, filterVisible, alwaysVisible, defaultSearchTerm, onSearchChange, onChange, resetFilterValues, totalResults, filterMapper, children, allowBindingSearchTerm, }: SearchAndFilterProviderProps) => _emotion_react_jsx_runtime.JSX.Element;
1763
+ declare const SearchAndFilterProvider: ({ filters, filterOptions, filterVisible, alwaysVisible, defaultSearchTerm, onSearchChange, onChange, resetFilterValues, onResetFilterValues, totalResults, filterMapper, children, allowBindingSearchTerm, }: SearchAndFilterProviderProps) => _emotion_react_jsx_runtime.JSX.Element;
1729
1764
  /** Search and filter hook
1730
1765
  * @example const { searchTerm, setSearchTerm, filterVisibility, setFilterVisibility, filters, setFilters, handleAddFilter, handleResetFilters, handleDeleteFilter, filterOptions, validFilterQuery } = useSearchAndFilter();
1731
1766
  */
@@ -1778,7 +1813,7 @@ type SearchAndFilterProps = Omit<SearchAndFilterProviderProps, 'children'> & {
1778
1813
  /** sets the reset filter values */
1779
1814
  resetFilterValues?: Filter[];
1780
1815
  /** The filter mapper function */
1781
- filterMapper?: Record<FilterEditor, React$1.ComponentType<any> | null>;
1816
+ filterMapper?: FilterMapper;
1782
1817
  /** Component to render inside filters container right below main Filters widget
1783
1818
  * that should contain additional controls like filters
1784
1819
  * which do not fit main structure or sorting */
@@ -1788,7 +1823,7 @@ type SearchAndFilterProps = Omit<SearchAndFilterProviderProps, 'children'> & {
1788
1823
  * Search and filter component
1789
1824
  * @example <SearchAndFilter filters={filters} filterOptions={filterOptions} onChange={onChange} onSearchChange={onSearchChange} onSearchReset={onSearchReset} totalResults={totalResults} />
1790
1825
  * */
1791
- declare const SearchAndFilter: ({ filters, filterOptions, filterVisible, filterControls, viewSwitchControls, resultsContainerView, filterMapper, additionalFiltersContainer, onChange, defaultSearchTerm, onSearchChange, totalResults, allowBindingSearchTerm, resetFilterValues, }: SearchAndFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
1826
+ declare const SearchAndFilter: ({ filters, filterOptions, filterVisible, filterControls, viewSwitchControls, resultsContainerView, filterMapper, additionalFiltersContainer, onChange, defaultSearchTerm, onSearchChange, totalResults, allowBindingSearchTerm, resetFilterValues, onResetFilterValues, }: SearchAndFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
1792
1827
 
1793
1828
  type FilterItemsProps = {
1794
1829
  /** The text for the add button */
package/dist/index.d.ts CHANGED
@@ -96,6 +96,10 @@ declare function useMeshLocation<TLocationType extends MeshLocation['type'], TLo
96
96
  type: TLocationType;
97
97
  }> | Extract<_uniformdev_mesh_sdk.AIGenerateLocation<TLocationValue>, {
98
98
  type: TLocationType;
99
+ }> | Extract<_uniformdev_mesh_sdk.PersonalizationCriteriaLocation<TLocationValue, unknown>, {
100
+ type: TLocationType;
101
+ }> | Extract<_uniformdev_mesh_sdk.ProjectToolLocation<TLocationValue, unknown>, {
102
+ type: TLocationType;
99
103
  }>, "setValue"> & {
100
104
  setValue: SetLocationValueDispatch<(Extract<_uniformdev_mesh_sdk.AssetLibraryLocation, {
101
105
  type: TLocationType;
@@ -121,6 +125,10 @@ declare function useMeshLocation<TLocationType extends MeshLocation['type'], TLo
121
125
  type: TLocationType;
122
126
  }> | Extract<_uniformdev_mesh_sdk.AIGenerateLocation<TLocationValue>, {
123
127
  type: TLocationType;
128
+ }> | Extract<_uniformdev_mesh_sdk.PersonalizationCriteriaLocation<TLocationValue, unknown>, {
129
+ type: TLocationType;
130
+ }> | Extract<_uniformdev_mesh_sdk.ProjectToolLocation<TLocationValue, unknown>, {
131
+ type: TLocationType;
124
132
  }>)["value"], Parameters<(Extract<_uniformdev_mesh_sdk.AssetLibraryLocation, {
125
133
  type: TLocationType;
126
134
  }> | Extract<_uniformdev_mesh_sdk.AssetParameterLocation, {
@@ -145,6 +153,10 @@ declare function useMeshLocation<TLocationType extends MeshLocation['type'], TLo
145
153
  type: TLocationType;
146
154
  }> | Extract<_uniformdev_mesh_sdk.AIGenerateLocation<TLocationValue>, {
147
155
  type: TLocationType;
156
+ }> | Extract<_uniformdev_mesh_sdk.PersonalizationCriteriaLocation<TLocationValue, unknown>, {
157
+ type: TLocationType;
158
+ }> | Extract<_uniformdev_mesh_sdk.ProjectToolLocation<TLocationValue, unknown>, {
159
+ type: TLocationType;
148
160
  }>)["setValue"]>[0]>;
149
161
  };
150
162
  type SetLocationValueDispatch<TValue, TSetValue = TValue> = (dispatch: SetLocationValueFunction<TValue, TSetValue>) => Promise<void> | void;
@@ -881,7 +893,9 @@ type DataRefreshButtonProps = HTMLAttributes<HTMLButtonElement> & {
881
893
  };
882
894
  /**
883
895
  * @description The data refresh button is a UI component to indicate to users a request for data is taking place
884
- * @example <DataRefreshButton buttonText="my button" isLoading /> */
896
+ * @example <DataRefreshButton buttonText="my button" isLoading />
897
+ * @deprecated this component is not recommended for use in new projects
898
+ */
885
899
  declare const DataRefreshButton: ({ buttonText, isLoading, onRefreshData, ...props }: DataRefreshButtonProps) => _emotion_react_jsx_runtime.JSX.Element;
886
900
 
887
901
  type ObjectSearchContainerProps = {
@@ -908,7 +922,9 @@ type ObjectSearchContainerProps = {
908
922
  };
909
923
  /**
910
924
  * @description Object search container is an opinionated layout for search parameters and retrieved results
911
- * @example <ObjectSearchContainer searchFilters={<>your component</>} resultList={<>your result list component<>} onSave={yourSaveAction} onCancel={yourCancelAction} /> */
925
+ * @example <ObjectSearchContainer searchFilters={<>your component</>} resultList={<>your result list component<>} onSave={yourSaveAction} onCancel={yourCancelAction} />
926
+ * @deprecated this component is not recommended for use in new projects
927
+ */
912
928
  declare const ObjectSearchContainer: ({ label, enableDynamicInputToResultId, searchFilters, resultList, children, }: ObjectSearchContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
913
929
 
914
930
  type ObjectSearchFilterProps = {
@@ -939,7 +955,9 @@ type ObjectSearchFilterProps = {
939
955
  /**
940
956
  * @description Object search filter is an opinionated filter that has pre-defined query and setQuery functions
941
957
  * that can be extended with custom functions
942
- * @example <ObjectSearchFilter selectOptions={[{ id: 'id value', name: 'name value'}]} /> */
958
+ * @example <ObjectSearchFilter selectOptions={[{ id: 'id value', name: 'name value'}]} />
959
+ * @deprecated this component is not recommended for use in new projects
960
+ */
943
961
  declare const ObjectSearchFilter: ({ requireContentType, typeSelectorAllTypesOptionText, searchInputName, searchInputPlaceholderText, selectLabel, selectOptions, }: ObjectSearchFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
944
962
 
945
963
  type ObjectSearchFilterContainerProps = {
@@ -949,6 +967,7 @@ type ObjectSearchFilterContainerProps = {
949
967
  /**
950
968
  * @description an opinionated layout for search filters
951
969
  * @example <ObjectSearchFilterContainer label="my label"><input type="text" aria-label="my input" /></ObjectSearchFilterContainer>
970
+ * @deprecated this component is not recommended for use in new projects
952
971
  */
953
972
  declare const ObjectSearchFilterContainer: ({ children }: ObjectSearchFilterContainerProps) => _emotion_react_jsx_runtime.JSX.Element;
954
973
 
@@ -966,12 +985,14 @@ type ObjectSearchResultItemProps = SelectedItemProps & {
966
985
  * @default false
967
986
  */
968
987
  disableDnD?: boolean;
988
+ onClick?: () => void;
969
989
  };
970
990
  /**
971
991
  * @description An opinionated result item, best used for selected results
972
992
  * @example <ObjectSearchResultItem id="my-result" title="title" />
993
+ * @deprecated this component is not recommended for use in new projects
973
994
  */
974
- declare const ObjectSearchResultItem: ({ id, title, contentType, popoverData, publishStatus, editLinkIcon, editLink, imageUrl, onRemove, createdAt, publishedAt, hideRemoveButton, disableDnD, children, }: ObjectSearchResultItemProps) => _emotion_react_jsx_runtime.JSX.Element;
995
+ declare const ObjectSearchResultItem: ({ id, title, contentType, popoverData, publishStatus, editLinkIcon, editLink, imageUrl, onRemove, createdAt, publishedAt, hideRemoveButton, disableDnD, children, onClick, }: ObjectSearchResultItemProps) => _emotion_react_jsx_runtime.JSX.Element;
975
996
 
976
997
  type SearchQueryProps<TExtraFilters = unknown> = {
977
998
  /** sets the content type in the search context */
@@ -1049,7 +1070,13 @@ type ObjectSearchProviderProps = {
1049
1070
  isMulti?: boolean;
1050
1071
  defaultQuery?: SearchQueryProps;
1051
1072
  };
1073
+ /**
1074
+ * @deprecated this component is not recommended for use in new projects
1075
+ */
1052
1076
  declare const ObjectSearchProvider: ({ currentlySelectedItems, isMulti, children, defaultQuery, }: ObjectSearchProviderProps) => _emotion_react_jsx_runtime.JSX.Element;
1077
+ /**
1078
+ * @deprecated this component is not recommended for use in new projects
1079
+ */
1053
1080
  declare function useObjectSearchContext<TExtraSearchFilters = unknown, TExtraItemProps = unknown>(): ObjectSearchContextProps<TExtraSearchFilters, TExtraItemProps>;
1054
1081
 
1055
1082
  type ObjectSearchListItemProps = SelectedItemProps & {
@@ -1071,7 +1098,9 @@ type ObjectSearchListItemProps = SelectedItemProps & {
1071
1098
  } & React$1.HTMLAttributes<HTMLDivElement>;
1072
1099
  /**
1073
1100
  * @description entry search list item is an opinionated UI component best used for initial retrieved results
1074
- * @example <ObjectSearchListItem id="my-result-item" title="title" popoverData={<p>some data info</p>}><div>example of uncontrolled content</div></ObjectSearchListItem> */
1101
+ * @example <ObjectSearchListItem id="my-result-item" title="title" popoverData={<p>some data info</p>}><div>example of uncontrolled content</div></ObjectSearchListItem>
1102
+ * @deprecated this component is not recommended for use in new projects
1103
+ */
1075
1104
  declare const ObjectSearchListItem: ({ id, title, contentType, imageUrl, popoverData, onSelect, isMulti, disabled, children, ...props }: ObjectSearchListItemProps & React$1.HTMLAttributes<HTMLDivElement>) => _emotion_react_jsx_runtime.JSX.Element;
1076
1105
  /**
1077
1106
  * An opinionated loading skeleton component best used with ObjectSearchListItem
@@ -1090,12 +1119,14 @@ type ObjectSearchResultItemButtonProps<THtml extends HTMLAttributes<HTMLElement>
1090
1119
  /**
1091
1120
  * @description An opinionated button component best used within the ObjectSearchResultItem component
1092
1121
  * @example <ObjectSearchResultItemButton text="button text" icon="/my-image.png" onClick={() => myFunction()} />
1122
+ * @deprecated this component is not recommended for use in new projects
1093
1123
  */
1094
1124
  declare const ObjectSearchResultItemButton: ({ text, icon, ...props }: ObjectSearchResultItemButtonProps<HTMLAttributes<HTMLButtonElement>>) => _emotion_react_jsx_runtime.JSX.Element;
1095
1125
  /**
1096
1126
  * @description An opinionated link component styled the same of the ObjectSearchResultItemButton component,
1097
1127
  * that automatically sets the target and rel attributes. Best used within the ObjectSearchResultItem component
1098
1128
  * @example <LinkButton text="link text" icon="/my-image.png" />
1129
+ * @deprecated this component is not recommended for use in new projects
1099
1130
  */
1100
1131
  declare const LinkButton: ({ text, icon, ...props }: ObjectSearchResultItemButtonProps<Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "target" | "rel">>) => _emotion_react_jsx_runtime.JSX.Element;
1101
1132
 
@@ -1140,6 +1171,7 @@ type ObjectSearchResultListProps<TRenderComponent extends SelectedItemProps = Se
1140
1171
  * The result item component defaults to <ObjectSearchResultItem {...props} />, however this can be overridden with any other UI component and still
1141
1172
  * maintain drag and drop functionality
1142
1173
  * @example <ObjectSearchResultList id="my-id" title="title" renderResultComponent={(values) => <CustomComponent {...values} />} />
1174
+ * @deprecated this component is not recommended for use in new projects
1143
1175
  */
1144
1176
  declare function ObjectSearchResultList<TRenderComponent extends SelectedItemProps = SelectedItemProps>({ resultLabelText, removeButtonText, onRemoveAllSelected, hideRemoveButton, resultLabelOverride, additionalButtons, renderResultComponent, multiSelectId, disableDnD, getContainerForDnDReparenting, whenNothingSelected, }: ObjectSearchResultListProps<TRenderComponent>): _emotion_react_jsx_runtime.JSX.Element;
1145
1177
 
@@ -1209,6 +1241,7 @@ type QueryFilterProps<TSelectOptions extends QueryFilterSelectionOptionProps = Q
1209
1241
  /**
1210
1242
  * @description An opinionated multi query filter UI component, best used for querying product data or more complex scenarios
1211
1243
  * @example <QueryFilter contentTypeOptions={[{ id: 'id', name: 'name' }]} sortOptions={[{ id: 'id', name: 'name' }]} sortOrderOptions={[{ id: 'id', name: 'name' }]} />
1244
+ * @deprecated this component is not recommended for use in new projects
1212
1245
  */
1213
1246
  declare const QueryFilter: ({ requireContentType, queryFilterTitle, contentTypeLabel, typeSelectorAllTypesOptionText, contentTypeOptions, searchInputName, searchInputPlaceholderText, searchInputLabel, countLabel, sortLabel, sortOptions, sortOrderLabel, sortOrderOptions, children, }: QueryFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
1214
1247
 
@@ -1681,6 +1714,8 @@ type SearchAndFilterProviderProps = {
1681
1714
  resetFilterValues?: Filter[];
1682
1715
  /** sets the list of filter options for each filter row */
1683
1716
  filterOptions: FilterOptionGroup[];
1717
+ /** optional function that is used instead of the default reset filter functionality */
1718
+ onResetFilterValues?: () => void;
1684
1719
  /** the total number of results */
1685
1720
  totalResults?: number;
1686
1721
  /** the filter mapper function */
@@ -1725,7 +1760,7 @@ declare const SearchAndFilterContext: React$1.Context<SearchAndFilterContextProp
1725
1760
  * Search and filter provider
1726
1761
  * @example <SearchAndFilterProvider filters={filters} filterOptions={filterOptions} onSearchChange={onSearchChange} onChange={onChange}>Children</SearchAndFilterProvider>
1727
1762
  * */
1728
- declare const SearchAndFilterProvider: ({ filters, filterOptions, filterVisible, alwaysVisible, defaultSearchTerm, onSearchChange, onChange, resetFilterValues, totalResults, filterMapper, children, allowBindingSearchTerm, }: SearchAndFilterProviderProps) => _emotion_react_jsx_runtime.JSX.Element;
1763
+ declare const SearchAndFilterProvider: ({ filters, filterOptions, filterVisible, alwaysVisible, defaultSearchTerm, onSearchChange, onChange, resetFilterValues, onResetFilterValues, totalResults, filterMapper, children, allowBindingSearchTerm, }: SearchAndFilterProviderProps) => _emotion_react_jsx_runtime.JSX.Element;
1729
1764
  /** Search and filter hook
1730
1765
  * @example const { searchTerm, setSearchTerm, filterVisibility, setFilterVisibility, filters, setFilters, handleAddFilter, handleResetFilters, handleDeleteFilter, filterOptions, validFilterQuery } = useSearchAndFilter();
1731
1766
  */
@@ -1778,7 +1813,7 @@ type SearchAndFilterProps = Omit<SearchAndFilterProviderProps, 'children'> & {
1778
1813
  /** sets the reset filter values */
1779
1814
  resetFilterValues?: Filter[];
1780
1815
  /** The filter mapper function */
1781
- filterMapper?: Record<FilterEditor, React$1.ComponentType<any> | null>;
1816
+ filterMapper?: FilterMapper;
1782
1817
  /** Component to render inside filters container right below main Filters widget
1783
1818
  * that should contain additional controls like filters
1784
1819
  * which do not fit main structure or sorting */
@@ -1788,7 +1823,7 @@ type SearchAndFilterProps = Omit<SearchAndFilterProviderProps, 'children'> & {
1788
1823
  * Search and filter component
1789
1824
  * @example <SearchAndFilter filters={filters} filterOptions={filterOptions} onChange={onChange} onSearchChange={onSearchChange} onSearchReset={onSearchReset} totalResults={totalResults} />
1790
1825
  * */
1791
- declare const SearchAndFilter: ({ filters, filterOptions, filterVisible, filterControls, viewSwitchControls, resultsContainerView, filterMapper, additionalFiltersContainer, onChange, defaultSearchTerm, onSearchChange, totalResults, allowBindingSearchTerm, resetFilterValues, }: SearchAndFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
1826
+ declare const SearchAndFilter: ({ filters, filterOptions, filterVisible, filterControls, viewSwitchControls, resultsContainerView, filterMapper, additionalFiltersContainer, onChange, defaultSearchTerm, onSearchChange, totalResults, allowBindingSearchTerm, resetFilterValues, onResetFilterValues, }: SearchAndFilterProps) => _emotion_react_jsx_runtime.JSX.Element;
1792
1827
 
1793
1828
  type FilterItemsProps = {
1794
1829
  /** The text for the add button */
package/dist/index.esm.js CHANGED
@@ -1808,7 +1808,7 @@ var menuBtn2 = css4`
1808
1808
  transform: translateY(-50%);
1809
1809
  `;
1810
1810
  var input = css4`
1811
- --input-padding: 12px var(--spacing-base) 12px var(--spacing-sm);
1811
+ --input-padding: 12px var(--spacing-lg) 12px var(--spacing-sm);
1812
1812
  appearance: none;
1813
1813
  background-color: var(--white);
1814
1814
  border: 1px solid var(--gray-300);
@@ -2483,7 +2483,7 @@ function InputVariables(props) {
2483
2483
  gap: "xs",
2484
2484
  css: css7`
2485
2485
  position: relative;
2486
- & > div:first-child {
2486
+ & > div:first-of-type {
2487
2487
  flex-grow: 1;
2488
2488
  }
2489
2489
  `,
@@ -3928,7 +3928,7 @@ var DataRefreshButton = ({
3928
3928
  onRefreshData,
3929
3929
  ...props
3930
3930
  }) => {
3931
- return /* @__PURE__ */ jsxs22(Button2, { buttonType: "primaryInvert", onClick: onRefreshData, disabled: isLoading, ...props, children: [
3931
+ return /* @__PURE__ */ jsxs22(Button2, { buttonType: "ghost", onClick: onRefreshData, disabled: isLoading, ...props, children: [
3932
3932
  !isLoading ? null : /* @__PURE__ */ jsx47(
3933
3933
  LoadingIndicator3,
3934
3934
  {
@@ -4398,7 +4398,7 @@ var ObjectSearchFilterContainer2 = ({ children }) => {
4398
4398
  };
4399
4399
 
4400
4400
  // src/components/ObjectSearch/ObjectSearchResultItem.tsx
4401
- import { Button as Button3, Chip as Chip2, Popover as Popover2 } from "@uniformdev/design-system";
4401
+ import { Button as Button3, Chip as Chip2, Link, Popover as Popover2 } from "@uniformdev/design-system";
4402
4402
  import { format as timeagoFormat } from "timeago.js";
4403
4403
 
4404
4404
  // src/components/Image/Image.tsx
@@ -4510,6 +4510,11 @@ var ObjectSearchResultItemTimeStamp = css19`
4510
4510
  color: var(--gray-500);
4511
4511
  font-size: var(--fs-xs);
4512
4512
  `;
4513
+ var ObjectSearchResultItemTitleLink = css19`
4514
+ text-decoration: none;
4515
+ color: var(--primary-action-default);
4516
+ font-size: var(--fs-sm);
4517
+ `;
4513
4518
  var ObjectSearchAuthorStateGroup = css19`
4514
4519
  align-items: center;
4515
4520
  display: flex;
@@ -4544,7 +4549,8 @@ var ObjectSearchResultItem = ({
4544
4549
  publishedAt,
4545
4550
  hideRemoveButton = false,
4546
4551
  disableDnD = false,
4547
- children
4552
+ children,
4553
+ onClick
4548
4554
  }) => {
4549
4555
  const { onSelectItem } = useObjectSearchContext();
4550
4556
  const formatedContentType = Array.isArray(contentType) ? contentType.join(", ") : contentType;
@@ -4567,7 +4573,19 @@ var ObjectSearchResultItem = ({
4567
4573
  /* @__PURE__ */ jsxs27("div", { children: [
4568
4574
  /* @__PURE__ */ jsx55("span", { css: ObjectSearchResultItemSubtitle, "data-testid": "sub-title", children: formatedContentType }),
4569
4575
  /* @__PURE__ */ jsxs27("span", { role: "heading", css: ObjectSearchResultItemTitle, "data-testid": "title", children: [
4570
- title != null ? title : name,
4576
+ onClick ? /* @__PURE__ */ jsx55(
4577
+ Link,
4578
+ {
4579
+ onClick: (e) => {
4580
+ e.preventDefault();
4581
+ e.stopPropagation();
4582
+ onClick();
4583
+ },
4584
+ href: editLink,
4585
+ text: title != null ? title : name,
4586
+ css: ObjectSearchResultItemTitleLink
4587
+ }
4588
+ ) : /* @__PURE__ */ jsx55("span", { children: title != null ? title : name }),
4571
4589
  !popoverData ? null : /* @__PURE__ */ jsx55(Popover2, { ariaLabel: title, buttonText: `See ${title} details`, children: popoverData })
4572
4590
  ] }),
4573
4591
  !createdAt && !publishStatus ? null : /* @__PURE__ */ jsxs27("div", { css: ObjectSearchAuthorStateGroup, children: [
@@ -5167,18 +5185,6 @@ var DATE_TIME_OPERATORS = [
5167
5185
  value: "sys-date-gte",
5168
5186
  editorType: "date",
5169
5187
  expectedValueType: "single"
5170
- },
5171
- {
5172
- label: "is empty",
5173
- value: "ndef",
5174
- editorType: "empty",
5175
- expectedValueType: "false"
5176
- },
5177
- {
5178
- label: "is not empty",
5179
- value: "def",
5180
- editorType: "empty",
5181
- expectedValueType: "true"
5182
5188
  }
5183
5189
  ];
5184
5190
  var RICHTEXT_OPERATORS = [
@@ -6214,8 +6220,6 @@ var SearchAndFilterOptionsContainer = css21`
6214
6220
  gap: var(--spacing-sm);
6215
6221
  padding: var(--spacing-md) 0 var(--spacing-base);
6216
6222
  will-change: height;
6217
- position: relative;
6218
- z-index: 2;
6219
6223
  `;
6220
6224
  var SearchAndFilterOptionsInnerContainer = css21`
6221
6225
  display: flex;
@@ -6234,8 +6238,6 @@ var SearchAndFilterAdditionalContainer = css21`
6234
6238
  flex-wrap: nowrap;
6235
6239
  gap: var(--spacing-base);
6236
6240
  padding: var(--spacing-base) var(--spacing-md) 0;
6237
- position: relative;
6238
- z-index: 0;
6239
6241
  `;
6240
6242
 
6241
6243
  // src/components/SearchAndFilter/FilterButton.tsx
@@ -6322,6 +6324,7 @@ function withInputVariables(WrappedComponent, noSwapping = false) {
6322
6324
  return /* @__PURE__ */ jsx72(
6323
6325
  InputVariables,
6324
6326
  {
6327
+ "data-testid": "filter-value",
6325
6328
  disableInlineMenu: true,
6326
6329
  showMenuPosition: "inline-right",
6327
6330
  onChange: (newValue) => props.onChange(newValue != null ? newValue : ""),
@@ -6342,6 +6345,7 @@ function withInputVariablesForMultiValue(WrappedComponent) {
6342
6345
  return /* @__PURE__ */ jsx72(
6343
6346
  InputVariables,
6344
6347
  {
6348
+ "data-testid": "filter-value",
6345
6349
  disableInlineMenu: true,
6346
6350
  showMenuPosition: "inline-right",
6347
6351
  onChange: (newValue) => props.onChange(newValue ? [newValue] : []),
@@ -6394,6 +6398,7 @@ var SearchAndFilterProvider = ({
6394
6398
  onSearchChange,
6395
6399
  onChange,
6396
6400
  resetFilterValues = [{ field: "", operator: "", value: "" }],
6401
+ onResetFilterValues,
6397
6402
  totalResults,
6398
6403
  filterMapper: filterMapper2 = filterMapper,
6399
6404
  children,
@@ -6422,9 +6427,12 @@ var SearchAndFilterProvider = ({
6422
6427
  onChange([...filters, { field: "", operator: "", value: "" }]);
6423
6428
  }, [filters, onChange]);
6424
6429
  const handleResetFilters = useCallback6(() => {
6430
+ if (onResetFilterValues) {
6431
+ return onResetFilterValues();
6432
+ }
6425
6433
  onSearchChange == null ? void 0 : onSearchChange("");
6426
6434
  onChange(resetFilterValues);
6427
- }, [onChange, resetFilterValues, onSearchChange]);
6435
+ }, [onChange, resetFilterValues, onSearchChange, onResetFilterValues]);
6428
6436
  const handleDeleteFilter = useCallback6(
6429
6437
  (index) => {
6430
6438
  const remainingFilters = filters.filter((_, i) => i !== index);
@@ -7051,7 +7059,8 @@ var SearchAndFilter = ({
7051
7059
  onSearchChange,
7052
7060
  totalResults,
7053
7061
  allowBindingSearchTerm = false,
7054
- resetFilterValues = []
7062
+ resetFilterValues = [],
7063
+ onResetFilterValues
7055
7064
  }) => {
7056
7065
  return /* @__PURE__ */ jsx79(
7057
7066
  SearchAndFilterProvider,
@@ -7066,6 +7075,7 @@ var SearchAndFilter = ({
7066
7075
  resetFilterValues,
7067
7076
  filterMapper: filterMapper2,
7068
7077
  allowBindingSearchTerm,
7078
+ onResetFilterValues,
7069
7079
  children: /* @__PURE__ */ jsxs38(VerticalRhythm7, { "data-testid": "search-and-filter", children: [
7070
7080
  /* @__PURE__ */ jsxs38("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
7071
7081
  /* @__PURE__ */ jsx79(
package/dist/index.js CHANGED
@@ -1948,7 +1948,7 @@ var menuBtn2 = import_react18.css`
1948
1948
  transform: translateY(-50%);
1949
1949
  `;
1950
1950
  var input = import_react18.css`
1951
- --input-padding: 12px var(--spacing-base) 12px var(--spacing-sm);
1951
+ --input-padding: 12px var(--spacing-lg) 12px var(--spacing-sm);
1952
1952
  appearance: none;
1953
1953
  background-color: var(--white);
1954
1954
  border: 1px solid var(--gray-300);
@@ -2611,7 +2611,7 @@ function InputVariables(props) {
2611
2611
  gap: "xs",
2612
2612
  css: import_react27.css`
2613
2613
  position: relative;
2614
- & > div:first-child {
2614
+ & > div:first-of-type {
2615
2615
  flex-grow: 1;
2616
2616
  }
2617
2617
  `,
@@ -4026,7 +4026,7 @@ var DataRefreshButton = ({
4026
4026
  onRefreshData,
4027
4027
  ...props
4028
4028
  }) => {
4029
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_design_system20.Button, { buttonType: "primaryInvert", onClick: onRefreshData, disabled: isLoading, ...props, children: [
4029
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_design_system20.Button, { buttonType: "ghost", onClick: onRefreshData, disabled: isLoading, ...props, children: [
4030
4030
  !isLoading ? null : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4031
4031
  import_design_system20.LoadingIndicator,
4032
4032
  {
@@ -4601,6 +4601,11 @@ var ObjectSearchResultItemTimeStamp = import_react49.css`
4601
4601
  color: var(--gray-500);
4602
4602
  font-size: var(--fs-xs);
4603
4603
  `;
4604
+ var ObjectSearchResultItemTitleLink = import_react49.css`
4605
+ text-decoration: none;
4606
+ color: var(--primary-action-default);
4607
+ font-size: var(--fs-sm);
4608
+ `;
4604
4609
  var ObjectSearchAuthorStateGroup = import_react49.css`
4605
4610
  align-items: center;
4606
4611
  display: flex;
@@ -4635,7 +4640,8 @@ var ObjectSearchResultItem = ({
4635
4640
  publishedAt,
4636
4641
  hideRemoveButton = false,
4637
4642
  disableDnD = false,
4638
- children
4643
+ children,
4644
+ onClick
4639
4645
  }) => {
4640
4646
  const { onSelectItem } = useObjectSearchContext();
4641
4647
  const formatedContentType = Array.isArray(contentType) ? contentType.join(", ") : contentType;
@@ -4658,7 +4664,19 @@ var ObjectSearchResultItem = ({
4658
4664
  /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { children: [
4659
4665
  /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { css: ObjectSearchResultItemSubtitle, "data-testid": "sub-title", children: formatedContentType }),
4660
4666
  /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("span", { role: "heading", css: ObjectSearchResultItemTitle, "data-testid": "title", children: [
4661
- title != null ? title : name,
4667
+ onClick ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4668
+ import_design_system26.Link,
4669
+ {
4670
+ onClick: (e) => {
4671
+ e.preventDefault();
4672
+ e.stopPropagation();
4673
+ onClick();
4674
+ },
4675
+ href: editLink,
4676
+ text: title != null ? title : name,
4677
+ css: ObjectSearchResultItemTitleLink
4678
+ }
4679
+ ) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { children: title != null ? title : name }),
4662
4680
  !popoverData ? null : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_design_system26.Popover, { ariaLabel: title, buttonText: `See ${title} details`, children: popoverData })
4663
4681
  ] }),
4664
4682
  !createdAt && !publishStatus ? null : /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { css: ObjectSearchAuthorStateGroup, children: [
@@ -5258,18 +5276,6 @@ var DATE_TIME_OPERATORS = [
5258
5276
  value: "sys-date-gte",
5259
5277
  editorType: "date",
5260
5278
  expectedValueType: "single"
5261
- },
5262
- {
5263
- label: "is empty",
5264
- value: "ndef",
5265
- editorType: "empty",
5266
- expectedValueType: "false"
5267
- },
5268
- {
5269
- label: "is not empty",
5270
- value: "def",
5271
- editorType: "empty",
5272
- expectedValueType: "true"
5273
5279
  }
5274
5280
  ];
5275
5281
  var RICHTEXT_OPERATORS = [
@@ -6287,8 +6293,6 @@ var SearchAndFilterOptionsContainer = import_react63.css`
6287
6293
  gap: var(--spacing-sm);
6288
6294
  padding: var(--spacing-md) 0 var(--spacing-base);
6289
6295
  will-change: height;
6290
- position: relative;
6291
- z-index: 2;
6292
6296
  `;
6293
6297
  var SearchAndFilterOptionsInnerContainer = import_react63.css`
6294
6298
  display: flex;
@@ -6307,8 +6311,6 @@ var SearchAndFilterAdditionalContainer = import_react63.css`
6307
6311
  flex-wrap: nowrap;
6308
6312
  gap: var(--spacing-base);
6309
6313
  padding: var(--spacing-base) var(--spacing-md) 0;
6310
- position: relative;
6311
- z-index: 0;
6312
6314
  `;
6313
6315
 
6314
6316
  // src/components/SearchAndFilter/FilterButton.tsx
@@ -6387,6 +6389,7 @@ function withInputVariables(WrappedComponent, noSwapping = false) {
6387
6389
  return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6388
6390
  InputVariables,
6389
6391
  {
6392
+ "data-testid": "filter-value",
6390
6393
  disableInlineMenu: true,
6391
6394
  showMenuPosition: "inline-right",
6392
6395
  onChange: (newValue) => props.onChange(newValue != null ? newValue : ""),
@@ -6407,6 +6410,7 @@ function withInputVariablesForMultiValue(WrappedComponent) {
6407
6410
  return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
6408
6411
  InputVariables,
6409
6412
  {
6413
+ "data-testid": "filter-value",
6410
6414
  disableInlineMenu: true,
6411
6415
  showMenuPosition: "inline-right",
6412
6416
  onChange: (newValue) => props.onChange(newValue ? [newValue] : []),
@@ -6459,6 +6463,7 @@ var SearchAndFilterProvider = ({
6459
6463
  onSearchChange,
6460
6464
  onChange,
6461
6465
  resetFilterValues = [{ field: "", operator: "", value: "" }],
6466
+ onResetFilterValues,
6462
6467
  totalResults,
6463
6468
  filterMapper: filterMapper2 = filterMapper,
6464
6469
  children,
@@ -6487,9 +6492,12 @@ var SearchAndFilterProvider = ({
6487
6492
  onChange([...filters, { field: "", operator: "", value: "" }]);
6488
6493
  }, [filters, onChange]);
6489
6494
  const handleResetFilters = (0, import_react64.useCallback)(() => {
6495
+ if (onResetFilterValues) {
6496
+ return onResetFilterValues();
6497
+ }
6490
6498
  onSearchChange == null ? void 0 : onSearchChange("");
6491
6499
  onChange(resetFilterValues);
6492
- }, [onChange, resetFilterValues, onSearchChange]);
6500
+ }, [onChange, resetFilterValues, onSearchChange, onResetFilterValues]);
6493
6501
  const handleDeleteFilter = (0, import_react64.useCallback)(
6494
6502
  (index) => {
6495
6503
  const remainingFilters = filters.filter((_, i) => i !== index);
@@ -7116,7 +7124,8 @@ var SearchAndFilter = ({
7116
7124
  onSearchChange,
7117
7125
  totalResults,
7118
7126
  allowBindingSearchTerm = false,
7119
- resetFilterValues = []
7127
+ resetFilterValues = [],
7128
+ onResetFilterValues
7120
7129
  }) => {
7121
7130
  return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
7122
7131
  SearchAndFilterProvider,
@@ -7131,6 +7140,7 @@ var SearchAndFilter = ({
7131
7140
  resetFilterValues,
7132
7141
  filterMapper: filterMapper2,
7133
7142
  allowBindingSearchTerm,
7143
+ onResetFilterValues,
7134
7144
  children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_design_system49.VerticalRhythm, { "data-testid": "search-and-filter", children: [
7135
7145
  /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
7136
7146
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
package/dist/index.mjs CHANGED
@@ -1808,7 +1808,7 @@ var menuBtn2 = css4`
1808
1808
  transform: translateY(-50%);
1809
1809
  `;
1810
1810
  var input = css4`
1811
- --input-padding: 12px var(--spacing-base) 12px var(--spacing-sm);
1811
+ --input-padding: 12px var(--spacing-lg) 12px var(--spacing-sm);
1812
1812
  appearance: none;
1813
1813
  background-color: var(--white);
1814
1814
  border: 1px solid var(--gray-300);
@@ -2483,7 +2483,7 @@ function InputVariables(props) {
2483
2483
  gap: "xs",
2484
2484
  css: css7`
2485
2485
  position: relative;
2486
- & > div:first-child {
2486
+ & > div:first-of-type {
2487
2487
  flex-grow: 1;
2488
2488
  }
2489
2489
  `,
@@ -3928,7 +3928,7 @@ var DataRefreshButton = ({
3928
3928
  onRefreshData,
3929
3929
  ...props
3930
3930
  }) => {
3931
- return /* @__PURE__ */ jsxs22(Button2, { buttonType: "primaryInvert", onClick: onRefreshData, disabled: isLoading, ...props, children: [
3931
+ return /* @__PURE__ */ jsxs22(Button2, { buttonType: "ghost", onClick: onRefreshData, disabled: isLoading, ...props, children: [
3932
3932
  !isLoading ? null : /* @__PURE__ */ jsx47(
3933
3933
  LoadingIndicator3,
3934
3934
  {
@@ -4398,7 +4398,7 @@ var ObjectSearchFilterContainer2 = ({ children }) => {
4398
4398
  };
4399
4399
 
4400
4400
  // src/components/ObjectSearch/ObjectSearchResultItem.tsx
4401
- import { Button as Button3, Chip as Chip2, Popover as Popover2 } from "@uniformdev/design-system";
4401
+ import { Button as Button3, Chip as Chip2, Link, Popover as Popover2 } from "@uniformdev/design-system";
4402
4402
  import { format as timeagoFormat } from "timeago.js";
4403
4403
 
4404
4404
  // src/components/Image/Image.tsx
@@ -4510,6 +4510,11 @@ var ObjectSearchResultItemTimeStamp = css19`
4510
4510
  color: var(--gray-500);
4511
4511
  font-size: var(--fs-xs);
4512
4512
  `;
4513
+ var ObjectSearchResultItemTitleLink = css19`
4514
+ text-decoration: none;
4515
+ color: var(--primary-action-default);
4516
+ font-size: var(--fs-sm);
4517
+ `;
4513
4518
  var ObjectSearchAuthorStateGroup = css19`
4514
4519
  align-items: center;
4515
4520
  display: flex;
@@ -4544,7 +4549,8 @@ var ObjectSearchResultItem = ({
4544
4549
  publishedAt,
4545
4550
  hideRemoveButton = false,
4546
4551
  disableDnD = false,
4547
- children
4552
+ children,
4553
+ onClick
4548
4554
  }) => {
4549
4555
  const { onSelectItem } = useObjectSearchContext();
4550
4556
  const formatedContentType = Array.isArray(contentType) ? contentType.join(", ") : contentType;
@@ -4567,7 +4573,19 @@ var ObjectSearchResultItem = ({
4567
4573
  /* @__PURE__ */ jsxs27("div", { children: [
4568
4574
  /* @__PURE__ */ jsx55("span", { css: ObjectSearchResultItemSubtitle, "data-testid": "sub-title", children: formatedContentType }),
4569
4575
  /* @__PURE__ */ jsxs27("span", { role: "heading", css: ObjectSearchResultItemTitle, "data-testid": "title", children: [
4570
- title != null ? title : name,
4576
+ onClick ? /* @__PURE__ */ jsx55(
4577
+ Link,
4578
+ {
4579
+ onClick: (e) => {
4580
+ e.preventDefault();
4581
+ e.stopPropagation();
4582
+ onClick();
4583
+ },
4584
+ href: editLink,
4585
+ text: title != null ? title : name,
4586
+ css: ObjectSearchResultItemTitleLink
4587
+ }
4588
+ ) : /* @__PURE__ */ jsx55("span", { children: title != null ? title : name }),
4571
4589
  !popoverData ? null : /* @__PURE__ */ jsx55(Popover2, { ariaLabel: title, buttonText: `See ${title} details`, children: popoverData })
4572
4590
  ] }),
4573
4591
  !createdAt && !publishStatus ? null : /* @__PURE__ */ jsxs27("div", { css: ObjectSearchAuthorStateGroup, children: [
@@ -5167,18 +5185,6 @@ var DATE_TIME_OPERATORS = [
5167
5185
  value: "sys-date-gte",
5168
5186
  editorType: "date",
5169
5187
  expectedValueType: "single"
5170
- },
5171
- {
5172
- label: "is empty",
5173
- value: "ndef",
5174
- editorType: "empty",
5175
- expectedValueType: "false"
5176
- },
5177
- {
5178
- label: "is not empty",
5179
- value: "def",
5180
- editorType: "empty",
5181
- expectedValueType: "true"
5182
5188
  }
5183
5189
  ];
5184
5190
  var RICHTEXT_OPERATORS = [
@@ -6214,8 +6220,6 @@ var SearchAndFilterOptionsContainer = css21`
6214
6220
  gap: var(--spacing-sm);
6215
6221
  padding: var(--spacing-md) 0 var(--spacing-base);
6216
6222
  will-change: height;
6217
- position: relative;
6218
- z-index: 2;
6219
6223
  `;
6220
6224
  var SearchAndFilterOptionsInnerContainer = css21`
6221
6225
  display: flex;
@@ -6234,8 +6238,6 @@ var SearchAndFilterAdditionalContainer = css21`
6234
6238
  flex-wrap: nowrap;
6235
6239
  gap: var(--spacing-base);
6236
6240
  padding: var(--spacing-base) var(--spacing-md) 0;
6237
- position: relative;
6238
- z-index: 0;
6239
6241
  `;
6240
6242
 
6241
6243
  // src/components/SearchAndFilter/FilterButton.tsx
@@ -6322,6 +6324,7 @@ function withInputVariables(WrappedComponent, noSwapping = false) {
6322
6324
  return /* @__PURE__ */ jsx72(
6323
6325
  InputVariables,
6324
6326
  {
6327
+ "data-testid": "filter-value",
6325
6328
  disableInlineMenu: true,
6326
6329
  showMenuPosition: "inline-right",
6327
6330
  onChange: (newValue) => props.onChange(newValue != null ? newValue : ""),
@@ -6342,6 +6345,7 @@ function withInputVariablesForMultiValue(WrappedComponent) {
6342
6345
  return /* @__PURE__ */ jsx72(
6343
6346
  InputVariables,
6344
6347
  {
6348
+ "data-testid": "filter-value",
6345
6349
  disableInlineMenu: true,
6346
6350
  showMenuPosition: "inline-right",
6347
6351
  onChange: (newValue) => props.onChange(newValue ? [newValue] : []),
@@ -6394,6 +6398,7 @@ var SearchAndFilterProvider = ({
6394
6398
  onSearchChange,
6395
6399
  onChange,
6396
6400
  resetFilterValues = [{ field: "", operator: "", value: "" }],
6401
+ onResetFilterValues,
6397
6402
  totalResults,
6398
6403
  filterMapper: filterMapper2 = filterMapper,
6399
6404
  children,
@@ -6422,9 +6427,12 @@ var SearchAndFilterProvider = ({
6422
6427
  onChange([...filters, { field: "", operator: "", value: "" }]);
6423
6428
  }, [filters, onChange]);
6424
6429
  const handleResetFilters = useCallback6(() => {
6430
+ if (onResetFilterValues) {
6431
+ return onResetFilterValues();
6432
+ }
6425
6433
  onSearchChange == null ? void 0 : onSearchChange("");
6426
6434
  onChange(resetFilterValues);
6427
- }, [onChange, resetFilterValues, onSearchChange]);
6435
+ }, [onChange, resetFilterValues, onSearchChange, onResetFilterValues]);
6428
6436
  const handleDeleteFilter = useCallback6(
6429
6437
  (index) => {
6430
6438
  const remainingFilters = filters.filter((_, i) => i !== index);
@@ -7051,7 +7059,8 @@ var SearchAndFilter = ({
7051
7059
  onSearchChange,
7052
7060
  totalResults,
7053
7061
  allowBindingSearchTerm = false,
7054
- resetFilterValues = []
7062
+ resetFilterValues = [],
7063
+ onResetFilterValues
7055
7064
  }) => {
7056
7065
  return /* @__PURE__ */ jsx79(
7057
7066
  SearchAndFilterProvider,
@@ -7066,6 +7075,7 @@ var SearchAndFilter = ({
7066
7075
  resetFilterValues,
7067
7076
  filterMapper: filterMapper2,
7068
7077
  allowBindingSearchTerm,
7078
+ onResetFilterValues,
7069
7079
  children: /* @__PURE__ */ jsxs38(VerticalRhythm7, { "data-testid": "search-and-filter", children: [
7070
7080
  /* @__PURE__ */ jsxs38("div", { css: SearchAndFilterOutterControlWrapper(viewSwitchControls ? "1fr auto" : "1fr"), children: [
7071
7081
  /* @__PURE__ */ jsx79(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/mesh-sdk-react",
3
- "version": "20.7.1-alpha.4+20185a97ff",
3
+ "version": "20.7.1-alpha.45+082e9e310e",
4
4
  "description": "Uniform Mesh Framework SDK for React",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "test": "jest --maxWorkers=1 --passWithNoTests",
42
42
  "lint": "eslint \"src/**/*.{js,ts,tsx}\"",
43
43
  "format": "prettier --write \"src/**/*.{js,ts,tsx}\"",
44
- "document": "api-extractor run --local"
44
+ "document:prebuild": "api-extractor run --local"
45
45
  },
46
46
  "dependencies": {
47
47
  "@hookform/resolvers": "^3.3.1",
@@ -49,11 +49,11 @@
49
49
  "@lexical/react": "0.25.0",
50
50
  "@lexical/selection": "0.25.0",
51
51
  "@lexical/utils": "0.25.0",
52
- "@react-icons/all-files": "https://github.com/react-icons/react-icons/releases/download/v5.2.1/react-icons-all-files-5.2.1.tgz",
53
- "@uniformdev/canvas": "20.7.1-alpha.4+20185a97ff",
54
- "@uniformdev/design-system": "20.7.1-alpha.4+20185a97ff",
55
- "@uniformdev/mesh-sdk": "20.7.1-alpha.4+20185a97ff",
56
- "@uniformdev/richtext": "20.7.1-alpha.4+20185a97ff",
52
+ "@react-icons/all-files": "https://github.com/react-icons/react-icons/releases/download/v5.5.0/react-icons-all-files-5.5.0.tgz",
53
+ "@uniformdev/canvas": "20.7.1-alpha.45+082e9e310e",
54
+ "@uniformdev/design-system": "20.7.1-alpha.45+082e9e310e",
55
+ "@uniformdev/mesh-sdk": "20.7.1-alpha.45+082e9e310e",
56
+ "@uniformdev/richtext": "20.7.1-alpha.45+082e9e310e",
57
57
  "dequal": "^2.0.3",
58
58
  "lexical": "0.25.0",
59
59
  "mitt": "3.0.1",
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "gitHead": "20185a97ff6c2de2f871223af12d73583fe300af"
89
+ "gitHead": "082e9e310e3f0a32074da8bc21a928e665041246"
90
90
  }