@coorpacademy/components 10.1.1 → 10.1.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 (336) hide show
  1. package/es/atom/button/index.js +3 -1
  2. package/es/atom/button/index.js.map +1 -1
  3. package/es/atom/button-link/index.js +108 -0
  4. package/es/atom/button-link/index.js.map +1 -0
  5. package/es/atom/button-link/style.css +97 -0
  6. package/es/atom/button-link/test/fixtures/button-dangerous-no-icon.js +10 -0
  7. package/es/atom/button-link/test/fixtures/button-dangerous-no-icon.js.map +1 -0
  8. package/es/atom/button-link/test/fixtures/button-primary-icon-left.js +14 -0
  9. package/es/atom/button-link/test/fixtures/button-primary-icon-left.js.map +1 -0
  10. package/es/atom/button-link/test/fixtures/button-primary-no-icon.js +10 -0
  11. package/es/atom/button-link/test/fixtures/button-primary-no-icon.js.map +1 -0
  12. package/es/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js +11 -0
  13. package/es/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js.map +1 -0
  14. package/es/atom/button-link/test/fixtures/button-tertiary-icon-left.js +14 -0
  15. package/es/atom/button-link/test/fixtures/button-tertiary-icon-left.js.map +1 -0
  16. package/es/atom/button-link/test/fixtures/icon-button.js +13 -0
  17. package/es/atom/button-link/test/fixtures/icon-button.js.map +1 -0
  18. package/es/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js +17 -0
  19. package/es/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js.map +1 -0
  20. package/es/atom/button-link/test/fixtures/link-secondary-icon-right.js +20 -0
  21. package/es/atom/button-link/test/fixtures/link-secondary-icon-right.js.map +1 -0
  22. package/es/atom/button-link/test/fixtures/link-tertiary-no-icon.js +16 -0
  23. package/es/atom/button-link/test/fixtures/link-tertiary-no-icon.js.map +1 -0
  24. package/es/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js +17 -0
  25. package/es/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js.map +1 -0
  26. package/es/atom/button-link/test/fixtures/link-text-no-icon-download.js +13 -0
  27. package/es/atom/button-link/test/fixtures/link-text-no-icon-download.js.map +1 -0
  28. package/es/atom/chips/index.js +8 -4
  29. package/es/atom/chips/index.js.map +1 -1
  30. package/es/atom/chips/style.css +17 -2
  31. package/es/atom/chips/test/fixtures/long-text.js +9 -0
  32. package/es/atom/chips/test/fixtures/long-text.js.map +1 -0
  33. package/es/atom/content-badge/index.js +4 -4
  34. package/es/atom/content-badge/index.js.map +1 -1
  35. package/es/atom/input-search/index.js +65 -0
  36. package/es/atom/input-search/index.js.map +1 -0
  37. package/es/atom/input-search/style.css +202 -0
  38. package/es/{molecule/search → atom/input-search}/test/change.js +0 -0
  39. package/es/atom/input-search/test/change.js.map +1 -0
  40. package/es/atom/input-search/test/fixtures/coorpmanager-with-value.js +14 -0
  41. package/es/atom/input-search/test/fixtures/coorpmanager-with-value.js.map +1 -0
  42. package/es/atom/input-search/test/fixtures/coorpmanager.js +13 -0
  43. package/es/atom/input-search/test/fixtures/coorpmanager.js.map +1 -0
  44. package/es/{molecule/search → atom/input-search}/test/fixtures/default.js +0 -0
  45. package/es/atom/input-search/test/fixtures/default.js.map +1 -0
  46. package/es/{molecule/search → atom/input-search}/test/fixtures/with-value.js +0 -0
  47. package/es/atom/input-search/test/fixtures/with-value.js.map +1 -0
  48. package/es/atom/input-text/index.js +1 -1
  49. package/es/atom/input-text/index.js.map +1 -1
  50. package/es/atom/input-text/style.css +22 -13
  51. package/es/atom/input-textarea/index.js +36 -11
  52. package/es/atom/input-textarea/index.js.map +1 -1
  53. package/es/atom/input-textarea/style.css +265 -0
  54. package/es/atom/input-textarea/test/fixtures/cm-default.js +17 -0
  55. package/es/atom/input-textarea/test/fixtures/cm-default.js.map +1 -0
  56. package/es/atom/input-textarea/test/fixtures/cm-empty.js +17 -0
  57. package/es/atom/input-textarea/test/fixtures/cm-empty.js.map +1 -0
  58. package/es/atom/tag/index.js +27 -0
  59. package/es/atom/tag/index.js.map +1 -0
  60. package/es/atom/tag/style.css +38 -0
  61. package/es/atom/tag/test/fixtures/archived.js +7 -0
  62. package/es/atom/tag/test/fixtures/archived.js.map +1 -0
  63. package/es/atom/tag/test/fixtures/default.js +7 -0
  64. package/es/atom/tag/test/fixtures/default.js.map +1 -0
  65. package/es/atom/tag/test/fixtures/published.js +7 -0
  66. package/es/atom/tag/test/fixtures/published.js.map +1 -0
  67. package/es/atom/tag/test/fixtures/revision.js +7 -0
  68. package/es/atom/tag/test/fixtures/revision.js.map +1 -0
  69. package/es/molecule/banner/index.js +46 -0
  70. package/es/molecule/banner/index.js.map +1 -0
  71. package/es/molecule/banner/style.css +63 -0
  72. package/es/molecule/banner/test/fixtures/default.js +11 -0
  73. package/es/molecule/banner/test/fixtures/default.js.map +1 -0
  74. package/es/molecule/banner/test/fixtures/error-banner.js +7 -0
  75. package/es/molecule/banner/test/fixtures/error-banner.js.map +1 -0
  76. package/es/molecule/brand-form-group/test/fixtures/cm-default.js +51 -0
  77. package/es/molecule/brand-form-group/test/fixtures/cm-default.js.map +1 -0
  78. package/es/molecule/brand-form-group/test/fixtures/default.js +12 -3
  79. package/es/molecule/brand-form-group/test/fixtures/default.js.map +1 -1
  80. package/es/molecule/card/index.js +16 -5
  81. package/es/molecule/card/index.js.map +1 -1
  82. package/es/molecule/card/selectable.css +71 -0
  83. package/es/molecule/card/selectable.js +32 -0
  84. package/es/molecule/card/selectable.js.map +1 -0
  85. package/es/molecule/card/test/fixtures/default.js +1 -0
  86. package/es/molecule/card/test/fixtures/default.js.map +1 -1
  87. package/es/molecule/card/test/fixtures/selectable-false.js +16 -0
  88. package/es/molecule/card/test/fixtures/selectable-false.js.map +1 -0
  89. package/es/molecule/card/test/fixtures/selectable-true.js +17 -0
  90. package/es/molecule/card/test/fixtures/selectable-true.js.map +1 -0
  91. package/es/molecule/card-content/index.js +13 -3
  92. package/es/molecule/card-content/index.js.map +1 -1
  93. package/es/molecule/card-content/style.css +13 -3
  94. package/es/molecule/cm-popin/index.js +82 -0
  95. package/es/molecule/cm-popin/index.js.map +1 -0
  96. package/es/molecule/cm-popin/style.css +115 -0
  97. package/es/molecule/cm-popin/test/fixtures/dangerous.js +19 -0
  98. package/es/molecule/cm-popin/test/fixtures/dangerous.js.map +1 -0
  99. package/es/molecule/cm-popin/test/fixtures/default.js +19 -0
  100. package/es/molecule/cm-popin/test/fixtures/default.js.map +1 -0
  101. package/es/molecule/cm-popin/test/fixtures/warning-with-close.js +20 -0
  102. package/es/molecule/cm-popin/test/fixtures/warning-with-close.js.map +1 -0
  103. package/es/molecule/cockpit-popin/test/fixtures.js +17 -0
  104. package/es/molecule/cockpit-popin/test/fixtures.js.map +1 -0
  105. package/es/molecule/feedback/test/fixtures.js +2 -0
  106. package/es/molecule/feedback/test/fixtures.js.map +1 -1
  107. package/es/molecule/search-form/index.js +1 -1
  108. package/es/molecule/search-form/index.js.map +1 -1
  109. package/es/molecule/select-multiple/index.js +113 -146
  110. package/es/molecule/select-multiple/index.js.map +1 -1
  111. package/es/molecule/select-multiple/test/index.js +20 -79
  112. package/es/molecule/select-multiple/test/index.js.map +1 -1
  113. package/es/molecule/wizard-summary/index.js +60 -25
  114. package/es/molecule/wizard-summary/index.js.map +1 -1
  115. package/es/molecule/wizard-summary/style.css +100 -20
  116. package/es/molecule/wizard-summary/test/fixtures/default.js +11 -4
  117. package/es/molecule/wizard-summary/test/fixtures/default.js.map +1 -1
  118. package/es/molecule/wizard-summary/test/fixtures/one-section.js +2 -1
  119. package/es/molecule/wizard-summary/test/fixtures/one-section.js.map +1 -1
  120. package/es/molecule/wizard-summary/test/fixtures/tablet-closed.js +118 -0
  121. package/es/molecule/wizard-summary/test/fixtures/tablet-closed.js.map +1 -0
  122. package/es/molecule/wizard-summary/test/fixtures/three-sections.js +2 -1
  123. package/es/molecule/wizard-summary/test/fixtures/three-sections.js.map +1 -1
  124. package/es/molecule/wizard-summary/test/fixtures/two-sections.js +2 -1
  125. package/es/molecule/wizard-summary/test/fixtures/two-sections.js.map +1 -1
  126. package/es/organism/brand-table/index.js +1 -1
  127. package/es/organism/brand-table/index.js.map +1 -1
  128. package/es/organism/mooc-header/index.js +1 -1
  129. package/es/organism/mooc-header/index.js.map +1 -1
  130. package/es/organism/mooc-header/test/fixtures/default.js +1 -1
  131. package/es/organism/mooc-header/test/fixtures/default.js.map +1 -1
  132. package/es/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js +1 -1
  133. package/es/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js.map +1 -1
  134. package/es/organism/search-and-chips-results/index.js +91 -0
  135. package/es/organism/search-and-chips-results/index.js.map +1 -0
  136. package/es/organism/search-and-chips-results/style.css +57 -0
  137. package/es/organism/search-and-chips-results/test/fixtures/default.js +46 -0
  138. package/es/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
  139. package/es/organism/search-and-chips-results/test/fixtures/empty.js +23 -0
  140. package/es/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
  141. package/es/organism/search-and-chips-results/test/fixtures/filtered.js +26 -0
  142. package/es/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
  143. package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js +49 -0
  144. package/es/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
  145. package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +49 -0
  146. package/es/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
  147. package/es/template/app-player/popin-end/test/fixtures.js +2 -0
  148. package/es/template/app-player/popin-end/test/fixtures.js.map +1 -1
  149. package/es/template/back-office/brand-list/index.js +6 -2
  150. package/es/template/back-office/brand-list/index.js.map +1 -1
  151. package/es/template/back-office/brand-list/style.css +1 -0
  152. package/es/variables/colors.css +7 -3
  153. package/lib/atom/button/index.js +3 -1
  154. package/lib/atom/button/index.js.map +1 -1
  155. package/lib/atom/button-link/index.js +125 -0
  156. package/lib/atom/button-link/index.js.map +1 -0
  157. package/lib/atom/button-link/style.css +97 -0
  158. package/lib/atom/button-link/test/fixtures/button-dangerous-no-icon.js +15 -0
  159. package/lib/atom/button-link/test/fixtures/button-dangerous-no-icon.js.map +1 -0
  160. package/lib/atom/button-link/test/fixtures/button-primary-icon-left.js +19 -0
  161. package/lib/atom/button-link/test/fixtures/button-primary-icon-left.js.map +1 -0
  162. package/lib/atom/button-link/test/fixtures/button-primary-no-icon.js +15 -0
  163. package/lib/atom/button-link/test/fixtures/button-primary-no-icon.js.map +1 -0
  164. package/lib/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js +16 -0
  165. package/lib/atom/button-link/test/fixtures/button-secondary-no-icon-disabled.js.map +1 -0
  166. package/lib/atom/button-link/test/fixtures/button-tertiary-icon-left.js +19 -0
  167. package/lib/atom/button-link/test/fixtures/button-tertiary-icon-left.js.map +1 -0
  168. package/lib/atom/button-link/test/fixtures/icon-button.js +18 -0
  169. package/lib/atom/button-link/test/fixtures/icon-button.js.map +1 -0
  170. package/lib/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js +22 -0
  171. package/lib/atom/button-link/test/fixtures/link-primary-disabled-icon-right.js.map +1 -0
  172. package/lib/atom/button-link/test/fixtures/link-secondary-icon-right.js +25 -0
  173. package/lib/atom/button-link/test/fixtures/link-secondary-icon-right.js.map +1 -0
  174. package/lib/atom/button-link/test/fixtures/link-tertiary-no-icon.js +21 -0
  175. package/lib/atom/button-link/test/fixtures/link-tertiary-no-icon.js.map +1 -0
  176. package/lib/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js +22 -0
  177. package/lib/atom/button-link/test/fixtures/link-text-icon-right-target-blank.js.map +1 -0
  178. package/lib/atom/button-link/test/fixtures/link-text-no-icon-download.js +18 -0
  179. package/lib/atom/button-link/test/fixtures/link-text-no-icon-download.js.map +1 -0
  180. package/lib/atom/chips/index.js +8 -4
  181. package/lib/atom/chips/index.js.map +1 -1
  182. package/lib/atom/chips/style.css +17 -2
  183. package/lib/atom/chips/test/fixtures/long-text.js +14 -0
  184. package/lib/atom/chips/test/fixtures/long-text.js.map +1 -0
  185. package/lib/atom/content-badge/index.js +4 -4
  186. package/lib/atom/content-badge/index.js.map +1 -1
  187. package/lib/{molecule/search → atom/input-search}/index.js +29 -18
  188. package/lib/atom/input-search/index.js.map +1 -0
  189. package/lib/atom/input-search/style.css +202 -0
  190. package/lib/{molecule/search → atom/input-search}/test/change.js +0 -0
  191. package/lib/atom/input-search/test/change.js.map +1 -0
  192. package/lib/atom/input-search/test/fixtures/coorpmanager-with-value.js +19 -0
  193. package/lib/atom/input-search/test/fixtures/coorpmanager-with-value.js.map +1 -0
  194. package/lib/atom/input-search/test/fixtures/coorpmanager.js +18 -0
  195. package/lib/atom/input-search/test/fixtures/coorpmanager.js.map +1 -0
  196. package/lib/{molecule/search → atom/input-search}/test/fixtures/default.js +0 -0
  197. package/lib/atom/input-search/test/fixtures/default.js.map +1 -0
  198. package/lib/{molecule/search → atom/input-search}/test/fixtures/with-value.js +0 -0
  199. package/lib/atom/input-search/test/fixtures/with-value.js.map +1 -0
  200. package/lib/atom/input-text/index.js +1 -1
  201. package/lib/atom/input-text/index.js.map +1 -1
  202. package/lib/atom/input-text/style.css +22 -13
  203. package/lib/atom/input-textarea/index.js +38 -11
  204. package/lib/atom/input-textarea/index.js.map +1 -1
  205. package/lib/atom/input-textarea/style.css +265 -0
  206. package/lib/atom/input-textarea/test/fixtures/cm-default.js +22 -0
  207. package/lib/atom/input-textarea/test/fixtures/cm-default.js.map +1 -0
  208. package/lib/atom/input-textarea/test/fixtures/cm-empty.js +22 -0
  209. package/lib/atom/input-textarea/test/fixtures/cm-empty.js.map +1 -0
  210. package/lib/atom/tag/index.js +39 -0
  211. package/lib/atom/tag/index.js.map +1 -0
  212. package/lib/atom/tag/style.css +38 -0
  213. package/lib/atom/tag/test/fixtures/archived.js +12 -0
  214. package/lib/atom/tag/test/fixtures/archived.js.map +1 -0
  215. package/lib/atom/tag/test/fixtures/default.js +12 -0
  216. package/lib/atom/tag/test/fixtures/default.js.map +1 -0
  217. package/lib/atom/tag/test/fixtures/published.js +12 -0
  218. package/lib/atom/tag/test/fixtures/published.js.map +1 -0
  219. package/lib/atom/tag/test/fixtures/revision.js +12 -0
  220. package/lib/atom/tag/test/fixtures/revision.js.map +1 -0
  221. package/lib/molecule/banner/index.js +59 -0
  222. package/lib/molecule/banner/index.js.map +1 -0
  223. package/lib/molecule/banner/style.css +63 -0
  224. package/lib/molecule/banner/test/fixtures/default.js +16 -0
  225. package/lib/molecule/banner/test/fixtures/default.js.map +1 -0
  226. package/lib/molecule/banner/test/fixtures/error-banner.js +12 -0
  227. package/lib/molecule/banner/test/fixtures/error-banner.js.map +1 -0
  228. package/lib/molecule/brand-form-group/test/fixtures/cm-default.js +56 -0
  229. package/lib/molecule/brand-form-group/test/fixtures/cm-default.js.map +1 -0
  230. package/lib/molecule/brand-form-group/test/fixtures/default.js +12 -3
  231. package/lib/molecule/brand-form-group/test/fixtures/default.js.map +1 -1
  232. package/lib/molecule/card/index.js +17 -5
  233. package/lib/molecule/card/index.js.map +1 -1
  234. package/lib/molecule/card/selectable.css +71 -0
  235. package/lib/molecule/card/selectable.js +45 -0
  236. package/lib/molecule/card/selectable.js.map +1 -0
  237. package/lib/molecule/card/test/fixtures/default.js +1 -0
  238. package/lib/molecule/card/test/fixtures/default.js.map +1 -1
  239. package/lib/molecule/card/test/fixtures/selectable-false.js +26 -0
  240. package/lib/molecule/card/test/fixtures/selectable-false.js.map +1 -0
  241. package/lib/molecule/card/test/fixtures/selectable-true.js +27 -0
  242. package/lib/molecule/card/test/fixtures/selectable-true.js.map +1 -0
  243. package/lib/molecule/card-content/index.js +14 -3
  244. package/lib/molecule/card-content/index.js.map +1 -1
  245. package/lib/molecule/card-content/style.css +13 -3
  246. package/lib/molecule/cm-popin/index.js +94 -0
  247. package/lib/molecule/cm-popin/index.js.map +1 -0
  248. package/lib/molecule/cm-popin/style.css +115 -0
  249. package/lib/molecule/cm-popin/test/fixtures/dangerous.js +24 -0
  250. package/lib/molecule/cm-popin/test/fixtures/dangerous.js.map +1 -0
  251. package/lib/molecule/cm-popin/test/fixtures/default.js +24 -0
  252. package/lib/molecule/cm-popin/test/fixtures/default.js.map +1 -0
  253. package/lib/molecule/cm-popin/test/fixtures/warning-with-close.js +25 -0
  254. package/lib/molecule/cm-popin/test/fixtures/warning-with-close.js.map +1 -0
  255. package/lib/molecule/cockpit-popin/test/fixtures.js +28 -0
  256. package/lib/molecule/cockpit-popin/test/fixtures.js.map +1 -0
  257. package/lib/molecule/feedback/test/fixtures.js +3 -0
  258. package/lib/molecule/feedback/test/fixtures.js.map +1 -1
  259. package/lib/molecule/search-form/index.js +3 -3
  260. package/lib/molecule/search-form/index.js.map +1 -1
  261. package/lib/molecule/select-multiple/index.js +117 -143
  262. package/lib/molecule/select-multiple/index.js.map +1 -1
  263. package/lib/molecule/select-multiple/test/index.js +25 -79
  264. package/lib/molecule/select-multiple/test/index.js.map +1 -1
  265. package/lib/molecule/wizard-summary/index.js +59 -23
  266. package/lib/molecule/wizard-summary/index.js.map +1 -1
  267. package/lib/molecule/wizard-summary/style.css +100 -20
  268. package/lib/molecule/wizard-summary/test/fixtures/default.js +11 -4
  269. package/lib/molecule/wizard-summary/test/fixtures/default.js.map +1 -1
  270. package/lib/molecule/wizard-summary/test/fixtures/one-section.js +2 -1
  271. package/lib/molecule/wizard-summary/test/fixtures/one-section.js.map +1 -1
  272. package/lib/molecule/wizard-summary/test/fixtures/tablet-closed.js +123 -0
  273. package/lib/molecule/wizard-summary/test/fixtures/tablet-closed.js.map +1 -0
  274. package/lib/molecule/wizard-summary/test/fixtures/three-sections.js +2 -1
  275. package/lib/molecule/wizard-summary/test/fixtures/three-sections.js.map +1 -1
  276. package/lib/molecule/wizard-summary/test/fixtures/two-sections.js +2 -1
  277. package/lib/molecule/wizard-summary/test/fixtures/two-sections.js.map +1 -1
  278. package/lib/organism/brand-table/index.js +3 -3
  279. package/lib/organism/brand-table/index.js.map +1 -1
  280. package/lib/organism/mooc-header/index.js +2 -2
  281. package/lib/organism/mooc-header/index.js.map +1 -1
  282. package/lib/organism/mooc-header/test/fixtures/default.js +1 -1
  283. package/lib/organism/mooc-header/test/fixtures/default.js.map +1 -1
  284. package/lib/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js +1 -1
  285. package/lib/organism/mooc-header/test/fixtures/logged-with-battle-notifications.js.map +1 -1
  286. package/lib/organism/search-and-chips-results/index.js +104 -0
  287. package/lib/organism/search-and-chips-results/index.js.map +1 -0
  288. package/lib/organism/search-and-chips-results/style.css +57 -0
  289. package/lib/organism/search-and-chips-results/test/fixtures/default.js +51 -0
  290. package/lib/organism/search-and-chips-results/test/fixtures/default.js.map +1 -0
  291. package/lib/organism/search-and-chips-results/test/fixtures/empty.js +28 -0
  292. package/lib/organism/search-and-chips-results/test/fixtures/empty.js.map +1 -0
  293. package/lib/organism/search-and-chips-results/test/fixtures/filtered.js +31 -0
  294. package/lib/organism/search-and-chips-results/test/fixtures/filtered.js.map +1 -0
  295. package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js +54 -0
  296. package/lib/organism/search-and-chips-results/test/fixtures/sorted-selected.js.map +1 -0
  297. package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js +54 -0
  298. package/lib/organism/search-and-chips-results/test/fixtures/unsorted-selected.js.map +1 -0
  299. package/lib/template/app-player/popin-end/test/fixtures.js +3 -0
  300. package/lib/template/app-player/popin-end/test/fixtures.js.map +1 -1
  301. package/lib/template/back-office/brand-list/index.js +7 -3
  302. package/lib/template/back-office/brand-list/index.js.map +1 -1
  303. package/lib/template/back-office/brand-list/style.css +1 -0
  304. package/lib/variables/colors.css +7 -3
  305. package/package.json +3 -3
  306. package/es/atom/chips/test/fixtures.js +0 -15
  307. package/es/atom/chips/test/fixtures.js.map +0 -1
  308. package/es/atom/content-badge/test/fixtures.js +0 -27
  309. package/es/atom/content-badge/test/fixtures.js.map +0 -1
  310. package/es/atom/wizard-steps/test/fixtures.js +0 -17
  311. package/es/atom/wizard-steps/test/fixtures.js.map +0 -1
  312. package/es/molecule/search/index.js +0 -57
  313. package/es/molecule/search/index.js.map +0 -1
  314. package/es/molecule/search/style.css +0 -86
  315. package/es/molecule/search/test/change.js.map +0 -1
  316. package/es/molecule/search/test/fixtures/default.js.map +0 -1
  317. package/es/molecule/search/test/fixtures/with-value.js.map +0 -1
  318. package/es/molecule/vertical-tabs/test/fixtures.js +0 -15
  319. package/es/molecule/vertical-tabs/test/fixtures.js.map +0 -1
  320. package/es/molecule/wizard-summary/test/fixtures.js +0 -19
  321. package/es/molecule/wizard-summary/test/fixtures.js.map +0 -1
  322. package/lib/atom/chips/test/fixtures.js +0 -25
  323. package/lib/atom/chips/test/fixtures.js.map +0 -1
  324. package/lib/atom/content-badge/test/fixtures.js +0 -43
  325. package/lib/atom/content-badge/test/fixtures.js.map +0 -1
  326. package/lib/atom/wizard-steps/test/fixtures.js +0 -28
  327. package/lib/atom/wizard-steps/test/fixtures.js.map +0 -1
  328. package/lib/molecule/search/index.js.map +0 -1
  329. package/lib/molecule/search/style.css +0 -86
  330. package/lib/molecule/search/test/change.js.map +0 -1
  331. package/lib/molecule/search/test/fixtures/default.js.map +0 -1
  332. package/lib/molecule/search/test/fixtures/with-value.js.map +0 -1
  333. package/lib/molecule/vertical-tabs/test/fixtures.js +0 -25
  334. package/lib/molecule/vertical-tabs/test/fixtures.js.map +0 -1
  335. package/lib/molecule/wizard-summary/test/fixtures.js +0 -31
  336. package/lib/molecule/wizard-summary/test/fixtures.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = void 0;
