@uniformdev/mesh-sdk-react 19.136.0 → 19.138.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.esm.js CHANGED
@@ -4055,7 +4055,14 @@ function $isTargetWithinDecorator(target) {
4055
4055
  }
4056
4056
 
4057
4057
  // src/components/Variables/InputVariables.tsx
4058
- import { Caption, ErrorMessage, InfoMessage, WarningMessage } from "@uniformdev/design-system";
4058
+ import { css as css24 } from "@emotion/react";
4059
+ import {
4060
+ Caption,
4061
+ ErrorMessage,
4062
+ HorizontalRhythm as HorizontalRhythm4,
4063
+ InfoMessage,
4064
+ WarningMessage
4065
+ } from "@uniformdev/design-system";
4059
4066
  import { useState as useState13 } from "react";
4060
4067
  import { v4 as v42 } from "uuid";
4061
4068
 
@@ -4180,6 +4187,99 @@ var placeholderCompact = css21`
4180
4187
  inset: var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) var(--spacing-base);
4181
4188
  `;
4182
4189
 
4190
+ // src/components/Variables/styles/ParameterVariables.styles.ts
4191
+ import { css as css22 } from "@emotion/react";
4192
+ import { scrollbarStyles as scrollbarStyles3 } from "@uniformdev/design-system";
4193
+ var variableBindButton = css22`
4194
+ align-items: center;
4195
+ border: none;
4196
+ border-radius: var(--rounded-base);
4197
+ background: none;
4198
+ display: flex;
4199
+ height: 1.2rem;
4200
+ padding: var(--spacing-2xs);
4201
+ transition: background var(--duration-fast) var(--timing-ease-out),
4202
+ color var(--duration-fast) var(--timing-ease-out);
4203
+ width: 1.2rem;
4204
+
4205
+ &:hover,
4206
+ &[aria-pressed='true']:not(:disabled) {
4207
+ background: var(--brand-secondary-3);
4208
+ color: var(--white);
4209
+ }
4210
+
4211
+ &[aria-disabled='true'] {
4212
+ background: none;
4213
+ color: currentColor;
4214
+ }
4215
+
4216
+ // fixes menu resizing issue within iframes
4217
+ // see https://linear.app/uniform/issue/UNI-3068/mesh-integration-resizing-with-menus
4218
+ + [role='menu'] {
4219
+ max-height: unset;
4220
+ }
4221
+ `;
4222
+ var input2 = css22`
4223
+ display: block;
4224
+ appearance: none;
4225
+ box-sizing: border-box;
4226
+ background: var(--white);
4227
+ border: 1px solid var(--gray-200);
4228
+ border-radius: var(--rounded-sm);
4229
+ color: var(--gray-700);
4230
+ font-size: var(--fs-sm);
4231
+ line-height: 1.5;
4232
+ min-height: 2rem;
4233
+ padding: var(--spacing-sm);
4234
+ width: 100%;
4235
+ position: relative;
4236
+ white-space: normal;
4237
+ transition-property: background, border-color, color, box-shadow, border-radius;
4238
+ transition-duration: var(--duration-fast);
4239
+ transition-timing-function: var(--timing-ease-out);
4240
+
4241
+ &::placeholder {
4242
+ color: var(--gray-400);
4243
+ }
4244
+
4245
+ &:focus,
4246
+ &:focus-within {
4247
+ border-radius: var(--rounded-sm);
4248
+ box-shadow: var(--elevation-100);
4249
+ border: 1px solid var(--accent-dark-active);
4250
+ outline: none;
4251
+ }
4252
+ &:hover {
4253
+ border: 1px solid var(--accent-dark-hover);
4254
+ }
4255
+
4256
+ &:disabled,
4257
+ &:disabled::placeholder,
4258
+ &:disabled:hover {
4259
+ border-radius: var(--rounded-sm);
4260
+ cursor: not-allowed;
4261
+ color: var(--gray-400);
4262
+ }
4263
+
4264
+ &[readonly],
4265
+ &[contenteditable='false'] {
4266
+ cursor: not-allowed;
4267
+ color: var(--gray-400);
4268
+ }
4269
+
4270
+ > p {
4271
+ margin: 0;
4272
+ }
4273
+ `;
4274
+ var inputMultiLine = (lines) => css22`
4275
+ ${scrollbarStyles3}
4276
+ // 1.5 = line height, spacing-sm = top and bottom padding + spacing-xs to give a slight increase in height
4277
+ // as the text looked to close to the bottom of the input
4278
+ height: calc(${lines * 1.5}em + var(--spacing-sm) + var(--spacing-xs));
4279
+ resize: vertical;
4280
+ overflow: auto;
4281
+ `;
4282
+
4183
4283
  // src/components/Variables/toolbox/InputVariablesProvider.tsx
4184
4284
  import * as React10 from "react";
4185
4285
  import { useMemo as useMemo9 } from "react";
