@arc-ui/components 11.1.0 → 11.2.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/Select/Select.cjs.js +207 -606
- package/dist/Select/Select.esm.js +43 -442
- package/dist/Switch/Switch.cjs.d.ts +40 -0
- package/dist/Switch/Switch.cjs.js +210 -0
- package/dist/Switch/Switch.esm.d.ts +40 -0
- package/dist/Switch/Switch.esm.js +202 -0
- package/dist/Switch/package.json +7 -0
- package/dist/VerticalSpace/VerticalSpace.cjs.d.ts +1 -18
- package/dist/VerticalSpace/VerticalSpace.cjs.js +5 -20
- package/dist/VerticalSpace/VerticalSpace.esm.d.ts +1 -18
- package/dist/VerticalSpace/VerticalSpace.esm.js +4 -19
- package/dist/_shared/cjs/BtIconTickAlt2Px-b12ecc78.js +425 -0
- package/dist/_shared/cjs/VerticalSpace-65ad083c.d.ts +18 -0
- package/dist/_shared/cjs/VerticalSpace-65ad083c.js +25 -0
- package/dist/_shared/esm/BtIconTickAlt2Px-2c4ec3be.js +408 -0
- package/dist/_shared/esm/VerticalSpace-6b4f5e50.d.ts +18 -0
- package/dist/_shared/esm/VerticalSpace-6b4f5e50.js +19 -0
- package/dist/index.es.js +208 -16
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +208 -15
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/components/Switch/Switch.d.ts +13 -8
- package/dist/types/components/index.d.ts +1 -0
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -35785,6 +35785,10 @@ var Select = function (_a) {
|
|
|
35785
35785
|
onChange && onChange(value);
|
|
35786
35786
|
setSelectedValue(value);
|
|
35787
35787
|
};
|
|
35788
|
+
var getSelectedValueName = function (value) {
|
|
35789
|
+
var _a;
|
|
35790
|
+
return (_a = options.find(function (option) { return option.value === value; })) === null || _a === void 0 ? void 0 : _a.name;
|
|
35791
|
+
};
|
|
35788
35792
|
return (React__default["default"].createElement(FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", isDisabled: isDisabled, disclosureText: disclosureText, disclosureTitle: disclosureTitle, onClickDisclosure: onClickDisclosure },
|
|
35789
35793
|
React__default["default"].createElement($cc7e05a45900e73f$export$be92b6f5f03c0fe9, { name: name, required: isRequired, disabled: isDisabled, defaultOpen: isDefaultOpen, value: selectedValue, onOpenChange: onOpenChange, onValueChange: function (value) { return onValueChange(value); } },
|
|
35790
35794
|
React__default["default"].createElement($cc7e05a45900e73f$export$41fb9f06171c75f4, { id: id, name: name, onBlur: onBlur, className: classNames("arc-Select-trigger", {
|
|
@@ -35792,7 +35796,7 @@ var Select = function (_a) {
|
|
|
35792
35796
|
"arc-Select-trigger--onDarkSurface": surface === "dark",
|
|
35793
35797
|
"arc-Select-trigger--invalid": errorMessage
|
|
35794
35798
|
}) },
|
|
35795
|
-
React__default["default"].createElement($cc7e05a45900e73f$export$4c8d1a57a761ef94, { asChild: true, "aria-label": selectedValue }, !selectedValue ? (React__default["default"].createElement("span", { "aria-hidden": true, className: "arc-Select-placeHolder" }, placeholder)) : (React__default["default"].createElement("span", { className: "arc-Select-valueItem" }, selectedValue))),
|
|
35799
|
+
React__default["default"].createElement($cc7e05a45900e73f$export$4c8d1a57a761ef94, { asChild: true, "aria-label": getSelectedValueName(selectedValue) }, !selectedValue ? (React__default["default"].createElement("span", { "aria-hidden": true, className: "arc-Select-placeHolder" }, placeholder)) : (React__default["default"].createElement("span", { className: "arc-Select-valueItem" }, getSelectedValueName(selectedValue)))),
|
|
35796
35800
|
React__default["default"].createElement($cc7e05a45900e73f$export$f04a61298a47a40f, { className: "arc-Select-triggerIcon" },
|
|
35797
35801
|
React__default["default"].createElement(Icon, { icon: BtIconChevronDown2Px_2, size: 20 }))),
|
|
35798
35802
|
React__default["default"].createElement($cc7e05a45900e73f$export$602eac185826482c, { container: arcRootElement },
|
|
@@ -36542,6 +36546,208 @@ SiteHeaderRehydrator.NavItemRehydrator = NavItemRehydrator;
|
|
|
36542
36546
|
SiteHeaderRehydrator.NavItemWithSubNavRehydrator = NavItemWithSubNavRehydrator;
|
|
36543
36547
|
SiteHeaderRehydrator.SubNavItemRehydrator = SubNavItemRehydrator;
|
|
36544
36548
|
|
|
36549
|
+
function $db6c3485150b8e66$export$1ab7ae714698c4b8(element) {
|
|
36550
|
+
const [size, setSize] = React$a.useState(undefined);
|
|
36551
|
+
$9f79659886946c16$export$e5c5a5f917a5871c(()=>{
|
|
36552
|
+
if (element) {
|
|
36553
|
+
// provide size as early as possible
|
|
36554
|
+
setSize({
|
|
36555
|
+
width: element.offsetWidth,
|
|
36556
|
+
height: element.offsetHeight
|
|
36557
|
+
});
|
|
36558
|
+
const resizeObserver = new ResizeObserver((entries)=>{
|
|
36559
|
+
if (!Array.isArray(entries)) return;
|
|
36560
|
+
// Since we only observe the one element, we don't need to loop over the
|
|
36561
|
+
// array
|
|
36562
|
+
if (!entries.length) return;
|
|
36563
|
+
const entry = entries[0];
|
|
36564
|
+
let width;
|
|
36565
|
+
let height;
|
|
36566
|
+
if ('borderBoxSize' in entry) {
|
|
36567
|
+
const borderSizeEntry = entry['borderBoxSize']; // iron out differences between browsers
|
|
36568
|
+
const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;
|
|
36569
|
+
width = borderSize['inlineSize'];
|
|
36570
|
+
height = borderSize['blockSize'];
|
|
36571
|
+
} else {
|
|
36572
|
+
// for browsers that don't support `borderBoxSize`
|
|
36573
|
+
// we calculate it ourselves to get the correct border box.
|
|
36574
|
+
width = element.offsetWidth;
|
|
36575
|
+
height = element.offsetHeight;
|
|
36576
|
+
}
|
|
36577
|
+
setSize({
|
|
36578
|
+
width: width,
|
|
36579
|
+
height: height
|
|
36580
|
+
});
|
|
36581
|
+
});
|
|
36582
|
+
resizeObserver.observe(element, {
|
|
36583
|
+
box: 'border-box'
|
|
36584
|
+
});
|
|
36585
|
+
return ()=>resizeObserver.unobserve(element)
|
|
36586
|
+
;
|
|
36587
|
+
} else // We only want to reset to `undefined` when the element becomes `null`,
|
|
36588
|
+
// not if it changes to another element.
|
|
36589
|
+
setSize(undefined);
|
|
36590
|
+
}, [
|
|
36591
|
+
element
|
|
36592
|
+
]);
|
|
36593
|
+
return size;
|
|
36594
|
+
}
|
|
36595
|
+
|
|
36596
|
+
/* -------------------------------------------------------------------------------------------------
|
|
36597
|
+
* Switch
|
|
36598
|
+
* -----------------------------------------------------------------------------------------------*/ const $6be4966fd9bbc698$var$SWITCH_NAME = 'Switch';
|
|
36599
|
+
const [$6be4966fd9bbc698$var$createSwitchContext, $6be4966fd9bbc698$export$cf7f5f17f69cbd43] = $c512c27ab02ef895$export$50c7b4e9d9f19c1($6be4966fd9bbc698$var$SWITCH_NAME);
|
|
36600
|
+
const [$6be4966fd9bbc698$var$SwitchProvider, $6be4966fd9bbc698$var$useSwitchContext] = $6be4966fd9bbc698$var$createSwitchContext($6be4966fd9bbc698$var$SWITCH_NAME);
|
|
36601
|
+
const $6be4966fd9bbc698$export$b5d5cf8927ab7262 = /*#__PURE__*/ React$a.forwardRef((props, forwardedRef)=>{
|
|
36602
|
+
const { __scopeSwitch: __scopeSwitch , name: name , checked: checkedProp , defaultChecked: defaultChecked , required: required , disabled: disabled , value: value = 'on' , onCheckedChange: onCheckedChange , ...switchProps } = props;
|
|
36603
|
+
const [button, setButton] = React$a.useState(null);
|
|
36604
|
+
const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, (node)=>setButton(node)
|
|
36605
|
+
);
|
|
36606
|
+
const hasConsumerStoppedPropagationRef = React$a.useRef(false); // We set this to true by default so that events bubble to forms without JS (SSR)
|
|
36607
|
+
const isFormControl = button ? Boolean(button.closest('form')) : true;
|
|
36608
|
+
const [checked = false, setChecked] = $71cd76cc60e0454e$export$6f32135080cb4c3({
|
|
36609
|
+
prop: checkedProp,
|
|
36610
|
+
defaultProp: defaultChecked,
|
|
36611
|
+
onChange: onCheckedChange
|
|
36612
|
+
});
|
|
36613
|
+
return /*#__PURE__*/ React$a.createElement($6be4966fd9bbc698$var$SwitchProvider, {
|
|
36614
|
+
scope: __scopeSwitch,
|
|
36615
|
+
checked: checked,
|
|
36616
|
+
disabled: disabled
|
|
36617
|
+
}, /*#__PURE__*/ React$a.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.button, _extends({
|
|
36618
|
+
type: "button",
|
|
36619
|
+
role: "switch",
|
|
36620
|
+
"aria-checked": checked,
|
|
36621
|
+
"aria-required": required,
|
|
36622
|
+
"data-state": $6be4966fd9bbc698$var$getState(checked),
|
|
36623
|
+
"data-disabled": disabled ? '' : undefined,
|
|
36624
|
+
disabled: disabled,
|
|
36625
|
+
value: value
|
|
36626
|
+
}, switchProps, {
|
|
36627
|
+
ref: composedRefs,
|
|
36628
|
+
onClick: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onClick, (event)=>{
|
|
36629
|
+
setChecked((prevChecked)=>!prevChecked
|
|
36630
|
+
);
|
|
36631
|
+
if (isFormControl) {
|
|
36632
|
+
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped(); // if switch is in a form, stop propagation from the button so that we only propagate
|
|
36633
|
+
// one click event (from the input). We propagate changes from an input so that native
|
|
36634
|
+
// form validation works and form events reflect switch updates.
|
|
36635
|
+
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
|
36636
|
+
}
|
|
36637
|
+
})
|
|
36638
|
+
})), isFormControl && /*#__PURE__*/ React$a.createElement($6be4966fd9bbc698$var$BubbleInput, {
|
|
36639
|
+
control: button,
|
|
36640
|
+
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
36641
|
+
name: name,
|
|
36642
|
+
value: value,
|
|
36643
|
+
checked: checked,
|
|
36644
|
+
required: required,
|
|
36645
|
+
disabled: disabled // We transform because the input is absolutely positioned but we have
|
|
36646
|
+
,
|
|
36647
|
+
style: {
|
|
36648
|
+
transform: 'translateX(-100%)'
|
|
36649
|
+
}
|
|
36650
|
+
}));
|
|
36651
|
+
});
|
|
36652
|
+
/* -------------------------------------------------------------------------------------------------
|
|
36653
|
+
* SwitchThumb
|
|
36654
|
+
* -----------------------------------------------------------------------------------------------*/ const $6be4966fd9bbc698$var$THUMB_NAME = 'SwitchThumb';
|
|
36655
|
+
const $6be4966fd9bbc698$export$4d07bf653ea69106 = /*#__PURE__*/ React$a.forwardRef((props, forwardedRef)=>{
|
|
36656
|
+
const { __scopeSwitch: __scopeSwitch , ...thumbProps } = props;
|
|
36657
|
+
const context = $6be4966fd9bbc698$var$useSwitchContext($6be4966fd9bbc698$var$THUMB_NAME, __scopeSwitch);
|
|
36658
|
+
return /*#__PURE__*/ React$a.createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.span, _extends({
|
|
36659
|
+
"data-state": $6be4966fd9bbc698$var$getState(context.checked),
|
|
36660
|
+
"data-disabled": context.disabled ? '' : undefined
|
|
36661
|
+
}, thumbProps, {
|
|
36662
|
+
ref: forwardedRef
|
|
36663
|
+
}));
|
|
36664
|
+
});
|
|
36665
|
+
/* ---------------------------------------------------------------------------------------------- */ const $6be4966fd9bbc698$var$BubbleInput = (props)=>{
|
|
36666
|
+
const { control: control , checked: checked , bubbles: bubbles = true , ...inputProps } = props;
|
|
36667
|
+
const ref = React$a.useRef(null);
|
|
36668
|
+
const prevChecked = $010c2913dbd2fe3d$export$5cae361ad82dce8b(checked);
|
|
36669
|
+
const controlSize = $db6c3485150b8e66$export$1ab7ae714698c4b8(control); // Bubble checked change to parents (e.g form change event)
|
|
36670
|
+
React$a.useEffect(()=>{
|
|
36671
|
+
const input = ref.current;
|
|
36672
|
+
const inputProto = window.HTMLInputElement.prototype;
|
|
36673
|
+
const descriptor = Object.getOwnPropertyDescriptor(inputProto, 'checked');
|
|
36674
|
+
const setChecked = descriptor.set;
|
|
36675
|
+
if (prevChecked !== checked && setChecked) {
|
|
36676
|
+
const event = new Event('click', {
|
|
36677
|
+
bubbles: bubbles
|
|
36678
|
+
});
|
|
36679
|
+
setChecked.call(input, checked);
|
|
36680
|
+
input.dispatchEvent(event);
|
|
36681
|
+
}
|
|
36682
|
+
}, [
|
|
36683
|
+
prevChecked,
|
|
36684
|
+
checked,
|
|
36685
|
+
bubbles
|
|
36686
|
+
]);
|
|
36687
|
+
return /*#__PURE__*/ React$a.createElement("input", _extends({
|
|
36688
|
+
type: "checkbox",
|
|
36689
|
+
"aria-hidden": true,
|
|
36690
|
+
defaultChecked: checked
|
|
36691
|
+
}, inputProps, {
|
|
36692
|
+
tabIndex: -1,
|
|
36693
|
+
ref: ref,
|
|
36694
|
+
style: {
|
|
36695
|
+
...props.style,
|
|
36696
|
+
...controlSize,
|
|
36697
|
+
position: 'absolute',
|
|
36698
|
+
pointerEvents: 'none',
|
|
36699
|
+
opacity: 0,
|
|
36700
|
+
margin: 0
|
|
36701
|
+
}
|
|
36702
|
+
}));
|
|
36703
|
+
};
|
|
36704
|
+
function $6be4966fd9bbc698$var$getState(checked) {
|
|
36705
|
+
return checked ? 'checked' : 'unchecked';
|
|
36706
|
+
}
|
|
36707
|
+
const $6be4966fd9bbc698$export$be92b6f5f03c0fe9 = $6be4966fd9bbc698$export$b5d5cf8927ab7262;
|
|
36708
|
+
const $6be4966fd9bbc698$export$6521433ed15a34db = $6be4966fd9bbc698$export$4d07bf653ea69106;
|
|
36709
|
+
|
|
36710
|
+
/**
|
|
36711
|
+
* Use `VerticalSpace` to create vertical space between components.
|
|
36712
|
+
*/
|
|
36713
|
+
var VerticalSpace = function (_a) {
|
|
36714
|
+
var _b;
|
|
36715
|
+
var _c = _a.isDebugVisible, isDebugVisible = _c === void 0 ? false : _c, _d = _a.size, size = _d === void 0 ? "24" : _d, props = __rest$2(_a, ["isDebugVisible", "size"]);
|
|
36716
|
+
return (React__default["default"].createElement("div", __assign$2({ className: classNames((_b = {
|
|
36717
|
+
"arc-VerticalSpace": true
|
|
36718
|
+
},
|
|
36719
|
+
_b["arc-VerticalSpace--size".concat(size)] = size && size !== "24",
|
|
36720
|
+
_b["arc-VerticalSpace--debugVisible"] = isDebugVisible,
|
|
36721
|
+
_b)) }, filterDataAttrs(props))));
|
|
36722
|
+
};
|
|
36723
|
+
|
|
36724
|
+
/** Use `Switch` to toggle between checked and not checked. */
|
|
36725
|
+
var Switch = function (_a) {
|
|
36726
|
+
var defaultChecked = _a.defaultChecked, onCheckedChange = _a.onCheckedChange, label = _a.label, name = _a.name, onBlur = _a.onBlur, value = _a.value, _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, id = _a.id, _c = _a.labelSize, labelSize = _c === void 0 ? "s" : _c, statusText = _a.statusText, _d = _a.hideLabel, hideLabel = _d === void 0 ? false : _d;
|
|
36727
|
+
var surface = React$a.useContext(Context$3).surface;
|
|
36728
|
+
return (React__default["default"].createElement(FormControl, { errorMessage: errorMessage, htmlFor: id, isDisabled: isDisabled, label: hideLabel ? "" : label, labelSize: labelSize, requirementStatus: "not-applicable" },
|
|
36729
|
+
!hideLabel && React__default["default"].createElement(VerticalSpace, { size: "8" }),
|
|
36730
|
+
React__default["default"].createElement("div", { className: "arc-Switch-container" },
|
|
36731
|
+
React__default["default"].createElement($6be4966fd9bbc698$export$be92b6f5f03c0fe9, { id: id, "aria-label": label, defaultChecked: defaultChecked, name: name, value: value, onBlur: onBlur, onCheckedChange: onCheckedChange, disabled: isDisabled, className: classNames("arc-Switch", {
|
|
36732
|
+
"arc-Switch--large": labelSize === "l",
|
|
36733
|
+
"arc-Switch--isDisabled": isDisabled,
|
|
36734
|
+
"arc-Switch--onDarkSurface": surface === "dark"
|
|
36735
|
+
}) },
|
|
36736
|
+
React__default["default"].createElement("div", { className: "arc-Switch-wrapper" },
|
|
36737
|
+
React__default["default"].createElement($6be4966fd9bbc698$export$6521433ed15a34db, { className: "arc-Switch-thumb" },
|
|
36738
|
+
React__default["default"].createElement("div", { className: "arc-Switch-thumbIcon" },
|
|
36739
|
+
React__default["default"].createElement("div", { className: "arc-Switch-icon", "data-testid": "arc-switch-thumb-icon" },
|
|
36740
|
+
React__default["default"].createElement(Icon, { icon: BtIconTickAlt2Px_2, color: surface === "dark" ? "brand" : "brand", size: labelSize === "l" ? 24 : 16 })))))),
|
|
36741
|
+
React__default["default"].createElement("div", { className: classNames("arc-Switch-statusText", {
|
|
36742
|
+
"arc-Switch-statusText--isDisabled": isDisabled,
|
|
36743
|
+
"arc-Switch-statusText--onDarkSurface": surface === "dark"
|
|
36744
|
+
}) },
|
|
36745
|
+
React__default["default"].createElement(Text, { size: labelSize },
|
|
36746
|
+
" ",
|
|
36747
|
+
statusText,
|
|
36748
|
+
" ")))));
|
|
36749
|
+
};
|
|
36750
|
+
|
|
36545
36751
|
/** Use `Badge` component to visually display a small amount of information, such as notification counts or status indicators. */
|
|
36546
36752
|
var Badge = function (_a) {
|
|
36547
36753
|
var _b, _c;
|
|
@@ -36614,20 +36820,6 @@ var Truncate = function (_a) {
|
|
|
36614
36820
|
return (React__default["default"].createElement("div", { className: "arc-Truncate", style: { maxWidth: "".concat(maxWidth, "%") }, title: title }, children));
|
|
36615
36821
|
};
|
|
36616
36822
|
|
|
36617
|
-
/**
|
|
36618
|
-
* Use `VerticalSpace` to create vertical space between components.
|
|
36619
|
-
*/
|
|
36620
|
-
var VerticalSpace = function (_a) {
|
|
36621
|
-
var _b;
|
|
36622
|
-
var _c = _a.isDebugVisible, isDebugVisible = _c === void 0 ? false : _c, _d = _a.size, size = _d === void 0 ? "24" : _d, props = __rest$2(_a, ["isDebugVisible", "size"]);
|
|
36623
|
-
return (React__default["default"].createElement("div", __assign$2({ className: classNames((_b = {
|
|
36624
|
-
"arc-VerticalSpace": true
|
|
36625
|
-
},
|
|
36626
|
-
_b["arc-VerticalSpace--size".concat(size)] = size && size !== "24",
|
|
36627
|
-
_b["arc-VerticalSpace--debugVisible"] = isDebugVisible,
|
|
36628
|
-
_b)) }, filterDataAttrs(props))));
|
|
36629
|
-
};
|
|
36630
|
-
|
|
36631
36823
|
exports.Align = Align;
|
|
36632
36824
|
exports.Badge = Badge;
|
|
36633
36825
|
exports.Base = Base;
|
|
@@ -36659,6 +36851,7 @@ exports.SiteHeader = SiteHeader;
|
|
|
36659
36851
|
exports.SiteHeaderRehydrator = SiteHeaderRehydrator;
|
|
36660
36852
|
exports.Surface = Surface;
|
|
36661
36853
|
exports.SurfaceContext = Context$3;
|
|
36854
|
+
exports.Switch = Switch;
|
|
36662
36855
|
exports.Text = Text;
|
|
36663
36856
|
exports.TextInput = TextInput;
|
|
36664
36857
|
exports.Truncate = Truncate;
|