@uniformdev/mesh-sdk-react 19.23.0 → 19.23.1-alpha.12
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 +43 -15
- package/dist/index.esm.js +1153 -519
- package/dist/index.js +1239 -612
- package/dist/index.mjs +1153 -519
- package/package.json +8 -5
package/dist/index.esm.js
CHANGED
|
@@ -2921,42 +2921,206 @@ function useMeshLocation(expectedLocation) {
|
|
|
2921
2921
|
|
|
2922
2922
|
// src/components/Variables/InputVariables.tsx
|
|
2923
2923
|
init_emotion_jsx_shim();
|
|
2924
|
-
import { Caption, ErrorMessage, InfoMessage,
|
|
2924
|
+
import { Caption as Caption2, ErrorMessage, InfoMessage, WarningMessage } from "@uniformdev/design-system";
|
|
2925
2925
|
import * as React11 from "react";
|
|
2926
|
-
import {
|
|
2926
|
+
import { useMemo as useMemo8 } from "react";
|
|
2927
|
+
import { v4 as v43 } from "uuid";
|
|
2927
2928
|
|
|
2928
|
-
// src/components/Variables/
|
|
2929
|
+
// src/components/Variables/composer/PasteTransformerPlugin.tsx
|
|
2929
2930
|
init_emotion_jsx_shim();
|
|
2930
|
-
import {
|
|
2931
|
-
import {
|
|
2932
|
-
import {
|
|
2931
|
+
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
|
|
2932
|
+
import { $getSelection, $isRangeSelection, COMMAND_PRIORITY_HIGH, PASTE_COMMAND } from "lexical";
|
|
2933
|
+
import { useEffect as useEffect5 } from "react";
|
|
2934
|
+
function PasteTransformerPlugin({ transformPaste }) {
|
|
2935
|
+
const [editor] = useLexicalComposerContext();
|
|
2936
|
+
useEffect5(() => {
|
|
2937
|
+
editor.registerCommand(
|
|
2938
|
+
PASTE_COMMAND,
|
|
2939
|
+
(event) => {
|
|
2940
|
+
var _a;
|
|
2941
|
+
const selection = $getSelection();
|
|
2942
|
+
const pastedText = (_a = event.clipboardData) == null ? void 0 : _a.getData("text/plain");
|
|
2943
|
+
if (pastedText && transformPaste && $isRangeSelection(selection)) {
|
|
2944
|
+
const result = transformPaste(pastedText);
|
|
2945
|
+
if (result !== void 0) {
|
|
2946
|
+
selection.insertText(result);
|
|
2947
|
+
return true;
|
|
2948
|
+
}
|
|
2949
|
+
}
|
|
2950
|
+
return false;
|
|
2951
|
+
},
|
|
2952
|
+
COMMAND_PRIORITY_HIGH
|
|
2953
|
+
);
|
|
2954
|
+
}, [editor, transformPaste]);
|
|
2955
|
+
return null;
|
|
2956
|
+
}
|
|
2933
2957
|
|
|
2934
|
-
// src/components/Variables/styles/
|
|
2958
|
+
// src/components/Variables/styles/InputVariables.styles.ts
|
|
2935
2959
|
init_emotion_jsx_shim();
|
|
2936
2960
|
import { css as css18 } from "@emotion/react";
|
|
2961
|
+
var menuContainer = css18`
|
|
2962
|
+
position: relative;
|
|
2963
|
+
`;
|
|
2937
2964
|
var menuBtn = css18`
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2965
|
+
position: absolute;
|
|
2966
|
+
top: 50%;
|
|
2967
|
+
right: var(--spacing-sm);
|
|
2968
|
+
transform: translateY(-50%);
|
|
2942
2969
|
`;
|
|
2943
|
-
var
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2970
|
+
var input = css18`
|
|
2971
|
+
appearance: none;
|
|
2972
|
+
background-color: var(--white);
|
|
2973
|
+
border: 1px solid var(--gray-400);
|
|
2974
|
+
border-radius: var(--rounded-md);
|
|
2975
|
+
color: var(--gray-700);
|
|
2976
|
+
padding-block: var(--spacing-sm);
|
|
2977
|
+
padding-left: var(--spacing-base);
|
|
2978
|
+
padding-right: var(--spacing-lg);
|
|
2979
|
+
line-height: 2.5;
|
|
2980
|
+
width: 100%;
|
|
2981
|
+
position: relative;
|
|
2982
|
+
transition: background var(--duration-fast) var(--timing-ease-out),
|
|
2983
|
+
border-color var(--duration-fast) var(--timing-ease-out),
|
|
2984
|
+
color var(--duration-fast) var(--timing-ease-out);
|
|
2985
|
+
|
|
2986
|
+
&:focus,
|
|
2987
|
+
&:focus-within {
|
|
2988
|
+
border-color: var(--brand-secondary-1);
|
|
2989
|
+
box-shadow: none;
|
|
2990
|
+
outline: none;
|
|
2991
|
+
}
|
|
2992
|
+
|
|
2993
|
+
&:disabled,
|
|
2994
|
+
&:disabled::placeholder {
|
|
2995
|
+
cursor: not-allowed;
|
|
2996
|
+
color: var(--gray-300);
|
|
2997
|
+
border-color: var(--gray-300);
|
|
2998
|
+
}
|
|
2999
|
+
|
|
3000
|
+
> p {
|
|
3001
|
+
margin: 0;
|
|
3002
|
+
}
|
|
2947
3003
|
`;
|
|
2948
|
-
|
|
2949
|
-
|
|
3004
|
+
|
|
3005
|
+
// src/components/Variables/util/getReferencedVariables.ts
|
|
3006
|
+
init_emotion_jsx_shim();
|
|
3007
|
+
|
|
3008
|
+
// src/components/Variables/util/parseVariableExpression.ts
|
|
3009
|
+
init_emotion_jsx_shim();
|
|
3010
|
+
|
|
3011
|
+
// src/components/Variables/util/variableExpression.ts
|
|
3012
|
+
init_emotion_jsx_shim();
|
|
3013
|
+
var variablePrefix = "${";
|
|
3014
|
+
var variableSuffix = "}";
|
|
3015
|
+
|
|
3016
|
+
// src/components/Variables/util/parseVariableExpression.ts
|
|
3017
|
+
function parseVariableExpression(serialized, onToken) {
|
|
3018
|
+
let buf = [];
|
|
3019
|
+
let state = "text";
|
|
3020
|
+
for (let index = 0; index < serialized.length; index++) {
|
|
3021
|
+
const char = serialized[index];
|
|
3022
|
+
if (char === "$" && serialized.at(index + 1) === "{") {
|
|
3023
|
+
if (serialized.at(index - 1) === "\\") {
|
|
3024
|
+
buf.pop();
|
|
3025
|
+
buf.push(char);
|
|
3026
|
+
continue;
|
|
3027
|
+
}
|
|
3028
|
+
state = "variable";
|
|
3029
|
+
if (buf.length) {
|
|
3030
|
+
onToken(buf.join(""), "text");
|
|
3031
|
+
buf = [];
|
|
3032
|
+
}
|
|
3033
|
+
index++;
|
|
3034
|
+
continue;
|
|
3035
|
+
}
|
|
3036
|
+
if (char === "}" && state === "variable") {
|
|
3037
|
+
state = "text";
|
|
3038
|
+
if (buf.length) {
|
|
3039
|
+
onToken(buf.join(""), "variable");
|
|
3040
|
+
buf = [];
|
|
3041
|
+
}
|
|
3042
|
+
continue;
|
|
3043
|
+
}
|
|
3044
|
+
buf.push(char);
|
|
3045
|
+
}
|
|
3046
|
+
if (buf.length) {
|
|
3047
|
+
if (state === "variable") {
|
|
3048
|
+
state = "text";
|
|
3049
|
+
buf.unshift(variablePrefix);
|
|
3050
|
+
}
|
|
3051
|
+
onToken(buf.join(""), state);
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
3054
|
+
|
|
3055
|
+
// src/components/Variables/util/getReferencedVariables.ts
|
|
3056
|
+
function getReferencedVariables(value) {
|
|
3057
|
+
const result = [];
|
|
3058
|
+
parseVariableExpression(value, (token, type) => {
|
|
3059
|
+
if (type === "variable") {
|
|
3060
|
+
result.push(token);
|
|
3061
|
+
}
|
|
3062
|
+
});
|
|
3063
|
+
return result;
|
|
3064
|
+
}
|
|
3065
|
+
|
|
3066
|
+
// src/components/Variables/VariableField.tsx
|
|
3067
|
+
init_emotion_jsx_shim();
|
|
3068
|
+
|
|
3069
|
+
// src/components/Variables/styles/VariableField.styles.ts
|
|
3070
|
+
init_emotion_jsx_shim();
|
|
3071
|
+
import { css as css19 } from "@emotion/react";
|
|
3072
|
+
var labelText = css19`
|
|
3073
|
+
align-items: center;
|
|
3074
|
+
display: flex;
|
|
3075
|
+
gap: var(--spacing-xs);
|
|
3076
|
+
font-weight: var(--fw-regular);
|
|
3077
|
+
margin: 0 0 var(--spacing-xs);
|
|
2950
3078
|
`;
|
|
2951
|
-
var
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
3079
|
+
var variableBindButton = css19`
|
|
3080
|
+
align-items: center;
|
|
3081
|
+
border: none;
|
|
3082
|
+
border-radius: var(--rounded-base);
|
|
3083
|
+
background: none;
|
|
3084
|
+
display: flex;
|
|
3085
|
+
height: 1.2rem;
|
|
3086
|
+
padding: var(--spacing-2xs);
|
|
3087
|
+
transition: background var(--duration-fast) var(--timing-ease-out),
|
|
3088
|
+
color var(--duration-fast) var(--timing-ease-out);
|
|
3089
|
+
width: 1.2rem;
|
|
3090
|
+
|
|
3091
|
+
&:hover,
|
|
3092
|
+
&[aria-pressed='true']:not(:disabled) {
|
|
3093
|
+
background: var(--brand-secondary-3);
|
|
3094
|
+
color: var(--white);
|
|
3095
|
+
}
|
|
3096
|
+
|
|
3097
|
+
&[aria-disabled='true'] {
|
|
3098
|
+
background: none;
|
|
3099
|
+
color: currentColor;
|
|
3100
|
+
}
|
|
2955
3101
|
`;
|
|
2956
3102
|
|
|
3103
|
+
// src/components/Variables/VariablesComposerVariableMenu.tsx
|
|
3104
|
+
init_emotion_jsx_shim();
|
|
3105
|
+
import { useLexicalComposerContext as useLexicalComposerContext3 } from "@lexical/react/LexicalComposerContext";
|
|
3106
|
+
import { CLEAR_EDITOR_COMMAND } from "lexical";
|
|
3107
|
+
|
|
3108
|
+
// src/components/Variables/composer/VariablesPlugin.tsx
|
|
3109
|
+
init_emotion_jsx_shim();
|
|
3110
|
+
import { css as css21 } from "@emotion/react";
|
|
3111
|
+
import { useLexicalComposerContext as useLexicalComposerContext2 } from "@lexical/react/LexicalComposerContext";
|
|
3112
|
+
import {
|
|
3113
|
+
LexicalTypeaheadMenuPlugin,
|
|
3114
|
+
MenuOption
|
|
3115
|
+
} from "@lexical/react/LexicalTypeaheadMenuPlugin";
|
|
3116
|
+
import { Caption, MenuGroup, MenuItem as MenuItem2, MenuItemSeparator } from "@uniformdev/design-system";
|
|
3117
|
+
import { $insertNodes, $nodesOfType, COMMAND_PRIORITY_NORMAL, createCommand } from "lexical";
|
|
3118
|
+
import { useCallback, useEffect as useEffect7, useMemo as useMemo6, useState as useState8 } from "react";
|
|
3119
|
+
import { createPortal } from "react-dom";
|
|
3120
|
+
|
|
2957
3121
|
// src/components/Variables/useOnVariableUpdated.ts
|
|
2958
3122
|
init_emotion_jsx_shim();
|
|
2959
|
-
import { useEffect as
|
|
3123
|
+
import { useEffect as useEffect6 } from "react";
|
|
2960
3124
|
|
|
2961
3125
|
// src/components/Variables/VariablesProvider.tsx
|
|
2962
3126
|
init_emotion_jsx_shim();
|
|
@@ -2972,13 +3136,13 @@ import { z } from "zod";
|
|
|
2972
3136
|
|
|
2973
3137
|
// src/components/Variables/styles/VariableEditor.styles.ts
|
|
2974
3138
|
init_emotion_jsx_shim();
|
|
2975
|
-
import { css as
|
|
2976
|
-
var variablesFormContainer =
|
|
3139
|
+
import { css as css20 } from "@emotion/react";
|
|
3140
|
+
var variablesFormContainer = css20`
|
|
2977
3141
|
> * {
|
|
2978
3142
|
margin: var(--spacing-base) 0 0;
|
|
2979
3143
|
}
|
|
2980
3144
|
`;
|
|
2981
|
-
var variablesFormBtnGroup =
|
|
3145
|
+
var variablesFormBtnGroup = css20`
|
|
2982
3146
|
display: flex;
|
|
2983
3147
|
gap: var(--spacing-sm);
|
|
2984
3148
|
`;
|
|
@@ -3079,17 +3243,27 @@ function VariablesProvider({
|
|
|
3079
3243
|
value,
|
|
3080
3244
|
onChange,
|
|
3081
3245
|
editVariableComponent,
|
|
3246
|
+
readOnly,
|
|
3082
3247
|
children
|
|
3083
3248
|
}) {
|
|
3084
3249
|
const [editing, setEditing] = React10.useState();
|
|
3085
3250
|
const events = React10.useMemo(() => mitt(), []);
|
|
3251
|
+
if (!readOnly && !onChange) {
|
|
3252
|
+
throw new Error("onChange must be provided when readOnly is false");
|
|
3253
|
+
}
|
|
3086
3254
|
const Editor = editVariableComponent != null ? editVariableComponent : VariableEditor;
|
|
3087
3255
|
const contextValue = {
|
|
3088
3256
|
flatVariables: flattenVariables(value),
|
|
3089
3257
|
dispatch: (event) => {
|
|
3258
|
+
if (readOnly) {
|
|
3259
|
+
console.warn(
|
|
3260
|
+
`Received ignored mutation event in read-only variables context: ${JSON.stringify(event)}`
|
|
3261
|
+
);
|
|
3262
|
+
return;
|
|
3263
|
+
}
|
|
3090
3264
|
if (event.type === "set") {
|
|
3091
3265
|
const { name, ...varValue } = event.variable;
|
|
3092
|
-
onChange({ ...contextValue.variables, [event.variable.name]: varValue });
|
|
3266
|
+
onChange == null ? void 0 : onChange({ ...contextValue.variables, [event.variable.name]: varValue });
|
|
3093
3267
|
if (event.openEditor) {
|
|
3094
3268
|
setEditing(event.variable.name);
|
|
3095
3269
|
}
|
|
@@ -3098,9 +3272,9 @@ function VariablesProvider({
|
|
|
3098
3272
|
} else if (event.type === "remove") {
|
|
3099
3273
|
const newValue = { ...value };
|
|
3100
3274
|
delete newValue[event.variable];
|
|
3101
|
-
onChange(newValue);
|
|
3275
|
+
onChange == null ? void 0 : onChange(newValue);
|
|
3102
3276
|
} else if (event.type === "reorder") {
|
|
3103
|
-
onChange(event.result);
|
|
3277
|
+
onChange == null ? void 0 : onChange(event.result);
|
|
3104
3278
|
} else {
|
|
3105
3279
|
throw new Error(`Unknown event ${JSON.stringify(event)}`);
|
|
3106
3280
|
}
|
|
@@ -3118,7 +3292,7 @@ function VariablesProvider({
|
|
|
3118
3292
|
onSubmit: (val) => {
|
|
3119
3293
|
setEditing(void 0);
|
|
3120
3294
|
const { name, ...varValue } = val;
|
|
3121
|
-
onChange({ ...value, [name]: varValue });
|
|
3295
|
+
onChange == null ? void 0 : onChange({ ...value, [name]: varValue });
|
|
3122
3296
|
events.emit("update", name);
|
|
3123
3297
|
},
|
|
3124
3298
|
onCancel: () => setEditing(void 0),
|
|
@@ -3157,7 +3331,7 @@ function flattenVariables(variables) {
|
|
|
3157
3331
|
// src/components/Variables/useOnVariableUpdated.ts
|
|
3158
3332
|
function useOnVariableUpdated(fn2, disabled) {
|
|
3159
3333
|
const { variables, events } = useVariables();
|
|
3160
|
-
|
|
3334
|
+
useEffect6(() => {
|
|
3161
3335
|
if (disabled) {
|
|
3162
3336
|
return;
|
|
3163
3337
|
}
|
|
@@ -3166,6 +3340,9 @@ function useOnVariableUpdated(fn2, disabled) {
|
|
|
3166
3340
|
}, [disabled, events, fn2, variables]);
|
|
3167
3341
|
}
|
|
3168
3342
|
|
|
3343
|
+
// src/components/Variables/variablesToGroupedList.ts
|
|
3344
|
+
init_emotion_jsx_shim();
|
|
3345
|
+
|
|
3169
3346
|
// src/components/Variables/variablesToList.ts
|
|
3170
3347
|
init_emotion_jsx_shim();
|
|
3171
3348
|
function variablesToList(variables) {
|
|
@@ -3185,8 +3362,392 @@ function variablesToList(variables) {
|
|
|
3185
3362
|
}));
|
|
3186
3363
|
}
|
|
3187
3364
|
|
|
3365
|
+
// src/components/Variables/variablesToGroupedList.ts
|
|
3366
|
+
function variablesToGroupedList(variables) {
|
|
3367
|
+
const groups = {};
|
|
3368
|
+
Object.entries(variables || {}).forEach(([name, definition]) => {
|
|
3369
|
+
var _a;
|
|
3370
|
+
const group = (_a = definition.source) != null ? _a : "";
|
|
3371
|
+
if (!groups[group]) {
|
|
3372
|
+
groups[group] = {};
|
|
3373
|
+
}
|
|
3374
|
+
groups[group][name] = definition;
|
|
3375
|
+
});
|
|
3376
|
+
return Object.entries(groups).map(([group, variables2]) => ({
|
|
3377
|
+
name: group,
|
|
3378
|
+
variables: variablesToList(variables2)
|
|
3379
|
+
})).sort((a2, b2) => {
|
|
3380
|
+
var _a, _b;
|
|
3381
|
+
return ((_a = a2.name) != null ? _a : "").localeCompare((_b = b2.name) != null ? _b : "");
|
|
3382
|
+
});
|
|
3383
|
+
}
|
|
3384
|
+
|
|
3385
|
+
// src/components/Variables/composer/VariableNode.tsx
|
|
3386
|
+
init_emotion_jsx_shim();
|
|
3387
|
+
import { Chip } from "@uniformdev/design-system";
|
|
3388
|
+
import { DecoratorNode } from "lexical";
|
|
3389
|
+
import { Fragment as Fragment4 } from "react";
|
|
3390
|
+
import { jsx as jsx30 } from "@emotion/react/jsx-runtime";
|
|
3391
|
+
var VariableNode = class extends DecoratorNode {
|
|
3392
|
+
constructor(reference, state, key) {
|
|
3393
|
+
super(key);
|
|
3394
|
+
this.reference = reference;
|
|
3395
|
+
this.__state = state;
|
|
3396
|
+
}
|
|
3397
|
+
static getType() {
|
|
3398
|
+
return "variable";
|
|
3399
|
+
}
|
|
3400
|
+
static clone(node) {
|
|
3401
|
+
return new VariableNode(node.reference, { ...node.__state }, node.__key);
|
|
3402
|
+
}
|
|
3403
|
+
/** Imports the node from serialized JSON (i.e. the data provided to the editor's initial state) */
|
|
3404
|
+
static importJSON(serializedNode) {
|
|
3405
|
+
return $createVariableNode(serializedNode.reference, {
|
|
3406
|
+
displayName: serializedNode.reference,
|
|
3407
|
+
referenceIsValid: true,
|
|
3408
|
+
hasClickEvent: void 0
|
|
3409
|
+
});
|
|
3410
|
+
}
|
|
3411
|
+
/**
|
|
3412
|
+
* Updates the node's variables state so it knows its current validity, display name, etc
|
|
3413
|
+
* The plugin updates this whenever the variables prop changes.
|
|
3414
|
+
*/
|
|
3415
|
+
setState(state) {
|
|
3416
|
+
this.getWritable().__state = state;
|
|
3417
|
+
}
|
|
3418
|
+
/**
|
|
3419
|
+
* Serializes the node to JSON for editor initial state
|
|
3420
|
+
*/
|
|
3421
|
+
exportJSON() {
|
|
3422
|
+
return {
|
|
3423
|
+
reference: this.reference,
|
|
3424
|
+
type: VariableNode.getType(),
|
|
3425
|
+
version: 1
|
|
3426
|
+
};
|
|
3427
|
+
}
|
|
3428
|
+
/**
|
|
3429
|
+
* Copy variable to clipboard in a format we will read back if pasted
|
|
3430
|
+
* (albeit it won't get the fancy chip-node)
|
|
3431
|
+
*/
|
|
3432
|
+
getTextContent() {
|
|
3433
|
+
return `\${${this.reference}}`;
|
|
3434
|
+
}
|
|
3435
|
+
/** Creates the DOM wrapper that hosts the node */
|
|
3436
|
+
createDOM() {
|
|
3437
|
+
return document.createElement("span");
|
|
3438
|
+
}
|
|
3439
|
+
updateDOM() {
|
|
3440
|
+
return false;
|
|
3441
|
+
}
|
|
3442
|
+
/**
|
|
3443
|
+
* Render the variable node using React.
|
|
3444
|
+
* NOTE: this is effectively an island of React, and you may not call hooks,
|
|
3445
|
+
* rely on Context, etc in this renderer.
|
|
3446
|
+
*/
|
|
3447
|
+
decorate(editor) {
|
|
3448
|
+
const { displayName, hasClickEvent, referenceIsValid } = this.__state;
|
|
3449
|
+
const Wrapper = referenceIsValid ? Fragment4 : UndefinedVariableReference;
|
|
3450
|
+
return /* @__PURE__ */ jsx30(
|
|
3451
|
+
Chip,
|
|
3452
|
+
{
|
|
3453
|
+
text: /* @__PURE__ */ jsx30(Wrapper, { children: displayName || this.reference }),
|
|
3454
|
+
title: !referenceIsValid ? `${this.reference} is not defined.` : hasClickEvent ? "Click to edit" : void 0,
|
|
3455
|
+
onClick: () => {
|
|
3456
|
+
editor.dispatchCommand(EDIT_VARIABLE_COMMAND, {
|
|
3457
|
+
reference: this.reference
|
|
3458
|
+
});
|
|
3459
|
+
}
|
|
3460
|
+
}
|
|
3461
|
+
);
|
|
3462
|
+
}
|
|
3463
|
+
/** Enables keyboard navigation to hop over the node to previous text */
|
|
3464
|
+
isIsolated() {
|
|
3465
|
+
return true;
|
|
3466
|
+
}
|
|
3467
|
+
};
|
|
3468
|
+
function $createVariableNode(variableReference, state) {
|
|
3469
|
+
return new VariableNode(variableReference, state);
|
|
3470
|
+
}
|
|
3471
|
+
function UndefinedVariableReference({ children }) {
|
|
3472
|
+
return /* @__PURE__ */ jsx30(
|
|
3473
|
+
"span",
|
|
3474
|
+
{
|
|
3475
|
+
style: {
|
|
3476
|
+
textDecoration: "underline",
|
|
3477
|
+
textDecorationStyle: "wavy",
|
|
3478
|
+
textDecorationColor: "red"
|
|
3479
|
+
},
|
|
3480
|
+
children
|
|
3481
|
+
}
|
|
3482
|
+
);
|
|
3483
|
+
}
|
|
3484
|
+
|
|
3485
|
+
// src/components/Variables/composer/VariablesPlugin.tsx
|
|
3486
|
+
import { jsx as jsx31, jsxs as jsxs18 } from "@emotion/react/jsx-runtime";
|
|
3487
|
+
var EDIT_VARIABLE_COMMAND = createCommand("uniform:edit-variable");
|
|
3488
|
+
var INSERT_VARIABLE_COMMAND = createCommand("uniform:insert-variable");
|
|
3489
|
+
var PUNCTUATION = `\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'"~=<>_:;`;
|
|
3490
|
+
var NAME = "\\b[A-Z][^\\s" + PUNCTUATION + "]";
|
|
3491
|
+
var DocumentVariablesRegex = {
|
|
3492
|
+
NAME,
|
|
3493
|
+
PUNCTUATION
|
|
3494
|
+
};
|
|
3495
|
+
var PUNC = DocumentVariablesRegex.PUNCTUATION;
|
|
3496
|
+
var TRIGGERS = ["$"].join("");
|
|
3497
|
+
var VALID_CHARS = "[^" + TRIGGERS + PUNC + "\\s]";
|
|
3498
|
+
var VALID_JOINS = "(?:\\.[ |$]| |[" + PUNC + "]|)";
|
|
3499
|
+
var LENGTH_LIMIT = 75;
|
|
3500
|
+
var DollarSignVariablesRegex = new RegExp(
|
|
3501
|
+
"(^.*)([" + TRIGGERS + "]((?:" + VALID_CHARS + VALID_JOINS + "){0," + LENGTH_LIMIT + "}))$"
|
|
3502
|
+
);
|
|
3503
|
+
function getPossibleQueryMatch(text) {
|
|
3504
|
+
const match = DollarSignVariablesRegex.exec(text);
|
|
3505
|
+
if (match !== null) {
|
|
3506
|
+
const maybeLeadingWhitespace = match[1];
|
|
3507
|
+
const matchingString = match[3];
|
|
3508
|
+
return {
|
|
3509
|
+
leadOffset: match.index + maybeLeadingWhitespace.length,
|
|
3510
|
+
matchingString,
|
|
3511
|
+
replaceableString: match[2]
|
|
3512
|
+
};
|
|
3513
|
+
}
|
|
3514
|
+
return null;
|
|
3515
|
+
}
|
|
3516
|
+
var ADD_VARIABLE_OPTION = "$$add-variable$$";
|
|
3517
|
+
var SOURCE_SEPARATOR = "--";
|
|
3518
|
+
function VariablesPlugin({
|
|
3519
|
+
disableVariables,
|
|
3520
|
+
showAddVariableMenuOption,
|
|
3521
|
+
enableEditingVariables
|
|
3522
|
+
}) {
|
|
3523
|
+
const [editor] = useLexicalComposerContext2();
|
|
3524
|
+
const { variables, dispatch, isEditing, canDispatch, readOnly } = useVariables();
|
|
3525
|
+
const canEditVariable = canDispatch && enableEditingVariables && !readOnly;
|
|
3526
|
+
const [openedAdd, setOpenedAdd] = useState8(false);
|
|
3527
|
+
useOnVariableUpdated((varName) => {
|
|
3528
|
+
editor.update(() => {
|
|
3529
|
+
editor.dispatchCommand(INSERT_VARIABLE_COMMAND, { reference: varName });
|
|
3530
|
+
});
|
|
3531
|
+
}, !openedAdd);
|
|
3532
|
+
useEffect7(() => {
|
|
3533
|
+
if (openedAdd && !isEditing) {
|
|
3534
|
+
setOpenedAdd(false);
|
|
3535
|
+
}
|
|
3536
|
+
}, [isEditing, openedAdd]);
|
|
3537
|
+
const [queryString, setQueryString] = useState8(null);
|
|
3538
|
+
const { groupedVariables, menuOptions } = useMemo6(() => {
|
|
3539
|
+
const groupedVariables2 = variablesToGroupedList(variables);
|
|
3540
|
+
if (showAddVariableMenuOption) {
|
|
3541
|
+
groupedVariables2.push({
|
|
3542
|
+
name: SOURCE_SEPARATOR,
|
|
3543
|
+
variables: [{ name: ADD_VARIABLE_OPTION, displayName: "Add\u2026", default: "" }]
|
|
3544
|
+
});
|
|
3545
|
+
}
|
|
3546
|
+
const menuOptions2 = [];
|
|
3547
|
+
groupedVariables2.forEach(
|
|
3548
|
+
(group) => group.variables.forEach((variable) => {
|
|
3549
|
+
menuOptions2.push(new MenuOption(variable.name));
|
|
3550
|
+
})
|
|
3551
|
+
);
|
|
3552
|
+
return { menuOptions: menuOptions2, groupedVariables: groupedVariables2 };
|
|
3553
|
+
}, [variables, showAddVariableMenuOption]);
|
|
3554
|
+
const { filteredGroupedVariables, filteredMenuOptions } = useMemo6(() => {
|
|
3555
|
+
if (!queryString) {
|
|
3556
|
+
return {
|
|
3557
|
+
filteredGroupedVariables: groupedVariables,
|
|
3558
|
+
filteredMenuOptions: menuOptions
|
|
3559
|
+
};
|
|
3560
|
+
}
|
|
3561
|
+
const query = queryString.toLowerCase();
|
|
3562
|
+
return {
|
|
3563
|
+
filteredGroupedVariables: groupedVariables.map((group) => ({
|
|
3564
|
+
name: group.name,
|
|
3565
|
+
variables: group.variables.filter(
|
|
3566
|
+
(option) => option.name.toLowerCase().includes(query) || option.name === ADD_VARIABLE_OPTION
|
|
3567
|
+
)
|
|
3568
|
+
})).filter((group) => group.variables.length > 0),
|
|
3569
|
+
filteredMenuOptions: menuOptions.filter(
|
|
3570
|
+
(option) => option.key.includes(query) || option.key === ADD_VARIABLE_OPTION
|
|
3571
|
+
)
|
|
3572
|
+
};
|
|
3573
|
+
}, [queryString, groupedVariables, menuOptions]);
|
|
3574
|
+
const onSelectOption = useCallback(
|
|
3575
|
+
(selectedOption, nodeToReplace, closeMenu) => {
|
|
3576
|
+
if (selectedOption.key === ADD_VARIABLE_OPTION) {
|
|
3577
|
+
setOpenedAdd(true);
|
|
3578
|
+
editor.update(() => {
|
|
3579
|
+
nodeToReplace == null ? void 0 : nodeToReplace.remove();
|
|
3580
|
+
});
|
|
3581
|
+
editor.dispatchCommand(EDIT_VARIABLE_COMMAND, {
|
|
3582
|
+
reference: queryString != null ? queryString : ""
|
|
3583
|
+
});
|
|
3584
|
+
} else {
|
|
3585
|
+
editor.update(() => {
|
|
3586
|
+
var _a;
|
|
3587
|
+
const variableNode = $createVariableNode(selectedOption.key, {
|
|
3588
|
+
displayName: ((_a = variables[selectedOption.key]) == null ? void 0 : _a.displayName) || selectedOption.key,
|
|
3589
|
+
hasClickEvent: canEditVariable,
|
|
3590
|
+
referenceIsValid: Boolean(variables[selectedOption.key])
|
|
3591
|
+
});
|
|
3592
|
+
if (nodeToReplace) {
|
|
3593
|
+
nodeToReplace.replace(variableNode);
|
|
3594
|
+
}
|
|
3595
|
+
});
|
|
3596
|
+
}
|
|
3597
|
+
closeMenu();
|
|
3598
|
+
},
|
|
3599
|
+
[editor, queryString, variables, canEditVariable]
|
|
3600
|
+
);
|
|
3601
|
+
useEffect7(() => {
|
|
3602
|
+
editor.registerCommand(
|
|
3603
|
+
EDIT_VARIABLE_COMMAND,
|
|
3604
|
+
({ reference }) => {
|
|
3605
|
+
if (!disableVariables && canEditVariable) {
|
|
3606
|
+
dispatch({ type: "edit", variable: reference });
|
|
3607
|
+
}
|
|
3608
|
+
return true;
|
|
3609
|
+
},
|
|
3610
|
+
COMMAND_PRIORITY_NORMAL
|
|
3611
|
+
);
|
|
3612
|
+
editor.registerCommand(
|
|
3613
|
+
INSERT_VARIABLE_COMMAND,
|
|
3614
|
+
({ reference }) => {
|
|
3615
|
+
var _a;
|
|
3616
|
+
if (!disableVariables) {
|
|
3617
|
+
const variableNode = $createVariableNode(reference, {
|
|
3618
|
+
displayName: ((_a = variables[reference]) == null ? void 0 : _a.displayName) || reference,
|
|
3619
|
+
hasClickEvent: canEditVariable,
|
|
3620
|
+
referenceIsValid: Boolean(variables[reference])
|
|
3621
|
+
});
|
|
3622
|
+
$insertNodes([variableNode]);
|
|
3623
|
+
}
|
|
3624
|
+
return true;
|
|
3625
|
+
},
|
|
3626
|
+
COMMAND_PRIORITY_NORMAL
|
|
3627
|
+
);
|
|
3628
|
+
}, [editor, disableVariables, variables, canDispatch, dispatch, canEditVariable, readOnly]);
|
|
3629
|
+
useEffect7(() => {
|
|
3630
|
+
editor.update(() => {
|
|
3631
|
+
$nodesOfType(VariableNode).forEach((variableNode) => {
|
|
3632
|
+
const targetVar = variables[variableNode.reference];
|
|
3633
|
+
variableNode.setState({
|
|
3634
|
+
displayName: (targetVar == null ? void 0 : targetVar.displayName) || variableNode.reference,
|
|
3635
|
+
hasClickEvent: canEditVariable,
|
|
3636
|
+
referenceIsValid: Boolean(targetVar)
|
|
3637
|
+
});
|
|
3638
|
+
});
|
|
3639
|
+
});
|
|
3640
|
+
}, [editor, variables, canEditVariable]);
|
|
3641
|
+
if (disableVariables) {
|
|
3642
|
+
return null;
|
|
3643
|
+
}
|
|
3644
|
+
return /* @__PURE__ */ jsx31(
|
|
3645
|
+
LexicalTypeaheadMenuPlugin,
|
|
3646
|
+
{
|
|
3647
|
+
onQueryChange: setQueryString,
|
|
3648
|
+
onSelectOption,
|
|
3649
|
+
triggerFn: getPossibleQueryMatch,
|
|
3650
|
+
options: filteredMenuOptions,
|
|
3651
|
+
menuRenderFn: (anchorElementRef, { selectOptionAndCleanUp, setHighlightedIndex, selectedIndex }) => {
|
|
3652
|
+
if (!anchorElementRef.current || groupedVariables.length === 0 || openedAdd) {
|
|
3653
|
+
return null;
|
|
3654
|
+
}
|
|
3655
|
+
let currentCumulativeMenuIndex = -1;
|
|
3656
|
+
return createPortal(
|
|
3657
|
+
/* @__PURE__ */ jsx31(
|
|
3658
|
+
"div",
|
|
3659
|
+
{
|
|
3660
|
+
css: css21`
|
|
3661
|
+
box-shadow: var(--shadow-base);
|
|
3662
|
+
border-radius: var(--rounded-base);
|
|
3663
|
+
background: var(--gray-50);
|
|
3664
|
+
display: flex;
|
|
3665
|
+
flex-direction: column;
|
|
3666
|
+
min-width: 250px;
|
|
3667
|
+
padding: var(--spacing-sm);
|
|
3668
|
+
outline: none;
|
|
3669
|
+
overflow: hidden;
|
|
3670
|
+
position: relative;
|
|
3671
|
+
z-index: var(--z-50);
|
|
3672
|
+
`,
|
|
3673
|
+
children: /* @__PURE__ */ jsx31("div", { children: filteredGroupedVariables.map((group, index) => {
|
|
3674
|
+
var _a, _b;
|
|
3675
|
+
return /* @__PURE__ */ jsxs18(
|
|
3676
|
+
MenuGroup,
|
|
3677
|
+
{
|
|
3678
|
+
title: group.name === SOURCE_SEPARATOR ? "" : (_a = group.name) != null ? _a : "",
|
|
3679
|
+
children: [
|
|
3680
|
+
group.name === SOURCE_SEPARATOR ? /* @__PURE__ */ jsx31(MenuItemSeparator, {}) : null,
|
|
3681
|
+
group.variables.map((variable) => {
|
|
3682
|
+
var _a2;
|
|
3683
|
+
currentCumulativeMenuIndex++;
|
|
3684
|
+
return /* @__PURE__ */ jsxs18(
|
|
3685
|
+
MenuItem2,
|
|
3686
|
+
{
|
|
3687
|
+
active: selectedIndex === currentCumulativeMenuIndex,
|
|
3688
|
+
onClick: () => {
|
|
3689
|
+
setHighlightedIndex(currentCumulativeMenuIndex);
|
|
3690
|
+
selectOptionAndCleanUp(new MenuOption(variable.name));
|
|
3691
|
+
},
|
|
3692
|
+
onMouseEnter: () => {
|
|
3693
|
+
setHighlightedIndex(currentCumulativeMenuIndex);
|
|
3694
|
+
},
|
|
3695
|
+
children: [
|
|
3696
|
+
/* @__PURE__ */ jsx31("div", { children: (_a2 = variable.displayName) != null ? _a2 : variable.name }),
|
|
3697
|
+
variable.helpText ? /* @__PURE__ */ jsx31(Caption, { children: variable.helpText }) : null
|
|
3698
|
+
]
|
|
3699
|
+
},
|
|
3700
|
+
variable.name
|
|
3701
|
+
);
|
|
3702
|
+
})
|
|
3703
|
+
]
|
|
3704
|
+
},
|
|
3705
|
+
(_b = group.name) != null ? _b : `none${index}`
|
|
3706
|
+
);
|
|
3707
|
+
}) })
|
|
3708
|
+
}
|
|
3709
|
+
),
|
|
3710
|
+
anchorElementRef.current
|
|
3711
|
+
);
|
|
3712
|
+
}
|
|
3713
|
+
}
|
|
3714
|
+
);
|
|
3715
|
+
}
|
|
3716
|
+
|
|
3717
|
+
// src/components/Variables/SelectVariableMenu.tsx
|
|
3718
|
+
init_emotion_jsx_shim();
|
|
3719
|
+
import { Menu as Menu2, MenuGroup as MenuGroup2, MenuItem as MenuItem3, MenuItemSeparator as MenuItemSeparator2 } from "@uniformdev/design-system";
|
|
3720
|
+
import { useEffect as useEffect8, useRef as useRef8, useState as useState9 } from "react";
|
|
3721
|
+
import { CgUsbC } from "react-icons/cg";
|
|
3722
|
+
|
|
3723
|
+
// src/components/Variables/styles/InsertVariableMenu.styles.ts
|
|
3724
|
+
init_emotion_jsx_shim();
|
|
3725
|
+
import { css as css22 } from "@emotion/react";
|
|
3726
|
+
var menuBtn2 = css22`
|
|
3727
|
+
background: none;
|
|
3728
|
+
border: none;
|
|
3729
|
+
color: var(--gray-500);
|
|
3730
|
+
padding: 0;
|
|
3731
|
+
`;
|
|
3732
|
+
var menuItemTextGroup = css22`
|
|
3733
|
+
align-items: flex-start;
|
|
3734
|
+
display: flex;
|
|
3735
|
+
flex-direction: column;
|
|
3736
|
+
gap: 0;
|
|
3737
|
+
line-height: 1em;
|
|
3738
|
+
`;
|
|
3739
|
+
var smallText = css22`
|
|
3740
|
+
font-size: var(--fs-xs);
|
|
3741
|
+
color: var(--gray-500);
|
|
3742
|
+
`;
|
|
3743
|
+
var variablesTipText = css22`
|
|
3744
|
+
${smallText}
|
|
3745
|
+
color: var(--gray-500);
|
|
3746
|
+
padding: 0 var(--spacing-sm);
|
|
3747
|
+
`;
|
|
3748
|
+
|
|
3188
3749
|
// src/components/Variables/SelectVariableMenu.tsx
|
|
3189
|
-
import { Fragment as
|
|
3750
|
+
import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs19 } from "@emotion/react/jsx-runtime";
|
|
3190
3751
|
var SelectVariableMenu = ({
|
|
3191
3752
|
onSelectVariable,
|
|
3192
3753
|
onResetVariables,
|
|
@@ -3198,167 +3759,102 @@ var SelectVariableMenu = ({
|
|
|
3198
3759
|
}) => {
|
|
3199
3760
|
const { variables, dispatch, isEditing, canDispatch } = useVariables();
|
|
3200
3761
|
const btnRef = useRef8(null);
|
|
3201
|
-
const [openedAdd, setOpenedAdd] =
|
|
3762
|
+
const [openedAdd, setOpenedAdd] = useState9(false);
|
|
3202
3763
|
useOnVariableUpdated((varName) => {
|
|
3203
3764
|
onSelectVariable == null ? void 0 : onSelectVariable({ name: varName, default: "" });
|
|
3204
3765
|
}, !openedAdd);
|
|
3205
|
-
|
|
3766
|
+
useEffect8(() => {
|
|
3206
3767
|
if (openedAdd && !isEditing) {
|
|
3207
3768
|
setOpenedAdd(false);
|
|
3208
3769
|
}
|
|
3209
3770
|
}, [isEditing, openedAdd]);
|
|
3210
|
-
const
|
|
3771
|
+
const variablesGroups = variablesToGroupedList(variables);
|
|
3211
3772
|
const menuHasVariableOptions = Object.entries(variables).length || showAddVariableMenuOption;
|
|
3212
|
-
return /* @__PURE__ */
|
|
3773
|
+
return /* @__PURE__ */ jsxs19(
|
|
3213
3774
|
Menu2,
|
|
3214
3775
|
{
|
|
3215
3776
|
placement: "bottom-start",
|
|
3216
3777
|
forceVisible,
|
|
3217
|
-
menuTrigger: /* @__PURE__ */
|
|
3778
|
+
menuTrigger: /* @__PURE__ */ jsx32(
|
|
3218
3779
|
"button",
|
|
3219
3780
|
{
|
|
3220
3781
|
title: "Insert variable",
|
|
3221
3782
|
...buttonProps,
|
|
3222
3783
|
ref: btnRef,
|
|
3223
|
-
css: [
|
|
3784
|
+
css: [menuBtn2, buttonCss],
|
|
3224
3785
|
type: "button",
|
|
3225
|
-
children: /* @__PURE__ */
|
|
3786
|
+
children: /* @__PURE__ */ jsx32(CgUsbC, { size: "1.4rem" })
|
|
3226
3787
|
}
|
|
3227
3788
|
),
|
|
3228
3789
|
menuLabel: "Insert variable",
|
|
3229
3790
|
children: [
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
return /* @__PURE__ */
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3791
|
+
variablesGroups.map((group) => {
|
|
3792
|
+
var _a;
|
|
3793
|
+
return /* @__PURE__ */ jsx32(MenuGroup2, { title: (_a = group.name) != null ? _a : "", children: group.variables.map((variable) => {
|
|
3794
|
+
const { name, helpText } = variable;
|
|
3795
|
+
return /* @__PURE__ */ jsxs19(
|
|
3796
|
+
MenuItem3,
|
|
3797
|
+
{
|
|
3798
|
+
id: name,
|
|
3799
|
+
css: menuItemTextGroup,
|
|
3800
|
+
onClick: () => onSelectVariable == null ? void 0 : onSelectVariable(variable),
|
|
3801
|
+
children: [
|
|
3802
|
+
/* @__PURE__ */ jsx32("span", { children: name }),
|
|
3803
|
+
helpText ? /* @__PURE__ */ jsx32("small", { css: smallText, children: helpText }) : null
|
|
3804
|
+
]
|
|
3805
|
+
},
|
|
3806
|
+
name
|
|
3807
|
+
);
|
|
3808
|
+
}) }, group.name);
|
|
3245
3809
|
}),
|
|
3246
|
-
showAddVariableMenuOption && canDispatch ? /* @__PURE__ */
|
|
3247
|
-
|
|
3248
|
-
/* @__PURE__ */
|
|
3249
|
-
|
|
3810
|
+
showAddVariableMenuOption && canDispatch ? /* @__PURE__ */ jsxs19(Fragment5, { children: [
|
|
3811
|
+
variablesGroups.length ? /* @__PURE__ */ jsx32(MenuItemSeparator2, {}) : null,
|
|
3812
|
+
/* @__PURE__ */ jsx32(
|
|
3813
|
+
MenuItem3,
|
|
3250
3814
|
{
|
|
3251
3815
|
onClick: () => {
|
|
3252
3816
|
setOpenedAdd(true);
|
|
3253
3817
|
dispatch({ type: "edit", variable: "" });
|
|
3254
3818
|
},
|
|
3255
|
-
children: "Add
|
|
3819
|
+
children: "Add\u2026"
|
|
3256
3820
|
}
|
|
3257
3821
|
)
|
|
3258
3822
|
] }) : null,
|
|
3259
|
-
menuHasVariableOptions && onResetVariables ? /* @__PURE__ */
|
|
3260
|
-
onResetVariables ? /* @__PURE__ */
|
|
3261
|
-
tip && (menuHasVariableOptions || onResetVariables) ? /* @__PURE__ */
|
|
3262
|
-
tip ? /* @__PURE__ */
|
|
3823
|
+
menuHasVariableOptions && onResetVariables ? /* @__PURE__ */ jsx32(MenuItemSeparator2, {}) : null,
|
|
3824
|
+
onResetVariables ? /* @__PURE__ */ jsx32(MenuItem3, { onClick: onResetVariables, css: { color: "var(--brand-secondary-5)" }, children: "Reset" }) : null,
|
|
3825
|
+
tip && (menuHasVariableOptions || onResetVariables) ? /* @__PURE__ */ jsx32(MenuItemSeparator2, {}) : null,
|
|
3826
|
+
tip ? /* @__PURE__ */ jsx32("i", { css: variablesTipText, children: tip }) : null
|
|
3263
3827
|
]
|
|
3264
3828
|
}
|
|
3265
3829
|
);
|
|
3266
3830
|
};
|
|
3267
3831
|
|
|
3268
|
-
// src/components/Variables/
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
const result = [];
|
|
3292
|
-
for (const match of value.matchAll(variableExpression)) {
|
|
3293
|
-
result.push(match[1]);
|
|
3294
|
-
}
|
|
3295
|
-
return result;
|
|
3296
|
-
}
|
|
3297
|
-
|
|
3298
|
-
// src/components/Variables/util/insertVariableIntoText.ts
|
|
3299
|
-
init_emotion_jsx_shim();
|
|
3300
|
-
function insertVariableIntoText({
|
|
3301
|
-
variableName: variableName2,
|
|
3302
|
-
value,
|
|
3303
|
-
selectionStart = null,
|
|
3304
|
-
selectionEnd = null
|
|
3305
|
-
}) {
|
|
3306
|
-
const variableExpression2 = `${variablePrefix}${variableName2}${variableSuffix}`;
|
|
3307
|
-
if (selectionStart !== null && selectionEnd !== null && selectionStart !== selectionEnd) {
|
|
3308
|
-
return `${value.substring(0, selectionStart)}${variableExpression2}${value.substring(selectionEnd)}`;
|
|
3309
|
-
}
|
|
3310
|
-
const hasCursorPosition = selectionStart !== null;
|
|
3311
|
-
let startOffset = 0;
|
|
3312
|
-
if (hasCursorPosition && value.substring(selectionStart - variablePrefix.length, selectionStart) === variablePrefix) {
|
|
3313
|
-
startOffset = variablePrefix.length;
|
|
3314
|
-
}
|
|
3315
|
-
if (hasCursorPosition) {
|
|
3316
|
-
return `${value.substring(0, selectionStart - startOffset)}${variableExpression2}${value.substring(
|
|
3317
|
-
selectionStart
|
|
3318
|
-
)}`;
|
|
3319
|
-
}
|
|
3320
|
-
return `${value}${variableExpression2}`;
|
|
3321
|
-
}
|
|
3322
|
-
|
|
3323
|
-
// src/components/Variables/VariableField.tsx
|
|
3324
|
-
init_emotion_jsx_shim();
|
|
3325
|
-
|
|
3326
|
-
// src/components/Variables/styles/VariableField.styles.ts
|
|
3327
|
-
init_emotion_jsx_shim();
|
|
3328
|
-
import { css as css21 } from "@emotion/react";
|
|
3329
|
-
var labelText = css21`
|
|
3330
|
-
align-items: center;
|
|
3331
|
-
display: flex;
|
|
3332
|
-
gap: var(--spacing-xs);
|
|
3333
|
-
font-weight: var(--fw-regular);
|
|
3334
|
-
margin: 0 0 var(--spacing-xs);
|
|
3335
|
-
`;
|
|
3336
|
-
var variableBindButton = css21`
|
|
3337
|
-
align-items: center;
|
|
3338
|
-
border: none;
|
|
3339
|
-
border-radius: var(--rounded-base);
|
|
3340
|
-
background: none;
|
|
3341
|
-
display: flex;
|
|
3342
|
-
height: 1.2rem;
|
|
3343
|
-
padding: var(--spacing-2xs);
|
|
3344
|
-
transition: background var(--duration-fast) var(--timing-ease-out),
|
|
3345
|
-
color var(--duration-fast) var(--timing-ease-out);
|
|
3346
|
-
width: 1.2rem;
|
|
3347
|
-
|
|
3348
|
-
&:hover,
|
|
3349
|
-
&[aria-pressed='true']:not(:disabled) {
|
|
3350
|
-
background: var(--brand-secondary-3);
|
|
3351
|
-
color: var(--white);
|
|
3352
|
-
}
|
|
3353
|
-
|
|
3354
|
-
&[aria-disabled='true'] {
|
|
3355
|
-
background: none;
|
|
3356
|
-
color: currentColor;
|
|
3357
|
-
}
|
|
3358
|
-
`;
|
|
3832
|
+
// src/components/Variables/VariablesComposerVariableMenu.tsx
|
|
3833
|
+
import { jsx as jsx33 } from "@emotion/react/jsx-runtime";
|
|
3834
|
+
var VariablesComposerVariableMenu = (props) => {
|
|
3835
|
+
const [editor] = useLexicalComposerContext3();
|
|
3836
|
+
const onSelectVariable = (selectedVariable) => {
|
|
3837
|
+
editor.dispatchCommand(INSERT_VARIABLE_COMMAND, {
|
|
3838
|
+
reference: selectedVariable.name
|
|
3839
|
+
});
|
|
3840
|
+
};
|
|
3841
|
+
const onResetVariable = () => {
|
|
3842
|
+
var _a;
|
|
3843
|
+
editor.dispatchCommand(CLEAR_EDITOR_COMMAND, void 0);
|
|
3844
|
+
(_a = props.onResetVariables) == null ? void 0 : _a.call(props);
|
|
3845
|
+
};
|
|
3846
|
+
return /* @__PURE__ */ jsx33(
|
|
3847
|
+
SelectVariableMenu,
|
|
3848
|
+
{
|
|
3849
|
+
...props,
|
|
3850
|
+
onSelectVariable,
|
|
3851
|
+
onResetVariables: props.onResetVariables ? onResetVariable : void 0
|
|
3852
|
+
}
|
|
3853
|
+
);
|
|
3854
|
+
};
|
|
3359
3855
|
|
|
3360
3856
|
// src/components/Variables/VariableField.tsx
|
|
3361
|
-
import { jsx as
|
|
3857
|
+
import { jsx as jsx34, jsxs as jsxs20 } from "@emotion/react/jsx-runtime";
|
|
3362
3858
|
function VariableField({
|
|
3363
3859
|
label,
|
|
3364
3860
|
selectVariableMenuOptions,
|
|
@@ -3369,25 +3865,194 @@ function VariableField({
|
|
|
3369
3865
|
}) {
|
|
3370
3866
|
const { variables } = useVariables(true);
|
|
3371
3867
|
const varCount = Object.keys(variables).length;
|
|
3372
|
-
const variableSelector = varCount > 0 &&
|
|
3373
|
-
|
|
3868
|
+
const variableSelector = varCount > 0 && !disableVariables ? /* @__PURE__ */ jsx34(
|
|
3869
|
+
VariablesComposerVariableMenu,
|
|
3374
3870
|
{
|
|
3375
3871
|
...selectVariableMenuOptions,
|
|
3376
3872
|
buttonCss: [variableBindButton, selectVariableMenuOptions == null ? void 0 : selectVariableMenuOptions.buttonCss],
|
|
3377
3873
|
buttonProps: isActive ? { "aria-pressed": "true" } : void 0
|
|
3378
3874
|
}
|
|
3379
3875
|
) : null;
|
|
3380
|
-
return /* @__PURE__ */
|
|
3381
|
-
/* @__PURE__ */
|
|
3876
|
+
return /* @__PURE__ */ jsxs20("div", { children: [
|
|
3877
|
+
/* @__PURE__ */ jsxs20("label", { htmlFor: id, css: labelText, children: [
|
|
3382
3878
|
variableSelector,
|
|
3383
|
-
/* @__PURE__ */
|
|
3879
|
+
/* @__PURE__ */ jsx34("span", { children: label })
|
|
3384
3880
|
] }),
|
|
3385
3881
|
children
|
|
3386
3882
|
] });
|
|
3387
3883
|
}
|
|
3388
3884
|
|
|
3885
|
+
// src/components/Variables/VariablesComposer.tsx
|
|
3886
|
+
init_emotion_jsx_shim();
|
|
3887
|
+
import { ClearEditorPlugin } from "@lexical/react/LexicalClearEditorPlugin";
|
|
3888
|
+
import { LexicalComposer } from "@lexical/react/LexicalComposer";
|
|
3889
|
+
import { ContentEditable } from "@lexical/react/LexicalContentEditable";
|
|
3890
|
+
import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary";
|
|
3891
|
+
import { OnChangePlugin } from "@lexical/react/LexicalOnChangePlugin";
|
|
3892
|
+
import { PlainTextPlugin } from "@lexical/react/LexicalPlainTextPlugin";
|
|
3893
|
+
import {
|
|
3894
|
+
LineBreakNode as LineBreakNode2,
|
|
3895
|
+
TextNode as TextNode2
|
|
3896
|
+
} from "lexical";
|
|
3897
|
+
import { useMemo as useMemo7, useRef as useRef9, useState as useState10 } from "react";
|
|
3898
|
+
import { v4 as v42 } from "uuid";
|
|
3899
|
+
|
|
3900
|
+
// src/components/Variables/composer/DisablePlugin.tsx
|
|
3901
|
+
init_emotion_jsx_shim();
|
|
3902
|
+
import { useLexicalComposerContext as useLexicalComposerContext4 } from "@lexical/react/LexicalComposerContext";
|
|
3903
|
+
import { useEffect as useEffect9 } from "react";
|
|
3904
|
+
function DisablePlugin({ disabled }) {
|
|
3905
|
+
const [editor] = useLexicalComposerContext4();
|
|
3906
|
+
useEffect9(() => {
|
|
3907
|
+
editor.setEditable(!disabled);
|
|
3908
|
+
}, [editor, disabled]);
|
|
3909
|
+
return null;
|
|
3910
|
+
}
|
|
3911
|
+
|
|
3912
|
+
// src/components/Variables/composer/SingleLineTextPlugin.tsx
|
|
3913
|
+
init_emotion_jsx_shim();
|
|
3914
|
+
import { useLexicalComposerContext as useLexicalComposerContext5 } from "@lexical/react/LexicalComposerContext";
|
|
3915
|
+
import { LineBreakNode } from "lexical";
|
|
3916
|
+
import { useEffect as useEffect10 } from "react";
|
|
3917
|
+
function SingleLineTextPlugin() {
|
|
3918
|
+
const [editor] = useLexicalComposerContext5();
|
|
3919
|
+
useEffect10(() => {
|
|
3920
|
+
editor.registerNodeTransform(LineBreakNode, (node) => {
|
|
3921
|
+
node.remove();
|
|
3922
|
+
});
|
|
3923
|
+
}, [editor]);
|
|
3924
|
+
return null;
|
|
3925
|
+
}
|
|
3926
|
+
|
|
3927
|
+
// src/components/Variables/VariablesComposer.tsx
|
|
3928
|
+
import { Fragment as Fragment6, jsx as jsx35, jsxs as jsxs21 } from "@emotion/react/jsx-runtime";
|
|
3929
|
+
function VariablesComposer(props) {
|
|
3930
|
+
const { value, children, onChange, disabled, disableVariables, ...variablesPluginProps } = props;
|
|
3931
|
+
const [namespace] = useState10(v42());
|
|
3932
|
+
const [lastEmittedValue, setLastEmittedValue] = useState10(value);
|
|
3933
|
+
const editorConfig = useMemo7(
|
|
3934
|
+
() => ({
|
|
3935
|
+
namespace,
|
|
3936
|
+
onError(error) {
|
|
3937
|
+
throw error;
|
|
3938
|
+
},
|
|
3939
|
+
nodes: [VariableNode],
|
|
3940
|
+
editorState: deserializeEditorState(props.value)
|
|
3941
|
+
}),
|
|
3942
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3943
|
+
[namespace]
|
|
3944
|
+
);
|
|
3945
|
+
const editorState = useRef9();
|
|
3946
|
+
const updateTimeout = useRef9();
|
|
3947
|
+
if (typeof document === "undefined")
|
|
3948
|
+
return null;
|
|
3949
|
+
return /* @__PURE__ */ jsxs21(LexicalComposer, { initialConfig: editorConfig, children: [
|
|
3950
|
+
/* @__PURE__ */ jsx35(
|
|
3951
|
+
OnChangePlugin,
|
|
3952
|
+
{
|
|
3953
|
+
onChange: (state) => {
|
|
3954
|
+
editorState.current = state;
|
|
3955
|
+
if (updateTimeout.current) {
|
|
3956
|
+
clearTimeout(updateTimeout.current);
|
|
3957
|
+
}
|
|
3958
|
+
setTimeout(() => {
|
|
3959
|
+
if (editorState.current) {
|
|
3960
|
+
const valueToEmit = serializeEditorState(editorState.current);
|
|
3961
|
+
if (valueToEmit !== lastEmittedValue) {
|
|
3962
|
+
setLastEmittedValue(valueToEmit);
|
|
3963
|
+
onChange(valueToEmit);
|
|
3964
|
+
}
|
|
3965
|
+
}
|
|
3966
|
+
}, 400);
|
|
3967
|
+
}
|
|
3968
|
+
}
|
|
3969
|
+
),
|
|
3970
|
+
/* @__PURE__ */ jsx35(SingleLineTextPlugin, {}),
|
|
3971
|
+
/* @__PURE__ */ jsx35(ClearEditorPlugin, {}),
|
|
3972
|
+
/* @__PURE__ */ jsx35(VariablesPlugin, { ...variablesPluginProps }),
|
|
3973
|
+
/* @__PURE__ */ jsx35(DisablePlugin, { disabled }),
|
|
3974
|
+
/* @__PURE__ */ jsx35(Fragment6, { children })
|
|
3975
|
+
] });
|
|
3976
|
+
}
|
|
3977
|
+
function VariablesComposerInput(props) {
|
|
3978
|
+
return /* @__PURE__ */ jsx35("div", { children: /* @__PURE__ */ jsx35(
|
|
3979
|
+
PlainTextPlugin,
|
|
3980
|
+
{
|
|
3981
|
+
contentEditable: /* @__PURE__ */ jsx35(ContentEditable, { css: input, ...props }),
|
|
3982
|
+
placeholder: null,
|
|
3983
|
+
ErrorBoundary: LexicalErrorBoundary
|
|
3984
|
+
}
|
|
3985
|
+
) });
|
|
3986
|
+
}
|
|
3987
|
+
function deserializeEditorState(serialized) {
|
|
3988
|
+
const result = [];
|
|
3989
|
+
parseVariableExpression(serialized, (token, type) => {
|
|
3990
|
+
if (type === "text") {
|
|
3991
|
+
const node = {
|
|
3992
|
+
type: TextNode2.getType(),
|
|
3993
|
+
text: token,
|
|
3994
|
+
mode: "normal",
|
|
3995
|
+
version: 1,
|
|
3996
|
+
detail: 0,
|
|
3997
|
+
format: 0,
|
|
3998
|
+
style: ""
|
|
3999
|
+
};
|
|
4000
|
+
result.push(node);
|
|
4001
|
+
}
|
|
4002
|
+
if (type === "variable") {
|
|
4003
|
+
const node = {
|
|
4004
|
+
type: "variable",
|
|
4005
|
+
reference: token,
|
|
4006
|
+
version: 1
|
|
4007
|
+
};
|
|
4008
|
+
result.push(node);
|
|
4009
|
+
}
|
|
4010
|
+
});
|
|
4011
|
+
const rez = JSON.stringify({
|
|
4012
|
+
root: {
|
|
4013
|
+
children: [
|
|
4014
|
+
{
|
|
4015
|
+
children: result,
|
|
4016
|
+
direction: "ltr",
|
|
4017
|
+
format: "",
|
|
4018
|
+
indent: 0,
|
|
4019
|
+
type: "paragraph",
|
|
4020
|
+
version: 1
|
|
4021
|
+
}
|
|
4022
|
+
],
|
|
4023
|
+
direction: "ltr",
|
|
4024
|
+
format: "",
|
|
4025
|
+
indent: 0,
|
|
4026
|
+
type: "root",
|
|
4027
|
+
version: 1
|
|
4028
|
+
}
|
|
4029
|
+
});
|
|
4030
|
+
return rez;
|
|
4031
|
+
}
|
|
4032
|
+
function serializeEditorState(editorState) {
|
|
4033
|
+
const buf = [];
|
|
4034
|
+
serializeRecursive(editorState.toJSON().root, buf);
|
|
4035
|
+
return buf.join("");
|
|
4036
|
+
}
|
|
4037
|
+
function serializeRecursive(node, buffer) {
|
|
4038
|
+
if (node.type === TextNode2.getType()) {
|
|
4039
|
+
buffer.push(node.text);
|
|
4040
|
+
}
|
|
4041
|
+
if (node.type === VariableNode.getType()) {
|
|
4042
|
+
buffer.push(`\${${node.reference}}`);
|
|
4043
|
+
}
|
|
4044
|
+
if (node.type === LineBreakNode2.getType()) {
|
|
4045
|
+
buffer.push("\n");
|
|
4046
|
+
}
|
|
4047
|
+
if ("children" in node && node.children) {
|
|
4048
|
+
for (const child of node.children) {
|
|
4049
|
+
serializeRecursive(child, buffer);
|
|
4050
|
+
}
|
|
4051
|
+
}
|
|
4052
|
+
}
|
|
4053
|
+
|
|
3389
4054
|
// src/components/Variables/InputVariables.tsx
|
|
3390
|
-
import { Fragment as
|
|
4055
|
+
import { Fragment as Fragment7, jsx as jsx36, jsxs as jsxs22 } from "@emotion/react/jsx-runtime";
|
|
3391
4056
|
function InputVariables({
|
|
3392
4057
|
id,
|
|
3393
4058
|
"aria-label": ariaLabel,
|
|
@@ -3395,38 +4060,20 @@ function InputVariables({
|
|
|
3395
4060
|
value,
|
|
3396
4061
|
disableVariables,
|
|
3397
4062
|
disableReset,
|
|
4063
|
+
enableEditingVariables,
|
|
3398
4064
|
disableInlineMenu,
|
|
3399
4065
|
onChange,
|
|
3400
|
-
|
|
4066
|
+
transformPaste,
|
|
3401
4067
|
showAddVariableMenuOption,
|
|
3402
4068
|
inputWhenNoVariables,
|
|
3403
4069
|
caption,
|
|
3404
4070
|
errorMessage,
|
|
3405
4071
|
warningMessage,
|
|
3406
4072
|
infoMessage,
|
|
3407
|
-
|
|
4073
|
+
"data-test-id": dataTestId
|
|
3408
4074
|
}) {
|
|
3409
|
-
|
|
3410
|
-
const
|
|
3411
|
-
const inputRef = React11.useRef(null);
|
|
3412
|
-
const [finalId] = React11.useState(id != null ? id : () => v42());
|
|
3413
|
-
const onPasteHandler = (e) => {
|
|
3414
|
-
var _a2, _b2, _c;
|
|
3415
|
-
if (!onPaste) {
|
|
3416
|
-
return;
|
|
3417
|
-
}
|
|
3418
|
-
const pastedValue = (_a2 = e.clipboardData) == null ? void 0 : _a2.getData("text/plain");
|
|
3419
|
-
if (!pastedValue || !e.currentTarget) {
|
|
3420
|
-
return;
|
|
3421
|
-
}
|
|
3422
|
-
const selectionStart = (_b2 = e.currentTarget.selectionStart) != null ? _b2 : 0;
|
|
3423
|
-
const selectionEnd = (_c = e.currentTarget.selectionEnd) != null ? _c : 0;
|
|
3424
|
-
const newValue = e.currentTarget.value.substring(0, selectionStart) + pastedValue + e.currentTarget.value.substring(selectionEnd);
|
|
3425
|
-
onPaste(newValue);
|
|
3426
|
-
e.preventDefault();
|
|
3427
|
-
};
|
|
3428
|
-
const currentCursor = (_b = (_a = inputRef.current) == null ? void 0 : _a.selectionStart) != null ? _b : value.length;
|
|
3429
|
-
const forceMenu = value.substring(currentCursor - 2, currentCursor) === variablePrefix;
|
|
4075
|
+
const { variables, readOnly } = useVariables(true);
|
|
4076
|
+
const [finalId] = React11.useState(id != null ? id : () => v43());
|
|
3430
4077
|
const hasVariablesInValue = getReferencedVariables(value).length > 0;
|
|
3431
4078
|
const [hadVariablesInValue, setHadVariablesInValue] = React11.useState(hasVariablesInValue);
|
|
3432
4079
|
React11.useEffect(() => {
|
|
@@ -3434,60 +4081,35 @@ function InputVariables({
|
|
|
3434
4081
|
setHadVariablesInValue(true);
|
|
3435
4082
|
}
|
|
3436
4083
|
}, [hasVariablesInValue]);
|
|
3437
|
-
const disableVariablesForReals = disableVariables || Object.keys(variables).length === 0 && !showAddVariableMenuOption;
|
|
4084
|
+
const disableVariablesForReals = disableVariables || Object.keys(variables).length === 0 && !showAddVariableMenuOption || readOnly;
|
|
3438
4085
|
const disableInlineVariablesForReals = disableVariablesForReals || disableInlineMenu;
|
|
3439
|
-
const
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
const handleSetValue = (rawValue) => {
|
|
3452
|
-
onChange(rawValue);
|
|
3453
|
-
};
|
|
3454
|
-
const sharedMenuProps = {
|
|
3455
|
-
onSelectVariable: handleInsertVariable,
|
|
3456
|
-
showAddVariableMenuOption,
|
|
3457
|
-
onResetVariables: hadVariablesInValue && !disableReset ? () => {
|
|
3458
|
-
handleSetValue("");
|
|
3459
|
-
setHadVariablesInValue(false);
|
|
3460
|
-
} : void 0
|
|
3461
|
-
};
|
|
3462
|
-
const input = /* @__PURE__ */ jsxs20("div", { children: [
|
|
3463
|
-
inputWhenNoVariables && !hadVariablesInValue ? inputWhenNoVariables : /* @__PURE__ */ jsx32(
|
|
3464
|
-
InputVariablesShell,
|
|
4086
|
+
const sharedMenuProps = useMemo8(
|
|
4087
|
+
() => ({
|
|
4088
|
+
showAddVariableMenuOption,
|
|
4089
|
+
onResetVariables: disableReset ? void 0 : () => {
|
|
4090
|
+
setHadVariablesInValue(false);
|
|
4091
|
+
}
|
|
4092
|
+
}),
|
|
4093
|
+
[disableReset, showAddVariableMenuOption]
|
|
4094
|
+
);
|
|
4095
|
+
const input2 = /* @__PURE__ */ jsxs22("div", { children: [
|
|
4096
|
+
inputWhenNoVariables && !hadVariablesInValue ? inputWhenNoVariables : /* @__PURE__ */ jsx36(InputVariablesMenu, { ...sharedMenuProps, disabled: disableInlineVariablesForReals, children: /* @__PURE__ */ jsx36(
|
|
4097
|
+
VariablesComposerInput,
|
|
3465
4098
|
{
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
Input3,
|
|
3471
|
-
{
|
|
3472
|
-
id: finalId,
|
|
3473
|
-
ref: inputRef,
|
|
3474
|
-
label: ariaLabel,
|
|
3475
|
-
showLabel: false,
|
|
3476
|
-
value,
|
|
3477
|
-
onChange: (e) => handleSetValue(e.currentTarget.value),
|
|
3478
|
-
onPaste: onPasteHandler,
|
|
3479
|
-
...inputProps
|
|
3480
|
-
}
|
|
3481
|
-
)
|
|
4099
|
+
id: finalId,
|
|
4100
|
+
"aria-label": ariaLabel,
|
|
4101
|
+
"data-testid": dataTestId,
|
|
4102
|
+
"data-text-value": value
|
|
3482
4103
|
}
|
|
3483
|
-
),
|
|
3484
|
-
caption ? /* @__PURE__ */
|
|
3485
|
-
errorMessage ? /* @__PURE__ */
|
|
3486
|
-
warningMessage ? /* @__PURE__ */
|
|
3487
|
-
infoMessage ? /* @__PURE__ */
|
|
4104
|
+
) }),
|
|
4105
|
+
caption ? /* @__PURE__ */ jsx36(Caption2, { children: caption }) : null,
|
|
4106
|
+
errorMessage ? /* @__PURE__ */ jsx36(ErrorMessage, { message: errorMessage }) : null,
|
|
4107
|
+
warningMessage ? /* @__PURE__ */ jsx36(WarningMessage, { message: warningMessage }) : null,
|
|
4108
|
+
infoMessage ? /* @__PURE__ */ jsx36(InfoMessage, { message: infoMessage }) : null
|
|
3488
4109
|
] });
|
|
4110
|
+
let body = input2;
|
|
3489
4111
|
if (label) {
|
|
3490
|
-
|
|
4112
|
+
body = /* @__PURE__ */ jsx36(
|
|
3491
4113
|
VariableField,
|
|
3492
4114
|
{
|
|
3493
4115
|
label,
|
|
@@ -3495,29 +4117,49 @@ function InputVariables({
|
|
|
3495
4117
|
id: finalId,
|
|
3496
4118
|
isActive: hadVariablesInValue,
|
|
3497
4119
|
disableVariables: disableVariablesForReals,
|
|
3498
|
-
children:
|
|
4120
|
+
children: input2
|
|
3499
4121
|
}
|
|
3500
4122
|
);
|
|
3501
4123
|
}
|
|
3502
|
-
return
|
|
4124
|
+
return /* @__PURE__ */ jsxs22(
|
|
4125
|
+
VariablesComposer,
|
|
4126
|
+
{
|
|
4127
|
+
onChange,
|
|
4128
|
+
value,
|
|
4129
|
+
disableVariables: disableVariablesForReals,
|
|
4130
|
+
showAddVariableMenuOption,
|
|
4131
|
+
enableEditingVariables,
|
|
4132
|
+
children: [
|
|
4133
|
+
/* @__PURE__ */ jsx36(PasteTransformerPlugin, { transformPaste }),
|
|
4134
|
+
body
|
|
4135
|
+
]
|
|
4136
|
+
}
|
|
4137
|
+
);
|
|
3503
4138
|
}
|
|
3504
|
-
function
|
|
4139
|
+
function InputVariablesMenu({
|
|
3505
4140
|
children,
|
|
3506
4141
|
disabled,
|
|
3507
4142
|
...props
|
|
3508
4143
|
}) {
|
|
3509
4144
|
if (disabled) {
|
|
3510
|
-
return /* @__PURE__ */
|
|
4145
|
+
return /* @__PURE__ */ jsx36(Fragment7, { children });
|
|
3511
4146
|
}
|
|
3512
|
-
return /* @__PURE__ */
|
|
4147
|
+
return /* @__PURE__ */ jsxs22("div", { css: menuContainer, children: [
|
|
3513
4148
|
children,
|
|
3514
|
-
/* @__PURE__ */
|
|
4149
|
+
/* @__PURE__ */ jsx36(
|
|
4150
|
+
VariablesComposerVariableMenu,
|
|
4151
|
+
{
|
|
4152
|
+
...props,
|
|
4153
|
+
tip: "Tip: access this list by typing $",
|
|
4154
|
+
buttonCss: menuBtn
|
|
4155
|
+
}
|
|
4156
|
+
)
|
|
3515
4157
|
] });
|
|
3516
4158
|
}
|
|
3517
4159
|
|
|
3518
4160
|
// src/components/Variables/VariablesList.tsx
|
|
3519
4161
|
init_emotion_jsx_shim();
|
|
3520
|
-
import { css as
|
|
4162
|
+
import { css as css24 } from "@emotion/react";
|
|
3521
4163
|
import {
|
|
3522
4164
|
AddListButton,
|
|
3523
4165
|
button,
|
|
@@ -3533,8 +4175,8 @@ import { DragDropContext as DragDropContext2, Draggable as Draggable2, Droppable
|
|
|
3533
4175
|
|
|
3534
4176
|
// src/components/Variables/styles/VariablesList.styles.ts
|
|
3535
4177
|
init_emotion_jsx_shim();
|
|
3536
|
-
import { css as
|
|
3537
|
-
var tableRow = (isDragging) =>
|
|
4178
|
+
import { css as css23 } from "@emotion/react";
|
|
4179
|
+
var tableRow = (isDragging) => css23`
|
|
3538
4180
|
position: relative;
|
|
3539
4181
|
${isDragging ? `
|
|
3540
4182
|
display: table;
|
|
@@ -3542,7 +4184,7 @@ var tableRow = (isDragging) => css22`
|
|
|
3542
4184
|
top: auto !important;
|
|
3543
4185
|
` : void 0}
|
|
3544
4186
|
`;
|
|
3545
|
-
var tableCellDragIcon =
|
|
4187
|
+
var tableCellDragIcon = css23`
|
|
3546
4188
|
&::after {
|
|
3547
4189
|
content: '';
|
|
3548
4190
|
display: block;
|
|
@@ -3560,7 +4202,7 @@ var tableCellDragIcon = css22`
|
|
|
3560
4202
|
opacity: 1;
|
|
3561
4203
|
}
|
|
3562
4204
|
`;
|
|
3563
|
-
var variableName =
|
|
4205
|
+
var variableName = css23`
|
|
3564
4206
|
border: none;
|
|
3565
4207
|
color: var(--brand-secondary-5);
|
|
3566
4208
|
font-weight: var(--fw-medium);
|
|
@@ -3571,7 +4213,7 @@ var variableName = css22`
|
|
|
3571
4213
|
white-space: nowrap;
|
|
3572
4214
|
max-width: 20ch;
|
|
3573
4215
|
`;
|
|
3574
|
-
var variableValue =
|
|
4216
|
+
var variableValue = css23`
|
|
3575
4217
|
overflow: hidden;
|
|
3576
4218
|
text-overflow: ellipsis;
|
|
3577
4219
|
white-space: nowrap;
|
|
@@ -3579,7 +4221,7 @@ var variableValue = css22`
|
|
|
3579
4221
|
`;
|
|
3580
4222
|
|
|
3581
4223
|
// src/components/Variables/VariablesList.tsx
|
|
3582
|
-
import { Fragment as
|
|
4224
|
+
import { Fragment as Fragment8, jsx as jsx37, jsxs as jsxs23 } from "@emotion/react/jsx-runtime";
|
|
3583
4225
|
function VariablesList() {
|
|
3584
4226
|
const { variables, dispatch } = useVariables();
|
|
3585
4227
|
const sorted = variablesToList(variables);
|
|
@@ -3600,23 +4242,23 @@ function VariablesList() {
|
|
|
3600
4242
|
return result;
|
|
3601
4243
|
}
|
|
3602
4244
|
};
|
|
3603
|
-
return /* @__PURE__ */
|
|
3604
|
-
/* @__PURE__ */
|
|
3605
|
-
/* @__PURE__ */
|
|
3606
|
-
/* @__PURE__ */
|
|
3607
|
-
/* @__PURE__ */
|
|
3608
|
-
/* @__PURE__ */
|
|
4245
|
+
return /* @__PURE__ */ jsxs23(Fragment8, { children: [
|
|
4246
|
+
/* @__PURE__ */ jsx37(DragDropContext2, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ jsx37(Droppable2, { droppableId: "variables-table", children: (provided) => /* @__PURE__ */ jsxs23(Table, { ...provided.droppableProps, ref: provided.innerRef, children: [
|
|
4247
|
+
/* @__PURE__ */ jsx37(TableHead, { children: /* @__PURE__ */ jsxs23(TableRow, { children: [
|
|
4248
|
+
/* @__PURE__ */ jsx37(TableCellHead, { children: "Name" }),
|
|
4249
|
+
/* @__PURE__ */ jsx37(TableCellHead, { children: "Default Value" }),
|
|
4250
|
+
/* @__PURE__ */ jsx37(TableCellHead, {})
|
|
3609
4251
|
] }) }),
|
|
3610
|
-
/* @__PURE__ */
|
|
4252
|
+
/* @__PURE__ */ jsxs23(TableBody, { children: [
|
|
3611
4253
|
sorted.map(({ name, displayName, default: defaultValue }, index) => {
|
|
3612
4254
|
const text = displayName != null ? displayName : name;
|
|
3613
|
-
return /* @__PURE__ */
|
|
4255
|
+
return /* @__PURE__ */ jsx37(
|
|
3614
4256
|
Draggable2,
|
|
3615
4257
|
{
|
|
3616
4258
|
draggableId: name,
|
|
3617
4259
|
index,
|
|
3618
4260
|
isDragDisabled: sorted.length === 1,
|
|
3619
|
-
children: (provided2, snapshot) => /* @__PURE__ */
|
|
4261
|
+
children: (provided2, snapshot) => /* @__PURE__ */ jsxs23(
|
|
3620
4262
|
TableRow,
|
|
3621
4263
|
{
|
|
3622
4264
|
ref: provided2.innerRef,
|
|
@@ -3626,7 +4268,7 @@ function VariablesList() {
|
|
|
3626
4268
|
css: tableRow(snapshot.isDragging),
|
|
3627
4269
|
"data-dragging": snapshot.isDragging,
|
|
3628
4270
|
children: [
|
|
3629
|
-
/* @__PURE__ */
|
|
4271
|
+
/* @__PURE__ */ jsx37(TableCellData, { css: sorted.length > 1 ? tableCellDragIcon : void 0, children: /* @__PURE__ */ jsx37(
|
|
3630
4272
|
"button",
|
|
3631
4273
|
{
|
|
3632
4274
|
css: variableName,
|
|
@@ -3639,21 +4281,21 @@ function VariablesList() {
|
|
|
3639
4281
|
children: text
|
|
3640
4282
|
}
|
|
3641
4283
|
) }),
|
|
3642
|
-
/* @__PURE__ */
|
|
3643
|
-
/* @__PURE__ */
|
|
4284
|
+
/* @__PURE__ */ jsx37(TableCellData, { children: /* @__PURE__ */ jsx37("span", { css: variableValue, title: defaultValue, children: defaultValue }) }),
|
|
4285
|
+
/* @__PURE__ */ jsx37(TableCellData, { align: "right", children: /* @__PURE__ */ jsx37(
|
|
3644
4286
|
"button",
|
|
3645
4287
|
{
|
|
3646
4288
|
type: "button",
|
|
3647
4289
|
title: `delete ${text}`,
|
|
3648
4290
|
css: [
|
|
3649
4291
|
button,
|
|
3650
|
-
|
|
4292
|
+
css24`
|
|
3651
4293
|
background: transparent;
|
|
3652
4294
|
`
|
|
3653
4295
|
],
|
|
3654
4296
|
"aria-controls": text,
|
|
3655
4297
|
onClick: () => dispatch({ type: "remove", variable: name }),
|
|
3656
|
-
children: /* @__PURE__ */
|
|
4298
|
+
children: /* @__PURE__ */ jsx37(Icon5, { icon: "trash", iconColor: "red" })
|
|
3657
4299
|
}
|
|
3658
4300
|
) })
|
|
3659
4301
|
]
|
|
@@ -3666,7 +4308,7 @@ function VariablesList() {
|
|
|
3666
4308
|
provided.placeholder
|
|
3667
4309
|
] })
|
|
3668
4310
|
] }) }) }),
|
|
3669
|
-
/* @__PURE__ */
|
|
4311
|
+
/* @__PURE__ */ jsx37(
|
|
3670
4312
|
AddListButton,
|
|
3671
4313
|
{
|
|
3672
4314
|
onButtonClick: () => dispatch({ type: "edit", variable: "" }),
|
|
@@ -3680,49 +4322,36 @@ function VariablesList() {
|
|
|
3680
4322
|
}
|
|
3681
4323
|
|
|
3682
4324
|
// src/components/DataResourceDynamicInputProvider.tsx
|
|
3683
|
-
import { Fragment as
|
|
4325
|
+
import { Fragment as Fragment9, jsx as jsx38 } from "@emotion/react/jsx-runtime";
|
|
3684
4326
|
function DataResourceDynamicInputProvider({
|
|
3685
4327
|
children,
|
|
3686
4328
|
dynamicInputs
|
|
3687
4329
|
}) {
|
|
3688
4330
|
if (dynamicInputs) {
|
|
3689
|
-
return /* @__PURE__ */
|
|
4331
|
+
return /* @__PURE__ */ jsx38(DataResourceDynamicInputProviderRenderer, { dynamicInputs, children });
|
|
3690
4332
|
}
|
|
3691
|
-
return /* @__PURE__ */
|
|
4333
|
+
return /* @__PURE__ */ jsx38(DataResourceDynamicInputProviderContextShim, { children });
|
|
3692
4334
|
}
|
|
3693
4335
|
function DataResourceDynamicInputProviderContextShim(props) {
|
|
3694
4336
|
const {
|
|
3695
4337
|
metadata: { dynamicInputs }
|
|
3696
4338
|
} = useMeshLocation("dataResource");
|
|
3697
|
-
return /* @__PURE__ */
|
|
4339
|
+
return /* @__PURE__ */ jsx38(DataResourceDynamicInputProviderRenderer, { ...props, dynamicInputs });
|
|
3698
4340
|
}
|
|
3699
4341
|
function DataResourceDynamicInputProviderRenderer({
|
|
3700
4342
|
children,
|
|
3701
4343
|
dynamicInputs
|
|
3702
4344
|
}) {
|
|
3703
|
-
return /* @__PURE__ */
|
|
3704
|
-
VariablesProvider,
|
|
3705
|
-
{
|
|
3706
|
-
value: convertDynamicInputsToVariables(dynamicInputs),
|
|
3707
|
-
onChange: () => {
|
|
3708
|
-
throw new Error("Cannot change dynamic inputs. Make sure that add variable is disabled.");
|
|
3709
|
-
},
|
|
3710
|
-
editVariableComponent: () => /* @__PURE__ */ jsx34("span", { children: "Cannot edit dynamic inputs." }),
|
|
3711
|
-
children
|
|
3712
|
-
}
|
|
3713
|
-
);
|
|
4345
|
+
return /* @__PURE__ */ jsx38(VariablesProvider, { value: convertDynamicInputsToVariables(dynamicInputs), readOnly: true, children });
|
|
3714
4346
|
}
|
|
3715
4347
|
function convertDynamicInputsToVariables(dynamicInputs) {
|
|
3716
4348
|
return Object.entries(dynamicInputs).reduce(
|
|
3717
|
-
(acc, [name,
|
|
4349
|
+
(acc, [name, input2]) => {
|
|
3718
4350
|
acc[name] = {
|
|
3719
|
-
type:
|
|
3720
|
-
default:
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
", from ",
|
|
3724
|
-
input.type === "path" ? "URL path" : "query string"
|
|
3725
|
-
] })
|
|
4351
|
+
type: input2.type,
|
|
4352
|
+
default: input2.value,
|
|
4353
|
+
source: `from ${input2.type === "path" ? "URL path" : "query string"}`,
|
|
4354
|
+
helpText: /* @__PURE__ */ jsx38(Fragment9, { children: input2.value || /* @__PURE__ */ jsx38("em", { children: "not provided" }) })
|
|
3726
4355
|
// type abuse! 💚
|
|
3727
4356
|
};
|
|
3728
4357
|
return acc;
|
|
@@ -3734,13 +4363,13 @@ function convertDynamicInputsToVariables(dynamicInputs) {
|
|
|
3734
4363
|
// src/components/DataResourceVariablesList.tsx
|
|
3735
4364
|
init_emotion_jsx_shim();
|
|
3736
4365
|
import { Callout as Callout4 } from "@uniformdev/design-system";
|
|
3737
|
-
import { jsx as
|
|
4366
|
+
import { jsx as jsx39 } from "@emotion/react/jsx-runtime";
|
|
3738
4367
|
function DataResourceVariablesList(props) {
|
|
3739
4368
|
const {
|
|
3740
4369
|
value,
|
|
3741
4370
|
metadata: { dataType, dynamicInputs }
|
|
3742
4371
|
} = useMeshLocation("dataResource");
|
|
3743
|
-
return /* @__PURE__ */
|
|
4372
|
+
return /* @__PURE__ */ jsx39(
|
|
3744
4373
|
DataResourceVariablesListExplicit,
|
|
3745
4374
|
{
|
|
3746
4375
|
...props,
|
|
@@ -3761,14 +4390,14 @@ function DataResourceVariablesListExplicit({
|
|
|
3761
4390
|
const variableDefinitions = variablesToList(dataType.variables);
|
|
3762
4391
|
if (variableDefinitions.length === 0) {
|
|
3763
4392
|
if (NoVariablesComponent) {
|
|
3764
|
-
return /* @__PURE__ */
|
|
4393
|
+
return /* @__PURE__ */ jsx39(NoVariablesComponent, {});
|
|
3765
4394
|
}
|
|
3766
|
-
return /* @__PURE__ */
|
|
4395
|
+
return /* @__PURE__ */ jsx39(Callout4, { type: "note", children: "No settings are required." });
|
|
3767
4396
|
}
|
|
3768
|
-
return /* @__PURE__ */
|
|
4397
|
+
return /* @__PURE__ */ jsx39(DataResourceDynamicInputProvider, { dynamicInputs, children: /* @__PURE__ */ jsx39("div", { children: variableDefinitions.map((variableDefinition) => {
|
|
3769
4398
|
var _a, _b, _c;
|
|
3770
4399
|
const VariableRenderer = variableDefinition.type ? (_a = typeRenderers == null ? void 0 : typeRenderers[variableDefinition.type]) != null ? _a : TextVariableRenderer : TextVariableRenderer;
|
|
3771
|
-
return /* @__PURE__ */
|
|
4400
|
+
return /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39(
|
|
3772
4401
|
VariableRenderer,
|
|
3773
4402
|
{
|
|
3774
4403
|
definition: variableDefinition,
|
|
@@ -3791,7 +4420,7 @@ function DataResourceVariablesListExplicit({
|
|
|
3791
4420
|
}
|
|
3792
4421
|
function TextVariableRenderer({ definition, value, setValue }) {
|
|
3793
4422
|
var _a;
|
|
3794
|
-
return /* @__PURE__ */
|
|
4423
|
+
return /* @__PURE__ */ jsx39("div", { children: /* @__PURE__ */ jsx39(
|
|
3795
4424
|
InputVariables,
|
|
3796
4425
|
{
|
|
3797
4426
|
label: definition.displayName || definition.name,
|
|
@@ -3807,14 +4436,14 @@ init_emotion_jsx_shim();
|
|
|
3807
4436
|
|
|
3808
4437
|
// src/components/Request/RequestBody.tsx
|
|
3809
4438
|
init_emotion_jsx_shim();
|
|
3810
|
-
import { css as
|
|
4439
|
+
import { css as css26 } from "@emotion/react";
|
|
3811
4440
|
import { InputSelect as InputSelect4, JsonEditor } from "@uniformdev/design-system";
|
|
3812
|
-
import { useState as
|
|
4441
|
+
import { useState as useState12 } from "react";
|
|
3813
4442
|
|
|
3814
4443
|
// src/components/Request/RequestProvider.tsx
|
|
3815
4444
|
init_emotion_jsx_shim();
|
|
3816
4445
|
import * as React12 from "react";
|
|
3817
|
-
import { jsx as
|
|
4446
|
+
import { jsx as jsx40 } from "@emotion/react/jsx-runtime";
|
|
3818
4447
|
var RequestContext = React12.createContext(null);
|
|
3819
4448
|
function RequestProvider({ value, onChange, children }) {
|
|
3820
4449
|
const contextValue = React12.useMemo(() => {
|
|
@@ -3883,7 +4512,7 @@ function RequestProvider({ value, onChange, children }) {
|
|
|
3883
4512
|
request: value
|
|
3884
4513
|
};
|
|
3885
4514
|
}, [onChange, value]);
|
|
3886
|
-
return /* @__PURE__ */
|
|
4515
|
+
return /* @__PURE__ */ jsx40(RequestContext.Provider, { value: contextValue, children });
|
|
3887
4516
|
}
|
|
3888
4517
|
function useRequest() {
|
|
3889
4518
|
const context = React12.useContext(RequestContext);
|
|
@@ -3898,11 +4527,11 @@ init_emotion_jsx_shim();
|
|
|
3898
4527
|
|
|
3899
4528
|
// src/components/Request/styles/Request.styles.ts
|
|
3900
4529
|
init_emotion_jsx_shim();
|
|
3901
|
-
import { css as
|
|
3902
|
-
var innerContentStyles =
|
|
4530
|
+
import { css as css25 } from "@emotion/react";
|
|
4531
|
+
var innerContentStyles = css25`
|
|
3903
4532
|
background: var(--white);
|
|
3904
4533
|
`;
|
|
3905
|
-
var requestTypeContainer = (bgColor) =>
|
|
4534
|
+
var requestTypeContainer = (bgColor) => css25`
|
|
3906
4535
|
align-items: start;
|
|
3907
4536
|
background: ${bgColor};
|
|
3908
4537
|
display: grid;
|
|
@@ -3911,17 +4540,17 @@ var requestTypeContainer = (bgColor) => css24`
|
|
|
3911
4540
|
`;
|
|
3912
4541
|
|
|
3913
4542
|
// src/components/Request/RequestTypeContainer.tsx
|
|
3914
|
-
import { jsx as
|
|
4543
|
+
import { jsx as jsx41 } from "@emotion/react/jsx-runtime";
|
|
3915
4544
|
var RequestTypeContainer = ({
|
|
3916
4545
|
bgColor = "transparent",
|
|
3917
4546
|
children,
|
|
3918
4547
|
...props
|
|
3919
4548
|
}) => {
|
|
3920
|
-
return /* @__PURE__ */
|
|
4549
|
+
return /* @__PURE__ */ jsx41("div", { css: requestTypeContainer(bgColor), ...props, children });
|
|
3921
4550
|
};
|
|
3922
4551
|
|
|
3923
4552
|
// src/components/Request/RequestBody.tsx
|
|
3924
|
-
import { jsx as
|
|
4553
|
+
import { jsx as jsx42, jsxs as jsxs24 } from "@emotion/react/jsx-runtime";
|
|
3925
4554
|
var LANGUAGE_OPTIONS = [
|
|
3926
4555
|
{ label: "Text", value: "plaintext" },
|
|
3927
4556
|
{ label: "JSON", value: "json" },
|
|
@@ -3940,22 +4569,22 @@ var LANGUAGE_TO_CONTENT_TYPE = {
|
|
|
3940
4569
|
};
|
|
3941
4570
|
function RequestBody() {
|
|
3942
4571
|
const { request, dispatch } = useRequest();
|
|
3943
|
-
const [language, setLanguage] =
|
|
3944
|
-
return /* @__PURE__ */
|
|
4572
|
+
const [language, setLanguage] = useState12("json");
|
|
4573
|
+
return /* @__PURE__ */ jsxs24(
|
|
3945
4574
|
"div",
|
|
3946
4575
|
{
|
|
3947
|
-
css:
|
|
4576
|
+
css: css26`
|
|
3948
4577
|
background: var(--white);
|
|
3949
4578
|
`,
|
|
3950
4579
|
children: [
|
|
3951
|
-
/* @__PURE__ */
|
|
4580
|
+
/* @__PURE__ */ jsx42(
|
|
3952
4581
|
RequestTypeContainer,
|
|
3953
4582
|
{
|
|
3954
4583
|
bgColor: "var(--gray-100)",
|
|
3955
|
-
css:
|
|
4584
|
+
css: css26`
|
|
3956
4585
|
padding: var(--spacing-sm) var(--spacing-base);
|
|
3957
4586
|
`,
|
|
3958
|
-
children: /* @__PURE__ */
|
|
4587
|
+
children: /* @__PURE__ */ jsx42(
|
|
3959
4588
|
InputSelect4,
|
|
3960
4589
|
{
|
|
3961
4590
|
label: "Language",
|
|
@@ -3978,7 +4607,7 @@ function RequestBody() {
|
|
|
3978
4607
|
)
|
|
3979
4608
|
}
|
|
3980
4609
|
),
|
|
3981
|
-
/* @__PURE__ */
|
|
4610
|
+
/* @__PURE__ */ jsx42(
|
|
3982
4611
|
JsonEditor,
|
|
3983
4612
|
{
|
|
3984
4613
|
height: 200,
|
|
@@ -3998,7 +4627,7 @@ function RequestBody() {
|
|
|
3998
4627
|
// src/components/Request/RequestHeaders.tsx
|
|
3999
4628
|
init_emotion_jsx_shim();
|
|
4000
4629
|
import {
|
|
4001
|
-
Input as
|
|
4630
|
+
Input as Input3,
|
|
4002
4631
|
Table as Table2,
|
|
4003
4632
|
TableBody as TableBody2,
|
|
4004
4633
|
TableCellData as TableCellData2,
|
|
@@ -4007,7 +4636,7 @@ import {
|
|
|
4007
4636
|
TableRow as TableRow2,
|
|
4008
4637
|
WarningMessage as WarningMessage2
|
|
4009
4638
|
} from "@uniformdev/design-system";
|
|
4010
|
-
import { jsx as
|
|
4639
|
+
import { jsx as jsx43, jsxs as jsxs25 } from "@emotion/react/jsx-runtime";
|
|
4011
4640
|
function RequestHeaders({ disableVariables }) {
|
|
4012
4641
|
var _a, _b;
|
|
4013
4642
|
const { dispatch, request } = useRequest();
|
|
@@ -4023,29 +4652,29 @@ function RequestHeaders({ disableVariables }) {
|
|
|
4023
4652
|
index
|
|
4024
4653
|
});
|
|
4025
4654
|
};
|
|
4026
|
-
return /* @__PURE__ */
|
|
4027
|
-
/* @__PURE__ */
|
|
4028
|
-
/* @__PURE__ */
|
|
4029
|
-
/* @__PURE__ */
|
|
4655
|
+
return /* @__PURE__ */ jsx43("div", { css: innerContentStyles, children: /* @__PURE__ */ jsxs25(Table2, { children: [
|
|
4656
|
+
/* @__PURE__ */ jsx43(TableHead2, { children: /* @__PURE__ */ jsxs25(TableRow2, { children: [
|
|
4657
|
+
/* @__PURE__ */ jsx43(TableCellHead2, { children: "Name" }),
|
|
4658
|
+
/* @__PURE__ */ jsx43(TableCellHead2, { children: "Value" })
|
|
4030
4659
|
] }) }),
|
|
4031
|
-
/* @__PURE__ */
|
|
4660
|
+
/* @__PURE__ */ jsxs25(TableBody2, { children: [
|
|
4032
4661
|
(_b = (_a = request.baseRequest) == null ? void 0 : _a.headers) == null ? void 0 : _b.map((baseHeader) => {
|
|
4033
|
-
return /* @__PURE__ */
|
|
4034
|
-
/* @__PURE__ */
|
|
4662
|
+
return /* @__PURE__ */ jsxs25(TableRow2, { children: [
|
|
4663
|
+
/* @__PURE__ */ jsxs25(TableCellData2, { width: "50%", children: [
|
|
4035
4664
|
baseHeader.key,
|
|
4036
|
-
/* @__PURE__ */
|
|
4037
|
-
/* @__PURE__ */
|
|
4665
|
+
/* @__PURE__ */ jsx43("br", {}),
|
|
4666
|
+
/* @__PURE__ */ jsx43("i", { css: { color: "var(--gray-500)" }, children: /* @__PURE__ */ jsx43("small", { children: "from data source" }) })
|
|
4038
4667
|
] }),
|
|
4039
|
-
/* @__PURE__ */
|
|
4040
|
-
/* @__PURE__ */
|
|
4041
|
-
request.headers.find((p2) => p2.key === baseHeader.key) ? /* @__PURE__ */
|
|
4668
|
+
/* @__PURE__ */ jsxs25(TableCellData2, { width: "50%", children: [
|
|
4669
|
+
/* @__PURE__ */ jsx43("i", { css: { color: "var(--gray-500)" }, children: baseHeader.value }),
|
|
4670
|
+
request.headers.find((p2) => p2.key === baseHeader.key) ? /* @__PURE__ */ jsx43(WarningMessage2, { message: "overridden below" }) : null
|
|
4042
4671
|
] })
|
|
4043
4672
|
] }, baseHeader.key);
|
|
4044
4673
|
}),
|
|
4045
4674
|
deezHeaders.map((header, index) => {
|
|
4046
|
-
return /* @__PURE__ */
|
|
4047
|
-
/* @__PURE__ */
|
|
4048
|
-
|
|
4675
|
+
return /* @__PURE__ */ jsxs25(TableRow2, { children: [
|
|
4676
|
+
/* @__PURE__ */ jsx43(TableCellData2, { width: "50%", children: /* @__PURE__ */ jsx43(
|
|
4677
|
+
Input3,
|
|
4049
4678
|
{
|
|
4050
4679
|
label: header.key,
|
|
4051
4680
|
value: header.key,
|
|
@@ -4064,13 +4693,15 @@ function RequestHeaders({ disableVariables }) {
|
|
|
4064
4693
|
"data-test-id": "header-key"
|
|
4065
4694
|
}
|
|
4066
4695
|
) }),
|
|
4067
|
-
/* @__PURE__ */
|
|
4696
|
+
/* @__PURE__ */ jsx43(TableCellData2, { width: "50%", children: header.key ? /* @__PURE__ */ jsx43(
|
|
4068
4697
|
InputVariables,
|
|
4069
4698
|
{
|
|
4070
4699
|
value: header.value,
|
|
4071
4700
|
onChange: (value) => handleUpdateParamFromMenu({ key: header.key, value, index }),
|
|
4072
4701
|
disableVariables,
|
|
4073
4702
|
showAddVariableMenuOption: true,
|
|
4703
|
+
enableEditingVariables: true,
|
|
4704
|
+
disableReset: true,
|
|
4074
4705
|
"data-test-id": "header-value"
|
|
4075
4706
|
}
|
|
4076
4707
|
) : null })
|
|
@@ -4083,11 +4714,11 @@ function RequestHeaders({ disableVariables }) {
|
|
|
4083
4714
|
// src/components/Request/RequestMethodSelect.tsx
|
|
4084
4715
|
init_emotion_jsx_shim();
|
|
4085
4716
|
import { InputSelect as InputSelect5 } from "@uniformdev/design-system";
|
|
4086
|
-
import { jsx as
|
|
4717
|
+
import { jsx as jsx44 } from "@emotion/react/jsx-runtime";
|
|
4087
4718
|
function RequestMethodSelect(props) {
|
|
4088
4719
|
var _a;
|
|
4089
4720
|
const { request, dispatch } = useRequest();
|
|
4090
|
-
return /* @__PURE__ */
|
|
4721
|
+
return /* @__PURE__ */ jsx44(
|
|
4091
4722
|
InputSelect5,
|
|
4092
4723
|
{
|
|
4093
4724
|
...props,
|
|
@@ -4105,7 +4736,7 @@ function RequestMethodSelect(props) {
|
|
|
4105
4736
|
// src/components/Request/RequestParameters.tsx
|
|
4106
4737
|
init_emotion_jsx_shim();
|
|
4107
4738
|
import {
|
|
4108
|
-
Input as
|
|
4739
|
+
Input as Input4,
|
|
4109
4740
|
Table as Table3,
|
|
4110
4741
|
TableBody as TableBody3,
|
|
4111
4742
|
TableCellData as TableCellData3,
|
|
@@ -4114,7 +4745,7 @@ import {
|
|
|
4114
4745
|
TableRow as TableRow3,
|
|
4115
4746
|
WarningMessage as WarningMessage3
|
|
4116
4747
|
} from "@uniformdev/design-system";
|
|
4117
|
-
import { jsx as
|
|
4748
|
+
import { jsx as jsx45, jsxs as jsxs26 } from "@emotion/react/jsx-runtime";
|
|
4118
4749
|
function RequestParameters({ disableVariables }) {
|
|
4119
4750
|
var _a, _b;
|
|
4120
4751
|
const { dispatch, request } = useRequest();
|
|
@@ -4130,29 +4761,29 @@ function RequestParameters({ disableVariables }) {
|
|
|
4130
4761
|
index
|
|
4131
4762
|
});
|
|
4132
4763
|
};
|
|
4133
|
-
return /* @__PURE__ */
|
|
4134
|
-
/* @__PURE__ */
|
|
4135
|
-
/* @__PURE__ */
|
|
4136
|
-
/* @__PURE__ */
|
|
4764
|
+
return /* @__PURE__ */ jsx45("div", { css: innerContentStyles, children: /* @__PURE__ */ jsxs26(Table3, { children: [
|
|
4765
|
+
/* @__PURE__ */ jsx45(TableHead3, { children: /* @__PURE__ */ jsxs26(TableRow3, { children: [
|
|
4766
|
+
/* @__PURE__ */ jsx45(TableCellHead3, { children: "Name" }),
|
|
4767
|
+
/* @__PURE__ */ jsx45(TableCellHead3, { children: "Value" })
|
|
4137
4768
|
] }) }),
|
|
4138
|
-
/* @__PURE__ */
|
|
4769
|
+
/* @__PURE__ */ jsxs26(TableBody3, { children: [
|
|
4139
4770
|
(_b = (_a = request.baseRequest) == null ? void 0 : _a.parameters) == null ? void 0 : _b.map((baseParameter) => {
|
|
4140
|
-
return /* @__PURE__ */
|
|
4141
|
-
/* @__PURE__ */
|
|
4771
|
+
return /* @__PURE__ */ jsxs26(TableRow3, { children: [
|
|
4772
|
+
/* @__PURE__ */ jsxs26(TableCellData3, { width: "50%", children: [
|
|
4142
4773
|
baseParameter.key,
|
|
4143
|
-
/* @__PURE__ */
|
|
4144
|
-
/* @__PURE__ */
|
|
4774
|
+
/* @__PURE__ */ jsx45("br", {}),
|
|
4775
|
+
/* @__PURE__ */ jsx45("i", { css: { color: "var(--gray-500)" }, children: /* @__PURE__ */ jsx45("small", { children: "from data source" }) })
|
|
4145
4776
|
] }),
|
|
4146
|
-
/* @__PURE__ */
|
|
4147
|
-
/* @__PURE__ */
|
|
4148
|
-
request.parameters.find((p2) => p2.key === baseParameter.key) ? /* @__PURE__ */
|
|
4777
|
+
/* @__PURE__ */ jsxs26(TableCellData3, { width: "50%", children: [
|
|
4778
|
+
/* @__PURE__ */ jsx45("i", { css: { color: "var(--gray-500)" }, children: baseParameter.value }),
|
|
4779
|
+
request.parameters.find((p2) => p2.key === baseParameter.key) ? /* @__PURE__ */ jsx45(WarningMessage3, { message: "overridden below" }) : null
|
|
4149
4780
|
] })
|
|
4150
4781
|
] }, baseParameter.key);
|
|
4151
4782
|
}),
|
|
4152
4783
|
deezParameters.map((parameter, index) => {
|
|
4153
|
-
return /* @__PURE__ */
|
|
4154
|
-
/* @__PURE__ */
|
|
4155
|
-
|
|
4784
|
+
return /* @__PURE__ */ jsxs26(TableRow3, { children: [
|
|
4785
|
+
/* @__PURE__ */ jsx45(TableCellData3, { width: "50%", children: /* @__PURE__ */ jsx45(
|
|
4786
|
+
Input4,
|
|
4156
4787
|
{
|
|
4157
4788
|
label: parameter.key,
|
|
4158
4789
|
value: parameter.key,
|
|
@@ -4171,7 +4802,7 @@ function RequestParameters({ disableVariables }) {
|
|
|
4171
4802
|
"data-test-id": "parameter-key"
|
|
4172
4803
|
}
|
|
4173
4804
|
) }),
|
|
4174
|
-
/* @__PURE__ */
|
|
4805
|
+
/* @__PURE__ */ jsx45(TableCellData3, { width: "50%", children: parameter.key ? /* @__PURE__ */ jsx45(
|
|
4175
4806
|
InputVariables,
|
|
4176
4807
|
{
|
|
4177
4808
|
value: parameter.value,
|
|
@@ -4182,7 +4813,9 @@ function RequestParameters({ disableVariables }) {
|
|
|
4182
4813
|
}),
|
|
4183
4814
|
disableVariables,
|
|
4184
4815
|
"data-test-id": "parameter-value",
|
|
4185
|
-
showAddVariableMenuOption: true
|
|
4816
|
+
showAddVariableMenuOption: true,
|
|
4817
|
+
enableEditingVariables: true,
|
|
4818
|
+
disableReset: true
|
|
4186
4819
|
}
|
|
4187
4820
|
) : null })
|
|
4188
4821
|
] }, index);
|
|
@@ -4193,8 +4826,8 @@ function RequestParameters({ disableVariables }) {
|
|
|
4193
4826
|
|
|
4194
4827
|
// src/components/Request/RequestUrl.tsx
|
|
4195
4828
|
init_emotion_jsx_shim();
|
|
4196
|
-
import { css as
|
|
4197
|
-
import { useMemo as
|
|
4829
|
+
import { css as css27 } from "@emotion/react";
|
|
4830
|
+
import { useMemo as useMemo10 } from "react";
|
|
4198
4831
|
|
|
4199
4832
|
// src/components/Request/urlEncodeRequestParameter.ts
|
|
4200
4833
|
init_emotion_jsx_shim();
|
|
@@ -4216,35 +4849,35 @@ function decodeVariablesInUrlEncodedString(string, varValues) {
|
|
|
4216
4849
|
}
|
|
4217
4850
|
|
|
4218
4851
|
// src/components/Request/RequestUrl.tsx
|
|
4219
|
-
import { Fragment as
|
|
4852
|
+
import { Fragment as Fragment10, jsx as jsx46, jsxs as jsxs27 } from "@emotion/react/jsx-runtime";
|
|
4220
4853
|
function RequestUrl() {
|
|
4221
4854
|
var _a, _b;
|
|
4222
4855
|
const { variables } = useVariables();
|
|
4223
4856
|
const { request } = useRequest();
|
|
4224
|
-
const mergedParameters =
|
|
4857
|
+
const mergedParameters = useMemo10(() => {
|
|
4225
4858
|
var _a2;
|
|
4226
4859
|
if (!((_a2 = request.baseRequest) == null ? void 0 : _a2.parameters)) {
|
|
4227
4860
|
return request.parameters;
|
|
4228
4861
|
}
|
|
4229
4862
|
return request.baseRequest.parameters.filter((baseParam) => !request.parameters.find((p2) => p2.key === baseParam.key)).concat(request.parameters);
|
|
4230
4863
|
}, [(_a = request.baseRequest) == null ? void 0 : _a.parameters, request.parameters]);
|
|
4231
|
-
return /* @__PURE__ */
|
|
4864
|
+
return /* @__PURE__ */ jsxs27(
|
|
4232
4865
|
"small",
|
|
4233
4866
|
{
|
|
4234
|
-
css:
|
|
4867
|
+
css: css27`
|
|
4235
4868
|
display: inline-block;
|
|
4236
4869
|
margin-bottom: var(--spacing-xs);
|
|
4237
4870
|
word-break: break-word;
|
|
4238
4871
|
`,
|
|
4239
4872
|
children: [
|
|
4240
|
-
request.baseRequest ? /* @__PURE__ */
|
|
4241
|
-
/* @__PURE__ */
|
|
4873
|
+
request.baseRequest ? /* @__PURE__ */ jsx46("span", { children: (_b = request.baseRequest) == null ? void 0 : _b.baseUrl }) : null,
|
|
4874
|
+
/* @__PURE__ */ jsxs27("span", { css: { fontWeight: request.baseRequest ? "bold" : "inherit" }, children: [
|
|
4242
4875
|
urlEncodeRequestUrl(request.relativeUrl, variables),
|
|
4243
|
-
mergedParameters.length > 0 ? /* @__PURE__ */
|
|
4876
|
+
mergedParameters.length > 0 ? /* @__PURE__ */ jsxs27(Fragment10, { children: [
|
|
4244
4877
|
"?",
|
|
4245
4878
|
mergedParameters.map((param, index) => {
|
|
4246
4879
|
const encoded = urlEncodeRequestParameter(param, variables);
|
|
4247
|
-
return /* @__PURE__ */
|
|
4880
|
+
return /* @__PURE__ */ jsxs27("span", { children: [
|
|
4248
4881
|
index > 0 ? "&" : null,
|
|
4249
4882
|
encoded.key,
|
|
4250
4883
|
"=",
|
|
@@ -4261,9 +4894,9 @@ function RequestUrl() {
|
|
|
4261
4894
|
// src/components/Request/RequestUrlInput.tsx
|
|
4262
4895
|
init_emotion_jsx_shim();
|
|
4263
4896
|
|
|
4264
|
-
// src/components/Request/util/
|
|
4897
|
+
// src/components/Request/util/transformPastedUrl.ts
|
|
4265
4898
|
init_emotion_jsx_shim();
|
|
4266
|
-
function
|
|
4899
|
+
function transformPastedUrl(value, currentRequest, dispatch) {
|
|
4267
4900
|
var _a, _b, _c;
|
|
4268
4901
|
const indexOfQueryString = value.indexOf("?");
|
|
4269
4902
|
const hasQueryString = indexOfQueryString >= 0;
|
|
@@ -4271,7 +4904,6 @@ function handlePastedUrl(value, currentRequest, dispatch) {
|
|
|
4271
4904
|
if (((_a = currentRequest.baseRequest) == null ? void 0 : _a.baseUrl) && relativeUrl.startsWith((_b = currentRequest.baseRequest) == null ? void 0 : _b.baseUrl)) {
|
|
4272
4905
|
relativeUrl = relativeUrl.substring((_c = currentRequest.baseRequest) == null ? void 0 : _c.baseUrl.length);
|
|
4273
4906
|
}
|
|
4274
|
-
dispatch({ type: "setRelativeUrl", relativeUrl });
|
|
4275
4907
|
if (hasQueryString) {
|
|
4276
4908
|
for (let index = currentRequest.parameters.length - 1; index >= 0; index--) {
|
|
4277
4909
|
dispatch({ type: "removeParameter", index });
|
|
@@ -4284,25 +4916,25 @@ function handlePastedUrl(value, currentRequest, dispatch) {
|
|
|
4284
4916
|
} catch (e) {
|
|
4285
4917
|
}
|
|
4286
4918
|
}
|
|
4919
|
+
return relativeUrl;
|
|
4287
4920
|
}
|
|
4288
4921
|
|
|
4289
4922
|
// src/components/Request/RequestUrlInput.tsx
|
|
4290
|
-
import { jsx as
|
|
4923
|
+
import { jsx as jsx47 } from "@emotion/react/jsx-runtime";
|
|
4291
4924
|
function RequestUrlInput(props) {
|
|
4292
4925
|
const { request, dispatch } = useRequest();
|
|
4293
|
-
return /* @__PURE__ */
|
|
4926
|
+
return /* @__PURE__ */ jsx47(
|
|
4294
4927
|
InputVariables,
|
|
4295
4928
|
{
|
|
4296
4929
|
disableReset: true,
|
|
4297
4930
|
...props,
|
|
4298
4931
|
value: request.relativeUrl,
|
|
4299
|
-
|
|
4300
|
-
handlePastedUrl(value, request, dispatch);
|
|
4301
|
-
},
|
|
4932
|
+
transformPaste: (value) => transformPastedUrl(value, request, dispatch),
|
|
4302
4933
|
onChange: (value) => {
|
|
4303
4934
|
dispatch({ type: "setRelativeUrl", relativeUrl: value });
|
|
4304
4935
|
},
|
|
4305
4936
|
showAddVariableMenuOption: true,
|
|
4937
|
+
enableEditingVariables: true,
|
|
4306
4938
|
"data-test-id": "field-url"
|
|
4307
4939
|
}
|
|
4308
4940
|
);
|
|
@@ -4345,18 +4977,19 @@ function useRequestParameter(paramName) {
|
|
|
4345
4977
|
}
|
|
4346
4978
|
|
|
4347
4979
|
// src/components/DataSourceEditor.tsx
|
|
4348
|
-
import { jsx as
|
|
4980
|
+
import { jsx as jsx48 } from "@emotion/react/jsx-runtime";
|
|
4349
4981
|
function DataSourceEditor({ onChange, children, editVariableComponent }) {
|
|
4350
4982
|
var _a;
|
|
4351
4983
|
const { value } = useMeshLocation("dataSource");
|
|
4352
4984
|
const currentRequestValue = convertDataSourceToRequestData(value);
|
|
4353
|
-
return /* @__PURE__ */
|
|
4985
|
+
return /* @__PURE__ */ jsx48(
|
|
4354
4986
|
VariablesProvider,
|
|
4355
4987
|
{
|
|
4356
4988
|
value: (_a = value.variables) != null ? _a : {},
|
|
4357
4989
|
onChange: (newValue) => onChange((prev) => ({ newValue: { ...prev, variables: newValue } })),
|
|
4358
4990
|
editVariableComponent,
|
|
4359
|
-
|
|
4991
|
+
readOnly: true,
|
|
4992
|
+
children: /* @__PURE__ */ jsx48(
|
|
4360
4993
|
RequestProvider,
|
|
4361
4994
|
{
|
|
4362
4995
|
value: currentRequestValue,
|
|
@@ -4394,21 +5027,23 @@ function convertRequestDataToDataSource(dataSource, requestData) {
|
|
|
4394
5027
|
|
|
4395
5028
|
// src/components/DataTypeEditor.tsx
|
|
4396
5029
|
init_emotion_jsx_shim();
|
|
4397
|
-
import { jsx as
|
|
5030
|
+
import { jsx as jsx49 } from "@emotion/react/jsx-runtime";
|
|
4398
5031
|
function DataTypeEditor({ onChange, children, editVariableComponent }) {
|
|
4399
5032
|
var _a;
|
|
4400
5033
|
const {
|
|
4401
5034
|
value,
|
|
4402
|
-
metadata: { dataSource }
|
|
5035
|
+
metadata: { dataSource },
|
|
5036
|
+
isReadOnly
|
|
4403
5037
|
} = useMeshLocation("dataType");
|
|
4404
5038
|
const currentRequestValue = convertDataTypeToRequestData(value, dataSource);
|
|
4405
|
-
return /* @__PURE__ */
|
|
5039
|
+
return /* @__PURE__ */ jsx49(
|
|
4406
5040
|
VariablesProvider,
|
|
4407
5041
|
{
|
|
4408
5042
|
value: (_a = value.variables) != null ? _a : {},
|
|
4409
5043
|
onChange: (newValue) => onChange((prev) => ({ newValue: { ...prev, variables: newValue } })),
|
|
4410
5044
|
editVariableComponent,
|
|
4411
|
-
|
|
5045
|
+
readOnly: isReadOnly,
|
|
5046
|
+
children: /* @__PURE__ */ jsx49(
|
|
4412
5047
|
RequestProvider,
|
|
4413
5048
|
{
|
|
4414
5049
|
value: currentRequestValue,
|
|
@@ -4460,12 +5095,12 @@ import { LoadingIndicator as LoadingIndicator2, Theme as Theme2 } from "@uniform
|
|
|
4460
5095
|
// src/hooks/useInitializeUniformMeshSdk.ts
|
|
4461
5096
|
init_emotion_jsx_shim();
|
|
4462
5097
|
import { initializeUniformMeshSDK } from "@uniformdev/mesh-sdk";
|
|
4463
|
-
import { useEffect as
|
|
5098
|
+
import { useEffect as useEffect12, useRef as useRef10, useState as useState13 } from "react";
|
|
4464
5099
|
var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
|
|
4465
|
-
const [error, setError] =
|
|
4466
|
-
const [sdk, setSdk] =
|
|
5100
|
+
const [error, setError] = useState13();
|
|
5101
|
+
const [sdk, setSdk] = useState13();
|
|
4467
5102
|
const initializationInProgress = useRef10(false);
|
|
4468
|
-
|
|
5103
|
+
useEffect12(
|
|
4469
5104
|
() => {
|
|
4470
5105
|
if (typeof window === "undefined" || sdk) {
|
|
4471
5106
|
return;
|
|
@@ -4498,7 +5133,7 @@ var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
|
|
|
4498
5133
|
};
|
|
4499
5134
|
|
|
4500
5135
|
// src/components/MeshApp.tsx
|
|
4501
|
-
import { jsx as
|
|
5136
|
+
import { jsx as jsx50, jsxs as jsxs28 } from "@emotion/react/jsx-runtime";
|
|
4502
5137
|
var MeshApp = ({
|
|
4503
5138
|
children,
|
|
4504
5139
|
loadingComponent,
|
|
@@ -4507,37 +5142,37 @@ var MeshApp = ({
|
|
|
4507
5142
|
const { initializing, error, sdk } = useInitializeUniformMeshSdk();
|
|
4508
5143
|
if (initializing || !sdk) {
|
|
4509
5144
|
const LoadingComponent = loadingComponent;
|
|
4510
|
-
return LoadingComponent ? /* @__PURE__ */
|
|
5145
|
+
return LoadingComponent ? /* @__PURE__ */ jsx50(LoadingComponent, {}) : /* @__PURE__ */ jsx50(LoadingIndicator2, {});
|
|
4511
5146
|
}
|
|
4512
5147
|
if (error) {
|
|
4513
5148
|
const ErrorComponent = errorComponent;
|
|
4514
5149
|
if (ErrorComponent) {
|
|
4515
|
-
return /* @__PURE__ */
|
|
5150
|
+
return /* @__PURE__ */ jsx50(ErrorComponent, { error });
|
|
4516
5151
|
}
|
|
4517
5152
|
throw error;
|
|
4518
5153
|
}
|
|
4519
|
-
return /* @__PURE__ */
|
|
4520
|
-
/* @__PURE__ */
|
|
4521
|
-
/* @__PURE__ */
|
|
5154
|
+
return /* @__PURE__ */ jsxs28(UniformMeshSdkContext.Provider, { value: { sdk }, children: [
|
|
5155
|
+
/* @__PURE__ */ jsx50(Theme2, {}),
|
|
5156
|
+
/* @__PURE__ */ jsx50(UniformMeshLocationContextProvider, { children })
|
|
4522
5157
|
] });
|
|
4523
5158
|
};
|
|
4524
5159
|
|
|
4525
5160
|
// src/components/ObjectSearch/DataRefreshButton.tsx
|
|
4526
5161
|
init_emotion_jsx_shim();
|
|
4527
|
-
import { css as
|
|
5162
|
+
import { css as css28 } from "@emotion/react";
|
|
4528
5163
|
import { Button as Button3, LoadingIndicator as LoadingIndicator3 } from "@uniformdev/design-system";
|
|
4529
|
-
import { jsx as
|
|
5164
|
+
import { jsx as jsx51, jsxs as jsxs29 } from "@emotion/react/jsx-runtime";
|
|
4530
5165
|
var DataRefreshButton = ({
|
|
4531
5166
|
buttonText,
|
|
4532
5167
|
isLoading,
|
|
4533
5168
|
onRefreshData,
|
|
4534
5169
|
...props
|
|
4535
5170
|
}) => {
|
|
4536
|
-
return /* @__PURE__ */
|
|
4537
|
-
!isLoading ? null : /* @__PURE__ */
|
|
5171
|
+
return /* @__PURE__ */ jsxs29(Button3, { buttonType: "primaryInvert", onClick: onRefreshData, disabled: isLoading, ...props, children: [
|
|
5172
|
+
!isLoading ? null : /* @__PURE__ */ jsx51(
|
|
4538
5173
|
LoadingIndicator3,
|
|
4539
5174
|
{
|
|
4540
|
-
css:
|
|
5175
|
+
css: css28`
|
|
4541
5176
|
${isLoading ? "opacity: 0.2;" : void 0}
|
|
4542
5177
|
`
|
|
4543
5178
|
}
|
|
@@ -5715,13 +6350,13 @@ import { Container, IconsProvider, ScrollableList, VerticalRhythm } from "@unifo
|
|
|
5715
6350
|
init_emotion_jsx_shim();
|
|
5716
6351
|
import {
|
|
5717
6352
|
createContext as createContext5,
|
|
5718
|
-
useCallback,
|
|
6353
|
+
useCallback as useCallback2,
|
|
5719
6354
|
useContext as useContext7,
|
|
5720
6355
|
useDeferredValue,
|
|
5721
|
-
useMemo as
|
|
5722
|
-
useState as
|
|
6356
|
+
useMemo as useMemo11,
|
|
6357
|
+
useState as useState14
|
|
5723
6358
|
} from "react";
|
|
5724
|
-
import { jsx as
|
|
6359
|
+
import { jsx as jsx52 } from "@emotion/react/jsx-runtime";
|
|
5725
6360
|
var ObjectSearchContext = createContext5({
|
|
5726
6361
|
onSetQuery: () => {
|
|
5727
6362
|
},
|
|
@@ -5737,15 +6372,15 @@ var ObjectSearchContext = createContext5({
|
|
|
5737
6372
|
}
|
|
5738
6373
|
});
|
|
5739
6374
|
var ObjectSearchProvider = ({ currentlySelectedItems, children }) => {
|
|
5740
|
-
const [query, setQuery] =
|
|
6375
|
+
const [query, setQuery] = useState14({
|
|
5741
6376
|
contentType: "",
|
|
5742
6377
|
keyword: ""
|
|
5743
6378
|
});
|
|
5744
6379
|
const { flatVariables } = useVariables(true);
|
|
5745
6380
|
const querySearchDeferred = useDeferredValue(query);
|
|
5746
|
-
const [selectedItems, setSelectedItems] =
|
|
5747
|
-
const [list, setList] =
|
|
5748
|
-
const onSetQuery =
|
|
6381
|
+
const [selectedItems, setSelectedItems] = useState14(currentlySelectedItems != null ? currentlySelectedItems : []);
|
|
6382
|
+
const [list, setList] = useState14({});
|
|
6383
|
+
const onSetQuery = useCallback2(
|
|
5749
6384
|
(value2) => {
|
|
5750
6385
|
if (Array.isArray(value2.contentType) && value2.contentType.length > 0) {
|
|
5751
6386
|
return setQuery({
|
|
@@ -5757,7 +6392,7 @@ var ObjectSearchProvider = ({ currentlySelectedItems, children }) => {
|
|
|
5757
6392
|
},
|
|
5758
6393
|
[setQuery]
|
|
5759
6394
|
);
|
|
5760
|
-
const onSelectItem =
|
|
6395
|
+
const onSelectItem = useCallback2(
|
|
5761
6396
|
(selectedResult) => {
|
|
5762
6397
|
if (Array.isArray(selectedResult)) {
|
|
5763
6398
|
setSelectedItems(selectedResult);
|
|
@@ -5771,17 +6406,17 @@ var ObjectSearchProvider = ({ currentlySelectedItems, children }) => {
|
|
|
5771
6406
|
},
|
|
5772
6407
|
[setSelectedItems, selectedItems]
|
|
5773
6408
|
);
|
|
5774
|
-
const onRemoveAllSelectedItems =
|
|
6409
|
+
const onRemoveAllSelectedItems = useCallback2(() => {
|
|
5775
6410
|
setSelectedItems([]);
|
|
5776
6411
|
}, [setSelectedItems]);
|
|
5777
|
-
const onSetList =
|
|
6412
|
+
const onSetList = useCallback2(
|
|
5778
6413
|
(value2) => {
|
|
5779
6414
|
setList(value2);
|
|
5780
6415
|
},
|
|
5781
6416
|
[setList]
|
|
5782
6417
|
);
|
|
5783
|
-
const boundQuery =
|
|
5784
|
-
const value =
|
|
6418
|
+
const boundQuery = useMemo11(() => bindQuery(query, flatVariables), [query, flatVariables]);
|
|
6419
|
+
const value = useMemo11(
|
|
5785
6420
|
() => ({
|
|
5786
6421
|
boundQuery,
|
|
5787
6422
|
onSetQuery,
|
|
@@ -5803,7 +6438,7 @@ var ObjectSearchProvider = ({ currentlySelectedItems, children }) => {
|
|
|
5803
6438
|
onSetList
|
|
5804
6439
|
]
|
|
5805
6440
|
);
|
|
5806
|
-
return /* @__PURE__ */
|
|
6441
|
+
return /* @__PURE__ */ jsx52(ObjectSearchContext.Provider, { value, children });
|
|
5807
6442
|
};
|
|
5808
6443
|
function useObjectSearchContext() {
|
|
5809
6444
|
return useContext7(ObjectSearchContext);
|
|
@@ -5821,7 +6456,7 @@ function bindQuery(query, inputs) {
|
|
|
5821
6456
|
}
|
|
5822
6457
|
|
|
5823
6458
|
// src/components/ObjectSearch/ObjectSearchContainer.tsx
|
|
5824
|
-
import { jsx as
|
|
6459
|
+
import { jsx as jsx53, jsxs as jsxs30 } from "@emotion/react/jsx-runtime";
|
|
5825
6460
|
var ObjectSearchContainer = ({
|
|
5826
6461
|
label,
|
|
5827
6462
|
enableDynamicInputToResultId,
|
|
@@ -5832,9 +6467,9 @@ var ObjectSearchContainer = ({
|
|
|
5832
6467
|
var _a, _b;
|
|
5833
6468
|
const { onSelectItem, selectedListItems, list } = useObjectSearchContext();
|
|
5834
6469
|
const { flatVariables } = useVariables(true);
|
|
5835
|
-
const body = /* @__PURE__ */
|
|
6470
|
+
const body = /* @__PURE__ */ jsxs30(VerticalRhythm, { children: [
|
|
5836
6471
|
searchFilters,
|
|
5837
|
-
!resultList ? null : /* @__PURE__ */
|
|
6472
|
+
!resultList ? null : /* @__PURE__ */ jsx53(ScrollableList, { role: "list", children: resultList })
|
|
5838
6473
|
] });
|
|
5839
6474
|
const handleSelectedVariableChange = (selectedValue) => {
|
|
5840
6475
|
var _a2;
|
|
@@ -5863,8 +6498,8 @@ var ObjectSearchContainer = ({
|
|
|
5863
6498
|
}
|
|
5864
6499
|
]);
|
|
5865
6500
|
};
|
|
5866
|
-
return /* @__PURE__ */
|
|
5867
|
-
/* @__PURE__ */
|
|
6501
|
+
return /* @__PURE__ */ jsx53(IconsProvider, { children: /* @__PURE__ */ jsxs30(VerticalRhythm, { children: [
|
|
6502
|
+
/* @__PURE__ */ jsx53(Container, { backgroundColor: "gray-50", padding: "var(--spacing-base)", border: true, children: label ? /* @__PURE__ */ jsx53(
|
|
5868
6503
|
InputVariables,
|
|
5869
6504
|
{
|
|
5870
6505
|
label,
|
|
@@ -5881,12 +6516,12 @@ var ObjectSearchContainer = ({
|
|
|
5881
6516
|
// src/components/ObjectSearch/ObjectSearchFilter.tsx
|
|
5882
6517
|
init_emotion_jsx_shim();
|
|
5883
6518
|
import { InputKeywordSearch as InputKeywordSearch2, InputSelect as InputSelect6 } from "@uniformdev/design-system";
|
|
5884
|
-
import { useState as
|
|
6519
|
+
import { useState as useState15 } from "react";
|
|
5885
6520
|
|
|
5886
6521
|
// src/components/ObjectSearch/styles/ObjectSearchFilterContainer.styles.ts
|
|
5887
6522
|
init_emotion_jsx_shim();
|
|
5888
|
-
import { css as
|
|
5889
|
-
var ObjectSearchFilterContainerLabel =
|
|
6523
|
+
import { css as css29 } from "@emotion/react";
|
|
6524
|
+
var ObjectSearchFilterContainerLabel = css29`
|
|
5890
6525
|
align-items: center;
|
|
5891
6526
|
display: flex;
|
|
5892
6527
|
font-size: var(--fs-sm);
|
|
@@ -5894,21 +6529,21 @@ var ObjectSearchFilterContainerLabel = css28`
|
|
|
5894
6529
|
line-height: 1rem;
|
|
5895
6530
|
margin-bottom: var(--spacing-sm);
|
|
5896
6531
|
`;
|
|
5897
|
-
var ObjectSearchFilterContainer =
|
|
6532
|
+
var ObjectSearchFilterContainer = css29`
|
|
5898
6533
|
display: grid;
|
|
5899
6534
|
gap: var(--spacing-base);
|
|
5900
6535
|
`;
|
|
5901
|
-
var ObjectSearchFilterDropdownAndTextSearch =
|
|
6536
|
+
var ObjectSearchFilterDropdownAndTextSearch = css29`
|
|
5902
6537
|
grid-template-columns: 0.5fr 1fr;
|
|
5903
6538
|
`;
|
|
5904
|
-
var ObjectSearchFilterGrid = (gridColumns) =>
|
|
6539
|
+
var ObjectSearchFilterGrid = (gridColumns) => css29`
|
|
5905
6540
|
display: grid;
|
|
5906
6541
|
grid-template-columns: ${gridColumns};
|
|
5907
6542
|
gap: var(--spacing-base);
|
|
5908
6543
|
`;
|
|
5909
6544
|
|
|
5910
6545
|
// src/components/ObjectSearch/ObjectSearchFilter.tsx
|
|
5911
|
-
import { jsx as
|
|
6546
|
+
import { jsx as jsx54, jsxs as jsxs31 } from "@emotion/react/jsx-runtime";
|
|
5912
6547
|
var ObjectSearchFilter = ({
|
|
5913
6548
|
requireContentType,
|
|
5914
6549
|
typeSelectorAllTypesOptionText = "All content types",
|
|
@@ -5918,7 +6553,7 @@ var ObjectSearchFilter = ({
|
|
|
5918
6553
|
selectOptions
|
|
5919
6554
|
}) => {
|
|
5920
6555
|
const { query, onSetQuery } = useObjectSearchContext();
|
|
5921
|
-
const [searchState, setSearchState] =
|
|
6556
|
+
const [searchState, setSearchState] = useState15({
|
|
5922
6557
|
contentType: "",
|
|
5923
6558
|
keyword: ""
|
|
5924
6559
|
});
|
|
@@ -5928,8 +6563,8 @@ var ObjectSearchFilter = ({
|
|
|
5928
6563
|
});
|
|
5929
6564
|
onSetQuery({ ...query, ...value });
|
|
5930
6565
|
};
|
|
5931
|
-
return /* @__PURE__ */
|
|
5932
|
-
/* @__PURE__ */
|
|
6566
|
+
return /* @__PURE__ */ jsxs31("fieldset", { css: [ObjectSearchFilterContainer, ObjectSearchFilterDropdownAndTextSearch], children: [
|
|
6567
|
+
/* @__PURE__ */ jsx54(
|
|
5933
6568
|
InputSelect6,
|
|
5934
6569
|
{
|
|
5935
6570
|
label: selectLabel,
|
|
@@ -5945,7 +6580,7 @@ var ObjectSearchFilter = ({
|
|
|
5945
6580
|
value: query.contentType
|
|
5946
6581
|
}
|
|
5947
6582
|
),
|
|
5948
|
-
/* @__PURE__ */
|
|
6583
|
+
/* @__PURE__ */ jsx54(
|
|
5949
6584
|
InputKeywordSearch2,
|
|
5950
6585
|
{
|
|
5951
6586
|
inputFieldName: searchInputName,
|
|
@@ -5961,11 +6596,11 @@ var ObjectSearchFilter = ({
|
|
|
5961
6596
|
|
|
5962
6597
|
// src/components/ObjectSearch/ObjectSearchFilterContainer.tsx
|
|
5963
6598
|
init_emotion_jsx_shim();
|
|
5964
|
-
import { jsx as
|
|
6599
|
+
import { jsx as jsx55, jsxs as jsxs32 } from "@emotion/react/jsx-runtime";
|
|
5965
6600
|
var ObjectSearchFilterContainer2 = ({ label, children }) => {
|
|
5966
|
-
return /* @__PURE__ */
|
|
5967
|
-
label ? /* @__PURE__ */
|
|
5968
|
-
/* @__PURE__ */
|
|
6601
|
+
return /* @__PURE__ */ jsxs32("div", { children: [
|
|
6602
|
+
label ? /* @__PURE__ */ jsx55("span", { css: ObjectSearchFilterContainerLabel, children: label }) : null,
|
|
6603
|
+
/* @__PURE__ */ jsx55("div", { css: ObjectSearchFilterContainer, children })
|
|
5969
6604
|
] });
|
|
5970
6605
|
};
|
|
5971
6606
|
|
|
@@ -5975,9 +6610,9 @@ import { Popover } from "@uniformdev/design-system";
|
|
|
5975
6610
|
|
|
5976
6611
|
// src/components/ObjectSearch/styles/ObjectSearchListItem.styles.ts
|
|
5977
6612
|
init_emotion_jsx_shim();
|
|
5978
|
-
import { css as
|
|
6613
|
+
import { css as css30 } from "@emotion/react";
|
|
5979
6614
|
import { skeletonLoading } from "@uniformdev/design-system";
|
|
5980
|
-
var ObjectListItemContainer =
|
|
6615
|
+
var ObjectListItemContainer = css30`
|
|
5981
6616
|
align-items: center;
|
|
5982
6617
|
border: 1px solid var(--gray-300);
|
|
5983
6618
|
border-radius: var(--rounded-base);
|
|
@@ -5990,7 +6625,7 @@ var ObjectListItemContainer = css29`
|
|
|
5990
6625
|
display: none;
|
|
5991
6626
|
}
|
|
5992
6627
|
`;
|
|
5993
|
-
var ObjectListItemLoading =
|
|
6628
|
+
var ObjectListItemLoading = css30`
|
|
5994
6629
|
animation: ${skeletonLoading} 1s linear infinite alternate;
|
|
5995
6630
|
border-color: transparent;
|
|
5996
6631
|
min-height: 42px;
|
|
@@ -6014,37 +6649,37 @@ var ObjectListItemLoading = css29`
|
|
|
6014
6649
|
width: 1rem;
|
|
6015
6650
|
}
|
|
6016
6651
|
`;
|
|
6017
|
-
var ObjectListItemHeadingGroup =
|
|
6652
|
+
var ObjectListItemHeadingGroup = css30`
|
|
6018
6653
|
align-items: center;
|
|
6019
6654
|
display: grid;
|
|
6020
6655
|
`;
|
|
6021
|
-
var ObjectListItemTitle =
|
|
6656
|
+
var ObjectListItemTitle = css30`
|
|
6022
6657
|
color: var(--brand-secondary-1);
|
|
6023
6658
|
display: block;
|
|
6024
6659
|
font-size: var(--fs-sm);
|
|
6025
6660
|
`;
|
|
6026
|
-
var ObjectListItemSubtitle =
|
|
6661
|
+
var ObjectListItemSubtitle = css30`
|
|
6027
6662
|
color: var(--gray-500);
|
|
6028
6663
|
display: block;
|
|
6029
6664
|
font-size: var(--fs-xs);
|
|
6030
6665
|
line-height: 1;
|
|
6031
6666
|
`;
|
|
6032
|
-
var ObjectListItemInfoContainer =
|
|
6667
|
+
var ObjectListItemInfoContainer = css30`
|
|
6033
6668
|
align-items: center;
|
|
6034
6669
|
display: flex;
|
|
6035
6670
|
justify-content: center;
|
|
6036
6671
|
`;
|
|
6037
|
-
var ObjectListItemControlledContent =
|
|
6672
|
+
var ObjectListItemControlledContent = css30`
|
|
6038
6673
|
display: flex;
|
|
6039
6674
|
gap: var(--spacing-sm);
|
|
6040
6675
|
`;
|
|
6041
|
-
var ObjectListItemUnControlledContent =
|
|
6676
|
+
var ObjectListItemUnControlledContent = css30`
|
|
6042
6677
|
margin-top: var(--spacing-sm);
|
|
6043
6678
|
grid-column: 1 / -1;
|
|
6044
6679
|
`;
|
|
6045
6680
|
|
|
6046
6681
|
// src/components/ObjectSearch/ObjectSearchListItem.tsx
|
|
6047
|
-
import { jsx as
|
|
6682
|
+
import { jsx as jsx56, jsxs as jsxs33 } from "@emotion/react/jsx-runtime";
|
|
6048
6683
|
var ObjectSearchListItem = ({
|
|
6049
6684
|
id,
|
|
6050
6685
|
title,
|
|
@@ -6067,20 +6702,20 @@ var ObjectSearchListItem = ({
|
|
|
6067
6702
|
return onSelectItem([selectedItem]);
|
|
6068
6703
|
};
|
|
6069
6704
|
const hideWhenInSelectedList = selectedListItems.some((item) => item.id === id);
|
|
6070
|
-
return /* @__PURE__ */
|
|
6071
|
-
/* @__PURE__ */
|
|
6072
|
-
!image ? null : /* @__PURE__ */
|
|
6073
|
-
/* @__PURE__ */
|
|
6074
|
-
!contentType ? null : /* @__PURE__ */
|
|
6075
|
-
/* @__PURE__ */
|
|
6705
|
+
return /* @__PURE__ */ jsxs33("div", { role: "listitem", hidden: hideWhenInSelectedList, css: ObjectListItemContainer, children: [
|
|
6706
|
+
/* @__PURE__ */ jsxs33("div", { role: "button", onClick: handleSelectItem, css: ObjectListItemControlledContent, children: [
|
|
6707
|
+
!image ? null : /* @__PURE__ */ jsx56("img", { ...image, loading: (image == null ? void 0 : image.width) && image.height ? "lazy" : "eager" }),
|
|
6708
|
+
/* @__PURE__ */ jsxs33("div", { role: "heading", css: ObjectListItemHeadingGroup, children: [
|
|
6709
|
+
!contentType ? null : /* @__PURE__ */ jsx56("span", { css: ObjectListItemSubtitle, children: formatedContentType }),
|
|
6710
|
+
/* @__PURE__ */ jsx56("span", { css: ObjectListItemTitle, children: title })
|
|
6076
6711
|
] })
|
|
6077
6712
|
] }),
|
|
6078
|
-
!popoverData ? null : /* @__PURE__ */
|
|
6079
|
-
!children ? null : /* @__PURE__ */
|
|
6713
|
+
!popoverData ? null : /* @__PURE__ */ jsx56("div", { css: ObjectListItemInfoContainer, children: /* @__PURE__ */ jsx56(Popover, { baseId: title, ariaLabel: title, buttonText: `See ${title} details`, children: popoverData }) }),
|
|
6714
|
+
!children ? null : /* @__PURE__ */ jsx56("div", { css: ObjectListItemUnControlledContent, children })
|
|
6080
6715
|
] });
|
|
6081
6716
|
};
|
|
6082
6717
|
var ObjectSearchListItemLoadingSkeleton = () => {
|
|
6083
|
-
return /* @__PURE__ */
|
|
6718
|
+
return /* @__PURE__ */ jsx56("div", { role: "presentation", css: [ObjectListItemContainer, ObjectListItemLoading] });
|
|
6084
6719
|
};
|
|
6085
6720
|
|
|
6086
6721
|
// src/components/ObjectSearch/ObjectSearchResultItem.tsx
|
|
@@ -6093,9 +6728,9 @@ init_emotion_jsx_shim();
|
|
|
6093
6728
|
|
|
6094
6729
|
// src/components/ObjectSearch/styles/ObjectSearchResultItemButton.styles.ts
|
|
6095
6730
|
init_emotion_jsx_shim();
|
|
6096
|
-
import { css as
|
|
6731
|
+
import { css as css31 } from "@emotion/react";
|
|
6097
6732
|
import { button as button2 } from "@uniformdev/design-system";
|
|
6098
|
-
var ButtonStyles =
|
|
6733
|
+
var ButtonStyles = css31`
|
|
6099
6734
|
${button2}
|
|
6100
6735
|
background: transparent;
|
|
6101
6736
|
border: 1px solid var(--brand-secondary-1);
|
|
@@ -6122,20 +6757,20 @@ var ButtonStyles = css30`
|
|
|
6122
6757
|
text-decoration: none;
|
|
6123
6758
|
}
|
|
6124
6759
|
`;
|
|
6125
|
-
var ButtonIcon =
|
|
6760
|
+
var ButtonIcon = css31`
|
|
6126
6761
|
width: 1rem;
|
|
6127
6762
|
height: 1rem;
|
|
6128
6763
|
`;
|
|
6129
6764
|
|
|
6130
6765
|
// src/components/ObjectSearch/ObjectSearchResultItemButton.tsx
|
|
6131
|
-
import { jsx as
|
|
6766
|
+
import { jsx as jsx57, jsxs as jsxs34 } from "@emotion/react/jsx-runtime";
|
|
6132
6767
|
var ObjectSearchResultItemButton = ({
|
|
6133
6768
|
text,
|
|
6134
6769
|
icon,
|
|
6135
6770
|
...props
|
|
6136
6771
|
}) => {
|
|
6137
|
-
return /* @__PURE__ */
|
|
6138
|
-
!icon ? null : /* @__PURE__ */
|
|
6772
|
+
return /* @__PURE__ */ jsxs34("button", { type: "button", css: ButtonStyles, ...props, children: [
|
|
6773
|
+
!icon ? null : /* @__PURE__ */ jsx57(Image, { src: icon, css: ButtonIcon }),
|
|
6139
6774
|
text
|
|
6140
6775
|
] });
|
|
6141
6776
|
};
|
|
@@ -6144,16 +6779,16 @@ var LinkButton = ({
|
|
|
6144
6779
|
icon,
|
|
6145
6780
|
...props
|
|
6146
6781
|
}) => {
|
|
6147
|
-
return /* @__PURE__ */
|
|
6148
|
-
!icon ? null : /* @__PURE__ */
|
|
6782
|
+
return /* @__PURE__ */ jsxs34("a", { ...props, css: ButtonStyles, target: "_blank", rel: "noopener noreferrer", children: [
|
|
6783
|
+
!icon ? null : /* @__PURE__ */ jsx57(Image, { src: icon, css: ButtonIcon }),
|
|
6149
6784
|
text
|
|
6150
6785
|
] });
|
|
6151
6786
|
};
|
|
6152
6787
|
|
|
6153
6788
|
// src/components/ObjectSearch/styles/ObjectSearchResultItem.styles.ts
|
|
6154
6789
|
init_emotion_jsx_shim();
|
|
6155
|
-
import { css as
|
|
6156
|
-
var ObjectSearchResultItemContainer =
|
|
6790
|
+
import { css as css32 } from "@emotion/react";
|
|
6791
|
+
var ObjectSearchResultItemContainer = css32`
|
|
6157
6792
|
align-items: center;
|
|
6158
6793
|
border: 1px solid var(--gray-300);
|
|
6159
6794
|
border-radius: var(--rounded-base);
|
|
@@ -6169,7 +6804,7 @@ var ObjectSearchResultItemContainer = css31`
|
|
|
6169
6804
|
}
|
|
6170
6805
|
}
|
|
6171
6806
|
`;
|
|
6172
|
-
var ObjectSearchDragHandle =
|
|
6807
|
+
var ObjectSearchDragHandle = css32`
|
|
6173
6808
|
border-left: 2px dotted var(--gray-300);
|
|
6174
6809
|
border-right: 2px dotted var(--gray-300);
|
|
6175
6810
|
position: absolute;
|
|
@@ -6178,41 +6813,41 @@ var ObjectSearchDragHandle = css31`
|
|
|
6178
6813
|
transition: opacity var(--duration-fast) var(--timing-ease-out);
|
|
6179
6814
|
opacity: 0;
|
|
6180
6815
|
`;
|
|
6181
|
-
var ObjectSearchResultItemSubtitle =
|
|
6816
|
+
var ObjectSearchResultItemSubtitle = css32`
|
|
6182
6817
|
color: var(--gray-500);
|
|
6183
6818
|
display: block;
|
|
6184
6819
|
font-size: var(--fs-xs);
|
|
6185
6820
|
line-height: 1;
|
|
6186
6821
|
`;
|
|
6187
|
-
var ObjectSearchResultItemTitle =
|
|
6822
|
+
var ObjectSearchResultItemTitle = css32`
|
|
6188
6823
|
align-items: center;
|
|
6189
6824
|
color: var(--brand-secondary-1);
|
|
6190
6825
|
display: flex;
|
|
6191
6826
|
gap: var(--spacing-xs);
|
|
6192
6827
|
`;
|
|
6193
|
-
var ObjectSearchResultItemTimeStamp =
|
|
6828
|
+
var ObjectSearchResultItemTimeStamp = css32`
|
|
6194
6829
|
color: var(--gray-500);
|
|
6195
6830
|
font-size: var(--fs-xs);
|
|
6196
6831
|
`;
|
|
6197
|
-
var ObjectSearchAuthorStateGroup =
|
|
6832
|
+
var ObjectSearchAuthorStateGroup = css32`
|
|
6198
6833
|
align-items: center;
|
|
6199
6834
|
display: flex;
|
|
6200
6835
|
gap: var(--spacing-sm);
|
|
6201
6836
|
`;
|
|
6202
|
-
var ObjectSearchUpdateGroup =
|
|
6837
|
+
var ObjectSearchUpdateGroup = css32`
|
|
6203
6838
|
display: grid;
|
|
6204
6839
|
`;
|
|
6205
|
-
var ObjectSearchContentContainer =
|
|
6840
|
+
var ObjectSearchContentContainer = css32`
|
|
6206
6841
|
display: flex;
|
|
6207
6842
|
gap: var(--spacing-base);
|
|
6208
6843
|
`;
|
|
6209
|
-
var ObjectSearchImage =
|
|
6844
|
+
var ObjectSearchImage = css32`
|
|
6210
6845
|
width: 56px;
|
|
6211
6846
|
object-fit: contain;
|
|
6212
6847
|
`;
|
|
6213
6848
|
|
|
6214
6849
|
// src/components/ObjectSearch/ObjectSearchResultItem.tsx
|
|
6215
|
-
import { jsx as
|
|
6850
|
+
import { jsx as jsx58, jsxs as jsxs35 } from "@emotion/react/jsx-runtime";
|
|
6216
6851
|
var ObjectSearchResultItem = ({
|
|
6217
6852
|
id,
|
|
6218
6853
|
title,
|
|
@@ -6236,35 +6871,35 @@ var ObjectSearchResultItem = ({
|
|
|
6236
6871
|
onSelectItem({ id, title: id });
|
|
6237
6872
|
onRemove == null ? void 0 : onRemove();
|
|
6238
6873
|
};
|
|
6239
|
-
return /* @__PURE__ */
|
|
6240
|
-
disableDnD ? null : /* @__PURE__ */
|
|
6241
|
-
/* @__PURE__ */
|
|
6242
|
-
!imageUrl ? null : /* @__PURE__ */
|
|
6243
|
-
/* @__PURE__ */
|
|
6244
|
-
/* @__PURE__ */
|
|
6245
|
-
/* @__PURE__ */
|
|
6874
|
+
return /* @__PURE__ */ jsxs35("div", { css: ObjectSearchResultItemContainer, children: [
|
|
6875
|
+
disableDnD ? null : /* @__PURE__ */ jsx58("div", { role: "presentation", className: "drag-handle", css: ObjectSearchDragHandle }),
|
|
6876
|
+
/* @__PURE__ */ jsx58("div", { children: /* @__PURE__ */ jsxs35("div", { css: ObjectSearchContentContainer, children: [
|
|
6877
|
+
!imageUrl ? null : /* @__PURE__ */ jsx58("img", { src: imageUrl, alt: `Thumbnail for ${title}`, css: ObjectSearchImage }),
|
|
6878
|
+
/* @__PURE__ */ jsxs35("div", { children: [
|
|
6879
|
+
/* @__PURE__ */ jsx58("span", { css: ObjectSearchResultItemSubtitle, children: formatedContentType }),
|
|
6880
|
+
/* @__PURE__ */ jsxs35("span", { role: "heading", css: ObjectSearchResultItemTitle, children: [
|
|
6246
6881
|
title != null ? title : name,
|
|
6247
|
-
!popoverData ? null : /* @__PURE__ */
|
|
6882
|
+
!popoverData ? null : /* @__PURE__ */ jsx58(Popover2, { baseId: title, ariaLabel: title, buttonText: `See ${title} details`, children: popoverData })
|
|
6248
6883
|
] }),
|
|
6249
|
-
!createdAt && !publishStatus ? null : /* @__PURE__ */
|
|
6250
|
-
!(publishStatus == null ? void 0 : publishStatus.text) ? null : /* @__PURE__ */
|
|
6251
|
-
!createdAt && !publishedAt ? null : /* @__PURE__ */
|
|
6252
|
-
!createdAt ? null : /* @__PURE__ */
|
|
6253
|
-
/* @__PURE__ */
|
|
6884
|
+
!createdAt && !publishStatus ? null : /* @__PURE__ */ jsxs35("div", { css: ObjectSearchAuthorStateGroup, children: [
|
|
6885
|
+
!(publishStatus == null ? void 0 : publishStatus.text) ? null : /* @__PURE__ */ jsx58(Badge, { ...publishStatus, size: "sm", uppercaseText: true }),
|
|
6886
|
+
!createdAt && !publishedAt ? null : /* @__PURE__ */ jsxs35("div", { css: ObjectSearchUpdateGroup, children: [
|
|
6887
|
+
!createdAt ? null : /* @__PURE__ */ jsxs35("small", { css: ObjectSearchResultItemTimeStamp, children: [
|
|
6888
|
+
/* @__PURE__ */ jsx58("strong", { children: "Last updated: " }),
|
|
6254
6889
|
timeagoFormat(createdAt)
|
|
6255
6890
|
] }),
|
|
6256
|
-
!publishedAt ? null : /* @__PURE__ */
|
|
6257
|
-
/* @__PURE__ */
|
|
6891
|
+
!publishedAt ? null : /* @__PURE__ */ jsxs35("small", { css: ObjectSearchResultItemTimeStamp, children: [
|
|
6892
|
+
/* @__PURE__ */ jsx58("strong", { children: "Last published: " }),
|
|
6258
6893
|
timeagoFormat(publishedAt)
|
|
6259
6894
|
] })
|
|
6260
6895
|
] })
|
|
6261
6896
|
] }),
|
|
6262
|
-
/* @__PURE__ */
|
|
6897
|
+
/* @__PURE__ */ jsx58("div", { children })
|
|
6263
6898
|
] })
|
|
6264
6899
|
] }) }),
|
|
6265
|
-
!editLink && hideRemoveButton ? null : /* @__PURE__ */
|
|
6266
|
-
!editLink ? null : /* @__PURE__ */
|
|
6267
|
-
hideRemoveButton ? null : /* @__PURE__ */
|
|
6900
|
+
!editLink && hideRemoveButton ? null : /* @__PURE__ */ jsxs35("div", { css: ObjectSearchAuthorStateGroup, children: [
|
|
6901
|
+
!editLink ? null : /* @__PURE__ */ jsx58(LinkButton, { text: "Edit", href: editLink, icon: editLinkIcon }),
|
|
6902
|
+
hideRemoveButton ? null : /* @__PURE__ */ jsx58(Button4, { buttonType: "ghostDestructive", onClick: onRemoveItem, children: "Remove" })
|
|
6268
6903
|
] })
|
|
6269
6904
|
] });
|
|
6270
6905
|
};
|
|
@@ -6276,35 +6911,35 @@ import { DragDropContext as DragDropContext3, Draggable as Draggable3, Droppable
|
|
|
6276
6911
|
|
|
6277
6912
|
// src/components/ObjectSearch/styles/ObjectSearchResultList.styles.ts
|
|
6278
6913
|
init_emotion_jsx_shim();
|
|
6279
|
-
import { css as
|
|
6280
|
-
var ObjectSearchResultListContainer =
|
|
6914
|
+
import { css as css33 } from "@emotion/react";
|
|
6915
|
+
var ObjectSearchResultListContainer = css33`
|
|
6281
6916
|
align-items: center;
|
|
6282
6917
|
display: flex;
|
|
6283
6918
|
gap: var(--spacing-sm);
|
|
6284
6919
|
justify-content: space-between;
|
|
6285
6920
|
`;
|
|
6286
|
-
var ObjectSearchDragContainer =
|
|
6921
|
+
var ObjectSearchDragContainer = css33`
|
|
6287
6922
|
margin: 0 0 var(--spacing-sm);
|
|
6288
6923
|
`;
|
|
6289
|
-
var ObjectSearchResultListCounterContainer =
|
|
6924
|
+
var ObjectSearchResultListCounterContainer = css33`
|
|
6290
6925
|
align-items: center;
|
|
6291
6926
|
display: flex;
|
|
6292
6927
|
gap: var(--spacing-sm);
|
|
6293
6928
|
`;
|
|
6294
|
-
var ObjectSearchResultListTitle =
|
|
6929
|
+
var ObjectSearchResultListTitle = css33`
|
|
6295
6930
|
font-weight: var(--fw-bold);
|
|
6296
6931
|
line-height: 1;
|
|
6297
6932
|
`;
|
|
6298
6933
|
|
|
6299
6934
|
// src/components/ObjectSearch/ObjectSearchResultList.tsx
|
|
6300
|
-
import { Fragment as
|
|
6935
|
+
import { Fragment as Fragment11, jsx as jsx59, jsxs as jsxs36 } from "@emotion/react/jsx-runtime";
|
|
6301
6936
|
function ObjectSearchResultList({
|
|
6302
6937
|
resultLabelText = "Selected",
|
|
6303
6938
|
removeButtonText = "Remove all",
|
|
6304
6939
|
onRemoveAllSelected,
|
|
6305
6940
|
hideRemoveButton = false,
|
|
6306
6941
|
additionalButtons,
|
|
6307
|
-
renderResultComponent = (value) => /* @__PURE__ */
|
|
6942
|
+
renderResultComponent = (value) => /* @__PURE__ */ jsx59(ObjectSearchResultItem, { ...value, disableDnD }),
|
|
6308
6943
|
multiSelectId,
|
|
6309
6944
|
disableDnD = false,
|
|
6310
6945
|
whenNothingSelected = null
|
|
@@ -6324,16 +6959,16 @@ function ObjectSearchResultList({
|
|
|
6324
6959
|
return result;
|
|
6325
6960
|
}
|
|
6326
6961
|
};
|
|
6327
|
-
return /* @__PURE__ */
|
|
6328
|
-
/* @__PURE__ */
|
|
6329
|
-
/* @__PURE__ */
|
|
6330
|
-
/* @__PURE__ */
|
|
6962
|
+
return /* @__PURE__ */ jsxs36(Fragment11, { children: [
|
|
6963
|
+
/* @__PURE__ */ jsxs36("div", { role: "group", css: ObjectSearchResultListContainer, children: [
|
|
6964
|
+
/* @__PURE__ */ jsxs36("div", { role: "note", css: ObjectSearchResultListCounterContainer, children: [
|
|
6965
|
+
/* @__PURE__ */ jsx59("span", { css: ObjectSearchResultListTitle, children: resultLabelText }),
|
|
6331
6966
|
" ",
|
|
6332
|
-
!selectedListItems.length ? null : /* @__PURE__ */
|
|
6967
|
+
!selectedListItems.length ? null : /* @__PURE__ */ jsx59(Counter, { count: selectedListItems.length })
|
|
6333
6968
|
] }),
|
|
6334
|
-
/* @__PURE__ */
|
|
6969
|
+
/* @__PURE__ */ jsxs36("div", { css: ObjectSearchResultListCounterContainer, children: [
|
|
6335
6970
|
additionalButtons,
|
|
6336
|
-
hideRemoveButton ? null : /* @__PURE__ */
|
|
6971
|
+
hideRemoveButton ? null : /* @__PURE__ */ jsx59(
|
|
6337
6972
|
Button5,
|
|
6338
6973
|
{
|
|
6339
6974
|
buttonType: "ghostDestructive",
|
|
@@ -6345,10 +6980,10 @@ function ObjectSearchResultList({
|
|
|
6345
6980
|
)
|
|
6346
6981
|
] })
|
|
6347
6982
|
] }),
|
|
6348
|
-
!selectedListItems.length ? whenNothingSelected : /* @__PURE__ */
|
|
6983
|
+
!selectedListItems.length ? whenNothingSelected : /* @__PURE__ */ jsx59(DragDropContext3, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ jsx59(Droppable3, { droppableId: multiSelectId != null ? multiSelectId : "canvas-multi-select", children: (provided) => /* @__PURE__ */ jsxs36("div", { ...provided.droppableProps, ref: provided.innerRef, children: [
|
|
6349
6984
|
selectedListItems.map((item, i2) => {
|
|
6350
6985
|
const renderListItem = renderResultComponent(item);
|
|
6351
|
-
return /* @__PURE__ */
|
|
6986
|
+
return /* @__PURE__ */ jsx59(Draggable3, { draggableId: item.id, index: i2, isDragDisabled: disableDnD, children: (provided2, snapshot) => /* @__PURE__ */ jsx59(
|
|
6352
6987
|
"div",
|
|
6353
6988
|
{
|
|
6354
6989
|
css: ObjectSearchDragContainer,
|
|
@@ -6367,9 +7002,9 @@ function ObjectSearchResultList({
|
|
|
6367
7002
|
|
|
6368
7003
|
// src/components/ObjectSearch/QueryFilter.tsx
|
|
6369
7004
|
init_emotion_jsx_shim();
|
|
6370
|
-
import { Input as
|
|
6371
|
-
import { useEffect as
|
|
6372
|
-
import { jsx as
|
|
7005
|
+
import { Input as Input5, InputKeywordSearch as InputKeywordSearch3, InputSelect as InputSelect7, VerticalRhythm as VerticalRhythm2 } from "@uniformdev/design-system";
|
|
7006
|
+
import { useEffect as useEffect13, useState as useState16 } from "react";
|
|
7007
|
+
import { jsx as jsx60, jsxs as jsxs37 } from "@emotion/react/jsx-runtime";
|
|
6373
7008
|
var QueryFilter = ({
|
|
6374
7009
|
requireContentType,
|
|
6375
7010
|
queryFilterTitle = "Configure Query",
|
|
@@ -6400,7 +7035,7 @@ var QueryFilter = ({
|
|
|
6400
7035
|
}) => {
|
|
6401
7036
|
var _a, _b, _c, _d;
|
|
6402
7037
|
const { query, onSetQuery } = useObjectSearchContext();
|
|
6403
|
-
const [queryState, setQueryState] =
|
|
7038
|
+
const [queryState, setQueryState] = useState16({
|
|
6404
7039
|
contentType: "",
|
|
6405
7040
|
keyword: "",
|
|
6406
7041
|
count: countValue != null ? countValue : 5,
|
|
@@ -6411,13 +7046,13 @@ var QueryFilter = ({
|
|
|
6411
7046
|
setQueryState((prev) => ({ ...prev, ...value }));
|
|
6412
7047
|
onSetQuery({ ...query, ...value });
|
|
6413
7048
|
};
|
|
6414
|
-
|
|
7049
|
+
useEffect13(() => {
|
|
6415
7050
|
onSetQuery(queryState);
|
|
6416
7051
|
}, [onSetQuery, queryState]);
|
|
6417
|
-
return /* @__PURE__ */
|
|
6418
|
-
/* @__PURE__ */
|
|
6419
|
-
/* @__PURE__ */
|
|
6420
|
-
/* @__PURE__ */
|
|
7052
|
+
return /* @__PURE__ */ jsxs37("fieldset", { children: [
|
|
7053
|
+
/* @__PURE__ */ jsx60("span", { css: ObjectSearchFilterContainerLabel, children: queryFilterTitle }),
|
|
7054
|
+
/* @__PURE__ */ jsx60("div", { css: ObjectSearchFilterContainer, children: /* @__PURE__ */ jsxs37(VerticalRhythm2, { children: [
|
|
7055
|
+
/* @__PURE__ */ jsx60(
|
|
6421
7056
|
InputVariables,
|
|
6422
7057
|
{
|
|
6423
7058
|
label: searchInputLabel,
|
|
@@ -6425,7 +7060,7 @@ var QueryFilter = ({
|
|
|
6425
7060
|
onChange: (newQuery) => handleFilterChange({ keyword: newQuery }),
|
|
6426
7061
|
disableInlineMenu: true,
|
|
6427
7062
|
id: "qf_searchText",
|
|
6428
|
-
inputWhenNoVariables: /* @__PURE__ */
|
|
7063
|
+
inputWhenNoVariables: /* @__PURE__ */ jsx60(
|
|
6429
7064
|
InputKeywordSearch3,
|
|
6430
7065
|
{
|
|
6431
7066
|
id: "qf_searchText",
|
|
@@ -6439,8 +7074,8 @@ var QueryFilter = ({
|
|
|
6439
7074
|
)
|
|
6440
7075
|
}
|
|
6441
7076
|
),
|
|
6442
|
-
/* @__PURE__ */
|
|
6443
|
-
/* @__PURE__ */
|
|
7077
|
+
/* @__PURE__ */ jsxs37("div", { css: ObjectSearchFilterGrid("1fr 100px"), children: [
|
|
7078
|
+
/* @__PURE__ */ jsx60(
|
|
6444
7079
|
InputVariables,
|
|
6445
7080
|
{
|
|
6446
7081
|
label: contentTypeLabel,
|
|
@@ -6448,7 +7083,7 @@ var QueryFilter = ({
|
|
|
6448
7083
|
value: (_d = queryState.contentType) != null ? _d : "",
|
|
6449
7084
|
onChange: (newType) => handleFilterChange({ contentType: newType }),
|
|
6450
7085
|
disableInlineMenu: true,
|
|
6451
|
-
inputWhenNoVariables: /* @__PURE__ */
|
|
7086
|
+
inputWhenNoVariables: /* @__PURE__ */ jsx60(
|
|
6452
7087
|
InputSelect7,
|
|
6453
7088
|
{
|
|
6454
7089
|
id: "qf_contentType",
|
|
@@ -6467,7 +7102,7 @@ var QueryFilter = ({
|
|
|
6467
7102
|
)
|
|
6468
7103
|
}
|
|
6469
7104
|
),
|
|
6470
|
-
/* @__PURE__ */
|
|
7105
|
+
/* @__PURE__ */ jsx60(
|
|
6471
7106
|
InputVariables,
|
|
6472
7107
|
{
|
|
6473
7108
|
label: countLabel,
|
|
@@ -6475,8 +7110,8 @@ var QueryFilter = ({
|
|
|
6475
7110
|
value: queryState.count.toString(10),
|
|
6476
7111
|
onChange: (newCount) => handleFilterChange({ count: newCount }),
|
|
6477
7112
|
disableInlineMenu: true,
|
|
6478
|
-
inputWhenNoVariables: /* @__PURE__ */
|
|
6479
|
-
|
|
7113
|
+
inputWhenNoVariables: /* @__PURE__ */ jsx60(
|
|
7114
|
+
Input5,
|
|
6480
7115
|
{
|
|
6481
7116
|
id: "qf_count",
|
|
6482
7117
|
label: countLabel,
|
|
@@ -6490,8 +7125,8 @@ var QueryFilter = ({
|
|
|
6490
7125
|
}
|
|
6491
7126
|
)
|
|
6492
7127
|
] }),
|
|
6493
|
-
/* @__PURE__ */
|
|
6494
|
-
/* @__PURE__ */
|
|
7128
|
+
/* @__PURE__ */ jsxs37("div", { css: ObjectSearchFilterGrid("2fr 1fr"), children: [
|
|
7129
|
+
/* @__PURE__ */ jsx60(
|
|
6495
7130
|
InputVariables,
|
|
6496
7131
|
{
|
|
6497
7132
|
id: "qf_sortBy",
|
|
@@ -6499,7 +7134,7 @@ var QueryFilter = ({
|
|
|
6499
7134
|
value: queryState.sortBy,
|
|
6500
7135
|
onChange: (newSortBy) => handleFilterChange({ sortBy: newSortBy }),
|
|
6501
7136
|
disableInlineMenu: true,
|
|
6502
|
-
inputWhenNoVariables: /* @__PURE__ */
|
|
7137
|
+
inputWhenNoVariables: /* @__PURE__ */ jsx60(
|
|
6503
7138
|
InputSelect7,
|
|
6504
7139
|
{
|
|
6505
7140
|
label: sortLabel,
|
|
@@ -6521,7 +7156,7 @@ var QueryFilter = ({
|
|
|
6521
7156
|
)
|
|
6522
7157
|
}
|
|
6523
7158
|
),
|
|
6524
|
-
/* @__PURE__ */
|
|
7159
|
+
/* @__PURE__ */ jsx60(
|
|
6525
7160
|
InputVariables,
|
|
6526
7161
|
{
|
|
6527
7162
|
label: sortOrderLabel,
|
|
@@ -6529,7 +7164,7 @@ var QueryFilter = ({
|
|
|
6529
7164
|
value: queryState.sortOrder,
|
|
6530
7165
|
onChange: (newSort) => handleFilterChange({ sortOrder: newSort }),
|
|
6531
7166
|
disableInlineMenu: true,
|
|
6532
|
-
inputWhenNoVariables: /* @__PURE__ */
|
|
7167
|
+
inputWhenNoVariables: /* @__PURE__ */ jsx60(
|
|
6533
7168
|
InputSelect7,
|
|
6534
7169
|
{
|
|
6535
7170
|
label: sortOrderLabel,
|
|
@@ -6572,7 +7207,7 @@ import {
|
|
|
6572
7207
|
Button as Button6,
|
|
6573
7208
|
Callout as Callout5,
|
|
6574
7209
|
Heading,
|
|
6575
|
-
Input as
|
|
7210
|
+
Input as Input6,
|
|
6576
7211
|
InputComboBox,
|
|
6577
7212
|
InputKeywordSearch as InputKeywordSearch4,
|
|
6578
7213
|
InputSelect as InputSelect8,
|
|
@@ -6581,7 +7216,7 @@ import {
|
|
|
6581
7216
|
LoadingIndicator as LoadingIndicator4,
|
|
6582
7217
|
LoadingOverlay as LoadingOverlay2,
|
|
6583
7218
|
Menu as Menu3,
|
|
6584
|
-
MenuItem as
|
|
7219
|
+
MenuItem as MenuItem4,
|
|
6585
7220
|
ParameterGroup,
|
|
6586
7221
|
ParameterImage,
|
|
6587
7222
|
ParameterImageInner,
|
|
@@ -6619,7 +7254,7 @@ export {
|
|
|
6619
7254
|
EntrySearch,
|
|
6620
7255
|
Heading,
|
|
6621
7256
|
icons_exports as Icons,
|
|
6622
|
-
|
|
7257
|
+
Input6 as Input,
|
|
6623
7258
|
InputComboBox,
|
|
6624
7259
|
InputKeywordSearch4 as InputKeywordSearch,
|
|
6625
7260
|
InputSelect8 as InputSelect,
|
|
@@ -6630,7 +7265,7 @@ export {
|
|
|
6630
7265
|
LoadingIndicator4 as LoadingIndicator,
|
|
6631
7266
|
LoadingOverlay2 as LoadingOverlay,
|
|
6632
7267
|
Menu3 as Menu,
|
|
6633
|
-
|
|
7268
|
+
MenuItem4 as MenuItem,
|
|
6634
7269
|
MeshApp,
|
|
6635
7270
|
ObjectSearchContainer,
|
|
6636
7271
|
ObjectSearchFilter,
|
|
@@ -6758,7 +7393,6 @@ export {
|
|
|
6758
7393
|
useRequestParameter,
|
|
6759
7394
|
useUniformMeshSdk,
|
|
6760
7395
|
useVariables,
|
|
6761
|
-
variableExpression,
|
|
6762
7396
|
variablePrefix,
|
|
6763
7397
|
variableSuffix,
|
|
6764
7398
|
variablesToList
|