@uniformdev/mesh-sdk-react 18.13.1-alpha.1 → 18.15.0

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.mjs CHANGED
@@ -2635,7 +2635,7 @@ function DefaultDamItemRenderer({ item }) {
2635
2635
  }
2636
2636
 
2637
2637
  // src/components/DataResourceVariablesList.tsx
2638
- import { Callout as Callout3, Input as Input3 } from "@uniformdev/design-system";
2638
+ import { Callout as Callout3, Input as Input4 } from "@uniformdev/design-system";
2639
2639
 
2640
2640
  // src/hooks/useMeshLocation.ts
2641
2641
  import { useMemo as useMemo4, useRef as useRef7 } from "react";
@@ -2737,22 +2737,55 @@ function useMeshLocation(expectedLocation) {
2737
2737
  }
2738
2738
 
2739
2739
  // src/components/Variables/InputVariables.tsx
2740
- import { Global } from "@emotion/react";
2741
- import Tags from "@yaireo/tagify/dist/react.tagify";
2740
+ import { Input as Input3 } from "@uniformdev/design-system";
2742
2741
  import * as React11 from "react";
2743
2742
 
2744
- // src/components/Variables/InputVariables.styles.ts
2743
+ // src/components/Variables/InsertVariableMenu.tsx
2744
+ import { Icon as Icon5, Menu as Menu2, MenuItem as MenuItem2, MenuItemSeparator } from "@uniformdev/design-system";
2745
+ import { useEffect as useEffect5, useRef as useRef8 } from "react";
2746
+
2747
+ // src/components/Variables/styles/InsertVariableMenu.styles.ts
2745
2748
  import { css as css18 } from "@emotion/react";
2746
- var variablesFormContainer = css18`
2749
+ var menuContainer = css18`
2750
+ position: relative;
2751
+ `;
2752
+ var menuBtn = css18`
2753
+ background: none;
2754
+ border: none;
2755
+ color: var(--gray-300);
2756
+ padding: 0;
2757
+ position: absolute;
2758
+ bottom: 25%;
2759
+ right: var(--spacing-sm);
2760
+ `;
2761
+ var menuItemTextGroup = css18`
2762
+ align-items: flex-start;
2763
+ display: flex;
2764
+ flex-direction: column;
2765
+ `;
2766
+ var smallText = css18`
2767
+ font-size: var(--fs-xs);
2768
+ `;
2769
+
2770
+ // src/components/Variables/VariablesProvider.tsx
2771
+ import * as React10 from "react";
2772
+
2773
+ // src/components/Variables/VariableEditor.tsx
2774
+ import { Button as Button2, Input as Input2 } from "@uniformdev/design-system";
2775
+ import { Form, Formik } from "formik";
2776
+
2777
+ // src/components/Variables/InputVariables.styles.ts
2778
+ import { css as css19 } from "@emotion/react";
2779
+ var variablesFormContainer = css19`
2747
2780
  > * {
2748
2781
  margin: var(--spacing-base) 0 0;
2749
2782
  }
2750
2783
  `;
2751
- var variablesFormBtnGroup = css18`
2784
+ var variablesFormBtnGroup = css19`
2752
2785
  display: flex;
2753
2786
  gap: var(--spacing-sm);
2754
2787
  `;