@@ -4258,15 +4358,15 @@ function useInputVariablesState({
4258
4358
  }
4259
4359
 
4260
4360
  // src/components/Variables/toolbox/VariableField.styles.ts
4261
- import { css as css22 } from "@emotion/react";
4262
- var labelText = css22`
4361
+ import { css as css23 } from "@emotion/react";
4362
+ var labelText = css23`
4263
4363
  align-items: center;
4264
4364
  display: flex;
4265
4365
  gap: var(--spacing-xs);
4266
4366
  font-weight: var(--fw-regular);
4267
4367
  margin: 0 0 var(--spacing-xs);
4268
4368
  `;
4269
- var variableBindButton = css22`
4369
+ var variableBindButton2 = css23`
4270
4370
  align-items: center;
4271
4371
  border: none;
4272
4372
  border-radius: var(--rounded-base);
@@ -4429,7 +4529,7 @@ function VariableField({
4429
4529
  VariablesComposerVariableMenu,
4430
4530
  {
4431
4531
  ...selectVariableMenuOptions,
4432
- buttonCss: [variableBindButton, selectVariableMenuOptions == null ? void 0 : selectVariableMenuOptions.buttonCss],
4532
+ buttonCss: [variableBindButton2, selectVariableMenuOptions == null ? void 0 : selectVariableMenuOptions.buttonCss],
4433
4533
  buttonProps: isActive ? { "aria-pressed": "true" } : void 0
4434
4534
  }
4435
4535
  ) : null;
@@ -4591,7 +4691,7 @@ import {
4591
4691
  import { useEffect as useEffect13 } from "react";
4592
4692
  import { Fragment as Fragment9, jsx as jsx39, jsxs as jsxs22 } from "@emotion/react/jsx-runtime";
4593
4693
  function VariablesComposerInput({
4594
- css: css37,
4694
+ css: css38,
4595
4695
  placeholder,
4596
4696
  ...contentEditableProps
4597
4697
  }) {
@@ -4694,6 +4794,7 @@ function InputVariables(props) {
4694
4794
  value,
4695
4795
  enableEditingVariables,
4696
4796
  disableInlineMenu,
4797
+ showMenuPosition,
4697
4798
  onChange,
4698
4799
  transformPaste,
4699
4800
  showAddVariableMenuOption,
@@ -4727,34 +4828,58 @@ function InputVariables(props) {
4727
4828
  },
4728
4829
  css: disabled ? inputDisabled : "",
4729
4830
  children: [
4730
- useInputWithNoVariables ? inputWhenNoVariables : /* @__PURE__ */ jsx40(
4731
- InputVariablesOverlayMenu,
4831
+ /* @__PURE__ */ jsxs23(
4832
+ HorizontalRhythm4,
4732
4833
  {
4733
- ...sharedMenuProps,
4734
- disabled: disableVariablesForReals || disableInlineMenu === true || disableInlineMenu === "by-input",
4735
- portal: renderMenuInPortal,
4736
- replaceValueOnVariableInsert: useInputWithNoVariables,
4737
- useInputWhenNoVariables: useInputWithNoVariables,
4738
- children: /* @__PURE__ */ jsx40(
4739
- VariablesComposerInput,
4740
- {
4741
- id: finalId,
4742
- "aria-label": ariaLabel,
4743
- "data-testid": dataTestId ? dataTestId : "input-container",
4744
- "data-text-value": value,
4745
- css: [input, styleVariant === "compact" ? inputCompact : null],
4746
- placeholder: placeholder ? /* @__PURE__ */ jsx40(
4747
- Caption,
4748
- {
4749
- css: [
4750
- placeholderCaption,
4751
- styleVariant === "compact" ? placeholderCompact : null
4752
- ],
4753
- children: placeholder
4754
- }
4755
- ) : void 0
4756
- }
4757
- )
4834
+ align: "center",
4835
+ gap: "xs",
4836
+ css: css24`
4837
+ & > div:first-child {
4838
+ flex-grow: 1;
4839
+ }
4840
+ `,
4841
+ children: [
4842
+ useInputWithNoVariables ? inputWhenNoVariables : /* @__PURE__ */ jsx40(
4843
+ InputVariablesOverlayMenu,
4844
+ {
4845
+ ...sharedMenuProps,
4846
+ disabled: disableVariablesForReals || showMenuPosition && showMenuPosition !== "label" || disableInlineMenu === true || disableInlineMenu === "by-input",
4847
+ portal: renderMenuInPortal,
4848
+ replaceValueOnVariableInsert: useInputWithNoVariables,
4849
+ useInputWhenNoVariables: useInputWithNoVariables,
4850
+ children: /* @__PURE__ */ jsx40(
4851
+ VariablesComposerInput,
4852
+ {
4853
+ id: finalId,
4854
+ "aria-label": ariaLabel,
4855
+ "data-testid": dataTestId ? dataTestId : "input-container",
4856
+ "data-text-value": value,
4857
+ css: [input, styleVariant === "compact" ? inputCompact : null],
4858
+ placeholder: placeholder ? /* @__PURE__ */ jsx40(
4859
+ Caption,
4860
+ {
4861
+ css: [
4862
+ placeholderCaption,
4863
+ styleVariant === "compact" ? placeholderCompact : null
4864
+ ],
4865
+ children: placeholder
4866
+ }
4867
+ ) : void 0
4868
+ }
4869
+ )
4870
+ }
4871
+ ),
4872
+ disableVariablesForReals || showMenuPosition !== "inline-right" ? null : /* @__PURE__ */ jsx40(
4873
+ VariablesComposerVariableMenu,
4874
+ {
4875
+ ...sharedMenuProps,
4876
+ buttonCss: variableBindButton,
4877
+ tip: useInputWithNoVariables ? void 0 : "Tip: access this list by typing $$",
4878
+ buttonProps: hadVariablesInValue ? { "aria-pressed": "true" } : void 0,
4879
+ replaceValueOnVariableInsert: useInputWithNoVariables
4880
+ }
4881
+ )
4882
+ ]
4758
4883
  }
4759
4884
  ),
4760
4885
  caption ? /* @__PURE__ */ jsx40(Caption, { children: caption }) : null,
@@ -4776,7 +4901,7 @@ function InputVariables(props) {
4776
4901
  },
4777
4902
  id: finalId,
4778
4903
  isActive: hadVariablesInValue,
4779
- disableVariables: disableVariablesForReals || disableInlineMenu === "by-label",
4904
+ disableVariables: disableVariablesForReals || showMenuPosition && showMenuPosition !== "label" || disableInlineMenu === "by-label",
4780
4905
  children: input3
4781
4906
  }
4782
4907
  );
@@ -4831,103 +4956,8 @@ function InputVariablesOverlayMenu({
4831
4956
  // src/components/Variables/ParameterConnectionIndicator.tsx
4832
4957
  import { CgUsbC as CgUsbC2 } from "@react-icons/all-files/cg/CgUsbC";
4833
4958
  import { bindVariablesToObject } from "@uniformdev/canvas";
4834
- import { HorizontalRhythm as HorizontalRhythm4, Menu as Menu3 } from "@uniformdev/design-system";
4959
+ import { HorizontalRhythm as HorizontalRhythm5, Menu as Menu3 } from "@uniformdev/design-system";
4835
4960
  import { useMemo as useMemo11 } from "react";
4836
-
4837
- // src/components/Variables/styles/ParameterVariables.styles.ts
4838
- import { css as css23 } from "@emotion/react";
4839
- import { scrollbarStyles as scrollbarStyles3 } from "@uniformdev/design-system";
4840
- var variableBindButton2 = css23`
4841
- align-items: center;
4842
- border: none;
4843
- border-radius: var(--rounded-base);
4844
- background: none;
4845
- display: flex;
4846
- height: 1.2rem;
4847
- padding: var(--spacing-2xs);
4848
- transition: background var(--duration-fast) var(--timing-ease-out),
4849
- color var(--duration-fast) var(--timing-ease-out);
4850
- width: 1.2rem;
4851
-
4852
- &:hover,
4853
- &[aria-pressed='true']:not(:disabled) {
4854
- background: var(--brand-secondary-3);
4855
- color: var(--white);
4856
- }
4857
-
4858
- &[aria-disabled='true'] {
4859
- background: none;
4860
- color: currentColor;
4861
- }
4862
-
4863
- // fixes menu resizing issue within iframes
4864
- // see https://linear.app/uniform/issue/UNI-3068/mesh-integration-resizing-with-menus
4865
- + [role='menu'] {
4866
- max-height: unset;
4867
- }
4868
- `;
4869
- var input2 = css23`
4870
- display: block;
4871
- appearance: none;
4872
- box-sizing: border-box;
4873
- background: var(--white);
4874
- border: 1px solid var(--gray-200);
4875
- border-radius: var(--rounded-sm);
4876
- color: var(--gray-700);
4877
- font-size: var(--fs-sm);
4878
- line-height: 1.5;
4879
- min-height: 2rem;
4880
- padding: var(--spacing-sm);
4881
- width: 100%;
4882
- position: relative;
4883
- white-space: normal;
4884
- transition-property: background, border-color, color, box-shadow, border-radius;
4885
- transition-duration: var(--duration-fast);
4886
- transition-timing-function: var(--timing-ease-out);
4887
-
4888
- &::placeholder {
4889
- color: var(--gray-400);
4890
- }
4891
-
4892
- &:focus,
4893
- &:focus-within {
4894
- border-radius: var(--rounded-sm);
4895
- box-shadow: var(--elevation-100);
4896
- border: 1px solid var(--accent-dark-active);
4897
- outline: none;
4898
- }
4899
- &:hover {
4900
- border: 1px solid var(--accent-dark-hover);
4901
- }
4902
-
4903
- &:disabled,
4904
- &:disabled::placeholder,
4905
- &:disabled:hover {
4906
- border-radius: var(--rounded-sm);
4907
- cursor: not-allowed;
4908
- color: var(--gray-400);
4909
- }
4910
-
4911
- &[readonly],
4912
- &[contenteditable='false'] {
4913
- cursor: not-allowed;
4914
- color: var(--gray-400);
4915
- }
4916
-
4917
- > p {
4918
- margin: 0;
4919
- }
4920
- `;
4921
- var inputMultiLine = (lines) => css23`
4922
- ${scrollbarStyles3}
4923
- // 1.5 = line height, spacing-sm = top and bottom padding + spacing-xs to give a slight increase in height
4924
- // as the text looked to close to the bottom of the input
4925
- height: calc(${lines * 1.5}em + var(--spacing-sm) + var(--spacing-xs));
4926
- resize: vertical;
4927
- overflow: auto;
4928
- `;
4929
-
4930
- // src/components/Variables/ParameterConnectionIndicator.tsx
4931
4961
  import { jsx as jsx41, jsxs as jsxs24 } from "@emotion/react/jsx-runtime";
4932
4962
  function ParameterConnectionIndicator({
4933
4963
  children,
@@ -4947,7 +4977,7 @@ function ParameterConnectionIndicator({
4947
4977
  });
4948
4978
  return result;
4949
4979
  }, [value]);
4950
- return /* @__PURE__ */ jsxs24(HorizontalRhythm4, { align: "center", gap: "xs", css: { width: "100%" }, children: [
4980
+ return /* @__PURE__ */ jsxs24(HorizontalRhythm5, { align: "center", gap: "xs", css: { width: "100%" }, children: [
4951
4981
  /* @__PURE__ */ jsx41("div", { css: { flex: 1 }, children }),
4952
4982
  disabled ? null : /* @__PURE__ */ jsx41(
4953
4983
  Menu3,
@@ -4959,7 +4989,7 @@ function ParameterConnectionIndicator({
4959
4989
  {
4960
4990
  title: menuTooltip,
4961
4991
  "aria-pressed": hasVariablesInValue,
4962
- css: [menuBtn, variableBindButton2],
4992
+ css: [menuBtn, variableBindButton],
4963
4993
  type: "button",
4964
4994
  children: /* @__PURE__ */ jsx41(CgUsbC2, { size: "1.4rem" })
4965
4995
  }
@@ -4972,7 +5002,7 @@ function ParameterConnectionIndicator({
4972
5002
  }
4973
5003
 
4974
5004
  // src/components/Variables/ParameterOrSingleVariable.tsx
4975
- import { HorizontalRhythm as HorizontalRhythm5 } from "@uniformdev/design-system";
5005
+ import { HorizontalRhythm as HorizontalRhythm6 } from "@uniformdev/design-system";
4976
5006
  import { useCallback as useCallback4 } from "react";
4977
5007
 
4978
5008
  // src/components/Variables/composer/OnDisconnectPlugin.tsx
@@ -5058,7 +5088,7 @@ function ParameterOrSingleVariable(props) {
5058
5088
  /* @__PURE__ */ jsx42(OnDisconnectPlugin, { onDisconnect: handleDisconnect }),
5059
5089
  editorRef ? /* @__PURE__ */ jsx42(EditorRefPlugin, { editorRef }) : null,
5060
5090
  /* @__PURE__ */ jsx42(ControlledValuePlugin, { enabled: true, value }),
5061
- /* @__PURE__ */ jsxs25(HorizontalRhythm5, { align: "center", gap: "xs", css: { width: "100%" }, children: [
5091
+ /* @__PURE__ */ jsxs25(HorizontalRhythm6, { align: "center", gap: "xs", css: { width: "100%" }, children: [
5062
5092
  /* @__PURE__ */ jsx42("div", { css: { flex: 1 }, children: inputWhenNoVariables && !hadVariablesInValue ? inputWhenNoVariables : /* @__PURE__ */ jsx42(
5063
5093
  VariablesComposerInput,
5064
5094
  {
@@ -5071,7 +5101,7 @@ function ParameterOrSingleVariable(props) {
5071
5101
  VariablesComposerVariableMenu,
5072
5102
  {
5073
5103
  ...sharedMenuProps,
5074
- buttonCss: [variableBindButton2],
5104
+ buttonCss: [variableBindButton],
5075
5105
  buttonProps: hasVariablesInValue ? { "aria-pressed": "true" } : void 0,
5076
5106
  replaceValueOnVariableInsert: true,
5077
5107
  filterVariable
@@ -5085,8 +5115,8 @@ function ParameterOrSingleVariable(props) {
5085
5115
  }
5086
5116
 
5087
5117
  // src/components/Variables/ParameterVariables.tsx
5088
- import { css as css24 } from "@emotion/react";
5089
- import { HorizontalRhythm as HorizontalRhythm6 } from "@uniformdev/design-system";
5118
+ import { css as css25 } from "@emotion/react";
5119
+ import { HorizontalRhythm as HorizontalRhythm7 } from "@uniformdev/design-system";
5090
5120
  import { jsx as jsx43, jsxs as jsxs26 } from "@emotion/react/jsx-runtime";
5091
5121
  function ParameterVariables(props) {
5092
5122
  const {
@@ -5125,7 +5155,7 @@ function ParameterVariables(props) {
5125
5155
  editorRef ? /* @__PURE__ */ jsx43(EditorRefPlugin, { editorRef }) : null,
5126
5156
  /* @__PURE__ */ jsx43(ControlledValuePlugin, { value, enabled: useInputWhenNoVariables }),
5127
5157
  /* @__PURE__ */ jsxs26(
5128
- HorizontalRhythm6,
5158
+ HorizontalRhythm7,
5129
5159
  {
5130
5160
  align: "center",
5131
5161
  gap: "xs",
@@ -5144,8 +5174,8 @@ function ParameterVariables(props) {
5144
5174
  "data-text-value": value,
5145
5175
  css: [
5146
5176
  input2,
5147
- typeof multiLine === "number" ? inputMultiLine(multiLine) : multiLine === true ? inputMultiLine(2) : css24``,
5148
- inputCss != null ? inputCss : css24``
5177
+ typeof multiLine === "number" ? inputMultiLine(multiLine) : multiLine === true ? inputMultiLine(2) : css25``,
5178
+ inputCss != null ? inputCss : css25``
5149
5179
  ]
5150
5180
  }
5151
5181
  ) }),
@@ -5153,7 +5183,7 @@ function ParameterVariables(props) {
5153
5183
  VariablesComposerVariableMenu,
5154
5184
  {
5155
5185
  ...sharedMenuProps,
5156
- buttonCss: [variableBindButton2],
5186
+ buttonCss: [variableBindButton],
5157
5187
  tip: useInputWhenNoVariables ? void 0 : "Tip: access this list by typing $$",
5158
5188
  buttonProps: hasVariablesInValue ? { "aria-pressed": "true" } : void 0,
5159
5189
  replaceValueOnVariableInsert: useInputWhenNoVariables
@@ -5181,7 +5211,7 @@ ${prettifyBindExpression(bindExpression)}`
5181
5211
  }
