@uniformdev/mesh-sdk-react 18.18.1-alpha.12 → 18.19.1-alpha.7

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
@@ -1606,6 +1606,7 @@ var EntrySearch = ({
1606
1606
  setSelectedListItems(selectedItems);
1607
1607
  }
1608
1608
  },
1609
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1609
1610
  [selectedItemsHash]
1610
1611
  );
1611
1612
  const resetForm = () => {
@@ -1857,58 +1858,61 @@ var EntrySearch = ({
1857
1858
  }
1858
1859
  )
1859
1860
  ] }) : null,
1860
- !listOpen ? multiSelect && selectedListItems.length > 1 ? /* @__PURE__ */ jsx21(DragDropContext, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ jsx21(Droppable, { droppableId: multiSelectId || "canvas-multi-select", children: (provided) => /* @__PURE__ */ jsxs10(
1861
- "div",
1862
- {
1863
- ...provided.droppableProps,
1864
- ref: provided.innerRef,
1865
- css: css11`
1861
+ !listOpen ? multiSelect && selectedListItems.length > 1 ? (
1862
+ //enable dnd only if selected more then 1 item
1863
+ /* @__PURE__ */ jsx21(DragDropContext, { onDragEnd: (res) => onDragEnd(res), children: /* @__PURE__ */ jsx21(Droppable, { droppableId: multiSelectId || "canvas-multi-select", children: (provided) => /* @__PURE__ */ jsxs10(
1864
+ "div",
1865
+ {
1866
+ ...provided.droppableProps,
1867
+ ref: provided.innerRef,
1868
+ css: css11`
1866
1869
  margin-block: var(--spacing-sm) 0;
1867
1870
  `,
1868
- children: [
1869
- selectedListItems == null ? void 0 : selectedListItems.map((selectedItem, index) => {
1870
- if (selectedItem == null ? void 0 : selectedItem.id) {
1871
- return /* @__PURE__ */ jsx21(Draggable, { draggableId: selectedItem.id, index, children: (provided2, snapshot) => {
1872
- return /* @__PURE__ */ jsxs10(
1873
- "div",
1874
- {
1875
- css: draggableContainer,
1876
- ref: provided2.innerRef,
1877
- "data-dragging": snapshot.isDragging,
1878
- ...provided2.draggableProps,
1879
- ...provided2.dragHandleProps,
1880
- children: [
1881
- /* @__PURE__ */ jsxs10("span", { css: draggableIconWrapper, children: [
1871
+ children: [
1872
+ selectedListItems == null ? void 0 : selectedListItems.map((selectedItem, index) => {
1873
+ if (selectedItem == null ? void 0 : selectedItem.id) {
1874
+ return /* @__PURE__ */ jsx21(Draggable, { draggableId: selectedItem.id, index, children: (provided2, snapshot) => {
1875
+ return /* @__PURE__ */ jsxs10(
1876
+ "div",
1877
+ {
1878
+ css: draggableContainer,
1879
+ ref: provided2.innerRef,
1880
+ "data-dragging": snapshot.isDragging,
1881
+ ...provided2.draggableProps,
1882
+ ...provided2.dragHandleProps,
1883
+ children: [
1884
+ /* @__PURE__ */ jsxs10("span", { css: draggableIconWrapper, children: [
1885
+ /* @__PURE__ */ jsx21(
1886
+ MoreVerticalAlt_default,
1887
+ {
1888
+ css: [draggableIcon, draggableIconOffset],
1889
+ width: 24,
1890
+ height: 24
1891
+ }
1892
+ ),
1893
+ /* @__PURE__ */ jsx21(MoreVerticalAlt_default, { css: draggableIcon, width: 24, height: 24 })
1894
+ ] }),
1882
1895
  /* @__PURE__ */ jsx21(
1883
- MoreVerticalAlt_default,
1896
+ ResolvedSelectedItemComponent,
1884
1897
  {
1885
- css: [draggableIcon, draggableIconOffset],
1886
- width: 24,
1887
- height: 24
1888
- }
1889
- ),
1890
- /* @__PURE__ */ jsx21(MoreVerticalAlt_default, { css: draggableIcon, width: 24, height: 24 })
1891
- ] }),
1892
- /* @__PURE__ */ jsx21(
1893
- ResolvedSelectedItemComponent,
1894
- {
1895
- logoIcon,
1896
- selectedItem,
1897
- onDeselect: (item) => handleDeselect(item),
1898
- onEditClosed: onEditClosed ? (item) => onEditClosed(item) : void 0
1899
- },
1900
- `selected-item-${selectedItem.id}`
1901
- )
1902
- ]
1903
- }
1904
- );
1905
- } }, selectedItem.id);
1906
- }
1907
- }),
1908
- provided.placeholder
1909
- ]
1910
- }
1911
- ) }) }) : selectedListItems == null ? void 0 : selectedListItems.map((selectedItem) => /* @__PURE__ */ jsx21(
1898
+ logoIcon,
1899
+ selectedItem,
1900
+ onDeselect: (item) => handleDeselect(item),
1901
+ onEditClosed: onEditClosed ? (item) => onEditClosed(item) : void 0
1902
+ },
1903
+ `selected-item-${selectedItem.id}`
1904
+ )
1905
+ ]
1906
+ }
1907
+ );
1908
+ } }, selectedItem.id);
1909
+ }
1910
+ }),
1911
+ provided.placeholder
1912
+ ]
1913
+ }
1914
+ ) }) })
1915
+ ) : selectedListItems == null ? void 0 : selectedListItems.map((selectedItem) => /* @__PURE__ */ jsx21(
1912
1916
  ResolvedSelectedItemComponent,
1913
1917
  {
1914
1918
  logoIcon,
@@ -2275,6 +2279,9 @@ function ProductSearch({
2275
2279
  }));
2276
2280
  return result;
2277
2281
  },
2282
+ // We use `categoryIds` as a dependency instead of `categories` array so
2283
+ // that equality comparison is more accurate with what we expect.
2284
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2278
2285
  [categoryIds]
2279
2286
  );
2280
2287
  const combinedSearchResults = useRef5();
@@ -2766,6 +2773,11 @@ var menuItemTextGroup = css18`
2766
2773
  var smallText = css18`
2767
2774
  font-size: var(--fs-xs);
2768
2775
  `;
2776
+ var variablesTipText = css18`
2777
+ ${smallText}
2778
+ color: var(--gray-500);
2779
+ padding: 0 var(--spacing-sm);
2780
+ `;
2769
2781
 
2770
2782
  // src/components/Variables/VariablesProvider.tsx
2771
2783
  import * as React10 from "react";
@@ -2785,504 +2797,6 @@ var variablesFormBtnGroup = css19`
2785
2797
  display: flex;
2786
2798
  gap: var(--spacing-sm);
2787
2799
  `;
2788
- var tagifyStyles = css19`
2789
- :root {
2790
- --tagify-dd-color-primary: rgb(53, 149, 246);
2791
- --tagify-dd-bg-color: var(--white);
2792
- --tagify-dd-item-pad: var(--spacing-xs) var(--spacing-sm);
2793
- }
2794
-
2795
- .tagify {
2796
- --tags-disabled-bg: #f1f1f1;
2797
- --tags-border-color: var(--gray-400);
2798
- --tags-hover-border-color: var(--gray-300);
2799
- --tags-focus-border-color: var(--brand-secondary-1);
2800
- --tag-border-radius: var(--rounded-md);
2801
- --tag-bg: var(--gray-100);
2802
- --tag-hover: var(--gray-200);
2803
- --tag-text-color: var(--brand-secondary-1);
2804
- --tag-text-color--edit: var(--brand-secondary-1);
2805
- --tag-pad: var(--spacing-2xs) var(--spacing-sm);
2806
- --tag-inset-shadow-size: 1rem;
2807
- --tag-invalid-color: #d39494;
2808
- --tag-invalid-bg: rgba(211, 148, 148, 0.5);
2809
- --tag-remove-bg: rgba(211, 148, 148, 0.3);
2810
- --tag-remove-btn-color: black;
2811
- --tag-remove-btn-bg: none;
2812
- --tag-remove-btn-bg--hover: #c77777;
2813
- --input-color: inherit;
2814
- --tag--min-width: 1ch;
2815
- --tag--max-width: auto;
2816
- --tag-hide-transition: 0.3s;
2817
- --placeholder-color: rgba(0, 0, 0, 0.4);
2818
- --placeholder-color-focus: rgba(0, 0, 0, 0.25);
2819
- --loader-size: 0.8em;
2820
- --readonly-striped: 1;
2821
-
2822
- background: var(--white);
2823
- display: inline-flex;
2824
- align-items: flex-start;
2825
- flex-wrap: wrap;
2826
- border-radius: var(--rounded-md);
2827
- outline: 1px solid var(--gray-400);
2828
- padding: 0;
2829
- line-height: 0;
2830
- cursor: text;
2831
- position: relative;
2832
- box-sizing: border-box;
2833
- transition: 0.1s;
2834
- word-break: break-word;
2835
- }
2836
- .tagify:hover:not(.tagify--focus):not(.tagify--invalid) {
2837
- --tags-border-color: var(--tags-hover-border-color);
2838
- }
2839
- .tagify[disabled] {
2840
- background: var(--tags-disabled-bg);
2841
- filter: saturate(0);
2842
- opacity: 0.5;
2843
- pointer-events: none;
2844
- }
2845
- .tagify[disabled].tagify--select,
2846
- .tagify[readonly].tagify--select {
2847
- pointer-events: none;
2848
- }
2849
- .tagify[disabled]:not(.tagify--mix):not(.tagify--select),
2850
- .tagify[readonly]:not(.tagify--mix):not(.tagify--select) {
2851
- cursor: default;
2852
- }
2853
- .tagify[disabled]:not(.tagify--mix):not(.tagify--select) > .tagify__input,
2854
- .tagify[readonly]:not(.tagify--mix):not(.tagify--select) > .tagify__input {
2855
- visibility: hidden;
2856
- width: 0;
2857
- margin: 5px 0;
2858
- }
2859
- .tagify[disabled]:not(.tagify--mix):not(.tagify--select) .tagify__tag > div,
2860
- .tagify[readonly]:not(.tagify--mix):not(.tagify--select) .tagify__tag > div {
2861
- padding: var(--tag-pad);
2862
- }
2863
- .tagify[disabled]:not(.tagify--mix):not(.tagify--select) .tagify__tag > div::before,
2864
- .tagify[readonly]:not(.tagify--mix):not(.tagify--select) .tagify__tag > div::before {
2865
- animation: readonlyStyles 1s calc(-1s * (var(--readonly-striped) - 1)) paused;
2866
- }
2867
-
2868
- .tagify[disabled] .tagify__tag__removeBtn,
2869
- .tagify[readonly] .tagify__tag__removeBtn {
2870
- display: none;
2871
- }
2872
- .tagify--loading .tagify__input > br:last-child {
2873
- display: none;
2874
- }
2875
- .tagify--loading .tagify__input::before {
2876
- content: none;
2877
- }
2878
- .tagify--loading .tagify__input::after {
2879
- content: '';
2880
- vertical-align: middle;
2881
- opacity: 1;
2882
- width: 0.7em;
2883
- height: 0.7em;
2884
- width: var(--loader-size);
2885
- height: var(--loader-size);
2886
- min-width: 0;
2887
- border: 3px solid;
2888
- border-color: #eee #bbb #888 transparent;
2889
- border-radius: 50%;
2890
- animation: rotateLoader 0.4s infinite linear;
2891
- content: '' !important;
2892
- margin: -2px 0 -2px 0.5em;
2893
- }
2894
- .tagify--loading .tagify__input:empty::after {
2895
- margin-left: 0;
2896
- }
2897
- .tagify + input,
2898
- .tagify + textarea {
2899
- position: absolute !important;
2900
- left: -9999em !important;
2901
- transform: scale(0) !important;
2902
- }
2903
- .tagify__tag {
2904
- display: inline-flex;
2905
- align-items: center;
2906
- margin: 5px 0 5px 5px;
2907
- position: relative;
2908
- z-index: 1;
2909
- outline: 0;
2910
- line-height: normal;
2911
- cursor: default;
2912
- transition: 0.13s ease-out;
2913
- }
2914
- .tagify__tag > div {
2915
- vertical-align: top;
2916
- box-sizing: border-box;
2917
- max-width: 100%;
2918
- padding: var(--tag-pad);
2919
- color: var(--tag-text-color);
2920
- line-height: inherit;
2921
- border-radius: var(--tag-border-radius);
2922
- white-space: nowrap;
2923
- transition: 0.13s ease-out;
2924
- }
2925
- .tagify__tag > div > * {
2926
- white-space: pre-wrap;
2927
- overflow: hidden;
2928
- text-overflow: ellipsis;
2929
- display: inline-block;
2930
- vertical-align: top;
2931
- min-width: var(--tag--min-width);
2932
- max-width: var(--tag--max-width);
2933
- transition: 0.8s ease, 0.1s color;
2934
- }
2935
- .tagify__tag > div > [contenteditable] {
2936
- outline: 0;
2937
- -webkit-user-select: text;
2938
- user-select: text;
2939
- cursor: text;
2940
- margin: -2px;
2941
- padding: 2px;
2942
- max-width: 350px;
2943
- }
2944
- .tagify__tag > div::before {
2945
- content: '';
2946
- position: absolute;
2947
- border-radius: inherit;
2948
- inset: var(--tag-bg-inset, 0);
2949
- z-index: -1;
2950
- pointer-events: none;
2951
- transition: 120ms ease;
2952
- animation: tags--bump 0.3s ease-out 1;
2953
- background: var(--tag-bg);
2954
- }
2955
- .tagify__tag:focus div::before,
2956
- .tagify__tag:hover:not([readonly]) div::before {
2957
- --tag-bg-inset: -2.5px;
2958
- --tag-bg: var(--tag-hover);
2959
- }
2960
- .tagify__tag--loading {
2961
- pointer-events: none;
2962
- }
2963
- .tagify__tag--loading .tagify__tag__removeBtn {
2964
- display: none;
2965
- }
2966
- .tagify__tag--loading::after {
2967
- --loader-size: 0.4em;
2968
- content: '';
2969
- vertical-align: middle;
2970
- opacity: 1;
2971
- width: 0.7em;
2972
- height: 0.7em;
2973
- width: var(--loader-size);
2974
- height: var(--loader-size);
2975
- min-width: 0;
2976
- border: 3px solid;
2977
- border-color: #eee #bbb #888 transparent;
2978
- border-radius: 50%;
2979
- animation: rotateLoader 0.4s infinite linear;
2980
- margin: 0 0.5em 0 -0.1em;
2981
- }
2982
- .tagify__tag--flash div::before {
2983
- animation: none;
2984
- }
2985
- .tagify__tag--hide {
2986
- width: 0 !important;
2987
- padding-left: 0;
2988
- padding-right: 0;
2989
- margin-left: 0;
2990
- margin-right: 0;
2991
- opacity: 0;
2992
- transform: scale(0);
2993
- transition: var(--tag-hide-transition);
2994
- pointer-events: none;
2995
- }
2996
- .tagify__tag--hide > div > * {
2997
- white-space: nowrap;
2998
- }
2999
- .tagify__tag.tagify--noAnim > div::before {
3000
- animation: none;
3001
- }
3002
- .tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div > span {
3003
- opacity: 0.5;
3004
- }
3005
- .tagify__tag.tagify--notAllowed:not(.tagify__tag--editable) div::before {
3006
- --tag-bg: var(--tag-invalid-bg);
3007
- transition: 0.2s;
3008
- }
3009
- .tagify__tag[readonly] .tagify__tag__removeBtn {
3010
- display: none;
3011
- }
3012
- .tagify__tag[readonly] > div::before {
3013
- animation: readonlyStyles 1s calc(-1s * (var(--readonly-striped) - 1)) paused;
3014
- }
3015
-
3016
- .tagify__tag--editable > div {
3017
- color: var(--tag-text-color--edit);
3018
- }
3019
- .tagify__tag--editable > div::before {
3020
- background-color: var(--tag-hover) !important;
3021
- }
3022
- .tagify__tag--editable > .tagify__tag__removeBtn {
3023
- pointer-events: none;
3024
- }
3025
- .tagify__tag--editable > .tagify__tag__removeBtn::after {
3026
- opacity: 0;
3027
- transform: translateX(100%) translateX(5px);
3028
- }
3029
- .tagify__tag--editable.tagify--invalid > div::before {
3030
- background-color: var(--tag-invalid-color) !important;
3031
- }
3032
- .tagify__tag__removeBtn {
3033
- order: 5;
3034
- display: inline-flex;
3035
- align-items: center;
3036
- justify-content: center;
3037
- border-radius: 50px;
3038
- cursor: pointer;
3039
- font: 14px/1 Arial;
3040
- background: var(--tag-remove-btn-bg);
3041
- color: var(--tag-remove-btn-color);
3042
- width: 14px;
3043
- height: 14px;
3044
- margin-right: 4.6666666667px;
3045
- margin-left: auto;
3046
- overflow: hidden;
3047
- transition: 0.2s ease-out;
3048
- }
3049
- .tagify__tag__removeBtn::after {
3050
- content: '×';
3051
- transition: 0.3s, color 0s;
3052
- }
3053
- .tagify__tag__removeBtn:hover {
3054
- color: var(--white);
3055
- background: var(--tag-remove-btn-bg--hover);
3056
- }
3057
- .tagify__tag__removeBtn:hover + div > span {
3058
- opacity: 0.5;
3059
- }
3060
- .tagify__tag__removeBtn:hover + div::before {
3061
- background: var(--tag-remove-bg);
3062
- transition: background-color 0.2s;
3063
- }
3064
- .tagify:not(.tagify--mix) .tagify__input br {
3065
- display: none;
3066
- }
3067
- .tagify:not(.tagify--mix) .tagify__input * {
3068
- display: inline;
3069
- white-space: nowrap;
3070
- }
3071
- .tagify__input {
3072
- border-radius: var(--rounded-md);
3073
- flex-grow: 1;
3074
- display: inline-block;
3075
- min-width: 110px;
3076
- margin: 5px;
3077
- padding: var(--spacing-base) var(--spacing-md) var(--spacing-base) var(--spacing-base);
3078
- line-height: normal;
3079
- position: relative;
3080
- white-space: pre-wrap;
3081
- color: var(--input-color);
3082
- box-sizing: inherit;
3083
- }
3084
- .tagify__input:empty::before {
3085
- position: static;
3086
- }
3087
- .tagify__input:focus {
3088
- outline: 0;
3089
- }
3090
- .tagify__input:focus::before {
3091
- transition: 0.2s ease-out;
3092
- opacity: 0;
3093
- transform: translatex(6px);
3094
- }
3095
- .tagify__input:focus:empty::before {
3096
- transition: 0.2s ease-out;
3097
- opacity: 1;
3098
- transform: none;
3099
- color: rgba(0, 0, 0, 0.25);
3100
- color: var(--placeholder-color-focus);
3101
- }
3102
- .tagify__input::before {
3103
- content: attr(data-placeholder);
3104
- height: 1em;
3105
- line-height: 1em;
3106
- margin: auto 0;
3107
- z-index: 1;
3108
- color: var(--placeholder-color);
3109
- white-space: nowrap;
3110
- pointer-events: none;
3111
- opacity: 0;
3112
- position: absolute;
3113
- }
3114
- .tagify__input::after {
3115
- content: attr(data-suggest);
3116
- display: inline-block;
3117
- vertical-align: middle;
3118
- position: absolute;
3119
- min-width: calc(100% - 1.5em);
3120
- text-overflow: ellipsis;
3121
- overflow: hidden;
3122
- white-space: pre;
3123
- color: var(--tag-text-color);
3124
- opacity: 0.3;
3125
- pointer-events: none;
3126
- max-width: 100px;
3127
- }
3128
- .tagify__input .tagify__tag {
3129
- margin: 0 1px;
3130
- }
3131
- .tagify--mix {
3132
- display: block;
3133
- }
3134
- .tagify--mix .tagify__input {
3135
- background-image: url("data:image/svg+xml,%3Csvg width='18' height='10' viewBox='0 0 18 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 6C13.5523 6 14 5.55228 14 5C14 4.44772 13.5523 4 13 4L5 4C4.44771 4 4 4.44772 4 5C4 5.55228 4.44772 6 5 6L13 6Z' fill='%23D1D5DB'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18 5C18 7.76142 15.7614 10 13 10L5 10C2.23858 10 0 7.76142 0 5C0 2.23858 2.23858 0 5 0L13 0C15.7614 0 18 2.23858 18 5ZM13 8L5 8C3.34315 8 2 6.65685 2 5C2 3.34315 3.34315 2 5 2L13 2C14.6569 2 16 3.34315 16 5C16 6.65685 14.6569 8 13 8Z' fill='%23D1D5DB'/%3E%3C/svg%3E%0A");
3136
- background-repeat: no-repeat;
3137
- background-position: right var(--spacing-sm) center;
3138
- padding: var(--spacing-base) var(--spacing-xl) var(--spacing-base) var(--spacing-base);
3139
- margin: 0;
3140
- width: 100%;
3141
- height: 100%;
3142
- display: block;
3143
- min-height: 54px;
3144
- }
3145
- .tagify--mix .tagify__input::before {
3146
- height: auto;
3147
- display: none;
3148
- line-height: inherit;
3149
- }
3150
- .tagify--mix .tagify__input::after {
3151
- content: none;
3152
- }
3153
- .tagify--select::after {
3154
- content: '>';
3155
- opacity: 0.5;
3156
- position: absolute;
3157
- top: 50%;
3158
- right: 0;
3159
- bottom: 0;
3160
- font: 16px monospace;
3161
- line-height: 8px;
3162
- height: 8px;
3163
- pointer-events: none;
3164
- transform: translate(-150%, -50%) scaleX(1.2) rotate(90deg);
3165
- transition: 0.2s ease-in-out;
3166
- }
3167
- .tagify--select[aria-expanded='true']::after {
3168
- transform: translate(-150%, -50%) rotate(270deg) scaleY(1.2);
3169
- }
3170
- .tagify--select .tagify__tag {
3171
- position: absolute;
3172
- top: 0;
3173
- right: 1.8em;
3174
- bottom: 0;
3175
- }
3176
- .tagify--select .tagify__tag div {
3177
- display: none;
3178
- }
3179
- .tagify--select .tagify__input {
3180
- width: 100%;
3181
- }
3182
- .tagify--empty .tagify__input::before {
3183
- transition: 0.2s ease-out;
3184
- opacity: 1;
3185
- transform: none;
3186
- display: inline-block;
3187
- width: auto;
3188
- }
3189
- .tagify--mix .tagify--empty .tagify__input::before {
3190
- display: inline-block;
3191
- }
3192
- .tagify--focus {
3193
- --tags-border-color: var(--tags-focus-border-color);
3194
- transition: 0s;
3195
- }
3196
- .tagify--invalid {
3197
- --tags-border-color: #d39494;
3198
- }
3199
- .tagify__dropdown {
3200
- position: absolute;
3201
- z-index: 9999;
3202
- transform: translateY(1px);
3203
- overflow: hidden;
3204
- }
3205
- .tagify__dropdown[placement='top'] {
3206
- margin-top: 0;
3207
- transform: translateY(-100%);
3208
- }
3209
- .tagify__dropdown[placement='top'] .tagify__dropdown__wrapper {
3210
- border-top-width: 1.1px;
3211
- border-bottom-width: 0;
3212
- }
3213
- .tagify__dropdown[position='text'] {
3214
- box-shadow: 0 0 0 3px rgba(var(--tagify-dd-color-primary), 0.1);
3215
- font-size: 0.9em;
3216
- }
3217
- .tagify__dropdown[position='text'] .tagify__dropdown__wrapper {
3218
- border-width: 1px;
3219
- }
3220
- .tagify__dropdown__wrapper {
3221
- max-height: 300px;
3222
- overflow: auto;
3223
- overflow-x: hidden;
3224
- background: var(--tagify-dd-bg-color);
3225
- border: 1px solid;
3226
- border-color: var(--tagify-dd-color-primary);
3227
- border-bottom-width: 1.5px;
3228
- border-top-width: 0;
3229
- box-shadow: 0 2px 4px -2px rgba(0, 0, 0, 0.2);
3230
- transition: 0.25s cubic-bezier(0, 1, 0.5, 1);
3231
- }
3232
- .tagify__dropdown__header:empty {
3233
- display: none;
3234
- }
3235
- .tagify__dropdown__footer {
3236
- display: inline-block;
3237
- margin-top: 0.5em;
3238
- padding: var(--tagify-dd-item-pad);
3239
- font-size: 0.7em;
3240
- font-style: italic;
3241
- opacity: 0.5;
3242
- }
3243
- .tagify__dropdown__footer:empty {
3244
- display: none;
3245
- }
3246
- .tagify__dropdown--initial .tagify__dropdown__wrapper {
3247
- max-height: 20px;
3248
- transform: translateY(-1em);
3249
- }
3250
- .tagify__dropdown--initial[placement='top'] .tagify__dropdown__wrapper {
3251
- transform: translateY(2em);
3252
- }
3253
- .tagify__dropdown__item {
3254
- box-sizing: border-box;
3255
- padding: var(--tagify-dd-item-pad);
3256
- margin: 1px;
3257
- cursor: pointer;
3258
- border-radius: 2px;
3259
- position: relative;
3260
- outline: 0;
3261
- max-height: 60px;
3262
- max-width: 100%;
3263
- }
3264
- .tagify__dropdown__item--active {
3265
- background: var(--tagify-dd-color-primary);
3266
- color: #fff;
3267
- }
3268
- .tagify__dropdown__item:active {
3269
- filter: brightness(105%);
3270
- }
3271
- .tagify__dropdown__item--hidden {
3272
- padding-top: 0;
3273
- padding-bottom: 0;
3274
- margin: 0 1px;
3275
- pointer-events: none;
3276
- overflow: hidden;
3277
- max-height: 0;
3278
- transition: var(--tagify-dd-item--hidden-duration, 0.3s) !important;
3279
- }
3280
- .tagify__dropdown__item--hidden > * {
3281
- transform: translateY(-100%);
3282
- opacity: 0;
3283
- transition: inherit;
3284
- }
3285
- `;
3286
2800
 
3287
2801
  // src/components/Variables/VariableEditor.tsx
3288
2802
  import { jsx as jsx28, jsxs as jsxs16 } from "@emotion/react/jsx-runtime";
@@ -3408,7 +2922,7 @@ var InsertVariableMenu = ({
3408
2922
  }) => {
3409
2923
  const { variables, dispatch } = useVariables();
3410
2924
  const btnRef = useRef8(null);
3411
- const hasVariables = Object.entries(variables).length;
2925
+ const tip = "Tip: access this list by typing ${";
3412
2926
  useEffect5(() => {
3413
2927
  if (textValue === trigger && btnRef.current && btnRef.current.getAttribute("aria-expanded") === "false") {
3414
2928
  btnRef.current.click();
@@ -3416,7 +2930,7 @@ var InsertVariableMenu = ({
3416
2930
  }, [textValue, btnRef, trigger]);
3417
2931
  return /* @__PURE__ */ jsxs18("div", { css: menuContainer, children: [
3418
2932
  children,
3419
- hasVariables ? /* @__PURE__ */ jsxs18(
2933
+ /* @__PURE__ */ jsxs18(
3420
2934
  Menu2,
3421
2935
  {
3422
2936
  placement: "bottom-start",
@@ -3442,10 +2956,12 @@ var InsertVariableMenu = ({
3442
2956
  showAddVariableMenuOption ? /* @__PURE__ */ jsxs18(Fragment4, { children: [
3443
2957
  /* @__PURE__ */ jsx30(MenuItemSeparator, {}),
3444
2958
  /* @__PURE__ */ jsx30(MenuItem2, { onClick: () => dispatch({ type: "edit", variable: "" }), children: "Add Variable" })
3445
- ] }) : null
2959
+ ] }) : null,
2960
+ Object.entries(variables).length || showAddVariableMenuOption ? /* @__PURE__ */ jsx30(MenuItemSeparator, {}) : null,
2961
+ /* @__PURE__ */ jsx30("i", { css: variablesTipText, children: tip })
3446
2962
  ]
3447
2963
  }
3448
- ) : null
2964
+ )
3449
2965
  ] });
3450
2966
  };
3451
2967
 
@@ -3454,6 +2970,7 @@ import { jsx as jsx31 } from "@emotion/react/jsx-runtime";
3454
2970
  function InputVariables({
3455
2971
  "aria-label": ariaLabel,
3456
2972
  value,
2973
+ // disableVariables,
3457
2974
  onChange,
3458
2975
  onPaste,
3459
2976
  onVariableClick,
@@ -4408,9 +3925,14 @@ var useInitializeUniformMeshSdk = ({ autoResizingDisabled } = {}) => {
4408
3925
  setSdk(window.UniformMeshSDK);
4409
3926
  }
4410
3927
  },
3928
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4411
3929
  [autoResizingDisabled]
4412
3930
  );
4413
3931
  return {
3932
+ // note: we don't use initializationInProgress.current here to tell the consumer whether or not we're
3933
+ // initializing, because initializationInProgress.current initially starts out as `false` and is
3934
+ // only used as a workaround for React StrictMode.
3935
+ // We don't consider the sdk initialized until the `sdk` value is actually defined.
4414
3936
  initializing: !sdk && !error,
4415
3937
  error,
4416
3938
  sdk
@@ -4448,6 +3970,9 @@ function useUniformMeshLocation() {
4448
3970
  return location;
4449
3971
  }
4450
3972
 
3973
+ // src/hooks/index.ts
3974
+ import { ParameterShellContext, useParameterShell } from "@uniformdev/design-system";
3975
+
4451
3976
  // src/utils/createLocationValidator.ts
4452
3977
  function createLocationValidator(setValue, validate) {
4453
3978
  return (dispatch) => setValue((previous) => {
@@ -4473,6 +3998,20 @@ import {
4473
3998
  LoadingOverlay as LoadingOverlay2,
4474
3999
  Menu as Menu3,
4475
4000
  MenuItem as MenuItem3,
4001
+ ParameterGroup,
4002
+ ParameterImage,
4003
+ ParameterImageInner,
4004
+ ParameterInput,
4005
+ ParameterInputInner,
4006
+ ParameterLabel,
4007
+ ParameterMenuButton,
4008
+ ParameterSelect,
4009
+ ParameterSelectInner,
4010
+ ParameterShell,
4011
+ ParameterTextarea,
4012
+ ParameterTextareaInner,
4013
+ ParameterToggle,
4014
+ ParameterToggleInner,
4476
4015
  ScrollableList,
4477
4016
  ScrollableListItem,
4478
4017
  Switch,
@@ -4506,6 +4045,21 @@ export {
4506
4045
  Menu3 as Menu,
4507
4046
  MenuItem3 as MenuItem,
4508
4047
  MeshApp,
4048
+ ParameterGroup,
4049
+ ParameterImage,
4050
+ ParameterImageInner,
4051
+ ParameterInput,
4052
+ ParameterInputInner,
4053
+ ParameterLabel,
4054
+ ParameterMenuButton,
4055
+ ParameterSelect,
4056
+ ParameterSelectInner,
4057
+ ParameterShell,
4058
+ ParameterShellContext,
4059
+ ParameterTextarea,
4060
+ ParameterTextareaInner,
4061
+ ParameterToggle,
4062
+ ParameterToggleInner,
4509
4063
  ProductPreviewList,
4510
4064
  ProductQuery,
4511
4065
  ProductQueryContext,
@@ -4603,6 +4157,7 @@ export {
4603
4157
  urlEncodeRequestUrl,
4604
4158
  useInitializeUniformMeshSdk,
4605
4159
  useMeshLocation,
4160
+ useParameterShell,
4606
4161
  useProductQueryContext,
4607
4162
  useProductSearchContext,
4608
4163
  useRequest,