4
+ exports.default = exports.useChoices = void 0;
5
5
 
6
6
  var _set2 = _interopRequireDefault(require("lodash/fp/set"));
7
7
 
@@ -15,7 +15,7 @@ var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
15
15
 
16
16
  var _map2 = _interopRequireDefault(require("lodash/fp/map"));
17
17
 
18
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
@@ -31,162 +31,136 @@ var _getClassState = _interopRequireDefault(require("../../util/get-class-state"
31
31
 
32
32
  var _style = _interopRequireDefault(require("./style.css"));
33
33
 
34
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
35
+
36
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
37
+
34
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
39
 
36
40
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
41
 
38
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
-
40
42
  const themeStyle = {
41
43
  setup: _style.default.setup,
42
44
  cockpit: _style.default.cockpit,
43
45
  sidebar: _style.default.sidebar
44
46
  };
45
47
 
46
- class SelectMultiple extends _react.default.Component {
47
- constructor(props) {
48
- super(props);
49
-
50
- _defineProperty(this, "handleOnClick", e => {
51
- const {
52
- opened
53
- } = this.state;
54
- e.preventDefault();
55
- e.stopPropagation();
56
- this.setState({
57
- opened: !opened
58
- });
59
- });
60
-
61
- _defineProperty(this, "closeHandle", e => {
62
- if (this.node && !this.node.contains(e.target)) {
63
- this.setState({
64
- opened: false
65
- });
66
- }
67
- });
68
-
69
- _defineProperty(this, "handleChange", choice => {
70
- const {
71
- multiple,
72
- onChange
73
- } = this.props; // if multiple prop is turned on
74
- // we return all selected choices
75
-
76
- if (multiple) {
77
- this.choices = choice;
78
- return onChange(this.choices);
79
- }
80
-
81
- return onChange(choice);
82
- });
83
-
84
- this.state = {
85
- opened: false
86
- };
87
- this.node = null;
48
+ const useChoices = options => {
49
+ const choicesRef = (0, _react.useRef)(options);
88
50
 
89
- this.setNode = el => this.node = el;
90
- }
51
+ const getChoices = () => {
52
+ return choicesRef.current;
53
+ };
91
54
 
92
- componentDidMount() {
93
- if (typeof document !== 'undefined') {
94
- document.addEventListener('click', this.closeHandle);
95
- document.addEventListener('touchstart', this.closeHandle);
96
- }
97
- }
55
+ const setChoices = choice => {
56
+ const choices = (0, _set2.default)(`[${choice.i}].selected`, !choice.selected, getChoices());
57
+ choicesRef.current = choices.filter(c => c.selected);
58
+ };
59
+
60
+ return [getChoices, setChoices];
61
+ };
98
62
 
99
- componentWillUnmount() {
100
- if (typeof document !== 'undefined') {
101
- document.removeEventListener('click', this.closeHandle);
102
- document.removeEventListener('touchstart', this.closeHandle);
63
+ exports.useChoices = useChoices;
64
+
65
+ const SelectMultiple = ({
66
+ title,
67
+ options,
68
+ theme,
69
+ placeholder,
70
+ description,
71
+ multiple,
72
+ onChange,
73
+ modified = false,
74
+ required = false,
75
+ error = false
76
+ }, {
77
+ skin
78
+ }) => {
79
+ const [isOpened, updateIsOpened] = (0, _react.useState)(false);
80
+ const [getChoices, setChoices] = useChoices(options);
81
+ const nodeRef = (0, _react.useRef)(null);
82
+ const defaultColor = (0, _get2.default)('common.primary', skin);
83
+ const black = (0, _get2.default)('common.black', skin);
84
+ const handleOnClick = (0, _react.useCallback)(e => {
85
+ e.preventDefault();
86
+ e.stopPropagation();
87
+ updateIsOpened(prev => !prev);
88
+ }, []);
89
+ const closeHandle = (0, _react.useCallback)(e => {
90
+ if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
91
+ updateIsOpened(false);
92
+ }
93
+ }, []);
94
+ const handleChange = (0, _react.useCallback)(choice => {
95
+ // if multiple prop is turned on
96
+ // we return all selected choices
97
+ if (multiple) {
98
+ setChoices(choice);
99
+ return onChange(getChoices());
103
100
  }
104
- }
105
-
106
- set choices(choice) {
107
- const choices = (0, _set2.default)(`[${choice.i}].selected`, !choice.selected, this._choices);
108
- this._choices = choices.filter(c => c.selected);
109
- }
110
-
111
- get choices() {
112
- return this._choices;
113
- }
114
-
115
- render() {
116
- const {
117
- skin
118
- } = this.context;
119
- const defaultColor = (0, _get2.default)('common.primary', skin);
120
- const black = (0, _get2.default)('common.black', skin);
121
- const {
122
- title,
123
- options,
124
- theme,
125
- placeholder,
126
- description,
127
- modified = false,
128
- required = false,
129
- error = false
130
- } = this.props;
131
- const {
132
- opened
133
- } = this.state;
134
- this._choices = options;
135
-
136
- const lines = _map2.default.convert({
137
- cap: false
138
- })((choice, i) => {
139
- return /*#__PURE__*/_react.default.createElement("li", {
140
- key: i,
141
- className: _style.default.choice
142
- }, /*#__PURE__*/_react.default.createElement(_titledCheckbox.default, {
143
- onToggle: this.handleChange,
144
- choice: _extends(_extends({}, choice), {}, {
145
- i
146
- }),
147
- background: defaultColor
148
- }));
149
- }, options);
150
-
151
- const selection = (0, _pipe2.default)((0, _filter2.default)({
152
- selected: true
153
- }), (0, _map2.default)('name'), (0, _join2.default)(', '))(options);
154
-
155
- const _title = title && `${title}${required ? ' *' : ''}`;
156
-
157
- const titleView = title ? /*#__PURE__*/_react.default.createElement("span", {
158
- className: _style.default.title
159
- }, _title, " ") : null;
160
- const isActive = opened === true;
161
- const mainClass = theme ? themeStyle[theme] : _style.default.default;
162
- const behaviourClassName = (0, _getClassState.default)(_style.default.default, _style.default.modified, _style.default.error, modified, error);
163
- return /*#__PURE__*/_react.default.createElement("div", {
164
- className: (0, _classnames.default)(mainClass, behaviourClassName),
165
- ref: this.setNode
166
- }, /*#__PURE__*/_react.default.createElement("label", null, titleView, /*#__PURE__*/_react.default.createElement("div", {
167
- className: _style.default.select,
168
- title: selection || placeholder,
169
- onClick: this.handleOnClick
170
- }, selection || placeholder, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
171
- color: black,
172
- className: (0, _classnames.default)(_style.default.arrow, {
173
- [_style.default.down]: isActive
174
- })
175
- })), /*#__PURE__*/_react.default.createElement("div", {
176
- className: isActive ? _style.default.activeChoices : _style.default.choices
177
- }, /*#__PURE__*/_react.default.createElement("ul", {
178
- className: _style.default.list
179
- }, lines))), /*#__PURE__*/_react.default.createElement("div", {
180
- className: _style.default.description
181
- }, description));
182
- }
183
-
184
- }
185
-
186
- _defineProperty(SelectMultiple, "contextTypes", {
187
- skin: _provider.default.childContextTypes.skin
188
- });
189
101
 
102
+ return onChange(choice);
103
+ }, [setChoices, multiple, onChange]);
104
+ (0, _react.useEffect)(() => {
105
+ document.addEventListener('click', closeHandle);
106
+ document.addEventListener('touchstart', closeHandle);
107
+ return () => {
108
+ document.removeEventListener('click', closeHandle);
109
+ document.removeEventListener('touchstart', closeHandle);
110
+ };
111
+ }, [closeHandle]);
112
+
113
+ const lines = _map2.default.convert({
114
+ cap: false
115
+ })((choice, i) => {
116
+ return /*#__PURE__*/_react.default.createElement("li", {
117
+ key: i,
118
+ className: _style.default.choice
119
+ }, /*#__PURE__*/_react.default.createElement(_titledCheckbox.default, {
120
+ onToggle: handleChange,
121
+ choice: _extends(_extends({}, choice), {}, {
122
+ i
123
+ }),
124
+ background: defaultColor
125
+ }));
126
+ }, options);
127
+
128
+ const selection = (0, _pipe2.default)((0, _filter2.default)({
129
+ selected: true
130
+ }), (0, _map2.default)('name'), (0, _join2.default)(', '))(options);
131
+
132
+ const _title = title && `${title}${required ? ' *' : ''}`;
133
+
134
+ const titleView = title ? /*#__PURE__*/_react.default.createElement("span", {
135
+ className: _style.default.title
136
+ }, _title, " ") : null;
137
+ const isActive = isOpened === true;
138
+ const mainClass = theme ? themeStyle[theme] : _style.default.default;
139
+ const behaviourClassName = (0, _getClassState.default)(_style.default.default, _style.default.modified, _style.default.error, modified, error);
140
+ return /*#__PURE__*/_react.default.createElement("div", {
141
+ className: (0, _classnames.default)(mainClass, behaviourClassName),
142
+ ref: nodeRef
143
+ }, /*#__PURE__*/_react.default.createElement("label", null, titleView, /*#__PURE__*/_react.default.createElement("div", {
144
+ className: _style.default.select,
145
+ title: selection || placeholder,
146
+ onClick: handleOnClick
147
+ }, selection || placeholder, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
148
+ color: black,
149
+ className: (0, _classnames.default)(_style.default.arrow, {
150
+ [_style.default.down]: isActive
151
+ })
152
+ })), /*#__PURE__*/_react.default.createElement("div", {
153
+ className: isActive ? _style.default.activeChoices : _style.default.choices
154
+ }, /*#__PURE__*/_react.default.createElement("ul", {
155
+ className: _style.default.list
156
+ }, lines))), /*#__PURE__*/_react.default.createElement("div", {
157
+ className: _style.default.description
158
+ }, description));
159
+ };
160
+
161
+ SelectMultiple.contextTypes = {
162
+ skin: _provider.default.childContextTypes.skin
163
+ };
190
164
  SelectMultiple.propTypes = process.env.NODE_ENV !== "production" ? {
191
165
  title: _propTypes.default.string,
192
166
  placeholder: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["themeStyle","setup","style","cockpit","sidebar","SelectMultiple","React","Component","constructor","props","e","opened","state","preventDefault","stopPropagation","setState","node","contains","target","choice","multiple","onChange","choices","setNode","el","componentDidMount","document","addEventListener","closeHandle","componentWillUnmount","removeEventListener","i","selected","_choices","filter","c","render","skin","context","defaultColor","black","title","options","theme","placeholder","description","modified","required","error","lines","convert","cap","handleChange","selection","_title","titleView","isActive","mainClass","default","behaviourClassName","select","handleOnClick","arrow","down","activeChoices","list","Provider","childContextTypes","propTypes","PropTypes","string","arrayOf","TitledCheckbox","func","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar\n};\n\nclass SelectMultiple extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n theme: PropTypes.string,\n modified: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.bool\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n opened: false\n };\n\n this.node = null;\n this.setNode = el => (this.node = el);\n }\n\n componentDidMount() {\n if (typeof document !== 'undefined') {\n document.addEventListener('click', this.closeHandle);\n document.addEventListener('touchstart', this.closeHandle);\n }\n }\n\n componentWillUnmount() {\n if (typeof document !== 'undefined') {\n document.removeEventListener('click', this.closeHandle);\n document.removeEventListener('touchstart', this.closeHandle);\n }\n }\n\n handleOnClick = e => {\n const {opened} = this.state;\n e.preventDefault();\n e.stopPropagation();\n\n this.setState({opened: !opened});\n };\n\n closeHandle = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.setState({opened: false});\n }\n };\n\n set choices(choice) {\n const choices = set(`[${choice.i}].selected`, !choice.selected, this._choices);\n\n this._choices = choices.filter(c => c.selected);\n }\n\n get choices() {\n return this._choices;\n }\n\n handleChange = choice => {\n const {multiple, onChange} = this.props;\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n this.choices = choice;\n\n return onChange(this.choices);\n }\n\n return onChange(choice);\n };\n\n render() {\n const {skin} = this.context;\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n const {\n title,\n options,\n theme,\n placeholder,\n description,\n modified = false,\n required = false,\n error = false\n } = this.props;\n const {opened} = this.state;\n\n this._choices = options;\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n <TitledCheckbox\n onToggle={this.handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n </li>\n );\n }, options);\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const titleView = title ? <span className={style.title}>{_title} </span> : null;\n const isActive = opened === true;\n const mainClass = theme ? themeStyle[theme] : style.default;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n return (\n <div className={classnames(mainClass, behaviourClassName)} ref={this.setNode}>\n <label>\n {titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n onClick={this.handleOnClick}\n >\n {selection || placeholder}\n <ArrowDown\n color={black}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n <div className={isActive ? style.activeChoices : style.choices}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n }\n}\n\nexport default SelectMultiple;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["themeStyle","setup","style","cockpit","sidebar","useChoices","options","choicesRef","getChoices","current","setChoices","choice","choices","i","selected","filter","c","SelectMultiple","title","theme","placeholder","description","multiple","onChange","modified","required","error","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","handleChange","document","addEventListener","removeEventListener","lines","convert","cap","selection","_title","titleView","isActive","mainClass","default","behaviourClassName","select","arrow","down","activeChoices","list","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","arrayOf","TitledCheckbox","func","bool"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,KAAK,EAAEC,eAAMD,KADI;AAEjBE,EAAAA,OAAO,EAAED,eAAMC,OAFE;AAGjBC,EAAAA,OAAO,EAAEF,eAAME;AAHE,CAAnB;;AAMO,MAAMC,UAAU,GAAGC,OAAO,IAAI;AACnC,QAAMC,UAAU,GAAG,mBAAOD,OAAP,CAAnB;;AAEA,QAAME,UAAU,GAAG,MAAM;AACvB,WAAOD,UAAU,CAACE,OAAlB;AACD,GAFD;;AAIA,QAAMC,UAAU,GAAGC,MAAM,IAAI;AAC3B,UAAMC,OAAO,GAAG,mBAAK,IAAGD,MAAM,CAACE,CAAE,YAAjB,EAA8B,CAACF,MAAM,CAACG,QAAtC,EAAgDN,UAAU,EAA1D,CAAhB;AAEAD,IAAAA,UAAU,CAACE,OAAX,GAAqBG,OAAO,CAACG,MAAR,CAAeC,CAAC,IAAIA,CAAC,CAACF,QAAtB,CAArB;AACD,GAJD;;AAMA,SAAO,CAACN,UAAD,EAAaE,UAAb,CAAP;AACD,CAdM;;;;AAgBP,MAAMO,cAAc,GAAG,CACrB;AACEC,EAAAA,KADF;AAEEZ,EAAAA,OAFF;AAGEa,EAAAA,KAHF;AAIEC,EAAAA,WAJF;AAKEC,EAAAA,WALF;AAMEC,EAAAA,QANF;AAOEC,EAAAA,QAPF;AAQEC,EAAAA,QAAQ,GAAG,KARb;AASEC,EAAAA,QAAQ,GAAG,KATb;AAUEC,EAAAA,KAAK,GAAG;AAVV,CADqB,EAarB;AAACC,EAAAA;AAAD,CAbqB,KAclB;AACH,QAAM,CAACC,QAAD,EAAWC,cAAX,IAA6B,qBAAS,KAAT,CAAnC;AACA,QAAM,CAACrB,UAAD,EAAaE,UAAb,IAA2BL,UAAU,CAACC,OAAD,CAA3C;AACA,QAAMwB,OAAO,GAAG,mBAAO,IAAP,CAAhB;AAEA,QAAMC,YAAY,GAAG,mBAAI,gBAAJ,EAAsBJ,IAAtB,CAArB;AACA,QAAMK,KAAK,GAAG,mBAAI,cAAJ,EAAoBL,IAApB,CAAd;AAEA,QAAMM,aAAa,GAAG,wBAAYC,CAAC,IAAI;AACrCA,IAAAA,CAAC,CAACC,cAAF;AACAD,IAAAA,CAAC,CAACE,eAAF;AAEAP,IAAAA,cAAc,CAACQ,IAAI,IAAI,CAACA,IAAV,CAAd;AACD,GALqB,EAKnB,EALmB,CAAtB;AAOA,QAAMC,WAAW,GAAG,wBAAYJ,CAAC,IAAI;AACnC,QAAIJ,OAAO,IAAIA,OAAO,CAACrB,OAAnB,IAA8B,CAACqB,OAAO,CAACrB,OAAR,CAAgB8B,QAAhB,CAAyBL,CAAC,CAACM,MAA3B,CAAnC,EAAuE;AACrEX,MAAAA,cAAc,CAAC,KAAD,CAAd;AACD;AACF,GAJmB,EAIjB,EAJiB,CAApB;AAMA,QAAMY,YAAY,GAAG,wBACnB9B,MAAM,IAAI;AACR;AACA;AACA,QAAIW,QAAJ,EAAc;AACZZ,MAAAA,UAAU,CAACC,MAAD,CAAV;AAEA,aAAOY,QAAQ,CAACf,UAAU,EAAX,CAAf;AACD;;AAED,WAAOe,QAAQ,CAACZ,MAAD,CAAf;AACD,GAXkB,EAYnB,CAACD,UAAD,EAAaY,QAAb,EAAuBC,QAAvB,CAZmB,CAArB;AAeA,wBAAU,MAAM;AACdmB,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCL,WAAnC;AACAI,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,YAA1B,EAAwCL,WAAxC;AAEA,WAAO,MAAM;AACXI,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCN,WAAtC;AACAI,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,YAA7B,EAA2CN,WAA3C;AACD,KAHD;AAID,GARD,EAQG,CAACA,WAAD,CARH;;AAUA,QAAMO,KAAK,GAAG,cAAIC,OAAJ,CAAY;AAACC,IAAAA,GAAG,EAAE;AAAN,GAAZ,EAA0B,CAACpC,MAAD,EAASE,CAAT,KAAe;AACrD,wBACE;AAAI,MAAA,GAAG,EAAEA,CAAT;AAAY,MAAA,SAAS,EAAEX,eAAMS;AAA7B,oBACE,6BAAC,uBAAD;AAAgB,MAAA,QAAQ,EAAE8B,YAA1B;AAAwC,MAAA,MAAM,wBAAM9B,MAAN;AAAcE,QAAAA;AAAd,QAA9C;AAAgE,MAAA,UAAU,EAAEkB;AAA5E,MADF,CADF;AAKD,GANa,EAMXzB,OANW,CAAd;;AAQA,QAAM0C,SAAS,GAAG,oBAAK,sBAAO;AAAClC,IAAAA,QAAQ,EAAE;AAAX,GAAP,CAAL,EAA+B,mBAAI,MAAJ,CAA/B,EAA4C,oBAAK,IAAL,CAA5C,EAAwDR,OAAxD,CAAlB;;AAEA,QAAM2C,MAAM,GAAG/B,KAAK,IAAK,GAAEA,KAAM,GAAEO,QAAQ,GAAG,IAAH,GAAU,EAAG,EAAxD;;AAEA,QAAMyB,SAAS,GAAGhC,KAAK,gBAAG;AAAM,IAAA,SAAS,EAAEhB,eAAMgB;AAAvB,KAA+B+B,MAA/B,MAAH,GAAoD,IAA3E;AACA,QAAME,QAAQ,GAAGvB,QAAQ,KAAK,IAA9B;AACA,QAAMwB,SAAS,GAAGjC,KAAK,GAAGnB,UAAU,CAACmB,KAAD,CAAb,GAAuBjB,eAAMmD,OAApD;AACA,QAAMC,kBAAkB,GAAG,4BACzBpD,eAAMmD,OADmB,EAEzBnD,eAAMsB,QAFmB,EAGzBtB,eAAMwB,KAHmB,EAIzBF,QAJyB,EAKzBE,KALyB,CAA3B;AAQA,sBACE;AAAK,IAAA,SAAS,EAAE,yBAAW0B,SAAX,EAAsBE,kBAAtB,CAAhB;AAA2D,IAAA,GAAG,EAAExB;AAAhE,kBACE,4CACGoB,SADH,eAEE;AAAK,IAAA,SAAS,EAAEhD,eAAMqD,MAAtB;AAA8B,IAAA,KAAK,EAAEP,SAAS,IAAI5B,WAAlD;AAA+D,IAAA,OAAO,EAAEa;AAAxE,KACGe,SAAS,IAAI5B,WADhB,eAEE,6BAAC,6CAAD;AAAW,IAAA,KAAK,EAAEY,KAAlB;AAAyB,IAAA,SAAS,EAAE,yBAAW9B,eAAMsD,KAAjB,EAAwB;AAAC,OAACtD,eAAMuD,IAAP,GAAcN;AAAf,KAAxB;AAApC,IAFF,CAFF,eAME;AAAK,IAAA,SAAS,EAAEA,QAAQ,GAAGjD,eAAMwD,aAAT,GAAyBxD,eAAMU;AAAvD,kBACE;AAAI,IAAA,SAAS,EAAEV,eAAMyD;AAArB,KAA4Bd,KAA5B,CADF,CANF,CADF,eAWE;AAAK,IAAA,SAAS,EAAE3C,eAAMmB;AAAtB,KAAoCA,WAApC,CAXF,CADF;AAeD,CAlGD;;AAoGAJ,cAAc,CAAC2C,YAAf,GAA8B;AAC5BjC,EAAAA,IAAI,EAAEkC,kBAASC,iBAAT,CAA2BnC;AADL,CAA9B;AAIAV,cAAc,CAAC8C,SAAf,2CAA2B;AACzB7C,EAAAA,KAAK,EAAE8C,mBAAUC,MADQ;AAEzB7C,EAAAA,WAAW,EAAE4C,mBAAUC,MAFE;AAGzB5C,EAAAA,WAAW,EAAE2C,mBAAUC,MAHE;AAIzB3D,EAAAA,OAAO,EAAE0D,mBAAUE,OAAV,CAAkBC,wBAAeJ,SAAf,CAAyBpD,MAA3C,CAJgB;AAKzBY,EAAAA,QAAQ,EAAEyC,mBAAUI,IALK;AAMzB9C,EAAAA,QAAQ,EAAE0C,mBAAUK,IANK;AAOzBlD,EAAAA,KAAK,EAAE6C,mBAAUC,MAPQ;AAQzBzC,EAAAA,QAAQ,EAAEwC,mBAAUK,IARK;AASzB5C,EAAAA,QAAQ,EAAEuC,mBAAUK,IATK;AAUzB3C,EAAAA,KAAK,EAAEsC,mBAAUK;AAVQ,CAA3B;eAaepD,c","sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar\n};\n\nexport const useChoices = options => {\n const choicesRef = useRef(options);\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n multiple,\n onChange,\n modified = false,\n required = false,\n error = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(e => {\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n }, []);\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n\n return onChange(getChoices());\n }\n\n return onChange(choice);\n },\n [setChoices, multiple, onChange]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li key={i} className={style.choice}>\n <TitledCheckbox onToggle={handleChange} choice={{...choice, i}} background={defaultColor} />\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const _title = title && `${title}${required ? ' *' : ''}`;\n\n const titleView = title ? <span className={style.title}>{_title} </span> : null;\n const isActive = isOpened === true;\n const mainClass = theme ? themeStyle[theme] : style.default;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n return (\n <div className={classnames(mainClass, behaviourClassName)} ref={nodeRef}>\n <label>\n {titleView}\n <div className={style.select} title={selection || placeholder} onClick={handleOnClick}>\n {selection || placeholder}\n <ArrowDown color={black} className={classnames(style.arrow, {[style.down]: isActive})} />\n </div>\n <div className={isActive ? style.activeChoices : style.choices}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n multiple: PropTypes.bool,\n theme: PropTypes.string,\n modified: PropTypes.bool,\n required: PropTypes.bool,\n error: PropTypes.bool\n};\n\nexport default SelectMultiple;\n"],"file":"index.js"}
