@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
package/dist/index.es.js CHANGED
@@ -1546,7 +1546,9 @@ var DisclosureMini = function (_a) {
1546
1546
  "arc-DisclosureMini-summary--icon-left": iconPosition === "left",
1547
1547
  "arc-DisclosureMini-summary--icon-right": iconPosition === "right"
1548
1548
  }), onClick: handleOnClick, "aria-expanded": disclousreState },
1549
- React__default.createElement("span", { className: "arc-DisclosureMini-summary-icon" },
1549
+ React__default.createElement("div", { className: classNames("arc-DisclosureMini-summary-icon", {
1550
+ "arc-DisclosureMini-summary-icon--small": size === "s"
1551
+ }) },
1550
1552
  React__default.createElement(BtIconChevronDown2Px_2, null)),
1551
1553
  React__default.createElement(Text, { size: size === "l" ? "m" : "s" }, summary)),
1552
1554
  React__default.createElement("div", { className: "arc-DisclosureMini-details" },
@@ -1554,24 +1556,6 @@ var DisclosureMini = function (_a) {
1554
1556
  React__default.createElement("span", { id: id }, children)))));
1555
1557
  };
1556
1558
 
1557
- /**
1558
- * Use `VerticalSpace` to create vertical space between components.
1559
- */
1560
- var VerticalSpace = function (_a) {
1561
- var _b;
1562
- var _c = _a.isDebugVisible, isDebugVisible = _c === void 0 ? false : _c, _d = _a.size, size = _d === void 0 ? "24" : _d, sizeS = _a.sizeS, sizeM = _a.sizeM, sizeL = _a.sizeL, sizeXL = _a.sizeXL, props = __rest$2(_a, ["isDebugVisible", "size", "sizeS", "sizeM", "sizeL", "sizeXL"]);
1563
- return (React__default.createElement("div", __assign$2({ className: classNames((_b = {
1564
- "arc-VerticalSpace": true
1565
- },
1566
- _b["arc-VerticalSpace--size".concat(size)] = size,
1567
- _b["arc-VerticalSpace--sizeS".concat(sizeS)] = sizeS && sizeS,
1568
- _b["arc-VerticalSpace--sizeM".concat(sizeM)] = sizeM && sizeM,
1569
- _b["arc-VerticalSpace--sizeL".concat(sizeL)] = sizeL && sizeL,
1570
- _b["arc-VerticalSpace--sizeXL".concat(sizeXL)] = sizeXL && sizeXL,
1571
- _b["arc-VerticalSpace--debugVisible"] = isDebugVisible,
1572
- _b)) }, filterDataAttrs(props))));
1573
- };
1574
-
1575
1559
  var defaultContext$2 = {
1576
1560
  requirementStatus: null
1577
1561
  };
@@ -1581,7 +1565,7 @@ var Provider$3 = Context$2.Provider;
1581
1565
  * Use `FormControl` to provide inputs with labels, helper text and error messages
1582
1566
  */
