@laerdal/life-react-components 1.9.9-dev.7 → 1.10.1-dev.1

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 (325) hide show
  1. package/dist/Accordion/AccordionItem.cjs +26 -9
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.d.ts +0 -1
  4. package/dist/Accordion/AccordionItem.js +25 -9
  5. package/dist/Accordion/AccordionItem.js.map +1 -1
  6. package/dist/Accordion/AccordionMenu.cjs +43 -24
  7. package/dist/Accordion/AccordionMenu.cjs.map +1 -1
  8. package/dist/Accordion/AccordionMenu.d.ts +2 -3
  9. package/dist/Accordion/AccordionMenu.js +42 -24
  10. package/dist/Accordion/AccordionMenu.js.map +1 -1
  11. package/dist/Accordion/ContentAccordion.cjs +64 -34
  12. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  13. package/dist/Accordion/ContentAccordion.d.ts +3 -3
  14. package/dist/Accordion/ContentAccordion.js +62 -34
  15. package/dist/Accordion/ContentAccordion.js.map +1 -1
  16. package/dist/Accordion/styles.cjs +2 -4
  17. package/dist/Accordion/styles.cjs.map +1 -1
  18. package/dist/Accordion/styles.d.ts +0 -1
  19. package/dist/Accordion/styles.js +2 -4
  20. package/dist/Accordion/styles.js.map +1 -1
  21. package/dist/Banners/Banner.cjs +18 -8
  22. package/dist/Banners/Banner.cjs.map +1 -1
  23. package/dist/Banners/Banner.d.ts +1 -1
  24. package/dist/Banners/Banner.js +18 -5
  25. package/dist/Banners/Banner.js.map +1 -1
  26. package/dist/Banners/OverviewBanner.cjs +14 -3
  27. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  28. package/dist/Banners/OverviewBanner.d.ts +3 -2
  29. package/dist/Banners/OverviewBanner.js +12 -3
  30. package/dist/Banners/OverviewBanner.js.map +1 -1
  31. package/dist/Breadcrumb/Breadcrumb.cjs +16 -4
  32. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  33. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  34. package/dist/Breadcrumb/Breadcrumb.js +15 -4
  35. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  36. package/dist/Button/Button.cjs +10 -18
  37. package/dist/Button/Button.cjs.map +1 -1
  38. package/dist/Button/Button.js +10 -18
  39. package/dist/Button/Button.js.map +1 -1
  40. package/dist/Button/Iconbutton.cjs +20 -14
  41. package/dist/Button/Iconbutton.cjs.map +1 -1
  42. package/dist/Button/Iconbutton.d.ts +1 -4
  43. package/dist/Button/Iconbutton.js +17 -14
  44. package/dist/Button/Iconbutton.js.map +1 -1
  45. package/dist/Card/HorizontalCard/HorizontalCard.cjs +8 -2
  46. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  47. package/dist/Card/HorizontalCard/HorizontalCard.js +6 -2
  48. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  49. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +2 -8
  50. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  51. package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
  52. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  53. package/dist/Card/HorizontalCard/types.d.ts +1 -1
  54. package/dist/Card/VerticalCard/Card.cjs +13 -6
  55. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  56. package/dist/Card/VerticalCard/Card.d.ts +1 -1
  57. package/dist/Card/VerticalCard/Card.js +11 -6
  58. package/dist/Card/VerticalCard/Card.js.map +1 -1
  59. package/dist/Chips/ActionChip.cjs +39 -34
  60. package/dist/Chips/ActionChip.cjs.map +1 -1
  61. package/dist/Chips/ActionChip.js +37 -27
  62. package/dist/Chips/ActionChip.js.map +1 -1
  63. package/dist/Chips/ChipTypes.d.ts +8 -6
  64. package/dist/Chips/ChoiceChips.cjs +27 -15
  65. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  66. package/dist/Chips/ChoiceChips.js +25 -9
  67. package/dist/Chips/ChoiceChips.js.map +1 -1
  68. package/dist/Chips/FilterChip.cjs +39 -34
  69. package/dist/Chips/FilterChip.cjs.map +1 -1
  70. package/dist/Chips/FilterChip.js +37 -27
  71. package/dist/Chips/FilterChip.js.map +1 -1
  72. package/dist/Chips/InputChip.cjs +57 -51
  73. package/dist/Chips/InputChip.cjs.map +1 -1
  74. package/dist/Chips/InputChip.js +55 -43
  75. package/dist/Chips/InputChip.js.map +1 -1
  76. package/dist/ChipsInput/ChipDropdownInput.cjs +14 -7
  77. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  78. package/dist/ChipsInput/ChipDropdownInput.d.ts +1 -1
  79. package/dist/ChipsInput/ChipDropdownInput.js +12 -6
  80. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  81. package/dist/ChipsInput/ChipInput.cjs +16 -12
  82. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  83. package/dist/ChipsInput/ChipInput.d.ts +1 -1
  84. package/dist/ChipsInput/ChipInput.js +14 -7
  85. package/dist/ChipsInput/ChipInput.js.map +1 -1
  86. package/dist/ChipsInput/ChipInputField.cjs +22 -4
  87. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  88. package/dist/ChipsInput/ChipInputField.d.ts +1 -1
  89. package/dist/ChipsInput/ChipInputField.js +18 -4
  90. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  91. package/dist/ChipsInput/ChipInputTypes.d.ts +2 -1
  92. package/dist/Dropdown/BasicDropdown.cjs +88 -64
  93. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  94. package/dist/Dropdown/BasicDropdown.d.ts +13 -8
  95. package/dist/Dropdown/BasicDropdown.js +87 -65
  96. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  97. package/dist/Dropdown/CommonStyling.cjs +1 -1
  98. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  99. package/dist/Dropdown/CommonStyling.js +1 -1
  100. package/dist/Dropdown/CommonStyling.js.map +1 -1
  101. package/dist/Dropdown/DropdownFilter.cjs +30 -14
  102. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  103. package/dist/Dropdown/DropdownFilter.d.ts +3 -3
  104. package/dist/Dropdown/DropdownFilter.js +26 -13
  105. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  106. package/dist/Dropdown/index.cjs +4 -4
  107. package/dist/Dropdown/index.cjs.map +1 -1
  108. package/dist/Dropdown/index.d.ts +4 -5
  109. package/dist/Dropdown/index.js +4 -5
  110. package/dist/Dropdown/index.js.map +1 -1
  111. package/dist/Footer/SiteFooter.cjs +16 -4
  112. package/dist/Footer/SiteFooter.cjs.map +1 -1
  113. package/dist/Footer/SiteFooter.d.ts +6 -2
  114. package/dist/Footer/SiteFooter.js +14 -4
  115. package/dist/Footer/SiteFooter.js.map +1 -1
  116. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +5 -9
  117. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  118. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +5 -3
  119. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  120. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +1 -1
  121. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  122. package/dist/GlobalNavigationBar/desktop/MainMenu.js +1 -1
  123. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  124. package/dist/Image/ImageWithFallbacks.cjs +10 -2
  125. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  126. package/dist/Image/ImageWithFallbacks.d.ts +1 -1
  127. package/dist/Image/ImageWithFallbacks.js +9 -2
  128. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  129. package/dist/InputFields/Checkbox.cjs +16 -4
  130. package/dist/InputFields/Checkbox.cjs.map +1 -1
  131. package/dist/InputFields/Checkbox.d.ts +1 -1
  132. package/dist/InputFields/Checkbox.js +13 -4
  133. package/dist/InputFields/Checkbox.js.map +1 -1
  134. package/dist/InputFields/DatepickerField.cjs +44 -38
  135. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  136. package/dist/InputFields/DatepickerField.d.ts +17 -20
  137. package/dist/InputFields/DatepickerField.js +33 -20
  138. package/dist/InputFields/DatepickerField.js.map +1 -1
  139. package/dist/InputFields/NumberField.cjs +63 -52
  140. package/dist/InputFields/NumberField.cjs.map +1 -1
  141. package/dist/InputFields/NumberField.d.ts +14 -19
  142. package/dist/InputFields/NumberField.js +60 -53
  143. package/dist/InputFields/NumberField.js.map +1 -1
  144. package/dist/InputFields/PasswordField.cjs +25 -8
  145. package/dist/InputFields/PasswordField.cjs.map +1 -1
  146. package/dist/InputFields/PasswordField.d.ts +14 -14
  147. package/dist/InputFields/PasswordField.js +22 -9
  148. package/dist/InputFields/PasswordField.js.map +1 -1
  149. package/dist/InputFields/RadioButton.cjs +17 -5
  150. package/dist/InputFields/RadioButton.cjs.map +1 -1
  151. package/dist/InputFields/RadioButton.d.ts +2 -2
  152. package/dist/InputFields/RadioButton.js +14 -5
  153. package/dist/InputFields/RadioButton.js.map +1 -1
  154. package/dist/InputFields/SearchBar.cjs +78 -7
  155. package/dist/InputFields/SearchBar.cjs.map +1 -1
  156. package/dist/InputFields/SearchBar.d.ts +9 -0
  157. package/dist/InputFields/SearchBar.js +75 -7
  158. package/dist/InputFields/SearchBar.js.map +1 -1
  159. package/dist/InputFields/TextField.cjs +23 -8
  160. package/dist/InputFields/TextField.cjs.map +1 -1
  161. package/dist/InputFields/TextField.d.ts +20 -20
  162. package/dist/InputFields/TextField.js +22 -9
  163. package/dist/InputFields/TextField.js.map +1 -1
  164. package/dist/InputFields/Textarea.cjs +20 -7
  165. package/dist/InputFields/Textarea.cjs.map +1 -1
  166. package/dist/InputFields/Textarea.d.ts +16 -2
  167. package/dist/InputFields/Textarea.js +18 -8
  168. package/dist/InputFields/Textarea.js.map +1 -1
  169. package/dist/InputFields/components/SearchBarInput.cjs +10 -4
  170. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  171. package/dist/InputFields/components/SearchBarInput.d.ts +1 -0
  172. package/dist/InputFields/components/SearchBarInput.js +10 -4
  173. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  174. package/dist/InputFields/index.cjs +26 -0
  175. package/dist/InputFields/index.cjs.map +1 -1
  176. package/dist/InputFields/index.d.ts +1 -0
  177. package/dist/InputFields/index.js +1 -0
  178. package/dist/InputFields/index.js.map +1 -1
  179. package/dist/InputFields/styling.cjs +1 -1
  180. package/dist/InputFields/styling.cjs.map +1 -1
  181. package/dist/InputFields/styling.js +1 -1
  182. package/dist/InputFields/styling.js.map +1 -1
  183. package/dist/InputFields/types.d.ts +1 -1
  184. package/dist/LinearProgress/LinearProgress.cjs +17 -4
  185. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  186. package/dist/LinearProgress/LinearProgress.d.ts +1 -1
  187. package/dist/LinearProgress/LinearProgress.js +14 -4
  188. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  189. package/dist/List/ListRow.cjs +15 -8
  190. package/dist/List/ListRow.cjs.map +1 -1
  191. package/dist/List/ListRow.d.ts +1 -1
  192. package/dist/List/ListRow.js +13 -8
  193. package/dist/List/ListRow.js.map +1 -1
  194. package/dist/MenuItem/MenuItem.cjs +19 -11
  195. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  196. package/dist/MenuItem/MenuItem.d.ts +1 -3
  197. package/dist/MenuItem/MenuItem.js +17 -11
  198. package/dist/MenuItem/MenuItem.js.map +1 -1
  199. package/dist/Modals/ModalContainer.cjs.map +1 -1
  200. package/dist/Modals/ModalContainer.js.map +1 -1
  201. package/dist/Popover/Popover.cjs +13 -24
  202. package/dist/Popover/Popover.cjs.map +1 -1
  203. package/dist/Popover/Popover.js +13 -23
  204. package/dist/Popover/Popover.js.map +1 -1
  205. package/dist/ProfileButton/ProfileButton.cjs +17 -8
  206. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  207. package/dist/ProfileButton/ProfileButton.d.ts +8 -12
  208. package/dist/ProfileButton/ProfileButton.js +14 -8
  209. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  210. package/dist/QuizButton/QuizButton.cjs +17 -6
  211. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  212. package/dist/QuizButton/QuizButton.d.ts +1 -2
  213. package/dist/QuizButton/QuizButton.js +15 -6
  214. package/dist/QuizButton/QuizButton.js.map +1 -1
  215. package/dist/SegmentControl/SegmentControl.cjs +28 -8
  216. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  217. package/dist/SegmentControl/SegmentControl.d.ts +2 -2
  218. package/dist/SegmentControl/SegmentControl.js +26 -8
  219. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  220. package/dist/SideMenu/SideMenu.cjs +56 -0
  221. package/dist/SideMenu/SideMenu.cjs.map +1 -0
  222. package/dist/SideMenu/SideMenu.d.ts +4 -0
  223. package/dist/SideMenu/SideMenu.js +37 -0
  224. package/dist/SideMenu/SideMenu.js.map +1 -0
  225. package/dist/SideMenu/SideMenuBody.cjs +64 -0
  226. package/dist/SideMenu/SideMenuBody.cjs.map +1 -0
  227. package/dist/SideMenu/SideMenuBody.d.ts +2 -0
  228. package/dist/SideMenu/SideMenuBody.js +43 -0
  229. package/dist/SideMenu/SideMenuBody.js.map +1 -0
  230. package/dist/SideMenu/SideMenuFooter.cjs +74 -0
  231. package/dist/SideMenu/SideMenuFooter.cjs.map +1 -0
  232. package/dist/SideMenu/SideMenuFooter.d.ts +2 -0
  233. package/dist/SideMenu/SideMenuFooter.js +51 -0
  234. package/dist/SideMenu/SideMenuFooter.js.map +1 -0
  235. package/dist/SideMenu/SideMenuHeader.cjs +68 -0
  236. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -0
  237. package/dist/SideMenu/SideMenuHeader.d.ts +2 -0
  238. package/dist/SideMenu/SideMenuHeader.js +48 -0
  239. package/dist/SideMenu/SideMenuHeader.js.map +1 -0
  240. package/dist/SideMenu/index.cjs +33 -0
  241. package/dist/SideMenu/index.cjs.map +1 -0
  242. package/dist/SideMenu/index.d.ts +2 -0
  243. package/dist/SideMenu/index.js +3 -0
  244. package/dist/SideMenu/index.js.map +1 -0
  245. package/dist/SideMenu/types.cjs +6 -0
  246. package/dist/SideMenu/types.cjs.map +1 -0
  247. package/dist/SideMenu/types.d.ts +27 -0
  248. package/dist/SideMenu/types.js +2 -0
  249. package/dist/SideMenu/types.js.map +1 -0
  250. package/dist/Switcher/MobileSwitcherMenu.cjs +1 -1
  251. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  252. package/dist/Switcher/MobileSwitcherMenu.js +1 -1
  253. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  254. package/dist/Switcher/SwitcherMenuItem.cjs +16 -16
  255. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  256. package/dist/Switcher/SwitcherMenuItem.d.ts +9 -2
  257. package/dist/Switcher/SwitcherMenuItem.js +16 -10
  258. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  259. package/dist/Table/Table.cjs +3 -3
  260. package/dist/Table/Table.cjs.map +1 -1
  261. package/dist/Table/Table.js +3 -3
  262. package/dist/Table/Table.js.map +1 -1
  263. package/dist/Table/TableBody.cjs +4 -2
  264. package/dist/Table/TableBody.cjs.map +1 -1
  265. package/dist/Table/TableBody.js +5 -3
  266. package/dist/Table/TableBody.js.map +1 -1
  267. package/dist/Table/TableFooter.cjs +5 -3
  268. package/dist/Table/TableFooter.cjs.map +1 -1
  269. package/dist/Table/TableFooter.js +5 -3
  270. package/dist/Table/TableFooter.js.map +1 -1
  271. package/dist/Table/TableStyles.cjs +17 -13
  272. package/dist/Table/TableStyles.cjs.map +1 -1
  273. package/dist/Table/TableStyles.d.ts +1 -0
  274. package/dist/Table/TableStyles.js +13 -12
  275. package/dist/Table/TableStyles.js.map +1 -1
  276. package/dist/Table/TableTypes.d.ts +4 -0
  277. package/dist/Tabs/HorizontalTabs.cjs +33 -12
  278. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  279. package/dist/Tabs/HorizontalTabs.d.ts +7 -4
  280. package/dist/Tabs/HorizontalTabs.js +31 -12
  281. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  282. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  283. package/dist/Tag/Tag.cjs +16 -4
  284. package/dist/Tag/Tag.cjs.map +1 -1
  285. package/dist/Tag/Tag.d.ts +1 -1
  286. package/dist/Tag/Tag.js +14 -4
  287. package/dist/Tag/Tag.js.map +1 -1
  288. package/dist/Tile/Tile.cjs +11 -4
  289. package/dist/Tile/Tile.cjs.map +1 -1
  290. package/dist/Tile/Tile.js +10 -4
  291. package/dist/Tile/Tile.js.map +1 -1
  292. package/dist/Tile/TileTypes.d.ts +1 -1
  293. package/dist/Toasters/Toast.cjs.map +1 -1
  294. package/dist/Toasters/Toast.js.map +1 -1
  295. package/dist/Toggles/ToggleButton.cjs +36 -17
  296. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  297. package/dist/Toggles/ToggleButton.d.ts +1 -2
  298. package/dist/Toggles/ToggleButton.js +33 -17
  299. package/dist/Toggles/ToggleButton.js.map +1 -1
  300. package/dist/Toggles/ToggleSwitch.cjs +27 -17
  301. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  302. package/dist/Toggles/ToggleSwitch.d.ts +5 -1
  303. package/dist/Toggles/ToggleSwitch.js +24 -12
  304. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  305. package/dist/Toggles/TogglerTypes.d.ts +1 -1
  306. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  307. package/dist/Tooltips/TooltipTypes.d.ts +1 -1
  308. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  309. package/dist/Tooltips/TooltipWrapper.cjs +19 -4
  310. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  311. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  312. package/dist/Tooltips/TooltipWrapper.js +16 -4
  313. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  314. package/dist/common/FocusVisible.cjs.map +1 -1
  315. package/dist/common/FocusVisible.d.ts +1 -1
  316. package/dist/common/FocusVisible.js.map +1 -1
  317. package/dist/index.cjs +14 -0
  318. package/dist/index.cjs.map +1 -1
  319. package/dist/index.d.ts +1 -0
  320. package/dist/index.js +1 -0
  321. package/dist/index.js.map +1 -1
  322. package/dist/types.cjs.map +1 -1
  323. package/dist/types.d.ts +0 -8
  324. package/dist/types.js.map +1 -1
  325. package/package.json +5 -1
