@useinsider/guido 3.8.2-beta.2ed8604 → 3.8.2-beta.4487e7b

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.
@@ -1,15 +1,16 @@
1
- const n = "newsletter.already-in-progress", e = "newsletter.campaign-could-not-be-saved", s = / (==|<=|>=|!=|>|<|in) | (if|elif|endif|else|and|or) |("[\S ]+")|('[\S ]+')|([^”\s\n]+)|(({%)|( %}))/gm, o = /{%( )*now( )(".*")( )*%}/gm, E = /\{\{[^{}]+\}\}/g, i = /(\s)data-[\w-]+=(?:"[^"]*"|'[^']*')/g, t = /^[A-Za-z0-9_.]+$/, _ = [
1
+ const n = "newsletter.already-in-progress", e = "newsletter.campaign-could-not-be-saved", s = / (==|<=|>=|!=|>|<|in) | (if|elif|endif|else|and|or) |("[\S ]+")|('[\S ]+')|([^”\s\n]+)|(({%)|( %}))/gm, o = /{%( )*now( )(".*")( )*%}/gm, E = /\{\{[^{}]+\}\}/g, _ = /(\s)data-[\w-]+=(?:"[^"]*"|'[^']*')/g, i = /^[A-Za-z0-9_.]+$/, t = [
2
2
  "ins-unsubscribe-link",
3
3
  "ins-global-unsubscribe-link",
4
- "ins-preferences-unsubscribe-link"
4
+ "ins-preferences-unsubscribe-link",
5
+ "@COUPON_CODE"
5
6
  ];
6
7
  export {
7
- _ as ALLOWED_DYNAMIC_SYSTEM_TOKENS,
8
+ t as ALLOWED_DYNAMIC_SYSTEM_TOKENS,
8
9
  e as CampaignCouldNotBeSavedKey,
9
10
  n as CanNotMakeAnyChangesForRunningKey,
10
- i as DATA_ATTRIBUTE_REGEX,
11
+ _ as DATA_ATTRIBUTE_REGEX,
11
12
  o as DISPLAY_CONDITIONS_EXCEPTIONS_REGEX,
12
13
  s as DISPLAY_CONDITIONS_REGEX,
13
14
  E as DYNAMIC_CONTENT_TAG_REGEX,
14
- t as VALID_DYNAMIC_VARIABLE_REGEX
15
+ i as VALID_DYNAMIC_VARIABLE_REGEX
15
16
  };
@@ -1,16 +1,18 @@
1
1
  const n = `/* Utils */
2
- .es-180w { width: 180px; }
2
+ .es-180w {
3
+ width: 180px;
4
+ }
3
5
 
4
6
  /* Recommendation Controls - Main settings panel separators */
5
- .recommendation-controls-container > div {
7
+ .recommendation-controls-container>div {
6
8
  border-bottom: 1px solid #eee;
7
9
  }
8
10
 
9
- .recommendation-controls-container > div:first-child {
11
+ .recommendation-controls-container>div:first-child {
10
12
  padding-top: 0;
11
13
  }
12
14
 
13
- .recommendation-controls-container > div:last-child {
15
+ .recommendation-controls-container>div:last-child {
14
16
  border-bottom: none;
15
17
  }
16
18
 
@@ -230,40 +232,60 @@ ue-orderable.orderable-disabled .droppable-icon {
230
232
  line-height: 16px;
231
233
  }
232
234
 
233
- /* ─── Manual-merchandising Product IDs tags input ───────────────────────── */
234
- /* The product-ids field uses Stripo's native MULTIPLE_SELECT (chips: add by
235
- Enter, remove by ×). These overrides force the Figma palette
236
- (#F1F3FE bg / #B5C1F1 border / #0A2ECC text) onto the chips, since the
237
- element's default styling is Stripo's.
238
- NOTE: the inner chip/close selectors below target Stripo's light-DOM render
239
- for ui-editor-extensions@3.8.0 and MUST be re-verified against the rendered
240
- DOM (bun start) — adjust if a Stripo upgrade changes the internal markup. */
235
+ /* product ID multiselect initial */
236
+ .product-ids-multiselect {
237
+ background-color: var(--guido-color-gray-0);
238
+ border: 1px solid var(--guido-color-gray-300);
239
+ width: 180px;
240
+ }
241
241
 
242
- .algorithm-control-container .product-ids-multiselect {
243
- display: block;
244
- width: 100%;
242
+ /* product ID multiselect — hover */
243
+ .product-ids-multiselect:hover {
244
+ border-color: var(--guido-color-primary-500);
245
+ background-color: var(--guido-color-gray-0) !important;
245
246
  }
246
247
 
247
- /* Each entered ID renders as a chip */
248
- .algorithm-control-container .product-ids-multiselect .tag,
249
- .algorithm-control-container .product-ids-multiselect .chip {
250
- display: inline-flex;
248
+ /* product ID multiselect selected (.on) */
249
+ .product-ids-multiselect.on,
250
+ .product-ids-multiselect.on:hover {
251
+ border-color: var(--guido-color-primary-500);
252
+ box-shadow: 0 0 0 3px var(--guido-color-primary-200) !important;
253
+ background-color: var(--guido-color-gray-0) !important;
254
+ }
255
+
256
+ .product-ids-multiselect .multiple-wrapper .multiple-item {
257
+ display: flex;
251
258
  align-items: center;
252
- gap: 4px;
253
259
  border-radius: 4px;
254
- background: var(--guido-color-primary-0, #f1f3fe);
255
- border: 1px solid var(--guido-color-primary-200, #b5c1f1);
256
- color: var(--guido-color-primary-500, #0a2ecc);
260
+ border: 1px solid #B5C1F1;
261
+ background-color: #F1F3FE;
257
262
  font-size: 13px;
263
+ color: #0A2ECC;
258
264
  line-height: 16px;
265
+ box-shadow: none;
266
+ padding: 0 4px;
267
+ }
268
+
269
+ /* Close (×): always visible, moved to the right, split off by a left border (Figma).
270
+ Label is a text node (can't be ordered) so the icon gets order:1 to sit after it;
271
+ Stripo toggles visibility inline on hover, hence !important to keep it shown. */
272
+ .product-ids-multiselect .multiple-wrapper .multiple-item .multiple-item-remove-icon {
273
+ visibility: visible !important;
274
+ opacity: 1;
275
+ position: static !important;
276
+ order: 1;
277
+ margin-left: 4px;
278
+ border-left: 1px solid #B5C1F1;
279
+ color: var(--guido-color-primary-500);
280
+ cursor: pointer;
281
+ width: 16px;
282
+ height: 16px;
283
+ padding: 4px 0 4px 3px;
259
284
  }
260
285
 
261
- /* The × removal control, divided from the label by a left border */
262
- .algorithm-control-container .product-ids-multiselect .tag .remove,
263
- .algorithm-control-container .product-ids-multiselect .chip .remove {
264
- border-left: 1px solid var(--guido-color-primary-200, #b5c1f1);
265
- color: var(--guido-color-primary-500, #0a2ecc);
266
- cursor: pointer;
286
+ .product-ids-multiselect .multiple-wrapper .multiple-item:hover {
287
+ background-color: #F1F3FE;
288
+ padding: 0 4px;
267
289
  }
268
290
  `;
