@arc-ui/components 11.5.0 → 11.6.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 (207) hide show
  1. package/dist/Breadcrumbs/Breadcrumbs.cjs.d.ts +1 -61
  2. package/dist/Breadcrumbs/Breadcrumbs.cjs.js +9 -641
  3. package/dist/Breadcrumbs/Breadcrumbs.esm.d.ts +1 -61
  4. package/dist/Breadcrumbs/Breadcrumbs.esm.js +8 -640
  5. package/dist/Button/Button.cjs.d.ts +1 -1
  6. package/dist/Button/Button.cjs.js +2 -1
  7. package/dist/Button/Button.esm.d.ts +1 -1
  8. package/dist/Button/Button.esm.js +2 -1
  9. package/dist/Card/Card.cjs.d.ts +1 -130
  10. package/dist/Card/Card.cjs.js +12 -119
  11. package/dist/Card/Card.esm.d.ts +1 -130
  12. package/dist/Card/Card.esm.js +11 -118
  13. package/dist/Checkbox/Checkbox.cjs.d.ts +1 -64
  14. package/dist/Checkbox/Checkbox.cjs.js +10 -59
  15. package/dist/Checkbox/Checkbox.esm.d.ts +1 -64
  16. package/dist/Checkbox/Checkbox.esm.js +9 -58
  17. package/dist/Columns/Columns.cjs.d.ts +1 -76
  18. package/dist/Columns/Columns.cjs.js +6 -52
  19. package/dist/Columns/Columns.esm.d.ts +1 -76
  20. package/dist/Columns/Columns.esm.js +5 -51
  21. package/dist/DisclosureMini/DisclosureMini.cjs.d.ts +1 -1
  22. package/dist/DisclosureMini/DisclosureMini.cjs.js +1 -1
  23. package/dist/DisclosureMini/DisclosureMini.esm.d.ts +1 -1
  24. package/dist/DisclosureMini/DisclosureMini.esm.js +1 -1
  25. package/dist/Filter/Filter.cjs.d.ts +1 -0
  26. package/dist/Filter/Filter.cjs.js +13 -0
  27. package/dist/Filter/Filter.esm.d.ts +1 -0
  28. package/dist/Filter/Filter.esm.js +5 -0
  29. package/dist/Filter/package.json +7 -0
  30. package/dist/FormControl/FormControl.cjs.d.ts +1 -1
  31. package/dist/FormControl/FormControl.cjs.js +2 -3
  32. package/dist/FormControl/FormControl.esm.d.ts +1 -1
  33. package/dist/FormControl/FormControl.esm.js +2 -3
  34. package/dist/Group/Group.cjs.d.ts +1 -46
  35. package/dist/Group/Group.cjs.js +6 -43
  36. package/dist/Group/Group.esm.d.ts +1 -46
  37. package/dist/Group/Group.esm.js +5 -42
  38. package/dist/Pagination/Pagination.cjs.d.ts +20 -0
  39. package/dist/Pagination/Pagination.cjs.js +87 -0
  40. package/dist/Pagination/Pagination.esm.d.ts +20 -0
  41. package/dist/Pagination/Pagination.esm.js +79 -0
  42. package/dist/Pagination/package.json +7 -0
  43. package/dist/PaginationSimple/PaginationSimple.cjs.d.ts +28 -0
  44. package/dist/PaginationSimple/PaginationSimple.cjs.js +47 -0
  45. package/dist/PaginationSimple/PaginationSimple.esm.d.ts +28 -0
  46. package/dist/PaginationSimple/PaginationSimple.esm.js +39 -0
  47. package/dist/PaginationSimple/package.json +7 -0
  48. package/dist/Poster/Poster.cjs.d.ts +1 -81
  49. package/dist/Poster/Poster.cjs.js +8 -45
  50. package/dist/Poster/Poster.esm.d.ts +1 -81
  51. package/dist/Poster/Poster.esm.js +7 -44
  52. package/dist/RadioGroup/RadioGroup.cjs.d.ts +1 -85
  53. package/dist/RadioGroup/RadioGroup.cjs.js +8 -67
  54. package/dist/RadioGroup/RadioGroup.esm.d.ts +1 -85
  55. package/dist/RadioGroup/RadioGroup.esm.js +7 -66
  56. package/dist/ScrollToTop/ScrollToTop.cjs.d.ts +25 -0
  57. package/dist/ScrollToTop/ScrollToTop.cjs.js +68 -0
  58. package/dist/ScrollToTop/ScrollToTop.esm.d.ts +25 -0
  59. package/dist/ScrollToTop/ScrollToTop.esm.js +60 -0
  60. package/dist/ScrollToTop/package.json +7 -0
  61. package/dist/Select/Select.cjs.d.ts +2 -2
  62. package/dist/Select/Select.cjs.js +2 -3
  63. package/dist/Select/Select.esm.d.ts +2 -2
  64. package/dist/Select/Select.esm.js +2 -3
  65. package/dist/SiteFooter/SiteFooter.cjs.d.ts +2 -62
  66. package/dist/SiteFooter/SiteFooter.cjs.js +10 -65
  67. package/dist/SiteFooter/SiteFooter.esm.d.ts +2 -62
  68. package/dist/SiteFooter/SiteFooter.esm.js +12 -66
  69. package/dist/SiteHeader/SiteHeader.cjs.d.ts +2 -260
  70. package/dist/SiteHeader/SiteHeader.cjs.js +16 -668
  71. package/dist/SiteHeader/SiteHeader.esm.d.ts +2 -260
  72. package/dist/SiteHeader/SiteHeader.esm.js +14 -666
  73. package/dist/Switch/Switch.cjs.d.ts +2 -2
  74. package/dist/Switch/Switch.cjs.js +2 -2
  75. package/dist/Switch/Switch.esm.d.ts +2 -2
  76. package/dist/Switch/Switch.esm.js +2 -2
  77. package/dist/TextArea/TextArea.cjs.d.ts +61 -0
  78. package/dist/TextArea/TextArea.cjs.js +87 -0
  79. package/dist/TextArea/TextArea.esm.d.ts +61 -0
  80. package/dist/TextArea/TextArea.esm.js +79 -0
  81. package/dist/TextArea/package.json +7 -0
  82. package/dist/TextInput/TextInput.cjs.d.ts +1 -75
  83. package/dist/TextInput/TextInput.cjs.js +9 -75
  84. package/dist/TextInput/TextInput.esm.d.ts +1 -75
  85. package/dist/TextInput/TextInput.esm.js +8 -74
  86. package/dist/UniversalHeader/UniversalHeader.cjs.d.ts +1 -26
  87. package/dist/UniversalHeader/UniversalHeader.cjs.js +5 -30
  88. package/dist/UniversalHeader/UniversalHeader.esm.d.ts +1 -26
  89. package/dist/UniversalHeader/UniversalHeader.esm.js +4 -29
  90. package/dist/_shared/cjs/Breadcrumbs-8b554370.d.ts +61 -0
  91. package/dist/_shared/cjs/Breadcrumbs-8b554370.js +106 -0
  92. package/dist/_shared/cjs/BtIconChevronLeftMid-df952a3e.js +31 -0
  93. package/dist/_shared/cjs/{Button-5dff284a.js → Button-27512fee.js} +6 -27
  94. package/dist/_shared/cjs/Card-804ab0e5.d.ts +136 -0
  95. package/dist/_shared/cjs/Card-804ab0e5.js +124 -0
  96. package/dist/_shared/cjs/Checkbox-21d3c4f6.d.ts +64 -0
  97. package/dist/_shared/cjs/Checkbox-21d3c4f6.js +62 -0
  98. package/dist/_shared/cjs/Columns-e90798f8.d.ts +76 -0
  99. package/dist/_shared/cjs/Columns-e90798f8.js +57 -0
  100. package/dist/_shared/cjs/{DisclosureMini-5af13d3c.js → DisclosureMini-067e0319.js} +3 -1
  101. package/dist/_shared/cjs/Filter-f7d2fbda.d.ts +83 -0
  102. package/dist/_shared/cjs/Filter-f7d2fbda.js +121 -0
  103. package/dist/_shared/cjs/{FormControl-42360ae8.d.ts → FormControl-9aaddd54.d.ts} +4 -0
  104. package/dist/_shared/cjs/{FormControl-42360ae8.js → FormControl-9aaddd54.js} +9 -9
  105. package/dist/_shared/cjs/Group-d83f8c2e.d.ts +46 -0
  106. package/dist/_shared/cjs/Group-d83f8c2e.js +48 -0
  107. package/dist/_shared/cjs/ItemGroup-5af4d600.d.ts +27 -0
  108. package/dist/_shared/cjs/NavItem-df20237c.d.ts +43 -0
  109. package/dist/_shared/cjs/NavItemWithSubNav-65f21828.d.ts +49 -0
  110. package/dist/_shared/cjs/Poster-e05bbe13.d.ts +81 -0
  111. package/dist/_shared/cjs/Poster-e05bbe13.js +50 -0
  112. package/dist/_shared/cjs/RadioGroup-81805ef9.d.ts +97 -0
  113. package/dist/_shared/cjs/RadioGroup-81805ef9.js +70 -0
  114. package/dist/_shared/cjs/SiteFooter-c540b5f1.d.ts +62 -0
  115. package/dist/_shared/cjs/SiteFooter-c540b5f1.js +73 -0
  116. package/dist/_shared/cjs/SiteHeader-c25ee36e.d.ts +78 -0
  117. package/dist/_shared/cjs/SiteHeader.rehydrator-f7fa2efe.d.ts +78 -0
  118. package/dist/_shared/cjs/SiteHeader.rehydrator-f7fa2efe.js +673 -0
  119. package/dist/_shared/cjs/SubNavItem-a84d1bf4.d.ts +48 -0
  120. package/dist/_shared/cjs/TextInput-33314fc4.d.ts +10 -0
  121. package/dist/_shared/cjs/TextInput-33314fc4.js +78 -0
  122. package/dist/_shared/cjs/TextInput-7ed03a48.d.ts +75 -0
  123. package/dist/_shared/cjs/UniversalHeader-cc1d9e5a.d.ts +26 -0
  124. package/dist/_shared/cjs/UniversalHeader-cc1d9e5a.js +35 -0
  125. package/dist/_shared/cjs/debounce-506538c5.js +544 -0
  126. package/dist/_shared/cjs/index-699086a7.d.ts +2 -0
  127. package/dist/_shared/cjs/index-74488a9f.d.ts +2 -0
  128. package/dist/_shared/cjs/index-c81c9401.d.ts +3 -3
  129. package/dist/_shared/cjs/index-e340924e.d.ts +2 -0
  130. package/dist/_shared/cjs/index-e6d20018.d.ts +3 -0
  131. package/dist/_shared/cjs/index-eb06f640.d.ts +2 -0
  132. package/dist/_shared/cjs/index-f419cf04.d.ts +2 -0
  133. package/dist/_shared/esm/Breadcrumbs-04590057.d.ts +61 -0
  134. package/dist/_shared/esm/Breadcrumbs-04590057.js +100 -0
  135. package/dist/_shared/esm/BtIconChevronLeftMid-9f4f3a3d.js +25 -0
  136. package/dist/_shared/esm/{Button-61241dd0.js → Button-d319fa11.js} +2 -23
  137. package/dist/_shared/esm/Card-e79eb6c8.d.ts +136 -0
  138. package/dist/_shared/esm/Card-e79eb6c8.js +118 -0
  139. package/dist/_shared/esm/Checkbox-94300d8c.d.ts +64 -0
  140. package/dist/_shared/esm/Checkbox-94300d8c.js +56 -0
  141. package/dist/_shared/esm/Columns-8704515b.d.ts +76 -0
  142. package/dist/_shared/esm/Columns-8704515b.js +51 -0
  143. package/dist/_shared/esm/{DisclosureMini-322fccc0.js → DisclosureMini-022beae3.js} +3 -1
  144. package/dist/_shared/esm/Filter-41b391e3.d.ts +83 -0
  145. package/dist/_shared/esm/Filter-41b391e3.js +115 -0
  146. package/dist/_shared/esm/{FormControl-0744f93f.d.ts → FormControl-5e3fdca3.d.ts} +4 -0
  147. package/dist/_shared/esm/{FormControl-0744f93f.js → FormControl-5e3fdca3.js} +9 -9
  148. package/dist/_shared/esm/Group-d62c3f56.d.ts +46 -0
  149. package/dist/_shared/esm/Group-d62c3f56.js +42 -0
  150. package/dist/_shared/esm/ItemGroup-5af4d600.d.ts +27 -0
  151. package/dist/_shared/esm/NavItem-df20237c.d.ts +43 -0
  152. package/dist/_shared/esm/NavItemWithSubNav-65f21828.d.ts +49 -0
  153. package/dist/_shared/esm/Poster-107d6954.d.ts +81 -0
  154. package/dist/_shared/esm/Poster-107d6954.js +44 -0
  155. package/dist/_shared/esm/RadioGroup-1fd0f389.d.ts +97 -0
  156. package/dist/_shared/esm/RadioGroup-1fd0f389.js +64 -0
  157. package/dist/_shared/esm/SiteFooter-8075a9bd.d.ts +62 -0
  158. package/dist/_shared/esm/SiteFooter-8075a9bd.js +67 -0
  159. package/dist/_shared/esm/SiteHeader-c25ee36e.d.ts +78 -0
  160. package/dist/_shared/esm/SiteHeader.rehydrator-4da8ac64.d.ts +78 -0
  161. package/dist/_shared/esm/SiteHeader.rehydrator-4da8ac64.js +666 -0
  162. package/dist/_shared/esm/SubNavItem-a84d1bf4.d.ts +48 -0
  163. package/dist/_shared/esm/TextInput-1631dbc4.d.ts +10 -0
  164. package/dist/_shared/esm/TextInput-1631dbc4.js +72 -0
  165. package/dist/_shared/esm/TextInput-7ed03a48.d.ts +75 -0
  166. package/dist/_shared/esm/UniversalHeader-7926abde.d.ts +26 -0
  167. package/dist/_shared/esm/UniversalHeader-7926abde.js +29 -0
  168. package/dist/_shared/esm/debounce-e228705f.js +542 -0
  169. package/dist/_shared/esm/index-699086a7.d.ts +2 -0
  170. package/dist/_shared/esm/index-74488a9f.d.ts +2 -0
  171. package/dist/_shared/esm/index-c81c9401.d.ts +3 -3
  172. package/dist/_shared/esm/index-e340924e.d.ts +2 -0
  173. package/dist/_shared/esm/index-e6d20018.d.ts +3 -0
  174. package/dist/_shared/esm/index-eb06f640.d.ts +2 -0
  175. package/dist/_shared/esm/index-f419cf04.d.ts +2 -0
  176. package/dist/index.es.js +178 -27
  177. package/dist/index.es.js.map +1 -1
  178. package/dist/index.js +179 -26
  179. package/dist/index.js.map +1 -1
  180. package/dist/styles.css +1 -1
  181. package/dist/types/components/Filter/Filter.d.ts +38 -0
  182. package/dist/types/components/Filter/FilterControls/FilterControl/FilterControl.d.ts +16 -0
  183. package/dist/types/components/Filter/FilterControls/FilterControls.d.ts +12 -0
  184. package/dist/types/components/Filter/FilterItems/FilterItem/FilterItem.d.ts +12 -0
  185. package/dist/types/components/Filter/FilterItems/FilterItems.d.ts +12 -0
  186. package/dist/types/components/Filter/index.d.ts +1 -0
  187. package/dist/types/components/FormControl/FormControl.d.ts +4 -0
  188. package/dist/types/components/Pagination/Pagination.d.ts +19 -0
  189. package/dist/types/components/Pagination/index.d.ts +1 -0
  190. package/dist/types/components/PaginationSimple/PaginationSimple.d.ts +27 -0
  191. package/dist/types/components/PaginationSimple/index.d.ts +1 -0
  192. package/dist/types/components/RadioGroup/RadioGroup.d.ts +1 -1
  193. package/dist/types/components/ScrollToTop/ScrollToTop.d.ts +24 -0
  194. package/dist/types/components/ScrollToTop/index.d.ts +1 -0
  195. package/dist/types/components/Select/Select.d.ts +1 -1
  196. package/dist/types/components/Switch/Switch.d.ts +1 -1
  197. package/dist/types/components/TextArea/TextArea.d.ts +60 -0
  198. package/dist/types/components/TextArea/index.d.ts +1 -0
  199. package/dist/types/components/TextInput/TextInput.d.ts +1 -1
  200. package/dist/types/components/index.d.ts +2 -0
  201. package/dist/types/hooks/use-pagination.d.ts +1 -0
  202. package/dist/types/styles.d.ts +7 -2
  203. package/package.json +4 -4
  204. /package/dist/_shared/cjs/{Button-5dff284a.d.ts → Button-27512fee.d.ts} +0 -0
  205. /package/dist/_shared/cjs/{DisclosureMini-5af13d3c.d.ts → DisclosureMini-067e0319.d.ts} +0 -0
  206. /package/dist/_shared/esm/{Button-61241dd0.d.ts → Button-d319fa11.d.ts} +0 -0
  207. /package/dist/_shared/esm/{DisclosureMini-322fccc0.d.ts → DisclosureMini-022beae3.d.ts} +0 -0