@@ -7,10 +7,14 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.ContentAccordionWrapper = exports.ContentAccordionItemHeaderText = exports.ContentAccordionItemHeaderIcon = exports.ContentAccordionItemHeader = exports.ContentAccordionItemContentHeader = exports.ContentAccordionItemContentFooter = exports.ContentAccordionItemContentBody = exports.ContentAccordionItemContent = exports.ContentAccordionItem = exports.ContentAccordion = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
13
 
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
15
 
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
14
18
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
19
 
16
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -33,8 +37,15 @@ var _common = require("../common");
33
37
 
34
38
  var _jsxRuntime = require("react/jsx-runtime");
35
39
 
40
+ var _excluded = ["items", "multi", "size", "className"],
41
+ _excluded2 = ["id", "title", "header", "body", "footer", "disabled", "active"];
42
+
36
43
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
37
44
 
45
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
46
+
47
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
48
+
38
49
  var ContentAccordionItemHeader = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n color: ", ";\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n z-index: ", ";\n }\n\n &:focus {\n ", "\n }\n\n &:active {\n color: ", ";\n background-color: ", ";\n z-index: ", ";\n }\n"])), _styles.COLORS.neutral_600, _styles.COLORS.primary_700, _styles.COLORS.primary_20, _zIndexes.Z_INDEXES.hover, _styles.focusStyles, _styles.COLORS.primary_800, _styles.COLORS.primary_100, _zIndexes.Z_INDEXES.active);
