@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.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 classnames2 = (0, import_classnames5.default)(ButtonGroup_module_default.buttonGroup, gap[size], {
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: classnames2, children });
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 sizeWidth = {
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: sizeWidth[size],
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 focusElement(...args) {
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": "_mainContainer_1jq7b_1", "checkboxContainer": "_checkboxContainer_1jq7b_8", "inputOverlay": "_inputOverlay_1jq7b_13", "checkbox": "_checkbox_1jq7b_8", "uncheckedBox": "_uncheckedBox_1jq7b_30", "uncheckedBorder": "_uncheckedBorder_1jq7b_34", "uncheckedErrorBorder": "_uncheckedErrorBorder_1jq7b_38", "checkedBox": "_checkedBox_1jq7b_42", "checkedNonError": "_checkedNonError_1jq7b_46", "checkedError": "_checkedError_1jq7b_50", "sm": "_sm_1jq7b_54", "md": "_md_1jq7b_60" };
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)("label", { className: (0, import_classnames7.default)(Checkbox_module_default.mainContainer), children: [
845
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: Checkbox_module_default.checkboxContainer, children: [
846
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
847
- "input",
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
- "data-testid": dataTestId,
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
- /* @__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)(
864
- "path",
865
- {
866
- fill: "#fff",
867
- 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"
868
- }
869
- ) }) })
870
- ] }),
871
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
872
- Typography_default,
873
- {
874
- size: typographySize[size],
875
- color: error ? "destructive-primary" : "gray800",
876
- children: label
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/RadioButton/RadioButton.tsx
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": "_radioBaseContainer_1hf9h_1", "smBase": "_smBase_1hf9h_9", "mdBase": "_mdBase_1hf9h_14", "radioStyleOverride": "_radioStyleOverride_1hf9h_19", "smOverride": "_smOverride_1hf9h_25", "mdOverride": "_mdOverride_1hf9h_30", "background": "_background_1hf9h_35", "sm": "_sm_1hf9h_9", "md": "_md_1hf9h_14", "neutralBorder": "_neutralBorder_1hf9h_52", "smCheckedBorder": "_smCheckedBorder_1hf9h_56", "mdCheckedBorder": "_mdCheckedBorder_1hf9h_60", "errorBorderColor": "_errorBorderColor_1hf9h_64", "borderColor": "_borderColor_1hf9h_68" };
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 import_jsx_runtime13 = require("react/jsx-runtime");
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, import_react6.useState)(false);
1121
+ const [isFocused, setIsFocused] = (0, import_react8.useState)(false);
915
1122
  const { isFocusVisible: isFocusVisible2 } = useFocusVisible();
916
- const sharedStyles = (0, import_classnames8.default)(RadioButton_module_default.background, RadioButton_module_default[size], {
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, import_jsx_runtime13.jsxs)(
1128
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
922
1129
  "label",
923
1130
  {
924
- className: (0, import_classnames8.default)(RadioButton_module_default.radioBaseContainer, {
925
- [RadioButton_module_default.smBase]: size === "sm",
926
- [RadioButton_module_default.mdBase]: size === "md"
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, import_jsx_runtime13.jsx)(
1141
+ checked ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
930
1142
  "div",
931
1143
  {
932
- className: (0, import_classnames8.default)(sharedStyles, {
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, import_jsx_runtime13.jsx)("div", { className: (0, import_classnames8.default)(sharedStyles, RadioButton_module_default.neutralBorder) }),
938
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
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, import_classnames8.default)(RadioButton_module_default.radioStyleOverride, {
946
- [RadioButton_module_default.smOverride]: size === "sm",
947
- [RadioButton_module_default.mdOverride]: size === "md"
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, import_jsx_runtime13.jsx)(
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 import_react7 = require("react");
977
- var import_classnames9 = __toESM(require_classnames());
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 import_jsx_runtime14 = require("react/jsx-runtime");
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, import_jsx_runtime14.jsx)("option", { "data-testid": dataTestId, value, disabled, children: label });
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 import_jsx_runtime15 = require("react/jsx-runtime");
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, import_react7.useId)();
1231
+ const id = (0, import_react9.useId)();
1016
1232
  const { isFocusVisible: isFocusVisible2 } = useFocusVisible();
1017
- const [isFocused, setIsFocused] = (0, import_react7.useState)(false);
1018
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
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, import_classnames9.default)(SelectList_module_default.selectContainer, {
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, import_jsx_runtime15.jsx)("label", { htmlFor: id, className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Typography_default, { size: 100, color: "gray700", children: label }) }),
1026
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: SelectList_module_default.selectWrapper, children: [
1027
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
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, import_classnames9.default)(SelectList_module_default.selectBox, SelectList_module_default[size], {
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, import_jsx_runtime15.jsx)("option", { disabled: true, value: placeholderText, children: placeholderText }),
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, import_jsx_runtime15.jsx)("div", { className: SelectList_module_default.arrowIcon, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
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, import_jsx_runtime15.jsx)(
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, import_jsx_runtime15.jsx)("div", { className: SelectList_module_default.outerTextContainer, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
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