@uniformdev/mesh-sdk-react 18.27.1-alpha.12 → 18.27.1-alpha.25

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.js CHANGED
@@ -31,46 +31,58 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  // src/index.ts
32
32
  var src_exports = {};
33
33
  __export(src_exports, {
34
- AddListButton: () => import_design_system25.AddListButton,
35
- Button: () => import_design_system25.Button,
36
- Callout: () => import_design_system25.Callout,
34
+ AddListButton: () => import_design_system34.AddListButton,
35
+ Button: () => import_design_system34.Button,
36
+ Callout: () => import_design_system34.Callout,
37
37
  DamSelectedItem: () => DamSelectedItem,
38
+ DataRefreshButton: () => DataRefreshButton,
38
39
  DataResourceVariablesList: () => DataResourceVariablesList,
39
40
  DataSourceEditor: () => DataSourceEditor,
40
41
  DataTypeEditor: () => DataTypeEditor,
41
42
  DefaultSearchRow: () => DefaultSearchRow,
42
43
  DefaultSelectedItem: () => DefaultSelectedItem,
43
44
  EntrySearch: () => EntrySearch,
44
- Heading: () => import_design_system25.Heading,
45
+ EntrySearchContainer: () => EntrySearchContainer,
46
+ EntrySearchContext: () => EntrySearchContext,
47
+ EntrySearchFilter: () => EntrySearchFilter,
48
+ EntrySearchFilterContainer: () => EntrySearchFilterContainer2,
49
+ EntrySearchListItem: () => EntrySearchListItem,
50
+ EntrySearchListItemLoadingSkeleton: () => EntrySearchListItemLoadingSkeleton,
51
+ EntrySearchProvider: () => EntrySearchProvider,
52
+ EntrySearchResultItem: () => EntrySearchResultItem,
53
+ EntrySearchResultItemButton: () => EntrySearchResultItemButton,
54
+ EntrySearchResultList: () => EntrySearchResultList,
55
+ Heading: () => import_design_system34.Heading,
45
56
  Icons: () => icons_exports,
46
- Input: () => import_design_system25.Input,
47
- InputComboBox: () => import_design_system25.InputComboBox,
48
- InputKeywordSearch: () => import_design_system25.InputKeywordSearch,
49
- InputSelect: () => import_design_system25.InputSelect,
50
- InputToggle: () => import_design_system25.InputToggle,
57
+ Input: () => import_design_system34.Input,
58
+ InputComboBox: () => import_design_system34.InputComboBox,
59
+ InputKeywordSearch: () => import_design_system34.InputKeywordSearch,
60
+ InputSelect: () => import_design_system34.InputSelect,
61
+ InputToggle: () => import_design_system34.InputToggle,
51
62
  InputVariables: () => InputVariables,
52
- KeywordSearchInput: () => import_design_system25.InputKeywordSearch,
53
- Label: () => import_design_system25.Label,
54
- LoadingIndicator: () => import_design_system25.LoadingIndicator,
55
- LoadingOverlay: () => import_design_system25.LoadingOverlay,
56
- Menu: () => import_design_system25.Menu,
57
- MenuItem: () => import_design_system25.MenuItem,
63
+ KeywordSearchInput: () => import_design_system34.InputKeywordSearch,
64
+ Label: () => import_design_system34.Label,
65
+ LinkButton: () => LinkButton,
66
+ LoadingIndicator: () => import_design_system34.LoadingIndicator,
67
+ LoadingOverlay: () => import_design_system34.LoadingOverlay,
68
+ Menu: () => import_design_system34.Menu,
69
+ MenuItem: () => import_design_system34.MenuItem,
58
70
  MeshApp: () => MeshApp,
59
- ParameterGroup: () => import_design_system25.ParameterGroup,
60
- ParameterImage: () => import_design_system25.ParameterImage,
61
- ParameterImageInner: () => import_design_system25.ParameterImageInner,
62
- ParameterInput: () => import_design_system25.ParameterInput,
63
- ParameterInputInner: () => import_design_system25.ParameterInputInner,
64
- ParameterLabel: () => import_design_system25.ParameterLabel,
65
- ParameterMenuButton: () => import_design_system25.ParameterMenuButton,
66
- ParameterSelect: () => import_design_system25.ParameterSelect,
67
- ParameterSelectInner: () => import_design_system25.ParameterSelectInner,
68
- ParameterShell: () => import_design_system25.ParameterShell,
69
- ParameterShellContext: () => import_design_system24.ParameterShellContext,
70
- ParameterTextarea: () => import_design_system25.ParameterTextarea,
71
- ParameterTextareaInner: () => import_design_system25.ParameterTextareaInner,
72
- ParameterToggle: () => import_design_system25.ParameterToggle,
73
- ParameterToggleInner: () => import_design_system25.ParameterToggleInner,
71
+ ParameterGroup: () => import_design_system34.ParameterGroup,
72
+ ParameterImage: () => import_design_system34.ParameterImage,
73
+ ParameterImageInner: () => import_design_system34.ParameterImageInner,
74
+ ParameterInput: () => import_design_system34.ParameterInput,
75
+ ParameterInputInner: () => import_design_system34.ParameterInputInner,
76
+ ParameterLabel: () => import_design_system34.ParameterLabel,
77
+ ParameterMenuButton: () => import_design_system34.ParameterMenuButton,
78
+ ParameterSelect: () => import_design_system34.ParameterSelect,
79
+ ParameterSelectInner: () => import_design_system34.ParameterSelectInner,
80
+ ParameterShell: () => import_design_system34.ParameterShell,
81
+ ParameterShellContext: () => import_design_system33.ParameterShellContext,
82
+ ParameterTextarea: () => import_design_system34.ParameterTextarea,
83
+ ParameterTextareaInner: () => import_design_system34.ParameterTextareaInner,
84
+ ParameterToggle: () => import_design_system34.ParameterToggle,
85
+ ParameterToggleInner: () => import_design_system34.ParameterToggleInner,
74
86
  ProductPreviewList: () => ProductPreviewList,
75
87
  ProductQuery: () => ProductQuery,
76
88
  ProductQueryContext: () => ProductQueryContext,
@@ -78,6 +90,8 @@ __export(src_exports, {
78
90
  ProductSearchContext: () => ProductSearchContext,
79
91
  ProductSearchRow: () => ProductSearchRow,
80
92
  ProductSelectedItem: () => ProductSelectedItem,
93
+ PublishStatus: () => PublishStatus,
94
+ QueryFilter: () => QueryFilter,
81
95
  RequestBody: () => RequestBody,
82
96
  RequestHeaders: () => RequestHeaders,
83
97
  RequestMethodSelect: () => RequestMethodSelect,
@@ -87,13 +101,13 @@ __export(src_exports, {
87
101
  RequestUrl: () => RequestUrl,
88
102
  RequestUrlInput: () => RequestUrlInput,
89
103
  ResolvableLoadingValue: () => ResolvableLoadingValue,
90
- ScrollableList: () => import_design_system25.ScrollableList,
91
- ScrollableListItem: () => import_design_system25.ScrollableListItem,
104
+ ScrollableList: () => import_design_system34.ScrollableList,
105
+ ScrollableListItem: () => import_design_system34.ScrollableListItem,
92
106
  SelectionField: () => SelectionField,
93
- Switch: () => import_design_system25.Switch,
107
+ Switch: () => import_design_system34.Switch,
94
108
  TextVariableRenderer: () => TextVariableRenderer,
95
- Textarea: () => import_design_system25.Textarea,
96
- Theme: () => import_design_system25.Theme,
109
+ Textarea: () => import_design_system34.Textarea,
110
+ Theme: () => import_design_system34.Theme,
97
111
  UniformMeshLocationContext: () => UniformMeshLocationContext,
98
112
  UniformMeshLocationContextProvider: () => UniformMeshLocationContextProvider,
99
113
  UniformMeshSdkContext: () => UniformMeshSdkContext,
@@ -166,9 +180,10 @@ __export(src_exports, {
166
180
  selectedItemTitle: () => selectedItemTitle,
167
181
  urlEncodeRequestParameter: () => urlEncodeRequestParameter,
168
182
  urlEncodeRequestUrl: () => urlEncodeRequestUrl,
183
+ useEntrySearchContext: () => useEntrySearchContext,
169
184
  useInitializeUniformMeshSdk: () => useInitializeUniformMeshSdk,
170
185
  useMeshLocation: () => useMeshLocation,
171
- useParameterShell: () => import_design_system24.useParameterShell,
186
+ useParameterShell: () => import_design_system33.useParameterShell,
172
187
  useProductQueryContext: () => useProductQueryContext,
173
188
  useProductSearchContext: () => useProductSearchContext,
174
189
  useRequest: () => useRequest,
@@ -1134,12 +1149,12 @@ var import_design_system10 = require("@uniformdev/design-system");
1134
1149
  var import_react21 = __toESM(require("react"));
1135
1150
  var import_react_use3 = require("react-use");
1136
1151
 
1137
- // src/components/EntrySearch/DefaultSearchRow.tsx
1152
+ // src/components/legacy/EntrySearch/DefaultSearchRow.tsx
1138
1153
  var import_react9 = require("@emotion/react");
1139
1154
  var import_design_system4 = require("@uniformdev/design-system");
1140
1155
  var import_react10 = require("react");
1141
1156
 
1142
- // src/components/EntrySearch/styles/DefaultSearchRow.styles.ts
1157
+ // src/components/legacy/EntrySearch/styles/DefaultSearchRow.styles.ts
1143
1158
  var import_react8 = require("@emotion/react");
1144
1159
  var searchRowContainer = import_react8.css`
1145
1160
  cursor: pointer;
@@ -1180,7 +1195,7 @@ var searchRowBtn = import_react8.css`
1180
1195
  inset: 0 var(--spacing-sm) 0 auto;
1181
1196
  `;
1182
1197
 
1183
- // src/components/EntrySearch/DefaultSearchRow.tsx
1198
+ // src/components/legacy/EntrySearch/DefaultSearchRow.tsx
1184
1199
  var import_jsx_runtime19 = require("@emotion/react/jsx-runtime");
1185
1200
  var DefaultSearchRow = ({ result, isSelected, triggerSelection }) => {
1186
1201
  const popoverRef = (0, import_react10.useRef)(null);
@@ -1254,7 +1269,7 @@ var DefaultSearchRow = ({ result, isSelected, triggerSelection }) => {
1254
1269
  );
1255
1270
  };
1256
1271
 
1257
- // src/components/EntrySearch/DefaultSelectedItem.tsx
1272
+ // src/components/legacy/EntrySearch/DefaultSelectedItem.tsx
1258
1273
  var import_react12 = require("@emotion/react");
1259
1274
  var import_design_system6 = require("@uniformdev/design-system");
1260
1275
  var import_react13 = require("react");
@@ -1272,7 +1287,7 @@ function openWindowWithCloseCallback(href, callback) {
1272
1287
  }, 500);
1273
1288
  }
1274
1289
 
1275
- // src/components/EntrySearch/styles/DefaultSelectedItem.styles.ts
1290
+ // src/components/legacy/EntrySearch/styles/DefaultSelectedItem.styles.ts
1276
1291
  var import_react11 = require("@emotion/react");
1277
1292
  var import_design_system5 = require("@uniformdev/design-system");
1278
1293
  var selectedItemContainer = import_react11.css`
@@ -1356,7 +1371,7 @@ var selectItemLinkBtn = import_react11.css`
1356
1371
  }
1357
1372
  `;
1358
1373
 
1359
- // src/components/EntrySearch/DefaultSelectedItem.tsx
1374
+ // src/components/legacy/EntrySearch/DefaultSelectedItem.tsx
1360
1375
  var import_jsx_runtime20 = require("@emotion/react/jsx-runtime");
1361
1376
  var DefaultSelectedItem = ({
1362
1377
  selectedItem,
@@ -1539,7 +1554,7 @@ var DefaultSelectedItem = ({
1539
1554
  ] }) }, selectedItem.id);
1540
1555
  };
1541
1556
 
1542
- // src/components/EntrySearch/EntrySearch.tsx
1557
+ // src/components/legacy/EntrySearch/EntrySearch.tsx
1543
1558
  var import_react16 = require("@emotion/react");
1544
1559
  var import_design_system7 = require("@uniformdev/design-system");
1545
1560
  var React5 = __toESM(require("react"));
@@ -1580,7 +1595,7 @@ function useLoadingDelay(loading, { delay = 500, minDuration = 200 } = {
1580
1595
  return state === "DISPLAY" || state === "EXPIRE";
1581
1596
  }
1582
1597
 
1583
- // src/components/EntrySearch/styles/EntrySearch.styles.ts
1598
+ // src/components/legacy/EntrySearch/styles/EntrySearch.styles.ts
1584
1599
  var import_react15 = require("@emotion/react");
1585
1600
  var entrySearchWrapper = import_react15.css`
1586
1601
  background: var(--white);
@@ -1691,7 +1706,7 @@ var badgeIcon = import_react15.css`
1691
1706
  height: calc(var(--spacing-lg) + var(--spacing-xs));
1692
1707
  `;
1693
1708
 
1694
- // src/components/EntrySearch/EntrySearch.tsx
1709
+ // src/components/legacy/EntrySearch/EntrySearch.tsx
1695
1710
  var import_jsx_runtime21 = require("@emotion/react/jsx-runtime");
1696
1711
  var DefaultNoResults = ({ searchText, selectedContentType }) => {
1697
1712
  let message = "No content found";
@@ -4036,17 +4051,741 @@ function convertRequestDataToDataType(dataType, requestData) {
4036
4051
  };
4037
4052
  }
4038
4053
 
4039
- // src/components/MeshApp.tsx
4054
+ // src/components/EntrySearch/DataRefreshButton.tsx
4055
+ var import_react38 = require("@emotion/react");
4040
4056
  var import_design_system23 = require("@uniformdev/design-system");
4057
+ var import_jsx_runtime44 = require("@emotion/react/jsx-runtime");
4058
+ var DataRefreshButton = ({
4059
+ buttonText,
4060
+ isLoading,
4061
+ onRefreshData,
4062
+ ...props
4063
+ }) => {
4064
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_design_system23.Button, { buttonType: "primaryInvert", onClick: onRefreshData, disabled: isLoading, ...props, children: [
4065
+ !isLoading ? null : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4066
+ import_design_system23.LoadingIndicator,
4067
+ {
4068
+ css: import_react38.css`
4069
+ ${isLoading ? "opacity: 0.2;" : void 0}
4070
+ `
4071
+ }
4072
+ ),
4073
+ buttonText
4074
+ ] });
4075
+ };
4076
+
4077
+ // src/components/EntrySearch/EntrySearchContainer.tsx
4078
+ var import_design_system24 = require("@uniformdev/design-system");
4079
+
4080
+ // src/components/EntrySearch/styles/EntrySearchContainer.styles.ts
4081
+ var import_react39 = require("@emotion/react");
4082
+ var EntrySearchBtnGroup = import_react39.css`
4083
+ align-items: center;
4084
+ display: flex;
4085
+ gap: var(--spacing-sm);
4086
+ `;
4087
+
4088
+ // src/components/EntrySearch/EntrySearchContainer.tsx
4089
+ var import_jsx_runtime45 = require("@emotion/react/jsx-runtime");
4090
+ var EntrySearchContainer = ({
4091
+ searchFilters,
4092
+ resultList,
4093
+ onSave,
4094
+ onCancel,
4095
+ children
4096
+ }) => {
4097
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_design_system24.IconsProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_design_system24.VerticalRhythm, { children: [
4098
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_design_system24.Container, { backgroundColor: "gray-50", padding: "var(--spacing-base)", border: true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_design_system24.VerticalRhythm, { children: [
4099
+ searchFilters,
4100
+ !resultList ? null : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_design_system24.ScrollableList, { role: "list", children: resultList })
4101
+ ] }) }),
4102
+ children,
4103
+ !onSave && !onCancel ? null : /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { css: EntrySearchBtnGroup, children: [
4104
+ !onSave ? null : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_design_system24.Button, { buttonType: "primary", onClick: onSave, children: "Save" }),
4105
+ !onCancel ? null : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_design_system24.Button, { buttonType: "ghostDestructive", onClick: onCancel, children: "Cancel" })
4106
+ ] })
4107
+ ] }) });
4108
+ };
4109
+
4110
+ // src/components/EntrySearch/EntrySearchFilter.tsx
4111
+ var import_design_system25 = require("@uniformdev/design-system");
4112
+ var import_react42 = require("react");
4113
+
4114
+ // src/components/EntrySearch/hooks/EntrySearchContext.tsx
4115
+ var import_react40 = require("react");
4116
+ var import_jsx_runtime46 = require("@emotion/react/jsx-runtime");
4117
+ var EntrySearchContext = (0, import_react40.createContext)({
4118
+ onSetQuery: () => {
4119
+ },
4120
+ onSelectItem: () => {
4121
+ },
4122
+ query: {
4123
+ contentType: "",
4124
+ keywordSearch: ""
4125
+ },
4126
+ list: {},
4127
+ onSetList: () => {
4128
+ },
4129
+ selectedListItems: [],
4130
+ onRemoveAllSelectedItems: () => {
4131
+ }
4132
+ });
4133
+ var EntrySearchProvider = ({ currentlySelectedItems, children }) => {
4134
+ const [query, setQuery] = (0, import_react40.useState)({
4135
+ contentType: "",
4136
+ keywordSearch: ""
4137
+ });
4138
+ const querySearchDeferred = (0, import_react40.useDeferredValue)(query);
4139
+ const [selectedItems, setSelectedItems] = (0, import_react40.useState)(currentlySelectedItems != null ? currentlySelectedItems : []);
4140
+ const [list, setList] = (0, import_react40.useState)({});
4141
+ const onSetQuery = (0, import_react40.useCallback)(
4142
+ (value) => {
4143
+ setQuery(value);
4144
+ },
4145
+ [setQuery]
4146
+ );
4147
+ const onSelectItem = (0, import_react40.useCallback)(
4148
+ (selectedResult) => {
4149
+ if (Array.isArray(selectedResult)) {
4150
+ setSelectedItems(selectedResult);
4151
+ } else {
4152
+ if (selectedItems.some((item) => item.id === selectedResult.id)) {
4153
+ setSelectedItems((prev) => prev.filter((item) => item.id !== selectedResult.id));
4154
+ } else {
4155
+ setSelectedItems((prev) => [...prev, selectedResult]);
4156
+ }
4157
+ }
4158
+ },
4159
+ [setSelectedItems, selectedItems]
4160
+ );
4161
+ const onRemoveAllSelectedItems = (0, import_react40.useCallback)(() => {
4162
+ setSelectedItems([]);
4163
+ }, [setSelectedItems]);
4164
+ const onSetList = (0, import_react40.useCallback)(
4165
+ (value) => {
4166
+ setList(value);
4167
+ },
4168
+ [setList]
4169
+ );
4170
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4171
+ EntrySearchContext.Provider,
4172
+ {
4173
+ value: {
4174
+ onSetQuery,
4175
+ query: querySearchDeferred,
4176
+ onSelectItem,
4177
+ selectedListItems: selectedItems,
4178
+ onRemoveAllSelectedItems,
4179
+ list,
4180
+ onSetList
4181
+ },
4182
+ children
4183
+ }
4184
+ );
4185
+ };
4186
+ var useEntrySearchContext = () => {
4187
+ const contextValues = (0, import_react40.useContext)(EntrySearchContext);
4188
+ return { ...contextValues };
4189
+ };
4190
+
4191
+ // src/components/EntrySearch/styles/EntrySearchFilterContainer.styles.ts
4192
+ var import_react41 = require("@emotion/react");
4193
+ var EntrySearchFilterContainerLabel = import_react41.css`
4194
+ align-items: center;
4195
+ display: flex;
4196
+ font-size: var(--fs-sm);
4197
+ font-weight: var(--fw-bold);
4198
+ line-height: 1rem;
4199
+ margin-bottom: var(--spacing-sm);
4200
+ `;
4201
+ var EntrySearchFilterContainer = import_react41.css`
4202
+ display: grid;
4203
+ gap: var(--spacing-base);
4204
+ `;
4205
+ var EntrySearchFilterDropdownAndTextSearch = import_react41.css`
4206
+ grid-template-columns: 0.5fr 1fr;
4207
+ `;
4208
+ var EntrySearchFilterGrid = (gridColumns) => import_react41.css`
4209
+ display: grid;
4210
+ grid-template-columns: ${gridColumns};
4211
+ gap: var(--spacing-base);
4212
+ `;
4213
+
4214
+ // src/components/EntrySearch/EntrySearchFilter.tsx
4215
+ var import_jsx_runtime47 = require("@emotion/react/jsx-runtime");
4216
+ var EntrySearchFilter = ({
4217
+ requireContentType,
4218
+ typeSelectorAllTypesOptionText = "All content types",
4219
+ searchInputName = "searchText",
4220
+ searchInputPlaceholderText = "Enter keyword to narrow your results",
4221
+ selectLabel = "Content Type Select",
4222
+ selectOptions
4223
+ }) => {
4224
+ const { query, onSetQuery } = useEntrySearchContext();
4225
+ const [searchState, setSearchState] = (0, import_react42.useState)({
4226
+ contentType: "any",
4227
+ keywordSearch: ""
4228
+ });
4229
+ const handleFilterChange = (value) => {
4230
+ setSearchState((prev) => {
4231
+ return { ...prev, ...value };
4232
+ });
4233
+ onSetQuery({ ...query, ...value });
4234
+ };
4235
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("fieldset", { css: [EntrySearchFilterContainer, EntrySearchFilterDropdownAndTextSearch], children: [
4236
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4237
+ import_design_system25.InputSelect,
4238
+ {
4239
+ label: selectLabel,
4240
+ showLabel: false,
4241
+ onChange: (e) => handleFilterChange({ contentType: e.target.value }),
4242
+ options: [
4243
+ ...!requireContentType ? [{ value: "any", label: typeSelectorAllTypesOptionText }] : [],
4244
+ ...selectOptions ? selectOptions.map((option) => {
4245
+ return { value: option.id, label: option.name };
4246
+ }) : []
4247
+ ],
4248
+ value: searchState.contentType
4249
+ }
4250
+ ),
4251
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
4252
+ import_design_system25.InputKeywordSearch,
4253
+ {
4254
+ inputFieldName: searchInputName,
4255
+ placeholder: searchInputPlaceholderText,
4256
+ onSearchTextChanged: (e) => handleFilterChange({ keywordSearch: e }),
4257
+ disabledFieldSubmission: true,
4258
+ onClear: () => handleFilterChange({ keywordSearch: "" }),
4259
+ value: searchState.keywordSearch
4260
+ }
4261
+ )
4262
+ ] });
4263
+ };
4264
+
4265
+ // src/components/EntrySearch/EntrySearchFilterContainer.tsx
4266
+ var import_jsx_runtime48 = require("@emotion/react/jsx-runtime");
4267
+ var EntrySearchFilterContainer2 = ({ label, children }) => {
4268
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { children: [
4269
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { css: EntrySearchFilterContainerLabel, children: label }),
4270
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { css: EntrySearchFilterContainer, children })
4271
+ ] });
4272
+ };
4273
+
4274
+ // src/components/EntrySearch/EntrySearchListItem.tsx
4275
+ var import_design_system27 = require("@uniformdev/design-system");
4276
+
4277
+ // src/components/EntrySearch/styles/EntrySearchListItem.styles.ts
4278
+ var import_react43 = require("@emotion/react");
4279
+ var import_design_system26 = require("@uniformdev/design-system");
4280
+ var EntryListItemContainer = import_react43.css`
4281
+ align-items: center;
4282
+ border: 1px solid var(--gray-300);
4283
+ border-radius: var(--rounded-base);
4284
+ background: var(--white);
4285
+ display: grid;
4286
+ grid-template-columns: 1fr 32px;
4287
+ padding: var(--spacing-sm);
4288
+
4289
+ &[hidden] {
4290
+ display: none;
4291
+ }
4292
+ `;
4293
+ var EntryListItemLoading = import_react43.css`
4294
+ animation: ${import_design_system26.skeletonLoading} 1s linear infinite alternate;
4295
+ border-color: transparent;
4296
+ min-height: 42px;
4297
+ position: relative;
4298
+
4299
+ &:before,
4300
+ &:after {
4301
+ background: var(--gray-200);
4302
+ content: '';
4303
+ display: block;
4304
+ height: 1rem;
4305
+ }
4306
+
4307
+ &:before {
4308
+ border-radius: var(--rounded-base);
4309
+ width: 10rem;
4310
+ }
4311
+
4312
+ &:after {
4313
+ border-radius: var(--rounded-full);
4314
+ width: 1rem;
4315
+ }
4316
+ `;
4317
+ var EntryListItemHeadingGroup = import_react43.css`
4318
+ align-items: center;
4319
+ display: grid;
4320
+ `;
4321
+ var EntryListItemTitle = import_react43.css`
4322
+ color: var(--brand-secondary-1);
4323
+ display: block;
4324
+ font-size: var(--fs-sm);
4325
+ `;
4326
+ var EntryListItemSubtitle = import_react43.css`
4327
+ color: var(--gray-500);
4328
+ display: block;
4329
+ font-size: var(--fs-xs);
4330
+ line-height: 1;
4331
+ `;
4332
+ var EntryListItemInfoContainer = import_react43.css`
4333
+ align-items: center;
4334
+ display: flex;
4335
+ justify-content: center;
4336
+ `;
4337
+ var EntryListItemControlledContent = import_react43.css`
4338
+ display: flex;
4339
+ gap: var(--spacing-sm);
4340
+ `;
4341
+ var EntryListItemUnControlledContent = import_react43.css`
4342
+ margin-top: var(--spacing-sm);
4343
+ grid-column: 1 / -1;
4344
+ `;
4345
+
4346
+ // src/components/EntrySearch/EntrySearchListItem.tsx
4347
+ var import_jsx_runtime49 = require("@emotion/react/jsx-runtime");
4348
+ var EntrySearchListItem = ({
4349
+ id,
4350
+ title,
4351
+ contentType,
4352
+ image,
4353
+ popoverInfo,
4354
+ onSelect,
4355
+ children,
4356
+ ...props
4357
+ }) => {
4358
+ const { onSelectItem, selectedListItems } = useEntrySearchContext();
4359
+ const formatedContentType = Array.isArray(contentType) ? contentType.join(", ") : contentType;
4360
+ const handleSelectItem = () => {
4361
+ var _a;
4362
+ const extraData = (_a = onSelect == null ? void 0 : onSelect()) != null ? _a : {};
4363
+ onSelectItem({ id, title, ...extraData });
4364
+ };
4365
+ const hideWhenInSelectedList = selectedListItems.some((item) => item.id === id);
4366
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { role: "listitem", hidden: hideWhenInSelectedList, css: EntryListItemContainer, ...props, children: [
4367
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { role: "button", onClick: handleSelectItem, css: EntryListItemControlledContent, children: [
4368
+ !image ? null : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("img", { ...image, loading: (image == null ? void 0 : image.width) && image.height ? "lazy" : "eager" }),
4369
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { role: "heading", css: EntryListItemHeadingGroup, children: [
4370
+ !contentType ? null : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { css: EntryListItemSubtitle, children: formatedContentType }),
4371
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { css: EntryListItemTitle, children: title })
4372
+ ] })
4373
+ ] }),
4374
+ !popoverInfo ? null : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { css: EntryListItemInfoContainer, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_design_system27.Popover, { baseId: title, ariaLabel: title, buttonText: `See ${title} details`, children: popoverInfo }) }),
4375
+ !children ? null : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { css: EntryListItemUnControlledContent, children })
4376
+ ] });
4377
+ };
4378
+ var EntrySearchListItemLoadingSkeleton = () => {
4379
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { role: "presentation", css: [EntryListItemContainer, EntryListItemLoading] });
4380
+ };
4381
+
4382
+ // src/components/EntrySearch/EntrySearchResultItem.tsx
4383
+ var import_design_system28 = require("@uniformdev/design-system");
4384
+ var import_timeago3 = require("timeago.js");
4385
+
4386
+ // src/components/EntrySearch/styles/PublishStatus.styles.ts
4387
+ var import_react44 = require("@emotion/react");
4388
+ var StatusBadge = import_react44.css`
4389
+ display: inline-flex;
4390
+ padding: var(--spacing-xs) var(--spacing-sm);
4391
+ font-size: var(--fs-xxs);
4392
+ font-weight: var(--fw-bold);
4393
+ line-height: 1;
4394
+ text-transform: uppercase;
4395
+ `;
4396
+ var StatusBadgePublished = import_react44.css`
4397
+ background: #c7f1c2;
4398
+ color: #106226;
4399
+ `;
4400
+ var StatusBadgeUnPublished = import_react44.css`
4401
+ background: var(--alert);
4402
+ color: var(--alert-text);
4403
+ `;
4404
+ var StatusBadgeModified = import_react44.css`
4405
+ background: var(--gray-200);
4406
+ color: var(--brand-primary-1);
4407
+ `;
4408
+ var StatusBadgeDraft = import_react44.css`
4409
+ background: var(--gray-200);
4410
+ color: var(--gray-500);
4411
+ `;
4412
+
4413
+ // src/components/EntrySearch/PublishStatus.tsx
4414
+ var import_jsx_runtime50 = require("@emotion/react/jsx-runtime");
4415
+ var PublishStatus = ({ status }) => {
4416
+ const statusStyles = {
4417
+ draft: StatusBadgeDraft,
4418
+ modified: StatusBadgeModified,
4419
+ published: StatusBadgePublished,
4420
+ unpublished: StatusBadgeUnPublished
4421
+ };
4422
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("span", { role: "status", css: [StatusBadge, statusStyles[status]], children: status });
4423
+ };
4424
+
4425
+ // src/components/EntrySearch/styles/EntrySearchResultItem.styles.ts
4426
+ var import_react45 = require("@emotion/react");
4427
+ var EntrySearchResultItemContainer = import_react45.css`
4428
+ align-items: center;
4429
+ border: 1px solid var(--gray-300);
4430
+ border-radius: var(--rounded-base);
4431
+ background: var(--gray-50);
4432
+ display: grid;
4433
+ grid-template-columns: 1fr auto;
4434
+ padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-md);
4435
+ `;
4436
+ var EntrySearchResultItemSubtitle = import_react45.css`
4437
+ color: var(--gray-500);
4438
+ display: block;
4439
+ font-size: var(--fs-xs);
4440
+ line-height: 1;
4441
+ `;
4442
+ var EntrySearchResultItemTitle = import_react45.css`
4443
+ align-items: center;
4444
+ color: var(--brand-secondary-1);
4445
+ display: flex;
4446
+ gap: var(--spacing-xs);
4447
+ `;
4448
+ var EntrySearchResultItemTimeStamp = import_react45.css`
4449
+ color: var(--gray-500);
4450
+ font-size: var(--fs-xs);
4451
+ `;
4452
+ var EntrySearchAuthorStateGroup = import_react45.css`
4453
+ align-items: center;
4454
+ display: flex;
4455
+ gap: var(--spacing-sm);
4456
+ `;
4457
+ var EntrySearchContentContainer = import_react45.css`
4458
+ display: flex;
4459
+ gap: var(--spacing-xs);
4460
+ `;
4461
+ var EntrySearchImage = import_react45.css`
4462
+ max-width: 56px;
4463
+ object-fit: contain;
4464
+ `;
4465
+
4466
+ // src/components/EntrySearch/EntrySearchResultItem.tsx
4467
+ var import_jsx_runtime51 = require("@emotion/react/jsx-runtime");
4468
+ var EntrySearchResultItem = ({
4469
+ id,
4470
+ title,
4471
+ name,
4472
+ contentType,
4473
+ popoverData,
4474
+ publishStatus,
4475
+ editLinkIcon,
4476
+ editLink,
4477
+ imageUrl,
4478
+ onRemove,
4479
+ createdAt,
4480
+ hideRemoveButton = false,
4481
+ children
4482
+ }) => {
4483
+ const { onSelectItem } = useEntrySearchContext();
4484
+ const formatedContentType = Array.isArray(contentType) ? contentType.join(", ") : contentType;
4485
+ const onRemoveItem = () => {
4486
+ onSelectItem({ id });
4487
+ onRemove == null ? void 0 : onRemove();
4488
+ };
4489
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { css: EntrySearchResultItemContainer, children: [
4490
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { css: EntrySearchContentContainer, children: [
4491
+ !imageUrl ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("img", { src: imageUrl, alt: `Thumbnail for ${title}`, css: EntrySearchImage }),
4492
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
4493
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { css: EntrySearchResultItemSubtitle, children: formatedContentType }),
4494
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("span", { role: "heading", css: EntrySearchResultItemTitle, children: [
4495
+ title != null ? title : name,
4496
+ !popoverData ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_design_system28.Popover, { baseId: title, ariaLabel: title, buttonText: `See ${title} details`, children: popoverData })
4497
+ ] }),
4498
+ !createdAt && !publishStatus ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { css: EntrySearchAuthorStateGroup, children: [
4499
+ !publishStatus ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(PublishStatus, { status: publishStatus }),
4500
+ !createdAt ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("small", { css: EntrySearchResultItemTimeStamp, children: [
4501
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("strong", { children: "Last updated: " }),
4502
+ (0, import_timeago3.format)(createdAt)
4503
+ ] })
4504
+ ] }),
4505
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { children })
4506
+ ] })
4507
+ ] }) }),
4508
+ !editLink && hideRemoveButton ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { css: EntrySearchAuthorStateGroup, children: [
4509
+ !editLink ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(LinkButton, { text: "Edit", href: editLink, icon: editLinkIcon }),
4510
+ hideRemoveButton ? null : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_design_system28.Button, { buttonType: "ghostDestructive", onClick: onRemoveItem, children: "Remove" })
4511
+ ] })
4512
+ ] });
4513
+ };
4514
+
4515
+ // src/components/EntrySearch/styles/EntrySearchResultItemButton.styles.ts
4516
+ var import_react46 = require("@emotion/react");
4517
+ var import_design_system29 = require("@uniformdev/design-system");
4518
+ var ButtonStyles = import_react46.css`
4519
+ ${import_design_system29.button}
4520
+ background: transparent;
4521
+ border: 1px solid var(--brand-secondary-1);
4522
+ color: var(--brand-secondary-1);
4523
+ padding: var(--spacing-sm);
4524
+ font-size: var(--fs-sm);
4525
+ line-height: 1;
4526
+ gap: var(--spacing-xs);
4527
+ transition: border-color var(--duration-fast) var(--timing-ease-out),
4528
+ background-color var(--duration-fast) var(--timing-ease-out);
4529
+
4530
+ &:hover {
4531
+ background: var(--gray-100);
4532
+ border-color: var(--gray-300);
4533
+ }
4534
+
4535
+ &:disabled {
4536
+ background: var(--gray-300);
4537
+ border-color: var(--gray-200);
4538
+ color: var(--gray-500);
4539
+ }
4540
+
4541
+ &:link {
4542
+ text-decoration: none;
4543
+ }
4544
+ `;
4545
+ var ButtonIcon = import_react46.css`
4546
+ width: 1rem;
4547
+ height: 1rem;
4548
+ `;
4549
+
4550
+ // src/components/EntrySearch/EntrySearchResultItemButton.tsx
4551
+ var import_jsx_runtime52 = require("@emotion/react/jsx-runtime");
4552
+ var EntrySearchResultItemButton = ({
4553
+ text,
4554
+ icon,
4555
+ ...props
4556
+ }) => {
4557
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("button", { type: "button", css: ButtonStyles, ...props, children: [
4558
+ !icon ? null : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Image, { src: icon, css: ButtonIcon }),
4559
+ text
4560
+ ] });
4561
+ };
4562
+ var LinkButton = ({
4563
+ text,
4564
+ icon,
4565
+ ...props
4566
+ }) => {
4567
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("a", { ...props, css: ButtonStyles, target: "_blank", rel: "noopener noreferrer", children: [
4568
+ !icon ? null : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Image, { src: icon, css: ButtonIcon }),
4569
+ text
4570
+ ] });
4571
+ };
4572
+
4573
+ // src/components/EntrySearch/EntrySearchResultList.tsx
4574
+ var import_design_system30 = require("@uniformdev/design-system");
4575
+ var import_react_beautiful_dnd3 = require("react-beautiful-dnd");
4576
+
4577
+ // src/components/EntrySearch/styles/EntrySearchResultList.styles.ts
4578
+ var import_react47 = require("@emotion/react");
4579
+ var EntrySearchResultListContainer = import_react47.css`
4580
+ align-items: center;
4581
+ display: flex;
4582
+ gap: var(--spacing-sm);
4583
+ justify-content: space-between;
4584
+ `;
4585
+ var EntrySearchResultListCounterContainer = import_react47.css`
4586
+ align-items: center;
4587
+ display: flex;
4588
+ gap: var(--spacing-sm);
4589
+ `;
4590
+ var EntrySearchResultListTitle = import_react47.css`
4591
+ font-weight: var(--fw-bold);
4592
+ line-height: 1;
4593
+ `;
4594
+
4595
+ // src/components/EntrySearch/EntrySearchResultList.tsx
4596
+ var import_jsx_runtime53 = require("@emotion/react/jsx-runtime");
4597
+ var EntrySearchResultList = ({
4598
+ resultLabelText = "Selected",
4599
+ removeButtonText = "Remove all",
4600
+ onRemoveAllSelected,
4601
+ hideRemoveButton = false,
4602
+ additionalButtons,
4603
+ renderResultComponent = (value) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(EntrySearchResultItem, { ...value }),
4604
+ disableDnD = false
4605
+ }) => {
4606
+ const { selectedListItems, onRemoveAllSelectedItems, onSelectItem } = useEntrySearchContext();
4607
+ const handleRemoveAllSelectedItems = () => {
4608
+ onRemoveAllSelectedItems();
4609
+ onRemoveAllSelected == null ? void 0 : onRemoveAllSelected();
4610
+ };
4611
+ const onDragEnd = (res) => {
4612
+ var _a, _b;
4613
+ if (res.destination && res.source.droppableId === ((_a = res.destination) == null ? void 0 : _a.droppableId)) {
4614
+ const result = [...selectedListItems || []];
4615
+ const [removed] = (_b = result == null ? void 0 : result.splice(res.source.index, 1)) != null ? _b : [];
4616
+ result == null ? void 0 : result.splice(res.destination.index, 0, removed);
4617
+ onSelectItem(result);
4618
+ return result;
4619
+ }
4620
+ };
4621
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
4622
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { role: "group", css: EntrySearchResultListContainer, children: [
4623
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { role: "note", css: EntrySearchResultListCounterContainer, children: [
4624
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { css: EntrySearchResultListTitle, children: resultLabelText }),
4625
+ " ",
4626
+ !selectedListItems.length ? null : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_design_system30.Counter, { count: selectedListItems.length })
4627
+ ] }),
4628
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { css: EntrySearchResultListCounterContainer, children: [
4629
+ additionalButtons,
4630
+ hideRemoveButton ? null : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4631
+ import_design_system30.Button,
4632
+ {
4633
+ buttonType: "ghostDestructive",
4634
+ size: "xs",
4635
+ disabled: selectedListItems.length === 0,
4636
+ onClick: handleRemoveAllSelectedItems,
4637
+ children: removeButtonText
4638
+ }
4639
+ )
4640
+ ] })
4641
+ ] }),
4642
+ !selectedListItems.length ? null : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_beautiful_dnd3.DragDropContext, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_beautiful_dnd3.Droppable, { droppableId: "canvas-multi-select", children: (provided) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { ...provided.droppableProps, ref: provided.innerRef, children: [
4643
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_design_system30.VerticalRhythm, { gap: "sm", children: selectedListItems.map((item, i) => {
4644
+ const renderListItem = renderResultComponent(item);
4645
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4646
+ import_react_beautiful_dnd3.Draggable,
4647
+ {
4648
+ draggableId: item.title,
4649
+ index: i,
4650
+ isDragDisabled: disableDnD,
4651
+ children: (provided2, snapshot) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4652
+ "div",
4653
+ {
4654
+ ref: provided2.innerRef,
4655
+ "data-dragging": snapshot.isDragging,
4656
+ ...provided2.draggableProps,
4657
+ ...provided2.dragHandleProps,
4658
+ children: renderListItem
4659
+ }
4660
+ )
4661
+ },
4662
+ item.title
4663
+ );
4664
+ }) }),
4665
+ provided.placeholder
4666
+ ] }) }) })
4667
+ ] });
4668
+ };
4669
+
4670
+ // src/components/EntrySearch/QueryFilter.tsx
4671
+ var import_design_system31 = require("@uniformdev/design-system");
4672
+ var import_react48 = require("react");
4673
+ var import_jsx_runtime54 = require("@emotion/react/jsx-runtime");
4674
+ var QueryFilter = ({
4675
+ requireContentType,
4676
+ queryFilterTitle = "Configure Query",
4677
+ contentTypeLabel = "Filter by content type",
4678
+ typeSelectorAllTypesOptionText = "All content types",
4679
+ contentTypeOptions,
4680
+ countLabel = "Count",
4681
+ countValue = 5,
4682
+ sortLabel = "Sort",
4683
+ sortOptions,
4684
+ sortOrderLabel = "Sort Order",
4685
+ sortOrderOptions = [
4686
+ {
4687
+ name: "Ascending",
4688
+ id: "asc"
4689
+ },
4690
+ {
4691
+ name: "Descending",
4692
+ id: "desc"
4693
+ }
4694
+ ],
4695
+ children
4696
+ }) => {
4697
+ var _a, _b;
4698
+ const { query, onSetQuery } = useEntrySearchContext();
4699
+ const [queryState, setQueryState] = (0, import_react48.useState)({
4700
+ contentType: "",
4701
+ count: countValue != null ? countValue : 5,
4702
+ sortBy: (_a = sortOptions[0].id) != null ? _a : "",
4703
+ sortOrder: (_b = sortOrderOptions[0].id) != null ? _b : ""
4704
+ });
4705
+ const handleFilterChange = (value) => {
4706
+ setQueryState((prev) => ({ ...prev, ...value }));
4707
+ onSetQuery({ ...query, ...value });
4708
+ };
4709
+ (0, import_react48.useEffect)(() => {
4710
+ onSetQuery(queryState);
4711
+ }, [onSetQuery, queryState]);
4712
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("fieldset", { children: [
4713
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { css: EntrySearchFilterContainerLabel, children: queryFilterTitle }),
4714
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { css: EntrySearchFilterContainer, children: [
4715
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { css: EntrySearchFilterGrid("1fr minmax(100px, 0.2fr)"), children: [
4716
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4717
+ import_design_system31.InputSelect,
4718
+ {
4719
+ label: contentTypeLabel,
4720
+ options: [
4721
+ ...!requireContentType ? [{ value: "", label: typeSelectorAllTypesOptionText }] : [],
4722
+ ...contentTypeOptions ? contentTypeOptions.map((option) => {
4723
+ return { value: option.id, label: option.name };
4724
+ }) : []
4725
+ ],
4726
+ onChange: (e) => handleFilterChange({ contentType: e.target.value }),
4727
+ value: queryState.contentType
4728
+ }
4729
+ ),
4730
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4731
+ import_design_system31.Input,
4732
+ {
4733
+ label: countLabel,
4734
+ type: "number",
4735
+ onChange: (e) => handleFilterChange({ count: e.target.value }),
4736
+ defaultValue: countValue,
4737
+ value: queryState.count
4738
+ }
4739
+ )
4740
+ ] }),
4741
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { css: EntrySearchFilterGrid("repeat(2, 1fr)"), children: [
4742
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4743
+ import_design_system31.InputSelect,
4744
+ {
4745
+ label: sortLabel,
4746
+ options: [
4747
+ {
4748
+ label: "Select a sort",
4749
+ value: ""
4750
+ },
4751
+ ...sortOptions ? sortOptions.map((option) => {
4752
+ return { value: option.id, label: option.name };
4753
+ }) : []
4754
+ ],
4755
+ onChange: (e) => handleFilterChange({ sortBy: e.target.value }),
4756
+ value: queryState.sortBy
4757
+ }
4758
+ ),
4759
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4760
+ import_design_system31.InputSelect,
4761
+ {
4762
+ label: sortOrderLabel,
4763
+ options: [
4764
+ ...sortOrderOptions ? sortOrderOptions.map((option) => {
4765
+ return { value: option.id, label: option.name };
4766
+ }) : []
4767
+ ],
4768
+ onChange: (e) => handleFilterChange({ sortOrder: e.target.value }),
4769
+ value: queryState.sortOrder
4770
+ }
4771
+ )
4772
+ ] }),
4773
+ children
4774
+ ] })
4775
+ ] });
4776
+ };
4777
+
4778
+ // src/components/MeshApp.tsx
4779
+ var import_design_system32 = require("@uniformdev/design-system");
4041
4780
 
4042
4781
  // src/hooks/useInitializeUniformMeshSdk.ts
4043
4782
  var import_mesh_sdk = require("@uniformdev/mesh-sdk");
4044
- var import_react38 = require("react");
4783
+ var import_react49 = require("react");
4045
4784
  var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
4046
- const [error, setError] = (0, import_react38.useState)();
4047
- const [sdk, setSdk] = (0, import_react38.useState)();
4048
- const initializationInProgress = (0, import_react38.useRef)(false);
4049
- (0, import_react38.useEffect)(
4785
+ const [error, setError] = (0, import_react49.useState)();
4786
+ const [sdk, setSdk] = (0, import_react49.useState)();
4787
+ const initializationInProgress = (0, import_react49.useRef)(false);
4788
+ (0, import_react49.useEffect)(
4050
4789
  () => {
4051
4790
  if (typeof window === "undefined" || sdk) {
4052
4791
  return;
@@ -4079,7 +4818,7 @@ var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
4079
4818
  };
4080
4819
 
4081
4820
  // src/components/MeshApp.tsx
4082
- var import_jsx_runtime44 = require("@emotion/react/jsx-runtime");
4821
+ var import_jsx_runtime55 = require("@emotion/react/jsx-runtime");
4083
4822
  var MeshApp = ({
4084
4823
  children,
4085
4824
  loadingComponent,
@@ -4088,18 +4827,18 @@ var MeshApp = ({
4088
4827
  const { initializing, error, sdk } = useInitializeUniformMeshSdk();
4089
4828
  if (initializing || !sdk) {
4090
4829
  const LoadingComponent = loadingComponent;
4091
- return LoadingComponent ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(LoadingComponent, {}) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_design_system23.LoadingIndicator, {});
4830
+ return LoadingComponent ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(LoadingComponent, {}) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_design_system32.LoadingIndicator, {});
4092
4831
  }
4093
4832
  if (error) {
4094
4833
  const ErrorComponent = errorComponent;
4095
4834
  if (ErrorComponent) {
4096
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ErrorComponent, { error });
4835
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ErrorComponent, { error });
4097
4836
  }
4098
4837
  throw error;
4099
4838
  }
4100
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(UniformMeshSdkContext.Provider, { value: { sdk }, children: [
4101
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_design_system23.Theme, {}),
4102
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(UniformMeshLocationContextProvider, { children })
4839
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(UniformMeshSdkContext.Provider, { value: { sdk }, children: [
4840
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_design_system32.Theme, {}),
4841
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(UniformMeshLocationContextProvider, { children })
4103
4842
  ] });
4104
4843
  };
4105
4844
 
@@ -4110,7 +4849,7 @@ function useUniformMeshLocation() {
4110
4849
  }
4111
4850
 
4112
4851
  // src/hooks/index.ts
4113
- var import_design_system24 = require("@uniformdev/design-system");
4852
+ var import_design_system33 = require("@uniformdev/design-system");
4114
4853
 
4115
4854
  // src/utils/createLocationValidator.ts
4116
4855
  function createLocationValidator(setValue, validate) {
@@ -4121,7 +4860,7 @@ function createLocationValidator(setValue, validate) {
4121
4860
  }
4122
4861
 
4123
4862
  // src/index.ts
4124
- var import_design_system25 = require("@uniformdev/design-system");
4863
+ var import_design_system34 = require("@uniformdev/design-system");
4125
4864
  __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
4126
4865
  // Annotate the CommonJS export names for ESM import in node:
4127
4866
  0 && (module.exports = {
@@ -4129,12 +4868,23 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
4129
4868
  Button,
4130
4869
  Callout,
4131
4870
  DamSelectedItem,
4871
+ DataRefreshButton,
4132
4872
  DataResourceVariablesList,
4133
4873
  DataSourceEditor,
4134
4874
  DataTypeEditor,
4135
4875
  DefaultSearchRow,
4136
4876
  DefaultSelectedItem,
4137
4877
  EntrySearch,
4878
+ EntrySearchContainer,
4879
+ EntrySearchContext,
4880
+ EntrySearchFilter,
4881
+ EntrySearchFilterContainer,
4882
+ EntrySearchListItem,
4883
+ EntrySearchListItemLoadingSkeleton,
4884
+ EntrySearchProvider,
4885
+ EntrySearchResultItem,
4886
+ EntrySearchResultItemButton,
4887
+ EntrySearchResultList,
4138
4888
  Heading,
4139
4889
  Icons,
4140
4890
  Input,
@@ -4145,6 +4895,7 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
4145
4895
  InputVariables,
4146
4896
  KeywordSearchInput,
4147
4897
  Label,
4898
+ LinkButton,
4148
4899
  LoadingIndicator,
4149
4900
  LoadingOverlay,
4150
4901
  Menu,
@@ -4172,6 +4923,8 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
4172
4923
  ProductSearchContext,
4173
4924
  ProductSearchRow,
4174
4925
  ProductSelectedItem,
4926
+ PublishStatus,
4927
+ QueryFilter,
4175
4928
  RequestBody,
4176
4929
  RequestHeaders,
4177
4930
  RequestMethodSelect,
@@ -4260,6 +5013,7 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
4260
5013
  selectedItemTitle,
4261
5014
  urlEncodeRequestParameter,
4262
5015
  urlEncodeRequestUrl,
5016
+ useEntrySearchContext,
4263
5017
  useInitializeUniformMeshSdk,
4264
5018
  useMeshLocation,
4265
5019
  useParameterShell,