@laerdal/life-react-components 1.10.3-dev.2 → 1.10.3-dev.5

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 (244) hide show
  1. package/dist/Accordion/AccordionItem.cjs +22 -6
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.js +21 -6
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionMenu.cjs +40 -21
  6. package/dist/Accordion/AccordionMenu.cjs.map +1 -1
  7. package/dist/Accordion/AccordionMenu.d.ts +2 -2
  8. package/dist/Accordion/AccordionMenu.js +39 -21
  9. package/dist/Accordion/AccordionMenu.js.map +1 -1
  10. package/dist/Accordion/ContentAccordion.cjs +56 -29
  11. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  12. package/dist/Accordion/ContentAccordion.d.ts +2 -2
  13. package/dist/Accordion/ContentAccordion.js +54 -29
  14. package/dist/Accordion/ContentAccordion.js.map +1 -1
  15. package/dist/Banners/Banner.cjs +18 -8
  16. package/dist/Banners/Banner.cjs.map +1 -1
  17. package/dist/Banners/Banner.d.ts +1 -1
  18. package/dist/Banners/Banner.js +18 -5
  19. package/dist/Banners/Banner.js.map +1 -1
  20. package/dist/Banners/OverviewBanner.cjs +14 -3
  21. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  22. package/dist/Banners/OverviewBanner.d.ts +3 -2
  23. package/dist/Banners/OverviewBanner.js +12 -3
  24. package/dist/Banners/OverviewBanner.js.map +1 -1
  25. package/dist/Breadcrumb/Breadcrumb.cjs +16 -4
  26. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  27. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  28. package/dist/Breadcrumb/Breadcrumb.js +15 -4
  29. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  30. package/dist/Button/Iconbutton.cjs +20 -14
  31. package/dist/Button/Iconbutton.cjs.map +1 -1
  32. package/dist/Button/Iconbutton.d.ts +1 -4
  33. package/dist/Button/Iconbutton.js +17 -14
  34. package/dist/Button/Iconbutton.js.map +1 -1
  35. package/dist/Card/HorizontalCard/HorizontalCard.cjs +8 -2
  36. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  37. package/dist/Card/HorizontalCard/HorizontalCard.js +6 -2
  38. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  39. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +2 -8
  40. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  41. package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
  42. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  43. package/dist/Card/HorizontalCard/types.d.ts +1 -1
  44. package/dist/Card/VerticalCard/Card.cjs +12 -5
  45. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  46. package/dist/Card/VerticalCard/Card.d.ts +1 -1
  47. package/dist/Card/VerticalCard/Card.js +10 -5
  48. package/dist/Card/VerticalCard/Card.js.map +1 -1
  49. package/dist/Chips/ActionChip.cjs +18 -14
  50. package/dist/Chips/ActionChip.cjs.map +1 -1
  51. package/dist/Chips/ActionChip.js +16 -5
  52. package/dist/Chips/ActionChip.js.map +1 -1
  53. package/dist/Chips/ChipTypes.d.ts +5 -3
  54. package/dist/Chips/ChoiceChips.cjs +24 -16
  55. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  56. package/dist/Chips/ChoiceChips.js +22 -9
  57. package/dist/Chips/ChoiceChips.js.map +1 -1
  58. package/dist/Chips/FilterChip.cjs +18 -14
  59. package/dist/Chips/FilterChip.cjs.map +1 -1
  60. package/dist/Chips/FilterChip.js +16 -5
  61. package/dist/Chips/FilterChip.js.map +1 -1
  62. package/dist/Chips/InputChip.cjs +18 -14
  63. package/dist/Chips/InputChip.cjs.map +1 -1
  64. package/dist/Chips/InputChip.js +17 -5
  65. package/dist/Chips/InputChip.js.map +1 -1
  66. package/dist/ChipsInput/ChipDropdownInput.cjs +14 -7
  67. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  68. package/dist/ChipsInput/ChipDropdownInput.d.ts +1 -1
  69. package/dist/ChipsInput/ChipDropdownInput.js +12 -6
  70. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  71. package/dist/ChipsInput/ChipInput.cjs +16 -12
  72. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  73. package/dist/ChipsInput/ChipInput.d.ts +1 -1
  74. package/dist/ChipsInput/ChipInput.js +14 -7
  75. package/dist/ChipsInput/ChipInput.js.map +1 -1
  76. package/dist/ChipsInput/ChipInputField.cjs +22 -4
  77. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  78. package/dist/ChipsInput/ChipInputField.d.ts +1 -1
  79. package/dist/ChipsInput/ChipInputField.js +18 -4
  80. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  81. package/dist/ChipsInput/ChipInputTypes.d.ts +2 -1
  82. package/dist/Dropdown/BasicDropdown.cjs +88 -64
  83. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  84. package/dist/Dropdown/BasicDropdown.d.ts +13 -8
  85. package/dist/Dropdown/BasicDropdown.js +87 -65
  86. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  87. package/dist/Dropdown/DropdownFilter.cjs +30 -14
  88. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  89. package/dist/Dropdown/DropdownFilter.d.ts +3 -3
  90. package/dist/Dropdown/DropdownFilter.js +26 -13
  91. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  92. package/dist/Footer/SiteFooter.cjs +16 -4
  93. package/dist/Footer/SiteFooter.cjs.map +1 -1
  94. package/dist/Footer/SiteFooter.d.ts +6 -2
  95. package/dist/Footer/SiteFooter.js +14 -4
  96. package/dist/Footer/SiteFooter.js.map +1 -1
  97. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -8
  98. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  99. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  100. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  101. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +1 -1
  102. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  103. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +1 -1
  104. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  105. package/dist/Image/ImageWithFallbacks.cjs +10 -2
  106. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  107. package/dist/Image/ImageWithFallbacks.d.ts +1 -1
  108. package/dist/Image/ImageWithFallbacks.js +9 -2
  109. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  110. package/dist/InputFields/Checkbox.cjs +16 -4
  111. package/dist/InputFields/Checkbox.cjs.map +1 -1
  112. package/dist/InputFields/Checkbox.d.ts +1 -1
  113. package/dist/InputFields/Checkbox.js +13 -4
  114. package/dist/InputFields/Checkbox.js.map +1 -1
  115. package/dist/InputFields/DatepickerField.cjs +44 -38
  116. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  117. package/dist/InputFields/DatepickerField.d.ts +17 -20
  118. package/dist/InputFields/DatepickerField.js +33 -20
  119. package/dist/InputFields/DatepickerField.js.map +1 -1
  120. package/dist/InputFields/NumberField.cjs +63 -52
  121. package/dist/InputFields/NumberField.cjs.map +1 -1
  122. package/dist/InputFields/NumberField.d.ts +14 -19
  123. package/dist/InputFields/NumberField.js +60 -53
  124. package/dist/InputFields/NumberField.js.map +1 -1
  125. package/dist/InputFields/PasswordField.cjs +25 -8
  126. package/dist/InputFields/PasswordField.cjs.map +1 -1
  127. package/dist/InputFields/PasswordField.d.ts +14 -14
  128. package/dist/InputFields/PasswordField.js +22 -9
  129. package/dist/InputFields/PasswordField.js.map +1 -1
  130. package/dist/InputFields/RadioButton.cjs +17 -5
  131. package/dist/InputFields/RadioButton.cjs.map +1 -1
  132. package/dist/InputFields/RadioButton.d.ts +2 -2
  133. package/dist/InputFields/RadioButton.js +14 -5
  134. package/dist/InputFields/RadioButton.js.map +1 -1
  135. package/dist/InputFields/TextField.cjs +23 -8
  136. package/dist/InputFields/TextField.cjs.map +1 -1
  137. package/dist/InputFields/TextField.d.ts +20 -20
  138. package/dist/InputFields/TextField.js +22 -9
  139. package/dist/InputFields/TextField.js.map +1 -1
  140. package/dist/InputFields/Textarea.cjs +20 -7
  141. package/dist/InputFields/Textarea.cjs.map +1 -1
  142. package/dist/InputFields/Textarea.d.ts +16 -2
  143. package/dist/InputFields/Textarea.js +18 -8
  144. package/dist/InputFields/Textarea.js.map +1 -1
  145. package/dist/InputFields/components/SearchBarInput.cjs +4 -1
  146. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  147. package/dist/InputFields/components/SearchBarInput.js +4 -1
  148. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  149. package/dist/InputFields/index.cjs +26 -0
  150. package/dist/InputFields/index.cjs.map +1 -1
  151. package/dist/InputFields/index.d.ts +1 -0
  152. package/dist/InputFields/index.js +1 -0
  153. package/dist/InputFields/index.js.map +1 -1
  154. package/dist/InputFields/types.d.ts +1 -1
  155. package/dist/LinearProgress/LinearProgress.cjs +17 -4
  156. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  157. package/dist/LinearProgress/LinearProgress.d.ts +1 -1
  158. package/dist/LinearProgress/LinearProgress.js +14 -4
  159. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  160. package/dist/List/ListRow.cjs +15 -8
  161. package/dist/List/ListRow.cjs.map +1 -1
  162. package/dist/List/ListRow.d.ts +1 -1
  163. package/dist/List/ListRow.js +13 -8
  164. package/dist/List/ListRow.js.map +1 -1
  165. package/dist/MenuItem/MenuItem.cjs +16 -6
  166. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  167. package/dist/MenuItem/MenuItem.d.ts +1 -3
  168. package/dist/MenuItem/MenuItem.js +14 -6
  169. package/dist/MenuItem/MenuItem.js.map +1 -1
  170. package/dist/ProfileButton/ProfileButton.cjs +17 -8
  171. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  172. package/dist/ProfileButton/ProfileButton.d.ts +8 -12
  173. package/dist/ProfileButton/ProfileButton.js +14 -8
  174. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  175. package/dist/QuizButton/QuizButton.cjs +17 -6
  176. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  177. package/dist/QuizButton/QuizButton.d.ts +1 -2
  178. package/dist/QuizButton/QuizButton.js +15 -6
  179. package/dist/QuizButton/QuizButton.js.map +1 -1
  180. package/dist/SegmentControl/SegmentControl.cjs +28 -8
  181. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  182. package/dist/SegmentControl/SegmentControl.d.ts +2 -2
  183. package/dist/SegmentControl/SegmentControl.js +26 -8
  184. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  185. package/dist/SideMenu/SideMenu.cjs +11 -4
  186. package/dist/SideMenu/SideMenu.cjs.map +1 -1
  187. package/dist/SideMenu/SideMenu.js +10 -4
  188. package/dist/SideMenu/SideMenu.js.map +1 -1
  189. package/dist/SideMenu/types.d.ts +1 -1
  190. package/dist/Table/Table.cjs +21 -28
  191. package/dist/Table/Table.cjs.map +1 -1
  192. package/dist/Table/Table.js +22 -29
  193. package/dist/Table/Table.js.map +1 -1
  194. package/dist/Table/TableBody.cjs +122 -42
  195. package/dist/Table/TableBody.cjs.map +1 -1
  196. package/dist/Table/TableBody.d.ts +4 -1
  197. package/dist/Table/TableBody.js +120 -43
  198. package/dist/Table/TableBody.js.map +1 -1
  199. package/dist/Table/TableFooter.cjs +63 -65
  200. package/dist/Table/TableFooter.cjs.map +1 -1
  201. package/dist/Table/TableFooter.js +63 -65
  202. package/dist/Table/TableFooter.js.map +1 -1
  203. package/dist/Table/TableHeaders.cjs +13 -67
  204. package/dist/Table/TableHeaders.cjs.map +1 -1
  205. package/dist/Table/TableHeaders.d.ts +1 -4
  206. package/dist/Table/TableHeaders.js +15 -64
  207. package/dist/Table/TableHeaders.js.map +1 -1
  208. package/dist/Table/TableStyles.cjs +30 -20
  209. package/dist/Table/TableStyles.cjs.map +1 -1
  210. package/dist/Table/TableStyles.d.ts +5 -3
  211. package/dist/Table/TableStyles.js +23 -20
  212. package/dist/Table/TableStyles.js.map +1 -1
  213. package/dist/Tabs/HorizontalTabs.cjs +32 -13
  214. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  215. package/dist/Tabs/HorizontalTabs.d.ts +7 -4
  216. package/dist/Tabs/HorizontalTabs.js +30 -13
  217. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  218. package/dist/Tag/Tag.cjs +16 -4
  219. package/dist/Tag/Tag.cjs.map +1 -1
  220. package/dist/Tag/Tag.d.ts +1 -1
  221. package/dist/Tag/Tag.js +14 -4
  222. package/dist/Tag/Tag.js.map +1 -1
  223. package/dist/Tile/Tile.cjs +11 -4
  224. package/dist/Tile/Tile.cjs.map +1 -1
  225. package/dist/Tile/Tile.js +10 -4
  226. package/dist/Tile/Tile.js.map +1 -1
  227. package/dist/Tile/TileTypes.d.ts +1 -1
  228. package/dist/Toasters/Toast.cjs.map +1 -1
  229. package/dist/Toasters/Toast.js.map +1 -1
  230. package/dist/Toggles/ToggleButton.cjs +36 -17
  231. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  232. package/dist/Toggles/ToggleButton.d.ts +1 -2
  233. package/dist/Toggles/ToggleButton.js +33 -17
  234. package/dist/Toggles/ToggleButton.js.map +1 -1
  235. package/dist/Toggles/ToggleSwitch.cjs +27 -17
  236. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  237. package/dist/Toggles/ToggleSwitch.d.ts +5 -1
  238. package/dist/Toggles/ToggleSwitch.js +24 -12
  239. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  240. package/dist/Toggles/TogglerTypes.d.ts +1 -1
  241. package/dist/common/FocusVisible.cjs.map +1 -1
  242. package/dist/common/FocusVisible.d.ts +1 -1
  243. package/dist/common/FocusVisible.js.map +1 -1
  244. package/package.json +1 -1
