@cambly/syntax-core 5.7.0 → 5.9.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.css +79 -37
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +69 -1
- package/dist/index.js +293 -76
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +287 -71
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -124,6 +124,7 @@ __export(src_exports, {
|
|
|
124
124
|
Heading: () => Heading_default,
|
|
125
125
|
IconButton: () => IconButton_default,
|
|
126
126
|
MiniActionCard: () => MiniActionCard_default,
|
|
127
|
+
Modal: () => Modal,
|
|
127
128
|
RadioButton: () => RadioButton_default,
|
|
128
129
|
SelectList: () => SelectList_default,
|
|
129
130
|
Typography: () => Typography_default
|
|
@@ -601,11 +602,11 @@ var ButtonGroup = ({
|
|
|
601
602
|
size = "md",
|
|
602
603
|
children
|
|
603
604
|
}) => {
|
|
604
|
-
const
|
|
605
|
+
const classnames3 = (0, import_classnames5.default)(ButtonGroup_module_default.buttonGroup, gap[size], {
|
|
605
606
|
[ButtonGroup_module_default.horizontal]: orientation === "horizontal",
|
|
606
607
|
[ButtonGroup_module_default.vertical]: orientation === "vertical"
|
|
607
608
|
});
|
|
608
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className:
|
|
609
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: classnames3, children });
|
|
609
610
|
};
|
|
610
611
|
var ButtonGroup_default = ButtonGroup;
|
|
611
612
|
|
|
@@ -616,7 +617,7 @@ var Card = ({
|
|
|
616
617
|
size = "sm",
|
|
617
618
|
"data-testid": dataTestId
|
|
618
619
|
}) => {
|
|
619
|
-
const
|
|
620
|
+
const sizeWidth2 = {
|
|
620
621
|
sm: 352,
|
|
621
622
|
lg: 744
|
|
622
623
|
};
|
|
@@ -626,7 +627,7 @@ var Card = ({
|
|
|
626
627
|
rounding: "xl",
|
|
627
628
|
padding: 7,
|
|
628
629
|
smPadding: 9,
|
|
629
|
-
maxWidth:
|
|
630
|
+
maxWidth: sizeWidth2[size],
|
|
630
631
|
width: "100%",
|
|
631
632
|
backgroundColor: "white",
|
|
632
633
|
"data-testid": dataTestId,
|
|
@@ -769,7 +770,7 @@ function setupGlobalFocusEvents() {
|
|
|
769
770
|
return;
|
|
770
771
|
}
|
|
771
772
|
const { focus } = HTMLElement.prototype;
|
|
772
|
-
HTMLElement.prototype.focus = function
|
|
773
|
+
HTMLElement.prototype.focus = function focusElement2(...args) {
|
|
773
774
|
hasEventBeforeFocus = true;
|
|
774
775
|
focus.apply(this, args);
|
|
775
776
|
};
|
|
@@ -804,7 +805,7 @@ function useFocusVisible() {
|
|
|
804
805
|
}
|
|
805
806
|
|
|
806
807
|
// css-module:./Checkbox.module.css#css-module
|
|
807
|
-
var Checkbox_module_default = { "mainContainer": "
|
|
808
|
+
var Checkbox_module_default = { "mainContainer": "_mainContainer_12k0x_1", "inputOverlay": "_inputOverlay_12k0x_8", "checkbox": "_checkbox_12k0x_14", "disabled": "_disabled_12k0x_22", "cursorDisabled": "_cursorDisabled_12k0x_26", "cursorEnabled": "_cursorEnabled_12k0x_30", "uncheckedBox": "_uncheckedBox_12k0x_34", "uncheckedBorder": "_uncheckedBorder_12k0x_38", "uncheckedErrorBorder": "_uncheckedErrorBorder_12k0x_42", "checkedBox": "_checkedBox_12k0x_46", "checkedNonError": "_checkedNonError_12k0x_50", "checkedError": "_checkedError_12k0x_54", "sm": "_sm_12k0x_58", "md": "_md_12k0x_64" };
|
|
808
809
|
|
|
809
810
|
// css-module:../Focus.module.css#css-module
|
|
810
811
|
var Focus_module_default = { "accessibilityOutlineFocus": "_accessibilityOutlineFocus_1h8bq_1" };
|
|
@@ -841,42 +842,56 @@ var Checkbox = ({
|
|
|
841
842
|
[Checkbox_module_default.checkedError]: error,
|
|
842
843
|
[Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible2
|
|
843
844
|
});
|
|
844
|
-
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
845
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
846
|
+
"label",
|
|
847
|
+
{
|
|
848
|
+
className: (0, import_classnames7.default)(
|
|
849
|
+
Checkbox_module_default.mainContainer,
|
|
850
|
+
Checkbox_module_default[`cursor${disabled ? "Disabled" : "Enabled"}`],
|
|
848
851
|
{
|
|
849
|
-
|
|
850
|
-
type: "checkbox",
|
|
851
|
-
className: (0, import_classnames7.default)(Checkbox_module_default.inputOverlay, Checkbox_module_default[size]),
|
|
852
|
-
checked,
|
|
853
|
-
onChange,
|
|
854
|
-
disabled,
|
|
855
|
-
onFocus: () => {
|
|
856
|
-
setIsFocused(true);
|
|
857
|
-
},
|
|
858
|
-
onBlur: () => {
|
|
859
|
-
setIsFocused(false);
|
|
860
|
-
}
|
|
852
|
+
[Checkbox_module_default.disabled]: disabled
|
|
861
853
|
}
|
|
862
854
|
),
|
|
863
|
-
|
|
864
|
-
"
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
855
|
+
children: [
|
|
856
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: checked ? checkedStyling : uncheckedStyling, children: checked && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", width: iconWidth[size], children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
857
|
+
"path",
|
|
858
|
+
{
|
|
859
|
+
fill: "#fff",
|
|
860
|
+
d: "m9 16.2-3.5-3.5a.9839.9839 0 0 0-1.4 0c-.39.39-.39 1.01 0 1.4l4.19 4.19c.39.39 1.02.39 1.41 0L20.3 7.7c.39-.39.39-1.01 0-1.4a.9839.9839 0 0 0-1.4 0L9 16.2z"
|
|
861
|
+
}
|
|
862
|
+
) }) }),
|
|
863
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
864
|
+
"input",
|
|
865
|
+
{
|
|
866
|
+
"data-testid": dataTestId,
|
|
867
|
+
type: "checkbox",
|
|
868
|
+
className: (0, import_classnames7.default)(
|
|
869
|
+
Checkbox_module_default.inputOverlay,
|
|
870
|
+
Checkbox_module_default[size],
|
|
871
|
+
Checkbox_module_default[`cursor${disabled ? "Disabled" : "Enabled"}`]
|
|
872
|
+
),
|
|
873
|
+
checked,
|
|
874
|
+
onChange,
|
|
875
|
+
disabled,
|
|
876
|
+
onFocus: () => {
|
|
877
|
+
setIsFocused(true);
|
|
878
|
+
},
|
|
879
|
+
onBlur: () => {
|
|
880
|
+
setIsFocused(false);
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
),
|
|
884
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
885
|
+
Typography_default,
|
|
886
|
+
{
|
|
887
|
+
size: typographySize[size],
|
|
888
|
+
color: error ? "destructive-primary" : "gray800",
|
|
889
|
+
children: label
|
|
890
|
+
}
|
|
891
|
+
)
|
|
892
|
+
]
|
|
893
|
+
}
|
|
894
|
+
);
|
|
880
895
|
};
|
|
881
896
|
var Checkbox_default = Checkbox;
|
|
882
897
|
|
|
@@ -890,15 +905,207 @@ var MiniActionCard = ({
|
|
|
890
905
|
}) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: MiniActionCard_module_default.miniActionCard, children });
|
|
891
906
|
var MiniActionCard_default = MiniActionCard;
|
|
892
907
|
|
|
893
|
-
// src/
|
|
894
|
-
var import_react6 = require("react");
|
|
908
|
+
// src/Modal/Modal.tsx
|
|
895
909
|
var import_classnames8 = __toESM(require_classnames());
|
|
896
910
|
|
|
911
|
+
// src/Modal/FocusTrap.tsx
|
|
912
|
+
var import_react6 = require("react");
|
|
913
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
914
|
+
function queryFocusableAll(el) {
|
|
915
|
+
const selector = [
|
|
916
|
+
"a[href]",
|
|
917
|
+
"area[href]",
|
|
918
|
+
"input:not([disabled])",
|
|
919
|
+
"select:not([disabled])",
|
|
920
|
+
"textarea:not([disabled])",
|
|
921
|
+
"button:not([disabled])",
|
|
922
|
+
"iframe",
|
|
923
|
+
"object",
|
|
924
|
+
"embed",
|
|
925
|
+
'[tabindex="-1"]',
|
|
926
|
+
'[tabindex="0"]',
|
|
927
|
+
"[contenteditable]",
|
|
928
|
+
"audio[controls]",
|
|
929
|
+
"video[controls]",
|
|
930
|
+
"summary"
|
|
931
|
+
].join(",");
|
|
932
|
+
return el.querySelectorAll(selector);
|
|
933
|
+
}
|
|
934
|
+
var focusElement = (el) => {
|
|
935
|
+
if (typeof el.focus === "function") {
|
|
936
|
+
el.focus();
|
|
937
|
+
}
|
|
938
|
+
};
|
|
939
|
+
function FocusTrap({
|
|
940
|
+
children
|
|
941
|
+
}) {
|
|
942
|
+
const elRef = (0, import_react6.useRef)(null);
|
|
943
|
+
const previouslyFocusedElRef = (0, import_react6.useRef)(null);
|
|
944
|
+
(0, import_react6.useEffect)(() => {
|
|
945
|
+
const { current: element } = elRef;
|
|
946
|
+
const focusFirstChild = () => {
|
|
947
|
+
const withinIframe = window !== window.parent;
|
|
948
|
+
if (element && !withinIframe) {
|
|
949
|
+
focusElement(queryFocusableAll(element)[0]);
|
|
950
|
+
}
|
|
951
|
+
};
|
|
952
|
+
const handleFocus = (event) => {
|
|
953
|
+
if (!element || event.target instanceof Node && element.contains(event.target)) {
|
|
954
|
+
return;
|
|
955
|
+
}
|
|
956
|
+
if (event.target instanceof Element && event.target.closest('[data-testid="syntax-focus-trap"]') !== null) {
|
|
957
|
+
return;
|
|
958
|
+
}
|
|
959
|
+
event.stopPropagation();
|
|
960
|
+
event.preventDefault();
|
|
961
|
+
focusFirstChild();
|
|
962
|
+
};
|
|
963
|
+
previouslyFocusedElRef.current = document.activeElement;
|
|
964
|
+
focusFirstChild();
|
|
965
|
+
document.addEventListener("focus", handleFocus, true);
|
|
966
|
+
return function cleanup() {
|
|
967
|
+
const { current: previouslyFocusedEl } = previouslyFocusedElRef;
|
|
968
|
+
document.removeEventListener("focus", handleFocus, true);
|
|
969
|
+
if (previouslyFocusedEl) {
|
|
970
|
+
focusElement(previouslyFocusedEl);
|
|
971
|
+
}
|
|
972
|
+
};
|
|
973
|
+
}, [elRef, previouslyFocusedElRef]);
|
|
974
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { "data-testid": "syntax-focus-trap", ref: elRef, children });
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
// src/Modal/StopScroll.tsx
|
|
978
|
+
var import_react7 = require("react");
|
|
979
|
+
function StopScroll(props) {
|
|
980
|
+
(0, import_react7.useEffect)(() => {
|
|
981
|
+
const originalStyle = window.getComputedStyle(document.body).overflow;
|
|
982
|
+
document.body.style.overflow = "hidden";
|
|
983
|
+
return () => {
|
|
984
|
+
document.body.style.overflow = originalStyle;
|
|
985
|
+
};
|
|
986
|
+
}, []);
|
|
987
|
+
return props.children;
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
// src/Modal/Layer.tsx
|
|
991
|
+
var import_react_dom = require("react-dom");
|
|
992
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
993
|
+
function Layer({
|
|
994
|
+
children,
|
|
995
|
+
zIndex = 1
|
|
996
|
+
}) {
|
|
997
|
+
return (0, import_react_dom.createPortal)(
|
|
998
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
999
|
+
Box_default,
|
|
1000
|
+
{
|
|
1001
|
+
"data-testid": "syntax-layer",
|
|
1002
|
+
position: "fixed",
|
|
1003
|
+
dangerouslySetInlineStyle: {
|
|
1004
|
+
__style: { zIndex, inset: 0 }
|
|
1005
|
+
},
|
|
1006
|
+
children
|
|
1007
|
+
}
|
|
1008
|
+
),
|
|
1009
|
+
document.body
|
|
1010
|
+
);
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
// css-module:./Modal.module.css#css-module
|
|
1014
|
+
var Modal_module_default = { "backdrop": "_backdrop_30t3h_1", "closeButton": "_closeButton_30t3h_12", "closeButtonWithImage": "_closeButtonWithImage_30t3h_32" };
|
|
1015
|
+
|
|
1016
|
+
// src/Modal/Modal.tsx
|
|
1017
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1018
|
+
function XIcon({ color = "#000" }) {
|
|
1019
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", fill: color, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1020
|
+
"path",
|
|
1021
|
+
{
|
|
1022
|
+
fill: "inherit",
|
|
1023
|
+
d: "M11.25.758a.83.83 0 0 0-1.175 0L6 4.825 1.925.75A.83.83 0 1 0 .75 1.925L4.825 6 .75 10.075a.83.83 0 1 0 1.175 1.175L6 7.175l4.075 4.075a.83.83 0 1 0 1.175-1.175L7.175 6l4.075-4.075a.835.835 0 0 0 0-1.167Z"
|
|
1024
|
+
}
|
|
1025
|
+
) });
|
|
1026
|
+
}
|
|
1027
|
+
var sizeWidth = {
|
|
1028
|
+
sm: 400,
|
|
1029
|
+
lg: 600
|
|
1030
|
+
};
|
|
1031
|
+
function Modal({
|
|
1032
|
+
header,
|
|
1033
|
+
children,
|
|
1034
|
+
image,
|
|
1035
|
+
onDismiss,
|
|
1036
|
+
footer,
|
|
1037
|
+
accessibilityCloseLabel = "close modal",
|
|
1038
|
+
size = "sm",
|
|
1039
|
+
zIndex = 1,
|
|
1040
|
+
"data-testid": dataTestId
|
|
1041
|
+
}) {
|
|
1042
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Layer, { zIndex, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StopScroll, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(FocusTrap, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1043
|
+
"div",
|
|
1044
|
+
{
|
|
1045
|
+
className: Modal_module_default.backdrop,
|
|
1046
|
+
role: "presentation",
|
|
1047
|
+
onClick: (e) => e.target === e.currentTarget && onDismiss(),
|
|
1048
|
+
onKeyDown: (e) => e.key === "Escape" && onDismiss(),
|
|
1049
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
1050
|
+
Box_default,
|
|
1051
|
+
{
|
|
1052
|
+
"data-testid": dataTestId,
|
|
1053
|
+
backgroundColor: "white",
|
|
1054
|
+
rounding: "xl",
|
|
1055
|
+
display: "flex",
|
|
1056
|
+
direction: "column",
|
|
1057
|
+
minWidth: 240,
|
|
1058
|
+
maxWidth: sizeWidth[size],
|
|
1059
|
+
width: "100%",
|
|
1060
|
+
dangerouslySetInlineStyle: { __style: { overflow: "hidden" } },
|
|
1061
|
+
children: [
|
|
1062
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { position: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1063
|
+
"button",
|
|
1064
|
+
{
|
|
1065
|
+
"aria-label": accessibilityCloseLabel,
|
|
1066
|
+
type: "button",
|
|
1067
|
+
className: (0, import_classnames8.default)(Modal_module_default.closeButton, {
|
|
1068
|
+
[Modal_module_default.closeButtonWithImage]: !!image
|
|
1069
|
+
}),
|
|
1070
|
+
onClick: onDismiss,
|
|
1071
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(XIcon, { color: image ? "#fff" : "#000" })
|
|
1072
|
+
}
|
|
1073
|
+
) }),
|
|
1074
|
+
image && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { maxHeight: 200, children: image }),
|
|
1075
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { display: "flex", gap: 3, direction: "column", padding: 9, children: [
|
|
1076
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Heading_default, { as: "h1", size: 500, children: header }),
|
|
1077
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { marginBottom: 4, children }),
|
|
1078
|
+
footer && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1079
|
+
Box_default,
|
|
1080
|
+
{
|
|
1081
|
+
display: "flex",
|
|
1082
|
+
direction: "column",
|
|
1083
|
+
gap: 3,
|
|
1084
|
+
smDirection: "row",
|
|
1085
|
+
smJustifyContent: "end",
|
|
1086
|
+
lgDirection: "row",
|
|
1087
|
+
lgJustifyContent: "end",
|
|
1088
|
+
children: footer
|
|
1089
|
+
}
|
|
1090
|
+
)
|
|
1091
|
+
] })
|
|
1092
|
+
]
|
|
1093
|
+
}
|
|
1094
|
+
)
|
|
1095
|
+
}
|
|
1096
|
+
) }) }) });
|
|
1097
|
+
}
|
|
1098
|
+
Modal.displayName = "Modal";
|
|
1099
|
+
|
|
1100
|
+
// src/RadioButton/RadioButton.tsx
|
|
1101
|
+
var import_react8 = require("react");
|
|
1102
|
+
var import_classnames9 = __toESM(require_classnames());
|
|
1103
|
+
|
|
897
1104
|
// css-module:./RadioButton.module.css#css-module
|
|
898
|
-
var RadioButton_module_default = { "radioBaseContainer": "
|
|
1105
|
+
var RadioButton_module_default = { "radioBaseContainer": "_radioBaseContainer_1yyn9_1", "disabled": "_disabled_1yyn9_9", "cursorDisabled": "_cursorDisabled_1yyn9_13", "cursorEnabled": "_cursorEnabled_1yyn9_17", "smBase": "_smBase_1yyn9_21", "mdBase": "_mdBase_1yyn9_25", "radioStyleOverride": "_radioStyleOverride_1yyn9_29", "smOverride": "_smOverride_1yyn9_34", "mdOverride": "_mdOverride_1yyn9_39", "background": "_background_1yyn9_44", "sm": "_sm_1yyn9_21", "md": "_md_1yyn9_25", "neutralBorder": "_neutralBorder_1yyn9_61", "smCheckedBorder": "_smCheckedBorder_1yyn9_65", "mdCheckedBorder": "_mdCheckedBorder_1yyn9_69", "errorBorderColor": "_errorBorderColor_1yyn9_73", "borderColor": "_borderColor_1yyn9_77" };
|
|
899
1106
|
|
|
900
1107
|
// src/RadioButton/RadioButton.tsx
|
|
901
|
-
var
|
|
1108
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
902
1109
|
var RadioButton = ({
|
|
903
1110
|
checked = false,
|
|
904
1111
|
"data-testid": dataTestId,
|
|
@@ -911,41 +1118,50 @@ var RadioButton = ({
|
|
|
911
1118
|
size = "md",
|
|
912
1119
|
value
|
|
913
1120
|
}) => {
|
|
914
|
-
const [isFocused, setIsFocused] = (0,
|
|
1121
|
+
const [isFocused, setIsFocused] = (0, import_react8.useState)(false);
|
|
915
1122
|
const { isFocusVisible: isFocusVisible2 } = useFocusVisible();
|
|
916
|
-
const sharedStyles = (0,
|
|
1123
|
+
const sharedStyles = (0, import_classnames9.default)(RadioButton_module_default.background, RadioButton_module_default[size], {
|
|
917
1124
|
[RadioButton_module_default.errorBorderColor]: error,
|
|
918
1125
|
[RadioButton_module_default.borderColor]: !error,
|
|
919
1126
|
[Focus_module_default.accessibilityOutlineFocus]: isFocused && isFocusVisible2
|
|
920
1127
|
});
|
|
921
|
-
return /* @__PURE__ */ (0,
|
|
1128
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
922
1129
|
"label",
|
|
923
1130
|
{
|
|
924
|
-
className: (0,
|
|
925
|
-
|
|
926
|
-
[
|
|
927
|
-
|
|
1131
|
+
className: (0, import_classnames9.default)(
|
|
1132
|
+
RadioButton_module_default.radioBaseContainer,
|
|
1133
|
+
RadioButton_module_default[`cursor${disabled ? "Disabled" : "Enabled"}`],
|
|
1134
|
+
{
|
|
1135
|
+
[RadioButton_module_default.disabled]: disabled,
|
|
1136
|
+
[RadioButton_module_default.smBase]: size === "sm",
|
|
1137
|
+
[RadioButton_module_default.mdBase]: size === "md"
|
|
1138
|
+
}
|
|
1139
|
+
),
|
|
928
1140
|
children: [
|
|
929
|
-
checked ? /* @__PURE__ */ (0,
|
|
1141
|
+
checked ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
930
1142
|
"div",
|
|
931
1143
|
{
|
|
932
|
-
className: (0,
|
|
1144
|
+
className: (0, import_classnames9.default)(sharedStyles, {
|
|
933
1145
|
[RadioButton_module_default.mdCheckedBorder]: size === "md",
|
|
934
1146
|
[RadioButton_module_default.smCheckedBorder]: size === "sm"
|
|
935
1147
|
})
|
|
936
1148
|
}
|
|
937
|
-
) : /* @__PURE__ */ (0,
|
|
938
|
-
/* @__PURE__ */ (0,
|
|
1149
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: (0, import_classnames9.default)(sharedStyles, RadioButton_module_default.neutralBorder) }),
|
|
1150
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
939
1151
|
"input",
|
|
940
1152
|
{
|
|
941
1153
|
"data-testid": dataTestId,
|
|
942
1154
|
type: "radio",
|
|
943
1155
|
id,
|
|
944
1156
|
name,
|
|
945
|
-
className: (0,
|
|
946
|
-
|
|
947
|
-
[
|
|
948
|
-
|
|
1157
|
+
className: (0, import_classnames9.default)(
|
|
1158
|
+
RadioButton_module_default.radioStyleOverride,
|
|
1159
|
+
RadioButton_module_default[`cursor${disabled ? "Disabled" : "Enabled"}`],
|
|
1160
|
+
{
|
|
1161
|
+
[RadioButton_module_default.smOverride]: size === "sm",
|
|
1162
|
+
[RadioButton_module_default.mdOverride]: size === "md"
|
|
1163
|
+
}
|
|
1164
|
+
),
|
|
949
1165
|
checked,
|
|
950
1166
|
onChange,
|
|
951
1167
|
disabled,
|
|
@@ -958,7 +1174,7 @@ var RadioButton = ({
|
|
|
958
1174
|
}
|
|
959
1175
|
}
|
|
960
1176
|
),
|
|
961
|
-
label && /* @__PURE__ */ (0,
|
|
1177
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
962
1178
|
Typography_default,
|
|
963
1179
|
{
|
|
964
1180
|
size: size === "md" ? 200 : 100,
|
|
@@ -973,8 +1189,8 @@ var RadioButton = ({
|
|
|
973
1189
|
var RadioButton_default = RadioButton;
|
|
974
1190
|
|
|
975
1191
|
// src/SelectList/SelectList.tsx
|
|
976
|
-
var
|
|
977
|
-
var
|
|
1192
|
+
var import_react9 = require("react");
|
|
1193
|
+
var import_classnames10 = __toESM(require_classnames());
|
|
978
1194
|
|
|
979
1195
|
// ../syntax-design-tokens/dist/js/index.js
|
|
980
1196
|
var ColorBaseDestructive700 = "#d32a4b";
|
|
@@ -984,17 +1200,17 @@ var ColorBaseGray800 = "#353535";
|
|
|
984
1200
|
var SelectList_module_default = { "selectContainer": "_selectContainer_1u9cw_1", "opacityOverlay": "_opacityOverlay_1u9cw_7", "outerTextContainer": "_outerTextContainer_1u9cw_11", "selectWrapper": "_selectWrapper_1u9cw_16", "selectBox": "_selectBox_1u9cw_21", "selectMouseFocusStyling": "_selectMouseFocusStyling_1u9cw_35", "unselected": "_unselected_1u9cw_40", "selected": "_selected_1u9cw_44", "arrowIcon": "_arrowIcon_1u9cw_48", "sm": "_sm_1u9cw_62", "md": "_md_1u9cw_67", "lg": "_lg_1u9cw_72", "selectError": "_selectError_1u9cw_77" };
|
|
985
1201
|
|
|
986
1202
|
// src/SelectList/SelectOption.tsx
|
|
987
|
-
var
|
|
1203
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
988
1204
|
var SelectOption = ({
|
|
989
1205
|
"data-testid": dataTestId,
|
|
990
1206
|
value,
|
|
991
1207
|
label,
|
|
992
1208
|
disabled = false
|
|
993
|
-
}) => /* @__PURE__ */ (0,
|
|
1209
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("option", { "data-testid": dataTestId, value, disabled, children: label });
|
|
994
1210
|
var SelectOption_default = SelectOption;
|
|
995
1211
|
|
|
996
1212
|
// src/SelectList/SelectList.tsx
|
|
997
|
-
var
|
|
1213
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
998
1214
|
var iconSize3 = {
|
|
999
1215
|
sm: 20,
|
|
1000
1216
|
md: 24,
|
|
@@ -1012,25 +1228,25 @@ var SelectList = ({
|
|
|
1012
1228
|
selectedValue = "",
|
|
1013
1229
|
size = "md"
|
|
1014
1230
|
}) => {
|
|
1015
|
-
const id = (0,
|
|
1231
|
+
const id = (0, import_react9.useId)();
|
|
1016
1232
|
const { isFocusVisible: isFocusVisible2 } = useFocusVisible();
|
|
1017
|
-
const [isFocused, setIsFocused] = (0,
|
|
1018
|
-
return /* @__PURE__ */ (0,
|
|
1233
|
+
const [isFocused, setIsFocused] = (0, import_react9.useState)(false);
|
|
1234
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1019
1235
|
"div",
|
|
1020
1236
|
{
|
|
1021
|
-
className: (0,
|
|
1237
|
+
className: (0, import_classnames10.default)(SelectList_module_default.selectContainer, {
|
|
1022
1238
|
[SelectList_module_default.opacityOverlay]: disabled
|
|
1023
1239
|
}),
|
|
1024
1240
|
children: [
|
|
1025
|
-
label && /* @__PURE__ */ (0,
|
|
1026
|
-
/* @__PURE__ */ (0,
|
|
1027
|
-
/* @__PURE__ */ (0,
|
|
1241
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("label", { htmlFor: id, className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Typography_default, { size: 100, color: "gray700", children: label }) }),
|
|
1242
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: SelectList_module_default.selectWrapper, children: [
|
|
1243
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
1028
1244
|
"select",
|
|
1029
1245
|
{
|
|
1030
1246
|
id,
|
|
1031
1247
|
"data-testid": dataTestId,
|
|
1032
1248
|
disabled,
|
|
1033
|
-
className: (0,
|
|
1249
|
+
className: (0, import_classnames10.default)(SelectList_module_default.selectBox, SelectList_module_default[size], {
|
|
1034
1250
|
[SelectList_module_default.unselected]: !selectedValue && !errorText,
|
|
1035
1251
|
[SelectList_module_default.selected]: selectedValue && !errorText,
|
|
1036
1252
|
[SelectList_module_default.selectError]: errorText,
|
|
@@ -1045,19 +1261,19 @@ var SelectList = ({
|
|
|
1045
1261
|
onFocus: () => setIsFocused(true),
|
|
1046
1262
|
onBlur: () => setIsFocused(false),
|
|
1047
1263
|
children: [
|
|
1048
|
-
placeholderText && /* @__PURE__ */ (0,
|
|
1264
|
+
placeholderText && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("option", { disabled: true, value: placeholderText, children: placeholderText }),
|
|
1049
1265
|
children
|
|
1050
1266
|
]
|
|
1051
1267
|
}
|
|
1052
1268
|
),
|
|
1053
|
-
/* @__PURE__ */ (0,
|
|
1269
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: SelectList_module_default.arrowIcon, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1054
1270
|
"svg",
|
|
1055
1271
|
{
|
|
1056
1272
|
focusable: "false",
|
|
1057
1273
|
"aria-hidden": "true",
|
|
1058
1274
|
viewBox: "0 0 24 24",
|
|
1059
1275
|
width: iconSize3[size],
|
|
1060
|
-
children: /* @__PURE__ */ (0,
|
|
1276
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1061
1277
|
"path",
|
|
1062
1278
|
{
|
|
1063
1279
|
fill: errorText ? ColorBaseDestructive700 : ColorBaseGray800,
|
|
@@ -1067,7 +1283,7 @@ var SelectList = ({
|
|
|
1067
1283
|
}
|
|
1068
1284
|
) })
|
|
1069
1285
|
] }),
|
|
1070
|
-
(helperText || errorText) && /* @__PURE__ */ (0,
|
|
1286
|
+
(helperText || errorText) && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1071
1287
|
Typography_default,
|
|
1072
1288
|
{
|
|
1073
1289
|
size: 100,
|
|
@@ -1094,6 +1310,7 @@ SelectList.Option = SelectOption_default;
|
|
|
1094
1310
|
Heading,
|
|
1095
1311
|
IconButton,
|
|
1096
1312
|
MiniActionCard,
|
|
1313
|
+
Modal,
|
|
1097
1314
|
RadioButton,
|
|
1098
1315
|
SelectList,
|
|
1099
1316
|
Typography
|