39
50
 
40
51
  exports.ContentAccordionItemHeader = ContentAccordionItemHeader;
@@ -67,12 +78,18 @@ var ContentAccordionItem = _styledComponents.default.div(_templateObject8 || (_t
67
78
 
68
79
  exports.ContentAccordionItem = ContentAccordionItem;
69
80
 
70
- var ContentAccordionWrapper = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n position: relative;\n\n ", ":last-child {\n border-bottom: 1px solid ", ";\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ", " {\n gap: 8px;\n padding: 0 8px;\n ", "\n }\n\n ", " {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ", " {\n gap: 12px;\n padding: 0 12px;\n ", "\n }\n\n ", " {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ", " {\n gap: 16px;\n padding: 0 16px;\n ", "\n }\n\n ", " {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n"])), ContentAccordionItem, _styles.COLORS.neutral_100, ContentAccordionItemHeader, (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, (0, _typography.ParagraphSStyling)(_typography.ParagraphTextStyle.Bold, _styles.COLORS.black), ContentAccordionItemContentBody, (0, _typography.ParagraphSStyling)(_typography.ParagraphTextStyle.Regular, _styles.COLORS.black), ContentAccordionItemHeader, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, (0, _typography.ParagraphMStyling)(_typography.ParagraphTextStyle.Bold, _styles.COLORS.black), ContentAccordionItemContentBody, (0, _typography.ParagraphMStyling)(_typography.ParagraphTextStyle.Regular, _styles.COLORS.black), ContentAccordionItemHeader, (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, (0, _typography.ParagraphLStyling)(_typography.ParagraphTextStyle.Bold, _styles.COLORS.black), ContentAccordionItemContentBody, (0, _typography.ParagraphLStyling)(_typography.ParagraphTextStyle.Regular, _styles.COLORS.black));
81
+ var ContentAccordionWrapper = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n position: relative;\n\n ", ":last-child {\n border-bottom: 1px solid ", ";\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ", " {\n gap: 8px;\n padding: 0 8px;\n ", "\n }\n\n ", " {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ", " {\n gap: 12px;\n padding: 0 12px;\n ", "\n }\n\n ", " {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ", " {\n gap: 16px;\n padding: 0 16px;\n ", "\n }\n\n ", " {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n"])), ContentAccordionItem, _styles.COLORS.neutral_100, ContentAccordionItemHeader, (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.black), ContentAccordionItemContentBody, (0, _typography.ParagraphSStyling)(_typography.ParagraphTextStyle.Regular, _styles.COLORS.black), ContentAccordionItemHeader, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.black), ContentAccordionItemContentBody, (0, _typography.ParagraphMStyling)(_typography.ParagraphTextStyle.Regular, _styles.COLORS.black), ContentAccordionItemHeader, (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.black), ContentAccordionItemContentBody, (0, _typography.ParagraphLStyling)(_typography.ParagraphTextStyle.Regular, _styles.COLORS.black));
71
82
 
72
83
  exports.ContentAccordionWrapper = ContentAccordionWrapper;
73
84
 
74
- var ContentAccordion = function ContentAccordion(props) {
75
- var _props$size;
85
+ var ContentAccordion = function ContentAccordion(_ref) {
86
+ var items = _ref.items,
87
+ _ref$multi = _ref.multi,
88
+ multi = _ref$multi === void 0 ? false : _ref$multi,
89
+ _ref$size = _ref.size,
90
+ size = _ref$size === void 0 ? _types.Size.Medium : _ref$size,
91
+ className = _ref.className,
92
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
76
93
 
77
94
  var _React$useState = _react.default.useState([]),
78
95
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
@@ -80,75 +97,88 @@ var ContentAccordion = function ContentAccordion(props) {
80
97
  setOpened = _React$useState2[1];
81
98
 
82
99
  _react.default.useEffect(function () {
83
- if (props.multi) {
84
- setOpened(props.items.filter(function (item) {
100
+ if (multi) {
101
+ setOpened(items.filter(function (item) {
85
102
  return item.active;
86
103
  }).map(function (item) {
87
- return item.key;
104
+ return item.id;
88
105
  }));
89
106
  } else {
90
- var _props$items$find;
107
+ var _items$find;
91
108
 
92
- var active = (_props$items$find = props.items.find(function (item) {
109
+ var active = (_items$find = items.find(function (item) {
93
110
  return !!item.active;
94
- })) === null || _props$items$find === void 0 ? void 0 : _props$items$find.key;
111
+ })) === null || _items$find === void 0 ? void 0 : _items$find.id;
95
112
 
96
113
  if (active) {
97
114
  setOpened([active]);
98
115
  }
99
116
  }
100
- }, [props.items, props.multi]);
117
+ }, [items, multi]);
101
118
 
102
119
  var onItemClick = function onItemClick(item) {
103
120
  if (item.disabled) return;
104
121
 
105
- if (opened.includes(item.key)) {
122
+ if (opened.includes(item.id)) {
106
123
  setOpened(opened.filter(function (key) {
107
- return key !== item.key;
124
+ return key !== item.id;
108
125
  }));
109
126
  } else {
110
- if (props.multi) {
111
- setOpened([].concat((0, _toConsumableArray2.default)(opened), [item.key]));
127
+ if (multi) {
128
+ setOpened([].concat((0, _toConsumableArray2.default)(opened), [item.id]));
112
129
  } else {
113
- setOpened([item.key]);
130
+ setOpened([item.id]);
114
131
  }
115
132
  }
116
133
  };
117
134
 
118
135
  var renderItem = function renderItem(item) {
119
- var isActive = opened.includes(item.key);
136
+ var id = item.id,
137
+ title = item.title,
138
+ header = item.header,
139
+ body = item.body,
140
+ footer = item.footer,
141
+ disabled = item.disabled,
142
+ active = item.active,
143
+ rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
144
+ var isActive = opened.includes(id);
120
145
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(ContentAccordionItem, {
121
- id: "item_".concat(item.key),
146
+ id: "item_".concat(id),
122
147
  className: ''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : ''),
123
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ContentAccordionItemHeader, {
124
- tabIndex: !item.disabled ? 0 : undefined,
148
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ContentAccordionItemHeader, _objectSpread(_objectSpread({
149
+ role: "button",
150
+ id: "headerFor_".concat(id),
151
+ tabIndex: !disabled ? 0 : undefined,
125
152
  onMouseDown: _common.defaultOnMouseDownHandler,
126
153
  onClick: function onClick() {
127
- return !item.disabled && onItemClick(item);
154
+ return !disabled && onItemClick(item);
128
155
  },
129
- onKeyPress: function onKeyPress(event) {
156
+ onKeyDown: function onKeyDown(event) {
130
157
  return event.key === 'Enter' && onItemClick(item);
131
- },
158
+ }
159
+ }, rest), {}, {
132
160
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionItemHeaderIcon, {
133
- children: props.multi ? isActive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Minus, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Plus, {}) : isActive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronDown, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronRight, {})
161
+ children: multi ? isActive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Minus, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Plus, {}) : isActive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronDown, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronRight, {})
134
162
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionItemHeaderText, {
135
- children: item.title
163
+ children: title
136
164
  })]
137
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(ContentAccordionItemContent, {
138
- children: [item.header && /*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionItemContentHeader, {
139
- children: item.header
165
+ })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(ContentAccordionItemContent, {
166
+ "aria-describedby": "headerFor_".concat(id),
167
+ children: [header && /*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionItemContentHeader, {
168
+ children: header
140
169
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionItemContentBody, {
141
- children: item.body
142
- }), item.footer && /*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionItemContentFooter, {
143
- children: item.footer
170
+ children: body
171
+ }), footer && /*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionItemContentFooter, {
172
+ children: footer
144
173
  })]
145
174
  })]
146
- }, item.key);
175
+ }, id);
147
176
  };
148
177
 
178
+ var cls = "".concat(size, " ").concat(className !== null && className !== void 0 ? className : '').trim();
149
179
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(ContentAccordionWrapper, {
150
- className: ''.concat(" ".concat((_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : _types.Size.Medium)),
151
- children: props.items.map(function (item) {
180
+ className: cls,
181
+ children: items.map(function (item) {
152
182
  return renderItem(item);
153
183
  })
154
184
  });
@@ -157,7 +187,7 @@ var ContentAccordion = function ContentAccordion(props) {
157
187
  exports.ContentAccordion = ContentAccordion;
158
188
  ContentAccordion.propTypes = {
159
189
  items: _propTypes.default.arrayOf(_propTypes.default.shape({
160
- key: _propTypes.default.string.isRequired,
190
+ id: _propTypes.default.string.isRequired,
161
191
  title: _propTypes.default.string.isRequired,
162
192
  header: _propTypes.default.string,
163
193
  body: _propTypes.default.any.isRequired,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Accordion/ContentAccordion.tsx"],"names":["ContentAccordionItemHeader","styled","div","COLORS","neutral_600","primary_700","primary_20","Z_INDEXES","hover","focusStyles","primary_800","primary_100","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","ContentAccordionItemContentFooter","ContentAccordionItem","neutral_100","neutral_300","ContentAccordionWrapper","ComponentTextStyle","Regular","ParagraphTextStyle","Bold","black","ContentAccordion","props","React","useState","opened","setOpened","useEffect","multi","items","filter","item","map","key","find","onItemClick","disabled","includes","renderItem","isActive","concat","undefined","defaultOnMouseDownHandler","event","title","header","body","footer","size","Size","Medium"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Size } from '../types';\nimport { SystemIcons } from '../icons';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ParagraphLStyling,\n ParagraphMStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n} from '../styles/typography';\nimport { COLORS, focusStyles } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport { defaultOnMouseDownHandler } from '../common';\n\nexport const ContentAccordionItemHeader = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n color: ${COLORS.neutral_600};\n cursor: pointer;\n\n &:hover {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_20};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n`;\n\nexport const ContentAccordionItemHeaderIcon = styled.div`\n width: 24px;\n height: 24px;\n\n svg {\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const ContentAccordionItemHeaderText = styled.div``;\n\nexport const ContentAccordionItemContent = styled.div`\n display: none;\n flex-direction: column;\n`;\n\nexport const ContentAccordionItemContentHeader = styled.div``;\n\nexport const ContentAccordionItemContentBody = styled.div``;\n\nexport const ContentAccordionItemContentFooter = styled.div``;\n\nexport const ContentAccordionItem = styled.div`\n display: flex;\n flex-direction: column;\n border-top: 1px solid ${COLORS.neutral_100};\n\n &.active {\n ${ContentAccordionItemContent} {\n display: flex;\n }\n }\n\n &.disabled {\n ${ContentAccordionItemHeader} {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n }\n }\n`;\n\nexport const ContentAccordionWrapper = styled.div`\n width: 100%;\n position: relative;\n\n ${ContentAccordionItem}:last-child {\n border-bottom: 1px solid ${COLORS.neutral_100};\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ${ContentAccordionItemHeader} {\n gap: 8px;\n padding: 0 8px;\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ${ContentAccordionItemContentHeader} {\n ${ParagraphSStyling(ParagraphTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ${ContentAccordionItemHeader} {\n gap: 12px;\n padding: 0 12px;\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ${ContentAccordionItemContentHeader} {\n ${ParagraphMStyling(ParagraphTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphMStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ${ContentAccordionItemHeader} {\n gap: 16px;\n padding: 0 16px;\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ${ContentAccordionItemContentHeader} {\n ${ParagraphLStyling(ParagraphTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphLStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n`;\n\nexport interface ContentAccordionItem {\n key: string;\n title: string;\n header?: string;\n body: any;\n footer?: any;\n disabled?: boolean;\n active?: boolean;\n}\n\nexport interface ContentAccordionProps {\n items: ContentAccordionItem[];\n multi?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n}\n\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = (props) => {\n const [opened, setOpened] = React.useState<string[]>([]);\n\n React.useEffect(() => {\n if (props.multi) {\n setOpened(props.items.filter((item) => item.active).map((item) => item.key));\n } else {\n let active = props.items.find((item) => !!item.active)?.key;\n if (active) {\n setOpened([active]);\n }\n }\n }, [props.items, props.multi]);\n\n const onItemClick = (item: ContentAccordionItem) => {\n if (item.disabled) return;\n if (opened.includes(item.key)) {\n setOpened(opened.filter((key) => key !== item.key));\n } else {\n if (props.multi) {\n setOpened([...opened, item.key]);\n } else {\n setOpened([item.key]);\n }\n }\n };\n\n const renderItem = (item: ContentAccordionItem) => {\n const isActive = opened.includes(item.key);\n\n return (\n <ContentAccordionItem key={item.key} id={`item_${item.key}`} className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\n <ContentAccordionItemHeader\n tabIndex={!item.disabled ? 0 : undefined}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !item.disabled && onItemClick(item)}\n onKeyPress={(event) => event.key === 'Enter' && onItemClick(item)}>\n <ContentAccordionItemHeaderIcon>\n {props.multi ? isActive ? <SystemIcons.Minus /> : <SystemIcons.Plus /> : isActive ? <SystemIcons.ChevronDown /> : <SystemIcons.ChevronRight />}\n </ContentAccordionItemHeaderIcon>\n <ContentAccordionItemHeaderText>{item.title}</ContentAccordionItemHeaderText>\n </ContentAccordionItemHeader>\n <ContentAccordionItemContent>\n {item.header && <ContentAccordionItemContentHeader>{item.header}</ContentAccordionItemContentHeader>}\n <ContentAccordionItemContentBody>{item.body}</ContentAccordionItemContentBody>\n {item.footer && <ContentAccordionItemContentFooter>{item.footer}</ContentAccordionItemContentFooter>}\n </ContentAccordionItemContent>\n </ContentAccordionItem>\n );\n };\n\n return <ContentAccordionWrapper className={''.concat(` ${props.size ?? Size.Medium}`)}>{props.items.map((item) => renderItem(item))}</ContentAccordionWrapper>;\n};\n\nexport default ContentAccordion;\n"],"file":"ContentAccordion.cjs"}
1
+ {"version":3,"sources":["../../src/Accordion/ContentAccordion.tsx"],"names":["ContentAccordionItemHeader","styled","div","COLORS","neutral_600","primary_700","primary_20","Z_INDEXES","hover","focusStyles","primary_800","primary_100","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","ContentAccordionItemContentFooter","ContentAccordionItem","neutral_100","neutral_300","ContentAccordionWrapper","ComponentTextStyle","Regular","Bold","black","ParagraphTextStyle","ContentAccordion","items","multi","size","Size","Medium","className","rest","React","useState","opened","setOpened","useEffect","filter","item","map","id","find","onItemClick","disabled","includes","key","renderItem","title","header","body","footer","isActive","concat","undefined","defaultOnMouseDownHandler","event","cls","trim"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {Size} from '../types';\nimport {SystemIcons} from '../icons';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ParagraphLStyling,\n ParagraphMStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n} from '../styles/typography';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nexport const ContentAccordionItemHeader = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n color: ${COLORS.neutral_600};\n cursor: pointer;\n\n &:hover {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_20};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n`;\n\nexport const ContentAccordionItemHeaderIcon = styled.div`\n width: 24px;\n height: 24px;\n\n svg {\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const ContentAccordionItemHeaderText = styled.div``;\n\nexport const ContentAccordionItemContent = styled.div`\n display: none;\n flex-direction: column;\n`;\n\nexport const ContentAccordionItemContentHeader = styled.div``;\n\nexport const ContentAccordionItemContentBody = styled.div``;\n\nexport const ContentAccordionItemContentFooter = styled.div``;\n\nexport const ContentAccordionItem = styled.div`\n display: flex;\n flex-direction: column;\n border-top: 1px solid ${COLORS.neutral_100};\n\n &.active {\n ${ContentAccordionItemContent} {\n display: flex;\n }\n }\n\n &.disabled {\n ${ContentAccordionItemHeader} {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n }\n }\n`;\n\nexport const ContentAccordionWrapper = styled.div`\n width: 100%;\n position: relative;\n\n ${ContentAccordionItem}:last-child {\n border-bottom: 1px solid ${COLORS.neutral_100};\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ${ContentAccordionItemHeader} {\n gap: 8px;\n padding: 0 8px;\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ${ContentAccordionItemHeader} {\n gap: 12px;\n padding: 0 12px;\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphMStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ${ContentAccordionItemHeader} {\n gap: 16px;\n padding: 0 16px;\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphLStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n`;\n\nexport interface ContentAccordionItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {\n id: string;\n title: string;\n header?: string;\n body: any;\n footer?: any;\n disabled?: boolean;\n active?: boolean;\n}\n\nexport interface ContentAccordionProps extends React.HTMLAttributes<HTMLDivElement> {\n items: ContentAccordionItem[];\n multi?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n}\n\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = ({\n items,\n multi = false,\n size = Size.Medium,\n className,\n ...rest\n }) => {\n const [opened, setOpened] = React.useState<string[]>([]);\n\n React.useEffect(() => {\n if (multi) {\n setOpened(items.filter((item) => item.active).map((item) => item.id));\n } else {\n let active = items.find((item) => !!item.active)?.id;\n if (active) {\n setOpened([active]);\n }\n }\n }, [items, multi]);\n\n const onItemClick = (item: ContentAccordionItem) => {\n if (item.disabled) return;\n if (opened.includes(item.id)) {\n setOpened(opened.filter((key) => key !== item.id));\n } else {\n if (multi) {\n setOpened([...opened, item.id]);\n } else {\n setOpened([item.id]);\n }\n }\n };\n\n const renderItem = (item: ContentAccordionItem) => {\n const {id, title, header, body, footer, disabled, active, ...rest} = item;\n const isActive = opened.includes(id);\n\n return (\n <ContentAccordionItem key={id} id={`item_${id}`}\n className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\n <ContentAccordionItemHeader\n role=\"button\"\n id={`headerFor_${id}`}\n tabIndex={!disabled ? 0 : undefined}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onItemClick(item)}\n onKeyDown={(event) => event.key === 'Enter' && onItemClick(item)}\n {...rest}>\n <ContentAccordionItemHeaderIcon>\n {multi ? isActive ? <SystemIcons.Minus/> : <SystemIcons.Plus/> : isActive ?\n <SystemIcons.ChevronDown/> : <SystemIcons.ChevronRight/>}\n </ContentAccordionItemHeaderIcon>\n <ContentAccordionItemHeaderText>{title}</ContentAccordionItemHeaderText>\n </ContentAccordionItemHeader>\n <ContentAccordionItemContent aria-describedby={`headerFor_${id}`}>\n {header && <ContentAccordionItemContentHeader>{header}</ContentAccordionItemContentHeader>}\n <ContentAccordionItemContentBody>{body}</ContentAccordionItemContentBody>\n {footer && <ContentAccordionItemContentFooter>{footer}</ContentAccordionItemContentFooter>}\n </ContentAccordionItemContent>\n </ContentAccordionItem>\n );\n };\n\n const cls = `${size} ${className ?? ''}`.trim();\n\n return <ContentAccordionWrapper className={cls}>\n {items.map((item) => renderItem(item))}\n </ContentAccordionWrapper>;\n};\n\nexport default ContentAccordion;\n"],"file":"ContentAccordion.cjs"}
@@ -9,8 +9,8 @@ export declare const ContentAccordionItemContentBody: import("styled-components"
9
9
  export declare const ContentAccordionItemContentFooter: import("styled-components").StyledComponent<"div", any, {}, never>;
10
10
  export declare const ContentAccordionItem: import("styled-components").StyledComponent<"div", any, {}, never>;
11
11
  export declare const ContentAccordionWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
12
- export interface ContentAccordionItem {
13
- key: string;
12
+ export interface ContentAccordionItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {
13
+ id: string;
14
14
  title: string;
15
15
  header?: string;
16
16
  body: any;
@@ -18,7 +18,7 @@ export interface ContentAccordionItem {
18
18
  disabled?: boolean;
19
19
  active?: boolean;
20
20
  }
21
- export interface ContentAccordionProps {
21
+ export interface ContentAccordionProps extends React.HTMLAttributes<HTMLDivElement> {
22
22
  items: ContentAccordionItem[];
23
23
  multi?: boolean;
24
24
  size?: Size.Small | Size.Medium | Size.Large;
@@ -1,10 +1,18 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
5
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
6
  import _pt from "prop-types";
7
+ var _excluded = ["items", "multi", "size", "className"],
8
+ _excluded2 = ["id", "title", "header", "body", "footer", "disabled", "active"];
5
9
 
6
10
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
7
11
 
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+
8
16
  import React from 'react';
9
17
  import styled from 'styled-components';
10
18
  import { Size } from '../types';
@@ -23,9 +31,15 @@ export var ContentAccordionItemContentHeader = styled.div(_templateObject5 || (_
23
31
  export var ContentAccordionItemContentBody = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([""])));
24
32
  export var ContentAccordionItemContentFooter = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([""])));
25
33
  export var ContentAccordionItem = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n border-top: 1px solid ", ";\n\n &.active {\n ", " {\n display: flex;\n }\n }\n\n &.disabled {\n ", " {\n color: ", ";\n cursor: not-allowed;\n pointer-events: none;\n }\n }\n"])), COLORS.neutral_100, ContentAccordionItemContent, ContentAccordionItemHeader, COLORS.neutral_300);
26
- export var ContentAccordionWrapper = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 100%;\n position: relative;\n\n ", ":last-child {\n border-bottom: 1px solid ", ";\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ", " {\n gap: 8px;\n padding: 0 8px;\n ", "\n }\n\n ", " {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ", " {\n gap: 12px;\n padding: 0 12px;\n ", "\n }\n\n ", " {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ", " {\n gap: 16px;\n padding: 0 16px;\n ", "\n }\n\n ", " {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n"])), ContentAccordionItem, COLORS.neutral_100, ContentAccordionItemHeader, ComponentSStyling(ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, ParagraphSStyling(ParagraphTextStyle.Bold, COLORS.black), ContentAccordionItemContentBody, ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.black), ContentAccordionItemHeader, ComponentMStyling(ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, ParagraphMStyling(ParagraphTextStyle.Bold, COLORS.black), ContentAccordionItemContentBody, ParagraphMStyling(ParagraphTextStyle.Regular, COLORS.black), ContentAccordionItemHeader, ComponentLStyling(ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, ParagraphLStyling(ParagraphTextStyle.Bold, COLORS.black), ContentAccordionItemContentBody, ParagraphLStyling(ParagraphTextStyle.Regular, COLORS.black));
27
- export var ContentAccordion = function ContentAccordion(props) {
28
- var _props$size;
34
+ export var ContentAccordionWrapper = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 100%;\n position: relative;\n\n ", ":last-child {\n border-bottom: 1px solid ", ";\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ", " {\n gap: 8px;\n padding: 0 8px;\n ", "\n }\n\n ", " {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ", " {\n gap: 12px;\n padding: 0 12px;\n ", "\n }\n\n ", " {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ", " {\n gap: 16px;\n padding: 0 16px;\n ", "\n }\n\n ", " {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n"])), ContentAccordionItem, COLORS.neutral_100, ContentAccordionItemHeader, ComponentSStyling(ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, ComponentSStyling(ComponentTextStyle.Bold, COLORS.black), ContentAccordionItemContentBody, ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.black), ContentAccordionItemHeader, ComponentMStyling(ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, ComponentMStyling(ComponentTextStyle.Bold, COLORS.black), ContentAccordionItemContentBody, ParagraphMStyling(ParagraphTextStyle.Regular, COLORS.black), ContentAccordionItemHeader, ComponentLStyling(ComponentTextStyle.Regular, null), ContentAccordionItemContent, ContentAccordionItemContentHeader, ComponentLStyling(ComponentTextStyle.Bold, COLORS.black), ContentAccordionItemContentBody, ParagraphLStyling(ParagraphTextStyle.Regular, COLORS.black));
35
+ export var ContentAccordion = function ContentAccordion(_ref) {
36
+ var items = _ref.items,
37
+ _ref$multi = _ref.multi,
38
+ multi = _ref$multi === void 0 ? false : _ref$multi,
39
+ _ref$size = _ref.size,
40
+ size = _ref$size === void 0 ? Size.Medium : _ref$size,
41
+ className = _ref.className,
42
+ rest = _objectWithoutProperties(_ref, _excluded);
29
43
 
30
44
  var _React$useState = React.useState([]),
31
45
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -33,82 +47,96 @@ export var ContentAccordion = function ContentAccordion(props) {
33
47
  setOpened = _React$useState2[1];
34
48
 
35
49
  React.useEffect(function () {
36
- if (props.multi) {
37
- setOpened(props.items.filter(function (item) {
50
+ if (multi) {
51
+ setOpened(items.filter(function (item) {
38
52
  return item.active;
39
53
  }).map(function (item) {
40
- return item.key;
54
+ return item.id;
41
55
  }));
42
56
  } else {
43
- var _props$items$find;
57
+ var _items$find;
44
58
 
45
- var active = (_props$items$find = props.items.find(function (item) {
59
+ var active = (_items$find = items.find(function (item) {
46
60
  return !!item.active;
47
- })) === null || _props$items$find === void 0 ? void 0 : _props$items$find.key;
61
+ })) === null || _items$find === void 0 ? void 0 : _items$find.id;
48
62
 
49
63
  if (active) {
50
64
  setOpened([active]);
51
65
  }
52
66
  }
53
- }, [props.items, props.multi]);
67
+ }, [items, multi]);
54
68
 
55
69
  var onItemClick = function onItemClick(item) {
56
70
  if (item.disabled) return;
57
71
 
58
- if (opened.includes(item.key)) {
72
+ if (opened.includes(item.id)) {
59
73
  setOpened(opened.filter(function (key) {
60
- return key !== item.key;
74
+ return key !== item.id;
61
75
  }));
62
76
  } else {
63
- if (props.multi) {
64
- setOpened([].concat(_toConsumableArray(opened), [item.key]));
77
+ if (multi) {
78
+ setOpened([].concat(_toConsumableArray(opened), [item.id]));
65
79
  } else {
66
- setOpened([item.key]);
80
+ setOpened([item.id]);
67
81
  }
68
82
  }
69
83
  };
70
84
 
71
85
  var renderItem = function renderItem(item) {
72
- var isActive = opened.includes(item.key);
86
+ var id = item.id,
87
+ title = item.title,
88
+ header = item.header,
89
+ body = item.body,
90
+ footer = item.footer,
91
+ disabled = item.disabled,
92
+ active = item.active,
93
+ rest = _objectWithoutProperties(item, _excluded2);
94
+
95
+ var isActive = opened.includes(id);
73
96
  return /*#__PURE__*/_jsxs(ContentAccordionItem, {
74
- id: "item_".concat(item.key),
97
+ id: "item_".concat(id),
75
98
  className: ''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : ''),
76
- children: [/*#__PURE__*/_jsxs(ContentAccordionItemHeader, {
77
- tabIndex: !item.disabled ? 0 : undefined,
99
+ children: [/*#__PURE__*/_jsxs(ContentAccordionItemHeader, _objectSpread(_objectSpread({
100
+ role: "button",
101
+ id: "headerFor_".concat(id),
102
+ tabIndex: !disabled ? 0 : undefined,
78
103
  onMouseDown: defaultOnMouseDownHandler,
79
104
  onClick: function onClick() {
80
- return !item.disabled && onItemClick(item);
105
+ return !disabled && onItemClick(item);
81
106
  },
82
- onKeyPress: function onKeyPress(event) {
107
+ onKeyDown: function onKeyDown(event) {
83
108
  return event.key === 'Enter' && onItemClick(item);
84
- },
109
+ }
110
+ }, rest), {}, {
85
111
  children: [/*#__PURE__*/_jsx(ContentAccordionItemHeaderIcon, {
86
- children: props.multi ? isActive ? /*#__PURE__*/_jsx(SystemIcons.Minus, {}) : /*#__PURE__*/_jsx(SystemIcons.Plus, {}) : isActive ? /*#__PURE__*/_jsx(SystemIcons.ChevronDown, {}) : /*#__PURE__*/_jsx(SystemIcons.ChevronRight, {})
112
+ children: multi ? isActive ? /*#__PURE__*/_jsx(SystemIcons.Minus, {}) : /*#__PURE__*/_jsx(SystemIcons.Plus, {}) : isActive ? /*#__PURE__*/_jsx(SystemIcons.ChevronDown, {}) : /*#__PURE__*/_jsx(SystemIcons.ChevronRight, {})
87
113
  }), /*#__PURE__*/_jsx(ContentAccordionItemHeaderText, {
88
- children: item.title
114
+ children: title
89
115
  })]
90
- }), /*#__PURE__*/_jsxs(ContentAccordionItemContent, {
91
- children: [item.header && /*#__PURE__*/_jsx(ContentAccordionItemContentHeader, {
92
- children: item.header
116
+ })), /*#__PURE__*/_jsxs(ContentAccordionItemContent, {
117
+ "aria-describedby": "headerFor_".concat(id),
118
+ children: [header && /*#__PURE__*/_jsx(ContentAccordionItemContentHeader, {
119
+ children: header
93
120
  }), /*#__PURE__*/_jsx(ContentAccordionItemContentBody, {
94
- children: item.body
95
- }), item.footer && /*#__PURE__*/_jsx(ContentAccordionItemContentFooter, {
96
- children: item.footer
121
+ children: body
122
+ }), footer && /*#__PURE__*/_jsx(ContentAccordionItemContentFooter, {
123
+ children: footer
97
124
  })]
98
125
  })]
99
- }, item.key);
126
+ }, id);
100
127
  };
101
128
 
129
+ var cls = "".concat(size, " ").concat(className !== null && className !== void 0 ? className : '').trim();
102
130
  return /*#__PURE__*/_jsx(ContentAccordionWrapper, {
103
- className: ''.concat(" ".concat((_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : Size.Medium)),
104
- children: props.items.map(function (item) {
131
+ className: cls,
132
+ children: items.map(function (item) {
105
133
  return renderItem(item);
106
134
  })
107
135
  });
108
136
  };
109
137
  ContentAccordion.propTypes = {
110
138
  items: _pt.arrayOf(_pt.shape({
111
- key: _pt.string.isRequired,
139
+ id: _pt.string.isRequired,
112
140
  title: _pt.string.isRequired,
113
141
  header: _pt.string,
114
142
  body: _pt.any.isRequired,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Accordion/ContentAccordion.tsx"],"names":["React","styled","Size","SystemIcons","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ParagraphLStyling","ParagraphMStyling","ParagraphSStyling","ParagraphTextStyle","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","ContentAccordionItemHeader","div","neutral_600","primary_700","primary_20","hover","primary_800","primary_100","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","ContentAccordionItemContentFooter","ContentAccordionItem","neutral_100","neutral_300","ContentAccordionWrapper","Regular","Bold","black","ContentAccordion","props","useState","opened","setOpened","useEffect","multi","items","filter","item","map","key","find","onItemClick","disabled","includes","renderItem","isActive","concat","undefined","event","title","header","body","footer","size","Medium"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport { Size } from '../types';\nimport { SystemIcons } from '../icons';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ParagraphLStyling,\n ParagraphMStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n} from '../styles/typography';\nimport { COLORS, focusStyles } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\nimport { defaultOnMouseDownHandler } from '../common';\n\nexport const ContentAccordionItemHeader = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n color: ${COLORS.neutral_600};\n cursor: pointer;\n\n &:hover {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_20};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n`;\n\nexport const ContentAccordionItemHeaderIcon = styled.div`\n width: 24px;\n height: 24px;\n\n svg {\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const ContentAccordionItemHeaderText = styled.div``;\n\nexport const ContentAccordionItemContent = styled.div`\n display: none;\n flex-direction: column;\n`;\n\nexport const ContentAccordionItemContentHeader = styled.div``;\n\nexport const ContentAccordionItemContentBody = styled.div``;\n\nexport const ContentAccordionItemContentFooter = styled.div``;\n\nexport const ContentAccordionItem = styled.div`\n display: flex;\n flex-direction: column;\n border-top: 1px solid ${COLORS.neutral_100};\n\n &.active {\n ${ContentAccordionItemContent} {\n display: flex;\n }\n }\n\n &.disabled {\n ${ContentAccordionItemHeader} {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n }\n }\n`;\n\nexport const ContentAccordionWrapper = styled.div`\n width: 100%;\n position: relative;\n\n ${ContentAccordionItem}:last-child {\n border-bottom: 1px solid ${COLORS.neutral_100};\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ${ContentAccordionItemHeader} {\n gap: 8px;\n padding: 0 8px;\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ${ContentAccordionItemContentHeader} {\n ${ParagraphSStyling(ParagraphTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ${ContentAccordionItemHeader} {\n gap: 12px;\n padding: 0 12px;\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ${ContentAccordionItemContentHeader} {\n ${ParagraphMStyling(ParagraphTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphMStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ${ContentAccordionItemHeader} {\n gap: 16px;\n padding: 0 16px;\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ${ContentAccordionItemContentHeader} {\n ${ParagraphLStyling(ParagraphTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphLStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n`;\n\nexport interface ContentAccordionItem {\n key: string;\n title: string;\n header?: string;\n body: any;\n footer?: any;\n disabled?: boolean;\n active?: boolean;\n}\n\nexport interface ContentAccordionProps {\n items: ContentAccordionItem[];\n multi?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n}\n\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = (props) => {\n const [opened, setOpened] = React.useState<string[]>([]);\n\n React.useEffect(() => {\n if (props.multi) {\n setOpened(props.items.filter((item) => item.active).map((item) => item.key));\n } else {\n let active = props.items.find((item) => !!item.active)?.key;\n if (active) {\n setOpened([active]);\n }\n }\n }, [props.items, props.multi]);\n\n const onItemClick = (item: ContentAccordionItem) => {\n if (item.disabled) return;\n if (opened.includes(item.key)) {\n setOpened(opened.filter((key) => key !== item.key));\n } else {\n if (props.multi) {\n setOpened([...opened, item.key]);\n } else {\n setOpened([item.key]);\n }\n }\n };\n\n const renderItem = (item: ContentAccordionItem) => {\n const isActive = opened.includes(item.key);\n\n return (\n <ContentAccordionItem key={item.key} id={`item_${item.key}`} className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\n <ContentAccordionItemHeader\n tabIndex={!item.disabled ? 0 : undefined}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !item.disabled && onItemClick(item)}\n onKeyPress={(event) => event.key === 'Enter' && onItemClick(item)}>\n <ContentAccordionItemHeaderIcon>\n {props.multi ? isActive ? <SystemIcons.Minus /> : <SystemIcons.Plus /> : isActive ? <SystemIcons.ChevronDown /> : <SystemIcons.ChevronRight />}\n </ContentAccordionItemHeaderIcon>\n <ContentAccordionItemHeaderText>{item.title}</ContentAccordionItemHeaderText>\n </ContentAccordionItemHeader>\n <ContentAccordionItemContent>\n {item.header && <ContentAccordionItemContentHeader>{item.header}</ContentAccordionItemContentHeader>}\n <ContentAccordionItemContentBody>{item.body}</ContentAccordionItemContentBody>\n {item.footer && <ContentAccordionItemContentFooter>{item.footer}</ContentAccordionItemContentFooter>}\n </ContentAccordionItemContent>\n </ContentAccordionItem>\n );\n };\n\n return <ContentAccordionWrapper className={''.concat(` ${props.size ?? Size.Medium}`)}>{props.items.map((item) => renderItem(item))}</ContentAccordionWrapper>;\n};\n\nexport default ContentAccordion;\n"],"file":"ContentAccordion.js"}
1
+ {"version":3,"sources":["../../src/Accordion/ContentAccordion.tsx"],"names":["React","styled","Size","SystemIcons","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ParagraphLStyling","ParagraphMStyling","ParagraphSStyling","ParagraphTextStyle","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","ContentAccordionItemHeader","div","neutral_600","primary_700","primary_20","hover","primary_800","primary_100","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","ContentAccordionItemContentFooter","ContentAccordionItem","neutral_100","neutral_300","ContentAccordionWrapper","Regular","Bold","black","ContentAccordion","items","multi","size","Medium","className","rest","useState","opened","setOpened","useEffect","filter","item","map","id","find","onItemClick","disabled","includes","key","renderItem","title","header","body","footer","isActive","concat","undefined","event","cls","trim"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {Size} from '../types';\nimport {SystemIcons} from '../icons';\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ParagraphLStyling,\n ParagraphMStyling,\n ParagraphSStyling,\n ParagraphTextStyle,\n} from '../styles/typography';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nexport const ContentAccordionItemHeader = styled.div`\n display: flex;\n align-items: center;\n box-sizing: border-box;\n min-height: 48px;\n color: ${COLORS.neutral_600};\n cursor: pointer;\n\n &:hover {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_20};\n z-index: ${Z_INDEXES.hover};\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:active {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n`;\n\nexport const ContentAccordionItemHeaderIcon = styled.div`\n width: 24px;\n height: 24px;\n\n svg {\n width: 24px;\n height: 24px;\n }\n`;\n\nexport const ContentAccordionItemHeaderText = styled.div``;\n\nexport const ContentAccordionItemContent = styled.div`\n display: none;\n flex-direction: column;\n`;\n\nexport const ContentAccordionItemContentHeader = styled.div``;\n\nexport const ContentAccordionItemContentBody = styled.div``;\n\nexport const ContentAccordionItemContentFooter = styled.div``;\n\nexport const ContentAccordionItem = styled.div`\n display: flex;\n flex-direction: column;\n border-top: 1px solid ${COLORS.neutral_100};\n\n &.active {\n ${ContentAccordionItemContent} {\n display: flex;\n }\n }\n\n &.disabled {\n ${ContentAccordionItemHeader} {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n }\n }\n`;\n\nexport const ContentAccordionWrapper = styled.div`\n width: 100%;\n position: relative;\n\n ${ContentAccordionItem}:last-child {\n border-bottom: 1px solid ${COLORS.neutral_100};\n }\n\n &.small {\n min-width: 320px;\n max-width: 528px;\n\n ${ContentAccordionItemHeader} {\n gap: 8px;\n padding: 0 8px;\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 0 8px 16px 40px;\n gap: 8px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphSStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.medium {\n min-width: 344px;\n max-width: 584px;\n\n ${ContentAccordionItemHeader} {\n gap: 12px;\n padding: 0 12px;\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 8px 12px 24px 48px;\n gap: 12px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphMStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n\n &.large {\n min-width: 384px;\n max-width: 656px;\n\n ${ContentAccordionItemHeader} {\n gap: 16px;\n padding: 0 16px;\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n\n ${ContentAccordionItemContent} {\n padding: 16px 16px 32px 56px;\n gap: 16px;\n\n ${ContentAccordionItemContentHeader} {\n ${ComponentLStyling(ComponentTextStyle.Bold, COLORS.black)}\n }\n\n ${ContentAccordionItemContentBody} {\n ${ParagraphLStyling(ParagraphTextStyle.Regular, COLORS.black)}\n }\n }\n }\n`;\n\nexport interface ContentAccordionItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {\n id: string;\n title: string;\n header?: string;\n body: any;\n footer?: any;\n disabled?: boolean;\n active?: boolean;\n}\n\nexport interface ContentAccordionProps extends React.HTMLAttributes<HTMLDivElement> {\n items: ContentAccordionItem[];\n multi?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n}\n\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = ({\n items,\n multi = false,\n size = Size.Medium,\n className,\n ...rest\n }) => {\n const [opened, setOpened] = React.useState<string[]>([]);\n\n React.useEffect(() => {\n if (multi) {\n setOpened(items.filter((item) => item.active).map((item) => item.id));\n } else {\n let active = items.find((item) => !!item.active)?.id;\n if (active) {\n setOpened([active]);\n }\n }\n }, [items, multi]);\n\n const onItemClick = (item: ContentAccordionItem) => {\n if (item.disabled) return;\n if (opened.includes(item.id)) {\n setOpened(opened.filter((key) => key !== item.id));\n } else {\n if (multi) {\n setOpened([...opened, item.id]);\n } else {\n setOpened([item.id]);\n }\n }\n };\n\n const renderItem = (item: ContentAccordionItem) => {\n const {id, title, header, body, footer, disabled, active, ...rest} = item;\n const isActive = opened.includes(id);\n\n return (\n <ContentAccordionItem key={id} id={`item_${id}`}\n className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\n <ContentAccordionItemHeader\n role=\"button\"\n id={`headerFor_${id}`}\n tabIndex={!disabled ? 0 : undefined}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onItemClick(item)}\n onKeyDown={(event) => event.key === 'Enter' && onItemClick(item)}\n {...rest}>\n <ContentAccordionItemHeaderIcon>\n {multi ? isActive ? <SystemIcons.Minus/> : <SystemIcons.Plus/> : isActive ?\n <SystemIcons.ChevronDown/> : <SystemIcons.ChevronRight/>}\n </ContentAccordionItemHeaderIcon>\n <ContentAccordionItemHeaderText>{title}</ContentAccordionItemHeaderText>\n </ContentAccordionItemHeader>\n <ContentAccordionItemContent aria-describedby={`headerFor_${id}`}>\n {header && <ContentAccordionItemContentHeader>{header}</ContentAccordionItemContentHeader>}\n <ContentAccordionItemContentBody>{body}</ContentAccordionItemContentBody>\n {footer && <ContentAccordionItemContentFooter>{footer}</ContentAccordionItemContentFooter>}\n </ContentAccordionItemContent>\n </ContentAccordionItem>\n );\n };\n\n const cls = `${size} ${className ?? ''}`.trim();\n\n return <ContentAccordionWrapper className={cls}>\n {items.map((item) => renderItem(item))}\n </ContentAccordionWrapper>;\n};\n\nexport default ContentAccordion;\n"],"file":"ContentAccordion.js"}
@@ -35,10 +35,8 @@ var HeaderIconContainer = _styledComponents.default.div(_templateObject4 || (_te
35
35
 
36
36
  exports.HeaderIconContainer = HeaderIconContainer;
37
37
 
38
- var ItemBodyContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", ";\n margin: ", ";\n background: ", ";\n"])), function (props) {
39
- return props.padding || '0px 16px';
40
- }, function (props) {
41
- return props.margin || '12px 0';
38
+ var ItemBodyContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", ";\n background: ", ";\n"])), function (props) {
39
+ return props.padding || '12px 16px';
42
40
  }, _styles.COLORS.white);
43
41
 
44
42
  exports.ItemBodyContainer = ItemBodyContainer;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Accordion/styles.ts"],"names":["AccordionMenuWrapper","styled","div","AccordionItemContainer","props","displaySeparator","COLORS","neutral_100","ItemHeaderContainer","ComponentTextStyle","Regular","neutral_600","focusStyles","primary_20","primary_700","Z_INDEXES","hover","primary_800","primary_100","active","neutral_800","white","neutral_300","HeaderIconContainer","ItemBodyContainer","padding","margin"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;AAEO,IAAMA,oBAAoB,GAAGC,0BAAOC,GAAV,kLAA1B;;;;AAOA,IAAMC,sBAAsB,GAAGF,0BAAOC,GAAV,wMAKhB,UAACE,KAAD;AAAA,SAAYA,KAAK,CAACC,gBAAN,uBAAsCC,eAAOC,WAA7C,IAA6D,EAAzE;AAAA,CALgB,CAA5B;;;;AAQA,IAAMC,mBAAmB,GAAGP,0BAAOC,GAAV,2sBAQ5B,+BAAkBO,2BAAmBC,OAArC,EAA8CJ,eAAOK,WAArD,CAR4B,EAgB1BC,mBAhB0B,EAoBdN,eAAOO,UApBO,EAqBnBP,eAAOQ,WArBY,EAsBjBC,oBAAUC,KAtBO,EA0BnBV,eAAOW,WA1BY,EA2BdX,eAAOY,WA3BO,EA4BjBH,oBAAUI,MA5BO,EAgCnBb,eAAOc,WAhCY,EAoCdd,eAAOe,KApCO,EAqCnBf,eAAOgB,WArCY,EAyCjBhB,eAAOgB,WAzCU,CAAzB;;;;AA8CA,IAAMC,mBAAmB,GAAGtB,0BAAOC,GAAV,6GAAzB;;;;AAIA,IAAMsB,iBAAiB,GAAGvB,0BAAOC,GAAV,gJACjB,UAACE,KAAD;AAAA,SAAWA,KAAK,CAACqB,OAAN,IAAiB,UAA5B;AAAA,CADiB,EAElB,UAACrB,KAAD;AAAA,SAAWA,KAAK,CAACsB,MAAN,IAAgB,QAA3B;AAAA,CAFkB,EAGdpB,eAAOe,KAHO,CAAvB","sourcesContent":["import styled, { css } from 'styled-components';\nimport { COLORS, ComponentMStyling, ComponentTextStyle, focusStyles } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const AccordionMenuWrapper = styled.div`\n min-width: 320px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n`;\n\nexport const AccordionItemContainer = styled.div<{ displaySeparator: boolean }>`\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-bottom: ${(props) => (props.displaySeparator ? `1px solid ${COLORS.neutral_100}` : '')};\n`;\n\nexport const ItemHeaderContainer = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px 11px 16px;\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n svg:last-child {\n margin-left: auto;\n }\n outline: none;\n\n :focus:not(:active) {\n ${focusStyles}\n }\n\n :hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n :active {\n color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n\n &.active {\n color: ${COLORS.neutral_800};\n }\n\n &.disabled {\n background: ${COLORS.white}!important;\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n svg {\n color: ${COLORS.neutral_300}!important;\n }\n }\n`;\n\nexport const HeaderIconContainer = styled.div`\n margin-left: auto;\n`;\n\nexport const ItemBodyContainer = styled.div<{ padding?: string; margin?: string }>`\n padding: ${(props) => props.padding || '0px 16px'};\n margin: ${(props) => props.margin || '12px 0'};\n background: ${COLORS.white};\n`;\n"],"file":"styles.cjs"}
1
+ {"version":3,"sources":["../../src/Accordion/styles.ts"],"names":["AccordionMenuWrapper","styled","div","AccordionItemContainer","props","displaySeparator","COLORS","neutral_100","ItemHeaderContainer","ComponentTextStyle","Regular","neutral_600","focusStyles","primary_20","primary_700","Z_INDEXES","hover","primary_800","primary_100","active","neutral_800","white","neutral_300","HeaderIconContainer","ItemBodyContainer","padding"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;AAEO,IAAMA,oBAAoB,GAAGC,0BAAOC,GAAV,kLAA1B;;;;AAOA,IAAMC,sBAAsB,GAAGF,0BAAOC,GAAV,wMAKhB,UAACE,KAAD;AAAA,SAAYA,KAAK,CAACC,gBAAN,uBAAsCC,eAAOC,WAA7C,IAA6D,EAAzE;AAAA,CALgB,CAA5B;;;;AAQA,IAAMC,mBAAmB,GAAGP,0BAAOC,GAAV,2sBAQ5B,+BAAkBO,2BAAmBC,OAArC,EAA8CJ,eAAOK,WAArD,CAR4B,EAgB1BC,mBAhB0B,EAoBdN,eAAOO,UApBO,EAqBnBP,eAAOQ,WArBY,EAsBjBC,oBAAUC,KAtBO,EA0BnBV,eAAOW,WA1BY,EA2BdX,eAAOY,WA3BO,EA4BjBH,oBAAUI,MA5BO,EAgCnBb,eAAOc,WAhCY,EAoCdd,eAAOe,KApCO,EAqCnBf,eAAOgB,WArCY,EAyCjBhB,eAAOgB,WAzCU,CAAzB;;;;AA8CA,IAAMC,mBAAmB,GAAGtB,0BAAOC,GAAV,6GAAzB;;;;AAIA,IAAMsB,iBAAiB,GAAGvB,0BAAOC,GAAV,+HACjB,UAACE,KAAD;AAAA,SAAWA,KAAK,CAACqB,OAAN,IAAiB,WAA5B;AAAA,CADiB,EAEdnB,eAAOe,KAFO,CAAvB","sourcesContent":["import styled, { css } from 'styled-components';\nimport { COLORS, ComponentMStyling, ComponentTextStyle, focusStyles } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const AccordionMenuWrapper = styled.div`\n min-width: 320px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n`;\n\nexport const AccordionItemContainer = styled.div<{ displaySeparator: boolean }>`\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-bottom: ${(props) => (props.displaySeparator ? `1px solid ${COLORS.neutral_100}` : '')};\n`;\n\nexport const ItemHeaderContainer = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px 11px 16px;\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n svg:last-child {\n margin-left: auto;\n }\n outline: none;\n\n :focus:not(:active) {\n ${focusStyles}\n }\n\n :hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n :active {\n color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n\n &.active {\n color: ${COLORS.neutral_800};\n }\n\n &.disabled {\n background: ${COLORS.white}!important;\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n svg {\n color: ${COLORS.neutral_300}!important;\n }\n }\n`;\n\nexport const HeaderIconContainer = styled.div`\n margin-left: auto;\n`;\n\nexport const ItemBodyContainer = styled.div<{ padding?: string }>`\n padding: ${(props) => props.padding || '12px 16px'};\n background: ${COLORS.white};\n`;\n"],"file":"styles.cjs"}
@@ -6,5 +6,4 @@ export declare const ItemHeaderContainer: import("styled-components").StyledComp
6
6
  export declare const HeaderIconContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
7
7
  export declare const ItemBodyContainer: import("styled-components").StyledComponent<"div", any, {
8
8
  padding?: string | undefined;
9
- margin?: string | undefined;
10
9
  }, never>;
@@ -11,9 +11,7 @@ export var AccordionItemContainer = styled.div(_templateObject2 || (_templateObj
11
11
  });
12
12
  export var ItemHeaderContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px 11px 16px;\n cursor: pointer;\n\n ", "\n\n svg:last-child {\n margin-left: auto;\n }\n outline: none;\n\n :focus:not(:active) {\n ", "\n }\n\n :hover {\n background: ", ";\n color: ", ";\n z-index: ", ";\n }\n\n :active {\n color: ", ";\n background: ", ";\n z-index: ", ";\n }\n\n &.active {\n color: ", ";\n }\n\n &.disabled {\n background: ", "!important;\n color: ", ";\n cursor: not-allowed;\n pointer-events: none;\n svg {\n color: ", "!important;\n }\n }\n"])), ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600), focusStyles, COLORS.primary_20, COLORS.primary_700, Z_INDEXES.hover, COLORS.primary_800, COLORS.primary_100, Z_INDEXES.active, COLORS.neutral_800, COLORS.white, COLORS.neutral_300, COLORS.neutral_300);
13
13
  export var HeaderIconContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-left: auto;\n"])));
14
- export var ItemBodyContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding: ", ";\n margin: ", ";\n background: ", ";\n"])), function (props) {
15
- return props.padding || '0px 16px';
16
- }, function (props) {
17
- return props.margin || '12px 0';
14
+ export var ItemBodyContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding: ", ";\n background: ", ";\n"])), function (props) {
15
+ return props.padding || '12px 16px';
18
16
  }, COLORS.white);
19
17
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Accordion/styles.ts"],"names":["styled","COLORS","ComponentMStyling","ComponentTextStyle","focusStyles","Z_INDEXES","AccordionMenuWrapper","div","AccordionItemContainer","props","displaySeparator","neutral_100","ItemHeaderContainer","Regular","neutral_600","primary_20","primary_700","hover","primary_800","primary_100","active","neutral_800","white","neutral_300","HeaderIconContainer","ItemBodyContainer","padding","margin"],"mappings":";;;;AAAA,OAAOA,MAAP,MAA4B,mBAA5B;AACA,SAASC,MAAT,EAAiBC,iBAAjB,EAAoCC,kBAApC,EAAwDC,WAAxD,QAA2E,WAA3E;AACA,SAASC,SAAT,QAA0B,qBAA1B;AAEA,OAAO,IAAMC,oBAAoB,GAAGN,MAAM,CAACO,GAAV,oKAA1B;AAOP,OAAO,IAAMC,sBAAsB,GAAGR,MAAM,CAACO,GAAV,0LAKhB,UAACE,KAAD;AAAA,SAAYA,KAAK,CAACC,gBAAN,uBAAsCT,MAAM,CAACU,WAA7C,IAA6D,EAAzE;AAAA,CALgB,CAA5B;AAQP,OAAO,IAAMC,mBAAmB,GAAGZ,MAAM,CAACO,GAAV,6rBAQ5BL,iBAAiB,CAACC,kBAAkB,CAACU,OAApB,EAA6BZ,MAAM,CAACa,WAApC,CARW,EAgB1BV,WAhB0B,EAoBdH,MAAM,CAACc,UApBO,EAqBnBd,MAAM,CAACe,WArBY,EAsBjBX,SAAS,CAACY,KAtBO,EA0BnBhB,MAAM,CAACiB,WA1BY,EA2BdjB,MAAM,CAACkB,WA3BO,EA4BjBd,SAAS,CAACe,MA5BO,EAgCnBnB,MAAM,CAACoB,WAhCY,EAoCdpB,MAAM,CAACqB,KApCO,EAqCnBrB,MAAM,CAACsB,WArCY,EAyCjBtB,MAAM,CAACsB,WAzCU,CAAzB;AA8CP,OAAO,IAAMC,mBAAmB,GAAGxB,MAAM,CAACO,GAAV,+FAAzB;AAIP,OAAO,IAAMkB,iBAAiB,GAAGzB,MAAM,CAACO,GAAV,kIACjB,UAACE,KAAD;AAAA,SAAWA,KAAK,CAACiB,OAAN,IAAiB,UAA5B;AAAA,CADiB,EAElB,UAACjB,KAAD;AAAA,SAAWA,KAAK,CAACkB,MAAN,IAAgB,QAA3B;AAAA,CAFkB,EAGd1B,MAAM,CAACqB,KAHO,CAAvB","sourcesContent":["import styled, { css } from 'styled-components';\nimport { COLORS, ComponentMStyling, ComponentTextStyle, focusStyles } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const AccordionMenuWrapper = styled.div`\n min-width: 320px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n`;\n\nexport const AccordionItemContainer = styled.div<{ displaySeparator: boolean }>`\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-bottom: ${(props) => (props.displaySeparator ? `1px solid ${COLORS.neutral_100}` : '')};\n`;\n\nexport const ItemHeaderContainer = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px 11px 16px;\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n svg:last-child {\n margin-left: auto;\n }\n outline: none;\n\n :focus:not(:active) {\n ${focusStyles}\n }\n\n :hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n :active {\n color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n\n &.active {\n color: ${COLORS.neutral_800};\n }\n\n &.disabled {\n background: ${COLORS.white}!important;\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n svg {\n color: ${COLORS.neutral_300}!important;\n }\n }\n`;\n\nexport const HeaderIconContainer = styled.div`\n margin-left: auto;\n`;\n\nexport const ItemBodyContainer = styled.div<{ padding?: string; margin?: string }>`\n padding: ${(props) => props.padding || '0px 16px'};\n margin: ${(props) => props.margin || '12px 0'};\n background: ${COLORS.white};\n`;\n"],"file":"styles.js"}
1
+ {"version":3,"sources":["../../src/Accordion/styles.ts"],"names":["styled","COLORS","ComponentMStyling","ComponentTextStyle","focusStyles","Z_INDEXES","AccordionMenuWrapper","div","AccordionItemContainer","props","displaySeparator","neutral_100","ItemHeaderContainer","Regular","neutral_600","primary_20","primary_700","hover","primary_800","primary_100","active","neutral_800","white","neutral_300","HeaderIconContainer","ItemBodyContainer","padding"],"mappings":";;;;AAAA,OAAOA,MAAP,MAA4B,mBAA5B;AACA,SAASC,MAAT,EAAiBC,iBAAjB,EAAoCC,kBAApC,EAAwDC,WAAxD,QAA2E,WAA3E;AACA,SAASC,SAAT,QAA0B,qBAA1B;AAEA,OAAO,IAAMC,oBAAoB,GAAGN,MAAM,CAACO,GAAV,oKAA1B;AAOP,OAAO,IAAMC,sBAAsB,GAAGR,MAAM,CAACO,GAAV,0LAKhB,UAACE,KAAD;AAAA,SAAYA,KAAK,CAACC,gBAAN,uBAAsCT,MAAM,CAACU,WAA7C,IAA6D,EAAzE;AAAA,CALgB,CAA5B;AAQP,OAAO,IAAMC,mBAAmB,GAAGZ,MAAM,CAACO,GAAV,6rBAQ5BL,iBAAiB,CAACC,kBAAkB,CAACU,OAApB,EAA6BZ,MAAM,CAACa,WAApC,CARW,EAgB1BV,WAhB0B,EAoBdH,MAAM,CAACc,UApBO,EAqBnBd,MAAM,CAACe,WArBY,EAsBjBX,SAAS,CAACY,KAtBO,EA0BnBhB,MAAM,CAACiB,WA1BY,EA2BdjB,MAAM,CAACkB,WA3BO,EA4BjBd,SAAS,CAACe,MA5BO,EAgCnBnB,MAAM,CAACoB,WAhCY,EAoCdpB,MAAM,CAACqB,KApCO,EAqCnBrB,MAAM,CAACsB,WArCY,EAyCjBtB,MAAM,CAACsB,WAzCU,CAAzB;AA8CP,OAAO,IAAMC,mBAAmB,GAAGxB,MAAM,CAACO,GAAV,+FAAzB;AAIP,OAAO,IAAMkB,iBAAiB,GAAGzB,MAAM,CAACO,GAAV,iHACjB,UAACE,KAAD;AAAA,SAAWA,KAAK,CAACiB,OAAN,IAAiB,WAA5B;AAAA,CADiB,EAEdzB,MAAM,CAACqB,KAFO,CAAvB","sourcesContent":["import styled, { css } from 'styled-components';\nimport { COLORS, ComponentMStyling, ComponentTextStyle, focusStyles } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const AccordionMenuWrapper = styled.div`\n min-width: 320px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n`;\n\nexport const AccordionItemContainer = styled.div<{ displaySeparator: boolean }>`\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-bottom: ${(props) => (props.displaySeparator ? `1px solid ${COLORS.neutral_100}` : '')};\n`;\n\nexport const ItemHeaderContainer = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px 11px 16px;\n cursor: pointer;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n svg:last-child {\n margin-left: auto;\n }\n outline: none;\n\n :focus:not(:active) {\n ${focusStyles}\n }\n\n :hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n z-index: ${Z_INDEXES.hover};\n }\n\n :active {\n color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n z-index: ${Z_INDEXES.active};\n }\n\n &.active {\n color: ${COLORS.neutral_800};\n }\n\n &.disabled {\n background: ${COLORS.white}!important;\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n svg {\n color: ${COLORS.neutral_300}!important;\n }\n }\n`;\n\nexport const HeaderIconContainer = styled.div`\n margin-left: auto;\n`;\n\nexport const ItemBodyContainer = styled.div<{ padding?: string }>`\n padding: ${(props) => props.padding || '12px 16px'};\n background: ${COLORS.white};\n`;\n"],"file":"styles.js"}