@@ -1,8 +1,15 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
1
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
4
  import _pt from "prop-types";
5
+ var _excluded = ["text", "type", "onClick", "resultType", "id", "className", "selected", "disabled", "size"];
3
6
 
4
7
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
8
 
9
+ 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; }
10
+
11
+ 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; }
12
+
6
13
  import * as React from 'react';
7
14
  import styled from 'styled-components';
8
15
  import { Checkbox, COLORS, defaultOnMouseDownHandler, focusStyles, RadioButton, Size, SystemIcons } from '..';
@@ -66,15 +73,18 @@ var QuizButton = function QuizButton(_ref) {
66
73
  _ref$disabled = _ref.disabled,
67
74
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
68
75
  _ref$size = _ref.size,
69
- size = _ref$size === void 0 ? Size.Medium : _ref$size;
70
- return /*#__PURE__*/_jsxs(OptionContainer, {
76
+ size = _ref$size === void 0 ? Size.Medium : _ref$size,
77
+ rest = _objectWithoutProperties(_ref, _excluded);
78
+
79
+ return /*#__PURE__*/_jsxs(OptionContainer, _objectSpread(_objectSpread({
71
80
  onClick: onClick,
72
81
  isSelected: selected,
73
82
  tabIndex: disabled || resultType ? -1 : 0,
74
83
  onMouseDown: defaultOnMouseDownHandler,
75
84
  size: size,
76
85
  className: 'quiz-button '.concat(selected ? ' selected' : '').concat(disabled ? ' disabled' : '').concat(resultType ? ' result ' + resultType : '').concat(className ? ' ' + className : ''),
77
- "data-testid": 'container',
86
+ "data-testid": 'container'
87
+ }, rest), {}, {
78
88
  children: [/*#__PURE__*/_jsx(ButtonContainer, {
79
89
  "data-testid": 'btnContainer',
80
90
  className: 'quiz-button-icon',
@@ -103,7 +113,7 @@ var QuizButton = function QuizButton(_ref) {
103
113
  children: text
104
114
  })
105
115
  })]
106
- });
116
+ }));
107
117
  };
108
118
 
