@arc-ui/components 10.8.1 → 11.1.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/Align/Align.esm.js +4 -4
- package/dist/Badge/Badge.cjs.d.ts +26 -0
- package/dist/Badge/Badge.cjs.js +37 -0
- package/dist/Badge/Badge.esm.d.ts +26 -0
- package/dist/Badge/Badge.esm.js +29 -0
- package/dist/Badge/package.json +7 -0
- package/dist/Base/Base.cjs.d.ts +1 -16
- package/dist/Base/Base.cjs.js +4 -16
- package/dist/Base/Base.esm.d.ts +1 -16
- package/dist/Base/Base.esm.js +3 -15
- package/dist/BrandLogo/BrandLogo.esm.d.ts +1 -1
- package/dist/BrandLogo/BrandLogo.esm.js +2 -2
- package/dist/Breadcrumbs/Breadcrumbs.cjs.js +4 -4
- package/dist/Breadcrumbs/Breadcrumbs.esm.js +27 -27
- package/dist/Button/Button.cjs.d.ts +1 -1
- package/dist/Button/Button.cjs.js +4 -4
- package/dist/Button/Button.esm.d.ts +1 -1
- package/dist/Button/Button.esm.js +5 -5
- package/dist/Card/Card.cjs.js +3 -3
- package/dist/Card/Card.esm.js +27 -27
- package/dist/Checkbox/Checkbox.cjs.js +35 -8
- package/dist/Checkbox/Checkbox.esm.js +38 -11
- package/dist/Clock/Clock.esm.js +3 -3
- package/dist/Columns/Columns.esm.js +5 -5
- package/dist/Curve/Curve.esm.d.ts +1 -1
- package/dist/Curve/Curve.esm.js +1 -1
- package/dist/Disclosure/Disclosure.cjs.js +3 -0
- package/dist/Disclosure/Disclosure.esm.d.ts +1 -1
- package/dist/Disclosure/Disclosure.esm.js +10 -7
- package/dist/Elevation/Elevation.esm.js +2 -2
- package/dist/FormControl/FormControl.cjs.d.ts +1 -1
- package/dist/FormControl/FormControl.cjs.js +4 -1
- package/dist/FormControl/FormControl.esm.d.ts +1 -1
- package/dist/FormControl/FormControl.esm.js +5 -2
- package/dist/Group/Group.esm.js +6 -6
- package/dist/Heading/Heading.esm.d.ts +1 -1
- package/dist/Heading/Heading.esm.js +2 -2
- package/dist/Icon/Icon.cjs.d.ts +1 -1
- package/dist/Icon/Icon.cjs.js +2 -3
- package/dist/Icon/Icon.esm.d.ts +1 -1
- package/dist/Icon/Icon.esm.js +3 -4
- package/dist/Image/Image.esm.d.ts +1 -1
- package/dist/Image/Image.esm.js +1 -1
- package/dist/Markup/Markup.esm.js +3 -3
- package/dist/Poster/Poster.esm.d.ts +1 -1
- package/dist/Poster/Poster.esm.js +9 -9
- package/dist/RadioGroup/RadioGroup.cjs.d.ts +1 -1
- package/dist/RadioGroup/RadioGroup.cjs.js +4 -1
- package/dist/RadioGroup/RadioGroup.esm.d.ts +1 -1
- package/dist/RadioGroup/RadioGroup.esm.js +15 -12
- package/dist/Rule/Rule.esm.js +3 -3
- package/dist/Section/Section.esm.d.ts +1 -1
- package/dist/Section/Section.esm.js +1 -1
- package/dist/Select/Select.cjs.d.ts +25 -0
- package/dist/Select/Select.cjs.js +3010 -0
- package/dist/Select/Select.esm.d.ts +25 -0
- package/dist/Select/Select.esm.js +2983 -0
- package/dist/Select/package.json +7 -0
- package/dist/SiteFooter/SiteFooter.cjs.js +5 -3
- package/dist/SiteFooter/SiteFooter.esm.js +34 -32
- package/dist/SiteHeader/SiteHeader.cjs.js +35 -13
- package/dist/SiteHeader/SiteHeader.esm.d.ts +1 -1
- package/dist/SiteHeader/SiteHeader.esm.js +110 -88
- package/dist/Surface/Surface.esm.d.ts +1 -1
- package/dist/Surface/Surface.esm.js +1 -1
- package/dist/Text/Text.esm.d.ts +1 -1
- package/dist/Text/Text.esm.js +2 -2
- package/dist/TextInput/TextInput.cjs.d.ts +5 -1
- package/dist/TextInput/TextInput.cjs.js +25 -6
- package/dist/TextInput/TextInput.esm.d.ts +5 -1
- package/dist/TextInput/TextInput.esm.js +28 -9
- package/dist/Truncate/Truncate.cjs.d.ts +18 -0
- package/dist/Truncate/Truncate.cjs.js +17 -0
- package/dist/Truncate/Truncate.esm.d.ts +18 -0
- package/dist/Truncate/Truncate.esm.js +9 -0
- package/dist/Truncate/package.json +7 -0
- package/dist/UniversalHeader/UniversalHeader.esm.js +8 -8
- package/dist/VerticalSpace/VerticalSpace.esm.js +2 -2
- package/dist/VisuallyHidden/VisuallyHidden.cjs.d.ts +1 -12
- package/dist/VisuallyHidden/VisuallyHidden.cjs.js +3 -12
- package/dist/VisuallyHidden/VisuallyHidden.esm.d.ts +1 -12
- package/dist/VisuallyHidden/VisuallyHidden.esm.js +2 -11
- package/dist/_shared/cjs/Base-e2b846fe.d.ts +19 -0
- package/dist/_shared/cjs/Base-e2b846fe.js +22 -0
- package/dist/_shared/cjs/BtIconChevronDown2Px-8fb4e2eb.js +29 -0
- package/dist/_shared/cjs/BtIconChevronRight2Px-a8e40136.js +50 -0
- package/dist/_shared/cjs/BtIconChevronRightMid-5a38d855.js +31 -0
- package/dist/_shared/cjs/{Button-1743b3ec.d.ts → Button-b3a69953.d.ts} +3 -3
- package/dist/_shared/cjs/{Button-1743b3ec.js → Button-b3a69953.js} +29 -6
- package/dist/_shared/cjs/{FormControl-7d8e10fa.d.ts → FormControl-e6b7d7c5.d.ts} +51 -3
- package/dist/_shared/cjs/FormControl-e6b7d7c5.js +147 -0
- package/dist/_shared/cjs/{Icon-bb5a5fd1.d.ts → Icon-719d13d4.d.ts} +6 -6
- package/dist/_shared/cjs/Icon-719d13d4.js +52 -0
- package/dist/_shared/cjs/VisuallyHidden-e2c8b291.d.ts +12 -0
- package/dist/_shared/cjs/VisuallyHidden-e2c8b291.js +17 -0
- package/dist/_shared/cjs/arc-icon-17594b2f.d.ts +4 -0
- package/dist/_shared/cjs/index-c81c9401.d.ts +2 -2
- package/dist/_shared/cjs/{use-media-query-75d1bbae.js → index.es-77def0c9.js} +9 -0
- package/dist/_shared/esm/Base-c235dc45.d.ts +19 -0
- package/dist/_shared/esm/Base-c235dc45.js +15 -0
- package/dist/_shared/esm/{BrandLogo-ea3dd0e6.js → BrandLogo-4f13fe85.js} +4 -4
- package/dist/_shared/esm/BtIconChevronDown2Px-782876e2.js +23 -0
- package/dist/_shared/esm/BtIconChevronRight2Px-b8e7b4ad.js +43 -0
- package/dist/_shared/esm/BtIconChevronRightMid-d9b11761.js +25 -0
- package/dist/_shared/esm/{Button-d59c31a2.d.ts → Button-69439f8f.d.ts} +3 -3
- package/dist/_shared/esm/Button-69439f8f.js +74 -0
- package/dist/_shared/esm/{Curve-cfdca379.js → Curve-50697f7e.js} +2 -2
- package/dist/_shared/esm/{FormControl-33194106.d.ts → FormControl-84c9ace6.d.ts} +51 -3
- package/dist/_shared/esm/FormControl-84c9ace6.js +138 -0
- package/dist/_shared/esm/{Heading-183be76c.js → Heading-eb1e42db.js} +4 -4
- package/dist/_shared/esm/{Icon-2fd92daa.d.ts → Icon-61f7237a.d.ts} +6 -6
- package/dist/_shared/esm/Icon-61f7237a.js +46 -0
- package/dist/_shared/esm/{Image-7e4948f6.js → Image-c0f3d42f.js} +7 -7
- package/dist/_shared/esm/{Section-f1256c87.js → Section-7bc71e26.js} +2 -2
- package/dist/_shared/esm/{Surface-d515d212.js → Surface-bf201530.js} +3 -3
- package/dist/_shared/esm/{Text-d8988620.js → Text-6b958ad8.js} +3 -3
- package/dist/_shared/esm/VisuallyHidden-b9eebf71.d.ts +12 -0
- package/dist/_shared/esm/VisuallyHidden-b9eebf71.js +11 -0
- package/dist/_shared/esm/arc-icon-17594b2f.d.ts +4 -0
- package/dist/_shared/esm/index-c81c9401.d.ts +2 -2
- package/dist/_shared/esm/{use-media-query-38faed7f.js → index.es-00cb3bcb.js} +8 -1
- package/dist/index.es.js +34545 -717
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +34537 -688
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/components/Badge/Badge.d.ts +25 -0
- package/dist/types/components/Badge/index.d.ts +1 -0
- package/dist/types/components/Button/Button.d.ts +3 -3
- package/dist/types/components/FormControl/FormControl.d.ts +17 -0
- package/dist/types/components/FormControl/FormControlDisclosure/FormControlDisclosure.d.ts +28 -0
- package/dist/types/components/FormControl/FormControlDisclosure/index.d.ts +1 -0
- package/dist/types/components/Icon/Icon.d.ts +6 -6
- package/dist/types/components/Select/Select.d.ts +2 -1
- package/dist/types/components/TextInput/TextInput.d.ts +4 -0
- package/dist/types/components/Truncate/Truncate.d.ts +17 -0
- package/dist/types/components/Truncate/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/hooks/use-aria-describedby.d.ts +5 -1
- package/dist/types/styles.d.ts +4 -0
- package/dist/types/types/arc-icon.d.ts +2 -0
- package/package.json +4 -3
- package/dist/_shared/cjs/FormControl-7d8e10fa.js +0 -82
- package/dist/_shared/cjs/Icon-bb5a5fd1.js +0 -33
- package/dist/_shared/cjs/index.es-f590caaf.js +0 -290
- package/dist/_shared/esm/Button-d59c31a2.js +0 -51
- package/dist/_shared/esm/FormControl-33194106.js +0 -74
- package/dist/_shared/esm/Icon-2fd92daa.js +0 -27
- package/dist/_shared/esm/index.es-42f84e2d.js +0 -286
- /package/dist/_shared/cjs/{use-media-query-75d1bbae.d.ts → index.es-77def0c9.d.ts} +0 -0
- /package/dist/_shared/esm/{BrandLogo-ea3dd0e6.d.ts → BrandLogo-4f13fe85.d.ts} +0 -0
- /package/dist/_shared/esm/{Curve-cfdca379.d.ts → Curve-50697f7e.d.ts} +0 -0
- /package/dist/_shared/esm/{Heading-183be76c.d.ts → Heading-eb1e42db.d.ts} +0 -0
- /package/dist/_shared/esm/{Image-7e4948f6.d.ts → Image-c0f3d42f.d.ts} +0 -0
- /package/dist/_shared/esm/{Section-f1256c87.d.ts → Section-7bc71e26.d.ts} +0 -0
- /package/dist/_shared/esm/{Surface-d515d212.d.ts → Surface-bf201530.d.ts} +0 -0
- /package/dist/_shared/esm/{Text-d8988620.d.ts → Text-6b958ad8.d.ts} +0 -0
- /package/dist/_shared/esm/{use-media-query-38faed7f.d.ts → index.es-00cb3bcb.d.ts} +0 -0
|
@@ -1,24 +1,29 @@
|
|
|
1
1
|
import { _ as __rest, a as __assign, f as filterDataAttrs, d as __awaiter, e as __generator } from '../_shared/esm/index-229fc864.js';
|
|
2
|
-
import { a as ArcBreakpointL } from '../_shared/esm/index.es-
|
|
2
|
+
import { u as useMediaQuery, a as ArcBreakpointL } from '../_shared/esm/index.es-00cb3bcb.js';
|
|
3
3
|
import { c as classNames } from '../_shared/esm/index-2ae58626.js';
|
|
4
|
-
import
|
|
5
|
-
import { B as BrandLogo } from '../_shared/esm/BrandLogo-
|
|
6
|
-
import { B as Button } from '../_shared/esm/Button-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import React__default, { useState, useEffect, Fragment, useContext, useRef, createContext } from 'react';
|
|
5
|
+
import { B as BrandLogo } from '../_shared/esm/BrandLogo-4f13fe85.js';
|
|
6
|
+
import { B as Button } from '../_shared/esm/Button-69439f8f.js';
|
|
7
|
+
import { S as Surface } from '../_shared/esm/Surface-bf201530.js';
|
|
8
|
+
import { B as BtIconChevronDown2Px_2 } from '../_shared/esm/BtIconChevronDown2Px-782876e2.js';
|
|
9
9
|
import { h as handleLinkClick } from '../_shared/esm/handle-link-click-f64f55a2.js';
|
|
10
|
+
import { a as BtIconChevronRight2Px_2, B as BtIconChevronLeft2Px_2 } from '../_shared/esm/BtIconChevronRight2Px-b8e7b4ad.js';
|
|
10
11
|
import { s as suffixModifier } from '../_shared/esm/suffix-modifier-f5e28822.js';
|
|
11
|
-
import { T as Text } from '../_shared/esm/Text-
|
|
12
|
-
import '../_shared/esm/
|
|
12
|
+
import { T as Text } from '../_shared/esm/Text-6b958ad8.js';
|
|
13
|
+
import '../_shared/esm/BtIconChevronRightMid-d9b11761.js';
|
|
14
|
+
import '../_shared/esm/Icon-61f7237a.js';
|
|
13
15
|
|
|
14
16
|
var Item = function (_a) {
|
|
15
17
|
var _b;
|
|
16
18
|
var children = _a.children, href = _a.href, isEmphasised = _a.isEmphasised, onClick = _a.onClick, props = __rest(_a, ["children", "href", "isEmphasised", "onClick"]);
|
|
17
|
-
return (
|
|
19
|
+
return (React__default.createElement("li", __assign({ className: classNames((_b = {},
|
|
18
20
|
_b["arc-SiteHeaderItem"] = true,
|
|
19
21
|
_b["arc-SiteHeaderItem--emphasised"] = isEmphasised,
|
|
20
22
|
_b)) }, filterDataAttrs(props)),
|
|
21
|
-
|
|
23
|
+
React__default.createElement("a", { onClick: handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderItem-link", href: href },
|
|
24
|
+
isEmphasised && (React__default.createElement("span", { className: "arc-SiteHeaderItem-linkIcon" },
|
|
25
|
+
React__default.createElement(BtIconChevronRight2Px_2, null))),
|
|
26
|
+
children)));
|
|
22
27
|
};
|
|
23
28
|
|
|
24
29
|
var ItemGroup = function (_a) {
|
|
@@ -26,7 +31,7 @@ var ItemGroup = function (_a) {
|
|
|
26
31
|
var _b = useState(false), hasClientSideJavaScript = _b[0], setHasClientSideJavaScript = _b[1];
|
|
27
32
|
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
28
33
|
useEffect(function () {
|
|
29
|
-
|
|
34
|
+
React__default.Children.map(children, function (item) {
|
|
30
35
|
if (item && item.type !== Item && item.type !== Fragment) {
|
|
31
36
|
throw new Error("Illegal child passed to <SiteHeader.ItemGroup />. Ensure to only use <SiteHeader.Item />.");
|
|
32
37
|
}
|
|
@@ -40,15 +45,18 @@ var ItemGroup = function (_a) {
|
|
|
40
45
|
if (title) {
|
|
41
46
|
ElementType = "details";
|
|
42
47
|
}
|
|
43
|
-
return (
|
|
44
|
-
|
|
45
|
-
title ? (
|
|
48
|
+
return (React__default.createElement("li", { className: "arc-SiteHeaderItemGroup" },
|
|
49
|
+
React__default.createElement(ElementType, __assign({ className: "arc-SiteHeaderItemGroup-details", open: Boolean(title && isMinWidthArcBreakpointL) }, filterDataAttrs(props)),
|
|
50
|
+
title ? (React__default.createElement("summary", { className: "arc-SiteHeaderItemGroup-summary", tabIndex: isMinWidthArcBreakpointL ? -1 : 0 }, href ? (React__default.createElement("a", { onClick: handleLinkClick({
|
|
46
51
|
handler: onClick
|
|
47
|
-
}), className: "arc-SiteHeaderItemGroup-title", href: href, tabIndex: !hasClientSideJavaScript || isMinWidthArcBreakpointL ? 0 : -1 },
|
|
48
|
-
|
|
52
|
+
}), className: "arc-SiteHeaderItemGroup-title", href: href, tabIndex: !hasClientSideJavaScript || isMinWidthArcBreakpointL ? 0 : -1 },
|
|
53
|
+
title,
|
|
54
|
+
React__default.createElement("span", { className: "arc-SiteHeaderItemGroup-titleIcon" },
|
|
55
|
+
React__default.createElement(BtIconChevronDown2Px_2, null)))) : (React__default.createElement("div", { className: "arc-SiteHeaderItemGroup-title" }, title)))) : null,
|
|
56
|
+
React__default.createElement("ul", { className: "arc-SiteHeaderItemGroup-items" },
|
|
49
57
|
children,
|
|
50
|
-
href && title ? (
|
|
51
|
-
|
|
58
|
+
href && title ? (React__default.createElement("li", { className: "arc-SiteHeaderItem arc-SiteHeaderItem--viewAll" },
|
|
59
|
+
React__default.createElement("a", { className: "arc-SiteHeaderItem-link", onClick: handleLinkClick({
|
|
52
60
|
handler: onClick
|
|
53
61
|
}), href: href }, viewAllTitle || "View all ".concat(title.toLowerCase())))) : null))));
|
|
54
62
|
};
|
|
@@ -78,7 +86,7 @@ var ItemGroupRehydrator = (function (el, hydrate) { return __awaiter(void 0, voi
|
|
|
78
86
|
title: title,
|
|
79
87
|
viewAllTitle: viewAllTitle
|
|
80
88
|
};
|
|
81
|
-
return [2 /*return*/,
|
|
89
|
+
return [2 /*return*/, React__default.createElement(ItemGroup, __assign({}, props), children)];
|
|
82
90
|
}
|
|
83
91
|
});
|
|
84
92
|
}); });
|
|
@@ -86,22 +94,24 @@ var ItemGroupRehydrator = (function (el, hydrate) { return __awaiter(void 0, voi
|
|
|
86
94
|
var Column = function (_a) {
|
|
87
95
|
var children = _a.children, props = __rest(_a, ["children"]);
|
|
88
96
|
useEffect(function () {
|
|
89
|
-
|
|
97
|
+
React__default.Children.map(children, function (item) {
|
|
90
98
|
if (item && item.type !== ItemGroup) {
|
|
91
99
|
throw new Error("Illegal child passed to <SiteHeader.Column />. Ensure to only use <SiteHeader.ItemGroup />.");
|
|
92
100
|
}
|
|
93
101
|
});
|
|
94
102
|
}, [children]);
|
|
95
|
-
return (
|
|
96
|
-
|
|
103
|
+
return (React__default.createElement("li", __assign({ className: "arc-SiteHeaderColumn" }, filterDataAttrs(props)),
|
|
104
|
+
React__default.createElement("ul", { className: "arc-SiteHeaderColumn-items" }, children)));
|
|
97
105
|
};
|
|
98
106
|
|
|
99
107
|
var BackButton = function (_a) {
|
|
100
108
|
var setOpen = _a.setOpen;
|
|
101
|
-
return (
|
|
109
|
+
return (React__default.createElement("button", { className: "arc-SiteHeaderBackButton", onClick: function () {
|
|
102
110
|
setOpen(false);
|
|
103
111
|
} },
|
|
104
|
-
|
|
112
|
+
React__default.createElement("span", { className: "arc-SiteHeaderBackButton-icon" },
|
|
113
|
+
React__default.createElement(BtIconChevronLeft2Px_2, null)),
|
|
114
|
+
React__default.createElement("span", { className: "arc-SiteHeaderBackButton-text" }, "Back")));
|
|
105
115
|
};
|
|
106
116
|
|
|
107
117
|
var Panel = function (_a) {
|
|
@@ -162,26 +172,29 @@ var Panel = function (_a) {
|
|
|
162
172
|
window.removeEventListener("keydown", handleKeydown);
|
|
163
173
|
};
|
|
164
174
|
}, [setOpen, subNavItemRef]);
|
|
165
|
-
return (
|
|
175
|
+
return (React__default.createElement("div", __assign({ className: classNames((_b = {},
|
|
166
176
|
_b["arc-SiteHeaderPanel"] = true,
|
|
167
177
|
_b["arc-SiteHeaderPanel--open"] = open,
|
|
168
178
|
_b["arc-SiteHeaderPanel--transparent"] = transparent,
|
|
169
179
|
_b["arc-SiteHeaderPanel--withSubNav"] = withSubNav,
|
|
170
180
|
_b)) }, filterDataAttrs(props)),
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
withSubNav && (
|
|
177
|
-
title && (
|
|
178
|
-
|
|
181
|
+
React__default.createElement(Surface, { background: "white", growVertically: true },
|
|
182
|
+
React__default.createElement(BackButton, { setOpen: setOpen }),
|
|
183
|
+
React__default.createElement("div", { className: "arc-SiteHeaderPanel-inner" },
|
|
184
|
+
React__default.createElement("div", { className: "arc-SiteHeaderPanel-main" },
|
|
185
|
+
React__default.createElement("div", { className: "arc-SiteHeaderPanel-mainInner" },
|
|
186
|
+
withSubNav && (React__default.createElement("div", { className: "arc-SiteHeaderPanel-subNavArea" })),
|
|
187
|
+
title && (React__default.createElement("div", { className: "arc-SiteHeaderPanel-title" }, title)),
|
|
188
|
+
React__default.createElement("ul", { className: "arc-SiteHeaderPanel-items" }, children)),
|
|
179
189
|
viewAll),
|
|
180
|
-
promo &&
|
|
190
|
+
promo && React__default.createElement("div", { className: "arc-SiteHeaderPanel-promo" }, promo)))));
|
|
181
191
|
};
|
|
182
192
|
var ViewAll = function (_a) {
|
|
183
193
|
var href = _a.href, title = _a.title, onClick = _a.onClick;
|
|
184
|
-
return (
|
|
194
|
+
return (React__default.createElement("a", { onClick: handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderPanel-viewAll", href: href },
|
|
195
|
+
title,
|
|
196
|
+
React__default.createElement("span", { className: "arc-SiteHeaderPanel-viewAllIcon" },
|
|
197
|
+
React__default.createElement(BtIconChevronRight2Px_2, null))));
|
|
185
198
|
};
|
|
186
199
|
ViewAll.displayName = "Panel.ViewAll";
|
|
187
200
|
Panel.ViewAll = ViewAll;
|
|
@@ -191,8 +204,9 @@ var NavItem = function (_a) {
|
|
|
191
204
|
var children = _a.children, href = _a.href, isCurrent = _a.isCurrent, onClick = _a.onClick, promo = _a.promo, title = _a.title, viewAllTitle = _a.viewAllTitle, props = __rest(_a, ["children", "href", "isCurrent", "onClick", "promo", "title", "viewAllTitle"]);
|
|
192
205
|
var navItem = useRef();
|
|
193
206
|
var _d = useState(false), panelOpen = _d[0], setPanelOpen = _d[1];
|
|
207
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
194
208
|
useEffect(function () {
|
|
195
|
-
|
|
209
|
+
React__default.Children.map(children, function (item) {
|
|
196
210
|
if (item &&
|
|
197
211
|
item.type !== ItemGroup &&
|
|
198
212
|
item.type !== Column &&
|
|
@@ -201,20 +215,22 @@ var NavItem = function (_a) {
|
|
|
201
215
|
}
|
|
202
216
|
});
|
|
203
217
|
}, [children]);
|
|
204
|
-
return (
|
|
218
|
+
return (React__default.createElement("li", __assign({ className: classNames((_b = {},
|
|
205
219
|
_b["arc-SiteHeaderNavItem"] = true,
|
|
206
220
|
_b["arc-SiteHeaderNavItem--linkSelected"] = (children && panelOpen) || (!children && href && isCurrent),
|
|
207
|
-
_b)), ref: navItem }, filterDataAttrs(props)), !children ? (href ? (
|
|
221
|
+
_b)), ref: navItem }, filterDataAttrs(props)), !children ? (href ? (React__default.createElement("a", { onClick: handleLinkClick({
|
|
208
222
|
handler: onClick
|
|
209
|
-
}), className: "arc-SiteHeaderNavItem-link", href: href }, title)) : null) : (
|
|
210
|
-
|
|
223
|
+
}), className: "arc-SiteHeaderNavItem-link", href: href }, title)) : null) : (React__default.createElement(React__default.Fragment, null,
|
|
224
|
+
React__default.createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
|
|
211
225
|
_c["arc-SiteHeaderNavItem-link"] = true,
|
|
212
226
|
_c["arc-SiteHeaderNavItem-link--itemHasChildren"] = true,
|
|
213
227
|
_c)), onClick: function (e) {
|
|
214
228
|
e.preventDefault();
|
|
215
229
|
setPanelOpen(!panelOpen);
|
|
216
|
-
} },
|
|
217
|
-
|
|
230
|
+
} },
|
|
231
|
+
React__default.createElement("span", null, title),
|
|
232
|
+
React__default.createElement("span", { className: "arc-SiteHeaderNavItem-linkIcon" }, isMinWidthArcBreakpointL ? (React__default.createElement(BtIconChevronDown2Px_2, null)) : (React__default.createElement(BtIconChevronRight2Px_2, null)))),
|
|
233
|
+
React__default.createElement(Panel, { navItemRef: navItem, open: panelOpen, promo: promo, setOpen: setPanelOpen, viewAll: href ? (React__default.createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined) }, children)))));
|
|
218
234
|
};
|
|
219
235
|
|
|
220
236
|
var NavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -254,7 +270,7 @@ var NavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void
|
|
|
254
270
|
title: title,
|
|
255
271
|
viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
|
|
256
272
|
};
|
|
257
|
-
return [2 /*return*/,
|
|
273
|
+
return [2 /*return*/, React__default.createElement(NavItem, __assign({}, props), children)];
|
|
258
274
|
}
|
|
259
275
|
});
|
|
260
276
|
}); });
|
|
@@ -267,7 +283,7 @@ var SubNavItem = function (_a) {
|
|
|
267
283
|
var _e = useState(false), panelOpen = _e[0], setPanelOpen = _e[1];
|
|
268
284
|
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
269
285
|
useEffect(function () {
|
|
270
|
-
|
|
286
|
+
React__default.Children.map(children, function (item) {
|
|
271
287
|
if (item &&
|
|
272
288
|
item.type !== ItemGroup &&
|
|
273
289
|
item.type !== Column &&
|
|
@@ -284,23 +300,26 @@ var SubNavItem = function (_a) {
|
|
|
284
300
|
setPanelOpen(false);
|
|
285
301
|
}
|
|
286
302
|
}, [isDefaultItem, isMinWidthArcBreakpointL]);
|
|
287
|
-
var linkTitle = (
|
|
288
|
-
|
|
289
|
-
subTitle ? (
|
|
290
|
-
return (
|
|
303
|
+
var linkTitle = (React__default.createElement(React__default.Fragment, null,
|
|
304
|
+
React__default.createElement("span", { className: "arc-SiteHeaderSubNavItem-linkTitle" }, title),
|
|
305
|
+
subTitle ? (React__default.createElement("span", { className: "arc-SiteHeaderSubNavItem-linkSubTitle" }, subTitle)) : null));
|
|
306
|
+
return (React__default.createElement("li", __assign({ className: classNames((_b = {},
|
|
291
307
|
_b["arc-SiteHeaderSubNavItem"] = true,
|
|
292
308
|
_b["arc-SiteHeaderSubNavItem--linkSelected"] = children && panelOpen,
|
|
293
309
|
_b[suffixModifier("arc-SiteHeaderSubNavItem--offsetXL", offsetXL || "")] = offsetXL,
|
|
294
|
-
_b)), ref: subNavItem }, filterDataAttrs(props), { "data-default-item": isDefaultItem || null }), !children ? (href ? (
|
|
295
|
-
|
|
310
|
+
_b)), ref: subNavItem }, filterDataAttrs(props), { "data-default-item": isDefaultItem || null }), !children ? (href ? (React__default.createElement("a", { className: "arc-SiteHeaderSubNavItem-link", onClick: handleLinkClick({ handler: onClick }), href: href }, linkTitle)) : null) : (React__default.createElement(React__default.Fragment, null,
|
|
311
|
+
React__default.createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
|
|
296
312
|
_c["arc-SiteHeaderSubNavItem-link"] = true,
|
|
297
313
|
_c["arc-SiteHeaderSubNavItem-link--itemHasChildren"] = children,
|
|
298
314
|
_c)), onClick: function () {
|
|
299
315
|
setPanelOpen(true);
|
|
300
|
-
} },
|
|
301
|
-
|
|
316
|
+
} },
|
|
317
|
+
linkTitle,
|
|
318
|
+
children && (React__default.createElement("span", { className: "arc-SiteHeaderSubNavItem-linkIcon" },
|
|
319
|
+
React__default.createElement(BtIconChevronRight2Px_2, null)))),
|
|
320
|
+
React__default.createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderSubNavItem-link", promo: promo, title: React__default.createElement("span", null,
|
|
302
321
|
title,
|
|
303
|
-
subTitle && (
|
|
322
|
+
subTitle && (React__default.createElement(Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React__default.createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined) }, children)))));
|
|
304
323
|
};
|
|
305
324
|
|
|
306
325
|
var SubNavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -354,7 +373,7 @@ var SubNavItemRehydrator = (function (el, hydrate) { return __awaiter(void 0, vo
|
|
|
354
373
|
title: title,
|
|
355
374
|
viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
|
|
356
375
|
};
|
|
357
|
-
return [2 /*return*/,
|
|
376
|
+
return [2 /*return*/, React__default.createElement(SubNavItem, __assign({}, props), children)];
|
|
358
377
|
}
|
|
359
378
|
});
|
|
360
379
|
}); });
|
|
@@ -368,8 +387,9 @@ var NavItemWithSubNav = function (_a) {
|
|
|
368
387
|
var navItem = useRef();
|
|
369
388
|
var _e = useState(true), defaultItem = _e[0], setDefaultItem = _e[1];
|
|
370
389
|
var _f = useState(false), panelOpen = _f[0], setPanelOpen = _f[1];
|
|
390
|
+
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
371
391
|
useEffect(function () {
|
|
372
|
-
|
|
392
|
+
React__default.Children.map(slot1, function (item) {
|
|
373
393
|
if (item && item.type !== SubNavItem && item.type !== Fragment) {
|
|
374
394
|
throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot1` prop. Ensure to only use <SiteHeader.SubNavItem />.");
|
|
375
395
|
}
|
|
@@ -377,7 +397,7 @@ var NavItemWithSubNav = function (_a) {
|
|
|
377
397
|
setDefaultItem(false);
|
|
378
398
|
}
|
|
379
399
|
});
|
|
380
|
-
|
|
400
|
+
React__default.Children.map(slot2, function (item) {
|
|
381
401
|
if (item && item.type !== SubNavItem && item.type !== Fragment) {
|
|
382
402
|
throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot2` prop. Ensure to only use <SiteHeader.SubNavItem />.");
|
|
383
403
|
}
|
|
@@ -385,7 +405,7 @@ var NavItemWithSubNav = function (_a) {
|
|
|
385
405
|
setDefaultItem(false);
|
|
386
406
|
}
|
|
387
407
|
});
|
|
388
|
-
|
|
408
|
+
React__default.Children.map(slot3, function (item) {
|
|
389
409
|
if (item && item.type !== SubNavItem && item.type !== Fragment) {
|
|
390
410
|
throw new Error("Illegal child passed to <SiteHeader.NavItemWithSubNav /> `slot3` prop. Ensure to only use <SiteHeader.SubNavItem />.");
|
|
391
411
|
}
|
|
@@ -394,21 +414,23 @@ var NavItemWithSubNav = function (_a) {
|
|
|
394
414
|
}
|
|
395
415
|
});
|
|
396
416
|
}, [slot1, slot2, slot3]);
|
|
397
|
-
return (
|
|
398
|
-
|
|
417
|
+
return (React__default.createElement(Provider$1, { value: { navItem: navItem, subTitle: subTitle } },
|
|
418
|
+
React__default.createElement("li", __assign({ className: classNames((_b = {},
|
|
399
419
|
_b["arc-SiteHeaderNavItemWithSubNav"] = true,
|
|
400
420
|
_b["arc-SiteHeaderNavItem--linkSelected"] = panelOpen,
|
|
401
421
|
_b)), ref: navItem }, filterDataAttrs(props)),
|
|
402
|
-
|
|
422
|
+
React__default.createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
|
|
403
423
|
_c["arc-SiteHeaderNavItem-link"] = true,
|
|
404
424
|
_c["arc-SiteHeaderNavItem-link--itemHasChildren"] = true,
|
|
405
425
|
_c)), onClick: function (e) {
|
|
406
426
|
e.preventDefault();
|
|
407
427
|
setPanelOpen(!panelOpen);
|
|
408
|
-
} },
|
|
409
|
-
|
|
428
|
+
} },
|
|
429
|
+
title,
|
|
430
|
+
React__default.createElement("span", { className: "arc-SiteHeaderNavItem-linkIcon" }, isMinWidthArcBreakpointL ? (React__default.createElement(BtIconChevronDown2Px_2, null)) : (React__default.createElement(BtIconChevronRight2Px_2, null)))),
|
|
431
|
+
React__default.createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, title: subTitle, viewAll: href ? (React__default.createElement(Panel.ViewAll, { href: href, onClick: onViewAllClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined), withSubNav: true },
|
|
410
432
|
defaultItem
|
|
411
|
-
?
|
|
433
|
+
? React__default.cloneElement(slot1, { isDefaultItem: defaultItem })
|
|
412
434
|
: slot1,
|
|
413
435
|
slot2,
|
|
414
436
|
slot3))));
|
|
@@ -464,7 +486,7 @@ var NavItemWithSubNavRehydrator = (function (el, hydrate) { return __awaiter(voi
|
|
|
464
486
|
title: title,
|
|
465
487
|
viewAllTitle: (viewAll === null || viewAll === void 0 ? void 0 : viewAll.textContent) || undefined
|
|
466
488
|
};
|
|
467
|
-
return [2 /*return*/,
|
|
489
|
+
return [2 /*return*/, React__default.createElement(NavItemWithSubNav, __assign({}, props))];
|
|
468
490
|
}
|
|
469
491
|
});
|
|
470
492
|
}); });
|
|
@@ -472,15 +494,15 @@ var NavItemWithSubNavRehydrator = (function (el, hydrate) { return __awaiter(voi
|
|
|
472
494
|
var MenuButton = function (_a) {
|
|
473
495
|
var _b;
|
|
474
496
|
var menuOpen = _a.menuOpen, setMenuOpen = _a.setMenuOpen;
|
|
475
|
-
return (
|
|
497
|
+
return (React__default.createElement("button", { "aria-expanded": menuOpen, className: classNames((_b = {},
|
|
476
498
|
_b["arc-MenuButton"] = true,
|
|
477
499
|
_b["arc-MenuButton--menuOpen"] = menuOpen,
|
|
478
500
|
_b)), onClick: function () {
|
|
479
501
|
setMenuOpen(!menuOpen);
|
|
480
502
|
}, type: "button" },
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
503
|
+
React__default.createElement("span", { className: "arc-MenuButton-box" },
|
|
504
|
+
React__default.createElement("span", { className: "arc-MenuButton-inner" }),
|
|
505
|
+
React__default.createElement("span", { className: "arc-MenuButton-text" }, "Menu"))));
|
|
484
506
|
};
|
|
485
507
|
|
|
486
508
|
var defaultContext = { transparent: false };
|
|
@@ -496,7 +518,7 @@ var SiteHeader = function (_a) {
|
|
|
496
518
|
var _k = useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
|
|
497
519
|
var isMinWidthArcBreakpointL = useMediaQuery("(min-width: ".concat(ArcBreakpointL, "px)"));
|
|
498
520
|
useEffect(function () {
|
|
499
|
-
|
|
521
|
+
React__default.Children.map(children, function (item) {
|
|
500
522
|
if (item &&
|
|
501
523
|
item.type !== NavItem &&
|
|
502
524
|
item.type !== NavItemWithSubNav &&
|
|
@@ -542,32 +564,32 @@ var SiteHeader = function (_a) {
|
|
|
542
564
|
// useEffect does not run in ReactDomServer renders
|
|
543
565
|
setHasClientSideJavaScript(true);
|
|
544
566
|
}, [setHasClientSideJavaScript]);
|
|
545
|
-
return (
|
|
546
|
-
|
|
567
|
+
return (React__default.createElement(Provider, { value: { transparent: isTransparent } },
|
|
568
|
+
React__default.createElement("div", __assign({ className: classNames((_b = {},
|
|
547
569
|
_b["arc-SiteHeader"] = true,
|
|
548
570
|
_b["arc-SiteHeader--menuOpen"] = menuOpen,
|
|
549
571
|
_b["arc-no-js"] = !hasClientSideJavaScript,
|
|
550
572
|
_b)) }, filterDataAttrs(props), { "data-transparent": isTransparent || null }),
|
|
551
|
-
|
|
573
|
+
React__default.createElement(Surface, { background: !isTransparent || (menuOpen && !isMinWidthArcBreakpointL)
|
|
552
574
|
? "brand-flat"
|
|
553
575
|
: undefined },
|
|
554
|
-
|
|
555
|
-
|
|
576
|
+
React__default.createElement("div", { className: "arc-SiteHeader-inner" },
|
|
577
|
+
React__default.createElement("a", { className: "arc-SiteHeader-brand", onClick: handleLinkClick({
|
|
556
578
|
handler: logoOnClick
|
|
557
579
|
}), href: logoHref },
|
|
558
|
-
|
|
559
|
-
children && (
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
hasLogin && (
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
(basket || hasLogin || search) && (
|
|
568
|
-
search ? (
|
|
569
|
-
basket ? (
|
|
570
|
-
hasLogin && (
|
|
580
|
+
React__default.createElement(BrandLogo, { label: logoLabel, subBrand: subBrand })),
|
|
581
|
+
children && (React__default.createElement("nav", { className: "arc-SiteHeader-nav" },
|
|
582
|
+
React__default.createElement("div", { className: "arc-SiteHeader-menuButton" },
|
|
583
|
+
React__default.createElement(MenuButton, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
|
|
584
|
+
React__default.createElement("div", { className: "arc-SiteHeader-main" },
|
|
585
|
+
React__default.createElement("ul", { className: "arc-SiteHeader-navItems" }, children),
|
|
586
|
+
hasLogin && (React__default.createElement(React__default.Fragment, null, loginOnClick ? (React__default.createElement("div", { className: "arc-SiteHeader-loginButton" },
|
|
587
|
+
React__default.createElement(Button, { onClick: loginOnClick, isFullWidth: true, label: loginTitle }))) : (React__default.createElement("div", { className: "arc-SiteHeader-loginButton" },
|
|
588
|
+
React__default.createElement(Button, { href: loginHref, isFullWidth: true, label: loginTitle })))))))),
|
|
589
|
+
(basket || hasLogin || search) && (React__default.createElement("div", { className: "arc-SiteHeader-secondary" },
|
|
590
|
+
search ? (React__default.createElement("div", { className: "arc-SiteHeader-search" }, search)) : null,
|
|
591
|
+
basket ? (React__default.createElement("div", { className: "arc-SiteHeader-basket" }, basket)) : null,
|
|
592
|
+
hasLogin && (React__default.createElement(React__default.Fragment, null, loginOnClick ? (React__default.createElement("div", { className: "arc-SiteHeader-loginLink arc-SiteHeader-loginLink--function", onClick: loginOnClick }, loginTitle)) : (React__default.createElement("a", { className: "arc-SiteHeader-loginLink", href: loginHref }, loginTitle)))))))))));
|
|
571
593
|
};
|
|
572
594
|
Column.displayName = "SiteHeader.Column";
|
|
573
595
|
Item.displayName = "SiteHeader.Item";
|
|
@@ -626,7 +648,7 @@ var SiteHeaderRehydrator = function (el, hydrate) { return __awaiter(void 0, voi
|
|
|
626
648
|
logoLabel: logoLabel,
|
|
627
649
|
search: search
|
|
628
650
|
};
|
|
629
|
-
return [2 /*return*/,
|
|
651
|
+
return [2 /*return*/, React__default.createElement(SiteHeader, __assign({}, props), children)];
|
|
630
652
|
}
|
|
631
653
|
});
|
|
632
654
|
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Surface, SurfaceContext, backgrounds, backgroundsBT } from "../_shared/esm/Surface-
|
|
1
|
+
export { Surface, SurfaceContext, backgrounds, backgroundsBT } from "../_shared/esm/Surface-bf201530";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { S as Surface, C as SurfaceContext, b as backgrounds, a as backgroundsBT } from '../_shared/esm/Surface-
|
|
1
|
+
export { S as Surface, C as SurfaceContext, b as backgrounds, a as backgroundsBT } from '../_shared/esm/Surface-bf201530.js';
|
|
2
2
|
import '../_shared/esm/index-229fc864.js';
|
|
3
3
|
import '../_shared/esm/index-2ae58626.js';
|
|
4
4
|
import 'react';
|
package/dist/Text/Text.esm.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Text } from "../_shared/esm/Text-
|
|
1
|
+
export { Text } from "../_shared/esm/Text-6b958ad8";
|
package/dist/Text/Text.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { T as Text } from '../_shared/esm/Text-
|
|
1
|
+
export { T as Text } from '../_shared/esm/Text-6b958ad8.js';
|
|
2
2
|
import '../_shared/esm/index-229fc864.js';
|
|
3
3
|
import '../_shared/esm/index-2ae58626.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import '../_shared/esm/suffix-modifier-f5e28822.js';
|
|
6
|
-
import '../_shared/esm/Surface-
|
|
6
|
+
import '../_shared/esm/Surface-bf201530.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FC } from "react";
|
|
4
|
-
import { FormControlProps } from "../_shared/cjs/FormControl-
|
|
4
|
+
import { FormControlProps } from "../_shared/cjs/FormControl-e6b7d7c5";
|
|
5
5
|
type EventType = React.ChangeEvent<HTMLInputElement>;
|
|
6
6
|
/**
|
|
7
7
|
* Use `TextInput` to allow custom user text entry with a keyboard.
|
|
@@ -58,6 +58,10 @@ interface TextInputProps extends Omit<FormControlProps, "children" | "elementTyp
|
|
|
58
58
|
* Validation regex pattern.
|
|
59
59
|
*/
|
|
60
60
|
pattern?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Enable button to toggle TextInput type from `Selected Type` to `Text`
|
|
63
|
+
*/
|
|
64
|
+
showPassword?: boolean;
|
|
61
65
|
/**
|
|
62
66
|
* Type for the input. `number` will be changed to `text` and set the `numeric` inputMode.
|
|
63
67
|
*/
|
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var index = require('../_shared/cjs/index-78b35bc1.js');
|
|
6
6
|
var index$1 = require('../_shared/cjs/index-45bfb67b.js');
|
|
7
7
|
var React = require('react');
|
|
8
|
-
var FormControl = require('../_shared/cjs/FormControl-
|
|
8
|
+
var FormControl = require('../_shared/cjs/FormControl-e6b7d7c5.js');
|
|
9
9
|
var Surface = require('../_shared/cjs/Surface-d6b8010e.js');
|
|
10
|
+
var VisuallyHidden = require('../_shared/cjs/VisuallyHidden-e2c8b291.js');
|
|
11
|
+
require('../_shared/cjs/Text-1d3844be.js');
|
|
12
|
+
require('../_shared/cjs/suffix-modifier-edf7851e.js');
|
|
13
|
+
require('../_shared/cjs/BtIconChevronRightMid-5a38d855.js');
|
|
10
14
|
|
|
11
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
16
|
|
|
@@ -43,22 +47,37 @@ var useNumericInput = function (props) {
|
|
|
43
47
|
* Use `TextInput` to allow custom user text entry with a keyboard.
|
|
44
48
|
*/
|
|
45
49
|
var TextInput = React.forwardRef(function (_a, ref) {
|
|
46
|
-
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 = index.__rest(_a, ["defaultValue", "errorMessage", "helper", "id", "inputMode", "isDisabled", "isReadOnly", "isRequired", "label", "labelSize", "maxLength", "minLength", "name", "onBlur", "onChange", "pattern", "type", "value"]);
|
|
50
|
+
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, onClickDisclosure = _a.onClickDisclosure, pattern = _a.pattern, _g = _a.type, type = _g === void 0 ? "text" : _g, _h = _a.showPassword, showPassword = _h === void 0 ? false : _h, value = _a.value, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, props = index.__rest(_a, ["defaultValue", "errorMessage", "helper", "id", "inputMode", "isDisabled", "isReadOnly", "isRequired", "label", "labelSize", "maxLength", "minLength", "name", "onBlur", "onChange", "onClickDisclosure", "pattern", "type", "showPassword", "value", "disclosureTitle", "disclosureText"]);
|
|
47
51
|
var surface = React.useContext(Surface.Context).surface;
|
|
48
|
-
var
|
|
52
|
+
var _j = React.useState(false), showPasswordToggle = _j[0], setShowPasswordToggle = _j[1];
|
|
53
|
+
var inferredInputProps = useNumericInput({
|
|
54
|
+
inputMode: inputMode,
|
|
55
|
+
pattern: pattern,
|
|
56
|
+
type: showPasswordToggle ? "text" : type
|
|
57
|
+
});
|
|
49
58
|
// Although this is used within FormControlWrapper, it's deterministic so we can call it here too
|
|
50
59
|
var ariaDescribedby = FormControl.useAriaDescribedby({
|
|
51
60
|
errorMessage: errorMessage,
|
|
52
61
|
id: id,
|
|
53
|
-
helper: helper
|
|
62
|
+
helper: helper,
|
|
63
|
+
disclosureText: disclosureText
|
|
54
64
|
}).ariaDescribedby;
|
|
55
65
|
return (React__default["default"].createElement("div", index.__assign({ className: index$1.classNames({
|
|
56
66
|
"arc-TextInput": true,
|
|
67
|
+
"arc-TextInput--withPasswordToggle": showPassword,
|
|
57
68
|
"arc-TextInput--invalid": errorMessage,
|
|
58
69
|
"arc-TextInput--onDarkSurface": surface === "dark"
|
|
59
70
|
}) }, index.filterDataAttrs(props)),
|
|
60
|
-
React__default["default"].createElement(FormControl.FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional" },
|
|
61
|
-
React__default["default"].createElement("
|
|
71
|
+
React__default["default"].createElement(FormControl.FormControl, { errorMessage: errorMessage, helper: helper, htmlFor: id, isDisabled: isDisabled, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", disclosureTitle: disclosureTitle, disclosureText: disclosureText, onClickDisclosure: onClickDisclosure },
|
|
72
|
+
React__default["default"].createElement("div", { className: "arc-TextInput-inputWrapper" },
|
|
73
|
+
React__default["default"].createElement("input", index.__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)),
|
|
74
|
+
showPassword && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
75
|
+
React__default["default"].createElement("button", { className: "arc-TextInput-passwordToggle", onClick: function () { return setShowPasswordToggle(function (p) { return !p; }); }, type: "button" }, showPasswordToggle ? "Hide" : "Show"),
|
|
76
|
+
React__default["default"].createElement(VisuallyHidden.VisuallyHidden, null,
|
|
77
|
+
React__default["default"].createElement("div", { "aria-live": "polite" },
|
|
78
|
+
React__default["default"].createElement("p", null, showPasswordToggle
|
|
79
|
+
? "Your password is shown"
|
|
80
|
+
: "Your password is hidden")))))))));
|
|
62
81
|
});
|
|
63
82
|
|
|
64
83
|
exports.TextInput = TextInput;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FC } from "react";
|
|
4
|
-
import { FormControlProps } from "../_shared/esm/FormControl-
|
|
4
|
+
import { FormControlProps } from "../_shared/esm/FormControl-84c9ace6";
|
|
5
5
|
type EventType = React.ChangeEvent<HTMLInputElement>;
|
|
6
6
|
/**
|
|
7
7
|
* Use `TextInput` to allow custom user text entry with a keyboard.
|
|
@@ -58,6 +58,10 @@ interface TextInputProps extends Omit<FormControlProps, "children" | "elementTyp
|
|
|
58
58
|
* Validation regex pattern.
|
|
59
59
|
*/
|
|
60
60
|
pattern?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Enable button to toggle TextInput type from `Selected Type` to `Text`
|
|
63
|
+
*/
|
|
64
|
+
showPassword?: boolean;
|
|
61
65
|
/**
|
|
62
66
|
* Type for the input. `number` will be changed to `text` and set the `numeric` inputMode.
|
|
63
67
|
*/
|