@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.
Files changed (158) hide show
  1. package/dist/Align/Align.esm.js +4 -4
  2. package/dist/Badge/Badge.cjs.d.ts +26 -0
  3. package/dist/Badge/Badge.cjs.js +37 -0
  4. package/dist/Badge/Badge.esm.d.ts +26 -0
  5. package/dist/Badge/Badge.esm.js +29 -0
  6. package/dist/Badge/package.json +7 -0
  7. package/dist/Base/Base.cjs.d.ts +1 -16
  8. package/dist/Base/Base.cjs.js +4 -16
  9. package/dist/Base/Base.esm.d.ts +1 -16
  10. package/dist/Base/Base.esm.js +3 -15
  11. package/dist/BrandLogo/BrandLogo.esm.d.ts +1 -1
  12. package/dist/BrandLogo/BrandLogo.esm.js +2 -2
  13. package/dist/Breadcrumbs/Breadcrumbs.cjs.js +4 -4
  14. package/dist/Breadcrumbs/Breadcrumbs.esm.js +27 -27
  15. package/dist/Button/Button.cjs.d.ts +1 -1
  16. package/dist/Button/Button.cjs.js +4 -4
  17. package/dist/Button/Button.esm.d.ts +1 -1
  18. package/dist/Button/Button.esm.js +5 -5
  19. package/dist/Card/Card.cjs.js +3 -3
  20. package/dist/Card/Card.esm.js +27 -27
  21. package/dist/Checkbox/Checkbox.cjs.js +35 -8
  22. package/dist/Checkbox/Checkbox.esm.js +38 -11
  23. package/dist/Clock/Clock.esm.js +3 -3
  24. package/dist/Columns/Columns.esm.js +5 -5
  25. package/dist/Curve/Curve.esm.d.ts +1 -1
  26. package/dist/Curve/Curve.esm.js +1 -1
  27. package/dist/Disclosure/Disclosure.cjs.js +3 -0
  28. package/dist/Disclosure/Disclosure.esm.d.ts +1 -1
  29. package/dist/Disclosure/Disclosure.esm.js +10 -7
  30. package/dist/Elevation/Elevation.esm.js +2 -2
  31. package/dist/FormControl/FormControl.cjs.d.ts +1 -1
  32. package/dist/FormControl/FormControl.cjs.js +4 -1
  33. package/dist/FormControl/FormControl.esm.d.ts +1 -1
  34. package/dist/FormControl/FormControl.esm.js +5 -2
  35. package/dist/Group/Group.esm.js +6 -6
  36. package/dist/Heading/Heading.esm.d.ts +1 -1
  37. package/dist/Heading/Heading.esm.js +2 -2
  38. package/dist/Icon/Icon.cjs.d.ts +1 -1
  39. package/dist/Icon/Icon.cjs.js +2 -3
  40. package/dist/Icon/Icon.esm.d.ts +1 -1
  41. package/dist/Icon/Icon.esm.js +3 -4
  42. package/dist/Image/Image.esm.d.ts +1 -1
  43. package/dist/Image/Image.esm.js +1 -1
  44. package/dist/Markup/Markup.esm.js +3 -3
  45. package/dist/Poster/Poster.esm.d.ts +1 -1
  46. package/dist/Poster/Poster.esm.js +9 -9
  47. package/dist/RadioGroup/RadioGroup.cjs.d.ts +1 -1
  48. package/dist/RadioGroup/RadioGroup.cjs.js +4 -1
  49. package/dist/RadioGroup/RadioGroup.esm.d.ts +1 -1
  50. package/dist/RadioGroup/RadioGroup.esm.js +15 -12
  51. package/dist/Rule/Rule.esm.js +3 -3
  52. package/dist/Section/Section.esm.d.ts +1 -1
  53. package/dist/Section/Section.esm.js +1 -1
  54. package/dist/Select/Select.cjs.d.ts +25 -0
  55. package/dist/Select/Select.cjs.js +3010 -0
  56. package/dist/Select/Select.esm.d.ts +25 -0
  57. package/dist/Select/Select.esm.js +2983 -0
  58. package/dist/Select/package.json +7 -0
  59. package/dist/SiteFooter/SiteFooter.cjs.js +5 -3
  60. package/dist/SiteFooter/SiteFooter.esm.js +34 -32
  61. package/dist/SiteHeader/SiteHeader.cjs.js +35 -13
  62. package/dist/SiteHeader/SiteHeader.esm.d.ts +1 -1
  63. package/dist/SiteHeader/SiteHeader.esm.js +110 -88
  64. package/dist/Surface/Surface.esm.d.ts +1 -1
  65. package/dist/Surface/Surface.esm.js +1 -1
  66. package/dist/Text/Text.esm.d.ts +1 -1
  67. package/dist/Text/Text.esm.js +2 -2
  68. package/dist/TextInput/TextInput.cjs.d.ts +5 -1
  69. package/dist/TextInput/TextInput.cjs.js +25 -6
  70. package/dist/TextInput/TextInput.esm.d.ts +5 -1
  71. package/dist/TextInput/TextInput.esm.js +28 -9
  72. package/dist/Truncate/Truncate.cjs.d.ts +18 -0
  73. package/dist/Truncate/Truncate.cjs.js +17 -0
  74. package/dist/Truncate/Truncate.esm.d.ts +18 -0
  75. package/dist/Truncate/Truncate.esm.js +9 -0
  76. package/dist/Truncate/package.json +7 -0
  77. package/dist/UniversalHeader/UniversalHeader.esm.js +8 -8
  78. package/dist/VerticalSpace/VerticalSpace.esm.js +2 -2
  79. package/dist/VisuallyHidden/VisuallyHidden.cjs.d.ts +1 -12
  80. package/dist/VisuallyHidden/VisuallyHidden.cjs.js +3 -12
  81. package/dist/VisuallyHidden/VisuallyHidden.esm.d.ts +1 -12
  82. package/dist/VisuallyHidden/VisuallyHidden.esm.js +2 -11
  83. package/dist/_shared/cjs/Base-e2b846fe.d.ts +19 -0
  84. package/dist/_shared/cjs/Base-e2b846fe.js +22 -0
  85. package/dist/_shared/cjs/BtIconChevronDown2Px-8fb4e2eb.js +29 -0
  86. package/dist/_shared/cjs/BtIconChevronRight2Px-a8e40136.js +50 -0
  87. package/dist/_shared/cjs/BtIconChevronRightMid-5a38d855.js +31 -0
  88. package/dist/_shared/cjs/{Button-1743b3ec.d.ts → Button-b3a69953.d.ts} +3 -3
  89. package/dist/_shared/cjs/{Button-1743b3ec.js → Button-b3a69953.js} +29 -6
  90. package/dist/_shared/cjs/{FormControl-7d8e10fa.d.ts → FormControl-e6b7d7c5.d.ts} +51 -3
  91. package/dist/_shared/cjs/FormControl-e6b7d7c5.js +147 -0
  92. package/dist/_shared/cjs/{Icon-bb5a5fd1.d.ts → Icon-719d13d4.d.ts} +6 -6
  93. package/dist/_shared/cjs/Icon-719d13d4.js +52 -0
  94. package/dist/_shared/cjs/VisuallyHidden-e2c8b291.d.ts +12 -0
  95. package/dist/_shared/cjs/VisuallyHidden-e2c8b291.js +17 -0
  96. package/dist/_shared/cjs/arc-icon-17594b2f.d.ts +4 -0
  97. package/dist/_shared/cjs/index-c81c9401.d.ts +2 -2
  98. package/dist/_shared/cjs/{use-media-query-75d1bbae.js → index.es-77def0c9.js} +9 -0
  99. package/dist/_shared/esm/Base-c235dc45.d.ts +19 -0
  100. package/dist/_shared/esm/Base-c235dc45.js +15 -0
  101. package/dist/_shared/esm/{BrandLogo-ea3dd0e6.js → BrandLogo-4f13fe85.js} +4 -4
  102. package/dist/_shared/esm/BtIconChevronDown2Px-782876e2.js +23 -0
  103. package/dist/_shared/esm/BtIconChevronRight2Px-b8e7b4ad.js +43 -0
  104. package/dist/_shared/esm/BtIconChevronRightMid-d9b11761.js +25 -0
  105. package/dist/_shared/esm/{Button-d59c31a2.d.ts → Button-69439f8f.d.ts} +3 -3
  106. package/dist/_shared/esm/Button-69439f8f.js +74 -0
  107. package/dist/_shared/esm/{Curve-cfdca379.js → Curve-50697f7e.js} +2 -2
  108. package/dist/_shared/esm/{FormControl-33194106.d.ts → FormControl-84c9ace6.d.ts} +51 -3
  109. package/dist/_shared/esm/FormControl-84c9ace6.js +138 -0
  110. package/dist/_shared/esm/{Heading-183be76c.js → Heading-eb1e42db.js} +4 -4
  111. package/dist/_shared/esm/{Icon-2fd92daa.d.ts → Icon-61f7237a.d.ts} +6 -6
  112. package/dist/_shared/esm/Icon-61f7237a.js +46 -0
  113. package/dist/_shared/esm/{Image-7e4948f6.js → Image-c0f3d42f.js} +7 -7
  114. package/dist/_shared/esm/{Section-f1256c87.js → Section-7bc71e26.js} +2 -2
  115. package/dist/_shared/esm/{Surface-d515d212.js → Surface-bf201530.js} +3 -3
  116. package/dist/_shared/esm/{Text-d8988620.js → Text-6b958ad8.js} +3 -3
  117. package/dist/_shared/esm/VisuallyHidden-b9eebf71.d.ts +12 -0
  118. package/dist/_shared/esm/VisuallyHidden-b9eebf71.js +11 -0
  119. package/dist/_shared/esm/arc-icon-17594b2f.d.ts +4 -0
  120. package/dist/_shared/esm/index-c81c9401.d.ts +2 -2
  121. package/dist/_shared/esm/{use-media-query-38faed7f.js → index.es-00cb3bcb.js} +8 -1
  122. package/dist/index.es.js +34545 -717
  123. package/dist/index.es.js.map +1 -1
  124. package/dist/index.js +34537 -688
  125. package/dist/index.js.map +1 -1
  126. package/dist/styles.css +1 -1
  127. package/dist/types/components/Badge/Badge.d.ts +25 -0
  128. package/dist/types/components/Badge/index.d.ts +1 -0
  129. package/dist/types/components/Button/Button.d.ts +3 -3
  130. package/dist/types/components/FormControl/FormControl.d.ts +17 -0
  131. package/dist/types/components/FormControl/FormControlDisclosure/FormControlDisclosure.d.ts +28 -0
  132. package/dist/types/components/FormControl/FormControlDisclosure/index.d.ts +1 -0
  133. package/dist/types/components/Icon/Icon.d.ts +6 -6
  134. package/dist/types/components/Select/Select.d.ts +2 -1
  135. package/dist/types/components/TextInput/TextInput.d.ts +4 -0
  136. package/dist/types/components/Truncate/Truncate.d.ts +17 -0
  137. package/dist/types/components/Truncate/index.d.ts +1 -0
  138. package/dist/types/components/index.d.ts +3 -0
  139. package/dist/types/hooks/use-aria-describedby.d.ts +5 -1
  140. package/dist/types/styles.d.ts +4 -0
  141. package/dist/types/types/arc-icon.d.ts +2 -0
  142. package/package.json +4 -3
  143. package/dist/_shared/cjs/FormControl-7d8e10fa.js +0 -82
  144. package/dist/_shared/cjs/Icon-bb5a5fd1.js +0 -33
  145. package/dist/_shared/cjs/index.es-f590caaf.js +0 -290
  146. package/dist/_shared/esm/Button-d59c31a2.js +0 -51
  147. package/dist/_shared/esm/FormControl-33194106.js +0 -74
  148. package/dist/_shared/esm/Icon-2fd92daa.js +0 -27
  149. package/dist/_shared/esm/index.es-42f84e2d.js +0 -286
  150. /package/dist/_shared/cjs/{use-media-query-75d1bbae.d.ts → index.es-77def0c9.d.ts} +0 -0
  151. /package/dist/_shared/esm/{BrandLogo-ea3dd0e6.d.ts → BrandLogo-4f13fe85.d.ts} +0 -0
  152. /package/dist/_shared/esm/{Curve-cfdca379.d.ts → Curve-50697f7e.d.ts} +0 -0
  153. /package/dist/_shared/esm/{Heading-183be76c.d.ts → Heading-eb1e42db.d.ts} +0 -0
  154. /package/dist/_shared/esm/{Image-7e4948f6.d.ts → Image-c0f3d42f.d.ts} +0 -0
  155. /package/dist/_shared/esm/{Section-f1256c87.d.ts → Section-7bc71e26.d.ts} +0 -0
  156. /package/dist/_shared/esm/{Surface-d515d212.d.ts → Surface-bf201530.d.ts} +0 -0
  157. /package/dist/_shared/esm/{Text-d8988620.d.ts → Text-6b958ad8.d.ts} +0 -0
  158. /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-42f84e2d.js';
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 React, { useState, useEffect, Fragment, useContext, useRef, createContext } from 'react';
5
- import { B as BrandLogo } from '../_shared/esm/BrandLogo-ea3dd0e6.js';
6
- import { B as Button } from '../_shared/esm/Button-d59c31a2.js';
7
- import { u as useMediaQuery } from '../_shared/esm/use-media-query-38faed7f.js';
8
- import { S as Surface } from '../_shared/esm/Surface-d515d212.js';
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-d8988620.js';
12
- import '../_shared/esm/Icon-2fd92daa.js';
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 (React.createElement("li", __assign({ className: classNames((_b = {},
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
- React.createElement("a", { onClick: handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderItem-link", href: href }, children)));
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
- React.Children.map(children, function (item) {
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 (React.createElement("li", { className: "arc-SiteHeaderItemGroup" },
44
- React.createElement(ElementType, __assign({ className: "arc-SiteHeaderItemGroup-details", open: Boolean(title && isMinWidthArcBreakpointL) }, filterDataAttrs(props)),
45
- title ? (React.createElement("summary", { className: "arc-SiteHeaderItemGroup-summary", tabIndex: isMinWidthArcBreakpointL ? -1 : 0 }, href ? (React.createElement("a", { onClick: handleLinkClick({
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 }, title)) : (React.createElement("div", { className: "arc-SiteHeaderItemGroup-title" }, title)))) : null,
48
- React.createElement("ul", { className: "arc-SiteHeaderItemGroup-items" },
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 ? (React.createElement("li", { className: "arc-SiteHeaderItem arc-SiteHeaderItem--viewAll" },
51
- React.createElement("a", { className: "arc-SiteHeaderItem-link", onClick: handleLinkClick({
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*/, React.createElement(ItemGroup, __assign({}, props), children)];
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
- React.Children.map(children, function (item) {
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 (React.createElement("li", __assign({ className: "arc-SiteHeaderColumn" }, filterDataAttrs(props)),
96
- React.createElement("ul", { className: "arc-SiteHeaderColumn-items" }, children)));
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 (React.createElement("button", { className: "arc-SiteHeaderBackButton", onClick: function () {
109
+ return (React__default.createElement("button", { className: "arc-SiteHeaderBackButton", onClick: function () {
102
110
  setOpen(false);
103
111
  } },
104
- React.createElement("span", { className: "arc-SiteHeaderBackButton-text" }, "Back")));
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 (React.createElement("div", __assign({ className: classNames((_b = {},
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
- React.createElement(Surface, { background: "white", growVertically: true },
172
- React.createElement(BackButton, { setOpen: setOpen }),
173
- React.createElement("div", { className: "arc-SiteHeaderPanel-inner" },
174
- React.createElement("div", { className: "arc-SiteHeaderPanel-main" },
175
- React.createElement("div", { className: "arc-SiteHeaderPanel-mainInner" },
176
- withSubNav && (React.createElement("div", { className: "arc-SiteHeaderPanel-subNavArea" })),
177
- title && (React.createElement("div", { className: "arc-SiteHeaderPanel-title" }, title)),
178
- React.createElement("ul", { className: "arc-SiteHeaderPanel-items" }, children)),
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 && React.createElement("div", { className: "arc-SiteHeaderPanel-promo" }, 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 (React.createElement("a", { onClick: handleLinkClick({ handler: onClick }), className: "arc-SiteHeaderPanel-viewAll", href: href }, title));
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
- React.Children.map(children, function (item) {
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 (React.createElement("li", __assign({ className: classNames((_b = {},
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 ? (React.createElement("a", { onClick: handleLinkClick({
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) : (React.createElement(React.Fragment, null,
210
- React.createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
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
- } }, title),
217
- React.createElement(Panel, { navItemRef: navItem, open: panelOpen, promo: promo, setOpen: setPanelOpen, viewAll: href ? (React.createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined) }, children)))));
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*/, React.createElement(NavItem, __assign({}, props), children)];
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
- React.Children.map(children, function (item) {
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 = (React.createElement(React.Fragment, null,
288
- React.createElement("span", { className: "arc-SiteHeaderSubNavItem-linkTitle" }, title),
289
- subTitle ? (React.createElement("span", { className: "arc-SiteHeaderSubNavItem-linkSubTitle" }, subTitle)) : null));
290
- return (React.createElement("li", __assign({ className: classNames((_b = {},
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 ? (React.createElement("a", { className: "arc-SiteHeaderSubNavItem-link", onClick: handleLinkClick({ handler: onClick }), href: href }, linkTitle)) : null) : (React.createElement(React.Fragment, null,
295
- React.createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
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
- } }, linkTitle),
301
- React.createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, subNavItemRef: subNavItem, subNavLink: "arc-SiteHeaderSubNavItem-link", promo: promo, title: React.createElement("span", null,
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 && (React.createElement(Text, { size: "xs", tone: "supporting" }, subTitle))), viewAll: href ? (React.createElement(Panel.ViewAll, { href: href, onClick: onClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined) }, children)))));
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*/, React.createElement(SubNavItem, __assign({}, props), children)];
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
- React.Children.map(slot1, function (item) {
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
- React.Children.map(slot2, function (item) {
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
- React.Children.map(slot3, function (item) {
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 (React.createElement(Provider$1, { value: { navItem: navItem, subTitle: subTitle } },
398
- React.createElement("li", __assign({ className: classNames((_b = {},
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
- React.createElement("button", { "aria-expanded": panelOpen, className: classNames((_c = {},
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
- } }, title),
409
- React.createElement(Panel, { navItemRef: navItem, open: panelOpen, setOpen: setPanelOpen, title: subTitle, viewAll: href ? (React.createElement(Panel.ViewAll, { href: href, onClick: onViewAllClick, title: viewAllTitle || "View all ".concat(title.toLowerCase()) })) : (undefined), withSubNav: true },
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
- ? React.cloneElement(slot1, { isDefaultItem: defaultItem })
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*/, React.createElement(NavItemWithSubNav, __assign({}, props))];
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 (React.createElement("button", { "aria-expanded": menuOpen, className: classNames((_b = {},
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
- React.createElement("span", { className: "arc-MenuButton-box" },
482
- React.createElement("span", { className: "arc-MenuButton-inner" }),
483
- React.createElement("span", { className: "arc-MenuButton-text" }, "Menu"))));
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
- React.Children.map(children, function (item) {
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 (React.createElement(Provider, { value: { transparent: isTransparent } },
546
- React.createElement("div", __assign({ className: classNames((_b = {},
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
- React.createElement(Surface, { background: !isTransparent || (menuOpen && !isMinWidthArcBreakpointL)
573
+ React__default.createElement(Surface, { background: !isTransparent || (menuOpen && !isMinWidthArcBreakpointL)
552
574
  ? "brand-flat"
553
575
  : undefined },
554
- React.createElement("div", { className: "arc-SiteHeader-inner" },
555
- React.createElement("a", { className: "arc-SiteHeader-brand", onClick: handleLinkClick({
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
- React.createElement(BrandLogo, { label: logoLabel, subBrand: subBrand })),
559
- children && (React.createElement("nav", { className: "arc-SiteHeader-nav" },
560
- React.createElement("div", { className: "arc-SiteHeader-menuButton" },
561
- React.createElement(MenuButton, { menuOpen: menuOpen, setMenuOpen: setMenuOpen })),
562
- React.createElement("div", { className: "arc-SiteHeader-main" },
563
- React.createElement("ul", { className: "arc-SiteHeader-navItems" }, children),
564
- hasLogin && (React.createElement(React.Fragment, null, loginOnClick ? (React.createElement("div", { className: "arc-SiteHeader-loginButton" },
565
- React.createElement(Button, { onClick: loginOnClick, isFullWidth: true, label: loginTitle }))) : (React.createElement("div", { className: "arc-SiteHeader-loginButton" },
566
- React.createElement(Button, { href: loginHref, isFullWidth: true, label: loginTitle })))))))),
567
- (basket || hasLogin || search) && (React.createElement("div", { className: "arc-SiteHeader-secondary" },
568
- search ? (React.createElement("div", { className: "arc-SiteHeader-search" }, search)) : null,
569
- basket ? (React.createElement("div", { className: "arc-SiteHeader-basket" }, basket)) : null,
570
- hasLogin && (React.createElement(React.Fragment, null, loginOnClick ? (React.createElement("div", { className: "arc-SiteHeader-loginLink arc-SiteHeader-loginLink--function", onClick: loginOnClick }, loginTitle)) : (React.createElement("a", { className: "arc-SiteHeader-loginLink", href: loginHref }, loginTitle)))))))))));
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*/, React.createElement(SiteHeader, __assign({}, props), children)];
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-d515d212";
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-d515d212.js';
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';
@@ -1 +1 @@
1
- export { Text } from "../_shared/esm/Text-d8988620";
1
+ export { Text } from "../_shared/esm/Text-6b958ad8";
@@ -1,6 +1,6 @@
1
- export { T as Text } from '../_shared/esm/Text-d8988620.js';
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-d515d212.js';
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-7d8e10fa";
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-7d8e10fa.js');
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 inferredInputProps = useNumericInput({ inputMode: inputMode, pattern: pattern, type: type });
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("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)))));
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-33194106";
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
  */