109
119
  QuizButton.propTypes = {
@@ -113,8 +123,7 @@ QuizButton.propTypes = {
113
123
  id: _pt.string.isRequired,
114
124
  selected: _pt.bool,
115
125
  disabled: _pt.bool,
116
- type: _pt.oneOf(['radio', 'checkbox']).isRequired,
117
- className: _pt.string
126
+ type: _pt.oneOf(['radio', 'checkbox']).isRequired
118
127
  };
119
128
  export default QuizButton;
120
129
  //# sourceMappingURL=QuizButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/QuizButton/QuizButton.tsx"],"names":["React","styled","Checkbox","COLORS","defaultOnMouseDownHandler","focusStyles","RadioButton","Size","SystemIcons","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","TextContainer","div","accent1_20","props","size","Small","Large","Regular","TextWrapper","ButtonContainer","accent1_100","accent1_600","OptionContainer","accent1_200","neutral_100","neutral_20","neutral_300","correct_20","correct_400","critical_20","critical_500","warning_20","warning_400","accent1_300","isSelected","accent1_700","accent1_400","accent1_800","renderResultContent","resultType","white","QuizButton","text","type","onClick","id","className","selected","disabled","Medium","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {Checkbox, COLORS, defaultOnMouseDownHandler, focusStyles, RadioButton, Size, SystemIcons} from '..';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\n\nconst TextContainer = styled.div<{size: Size}>`\n border-radius: 0 8px 8px 0;\n display: flex;\n background: ${COLORS.accent1_20};\n width: 100%;\n\n transition: background 100ms ease-in-out;\n align-items: center;\n\n padding: ${props=>props.size===Size.Small?'6px 8px':(props.size===Size.Large?'20px 16px':'12px 16px')};\n ${props=>props.size===Size.Small ? ComponentSStyling(ComponentTextStyle.Regular,null) : (props.size===Size.Large ? ComponentLStyling(ComponentTextStyle.Regular,null) : ComponentMStyling(ComponentTextStyle.Regular,null))}\n`;\n\nconst TextWrapper = styled.div<{size:Size}>``;\n\nconst ButtonContainer = styled.div<{size: Size}>`\n border-radius: 8px 0 0 8px;\n display: flex;\n background: ${COLORS.accent1_100};\n\n width: ${props=>props.size===Size.Small?'32px':(props.size===Size.Large?'64px':'48px')};\n\n transition: background 100ms ease-in-out;\n\n .quiz-button-result-icon {\n height: ${props=>props.size===Size.Small?'16px':(props.size===Size.Large?'32px':'24px')};\n width: ${props=>props.size===Size.Small?'32px':(props.size===Size.Large?'64px':'48px')};\n }\n\n .radio-button-icon, .checkbox-icon {\n margin: auto;\n min-width: unset;\n background: transparent;\n\n svg {\n color: ${COLORS.accent1_600};\n }\n\n &:hover {\n background: transparent;\n }\n\n &:active {\n background: transparent;\n }\n }\n\n .small {\n min-width: 32px;\n min-height: 32px;\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 16px;\n width: 16px;\n }\n }\n }\n\n .medium {\n min-width: 48px;\n min-height: 48px;\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 24px;\n width: 24px;\n }\n }\n }\n\n .large {\n min-width: 64px;\n min-height: 64px;\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 32px;\n width: 32px;\n }\n }\n }\n`;\n\nconst OptionContainer = styled.div<{isSelected:boolean, size:Size}>`\n display: flex;\n flex-direction: row;\n cursor: pointer;\n max-width: 65ch; \n word-break: break-word;\n\n min-height: ${props=>props.size===Size.Small?'32px':(props.size===Size.Large?'64px':'48px')};\n margin-bottom: ${props=>props.size===Size.Small?'16px':(props.size===Size.Large?'32px':'24px')};\n\n &.selected {\n ${TextContainer} {\n background: ${COLORS.accent1_100};\n }\n ${ButtonContainer} {\n background: ${COLORS.accent1_200};\n }\n }\n \n &.disabled {\n cursor: not-allowed;\n \n ${ButtonContainer} {\n pointer-events: none;\n background: ${COLORS.neutral_100};\n }\n ${TextContainer} {\n pointer-events: none;\n background: ${COLORS.neutral_20};\n color: ${COLORS.neutral_300};\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &.correct {\n ${TextContainer} { \n background: ${COLORS.correct_20};\n }\n ${ButtonContainer} {\n background: ${COLORS.correct_400};\n svg {\n margin: auto;\n }\n }\n }\n\n &.incorrect {\n ${TextContainer} { \n background: ${COLORS.critical_20};\n }\n ${ButtonContainer} {\n background: ${COLORS.critical_500};\n svg {\n margin: auto;\n }\n }\n }\n\n &.partial {\n ${TextContainer} { \n background: ${COLORS.warning_20};\n }\n ${ButtonContainer} {\n background: ${COLORS.warning_400};\n svg {\n margin: auto;\n }\n }\n }\n\n &:focus,\n &.focus-state {\n ${focusStyles}\n }\n\n &:hover,\n &.hover-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:active,\n &.active-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:hover:not(.disabled):not(.result),\n &.hover-state {\n ${ButtonContainer} {\n background: ${COLORS.accent1_300};\n }\n ${TextContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_200 : COLORS.accent1_100};\n }\n \n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ${COLORS.accent1_700};\n }\n }\n }\n\n &:active:not(.disabled):not(.result),\n &.active-state {\n ${ButtonContainer} {\n background: ${COLORS.accent1_400};\n transition: none;\n }\n ${TextContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_300 : COLORS.accent1_200};\n transition: none;\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ${COLORS.accent1_800};\n }\n }\n }\n`;\n\nconst renderResultContent = (resultType: string) => {\n switch(resultType){\n case 'correct' : return <SystemIcons.CheckMark color={COLORS.white} className={'quiz-button-result-icon'}/>;\n\n case 'incorrect' : return <SystemIcons.Close color={COLORS.white} className={'quiz-button-result-icon'}/>;\n\n default : return <SystemIcons.Close color={COLORS.white} className={'quiz-button-result-icon'}/>;\n }\n};\n\ntype QuizButtonProps = {\n resultType?: 'correct' | 'incorrect' | 'partial';\n text: string;\n onClick?: (arg:any)=>void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n type: 'radio' | 'checkbox';\n className?: string;\n}\n\nconst QuizButton: React.FunctionComponent<QuizButtonProps> = ({text, type, onClick, resultType, id, className, selected=false, disabled=false, size=Size.Medium}) => {\n return ( \n <OptionContainer onClick={onClick} isSelected={selected} tabIndex={(disabled || resultType )?-1 : 0} onMouseDown={defaultOnMouseDownHandler} size={size}\n className={'quiz-button '.concat(selected?' selected':'')\n .concat(disabled?' disabled':'')\n .concat(resultType?' result '+resultType:'')\n .concat(className?' ' + className:'')}\n data-testid={'container'}>\n <ButtonContainer data-testid={'btnContainer'} className={'quiz-button-icon'} size={size}>\n {\n resultType ? renderResultContent(resultType) : (\n type==='radio' ? <RadioButton selected={selected} disabled={disabled} size={size} tabIndexVal={-1}\n select={()=>{}} id={id}/> : <Checkbox selected={selected} disabled={disabled} size={size} tabIndexVal={-1}\n select={()=>{}} id={id}/>\n )\n }\n </ButtonContainer>\n\n <TextContainer data-testid={'txtContainer'} className={'quiz-button-text'} size={size}>\n <TextWrapper size={size}>\n {text}\n </TextWrapper>\n </TextContainer>\n </OptionContainer>\n );\n};\n\nexport default QuizButton;\n"],"file":"QuizButton.js"}
1
+ {"version":3,"sources":["../../src/QuizButton/QuizButton.tsx"],"names":["React","styled","Checkbox","COLORS","defaultOnMouseDownHandler","focusStyles","RadioButton","Size","SystemIcons","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","TextContainer","div","accent1_20","props","size","Small","Large","Regular","TextWrapper","ButtonContainer","accent1_100","accent1_600","OptionContainer","accent1_200","neutral_100","neutral_20","neutral_300","correct_20","correct_400","critical_20","critical_500","warning_20","warning_400","accent1_300","isSelected","accent1_700","accent1_400","accent1_800","renderResultContent","resultType","white","QuizButton","text","type","onClick","id","className","selected","disabled","Medium","rest","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {Checkbox, COLORS, defaultOnMouseDownHandler, focusStyles, RadioButton, Size, SystemIcons} from '..';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\n\nconst TextContainer = styled.div<{size: Size}>`\n border-radius: 0 8px 8px 0;\n display: flex;\n background: ${COLORS.accent1_20};\n width: 100%;\n\n transition: background 100ms ease-in-out;\n align-items: center;\n\n padding: ${props=>props.size===Size.Small?'6px 8px':(props.size===Size.Large?'20px 16px':'12px 16px')};\n ${props=>props.size===Size.Small ? ComponentSStyling(ComponentTextStyle.Regular,null) : (props.size===Size.Large ? ComponentLStyling(ComponentTextStyle.Regular,null) : ComponentMStyling(ComponentTextStyle.Regular,null))}\n`;\n\nconst TextWrapper = styled.div<{size:Size}>``;\n\nconst ButtonContainer = styled.div<{size: Size}>`\n border-radius: 8px 0 0 8px;\n display: flex;\n background: ${COLORS.accent1_100};\n\n width: ${props=>props.size===Size.Small?'32px':(props.size===Size.Large?'64px':'48px')};\n\n transition: background 100ms ease-in-out;\n\n .quiz-button-result-icon {\n height: ${props=>props.size===Size.Small?'16px':(props.size===Size.Large?'32px':'24px')};\n width: ${props=>props.size===Size.Small?'32px':(props.size===Size.Large?'64px':'48px')};\n }\n\n .radio-button-icon, .checkbox-icon {\n margin: auto;\n min-width: unset;\n background: transparent;\n\n svg {\n color: ${COLORS.accent1_600};\n }\n\n &:hover {\n background: transparent;\n }\n\n &:active {\n background: transparent;\n }\n }\n\n .small {\n min-width: 32px;\n min-height: 32px;\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 16px;\n width: 16px;\n }\n }\n }\n\n .medium {\n min-width: 48px;\n min-height: 48px;\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 24px;\n width: 24px;\n }\n }\n }\n\n .large {\n min-width: 64px;\n min-height: 64px;\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 32px;\n width: 32px;\n }\n }\n }\n`;\n\nconst OptionContainer = styled.div<{isSelected:boolean, size:Size}>`\n display: flex;\n flex-direction: row;\n cursor: pointer;\n max-width: 65ch; \n word-break: break-word;\n\n min-height: ${props=>props.size===Size.Small?'32px':(props.size===Size.Large?'64px':'48px')};\n margin-bottom: ${props=>props.size===Size.Small?'16px':(props.size===Size.Large?'32px':'24px')};\n\n &.selected {\n ${TextContainer} {\n background: ${COLORS.accent1_100};\n }\n ${ButtonContainer} {\n background: ${COLORS.accent1_200};\n }\n }\n \n &.disabled {\n cursor: not-allowed;\n \n ${ButtonContainer} {\n pointer-events: none;\n background: ${COLORS.neutral_100};\n }\n ${TextContainer} {\n pointer-events: none;\n background: ${COLORS.neutral_20};\n color: ${COLORS.neutral_300};\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &.correct {\n ${TextContainer} { \n background: ${COLORS.correct_20};\n }\n ${ButtonContainer} {\n background: ${COLORS.correct_400};\n svg {\n margin: auto;\n }\n }\n }\n\n &.incorrect {\n ${TextContainer} { \n background: ${COLORS.critical_20};\n }\n ${ButtonContainer} {\n background: ${COLORS.critical_500};\n svg {\n margin: auto;\n }\n }\n }\n\n &.partial {\n ${TextContainer} { \n background: ${COLORS.warning_20};\n }\n ${ButtonContainer} {\n background: ${COLORS.warning_400};\n svg {\n margin: auto;\n }\n }\n }\n\n &:focus,\n &.focus-state {\n ${focusStyles}\n }\n\n &:hover,\n &.hover-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:active,\n &.active-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:hover:not(.disabled):not(.result),\n &.hover-state {\n ${ButtonContainer} {\n background: ${COLORS.accent1_300};\n }\n ${TextContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_200 : COLORS.accent1_100};\n }\n \n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ${COLORS.accent1_700};\n }\n }\n }\n\n &:active:not(.disabled):not(.result),\n &.active-state {\n ${ButtonContainer} {\n background: ${COLORS.accent1_400};\n transition: none;\n }\n ${TextContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_300 : COLORS.accent1_200};\n transition: none;\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ${COLORS.accent1_800};\n }\n }\n }\n`;\n\nconst renderResultContent = (resultType: string) => {\n switch(resultType){\n case 'correct' : return <SystemIcons.CheckMark color={COLORS.white} className={'quiz-button-result-icon'}/>;\n\n case 'incorrect' : return <SystemIcons.Close color={COLORS.white} className={'quiz-button-result-icon'}/>;\n\n default : return <SystemIcons.Close color={COLORS.white} className={'quiz-button-result-icon'}/>;\n }\n};\n\ntype QuizButtonProps = {\n resultType?: 'correct' | 'incorrect' | 'partial';\n text: string;\n onClick?: (arg:any)=>void;\n id: string;\n selected?: boolean;\n disabled?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n type: 'radio' | 'checkbox';\n} & Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick' | 'id' | 'tabIndex' | 'onMouseDown'>\n\nconst QuizButton: React.FunctionComponent<QuizButtonProps> = ({\n text,\n type,\n onClick,\n resultType,\n id,\n className,\n selected = false,\n disabled = false,\n size = Size.Medium,\n ...rest\n }) => {\n return ( \n <OptionContainer\n onClick={onClick}\n isSelected={selected}\n tabIndex={(disabled || resultType) ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n size={size}\n className={'quiz-button '.concat(selected ? ' selected' : '')\n .concat(disabled ? ' disabled' : '')\n .concat(resultType ? ' result ' + resultType : '')\n .concat(className ? ' ' + className : '')}\n data-testid={'container'}\n {...rest}>\n <ButtonContainer data-testid={'btnContainer'} className={'quiz-button-icon'} size={size}>\n {\n resultType ? renderResultContent(resultType) : (\n type==='radio' ? <RadioButton selected={selected} disabled={disabled} size={size} tabIndexVal={-1}\n select={()=>{}} id={id}/> : <Checkbox selected={selected} disabled={disabled} size={size} tabIndexVal={-1}\n select={()=>{}} id={id}/>\n )\n }\n </ButtonContainer>\n\n <TextContainer data-testid={'txtContainer'} className={'quiz-button-text'} size={size}>\n <TextWrapper size={size}>\n {text}\n </TextWrapper>\n </TextContainer>\n </OptionContainer>\n );\n};\n\nexport default QuizButton;\n"],"file":"QuizButton.js"}
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.SegmentControlWrapper = exports.SegmentControlItemWrapper = exports.SegmentControlItemContent = exports.SegmentControlItemBackground = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
10
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
15
 
12
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -23,8 +27,15 @@ var _common = require("../common");
23
27
 
24
28
  var _jsxRuntime = require("react/jsx-runtime");
25
29
 
30
+ var _excluded = ["items", "size", "onChange", "selected", "className"],
31
+ _excluded2 = ["key", "disabled", "content", "className"];
32
+
26
33
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
27
34
 
35
+ 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; }
36
+
37
+ 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; }
38
+
28
39
  var SegmentControlItemContent = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n border-radius: 8px;\n padding: 0 16px;\n\n background-color: transparent;\n color: ", ";\n"])), _styles.COLORS.neutral_600);
