@laerdal/life-react-components 1.4.1-dev.10 → 1.4.1-dev.14

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 (318) hide show
  1. package/dist/Accordion/AccordionItem.cjs +76 -0
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -0
  3. package/dist/Accordion/AccordionMenu.cjs +99 -0
  4. package/dist/Accordion/AccordionMenu.cjs.map +1 -0
  5. package/dist/Accordion/ContentAccordion.cjs +172 -0
  6. package/dist/Accordion/ContentAccordion.cjs.map +1 -0
  7. package/dist/Accordion/index.cjs +38 -0
  8. package/dist/Accordion/index.cjs.map +1 -0
  9. package/dist/Accordion/styles.cjs +52 -0
  10. package/dist/Accordion/styles.cjs.map +1 -0
  11. package/dist/AuthPage/AuthPage.cjs +80 -0
  12. package/dist/AuthPage/AuthPage.cjs.map +1 -0
  13. package/dist/AuthPage/Information.cjs +42 -0
  14. package/dist/AuthPage/Information.cjs.map +1 -0
  15. package/dist/AuthPage/ScreenSetsContainer.cjs +25 -0
  16. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -0
  17. package/dist/AuthPage/_AuthPageSection.cjs +22 -0
  18. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -0
  19. package/dist/AuthPage/index.cjs +64 -0
  20. package/dist/AuthPage/index.cjs.map +1 -0
  21. package/dist/AuthPage/screenSetsErrorMessages.cjs +13 -0
  22. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -0
  23. package/dist/Banners/Banner.cjs +291 -0
  24. package/dist/Banners/Banner.cjs.map +1 -0
  25. package/dist/Banners/OverviewBanner.cjs +55 -0
  26. package/dist/Banners/OverviewBanner.cjs.map +1 -0
  27. package/dist/Banners/index.cjs +24 -0
  28. package/dist/Banners/index.cjs.map +1 -0
  29. package/dist/Banners/styles.cjs +35 -0
  30. package/dist/Banners/styles.cjs.map +1 -0
  31. package/dist/Breadcrumb/Breadcrumb.cjs +169 -0
  32. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -0
  33. package/dist/Breadcrumb/BreadcrumbItem.cjs +6 -0
  34. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
  35. package/dist/Breadcrumb/index.cjs +16 -0
  36. package/dist/Breadcrumb/index.cjs.map +1 -0
  37. package/dist/Button/BackButton.cjs +75 -0
  38. package/dist/Button/BackButton.cjs.map +1 -0
  39. package/dist/Button/Button.cjs +340 -0
  40. package/dist/Button/Button.cjs.map +1 -0
  41. package/dist/Button/DualFunctionButton.cjs +162 -0
  42. package/dist/Button/DualFunctionButton.cjs.map +1 -0
  43. package/dist/Button/Iconbutton.cjs +193 -0
  44. package/dist/Button/Iconbutton.cjs.map +1 -0
  45. package/dist/Button/index.cjs +40 -0
  46. package/dist/Button/index.cjs.map +1 -0
  47. package/dist/Chips/ActionChip.cjs +81 -0
  48. package/dist/Chips/ActionChip.cjs.map +1 -0
  49. package/dist/Chips/ChipInput.cjs +199 -0
  50. package/dist/Chips/ChipInput.cjs.map +1 -0
  51. package/dist/Chips/ChipStyles.cjs +43 -0
  52. package/dist/Chips/ChipStyles.cjs.map +1 -0
  53. package/dist/Chips/ChipTypes.cjs +6 -0
  54. package/dist/Chips/ChipTypes.cjs.map +1 -0
  55. package/dist/Chips/ChoiceChips.cjs +94 -0
  56. package/dist/Chips/ChoiceChips.cjs.map +1 -0
  57. package/dist/Chips/FilterChip.cjs +81 -0
  58. package/dist/Chips/FilterChip.cjs.map +1 -0
  59. package/dist/Chips/InputChip.cjs +109 -0
  60. package/dist/Chips/InputChip.cjs.map +1 -0
  61. package/dist/Chips/index.cjs +48 -0
  62. package/dist/Chips/index.cjs.map +1 -0
  63. package/dist/Dropdown/BasicDropdown.cjs +300 -0
  64. package/dist/Dropdown/BasicDropdown.cjs.map +1 -0
  65. package/dist/Dropdown/ChipDropdownInput.cjs +435 -0
  66. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
  67. package/dist/Dropdown/CommonStyling.cjs +95 -0
  68. package/dist/Dropdown/CommonStyling.cjs.map +1 -0
  69. package/dist/Dropdown/DropdownButton.cjs +161 -0
  70. package/dist/Dropdown/DropdownButton.cjs.map +1 -0
  71. package/dist/Dropdown/DropdownButtonTypes.cjs +6 -0
  72. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -0
  73. package/dist/Dropdown/DropdownContent.cjs +600 -0
  74. package/dist/Dropdown/DropdownContent.cjs.map +1 -0
  75. package/dist/Dropdown/DropdownFilter.cjs +357 -0
  76. package/dist/Dropdown/DropdownFilter.cjs.map +1 -0
  77. package/dist/Dropdown/index.cjs +40 -0
  78. package/dist/Dropdown/index.cjs.map +1 -0
  79. package/dist/Footer/Components/FooterBottomLinks.cjs +69 -0
  80. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -0
  81. package/dist/Footer/Components/FooterDropdownLinks.cjs +91 -0
  82. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -0
  83. package/dist/Footer/Components/FooterNavSection.cjs +90 -0
  84. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -0
  85. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +129 -0
  86. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -0
  87. package/dist/Footer/Components/FooterTop.cjs +91 -0
  88. package/dist/Footer/Components/FooterTop.cjs.map +1 -0
  89. package/dist/Footer/Footer.cjs +41 -0
  90. package/dist/Footer/Footer.cjs.map +1 -0
  91. package/dist/Footer/SiteFooter.cjs +89 -0
  92. package/dist/Footer/SiteFooter.cjs.map +1 -0
  93. package/dist/Footer/index.cjs +24 -0
  94. package/dist/Footer/index.cjs.map +1 -0
  95. package/dist/GlobalNavigationBar/Actions.cjs +185 -0
  96. package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
  97. package/dist/GlobalNavigationBar/Avatar.cjs +106 -0
  98. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
  99. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs +100 -0
  100. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
  101. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +303 -0
  102. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -0
  103. package/dist/GlobalNavigationBar/Logo.cjs +102 -0
  104. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -0
  105. package/dist/GlobalNavigationBar/MainMenu.cjs +169 -0
  106. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
  107. package/dist/GlobalNavigationBar/RightSideNav.cjs +89 -0
  108. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
  109. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +108 -0
  110. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
  111. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +176 -0
  112. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
  113. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
  114. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
  115. package/dist/GlobalNavigationBar/index.cjs +36 -0
  116. package/dist/GlobalNavigationBar/index.cjs.map +1 -0
  117. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +71 -0
  118. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -0
  119. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
  120. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
  121. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
  122. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
  123. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +290 -0
  124. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -0
  125. package/dist/HyperLink/HyperLink.cjs +72 -0
  126. package/dist/HyperLink/HyperLink.cjs.map +1 -0
  127. package/dist/HyperLink/index.cjs +30 -0
  128. package/dist/HyperLink/index.cjs.map +1 -0
  129. package/dist/HyperLink/styling.cjs +22 -0
  130. package/dist/HyperLink/styling.cjs.map +1 -0
  131. package/dist/InputFields/Checkbox.cjs +126 -0
  132. package/dist/InputFields/Checkbox.cjs.map +1 -0
  133. package/dist/InputFields/Checkbox.d.ts +1 -0
  134. package/dist/InputFields/Checkbox.js +5 -3
  135. package/dist/InputFields/Checkbox.js.map +1 -1
  136. package/dist/InputFields/DatepickerField.cjs +252 -0
  137. package/dist/InputFields/DatepickerField.cjs.map +1 -0
  138. package/dist/InputFields/DatepickerFieldHeader.cjs +107 -0
  139. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -0
  140. package/dist/InputFields/Label.cjs +104 -0
  141. package/dist/InputFields/Label.cjs.map +1 -0
  142. package/dist/InputFields/PasswordField.cjs +150 -0
  143. package/dist/InputFields/PasswordField.cjs.map +1 -0
  144. package/dist/InputFields/QuickSearch.cjs +201 -0
  145. package/dist/InputFields/QuickSearch.cjs.map +1 -0
  146. package/dist/InputFields/RadioButton.cjs +114 -0
  147. package/dist/InputFields/RadioButton.cjs.map +1 -0
  148. package/dist/InputFields/RadioButton.d.ts +1 -0
  149. package/dist/InputFields/RadioButton.js +5 -3
  150. package/dist/InputFields/RadioButton.js.map +1 -1
  151. package/dist/InputFields/ResponsiveComponentWrapper.cjs +72 -0
  152. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -0
  153. package/dist/InputFields/SearchBar.cjs +146 -0
  154. package/dist/InputFields/SearchBar.cjs.map +1 -0
  155. package/dist/InputFields/TextField.cjs +126 -0
  156. package/dist/InputFields/TextField.cjs.map +1 -0
  157. package/dist/InputFields/Textarea.cjs +96 -0
  158. package/dist/InputFields/Textarea.cjs.map +1 -0
  159. package/dist/InputFields/components/SearchBarInput.cjs +99 -0
  160. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -0
  161. package/dist/InputFields/components/SearchField.cjs +71 -0
  162. package/dist/InputFields/components/SearchField.cjs.map +1 -0
  163. package/dist/InputFields/index.cjs +80 -0
  164. package/dist/InputFields/index.cjs.map +1 -0
  165. package/dist/InputFields/styling.cjs +76 -0
  166. package/dist/InputFields/styling.cjs.map +1 -0
  167. package/dist/Layouts/index.cjs +56 -0
  168. package/dist/Layouts/index.cjs.map +1 -0
  169. package/dist/List/ListRow.cjs +143 -0
  170. package/dist/List/ListRow.cjs.map +1 -0
  171. package/dist/List/index.cjs +16 -0
  172. package/dist/List/index.cjs.map +1 -0
  173. package/dist/LoadingIndicator/LoadingIndicator.cjs +71 -0
  174. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -0
  175. package/dist/LoadingIndicator/index.cjs +16 -0
  176. package/dist/LoadingIndicator/index.cjs.map +1 -0
  177. package/dist/LoadingPage/GlobalLoadingPage.cjs +66 -0
  178. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -0
  179. package/dist/LoadingPage/index.cjs +16 -0
  180. package/dist/LoadingPage/index.cjs.map +1 -0
  181. package/dist/MiniProductCard/MiniProductCard.cjs +80 -0
  182. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -0
  183. package/dist/MiniProductCard/index.cjs +16 -0
  184. package/dist/MiniProductCard/index.cjs.map +1 -0
  185. package/dist/Modals/Modal.cjs +92 -0
  186. package/dist/Modals/Modal.cjs.map +1 -0
  187. package/dist/Modals/ModalContainer.cjs +176 -0
  188. package/dist/Modals/ModalContainer.cjs.map +1 -0
  189. package/dist/Modals/ModalDialog.cjs +348 -0
  190. package/dist/Modals/ModalDialog.cjs.map +1 -0
  191. package/dist/Modals/ModalNote.cjs +93 -0
  192. package/dist/Modals/ModalNote.cjs.map +1 -0
  193. package/dist/Modals/ModalStyles.cjs +154 -0
  194. package/dist/Modals/ModalStyles.cjs.map +1 -0
  195. package/dist/Modals/ModalTypes.cjs +6 -0
  196. package/dist/Modals/ModalTypes.cjs.map +1 -0
  197. package/dist/Modals/index.cjs +70 -0
  198. package/dist/Modals/index.cjs.map +1 -0
  199. package/dist/NavItem/NavItem.cjs +26 -0
  200. package/dist/NavItem/NavItem.cjs.map +1 -0
  201. package/dist/NavItem/index.cjs +16 -0
  202. package/dist/NavItem/index.cjs.map +1 -0
  203. package/dist/NotificationDot/NotificationDot.cjs +74 -0
  204. package/dist/NotificationDot/NotificationDot.cjs.map +1 -0
  205. package/dist/NotificationDot/index.cjs +16 -0
  206. package/dist/NotificationDot/index.cjs.map +1 -0
  207. package/dist/Paginator/Paginator.cjs +191 -0
  208. package/dist/Paginator/Paginator.cjs.map +1 -0
  209. package/dist/Paginator/index.cjs +16 -0
  210. package/dist/Paginator/index.cjs.map +1 -0
  211. package/dist/QuizButton/QuizButton.cjs +150 -0
  212. package/dist/QuizButton/QuizButton.cjs.map +1 -0
  213. package/dist/QuizButton/QuizButton.d.ts +15 -0
  214. package/dist/QuizButton/QuizButton.js +126 -0
  215. package/dist/QuizButton/QuizButton.js.map +1 -0
  216. package/dist/QuizButton/index.cjs +16 -0
  217. package/dist/QuizButton/index.cjs.map +1 -0
  218. package/dist/QuizButton/index.d.ts +1 -0
  219. package/dist/QuizButton/index.js +2 -0
  220. package/dist/QuizButton/index.js.map +1 -0
  221. package/dist/Services/functions.cjs +19 -0
  222. package/dist/Services/functions.cjs.map +1 -0
  223. package/dist/SkipToContent/SkipToContent.cjs +46 -0
  224. package/dist/SkipToContent/SkipToContent.cjs.map +1 -0
  225. package/dist/SkipToContent/index.cjs +16 -0
  226. package/dist/SkipToContent/index.cjs.map +1 -0
  227. package/dist/Switcher/MobileSwitcherMenu.cjs +120 -0
  228. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -0
  229. package/dist/Switcher/SwitcherMenuItem.cjs +62 -0
  230. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -0
  231. package/dist/Switcher/index.cjs +24 -0
  232. package/dist/Switcher/index.cjs.map +1 -0
  233. package/dist/Table/Table.cjs +463 -0
  234. package/dist/Table/Table.cjs.map +1 -0
  235. package/dist/Table/TableBody.cjs +186 -0
  236. package/dist/Table/TableBody.cjs.map +1 -0
  237. package/dist/Table/TableFooter.cjs +119 -0
  238. package/dist/Table/TableFooter.cjs.map +1 -0
  239. package/dist/Table/TableHeaders.cjs +100 -0
  240. package/dist/Table/TableHeaders.cjs.map +1 -0
  241. package/dist/Table/TableStyles.cjs +104 -0
  242. package/dist/Table/TableStyles.cjs.map +1 -0
  243. package/dist/Table/TableTypes.cjs +6 -0
  244. package/dist/Table/TableTypes.cjs.map +1 -0
  245. package/dist/Table/index.cjs +16 -0
  246. package/dist/Table/index.cjs.map +1 -0
  247. package/dist/Tabs/HorizontalTabs.cjs +98 -0
  248. package/dist/Tabs/HorizontalTabs.cjs.map +1 -0
  249. package/dist/Tabs/TabLink.cjs +128 -0
  250. package/dist/Tabs/TabLink.cjs.map +1 -0
  251. package/dist/Tabs/Tabs.cjs +121 -0
  252. package/dist/Tabs/Tabs.cjs.map +1 -0
  253. package/dist/Tabs/VerticalTabs.cjs +68 -0
  254. package/dist/Tabs/VerticalTabs.cjs.map +1 -0
  255. package/dist/Tabs/index.cjs +24 -0
  256. package/dist/Tabs/index.cjs.map +1 -0
  257. package/dist/Toasters/Toast.cjs +289 -0
  258. package/dist/Toasters/Toast.cjs.map +1 -0
  259. package/dist/Toasters/ToastContext.cjs +179 -0
  260. package/dist/Toasters/ToastContext.cjs.map +1 -0
  261. package/dist/Toasters/index.cjs +36 -0
  262. package/dist/Toasters/index.cjs.map +1 -0
  263. package/dist/Toggles/ToggleSwitch.cjs +73 -0
  264. package/dist/Toggles/ToggleSwitch.cjs.map +1 -0
  265. package/dist/Toggles/TogglerStyles.cjs +39 -0
  266. package/dist/Toggles/TogglerStyles.cjs.map +1 -0
  267. package/dist/Toggles/TogglerTypes.cjs +6 -0
  268. package/dist/Toggles/TogglerTypes.cjs.map +1 -0
  269. package/dist/Toggles/index.cjs +16 -0
  270. package/dist/Toggles/index.cjs.map +1 -0
  271. package/dist/Tooltips/TooltipStyles.cjs +96 -0
  272. package/dist/Tooltips/TooltipStyles.cjs.map +1 -0
  273. package/dist/Tooltips/TooltipTypes.cjs +11 -0
  274. package/dist/Tooltips/TooltipTypes.cjs.map +1 -0
  275. package/dist/Tooltips/TooltipWrapper.cjs +51 -0
  276. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -0
  277. package/dist/Tooltips/index.cjs +36 -0
  278. package/dist/Tooltips/index.cjs.map +1 -0
  279. package/dist/assets/index.cjs +173 -0
  280. package/dist/assets/index.cjs.map +1 -0
  281. package/dist/common/EventHandlers.cjs +20 -0
  282. package/dist/common/EventHandlers.cjs.map +1 -0
  283. package/dist/common/FocusVisible.cjs +77 -0
  284. package/dist/common/FocusVisible.cjs.map +1 -0
  285. package/dist/common/InputStyling.cjs +20 -0
  286. package/dist/common/InputStyling.cjs.map +1 -0
  287. package/dist/common/index.cjs +30 -0
  288. package/dist/common/index.cjs.map +1 -0
  289. package/dist/hooks/useClickOutside.cjs +35 -0
  290. package/dist/hooks/useClickOutside.cjs.map +1 -0
  291. package/dist/icons/contenticons/ContentIcons.cjs +4530 -0
  292. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -0
  293. package/dist/icons/index.cjs +147 -0
  294. package/dist/icons/index.cjs.map +1 -0
  295. package/dist/icons/systemicons/SystemIcons.cjs +4134 -0
  296. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -0
  297. package/dist/index.cjs +422 -0
  298. package/dist/index.cjs.map +1 -0
  299. package/dist/index.d.ts +2 -0
  300. package/dist/index.js +2 -0
  301. package/dist/index.js.map +1 -1
  302. package/dist/styles/breakpoints.cjs +16 -0
  303. package/dist/styles/breakpoints.cjs.map +1 -0
  304. package/dist/styles/colors.cjs +108 -0
  305. package/dist/styles/colors.cjs.map +1 -0
  306. package/dist/styles/global.cjs +15 -0
  307. package/dist/styles/global.cjs.map +1 -0
  308. package/dist/styles/index.cjs +288 -0
  309. package/dist/styles/index.cjs.map +1 -0
  310. package/dist/styles/shadowstyles.cjs +14 -0
  311. package/dist/styles/shadowstyles.cjs.map +1 -0
  312. package/dist/styles/typography.cjs +640 -0
  313. package/dist/styles/typography.cjs.map +1 -0
  314. package/dist/styles/z-indexes.cjs +22 -0
  315. package/dist/styles/z-indexes.cjs.map +1 -0
  316. package/dist/types.cjs +59 -0
  317. package/dist/types.cjs.map +1 -0
  318. package/package.json +13 -5
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var React = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _ = require("..");
21
+
22
+ var _typography = require("../styles/typography");
23
+
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ var TextContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-radius: 0 8px 8px 0;\n display: flex;\n background: ", ";\n width: 100%;\n\n transition: background 100ms ease-in-out;\n align-items: center;\n\n padding: ", ";\n ", "\n"])), _.COLORS.accent1_20, function (props) {
33
+ return props.size === _.Size.Small ? '6px 8px' : props.size === _.Size.Large ? '20px 16px' : '12px 16px';
34
+ }, function (props) {
35
+ return props.size === _.Size.Small ? (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, null) : props.size === _.Size.Large ? (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Regular, null) : (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, null);
36
+ });
37
+
38
+ var TextWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)([""])));
39
+
40
+ var ButtonContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n border-radius: 8px 0 0 8px;\n display: flex;\n background: ", ";\n\n width: ", ";\n\n transition: background 100ms ease-in-out;\n\n .quiz-button-result-icon {\n height: ", ";\n width: ", ";\n }\n\n .radio-button-icon, .checkbox-icon {\n margin: auto;\n min-width: unset;\n background: transparent;\n\n &:hover {\n background: transparent;\n }\n\n &:focus {\n background: transparent;\n }\n\n &:active {\n background: transparent;\n }\n }\n\n .small, .medium, .large {\n min-height: unset;\n min-width: unset;\n }\n\n .small {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 16px;\n width: 16px;\n }\n }\n }\n\n .medium {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 24px;\n width: 24px;\n }\n }\n }\n\n .large {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 32px;\n width: 32px;\n }\n }\n }\n"])), _.COLORS.accent1_100, function (props) {
41
+ return props.size === _.Size.Small ? '32px' : props.size === _.Size.Large ? '64px' : '48px';
42
+ }, function (props) {
43
+ return props.size === _.Size.Small ? '16px' : props.size === _.Size.Large ? '32px' : '24px';
44
+ }, function (props) {
45
+ return props.size === _.Size.Small ? '16px' : props.size === _.Size.Large ? '32px' : '24px';
46
+ });
47
+
48
+ var OptionContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n cursor: pointer;\n max-width: 65ch; \n word-break: break-word;\n\n min-height: ", ";\n margin-bottom: ", ";\n\n &.selected {\n ", " {\n background: ", ";\n }\n ", " {\n background: ", ";\n }\n }\n \n &.disabled {\n cursor: not-allowed;\n \n ", " {\n pointer-events: none;\n background: ", ";\n }\n ", " {\n pointer-events: none;\n background: ", ";\n color: ", ";\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &.correct {\n ", " { \n background: ", ";\n }\n ", " {\n background: ", ";\n svg {\n margin: auto;\n }\n }\n }\n\n &.incorrect {\n ", " { \n background: ", ";\n }\n ", " {\n background: ", ";\n svg {\n margin: auto;\n }\n }\n }\n\n &.partial {\n ", " { \n background: ", ";\n }\n ", " {\n background: ", ";\n svg {\n margin: auto;\n }\n }\n } \n\n &:hover,\n &.hover-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:focus,\n &.focus-state {\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", ";\n border-radius: 8px;\n outline: none;\n\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 ", " {\n background: ", ";\n }\n ", " {\n background: ", ";\n }\n \n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ", ";\n }\n }\n }\n\n &:focus:not(.disabled):not(.result),\n &.focus-state {\n ", " {\n background: ", ";\n }\n ", " {\n background: ", ";\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:active:not(.disabled):not(.result),\n &.active-state {\n ", " {\n background: ", ";\n transition: none;\n }\n ", " {\n background: ", ";\n transition: none;\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ", ";\n }\n }\n }\n"])), function (props) {
49
+ return props.size === _.Size.Small ? '32px' : props.size === _.Size.Large ? '64px' : '48px';
50
+ }, function (props) {
51
+ return props.size === _.Size.Small ? '16px' : props.size === _.Size.Large ? '32px' : '24px';
52
+ }, TextContainer, _.COLORS.accent1_100, ButtonContainer, _.COLORS.accent1_200, ButtonContainer, _.COLORS.neutral_100, TextContainer, _.COLORS.neutral_20, _.COLORS.neutral_300, TextContainer, _.COLORS.correct_20, ButtonContainer, _.COLORS.correct_400, TextContainer, _.COLORS.critical_20, ButtonContainer, _.COLORS.critical_500, TextContainer, _.COLORS.warning_20, ButtonContainer, _.COLORS.warning_400, _.COLORS.focus_25, _.COLORS.focus, ButtonContainer, _.COLORS.accent1_300, TextContainer, function (props) {
53
+ return props.isSelected ? _.COLORS.accent1_200 : _.COLORS.accent1_100;
54
+ }, _.COLORS.primary_700, ButtonContainer, function (props) {
55
+ return props.isSelected ? _.COLORS.accent1_200 : _.COLORS.accent1_100;
56
+ }, TextContainer, function (props) {
57
+ return props.isSelected ? _.COLORS.accent1_100 : _.COLORS.accent1_20;
58
+ }, ButtonContainer, _.COLORS.accent1_400, TextContainer, function (props) {
59
+ return props.isSelected ? _.COLORS.accent1_300 : _.COLORS.accent1_200;
60
+ }, _.COLORS.primary_800);
61
+
62
+ var renderResultContent = function renderResultContent(resultType) {
63
+ switch (resultType) {
64
+ case 'correct':
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.SystemIcons.CheckComplete, {
66
+ color: _.COLORS.white,
67
+ className: 'quiz-button-result-icon'
68
+ });
69
+
70
+ case 'incorrect':
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.SystemIcons.Close, {
72
+ color: _.COLORS.white,
73
+ className: 'quiz-button-result-icon'
74
+ });
75
+
76
+ default:
77
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.SystemIcons.Close, {
78
+ color: _.COLORS.white,
79
+ className: 'quiz-button-result-icon'
80
+ });
81
+ }
82
+ };
83
+
84
+ var QuizButton = function QuizButton(_ref) {
85
+ var text = _ref.text,
86
+ type = _ref.type,
87
+ onClick = _ref.onClick,
88
+ resultType = _ref.resultType,
89
+ id = _ref.id,
90
+ className = _ref.className,
91
+ _ref$selected = _ref.selected,
92
+ selected = _ref$selected === void 0 ? false : _ref$selected,
93
+ _ref$disabled = _ref.disabled,
94
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
95
+ _ref$size = _ref.size,
96
+ size = _ref$size === void 0 ? _.Size.Medium : _ref$size;
97
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(OptionContainer, {
98
+ onClick: onClick,
99
+ isSelected: selected,
100
+ tabIndex: disabled || resultType ? -1 : 1,
101
+ onMouseDown: function onMouseDown(e) {
102
+ return e.preventDefault();
103
+ },
104
+ size: size,
105
+ className: 'quiz-button '.concat(selected ? ' selected' : '').concat(disabled ? ' disabled' : '').concat(resultType ? ' result ' + resultType : '').concat(className ? ' ' + className : ''),
106
+ "data-testid": 'container',
107
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ButtonContainer, {
108
+ "data-testid": 'btnContainer',
109
+ className: 'quiz-button-icon',
110
+ size: size,
111
+ children: resultType ? renderResultContent(resultType) : type === 'radio' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_.RadioButton, {
112
+ selected: selected,
113
+ disabled: disabled,
114
+ size: size,
115
+ tabIndexVal: -1,
116
+ select: function select() {},
117
+ id: id
118
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Checkbox, {
119
+ selected: selected,
120
+ disabled: disabled,
121
+ size: size,
122
+ tabIndexVal: -1,
123
+ select: function select() {},
124
+ id: id
125
+ })
126
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextContainer, {
127
+ "data-testid": 'txtContainer',
128
+ className: 'quiz-button-text',
129
+ size: size,
130
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TextWrapper, {
131
+ size: size,
132
+ children: text
133
+ })
134
+ })]
135
+ });
136
+ };
137
+
138
+ QuizButton.propTypes = {
139
+ resultType: _propTypes.default.oneOf(['correct', 'incorrect', 'partial']),
140
+ text: _propTypes.default.string.isRequired,
141
+ onClick: _propTypes.default.func,
142
+ id: _propTypes.default.string.isRequired,
143
+ selected: _propTypes.default.bool,
144
+ disabled: _propTypes.default.bool,
145
+ type: _propTypes.default.oneOf(['radio', 'checkbox']).isRequired,
146
+ className: _propTypes.default.string
147
+ };
148
+ var _default = QuizButton;
149
+ exports.default = _default;
150
+ //# sourceMappingURL=QuizButton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/QuizButton/QuizButton.tsx"],"names":["TextContainer","styled","div","COLORS","accent1_20","props","size","Size","Small","Large","ComponentTextStyle","Regular","TextWrapper","ButtonContainer","accent1_100","OptionContainer","accent1_200","neutral_100","neutral_20","neutral_300","correct_20","correct_400","critical_20","critical_500","warning_20","warning_400","focus_25","focus","accent1_300","isSelected","primary_700","accent1_400","primary_800","renderResultContent","resultType","white","QuizButton","text","type","onClick","id","className","selected","disabled","Medium","e","preventDefault","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { Checkbox, COLORS, 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?'16px':(props.size===Size.Large?'32px':'24px')};\n }\n\n .radio-button-icon, .checkbox-icon {\n margin: auto;\n min-width: unset;\n background: transparent;\n\n &:hover {\n background: transparent;\n }\n\n &:focus {\n background: transparent;\n }\n\n &:active {\n background: transparent;\n }\n }\n\n .small, .medium, .large {\n min-height: unset;\n min-width: unset;\n }\n\n .small {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 16px;\n width: 16px;\n }\n }\n }\n\n .medium {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 24px;\n width: 24px;\n }\n }\n }\n\n .large {\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 &:hover,\n &.hover-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:focus,\n &.focus-state {\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus};\n border-radius: 8px;\n outline: none;\n\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.primary_700};\n }\n }\n }\n\n &:focus:not(.disabled):not(.result),\n &.focus-state {\n ${ButtonContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_200 : COLORS.accent1_100};\n }\n ${TextContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_100 : COLORS.accent1_20};\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\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.primary_800};\n }\n }\n }\n`;\n\nconst renderResultContent = (resultType: string) => {\n switch(resultType){\n case 'correct' : return <SystemIcons.CheckComplete 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 : 1} onMouseDown={e=>e.preventDefault()} 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;"],"file":"QuizButton.cjs"}
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { Size } from '..';
3
+ declare type QuizButtonProps = {
4
+ resultType?: 'correct' | 'incorrect' | 'partial';
5
+ text: string;
6
+ onClick?: (arg: any) => void;
7
+ id: string;
8
+ selected?: boolean;
9
+ disabled?: boolean;
10
+ size?: Size.Small | Size.Medium | Size.Large;
11
+ type: 'radio' | 'checkbox';
12
+ className?: string;
13
+ };
14
+ declare const QuizButton: React.FunctionComponent<QuizButtonProps>;
15
+ export default QuizButton;
@@ -0,0 +1,126 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ import _pt from "prop-types";
3
+
4
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
+
6
+ import * as React from 'react';
7
+ import styled from 'styled-components';
8
+ import { Checkbox, COLORS, RadioButton, Size, SystemIcons } from '..';
9
+ import { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ var TextContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: 0 8px 8px 0;\n display: flex;\n background: ", ";\n width: 100%;\n\n transition: background 100ms ease-in-out;\n align-items: center;\n\n padding: ", ";\n ", "\n"])), COLORS.accent1_20, function (props) {
13
+ return props.size === Size.Small ? '6px 8px' : props.size === Size.Large ? '20px 16px' : '12px 16px';
14
+ }, function (props) {
15
+ return props.size === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, null) : props.size === Size.Large ? ComponentLStyling(ComponentTextStyle.Regular, null) : ComponentMStyling(ComponentTextStyle.Regular, null);
16
+ });
17
+ var TextWrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([""])));
18
+ var ButtonContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n border-radius: 8px 0 0 8px;\n display: flex;\n background: ", ";\n\n width: ", ";\n\n transition: background 100ms ease-in-out;\n\n .quiz-button-result-icon {\n height: ", ";\n width: ", ";\n }\n\n .radio-button-icon, .checkbox-icon {\n margin: auto;\n min-width: unset;\n background: transparent;\n\n &:hover {\n background: transparent;\n }\n\n &:focus {\n background: transparent;\n }\n\n &:active {\n background: transparent;\n }\n }\n\n .small, .medium, .large {\n min-height: unset;\n min-width: unset;\n }\n\n .small {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 16px;\n width: 16px;\n }\n }\n }\n\n .medium {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 24px;\n width: 24px;\n }\n }\n }\n\n .large {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 32px;\n width: 32px;\n }\n }\n }\n"])), COLORS.accent1_100, function (props) {
19
+ return props.size === Size.Small ? '32px' : props.size === Size.Large ? '64px' : '48px';
20
+ }, function (props) {
21
+ return props.size === Size.Small ? '16px' : props.size === Size.Large ? '32px' : '24px';
22
+ }, function (props) {
23
+ return props.size === Size.Small ? '16px' : props.size === Size.Large ? '32px' : '24px';
24
+ });
25
+ var OptionContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n cursor: pointer;\n max-width: 65ch; \n word-break: break-word;\n\n min-height: ", ";\n margin-bottom: ", ";\n\n &.selected {\n ", " {\n background: ", ";\n }\n ", " {\n background: ", ";\n }\n }\n \n &.disabled {\n cursor: not-allowed;\n \n ", " {\n pointer-events: none;\n background: ", ";\n }\n ", " {\n pointer-events: none;\n background: ", ";\n color: ", ";\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &.correct {\n ", " { \n background: ", ";\n }\n ", " {\n background: ", ";\n svg {\n margin: auto;\n }\n }\n }\n\n &.incorrect {\n ", " { \n background: ", ";\n }\n ", " {\n background: ", ";\n svg {\n margin: auto;\n }\n }\n }\n\n &.partial {\n ", " { \n background: ", ";\n }\n ", " {\n background: ", ";\n svg {\n margin: auto;\n }\n }\n } \n\n &:hover,\n &.hover-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:focus,\n &.focus-state {\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", ";\n border-radius: 8px;\n outline: none;\n\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 ", " {\n background: ", ";\n }\n ", " {\n background: ", ";\n }\n \n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ", ";\n }\n }\n }\n\n &:focus:not(.disabled):not(.result),\n &.focus-state {\n ", " {\n background: ", ";\n }\n ", " {\n background: ", ";\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:active:not(.disabled):not(.result),\n &.active-state {\n ", " {\n background: ", ";\n transition: none;\n }\n ", " {\n background: ", ";\n transition: none;\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n svg {\n color: ", ";\n }\n }\n }\n"])), function (props) {
26
+ return props.size === Size.Small ? '32px' : props.size === Size.Large ? '64px' : '48px';
27
+ }, function (props) {
28
+ return props.size === Size.Small ? '16px' : props.size === Size.Large ? '32px' : '24px';
29
+ }, TextContainer, COLORS.accent1_100, ButtonContainer, COLORS.accent1_200, ButtonContainer, COLORS.neutral_100, TextContainer, COLORS.neutral_20, COLORS.neutral_300, TextContainer, COLORS.correct_20, ButtonContainer, COLORS.correct_400, TextContainer, COLORS.critical_20, ButtonContainer, COLORS.critical_500, TextContainer, COLORS.warning_20, ButtonContainer, COLORS.warning_400, COLORS.focus_25, COLORS.focus, ButtonContainer, COLORS.accent1_300, TextContainer, function (props) {
30
+ return props.isSelected ? COLORS.accent1_200 : COLORS.accent1_100;
31
+ }, COLORS.primary_700, ButtonContainer, function (props) {
32
+ return props.isSelected ? COLORS.accent1_200 : COLORS.accent1_100;
33
+ }, TextContainer, function (props) {
34
+ return props.isSelected ? COLORS.accent1_100 : COLORS.accent1_20;
35
+ }, ButtonContainer, COLORS.accent1_400, TextContainer, function (props) {
36
+ return props.isSelected ? COLORS.accent1_300 : COLORS.accent1_200;
37
+ }, COLORS.primary_800);
38
+
39
+ var renderResultContent = function renderResultContent(resultType) {
40
+ switch (resultType) {
41
+ case 'correct':
42
+ return /*#__PURE__*/_jsx(SystemIcons.CheckComplete, {
43
+ color: COLORS.white,
44
+ className: 'quiz-button-result-icon'
45
+ });
46
+
47
+ case 'incorrect':
48
+ return /*#__PURE__*/_jsx(SystemIcons.Close, {
49
+ color: COLORS.white,
50
+ className: 'quiz-button-result-icon'
51
+ });
52
+
53
+ default:
54
+ return /*#__PURE__*/_jsx(SystemIcons.Close, {
55
+ color: COLORS.white,
56
+ className: 'quiz-button-result-icon'
57
+ });
58
+ }
59
+ };
60
+
61
+ var QuizButton = function QuizButton(_ref) {
62
+ var text = _ref.text,
63
+ type = _ref.type,
64
+ onClick = _ref.onClick,
65
+ resultType = _ref.resultType,
66
+ id = _ref.id,
67
+ className = _ref.className,
68
+ _ref$selected = _ref.selected,
69
+ selected = _ref$selected === void 0 ? false : _ref$selected,
70
+ _ref$disabled = _ref.disabled,
71
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
72
+ _ref$size = _ref.size,
73
+ size = _ref$size === void 0 ? Size.Medium : _ref$size;
74
+ return /*#__PURE__*/_jsxs(OptionContainer, {
75
+ onClick: onClick,
76
+ isSelected: selected,
77
+ tabIndex: disabled || resultType ? -1 : 1,
78
+ onMouseDown: function onMouseDown(e) {
79
+ return e.preventDefault();
80
+ },
81
+ size: size,
82
+ className: 'quiz-button '.concat(selected ? ' selected' : '').concat(disabled ? ' disabled' : '').concat(resultType ? ' result ' + resultType : '').concat(className ? ' ' + className : ''),
83
+ "data-testid": 'container',
84
+ children: [/*#__PURE__*/_jsx(ButtonContainer, {
85
+ "data-testid": 'btnContainer',
86
+ className: 'quiz-button-icon',
87
+ size: size,
88
+ children: resultType ? renderResultContent(resultType) : type === 'radio' ? /*#__PURE__*/_jsx(RadioButton, {
89
+ selected: selected,
90
+ disabled: disabled,
91
+ size: size,
92
+ tabIndexVal: -1,
93
+ select: function select() {},
94
+ id: id
95
+ }) : /*#__PURE__*/_jsx(Checkbox, {
96
+ selected: selected,
97
+ disabled: disabled,
98
+ size: size,
99
+ tabIndexVal: -1,
100
+ select: function select() {},
101
+ id: id
102
+ })
103
+ }), /*#__PURE__*/_jsx(TextContainer, {
104
+ "data-testid": 'txtContainer',
105
+ className: 'quiz-button-text',
106
+ size: size,
107
+ children: /*#__PURE__*/_jsx(TextWrapper, {
108
+ size: size,
109
+ children: text
110
+ })
111
+ })]
112
+ });
113
+ };
114
+
115
+ QuizButton.propTypes = {
116
+ resultType: _pt.oneOf(['correct', 'incorrect', 'partial']),
117
+ text: _pt.string.isRequired,
118
+ onClick: _pt.func,
119
+ id: _pt.string.isRequired,
120
+ selected: _pt.bool,
121
+ disabled: _pt.bool,
122
+ type: _pt.oneOf(['radio', 'checkbox']).isRequired,
123
+ className: _pt.string
124
+ };
125
+ export default QuizButton;
126
+ //# sourceMappingURL=QuizButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/QuizButton/QuizButton.tsx"],"names":["React","styled","Checkbox","COLORS","RadioButton","Size","SystemIcons","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","TextContainer","div","accent1_20","props","size","Small","Large","Regular","TextWrapper","ButtonContainer","accent1_100","OptionContainer","accent1_200","neutral_100","neutral_20","neutral_300","correct_20","correct_400","critical_20","critical_500","warning_20","warning_400","focus_25","focus","accent1_300","isSelected","primary_700","accent1_400","primary_800","renderResultContent","resultType","white","QuizButton","text","type","onClick","id","className","selected","disabled","Medium","e","preventDefault","concat"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAASC,QAAT,EAAmBC,MAAnB,EAA2BC,WAA3B,EAAwCC,IAAxC,EAA8CC,WAA9C,QAAiE,IAAjE;AACA,SAASC,iBAAT,EAA4BC,iBAA5B,EAA+CC,iBAA/C,EAAkEC,kBAAlE,QAA4F,sBAA5F;;;AAEA,IAAMC,aAAa,GAAGV,MAAM,CAACW,GAAV,iQAGHT,MAAM,CAACU,UAHJ,EASN,UAAAC,KAAK;AAAA,SAAEA,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACW,KAAlB,GAAwB,SAAxB,GAAmCF,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACY,KAAlB,GAAwB,WAAxB,GAAoC,WAAzE;AAAA,CATC,EAUf,UAAAH,KAAK;AAAA,SAAEA,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACW,KAAlB,GAA0BP,iBAAiB,CAACC,kBAAkB,CAACQ,OAApB,EAA4B,IAA5B,CAA3C,GAAgFJ,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACY,KAAlB,GAA0BV,iBAAiB,CAACG,kBAAkB,CAACQ,OAApB,EAA4B,IAA5B,CAA3C,GAA+EV,iBAAiB,CAACE,kBAAkB,CAACQ,OAApB,EAA4B,IAA5B,CAAlL;AAAA,CAVU,CAAnB;AAaA,IAAMC,WAAW,GAAGlB,MAAM,CAACW,GAAV,uEAAjB;AAEA,IAAMQ,eAAe,GAAGnB,MAAM,CAACW,GAAV,oiCAGLT,MAAM,CAACkB,WAHF,EAKV,UAAAP,KAAK;AAAA,SAAEA,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACW,KAAlB,GAAwB,MAAxB,GAAgCF,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACY,KAAlB,GAAwB,MAAxB,GAA+B,MAAjE;AAAA,CALK,EAUP,UAAAH,KAAK;AAAA,SAAEA,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACW,KAAlB,GAAwB,MAAxB,GAAgCF,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACY,KAAlB,GAAwB,MAAxB,GAA+B,MAAjE;AAAA,CAVE,EAWR,UAAAH,KAAK;AAAA,SAAEA,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACW,KAAlB,GAAwB,MAAxB,GAAgCF,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACY,KAAlB,GAAwB,MAAxB,GAA+B,MAAjE;AAAA,CAXG,CAArB;AAiEA,IAAMK,eAAe,GAAGrB,MAAM,CAACW,GAAV,44EAOL,UAAAE,KAAK;AAAA,SAAEA,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACW,KAAlB,GAAwB,MAAxB,GAAgCF,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACY,KAAlB,GAAwB,MAAxB,GAA+B,MAAjE;AAAA,CAPA,EAQF,UAAAH,KAAK;AAAA,SAAEA,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACW,KAAlB,GAAwB,MAAxB,GAAgCF,KAAK,CAACC,IAAN,KAAaV,IAAI,CAACY,KAAlB,GAAwB,MAAxB,GAA+B,MAAjE;AAAA,CARH,EAWfN,aAXe,EAYDR,MAAM,CAACkB,WAZN,EAcfD,eAde,EAeDjB,MAAM,CAACoB,WAfN,EAsBfH,eAtBe,EAwBDjB,MAAM,CAACqB,WAxBN,EA0Bfb,aA1Be,EA4BDR,MAAM,CAACsB,UA5BN,EA6BNtB,MAAM,CAACuB,WA7BD,EAsCff,aAtCe,EAuCDR,MAAM,CAACwB,UAvCN,EAyCfP,eAzCe,EA0CDjB,MAAM,CAACyB,WA1CN,EAkDfjB,aAlDe,EAmDDR,MAAM,CAAC0B,WAnDN,EAqDfT,eArDe,EAsDDjB,MAAM,CAAC2B,YAtDN,EA8DfnB,aA9De,EA+DDR,MAAM,CAAC4B,UA/DN,EAiEfX,eAjEe,EAkEDjB,MAAM,CAAC6B,WAlEN,EAkFU7B,MAAM,CAAC8B,QAlFjB,EAkF0C9B,MAAM,CAAC+B,KAlFjD,EAoGfd,eApGe,EAqGDjB,MAAM,CAACgC,WArGN,EAuGfxB,aAvGe,EAwGD,UAAAG,KAAK;AAAA,SAAEA,KAAK,CAACsB,UAAN,GAAmBjC,MAAM,CAACoB,WAA1B,GAAyCpB,MAAM,CAACkB,WAAlD;AAAA,CAxGJ,EA8GJlB,MAAM,CAACkC,WA9GH,EAqHfjB,eArHe,EAsHD,UAAAN,KAAK;AAAA,SAAEA,KAAK,CAACsB,UAAN,GAAmBjC,MAAM,CAACoB,WAA1B,GAAwCpB,MAAM,CAACkB,WAAjD;AAAA,CAtHJ,EAwHfV,aAxHe,EAyHD,UAAAG,KAAK;AAAA,SAAEA,KAAK,CAACsB,UAAN,GAAmBjC,MAAM,CAACkB,WAA1B,GAAyClB,MAAM,CAACU,UAAlD;AAAA,CAzHJ,EAmIfO,eAnIe,EAoIDjB,MAAM,CAACmC,WApIN,EAuIf3B,aAvIe,EAwID,UAAAG,KAAK;AAAA,SAAEA,KAAK,CAACsB,UAAN,GAAmBjC,MAAM,CAACgC,WAA1B,GAAwChC,MAAM,CAACoB,WAAjD;AAAA,CAxIJ,EA+IJpB,MAAM,CAACoC,WA/IH,CAArB;;AAqJA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,UAAD,EAAwB;AAClD,UAAOA,UAAP;AACE,SAAK,SAAL;AAAiB,0BAAO,KAAC,WAAD,CAAa,aAAb;AAA2B,QAAA,KAAK,EAAEtC,MAAM,CAACuC,KAAzC;AAAgD,QAAA,SAAS,EAAE;AAA3D,QAAP;;AAEjB,SAAK,WAAL;AAAmB,0BAAO,KAAC,WAAD,CAAa,KAAb;AAAmB,QAAA,KAAK,EAAEvC,MAAM,CAACuC,KAAjC;AAAwC,QAAA,SAAS,EAAE;AAAnD,QAAP;;AAEnB;AAAU,0BAAO,KAAC,WAAD,CAAa,KAAb;AAAmB,QAAA,KAAK,EAAEvC,MAAM,CAACuC,KAAjC;AAAwC,QAAA,SAAS,EAAE;AAAnD,QAAP;AALZ;AAOD,CARD;;AAsBA,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAAwG;AAAA,MAAtGC,IAAsG,QAAtGA,IAAsG;AAAA,MAAhGC,IAAgG,QAAhGA,IAAgG;AAAA,MAA1FC,OAA0F,QAA1FA,OAA0F;AAAA,MAAjFL,UAAiF,QAAjFA,UAAiF;AAAA,MAArEM,EAAqE,QAArEA,EAAqE;AAAA,MAAjEC,SAAiE,QAAjEA,SAAiE;AAAA,2BAAtDC,QAAsD;AAAA,MAAtDA,QAAsD,8BAA7C,KAA6C;AAAA,2BAAtCC,QAAsC;AAAA,MAAtCA,QAAsC,8BAA7B,KAA6B;AAAA,uBAAtBnC,IAAsB;AAAA,MAAtBA,IAAsB,0BAAjBV,IAAI,CAAC8C,MAAY;AACnK,sBACE,MAAC,eAAD;AAAiB,IAAA,OAAO,EAAEL,OAA1B;AAAmC,IAAA,UAAU,EAAEG,QAA/C;AAAyD,IAAA,QAAQ,EAAGC,QAAQ,IAAIT,UAAb,GAA0B,CAAC,CAA3B,GAA+B,CAAlG;AAAqG,IAAA,WAAW,EAAE,qBAAAW,CAAC;AAAA,aAAEA,CAAC,CAACC,cAAF,EAAF;AAAA,KAAnH;AAAyI,IAAA,IAAI,EAAEtC,IAA/I;AACI,IAAA,SAAS,EAAE,eAAeuC,MAAf,CAAsBL,QAAQ,GAAC,WAAD,GAAa,EAA3C,EACeK,MADf,CACsBJ,QAAQ,GAAC,WAAD,GAAa,EAD3C,EAEeI,MAFf,CAEsBb,UAAU,GAAC,aAAWA,UAAZ,GAAuB,EAFvD,EAGea,MAHf,CAGsBN,SAAS,GAAC,MAAMA,SAAP,GAAiB,EAHhD,CADf;AAKI,mBAAa,WALjB;AAAA,4BAMI,KAAC,eAAD;AAAiB,qBAAa,cAA9B;AAA8C,MAAA,SAAS,EAAE,kBAAzD;AAA6E,MAAA,IAAI,EAAEjC,IAAnF;AAAA,gBAEI0B,UAAU,GAAGD,mBAAmB,CAACC,UAAD,CAAtB,GACUI,IAAI,KAAG,OAAP,gBAAiB,KAAC,WAAD;AAAa,QAAA,QAAQ,EAAEI,QAAvB;AAAiC,QAAA,QAAQ,EAAEC,QAA3C;AAAqD,QAAA,IAAI,EAAEnC,IAA3D;AAAiE,QAAA,WAAW,EAAE,CAAC,CAA/E;AACjB,QAAA,MAAM,EAAE,kBAAI,CAAE,CADG;AACD,QAAA,EAAE,EAAEgC;AADH,QAAjB,gBAC4B,KAAC,QAAD;AAAU,QAAA,QAAQ,EAAEE,QAApB;AAA8B,QAAA,QAAQ,EAAEC,QAAxC;AAAkD,QAAA,IAAI,EAAEnC,IAAxD;AAA8D,QAAA,WAAW,EAAE,CAAC,CAA5E;AAC5B,QAAA,MAAM,EAAE,kBAAI,CAAE,CADc;AACZ,QAAA,EAAE,EAAEgC;AADQ;AAJpD,MANJ,eAgBI,KAAC,aAAD;AAAe,qBAAa,cAA5B;AAA4C,MAAA,SAAS,EAAE,kBAAvD;AAA2E,MAAA,IAAI,EAAEhC,IAAjF;AAAA,6BACE,KAAC,WAAD;AAAa,QAAA,IAAI,EAAEA,IAAnB;AAAA,kBACG6B;AADH;AADF,MAhBJ;AAAA,IADF;AAwBD,CAzBD;;;AAXEH,EAAAA,U,aAAa,S,EAAY,W,EAAc,S;AACvCG,EAAAA,I;AACAE,EAAAA,O;AACAC,EAAAA,E;AACAE,EAAAA,Q;AACAC,EAAAA,Q;AAEAL,EAAAA,I,aAAM,O,EAAU,U;AAChBG,EAAAA,S;;AA8BF,eAAeL,UAAf","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { Checkbox, COLORS, 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?'16px':(props.size===Size.Large?'32px':'24px')};\n }\n\n .radio-button-icon, .checkbox-icon {\n margin: auto;\n min-width: unset;\n background: transparent;\n\n &:hover {\n background: transparent;\n }\n\n &:focus {\n background: transparent;\n }\n\n &:active {\n background: transparent;\n }\n }\n\n .small, .medium, .large {\n min-height: unset;\n min-width: unset;\n }\n\n .small {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 16px;\n width: 16px;\n }\n }\n }\n\n .medium {\n .radio-button-icon, .checkbox-icon {\n svg {\n height: 24px;\n width: 24px;\n }\n }\n }\n\n .large {\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 &:hover,\n &.hover-state {\n .radio-button-icon, .checkbox-icon {\n background: transparent;\n }\n }\n\n &:focus,\n &.focus-state {\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus};\n border-radius: 8px;\n outline: none;\n\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.primary_700};\n }\n }\n }\n\n &:focus:not(.disabled):not(.result),\n &.focus-state {\n ${ButtonContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_200 : COLORS.accent1_100};\n }\n ${TextContainer} {\n background: ${props=>props.isSelected ? COLORS.accent1_100 : COLORS.accent1_20};\n }\n\n .radio-button-icon, .checkbox-icon {\n background: transparent;\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.primary_800};\n }\n }\n }\n`;\n\nconst renderResultContent = (resultType: string) => {\n switch(resultType){\n case 'correct' : return <SystemIcons.CheckComplete 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 : 1} onMouseDown={e=>e.preventDefault()} 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;"],"file":"QuizButton.js"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "QuizButton", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _QuizButton.default;
12
+ }
13
+ });
14
+
15
+ var _QuizButton = _interopRequireDefault(require("./QuizButton"));
16
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/QuizButton/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA","sourcesContent":["export { default as QuizButton } from './QuizButton';"],"file":"index.cjs"}
@@ -0,0 +1 @@
1
+ export { default as QuizButton } from './QuizButton';
@@ -0,0 +1,2 @@
1
+ export { default as QuizButton } from './QuizButton';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/QuizButton/index.ts"],"names":["default","QuizButton"],"mappings":"AAAA,SAASA,OAAO,IAAIC,UAApB,QAAsC,cAAtC","sourcesContent":["export { default as QuizButton } from './QuizButton';"],"file":"index.js"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUUID = createUUID;
7
+
8
+ function createUUID() {
9
+ var dt = new Date().getTime(); // eslint-disable-next-line func-names
10
+
11
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
12
+ // eslint-disable-next-line no-bitwise
13
+ var r = (dt + Math.random() * 16) % 16 | 0;
14
+ dt = Math.floor(dt / 16); // eslint-disable-next-line no-bitwise
15
+
16
+ return (c === 'x' ? r : r & 0x3 | 0x8).toString(16);
17
+ });
18
+ }
19
+ //# sourceMappingURL=functions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Services/functions.ts"],"names":["createUUID","dt","Date","getTime","replace","c","r","Math","random","floor","toString"],"mappings":";;;;;;;AAAO,SAASA,UAAT,GAAsB;AAC3B,MAAIC,EAAE,GAAG,IAAIC,IAAJ,GAAWC,OAAX,EAAT,CAD2B,CAE3B;;AACA,SAAO,uCAAuCC,OAAvC,CAA+C,OAA/C,EAAwD,UAASC,CAAT,EAAY;AACzE;AACA,QAAMC,CAAC,GAAG,CAACL,EAAE,GAAGM,IAAI,CAACC,MAAL,KAAgB,EAAtB,IAA4B,EAA5B,GAAiC,CAA3C;AACAP,IAAAA,EAAE,GAAGM,IAAI,CAACE,KAAL,CAAWR,EAAE,GAAG,EAAhB,CAAL,CAHyE,CAIzE;;AACA,WAAO,CAACI,CAAC,KAAK,GAAN,GAAYC,CAAZ,GAAiBA,CAAC,GAAG,GAAL,GAAY,GAA7B,EAAkCI,QAAlC,CAA2C,EAA3C,CAAP;AACD,GANM,CAAP;AAOD","sourcesContent":["export function createUUID() {\n let dt = new Date().getTime();\n // eslint-disable-next-line func-names\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\n // eslint-disable-next-line no-bitwise\n const r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n // eslint-disable-next-line no-bitwise\n return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n });\n}\n"],"file":"functions.cjs"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var React = _interopRequireWildcard(require("react"));
15
+
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+
18
+ var _styles = require("../styles");
19
+
20
+ var _typography = require("../styles/typography");
21
+
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+
24
+ var _templateObject, _templateObject2;
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
30
+ var SkipToContentLink = _styledComponents.default.a(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n \n text-decoration: underline;\n"])), (0, _typography.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.black));
31
+
32
+ var SkipToContentWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n text-decoration: none;\n z-index: -1000;\n height: 0px;\n overflow-x: hidden;\n\n &:focus-within {\n height: auto;\n padding: 16px;\n z-index: 100000;\n\n background: ", ";\n }\n\n @media print {\n display: none;\n }\n"])), _styles.COLORS.accent2_200);
33
+
34
+ var SkipToContent = function SkipToContent(_ref) {
35
+ var children = _ref.children;
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SkipToContentWrapper, {
37
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SkipToContentLink, {
38
+ href: "#main",
39
+ children: children
40
+ })
41
+ });
42
+ };
43
+
44
+ var _default = SkipToContent;
45
+ exports.default = _default;
46
+ //# sourceMappingURL=SkipToContent.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/SkipToContent/SkipToContent.tsx"],"names":["SkipToContentLink","styled","a","ComponentTextStyle","Bold","COLORS","black","SkipToContentWrapper","div","accent2_200","SkipToContent","children"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;;;;;AAIA,IAAMA,iBAAiB,GAAGC,0BAAOC,CAAV,iIACnB,mCAAkBC,2BAAmBC,IAArC,EAA2CC,eAAOC,KAAlD,CADmB,CAAvB;;AAMA,IAAMC,oBAAoB,GAAGN,0BAAOO,GAAV,0UAWRH,eAAOI,WAXC,CAA1B;;AAmBA,IAAMC,aAA0D,GAAG,SAA7DA,aAA6D,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;AACnF,sBACE,qBAAC,oBAAD;AAAA,2BACE,qBAAC,iBAAD;AAAmB,MAAA,IAAI,EAAC,OAAxB;AAAA,gBAAiCA;AAAjC;AADF,IADF;AAKD,CAND;;eAQeD,a","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport {COLORS, ComponentTextStyle, TYPOGRAPHY} from '../styles';\nimport {ComponentSStyling} from '../styles/typography';\n\ntype SkipToContentProps = {};\n\nconst SkipToContentLink = styled.a`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.black)}\n \n text-decoration: underline;\n`;\n\nconst SkipToContentWrapper = styled.div`\n text-decoration: none;\n z-index: -1000;\n height: 0px;\n overflow-x: hidden;\n\n &:focus-within {\n height: auto;\n padding: 16px;\n z-index: 100000;\n\n background: ${COLORS.accent2_200};\n }\n\n @media print {\n display: none;\n }\n`;\n\nconst SkipToContent: React.FunctionComponent<SkipToContentProps> = ({ children }) => {\n return (\n <SkipToContentWrapper>\n <SkipToContentLink href=\"#main\">{children}</SkipToContentLink>\n </SkipToContentWrapper>\n );\n};\n\nexport default SkipToContent;\n"],"file":"SkipToContent.cjs"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "SkipToContent", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _SkipToContent.default;
12
+ }
13
+ });
14
+
15
+ var _SkipToContent = _interopRequireDefault(require("./SkipToContent"));
16
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/SkipToContent/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA","sourcesContent":["export { default as SkipToContent } from './SkipToContent';\n"],"file":"index.cjs"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var React = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _styles = require("../styles");
21
+
22
+ var _Button = require("../Button");
23
+
24
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
25
+
26
+ var _CommonStyles = require("../GlobalNavigationBar/mobile/CommonStyles");
27
+
28
+ var _SwitcherMenuItem = _interopRequireDefault(require("./SwitcherMenuItem"));
29
+
30
+ var _typography = require("../styles/typography");
31
+
32
+ var _zIndexes = require("../styles/z-indexes");
33
+
34
+ var _jsxRuntime = require("react/jsx-runtime");
35
+
36
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
37
+
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
+
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
+
42
+ var Menu = _styledComponents.default.ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n list-style: none;\n margin: 0;\n background-color: ", ";\n box-sizing: border-box;\n display: none;\n -webkit-animation: ", " 0.2s ease-in-out;\n animation: ", " 0.2s ease-in-out;\n position: absolute;\n border-radius: 4px;\n z-index: ", ";\n height: 100%;\n width: 320px;\n padding-inline-start: 0;\n overflow-y: scroll;\n ", " {\n min-width: 360px;\n }\n\n .open & {\n display: flex;\n flex-direction: column;\n }\n\n ", ";\n"])), _styles.COLORS.white, _CommonStyles.flowDown, _CommonStyles.flowDown, _zIndexes.Z_INDEXES.off_canvas, _styles.BREAKPOINTS.SMALL, _styles.scrollBarStyling);
43
+
44
+ var MenuSection = _styledComponents.default.li(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n padding: 8px 0;\n position: relative;\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n"])));
45
+
46
+ var MenuSectionList = _styledComponents.default.ul(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n list-style: none;\n margin: 0;\n overflow-y: unset !important;\n padding-inline-start: 0;\n\n ", "\n"])), _CommonStyles.UserMenuSectionListStyling);
47
+
48
+ var Top = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 22px 12px 0 12px;\n color: ", ";\n\n h3 {\n margin-block-start: 0 !important;\n margin-block-end: 0 !important;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n margin-left: 24px;\n\n ", "\n }\n"])), _styles.COLORS.neutral_600, (0, _typography.ComponentSStyling)(_styles.ComponentTextStyle.Regular, 'inherit'));
49
+
50
+ var LabelLine = _styledComponents.default.span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n height: 32px;\n background-color: ", ";\n padding-left: 24px;\n display: flex;\n line-height: 32px;\n"])), _styles.COLORS.neutral_20);
51
+
52
+ var MobileSwitcherMenu = function MobileSwitcherMenu(_ref) {
53
+ var header = _ref.header,
54
+ elementsHeader = _ref.elementsHeader,
55
+ clickMenuAction = _ref.clickMenuAction,
56
+ elements = _ref.elements;
57
+ React.useEffect(function () {
58
+ function handleKeyPress(e) {
59
+ if (e.keyCode === 27) {
60
+ clickMenuAction();
61
+ }
62
+ }
63
+
64
+ document.addEventListener('keydown', handleKeyPress, false);
65
+ return function () {
66
+ document.removeEventListener('keydown', handleKeyPress, false);
67
+ };
68
+ }, [clickMenuAction]);
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Menu, {
70
+ onClick: function onClick() {},
71
+ role: "menu",
72
+ "aria-labelledby": "UserMenuButton",
73
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Top, {
74
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
75
+ variant: "secondary",
76
+ shape: "circular",
77
+ action: clickMenuAction,
78
+ isInMobileMenu: true,
79
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ArrowLineLeft, {
80
+ size: "24px",
81
+ color: _styles.COLORS.neutral_600
82
+ })
83
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
84
+ children: header
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyles.Right, {
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
87
+ variant: "secondary",
88
+ shape: "circular",
89
+ action: clickMenuAction,
90
+ isInMobileMenu: true,
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Close, {
92
+ size: "24px"
93
+ })
94
+ })
95
+ })]
96
+ }), elements && (elements === null || elements === void 0 ? void 0 : elements.length) > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(MenuSection, {
97
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(LabelLine, {
98
+ children: elementsHeader
99
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuSectionList, {
100
+ children: elements === null || elements === void 0 ? void 0 : elements.map(function (element) {
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SwitcherMenuItem.default, {
102
+ url: element === null || element === void 0 ? void 0 : element.to,
103
+ label: element === null || element === void 0 ? void 0 : element.label,
104
+ Icon: element.icon
105
+ });
106
+ })
107
+ })]
108
+ })]
109
+ });
110
+ };
111
+
112
+ MobileSwitcherMenu.propTypes = {
113
+ header: _propTypes.default.string.isRequired,
114
+ elementsHeader: _propTypes.default.string.isRequired,
115
+ clickMenuAction: _propTypes.default.func.isRequired,
116
+ elements: _propTypes.default.array
117
+ };
118
+ var _default = MobileSwitcherMenu;
119
+ exports.default = _default;
120
+ //# sourceMappingURL=MobileSwitcherMenu.cjs.map