@@ -4,16 +4,22 @@ var _browserEnv = _interopRequireDefault(require("browser-env"));
4
4
 
5
5
  var _ava = _interopRequireDefault(require("ava"));
6
6
 
7
+ var _flatten = _interopRequireDefault(require("lodash/fp/flatten"));
8
+
7
9
  var _react = _interopRequireDefault(require("react"));
8
10
 
9
11
  var _enzyme = require("enzyme");
10
12
 
11
13
  var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16"));
12
14
 
13
- var _ = _interopRequireDefault(require(".."));
15
+ var _ = _interopRequireWildcard(require(".."));
14
16
 
15
17
  var _checked = _interopRequireDefault(require("./fixtures/checked"));
16
18
 
19
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
20
+
21
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
22
+
17
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
24
 
19
25
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -22,49 +28,19 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
22
28
  (0, _enzyme.configure)({
23
29
  adapter: new _enzymeAdapterReact.default()
24
30
  });
25
- (0, _ava.default)('should open and close list', t => {
26
- t.plan(8);
27
- const clickEvent = {
28
- preventDefault: () => t.pass(),
29
- stopPropagation: () => t.pass()
30
- };
31
- const props = _checked.default.props;
32
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
33
- const selectWrapper = wrapper.find('.select-multiple__select');
34
- t.is(wrapper.state().opened, false);
35
- t.is(selectWrapper.exists(), true);
36
- selectWrapper.simulate('click', clickEvent);
37
- t.is(wrapper.state().opened, true);
38
- selectWrapper.simulate('click', clickEvent);
39
- t.is(wrapper.state().opened, false);
40
- });
41
- (0, _ava.default)('should select choice', t => {
42
- t.plan(8);
43
- const clickEvent = {
44
- preventDefault: () => t.pass(),
45
- stopPropagation: () => t.pass()
31
+
32
+ const setup = options => {
33
+ const returnVal = [];
34
+
35
+ const TestComponent = () => {
36
+ returnVal.push((0, _.useChoices)(options));
37
+ return null;
46
38
  };
47
39
 
48
- const props = _extends(_extends({}, _checked.default.props), {}, {
49
- onChange: evt => {
50
- t.is(evt.value, 'digital');
51
- t.pass();
52
- }
53
- });
40
+ (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(TestComponent, null));
41
+ return (0, _flatten.default)(returnVal);
42
+ };
54
43
 
55
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
56
- const selectWrapper = wrapper.find('.select-multiple__select');
57
- wrapper.update();
58
- t.is(wrapper.state().opened, false);
59
- t.is(selectWrapper.exists(), true);
60
- selectWrapper.simulate('click', clickEvent);
61
- wrapper.update();
62
- t.is(wrapper.state().opened, true);
63
- const checkbox = wrapper.find('[checked=false]').first();
64
- checkbox.simulate('change');
65
- t.is(wrapper.state().opened, true);
66
- wrapper.update();
67
- });
68
44
  (0, _ava.default)('should select array of choices when props.multiple is set', t => {
69
45
  t.plan(2);
70
46
 
@@ -83,51 +59,21 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
83
59
  props
84
60
  });
85
61
  });