29
40
 
30
41
  exports.SegmentControlItemContent = SegmentControlItemContent;
@@ -46,7 +57,9 @@ var SegmentControl = function SegmentControl(_ref) {
46
57
  _ref$size = _ref.size,
47
58
  size = _ref$size === void 0 ? _types.Size.Medium : _ref$size,
48
59
  onChange = _ref.onChange,
49
- selected = _ref.selected;
60
+ selected = _ref.selected,
61
+ className = _ref.className,
62
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
50
63
 
51
64
  var onKeyPress = function onKeyPress(e, item) {
52
65
  if (e.key === 'Enter' || e.key === ' ') {
@@ -62,11 +75,17 @@ var SegmentControl = function SegmentControl(_ref) {
62
75
  !item.disabled && onChange(item.key);
63
76
  };
64
77
 
65
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentControlWrapper, {
66
- className: size,
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentControlWrapper, _objectSpread(_objectSpread({
79
+ className: "".concat(size, " ").concat(className || '')
80
+ }, rest), {}, {
67
81
  children: items.map(function (a, i) {
68
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentControlItemWrapper, {
69
- className: (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : ''),
82
+ var key = a.key,
83
+ disabled = a.disabled,
84
+ content = a.content,
85
+ className = a.className,
86
+ rest = (0, _objectWithoutProperties2.default)(a, _excluded2);
87
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentControlItemWrapper, _objectSpread(_objectSpread({
88
+ className: (className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : ''),
70
89
  tabIndex: a.disabled || a.key === selected ? -1 : 0,
71
90
  onClick: a.disabled ? undefined : function (e) {
72
91
  return onClick(e, a);
@@ -74,15 +93,16 @@ var SegmentControl = function SegmentControl(_ref) {
74
93
  onMouseDown: _common.defaultOnMouseDownHandler,
75
94
  onKeyPress: a.disabled ? undefined : function (e) {
76
95
  return onKeyPress(e, a);
77
- },
96
+ }
97
+ }, rest), {}, {
78
98
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentControlItemBackground, {
79
99
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentControlItemContent, {
80
100
  children: a.content
81
101
  })
82
102
  })
83
- }, a.key || i);
103
+ }), a.key || i);
84
104
  })
85
- });
105
+ }));
86
106
  };