5182
5212
 
5183
5213
  // src/components/Variables/VariablesList.tsx
5184
- import { css as css26 } from "@emotion/react";
5214
+ import { css as css27 } from "@emotion/react";
5185
5215
  import {
5186
5216
  AddListButton,
5187
5217
  button,
@@ -5196,8 +5226,8 @@ import {
5196
5226
  import { Draggable as Draggable2, Droppable as Droppable2 } from "react-beautiful-dnd";
5197
5227
 
5198
5228
  // src/components/Variables/styles/VariablesList.styles.ts
5199
- import { css as css25 } from "@emotion/react";
5200
- var tableRow = (isDragging) => css25`
5229
+ import { css as css26 } from "@emotion/react";
5230
+ var tableRow = (isDragging) => css26`
5201
5231
  position: relative;
5202
5232
  ${isDragging ? `
5203
5233
  display: table;
@@ -5205,7 +5235,7 @@ var tableRow = (isDragging) => css25`
5205
5235
  top: auto !important;
5206
5236
  ` : void 0}
5207
5237
  `;
5208
- var tableCellDragIcon = css25`
5238
+ var tableCellDragIcon = css26`
5209
5239
  &::after {
5210
5240
  content: '';
5211
5241
  display: block;
@@ -5223,7 +5253,7 @@ var tableCellDragIcon = css25`
5223
5253
  opacity: 1;
5224
5254
  }
5225
5255
  `;
5226
- var variableName = css25`
5256
+ var variableName = css26`
5227
5257
  border: none;
5228
5258
  font-weight: var(--fw-medium);
5229
5259
  padding: 0;
@@ -5233,7 +5263,7 @@ var variableName = css25`
5233
5263
  white-space: nowrap;
5234
5264
  max-width: 20ch;
5235
5265
  `;
5236
- var variableValue = css25`
5266
+ var variableValue = css26`
5237
5267
  overflow: hidden;
5238
5268
  text-overflow: ellipsis;
5239
5269
  white-space: nowrap;
@@ -5310,7 +5340,7 @@ function VariablesList() {
5310
5340
  title: `delete ${text}`,
5311
5341
  css: [
5312
5342
  button,
5313
- css26`
5343
+ css27`
5314
5344
  background: transparent;
5315
5345
  `
5316
5346
  ],
@@ -5439,7 +5469,7 @@ function TextVariableRenderer({ definition, value, setValue }) {
5439
5469
  }
5440
5470
 
5441
5471
  // src/components/Request/RequestBody.tsx
5442
- import { css as css28 } from "@emotion/react";
5472
+ import { css as css29 } from "@emotion/react";
5443
5473
  import { InputSelect as InputSelect4, JsonEditor } from "@uniformdev/design-system";
5444
5474
  import { useState as useState14 } from "react";
5445
5475
 
@@ -5525,11 +5555,11 @@ function useRequest() {
5525
5555
  }
5526
5556
 
5527
5557
  // src/components/Request/styles/Request.styles.ts
5528
- import { css as css27 } from "@emotion/react";
5529
- var innerContentStyles = css27`
5558
+ import { css as css28 } from "@emotion/react";
5559
+ var innerContentStyles = css28`
5530
5560
  background: var(--white);
5531
5561
  `;
5532
- var requestTypeContainer = (bgColor) => css27`
5562
+ var requestTypeContainer = (bgColor) => css28`
5533
5563
  align-items: start;
5534
5564
  background: ${bgColor};
5535
5565
  display: grid;
@@ -5571,7 +5601,7 @@ function RequestBody() {
5571
5601
  return /* @__PURE__ */ jsxs28(
5572
5602
  "div",
5573
5603
  {
5574
- css: css28`
5604
+ css: css29`
5575
5605
  background: var(--white);
5576
5606
  `,
5577
5607
  children: [
@@ -5579,7 +5609,7 @@ function RequestBody() {
5579
5609
  RequestTypeContainer,
5580
5610
  {
5581
5611
  bgColor: "var(--gray-100)",
5582
- css: css28`
5612
+ css: css29`
5583
5613
  padding: var(--spacing-sm) var(--spacing-base);
5584
5614
  `,
5585
5615
  children: /* @__PURE__ */ jsx49(
@@ -5868,7 +5898,7 @@ function RequestParameters({
5868
5898
  }
5869
5899
 
5870
5900
  // src/components/Request/RequestUrl.tsx
5871
- import { css as css29 } from "@emotion/react";
5901
+ import { css as css30 } from "@emotion/react";
5872
5902
  import { useMemo as useMemo13 } from "react";
5873
5903
 
5874
5904
  // src/components/Request/urlEncodeRequestParameter.ts
@@ -5905,7 +5935,7 @@ function RequestUrl() {
5905
5935
  return /* @__PURE__ */ jsxs31(
5906
5936
  "small",
5907
5937
  {
5908
- css: css29`
5938
+ css: css30`
5909
5939
  display: inline-block;
5910
5940
  margin-bottom: var(--spacing-xs);
5911
5941
  word-break: break-word;
@@ -6206,7 +6236,7 @@ var MeshApp = ({
6206
6236
  };
6207
6237
 
6208
6238
  // src/components/ObjectSearch/DataRefreshButton.tsx
6209
- import { css as css30 } from "@emotion/react";
6239
+ import { css as css31 } from "@emotion/react";
6210
6240
  import { Button as Button3, LoadingIndicator as LoadingIndicator4 } from "@uniformdev/design-system";
6211
6241
  import { jsx as jsx58, jsxs as jsxs33 } from "@emotion/react/jsx-runtime";
6212
6242
  var DataRefreshButton = ({
@@ -6219,7 +6249,7 @@ var DataRefreshButton = ({
6219
6249
  !isLoading ? null : /* @__PURE__ */ jsx58(
6220
6250
  LoadingIndicator4,
6221
6251
  {
6222
- css: css30`
6252
+ css: css31`
6223
6253
  ${isLoading ? "opacity: 0.2;" : void 0}
6224
6254
  `
6225
6255
  }
@@ -6229,7 +6259,7 @@ var DataRefreshButton = ({
6229
6259
  };
6230
6260
 
6231
6261
  // src/components/ObjectSearch/ObjectSearchContainer.tsx
6232
- import { css as css32 } from "@emotion/react";
6262
+ import { css as css33 } from "@emotion/react";
6233
6263
  import { bindVariables } from "@uniformdev/canvas";
6234
6264
  import { Callout as Callout5, Container, IconsProvider, ScrollableList, VerticalRhythm as VerticalRhythm2 } from "@uniformdev/design-system";
6235
6265
 
@@ -6355,9 +6385,9 @@ function bindQuery(query, inputs) {
6355
6385
  import { Chip, Popover } from "@uniformdev/design-system";
6356
6386
 
6357
6387
  // src/components/ObjectSearch/styles/ObjectSearchListItem.styles.ts
6358
- import { css as css31 } from "@emotion/react";
6388
+ import { css as css32 } from "@emotion/react";
6359
6389
  import { skeletonLoading } from "@uniformdev/design-system";
6360
- var ObjectListItemContainer = css31`
6390
+ var ObjectListItemContainer = css32`
6361
6391
  align-items: center;
6362
6392
  border: 1px solid var(--gray-300);
6363
6393
  border-radius: var(--rounded-base);
@@ -6366,11 +6396,11 @@ var ObjectListItemContainer = css31`
6366
6396
  grid-template-columns: 1fr auto;
6367
6397
  padding: var(--spacing-sm);
6368
6398
  `;
6369
- var ObjectListItemContainerDisabled = css31`
6399
+ var ObjectListItemContainerDisabled = css32`
6370
6400
  opacity: var(--opacity-50);
6371
6401
  pointer-events: none;
6372
6402
  `;
6373
- var ObjectListItemLoading = css31`
6403
+ var ObjectListItemLoading = css32`
6374
6404
  animation: ${skeletonLoading} 1s linear infinite alternate;
6375
6405
  border-color: transparent;
6376
6406
  min-height: 42px;
@@ -6394,36 +6424,36 @@ var ObjectListItemLoading = css31`
6394
6424
  width: 1rem;
6395
6425
  }
6396
6426
  `;
6397
- var ObjectListItemHeadingGroup = css31`
6427
+ var ObjectListItemHeadingGroup = css32`
6398
6428
  align-items: center;
6399
6429
  display: grid;
6400
6430
  `;
6401
- var ObjectListItemThumbnail = css31`
6431
+ var ObjectListItemThumbnail = css32`
6402
6432
  width: 30px;
6403
6433
  object-fit: contain;
6404
6434
  `;
6405
- var ObjectListItemTitle = css31`
6435
+ var ObjectListItemTitle = css32`
6406
6436
  color: var(--typography-base);
6407
6437
  display: block;
6408
6438
  font-size: var(--fs-sm);
6409
6439
  `;
6410
- var ObjectListItemSubtitle = css31`
6440
+ var ObjectListItemSubtitle = css32`
6411
6441
  color: var(--gray-500);
6412
6442
  display: block;
6413
6443
  font-size: var(--fs-xs);
6414
6444
  line-height: 1;
6415
6445
  `;
6416
- var ObjectListItemInfoContainer = css31`
6446
+ var ObjectListItemInfoContainer = css32`
6417
6447
  align-items: center;
6418
6448
  display: flex;
6419
6449
  gap: var(--spacing-sm);
6420
6450
  justify-content: center;
6421
6451
  `;
6422
- var ObjectListItemControlledContent = css31`
6452
+ var ObjectListItemControlledContent = css32`
6423
6453
  display: flex;
6424
6454
  gap: var(--spacing-sm);
6425
6455
  `;
6426
- var ObjectListItemUnControlledContent = css31`
6456
+ var ObjectListItemUnControlledContent = css32`
6427
6457
  margin-top: var(--spacing-sm);
6428
6458
  grid-column: 1 / -1;
6429
6459
  `;
@@ -6510,7 +6540,7 @@ var ObjectSearchContainer = ({
6510
6540
  ScrollableList,
6511
6541
  {
6512
6542
  role: "list",
6513
- css: css32`
6543
+ css: css33`
6514
6544
  > div {
6515
6545
  transition: max-height var(--duration-slow) var(--timing-ease-out);
6516
6546
  max-height: ${selectedListItems.length === 0 ? "50vh" : "184px"};
@@ -6586,8 +6616,8 @@ import { DebouncedInputKeywordSearch, InputSelect as InputSelect6 } from "@unifo
6586
6616
  import { useMemo as useMemo15, useState as useState17 } from "react";
6587
6617
 
6588
6618
  // src/components/ObjectSearch/styles/ObjectSearchFilterContainer.styles.ts
6589
- import { css as css33 } from "@emotion/react";
6590
- var ObjectSearchFilterContainerLabel = css33`
6619
+ import { css as css34 } from "@emotion/react";
6620
+ var ObjectSearchFilterContainerLabel = css34`
6591
6621
  align-items: center;
6592
6622
  display: flex;
6593
6623
  font-size: var(--fs-sm);
@@ -6595,11 +6625,11 @@ var ObjectSearchFilterContainerLabel = css33`
6595
6625
  line-height: 1rem;
6596
6626
  margin-bottom: var(--spacing-sm);
6597
6627
  `;
6598
- var ObjectSearchFilterContainer = css33`
6628
+ var ObjectSearchFilterContainer = css34`
6599
6629
  display: grid;
6600
6630
  gap: var(--spacing-base);
6601
6631
  `;
6602
- var ObjectSearchFilterGrid = (gridColumns) => css33`
6632
+ var ObjectSearchFilterGrid = (gridColumns) => css34`
6603
6633
  display: grid;
6604
6634
  grid-template-columns: ${gridColumns};
6605
6635
  gap: var(--spacing-base);
@@ -6685,9 +6715,9 @@ import { Badge, Button as Button4, Popover as Popover2 } from "@uniformdev/desig
6685
6715
  import { format as timeagoFormat } from "timeago.js";
6686
6716
 
6687
6717
  // src/components/ObjectSearch/styles/ObjectSearchResultItemButton.styles.ts
6688
- import { css as css34 } from "@emotion/react";
6718
+ import { css as css35 } from "@emotion/react";
6689
6719
  import { button as button2 } from "@uniformdev/design-system";
6690
- var ButtonStyles = css34`
6720
+ var ButtonStyles = css35`
6691
6721
  ${button2}
6692
6722
  background: transparent;
6693
6723
  border: 1px solid var(--typography-base);
@@ -6714,7 +6744,7 @@ var ButtonStyles = css34`
6714
6744
  text-decoration: none;
6715
6745
  }
6716
6746
  `;
6717
- var ButtonIcon = css34`
6747
+ var ButtonIcon = css35`
6718
6748
  width: 1rem;
6719
6749
  height: 1rem;
6720
6750
  `;
@@ -6743,8 +6773,8 @@ var LinkButton = ({
6743
6773
  };
6744
6774
 
6745
6775
  // src/components/ObjectSearch/styles/ObjectSearchResultItem.styles.ts
6746
- import { css as css35 } from "@emotion/react";
6747
- var ObjectSearchResultItemContainer = css35`
6776
+ import { css as css36 } from "@emotion/react";
6777
+ var ObjectSearchResultItemContainer = css36`
6748
6778
  align-items: center;
6749
6779
  border: 1px solid var(--gray-300);
6750
6780
  border-radius: var(--rounded-base);
@@ -6760,7 +6790,7 @@ var ObjectSearchResultItemContainer = css35`
6760
6790
  }
6761
6791
  }
6762
6792
  `;
6763
- var ObjectSearchDragHandle = css35`
6793
+ var ObjectSearchDragHandle = css36`
6764
6794
  border-left: 2px dotted var(--gray-300);
6765
6795
  border-right: 2px dotted var(--gray-300);
6766
6796
  position: absolute;
@@ -6769,35 +6799,35 @@ var ObjectSearchDragHandle = css35`
6769
6799
  transition: opacity var(--duration-fast) var(--timing-ease-out);
6770
6800
  opacity: 0;
6771
6801
  `;
6772
- var ObjectSearchResultItemSubtitle = css35`
6802
+ var ObjectSearchResultItemSubtitle = css36`
6773
6803
  color: var(--gray-500);
6774
6804
  display: block;
6775
6805
  font-size: var(--fs-xs);
6776
6806
  line-height: 1;
6777
6807
  `;
6778
- var ObjectSearchResultItemTitle = css35`
6808
+ var ObjectSearchResultItemTitle = css36`
6779
6809
  align-items: center;
6780
6810
  color: var(--typography-base);
6781
6811
  display: flex;
6782
6812
  gap: var(--spacing-xs);
6783
6813
  `;
6784
- var ObjectSearchResultItemTimeStamp = css35`
6814
+ var ObjectSearchResultItemTimeStamp = css36`
6785
6815
  color: var(--gray-500);
6786
6816
  font-size: var(--fs-xs);
6787
6817
  `;
6788
- var ObjectSearchAuthorStateGroup = css35`
6818
+ var ObjectSearchAuthorStateGroup = css36`
6789
6819
  align-items: center;
6790
6820
  display: flex;
6791
6821
  gap: var(--spacing-sm);
6792
6822
  `;
6793
- var ObjectSearchUpdateGroup = css35`
6823
+ var ObjectSearchUpdateGroup = css36`
6794
6824
  display: grid;
6795
6825
  `;
6796
- var ObjectSearchContentContainer = css35`
6826
+ var ObjectSearchContentContainer = css36`
6797
6827
  display: flex;
6798
6828
  gap: var(--spacing-base);
6799
6829
  `;
6800
- var ObjectSearchImage = css35`
6830
+ var ObjectSearchImage = css36`
6801
6831
  width: 56px;
6802
6832
  object-fit: contain;
6803
6833
  `;
@@ -6865,26 +6895,26 @@ import { Button as Button5, Counter } from "@uniformdev/design-system";
6865
6895
  import { Draggable as Draggable3, Droppable as Droppable3 } from "react-beautiful-dnd";
6866
6896
 
6867
6897
  // src/components/ObjectSearch/styles/ObjectSearchResultList.styles.ts
6868
- import { css as css36 } from "@emotion/react";
6869
- var ObjectSearchResultListContainer = css36`
6898
+ import { css as css37 } from "@emotion/react";
6899
+ var ObjectSearchResultListContainer = css37`
6870
6900
  align-items: center;
6871
6901
  display: flex;
6872
6902
  gap: var(--spacing-sm);
6873
6903
  justify-content: space-between;
6874
6904
  `;
6875
- var ObjectSearchDragContainer = css36`
6905
+ var ObjectSearchDragContainer = css37`
6876
6906
  margin: 0 0 var(--spacing-sm);
6877
6907
  `;
6878
- var ObjectSearchContainerDragging = css36`
6908
+ var ObjectSearchContainerDragging = css37`
6879
6909
  box-shadow: var(--shadow-base);
6880
6910
  opacity: var(--opacity-50);
6881
6911
  `;
6882
- var ObjectSearchResultListCounterContainer = css36`
6912
+ var ObjectSearchResultListCounterContainer = css37`
6883
6913
  align-items: center;
6884
6914
  display: flex;
6885
6915
  gap: var(--spacing-sm);
6886
6916
  `;
6887
- var ObjectSearchResultListTitle = css36`
6917
+ var ObjectSearchResultListTitle = css37`
6888
6918
  font-weight: var(--fw-bold);
6889
6919
  line-height: 1;
6890
6920
  `;
@@ -7208,6 +7238,60 @@ var JsonMeshVariableEditor = ({
7208
7238
  return null;
7209
7239
  };
7210
7240
 
7241
+ // src/components/SearchAndFilter/filtersMapper.tsx
7242
+ import {
7243
+ filterMapper,
7244
+ FilterMultiChoiceEditor
7245
+ } from "@uniformdev/design-system";
7246
+ import { DateEditor, FilterSingleChoiceEditor, NumberEditor, TextEditor } from "@uniformdev/design-system";
7247
+ import { jsx as jsx69 } from "@emotion/react/jsx-runtime";
7248
+ function withInputVariables(WrappedComponent) {
7249
+ const WithInputVariables = (props) => {
7250
+ if (Array.isArray(props.value) || !props.bindable || props.disabled || props.readOnly) {
7251
+ return /* @__PURE__ */ jsx69(WrappedComponent, { ...props });
7252
+ }
7253
+ return /* @__PURE__ */ jsx69(
7254
+ InputVariables,
7255
+ {
7256
+ disableInlineMenu: true,
7257
+ showMenuPosition: "inline-right",
7258
+ onChange: (newValue) => props.onChange(newValue != null ? newValue : ""),
7259
+ value: props.value,
7260
+ disabled: props.disabled,
7261
+ inputWhenNoVariables: /* @__PURE__ */ jsx69(WrappedComponent, { ...props })
7262
+ }
7263
+ );
7264
+ };
7265
+ return WithInputVariables;
7266
+ }
7267
+ function withInputVariablesForMultiValue(WrappedComponent) {
7268
+ const WithInputVariables = (props) => {
7269
+ var _a;
7270
+ if (!props.bindable || props.disabled || props.readOnly) {
7271
+ return /* @__PURE__ */ jsx69(WrappedComponent, { ...props });
7272
+ }
7273
+ return /* @__PURE__ */ jsx69(
7274
+ InputVariables,
7275
+ {
7276
+ disableInlineMenu: true,
7277
+ showMenuPosition: "inline-right",
7278
+ onChange: (newValue) => props.onChange(newValue ? [newValue] : []),
7279
+ value: (_a = props.value) == null ? void 0 : _a[0],
7280
+ inputWhenNoVariables: /* @__PURE__ */ jsx69(WrappedComponent, { ...props })
7281
+ }
7282
+ );
7283
+ };
7284
+ return WithInputVariables;
7285
+ }
7286
+ var bindableFiltersMapper = {
7287
+ ...filterMapper,
7288
+ multiChoice: withInputVariablesForMultiValue(FilterMultiChoiceEditor),
7289
+ singleChoice: withInputVariables(FilterSingleChoiceEditor),
7290
+ date: withInputVariables(DateEditor),
7291
+ text: withInputVariables(TextEditor),
7292
+ number: withInputVariables(NumberEditor)
7293
+ };
7294
+
7211
7295
  // src/utils/createLocationValidator.ts
7212
7296
  function createLocationValidator(setValue, validate) {
7213
7297
  return (dispatch) => setValue((previous) => {
@@ -7371,6 +7455,7 @@ export {
7371
7455
  VariablesPlugin,
7372
7456
  VariablesProvider,
7373
7457
  badgeIcon,
7458
+ bindableFiltersMapper,
7374
7459
  convertConnectedDataToVariable,
7375
7460
  createLocationValidator,
7376
7461
  damSelectItemImage,