1583
1567
  var FormControl = function (_a) {
1584
- var children = _a.children, _b = _a.elementType, ElementType = _b === void 0 ? "div" : _b, errorMessage = _a.errorMessage, helper = _a.helper, htmlFor = _a.htmlFor, id = _a.id, label = _a.label, _c = _a.labelSize, labelSize = _c === void 0 ? "l" : _c, _d = _a.requirementStatus, requirementStatus = _d === void 0 ? "optional" : _d, _e = _a.helperUnderLabel, helperUnderLabel = _e === void 0 ? false : _e, isDisabled = _a.isDisabled, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, props = __rest$2(_a, ["children", "elementType", "errorMessage", "helper", "htmlFor", "id", "label", "labelSize", "requirementStatus", "helperUnderLabel", "isDisabled", "disclosureTitle", "disclosureText", "onClickDisclosure"]);
1568
+ var children = _a.children, _b = _a.elementType, ElementType = _b === void 0 ? "div" : _b, errorMessage = _a.errorMessage, helper = _a.helper, htmlFor = _a.htmlFor, supplementaryInfo = _a.supplementaryInfo, id = _a.id, label = _a.label, _c = _a.labelSize, labelSize = _c === void 0 ? "l" : _c, _d = _a.requirementStatus, requirementStatus = _d === void 0 ? "optional" : _d, _e = _a.helperUnderLabel, helperUnderLabel = _e === void 0 ? false : _e, isDisabled = _a.isDisabled, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, onClickDisclosure = _a.onClickDisclosure, props = __rest$2(_a, ["children", "elementType", "errorMessage", "helper", "htmlFor", "supplementaryInfo", "id", "label", "labelSize", "requirementStatus", "helperUnderLabel", "isDisabled", "disclosureTitle", "disclosureText", "onClickDisclosure"]);
1585
1569
  var surface = useContext(Context$3).surface;
1586
1570
  var _f = useAriaDescribedby({
1587
1571
  disclosureText: disclosureText,
@@ -1616,12 +1600,13 @@ var FormControl = function (_a) {
1616
1600
  requirementStatus === "optional" && (React__default.createElement("span", { className: "arc-FormControl-labelOptional" }, "(optional)"))),
1617
1601
  helperUnderLabel && (React__default.createElement(React__default.Fragment, null, helper && (React__default.createElement("div", { className: "arc-FormControl-helper arc-FormControl-helper--underLabel", id: idHelper }, helper)))),
1618
1602
  children,
1619
- !helperUnderLabel && (React__default.createElement(React__default.Fragment, null, errorMessage ? (React__default.createElement("div", { className: "arc-FormControl-error", id: idError },
1620
- React__default.createElement("span", { className: "arc-FormControl-error--icon" },
1621
- React__default.createElement(BtIconAlert_2, null)),
1622
- errorMessage)) : disclosureTitle ? (React__default.createElement(React__default.Fragment, null,
1623
- React__default.createElement(VerticalSpace, { size: "12" }),
1624
- React__default.createElement(DisclosureMini, { onClick: onClickDisclosure, summary: disclosureTitle, size: labelSize, id: idDisclosure }, disclosureText))) : (helper && (React__default.createElement("div", { className: "arc-FormControl-helper", id: idHelper }, helper))))))));
1603
+ React__default.createElement("div", { className: "arc-FormControl-info" },
1604
+ !helperUnderLabel && (React__default.createElement("div", { className: "arc-FormControl-helperContainer" }, errorMessage ? (React__default.createElement("div", { className: "arc-FormControl-error", id: idError },
1605
+ React__default.createElement("span", { className: "arc-FormControl-error--icon" },
1606
+ React__default.createElement(BtIconAlert_2, null)),
1607
+ errorMessage)) : disclosureTitle ? (React__default.createElement(React__default.Fragment, null,
1608
+ React__default.createElement(DisclosureMini, { onClick: onClickDisclosure, summary: disclosureTitle, size: labelSize, id: idDisclosure }, disclosureText))) : (helper && (React__default.createElement("div", { className: "arc-FormControl-helper", id: idHelper }, helper))))),
1609
+ supplementaryInfo && (React__default.createElement("div", { className: "arc-FormControl-supplementaryInfo" }, supplementaryInfo))))));
1625
1610
  };
1626
1611
 