87
107
 
88
108
  SegmentControl.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SegmentControl/SegmentControl.tsx"],"names":["SegmentControlItemContent","styled","div","COLORS","neutral_600","SegmentControlItemBackground","neutral_20","SegmentControlItemWrapper","focusStyles","Z_INDEXES","hover","primary_100","primary_700","active","primary_200","primary_800","neutral_300","primary_500","white","neutral_100","SegmentControlWrapper","ComponentTextStyle","Bold","SegmentControl","items","size","Size","Medium","onChange","selected","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","map","a","i","undefined","defaultOnMouseDownHandler","content"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {Size} from '../types';\nimport styled from 'styled-components';\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\nexport const SegmentControlItemContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n border-radius: 8px;\n padding: 0 16px;\n\n background-color: transparent;\n color: ${COLORS.neutral_600};\n`\n\nexport const SegmentControlItemBackground = styled.div`\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n background-color: ${COLORS.neutral_20};\n padding: 4px 0px;\n`;\n\nexport const SegmentControlItemWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n flex: 1;\n cursor: pointer;\n min-height: 48px;\n\n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_700};\n }\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_200};\n color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n ${SegmentControlItemContent} {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.selected {\n cursor: default;\n pointer-events: none;\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_500};\n color: ${COLORS.white};\n }\n }\n\n &.selected.disabled {\n cursor: not-allowed;\n pointer-events: unset;\n \n ${SegmentControlItemContent} {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport const SegmentControlWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ${SegmentControlItemWrapper}:first-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-left-radius: 12px;\n border-top-left-radius: 12px;\n padding-left: 4px;\n }\n }\n\n ${SegmentControlItemWrapper}:last-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-right-radius: 12px;\n border-top-right-radius: 12px;\n padding-right: 4px;\n }\n }\n\n\n &.small {\n ${SegmentControlItemContent} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n min-height: 32px;\n }\n }\n\n &.medium {\n ${SegmentControlItemContent} {\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n min-height: 40px;\n }\n }\n`;\n\n\nexport interface SegmentControlItem {\n key: string\n disabled?: boolean;\n content: React.ReactNode | string;\n}\n\ninterface SegmentControlProps {\n items: SegmentControlItem[];\n selected: string;\n onChange: (value: string) => void;\n size?: Size.Small | Size.Medium;\n}\n\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\n items,\n size = Size.Medium,\n onChange,\n selected\n }) => {\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\n if (e.key === 'Enter' || e.key === ' ') {\n //@ts-ignore\n document?.activeElement?.blur();\n !item.disabled && onChange(item.key);\n }\n };\n\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\n !item.disabled && onChange(item.key);\n }\n\n return (\n <SegmentControlWrapper className={size}>\n {items.map((a, i) =>\n <SegmentControlItemWrapper key={a.key || i}\n className={(a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}>\n <SegmentControlItemBackground>\n <SegmentControlItemContent>\n {a.content}\n </SegmentControlItemContent>\n </SegmentControlItemBackground>\n </SegmentControlItemWrapper>)\n }\n </SegmentControlWrapper>\n );\n};\n\nexport default SegmentControl;\n"],"file":"SegmentControl.cjs"}