2755
- var tagifyStyles = css18`
2788
+ var tagifyStyles = css19`
2756
2789
  :root {
2757
2790
  --tagify-dd-color-primary: rgb(53, 149, 246);
2758
2791
  --tagify-dd-bg-color: var(--white);
@@ -3251,12 +3284,7 @@ var tagifyStyles = css18`
3251
3284
  }
3252
3285
  `;
3253
3286
 
3254
- // src/components/Variables/VariablesProvider.tsx
3255
- import * as React10 from "react";
3256
-
3257
3287
  // src/components/Variables/VariableEditor.tsx
3258
- import { Button as Button2, Input as Input2 } from "@uniformdev/design-system";
3259
- import { Form, Formik } from "formik";
3260
3288
  import { jsx as jsx28, jsxs as jsxs16 } from "@emotion/react/jsx-runtime";
3261
3289
  function VariableEditor({ variable, onSubmit, onCancel }) {
3262
3290
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
@@ -3369,23 +3397,74 @@ function useVariables() {
3369
3397
  return context;
3370
3398
  }
3371
3399
 
3372
- // src/components/Variables/InputVariables.tsx
3400
+ // src/components/Variables/InsertVariableMenu.tsx
3373
3401
  import { Fragment as Fragment4, jsx as jsx30, jsxs as jsxs18 } from "@emotion/react/jsx-runtime";
3374
- function cleanTagifyValue(rawValue) {
3375
- return rawValue.replace(/\${{.*?"value":"([^"]+)".*?}}/g, "${$1}").replace(/[\r\n]+/g, "");
3376
- }
3402
+ var InsertVariableMenu = ({
3403
+ onVariableClick,
3404
+ children,
3405
+ textValue,
3406
+ trigger = "${",
3407
+ showAddVariableMenuOption = false
3408
+ }) => {
3409
+ const { variables, dispatch } = useVariables();
3410
+ const btnRef = useRef8(null);
3411
+ const hasVariables = Object.entries(variables).length;
3412
+ useEffect5(() => {
3413
+ if (textValue === trigger && btnRef.current && btnRef.current.getAttribute("aria-expanded") === "false") {
3414
+ btnRef.current.click();
3415
+ }
3416
+ }, [textValue, btnRef, trigger]);
3417
+ return /* @__PURE__ */ jsxs18("div", { css: menuContainer, children: [
3418
+ children,
3419
+ hasVariables ? /* @__PURE__ */ jsxs18(
3420
+ Menu2,
3421
+ {
3422
+ placement: "bottom-start",
3423
+ menuTrigger: /* @__PURE__ */ jsx30("button", { ref: btnRef, css: menuBtn, type: "button", title: "Insert variable", children: /* @__PURE__ */ jsx30(Icon5, { icon: "usb-c", iconColor: "currentColor" }) }),
3424
+ menuLabel: "Insert variable",
3425
+ children: [
3426
+ Object.entries(variables).map(([key, value]) => {
3427
+ const { helpText } = value;
3428
+ return /* @__PURE__ */ jsxs18(
3429
+ MenuItem2,
3430
+ {
3431
+ id: key,
3432
+ css: menuItemTextGroup,
3433
+ onClick: () => onVariableClick(decodeURI(`\${${key}}`)),
3434
+ children: [
3435
+ /* @__PURE__ */ jsx30("span", { children: key }),
3436
+ helpText ? /* @__PURE__ */ jsx30("small", { css: smallText, children: helpText }) : null
3437
+ ]
3438
+ },
3439
+ key
3440
+ );
3441
+ }),
3442
+ showAddVariableMenuOption ? /* @__PURE__ */ jsxs18(Fragment4, { children: [
3443
+ /* @__PURE__ */ jsx30(MenuItemSeparator, {}),
3444
+ /* @__PURE__ */ jsx30(MenuItem2, { onClick: () => dispatch({ type: "edit", variable: "" }), children: "Add Variable" })
3445
+ ] }) : null
3446
+ ]
3447
+ }
3448
+ ) : null
3449
+ ] });
3450
+ };
3451
+
3452
+ // src/components/Variables/InputVariables.tsx
3453
+ import { jsx as jsx31 } from "@emotion/react/jsx-runtime";
3377
3454
  function InputVariables({
3378
3455
  "aria-label": ariaLabel,
3379
3456
  value,
3380
- disableVariables,
3381
3457
  onChange,
3382
- onPaste
3458
+ onPaste,
3459
+ onVariableClick,
3460
+ showAddVariableMenuOption,
3461
+ ...inputProps
3383
3462
  }) {
3384
3463
  const { variables, dispatch } = useVariables();
3385
3464
  const currentVariables = React11.useRef(variables);
3386
3465
  const currentDispatch = React11.useRef(dispatch);
3387
3466
  const currentSetValue = React11.useRef(onChange);
3388
- const tagifyRef = React11.useRef();
3467
+ const inputRef = React11.useRef(null);
3389
3468
  React11.useEffect(() => {
3390
3469
  currentVariables.current = variables;
3391
3470
  }, [variables]);
@@ -3396,89 +3475,41 @@ function InputVariables({
3396
3475
  currentSetValue.current = onChange;
3397
3476
  }, [onChange]);
3398
3477
  React11.useEffect(() => {
3399
- var _a;
3400
- if (((_a = tagifyRef == null ? void 0 : tagifyRef.current) == null ? void 0 : _a.DOM) && onPaste) {
3401
- tagifyRef.current.DOM.input.onpaste = () => {
3402
- var _a2, _b;
3403
- return onPaste(cleanTagifyValue((_b = (_a2 = tagifyRef.current) == null ? void 0 : _a2.getInputValue()) != null ? _b : ""));
3404
- };
3478
+ var _a, _b;
3479
+ if (((_a = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _a.value) && onPaste) {
3480
+ onPaste((_b = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _b.value);
3405
3481
  }
3406
3482
  });
3407
- React11.useEffect(() => {
3408
- var _a, _b, _c;
3409
- const currentTagifyValue = cleanTagifyValue((_b = (_a = tagifyRef.current) == null ? void 0 : _a.getInputValue()) != null ? _b : "");
3410
- if (value !== currentTagifyValue) {
3411
- (_c = tagifyRef.current) == null ? void 0 : _c.loadOriginalValues(value);
3412
- }
3413
- }, [value]);
3414
- const handleSetValue = React11.useCallback((rawValue) => {
3415
- currentSetValue.current(cleanTagifyValue(rawValue));
3416
- }, []);
3417
- const handleAddTag = React11.useCallback((newTagName) => {
3418
- if (!currentVariables.current[newTagName]) {
3419
- currentDispatch.current({
3420
- type: "set",
3421
- variable: { name: newTagName, default: "" },
3422
- openEditor: true
3423
- });
3424
- }
3425
- }, []);
3426
- return /* @__PURE__ */ jsxs18(Fragment4, { children: [
3427
- /* @__PURE__ */ jsx30(Global, { styles: tagifyStyles }),
3428
- /* @__PURE__ */ jsx30(
3429
- Tags,
3430
- {
3431
- tagifyRef,
3432
- "aria-label": ariaLabel,
3433
- defaultValue: value,
3434
- autoFocus: false,
3435
- whitelist: Object.entries(variables).map(([k, v]) => {
3436
- var _a;
3437
- return { name: (_a = v.displayName) != null ? _a : k, value: k };
3438
- }),
3439
- settings: {
3440
- pattern: disableVariables ? null : /\$/,
3441
- enforceWhitelist: disableVariables,
3442
- mixTagsInterpolator: ["${", "}"],
3443
- duplicates: true,
3444
- tagTextProp: "name",
3445
- dropdown: {
3446
- position: "text",
3447
- enabled: 0,
3448
- mapValueTo: (v) => v.name,
3449
- includeSelectedTags: true,
3450
- searchKeys: ["name", "value"],
3451
- highlightFirst: true
3452
- }
3453
- },
3454
- InputMode: "textarea",
3455
- onAdd: (e) => {
3456
- var _a;
3457
- const newTagName = (_a = e.detail.data) == null ? void 0 : _a.value;
3458
- if (newTagName) {
3459
- handleAddTag(newTagName);
3460
- }
3461
- },
3462
- onRemove: (e) => {
3463
- handleSetValue(e.detail.tagify.getInputValue());
3464
- },
3465
- onChange: (e) => {
3466
- handleSetValue(e.detail.value);
3467
- },
3468
- onInput: (e) => {
3469
- handleSetValue(e.detail.tagify.getInputValue());
3483
+ const handleSetValue = (rawValue) => {
3484
+ currentSetValue.current(rawValue);
3485
+ };
3486
+ return /* @__PURE__ */ jsx31(
3487
+ InsertVariableMenu,
3488
+ {
3489
+ showAddVariableMenuOption,
3490
+ textValue: value,
3491
+ onVariableClick,
3492
+ children: /* @__PURE__ */ jsx31(
3493
+ Input3,
3494
+ {
3495
+ ref: inputRef,
3496
+ label: ariaLabel,
3497
+ showLabel: false,
3498
+ value,
3499
+ onChange: (e) => handleSetValue(e.currentTarget.value),
3500
+ ...inputProps
3470
3501
  }
3471
- }
3472
- )
3473
- ] });
3502
+ )
3503
+ }
3504
+ );
3474
3505
  }
3475
3506
 
3476
3507
  // src/components/Variables/VariablesList.tsx
3477
- import { css as css20 } from "@emotion/react";
3508
+ import { css as css21 } from "@emotion/react";
3478
3509
  import {
3479
3510
  AddListButton,
3480
3511
  button,
3481
- Icon as Icon5,
3512
+ Icon as Icon6,
3482
3513
  Table,
3483
3514
  TableBody,
3484
3515
  TableCellData,
@@ -3489,8 +3520,8 @@ import {
3489
3520
  import { DragDropContext as DragDropContext2, Draggable as Draggable2, Droppable as Droppable2 } from "react-beautiful-dnd";
3490
3521
 
3491
3522
  // src/components/Variables/styles/VariablesList.styles.ts
3492
- import { css as css19 } from "@emotion/react";
3493
- var tableRow = (isDragging) => css19`
3523
+ import { css as css20 } from "@emotion/react";
3524
+ var tableRow = (isDragging) => css20`
3494
3525
  position: relative;
3495
3526
  ${isDragging ? `
3496
3527
  display: table;
@@ -3498,7 +3529,7 @@ var tableRow = (isDragging) => css19`
3498
3529
  top: auto !important;
3499
3530
  ` : void 0}
3500
3531
  `;
3501
- var tableCellDragIcon = css19`
3532
+ var tableCellDragIcon = css20`
3502
3533
  &::after {
3503
3534
  content: '';
3504
3535
  display: block;
@@ -3516,7 +3547,7 @@ var tableCellDragIcon = css19`
3516
3547
  opacity: 1;
3517
3548
  }
3518
3549
  `;
3519
- var variableName = css19`
3550
+ var variableName = css20`
3520
3551
  border: none;
3521
3552
  color: var(--brand-secondary-5);
3522
3553
  font-weight: var(--fw-medium);
@@ -3527,7 +3558,7 @@ var variableName = css19`
3527
3558
  white-space: nowrap;
3528
3559
  max-width: 20ch;
3529
3560
  `;
3530
- var variableValue = css19`
3561
+ var variableValue = css20`
3531
3562
  overflow: hidden;
3532
3563
  text-overflow: ellipsis;
3533
3564
  white-space: nowrap;
@@ -3553,7 +3584,7 @@ function variablesToList(variables) {
3553
3584
  }
3554
3585
 
3555
3586
  // src/components/Variables/VariablesList.tsx
3556
- import { Fragment as Fragment5, jsx as jsx31, jsxs as jsxs19 } from "@emotion/react/jsx-runtime";
3587
+ import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs19 } from "@emotion/react/jsx-runtime";
3557
3588
  function VariablesList() {
3558
3589
  const { variables, dispatch } = useVariables();
3559
3590
  const sorted = variablesToList(variables);
@@ -3575,16 +3606,16 @@ function VariablesList() {
3575
3606
  }
3576
3607
  };
3577
3608
  return /* @__PURE__ */ jsxs19(Fragment5, { children: [
3578
- /* @__PURE__ */ jsx31(DragDropContext2, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ jsx31(Droppable2, { droppableId: "variables-table", children: (provided) => /* @__PURE__ */ jsxs19(Table, { ...provided.droppableProps, ref: provided.innerRef, children: [
3579
- /* @__PURE__ */ jsx31(TableHead, { children: /* @__PURE__ */ jsxs19(TableRow, { children: [
3580
- /* @__PURE__ */ jsx31(TableCellHead, { children: "Name" }),
3581
- /* @__PURE__ */ jsx31(TableCellHead, { children: "Default Value" }),
3582
- /* @__PURE__ */ jsx31(TableCellHead, {})
3609
+ /* @__PURE__ */ jsx32(DragDropContext2, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ jsx32(Droppable2, { droppableId: "variables-table", children: (provided) => /* @__PURE__ */ jsxs19(Table, { ...provided.droppableProps, ref: provided.innerRef, children: [
3610
+ /* @__PURE__ */ jsx32(TableHead, { children: /* @__PURE__ */ jsxs19(TableRow, { children: [
3611
+ /* @__PURE__ */ jsx32(TableCellHead, { children: "Name" }),
3612
+ /* @__PURE__ */ jsx32(TableCellHead, { children: "Default Value" }),
3613
+ /* @__PURE__ */ jsx32(TableCellHead, {})
3583
3614
  ] }) }),
3584
3615
  /* @__PURE__ */ jsxs19(TableBody, { children: [
3585
3616
  sorted.map(({ name, displayName, default: defaultValue }, index) => {
3586
3617
  const text = displayName != null ? displayName : name;
3587
- return /* @__PURE__ */ jsx31(
3618
+ return /* @__PURE__ */ jsx32(
3588
3619
  Draggable2,
3589
3620
  {
3590
3621
  draggableId: name,
@@ -3600,7 +3631,7 @@ function VariablesList() {
3600
3631
  css: tableRow(snapshot.isDragging),
3601
3632
  "data-dragging": snapshot.isDragging,
3602
3633
  children: [
3603
- /* @__PURE__ */ jsx31(TableCellData, { css: sorted.length > 1 ? tableCellDragIcon : void 0, children: /* @__PURE__ */ jsx31(
3634
+ /* @__PURE__ */ jsx32(TableCellData, { css: sorted.length > 1 ? tableCellDragIcon : void 0, children: /* @__PURE__ */ jsx32(
3604
3635
  "button",
3605
3636
  {
3606
3637
  css: variableName,
@@ -3613,21 +3644,21 @@ function VariablesList() {
3613
3644
  children: text
3614
3645
  }
3615
3646
  ) }),
3616
- /* @__PURE__ */ jsx31(TableCellData, { children: /* @__PURE__ */ jsx31("span", { css: variableValue, title: defaultValue, children: defaultValue }) }),
3617
- /* @__PURE__ */ jsx31(TableCellData, { align: "right", children: /* @__PURE__ */ jsx31(
3647
+ /* @__PURE__ */ jsx32(TableCellData, { children: /* @__PURE__ */ jsx32("span", { css: variableValue, title: defaultValue, children: defaultValue }) }),
3648
+ /* @__PURE__ */ jsx32(TableCellData, { align: "right", children: /* @__PURE__ */ jsx32(
3618
3649
  "button",
3619
3650
  {
3620
3651
  type: "button",
3621
3652
  title: `delete ${text}`,
3622
3653
  css: [
3623
3654
  button,
3624
- css20`
3655
+ css21`
3625
3656
  background: transparent;
3626
3657
  `
3627
3658
  ],
3628
3659
  "aria-controls": text,
3629
3660
  onClick: () => dispatch({ type: "remove", variable: name }),
3630
- children: /* @__PURE__ */ jsx31(Icon5, { icon: "trash", iconColor: "red" })
3661
+ children: /* @__PURE__ */ jsx32(Icon6, { icon: "trash", iconColor: "red" })
3631
3662
  }
3632
3663
  ) })
3633
3664
  ]
@@ -3640,7 +3671,7 @@ function VariablesList() {
3640
3671
  provided.placeholder
3641
3672
  ] })
3642
3673
  ] }) }) }),
3643
- /* @__PURE__ */ jsx31(
3674
+ /* @__PURE__ */ jsx32(
3644
3675
  AddListButton,
3645
3676
  {
3646
3677
  onButtonClick: () => dispatch({ type: "edit", variable: "" }),
@@ -3654,7 +3685,7 @@ function VariablesList() {
3654
3685
  }
3655
3686
 
3656
3687
  // src/components/DataResourceVariablesList.tsx
3657
- import { jsx as jsx32, jsxs as jsxs20 } from "@emotion/react/jsx-runtime";
3688
+ import { jsx as jsx33, jsxs as jsxs20 } from "@emotion/react/jsx-runtime";
3658
3689
  function DataResourceVariablesList({
3659
3690
  setVariables,
3660
3691
  noVariables: NoVariablesComponent,
@@ -3667,14 +3698,14 @@ function DataResourceVariablesList({
3667
3698
  const variableDefinitions = variablesToList(dataType.variables);
3668
3699
  if (variableDefinitions.length === 0) {
3669
3700
  if (NoVariablesComponent) {
3670
- return /* @__PURE__ */ jsx32(NoVariablesComponent, {});
3701
+ return /* @__PURE__ */ jsx33(NoVariablesComponent, {});
3671
3702
  }
3672
- return /* @__PURE__ */ jsx32(Callout3, { type: "note", children: "No settings are required." });
3703
+ return /* @__PURE__ */ jsx33(Callout3, { type: "note", children: "No settings are required." });
3673
3704
  }
3674
- return /* @__PURE__ */ jsx32("div", { children: variableDefinitions.map((variableDefinition) => {
3705
+ return /* @__PURE__ */ jsx33("div", { children: variableDefinitions.map((variableDefinition) => {
3675
3706
  var _a, _b, _c;
3676
3707
  const VariableRenderer = variableDefinition.type ? (_a = typeRenderers == null ? void 0 : typeRenderers[variableDefinition.type]) != null ? _a : TextVariableRenderer : TextVariableRenderer;
3677
- return /* @__PURE__ */ jsx32("div", { children: /* @__PURE__ */ jsx32(
3708
+ return /* @__PURE__ */ jsx33("div", { children: /* @__PURE__ */ jsx33(
3678
3709
  VariableRenderer,
3679
3710
  {
3680
3711
  definition: variableDefinition,
@@ -3697,8 +3728,8 @@ function DataResourceVariablesList({
3697
3728
  }
3698
3729
  function TextVariableRenderer({ definition, value, setValue }) {
3699
3730
  return /* @__PURE__ */ jsxs20("div", { children: [
3700
- /* @__PURE__ */ jsx32(
3701
- Input3,
3731
+ /* @__PURE__ */ jsx33(
3732
+ Input4,
3702
3733
  {
3703
3734
  label: definition.displayName || definition.name,
3704
3735
  value,
@@ -3716,14 +3747,14 @@ function TextVariableRenderer({ definition, value, setValue }) {
3716
3747
  }
3717
3748
 
3718
3749
  // src/components/Request/RequestBody.tsx
3719
- import { css as css22 } from "@emotion/react";
3750
+ import { css as css23 } from "@emotion/react";
3720
3751
  import Editor from "@monaco-editor/react";
3721
3752
  import { InputSelect as InputSelect4 } from "@uniformdev/design-system";
3722
3753
  import { useState as useState8 } from "react";
3723
3754
 
3724
3755
  // src/components/Request/RequestProvider.tsx
3725
3756
  import * as React12 from "react";
3726
- import { jsx as jsx33 } from "@emotion/react/jsx-runtime";
3757
+ import { jsx as jsx34 } from "@emotion/react/jsx-runtime";
3727
3758
  var RequestContext = React12.createContext(null);
3728
3759
  function RequestProvider({ value, onChange, children }) {
3729
3760
  const contextValue = React12.useMemo(() => {
@@ -3792,7 +3823,7 @@ function RequestProvider({ value, onChange, children }) {
3792
3823
  request: value
3793
3824
  };
3794
3825
  }, [onChange, value]);
3795
- return /* @__PURE__ */ jsx33(RequestContext.Provider, { value: contextValue, children });
3826
+ return /* @__PURE__ */ jsx34(RequestContext.Provider, { value: contextValue, children });
3796
3827
  }
3797
3828
  function useRequest() {
3798
3829
  const context = React12.useContext(RequestContext);
@@ -3803,11 +3834,11 @@ function useRequest() {
3803
3834
  }
3804
3835
 
3805
3836
  // src/components/Request/styles/Request.styles.ts
3806
- import { css as css21 } from "@emotion/react";
3807
- var innerContentStyles = css21`
3837
+ import { css as css22 } from "@emotion/react";
3838
+ var innerContentStyles = css22`
3808
3839
  background: var(--white);
3809
3840
  `;
3810
- var requestTypeContainer = (bgColor) => css21`
3841
+ var requestTypeContainer = (bgColor) => css22`
3811
3842
  align-items: start;
3812
3843
  background: ${bgColor};
3813
3844
  display: grid;
@@ -3816,17 +3847,17 @@ var requestTypeContainer = (bgColor) => css21`
3816
3847
  `;
3817
3848
 
3818
3849
  // src/components/Request/RequestTypeContainer.tsx
3819
- import { jsx as jsx34 } from "@emotion/react/jsx-runtime";
3850
+ import { jsx as jsx35 } from "@emotion/react/jsx-runtime";
3820
3851
  var RequestTypeContainer = ({
3821
3852
  bgColor = "transparent",
3822
3853
  children,
3823
3854
  ...props
3824
3855
  }) => {
3825
- return /* @__PURE__ */ jsx34("div", { css: requestTypeContainer(bgColor), ...props, children });
3856
+ return /* @__PURE__ */ jsx35("div", { css: requestTypeContainer(bgColor), ...props, children });
3826
3857
  };
3827
3858
 
3828
3859
  // src/components/Request/RequestBody.tsx
3829
- import { jsx as jsx35, jsxs as jsxs21 } from "@emotion/react/jsx-runtime";
3860
+ import { jsx as jsx36, jsxs as jsxs21 } from "@emotion/react/jsx-runtime";
3830
3861
  var LANGUAGE_OPTIONS = [
3831
3862
  { label: "Text", value: "plaintext" },
3832
3863
  { label: "JSON", value: "json" },
@@ -3849,18 +3880,18 @@ function RequestBody() {
3849
3880
  return /* @__PURE__ */ jsxs21(
3850
3881
  "div",
3851
3882
  {
3852
- css: css22`
3883
+ css: css23`
3853
3884
  background: var(--white);
3854
3885
  `,
3855
3886
  children: [
3856
- /* @__PURE__ */ jsx35(
3887
+ /* @__PURE__ */ jsx36(
3857
3888
  RequestTypeContainer,
3858
3889
  {
3859
3890
  bgColor: "var(--gray-100)",
3860
- css: css22`
3891
+ css: css23`
3861
3892
  padding: var(--spacing-sm) var(--spacing-base);
3862
3893
  `,
3863
- children: /* @__PURE__ */ jsx35(
3894
+ children: /* @__PURE__ */ jsx36(
3864
3895
  InputSelect4,
3865
3896
  {
3866
3897
  label: "Language",
@@ -3883,7 +3914,7 @@ function RequestBody() {
3883
3914
  )
3884
3915
  }
3885
3916
  ),
3886
- /* @__PURE__ */ jsx35(
3917
+ /* @__PURE__ */ jsx36(
3887
3918
  Editor,
3888
3919
  {
3889
3920
  height: 200,
@@ -3908,7 +3939,7 @@ function RequestBody() {
3908
3939
 
3909
3940
  // src/components/Request/RequestHeaders.tsx
3910
3941
  import {
3911
- Input as Input4,
3942
+ Input as Input5,
3912
3943
  Table as Table2,
3913
3944
  TableBody as TableBody2,
3914
3945
  TableCellData as TableCellData2,
@@ -3917,77 +3948,85 @@ import {
3917
3948
  TableRow as TableRow2,
3918
3949
  WarningMessage
3919
3950
  } from "@uniformdev/design-system";
3920
- import { jsx as jsx36, jsxs as jsxs22 } from "@emotion/react/jsx-runtime";
3951
+ import { jsx as jsx37, jsxs as jsxs22 } from "@emotion/react/jsx-runtime";
3921
3952
  function RequestHeaders({ disableVariables }) {
3922
3953
  var _a, _b;
3923
3954
  const { dispatch, request } = useRequest();
3924
3955
  const deezHeaders = [...request.headers, { key: "", value: "" }];
3925
- return /* @__PURE__ */ jsx36("div", { css: innerContentStyles, children: /* @__PURE__ */ jsxs22(Table2, { children: [
3926
- /* @__PURE__ */ jsx36(TableHead2, { children: /* @__PURE__ */ jsxs22(TableRow2, { children: [
3927
- /* @__PURE__ */ jsx36(TableCellHead2, { children: "Name" }),
3928
- /* @__PURE__ */ jsx36(TableCellHead2, { children: "Value" })
3956
+ const handleUpdateParamFromMenu = ({
3957
+ key,
3958
+ value,
3959
+ index
3960
+ }) => {
3961
+ dispatch({
3962
+ type: "updateHeader",
3963
+ header: { key, value },
3964
+ index
3965
+ });
3966
+ };
3967
+ return /* @__PURE__ */ jsx37("div", { css: innerContentStyles, children: /* @__PURE__ */ jsxs22(Table2, { children: [
3968
+ /* @__PURE__ */ jsx37(TableHead2, { children: /* @__PURE__ */ jsxs22(TableRow2, { children: [
3969
+ /* @__PURE__ */ jsx37(TableCellHead2, { children: "Name" }),
3970
+ /* @__PURE__ */ jsx37(TableCellHead2, { children: "Value" })
3929
3971
  ] }) }),
3930
3972
  /* @__PURE__ */ jsxs22(TableBody2, { children: [
3931
3973
  (_b = (_a = request.baseRequest) == null ? void 0 : _a.headers) == null ? void 0 : _b.map((baseHeader) => {
3932
3974
  return /* @__PURE__ */ jsxs22(TableRow2, { children: [
3933
3975
  /* @__PURE__ */ jsxs22(TableCellData2, { width: "50%", children: [
3934
3976
  baseHeader.key,
3935
- /* @__PURE__ */ jsx36("br", {}),
3936
- /* @__PURE__ */ jsx36("i", { css: { color: "var(--gray-500)" }, children: /* @__PURE__ */ jsx36("small", { children: "from data source" }) })
3977
+ /* @__PURE__ */ jsx37("br", {}),
3978
+ /* @__PURE__ */ jsx37("i", { css: { color: "var(--gray-500)" }, children: /* @__PURE__ */ jsx37("small", { children: "from data source" }) })
3937
3979
  ] }),
3938
3980
  /* @__PURE__ */ jsxs22(TableCellData2, { width: "50%", children: [
3939
- /* @__PURE__ */ jsx36("i", { css: { color: "var(--gray-500)" }, children: baseHeader.value }),
3940
- request.headers.find((p) => p.key === baseHeader.key) ? /* @__PURE__ */ jsx36(WarningMessage, { message: "overridden below" }) : null
3981
+ /* @__PURE__ */ jsx37("i", { css: { color: "var(--gray-500)" }, children: baseHeader.value }),
3982
+ request.headers.find((p) => p.key === baseHeader.key) ? /* @__PURE__ */ jsx37(WarningMessage, { message: "overridden below" }) : null
3941
3983
  ] })
3942
3984
  ] }, baseHeader.key);
3943
3985
  }),
3944
- deezHeaders.map((header, index) => /* @__PURE__ */ jsxs22(TableRow2, { children: [
3945
- /* @__PURE__ */ jsx36(TableCellData2, { width: "50%", children: /* @__PURE__ */ jsx36(
3946
- Input4,
3947
- {
3948
- label: header.key,
3949
- value: header.key,
3950
- showLabel: false,
3951
- onChange: (e) => {
3952
- if (e.currentTarget.value) {
3953
- dispatch({
3954
- type: "updateHeader",
3955
- header: { key: e.currentTarget.value, value: header.value },
3956
- index
3957
- });
3958
- } else {
3959
- dispatch({ type: "removeHeader", index });
3960
- }
3961
- },
3962
- "data-test-id": "header-key"
3963
- }
3964
- ) }),
3965
- /* @__PURE__ */ jsx36(TableCellData2, { width: "50%", children: header.key ? /* @__PURE__ */ jsx36(
3966
- Input4,
3967
- {
3968
- showLabel: false,
3969
- label: header.value,
3970
- value: header.value,
3971
- onChange: (e) => dispatch({
3972
- type: "updateHeader",
3973
- header: { key: header.key, value: e.currentTarget.value },
3974
- index
3975
- }),
3976
- "data-test-id": "header-value"
3977
- }
3978
- ) : null })
3979
- ] }, index))
3986
+ deezHeaders.map((header, index) => {
3987
+ return /* @__PURE__ */ jsxs22(TableRow2, { children: [
3988
+ /* @__PURE__ */ jsx37(TableCellData2, { width: "50%", children: /* @__PURE__ */ jsx37(
3989
+ Input5,
3990
+ {
3991
+ label: header.key,
3992
+ value: header.key,
3993
+ showLabel: false,
3994
+ onChange: (e) => {
3995
+ if (e.currentTarget.value) {
3996
+ dispatch({
3997
+ type: "updateHeader",
3998
+ header: { key: e.currentTarget.value, value: header.value },
3999
+ index
4000
+ });
4001
+ } else {
4002
+ dispatch({ type: "removeHeader", index });
4003
+ }
4004
+ },
4005
+ "data-test-id": "header-key"
4006
+ }
4007
+ ) }),
4008
+ /* @__PURE__ */ jsx37(TableCellData2, { width: "50%", children: header.key ? /* @__PURE__ */ jsx37(
4009
+ InputVariables,
4010
+ {
4011
+ value: header.value,
4012
+ onChange: (value) => handleUpdateParamFromMenu({ key: header.key, value, index }),
4013
+ onVariableClick: (value) => handleUpdateParamFromMenu({ key: header.key, value, index }),
4014
+ "data-test-id": "header-value"
4015
+ }
4016
+ ) : null })
4017
+ ] }, index);
4018
+ })
3980
4019
  ] })
3981
4020
  ] }) });
3982
4021
  }
3983
4022
 
3984
4023
  // src/components/Request/RequestMethodSelect.tsx
3985
4024
  import { InputSelect as InputSelect5 } from "@uniformdev/design-system";
3986
- import { jsx as jsx37 } from "@emotion/react/jsx-runtime";
4025
+ import { jsx as jsx38 } from "@emotion/react/jsx-runtime";
3987
4026
  function RequestMethodSelect(props) {
3988
4027
  var _a;
3989
4028
  const { request, dispatch } = useRequest();
3990
- return /* @__PURE__ */ jsx37(
4029
+ return /* @__PURE__ */ jsx38(
3991
4030
  InputSelect5,
3992
4031
  {
3993
4032
  ...props,
@@ -4004,7 +4043,7 @@ function RequestMethodSelect(props) {
4004
4043
 
4005
4044
  // src/components/Request/RequestParameters.tsx
4006
4045
  import {
4007
- Input as Input5,
4046
+ Input as Input6,
4008
4047
  Table as Table3,
4009
4048
  TableBody as TableBody3,
4010
4049
  TableCellData as TableCellData3,
@@ -4013,72 +4052,88 @@ import {
4013
4052
  TableRow as TableRow3,
4014
4053
  WarningMessage as WarningMessage2
4015
4054
  } from "@uniformdev/design-system";
4016
- import { jsx as jsx38, jsxs as jsxs23 } from "@emotion/react/jsx-runtime";
4055
+ import { jsx as jsx39, jsxs as jsxs23 } from "@emotion/react/jsx-runtime";
4017
4056
  function RequestParameters({ disableVariables }) {
4018
4057
  var _a, _b;
4019
4058
  const { dispatch, request } = useRequest();
4020
4059
  const deezParameters = [...request.parameters, { key: "", value: "" }];
4021
- return /* @__PURE__ */ jsx38("div", { css: innerContentStyles, children: /* @__PURE__ */ jsxs23(Table3, { children: [
4022
- /* @__PURE__ */ jsx38(TableHead3, { children: /* @__PURE__ */ jsxs23(TableRow3, { children: [
4023
- /* @__PURE__ */ jsx38(TableCellHead3, { children: "Name" }),
4024
- /* @__PURE__ */ jsx38(TableCellHead3, { children: "Value" })
4060
+ const handleUpdateParamFromMenu = ({
4061
+ key,
4062
+ value,
4063
+ index
4064
+ }) => {
4065
+ dispatch({
4066
+ type: "updateParameter",
4067
+ parameter: { key, value },
4068
+ index
4069
+ });
4070
+ };
4071
+ return /* @__PURE__ */ jsx39("div", { css: innerContentStyles, children: /* @__PURE__ */ jsxs23(Table3, { children: [
4072
+ /* @__PURE__ */ jsx39(TableHead3, { children: /* @__PURE__ */ jsxs23(TableRow3, { children: [
4073
+ /* @__PURE__ */ jsx39(TableCellHead3, { children: "Name" }),
4074
+ /* @__PURE__ */ jsx39(TableCellHead3, { children: "Value" })
4025
4075
  ] }) }),
4026
4076
  /* @__PURE__ */ jsxs23(TableBody3, { children: [
4027
4077
  (_b = (_a = request.baseRequest) == null ? void 0 : _a.parameters) == null ? void 0 : _b.map((baseParameter) => {
4028
4078
  return /* @__PURE__ */ jsxs23(TableRow3, { children: [
4029
4079
  /* @__PURE__ */ jsxs23(TableCellData3, { width: "50%", children: [
4030
4080
  baseParameter.key,
4031
- /* @__PURE__ */ jsx38("br", {}),
4032
- /* @__PURE__ */ jsx38("i", { css: { color: "var(--gray-500)" }, children: /* @__PURE__ */ jsx38("small", { children: "from data source" }) })
4081
+ /* @__PURE__ */ jsx39("br", {}),
4082
+ /* @__PURE__ */ jsx39("i", { css: { color: "var(--gray-500)" }, children: /* @__PURE__ */ jsx39("small", { children: "from data source" }) })
4033
4083
  ] }),
4034
4084
  /* @__PURE__ */ jsxs23(TableCellData3, { width: "50%", children: [
4035
- /* @__PURE__ */ jsx38("i", { css: { color: "var(--gray-500)" }, children: baseParameter.value }),
4036
- request.parameters.find((p) => p.key === baseParameter.key) ? /* @__PURE__ */ jsx38(WarningMessage2, { message: "overridden below" }) : null
4085
+ /* @__PURE__ */ jsx39("i", { css: { color: "var(--gray-500)" }, children: baseParameter.value }),
4086
+ request.parameters.find((p) => p.key === baseParameter.key) ? /* @__PURE__ */ jsx39(WarningMessage2, { message: "overridden below" }) : null
4037
4087
  ] })
4038
4088
  ] }, baseParameter.key);
4039
4089
  }),
4040
- deezParameters.map((parameter, index) => /* @__PURE__ */ jsxs23(TableRow3, { children: [
4041
- /* @__PURE__ */ jsx38(TableCellData3, { width: "50%", children: /* @__PURE__ */ jsx38(
4042
- Input5,
4043
- {
4044
- label: parameter.key,
4045
- value: parameter.key,
4046
- showLabel: false,
4047
- onChange: (e) => {
4048
- if (e.currentTarget.value) {
4049
- dispatch({
4050
- type: "updateParameter",
4051
- parameter: { key: e.currentTarget.value, value: parameter.value },
4052
- index
4053
- });
4054
- } else {
4055
- dispatch({ type: "removeParameter", index });
4056
- }
4057
- },
4058
- "data-test-id": "parameter-key"
4059
- }
4060
- ) }),
4061
- /* @__PURE__ */ jsx38(TableCellData3, { width: "50%", children: parameter.key ? /* @__PURE__ */ jsx38(
4062
- Input5,
4063
- {
4064
- showLabel: false,
4065
- label: parameter.value,
4066
- value: parameter.value,
4067
- onChange: (e) => dispatch({
4068
- type: "updateParameter",
4069
- parameter: { key: parameter.key, value: e.currentTarget.value },
4070
- index
4071
- }),
4072
- "data-test-id": "parameter-value"
4073
- }
4074
- ) : null })
4075
- ] }, index))
4090
+ deezParameters.map((parameter, index) => {
4091
+ return /* @__PURE__ */ jsxs23(TableRow3, { children: [
4092
+ /* @__PURE__ */ jsx39(TableCellData3, { width: "50%", children: /* @__PURE__ */ jsx39(
4093
+ Input6,
4094
+ {
4095
+ label: parameter.key,
4096
+ value: parameter.key,
4097
+ showLabel: false,
4098
+ onChange: (e) => {
4099
+ if (e.currentTarget.value) {
4100
+ dispatch({
4101
+ type: "updateParameter",
4102
+ parameter: { key: e.currentTarget.value, value: parameter.value },
4103
+ index
4104
+ });
4105
+ } else {
4106
+ dispatch({ type: "removeParameter", index });
4107
+ }
4108
+ },
4109
+ "data-test-id": "parameter-key"
4110
+ }
4111
+ ) }),
4112
+ /* @__PURE__ */ jsx39(TableCellData3, { width: "50%", children: parameter.key ? /* @__PURE__ */ jsx39(
4113
+ InputVariables,
4114
+ {
4115
+ value: parameter.value,
4116
+ onChange: (selectedVariable) => handleUpdateParamFromMenu({
4117
+ key: parameter.key,
4118
+ value: selectedVariable,
4119
+ index
4120
+ }),
4121
+ onVariableClick: (selectedVariable) => handleUpdateParamFromMenu({
4122
+ key: parameter.key,
4123
+ value: selectedVariable,
4124
+ index
4125
+ }),
4126
+ "data-test-id": "parameter-value"
4127
+ }
4128
+ ) : null })
4129
+ ] }, index);
4130
+ })
4076
4131
  ] })
4077
4132
  ] }) });
4078
4133
  }
4079
4134
 
4080
4135
  // src/components/Request/RequestUrl.tsx
4081
- import { css as css23 } from "@emotion/react";
4136
+ import { css as css24 } from "@emotion/react";
4082
4137
  import { useMemo as useMemo6 } from "react";
4083
4138
 
4084
4139
  // src/components/Request/urlEncodeRequestParameter.ts
@@ -4100,7 +4155,7 @@ function decodeVariablesInUrlEncodedString(string, varValues) {
4100
4155
  }
4101
4156
 
4102
4157
  // src/components/Request/RequestUrl.tsx
4103
- import { Fragment as Fragment6, jsx as jsx39, jsxs as jsxs24 } from "@emotion/react/jsx-runtime";
4158
+ import { Fragment as Fragment6, jsx as jsx40, jsxs as jsxs24 } from "@emotion/react/jsx-runtime";
4104
4159
  function RequestUrl() {
4105
4160
  var _a, _b;
4106
4161
  const { variables } = useVariables();
@@ -4115,13 +4170,13 @@ function RequestUrl() {
4115
4170
  return /* @__PURE__ */ jsxs24(
4116
4171
  "small",
4117
4172
  {
4118
- css: css23`
4173
+ css: css24`
4119
4174
  display: inline-block;
4120
4175
  margin-bottom: var(--spacing-xs);
4121
4176
  word-break: break-word;
4122
4177
  `,
4123
4178
  children: [
4124
- request.baseRequest ? /* @__PURE__ */ jsx39("span", { children: (_b = request.baseRequest) == null ? void 0 : _b.baseUrl }) : null,
4179
+ request.baseRequest ? /* @__PURE__ */ jsx40("span", { children: (_b = request.baseRequest) == null ? void 0 : _b.baseUrl }) : null,
4125
4180
  /* @__PURE__ */ jsxs24("span", { css: { fontWeight: request.baseRequest ? "bold" : "inherit" }, children: [
4126
4181
  urlEncodeRequestUrl(request.relativeUrl, variables),
4127
4182
  mergedParameters.length > 0 ? /* @__PURE__ */ jsxs24(Fragment6, { children: [
@@ -4143,10 +4198,10 @@ function RequestUrl() {
4143
4198
  }
4144
4199
 
4145
4200
  // src/components/Request/RequestUrlInput.tsx
4146
- import { jsx as jsx40 } from "@emotion/react/jsx-runtime";
4201
+ import { jsx as jsx41 } from "@emotion/react/jsx-runtime";
4147
4202
  function RequestUrlInput(props) {
4148
4203
  const { request, dispatch } = useRequest();
4149
- return /* @__PURE__ */ jsx40(
4204
+ return /* @__PURE__ */ jsx41(
4150
4205
  InputVariables,
4151
4206
  {
4152
4207
  ...props,
@@ -4174,7 +4229,11 @@ function RequestUrlInput(props) {
4174
4229
  },
4175
4230
  onChange: (value) => {
4176
4231
  dispatch({ type: "setRelativeUrl", relativeUrl: value });
4177
- }
4232
+ },
4233
+ onVariableClick: (selectedValue) => {
4234
+ dispatch({ type: "setRelativeUrl", relativeUrl: request.relativeUrl.concat(selectedValue) });
4235
+ },
4236
+ showAddVariableMenuOption: true
4178
4237
  }
4179
4238
  );
4180
4239
  }
@@ -4214,18 +4273,18 @@ function useRequestParameter(paramName) {
4214
4273
  }
4215
4274
 
4216
4275
  // src/components/DataSourceEditor.tsx
4217
- import { jsx as jsx41 } from "@emotion/react/jsx-runtime";
4276
+ import { jsx as jsx42 } from "@emotion/react/jsx-runtime";
4218
4277
  function DataSourceEditor({ onChange, children, editVariableComponent }) {
4219
4278
  var _a;
4220
4279
  const { value } = useMeshLocation("dataSource");
4221
4280
  const currentRequestValue = convertDataSourceToRequestData(value);
4222
- return /* @__PURE__ */ jsx41(
4281
+ return /* @__PURE__ */ jsx42(
4223
4282
  VariablesProvider,
4224
4283
  {
4225
4284
  value: (_a = value.variables) != null ? _a : {},
4226
4285
  onChange: (newValue) => onChange((prev) => ({ newValue: { ...prev, variables: newValue } })),
4227
4286
  editVariableComponent,
4228
- children: /* @__PURE__ */ jsx41(
4287
+ children: /* @__PURE__ */ jsx42(
4229
4288
  RequestProvider,
4230
4289
  {
4231
4290
  value: currentRequestValue,
@@ -4262,7 +4321,7 @@ function convertRequestDataToDataSource(dataSource, requestData) {
4262
4321
  }
4263
4322
 
4264
4323
  // src/components/DataTypeEditor.tsx
4265
- import { jsx as jsx42 } from "@emotion/react/jsx-runtime";
4324
+ import { jsx as jsx43 } from "@emotion/react/jsx-runtime";
4266
4325
  function DataTypeEditor({ onChange, children, editVariableComponent }) {
4267
4326
  var _a;
4268
4327
  const {
@@ -4270,13 +4329,13 @@ function DataTypeEditor({ onChange, children, editVariableComponent }) {
4270
4329
  metadata: { dataSource }
4271
4330
  } = useMeshLocation("dataType");
4272
4331
  const currentRequestValue = convertDataTypeToRequestData(value, dataSource);
4273
- return /* @__PURE__ */ jsx42(
4332
+ return /* @__PURE__ */ jsx43(
4274
4333
  VariablesProvider,
4275
4334
  {
4276
4335
  value: (_a = value.variables) != null ? _a : {},
4277
4336
  onChange: (newValue) => onChange((prev) => ({ newValue: { ...prev, variables: newValue } })),
4278
4337
  editVariableComponent,
4279
- children: /* @__PURE__ */ jsx42(
4338
+ children: /* @__PURE__ */ jsx43(
4280
4339
  RequestProvider,
4281
4340
  {
4282
4341
  value: currentRequestValue,
@@ -4326,12 +4385,12 @@ import { LoadingIndicator as LoadingIndicator2, Theme as Theme2 } from "@uniform
4326
4385
 
4327
4386
  // src/hooks/useInitializeUniformMeshSdk.ts
4328
4387
  import { initializeUniformMeshSDK } from "@uniformdev/mesh-sdk";
4329
- import { useEffect as useEffect6, useRef as useRef9, useState as useState9 } from "react";
4388
+ import { useEffect as useEffect7, useRef as useRef10, useState as useState9 } from "react";
4330
4389
  var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
4331
4390
  const [error, setError] = useState9();
4332
4391
  const [sdk, setSdk] = useState9();
4333
- const initializationInProgress = useRef9(false);
4334
- useEffect6(
4392
+ const initializationInProgress = useRef10(false);
4393
+ useEffect7(
4335
4394
  () => {
4336
4395
  if (typeof window === "undefined" || sdk) {
4337
4396
  return;
@@ -4359,7 +4418,7 @@ var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
4359
4418
  };
4360
4419
 
4361
4420
  // src/components/MeshApp.tsx
4362
- import { jsx as jsx43, jsxs as jsxs25 } from "@emotion/react/jsx-runtime";
4421
+ import { jsx as jsx44, jsxs as jsxs25 } from "@emotion/react/jsx-runtime";
4363
4422
  var MeshApp = ({
4364
4423
  children,
4365
4424
  loadingComponent,
@@ -4368,18 +4427,18 @@ var MeshApp = ({
4368
4427
  const { initializing, error, sdk } = useInitializeUniformMeshSdk();
4369
4428
  if (initializing || !sdk) {
4370
4429
  const LoadingComponent = loadingComponent;
4371
- return LoadingComponent ? /* @__PURE__ */ jsx43(LoadingComponent, {}) : /* @__PURE__ */ jsx43(LoadingIndicator2, {});
4430
+ return LoadingComponent ? /* @__PURE__ */ jsx44(LoadingComponent, {}) : /* @__PURE__ */ jsx44(LoadingIndicator2, {});
4372
4431
  }
4373
4432
  if (error) {
4374
4433
  const ErrorComponent = errorComponent;
4375
4434
  if (ErrorComponent) {
4376
- return /* @__PURE__ */ jsx43(ErrorComponent, { error });
4435
+ return /* @__PURE__ */ jsx44(ErrorComponent, { error });
4377
4436
  }
4378
4437
  throw error;
4379
4438
  }
4380
4439
  return /* @__PURE__ */ jsxs25(UniformMeshSdkContext.Provider, { value: { sdk }, children: [
4381
- /* @__PURE__ */ jsx43(Theme2, {}),
4382
- /* @__PURE__ */ jsx43(UniformMeshLocationContextProvider, { children })
4440
+ /* @__PURE__ */ jsx44(Theme2, {}),
4441
+ /* @__PURE__ */ jsx44(UniformMeshLocationContextProvider, { children })
4383
4442
  ] });
4384
4443
  };
4385
4444
 
@@ -4403,7 +4462,7 @@ import {
4403
4462
  Button as Button3,
4404
4463
  Callout as Callout4,
4405
4464
  Heading,
4406
- Input as Input6,
4465
+ Input as Input7,
4407
4466
  InputComboBox,
4408
4467
  InputKeywordSearch as InputKeywordSearch2,
4409
4468
  InputSelect as InputSelect6,
@@ -4412,8 +4471,8 @@ import {
4412
4471
  Label,
4413
4472
  LoadingIndicator as LoadingIndicator3,
4414
4473
  LoadingOverlay as LoadingOverlay2,
4415
- Menu as Menu2,
4416
- MenuItem as MenuItem2,
4474
+ Menu as Menu3,
4475
+ MenuItem as MenuItem3,
4417
4476
  ScrollableList,
4418
4477
  ScrollableListItem,
4419
4478
  Switch,
@@ -4434,7 +4493,7 @@ export {
4434
4493
  EntrySearch,
4435
4494
  Heading,
4436
4495
  icons_exports as Icons,
4437
- Input6 as Input,
4496
+ Input7 as Input,
4438
4497
  InputComboBox,
4439
4498
  InputKeywordSearch2 as InputKeywordSearch,
4440
4499
  InputSelect6 as InputSelect,
@@ -4444,8 +4503,8 @@ export {
4444
4503
  Label,
4445
4504
  LoadingIndicator3 as LoadingIndicator,
4446
4505
  LoadingOverlay2 as LoadingOverlay,
4447
- Menu2 as Menu,
4448
- MenuItem2 as MenuItem,
4506
+ Menu3 as Menu,
4507
+ MenuItem3 as MenuItem,
4449
4508
  MeshApp,
4450
4509
  ProductPreviewList,
4451
4510
  ProductQuery,