86
- (0, _ava.default)('should click outside', t => {
87
- t.plan(10);
88
- const clickEvent = {
89
- preventDefault: () => t.pass(),
90
- stopPropagation: () => t.pass()
91
- };
92
- const props = _checked.default.props;
93
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
94
- const selectWrapper = wrapper.find('.select-multiple__select');
95
- const instance = wrapper.instance();
96
- wrapper.update();
97
- t.is(wrapper.state().opened, false);
98
- t.is(selectWrapper.exists(), true);
99
- selectWrapper.simulate('click', clickEvent);
100
- wrapper.update();
101
- t.is(wrapper.state().opened, true);
102
- instance.closeHandle({
103
- target: null
104
- });
105
- t.is(wrapper.state().opened, false);
106
- selectWrapper.simulate('click', clickEvent);
107
- wrapper.update();
108
- t.is(wrapper.state().opened, true);
109
- instance.closeHandle({
110
- target: selectWrapper.getDOMNode()
111
- });
112
- t.is(wrapper.state().opened, true);
113
- wrapper.update();
114
- wrapper.unmount();
115
- });
116
62
  (0, _ava.default)('should return choices (getter)', t => {
117
63
  const props = _extends({}, _checked.default.props);
118
64
 
119
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
120
- t.is(wrapper.instance().choices.length, 4, 'not returning expected choices');
65
+ const [getChoices] = setup(props.options);
66
+ t.is(getChoices().length, 4, 'not returning expected choices');
121
67
  });