1
+ {"version":3,"sources":["../../src/SegmentControl/SegmentControl.tsx"],"names":["SegmentControlItemContent","styled","div","COLORS","neutral_600","SegmentControlItemBackground","neutral_20","SegmentControlItemWrapper","focusStyles","Z_INDEXES","hover","primary_100","primary_700","active","primary_200","primary_800","neutral_300","primary_500","white","neutral_100","SegmentControlWrapper","ComponentTextStyle","Bold","SegmentControl","items","size","Size","Medium","onChange","selected","className","rest","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","map","a","i","content","undefined","defaultOnMouseDownHandler"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {Size} from '../types';\nimport styled from 'styled-components';\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\nexport const SegmentControlItemContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n border-radius: 8px;\n padding: 0 16px;\n\n background-color: transparent;\n color: ${COLORS.neutral_600};\n`\n\nexport const SegmentControlItemBackground = styled.div`\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n background-color: ${COLORS.neutral_20};\n padding: 4px 0px;\n`;\n\nexport const SegmentControlItemWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n flex: 1;\n cursor: pointer;\n min-height: 48px;\n\n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_700};\n }\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_200};\n color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n ${SegmentControlItemContent} {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.selected {\n cursor: default;\n pointer-events: none;\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_500};\n color: ${COLORS.white};\n }\n }\n\n &.selected.disabled {\n cursor: not-allowed;\n pointer-events: unset;\n \n ${SegmentControlItemContent} {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport const SegmentControlWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ${SegmentControlItemWrapper}:first-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-left-radius: 12px;\n border-top-left-radius: 12px;\n padding-left: 4px;\n }\n }\n\n ${SegmentControlItemWrapper}:last-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-right-radius: 12px;\n border-top-right-radius: 12px;\n padding-right: 4px;\n }\n }\n\n\n &.small {\n ${SegmentControlItemContent} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n min-height: 32px;\n }\n }\n\n &.medium {\n ${SegmentControlItemContent} {\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n min-height: 40px;\n }\n }\n`;\n\n\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\n key: string\n disabled?: boolean;\n content: React.ReactNode | string;\n}\n\ninterface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n items: SegmentControlItem[];\n selected: string;\n onChange: (value: string) => void;\n size?: Size.Small | Size.Medium;\n}\n\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\n items,\n size = Size.Medium,\n onChange,\n selected,\n className,\n ...rest\n }) => {\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\n if (e.key === 'Enter' || e.key === ' ') {\n //@ts-ignore\n document?.activeElement?.blur();\n !item.disabled && onChange(item.key);\n }\n };\n\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\n !item.disabled && onChange(item.key);\n }\n\n return (\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\n {items.map((a, i) => {\n const {key, disabled, content, className, ...rest} = a;\n return <SegmentControlItemWrapper key={a.key || i}\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\n {...rest}>\n <SegmentControlItemBackground>\n <SegmentControlItemContent>\n {a.content}\n </SegmentControlItemContent>\n </SegmentControlItemBackground>\n </SegmentControlItemWrapper>;\n })\n }\n </SegmentControlWrapper>\n );\n};\n\nexport default SegmentControl;\n"],"file":"SegmentControl.cjs"}
@@ -4,12 +4,12 @@ export declare const SegmentControlItemContent: import("styled-components").Styl
4
4
  export declare const SegmentControlItemBackground: import("styled-components").StyledComponent<"div", any, {}, never>;
5
5
  export declare const SegmentControlItemWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
6
6
  export declare const SegmentControlWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
7
- export interface SegmentControlItem {
7
+ export interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {
8
8
  key: string;
9
9
  disabled?: boolean;
10
10
  content: React.ReactNode | string;
11
11
  }
12
- interface SegmentControlProps {
12
+ interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
13
13
  items: SegmentControlItem[];
14
14
  selected: string;
15
15
  onChange: (value: string) => void;
@@ -1,8 +1,16 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
1
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
4
  import _pt from "prop-types";
5
+ var _excluded = ["items", "size", "onChange", "selected", "className"],
6
+ _excluded2 = ["key", "disabled", "content", "className"];
3
7
 
4
8
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
9
 
10
+ 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; }
11
+
12
+ 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; }
13
+
6
14
  import React from 'react';
7
15
  import { Size } from '../types';
8
16
  import styled from 'styled-components';
@@ -19,7 +27,9 @@ var SegmentControl = function SegmentControl(_ref) {
19
27
  _ref$size = _ref.size,
20
28
  size = _ref$size === void 0 ? Size.Medium : _ref$size,
21
29
  onChange = _ref.onChange,
22
- selected = _ref.selected;
30
+ selected = _ref.selected,
31
+ className = _ref.className,
32
+ rest = _objectWithoutProperties(_ref, _excluded);
23
33
 
24
34
  var onKeyPress = function onKeyPress(e, item) {
25
35
  if (e.key === 'Enter' || e.key === ' ') {
@@ -35,11 +45,18 @@ var SegmentControl = function SegmentControl(_ref) {
35
45
  !item.disabled && onChange(item.key);
36
46
  };
37
47
 
38
- return /*#__PURE__*/_jsx(SegmentControlWrapper, {
39
- className: size,
48
+ return /*#__PURE__*/_jsx(SegmentControlWrapper, _objectSpread(_objectSpread({
49
+ className: "".concat(size, " ").concat(className || '')
50
+ }, rest), {}, {
40
51
  children: items.map(function (a, i) {
41
- return /*#__PURE__*/_jsx(SegmentControlItemWrapper, {
42
- className: (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : ''),
52
+ var key = a.key,
53
+ disabled = a.disabled,
54
+ content = a.content,
55
+ className = a.className,
56
+ rest = _objectWithoutProperties(a, _excluded2);
57
+
58
+ return /*#__PURE__*/_jsx(SegmentControlItemWrapper, _objectSpread(_objectSpread({
59
+ className: (className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : ''),
43
60
  tabIndex: a.disabled || a.key === selected ? -1 : 0,
44
61
  onClick: a.disabled ? undefined : function (e) {
45
62
  return onClick(e, a);
@@ -47,15 +64,16 @@ var SegmentControl = function SegmentControl(_ref) {
47
64
  onMouseDown: defaultOnMouseDownHandler,
48
65
  onKeyPress: a.disabled ? undefined : function (e) {
49
66
  return onKeyPress(e, a);
50
- },
67
+ }
68
+ }, rest), {}, {
51
69
  children: /*#__PURE__*/_jsx(SegmentControlItemBackground, {
52
70
  children: /*#__PURE__*/_jsx(SegmentControlItemContent, {
53
71
  children: a.content
54
72
  })
55
73
  })
56
- }, a.key || i);
74
+ }), a.key || i);
57
75
  })
58
- });
76
+ }));
59
77
  };
60
78
 
61
79
  SegmentControl.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SegmentControl/SegmentControl.tsx"],"names":["React","Size","styled","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","SegmentControlItemContent","div","neutral_600","SegmentControlItemBackground","neutral_20","SegmentControlItemWrapper","hover","primary_100","primary_700","active","primary_200","primary_800","neutral_300","primary_500","white","neutral_100","SegmentControlWrapper","Bold","SegmentControl","items","size","Medium","onChange","selected","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","map","a","i","undefined","content"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {Size} from '../types';\nimport styled from 'styled-components';\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\nexport const SegmentControlItemContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n border-radius: 8px;\n padding: 0 16px;\n\n background-color: transparent;\n color: ${COLORS.neutral_600};\n`\n\nexport const SegmentControlItemBackground = styled.div`\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n background-color: ${COLORS.neutral_20};\n padding: 4px 0px;\n`;\n\nexport const SegmentControlItemWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n flex: 1;\n cursor: pointer;\n min-height: 48px;\n\n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_700};\n }\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_200};\n color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n ${SegmentControlItemContent} {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.selected {\n cursor: default;\n pointer-events: none;\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_500};\n color: ${COLORS.white};\n }\n }\n\n &.selected.disabled {\n cursor: not-allowed;\n pointer-events: unset;\n \n ${SegmentControlItemContent} {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport const SegmentControlWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ${SegmentControlItemWrapper}:first-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-left-radius: 12px;\n border-top-left-radius: 12px;\n padding-left: 4px;\n }\n }\n\n ${SegmentControlItemWrapper}:last-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-right-radius: 12px;\n border-top-right-radius: 12px;\n padding-right: 4px;\n }\n }\n\n\n &.small {\n ${SegmentControlItemContent} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n min-height: 32px;\n }\n }\n\n &.medium {\n ${SegmentControlItemContent} {\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n min-height: 40px;\n }\n }\n`;\n\n\nexport interface SegmentControlItem {\n key: string\n disabled?: boolean;\n content: React.ReactNode | string;\n}\n\ninterface SegmentControlProps {\n items: SegmentControlItem[];\n selected: string;\n onChange: (value: string) => void;\n size?: Size.Small | Size.Medium;\n}\n\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\n items,\n size = Size.Medium,\n onChange,\n selected\n }) => {\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\n if (e.key === 'Enter' || e.key === ' ') {\n //@ts-ignore\n document?.activeElement?.blur();\n !item.disabled && onChange(item.key);\n }\n };\n\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\n !item.disabled && onChange(item.key);\n }\n\n return (\n <SegmentControlWrapper className={size}>\n {items.map((a, i) =>\n <SegmentControlItemWrapper key={a.key || i}\n className={(a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}>\n <SegmentControlItemBackground>\n <SegmentControlItemContent>\n {a.content}\n </SegmentControlItemContent>\n </SegmentControlItemBackground>\n </SegmentControlItemWrapper>)\n }\n </SegmentControlWrapper>\n );\n};\n\nexport default SegmentControl;\n"],"file":"SegmentControl.js"}
1
+ {"version":3,"sources":["../../src/SegmentControl/SegmentControl.tsx"],"names":["React","Size","styled","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","SegmentControlItemContent","div","neutral_600","SegmentControlItemBackground","neutral_20","SegmentControlItemWrapper","hover","primary_100","primary_700","active","primary_200","primary_800","neutral_300","primary_500","white","neutral_100","SegmentControlWrapper","Bold","SegmentControl","items","size","Medium","onChange","selected","className","rest","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","map","a","i","content","undefined"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {Size} from '../types';\nimport styled from 'styled-components';\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\nexport const SegmentControlItemContent = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n border-radius: 8px;\n padding: 0 16px;\n\n background-color: transparent;\n color: ${COLORS.neutral_600};\n`\n\nexport const SegmentControlItemBackground = styled.div`\n flex: 1;\n display: flex;\n flex-direction: row;\n align-items: center;\n background-color: ${COLORS.neutral_20};\n padding: 4px 0px;\n`;\n\nexport const SegmentControlItemWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n flex: 1;\n cursor: pointer;\n min-height: 48px;\n\n &:focus {\n ${focusStyles}\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_700};\n }\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_200};\n color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n ${SegmentControlItemContent} {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.selected {\n cursor: default;\n pointer-events: none;\n\n ${SegmentControlItemContent} {\n background-color: ${COLORS.primary_500};\n color: ${COLORS.white};\n }\n }\n\n &.selected.disabled {\n cursor: not-allowed;\n pointer-events: unset;\n \n ${SegmentControlItemContent} {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport const SegmentControlWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ${SegmentControlItemWrapper}:first-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-left-radius: 12px;\n border-top-left-radius: 12px;\n padding-left: 4px;\n }\n }\n\n ${SegmentControlItemWrapper}:last-of-type {\n ${SegmentControlItemBackground} {\n border-bottom-right-radius: 12px;\n border-top-right-radius: 12px;\n padding-right: 4px;\n }\n }\n\n\n &.small {\n ${SegmentControlItemContent} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n min-height: 32px;\n }\n }\n\n &.medium {\n ${SegmentControlItemContent} {\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n min-height: 40px;\n }\n }\n`;\n\n\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\n key: string\n disabled?: boolean;\n content: React.ReactNode | string;\n}\n\ninterface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n items: SegmentControlItem[];\n selected: string;\n onChange: (value: string) => void;\n size?: Size.Small | Size.Medium;\n}\n\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\n items,\n size = Size.Medium,\n onChange,\n selected,\n className,\n ...rest\n }) => {\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\n if (e.key === 'Enter' || e.key === ' ') {\n //@ts-ignore\n document?.activeElement?.blur();\n !item.disabled && onChange(item.key);\n }\n };\n\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\n !item.disabled && onChange(item.key);\n }\n\n return (\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\n {items.map((a, i) => {\n const {key, disabled, content, className, ...rest} = a;\n return <SegmentControlItemWrapper key={a.key || i}\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\n {...rest}>\n <SegmentControlItemBackground>\n <SegmentControlItemContent>\n {a.content}\n </SegmentControlItemContent>\n </SegmentControlItemBackground>\n </SegmentControlItemWrapper>;\n })\n }\n </SegmentControlWrapper>\n );\n};\n\nexport default SegmentControl;\n"],"file":"SegmentControl.js"}
@@ -9,6 +9,8 @@ exports.default = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
12
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
15
 
14
16
  var _react = _interopRequireDefault(require("react"));
@@ -27,6 +29,8 @@ var _types = require("../types");
27
29
 
28
30
  var _jsxRuntime = require("react/jsx-runtime");
29
31
 
32
+ var _excluded = ["size", "className"];
33
+
30
34
  var _templateObject;
31
35
 
32
36
  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; }
@@ -37,11 +41,14 @@ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject
37
41
 
38
42
  var SideMenu = function SideMenu(props) {
39
43
  var _props$size = props.size,
40
- size = _props$size === void 0 ? _types.Size.Medium : _props$size;
41
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
42
- className: size,
44
+ size = _props$size === void 0 ? _types.Size.Medium : _props$size,
45
+ className = props.className,
46
+ rest = (0, _objectWithoutProperties2.default)(props, _excluded);
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, _objectSpread(_objectSpread({
48
+ className: "".concat(size, " ").concat(className || '')
49
+ }, rest), {}, {
43
50
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SideMenuHeader.SideMenuHeader, _objectSpread({}, props)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SideMenuBody.SideMenuBody, _objectSpread({}, props)), props.footer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SideMenuFooter.SideMenuFooter, _objectSpread({}, props))]
44
- });
51
+ }));
45
52
  };