269
291
  export {
@@ -1,6 +1,6 @@
1
1
  var c = Object.defineProperty;
2
- var i = (s, r, e) => r in s ? c(s, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[r] = e;
3
- var T = (s, r, e) => i(s, typeof r != "symbol" ? r + "" : r, e);
2
+ var i = (s, a, e) => a in s ? c(s, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[a] = e;
3
+ var T = (s, a, e) => i(s, typeof a != "symbol" ? a + "" : a, e);
4
4
  import { Control as I, UIElementType as n, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
5
  class _ extends I {
6
6
  constructor() {
@@ -91,7 +91,7 @@ class _ extends I {
91
91
  * and combines it with the text in Stripo's alert-message layout.
92
92
  */
93
93
  _setInfoMessageValue(e, t) {
94
- const E = this.getContainer(), o = E.querySelector(`[data-icon-key="${e}"]`), a = o == null ? void 0 : o.querySelector("ue-icon-component"), l = (a == null ? void 0 : a.outerHTML) ?? "";
94
+ const E = this.getContainer(), o = E.querySelector(`[data-icon-key="${e}"]`), r = o == null ? void 0 : o.querySelector("ue-icon-component"), l = (r == null ? void 0 : r.outerHTML) ?? "";
95
95
  this.api.setUIEAttribute(
96
96
  e,
97
97
  "value",
@@ -127,7 +127,7 @@ class _ extends I {
127
127
  class="${o}"
128
128
  ${$.SELECTPICKER.name}="${e}"
129
129
  ${$.SELECTPICKER.placeholder}="${t}">
130
- ${E.map((a) => this._GuSelectItem(a)).join("")}
130
+ ${E.map((r) => this._GuSelectItem(r)).join("")}
131
131
  </${n.SELECTPICKER}>
132
132
  `;
133
133
  }
@@ -223,11 +223,11 @@ class _ extends I {
223
223
  */
224
224
  _GuOrderable(e, t) {
225
225
  let E = "";
226
- t.forEach((a) => {
226
+ t.forEach((r) => {
227
227
  const l = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
228
228
  E += `
229
- <${n.ORDERABLE_ITEM} ${l}="${a.key}">
230
- ${a.content}
229
+ <${n.ORDERABLE_ITEM} ${l}="${r.key}">
230
+ ${r.content}
231
231
  </${n.ORDERABLE_ITEM}>
232
232
  `;
233
233
  });
@@ -299,9 +299,10 @@ class _ extends I {
299
299
  // Tag/chips input (Stripo MULTIPLE_SELECT): add-by-Enter, remove-by-×.
300
300
  // Value is read/written as a string[] via updateValues / onValueChanged.
301
301
  _GuMultiSelect({ name: e, placeholder: t = "", className: E = "", disabled: o = !1 }) {
302
+ const r = [E, o ? "" : "click-enabled"].filter(Boolean).join(" ");
302
303
  return `
303
304
  <${n.MULTIPLE_SELECT}
304
- class="${E}"
305
+ class="${r}"
305
306
  ${$.MULTIPLE_SELECT.name}="${e}"
306
307
  ${$.MULTIPLE_SELECT.placeholder}="${t}"
307
308
  ${o ? `${$.MULTIPLE_SELECT.disabled}="true"` : ""}>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "3.8.2-beta.2ed8604",
3
+ "version": "3.8.2-beta.4487e7b",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",