@uniformdev/context-ui 20.3.1-alpha.7 → 20.3.1
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.d.mts +11 -23
- package/dist/index.d.ts +11 -23
- package/dist/index.esm.js +114 -216
- package/dist/index.js +139 -234
- package/dist/index.mjs +114 -216
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -46,7 +46,6 @@ __export(src_exports, {
|
|
|
46
46
|
addEnrichmentLink: () => addEnrichmentLink,
|
|
47
47
|
contextCriteriaMenuOperators: () => contextCriteriaMenuOperators,
|
|
48
48
|
convertErrorsToObj: () => convertErrorsToObj,
|
|
49
|
-
enrichmentCriteriaMenuOperators: () => enrichmentCriteriaMenuOperators,
|
|
50
49
|
isEnrichmentTagData: () => isEnrichmentTagData,
|
|
51
50
|
isPersonalizationCriteriaData: () => isPersonalizationCriteriaData,
|
|
52
51
|
opHasRhs: () => opHasRhs,
|
|
@@ -342,39 +341,23 @@ var contextCriteriaMenuOperators = [
|
|
|
342
341
|
{
|
|
343
342
|
name: "has the weakest score",
|
|
344
343
|
value: "-"
|
|
345
|
-
}
|
|
346
|
-
];
|
|
347
|
-
var enrichmentCriteriaMenuOperators = [
|
|
348
|
-
...contextCriteriaMenuOperators,
|
|
344
|
+
},
|
|
349
345
|
{
|
|
350
346
|
name: "has strongest category score",
|
|
351
347
|
value: "^"
|
|
352
348
|
}
|
|
353
349
|
];
|
|
354
|
-
|
|
355
|
-
{
|
|
356
|
-
name: "=",
|
|
357
|
-
description: "equals",
|
|
358
|
-
value: "="
|
|
359
|
-
},
|
|
360
|
-
{
|
|
361
|
-
name: "\u2260",
|
|
362
|
-
description: "not equal",
|
|
363
|
-
value: "!="
|
|
364
|
-
}
|
|
365
|
-
];
|
|
366
|
-
function CriteriaOperatorMenu({ onChange, value, rhsType, ...props }) {
|
|
350
|
+
function CriteriaOperatorMenu({ onChange, value, ...props }) {
|
|
367
351
|
var _a, _b;
|
|
368
|
-
const operators = rhsType === "QUIRK" ? quirkCriteriaMenuOperators : rhsType === "ENR" ? enrichmentCriteriaMenuOperators : contextCriteriaMenuOperators;
|
|
369
352
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
370
353
|
import_design_system2.InputComboBox,
|
|
371
354
|
{
|
|
372
355
|
...props,
|
|
373
356
|
value: {
|
|
374
|
-
label: (_b = (_a =
|
|
357
|
+
label: (_b = (_a = contextCriteriaMenuOperators.find((e) => e.value === value)) == null ? void 0 : _a.name) != null ? _b : value,
|
|
375
358
|
value
|
|
376
359
|
},
|
|
377
|
-
options:
|
|
360
|
+
options: contextCriteriaMenuOperators.map((option) => ({
|
|
378
361
|
label: option.description ? `${option.name}:${option.description}` : option.name,
|
|
379
362
|
value: option.value
|
|
380
363
|
})),
|
|
@@ -606,29 +589,24 @@ function useDimensionsDataContext() {
|
|
|
606
589
|
|
|
607
590
|
// src/components/DimensionMenu/CriteriaMatchMenu.tsx
|
|
608
591
|
var import_design_system6 = require("@uniformdev/design-system");
|
|
609
|
-
var
|
|
592
|
+
var import_react10 = require("react");
|
|
610
593
|
|
|
611
594
|
// src/components/DimensionMenu/DimensionGroupHeading.tsx
|
|
612
595
|
var import_design_system4 = require("@uniformdev/design-system");
|
|
613
596
|
|
|
614
597
|
// src/components/DimensionMenu/utils.ts
|
|
615
|
-
var import_react9 = require("react");
|
|
616
598
|
function dimensionToMenuOption(dimension) {
|
|
617
|
-
if ("dim" in dimension) {
|
|
618
|
-
return {
|
|
619
|
-
label: dimension.displayName,
|
|
620
|
-
value: dimension.dim,
|
|
621
|
-
original: dimension
|
|
622
|
-
};
|
|
623
|
-
}
|
|
624
|
-
const quirk = dimension;
|
|
625
599
|
return {
|
|
626
|
-
label:
|
|
627
|
-
value:
|
|
628
|
-
|
|
600
|
+
label: dimension.displayName,
|
|
601
|
+
value: dimension.dim,
|
|
602
|
+
isDisabled: false
|
|
629
603
|
};
|
|
630
604
|
}
|
|
631
|
-
function dimensionIcon(
|
|
605
|
+
function dimensionIcon(displayName) {
|
|
606
|
+
if (!displayName) {
|
|
607
|
+
return "unavailable";
|
|
608
|
+
}
|
|
609
|
+
const [type] = displayName.split(":");
|
|
632
610
|
switch (type.toLowerCase()) {
|
|
633
611
|
case "signal":
|
|
634
612
|
return "data";
|
|
@@ -640,42 +618,25 @@ function dimensionIcon(type) {
|
|
|
640
618
|
return "user-list";
|
|
641
619
|
}
|
|
642
620
|
}
|
|
643
|
-
function
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
lastType = type != null ? type : "";
|
|
652
|
-
}
|
|
653
|
-
result[result.length - 1].options.push(dimensionToMenuOption(dim));
|
|
621
|
+
function groupDimensions(dimensions) {
|
|
622
|
+
const result = [];
|
|
623
|
+
let lastType = "";
|
|
624
|
+
for (const dim of dimensions) {
|
|
625
|
+
const [type] = dim.displayName.split(":");
|
|
626
|
+
if (lastType !== type) {
|
|
627
|
+
result.push({ label: type, options: [] });
|
|
628
|
+
lastType = type;
|
|
654
629
|
}
|
|
655
|
-
|
|
656
|
-
result.push({
|
|
657
|
-
label: "Quirks",
|
|
658
|
-
options: quirks.map(dimensionToMenuOption)
|
|
659
|
-
});
|
|
660
|
-
}
|
|
661
|
-
return result;
|
|
662
|
-
}, [dimensions, quirks]);
|
|
663
|
-
}
|
|
664
|
-
function dimensionDisplayName(displayName) {
|
|
665
|
-
if (!displayName) {
|
|
666
|
-
return {};
|
|
630
|
+
result[result.length - 1].options.push(dimensionToMenuOption(dim));
|
|
667
631
|
}
|
|
668
|
-
|
|
669
|
-
const type = colonIndex >= 0 ? displayName.substring(0, colonIndex) : void 0;
|
|
670
|
-
const name = colonIndex >= 0 ? displayName.substring(colonIndex + 1) : displayName;
|
|
671
|
-
return { type, name };
|
|
632
|
+
return result;
|
|
672
633
|
}
|
|
673
634
|
|
|
674
635
|
// src/components/DimensionMenu/DimensionGroupHeading.tsx
|
|
675
636
|
var import_jsx_runtime7 = require("@emotion/react/jsx-runtime");
|
|
676
637
|
var DimensionGroupHeading = (props) => {
|
|
638
|
+
var _a;
|
|
677
639
|
const { data, getStyles, className } = props;
|
|
678
|
-
const { type } = dimensionDisplayName(data.label);
|
|
679
640
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
680
641
|
"div",
|
|
681
642
|
{
|
|
@@ -690,7 +651,7 @@ var DimensionGroupHeading = (props) => {
|
|
|
690
651
|
{
|
|
691
652
|
css: { color: "var(--gray-500)", display: "flex", alignItems: "center", gap: "var(--spacing-xs)" },
|
|
692
653
|
children: [
|
|
693
|
-
|
|
654
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_design_system4.Icon, { icon: dimensionIcon((_a = data.label) != null ? _a : ""), iconColor: "currentColor", size: 16 }),
|
|
694
655
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { children: data.label })
|
|
695
656
|
]
|
|
696
657
|
}
|
|
@@ -700,14 +661,14 @@ var DimensionGroupHeading = (props) => {
|
|
|
700
661
|
};
|
|
701
662
|
|
|
702
663
|
// src/components/DimensionMenu/DimensionMenuErrorMessage.tsx
|
|
703
|
-
var
|
|
664
|
+
var import_react9 = require("@emotion/react");
|
|
704
665
|
var import_jsx_runtime8 = require("@emotion/react/jsx-runtime");
|
|
705
666
|
function DimensionMenuErrorMessage({ message }) {
|
|
706
667
|
if (!message) return null;
|
|
707
668
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
708
669
|
"div",
|
|
709
670
|
{
|
|
710
|
-
css:
|
|
671
|
+
css: import_react9.css`
|
|
711
672
|
color: var(--brand-primary-2);
|
|
712
673
|
font-size: var(--fs-xs);
|
|
713
674
|
position: absolute;
|
|
@@ -721,8 +682,9 @@ function DimensionMenuErrorMessage({ message }) {
|
|
|
721
682
|
// src/components/DimensionMenu/DimensionOption.tsx
|
|
722
683
|
var import_jsx_runtime9 = require("@emotion/react/jsx-runtime");
|
|
723
684
|
var DimensionOption = (props) => {
|
|
685
|
+
var _a, _b;
|
|
724
686
|
const { data, getStyles, cx, isDisabled, isFocused, isSelected, className, innerRef, innerProps } = props;
|
|
725
|
-
const
|
|
687
|
+
const [, value] = (_b = (_a = data.label) == null ? void 0 : _a.split(":")) != null ? _b : [];
|
|
726
688
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
727
689
|
"div",
|
|
728
690
|
{
|
|
@@ -739,7 +701,7 @@ var DimensionOption = (props) => {
|
|
|
739
701
|
ref: innerRef,
|
|
740
702
|
"aria-disabled": isDisabled,
|
|
741
703
|
...innerProps,
|
|
742
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { css: { color: "var(--gray-700)" }, children:
|
|
704
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { css: { color: "var(--gray-700)" }, children: value != null ? value : data.label })
|
|
743
705
|
}
|
|
744
706
|
);
|
|
745
707
|
};
|
|
@@ -748,7 +710,7 @@ var DimensionOption = (props) => {
|
|
|
748
710
|
var import_design_system5 = require("@uniformdev/design-system");
|
|
749
711
|
var import_jsx_runtime10 = require("@emotion/react/jsx-runtime");
|
|
750
712
|
function DimensionValue({ displayName }) {
|
|
751
|
-
const
|
|
713
|
+
const [type, name] = displayName.split(":");
|
|
752
714
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
753
715
|
"div",
|
|
754
716
|
{
|
|
@@ -757,7 +719,7 @@ function DimensionValue({ displayName }) {
|
|
|
757
719
|
overflow: "hidden"
|
|
758
720
|
},
|
|
759
721
|
children: [
|
|
760
|
-
|
|
722
|
+
name ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
761
723
|
"small",
|
|
762
724
|
{
|
|
763
725
|
css: { color: "var(--gray-500)", display: "flex", alignItems: "center", gap: "var(--spacing-xs)" },
|
|
@@ -790,12 +752,11 @@ function CriteriaMatchMenu({
|
|
|
790
752
|
...props
|
|
791
753
|
}) {
|
|
792
754
|
var _a, _b;
|
|
793
|
-
const [inputValue, setInputValue] = (0,
|
|
755
|
+
const [inputValue, setInputValue] = (0, import_react10.useState)(
|
|
794
756
|
typeof criteriaMatch.r !== "undefined" && isInt(criteriaMatch.r) !== null ? criteriaMatch.r.toString(10) : ""
|
|
795
757
|
);
|
|
796
758
|
const rDim = criteriaMatch.rDim;
|
|
797
759
|
const targetDim = criteriaMatch.rDim ? dimensions.dimIndex[criteriaMatch.rDim] : void 0;
|
|
798
|
-
const groupedDimensions = useGroupedDimensions(dimensions.dimensions, void 0);
|
|
799
760
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
800
761
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
801
762
|
import_design_system6.InputComboBox,
|
|
@@ -814,7 +775,7 @@ function CriteriaMatchMenu({
|
|
|
814
775
|
value: "",
|
|
815
776
|
isDisabled: true
|
|
816
777
|
},
|
|
817
|
-
...
|
|
778
|
+
...groupDimensions(dimensions.dimensions)
|
|
818
779
|
],
|
|
819
780
|
styles: {
|
|
820
781
|
...props.styles,
|
|
@@ -893,23 +854,14 @@ function isInt(value) {
|
|
|
893
854
|
// src/components/DimensionMenu/DimensionMenu.tsx
|
|
894
855
|
var import_design_system7 = require("@uniformdev/design-system");
|
|
895
856
|
var import_jsx_runtime13 = require("@emotion/react/jsx-runtime");
|
|
896
|
-
function DimensionMenu({
|
|
897
|
-
onChange,
|
|
898
|
-
value,
|
|
899
|
-
dimensions,
|
|
900
|
-
errorMessage,
|
|
901
|
-
quirks,
|
|
902
|
-
...props
|
|
903
|
-
}) {
|
|
904
|
-
const groupedDimensions = useGroupedDimensions(dimensions, quirks);
|
|
905
|
-
const valueAsMenuOption = value ? dimensionToMenuOption(value) : void 0;
|
|
857
|
+
function DimensionMenu({ onChange, value, dimensions, errorMessage, ...props }) {
|
|
906
858
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
907
859
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
908
860
|
import_design_system7.InputComboBox,
|
|
909
861
|
{
|
|
910
862
|
...props,
|
|
911
|
-
value:
|
|
912
|
-
options:
|
|
863
|
+
value: value ? dimensionToMenuOption(value) : void 0,
|
|
864
|
+
options: groupDimensions(dimensions),
|
|
913
865
|
styles: {
|
|
914
866
|
...props.styles,
|
|
915
867
|
valueContainer: (provided, state) => {
|
|
@@ -922,8 +874,8 @@ function DimensionMenu({
|
|
|
922
874
|
}
|
|
923
875
|
},
|
|
924
876
|
onChange: (e) => {
|
|
925
|
-
if (e
|
|
926
|
-
onChange(e.
|
|
877
|
+
if (e) {
|
|
878
|
+
onChange(dimensions.find((d) => d.dim === e.value));
|
|
927
879
|
}
|
|
928
880
|
},
|
|
929
881
|
components: {
|
|
@@ -943,8 +895,8 @@ var import_CgChevronRight = require("@react-icons/all-files/cg/CgChevronRight");
|
|
|
943
895
|
var import_design_system8 = require("@uniformdev/design-system");
|
|
944
896
|
|
|
945
897
|
// src/components/EditLink/EditLink.styles.ts
|
|
946
|
-
var
|
|
947
|
-
var editLink =
|
|
898
|
+
var import_react11 = require("@emotion/react");
|
|
899
|
+
var editLink = import_react11.css`
|
|
948
900
|
display: flex;
|
|
949
901
|
align-items: center;
|
|
950
902
|
font-weight: var(--fw-bold);
|
|
@@ -977,16 +929,16 @@ var EditLink = ({ linkTo, name, linkText = `Edit ${name} Component` }) => {
|
|
|
977
929
|
};
|
|
978
930
|
|
|
979
931
|
// src/components/EnrichmentTag/EnrichmentTag.tsx
|
|
980
|
-
var
|
|
932
|
+
var import_react12 = require("@emotion/react");
|
|
981
933
|
var import_CgCloseO = require("@react-icons/all-files/cg/CgCloseO");
|
|
982
934
|
var import_CgMathMinus = require("@react-icons/all-files/cg/CgMathMinus");
|
|
983
935
|
var import_CgMathPlus = require("@react-icons/all-files/cg/CgMathPlus");
|
|
984
936
|
var import_context = require("@uniformdev/context");
|
|
985
937
|
var import_design_system9 = require("@uniformdev/design-system");
|
|
986
938
|
var import_immer = require("immer");
|
|
987
|
-
var
|
|
939
|
+
var import_react13 = require("react");
|
|
988
940
|
var import_jsx_runtime15 = require("@emotion/react/jsx-runtime");
|
|
989
|
-
var addEnrichmentLink =
|
|
941
|
+
var addEnrichmentLink = import_react12.css`
|
|
990
942
|
flex: 2;
|
|
991
943
|
display: flex;
|
|
992
944
|
width: 50%;
|
|
@@ -1005,19 +957,19 @@ var EnrichmentTag = ({
|
|
|
1005
957
|
displayTitle = true
|
|
1006
958
|
}) => {
|
|
1007
959
|
const { loading, result: dimensions, error } = useDimensions(contextConfig);
|
|
1008
|
-
const allEnrichments = (0,
|
|
960
|
+
const allEnrichments = (0, import_react13.useMemo)(() => {
|
|
1009
961
|
if (dimensions) return dimensions.dimensions.filter((dimension) => dimension.category === "ENR");
|
|
1010
962
|
}, [dimensions]);
|
|
1011
|
-
const remainingEnrichments = (0,
|
|
963
|
+
const remainingEnrichments = (0, import_react13.useMemo)(() => {
|
|
1012
964
|
if (!value) return allEnrichments;
|
|
1013
965
|
if (allEnrichments)
|
|
1014
966
|
return allEnrichments.filter(
|
|
1015
967
|
(enr) => !value.some((val) => (0, import_context.getEnrichmentVectorKey)(val.cat, val.key) === enr.dim)
|
|
1016
968
|
);
|
|
1017
969
|
}, [allEnrichments, value]);
|
|
1018
|
-
const [selectValue, setSelectValue] = (0,
|
|
1019
|
-
const [score, setScore] = (0,
|
|
1020
|
-
const [showAddNewEnrichmentTagPanel, setShowAddNewEnrichmentTagPanel] = (0,
|
|
970
|
+
const [selectValue, setSelectValue] = (0, import_react13.useState)("");
|
|
971
|
+
const [score, setScore] = (0, import_react13.useState)(50);
|
|
972
|
+
const [showAddNewEnrichmentTagPanel, setShowAddNewEnrichmentTagPanel] = (0, import_react13.useState)(false);
|
|
1021
973
|
const selectedEnrichment = allEnrichments == null ? void 0 : allEnrichments.find((dimension) => dimension.dim === selectValue);
|
|
1022
974
|
const addEnrichment = () => {
|
|
1023
975
|
const [cat, key] = selectValue.split("_");
|
|
@@ -1175,7 +1127,7 @@ var NoEnrichmentsView = ({ contextConfig }) => /* @__PURE__ */ (0, import_jsx_ru
|
|
|
1175
1127
|
var getCappedValue = (value, maxCap = 100, minCap = 0) => {
|
|
1176
1128
|
return Math.max(Math.min(value, maxCap), minCap);
|
|
1177
1129
|
};
|
|
1178
|
-
var scoreCounterMinusButtonStyles =
|
|
1130
|
+
var scoreCounterMinusButtonStyles = import_react12.css`
|
|
1179
1131
|
position: absolute;
|
|
1180
1132
|
bottom: 0.875rem;
|
|
1181
1133
|
left: var(--spacing-sm);
|
|
@@ -1188,7 +1140,7 @@ var scoreCounterMinusButtonStyles = import_react13.css`
|
|
|
1188
1140
|
border: 1px solid var(--gray-300);
|
|
1189
1141
|
border-radius: var(--rounded-full);
|
|
1190
1142
|
`;
|
|
1191
|
-
var scoreCounterPlusButtonStyles =
|
|
1143
|
+
var scoreCounterPlusButtonStyles = import_react12.css`
|
|
1192
1144
|
${scoreCounterMinusButtonStyles}
|
|
1193
1145
|
left: auto;
|
|
1194
1146
|
right: var(--spacing-sm);
|
|
@@ -1336,7 +1288,7 @@ var SelectedEnrichments = ({ list, setList, dimIndex }) => {
|
|
|
1336
1288
|
|
|
1337
1289
|
// src/components/PersonalizationCriteria/PersonalizationCriteria.tsx
|
|
1338
1290
|
var import_design_system11 = require("@uniformdev/design-system");
|
|
1339
|
-
var
|
|
1291
|
+
var import_react16 = require("react");
|
|
1340
1292
|
var import_react_use = require("react-use");
|
|
1341
1293
|
var yup = __toESM(require("yup"));
|
|
1342
1294
|
|
|
@@ -1352,15 +1304,15 @@ function opHasRhs(op) {
|
|
|
1352
1304
|
}
|
|
1353
1305
|
|
|
1354
1306
|
// src/components/PersonalizationCriteria/PersonalizationCriteriaStatic.tsx
|
|
1355
|
-
var
|
|
1307
|
+
var import_react15 = require("@emotion/react");
|
|
1356
1308
|
var import_CgCloseO2 = require("@react-icons/all-files/cg/CgCloseO");
|
|
1357
1309
|
var import_design_system10 = require("@uniformdev/design-system");
|
|
1358
1310
|
var import_immer2 = require("immer");
|
|
1359
1311
|
|
|
1360
1312
|
// src/components/PersonalizationCriteria/PersonalizationCriteriaStatic.styles.ts
|
|
1361
|
-
var
|
|
1313
|
+
var import_react14 = require("@emotion/react");
|
|
1362
1314
|
var spaceBetweenCriteriaItems = "6rem";
|
|
1363
|
-
var criteriaItem =
|
|
1315
|
+
var criteriaItem = import_react14.css`
|
|
1364
1316
|
position: relative;
|
|
1365
1317
|
padding: var(--spacing-md) var(--spacing-base);
|
|
1366
1318
|
border: 1px solid var(--gray-300);
|
|
@@ -1388,31 +1340,29 @@ var criteriaItem = import_react15.css`
|
|
|
1388
1340
|
}
|
|
1389
1341
|
}
|
|
1390
1342
|
`;
|
|
1391
|
-
var criteriaItemInner =
|
|
1343
|
+
var criteriaItemInner = import_react14.css`
|
|
1392
1344
|
display: flex;
|
|
1393
|
-
|
|
1394
|
-
column-gap: var(--spacing-xs);
|
|
1345
|
+
gap: var(--spacing-base);
|
|
1395
1346
|
flex-grow: 1;
|
|
1396
1347
|
flex-wrap: wrap;
|
|
1397
1348
|
margin-right: var(--spacing-base);
|
|
1398
1349
|
`;
|
|
1399
|
-
var criteriaWrapper =
|
|
1350
|
+
var criteriaWrapper = import_react14.css`
|
|
1400
1351
|
width: 100%;
|
|
1401
1352
|
display: flex;
|
|
1402
1353
|
align-items: stretch;
|
|
1403
1354
|
position: relative;
|
|
1404
1355
|
`;
|
|
1405
|
-
var criteriaOperandWrapper =
|
|
1356
|
+
var criteriaOperandWrapper = import_react14.css`
|
|
1406
1357
|
flex: 2;
|
|
1407
1358
|
height: 52px;
|
|
1408
1359
|
min-width: 200px;
|
|
1409
1360
|
`;
|
|
1410
|
-
var criteriaOperatorWrapper =
|
|
1361
|
+
var criteriaOperatorWrapper = import_react14.css`
|
|
1411
1362
|
flex: 1;
|
|
1412
|
-
flex-wrap: nowrap;
|
|
1413
1363
|
min-width: 80px;
|
|
1414
1364
|
`;
|
|
1415
|
-
var expand =
|
|
1365
|
+
var expand = import_react14.css`
|
|
1416
1366
|
height: 100%;
|
|
1417
1367
|
width: 100%;
|
|
1418
1368
|
`;
|
|
@@ -1423,7 +1373,6 @@ var PersonalizationCriteriaStatic = ({
|
|
|
1423
1373
|
value,
|
|
1424
1374
|
setValue,
|
|
1425
1375
|
dimensions,
|
|
1426
|
-
quirks,
|
|
1427
1376
|
onMenuOpen,
|
|
1428
1377
|
onMenuClose,
|
|
1429
1378
|
onAddCriteria,
|
|
@@ -1479,137 +1428,94 @@ var PersonalizationCriteriaStatic = ({
|
|
|
1479
1428
|
(components == null ? void 0 : components.CustomVariantName) ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(components.CustomVariantName, {}) : null,
|
|
1480
1429
|
(components == null ? void 0 : components.ControlPercentage) ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(components.ControlPercentage, {}) : null,
|
|
1481
1430
|
!currentValue.crit.length ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_design_system10.Callout, { title: "Default variant", type: "info", css: { marginBlock: "var(--spacing-base)" }, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_design_system10.Paragraph, { children: 'This personalized variant has no match criteria and will be shown to any visitor that does not match any preceding variants. Ensure that default variants come last in the variant list. Personalize this variant by clicking "Add Criteria" to get started.' }) }) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { children: currentValue.crit.map((currentCriteria, index) => {
|
|
1482
|
-
var _a2, _b, _c, _d
|
|
1431
|
+
var _a2, _b, _c, _d;
|
|
1483
1432
|
const critHasLhs = ((_a2 = currentCriteria.l) == null ? void 0 : _a2.length) > 0;
|
|
1484
1433
|
const critHasRhs = opHasRhs(currentCriteria.op);
|
|
1485
|
-
const currentDimension = dimensions.dimIndex[currentCriteria.l];
|
|
1486
|
-
const currentQuirk = quirks == null ? void 0 : quirks.find((q) => q.id === currentCriteria.l);
|
|
1487
1434
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { css: criteriaItem, "data-testid": "criteria-container", children: [
|
|
1488
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1435
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1436
|
+
"div",
|
|
1437
|
+
{
|
|
1438
|
+
css: import_react15.css`
|
|
1439
|
+
${criteriaItemInner}/* grid-template-columns: minmax(0, 1fr) ${critHasRhs ? "minmax(0, 79px) minmax(0, 1fr)" : "minmax(0, 1fr)"} */
|
|
1440
|
+
`,
|
|
1441
|
+
className: "criteriaItemInner",
|
|
1442
|
+
children: [
|
|
1443
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1444
|
+
"div",
|
|
1497
1445
|
{
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
update({ ...currentCriteria, l: selection.id, t: "q", op: "=", r: "" }, index);
|
|
1446
|
+
css: [criteriaWrapper, criteriaOperandWrapper],
|
|
1447
|
+
className: "criteria-wrapper",
|
|
1448
|
+
"data-testid": "select-criteria",
|
|
1449
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1450
|
+
DimensionMenu,
|
|
1451
|
+
{
|
|
1452
|
+
errorMessage: (_b = errors.lhs) == null ? void 0 : _b[index],
|
|
1453
|
+
css: expand,
|
|
1454
|
+
styles: { control: (base) => ({ ...base, height: "100%" }) },
|
|
1455
|
+
dimensions: dimensions.dimensions,
|
|
1456
|
+
onChange: (dim) => {
|
|
1457
|
+
update({ ...currentCriteria, l: dim.dim }, index);
|
|
1458
|
+
},
|
|
1459
|
+
value: dimensions.dimIndex[currentCriteria.l],
|
|
1460
|
+
onMenuOpen,
|
|
1461
|
+
onMenuClose
|
|
1515
1462
|
}
|
|
1516
|
-
|
|
1517
|
-
value: currentDimension != null ? currentDimension : currentQuirk,
|
|
1518
|
-
onMenuOpen,
|
|
1519
|
-
onMenuClose
|
|
1463
|
+
)
|
|
1520
1464
|
}
|
|
1521
|
-
)
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1525
|
-
"div",
|
|
1526
|
-
{
|
|
1527
|
-
css: [criteriaWrapper, criteriaOperatorWrapper],
|
|
1528
|
-
className: "criteria-wrapper",
|
|
1529
|
-
"data-testid": "select-operator",
|
|
1530
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1531
|
-
CriteriaOperatorMenu,
|
|
1465
|
+
),
|
|
1466
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1467
|
+
"div",
|
|
1532
1468
|
{
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1469
|
+
css: [criteriaWrapper, criteriaOperatorWrapper],
|
|
1470
|
+
className: "criteria-wrapper",
|
|
1471
|
+
"data-testid": "select-operator",
|
|
1472
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1473
|
+
CriteriaOperatorMenu,
|
|
1474
|
+
{
|
|
1475
|
+
name: `op-${index}`,
|
|
1476
|
+
css: expand,
|
|
1477
|
+
styles: { control: (base) => ({ ...base, height: "100%" }) },
|
|
1478
|
+
value: currentCriteria.op,
|
|
1479
|
+
onChange: (op) => {
|
|
1480
|
+
if (op === "+" || op === "-") {
|
|
1481
|
+
update({ ...currentCriteria, op, r: void 0, rDim: void 0 }, index);
|
|
1482
|
+
} else {
|
|
1483
|
+
update({ ...currentCriteria, op }, index);
|
|
1484
|
+
}
|
|
1485
|
+
},
|
|
1486
|
+
onMenuOpen,
|
|
1487
|
+
onMenuClose
|
|
1543
1488
|
}
|
|
1544
|
-
|
|
1545
|
-
onMenuOpen,
|
|
1546
|
-
onMenuClose
|
|
1489
|
+
)
|
|
1547
1490
|
}
|
|
1548
|
-
)
|
|
1549
|
-
|
|
1550
|
-
),
|
|
1551
|
-
critHasRhs ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1552
|
-
"div",
|
|
1553
|
-
{
|
|
1554
|
-
css: [criteriaWrapper, criteriaOperandWrapper],
|
|
1555
|
-
className: "criteria-wrapper",
|
|
1556
|
-
"data-testid": "select-match-criteria",
|
|
1557
|
-
children: currentQuirk ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1491
|
+
),
|
|
1492
|
+
critHasRhs ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1558
1493
|
"div",
|
|
1559
1494
|
{
|
|
1560
|
-
css:
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
width: 100%;
|
|
1566
|
-
}
|
|
1567
|
-
`,
|
|
1568
|
-
children: currentQuirk.options ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1569
|
-
import_design_system10.InputSelect,
|
|
1570
|
-
{
|
|
1571
|
-
label: "quirk match value",
|
|
1572
|
-
showLabel: false,
|
|
1573
|
-
value: (_c = currentCriteria.r) != null ? _c : "",
|
|
1574
|
-
errorMessage: (_d = errors.rhs) == null ? void 0 : _d[index],
|
|
1575
|
-
onChange: (e) => update({ ...currentCriteria, r: e.currentTarget.value }, index),
|
|
1576
|
-
options: [
|
|
1577
|
-
{ label: "Select\u2026", value: "" },
|
|
1578
|
-
...currentQuirk.options.map((o) => ({ label: o.name, value: o.value }))
|
|
1579
|
-
]
|
|
1580
|
-
}
|
|
1581
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1582
|
-
import_design_system10.Input,
|
|
1495
|
+
css: [criteriaWrapper, criteriaOperandWrapper],
|
|
1496
|
+
className: "criteria-wrapper",
|
|
1497
|
+
"data-testid": "select-match-criteria",
|
|
1498
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1499
|
+
CriteriaMatchMenu,
|
|
1583
1500
|
{
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1501
|
+
errorMessage: (_c = errors.rhs) == null ? void 0 : _c[index],
|
|
1502
|
+
css: expand,
|
|
1503
|
+
styles: { control: (base) => ({ ...base, height: "100%" }) },
|
|
1504
|
+
criteriaMatch: currentCriteria,
|
|
1505
|
+
onChange: (match) => {
|
|
1506
|
+
update(match, index);
|
|
1507
|
+
},
|
|
1508
|
+
isDisabled: !critHasLhs,
|
|
1509
|
+
dimensions,
|
|
1510
|
+
onMenuOpen,
|
|
1511
|
+
onMenuClose
|
|
1591
1512
|
}
|
|
1592
1513
|
)
|
|
1593
1514
|
}
|
|
1594
|
-
) :
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
css: expand,
|
|
1599
|
-
styles: { control: (base) => ({ ...base, height: "100%" }) },
|
|
1600
|
-
criteriaMatch: currentCriteria,
|
|
1601
|
-
onChange: (match) => {
|
|
1602
|
-
update(match, index);
|
|
1603
|
-
},
|
|
1604
|
-
isDisabled: !critHasLhs,
|
|
1605
|
-
dimensions,
|
|
1606
|
-
onMenuOpen,
|
|
1607
|
-
onMenuClose
|
|
1608
|
-
}
|
|
1609
|
-
)
|
|
1610
|
-
}
|
|
1611
|
-
) : null
|
|
1612
|
-
] }),
|
|
1515
|
+
) : null
|
|
1516
|
+
]
|
|
1517
|
+
}
|
|
1518
|
+
),
|
|
1613
1519
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1614
1520
|
"button",
|
|
1615
1521
|
{
|
|
@@ -1635,7 +1541,7 @@ var PersonalizationCriteriaStatic = ({
|
|
|
1635
1541
|
{
|
|
1636
1542
|
"data-testid": "dropdown-button-combine",
|
|
1637
1543
|
disabled: index > 1,
|
|
1638
|
-
value: (
|
|
1544
|
+
value: (_d = currentValue.op) != null ? _d : "&",
|
|
1639
1545
|
options: [
|
|
1640
1546
|
{ label: "AND", value: "&" },
|
|
1641
1547
|
{ label: "OR", value: "|" }
|
|
@@ -1722,7 +1628,7 @@ var PersonalizationCriteria = ({
|
|
|
1722
1628
|
...staticProps
|
|
1723
1629
|
}) => {
|
|
1724
1630
|
var _a, _b;
|
|
1725
|
-
const [validationError, setValidationError] = (0,
|
|
1631
|
+
const [validationError, setValidationError] = (0, import_react16.useState)(void 0);
|
|
1726
1632
|
const { loading, result: dimensions, error } = useDimensions(contextConfig);
|
|
1727
1633
|
(0, import_react_use.useAsync)(async () => {
|
|
1728
1634
|
if (value && dimensions) {
|
|
@@ -1786,7 +1692,7 @@ function ProjectUIVersion({ children, versionMap, contextConfig }) {
|
|
|
1786
1692
|
}
|
|
1787
1693
|
|
|
1788
1694
|
// src/hooks/useValidateContextConfig.ts
|
|
1789
|
-
var
|
|
1695
|
+
var import_react17 = require("react");
|
|
1790
1696
|
|
|
1791
1697
|
// src/utils/validateContextConfig.ts
|
|
1792
1698
|
var import_api4 = require("@uniformdev/context/api");
|
|
@@ -1822,12 +1728,12 @@ var validateContextConfig = async (contextConfig) => {
|
|
|
1822
1728
|
|
|
1823
1729
|
// src/hooks/useValidateContextConfig.ts
|
|
1824
1730
|
var useValidateContextConfig = (contextConfig) => {
|
|
1825
|
-
const [state, setState] = (0,
|
|
1731
|
+
const [state, setState] = (0, import_react17.useState)({
|
|
1826
1732
|
validating: false,
|
|
1827
1733
|
error: void 0
|
|
1828
1734
|
});
|
|
1829
1735
|
const { apiKey, apiHost, projectId } = contextConfig || {};
|
|
1830
|
-
(0,
|
|
1736
|
+
(0, import_react17.useEffect)(() => {
|
|
1831
1737
|
if (!apiKey || !apiHost) {
|
|
1832
1738
|
return;
|
|
1833
1739
|
}
|
|
@@ -1868,7 +1774,6 @@ __reExport(src_exports, require("@uniformdev/design-system"), module.exports);
|
|
|
1868
1774
|
addEnrichmentLink,
|
|
1869
1775
|
contextCriteriaMenuOperators,
|
|
1870
1776
|
convertErrorsToObj,
|
|
1871
|
-
enrichmentCriteriaMenuOperators,
|
|
1872
1777
|
isEnrichmentTagData,
|
|
1873
1778
|
isPersonalizationCriteriaData,
|
|
1874
1779
|
opHasRhs,
|