@arc-ui/components 4.0.1 → 5.0.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
@@ -316,9 +316,9 @@ var Base = function (_a) {
316
316
  return (React__default["default"].createElement("div", __assign({ className: "arc".concat(brand ? " arc-".concat(brand) : "") }, filterDataAttrs(props)), children));
317
317
  };
318
318
 
319
- var defaultContext$2 = { surface: "light" };
320
- var Context$2 = React.createContext(defaultContext$2);
321
- var Provider$3 = Context$2.Provider;
319
+ var defaultContext$3 = { surface: "light" };
320
+ var Context$3 = React.createContext(defaultContext$3);
321
+ var Provider$4 = Context$3.Provider;
322
322
  /**
323
323
  * Use `Surface` to compose content using the Arc system.
324
324
  */
@@ -333,7 +333,7 @@ var Surface = function (_a) {
333
333
  background === "darker") {
334
334
  surface = "dark";
335
335
  }
336
- return (React__default["default"].createElement(Provider$3, { value: { surface: surface } },
336
+ return (React__default["default"].createElement(Provider$4, { value: { surface: surface } },
337
337
  React__default["default"].createElement("div", __assign({ className: classNames((_b = {
338
338
  "arc-Surface": true
339
339
  },
@@ -365,7 +365,7 @@ __spreadArray([], backgroundsShared, true);
365
365
  var BrandLogo = function (_a) {
366
366
  var _b;
367
367
  var _c = _a.color, color = _c === void 0 ? "auto" : _c, label = _a.label, _d = _a.size, size = _d === void 0 ? 34 : _d, subBrand = _a.subBrand, props = __rest(_a, ["color", "label", "size", "subBrand"]);
368
- var surface = React.useContext(Context$2).surface;
368
+ var surface = React.useContext(Context$3).surface;
369
369
  return (React__default["default"].createElement("div", __assign({ className: classNames((_b = {
370
370
  "arc-BrandLogo": true,
371
371
  "arc-BrandLogo--colorBrand": color === "brand",
@@ -643,7 +643,7 @@ const iconsSelected = [
643
643
  var Icon = function (_a) {
644
644
  var _b;
645
645
  var _c = _a.color, color = _c === void 0 ? "auto" : _c, icon = _a.icon, _d = _a.isInline, isInline = _d === void 0 ? false : _d, _e = _a.isSelected, isSelected = _e === void 0 ? false : _e, label = _a.label, size = _a.size, props = __rest(_a, ["color", "icon", "isInline", "isSelected", "label", "size"]);
646
- var surface = React.useContext(Context$2).surface;
646
+ var surface = React.useContext(Context$3).surface;
647
647
  return (React__default["default"].createElement("span", __assign({ "aria-label": label, className: classNames((_b = {},
648
648
  _b["arc-Icon"] = true,
649
649
  _b[suffixModifier("arc-Icon--color", color)] = color !== "auto",
@@ -661,8 +661,8 @@ var Icon = function (_a) {
661
661
  */
662
662
  var Button = React.forwardRef(function (_a, ref) {
663
663
  var _b;
664
- var ariaLabel = _a.ariaLabel, _c = _a.fill, fill = _c === void 0 ? "solid" : _c, href = _a.href, icon = _a.icon, _d = _a.iconPosition, iconPosition = _d === void 0 ? "afterText" : _d, id = _a.id, _e = _a.isDisabled, isDisabled = _e === void 0 ? false : _e, _f = _a.isDisplayBlock, isDisplayBlock = _f === void 0 ? false : _f, _g = _a.isFullWidth, isFullWidth = _g === void 0 ? false : _g, label = _a.label, onClick = _a.onClick, rel = _a.rel, target = _a.target, type = _a.type, props = __rest(_a, ["ariaLabel", "fill", "href", "icon", "iconPosition", "id", "isDisabled", "isDisplayBlock", "isFullWidth", "label", "onClick", "rel", "target", "type"]);
665
- var surface = React.useContext(Context$2).surface;
664
+ var ariaLabel = _a.ariaLabel, _c = _a.fill, fill = _c === void 0 ? "solid" : _c, href = _a.href, icon = _a.icon, _d = _a.iconPosition, iconPosition = _d === void 0 ? "afterText" : _d, id = _a.id, _e = _a.isDisabled, isDisabled = _e === void 0 ? false : _e, _f = _a.isDisplayBlock, isDisplayBlock = _f === void 0 ? false : _f, _g = _a.isFullWidth, isFullWidth = _g === void 0 ? false : _g, label = _a.label, onClick = _a.onClick, rel = _a.rel, supportingText = _a.supportingText, target = _a.target, type = _a.type, props = __rest(_a, ["ariaLabel", "fill", "href", "icon", "iconPosition", "id", "isDisabled", "isDisplayBlock", "isFullWidth", "label", "onClick", "rel", "supportingText", "target", "type"]);
665
+ var surface = React.useContext(Context$3).surface;
666
666
  var buttonClasses = classNames((_b = {
667
667
  "arc-Button": true,
668
668
  "arc-Button--displayBlock": isDisplayBlock
@@ -672,19 +672,23 @@ var Button = React.forwardRef(function (_a, ref) {
672
672
  _b[suffixModifier("arc-Button--icon", iconPosition.replace("icon", ""))] = (icon || fill === "flat") &&
673
673
  iconPosition &&
674
674
  iconPosition !== "afterText",
675
+ _b["arc-Button--hasSupportingText"] = supportingText,
675
676
  _b["arc-Button--onDarkSurface"] = surface === "dark",
676
677
  _b));
677
678
  var commonProps = __assign({ id: id, onClick: onClick, ref: ref }, filterDataAttrs(props));
679
+ var buttonText = supportingText ? (React__default["default"].createElement("span", null,
680
+ React__default["default"].createElement("span", { className: "arc-Button-text" }, label),
681
+ React__default["default"].createElement("span", { className: "arc-Button-supportingText" }, supportingText))) : (React__default["default"].createElement("span", { className: "arc-Button-text" }, label));
678
682
  var buttonIcon = icon || fill === "flat" ? (React__default["default"].createElement(ButtonIcon, { icon: icon, isChevron: !icon && fill === "flat", isBeforeText: iconPosition === "beforeText" })) : null;
679
683
  if (href && !isDisabled) {
680
684
  return (React__default["default"].createElement("a", __assign({}, commonProps, { "aria-label": ariaLabel, className: buttonClasses, href: href, rel: rel, target: target }),
681
685
  React__default["default"].createElement("span", { className: "arc-Button-inner" },
682
- React__default["default"].createElement("span", { className: "arc-Button-text" }, label),
686
+ buttonText,
683
687
  buttonIcon)));
684
688
  }
685
689
  return (React__default["default"].createElement("button", __assign({}, commonProps, { "aria-label": ariaLabel, className: buttonClasses, disabled: isDisabled, type: type }),
686
690
  React__default["default"].createElement("span", { className: "arc-Button-inner" },
687
- React__default["default"].createElement("span", { className: "arc-Button-text" }, label),
691
+ buttonText,
688
692
  buttonIcon)));
689
693
  });
690
694
  var ButtonIcon = function (_a) {
@@ -717,7 +721,7 @@ var Image = function (_a) {
717
721
  var Heading = function (_a) {
718
722
  var _b;
719
723
  var _c = _a.align, align = _c === void 0 ? "left" : _c, _d = _a.casing, casing = _d === void 0 ? "auto" : _d, children = _a.children, _e = _a.color, color = _e === void 0 ? "auto" : _e, level = _a.level, size = _a.size, _f = _a.typeface, typeface = _f === void 0 ? "default" : _f, props = __rest(_a, ["align", "casing", "children", "color", "level", "size", "typeface"]);
720
- var surface = React.useContext(Context$2).surface;
724
+ var surface = React.useContext(Context$3).surface;
721
725
  var Element = "span";
722
726
  if (level) {
723
727
  Element = "h".concat(level);
@@ -861,7 +865,7 @@ var useNumericInput = function (props) {
861
865
  var Card = function (_a) {
862
866
  var _b;
863
867
  var actionId = _a.actionId, _c = _a.actionLabel, actionLabel = _c === void 0 ? "Read more" : _c, children = _a.children, _d = _a.fill, fill = _d === void 0 ? "solid" : _d, href = _a.href, imageAlt = _a.imageAlt, imageSrc = _a.imageSrc, imageSrcSet = _a.imageSrcSet, imageHeight = _a.imageHeight, minHeight = _a.minHeight, target = _a.target, title = _a.title, _e = _a.titleSize, titleSize = _e === void 0 ? "s" : _e, props = __rest(_a, ["actionId", "actionLabel", "children", "fill", "href", "imageAlt", "imageSrc", "imageSrcSet", "imageHeight", "minHeight", "target", "title", "titleSize"]);
864
- var surface = React.useContext(Context$2).surface;
868
+ var surface = React.useContext(Context$3).surface;
865
869
  var interactionMode = useInteractionMode().interactionMode;
866
870
  var Wrapper = function (_a) {
867
871
  var children = _a.children;
@@ -920,7 +924,7 @@ Card.Image = CardImage;
920
924
  */
921
925
  var CardLink = function (_a) {
922
926
  var actionId = _a.actionId, isButton = _a.isButton, children = _a.children, fill = _a.fill, href = _a.href, stretch = _a.stretch, target = _a.target;
923
- var surface = React.useContext(Context$2).surface;
927
+ var surface = React.useContext(Context$3).surface;
924
928
  return (React__default["default"].createElement("a", { "aria-describedby": actionId, className: classNames({
925
929
  "arc-CardLink": true,
926
930
  "arc-CardLink--button": isButton,
@@ -932,38 +936,89 @@ var CardLink = function (_a) {
932
936
  React__default["default"].createElement(Icon, { icon: "btChevronRight2px", size: 8 })))));
933
937
  };
934
938
 
939
+ var defaultContext$2 = {
940
+ requirementStatus: null
941
+ };
942
+ var Context$2 = React.createContext(defaultContext$2);
943
+ var Provider$3 = Context$2.Provider;
944
+ /**
945
+ * Use `FormControl` to provide inputs with labels, helper text and error messages
946
+ */
947
+ var FormControl = function (_a) {
948
+ var children = _a.children, _b = _a.elementType, ElementType = _b === void 0 ? "div" : _b, errorMessage = _a.errorMessage, helper = _a.helper, htmlFor = _a.htmlFor, id = _a.id, label = _a.label, _c = _a.labelSize, labelSize = _c === void 0 ? "l" : _c, _d = _a.requirementStatus, requirementStatus = _d === void 0 ? "optional" : _d, props = __rest(_a, ["children", "elementType", "errorMessage", "helper", "htmlFor", "id", "label", "labelSize", "requirementStatus"]);
949
+ var surface = React.useContext(Context$3).surface;
950
+ var _e = useAriaDescribedby({
951
+ errorMessage: errorMessage,
952
+ helper: helper,
953
+ id: htmlFor || id // `htmlFor` is preference to keep this deterministic with TextInput
954
+ }), ariaDescribedby = _e.ariaDescribedby, idError = _e.idError, idHelper = _e.idHelper;
955
+ var LabelType = ElementType === "div" ? "label" : "legend";
956
+ var elementProps = {};
957
+ var labelProps = {};
958
+ if (LabelType === "label") {
959
+ labelProps["htmlFor"] = htmlFor;
960
+ if (htmlFor) {
961
+ labelProps["id"] = "".concat(htmlFor, "-label");
962
+ }
963
+ else if (id) {
964
+ labelProps["id"] = "".concat(id, "-label");
965
+ }
966
+ }
967
+ else {
968
+ elementProps["aria-describedby"] = ariaDescribedby;
969
+ }
970
+ return (React__default["default"].createElement(Provider$3, { value: { requirementStatus: requirementStatus } },
971
+ React__default["default"].createElement(ElementType, __assign({ className: classNames({
972
+ "arc-FormControl": true,
973
+ "arc-FormControl--smallLabel": labelSize === "s",
974
+ "arc-FormControl--onDarkSurface": surface === "dark"
975
+ }), id: id }, elementProps, filterDataAttrs(props)),
976
+ React__default["default"].createElement(LabelType, __assign({ className: "arc-FormControl-label" }, labelProps),
977
+ label,
978
+ " ",
979
+ requirementStatus === "optional" && (React__default["default"].createElement("span", { className: "arc-FormControl-labelOptional" }, "(optional)"))),
980
+ helper && (React__default["default"].createElement("div", { className: "arc-FormControl-helper", id: idHelper }, helper)),
981
+ children,
982
+ errorMessage && (React__default["default"].createElement("div", { className: "arc-FormControl-error", id: idError }, errorMessage)))));
983
+ };
984
+
935
985
  /**
936
986
  * Use `Checkbox` to allow users to select individual options.
937
987
  */
938
988
  var Checkbox = React.forwardRef(function (_a, ref) {
939
- var errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, _b = _a.isChecked, isChecked = _b === void 0 ? false : _b, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isRequired, isRequired = _d === void 0 ? false : _d, label = _a.label, name = _a.name, onChange = _a.onChange, value = _a.value, props = __rest(_a, ["errorMessage", "helper", "id", "isChecked", "isDisabled", "isRequired", "label", "name", "onChange", "value"]);
940
- var surface = React.useContext(Context$2).surface;
941
- var _e = useAriaDescribedby({
989
+ var _b = _a.checked, checked = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isRequired, isRequired = _d === void 0 ? false : _d, label = _a.label, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, _e = _a.size, size = _e === void 0 ? "l" : _e, value = _a.value, props = __rest(_a, ["checked", "errorMessage", "helper", "id", "isDisabled", "isRequired", "label", "name", "onBlur", "onChange", "size", "value"]);
990
+ var requirementStatus = React.useContext(Context$2).requirementStatus;
991
+ var surface = React.useContext(Context$3).surface;
992
+ var _f = useAriaDescribedby({
942
993
  id: id,
943
- errorMessage: errorMessage,
944
- helper: helper
945
- }), ariaDescribedby = _e.ariaDescribedby, idHelper = _e.idHelper, idError = _e.idError;
994
+ errorMessage: errorMessage
995
+ }), ariaDescribedby = _f.ariaDescribedby, idError = _f.idError;
946
996
  var idLabel = "".concat(id, "-label");
947
997
  var checkedProps = {};
948
998
  if (typeof onChange === "function") {
949
- checkedProps.checked = isChecked;
999
+ checkedProps.checked = checked;
950
1000
  }
951
- else if (isChecked && !onChange) {
1001
+ else if (checked && !onChange) {
952
1002
  checkedProps.defaultChecked = true;
953
1003
  }
1004
+ if (requirementStatus === "required") {
1005
+ isRequired = true;
1006
+ }
954
1007
  return (React__default["default"].createElement("div", { className: classNames({
955
1008
  "arc-Checkbox": true,
956
1009
  "arc-Checkbox--disabled": isDisabled,
957
1010
  "arc-Checkbox--invalid": errorMessage,
1011
+ "arc-Checkbox--small": size === "s",
958
1012
  "arc-Checkbox--onDarkSurface": surface === "dark"
959
1013
  }) },
960
1014
  React__default["default"].createElement("label", { id: idLabel, htmlFor: id, className: "arc-Checkbox-label" },
961
- React__default["default"].createElement("input", __assign({ "aria-describedby": ariaDescribedby, "aria-disabled": isDisabled, "aria-invalid": errorMessage ? "true" : "false", "aria-required": isRequired ? "true" : undefined, className: "arc-Checkbox-input" }, checkedProps, { disabled: isDisabled, id: id, name: name, onChange: onChange, ref: ref, required: isRequired, type: "checkbox", value: value }, filterDataAttrs(props))),
1015
+ React__default["default"].createElement("input", __assign({ "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", className: "arc-Checkbox-input" }, checkedProps, { disabled: isDisabled, id: id, name: name, onBlur: onBlur, onChange: onChange, ref: ref, required: isRequired, type: "checkbox", value: value }, filterDataAttrs(props))),
962
1016
  React__default["default"].createElement("span", { className: "arc-Checkbox-box" }),
963
1017
  React__default["default"].createElement("span", null,
964
1018
  label,
965
- !isRequired && " (Optional)")),
966
- helper && (React__default["default"].createElement("div", { id: idHelper, className: "arc-Checkbox-helper" }, helper)),
1019
+ " ",
1020
+ !isRequired && requirementStatus !== "optional" ? (React__default["default"].createElement("span", { className: "arc-Checkbox-labelOptional" }, "(optional)")) : null,
1021
+ helper && React__default["default"].createElement("span", { className: "arc-Checkbox-helper" }, helper))),
967
1022
  errorMessage && (React__default["default"].createElement("div", { id: idError, className: "arc-Checkbox-error" }, errorMessage))));
968
1023
  });
969
1024
 
@@ -1066,7 +1121,7 @@ var Curve = function (_a) {
1066
1121
  */
1067
1122
  var Disclosure = function (_a) {
1068
1123
  var children = _a.children, headingLevel = _a.headingLevel, _b = _a.indentDetails, indentDetails = _b === void 0 ? false : _b, _c = _a.isOpen, isOpen = _c === void 0 ? false : _c, summary = _a.summary, props = __rest(_a, ["children", "headingLevel", "indentDetails", "isOpen", "summary"]);
1069
- var surface = React.useContext(Context$2).surface;
1124
+ var surface = React.useContext(Context$3).surface;
1070
1125
  return (React__default["default"].createElement("details", __assign({ className: classNames({
1071
1126
  "arc-Disclosure": true,
1072
1127
  "arc-Disclosure--indentDetails": indentDetails,
@@ -1089,53 +1144,13 @@ var Elevation = function (_a) {
1089
1144
  _b)) }, filterDataAttrs(props)), children));
1090
1145
  };
1091
1146
 
1092
- /**
1093
- * Use `FormControl` to provide inputs with labels, helper text and error messages
1094
- */
1095
- var FormControl = function (_a) {
1096
- var children = _a.children, _b = _a.elementType, ElementType = _b === void 0 ? "div" : _b, errorMessage = _a.errorMessage, helper = _a.helper, htmlFor = _a.htmlFor, id = _a.id, _c = _a.isRequired, isRequired = _c === void 0 ? false : _c, label = _a.label, _d = _a.labelSize, labelSize = _d === void 0 ? "l" : _d, props = __rest(_a, ["children", "elementType", "errorMessage", "helper", "htmlFor", "id", "isRequired", "label", "labelSize"]);
1097
- var surface = React.useContext(Context$2).surface;
1098
- var _e = useAriaDescribedby({
1099
- errorMessage: errorMessage,
1100
- helper: helper,
1101
- id: htmlFor || id // `htmlFor` is preference to keep this deterministic with TextInput
1102
- }), ariaDescribedby = _e.ariaDescribedby, idError = _e.idError, idHelper = _e.idHelper;
1103
- var LabelType = ElementType === "div" ? "label" : "legend";
1104
- var elementProps = {};
1105
- var labelProps = {};
1106
- if (LabelType === "label") {
1107
- labelProps["htmlFor"] = htmlFor;
1108
- if (htmlFor) {
1109
- labelProps["id"] = "".concat(htmlFor, "-label");
1110
- }
1111
- else if (id) {
1112
- labelProps["id"] = "".concat(id, "-label");
1113
- }
1114
- }
1115
- else {
1116
- elementProps["aria-describedby"] = ariaDescribedby;
1117
- }
1118
- return (React__default["default"].createElement(ElementType, __assign({ className: classNames({
1119
- "arc-FormControl": true,
1120
- "arc-FormControl--smallLabel": labelSize === "s",
1121
- "arc-FormControl--onDarkSurface": surface === "dark"
1122
- }), id: id }, elementProps, filterDataAttrs(props)),
1123
- React__default["default"].createElement(LabelType, __assign({ className: "arc-FormControl-label" }, labelProps),
1124
- label,
1125
- " ",
1126
- !isRequired && (React__default["default"].createElement("span", { className: "arc-FormControl-labelOptional" }, "(Optional)"))),
1127
- helper && (React__default["default"].createElement("div", { className: "arc-FormControl-helper", id: idHelper }, helper)),
1128
- children,
1129
- errorMessage && (React__default["default"].createElement("div", { className: "arc-FormControl-error", id: idError }, errorMessage))));
1130
- };
1131
-
1132
1147
  /**
1133
1148
  * Use `Group` to arrange flexible items in a row.
1134
1149
  */
1135
1150
  var Group = function (_a) {
1136
1151
  var _b;
1137
1152
  var children = _a.children, _c = _a.grow, grow = _c === void 0 ? false : _c, _d = _a.growEqual, growEqual = _d === void 0 ? false : _d, _e = _a.gutterBorder, gutterBorder = _e === void 0 ? false : _e, _f = _a.noWrap, noWrap = _f === void 0 ? false : _f, props = __rest(_a, ["children", "grow", "growEqual", "gutterBorder", "noWrap"]);
1138
- var surface = React.useContext(Context$2).surface;
1153
+ var surface = React.useContext(Context$3).surface;
1139
1154
  React.useEffect(function () {
1140
1155
  React__default["default"].Children.map(children, function (item) {
1141
1156
  if (item && item.type !== GroupItem) {
@@ -1170,7 +1185,7 @@ Group.Item = GroupItem;
1170
1185
  */
1171
1186
  var Markup = function (_a) {
1172
1187
  var children = _a.children, _b = _a.isMeasured, isMeasured = _b === void 0 ? false : _b, props = __rest(_a, ["children", "isMeasured"]);
1173
- var surface = React.useContext(Context$2).surface;
1188
+ var surface = React.useContext(Context$3).surface;
1174
1189
  return (React__default["default"].createElement("div", __assign({ className: classNames({
1175
1190
  "arc-Markup": true,
1176
1191
  "arc-Markup--measured": isMeasured,
@@ -1252,60 +1267,50 @@ var useRadioContext = function () {
1252
1267
  * Radio Button component.
1253
1268
  */
1254
1269
  var RadioButton = React.forwardRef(function (_a, ref) {
1255
- var helper = _a.helper, id = _a.id, label = _a.label, value = _a.value, props = __rest(_a, ["helper", "id", "label", "value"]);
1256
- var _b = useRadioContext(), isDisabled = _b.isDisabled, isInvalid = _b.isInvalid, isRequired = _b.isRequired, isChecked = _b.isChecked, name = _b.name, changeEvent = _b.changeEvent, errorMessage = _b.errorMessage, errorId = _b.errorId;
1257
- var surface = React.useContext(Context$2).surface;
1258
- var _c = useAriaDescribedby({
1259
- id: id,
1260
- idError: "".concat(errorId, "-error"),
1261
- helper: helper,
1262
- errorMessage: errorMessage
1263
- }), ariaDescribedby = _c.ariaDescribedby, idHelper = _c.idHelper;
1270
+ var helper = _a.helper, id = _a.id, isDisabled = _a.isDisabled, label = _a.label, value = _a.value, props = __rest(_a, ["helper", "id", "isDisabled", "label", "value"]);
1271
+ var _b = useRadioContext(), blurEvent = _b.blurEvent, changeEvent = _b.changeEvent, groupDisabled = _b.groupDisabled, isChecked = _b.isChecked, labelSize = _b.labelSize, name = _b.name, size = _b.size;
1272
+ var surface = React.useContext(Context$3).surface;
1264
1273
  var idLabel = "".concat(id, "-label");
1265
1274
  var checked = isChecked === value ? true : false;
1266
- var disabled = isDisabled ? isDisabled : false;
1267
1275
  return (React__default["default"].createElement("div", __assign({ className: classNames({
1268
1276
  "arc-RadioButton": true,
1269
- "arc-RadioButton--checked": isChecked,
1270
- "arc-RadioButton--disabled": disabled,
1271
- "arc-RadioButton--invalid": isInvalid,
1272
- "arc-RadioButton--required": isRequired,
1277
+ "arc-RadioButton--disabled": isDisabled || groupDisabled,
1278
+ "arc-RadioButton--small": size === "s",
1279
+ "arc-RadioButton--smallLabel": labelSize === "s",
1273
1280
  "arc-RadioButton--onDarkSurface": surface === "dark"
1274
1281
  }) }, filterDataAttrs(props)),
1275
- React__default["default"].createElement("input", { "aria-describedby": ariaDescribedby, "aria-disabled": disabled, className: "arc-RadioButton-input", defaultChecked: checked, disabled: isDisabled, id: id, name: name, onChange: changeEvent, ref: ref, required: isRequired, type: "radio", value: value }),
1276
- React__default["default"].createElement("label", { className: "arc-RadioButton-label", htmlFor: id, id: idLabel }, label),
1277
- helper && (React__default["default"].createElement("p", { className: "arc-RadioButton-helper", id: idHelper }, helper))));
1282
+ React__default["default"].createElement("label", { className: "arc-RadioButton-label", htmlFor: id, id: idLabel },
1283
+ React__default["default"].createElement("input", { className: "arc-RadioButton-input", checked: typeof changeEvent !== "function" ? undefined : checked, defaultChecked: typeof changeEvent !== "function" ? checked : undefined, disabled: isDisabled || groupDisabled, id: id, name: name, onBlur: blurEvent, onChange: changeEvent, ref: ref, type: "radio", value: value }),
1284
+ React__default["default"].createElement("span", null,
1285
+ label,
1286
+ helper && React__default["default"].createElement("span", { className: "arc-RadioButton-helper" }, helper)))));
1278
1287
  });
1279
1288
 
1280
1289
  /**
1281
1290
  * Use `RadioGroup` to wrap and control radio buttons and apply default values
1282
1291
  */
1283
1292
  var RadioGroup = function (_a) {
1284
- var children = _a.children, defaultValue = _a.defaultValue, _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = _a.isRequired, isRequired = _c === void 0 ? false : _c, errorMessage = _a.errorMessage, id = _a.id, helper = _a.helper, label = _a.label, name = _a.name, onChange = _a.onChange, props = __rest(_a, ["children", "defaultValue", "isDisabled", "isRequired", "errorMessage", "id", "helper", "label", "name", "onChange"]);
1293
+ var children = _a.children, defaultValue = _a.defaultValue, _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, id = _a.id, helper = _a.helper, label = _a.label, _c = _a.labelSize, labelSize = _c === void 0 ? "l" : _c, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, _d = _a.size, size = _d === void 0 ? "l" : _d, props = __rest(_a, ["children", "defaultValue", "isDisabled", "id", "helper", "label", "labelSize", "name", "onBlur", "onChange", "size"]);
1285
1294
  return (React__default["default"].createElement(Provider$2, { value: {
1295
+ blurEvent: onBlur,
1296
+ changeEvent: onChange,
1297
+ groupDisabled: isDisabled,
1286
1298
  isChecked: defaultValue,
1287
- isRequired: isRequired,
1288
- isDisabled: isDisabled,
1289
- isInvalid: errorMessage ? true : false,
1290
- errorId: id,
1291
- errorMessage: errorMessage,
1299
+ labelSize: labelSize,
1292
1300
  name: name,
1293
- changeEvent: onChange
1301
+ size: size
1294
1302
  } },
1295
- React__default["default"].createElement(FormControl, { elementType: "fieldset", label: label, errorMessage: errorMessage, helper: helper, isRequired: isRequired, id: id },
1296
- React__default["default"].createElement("div", __assign({ className: classNames({
1297
- "arc-RadioGroup": true,
1298
- "arc-RadioGroup--invalid": errorMessage,
1299
- "arc-RadioGroup--disabled": isDisabled
1300
- }) }, filterDataAttrs(props)), children))));
1303
+ React__default["default"].createElement("div", __assign({ className: "arc-RadioGroup" }, filterDataAttrs(props)),
1304
+ React__default["default"].createElement(FormControl, { elementType: "fieldset", label: label, labelSize: labelSize, helper: helper, id: id, requirementStatus: "not-applicable" }, children))));
1301
1305
  };
1306
+ RadioButton.displayName = "RadioGroup.RadioButton";
1302
1307
  RadioGroup.RadioButton = RadioButton;
1303
1308
 
1304
1309
  /**
1305
1310
  * Use `Rule` to display a horizontal rule.
1306
1311
  */
1307
1312
  var Rule = function (props) {
1308
- var surface = React.useContext(Context$2).surface;
1313
+ var surface = React.useContext(Context$3).surface;
1309
1314
  return (React__default["default"].createElement("hr", __assign({ className: classNames({
1310
1315
  "arc-Rule": true,
1311
1316
  "arc-Rule--onDarkSurface": surface === "dark"
@@ -1977,7 +1982,7 @@ SiteHeaderRehydrator.SubNavItemRehydrator = SubNavItemRehydrator;
1977
1982
  var Text = function (_a) {
1978
1983
  var _b;
1979
1984
  var _c = _a.align, align = _c === void 0 ? "left" : _c, children = _a.children, _d = _a.isInline, isInline = _d === void 0 ? false : _d, _e = _a.isMeasured, isMeasured = _e === void 0 ? false : _e, _f = _a.size, size = _f === void 0 ? "m" : _f, _g = _a.tone, tone = _g === void 0 ? "default" : _g, props = __rest(_a, ["align", "children", "isInline", "isMeasured", "size", "tone"]);
1980
- var surface = React.useContext(Context$2).surface;
1985
+ var surface = React.useContext(Context$3).surface;
1981
1986
  return (React__default["default"].createElement("span", __assign({ className: classNames((_b = {
1982
1987
  "arc-Text": true
1983
1988
  },
@@ -1994,8 +1999,8 @@ var Text = function (_a) {
1994
1999
  * Use `TextInput` to allow custom user text entry with a keyboard.
1995
2000
  */
1996
2001
  var TextInput = React.forwardRef(function (_a, ref) {
1997
- var _b = _a.defaultValue, defaultValue = _b === void 0 ? "" : _b, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, inputMode = _a.inputMode, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isReadOnly, isReadOnly = _d === void 0 ? false : _d, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, label = _a.label, _f = _a.labelSize, labelSize = _f === void 0 ? "l" : _f, maxLength = _a.maxLength, minLength = _a.minLength, name = _a.name, onChange = _a.onChange, pattern = _a.pattern, _g = _a.type, type = _g === void 0 ? "text" : _g, value = _a.value, props = __rest(_a, ["defaultValue", "errorMessage", "helper", "id", "inputMode", "isDisabled", "isReadOnly", "isRequired", "label", "labelSize", "maxLength", "minLength", "name", "onChange", "pattern", "type", "value"]);
1998
- var surface = React.useContext(Context$2).surface;
2002
+ var _b = _a.defaultValue, defaultValue = _b === void 0 ? "" : _b, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, inputMode = _a.inputMode, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isReadOnly, isReadOnly = _d === void 0 ? false : _d, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, label = _a.label, _f = _a.labelSize, labelSize = _f === void 0 ? "l" : _f, maxLength = _a.maxLength, minLength = _a.minLength, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, pattern = _a.pattern, _g = _a.type, type = _g === void 0 ? "text" : _g, value = _a.value, props = __rest(_a, ["defaultValue", "errorMessage", "helper", "id", "inputMode", "isDisabled", "isReadOnly", "isRequired", "label", "labelSize", "maxLength", "minLength", "name", "onBlur", "onChange", "pattern", "type", "value"]);
2003
+ var surface = React.useContext(Context$3).surface;
1999
2004
  var inferredInputProps = useNumericInput({ inputMode: inputMode, pattern: pattern, type: type });
2000
2005
  // Although this is used within FormControlWrapper, it's deterministic so we can call it here too
2001
2006
  var ariaDescribedby = useAriaDescribedby({
@@ -2008,8 +2013,8 @@ var TextInput = React.forwardRef(function (_a, ref) {
2008
2013
  "arc-TextInput--invalid": errorMessage,
2009
2014
  "arc-TextInput--onDarkSurface": surface === "dark"
2010
2015
  }) }, filterDataAttrs(props)),
2011
- React__default["default"].createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, isRequired: isRequired, label: label, labelSize: labelSize },
2012
- React__default["default"].createElement("input", __assign({ "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", "aria-required": isRequired ? "true" : undefined, className: "arc-TextInput-input", defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, id: id, maxLength: maxLength, minLength: minLength, name: name, onChange: onChange, readOnly: isReadOnly, ref: ref, required: isRequired, value: typeof value !== "undefined" ? value : undefined }, inferredInputProps)))));
2016
+ React__default["default"].createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional" },
2017
+ React__default["default"].createElement("input", __assign({ "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", className: "arc-TextInput-input", defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, id: id, maxLength: maxLength, minLength: minLength, name: name, onChange: onChange, onBlur: onBlur, readOnly: isReadOnly, ref: ref, required: isRequired, value: typeof value !== "undefined" ? value : undefined }, inferredInputProps)))));
2013
2018
  });
2014
2019
 
2015
2020
  /**
@@ -2053,7 +2058,7 @@ exports.SiteFooterRehydrator = SiteFooter_rehydrator;
2053
2058
  exports.SiteHeader = SiteHeader;
2054
2059
  exports.SiteHeaderRehydrator = SiteHeaderRehydrator;
2055
2060
  exports.Surface = Surface;
2056
- exports.SurfaceContext = Context$2;
2061
+ exports.SurfaceContext = Context$3;
2057
2062
  exports.Text = Text;
2058
2063
  exports.TextInput = TextInput;
2059
2064
  exports.UniversalHeader = UniversalHeader;