46
53
 
47
54
  var _default = SideMenu;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SideMenu/SideMenu.tsx"],"names":["Wrapper","styled","div","Z_INDEXES","off_canvas","COLORS","white","BOXSHADOWS","BOXSHADOW_CENTERED","SideMenu","props","size","Size","Medium","footer"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,wYACAC,kBAAUC,UADV,EAIGC,eAAOC,KAJV,EAUGC,mBAAWC,kBAVd,CAAb;;AA0BA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,CAACC,KAAD,EAAW;AAClE,oBAA6BA,KAA7B,CAAOC,IAAP;AAAA,MAAOA,IAAP,4BAAcC,YAAKC,MAAnB;AAEA,sBACE,sBAAC,OAAD;AAAS,IAAA,SAAS,EAAEF,IAApB;AAAA,4BACE,qBAAC,8BAAD,oBAAoBD,KAApB,EADF,eAEE,qBAAC,0BAAD,oBAAkBA,KAAlB,EAFF,EAGGA,KAAK,CAACI,MAAN,iBAAgB,qBAAC,8BAAD,oBAAoBJ,KAApB,EAHnB;AAAA,IADF;AAOD,CAVD;;eAYeD,Q","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {SideMenuProps} from './types';\nimport {SideMenuHeader} from './SideMenuHeader';\nimport {SideMenuFooter} from './SideMenuFooter';\nimport {SideMenuBody} from './SideMenuBody';\nimport {BOXSHADOWS, COLORS, Z_INDEXES} from '../styles';\nimport {Size} from '../types';\n\nconst Wrapper = styled.div`\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n background: ${COLORS.white};\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n`;\n\n\nconst SideMenu: React.FunctionComponent<SideMenuProps> = (props) => {\n const {size = Size.Medium} = props;\n\n return (\n <Wrapper className={size}>\n <SideMenuHeader {...props} />\n <SideMenuBody {...props}/>\n {props.footer && <SideMenuFooter {...props}/>}\n </Wrapper>\n );\n}\n\nexport default SideMenu;\n"],"file":"SideMenu.cjs"}
1
+ {"version":3,"sources":["../../src/SideMenu/SideMenu.tsx"],"names":["Wrapper","styled","div","Z_INDEXES","off_canvas","COLORS","white","BOXSHADOWS","BOXSHADOW_CENTERED","SideMenu","props","size","Size","Medium","className","rest","footer"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,wYACAC,kBAAUC,UADV,EAIGC,eAAOC,KAJV,EAUGC,mBAAWC,kBAVd,CAAb;;AA0BA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,CAACC,KAAD,EAAW;AAClE,oBAAiDA,KAAjD,CAAOC,IAAP;AAAA,MAAOA,IAAP,4BAAcC,YAAKC,MAAnB;AAAA,MAA2BC,SAA3B,GAAiDJ,KAAjD,CAA2BI,SAA3B;AAAA,MAAyCC,IAAzC,0CAAiDL,KAAjD;AAEA,sBACE,sBAAC,OAAD;AAAS,IAAA,SAAS,YAAKC,IAAL,cAAaG,SAAS,IAAI,EAA1B;AAAlB,KAAsDC,IAAtD;AAAA,4BACE,qBAAC,8BAAD,oBAAoBL,KAApB,EADF,eAEE,qBAAC,0BAAD,oBAAkBA,KAAlB,EAFF,EAGGA,KAAK,CAACM,MAAN,iBAAgB,qBAAC,8BAAD,oBAAoBN,KAApB,EAHnB;AAAA,KADF;AAOD,CAVD;;eAYeD,Q","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {SideMenuProps} from './types';\nimport {SideMenuHeader} from './SideMenuHeader';\nimport {SideMenuFooter} from './SideMenuFooter';\nimport {SideMenuBody} from './SideMenuBody';\nimport {BOXSHADOWS, COLORS, Z_INDEXES} from '../styles';\nimport {Size} from '../types';\n\nconst Wrapper = styled.div`\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n background: ${COLORS.white};\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n`;\n\n\nconst SideMenu: React.FunctionComponent<SideMenuProps> = (props) => {\n const {size = Size.Medium, className, ...rest} = props;\n\n return (\n <Wrapper className={`${size} ${className || ''}`} {...rest}>\n <SideMenuHeader {...props} />\n <SideMenuBody {...props}/>\n {props.footer && <SideMenuFooter {...props}/>}\n </Wrapper>\n );\n}\n\nexport default SideMenu;\n"],"file":"SideMenu.cjs"}
@@ -1,5 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
+ var _excluded = ["size", "className"];
3
5
 
4
6
  var _templateObject;
5
7
 
@@ -20,11 +22,15 @@ var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLi
20
22
 
21
23
  var SideMenu = function SideMenu(props) {
22
24
  var _props$size = props.size,
23
- size = _props$size === void 0 ? Size.Medium : _props$size;
24
- return /*#__PURE__*/_jsxs(Wrapper, {
25
- className: size,
25
+ size = _props$size === void 0 ? Size.Medium : _props$size,
26
+ className = props.className,
27
+ rest = _objectWithoutProperties(props, _excluded);
28
+
29
+ return /*#__PURE__*/_jsxs(Wrapper, _objectSpread(_objectSpread({
30
+ className: "".concat(size, " ").concat(className || '')
31
+ }, rest), {}, {
26
32
  children: [/*#__PURE__*/_jsx(SideMenuHeader, _objectSpread({}, props)), /*#__PURE__*/_jsx(SideMenuBody, _objectSpread({}, props)), props.footer && /*#__PURE__*/_jsx(SideMenuFooter, _objectSpread({}, props))]
27
- });
33
+ }));
28
34
  };
29
35
 
30
36
  export default SideMenu;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/SideMenu/SideMenu.tsx"],"names":["React","styled","SideMenuHeader","SideMenuFooter","SideMenuBody","BOXSHADOWS","COLORS","Z_INDEXES","Size","Wrapper","div","off_canvas","white","BOXSHADOW_CENTERED","SideMenu","props","size","Medium","footer"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,SAAQC,cAAR,QAA6B,kBAA7B;AACA,SAAQC,cAAR,QAA6B,kBAA7B;AACA,SAAQC,YAAR,QAA2B,gBAA3B;AACA,SAAQC,UAAR,EAAoBC,MAApB,EAA4BC,SAA5B,QAA4C,WAA5C;AACA,SAAQC,IAAR,QAAmB,UAAnB;;;AAEA,IAAMC,OAAO,GAAGR,MAAM,CAACS,GAAV,0XACAH,SAAS,CAACI,UADV,EAIGL,MAAM,CAACM,KAJV,EAUGP,UAAU,CAACQ,kBAVd,CAAb;;AA0BA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,CAACC,KAAD,EAAW;AAClE,oBAA6BA,KAA7B,CAAOC,IAAP;AAAA,MAAOA,IAAP,4BAAcR,IAAI,CAACS,MAAnB;AAEA,sBACE,MAAC,OAAD;AAAS,IAAA,SAAS,EAAED,IAApB;AAAA,4BACE,KAAC,cAAD,oBAAoBD,KAApB,EADF,eAEE,KAAC,YAAD,oBAAkBA,KAAlB,EAFF,EAGGA,KAAK,CAACG,MAAN,iBAAgB,KAAC,cAAD,oBAAoBH,KAApB,EAHnB;AAAA,IADF;AAOD,CAVD;;AAYA,eAAeD,QAAf","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {SideMenuProps} from './types';\nimport {SideMenuHeader} from './SideMenuHeader';\nimport {SideMenuFooter} from './SideMenuFooter';\nimport {SideMenuBody} from './SideMenuBody';\nimport {BOXSHADOWS, COLORS, Z_INDEXES} from '../styles';\nimport {Size} from '../types';\n\nconst Wrapper = styled.div`\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n background: ${COLORS.white};\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n`;\n\n\nconst SideMenu: React.FunctionComponent<SideMenuProps> = (props) => {\n const {size = Size.Medium} = props;\n\n return (\n <Wrapper className={size}>\n <SideMenuHeader {...props} />\n <SideMenuBody {...props}/>\n {props.footer && <SideMenuFooter {...props}/>}\n </Wrapper>\n );\n}\n\nexport default SideMenu;\n"],"file":"SideMenu.js"}