1627
1612
  /**
@@ -1797,6 +1782,115 @@ var Elevation = function (_a) {
1797
1782
  _b)) }, filterDataAttrs(props)), children));
1798
1783
  };
1799
1784
 
1785
+ var FilterControl = function (_a) {
1786
+ var children = _a.children, onClick = _a.onClick, _b = _a.isSelected, isSelected = _b === void 0 ? false : _b;
1787
+ var surface = useContext(Context$3).surface;
1788
+ var _c = useState(isSelected), selected = _c[0], setSelected = _c[1];
1789
+ var onClickHandler = function () {
1790
+ onClick && onClick();
1791
+ setSelected(function (previousValue) { return !previousValue; });
1792
+ };
1793
+ return (React__default.createElement("button", { className: classNames("arc-FilterControl", {
1794
+ "arc-FilterControl--onDarkSurface": surface === "dark",
1795
+ "arc-FilterControl--selected": selected
1796
+ }), onClick: onClickHandler, tabIndex: 0 },
1797
+ React__default.createElement("div", { className: "arc-FilterControl-text" }, children)));
1798
+ };
1799
+
1800
+ var FilterControls = function (_a) {
1801
+ var children = _a.children, controlsAlignment = _a.controlsAlignment, props = __rest$2(_a, ["children", "controlsAlignment"]);
1802
+ return (React__default.createElement("div", __assign$2({ className: classNames("arc-FilterControls", {
1803
+ "arc-FilterControls--alignLeft": controlsAlignment === "left",
1804
+ "arc-FilterControls--alignRight": controlsAlignment === "right"
1805
+ }) }, filterDataAttrs(props)), children));
1806
+ };
1807
+
1808
+ var FilterItem = function (_a) {
1809
+ var children = _a.children, props = __rest$2(_a, ["children"]);
1810
+ return (React__default.createElement("div", __assign$2({ className: "arc-FilterItem" }, filterDataAttrs(props)), children));
1811
+ };
1812
+
1813
+ var FilterItems = function (_a) {
1814
+ var children = _a.children, _b = _a.displayType, displayType = _b === void 0 ? "grid" : _b, props = __rest$2(_a, ["children", "displayType"]);
1815
+ return (React__default.createElement("div", __assign$2({ className: classNames("arc-FilterItems", {
1816
+ "arc-FilterItems--list": displayType === "list",
1817
+ "arc-FilterItems--grid": displayType === "grid"
1818
+ }) }, filterDataAttrs(props)), displayType === "list"
1819
+ ? React__default.Children.toArray(children).map(function (child, index, array) { return (React__default.createElement(React__default.Fragment, { key: index },
1820
+ child,
1821
+ index !== array.length - 1 && (React__default.createElement(React__default.Fragment, null,
1822
+ React__default.createElement("div", { className: "arc-FilterItems-separator", "data-testid": "arc-FilterItems-separator" }))))); })
1823
+ : children));
1824
+ };
1825
+
1826
+ /** use `Filter` for interactive elements that filter and categorise page content. */
1827
+ var Filter = function (_a) {
1828
+ 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 = __rest$2(_a, ["children", "onChange", "displayType", "controlsAlignment", "logicType", "error"]);
1829
+ var _c = useState([]), selectedControls = _c[0], setSelectedControls = _c[1];
1830
+ var controls = React__default.Children.toArray(children).find(function (child) { return React__default.isValidElement(child) && child.type === FilterControls; });
1831
+ var items = React__default.Children.toArray(children).find(function (child) { return React__default.isValidElement(child) && child.type === FilterItems; });
1832
+ useEffect(function () {
1833
+ var initialSelectedControls = [];
1834
+ if (controls && React__default.isValidElement(controls)) {
1835
+ React__default.Children.forEach(controls.props.children, function (child) {
1836
+ if (child.props.isSelected) {
1837
+ initialSelectedControls.push(child.props.children);
1838
+ }
1839
+ });
1840
+ }
1841
+ setSelectedControls(initialSelectedControls);
1842
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1843
+ }, []);
1844
+ var handleControlClick = function (clickedControl) {
1845
+ if (selectedControls.includes(clickedControl)) {
1846
+ var updatedControls = selectedControls.filter(function (control) { return control !== clickedControl; });
1847
+ setSelectedControls(updatedControls);
1848
+ if (onChange) {
1849
+ onChange(updatedControls);
1850
+ }
1851
+ }
1852
+ else {
1853
+ var updatedControls = __spreadArray$1(__spreadArray$1([], selectedControls, true), [clickedControl], false);
1854
+ setSelectedControls(updatedControls);
1855
+ if (onChange) {
1856
+ onChange(updatedControls);
1857
+ }
1858
+ }
1859
+ };
1860
+ var filterItems = React__default.Children.toArray(items && React__default.isValidElement(items) && items.props.children);
1861
+ var filteredItems = filterItems.filter(function (filteredItem) {
1862
+ // If no tags are selected, show all items
1863
+ if (selectedControls.length === 0) {
1864
+ return true;
1865
+ }
1866
+ // If logicType is "AND", all selected tags should be present in the item's tags
1867
+ if (logicType === "AND") {
1868
+ return selectedControls.every(function (control) {
1869
+ return filteredItem.props.tags.includes(control);
1870
+ });
1871
+ }
1872
+ else {
1873
+ // Check if item has tags property and if any selected tags are present in item's tags
1874
+ return selectedControls.some(function (control) {
1875
+ return filteredItem.props.tags.includes(control);
1876
+ });
1877
+ }
1878
+ });
1879
+ return (React__default.createElement("div", __assign$2({ className: "arc-Filter" }, filterDataAttrs(props)),
1880
+ React__default.createElement(FilterControls, { controlsAlignment: controlsAlignment }, controls &&
1881
+ React__default.isValidElement(controls) &&
1882
+ React__default.Children.map(controls.props.children, function (control, index) { return (React__default.createElement(FilterControl, { key: index, onClick: function () { return handleControlClick(control.props.children); }, isSelected: control.props.isSelected }, control.props.children)); })),
1883
+ filteredItems.length === 0 ? (React__default.createElement(React__default.Fragment, null, error)) : (React__default.createElement(FilterItems, { displayType: displayType }, filteredItems.map(function (item) { return item.props.children; })))));
1884
+ };
1885
+ Filter.Controls = FilterControls;
1886
+ Filter.Control = FilterControl;
1887
+ Filter.Items = FilterItems;
1888
+ Filter.Item = FilterItem;
1889
+ FilterControls.displayName = "Filter.Controls";
1890
+ FilterControl.displayName = "Filter.Control";
1891
+ FilterItems.displayName = "Filter.Items";
1892
+ FilterItem.displayName = "Filter.Item";
1893
+
1800
1894
  /**
1801
1895
  * Use `Group` to arrange flexible items in a row.
1802
1896
  */
