@uniformdev/mesh-sdk-react 19.117.1-alpha.1 → 19.117.2-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +50 -95
- package/dist/index.d.ts +50 -95
- package/dist/index.esm.js +303 -461
- package/dist/index.js +344 -502
- package/dist/index.mjs +303 -461
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -36,13 +36,11 @@ __export(src_exports, {
|
|
|
36
36
|
AddListButton: () => import_design_system41.AddListButton,
|
|
37
37
|
Button: () => import_design_system41.Button,
|
|
38
38
|
Callout: () => import_design_system41.Callout,
|
|
39
|
-
ControlledObjectSearchProvider: () => ControlledObjectSearchProvider,
|
|
40
39
|
ControlledValuePlugin: () => ControlledValuePlugin,
|
|
41
40
|
DISCONNECT_VARIABLE_COMMAND: () => DISCONNECT_VARIABLE_COMMAND,
|
|
42
41
|
DamSelectedItem: () => DamSelectedItem,
|
|
43
42
|
DataRefreshButton: () => DataRefreshButton,
|
|
44
43
|
DataResourceDynamicInputProvider: () => DataResourceDynamicInputProvider,
|
|
45
|
-
DataResourceInputContext: () => DataResourceInputContext,
|
|
46
44
|
DataResourceVariablesList: () => DataResourceVariablesList,
|
|
47
45
|
DataResourceVariablesListExplicit: () => DataResourceVariablesListExplicit,
|
|
48
46
|
DataSourceEditor: () => DataSourceEditor,
|
|
@@ -70,7 +68,6 @@ __export(src_exports, {
|
|
|
70
68
|
MeshApp: () => MeshApp,
|
|
71
69
|
OPEN_INSERT_VARIABLE_COMMAND: () => OPEN_INSERT_VARIABLE_COMMAND,
|
|
72
70
|
ObjectSearchContainer: () => ObjectSearchContainer,
|
|
73
|
-
ObjectSearchContext: () => ObjectSearchContext,
|
|
74
71
|
ObjectSearchFilter: () => ObjectSearchFilter,
|
|
75
72
|
ObjectSearchFilterContainer: () => ObjectSearchFilterContainer2,
|
|
76
73
|
ObjectSearchListItem: () => ObjectSearchListItem,
|
|
@@ -128,7 +125,6 @@ __export(src_exports, {
|
|
|
128
125
|
VariablesPlugin: () => VariablesPlugin,
|
|
129
126
|
VariablesProvider: () => VariablesProvider,
|
|
130
127
|
badgeIcon: () => badgeIcon,
|
|
131
|
-
bindQuery: () => bindQuery,
|
|
132
128
|
convertConnectedDataToVariable: () => convertConnectedDataToVariable,
|
|
133
129
|
createLocationValidator: () => createLocationValidator,
|
|
134
130
|
damSelectItemImage: () => damSelectItemImage,
|
|
@@ -200,7 +196,6 @@ __export(src_exports, {
|
|
|
200
196
|
urlEncodeRequestUrl: () => urlEncodeRequestUrl,
|
|
201
197
|
useConnectedDataAsVariables: () => useConnectedDataAsVariables,
|
|
202
198
|
useContentDataResourceLocaleInfo: () => useContentDataResourceLocaleInfo,
|
|
203
|
-
useDataResourceDynamicInputs: () => useDataResourceDynamicInputs,
|
|
204
199
|
useDynamicInputsAsVariables: () => useDynamicInputsAsVariables,
|
|
205
200
|
useMeshLocation: () => useMeshLocation,
|
|
206
201
|
useObjectSearchContext: () => useObjectSearchContext,
|
|
@@ -2860,9 +2855,6 @@ function DefaultDamItemRenderer({ item }) {
|
|
|
2860
2855
|
] }) : null;
|
|
2861
2856
|
}
|
|
2862
2857
|
|
|
2863
|
-
// src/components/DataResourceDynamicInputProvider.tsx
|
|
2864
|
-
var import_react58 = require("react");
|
|
2865
|
-
|
|
2866
2858
|
// src/hooks/useConnectedDataAsVariables.tsx
|
|
2867
2859
|
var import_react26 = require("react");
|
|
2868
2860
|
function useConnectedDataAsVariables(connectedData) {
|
|
@@ -5362,13 +5354,13 @@ function VariablesList() {
|
|
|
5362
5354
|
const result = [...sorted || []];
|
|
5363
5355
|
const [removed] = (_b = result == null ? void 0 : result.splice(res.source.index, 1)) != null ? _b : [];
|
|
5364
5356
|
result == null ? void 0 : result.splice(res.destination.index, 0, removed);
|
|
5365
|
-
const resultAsObj = result.reduce(
|
|
5366
|
-
|
|
5357
|
+
const resultAsObj = result.reduce((acc, item, index) => {
|
|
5358
|
+
const { name, ...variableDefinition } = item;
|
|
5359
|
+
return {
|
|
5367
5360
|
...acc,
|
|
5368
|
-
[item.name]: {
|
|
5369
|
-
}
|
|
5370
|
-
|
|
5371
|
-
);
|
|
5361
|
+
[item.name]: { ...variableDefinition, order: index }
|
|
5362
|
+
};
|
|
5363
|
+
}, {});
|
|
5372
5364
|
dispatch({ type: "reorder", result: resultAsObj });
|
|
5373
5365
|
return result;
|
|
5374
5366
|
}
|
|
@@ -5455,10 +5447,6 @@ function VariablesList() {
|
|
|
5455
5447
|
|
|
5456
5448
|
// src/components/DataResourceDynamicInputProvider.tsx
|
|
5457
5449
|
var import_jsx_runtime45 = require("@emotion/react/jsx-runtime");
|
|
5458
|
-
var DataResourceInputContext = (0, import_react58.createContext)(void 0);
|
|
5459
|
-
var useDataResourceDynamicInputs = () => {
|
|
5460
|
-
return (0, import_react58.useContext)(DataResourceInputContext);
|
|
5461
|
-
};
|
|
5462
5450
|
function DataResourceDynamicInputProvider(props) {
|
|
5463
5451
|
const { children, dynamicInputs } = props;
|
|
5464
5452
|
if (dynamicInputs) {
|
|
@@ -5477,7 +5465,7 @@ function DataResourceDynamicInputProviderRenderer({
|
|
|
5477
5465
|
dynamicInputs
|
|
5478
5466
|
}) {
|
|
5479
5467
|
const variables = useDynamicInputsAsVariables(dynamicInputs);
|
|
5480
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
5468
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(VariablesProvider, { value: variables, readOnly: true, children });
|
|
5481
5469
|
}
|
|
5482
5470
|
|
|
5483
5471
|
// src/components/DataResourceVariablesList.tsx
|
|
@@ -5554,9 +5542,9 @@ function TextVariableRenderer({ definition, value, setValue }) {
|
|
|
5554
5542
|
}
|
|
5555
5543
|
|
|
5556
5544
|
// src/components/Request/RequestBody.tsx
|
|
5557
|
-
var
|
|
5545
|
+
var import_react59 = require("@emotion/react");
|
|
5558
5546
|
var import_design_system27 = require("@uniformdev/design-system");
|
|
5559
|
-
var
|
|
5547
|
+
var import_react60 = require("react");
|
|
5560
5548
|
|
|
5561
5549
|
// src/components/Request/RequestProvider.tsx
|
|
5562
5550
|
var React11 = __toESM(require("react"));
|
|
@@ -5640,11 +5628,11 @@ function useRequest() {
|
|
|
5640
5628
|
}
|
|
5641
5629
|
|
|
5642
5630
|
// src/components/Request/styles/Request.styles.ts
|
|
5643
|
-
var
|
|
5644
|
-
var innerContentStyles =
|
|
5631
|
+
var import_react58 = require("@emotion/react");
|
|
5632
|
+
var innerContentStyles = import_react58.css`
|
|
5645
5633
|
background: var(--white);
|
|
5646
5634
|
`;
|
|
5647
|
-
var requestTypeContainer = (bgColor) =>
|
|
5635
|
+
var requestTypeContainer = (bgColor) => import_react58.css`
|
|
5648
5636
|
align-items: start;
|
|
5649
5637
|
background: ${bgColor};
|
|
5650
5638
|
display: grid;
|
|
@@ -5682,11 +5670,11 @@ var LANGUAGE_TO_CONTENT_TYPE = {
|
|
|
5682
5670
|
};
|
|
5683
5671
|
function RequestBody() {
|
|
5684
5672
|
const { request, dispatch } = useRequest();
|
|
5685
|
-
const [language, setLanguage] = (0,
|
|
5673
|
+
const [language, setLanguage] = (0, import_react60.useState)("json");
|
|
5686
5674
|
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
5687
5675
|
"div",
|
|
5688
5676
|
{
|
|
5689
|
-
css:
|
|
5677
|
+
css: import_react59.css`
|
|
5690
5678
|
background: var(--white);
|
|
5691
5679
|
`,
|
|
5692
5680
|
children: [
|
|
@@ -5694,7 +5682,7 @@ function RequestBody() {
|
|
|
5694
5682
|
RequestTypeContainer,
|
|
5695
5683
|
{
|
|
5696
5684
|
bgColor: "var(--gray-100)",
|
|
5697
|
-
css:
|
|
5685
|
+
css: import_react59.css`
|
|
5698
5686
|
padding: var(--spacing-sm) var(--spacing-base);
|
|
5699
5687
|
`,
|
|
5700
5688
|
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
@@ -5965,8 +5953,8 @@ function RequestParameters({
|
|
|
5965
5953
|
}
|
|
5966
5954
|
|
|
5967
5955
|
// src/components/Request/RequestUrl.tsx
|
|
5968
|
-
var
|
|
5969
|
-
var
|
|
5956
|
+
var import_react61 = require("@emotion/react");
|
|
5957
|
+
var import_react62 = require("react");
|
|
5970
5958
|
|
|
5971
5959
|
// src/components/Request/urlEncodeRequestParameter.ts
|
|
5972
5960
|
function urlEncodeRequestUrl(url, varValues) {
|
|
@@ -5992,7 +5980,7 @@ function RequestUrl() {
|
|
|
5992
5980
|
var _a, _b;
|
|
5993
5981
|
const { variables } = useVariables();
|
|
5994
5982
|
const { request } = useRequest();
|
|
5995
|
-
const mergedParameters = (0,
|
|
5983
|
+
const mergedParameters = (0, import_react62.useMemo)(() => {
|
|
5996
5984
|
var _a2;
|
|
5997
5985
|
if (!((_a2 = request.baseRequest) == null ? void 0 : _a2.parameters)) {
|
|
5998
5986
|
return request.parameters;
|
|
@@ -6002,7 +5990,7 @@ function RequestUrl() {
|
|
|
6002
5990
|
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
6003
5991
|
"small",
|
|
6004
5992
|
{
|
|
6005
|
-
css:
|
|
5993
|
+
css: import_react61.css`
|
|
6006
5994
|
display: inline-block;
|
|
6007
5995
|
margin-bottom: var(--spacing-xs);
|
|
6008
5996
|
word-break: break-word;
|
|
@@ -6240,12 +6228,12 @@ var import_design_system31 = require("@uniformdev/design-system");
|
|
|
6240
6228
|
|
|
6241
6229
|
// src/hooks/useInitializeUniformMeshSdk.ts
|
|
6242
6230
|
var import_mesh_sdk = require("@uniformdev/mesh-sdk");
|
|
6243
|
-
var
|
|
6231
|
+
var import_react63 = require("react");
|
|
6244
6232
|
var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
|
|
6245
|
-
const [error, setError] = (0,
|
|
6246
|
-
const [sdk, setSdk] = (0,
|
|
6247
|
-
const initializationInProgress = (0,
|
|
6248
|
-
(0,
|
|
6233
|
+
const [error, setError] = (0, import_react63.useState)();
|
|
6234
|
+
const [sdk, setSdk] = (0, import_react63.useState)();
|
|
6235
|
+
const initializationInProgress = (0, import_react63.useRef)(false);
|
|
6236
|
+
(0, import_react63.useEffect)(
|
|
6249
6237
|
() => {
|
|
6250
6238
|
if (typeof window === "undefined" || sdk) {
|
|
6251
6239
|
return;
|
|
@@ -6303,7 +6291,7 @@ var MeshApp = ({
|
|
|
6303
6291
|
};
|
|
6304
6292
|
|
|
6305
6293
|
// src/components/ObjectSearch/DataRefreshButton.tsx
|
|
6306
|
-
var
|
|
6294
|
+
var import_react64 = require("@emotion/react");
|
|
6307
6295
|
var import_design_system32 = require("@uniformdev/design-system");
|
|
6308
6296
|
var import_jsx_runtime58 = require("@emotion/react/jsx-runtime");
|
|
6309
6297
|
var DataRefreshButton = ({
|
|
@@ -6316,7 +6304,7 @@ var DataRefreshButton = ({
|
|
|
6316
6304
|
!isLoading ? null : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
6317
6305
|
import_design_system32.LoadingIndicator,
|
|
6318
6306
|
{
|
|
6319
|
-
css:
|
|
6307
|
+
css: import_react64.css`
|
|
6320
6308
|
${isLoading ? "opacity: 0.2;" : void 0}
|
|
6321
6309
|
`
|
|
6322
6310
|
}
|
|
@@ -6326,16 +6314,15 @@ var DataRefreshButton = ({
|
|
|
6326
6314
|
};
|
|
6327
6315
|
|
|
6328
6316
|
// src/components/ObjectSearch/ObjectSearchContainer.tsx
|
|
6329
|
-
var
|
|
6317
|
+
var import_react67 = require("@emotion/react");
|
|
6330
6318
|
var import_canvas9 = require("@uniformdev/canvas");
|
|
6331
|
-
var
|
|
6332
|
-
var import_react72 = __toESM(require("react"));
|
|
6319
|
+
var import_design_system35 = require("@uniformdev/design-system");
|
|
6333
6320
|
|
|
6334
6321
|
// src/components/ObjectSearch/hooks/ObjectSearchContext.tsx
|
|
6335
6322
|
var import_canvas8 = require("@uniformdev/canvas");
|
|
6336
|
-
var
|
|
6323
|
+
var import_react65 = require("react");
|
|
6337
6324
|
var import_jsx_runtime59 = require("@emotion/react/jsx-runtime");
|
|
6338
|
-
var ObjectSearchContext = (0,
|
|
6325
|
+
var ObjectSearchContext = (0, import_react65.createContext)({
|
|
6339
6326
|
onSetQuery: () => {
|
|
6340
6327
|
},
|
|
6341
6328
|
onSelectItem: () => {
|
|
@@ -6343,6 +6330,8 @@ var ObjectSearchContext = (0, import_react66.createContext)({
|
|
|
6343
6330
|
query: {},
|
|
6344
6331
|
boundQuery: {},
|
|
6345
6332
|
list: {},
|
|
6333
|
+
onSetList: () => {
|
|
6334
|
+
},
|
|
6346
6335
|
selectedListItems: [],
|
|
6347
6336
|
onRemoveAllSelectedItems: () => {
|
|
6348
6337
|
},
|
|
@@ -6354,16 +6343,16 @@ var ObjectSearchProvider = ({
|
|
|
6354
6343
|
children,
|
|
6355
6344
|
defaultQuery
|
|
6356
6345
|
}) => {
|
|
6357
|
-
const [query, setQuery] = (0,
|
|
6346
|
+
const [query, setQuery] = (0, import_react65.useState)({
|
|
6358
6347
|
contentType: "",
|
|
6359
6348
|
keyword: "",
|
|
6360
6349
|
...defaultQuery
|
|
6361
6350
|
});
|
|
6362
6351
|
const { flatVariables } = useVariables(true);
|
|
6363
|
-
const querySearchDeferred = (0,
|
|
6364
|
-
const [selectedItems, setSelectedItems] = (0,
|
|
6365
|
-
const [list, setList] = (0,
|
|
6366
|
-
const onSetQuery = (0,
|
|
6352
|
+
const querySearchDeferred = (0, import_react65.useDeferredValue)(query);
|
|
6353
|
+
const [selectedItems, setSelectedItems] = (0, import_react65.useState)(currentlySelectedItems != null ? currentlySelectedItems : []);
|
|
6354
|
+
const [list, setList] = (0, import_react65.useState)({});
|
|
6355
|
+
const onSetQuery = (0, import_react65.useCallback)(
|
|
6367
6356
|
(value2) => {
|
|
6368
6357
|
if (Array.isArray(value2.contentType) && value2.contentType.length > 0) {
|
|
6369
6358
|
return setQuery({
|
|
@@ -6375,7 +6364,7 @@ var ObjectSearchProvider = ({
|
|
|
6375
6364
|
},
|
|
6376
6365
|
[setQuery]
|
|
6377
6366
|
);
|
|
6378
|
-
const onSelectItem = (0,
|
|
6367
|
+
const onSelectItem = (0, import_react65.useCallback)(
|
|
6379
6368
|
(selectedResult) => {
|
|
6380
6369
|
if (Array.isArray(selectedResult)) {
|
|
6381
6370
|
setSelectedItems(selectedResult);
|
|
@@ -6389,17 +6378,17 @@ var ObjectSearchProvider = ({
|
|
|
6389
6378
|
},
|
|
6390
6379
|
[setSelectedItems, selectedItems]
|
|
6391
6380
|
);
|
|
6392
|
-
const onRemoveAllSelectedItems = (0,
|
|
6381
|
+
const onRemoveAllSelectedItems = (0, import_react65.useCallback)(() => {
|
|
6393
6382
|
setSelectedItems([]);
|
|
6394
6383
|
}, [setSelectedItems]);
|
|
6395
|
-
const onSetList = (0,
|
|
6384
|
+
const onSetList = (0, import_react65.useCallback)(
|
|
6396
6385
|
(value2) => {
|
|
6397
6386
|
setList(value2);
|
|
6398
6387
|
},
|
|
6399
6388
|
[setList]
|
|
6400
6389
|
);
|
|
6401
|
-
const boundQuery = (0,
|
|
6402
|
-
const value = (0,
|
|
6390
|
+
const boundQuery = (0, import_react65.useMemo)(() => bindQuery(query, flatVariables), [query, flatVariables]);
|
|
6391
|
+
const value = (0, import_react65.useMemo)(
|
|
6403
6392
|
() => ({
|
|
6404
6393
|
boundQuery,
|
|
6405
6394
|
onSetQuery,
|
|
@@ -6426,7 +6415,7 @@ var ObjectSearchProvider = ({
|
|
|
6426
6415
|
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ObjectSearchContext.Provider, { value, children });
|
|
6427
6416
|
};
|
|
6428
6417
|
function useObjectSearchContext() {
|
|
6429
|
-
return (0,
|
|
6418
|
+
return (0, import_react65.useContext)(ObjectSearchContext);
|
|
6430
6419
|
}
|
|
6431
6420
|
function bindQuery(query, inputs) {
|
|
6432
6421
|
const { result, errors } = (0, import_canvas8.bindVariablesToObject)({
|
|
@@ -6444,9 +6433,9 @@ function bindQuery(query, inputs) {
|
|
|
6444
6433
|
var import_design_system34 = require("@uniformdev/design-system");
|
|
6445
6434
|
|
|
6446
6435
|
// src/components/ObjectSearch/styles/ObjectSearchListItem.styles.ts
|
|
6447
|
-
var
|
|
6436
|
+
var import_react66 = require("@emotion/react");
|
|
6448
6437
|
var import_design_system33 = require("@uniformdev/design-system");
|
|
6449
|
-
var ObjectListItemContainer =
|
|
6438
|
+
var ObjectListItemContainer = import_react66.css`
|
|
6450
6439
|
align-items: center;
|
|
6451
6440
|
border: 1px solid var(--gray-300);
|
|
6452
6441
|
border-radius: var(--rounded-base);
|
|
@@ -6455,11 +6444,11 @@ var ObjectListItemContainer = import_react67.css`
|
|
|
6455
6444
|
grid-template-columns: 1fr auto;
|
|
6456
6445
|
padding: var(--spacing-sm);
|
|
6457
6446
|
`;
|
|
6458
|
-
var ObjectListItemContainerDisabled =
|
|
6447
|
+
var ObjectListItemContainerDisabled = import_react66.css`
|
|
6459
6448
|
opacity: var(--opacity-50);
|
|
6460
6449
|
pointer-events: none;
|
|
6461
6450
|
`;
|
|
6462
|
-
var ObjectListItemLoading =
|
|
6451
|
+
var ObjectListItemLoading = import_react66.css`
|
|
6463
6452
|
animation: ${import_design_system33.skeletonLoading} 1s linear infinite alternate;
|
|
6464
6453
|
border-color: transparent;
|
|
6465
6454
|
min-height: 42px;
|
|
@@ -6483,36 +6472,36 @@ var ObjectListItemLoading = import_react67.css`
|
|
|
6483
6472
|
width: 1rem;
|
|
6484
6473
|
}
|
|
6485
6474
|
`;
|
|
6486
|
-
var ObjectListItemHeadingGroup =
|
|
6475
|
+
var ObjectListItemHeadingGroup = import_react66.css`
|
|
6487
6476
|
align-items: center;
|
|
6488
6477
|
display: grid;
|
|
6489
6478
|
`;
|
|
6490
|
-
var ObjectListItemThumbnail =
|
|
6479
|
+
var ObjectListItemThumbnail = import_react66.css`
|
|
6491
6480
|
width: 30px;
|
|
6492
6481
|
object-fit: contain;
|
|
6493
6482
|
`;
|
|
6494
|
-
var ObjectListItemTitle =
|
|
6483
|
+
var ObjectListItemTitle = import_react66.css`
|
|
6495
6484
|
color: var(--typography-base);
|
|
6496
6485
|
display: block;
|
|
6497
6486
|
font-size: var(--fs-sm);
|
|
6498
6487
|
`;
|
|
6499
|
-
var ObjectListItemSubtitle =
|
|
6488
|
+
var ObjectListItemSubtitle = import_react66.css`
|
|
6500
6489
|
color: var(--gray-500);
|
|
6501
6490
|
display: block;
|
|
6502
6491
|
font-size: var(--fs-xs);
|
|
6503
6492
|
line-height: 1;
|
|
6504
6493
|
`;
|
|
6505
|
-
var ObjectListItemInfoContainer =
|
|
6494
|
+
var ObjectListItemInfoContainer = import_react66.css`
|
|
6506
6495
|
align-items: center;
|
|
6507
6496
|
display: flex;
|
|
6508
6497
|
gap: var(--spacing-sm);
|
|
6509
6498
|
justify-content: center;
|
|
6510
6499
|
`;
|
|
6511
|
-
var ObjectListItemControlledContent =
|
|
6500
|
+
var ObjectListItemControlledContent = import_react66.css`
|
|
6512
6501
|
display: flex;
|
|
6513
6502
|
gap: var(--spacing-sm);
|
|
6514
6503
|
`;
|
|
6515
|
-
var ObjectListItemUnControlledContent =
|
|
6504
|
+
var ObjectListItemUnControlledContent = import_react66.css`
|
|
6516
6505
|
margin-top: var(--spacing-sm);
|
|
6517
6506
|
grid-column: 1 / -1;
|
|
6518
6507
|
`;
|
|
@@ -6580,19 +6569,202 @@ var ObjectSearchListItemLoadingSkeleton = () => {
|
|
|
6580
6569
|
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { role: "presentation", css: [ObjectListItemContainer, ObjectListItemLoading] });
|
|
6581
6570
|
};
|
|
6582
6571
|
|
|
6583
|
-
// src/components/ObjectSearch/
|
|
6584
|
-
var
|
|
6585
|
-
var
|
|
6572
|
+
// src/components/ObjectSearch/ObjectSearchContainer.tsx
|
|
6573
|
+
var import_jsx_runtime61 = require("@emotion/react/jsx-runtime");
|
|
6574
|
+
var ObjectSearchContainer = ({
|
|
6575
|
+
label,
|
|
6576
|
+
enableDynamicInputToResultId,
|
|
6577
|
+
searchFilters,
|
|
6578
|
+
resultList,
|
|
6579
|
+
children
|
|
6580
|
+
}) => {
|
|
6581
|
+
var _a, _b;
|
|
6582
|
+
const { onSelectItem, selectedListItems, list } = useObjectSearchContext();
|
|
6583
|
+
const { flatVariables } = useVariables(true);
|
|
6584
|
+
const inputValue = (_b = (_a = selectedListItems == null ? void 0 : selectedListItems[0]) == null ? void 0 : _a.id) != null ? _b : "";
|
|
6585
|
+
const listItems = resultList != null ? resultList : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
6586
|
+
import_design_system35.ScrollableList,
|
|
6587
|
+
{
|
|
6588
|
+
role: "list",
|
|
6589
|
+
css: import_react67.css`
|
|
6590
|
+
> div {
|
|
6591
|
+
transition: max-height var(--duration-slow) var(--timing-ease-out);
|
|
6592
|
+
max-height: ${selectedListItems.length === 0 ? "50vh" : "184px"};
|
|
6593
|
+
}
|
|
6594
|
+
`,
|
|
6595
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DefaultResultList, {})
|
|
6596
|
+
}
|
|
6597
|
+
);
|
|
6598
|
+
const body = /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_design_system35.VerticalRhythm, { children: [
|
|
6599
|
+
searchFilters,
|
|
6600
|
+
listItems
|
|
6601
|
+
] });
|
|
6602
|
+
const handleSelectedVariableChange = (selectedValue) => {
|
|
6603
|
+
var _a2;
|
|
6604
|
+
if (!selectedValue) {
|
|
6605
|
+
onSelectItem([]);
|
|
6606
|
+
return;
|
|
6607
|
+
}
|
|
6608
|
+
const { result, errors } = (0, import_canvas9.bindVariables)({
|
|
6609
|
+
value: selectedValue,
|
|
6610
|
+
variables: flatVariables,
|
|
6611
|
+
errorPrefix: "Dynamic input"
|
|
6612
|
+
});
|
|
6613
|
+
if (!result) {
|
|
6614
|
+
onSelectItem([]);
|
|
6615
|
+
return;
|
|
6616
|
+
}
|
|
6617
|
+
const item = (_a2 = list.items) == null ? void 0 : _a2.find((i) => i.id === result);
|
|
6618
|
+
onSelectItem([
|
|
6619
|
+
{
|
|
6620
|
+
title: selectedValue,
|
|
6621
|
+
contentType: (errors == null ? void 0 : errors.length) ? errors[0] instanceof Error ? errors[0].message : errors[0] : `Current dynamic value "${result}" is not an ID in the options`,
|
|
6622
|
+
// spread any matched list item, overriding the above default props
|
|
6623
|
+
...item,
|
|
6624
|
+
// we want to make sure the ID is our dynamic value
|
|
6625
|
+
id: selectedValue
|
|
6626
|
+
}
|
|
6627
|
+
]);
|
|
6628
|
+
};
|
|
6629
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_design_system35.IconsProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_design_system35.VerticalRhythm, { children: [
|
|
6630
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_design_system35.Container, { backgroundColor: "gray-50", padding: "var(--spacing-base)", border: true, children: label ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
6631
|
+
InputVariables,
|
|
6632
|
+
{
|
|
6633
|
+
label,
|
|
6634
|
+
value: inputValue,
|
|
6635
|
+
onChange: (value) => {
|
|
6636
|
+
if (value === inputValue) {
|
|
6637
|
+
return;
|
|
6638
|
+
}
|
|
6639
|
+
handleSelectedVariableChange(value);
|
|
6640
|
+
},
|
|
6641
|
+
inputWhenNoVariables: body,
|
|
6642
|
+
disableVariables: !enableDynamicInputToResultId
|
|
6643
|
+
}
|
|
6644
|
+
) : body }),
|
|
6645
|
+
children
|
|
6646
|
+
] }) });
|
|
6647
|
+
};
|
|
6648
|
+
var DefaultResultList = () => {
|
|
6649
|
+
var _a;
|
|
6650
|
+
const { list } = useObjectSearchContext();
|
|
6651
|
+
if (!list.items) {
|
|
6652
|
+
return Array.from(Array(5).keys()).map((i) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ObjectSearchListItemLoadingSkeleton, {}, i));
|
|
6653
|
+
}
|
|
6654
|
+
if (list.items.length === 0) {
|
|
6655
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_design_system35.Callout, { type: "info", children: "No results were found" });
|
|
6656
|
+
}
|
|
6657
|
+
return (_a = list.items) == null ? void 0 : _a.map((item) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ObjectSearchListItem, { ...item }, item.id));
|
|
6658
|
+
};
|
|
6586
6659
|
|
|
6587
|
-
// src/components/ObjectSearch/
|
|
6660
|
+
// src/components/ObjectSearch/ObjectSearchFilter.tsx
|
|
6588
6661
|
var import_design_system36 = require("@uniformdev/design-system");
|
|
6662
|
+
var import_react69 = require("react");
|
|
6663
|
+
|
|
6664
|
+
// src/components/ObjectSearch/styles/ObjectSearchFilterContainer.styles.ts
|
|
6665
|
+
var import_react68 = require("@emotion/react");
|
|
6666
|
+
var ObjectSearchFilterContainerLabel = import_react68.css`
|
|
6667
|
+
align-items: center;
|
|
6668
|
+
display: flex;
|
|
6669
|
+
font-size: var(--fs-sm);
|
|
6670
|
+
font-weight: var(--fw-bold);
|
|
6671
|
+
line-height: 1rem;
|
|
6672
|
+
margin-bottom: var(--spacing-sm);
|
|
6673
|
+
`;
|
|
6674
|
+
var ObjectSearchFilterContainer = import_react68.css`
|
|
6675
|
+
display: grid;
|
|
6676
|
+
gap: var(--spacing-base);
|
|
6677
|
+
`;
|
|
6678
|
+
var ObjectSearchFilterGrid = (gridColumns) => import_react68.css`
|
|
6679
|
+
display: grid;
|
|
6680
|
+
grid-template-columns: ${gridColumns};
|
|
6681
|
+
gap: var(--spacing-base);
|
|
6682
|
+
`;
|
|
6683
|
+
|
|
6684
|
+
// src/components/ObjectSearch/ObjectSearchFilter.tsx
|
|
6685
|
+
var import_jsx_runtime62 = require("@emotion/react/jsx-runtime");
|
|
6686
|
+
var ObjectSearchFilter = ({
|
|
6687
|
+
requireContentType,
|
|
6688
|
+
typeSelectorAllTypesOptionText = "All content types",
|
|
6689
|
+
searchInputName = "searchText",
|
|
6690
|
+
searchInputPlaceholderText = "Enter keyword to narrow your results",
|
|
6691
|
+
selectLabel = "Content Type Select",
|
|
6692
|
+
selectOptions
|
|
6693
|
+
}) => {
|
|
6694
|
+
var _a, _b;
|
|
6695
|
+
const { query, onSetQuery } = useObjectSearchContext();
|
|
6696
|
+
const [searchState, setSearchState] = (0, import_react69.useState)({
|
|
6697
|
+
contentType: (_a = query.contentType) != null ? _a : "",
|
|
6698
|
+
keyword: (_b = query.keyword) != null ? _b : ""
|
|
6699
|
+
});
|
|
6700
|
+
const handleFilterChange = (value) => {
|
|
6701
|
+
setSearchState((prev) => {
|
|
6702
|
+
return { ...prev, ...value };
|
|
6703
|
+
});
|
|
6704
|
+
onSetQuery({ ...query, ...value });
|
|
6705
|
+
};
|
|
6706
|
+
const memoizedSelectOptions = (0, import_react69.useMemo)(() => {
|
|
6707
|
+
if (!requireContentType && !(selectOptions == null ? void 0 : selectOptions.length)) {
|
|
6708
|
+
return [];
|
|
6709
|
+
}
|
|
6710
|
+
return [
|
|
6711
|
+
...!requireContentType ? [{ value: "any", label: typeSelectorAllTypesOptionText }] : [],
|
|
6712
|
+
...selectOptions != null ? selectOptions : []
|
|
6713
|
+
];
|
|
6714
|
+
}, [requireContentType, typeSelectorAllTypesOptionText, selectOptions]);
|
|
6715
|
+
const shouldRenderSelect = memoizedSelectOptions.length > 0;
|
|
6716
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
6717
|
+
"fieldset",
|
|
6718
|
+
{
|
|
6719
|
+
css: [
|
|
6720
|
+
ObjectSearchFilterContainer,
|
|
6721
|
+
ObjectSearchFilterGrid(shouldRenderSelect ? "1fr 2fr" : "1fr")
|
|
6722
|
+
],
|
|
6723
|
+
children: [
|
|
6724
|
+
memoizedSelectOptions.length ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
6725
|
+
import_design_system36.InputSelect,
|
|
6726
|
+
{
|
|
6727
|
+
label: selectLabel,
|
|
6728
|
+
showLabel: false,
|
|
6729
|
+
onChange: (e) => handleFilterChange({ contentType: e.target.value }),
|
|
6730
|
+
options: memoizedSelectOptions,
|
|
6731
|
+
value: query.contentType
|
|
6732
|
+
}
|
|
6733
|
+
) : null,
|
|
6734
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
6735
|
+
import_design_system36.DebouncedInputKeywordSearch,
|
|
6736
|
+
{
|
|
6737
|
+
inputFieldName: searchInputName,
|
|
6738
|
+
placeholder: searchInputPlaceholderText,
|
|
6739
|
+
onSearchTextChanged: (keyword) => handleFilterChange({ keyword }),
|
|
6740
|
+
disabledFieldSubmission: true,
|
|
6741
|
+
defaultValue: searchState.keyword,
|
|
6742
|
+
delay: 300
|
|
6743
|
+
}
|
|
6744
|
+
)
|
|
6745
|
+
]
|
|
6746
|
+
}
|
|
6747
|
+
);
|
|
6748
|
+
};
|
|
6749
|
+
|
|
6750
|
+
// src/components/ObjectSearch/ObjectSearchFilterContainer.tsx
|
|
6751
|
+
var import_jsx_runtime63 = require("@emotion/react/jsx-runtime");
|
|
6752
|
+
var ObjectSearchFilterContainer2 = ({ label, children }) => {
|
|
6753
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { children: [
|
|
6754
|
+
label ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { css: ObjectSearchFilterContainerLabel, children: label }) : null,
|
|
6755
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { css: ObjectSearchFilterContainer, children })
|
|
6756
|
+
] });
|
|
6757
|
+
};
|
|
6758
|
+
|
|
6759
|
+
// src/components/ObjectSearch/ObjectSearchResultItem.tsx
|
|
6760
|
+
var import_design_system38 = require("@uniformdev/design-system");
|
|
6589
6761
|
var import_timeago3 = require("timeago.js");
|
|
6590
6762
|
|
|
6591
6763
|
// src/components/ObjectSearch/styles/ObjectSearchResultItemButton.styles.ts
|
|
6592
|
-
var
|
|
6593
|
-
var
|
|
6594
|
-
var ButtonStyles =
|
|
6595
|
-
${
|
|
6764
|
+
var import_react70 = require("@emotion/react");
|
|
6765
|
+
var import_design_system37 = require("@uniformdev/design-system");
|
|
6766
|
+
var ButtonStyles = import_react70.css`
|
|
6767
|
+
${import_design_system37.button}
|
|
6596
6768
|
background: transparent;
|
|
6597
6769
|
border: 1px solid var(--typography-base);
|
|
6598
6770
|
color: var(--typography-base);
|
|
@@ -6618,20 +6790,20 @@ var ButtonStyles = import_react68.css`
|
|
|
6618
6790
|
text-decoration: none;
|
|
6619
6791
|
}
|
|
6620
6792
|
`;
|
|
6621
|
-
var ButtonIcon =
|
|
6793
|
+
var ButtonIcon = import_react70.css`
|
|
6622
6794
|
width: 1rem;
|
|
6623
6795
|
height: 1rem;
|
|
6624
6796
|
`;
|
|
6625
6797
|
|
|
6626
6798
|
// src/components/ObjectSearch/ObjectSearchResultItemButton.tsx
|
|
6627
|
-
var
|
|
6799
|
+
var import_jsx_runtime64 = require("@emotion/react/jsx-runtime");
|
|
6628
6800
|
var ObjectSearchResultItemButton = ({
|
|
6629
6801
|
text,
|
|
6630
6802
|
icon,
|
|
6631
6803
|
...props
|
|
6632
6804
|
}) => {
|
|
6633
|
-
return /* @__PURE__ */ (0,
|
|
6634
|
-
!icon ? null : /* @__PURE__ */ (0,
|
|
6805
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("button", { type: "button", css: ButtonStyles, ...props, children: [
|
|
6806
|
+
!icon ? null : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Image, { src: icon, css: ButtonIcon }),
|
|
6635
6807
|
text
|
|
6636
6808
|
] });
|
|
6637
6809
|
};
|
|
@@ -6640,15 +6812,15 @@ var LinkButton = ({
|
|
|
6640
6812
|
icon,
|
|
6641
6813
|
...props
|
|
6642
6814
|
}) => {
|
|
6643
|
-
return /* @__PURE__ */ (0,
|
|
6644
|
-
!icon ? null : /* @__PURE__ */ (0,
|
|
6815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("a", { ...props, css: ButtonStyles, target: "_blank", rel: "noopener noreferrer", children: [
|
|
6816
|
+
!icon ? null : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Image, { src: icon, css: ButtonIcon }),
|
|
6645
6817
|
text
|
|
6646
6818
|
] });
|
|
6647
6819
|
};
|
|
6648
6820
|
|
|
6649
6821
|
// src/components/ObjectSearch/styles/ObjectSearchResultItem.styles.ts
|
|
6650
|
-
var
|
|
6651
|
-
var ObjectSearchResultItemContainer =
|
|
6822
|
+
var import_react71 = require("@emotion/react");
|
|
6823
|
+
var ObjectSearchResultItemContainer = import_react71.css`
|
|
6652
6824
|
align-items: center;
|
|
6653
6825
|
border: 1px solid var(--gray-300);
|
|
6654
6826
|
border-radius: var(--rounded-base);
|
|
@@ -6664,7 +6836,7 @@ var ObjectSearchResultItemContainer = import_react69.css`
|
|
|
6664
6836
|
}
|
|
6665
6837
|
}
|
|
6666
6838
|
`;
|
|
6667
|
-
var ObjectSearchDragHandle =
|
|
6839
|
+
var ObjectSearchDragHandle = import_react71.css`
|
|
6668
6840
|
border-left: 2px dotted var(--gray-300);
|
|
6669
6841
|
border-right: 2px dotted var(--gray-300);
|
|
6670
6842
|
position: absolute;
|
|
@@ -6673,41 +6845,41 @@ var ObjectSearchDragHandle = import_react69.css`
|
|
|
6673
6845
|
transition: opacity var(--duration-fast) var(--timing-ease-out);
|
|
6674
6846
|
opacity: 0;
|
|
6675
6847
|
`;
|
|
6676
|
-
var ObjectSearchResultItemSubtitle =
|
|
6848
|
+
var ObjectSearchResultItemSubtitle = import_react71.css`
|
|
6677
6849
|
color: var(--gray-500);
|
|
6678
6850
|
display: block;
|
|
6679
6851
|
font-size: var(--fs-xs);
|
|
6680
6852
|
line-height: 1;
|
|
6681
6853
|
`;
|
|
6682
|
-
var ObjectSearchResultItemTitle =
|
|
6854
|
+
var ObjectSearchResultItemTitle = import_react71.css`
|
|
6683
6855
|
align-items: center;
|
|
6684
6856
|
color: var(--typography-base);
|
|
6685
6857
|
display: flex;
|
|
6686
6858
|
gap: var(--spacing-xs);
|
|
6687
6859
|
`;
|
|
6688
|
-
var ObjectSearchResultItemTimeStamp =
|
|
6860
|
+
var ObjectSearchResultItemTimeStamp = import_react71.css`
|
|
6689
6861
|
color: var(--gray-500);
|
|
6690
6862
|
font-size: var(--fs-xs);
|
|
6691
6863
|
`;
|
|
6692
|
-
var ObjectSearchAuthorStateGroup =
|
|
6864
|
+
var ObjectSearchAuthorStateGroup = import_react71.css`
|
|
6693
6865
|
align-items: center;
|
|
6694
6866
|
display: flex;
|
|
6695
6867
|
gap: var(--spacing-sm);
|
|
6696
6868
|
`;
|
|
6697
|
-
var ObjectSearchUpdateGroup =
|
|
6869
|
+
var ObjectSearchUpdateGroup = import_react71.css`
|
|
6698
6870
|
display: grid;
|
|
6699
6871
|
`;
|
|
6700
|
-
var ObjectSearchContentContainer =
|
|
6872
|
+
var ObjectSearchContentContainer = import_react71.css`
|
|
6701
6873
|
display: flex;
|
|
6702
6874
|
gap: var(--spacing-base);
|
|
6703
6875
|
`;
|
|
6704
|
-
var ObjectSearchImage =
|
|
6876
|
+
var ObjectSearchImage = import_react71.css`
|
|
6705
6877
|
width: 56px;
|
|
6706
6878
|
object-fit: contain;
|
|
6707
6879
|
`;
|
|
6708
6880
|
|
|
6709
6881
|
// src/components/ObjectSearch/ObjectSearchResultItem.tsx
|
|
6710
|
-
var
|
|
6882
|
+
var import_jsx_runtime65 = require("@emotion/react/jsx-runtime");
|
|
6711
6883
|
var ObjectSearchResultItem = ({
|
|
6712
6884
|
id,
|
|
6713
6885
|
title,
|
|
@@ -6731,73 +6903,77 @@ var ObjectSearchResultItem = ({
|
|
|
6731
6903
|
onSelectItem({ id, title: id });
|
|
6732
6904
|
onRemove == null ? void 0 : onRemove();
|
|
6733
6905
|
};
|
|
6734
|
-
return /* @__PURE__ */ (0,
|
|
6735
|
-
disableDnD ? null : /* @__PURE__ */ (0,
|
|
6736
|
-
/* @__PURE__ */ (0,
|
|
6737
|
-
!imageUrl ? null : /* @__PURE__ */ (0,
|
|
6738
|
-
/* @__PURE__ */ (0,
|
|
6739
|
-
/* @__PURE__ */ (0,
|
|
6740
|
-
/* @__PURE__ */ (0,
|
|
6906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { css: ObjectSearchResultItemContainer, "data-testid": "search-result-item", children: [
|
|
6907
|
+
disableDnD ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { role: "presentation", className: "drag-handle", css: ObjectSearchDragHandle }),
|
|
6908
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { css: ObjectSearchContentContainer, children: [
|
|
6909
|
+
!imageUrl ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("img", { src: imageUrl, alt: `Thumbnail for ${title}`, css: ObjectSearchImage }),
|
|
6910
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { children: [
|
|
6911
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("span", { css: ObjectSearchResultItemSubtitle, "data-testid": "sub-title", children: formatedContentType }),
|
|
6912
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("span", { role: "heading", css: ObjectSearchResultItemTitle, "data-testid": "title", children: [
|
|
6741
6913
|
title != null ? title : name,
|
|
6742
|
-
!popoverData ? null : /* @__PURE__ */ (0,
|
|
6914
|
+
!popoverData ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_design_system38.Popover, { baseId: title, ariaLabel: title, buttonText: `See ${title} details`, children: popoverData })
|
|
6743
6915
|
] }),
|
|
6744
|
-
!createdAt && !publishStatus ? null : /* @__PURE__ */ (0,
|
|
6745
|
-
!(publishStatus == null ? void 0 : publishStatus.text) ? null : /* @__PURE__ */ (0,
|
|
6746
|
-
!createdAt && !publishedAt ? null : /* @__PURE__ */ (0,
|
|
6747
|
-
!createdAt ? null : /* @__PURE__ */ (0,
|
|
6748
|
-
/* @__PURE__ */ (0,
|
|
6916
|
+
!createdAt && !publishStatus ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { css: ObjectSearchAuthorStateGroup, children: [
|
|
6917
|
+
!(publishStatus == null ? void 0 : publishStatus.text) ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_design_system38.Badge, { ...publishStatus, size: "sm", uppercaseText: true }),
|
|
6918
|
+
!createdAt && !publishedAt ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { css: ObjectSearchUpdateGroup, children: [
|
|
6919
|
+
!createdAt ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("small", { css: ObjectSearchResultItemTimeStamp, children: [
|
|
6920
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("strong", { children: "Last updated: " }),
|
|
6749
6921
|
(0, import_timeago3.format)(createdAt)
|
|
6750
6922
|
] }),
|
|
6751
|
-
!publishedAt ? null : /* @__PURE__ */ (0,
|
|
6752
|
-
/* @__PURE__ */ (0,
|
|
6923
|
+
!publishedAt ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("small", { css: ObjectSearchResultItemTimeStamp, children: [
|
|
6924
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("strong", { children: "Last published: " }),
|
|
6753
6925
|
(0, import_timeago3.format)(publishedAt)
|
|
6754
6926
|
] })
|
|
6755
6927
|
] })
|
|
6756
6928
|
] }),
|
|
6757
|
-
/* @__PURE__ */ (0,
|
|
6929
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { children })
|
|
6758
6930
|
] })
|
|
6759
6931
|
] }) }),
|
|
6760
|
-
!editLink && hideRemoveButton ? null : /* @__PURE__ */ (0,
|
|
6761
|
-
!editLink ? null : /* @__PURE__ */ (0,
|
|
6762
|
-
hideRemoveButton ? null : /* @__PURE__ */ (0,
|
|
6932
|
+
!editLink && hideRemoveButton ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { css: ObjectSearchAuthorStateGroup, children: [
|
|
6933
|
+
!editLink ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(LinkButton, { text: "Edit", href: editLink, icon: editLinkIcon }),
|
|
6934
|
+
hideRemoveButton ? null : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_design_system38.Button, { buttonType: "ghostDestructive", onClick: onRemoveItem, children: "Remove" })
|
|
6763
6935
|
] })
|
|
6764
6936
|
] });
|
|
6765
6937
|
};
|
|
6766
6938
|
|
|
6939
|
+
// src/components/ObjectSearch/ObjectSearchResultList.tsx
|
|
6940
|
+
var import_design_system39 = require("@uniformdev/design-system");
|
|
6941
|
+
var import_react_beautiful_dnd4 = require("react-beautiful-dnd");
|
|
6942
|
+
|
|
6767
6943
|
// src/components/ObjectSearch/styles/ObjectSearchResultList.styles.ts
|
|
6768
|
-
var
|
|
6769
|
-
var ObjectSearchResultListContainer =
|
|
6944
|
+
var import_react72 = require("@emotion/react");
|
|
6945
|
+
var ObjectSearchResultListContainer = import_react72.css`
|
|
6770
6946
|
align-items: center;
|
|
6771
6947
|
display: flex;
|
|
6772
6948
|
gap: var(--spacing-sm);
|
|
6773
6949
|
justify-content: space-between;
|
|
6774
6950
|
`;
|
|
6775
|
-
var ObjectSearchDragContainer =
|
|
6951
|
+
var ObjectSearchDragContainer = import_react72.css`
|
|
6776
6952
|
margin: 0 0 var(--spacing-sm);
|
|
6777
6953
|
`;
|
|
6778
|
-
var ObjectSearchContainerDragging =
|
|
6954
|
+
var ObjectSearchContainerDragging = import_react72.css`
|
|
6779
6955
|
box-shadow: var(--shadow-base);
|
|
6780
6956
|
opacity: var(--opacity-50);
|
|
6781
6957
|
`;
|
|
6782
|
-
var ObjectSearchResultListCounterContainer =
|
|
6958
|
+
var ObjectSearchResultListCounterContainer = import_react72.css`
|
|
6783
6959
|
align-items: center;
|
|
6784
6960
|
display: flex;
|
|
6785
6961
|
gap: var(--spacing-sm);
|
|
6786
6962
|
`;
|
|
6787
|
-
var ObjectSearchResultListTitle =
|
|
6963
|
+
var ObjectSearchResultListTitle = import_react72.css`
|
|
6788
6964
|
font-weight: var(--fw-bold);
|
|
6789
6965
|
line-height: 1;
|
|
6790
6966
|
`;
|
|
6791
6967
|
|
|
6792
6968
|
// src/components/ObjectSearch/ObjectSearchResultList.tsx
|
|
6793
|
-
var
|
|
6969
|
+
var import_jsx_runtime66 = require("@emotion/react/jsx-runtime");
|
|
6794
6970
|
function ObjectSearchResultList({
|
|
6795
6971
|
resultLabelText = "Selected",
|
|
6796
6972
|
removeButtonText = "Remove all",
|
|
6797
6973
|
onRemoveAllSelected,
|
|
6798
6974
|
hideRemoveButton = false,
|
|
6799
6975
|
additionalButtons,
|
|
6800
|
-
renderResultComponent = (value) => /* @__PURE__ */ (0,
|
|
6976
|
+
renderResultComponent = (value) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ObjectSearchResultItem, { ...value }),
|
|
6801
6977
|
multiSelectId,
|
|
6802
6978
|
disableDnD = false,
|
|
6803
6979
|
getContainerForDnDReparenting,
|
|
@@ -6824,7 +7000,7 @@ function ObjectSearchResultList({
|
|
|
6824
7000
|
...item,
|
|
6825
7001
|
disableDnD: selectedListItems.length === 1 || disableDnD
|
|
6826
7002
|
});
|
|
6827
|
-
return /* @__PURE__ */ (0,
|
|
7003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6828
7004
|
"div",
|
|
6829
7005
|
{
|
|
6830
7006
|
css: [
|
|
@@ -6839,17 +7015,17 @@ function ObjectSearchResultList({
|
|
|
6839
7015
|
}
|
|
6840
7016
|
);
|
|
6841
7017
|
};
|
|
6842
|
-
return /* @__PURE__ */ (0,
|
|
6843
|
-
/* @__PURE__ */ (0,
|
|
6844
|
-
/* @__PURE__ */ (0,
|
|
6845
|
-
/* @__PURE__ */ (0,
|
|
7018
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
|
|
7019
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { role: "group", css: ObjectSearchResultListContainer, children: [
|
|
7020
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { role: "note", css: ObjectSearchResultListCounterContainer, children: [
|
|
7021
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { css: ObjectSearchResultListTitle, children: resultLabelText }),
|
|
6846
7022
|
" ",
|
|
6847
|
-
!selectedListItems.length ? null : /* @__PURE__ */ (0,
|
|
7023
|
+
!selectedListItems.length ? null : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_design_system39.Counter, { count: selectedListItems.length })
|
|
6848
7024
|
] }),
|
|
6849
|
-
/* @__PURE__ */ (0,
|
|
7025
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { css: ObjectSearchResultListCounterContainer, children: [
|
|
6850
7026
|
additionalButtons,
|
|
6851
|
-
hideRemoveButton ? null : /* @__PURE__ */ (0,
|
|
6852
|
-
|
|
7027
|
+
hideRemoveButton ? null : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
7028
|
+
import_design_system39.Button,
|
|
6853
7029
|
{
|
|
6854
7030
|
buttonType: "ghostDestructive",
|
|
6855
7031
|
size: "xs",
|
|
@@ -6860,15 +7036,15 @@ function ObjectSearchResultList({
|
|
|
6860
7036
|
)
|
|
6861
7037
|
] })
|
|
6862
7038
|
] }),
|
|
6863
|
-
!selectedListItems.length ? whenNothingSelected : /* @__PURE__ */ (0,
|
|
7039
|
+
!selectedListItems.length ? whenNothingSelected : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(DragDropContext, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6864
7040
|
import_react_beautiful_dnd4.Droppable,
|
|
6865
7041
|
{
|
|
6866
7042
|
droppableId: multiSelectId != null ? multiSelectId : "canvas-multi-select",
|
|
6867
7043
|
renderClone: getContainerForDnDReparenting ? getDraggableItem : void 0,
|
|
6868
7044
|
getContainerForClone: getContainerForDnDReparenting,
|
|
6869
|
-
children: (provided) => /* @__PURE__ */ (0,
|
|
7045
|
+
children: (provided) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { ...provided.droppableProps, ref: provided.innerRef, children: [
|
|
6870
7046
|
selectedListItems.map((item, i) => {
|
|
6871
|
-
return /* @__PURE__ */ (0,
|
|
7047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
6872
7048
|
import_react_beautiful_dnd4.Draggable,
|
|
6873
7049
|
{
|
|
6874
7050
|
draggableId: item.id,
|
|
@@ -6886,284 +7062,9 @@ function ObjectSearchResultList({
|
|
|
6886
7062
|
] });
|
|
6887
7063
|
}
|
|
6888
7064
|
|
|
6889
|
-
// src/components/ObjectSearch/ObjectSearchContainer.tsx
|
|
6890
|
-
var import_jsx_runtime64 = require("@emotion/react/jsx-runtime");
|
|
6891
|
-
var ObjectSearchContainer = ({
|
|
6892
|
-
label,
|
|
6893
|
-
enableDynamicInputToResultId,
|
|
6894
|
-
searchFilters,
|
|
6895
|
-
resultList,
|
|
6896
|
-
children = /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ObjectSearchResultList, {})
|
|
6897
|
-
}) => {
|
|
6898
|
-
var _a, _b;
|
|
6899
|
-
const { onSelectItem, selectedListItems, list, dynamicEntryId, onSetQuery, query } = useObjectSearchContext();
|
|
6900
|
-
const { flatVariables } = useVariables(true);
|
|
6901
|
-
const inputValue = (_b = dynamicEntryId != null ? dynamicEntryId : (_a = selectedListItems[0]) == null ? void 0 : _a.id) != null ? _b : "";
|
|
6902
|
-
const isDynamicEntryIdAvailable = import_react72.default.useMemo(
|
|
6903
|
-
() => Boolean(inputValue && hasReferencedVariables(inputValue)),
|
|
6904
|
-
[inputValue]
|
|
6905
|
-
);
|
|
6906
|
-
const listItems = resultList != null ? resultList : /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6907
|
-
import_design_system38.ScrollableList,
|
|
6908
|
-
{
|
|
6909
|
-
role: "list",
|
|
6910
|
-
css: import_react71.css`
|
|
6911
|
-
> div {
|
|
6912
|
-
transition: max-height var(--duration-slow) var(--timing-ease-out);
|
|
6913
|
-
max-height: ${selectedListItems.length === 0 ? "50vh" : "184px"};
|
|
6914
|
-
}
|
|
6915
|
-
`,
|
|
6916
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(DefaultResultList, {})
|
|
6917
|
-
}
|
|
6918
|
-
);
|
|
6919
|
-
const handleSelectedVariableChange = (selectedValue) => {
|
|
6920
|
-
var _a2;
|
|
6921
|
-
if (!selectedValue) {
|
|
6922
|
-
onSelectItem([]);
|
|
6923
|
-
return;
|
|
6924
|
-
}
|
|
6925
|
-
const { result, errors } = (0, import_canvas9.bindVariables)({
|
|
6926
|
-
value: selectedValue,
|
|
6927
|
-
variables: flatVariables,
|
|
6928
|
-
errorPrefix: "Dynamic input"
|
|
6929
|
-
});
|
|
6930
|
-
if (!result) {
|
|
6931
|
-
onSelectItem([]);
|
|
6932
|
-
return;
|
|
6933
|
-
}
|
|
6934
|
-
const item = (_a2 = list.items) == null ? void 0 : _a2.find((i) => i.id === result);
|
|
6935
|
-
onSelectItem([
|
|
6936
|
-
{
|
|
6937
|
-
title: selectedValue,
|
|
6938
|
-
contentType: (errors == null ? void 0 : errors.length) ? errors[0] instanceof Error ? errors[0].message : errors[0] : `Current dynamic value "${result}" is not an ID in the options`,
|
|
6939
|
-
// spread any matched list item, overriding the above default props
|
|
6940
|
-
...item,
|
|
6941
|
-
// we want to make sure the ID is our dynamic value
|
|
6942
|
-
id: selectedValue
|
|
6943
|
-
}
|
|
6944
|
-
]);
|
|
6945
|
-
if (hasReferencedVariables(selectedValue)) {
|
|
6946
|
-
onSetQuery({ ...query, dynamicEntryId: selectedValue });
|
|
6947
|
-
}
|
|
6948
|
-
};
|
|
6949
|
-
const showSearchList = !label || !isDynamicEntryIdAvailable || !enableDynamicInputToResultId;
|
|
6950
|
-
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_design_system38.IconsProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_design_system38.VerticalRhythm, { children: [
|
|
6951
|
-
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_design_system38.Container, { backgroundColor: "gray-50", padding: "var(--spacing-base)", border: true, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_design_system38.VerticalRhythm, { children: [
|
|
6952
|
-
label ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
6953
|
-
InputVariables,
|
|
6954
|
-
{
|
|
6955
|
-
id: "entryId",
|
|
6956
|
-
label,
|
|
6957
|
-
value: inputValue,
|
|
6958
|
-
onChange: (value) => {
|
|
6959
|
-
if (value === inputValue) {
|
|
6960
|
-
return;
|
|
6961
|
-
}
|
|
6962
|
-
handleSelectedVariableChange(value);
|
|
6963
|
-
},
|
|
6964
|
-
inputWhenNoVariables: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_jsx_runtime64.Fragment, { children: searchFilters }),
|
|
6965
|
-
disableVariables: !enableDynamicInputToResultId
|
|
6966
|
-
}
|
|
6967
|
-
) : searchFilters,
|
|
6968
|
-
showSearchList ? listItems : null
|
|
6969
|
-
] }) }),
|
|
6970
|
-
children
|
|
6971
|
-
] }) });
|
|
6972
|
-
};
|
|
6973
|
-
var DefaultResultList = () => {
|
|
6974
|
-
var _a, _b;
|
|
6975
|
-
const { list, isListLoading } = useObjectSearchContext();
|
|
6976
|
-
if (isListLoading || !list.items) {
|
|
6977
|
-
return Array.from(Array(5).keys()).map((i) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ObjectSearchListItemLoadingSkeleton, {}, i));
|
|
6978
|
-
}
|
|
6979
|
-
if (((_a = list.items) == null ? void 0 : _a.length) === 0) {
|
|
6980
|
-
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_design_system38.Callout, { type: "info", children: "No results were found" });
|
|
6981
|
-
}
|
|
6982
|
-
return (_b = list.items) == null ? void 0 : _b.map((item) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ObjectSearchListItem, { ...item }, item.id));
|
|
6983
|
-
};
|
|
6984
|
-
|
|
6985
|
-
// src/components/ObjectSearch/ObjectSearchFilter.tsx
|
|
6986
|
-
var import_design_system39 = require("@uniformdev/design-system");
|
|
6987
|
-
var import_react75 = require("react");
|
|
6988
|
-
var import_react_use5 = require("react-use");
|
|
6989
|
-
|
|
6990
|
-
// src/utils/createLocationValidator.ts
|
|
6991
|
-
function createLocationValidator(setValue, validate) {
|
|
6992
|
-
return (dispatch) => setValue((previous) => {
|
|
6993
|
-
const { newValue, options } = dispatch(previous);
|
|
6994
|
-
return { newValue, options: validate(newValue, options) };
|
|
6995
|
-
});
|
|
6996
|
-
}
|
|
6997
|
-
|
|
6998
|
-
// src/utils/useContentDataResourceLocaleInfo.ts
|
|
6999
|
-
var import_canvas10 = require("@uniformdev/canvas");
|
|
7000
|
-
var import_react73 = require("react");
|
|
7001
|
-
function useContentDataResourceLocaleInfo({
|
|
7002
|
-
locale,
|
|
7003
|
-
setLocale,
|
|
7004
|
-
dynamicInputs
|
|
7005
|
-
}) {
|
|
7006
|
-
var _a;
|
|
7007
|
-
const setLocaleRef = (0, import_react73.useRef)(setLocale);
|
|
7008
|
-
setLocaleRef.current = setLocale;
|
|
7009
|
-
const { flatVariables } = useVariables();
|
|
7010
|
-
const effectiveLocale = locale != null ? locale : dynamicInputs[import_canvas10.LOCALE_DYNAMIC_INPUT_NAME] ? (0, import_canvas10.createVariableReference)(import_canvas10.LOCALE_DYNAMIC_INPUT_NAME) : "";
|
|
7011
|
-
const boundLocale = (_a = (0, import_canvas10.bindVariables)({ variables: flatVariables, value: effectiveLocale }).result) != null ? _a : effectiveLocale;
|
|
7012
|
-
(0, import_react73.useEffect)(() => {
|
|
7013
|
-
if (locale === void 0 && effectiveLocale && setLocaleRef.current) {
|
|
7014
|
-
setLocaleRef.current((0, import_canvas10.createVariableReference)(import_canvas10.LOCALE_DYNAMIC_INPUT_NAME));
|
|
7015
|
-
}
|
|
7016
|
-
}, [locale, effectiveLocale]);
|
|
7017
|
-
return { effectiveLocale, boundLocale: boundLocale ? boundLocale : void 0 };
|
|
7018
|
-
}
|
|
7019
|
-
|
|
7020
|
-
// src/components/ObjectSearch/styles/ObjectSearchFilterContainer.styles.ts
|
|
7021
|
-
var import_react74 = require("@emotion/react");
|
|
7022
|
-
var ObjectSearchFilterContainerLabel = import_react74.css`
|
|
7023
|
-
align-items: center;
|
|
7024
|
-
display: flex;
|
|
7025
|
-
font-size: var(--fs-sm);
|
|
7026
|
-
font-weight: var(--fw-bold);
|
|
7027
|
-
line-height: 1rem;
|
|
7028
|
-
margin-bottom: var(--spacing-sm);
|
|
7029
|
-
`;
|
|
7030
|
-
var ObjectSearchFilterContainer = import_react74.css`
|
|
7031
|
-
display: grid;
|
|
7032
|
-
gap: var(--spacing-base);
|
|
7033
|
-
`;
|
|
7034
|
-
var ObjectSearchFilterGrid = (gridColumns) => import_react74.css`
|
|
7035
|
-
display: grid;
|
|
7036
|
-
grid-template-columns: ${gridColumns};
|
|
7037
|
-
gap: var(--spacing-base);
|
|
7038
|
-
`;
|
|
7039
|
-
|
|
7040
|
-
// src/components/ObjectSearch/ObjectSearchFilter.tsx
|
|
7041
|
-
var import_jsx_runtime65 = require("@emotion/react/jsx-runtime");
|
|
7042
|
-
var ObjectSearchFilter = ({
|
|
7043
|
-
requireContentType,
|
|
7044
|
-
typeSelectorAllTypesOptionText = "All content types",
|
|
7045
|
-
searchInputName = "searchText",
|
|
7046
|
-
searchInputPlaceholderText = "Enter keyword to narrow your results",
|
|
7047
|
-
selectLabel = "Content Type Select",
|
|
7048
|
-
localeFilterLabel = "Filter by locale",
|
|
7049
|
-
selectOptions
|
|
7050
|
-
}) => {
|
|
7051
|
-
var _a, _b, _c;
|
|
7052
|
-
const { query, onSetQuery, localeOptions, enableFilterByLocale } = useObjectSearchContext();
|
|
7053
|
-
const dynamicInputs = useDataResourceDynamicInputs();
|
|
7054
|
-
const { boundLocale = "", effectiveLocale } = useContentDataResourceLocaleInfo({
|
|
7055
|
-
locale: query.locale,
|
|
7056
|
-
dynamicInputs: dynamicInputs != null ? dynamicInputs : {},
|
|
7057
|
-
setLocale: (newLocale) => handleFilterChange({ locale: newLocale != null ? newLocale : "" })
|
|
7058
|
-
});
|
|
7059
|
-
const [searchState, setSearchState] = (0, import_react75.useState)({
|
|
7060
|
-
keyword: (_a = query.keyword) != null ? _a : "",
|
|
7061
|
-
contentType: (_b = query.contentType) != null ? _b : "",
|
|
7062
|
-
locale: (_c = query.locale) != null ? _c : ""
|
|
7063
|
-
});
|
|
7064
|
-
const handleFilterChange = (value) => {
|
|
7065
|
-
setSearchState((prev) => {
|
|
7066
|
-
return { ...prev, ...value };
|
|
7067
|
-
});
|
|
7068
|
-
};
|
|
7069
|
-
(0, import_react_use5.useDebounce)(
|
|
7070
|
-
() => {
|
|
7071
|
-
onSetQuery({ ...query, ...searchState });
|
|
7072
|
-
},
|
|
7073
|
-
500,
|
|
7074
|
-
[searchState]
|
|
7075
|
-
);
|
|
7076
|
-
const memoizedSelectOptions = (0, import_react75.useMemo)(() => {
|
|
7077
|
-
if (!requireContentType && !(selectOptions == null ? void 0 : selectOptions.length)) {
|
|
7078
|
-
return [];
|
|
7079
|
-
}
|
|
7080
|
-
return [
|
|
7081
|
-
...!requireContentType ? [{ value: "any", label: typeSelectorAllTypesOptionText }] : [],
|
|
7082
|
-
...selectOptions != null ? selectOptions : []
|
|
7083
|
-
];
|
|
7084
|
-
}, [requireContentType, typeSelectorAllTypesOptionText, selectOptions]);
|
|
7085
|
-
const shouldRenderSelect = memoizedSelectOptions.length > 0;
|
|
7086
|
-
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_design_system39.VerticalRhythm, { gap: "base", children: [
|
|
7087
|
-
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
|
|
7088
|
-
"fieldset",
|
|
7089
|
-
{
|
|
7090
|
-
css: [
|
|
7091
|
-
ObjectSearchFilterContainer,
|
|
7092
|
-
ObjectSearchFilterGrid(shouldRenderSelect ? "1fr 2fr" : "1fr")
|
|
7093
|
-
],
|
|
7094
|
-
children: [
|
|
7095
|
-
memoizedSelectOptions.length ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
7096
|
-
import_design_system39.InputSelect,
|
|
7097
|
-
{
|
|
7098
|
-
label: selectLabel,
|
|
7099
|
-
showLabel: false,
|
|
7100
|
-
onChange: (e) => handleFilterChange({ contentType: e.target.value }),
|
|
7101
|
-
options: memoizedSelectOptions,
|
|
7102
|
-
value: query.contentType,
|
|
7103
|
-
"data-testid": "select-entry"
|
|
7104
|
-
}
|
|
7105
|
-
) : null,
|
|
7106
|
-
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
7107
|
-
import_design_system39.InputKeywordSearch,
|
|
7108
|
-
{
|
|
7109
|
-
inputFieldName: searchInputName,
|
|
7110
|
-
placeholder: searchInputPlaceholderText,
|
|
7111
|
-
onSearchTextChanged: (e) => handleFilterChange({ keyword: e }),
|
|
7112
|
-
disabledFieldSubmission: true,
|
|
7113
|
-
onClear: () => handleFilterChange({ keyword: "" }),
|
|
7114
|
-
value: searchState.keyword
|
|
7115
|
-
}
|
|
7116
|
-
),
|
|
7117
|
-
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
7118
|
-
import_design_system39.DebouncedInputKeywordSearch,
|
|
7119
|
-
{
|
|
7120
|
-
inputFieldName: searchInputName,
|
|
7121
|
-
placeholder: searchInputPlaceholderText,
|
|
7122
|
-
onSearchTextChanged: (keyword) => handleFilterChange({ keyword }),
|
|
7123
|
-
disabledFieldSubmission: true,
|
|
7124
|
-
defaultValue: searchState.keyword,
|
|
7125
|
-
delay: 300
|
|
7126
|
-
}
|
|
7127
|
-
)
|
|
7128
|
-
]
|
|
7129
|
-
}
|
|
7130
|
-
),
|
|
7131
|
-
enableFilterByLocale && (localeOptions == null ? void 0 : localeOptions.length) && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
7132
|
-
InputVariables,
|
|
7133
|
-
{
|
|
7134
|
-
label: localeFilterLabel,
|
|
7135
|
-
id: "locale",
|
|
7136
|
-
value: effectiveLocale,
|
|
7137
|
-
onChange: (newLocale) => handleFilterChange({ locale: newLocale != null ? newLocale : "" }),
|
|
7138
|
-
disableInlineMenu: true,
|
|
7139
|
-
inputWhenNoVariables: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
7140
|
-
import_design_system39.InputSelect,
|
|
7141
|
-
{
|
|
7142
|
-
id: "locale",
|
|
7143
|
-
options: localeOptions,
|
|
7144
|
-
name: "locale",
|
|
7145
|
-
label: "",
|
|
7146
|
-
value: boundLocale,
|
|
7147
|
-
onChange: (e) => handleFilterChange({ locale: e.target.value })
|
|
7148
|
-
}
|
|
7149
|
-
)
|
|
7150
|
-
}
|
|
7151
|
-
)
|
|
7152
|
-
] });
|
|
7153
|
-
};
|
|
7154
|
-
|
|
7155
|
-
// src/components/ObjectSearch/ObjectSearchFilterContainer.tsx
|
|
7156
|
-
var import_jsx_runtime66 = require("@emotion/react/jsx-runtime");
|
|
7157
|
-
var ObjectSearchFilterContainer2 = ({ label, children }) => {
|
|
7158
|
-
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { children: [
|
|
7159
|
-
label ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { css: ObjectSearchFilterContainerLabel, children: label }) : null,
|
|
7160
|
-
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { css: ObjectSearchFilterContainer, children })
|
|
7161
|
-
] });
|
|
7162
|
-
};
|
|
7163
|
-
|
|
7164
7065
|
// src/components/ObjectSearch/QueryFilter.tsx
|
|
7165
7066
|
var import_design_system40 = require("@uniformdev/design-system");
|
|
7166
|
-
var
|
|
7067
|
+
var import_react73 = require("react");
|
|
7167
7068
|
var import_jsx_runtime67 = require("@emotion/react/jsx-runtime");
|
|
7168
7069
|
var QueryFilter = ({
|
|
7169
7070
|
requireContentType,
|
|
@@ -7193,7 +7094,7 @@ var QueryFilter = ({
|
|
|
7193
7094
|
}) => {
|
|
7194
7095
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
7195
7096
|
const { query, onSetQuery } = useObjectSearchContext();
|
|
7196
|
-
const [queryState, setQueryState] = (0,
|
|
7097
|
+
const [queryState, setQueryState] = (0, import_react73.useState)({
|
|
7197
7098
|
contentType: (_a = query.contentType) != null ? _a : "",
|
|
7198
7099
|
keyword: (_b = query.keyword) != null ? _b : "",
|
|
7199
7100
|
count: (_c = query.count) != null ? _c : countValue,
|
|
@@ -7204,7 +7105,7 @@ var QueryFilter = ({
|
|
|
7204
7105
|
setQueryState((prev) => ({ ...prev, ...value }));
|
|
7205
7106
|
onSetQuery({ ...query, ...value });
|
|
7206
7107
|
};
|
|
7207
|
-
(0,
|
|
7108
|
+
(0, import_react73.useEffect)(() => {
|
|
7208
7109
|
onSetQuery(queryState);
|
|
7209
7110
|
}, []);
|
|
7210
7111
|
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("fieldset", { children: [
|
|
@@ -7329,93 +7230,9 @@ var QueryFilter = ({
|
|
|
7329
7230
|
] });
|
|
7330
7231
|
};
|
|
7331
7232
|
|
|
7332
|
-
// src/components/ObjectSearch/hooks/ControlledObjectSearchProvider.tsx
|
|
7333
|
-
var import_react77 = require("react");
|
|
7334
|
-
var import_jsx_runtime68 = require("@emotion/react/jsx-runtime");
|
|
7335
|
-
var ControlledObjectSearchProvider = ({
|
|
7336
|
-
selectedItems,
|
|
7337
|
-
searchResultItems,
|
|
7338
|
-
selectedItemsLoading,
|
|
7339
|
-
searchResultListLoading,
|
|
7340
|
-
searchResultItemsLoading,
|
|
7341
|
-
onQueryChange,
|
|
7342
|
-
onSelectItemsChange,
|
|
7343
|
-
isMulti = false,
|
|
7344
|
-
children,
|
|
7345
|
-
query,
|
|
7346
|
-
enableFilterByLocale,
|
|
7347
|
-
localeOptions,
|
|
7348
|
-
dynamicEntryId
|
|
7349
|
-
}) => {
|
|
7350
|
-
const { flatVariables } = useVariables(true);
|
|
7351
|
-
const querySearchDeferred = (0, import_react77.useDeferredValue)(query);
|
|
7352
|
-
const onSetQuery = (0, import_react77.useCallback)(
|
|
7353
|
-
(value2) => {
|
|
7354
|
-
const newQuery = { ...query, ...value2 };
|
|
7355
|
-
onQueryChange(newQuery);
|
|
7356
|
-
},
|
|
7357
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
7358
|
-
[onQueryChange]
|
|
7359
|
-
);
|
|
7360
|
-
const onSelectItem = (0, import_react77.useCallback)(
|
|
7361
|
-
(selectedResult) => {
|
|
7362
|
-
if (Array.isArray(selectedResult)) {
|
|
7363
|
-
onSelectItemsChange(selectedResult);
|
|
7364
|
-
} else {
|
|
7365
|
-
if (selectedItems == null ? void 0 : selectedItems.some((item) => item.id === selectedResult.id)) {
|
|
7366
|
-
onSelectItemsChange(selectedItems.filter((item) => item.id !== selectedResult.id));
|
|
7367
|
-
} else {
|
|
7368
|
-
onSelectItemsChange([...selectedItems != null ? selectedItems : [], selectedResult]);
|
|
7369
|
-
}
|
|
7370
|
-
}
|
|
7371
|
-
},
|
|
7372
|
-
[onSelectItemsChange, selectedItems]
|
|
7373
|
-
);
|
|
7374
|
-
const onRemoveAllSelectedItems = (0, import_react77.useCallback)(() => {
|
|
7375
|
-
onSelectItemsChange([]);
|
|
7376
|
-
}, [onSelectItemsChange]);
|
|
7377
|
-
const list = (0, import_react77.useMemo)(() => ({ items: searchResultItems }), [searchResultItems]);
|
|
7378
|
-
const boundQuery = (0, import_react77.useMemo)(() => bindQuery(query, flatVariables), [query, flatVariables]);
|
|
7379
|
-
const value = (0, import_react77.useMemo)(
|
|
7380
|
-
() => ({
|
|
7381
|
-
boundQuery,
|
|
7382
|
-
onSetQuery,
|
|
7383
|
-
query: querySearchDeferred,
|
|
7384
|
-
onSelectItem,
|
|
7385
|
-
selectedListItems: selectedItems != null ? selectedItems : [],
|
|
7386
|
-
onRemoveAllSelectedItems,
|
|
7387
|
-
list,
|
|
7388
|
-
selectedItemsLoading,
|
|
7389
|
-
searchResultItemsLoading,
|
|
7390
|
-
searchResultListLoading,
|
|
7391
|
-
isMulti,
|
|
7392
|
-
localeOptions,
|
|
7393
|
-
enableFilterByLocale,
|
|
7394
|
-
dynamicEntryId
|
|
7395
|
-
}),
|
|
7396
|
-
[
|
|
7397
|
-
boundQuery,
|
|
7398
|
-
onSetQuery,
|
|
7399
|
-
querySearchDeferred,
|
|
7400
|
-
onSelectItem,
|
|
7401
|
-
selectedItems,
|
|
7402
|
-
selectedItemsLoading,
|
|
7403
|
-
searchResultItemsLoading,
|
|
7404
|
-
onRemoveAllSelectedItems,
|
|
7405
|
-
searchResultListLoading,
|
|
7406
|
-
list,
|
|
7407
|
-
isMulti,
|
|
7408
|
-
localeOptions,
|
|
7409
|
-
enableFilterByLocale,
|
|
7410
|
-
dynamicEntryId
|
|
7411
|
-
]
|
|
7412
|
-
);
|
|
7413
|
-
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ObjectSearchContext.Provider, { value, children });
|
|
7414
|
-
};
|
|
7415
|
-
|
|
7416
7233
|
// src/components/ParamTypeDynamicDataProvider.tsx
|
|
7417
|
-
var
|
|
7418
|
-
var
|
|
7234
|
+
var import_react74 = require("react");
|
|
7235
|
+
var import_jsx_runtime68 = require("@emotion/react/jsx-runtime");
|
|
7419
7236
|
function ParamTypeDynamicDataProvider(props) {
|
|
7420
7237
|
const { children } = props;
|
|
7421
7238
|
const {
|
|
@@ -7423,11 +7240,11 @@ function ParamTypeDynamicDataProvider(props) {
|
|
|
7423
7240
|
} = useMeshLocation("paramType");
|
|
7424
7241
|
const dynamicInputsAsVariables = useDynamicInputsAsVariables(dynamicInputs);
|
|
7425
7242
|
const connectedDataAsVariables = useConnectedDataAsVariables(connectedData);
|
|
7426
|
-
const variables = (0,
|
|
7243
|
+
const variables = (0, import_react74.useMemo)(
|
|
7427
7244
|
() => ({ ...connectedDataAsVariables, ...dynamicInputsAsVariables }),
|
|
7428
7245
|
[dynamicInputsAsVariables, connectedDataAsVariables]
|
|
7429
7246
|
);
|
|
7430
|
-
return /* @__PURE__ */ (0,
|
|
7247
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(VariablesProvider, { value: variables, onChange: () => {
|
|
7431
7248
|
}, editVariableComponent: JsonMeshVariableEditor, children });
|
|
7432
7249
|
}
|
|
7433
7250
|
var JsonMeshVariableEditor = ({
|
|
@@ -7436,9 +7253,9 @@ var JsonMeshVariableEditor = ({
|
|
|
7436
7253
|
variable,
|
|
7437
7254
|
context
|
|
7438
7255
|
}) => {
|
|
7439
|
-
const sillyRef = (0,
|
|
7256
|
+
const sillyRef = (0, import_react74.useRef)(false);
|
|
7440
7257
|
const { editConnectedData } = useMeshLocation("paramType");
|
|
7441
|
-
(0,
|
|
7258
|
+
(0, import_react74.useEffect)(() => {
|
|
7442
7259
|
if (sillyRef.current) {
|
|
7443
7260
|
return;
|
|
7444
7261
|
}
|
|
@@ -7466,6 +7283,36 @@ var JsonMeshVariableEditor = ({
|
|
|
7466
7283
|
return null;
|
|
7467
7284
|
};
|
|
7468
7285
|
|
|
7286
|
+
// src/utils/createLocationValidator.ts
|
|
7287
|
+
function createLocationValidator(setValue, validate) {
|
|
7288
|
+
return (dispatch) => setValue((previous) => {
|
|
7289
|
+
const { newValue, options } = dispatch(previous);
|
|
7290
|
+
return { newValue, options: validate(newValue, options) };
|
|
7291
|
+
});
|
|
7292
|
+
}
|
|
7293
|
+
|
|
7294
|
+
// src/utils/useContentDataResourceLocaleInfo.ts
|
|
7295
|
+
var import_canvas10 = require("@uniformdev/canvas");
|
|
7296
|
+
var import_react75 = require("react");
|
|
7297
|
+
function useContentDataResourceLocaleInfo({
|
|
7298
|
+
locale,
|
|
7299
|
+
setLocale,
|
|
7300
|
+
dynamicInputs
|
|
7301
|
+
}) {
|
|
7302
|
+
var _a;
|
|
7303
|
+
const setLocaleRef = (0, import_react75.useRef)(setLocale);
|
|
7304
|
+
setLocaleRef.current = setLocale;
|
|
7305
|
+
const { flatVariables } = useVariables();
|
|
7306
|
+
const effectiveLocale = locale != null ? locale : dynamicInputs[import_canvas10.LOCALE_DYNAMIC_INPUT_NAME] ? (0, import_canvas10.createVariableReference)(import_canvas10.LOCALE_DYNAMIC_INPUT_NAME) : "";
|
|
7307
|
+
const boundLocale = (_a = (0, import_canvas10.bindVariables)({ variables: flatVariables, value: effectiveLocale }).result) != null ? _a : effectiveLocale;
|
|
7308
|
+
(0, import_react75.useEffect)(() => {
|
|
7309
|
+
if (locale === void 0 && effectiveLocale && setLocaleRef.current) {
|
|
7310
|
+
setLocaleRef.current((0, import_canvas10.createVariableReference)(import_canvas10.LOCALE_DYNAMIC_INPUT_NAME));
|
|
7311
|
+
}
|
|
7312
|
+
}, [locale, effectiveLocale]);
|
|
7313
|
+
return { effectiveLocale, boundLocale: boundLocale ? boundLocale : void 0 };
|
|
7314
|
+
}
|
|
7315
|
+
|
|
7469
7316
|
// src/index.ts
|
|
7470
7317
|
var import_design_system41 = require("@uniformdev/design-system");
|
|
7471
7318
|
__reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
|
|
@@ -7476,13 +7323,11 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
|
|
|
7476
7323
|
AddListButton,
|
|
7477
7324
|
Button,
|
|
7478
7325
|
Callout,
|
|
7479
|
-
ControlledObjectSearchProvider,
|
|
7480
7326
|
ControlledValuePlugin,
|
|
7481
7327
|
DISCONNECT_VARIABLE_COMMAND,
|
|
7482
7328
|
DamSelectedItem,
|
|
7483
7329
|
DataRefreshButton,
|
|
7484
7330
|
DataResourceDynamicInputProvider,
|
|
7485
|
-
DataResourceInputContext,
|
|
7486
7331
|
DataResourceVariablesList,
|
|
7487
7332
|
DataResourceVariablesListExplicit,
|
|
7488
7333
|
DataSourceEditor,
|
|
@@ -7510,7 +7355,6 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
|
|
|
7510
7355
|
MeshApp,
|
|
7511
7356
|
OPEN_INSERT_VARIABLE_COMMAND,
|
|
7512
7357
|
ObjectSearchContainer,
|
|
7513
|
-
ObjectSearchContext,
|
|
7514
7358
|
ObjectSearchFilter,
|
|
7515
7359
|
ObjectSearchFilterContainer,
|
|
7516
7360
|
ObjectSearchListItem,
|
|
@@ -7568,7 +7412,6 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
|
|
|
7568
7412
|
VariablesPlugin,
|
|
7569
7413
|
VariablesProvider,
|
|
7570
7414
|
badgeIcon,
|
|
7571
|
-
bindQuery,
|
|
7572
7415
|
convertConnectedDataToVariable,
|
|
7573
7416
|
createLocationValidator,
|
|
7574
7417
|
damSelectItemImage,
|
|
@@ -7640,7 +7483,6 @@ __reExport(src_exports, require("@uniformdev/mesh-sdk"), module.exports);
|
|
|
7640
7483
|
urlEncodeRequestUrl,
|
|
7641
7484
|
useConnectedDataAsVariables,
|
|
7642
7485
|
useContentDataResourceLocaleInfo,
|
|
7643
|
-
useDataResourceDynamicInputs,
|
|
7644
7486
|
useDynamicInputsAsVariables,
|
|
7645
7487
|
useMeshLocation,
|
|
7646
7488
|
useObjectSearchContext,
|