122
68
  (0, _ava.default)('should set current choice (setter)', t => {
123
69
  const props = _extends({}, _checked.default.props);
124
70
 
125
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, props));
126
- const instance = wrapper.instance();
127
- t.is(instance.choices[0].selected, false, 'not setting correctly expected value for choice[0]');
128
- instance.choices = _extends(_extends({}, props.options[0]), {}, {
71
+ const [getChoices, setChoices] = setup(props.options);
72
+ const choices = getChoices();
73
+ t.is(choices[0].selected, false, 'not setting correctly expected value for choice[0]');
74
+ setChoices(_extends(_extends({}, props.options[0]), {}, {
129
75
  i: 0
130
- });
131
- t.is(instance.choices[0].selected, true, 'not updating correctly expected value for choice[0]');
76
+ }));
77
+ t.is(getChoices()[0].selected, true, 'not updating correctly expected value for choice[0]');
132
78
  });
133
79
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/select-multiple/test/index.js"],"names":["adapter","Adapter","t","plan","clickEvent","preventDefault","pass","stopPropagation","props","defaultFixture","wrapper","selectWrapper","find","is","state","opened","exists","simulate","onChange","evt","value","update","checkbox","first","multiple","choices","true","Array","isArray","instance","closeHandle","target","getDOMNode","unmount","length","selected","options","i"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA;AACA,uBAAU;AAACA,EAAAA,OAAO,EAAE,IAAIC,2BAAJ;AAAV,CAAV;AAEA,kBAAK,4BAAL,EAAmCC,CAAC,IAAI;AACtCA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;AAEA,QAAMC,UAAU,GAAG;AAACC,IAAAA,cAAc,EAAE,MAAMH,CAAC,CAACI,IAAF,EAAvB;AAAiCC,IAAAA,eAAe,EAAE,MAAML,CAAC,CAACI,IAAF;AAAxD,GAAnB;AACA,QAAME,KAAK,GAAGC,iBAAeD,KAA7B;AACA,QAAME,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBF,KAApB,CAAN,CAAhB;AACA,QAAMG,aAAa,GAAGD,OAAO,CAACE,IAAR,CAAa,0BAAb,CAAtB;AAEAV,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,KAA7B;AAEAb,EAAAA,CAAC,CAACW,EAAF,CAAKF,aAAa,CAACK,MAAd,EAAL,EAA6B,IAA7B;AAEAL,EAAAA,aAAa,CAACM,QAAd,CAAuB,OAAvB,EAAgCb,UAAhC;AAEAF,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,IAA7B;AAEAJ,EAAAA,aAAa,CAACM,QAAd,CAAuB,OAAvB,EAAgCb,UAAhC;AAEAF,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,KAA7B;AACD,CAnBD;AAqBA,kBAAK,sBAAL,EAA6Bb,CAAC,IAAI;AAChCA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;AAEA,QAAMC,UAAU,GAAG;AAACC,IAAAA,cAAc,EAAE,MAAMH,CAAC,CAACI,IAAF,EAAvB;AAAiCC,IAAAA,eAAe,EAAE,MAAML,CAAC,CAACI,IAAF;AAAxD,GAAnB;;AACA,QAAME,KAAK,yBACNC,iBAAeD,KADT;AAETU,IAAAA,QAAQ,EAAEC,GAAG,IAAI;AACfjB,MAAAA,CAAC,CAACW,EAAF,CAAKM,GAAG,CAACC,KAAT,EAAgB,SAAhB;AAEAlB,MAAAA,CAAC,CAACI,IAAF;AACD;AANQ,IAAX;;AAQA,QAAMI,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBF,KAApB,CAAN,CAAhB;AACA,QAAMG,aAAa,GAAGD,OAAO,CAACE,IAAR,CAAa,0BAAb,CAAtB;AAEAF,EAAAA,OAAO,CAACW,MAAR;AAEAnB,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,KAA7B;AAEAb,EAAAA,CAAC,CAACW,EAAF,CAAKF,aAAa,CAACK,MAAd,EAAL,EAA6B,IAA7B;AAEAL,EAAAA,aAAa,CAACM,QAAd,CAAuB,OAAvB,EAAgCb,UAAhC;AAEAM,EAAAA,OAAO,CAACW,MAAR;AAEAnB,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,IAA7B;AAEA,QAAMO,QAAQ,GAAGZ,OAAO,CAACE,IAAR,CAAa,iBAAb,EAAgCW,KAAhC,EAAjB;AAEAD,EAAAA,QAAQ,CAACL,QAAT,CAAkB,QAAlB;AAEAf,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,IAA7B;AAEAL,EAAAA,OAAO,CAACW,MAAR;AACD,CAlCD;AAoCA,kBAAK,2DAAL,EAAkEnB,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;;AACA,QAAMK,KAAK,yBACNC,iBAAeD,KADT;AAETgB,IAAAA,QAAQ,EAAE,IAFD;AAGTN,IAAAA,QAAQ,EAAEO,OAAO,IAAI;AACnBvB,MAAAA,CAAC,CAACwB,IAAF,CAAOC,KAAK,CAACC,OAAN,CAAcH,OAAd,CAAP,EAA+B,QAA/B;AACAvB,MAAAA,CAAC,CAACI,IAAF;AACD;AANQ,IAAX;;AASA,QAAMI,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBF,KAApB,CAAN,CAAhB;AAEAE,EAAAA,OAAO,CAACW,MAAR;AAEA,QAAMC,QAAQ,GAAGZ,OAAO,CAACE,IAAR,CAAa,iBAAb,EAAgCW,KAAhC,EAAjB;AAEAD,EAAAA,QAAQ,CAACL,QAAT,CAAkB,QAAlB,EAA4B;AAACT,IAAAA;AAAD,GAA5B;AACD,CAlBD;AAoBA,kBAAK,sBAAL,EAA6BN,CAAC,IAAI;AAChCA,EAAAA,CAAC,CAACC,IAAF,CAAO,EAAP;AAEA,QAAMC,UAAU,GAAG;AAACC,IAAAA,cAAc,EAAE,MAAMH,CAAC,CAACI,IAAF,EAAvB;AAAiCC,IAAAA,eAAe,EAAE,MAAML,CAAC,CAACI,IAAF;AAAxD,GAAnB;AACA,QAAME,KAAK,GAAGC,iBAAeD,KAA7B;AACA,QAAME,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBF,KAApB,CAAN,CAAhB;AACA,QAAMG,aAAa,GAAGD,OAAO,CAACE,IAAR,CAAa,0BAAb,CAAtB;AACA,QAAMiB,QAAQ,GAAGnB,OAAO,CAACmB,QAAR,EAAjB;AAEAnB,EAAAA,OAAO,CAACW,MAAR;AAEAnB,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,KAA7B;AAEAb,EAAAA,CAAC,CAACW,EAAF,CAAKF,aAAa,CAACK,MAAd,EAAL,EAA6B,IAA7B;AAEAL,EAAAA,aAAa,CAACM,QAAd,CAAuB,OAAvB,EAAgCb,UAAhC;AAEAM,EAAAA,OAAO,CAACW,MAAR;AAEAnB,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,IAA7B;AAEAc,EAAAA,QAAQ,CAACC,WAAT,CAAqB;AAACC,IAAAA,MAAM,EAAE;AAAT,GAArB;AAEA7B,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,KAA7B;AAEAJ,EAAAA,aAAa,CAACM,QAAd,CAAuB,OAAvB,EAAgCb,UAAhC;AAEAM,EAAAA,OAAO,CAACW,MAAR;AAEAnB,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,IAA7B;AAEAc,EAAAA,QAAQ,CAACC,WAAT,CAAqB;AAACC,IAAAA,MAAM,EAAEpB,aAAa,CAACqB,UAAd;AAAT,GAArB;AAEA9B,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACI,KAAR,GAAgBC,MAArB,EAA6B,IAA7B;AAEAL,EAAAA,OAAO,CAACW,MAAR;AAEAX,EAAAA,OAAO,CAACuB,OAAR;AACD,CAtCD;AAwCA,kBAAK,gCAAL,EAAuC/B,CAAC,IAAI;AAC1C,QAAMM,KAAK,gBAAOC,iBAAeD,KAAtB,CAAX;;AACA,QAAME,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBF,KAApB,CAAN,CAAhB;AAEAN,EAAAA,CAAC,CAACW,EAAF,CAAKH,OAAO,CAACmB,QAAR,GAAmBJ,OAAnB,CAA2BS,MAAhC,EAAwC,CAAxC,EAA2C,gCAA3C;AACD,CALD;AAOA,kBAAK,oCAAL,EAA2ChC,CAAC,IAAI;AAC9C,QAAMM,KAAK,gBAAOC,iBAAeD,KAAtB,CAAX;;AACA,QAAME,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBF,KAApB,CAAN,CAAhB;AACA,QAAMqB,QAAQ,GAAGnB,OAAO,CAACmB,QAAR,EAAjB;AAEA3B,EAAAA,CAAC,CAACW,EAAF,CAAKgB,QAAQ,CAACJ,OAAT,CAAiB,CAAjB,EAAoBU,QAAzB,EAAmC,KAAnC,EAA0C,oDAA1C;AAEAN,EAAAA,QAAQ,CAACJ,OAAT,yBAAuBjB,KAAK,CAAC4B,OAAN,CAAc,CAAd,CAAvB;AAAyCC,IAAAA,CAAC,EAAE;AAA5C;AAEAnC,EAAAA,CAAC,CAACW,EAAF,CAAKgB,QAAQ,CAACJ,OAAT,CAAiB,CAAjB,EAAoBU,QAAzB,EAAmC,IAAnC,EAAyC,qDAAzC;AACD,CAVD","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {mount, configure} from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport SelectMultiple from '..';\nimport defaultFixture from './fixtures/checked';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\ntest('should open and close list', t => {\n t.plan(8);\n\n const clickEvent = {preventDefault: () => t.pass(), stopPropagation: () => t.pass()};\n const props = defaultFixture.props;\n const wrapper = mount(<SelectMultiple {...props} />);\n const selectWrapper = wrapper.find('.select-multiple__select');\n\n t.is(wrapper.state().opened, false);\n\n t.is(selectWrapper.exists(), true);\n\n selectWrapper.simulate('click', clickEvent);\n\n t.is(wrapper.state().opened, true);\n\n selectWrapper.simulate('click', clickEvent);\n\n t.is(wrapper.state().opened, false);\n});\n\ntest('should select choice', t => {\n t.plan(8);\n\n const clickEvent = {preventDefault: () => t.pass(), stopPropagation: () => t.pass()};\n const props = {\n ...defaultFixture.props,\n onChange: evt => {\n t.is(evt.value, 'digital');\n\n t.pass();\n }\n };\n const wrapper = mount(<SelectMultiple {...props} />);\n const selectWrapper = wrapper.find('.select-multiple__select');\n\n wrapper.update();\n\n t.is(wrapper.state().opened, false);\n\n t.is(selectWrapper.exists(), true);\n\n selectWrapper.simulate('click', clickEvent);\n\n wrapper.update();\n\n t.is(wrapper.state().opened, true);\n\n const checkbox = wrapper.find('[checked=false]').first();\n\n checkbox.simulate('change');\n\n t.is(wrapper.state().opened, true);\n\n wrapper.update();\n});\n\ntest('should select array of choices when props.multiple is set', t => {\n t.plan(2);\n const props = {\n ...defaultFixture.props,\n multiple: true,\n onChange: choices => {\n t.true(Array.isArray(choices), 'dffdff');\n t.pass();\n }\n };\n\n const wrapper = mount(<SelectMultiple {...props} />);\n\n wrapper.update();\n\n const checkbox = wrapper.find('[checked=false]').first();\n\n checkbox.simulate('change', {props});\n});\n\ntest('should click outside', t => {\n t.plan(10);\n\n const clickEvent = {preventDefault: () => t.pass(), stopPropagation: () => t.pass()};\n const props = defaultFixture.props;\n const wrapper = mount(<SelectMultiple {...props} />);\n const selectWrapper = wrapper.find('.select-multiple__select');\n const instance = wrapper.instance();\n\n wrapper.update();\n\n t.is(wrapper.state().opened, false);\n\n t.is(selectWrapper.exists(), true);\n\n selectWrapper.simulate('click', clickEvent);\n\n wrapper.update();\n\n t.is(wrapper.state().opened, true);\n\n instance.closeHandle({target: null});\n\n t.is(wrapper.state().opened, false);\n\n selectWrapper.simulate('click', clickEvent);\n\n wrapper.update();\n\n t.is(wrapper.state().opened, true);\n\n instance.closeHandle({target: selectWrapper.getDOMNode()});\n\n t.is(wrapper.state().opened, true);\n\n wrapper.update();\n\n wrapper.unmount();\n});\n\ntest('should return choices (getter)', t => {\n const props = {...defaultFixture.props};\n const wrapper = mount(<SelectMultiple {...props} />);\n\n t.is(wrapper.instance().choices.length, 4, 'not returning expected choices');\n});\n\ntest('should set current choice (setter)', t => {\n const props = {...defaultFixture.props};\n const wrapper = mount(<SelectMultiple {...props} />);\n const instance = wrapper.instance();\n\n t.is(instance.choices[0].selected, false, 'not setting correctly expected value for choice[0]');\n\n instance.choices = {...props.options[0], i: 0};\n\n t.is(instance.choices[0].selected, true, 'not updating correctly expected value for choice[0]');\n});\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/select-multiple/test/index.js"],"names":["adapter","Adapter","setup","options","returnVal","TestComponent","push","t","plan","props","defaultFixture","multiple","onChange","choices","true","Array","isArray","pass","wrapper","update","checkbox","find","first","simulate","getChoices","is","length","setChoices","selected","i"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA;AACA,uBAAU;AAACA,EAAAA,OAAO,EAAE,IAAIC,2BAAJ;AAAV,CAAV;;AAEA,MAAMC,KAAK,GAAGC,OAAO,IAAI;AACvB,QAAMC,SAAS,GAAG,EAAlB;;AACA,QAAMC,aAAa,GAAG,MAAM;AAC1BD,IAAAA,SAAS,CAACE,IAAV,CAAe,kBAAWH,OAAX,CAAf;AACA,WAAO,IAAP;AACD,GAHD;;AAKA,mCAAM,6BAAC,aAAD,OAAN;AACA,SAAO,sBAAQC,SAAR,CAAP;AACD,CATD;;AAWA,kBAAK,2DAAL,EAAkEG,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;;AACA,QAAMC,KAAK,yBACNC,iBAAeD,KADT;AAETE,IAAAA,QAAQ,EAAE,IAFD;AAGTC,IAAAA,QAAQ,EAAEC,OAAO,IAAI;AACnBN,MAAAA,CAAC,CAACO,IAAF,CAAOC,KAAK,CAACC,OAAN,CAAcH,OAAd,CAAP,EAA+B,QAA/B;AACAN,MAAAA,CAAC,CAACU,IAAF;AACD;AANQ,IAAX;;AASA,QAAMC,OAAO,GAAG,iCAAM,6BAAC,SAAD,EAAoBT,KAApB,CAAN,CAAhB;AAEAS,EAAAA,OAAO,CAACC,MAAR;AAEA,QAAMC,QAAQ,GAAGF,OAAO,CAACG,IAAR,CAAa,iBAAb,EAAgCC,KAAhC,EAAjB;AAEAF,EAAAA,QAAQ,CAACG,QAAT,CAAkB,QAAlB,EAA4B;AAACd,IAAAA;AAAD,GAA5B;AACD,CAlBD;AAoBA,kBAAK,gCAAL,EAAuCF,CAAC,IAAI;AAC1C,QAAME,KAAK,gBAAOC,iBAAeD,KAAtB,CAAX;;AACA,QAAM,CAACe,UAAD,IAAetB,KAAK,CAACO,KAAK,CAACN,OAAP,CAA1B;AAEAI,EAAAA,CAAC,CAACkB,EAAF,CAAKD,UAAU,GAAGE,MAAlB,EAA0B,CAA1B,EAA6B,gCAA7B;AACD,CALD;AAOA,kBAAK,oCAAL,EAA2CnB,CAAC,IAAI;AAC9C,QAAME,KAAK,gBAAOC,iBAAeD,KAAtB,CAAX;;AACA,QAAM,CAACe,UAAD,EAAaG,UAAb,IAA2BzB,KAAK,CAACO,KAAK,CAACN,OAAP,CAAtC;AACA,QAAMU,OAAO,GAAGW,UAAU,EAA1B;AAEAjB,EAAAA,CAAC,CAACkB,EAAF,CAAKZ,OAAO,CAAC,CAAD,CAAP,CAAWe,QAAhB,EAA0B,KAA1B,EAAiC,oDAAjC;AAEAD,EAAAA,UAAU,uBAAKlB,KAAK,CAACN,OAAN,CAAc,CAAd,CAAL;AAAuB0B,IAAAA,CAAC,EAAE;AAA1B,KAAV;AAEAtB,EAAAA,CAAC,CAACkB,EAAF,CAAKD,UAAU,GAAG,CAAH,CAAV,CAAgBI,QAArB,EAA+B,IAA/B,EAAqC,qDAArC;AACD,CAVD","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport flatten from 'lodash/fp/flatten';\nimport React from 'react';\nimport {mount, configure} from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport SelectMultiple, {useChoices} from '..';\nimport defaultFixture from './fixtures/checked';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\nconst setup = options => {\n const returnVal = [];\n const TestComponent = () => {\n returnVal.push(useChoices(options));\n return null;\n };\n\n mount(<TestComponent />);\n return flatten(returnVal);\n};\n\ntest('should select array of choices when props.multiple is set', t => {\n t.plan(2);\n const props = {\n ...defaultFixture.props,\n multiple: true,\n onChange: choices => {\n t.true(Array.isArray(choices), 'dffdff');\n t.pass();\n }\n };\n\n const wrapper = mount(<SelectMultiple {...props} />);\n\n wrapper.update();\n\n const checkbox = wrapper.find('[checked=false]').first();\n\n checkbox.simulate('change', {props});\n});\n\ntest('should return choices (getter)', t => {\n const props = {...defaultFixture.props};\n const [getChoices] = setup(props.options);\n\n t.is(getChoices().length, 4, 'not returning expected choices');\n});\n\ntest('should set current choice (setter)', t => {\n const props = {...defaultFixture.props};\n const [getChoices, setChoices] = setup(props.options);\n const choices = getChoices();\n\n t.is(choices[0].selected, false, 'not setting correctly expected value for choice[0]');\n\n setChoices({...props.options[0], i: 0});\n\n t.is(getChoices()[0].selected, true, 'not updating correctly expected value for choice[0]');\n});\n"],"file":"index.js"}