@@ -36696,6 +36790,24 @@ function $6be4966fd9bbc698$var$getState(checked) {
36696
36790
  const $6be4966fd9bbc698$export$be92b6f5f03c0fe9 = $6be4966fd9bbc698$export$b5d5cf8927ab7262;
36697
36791
  const $6be4966fd9bbc698$export$6521433ed15a34db = $6be4966fd9bbc698$export$4d07bf653ea69106;
36698
36792
 
36793
+ /**
36794
+ * Use `VerticalSpace` to create vertical space between components.
36795
+ */
36796
+ var VerticalSpace = function (_a) {
36797
+ var _b;
36798
+ var _c = _a.isDebugVisible, isDebugVisible = _c === void 0 ? false : _c, _d = _a.size, size = _d === void 0 ? "24" : _d, sizeS = _a.sizeS, sizeM = _a.sizeM, sizeL = _a.sizeL, sizeXL = _a.sizeXL, props = __rest$2(_a, ["isDebugVisible", "size", "sizeS", "sizeM", "sizeL", "sizeXL"]);
36799
+ return (React__default.createElement("div", __assign$2({ className: classNames((_b = {
36800
+ "arc-VerticalSpace": true
36801
+ },
36802
+ _b["arc-VerticalSpace--size".concat(size)] = size,
36803
+ _b["arc-VerticalSpace--sizeS".concat(sizeS)] = sizeS && sizeS,
36804
+ _b["arc-VerticalSpace--sizeM".concat(sizeM)] = sizeM && sizeM,
36805
+ _b["arc-VerticalSpace--sizeL".concat(sizeL)] = sizeL && sizeL,
36806
+ _b["arc-VerticalSpace--sizeXL".concat(sizeXL)] = sizeXL && sizeXL,
36807
+ _b["arc-VerticalSpace--debugVisible"] = isDebugVisible,
36808
+ _b)) }, filterDataAttrs(props))));
36809
+ };
36810
+
36699
36811
  /** Use `Switch` to toggle between checked and not checked. */
36700
36812
  var Switch = function (_a) {
36701
36813
  var defaultChecked = _a.defaultChecked, onCheckedChange = _a.onCheckedChange, label = _a.label, name = _a.name, onBlur = _a.onBlur, value = _a.value, _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, errorMessage = _a.errorMessage, id = _a.id, _c = _a.labelSize, labelSize = _c === void 0 ? "s" : _c, statusText = _a.statusText, _d = _a.hideLabel, hideLabel = _d === void 0 ? false : _d;
@@ -36867,11 +36979,50 @@ var TextInput = forwardRef(function (_a, ref) {
36867
36979
  : "Your password is hidden")))))))));
36868
36980
  });
36869
36981
 