1
+ {"version":3,"sources":["../../src/SideMenu/SideMenu.tsx"],"names":["React","styled","SideMenuHeader","SideMenuFooter","SideMenuBody","BOXSHADOWS","COLORS","Z_INDEXES","Size","Wrapper","div","off_canvas","white","BOXSHADOW_CENTERED","SideMenu","props","size","Medium","className","rest","footer"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,SAAQC,cAAR,QAA6B,kBAA7B;AACA,SAAQC,cAAR,QAA6B,kBAA7B;AACA,SAAQC,YAAR,QAA2B,gBAA3B;AACA,SAAQC,UAAR,EAAoBC,MAApB,EAA4BC,SAA5B,QAA4C,WAA5C;AACA,SAAQC,IAAR,QAAmB,UAAnB;;;AAEA,IAAMC,OAAO,GAAGR,MAAM,CAACS,GAAV,0XACAH,SAAS,CAACI,UADV,EAIGL,MAAM,CAACM,KAJV,EAUGP,UAAU,CAACQ,kBAVd,CAAb;;AA0BA,IAAMC,QAAgD,GAAG,SAAnDA,QAAmD,CAACC,KAAD,EAAW;AAClE,oBAAiDA,KAAjD,CAAOC,IAAP;AAAA,MAAOA,IAAP,4BAAcR,IAAI,CAACS,MAAnB;AAAA,MAA2BC,SAA3B,GAAiDH,KAAjD,CAA2BG,SAA3B;AAAA,MAAyCC,IAAzC,4BAAiDJ,KAAjD;;AAEA,sBACE,MAAC,OAAD;AAAS,IAAA,SAAS,YAAKC,IAAL,cAAaE,SAAS,IAAI,EAA1B;AAAlB,KAAsDC,IAAtD;AAAA,4BACE,KAAC,cAAD,oBAAoBJ,KAApB,EADF,eAEE,KAAC,YAAD,oBAAkBA,KAAlB,EAFF,EAGGA,KAAK,CAACK,MAAN,iBAAgB,KAAC,cAAD,oBAAoBL,KAApB,EAHnB;AAAA,KADF;AAOD,CAVD;;AAYA,eAAeD,QAAf","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {SideMenuProps} from './types';\nimport {SideMenuHeader} from './SideMenuHeader';\nimport {SideMenuFooter} from './SideMenuFooter';\nimport {SideMenuBody} from './SideMenuBody';\nimport {BOXSHADOWS, COLORS, Z_INDEXES} from '../styles';\nimport {Size} from '../types';\n\nconst Wrapper = styled.div`\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n box-sizing: border-box;\n background: ${COLORS.white};\n\n display: flex;\n flex-direction: column;\n\n width: fit-content;\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\n\n &.small {\n min-width: 320px;\n }\n\n &.medium {\n min-width: 400px;\n }\n\n &.large {\n min-width: 480px;\n }\n`;\n\n\nconst SideMenu: React.FunctionComponent<SideMenuProps> = (props) => {\n const {size = Size.Medium, className, ...rest} = props;\n\n return (\n <Wrapper className={`${size} ${className || ''}`} {...rest}>\n <SideMenuHeader {...props} />\n <SideMenuBody {...props}/>\n {props.footer && <SideMenuFooter {...props}/>}\n </Wrapper>\n );\n}\n\nexport default SideMenu;\n"],"file":"SideMenu.js"}
@@ -18,7 +18,7 @@ export interface SideMenuFooter {
18
18
  buttons?: SideMenuButton[];
19
19
  note?: string;
20
20
  }
21
- export interface SideMenuProps {
21
+ export interface SideMenuProps extends React.HTMLAttributes<HTMLDivElement> {
22
22
  size?: Size.Small | Size.Medium | Size.Large;
23
23
  header?: SideMenuHeader;
24
24
  footer?: SideMenuFooter;
@@ -232,9 +232,9 @@ var Table = function Table(props) {
232
232
  return tmpFilteredRows;
233
233
  };
234
234
  /**
235
- * Takes care of local pagination.
236
- * Works only in case remote pagination is not defined or is set to false.
237
- */
235
+ * Takes care of local pagination.
236
+ * Works only in case remote pagination is not defined or is set to false.
237
+ */
238
238
 
239
239
 
240
240
  React.useEffect(function () {
@@ -426,31 +426,24 @@ var Table = function Table(props) {
426
426
 
427
427
 
428
428
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.TableWrapper, {
429
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTable, {
430
- cellPadding: "0",
431
- cellSpacing: "0",
432
- "data-testid": "TestTable",
433
- className: "table ".concat(props.layout || ''),
434
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TableHeaders.default, _objectSpread(_objectSpread({}, props), {}, {
435
- sortByColumn: sortTableColumn,
436
- onSelectAllClick: onSelectAllClick,
437
- selectAllState: selectAllState
438
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableBody.default, _objectSpread(_objectSpread({}, props), {}, {
439
- currentPageRows: currentPageRows,
440
- selected: selected,
441
- onRowClick: onRowClick
442
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableFooter.default, _objectSpread(_objectSpread({}, props), {}, {
443
- onRowsPerPageChange: changeRowsPerPage,
444
- rowsPerPage: rowsPerPage,
445
- setIsCollapsed: setIsCollapsed,
446
- isCollapsed: isCollapsed,
447
- from: from,
448
- to: to,
449
- total: total,
450
- nextPage: nextPage,
451
- prevPage: previousPage
452
- }))]
453
- }), showLoadingIndicator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableSpinner, {
429
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TableHeaders.default, _objectSpread({}, props)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableBody.default, _objectSpread(_objectSpread({}, props), {}, {
430
+ currentPageRows: currentPageRows,
431
+ selected: selected,
432
+ onRowClick: onRowClick,
433
+ sortByColumn: sortTableColumn,
434
+ onSelectAllClick: onSelectAllClick,
435
+ selectAllState: selectAllState
436
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableFooter.default, _objectSpread(_objectSpread({}, props), {}, {
437
+ onRowsPerPageChange: changeRowsPerPage,
438
+ rowsPerPage: rowsPerPage,
439
+ setIsCollapsed: setIsCollapsed,
440
+ isCollapsed: isCollapsed,
441
+ from: from,
442
+ to: to,
443
+ total: total,
444
+ nextPage: nextPage,
445
+ prevPage: previousPage
446
+ })), showLoadingIndicator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableSpinner, {
454
447
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {
455
448
  size: _types.Size.Medium
456
449
  })