@@ -0,0 +1,124 @@
1
+ 'use strict';
2
+
3
+ var filterDataAttrs = require('./filter-data-attrs-a30dcf5f.js');
4
+ var index = require('./index-45bfb67b.js');
5
+ var React = require('react');
6
+ var BtIconChevronRightMid = require('./BtIconChevronRightMid-5a38d855.js');
7
+ var Icon = require('./Icon-9ae8dbe1.js');
8
+ var Image = require('./Image-3bf4b4f3.js');
9
+ var Heading = require('./Heading-d45f6a7f.js');
10
+ var suffixModifier = require('./suffix-modifier-1ee2da04.js');
11
+ var Surface = require('./Surface-6da0a78e.js');
12
+ var handleLinkClick = require('./handle-link-click-17a44cf4.js');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+
18
+ /**
19
+ * Detect interaction mode
20
+ */
21
+ var useInteractionMode = function () {
22
+ var _a = React.useState("pointer"), interactionMode = _a[0], setInteractionMode = _a[1];
23
+ React.useEffect(function () {
24
+ var onKeyDown = function (event) {
25
+ if (event.altKey || event.ctrlKey || event.metaKey) {
26
+ return;
27
+ }
28
+ setInteractionMode("keyboard");
29
+ };
30
+ var onPointerDown = function () {
31
+ setInteractionMode("pointer");
32
+ };
33
+ if (typeof window !== "undefined") {
34
+ document.addEventListener("keydown", onKeyDown, true);
35
+ document.addEventListener("click", onPointerDown, true);
36
+ }
37
+ return function () {
38
+ if (typeof window !== "undefined") {
39
+ document.removeEventListener("keydown", onKeyDown);
40
+ document.removeEventListener("click", onPointerDown);
41
+ }
42
+ };
43
+ }, []);
44
+ return { interactionMode: interactionMode };
45
+ };
46
+
47
+ /**
48
+ * Use `Card` to contain content and actions about a single subject.
49
+ */
50
+ var Card = function (_a) {
51
+ var _b;
52
+ var actionId = _a.actionId, _c = _a.actionLabel, actionLabel = _c === void 0 ? "Read more" : _c, children = _a.children, _d = _a.fill, fill = _d === void 0 ? "solid" : _d, href = _a.href, imageAlt = _a.imageAlt, imageHeight = _a.imageHeight, imageLoading = _a.imageLoading, imageSrc = _a.imageSrc, imageSrcSet = _a.imageSrcSet, linkData = _a.linkData, minHeight = _a.minHeight, onClick = _a.onClick, target = _a.target, title = _a.title, _e = _a.titleSize, titleSize = _e === void 0 ? "s" : _e, props = filterDataAttrs.__rest(_a, ["actionId", "actionLabel", "children", "fill", "href", "imageAlt", "imageHeight", "imageLoading", "imageSrc", "imageSrcSet", "linkData", "minHeight", "onClick", "target", "title", "titleSize"]);
53
+ var surface = React.useContext(Surface.Context).surface;
54
+ var interactionMode = useInteractionMode().interactionMode;
55
+ var Wrapper = function (_a) {
56
+ var children = _a.children;
57
+ return fill === "outlined" || fill === "neutral" ? (React__default["default"].createElement("div", null, children)) : (React__default["default"].createElement(Surface.Surface, { background: surface === "dark" ? "white" : "darker" }, children));
58
+ };
59
+ var coverImage = imageSrc && (React__default["default"].createElement(CardImage, { alt: imageAlt, height: imageHeight, loading: imageLoading, src: imageSrc, srcSet: imageSrcSet }));
60
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames((_b = {
61
+ "arc-Card": true,
62
+ "arc-Card--onDarkSurface": surface === "dark"
63
+ },
64
+ _b[suffixModifier.suffixModifier("arc-Card--fill", fill)] = fill !== "solid",
65
+ _b["arc-is-".concat(interactionMode, "InteractionMode")] = interactionMode,
66
+ _b)) }, filterDataAttrs.filterDataAttrs(props)),
67
+ React__default["default"].createElement(Wrapper, null,
68
+ React__default["default"].createElement("div", { className: "arc-Card-inner", style: { minHeight: minHeight } },
69
+ React__default["default"].createElement("div", { className: "arc-Card-header" },
70
+ React__default["default"].createElement("div", { className: "arc-Card-title" },
71
+ React__default["default"].createElement(Heading.Heading, { size: titleSize },
72
+ React__default["default"].createElement(CardLink, { stretch: true, onClick: onClick, actionId: actionId, fill: fill, href: href, linkData: linkData, target: target }, title))),
73
+ coverImage),
74
+ React__default["default"].createElement("div", { className: "arc-Card-children" },
75
+ React__default["default"].createElement(Card.Block, null, children)),
76
+ href && (React__default["default"].createElement(CardBlock, null,
77
+ React__default["default"].createElement(CardLink, { href: href, fill: fill, actionId: actionId, onClick: onClick, isButton: true }, actionLabel)))))));
78
+ };
79
+ /**
80
+ * Internal `Card.Block` component to section blocks of content within a Card.
81
+ */
82
+ var CardBlock = function (_a) {
83
+ var _b = _a.align, align = _b === void 0 ? "left" : _b, children = _a.children, _c = _a.isFullWidth, isFullWidth = _c === void 0 ? false : _c, _d = _a.grow, grow = _d === void 0 ? false : _d;
84
+ return (React__default["default"].createElement("div", { className: index.classNames({
85
+ "arc-Card-block": true,
86
+ "arc-Card-block--alignCenter": align === "center",
87
+ "arc-Card-block--alignRight": align === "right",
88
+ "arc-Card-block--fullWidth": isFullWidth,
89
+ "arc-Card-block--grow": grow
90
+ }) },
91
+ React__default["default"].createElement("div", { className: "arc-Card-blockInner" }, children)));
92
+ };
93
+ CardBlock.displayName = "Card.Block";
94
+ Card.Block = CardBlock;
95
+ /**
96
+ * Internal `Card.Image` component to show an image within a Card.
97
+ */
98
+ var CardImage = function (_a) {
99
+ var _b = _a.alt, alt = _b === void 0 ? "" : _b, _c = _a.height, height = _c === void 0 ? 176 : _c, loading = _a.loading, sizes = _a.sizes, src = _a.src, srcSet = _a.srcSet;
100
+ return (React__default["default"].createElement("div", { className: index.classNames({
101
+ "arc-Card-image": true
102
+ }) },
103
+ React__default["default"].createElement(Image.Image, { alt: alt, fit: "cover", height: height, loading: loading, sizes: sizes, src: src, srcSet: srcSet })));
104
+ };
105
+ CardImage.displayName = "Card.Image";
106
+ Card.Image = CardImage;
107
+ /**
108
+ * Internal `CardLink` component.
109
+ */
110
+ var CardLink = function (_a) {
111
+ var actionId = _a.actionId, isButton = _a.isButton, children = _a.children, fill = _a.fill, href = _a.href, _b = _a.linkData, linkData = _b === void 0 ? {} : _b, onClick = _a.onClick, stretch = _a.stretch, target = _a.target;
112
+ var surface = React.useContext(Surface.Context).surface;
113
+ return (React__default["default"].createElement("a", filterDataAttrs.__assign({ onClick: handleLinkClick.handleLinkClick({ handler: onClick }), "aria-describedby": actionId, className: index.classNames({
114
+ "arc-Card-link": true,
115
+ "arc-Card-link--button": isButton,
116
+ "arc-Card-link--onDarkSurface": surface === "dark" && fill !== "neutral",
117
+ "arc-Card-link--stretch": stretch
118
+ }), href: href, rel: target === "_blank" ? "noopener noreferrer" : undefined, tabIndex: isButton ? -1 : undefined, target: target }, filterDataAttrs.filterDataAttrs(linkData)),
119
+ React__default["default"].createElement("span", { className: "arc-Card-linkText" }, children),
120
+ isButton && (React__default["default"].createElement("span", { className: "arc-Card-linkIcon" },
121
+ React__default["default"].createElement(Icon.Icon, { testId: "cardIcon", icon: BtIconChevronRightMid.BtIconChevronRightMid_2, size: 24 })))));
122
+ };
123
+
124
+ exports.Card = Card;
@@ -0,0 +1,64 @@
1
+ /// <reference types="react" />
2
+ import React from "react";
3
+ type EventType = React.ChangeEvent<HTMLInputElement>;
4
+ /**
5
+ * Use `Checkbox` to allow users to select individual options.
6
+ */
7
+ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
8
+ interface CheckboxProps {
9
+ /**
10
+ * Error message for the Checkbox.
11
+ */
12
+ errorMessage?: string;
13
+ /**
14
+ * Helper text for the Checkbox, shown below the label.
15
+ */
16
+ helper?: React.ReactNode;
17
+ /**
18
+ * Determine the alignment the Checkbox.
19
+ *
20
+ */
21
+ checkboxAlignment?: "top" | "center";
22
+ /**
23
+ * ID for the Checkbox.
24
+ */
25
+ id: string;
26
+ /**
27
+ * Is the input checked?
28
+ */
29
+ checked?: boolean;
30
+ /**
31
+ * `isDisabled` is a legacy property and not recommended from a UX usability best practice perspective.
32
+ */
33
+ isDisabled?: boolean;
34
+ /**
35
+ * Is the Checkbox required?
36
+ */
37
+ isRequired?: boolean;
38
+ /**
39
+ * Label for the Checkbox.
40
+ */
41
+ label: React.ReactNode;
42
+ /**
43
+ * Name for the Checkbox.
44
+ */
45
+ name?: string;
46
+ /**
47
+ * Function to call when the Checkbox loses focus.
48
+ */
49
+ onBlur?: (e: EventType) => void;
50
+ /**
51
+ * Callback function to update the Checkbox's controlled `checked` prop, for
52
+ * example `e => setChecked(e.target.checked)`.
53
+ */
54
+ onChange?: (event: EventType) => void;
55
+ /**
56
+ * Size of the Checkbox.
57
+ */
58
+ size?: "s" | "l";
59
+ /**
60
+ * Value for the Checkbox.
61
+ */
62
+ value?: string;
63
+ }
64
+ export { Checkbox, CheckboxProps };
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var filterDataAttrs = require('./filter-data-attrs-a30dcf5f.js');
4
+ var React = require('react');
5
+ var BtIconTickAlt2Px = require('./BtIconTickAlt2Px-bdf06f8c.js');
6
+ var BtIconAlert = require('./BtIconAlert-637db790.js');
7
+ var index = require('./index-45bfb67b.js');
8
+ var FormControl = require('./FormControl-9aaddd54.js');
9
+ var Surface = require('./Surface-6da0a78e.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+
15
+ /**
16
+ * Use `Checkbox` to allow users to select individual options.
17
+ */
18
+ var Checkbox = React.forwardRef(function (_a, ref) {
19
+ var _b = _a.checked, checked = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isRequired, isRequired = _d === void 0 ? false : _d, label = _a.label, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, _e = _a.size, size = _e === void 0 ? "l" : _e, value = _a.value, _f = _a.checkboxAlignment, checkboxAlignment = _f === void 0 ? "center" : _f, props = filterDataAttrs.__rest(_a, ["checked", "errorMessage", "helper", "id", "isDisabled", "isRequired", "label", "name", "onBlur", "onChange", "size", "value", "checkboxAlignment"]);
20
+ var requirementStatus = React.useContext(FormControl.Context).requirementStatus;
21
+ var surface = React.useContext(Surface.Context).surface;
22
+ var _g = FormControl.useAriaDescribedby({
23
+ id: id,
24
+ errorMessage: errorMessage
25
+ }), ariaDescribedby = _g.ariaDescribedby, idError = _g.idError;
26
+ var idLabel = "".concat(id, "-label");
27
+ var checkedProps = {};
28
+ if (typeof onChange === "function") {
29
+ checkedProps.checked = checked;
30
+ }
31
+ else if (checked && !onChange) {
32
+ checkedProps.defaultChecked = true;
33
+ }
34
+ if (requirementStatus === "required") {
35
+ isRequired = true;
36
+ }
37
+ return (React__default["default"].createElement("div", { className: index.classNames({
38
+ "arc-Checkbox": true,
39
+ "arc-Checkbox--disabled": isDisabled,
40
+ "arc-Checkbox--invalid": errorMessage,
41
+ "arc-Checkbox--small": size === "s",
42
+ "arc-Checkbox--onDarkSurface": surface === "dark"
43
+ }) },
44
+ React__default["default"].createElement("label", { id: idLabel, htmlFor: id, className: index.classNames("arc-Checkbox-label", {
45
+ "arc-Checkbox-label--top": checkboxAlignment === "top"
46
+ }) },
47
+ React__default["default"].createElement("input", filterDataAttrs.__assign({ "aria-describedby": ariaDescribedby, "aria-invalid": errorMessage ? "true" : "false", className: "arc-Checkbox-input" }, checkedProps, { disabled: isDisabled, id: id, name: name, onBlur: onBlur, onChange: onChange, ref: ref, required: isRequired, type: "checkbox", value: value }, filterDataAttrs.filterDataAttrs(props))),
48
+ React__default["default"].createElement("span", { className: "arc-Checkbox-box" },
49
+ React__default["default"].createElement(BtIconTickAlt2Px.BtIconTickAlt2Px_2, null)),
50
+ React__default["default"].createElement("span", filterDataAttrs.__assign({}, (checkboxAlignment === "top" && {
51
+ className: "arc-Checkbox-content--marginTop"
52
+ })),
53
+ label,
54
+ !isRequired && requirementStatus !== "optional" ? (React__default["default"].createElement("span", { className: "arc-Checkbox-labelOptional" }, "(optional)")) : null,
55
+ helper && React__default["default"].createElement("span", { className: "arc-Checkbox-helper" }, helper))),
56
+ errorMessage && (React__default["default"].createElement("div", { id: idError, className: "arc-Checkbox-error" },
57
+ React__default["default"].createElement("span", { className: "arc-Checkbox-error--icon" },
58
+ React__default["default"].createElement(BtIconAlert.BtIconAlert_2, null)),
59
+ errorMessage))));
60
+ });
61
+
62
+ exports.Checkbox = Checkbox;
@@ -0,0 +1,76 @@
1
+ import { FC, ReactNode } from "react";
2
+ /**
3
+ * Use `Columns` to compose layouts on a 12-column grid.
4
+ */
5
+ declare const Columns: FC<ColumnsProps> & {
6
+ Col: typeof Col;
7
+ };
8
+ declare const Col: FC<ColProps>;
9
+ type Span = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
10
+ type Offset = "0" | "24" | "48" | "72" | "96" | "120" | "144" | "168" | "192" | "216" | "240" | "264" | "288" | "312" | "336" | "360" | "384";
11
+ interface ColProps {
12
+ /**
13
+ * Vertically align the Column.
14
+ */
15
+ align?: "top" | "center" | "bottom";
16
+ /**
17
+ * Content to display in the Column.
18
+ */
19
+ children?: ReactNode;
20
+ /**
21
+ * Should the Column be visible for debugging and documentation
22
+ * purposes?
23
+ */
24
+ isDebugVisible?: boolean;
25
+ /**
26
+ * Overlay the column over the previous content on the default breakpoint and above. Multiples of 24 up to 384. Use with caution, and ensure to check responsive behaviour.
27
+ */
28
+ offset?: Offset;
29
+ /**
30
+ * Overlay the column over the previous content on the S breakpoint and above. Multiples of 24 up to 384. Use with caution, and ensure to check responsive behaviour.
31
+ */
32
+ offsetS?: Offset;
33
+ /**
34
+ * Overlay the column over the previous content on the M breakpoint and above. Multiples of 24 up to 384. Use with caution, and ensure to check responsive behaviour.
35
+ */
36
+ offsetM?: Offset;
37
+ /**
38
+ * Overlay the column over the previous content on the L breakpoint and above. Multiples of 24 up to 384. Use with caution, and ensure to check responsive behaviour.
39
+ */
40
+ offsetL?: Offset;
41
+ /**
42
+ * Overlay the column over the previous content on the XL breakpoint and above. Multiples of 24 up to 384. Use with caution, and ensure to check responsive behaviour.
43
+ */
44
+ offsetXL?: Offset;
45
+ /**
46
+ * The number of columns to span on the default breakpoint and above, from 1 to 12.
47
+ */
48
+ span?: Span;
49
+ /**
50
+ * The number of columns to span on the S breakpoint and above, from 1 to 12.
51
+ */
52
+ spanS?: Span;
53
+ /**
54
+ * The number of columns to span on the M breakpoint and above, from 1 to 12.
55
+ */
56
+ spanM?: Span;
57
+ /**
58
+ * The number of columns to span on the L breakpoint and above, from 1 to 12.
59
+ */
60
+ spanL?: Span;
61
+ /**
62
+ * The number of columns to span on the XL breakpoint and above, from 1 to 12.
63
+ */
64
+ spanXL?: Span;
65
+ }
66
+ interface ColumnsProps {
67
+ /**
68
+ * Contents of the Columns. Should only contain `Columns.Col`.
69
+ */
70
+ children: ReactNode;
71
+ /**
72
+ * Should the Columns be gutterless?
73
+ */
74
+ isGutterless?: boolean;
75
+ }
76
+ export { Columns, Col, ColProps, ColumnsProps };
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var filterDataAttrs = require('./filter-data-attrs-a30dcf5f.js');
4
+ var index = require('./index-45bfb67b.js');
5
+ var React = require('react');
6
+ var suffixModifier = require('./suffix-modifier-1ee2da04.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ /**
13
+ * Use `Columns` to compose layouts on a 12-column grid.
14
+ */
15
+ var Columns = function (_a) {
16
+ var children = _a.children, _b = _a.isGutterless, isGutterless = _b === void 0 ? false : _b, props = filterDataAttrs.__rest(_a, ["children", "isGutterless"]);
17
+ React.useEffect(function () {
18
+ React__default["default"].Children.map(children, function (item) {
19
+ if (item && item.type !== Col) {
20
+ throw new Error("Illegal child passed to <Columns />. Ensure to only use <Columns.Col />.");
21
+ }
22
+ });
23
+ }, [children]);
24
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames({
25
+ "arc-Columns": true,
26
+ "arc-Columns--gutterless": isGutterless
27
+ }) }, filterDataAttrs.filterDataAttrs(props)),
28
+ React__default["default"].createElement("div", { className: "arc-Columns-inner" }, children)));
29
+ };
30
+ var Col = function (_a) {
31
+ var _b;
32
+ var align = _a.align, children = _a.children, _c = _a.isDebugVisible, isDebugVisible = _c === void 0 ? false : _c, offset = _a.offset, offsetS = _a.offsetS, offsetM = _a.offsetM, offsetL = _a.offsetL, offsetXL = _a.offsetXL, span = _a.span, spanS = _a.spanS, spanM = _a.spanM, spanL = _a.spanL, spanXL = _a.spanXL, props = filterDataAttrs.__rest(_a, ["align", "children", "isDebugVisible", "offset", "offsetS", "offsetM", "offsetL", "offsetXL", "span", "spanS", "spanM", "spanL", "spanXL"]);
33
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames((_b = {},
34
+ _b["arc-Columns-col"] = true,
35
+ _b[suffixModifier.suffixModifier("arc-Columns-col--align", align || "")] = align,
36
+ _b["arc-Columns-col--".concat(span)] = typeof span !== "undefined",
37
+ _b["arc-Columns-col--s".concat(spanS)] = typeof spanS !== "undefined",
38
+ _b["arc-Columns-col--m".concat(spanM)] = typeof spanM !== "undefined",
39
+ _b["arc-Columns-col--l".concat(spanL)] = typeof spanL !== "undefined",
40
+ _b["arc-Columns-col--xL".concat(spanXL)] = typeof spanXL !== "undefined",
41
+ _b["arc-Columns-col--offset"] = typeof offset !== "undefined" ||
42
+ typeof offsetS !== "undefined" ||
43
+ typeof offsetM !== "undefined" ||
44
+ typeof offsetL !== "undefined" ||
45
+ typeof offsetXL !== "undefined",
46
+ _b["arc-Columns-col--offset".concat(offset)] = typeof offset !== "undefined",
47
+ _b["arc-Columns-col--offsetS".concat(offsetS)] = typeof offsetS !== "undefined",
48
+ _b["arc-Columns-col--offsetM".concat(offsetM)] = typeof offsetM !== "undefined",
49
+ _b["arc-Columns-col--offsetL".concat(offsetL)] = typeof offsetL !== "undefined",
50
+ _b["arc-Columns-col--offsetXL".concat(offsetXL)] = typeof offsetXL !== "undefined",
51
+ _b["arc-Columns-col--debugVisible"] = isDebugVisible,
52
+ _b)) }, filterDataAttrs.filterDataAttrs(props)), children));
53
+ };
54
+ Col.displayName = "Columns.Col";
55
+ Columns.Col = Col;
56
+
57
+ exports.Columns = Columns;
@@ -31,7 +31,9 @@ var DisclosureMini = function (_a) {
31
31
  "arc-DisclosureMini-summary--icon-left": iconPosition === "left",
32
32
  "arc-DisclosureMini-summary--icon-right": iconPosition === "right"
33
33
  }), onClick: handleOnClick, "aria-expanded": disclousreState },