36982
+ var TextArea = forwardRef(function (_a, ref) {
36983
+ var _b = _a.defaultValue, defaultValue = _b === void 0 ? "" : _b, errorMessage = _a.errorMessage, helper = _a.helper, id = _a.id, _c = _a.resize, resize = _c === void 0 ? "manual" : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isReadOnly, isReadOnly = _e === void 0 ? false : _e, _f = _a.isRequired, isRequired = _f === void 0 ? false : _f, _g = _a.showCharacterCount, showCharacterCount = _g === void 0 ? true : _g, label = _a.label, _h = _a.labelSize, labelSize = _h === void 0 ? "l" : _h, maxLength = _a.maxLength, name = _a.name, onBlur = _a.onBlur, onChange = _a.onChange, onClickDisclosure = _a.onClickDisclosure, value = _a.value, disclosureTitle = _a.disclosureTitle, disclosureText = _a.disclosureText, props = __rest$2(_a, ["defaultValue", "errorMessage", "helper", "id", "resize", "isDisabled", "isReadOnly", "isRequired", "showCharacterCount", "label", "labelSize", "maxLength", "name", "onBlur", "onChange", "onClickDisclosure", "value", "disclosureTitle", "disclosureText"]);
36984
+ var surface = useContext(Context$3).surface;
36985
+ var ourRef = useRef(null);
36986
+ var _j = useState((value && value.length) || (defaultValue && defaultValue.length) || 0), characterCount = _j[0], setCharacterCount = _j[1];
36987
+ var setSmartHeight = function (el) {
36988
+ el.style.height = "auto";
36989
+ el.style.height = "".concat(parseInt(getComputedStyle(el).getPropertyValue("border-width")) *
36990
+ 2 +
36991
+ el.scrollHeight, "px");
36992
+ };
36993
+ var getTextAreaRef = function (elementRef) {
36994
+ ourRef.current = elementRef;
36995
+ if (ref && typeof ref === "object") {
36996
+ ref.current = elementRef;
36997
+ }
36998
+ if (ref && typeof ref === "function") {
36999
+ ref(elementRef);
37000
+ }
37001
+ };
37002
+ var handleOnChange = function (e) {
37003
+ resize === "auto" && ourRef.current && setSmartHeight(ourRef.current);
37004
+ onChange && onChange(e);
37005
+ setCharacterCount(e.target.value.length);
37006
+ };
37007
+ return (React__default.createElement(FormControl, __assign$2({ errorMessage: errorMessage, helper: helper, htmlFor: id, isDisabled: isDisabled, label: label, labelSize: labelSize, requirementStatus: isRequired ? "required" : "optional", disclosureTitle: disclosureTitle, disclosureText: disclosureText, onClickDisclosure: onClickDisclosure, supplementaryInfo: maxLength &&
37008
+ showCharacterCount && (React__default.createElement(React__default.Fragment, null,
37009
+ React__default.createElement(Text, { tone: isDisabled ? "muted" : "default" },
37010
+ React__default.createElement("span", { className: "arc-TextArea-characterCount" },
37011
+ characterCount,
37012
+ " / ",
37013
+ maxLength)))) }, filterDataAttrs(props)),
37014
+ React__default.createElement("textarea", { id: id, className: classNames("arc-TextArea", {
37015
+ "arc-TextArea--noResize": resize !== "manual",
37016
+ "arc-TextArea--onDarkSurface": surface === "dark",
37017
+ "arc-TextArea--invalid": errorMessage
37018
+ }), defaultValue: typeof value !== "undefined" ? undefined : defaultValue, disabled: isDisabled, value: value, readOnly: isReadOnly, maxLength: maxLength, name: name, onChange: handleOnChange, onBlur: onBlur, ref: getTextAreaRef })));
37019
+ });
37020
+
36870
37021
  /** Use `Truncate` component to shorten text with an ellipsis. Add a `title` attribute to the truncated element so the full text remains accessible. */
36871
37022
  var Truncate = function (_a) {
36872
37023
  var _b = _a.maxWidth, maxWidth = _b === void 0 ? 100 : _b, title = _a.title, children = _a.children;
36873
37024
  return (React__default.createElement("div", { className: "arc-Truncate", style: { maxWidth: "".concat(maxWidth, "%") }, title: title }, children));
36874
37025
  };
36875
37026
 
36876
- export { Align, Badge, Base, BrandLogo, Breadcrumbs, Button, Card, Checkbox, Clock, Clock_rehydrator as ClockRehydrator, Columns, Curve, Disclosure, Elevation, FormControl, Group, Heading, Icon, Image, Markup, Poster, RadioGroup, Rule, Section, Select, SiteFooter, SiteFooter_rehydrator as SiteFooterRehydrator, SiteHeader, SiteHeaderRehydrator, Surface, Context$3 as SurfaceContext, Switch, Tag, Text, TextInput, Truncate, UniversalHeader, VerticalSpace, VisuallyHidden };
37027
+ export { Align, Badge, Base, BrandLogo, Breadcrumbs, Button, Card, Checkbox, Clock, Clock_rehydrator as ClockRehydrator, Columns, Curve, Disclosure, Elevation, Filter, FormControl, Group, Heading, Icon, Image, Markup, Poster, RadioGroup, Rule, Section, Select, SiteFooter, SiteFooter_rehydrator as SiteFooterRehydrator, SiteHeader, SiteHeaderRehydrator, Surface, Context$3 as SurfaceContext, Switch, Tag, Text, TextArea, TextInput, Truncate, UniversalHeader, VerticalSpace, VisuallyHidden };
36877
37028
  //# sourceMappingURL=index.es.js.map