@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.d.ts +248 -12
- package/dist/index.esm.js +773 -34
- package/dist/index.js +813 -59
- package/dist/index.mjs +773 -34
- package/package.json +4 -4
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: () =>
|
|
35
|
-
Button: () =>
|
|
36
|
-
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
|
-
|
|
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: () =>
|
|
47
|
-
InputComboBox: () =>
|
|
48
|
-
InputKeywordSearch: () =>
|
|
49
|
-
InputSelect: () =>
|
|
50
|
-
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: () =>
|
|
53
|
-
Label: () =>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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: () =>
|
|
60
|
-
ParameterImage: () =>
|
|
61
|
-
ParameterImageInner: () =>
|
|
62
|
-
ParameterInput: () =>
|
|
63
|
-
ParameterInputInner: () =>
|
|
64
|
-
ParameterLabel: () =>
|
|
65
|
-
ParameterMenuButton: () =>
|
|
66
|
-
ParameterSelect: () =>
|
|
67
|
-
ParameterSelectInner: () =>
|
|
68
|
-
ParameterShell: () =>
|
|
69
|
-
ParameterShellContext: () =>
|
|
70
|
-
ParameterTextarea: () =>
|
|
71
|
-
ParameterTextareaInner: () =>
|
|
72
|
-
ParameterToggle: () =>
|
|
73
|
-
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: () =>
|
|
91
|
-
ScrollableListItem: () =>
|
|
104
|
+
ScrollableList: () => import_design_system34.ScrollableList,
|
|
105
|
+
ScrollableListItem: () => import_design_system34.ScrollableListItem,
|
|
92
106
|
SelectionField: () => SelectionField,
|
|
93
|
-
Switch: () =>
|
|
107
|
+
Switch: () => import_design_system34.Switch,
|
|
94
108
|
TextVariableRenderer: () => TextVariableRenderer,
|
|
95
|
-
Textarea: () =>
|
|
96
|
-
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: () =>
|
|
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/
|
|
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
|
|
4783
|
+
var import_react49 = require("react");
|
|
4045
4784
|
var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
|
|
4046
|
-
const [error, setError] = (0,
|
|
4047
|
-
const [sdk, setSdk] = (0,
|
|
4048
|
-
const initializationInProgress = (0,
|
|
4049
|
-
(0,
|
|
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
|
|
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,
|
|
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,
|
|
4835
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ErrorComponent, { error });
|
|
4097
4836
|
}
|
|
4098
4837
|
throw error;
|
|
4099
4838
|
}
|
|
4100
|
-
return /* @__PURE__ */ (0,
|
|
4101
|
-
/* @__PURE__ */ (0,
|
|
4102
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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
|
|
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,
|