34
- React__default["default"].createElement("span", { className: "arc-DisclosureMini-summary-icon" },
34
+ React__default["default"].createElement("div", { className: index.classNames("arc-DisclosureMini-summary-icon", {
35
+ "arc-DisclosureMini-summary-icon--small": size === "s"
36
+ }) },
35
37
  React__default["default"].createElement(BtIconChevronDown2Px.BtIconChevronDown2Px_2, null)),
36
38
  React__default["default"].createElement(Text.Text, { size: size === "l" ? "m" : "s" }, summary)),
37
39
  React__default["default"].createElement("div", { className: "arc-DisclosureMini-details" },
@@ -0,0 +1,83 @@
1
+ import { FC, ReactNode } from "react";
2
+ declare const FilterItems: FC<FilterItemsProps>;
3
+ interface FilterItemsProps {
4
+ /**
5
+ * Render children of `<Filter.Items />`. This should only use `<Filter.Item />`
6
+ */
7
+ children: ReactNode;
8
+ /**
9
+ * Determine the display style of `<Filter.Item />`
10
+ */
11
+ displayType?: "grid" | "list";
12
+ }
13
+ declare const FilterItem: FC<FilterItemProps>;
14
+ interface FilterItemProps {
15
+ /**
16
+ * Content to display within `Filter.Item`
17
+ */
18
+ children: ReactNode;
19
+ /**
20
+ * Attach Tags to content provided within `Filter.Item`
21
+ */
22
+ tags: string[];
23
+ }
24
+ declare const FilterControls: FC<FilterControlsProps>;
25
+ interface FilterControlsProps {
26
+ /**
27
+ * Contents of the `<FilterControls />` Should contain `<FilterControl />`
28
+ */
29
+ children: ReactNode;
30
+ /**
31
+ * Detmine how to align <FilterControl /> with in <FilterControls />. Default `center`
32
+ */
33
+ controlsAlignment?: "left" | "right" | "center";
34
+ }
35
+ declare const FilterControl: FC<FilterControlProps>;
36
+ interface FilterControlProps {
37
+ /**
38
+ * Name of the `<FilterControl />`
39
+ */
40
+ children: ReactNode;
41
+ /**
42
+ * Determine if the `<FilterControl />` is selected
43
+ */
44
+ isSelected?: boolean;
45
+ /**
46
+ * onClick handler
47
+ */
48
+ onClick?: () => void;
49
+ }
50
+ /** use `Filter` for interactive elements that filter and categorise page content. */
51
+ declare const Filter: FC<FilterProps> & {
52
+ Item: typeof FilterItem;
53
+ Items: typeof FilterItems;
54
+ Control: typeof FilterControl;
55
+ Controls: typeof FilterControls;
56
+ };
57
+ interface FilterProps {
58
+ /**
59
+ * Contents of the `<Filter />` Should contain `<Filter.Item />`
60
+ */
61
+ children?: ReactNode;
62
+ /**
63
+ * onChange handler called everytime `<FilterControl />` is pressed
64
+ */
65
+ onChange?: (selectedControls: string[]) => void;
66
+ /**
67
+ * Detmine how to display the content within `<Filter.Items />`. Default is `grid`
68
+ */
69
+ displayType?: FilterItemsProps["displayType"];
70
+ /**
71
+ * Detmine how to align <Filter.Controls />. Default `center`
72
+ */
73
+ controlsAlignment?: FilterControlsProps["controlsAlignment"];
74
+ /**
75
+ * Detmine if the `<Filter.Control />` have to partially match or match all
76
+ */
77
+ logicType?: "AND" | "OR";
78
+ /**
79
+ * Detmine what is display when no items match the filtering criteria
80
+ */
81
+ error?: ReactNode;
82
+ }
83
+ export { FilterItems, FilterItemsProps, FilterItem, FilterItemProps, FilterControls, FilterControlsProps, FilterControl, FilterControlProps, Filter, FilterProps };
@@ -0,0 +1,121 @@
1
+ 'use strict';
2
+
3
+ var filterDataAttrs = require('./filter-data-attrs-a30dcf5f.js');
4
+ var React = require('react');
5
+ var Surface = require('./Surface-6da0a78e.js');
6
+ var index = require('./index-45bfb67b.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ var FilterControl = function (_a) {
13
+ var children = _a.children, onClick = _a.onClick, _b = _a.isSelected, isSelected = _b === void 0 ? false : _b;
14
+ var surface = React.useContext(Surface.Context).surface;
15
+ var _c = React.useState(isSelected), selected = _c[0], setSelected = _c[1];
16
+ var onClickHandler = function () {
17
+ onClick && onClick();
18
+ setSelected(function (previousValue) { return !previousValue; });
19
+ };
20
+ return (React__default["default"].createElement("button", { className: index.classNames("arc-FilterControl", {
21
+ "arc-FilterControl--onDarkSurface": surface === "dark",
22
+ "arc-FilterControl--selected": selected
23
+ }), onClick: onClickHandler, tabIndex: 0 },
24
+ React__default["default"].createElement("div", { className: "arc-FilterControl-text" }, children)));
25
+ };
26
+
27
+ var FilterControls = function (_a) {
28
+ var children = _a.children, controlsAlignment = _a.controlsAlignment, props = filterDataAttrs.__rest(_a, ["children", "controlsAlignment"]);
29
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames("arc-FilterControls", {
30
+ "arc-FilterControls--alignLeft": controlsAlignment === "left",
31
+ "arc-FilterControls--alignRight": controlsAlignment === "right"
32
+ }) }, filterDataAttrs.filterDataAttrs(props)), children));
33
+ };
34
+
35
+ var FilterItem = function (_a) {
36
+ var children = _a.children, props = filterDataAttrs.__rest(_a, ["children"]);
37
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: "arc-FilterItem" }, filterDataAttrs.filterDataAttrs(props)), children));
38
+ };
39
+
40
+ var FilterItems = function (_a) {
41
+ var children = _a.children, _b = _a.displayType, displayType = _b === void 0 ? "grid" : _b, props = filterDataAttrs.__rest(_a, ["children", "displayType"]);
42
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: index.classNames("arc-FilterItems", {
43
+ "arc-FilterItems--list": displayType === "list",
44
+ "arc-FilterItems--grid": displayType === "grid"
45
+ }) }, filterDataAttrs.filterDataAttrs(props)), displayType === "list"
46
+ ? React__default["default"].Children.toArray(children).map(function (child, index, array) { return (React__default["default"].createElement(React__default["default"].Fragment, { key: index },
47
+ child,
48
+ index !== array.length - 1 && (React__default["default"].createElement(React__default["default"].Fragment, null,
49
+ React__default["default"].createElement("div", { className: "arc-FilterItems-separator", "data-testid": "arc-FilterItems-separator" }))))); })
50
+ : children));
51
+ };
52
+
53
+ /** use `Filter` for interactive elements that filter and categorise page content. */
54
+ var Filter = function (_a) {
55
+ var children = _a.children, onChange = _a.onChange, displayType = _a.displayType, controlsAlignment = _a.controlsAlignment, _b = _a.logicType, logicType = _b === void 0 ? "OR" : _b, error = _a.error, props = filterDataAttrs.__rest(_a, ["children", "onChange", "displayType", "controlsAlignment", "logicType", "error"]);
56
+ var _c = React.useState([]), selectedControls = _c[0], setSelectedControls = _c[1];
57
+ var controls = React__default["default"].Children.toArray(children).find(function (child) { return React__default["default"].isValidElement(child) && child.type === FilterControls; });
58
+ var items = React__default["default"].Children.toArray(children).find(function (child) { return React__default["default"].isValidElement(child) && child.type === FilterItems; });
59
+ React.useEffect(function () {
60
+ var initialSelectedControls = [];
61
+ if (controls && React__default["default"].isValidElement(controls)) {
62
+ React__default["default"].Children.forEach(controls.props.children, function (child) {
63
+ if (child.props.isSelected) {
64
+ initialSelectedControls.push(child.props.children);
65
+ }
66
+ });
67
+ }
68
+ setSelectedControls(initialSelectedControls);
69
+ // eslint-disable-next-line react-hooks/exhaustive-deps
70
+ }, []);
71
+ var handleControlClick = function (clickedControl) {
72
+ if (selectedControls.includes(clickedControl)) {
73
+ var updatedControls = selectedControls.filter(function (control) { return control !== clickedControl; });
74
+ setSelectedControls(updatedControls);
75
+ if (onChange) {
76
+ onChange(updatedControls);
77
+ }
78
+ }
79
+ else {
80
+ var updatedControls = filterDataAttrs.__spreadArray(filterDataAttrs.__spreadArray([], selectedControls, true), [clickedControl], false);
81
+ setSelectedControls(updatedControls);
82
+ if (onChange) {
83
+ onChange(updatedControls);
84
+ }
85
+ }
86
+ };
87
+ var filterItems = React__default["default"].Children.toArray(items && React__default["default"].isValidElement(items) && items.props.children);
88
+ var filteredItems = filterItems.filter(function (filteredItem) {
89
+ // If no tags are selected, show all items
90
+ if (selectedControls.length === 0) {
91
+ return true;
92
+ }
93
+ // If logicType is "AND", all selected tags should be present in the item's tags
94
+ if (logicType === "AND") {
95
+ return selectedControls.every(function (control) {
96
+ return filteredItem.props.tags.includes(control);
97
+ });
98
+ }
99
+ else {
100
+ // Check if item has tags property and if any selected tags are present in item's tags
101
+ return selectedControls.some(function (control) {
102
+ return filteredItem.props.tags.includes(control);
103
+ });
104
+ }
105
+ });
106
+ return (React__default["default"].createElement("div", filterDataAttrs.__assign({ className: "arc-Filter" }, filterDataAttrs.filterDataAttrs(props)),
107
+ React__default["default"].createElement(FilterControls, { controlsAlignment: controlsAlignment }, controls &&
108
+ React__default["default"].isValidElement(controls) &&
109
+ React__default["default"].Children.map(controls.props.children, function (control, index) { return (React__default["default"].createElement(FilterControl, { key: index, onClick: function () { return handleControlClick(control.props.children); }, isSelected: control.props.isSelected }, control.props.children)); })),
110
+ filteredItems.length === 0 ? (React__default["default"].createElement(React__default["default"].Fragment, null, error)) : (React__default["default"].createElement(FilterItems, { displayType: displayType }, filteredItems.map(function (item) { return item.props.children; })))));
111
+ };
112
+ Filter.Controls = FilterControls;
113
+ Filter.Control = FilterControl;
114
+ Filter.Items = FilterItems;
115
+ Filter.Item = FilterItem;
116
+ FilterControls.displayName = "Filter.Controls";
117
+ FilterControl.displayName = "Filter.Control";
118
+ FilterItems.displayName = "Filter.Items";
119
+ FilterItem.displayName = "Filter.Item";
120
+
121
+ exports.Filter = Filter;
@@ -87,6 +87,10 @@ interface FormControlProps {
87
87
  * onClick handler for FormControlDisclosure
88
88
  */
89
89
  onClickDisclosure?: () => void;
90
+ /**
91
+ * Optional additional information for the FormControl.
92
+ */
93
+ supplementaryInfo?: React.ReactNode;
90
94
  /**
91
95
  * Position helper text under label. This is set to `false` by default.
92
96
  */