@proveanything/smartlinks-utils-ui 0.1.6 → 0.1.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/{chunk-WOCLZGRB.js → chunk-UXI5ZP3X.js} +9 -12
- package/dist/chunk-UXI5ZP3X.js.map +1 -0
- package/dist/{chunk-IVUFK6SS.js → chunk-YVHF5JBL.js} +347 -27
- package/dist/chunk-YVHF5JBL.js.map +1 -0
- package/dist/components/AssetPicker/index.d.ts +1 -1
- package/dist/components/AssetPicker/index.js +1 -1
- package/dist/components/ConditionsEditor/index.js +1 -1
- package/dist/{index-B8GE7cLC.d.ts → index-D_LeS2OR.d.ts} +1 -4
- package/dist/index.css +82 -8
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-IVUFK6SS.js.map +0 -1
- package/dist/chunk-WOCLZGRB.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cn } from './chunk-L7FQ52F5.js';
|
|
2
|
-
import { useState, useCallback } from 'react';
|
|
2
|
+
import { useState, useCallback, useRef, useMemo, useEffect } from 'react';
|
|
3
3
|
import { GitBranch, Plus, Filter, ChevronRight, X, RefreshCw, Trash2, ChevronDown, ToggleLeft, Package, MapPin, Tag, Monitor, Calendar, User, Hash, Globe, Tags } from 'lucide-react';
|
|
4
4
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
|
|
@@ -202,14 +202,336 @@ var ConditionTypePicker = ({ onSelect }) => {
|
|
|
202
202
|
}) })
|
|
203
203
|
] });
|
|
204
204
|
};
|
|
205
|
-
|
|
205
|
+
|
|
206
|
+
// src/components/ConditionsEditor/countries.ts
|
|
207
|
+
var COUNTRIES = [
|
|
208
|
+
{ code: "AF", name: "Afghanistan" },
|
|
209
|
+
{ code: "AL", name: "Albania" },
|
|
210
|
+
{ code: "DZ", name: "Algeria" },
|
|
211
|
+
{ code: "AD", name: "Andorra" },
|
|
212
|
+
{ code: "AO", name: "Angola" },
|
|
213
|
+
{ code: "AG", name: "Antigua and Barbuda" },
|
|
214
|
+
{ code: "AR", name: "Argentina" },
|
|
215
|
+
{ code: "AM", name: "Armenia" },
|
|
216
|
+
{ code: "AU", name: "Australia" },
|
|
217
|
+
{ code: "AT", name: "Austria" },
|
|
218
|
+
{ code: "AZ", name: "Azerbaijan" },
|
|
219
|
+
{ code: "BS", name: "Bahamas" },
|
|
220
|
+
{ code: "BH", name: "Bahrain" },
|
|
221
|
+
{ code: "BD", name: "Bangladesh" },
|
|
222
|
+
{ code: "BB", name: "Barbados" },
|
|
223
|
+
{ code: "BY", name: "Belarus" },
|
|
224
|
+
{ code: "BE", name: "Belgium" },
|
|
225
|
+
{ code: "BZ", name: "Belize" },
|
|
226
|
+
{ code: "BJ", name: "Benin" },
|
|
227
|
+
{ code: "BT", name: "Bhutan" },
|
|
228
|
+
{ code: "BO", name: "Bolivia" },
|
|
229
|
+
{ code: "BA", name: "Bosnia and Herzegovina" },
|
|
230
|
+
{ code: "BW", name: "Botswana" },
|
|
231
|
+
{ code: "BR", name: "Brazil" },
|
|
232
|
+
{ code: "BN", name: "Brunei" },
|
|
233
|
+
{ code: "BG", name: "Bulgaria" },
|
|
234
|
+
{ code: "BF", name: "Burkina Faso" },
|
|
235
|
+
{ code: "BI", name: "Burundi" },
|
|
236
|
+
{ code: "CV", name: "Cabo Verde" },
|
|
237
|
+
{ code: "KH", name: "Cambodia" },
|
|
238
|
+
{ code: "CM", name: "Cameroon" },
|
|
239
|
+
{ code: "CA", name: "Canada" },
|
|
240
|
+
{ code: "CF", name: "Central African Republic" },
|
|
241
|
+
{ code: "TD", name: "Chad" },
|
|
242
|
+
{ code: "CL", name: "Chile" },
|
|
243
|
+
{ code: "CN", name: "China" },
|
|
244
|
+
{ code: "CO", name: "Colombia" },
|
|
245
|
+
{ code: "KM", name: "Comoros" },
|
|
246
|
+
{ code: "CG", name: "Congo" },
|
|
247
|
+
{ code: "CD", name: "Congo (DRC)" },
|
|
248
|
+
{ code: "CR", name: "Costa Rica" },
|
|
249
|
+
{ code: "CI", name: "C\xF4te d'Ivoire" },
|
|
250
|
+
{ code: "HR", name: "Croatia" },
|
|
251
|
+
{ code: "CU", name: "Cuba" },
|
|
252
|
+
{ code: "CY", name: "Cyprus" },
|
|
253
|
+
{ code: "CZ", name: "Czechia" },
|
|
254
|
+
{ code: "DK", name: "Denmark" },
|
|
255
|
+
{ code: "DJ", name: "Djibouti" },
|
|
256
|
+
{ code: "DM", name: "Dominica" },
|
|
257
|
+
{ code: "DO", name: "Dominican Republic" },
|
|
258
|
+
{ code: "EC", name: "Ecuador" },
|
|
259
|
+
{ code: "EG", name: "Egypt" },
|
|
260
|
+
{ code: "SV", name: "El Salvador" },
|
|
261
|
+
{ code: "GQ", name: "Equatorial Guinea" },
|
|
262
|
+
{ code: "ER", name: "Eritrea" },
|
|
263
|
+
{ code: "EE", name: "Estonia" },
|
|
264
|
+
{ code: "SZ", name: "Eswatini" },
|
|
265
|
+
{ code: "ET", name: "Ethiopia" },
|
|
266
|
+
{ code: "FJ", name: "Fiji" },
|
|
267
|
+
{ code: "FI", name: "Finland" },
|
|
268
|
+
{ code: "FR", name: "France" },
|
|
269
|
+
{ code: "GA", name: "Gabon" },
|
|
270
|
+
{ code: "GM", name: "Gambia" },
|
|
271
|
+
{ code: "GE", name: "Georgia" },
|
|
272
|
+
{ code: "DE", name: "Germany" },
|
|
273
|
+
{ code: "GH", name: "Ghana" },
|
|
274
|
+
{ code: "GR", name: "Greece" },
|
|
275
|
+
{ code: "GD", name: "Grenada" },
|
|
276
|
+
{ code: "GT", name: "Guatemala" },
|
|
277
|
+
{ code: "GN", name: "Guinea" },
|
|
278
|
+
{ code: "GW", name: "Guinea-Bissau" },
|
|
279
|
+
{ code: "GY", name: "Guyana" },
|
|
280
|
+
{ code: "HT", name: "Haiti" },
|
|
281
|
+
{ code: "HN", name: "Honduras" },
|
|
282
|
+
{ code: "HU", name: "Hungary" },
|
|
283
|
+
{ code: "IS", name: "Iceland" },
|
|
284
|
+
{ code: "IN", name: "India" },
|
|
285
|
+
{ code: "ID", name: "Indonesia" },
|
|
286
|
+
{ code: "IR", name: "Iran" },
|
|
287
|
+
{ code: "IQ", name: "Iraq" },
|
|
288
|
+
{ code: "IE", name: "Ireland" },
|
|
289
|
+
{ code: "IL", name: "Israel" },
|
|
290
|
+
{ code: "IT", name: "Italy" },
|
|
291
|
+
{ code: "JM", name: "Jamaica" },
|
|
292
|
+
{ code: "JP", name: "Japan" },
|
|
293
|
+
{ code: "JO", name: "Jordan" },
|
|
294
|
+
{ code: "KZ", name: "Kazakhstan" },
|
|
295
|
+
{ code: "KE", name: "Kenya" },
|
|
296
|
+
{ code: "KI", name: "Kiribati" },
|
|
297
|
+
{ code: "KP", name: "North Korea" },
|
|
298
|
+
{ code: "KR", name: "South Korea" },
|
|
299
|
+
{ code: "KW", name: "Kuwait" },
|
|
300
|
+
{ code: "KG", name: "Kyrgyzstan" },
|
|
301
|
+
{ code: "LA", name: "Laos" },
|
|
302
|
+
{ code: "LV", name: "Latvia" },
|
|
303
|
+
{ code: "LB", name: "Lebanon" },
|
|
304
|
+
{ code: "LS", name: "Lesotho" },
|
|
305
|
+
{ code: "LR", name: "Liberia" },
|
|
306
|
+
{ code: "LY", name: "Libya" },
|
|
307
|
+
{ code: "LI", name: "Liechtenstein" },
|
|
308
|
+
{ code: "LT", name: "Lithuania" },
|
|
309
|
+
{ code: "LU", name: "Luxembourg" },
|
|
310
|
+
{ code: "MG", name: "Madagascar" },
|
|
311
|
+
{ code: "MW", name: "Malawi" },
|
|
312
|
+
{ code: "MY", name: "Malaysia" },
|
|
313
|
+
{ code: "MV", name: "Maldives" },
|
|
314
|
+
{ code: "ML", name: "Mali" },
|
|
315
|
+
{ code: "MT", name: "Malta" },
|
|
316
|
+
{ code: "MH", name: "Marshall Islands" },
|
|
317
|
+
{ code: "MR", name: "Mauritania" },
|
|
318
|
+
{ code: "MU", name: "Mauritius" },
|
|
319
|
+
{ code: "MX", name: "Mexico" },
|
|
320
|
+
{ code: "FM", name: "Micronesia" },
|
|
321
|
+
{ code: "MD", name: "Moldova" },
|
|
322
|
+
{ code: "MC", name: "Monaco" },
|
|
323
|
+
{ code: "MN", name: "Mongolia" },
|
|
324
|
+
{ code: "ME", name: "Montenegro" },
|
|
325
|
+
{ code: "MA", name: "Morocco" },
|
|
326
|
+
{ code: "MZ", name: "Mozambique" },
|
|
327
|
+
{ code: "MM", name: "Myanmar" },
|
|
328
|
+
{ code: "NA", name: "Namibia" },
|
|
329
|
+
{ code: "NR", name: "Nauru" },
|
|
330
|
+
{ code: "NP", name: "Nepal" },
|
|
331
|
+
{ code: "NL", name: "Netherlands" },
|
|
332
|
+
{ code: "NZ", name: "New Zealand" },
|
|
333
|
+
{ code: "NI", name: "Nicaragua" },
|
|
334
|
+
{ code: "NE", name: "Niger" },
|
|
335
|
+
{ code: "NG", name: "Nigeria" },
|
|
336
|
+
{ code: "MK", name: "North Macedonia" },
|
|
337
|
+
{ code: "NO", name: "Norway" },
|
|
338
|
+
{ code: "OM", name: "Oman" },
|
|
339
|
+
{ code: "PK", name: "Pakistan" },
|
|
340
|
+
{ code: "PW", name: "Palau" },
|
|
341
|
+
{ code: "PS", name: "Palestine" },
|
|
342
|
+
{ code: "PA", name: "Panama" },
|
|
343
|
+
{ code: "PG", name: "Papua New Guinea" },
|
|
344
|
+
{ code: "PY", name: "Paraguay" },
|
|
345
|
+
{ code: "PE", name: "Peru" },
|
|
346
|
+
{ code: "PH", name: "Philippines" },
|
|
347
|
+
{ code: "PL", name: "Poland" },
|
|
348
|
+
{ code: "PT", name: "Portugal" },
|
|
349
|
+
{ code: "QA", name: "Qatar" },
|
|
350
|
+
{ code: "RO", name: "Romania" },
|
|
351
|
+
{ code: "RU", name: "Russia" },
|
|
352
|
+
{ code: "RW", name: "Rwanda" },
|
|
353
|
+
{ code: "KN", name: "Saint Kitts and Nevis" },
|
|
354
|
+
{ code: "LC", name: "Saint Lucia" },
|
|
355
|
+
{ code: "VC", name: "Saint Vincent and the Grenadines" },
|
|
356
|
+
{ code: "WS", name: "Samoa" },
|
|
357
|
+
{ code: "SM", name: "San Marino" },
|
|
358
|
+
{ code: "ST", name: "S\xE3o Tom\xE9 and Pr\xEDncipe" },
|
|
359
|
+
{ code: "SA", name: "Saudi Arabia" },
|
|
360
|
+
{ code: "SN", name: "Senegal" },
|
|
361
|
+
{ code: "RS", name: "Serbia" },
|
|
362
|
+
{ code: "SC", name: "Seychelles" },
|
|
363
|
+
{ code: "SL", name: "Sierra Leone" },
|
|
364
|
+
{ code: "SG", name: "Singapore" },
|
|
365
|
+
{ code: "SK", name: "Slovakia" },
|
|
366
|
+
{ code: "SI", name: "Slovenia" },
|
|
367
|
+
{ code: "SB", name: "Solomon Islands" },
|
|
368
|
+
{ code: "SO", name: "Somalia" },
|
|
369
|
+
{ code: "ZA", name: "South Africa" },
|
|
370
|
+
{ code: "SS", name: "South Sudan" },
|
|
371
|
+
{ code: "ES", name: "Spain" },
|
|
372
|
+
{ code: "LK", name: "Sri Lanka" },
|
|
373
|
+
{ code: "SD", name: "Sudan" },
|
|
374
|
+
{ code: "SR", name: "Suriname" },
|
|
375
|
+
{ code: "SE", name: "Sweden" },
|
|
376
|
+
{ code: "CH", name: "Switzerland" },
|
|
377
|
+
{ code: "SY", name: "Syria" },
|
|
378
|
+
{ code: "TW", name: "Taiwan" },
|
|
379
|
+
{ code: "TJ", name: "Tajikistan" },
|
|
380
|
+
{ code: "TZ", name: "Tanzania" },
|
|
381
|
+
{ code: "TH", name: "Thailand" },
|
|
382
|
+
{ code: "TL", name: "Timor-Leste" },
|
|
383
|
+
{ code: "TG", name: "Togo" },
|
|
384
|
+
{ code: "TO", name: "Tonga" },
|
|
385
|
+
{ code: "TT", name: "Trinidad and Tobago" },
|
|
386
|
+
{ code: "TN", name: "Tunisia" },
|
|
387
|
+
{ code: "TR", name: "Turkey" },
|
|
388
|
+
{ code: "TM", name: "Turkmenistan" },
|
|
389
|
+
{ code: "TV", name: "Tuvalu" },
|
|
390
|
+
{ code: "UG", name: "Uganda" },
|
|
391
|
+
{ code: "UA", name: "Ukraine" },
|
|
392
|
+
{ code: "AE", name: "United Arab Emirates" },
|
|
393
|
+
{ code: "GB", name: "United Kingdom" },
|
|
394
|
+
{ code: "US", name: "United States" },
|
|
395
|
+
{ code: "UY", name: "Uruguay" },
|
|
396
|
+
{ code: "UZ", name: "Uzbekistan" },
|
|
397
|
+
{ code: "VU", name: "Vanuatu" },
|
|
398
|
+
{ code: "VA", name: "Vatican City" },
|
|
399
|
+
{ code: "VE", name: "Venezuela" },
|
|
400
|
+
{ code: "VN", name: "Vietnam" },
|
|
401
|
+
{ code: "YE", name: "Yemen" },
|
|
402
|
+
{ code: "ZM", name: "Zambia" },
|
|
403
|
+
{ code: "ZW", name: "Zimbabwe" }
|
|
404
|
+
];
|
|
405
|
+
function getCountryName(code) {
|
|
406
|
+
return COUNTRIES.find((c) => c.code === code.toUpperCase())?.name || code;
|
|
407
|
+
}
|
|
408
|
+
var CountryPicker = ({
|
|
409
|
+
selected,
|
|
410
|
+
onChange,
|
|
411
|
+
disabled,
|
|
412
|
+
placeholder = "Search countries\u2026"
|
|
413
|
+
}) => {
|
|
414
|
+
const [open, setOpen] = useState(false);
|
|
415
|
+
const [search, setSearch] = useState("");
|
|
416
|
+
const containerRef = useRef(null);
|
|
417
|
+
const inputRef = useRef(null);
|
|
418
|
+
const filtered = useMemo(() => {
|
|
419
|
+
if (!search) return COUNTRIES;
|
|
420
|
+
const q = search.toLowerCase();
|
|
421
|
+
return COUNTRIES.filter(
|
|
422
|
+
(c) => c.name.toLowerCase().includes(q) || c.code.toLowerCase().includes(q)
|
|
423
|
+
);
|
|
424
|
+
}, [search]);
|
|
425
|
+
useEffect(() => {
|
|
426
|
+
if (!open) return;
|
|
427
|
+
const handler = (e) => {
|
|
428
|
+
if (containerRef.current && !containerRef.current.contains(e.target)) {
|
|
429
|
+
setOpen(false);
|
|
430
|
+
setSearch("");
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
document.addEventListener("mousedown", handler);
|
|
434
|
+
return () => document.removeEventListener("mousedown", handler);
|
|
435
|
+
}, [open]);
|
|
436
|
+
const toggle = (code) => {
|
|
437
|
+
if (disabled) return;
|
|
438
|
+
onChange(
|
|
439
|
+
selected.includes(code) ? selected.filter((c) => c !== code) : [...selected, code]
|
|
440
|
+
);
|
|
441
|
+
};
|
|
442
|
+
const remove = (code) => {
|
|
443
|
+
if (disabled) return;
|
|
444
|
+
onChange(selected.filter((c) => c !== code));
|
|
445
|
+
};
|
|
446
|
+
return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: "relative", children: [
|
|
447
|
+
/* @__PURE__ */ jsxs(
|
|
448
|
+
"div",
|
|
449
|
+
{
|
|
450
|
+
className: cn(
|
|
451
|
+
"min-h-[38px] w-full flex flex-wrap items-center gap-1.5 px-2.5 py-1.5",
|
|
452
|
+
"rounded-md border border-gray-300 dark:border-gray-600 bg-transparent",
|
|
453
|
+
"cursor-pointer transition-colors",
|
|
454
|
+
open && "ring-1 ring-blue-500 border-blue-500",
|
|
455
|
+
disabled && "opacity-50 cursor-not-allowed"
|
|
456
|
+
),
|
|
457
|
+
onClick: () => {
|
|
458
|
+
if (disabled) return;
|
|
459
|
+
setOpen(true);
|
|
460
|
+
setTimeout(() => inputRef.current?.focus(), 0);
|
|
461
|
+
},
|
|
462
|
+
children: [
|
|
463
|
+
selected.map((code) => /* @__PURE__ */ jsxs(
|
|
464
|
+
"span",
|
|
465
|
+
{
|
|
466
|
+
className: "inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-blue-100 dark:bg-blue-900/40 text-blue-700 dark:text-blue-300 border border-blue-200 dark:border-blue-800",
|
|
467
|
+
children: [
|
|
468
|
+
getCountryName(code),
|
|
469
|
+
" (",
|
|
470
|
+
code,
|
|
471
|
+
")",
|
|
472
|
+
!disabled && /* @__PURE__ */ jsx(
|
|
473
|
+
"button",
|
|
474
|
+
{
|
|
475
|
+
onClick: (e) => {
|
|
476
|
+
e.stopPropagation();
|
|
477
|
+
remove(code);
|
|
478
|
+
},
|
|
479
|
+
className: "hover:text-blue-900 dark:hover:text-blue-100",
|
|
480
|
+
children: /* @__PURE__ */ jsx(X, { className: "w-3 h-3" })
|
|
481
|
+
}
|
|
482
|
+
)
|
|
483
|
+
]
|
|
484
|
+
},
|
|
485
|
+
code
|
|
486
|
+
)),
|
|
487
|
+
selected.length === 0 && !open && /* @__PURE__ */ jsx("span", { className: "text-sm text-gray-400", children: placeholder }),
|
|
488
|
+
open && /* @__PURE__ */ jsx(
|
|
489
|
+
"input",
|
|
490
|
+
{
|
|
491
|
+
ref: inputRef,
|
|
492
|
+
value: search,
|
|
493
|
+
onChange: (e) => setSearch(e.target.value),
|
|
494
|
+
className: "flex-1 min-w-[120px] text-sm bg-transparent outline-none text-gray-900 dark:text-gray-100 placeholder:text-gray-400",
|
|
495
|
+
placeholder,
|
|
496
|
+
onClick: (e) => e.stopPropagation()
|
|
497
|
+
}
|
|
498
|
+
),
|
|
499
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: cn("w-4 h-4 text-gray-400 ml-auto flex-shrink-0 transition-transform", open && "rotate-180") })
|
|
500
|
+
]
|
|
501
|
+
}
|
|
502
|
+
),
|
|
503
|
+
open && /* @__PURE__ */ jsx("div", { className: "absolute z-50 mt-1 w-full max-h-[200px] overflow-y-auto rounded-md border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 shadow-lg", children: filtered.length === 0 ? /* @__PURE__ */ jsx("div", { className: "px-3 py-2 text-sm text-gray-400", children: "No countries found" }) : filtered.map((country) => {
|
|
504
|
+
const isSelected = selected.includes(country.code);
|
|
505
|
+
return /* @__PURE__ */ jsxs(
|
|
506
|
+
"button",
|
|
507
|
+
{
|
|
508
|
+
onClick: () => toggle(country.code),
|
|
509
|
+
className: cn(
|
|
510
|
+
"w-full flex items-center gap-2 px-3 py-1.5 text-sm text-left transition-colors",
|
|
511
|
+
isSelected ? "bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300" : "text-gray-700 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800"
|
|
512
|
+
),
|
|
513
|
+
children: [
|
|
514
|
+
/* @__PURE__ */ jsx("span", { className: cn(
|
|
515
|
+
"w-4 h-4 rounded border flex items-center justify-center flex-shrink-0 transition-colors",
|
|
516
|
+
isSelected ? "bg-blue-500 border-blue-500 text-white" : "border-gray-300 dark:border-gray-600"
|
|
517
|
+
), children: isSelected && /* @__PURE__ */ jsx("svg", { className: "w-3 h-3", viewBox: "0 0 12 12", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M2 6l3 3 5-5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }),
|
|
518
|
+
/* @__PURE__ */ jsx("span", { className: "flex-1", children: country.name }),
|
|
519
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-gray-400 font-mono", children: country.code })
|
|
520
|
+
]
|
|
521
|
+
},
|
|
522
|
+
country.code
|
|
523
|
+
);
|
|
524
|
+
}) })
|
|
525
|
+
] });
|
|
526
|
+
};
|
|
527
|
+
var ContainsToggle = ({ value = true, onChange, trueLabel = "Is One Of", falseLabel = "Is Not One Of", disabled }) => /* @__PURE__ */ jsx("div", { className: "flex gap-1 bg-gray-100 dark:bg-gray-800 rounded-md p-1 w-fit", children: [{ v: true, label: trueLabel }, { v: false, label: falseLabel }].map((opt) => /* @__PURE__ */ jsx(
|
|
206
528
|
"button",
|
|
207
529
|
{
|
|
208
530
|
onClick: () => onChange(opt.v),
|
|
209
531
|
disabled,
|
|
210
532
|
className: cn(
|
|
211
|
-
"px-
|
|
212
|
-
value === opt.v ? "bg-
|
|
533
|
+
"px-3 py-1.5 text-xs font-semibold rounded transition-all",
|
|
534
|
+
value === opt.v ? "bg-blue-500 text-white shadow-sm" : "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700"
|
|
213
535
|
),
|
|
214
536
|
children: opt.label
|
|
215
537
|
},
|
|
@@ -262,23 +584,23 @@ var ConditionConfig = ({
|
|
|
262
584
|
case "country":
|
|
263
585
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
264
586
|
/* @__PURE__ */ jsx(ContainsToggle, { value: cond.contains, onChange: (v) => update({ contains: v }), disabled: readOnly }),
|
|
265
|
-
/* @__PURE__ */ jsxs("
|
|
266
|
-
/* @__PURE__ */ jsx("label", { className: "text-xs text-gray-500 dark:text-gray-400", children: "Use regions" }),
|
|
587
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-xs font-medium text-gray-600 dark:text-gray-300 cursor-pointer select-none", children: [
|
|
267
588
|
/* @__PURE__ */ jsx(
|
|
268
589
|
"button",
|
|
269
590
|
{
|
|
270
591
|
onClick: () => update({ useRegions: !cond.useRegions }),
|
|
271
592
|
disabled: readOnly,
|
|
272
593
|
className: cn(
|
|
273
|
-
"w-
|
|
594
|
+
"w-9 h-5 rounded-full transition-colors relative flex-shrink-0",
|
|
274
595
|
cond.useRegions ? "bg-blue-500" : "bg-gray-300 dark:bg-gray-600"
|
|
275
596
|
),
|
|
276
597
|
children: /* @__PURE__ */ jsx("span", { className: cn(
|
|
277
598
|
"absolute top-0.5 w-4 h-4 rounded-full bg-white shadow transition-transform",
|
|
278
|
-
cond.useRegions ? "translate-x-
|
|
599
|
+
cond.useRegions ? "translate-x-4" : "translate-x-0.5"
|
|
279
600
|
) })
|
|
280
601
|
}
|
|
281
|
-
)
|
|
602
|
+
),
|
|
603
|
+
"Use regions"
|
|
282
604
|
] }),
|
|
283
605
|
cond.useRegions ? /* @__PURE__ */ jsx(
|
|
284
606
|
ChipSelect,
|
|
@@ -289,12 +611,10 @@ var ConditionConfig = ({
|
|
|
289
611
|
disabled: readOnly
|
|
290
612
|
}
|
|
291
613
|
) : /* @__PURE__ */ jsx(
|
|
292
|
-
|
|
614
|
+
CountryPicker,
|
|
293
615
|
{
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
onChange: (e) => update({ countries: e.target.value.split(",").map((s) => s.trim()).filter(Boolean) }),
|
|
297
|
-
placeholder: "US, GB, DE, \u2026",
|
|
616
|
+
selected: cond.countries || [],
|
|
617
|
+
onChange: (codes) => update({ countries: codes }),
|
|
298
618
|
disabled: readOnly
|
|
299
619
|
}
|
|
300
620
|
)
|
|
@@ -348,14 +668,14 @@ var ConditionConfig = ({
|
|
|
348
668
|
// ─── DATE ─────────────────────────────────────
|
|
349
669
|
case "date":
|
|
350
670
|
return /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
351
|
-
/* @__PURE__ */ jsx("div", { className: "flex gap-1 bg-gray-100 dark:bg-gray-800 rounded-md p-
|
|
671
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-1 bg-gray-100 dark:bg-gray-800 rounded-md p-1 w-fit", children: ["before", "after", "between"].map((dt) => /* @__PURE__ */ jsxs(
|
|
352
672
|
"button",
|
|
353
673
|
{
|
|
354
674
|
onClick: () => update({ dateTest: dt }),
|
|
355
675
|
disabled: readOnly,
|
|
356
676
|
className: cn(
|
|
357
|
-
"px-
|
|
358
|
-
cond.dateTest === dt ? "bg-white dark:
|
|
677
|
+
"px-3 py-1.5 text-xs font-semibold rounded transition-all capitalize",
|
|
678
|
+
cond.dateTest === dt ? "bg-blue-500 text-white shadow-sm" : "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700"
|
|
359
679
|
),
|
|
360
680
|
children: [
|
|
361
681
|
"Is ",
|
|
@@ -457,14 +777,14 @@ var ConditionConfig = ({
|
|
|
457
777
|
/* @__PURE__ */ jsx("option", { value: "", children: "Select a condition\u2026" }),
|
|
458
778
|
editorProps.savedConditions.map((c) => /* @__PURE__ */ jsx("option", { value: c.value, children: c.title }, c.value))
|
|
459
779
|
] }) : /* @__PURE__ */ jsx("input", { className: inputClass, value: cond.conditionId || "", onChange: (e) => update({ conditionId: e.target.value }), placeholder: "Condition ID", disabled: readOnly }),
|
|
460
|
-
/* @__PURE__ */ jsx("div", { className: "flex gap-1 bg-gray-100 dark:bg-gray-800 rounded-md p-
|
|
780
|
+
/* @__PURE__ */ jsx("div", { className: "flex gap-1 bg-gray-100 dark:bg-gray-800 rounded-md p-1 w-fit", children: [{ v: true, l: "Passes" }, { v: false, l: "Fails" }].map((opt) => /* @__PURE__ */ jsx(
|
|
461
781
|
"button",
|
|
462
782
|
{
|
|
463
783
|
onClick: () => update({ passes: opt.v }),
|
|
464
784
|
disabled: readOnly,
|
|
465
785
|
className: cn(
|
|
466
|
-
"px-
|
|
467
|
-
cond.passes === opt.v ? "bg-white dark:
|
|
786
|
+
"px-3 py-1.5 text-xs font-semibold rounded transition-all",
|
|
787
|
+
cond.passes === opt.v ? "bg-blue-500 text-white shadow-sm" : "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700"
|
|
468
788
|
),
|
|
469
789
|
children: opt.l
|
|
470
790
|
},
|
|
@@ -691,15 +1011,15 @@ var ConditionsEditorContent = ({
|
|
|
691
1011
|
/* @__PURE__ */ jsx(GitBranch, { className: "w-3.5 h-3.5" }),
|
|
692
1012
|
"Logic Type"
|
|
693
1013
|
] }),
|
|
694
|
-
/* @__PURE__ */ jsxs("div", { className: "flex gap-1 bg-gray-100 dark:bg-gray-800 rounded-md p-
|
|
1014
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-1 bg-gray-100 dark:bg-gray-800 rounded-md p-1", children: [
|
|
695
1015
|
/* @__PURE__ */ jsx(
|
|
696
1016
|
"button",
|
|
697
1017
|
{
|
|
698
1018
|
onClick: () => toggleLogic("and"),
|
|
699
1019
|
disabled: readOnly,
|
|
700
1020
|
className: cn(
|
|
701
|
-
"flex-1 px-3 py-2 text-sm font-
|
|
702
|
-
value.type === "and" ? "bg-
|
|
1021
|
+
"flex-1 px-3 py-2 text-sm font-semibold rounded transition-all",
|
|
1022
|
+
value.type === "and" ? "bg-blue-500 text-white shadow-sm" : "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700"
|
|
703
1023
|
),
|
|
704
1024
|
children: "Match ALL (AND)"
|
|
705
1025
|
}
|
|
@@ -710,8 +1030,8 @@ var ConditionsEditorContent = ({
|
|
|
710
1030
|
onClick: () => toggleLogic("or"),
|
|
711
1031
|
disabled: readOnly,
|
|
712
1032
|
className: cn(
|
|
713
|
-
"flex-1 px-3 py-2 text-sm font-
|
|
714
|
-
value.type === "or" ? "bg-
|
|
1033
|
+
"flex-1 px-3 py-2 text-sm font-semibold rounded transition-all",
|
|
1034
|
+
value.type === "or" ? "bg-blue-500 text-white shadow-sm" : "text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700"
|
|
715
1035
|
),
|
|
716
1036
|
children: "Match ANY (OR)"
|
|
717
1037
|
}
|
|
@@ -776,5 +1096,5 @@ var ConditionsEditor = (props) => {
|
|
|
776
1096
|
};
|
|
777
1097
|
|
|
778
1098
|
export { ConditionsEditor };
|
|
779
|
-
//# sourceMappingURL=chunk-
|
|
780
|
-
//# sourceMappingURL=chunk-
|
|
1099
|
+
//# sourceMappingURL=chunk-YVHF5JBL.js.map
|
|
1100
|
+
//# sourceMappingURL=chunk-YVHF5JBL.js.map
|