@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
@@ -0,0 +1,115 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value dark from colors;
3
+ @value brand from colors;
4
+ @value light from colors;
5
+ @value black from colors;
6
+ @value cm_grey_800 from colors;
7
+ @value negative from colors;
8
+ @value lightGreen from colors;
9
+ @value cm_grey_50 from colors;
10
+ @value cm_negative_100 from colors;
11
+ @value cm_negative_200 from colors;
12
+ @value cm_primary_blue from colors;
13
+ @value cm_grey_100 from colors;
14
+ @value cm_grey_200 from colors;
15
+ @value cm_blue_600 from colors;
16
+
17
+
18
+ .background {
19
+ top: 0px;
20
+ width: 100%;
21
+ height: 100%;
22
+ margin: 0;
23
+ padding: 15% 25%;
24
+ background-color: rgba(0, 0, 0, 0.2);
25
+ align-items: center;
26
+ justify-content: center;
27
+ box-sizing: border-box;
28
+ overflow: hidden;
29
+ display: flex;
30
+ }
31
+
32
+ .popin {
33
+ position: absolute;
34
+ overflow: auto;
35
+ width: 500px;
36
+ height: 414px;
37
+ flex-grow: 0;
38
+ margin: 16px;
39
+ padding: 16px 16px 20px 16px;
40
+ border-radius: 20px;
41
+ background-color: cm_grey_50;
42
+ display: flex;
43
+ flex-direction: column;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ }
47
+
48
+ .contentSection {
49
+ display: flex;
50
+ flex-direction: column;
51
+ align-items: center;
52
+ justify-content: center;
53
+ width: 65%;
54
+ }
55
+
56
+ .content {
57
+ font-family: Gilroy;
58
+ font-size: 20px;
59
+ font-weight: bold;
60
+ font-stretch: normal;
61
+ font-style: normal;
62
+ line-height: 1.4;
63
+ letter-spacing: normal;
64
+ text-align: center;
65
+ color: cm_grey_800;
66
+ }
67
+
68
+ .buttonContainer {
69
+ width: 100%;
70
+ height: 80px;
71
+ display: flex;
72
+ align-items: center;
73
+ justify-content: center;
74
+ }
75
+
76
+ .button {
77
+ width: 160px;
78
+ padding: 8px;
79
+ }
80
+
81
+ .icon {
82
+ width: 60px;
83
+ height: 60px;
84
+ color: cm_grey_800;
85
+ }
86
+
87
+ .headerCloseIconContainer {
88
+ width: 44px;
89
+ height: 44px;
90
+ display: flex;
91
+ flex-direction: row;
92
+ justify-content: center;
93
+ align-items: center;
94
+ margin-top: 16px;
95
+ margin-right: 16px;
96
+ border-radius: 7px;
97
+ cursor: pointer;
98
+ background-color: cm_grey_100;
99
+ }
100
+
101
+ .headerCloseIconContainer:hover {
102
+ background-color: cm_grey_200;
103
+ }
104
+
105
+ .headerCloseIcon {
106
+ width: 18px;
107
+ height: 18px;
108
+ color: cm_grey_800;
109
+ }
110
+
111
+ .popinHeader {
112
+ width: 100%;
113
+ display: flex;
114
+ justify-content: flex-end;
115
+ }
@@ -0,0 +1,19 @@
1
+ export default {
2
+ props: {
3
+ content: 'Are you sure to undo this changes? This will be permanent',
4
+ icon: 'AlertDiamond',
5
+ firstButton: {
6
+ label: 'Cancel',
7
+ type: 'secondary',
8
+ 'aria-label': 'Cancel this operation',
9
+ handleOnClick: () => {}
10
+ },
11
+ secondButton: {
12
+ label: 'Undo',
13
+ type: 'dangerous',
14
+ 'aria-label': 'Undo this operation',
15
+ handleOnClick: () => {}
16
+ }
17
+ }
18
+ };
19
+ //# sourceMappingURL=dangerous.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/cm-popin/test/fixtures/dangerous.js"],"names":["props","content","icon","firstButton","label","type","handleOnClick","secondButton"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,2DADJ;AAELC,IAAAA,IAAI,EAAE,cAFD;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,QADI;AAEXC,MAAAA,IAAI,EAAE,WAFK;AAGX,oBAAc,uBAHH;AAIXC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJZ,KAHR;AASLC,IAAAA,YAAY,EAAE;AACZH,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,IAAI,EAAE,WAFM;AAGZ,oBAAc,qBAHF;AAIZC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJX;AATT;AADM,CAAf","sourcesContent":["export default {\n props: {\n content: 'Are you sure to undo this changes? This will be permanent',\n icon: 'AlertDiamond',\n firstButton: {\n label: 'Cancel',\n type: 'secondary',\n 'aria-label': 'Cancel this operation',\n handleOnClick: () => {}\n },\n secondButton: {\n label: 'Undo',\n type: 'dangerous',\n 'aria-label': 'Undo this operation',\n handleOnClick: () => {}\n }\n }\n};\n"],"file":"dangerous.js"}
@@ -0,0 +1,19 @@
1
+ export default {
2
+ props: {
3
+ content: 'Do you want to publish the custom playlist?',
4
+ icon: 'WindowUpload',
5
+ firstButton: {
6
+ label: 'Cancel',
7
+ type: 'secondary',
8
+ handleOnClick: () => {},
9
+ 'aria-label': 'Cancel this operation'
10
+ },
11
+ secondButton: {
12
+ label: 'Undo',
13
+ type: 'primary',
14
+ handleOnClick: () => {},
15
+ 'aria-label': 'Undo this operation'
16
+ }
17
+ }
18
+ };
19
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/cm-popin/test/fixtures/default.js"],"names":["props","content","icon","firstButton","label","type","handleOnClick","secondButton"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,6CADJ;AAELC,IAAAA,IAAI,EAAE,cAFD;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,QADI;AAEXC,MAAAA,IAAI,EAAE,WAFK;AAGXC,MAAAA,aAAa,EAAE,MAAM,CAAE,CAHZ;AAIX,oBAAc;AAJH,KAHR;AASLC,IAAAA,YAAY,EAAE;AACZH,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,IAAI,EAAE,SAFM;AAGZC,MAAAA,aAAa,EAAE,MAAM,CAAE,CAHX;AAIZ,oBAAc;AAJF;AATT;AADM,CAAf","sourcesContent":["export default {\n props: {\n content: 'Do you want to publish the custom playlist?',\n icon: 'WindowUpload',\n firstButton: {\n label: 'Cancel',\n type: 'secondary',\n handleOnClick: () => {},\n 'aria-label': 'Cancel this operation'\n },\n secondButton: {\n label: 'Undo',\n type: 'primary',\n handleOnClick: () => {},\n 'aria-label': 'Undo this operation'\n }\n }\n};\n"],"file":"default.js"}
@@ -0,0 +1,20 @@
1
+ export default {
2
+ props: {
3
+ content: 'Do you want to save changes before quiting?',
4
+ icon: 'AlertDiamond',
5
+ firstButton: {
6
+ label: 'Quit without saving',
7
+ type: 'secondary',
8
+ 'aria-label': 'Quit this operation without saving',
9
+ handleOnClick: () => {}
10
+ },
11
+ secondButton: {
12
+ label: 'Save & Quit',
13
+ type: 'primary',
14
+ 'aria-label': 'Save and quit',
15
+ handleOnClick: () => {}
16
+ },
17
+ onClose: () => console.log('onClose')
18
+ }
19
+ };
20
+ //# sourceMappingURL=warning-with-close.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/cm-popin/test/fixtures/warning-with-close.js"],"names":["props","content","icon","firstButton","label","type","handleOnClick","secondButton","onClose","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,6CADJ;AAELC,IAAAA,IAAI,EAAE,cAFD;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,qBADI;AAEXC,MAAAA,IAAI,EAAE,WAFK;AAGX,oBAAc,oCAHH;AAIXC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJZ,KAHR;AASLC,IAAAA,YAAY,EAAE;AACZH,MAAAA,KAAK,EAAE,aADK;AAEZC,MAAAA,IAAI,EAAE,SAFM;AAGZ,oBAAc,eAHF;AAIZC,MAAAA,aAAa,EAAE,MAAM,CAAE;AAJX,KATT;AAeLE,IAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,SAAZ;AAfV;AADM,CAAf","sourcesContent":["export default {\n props: {\n content: 'Do you want to save changes before quiting?',\n icon: 'AlertDiamond',\n firstButton: {\n label: 'Quit without saving',\n type: 'secondary',\n 'aria-label': 'Quit this operation without saving',\n handleOnClick: () => {}\n },\n secondButton: {\n label: 'Save & Quit',\n type: 'primary',\n 'aria-label': 'Save and quit',\n handleOnClick: () => {}\n },\n onClose: () => console.log('onClose')\n }\n};\n"],"file":"warning-with-close.js"}
@@ -0,0 +1,17 @@
1
+ import test from 'ava';
2
+ import forEach from 'lodash/forEach';
3
+ import renderComponentMacro from '../../../test/helpers/render-component';
4
+ import MoleculeCockpitPopin from '..';
5
+ import fixtureDefault from './fixtures/default';
6
+ import fixtureLoading from './fixtures/loading';
7
+ import fixtureVideoTranslate from './fixtures/video-translate';
8
+ test('Molecule › MoleculeCockpitPopin > should have valid propTypes', t => {
9
+ t.pass();
10
+ forEach(MoleculeCockpitPopin.propTypes, (value, key) => {
11
+ t.not(value, undefined, `PropType for "Molecule.MoleculeCockpitPopin.propTypes.${key}" may not be undefined. Did you mistype the propTypes definition?`);
12
+ });
13
+ });
14
+ test('Molecule › MoleculeCockpitPopin › Default › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureDefault);
15
+ test('Molecule › MoleculeCockpitPopin › Loading › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureLoading);
16
+ test('Molecule › MoleculeCockpitPopin › VideoTranslate › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureVideoTranslate);
17
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/molecule/cockpit-popin/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeCockpitPopin","fixtureDefault","fixtureLoading","fixtureVideoTranslate","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,oBAAP,MAAiC,IAAjC;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,qBAAP,MAAkC,4BAAlC;AAEAN,IAAI,CAAC,+DAAD,EAAkEO,CAAC,IAAI;AACzEA,EAAAA,CAAC,CAACC,IAAF;AACAP,EAAAA,OAAO,CAACE,oBAAoB,CAACM,SAAtB,EAAiC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACtDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,yDAAwDF,GAAI,mEAArF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAX,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GC,cAA/G,CAAJ;AACAJ,IAAI,CAAC,gEAAD,EAAmEE,oBAAnE,EAAyFC,oBAAzF,EAA+GE,cAA/G,CAAJ;AACAL,IAAI,CAAC,uEAAD,EAA0EE,oBAA1E,EAAgGC,oBAAhG,EAAsHG,qBAAtH,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeCockpitPopin from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureLoading from './fixtures/loading';\nimport fixtureVideoTranslate from './fixtures/video-translate';\n\ntest('Molecule › MoleculeCockpitPopin > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeCockpitPopin.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeCockpitPopin.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeCockpitPopin › Default › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureDefault);\ntest('Molecule › MoleculeCockpitPopin › Loading › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureLoading);\ntest('Molecule › MoleculeCockpitPopin › VideoTranslate › should be rendered', renderComponentMacro, MoleculeCockpitPopin, fixtureVideoTranslate);\n"],"file":"fixtures.js"}
@@ -9,6 +9,7 @@ import fixtureSuccessExitNode from './fixtures/success-exit-node';
9
9
  import fixtureSuccessWithTitleAndDescriptionAndAudio from './fixtures/success-with-title-and-description-and-audio';
10
10
  import fixtureSuccessWithTitleAndDescriptionAndImage from './fixtures/success-with-title-and-description-and-image';
11
11
  import fixtureSuccessWithTitleAndDescriptionAndPdf from './fixtures/success-with-title-and-description-and-pdf';
12
+ import fixtureSuccessWithTitleAndDescriptionAndVideo from './fixtures/success-with-title-and-description-and-video';
12
13
  import fixtureSuccessWithTitleAndDescription from './fixtures/success-with-title-and-description';
13
14
  test('Molecule › MoleculeFeedback > should have valid propTypes', t => {
14
15
  t.pass();
@@ -23,5 +24,6 @@ test('Molecule › MoleculeFeedback › SuccessExitNode › should be rendered',
23
24
  test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndAudio › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndAudio);
24
25
  test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndImage › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndImage);
25
26
  test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndPdf › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndPdf);
27
+ test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndVideo › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndVideo);
26
28
  test('Molecule › MoleculeFeedback › SuccessWithTitleAndDescription › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescription);
27
29
  //# sourceMappingURL=fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/feedback/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeFeedback","fixtureDefault","fixtureFailExitNode","fixtureFailureWithTitleAndDescriptionAndVideo","fixtureSuccessExitNode","fixtureSuccessWithTitleAndDescriptionAndAudio","fixtureSuccessWithTitleAndDescriptionAndImage","fixtureSuccessWithTitleAndDescriptionAndPdf","fixtureSuccessWithTitleAndDescription","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,gBAAP,MAA6B,IAA7B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,mBAAP,MAAgC,2BAAhC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,sBAAP,MAAmC,8BAAnC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,2CAAP,MAAwD,uDAAxD;AACA,OAAOC,qCAAP,MAAkD,+CAAlD;AAEAX,IAAI,CAAC,2DAAD,EAA8DY,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF;AACAZ,EAAAA,OAAO,CAACE,gBAAgB,CAACW,SAAlB,EAA6B,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAClDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,qDAAoDF,GAAI,mEAAjF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAhB,IAAI,CAAC,4DAAD,EAA+DE,oBAA/D,EAAqFC,gBAArF,EAAuGC,cAAvG,CAAJ;AACAJ,IAAI,CAAC,iEAAD,EAAoEE,oBAApE,EAA0FC,gBAA1F,EAA4GE,mBAA5G,CAAJ;AACAL,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIG,6CAAtI,CAAJ;AACAN,IAAI,CAAC,oEAAD,EAAuEE,oBAAvE,EAA6FC,gBAA7F,EAA+GI,sBAA/G,CAAJ;AACAP,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIK,6CAAtI,CAAJ;AACAR,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIM,6CAAtI,CAAJ;AACAT,IAAI,CAAC,yFAAD,EAA4FE,oBAA5F,EAAkHC,gBAAlH,EAAoIO,2CAApI,CAAJ;AACAV,IAAI,CAAC,mFAAD,EAAsFE,oBAAtF,EAA4GC,gBAA5G,EAA8HQ,qCAA9H,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeFeedback from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureFailExitNode from './fixtures/fail-exit-node';\nimport fixtureFailureWithTitleAndDescriptionAndVideo from './fixtures/failure-with-title-and-description-and-video';\nimport fixtureSuccessExitNode from './fixtures/success-exit-node';\nimport fixtureSuccessWithTitleAndDescriptionAndAudio from './fixtures/success-with-title-and-description-and-audio';\nimport fixtureSuccessWithTitleAndDescriptionAndImage from './fixtures/success-with-title-and-description-and-image';\nimport fixtureSuccessWithTitleAndDescriptionAndPdf from './fixtures/success-with-title-and-description-and-pdf';\nimport fixtureSuccessWithTitleAndDescription from './fixtures/success-with-title-and-description';\n\ntest('Molecule › MoleculeFeedback > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeFeedback.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeFeedback.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeFeedback › Default › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureDefault);\ntest('Molecule › MoleculeFeedback › FailExitNode › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureFailExitNode);\ntest('Molecule › MoleculeFeedback › FailureWithTitleAndDescriptionAndVideo › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureFailureWithTitleAndDescriptionAndVideo);\ntest('Molecule › MoleculeFeedback › SuccessExitNode › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessExitNode);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndAudio › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndAudio);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndImage › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndImage);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndPdf › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndPdf);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescription › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescription);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/feedback/test/fixtures.js"],"names":["test","forEach","renderComponentMacro","MoleculeFeedback","fixtureDefault","fixtureFailExitNode","fixtureFailureWithTitleAndDescriptionAndVideo","fixtureSuccessExitNode","fixtureSuccessWithTitleAndDescriptionAndAudio","fixtureSuccessWithTitleAndDescriptionAndImage","fixtureSuccessWithTitleAndDescriptionAndPdf","fixtureSuccessWithTitleAndDescriptionAndVideo","fixtureSuccessWithTitleAndDescription","t","pass","propTypes","value","key","not","undefined"],"mappings":"AAAA,OAAOA,IAAP,MAAiB,KAAjB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,oBAAP,MAAiC,wCAAjC;AACA,OAAOC,gBAAP,MAA6B,IAA7B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,mBAAP,MAAgC,2BAAhC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,sBAAP,MAAmC,8BAAnC;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,2CAAP,MAAwD,uDAAxD;AACA,OAAOC,6CAAP,MAA0D,yDAA1D;AACA,OAAOC,qCAAP,MAAkD,+CAAlD;AAEAZ,IAAI,CAAC,2DAAD,EAA8Da,CAAC,IAAI;AACrEA,EAAAA,CAAC,CAACC,IAAF;AACAb,EAAAA,OAAO,CAACE,gBAAgB,CAACY,SAAlB,EAA6B,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAClDJ,IAAAA,CAAC,CAACK,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,qDAAoDF,GAAI,mEAAjF;AACD,GAFM,CAAP;AAGD,CALG,CAAJ;AAOAjB,IAAI,CAAC,4DAAD,EAA+DE,oBAA/D,EAAqFC,gBAArF,EAAuGC,cAAvG,CAAJ;AACAJ,IAAI,CAAC,iEAAD,EAAoEE,oBAApE,EAA0FC,gBAA1F,EAA4GE,mBAA5G,CAAJ;AACAL,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIG,6CAAtI,CAAJ;AACAN,IAAI,CAAC,oEAAD,EAAuEE,oBAAvE,EAA6FC,gBAA7F,EAA+GI,sBAA/G,CAAJ;AACAP,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIK,6CAAtI,CAAJ;AACAR,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIM,6CAAtI,CAAJ;AACAT,IAAI,CAAC,yFAAD,EAA4FE,oBAA5F,EAAkHC,gBAAlH,EAAoIO,2CAApI,CAAJ;AACAV,IAAI,CAAC,2FAAD,EAA8FE,oBAA9F,EAAoHC,gBAApH,EAAsIQ,6CAAtI,CAAJ;AACAX,IAAI,CAAC,mFAAD,EAAsFE,oBAAtF,EAA4GC,gBAA5G,EAA8HS,qCAA9H,CAAJ","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeFeedback from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureFailExitNode from './fixtures/fail-exit-node';\nimport fixtureFailureWithTitleAndDescriptionAndVideo from './fixtures/failure-with-title-and-description-and-video';\nimport fixtureSuccessExitNode from './fixtures/success-exit-node';\nimport fixtureSuccessWithTitleAndDescriptionAndAudio from './fixtures/success-with-title-and-description-and-audio';\nimport fixtureSuccessWithTitleAndDescriptionAndImage from './fixtures/success-with-title-and-description-and-image';\nimport fixtureSuccessWithTitleAndDescriptionAndPdf from './fixtures/success-with-title-and-description-and-pdf';\nimport fixtureSuccessWithTitleAndDescriptionAndVideo from './fixtures/success-with-title-and-description-and-video';\nimport fixtureSuccessWithTitleAndDescription from './fixtures/success-with-title-and-description';\n\ntest('Molecule › MoleculeFeedback > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeFeedback.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeFeedback.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeFeedback › Default › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureDefault);\ntest('Molecule › MoleculeFeedback › FailExitNode › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureFailExitNode);\ntest('Molecule › MoleculeFeedback › FailureWithTitleAndDescriptionAndVideo › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureFailureWithTitleAndDescriptionAndVideo);\ntest('Molecule › MoleculeFeedback › SuccessExitNode › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessExitNode);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndAudio › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndAudio);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndImage › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndImage);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndPdf › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndPdf);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescriptionAndVideo › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescriptionAndVideo);\ntest('Molecule › MoleculeFeedback › SuccessWithTitleAndDescription › should be rendered', renderComponentMacro, MoleculeFeedback, fixtureSuccessWithTitleAndDescription);\n"],"file":"fixtures.js"}
@@ -5,7 +5,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
5
5
  import React, { useMemo } from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import { NovaCompositionNavigationMore as ClearIcon } from '@coorpacademy/nova-icons';
8
- import Search from '../search';
8
+ import Search from '../../atom/input-search';
9
9
  import style from './style.css';
10
10
 
11
11
  const SearchForm = (props, context) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/search-form/index.js"],"names":["React","useMemo","PropTypes","NovaCompositionNavigationMore","ClearIcon","Search","style","SearchForm","props","context","action","method","onSubmit","onReset","search","onSearchFocus","onSearchBlur","handleSubmit","evt","preventDefault","skin","dark","form","value","wrapperClear","wrapperNoClear","clear","propTypes","string","func","shape"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,6BAA6B,IAAIC,SAAzC,QAAyD,0BAAzD;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACrC,QAAM;AAACC,IAAAA,MAAD;AAASC,IAAAA,MAAT;AAAiBC,IAAAA,QAAjB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA,MAApC;AAA4CC,IAAAA,aAA5C;AAA2DC,IAAAA;AAA3D,MAA2ER,KAAjF;AACA,QAAMS,YAAY,GAAGhB,OAAO,CAC1B,MAAMiB,GAAG,IAAI;AACXA,IAAAA,GAAG,CAACC,cAAJ;AACA,WAAOP,QAAQ,IAAIA,QAAQ,CAACM,GAAD,CAA3B;AACD,GAJyB,EAK1B,CAACN,QAAD,CAL0B,CAA5B;AAOA,QAAM;AAACQ,IAAAA;AAAD,MAASX,OAAf;;AACA,QAAMY,IAAI,GAAG,KAAI,aAAJ,EAAmBD,IAAnB,CAAb;;AAEA,sBACE;AACE,IAAA,SAAS,EAAEd,KAAK,CAACgB,IADnB;AAEE,IAAA,MAAM,EAAEZ,MAFV;AAGE,IAAA,MAAM,EAAEC,MAHV;AAIE,IAAA,QAAQ,EAAEM,YAJZ;AAKE,iBAAU;AALZ,kBAOE,oBAAC,MAAD,eAAYH,MAAZ;AAAoB,IAAA,OAAO,EAAEC,aAA7B;AAA4C,IAAA,MAAM,EAAEC;AAApD,KAPF,eAQE;AACE,iBAAU,mBADZ;AAEE,IAAA,OAAO,EAAEH,OAFX;AAGE,IAAA,SAAS,EAAEC,MAAM,CAACS,KAAP,GAAejB,KAAK,CAACkB,YAArB,GAAoClB,KAAK,CAACmB;AAHvD,kBAKE,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAEJ,IAAlB;AAAwB,IAAA,SAAS,EAAEf,KAAK,CAACoB;AAAzC,IALF,CARF,CADF;AAkBD,CA9BD;;AAgCAnB,UAAU,CAACoB,SAAX,2CAAuB;AACrBjB,EAAAA,MAAM,EAAER,SAAS,CAAC0B,MADG;AAErBjB,EAAAA,MAAM,EAAET,SAAS,CAAC0B,MAFG;AAGrBhB,EAAAA,QAAQ,EAAEV,SAAS,CAAC2B,IAHC;AAIrBhB,EAAAA,OAAO,EAAEX,SAAS,CAAC2B,IAJE;AAKrBd,EAAAA,aAAa,EAAEb,SAAS,CAAC2B,IALJ;AAMrBb,EAAAA,YAAY,EAAEd,SAAS,CAAC2B,IANH;AAOrBf,EAAAA,MAAM,EAAEZ,SAAS,CAAC4B,KAAV,CAAgBzB,MAAM,CAACsB,SAAvB;AAPa,CAAvB;AAUA,eAAepB,UAAf","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationMore as ClearIcon} from '@coorpacademy/nova-icons';\nimport Search from '../search';\nimport style from './style.css';\n\nconst SearchForm = (props, context) => {\n const {action, method, onSubmit, onReset, search, onSearchFocus, onSearchBlur} = props;\n const handleSubmit = useMemo(\n () => evt => {\n evt.preventDefault();\n return onSubmit && onSubmit(evt);\n },\n [onSubmit]\n );\n const {skin} = context;\n const dark = get('common.dark', skin);\n\n return (\n <form\n className={style.form}\n action={action}\n method={method}\n onSubmit={handleSubmit}\n data-name=\"searchForm\"\n >\n <Search {...search} onFocus={onSearchFocus} onBlur={onSearchBlur} />\n <div\n data-name=\"search-form-reset\"\n onClick={onReset}\n className={search.value ? style.wrapperClear : style.wrapperNoClear}\n >\n <ClearIcon color={dark} className={style.clear} />\n </div>\n </form>\n );\n};\n\nSearchForm.propTypes = {\n action: PropTypes.string,\n method: PropTypes.string,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSearchFocus: PropTypes.func,\n onSearchBlur: PropTypes.func,\n search: PropTypes.shape(Search.propTypes)\n};\n\nexport default SearchForm;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/search-form/index.js"],"names":["React","useMemo","PropTypes","NovaCompositionNavigationMore","ClearIcon","Search","style","SearchForm","props","context","action","method","onSubmit","onReset","search","onSearchFocus","onSearchBlur","handleSubmit","evt","preventDefault","skin","dark","form","value","wrapperClear","wrapperNoClear","clear","propTypes","string","func","shape"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAeC,OAAf,QAA6B,OAA7B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAAQC,6BAA6B,IAAIC,SAAzC,QAAyD,0BAAzD;AACA,OAAOC,MAAP,MAAmB,yBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,UAAU,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACrC,QAAM;AAACC,IAAAA,MAAD;AAASC,IAAAA,MAAT;AAAiBC,IAAAA,QAAjB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA,MAApC;AAA4CC,IAAAA,aAA5C;AAA2DC,IAAAA;AAA3D,MAA2ER,KAAjF;AACA,QAAMS,YAAY,GAAGhB,OAAO,CAC1B,MAAMiB,GAAG,IAAI;AACXA,IAAAA,GAAG,CAACC,cAAJ;AACA,WAAOP,QAAQ,IAAIA,QAAQ,CAACM,GAAD,CAA3B;AACD,GAJyB,EAK1B,CAACN,QAAD,CAL0B,CAA5B;AAOA,QAAM;AAACQ,IAAAA;AAAD,MAASX,OAAf;;AACA,QAAMY,IAAI,GAAG,KAAI,aAAJ,EAAmBD,IAAnB,CAAb;;AAEA,sBACE;AACE,IAAA,SAAS,EAAEd,KAAK,CAACgB,IADnB;AAEE,IAAA,MAAM,EAAEZ,MAFV;AAGE,IAAA,MAAM,EAAEC,MAHV;AAIE,IAAA,QAAQ,EAAEM,YAJZ;AAKE,iBAAU;AALZ,kBAOE,oBAAC,MAAD,eAAYH,MAAZ;AAAoB,IAAA,OAAO,EAAEC,aAA7B;AAA4C,IAAA,MAAM,EAAEC;AAApD,KAPF,eAQE;AACE,iBAAU,mBADZ;AAEE,IAAA,OAAO,EAAEH,OAFX;AAGE,IAAA,SAAS,EAAEC,MAAM,CAACS,KAAP,GAAejB,KAAK,CAACkB,YAArB,GAAoClB,KAAK,CAACmB;AAHvD,kBAKE,oBAAC,SAAD;AAAW,IAAA,KAAK,EAAEJ,IAAlB;AAAwB,IAAA,SAAS,EAAEf,KAAK,CAACoB;AAAzC,IALF,CARF,CADF;AAkBD,CA9BD;;AAgCAnB,UAAU,CAACoB,SAAX,2CAAuB;AACrBjB,EAAAA,MAAM,EAAER,SAAS,CAAC0B,MADG;AAErBjB,EAAAA,MAAM,EAAET,SAAS,CAAC0B,MAFG;AAGrBhB,EAAAA,QAAQ,EAAEV,SAAS,CAAC2B,IAHC;AAIrBhB,EAAAA,OAAO,EAAEX,SAAS,CAAC2B,IAJE;AAKrBd,EAAAA,aAAa,EAAEb,SAAS,CAAC2B,IALJ;AAMrBb,EAAAA,YAAY,EAAEd,SAAS,CAAC2B,IANH;AAOrBf,EAAAA,MAAM,EAAEZ,SAAS,CAAC4B,KAAV,CAAgBzB,MAAM,CAACsB,SAAvB;AAPa,CAAvB;AAUA,eAAepB,UAAf","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationMore as ClearIcon} from '@coorpacademy/nova-icons';\nimport Search from '../../atom/input-search';\nimport style from './style.css';\n\nconst SearchForm = (props, context) => {\n const {action, method, onSubmit, onReset, search, onSearchFocus, onSearchBlur} = props;\n const handleSubmit = useMemo(\n () => evt => {\n evt.preventDefault();\n return onSubmit && onSubmit(evt);\n },\n [onSubmit]\n );\n const {skin} = context;\n const dark = get('common.dark', skin);\n\n return (\n <form\n className={style.form}\n action={action}\n method={method}\n onSubmit={handleSubmit}\n data-name=\"searchForm\"\n >\n <Search {...search} onFocus={onSearchFocus} onBlur={onSearchBlur} />\n <div\n data-name=\"search-form-reset\"\n onClick={onReset}\n className={search.value ? style.wrapperClear : style.wrapperNoClear}\n >\n <ClearIcon color={dark} className={style.clear} />\n </div>\n </form>\n );\n};\n\nSearchForm.propTypes = {\n action: PropTypes.string,\n method: PropTypes.string,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n onSearchFocus: PropTypes.func,\n onSearchBlur: PropTypes.func,\n search: PropTypes.shape(Search.propTypes)\n};\n\nexport default SearchForm;\n"],"file":"index.js"}
@@ -7,9 +7,7 @@ import _map from "lodash/fp/map";
7
7
 
8
8
  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); }
9
9
 
10
- 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; }
11
-
12
- import React from 'react';
10
+ import React, { useState, useEffect, useRef, useCallback } from 'react';
13
11
  import PropTypes from 'prop-types';
14
12
  import classnames from 'classnames';
15
13
  import { NovaCompositionNavigationArrowDown as ArrowDown } from '@coorpacademy/nova-icons';
@@ -22,155 +20,124 @@ const themeStyle = {
22
20
  cockpit: style.cockpit,
23
21
  sidebar: style.sidebar
24
22
  };
23
+ export const useChoices = options => {
24
+ const choicesRef = useRef(options);
25
25
 
26
- class SelectMultiple extends React.Component {
27
- constructor(props) {
28
- super(props);
29
-
30
- _defineProperty(this, "handleOnClick", e => {
31
- const {
32
- opened
33
- } = this.state;
34
- e.preventDefault();
35
- e.stopPropagation();
36
- this.setState({
37
- opened: !opened
38
- });
39
- });
40
-
41
- _defineProperty(this, "closeHandle", e => {
42
- if (this.node && !this.node.contains(e.target)) {
43
- this.setState({
44
- opened: false
45
- });
46
- }
47
- });
48
-
49
- _defineProperty(this, "handleChange", choice => {
50
- const {
51
- multiple,
52
- onChange
53
- } = this.props; // if multiple prop is turned on
54
- // we return all selected choices
55
-
56
- if (multiple) {
57
- this.choices = choice;
58
- return onChange(this.choices);
59
- }
60
-
61
- return onChange(choice);
62
- });
63
-
64
- this.state = {
65
- opened: false
66
- };
67
- this.node = null;
26
+ const getChoices = () => {
27
+ return choicesRef.current;
28
+ };
68
29
 
69
- this.setNode = el => this.node = el;
70
- }
30
+ const setChoices = choice => {
31
+ const choices = _set(`[${choice.i}].selected`, !choice.selected, getChoices());
71
32
 
72
- componentDidMount() {
73
- if (typeof document !== 'undefined') {
74
- document.addEventListener('click', this.closeHandle);
75
- document.addEventListener('touchstart', this.closeHandle);
76
- }
77
- }
33
+ choicesRef.current = choices.filter(c => c.selected);
34
+ };
78
35
 
79
- componentWillUnmount() {
80
- if (typeof document !== 'undefined') {
81
- document.removeEventListener('click', this.closeHandle);
82
- document.removeEventListener('touchstart', this.closeHandle);
36
+ return [getChoices, setChoices];
37
+ };
38
+
39
+ const SelectMultiple = ({
40
+ title,
41
+ options,
42
+ theme,
43
+ placeholder,
44
+ description,
45
+ multiple,
46
+ onChange,
47
+ modified = false,
48
+ required = false,
49
+ error = false
50
+ }, {
51
+ skin
52
+ }) => {
53
+ const [isOpened, updateIsOpened] = useState(false);
54
+ const [getChoices, setChoices] = useChoices(options);
55
+ const nodeRef = useRef(null);
56
+
57
+ const defaultColor = _get('common.primary', skin);
58
+
59
+ const black = _get('common.black', skin);
60
+
61
+ const handleOnClick = useCallback(e => {
62
+ e.preventDefault();
63
+ e.stopPropagation();
64
+ updateIsOpened(prev => !prev);
65
+ }, []);
66
+ const closeHandle = useCallback(e => {
67
+ if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {
68
+ updateIsOpened(false);
83
69
  }
84
- }
85
-
86
- set choices(choice) {
87
- const choices = _set(`[${choice.i}].selected`, !choice.selected, this._choices);
88
-
89
- this._choices = choices.filter(c => c.selected);
90
- }
91
-
92
- get choices() {
93
- return this._choices;
94
- }
95
-
96
- render() {
97
- const {
98
- skin
99
- } = this.context;
100
-
101
- const defaultColor = _get('common.primary', skin);
102
-
103
- const black = _get('common.black', skin);
104
-
105
- const {
106
- title,
107
- options,
108
- theme,
109
- placeholder,
110
- description,
111
- modified = false,
112
- required = false,
113
- error = false
114
- } = this.props;
115
- const {
116
- opened
117
- } = this.state;
118
- this._choices = options;
119
-
120
- const lines = _map.convert({
121
- cap: false
122
- })((choice, i) => {
123
- return /*#__PURE__*/React.createElement("li", {
124
- key: i,
125
- className: style.choice
126
- }, /*#__PURE__*/React.createElement(TitledCheckbox, {
127
- onToggle: this.handleChange,
128
- choice: _extends(_extends({}, choice), {}, {
129
- i
130
- }),
131
- background: defaultColor
132
- }));
133
- }, options);
134
-
135
- const selection = _pipe(_filter({
136
- selected: true
137
- }), _map('name'), _join(', '))(options);
138
-
139
- const _title = title && `${title}${required ? ' *' : ''}`;
140
-
141
- const titleView = title ? /*#__PURE__*/React.createElement("span", {
142
- className: style.title
143
- }, _title, " ") : null;
144
- const isActive = opened === true;
145
- const mainClass = theme ? themeStyle[theme] : style.default;
146
- const behaviourClassName = getClassState(style.default, style.modified, style.error, modified, error);
147
- return /*#__PURE__*/React.createElement("div", {
148
- className: classnames(mainClass, behaviourClassName),
149
- ref: this.setNode
150
- }, /*#__PURE__*/React.createElement("label", null, titleView, /*#__PURE__*/React.createElement("div", {
151
- className: style.select,
152
- title: selection || placeholder,
153
- onClick: this.handleOnClick
154
- }, selection || placeholder, /*#__PURE__*/React.createElement(ArrowDown, {
155
- color: black,
156
- className: classnames(style.arrow, {
157
- [style.down]: isActive
158
- })
159
- })), /*#__PURE__*/React.createElement("div", {
160
- className: isActive ? style.activeChoices : style.choices
161
- }, /*#__PURE__*/React.createElement("ul", {
162
- className: style.list
163
- }, lines))), /*#__PURE__*/React.createElement("div", {
164
- className: style.description
165
- }, description));
166
- }
167
-
168
- }
169
-
170
- _defineProperty(SelectMultiple, "contextTypes", {
171
- skin: Provider.childContextTypes.skin
172
- });
70
+ }, []);
71
+ const handleChange = useCallback(choice => {
72
+ // if multiple prop is turned on
73
+ // we return all selected choices
74
+ if (multiple) {
75
+ setChoices(choice);
76
+ return onChange(getChoices());
77
+ }
78
+
79
+ return onChange(choice);
80
+ }, [setChoices, multiple, onChange]);
81
+ useEffect(() => {
82
+ document.addEventListener('click', closeHandle);
83
+ document.addEventListener('touchstart', closeHandle);
84
+ return () => {
85
+ document.removeEventListener('click', closeHandle);
86
+ document.removeEventListener('touchstart', closeHandle);
87
+ };
88
+ }, [closeHandle]);
89
+
90
+ const lines = _map.convert({
91
+ cap: false
92
+ })((choice, i) => {
93
+ return /*#__PURE__*/React.createElement("li", {
94
+ key: i,
95
+ className: style.choice
96
+ }, /*#__PURE__*/React.createElement(TitledCheckbox, {
97
+ onToggle: handleChange,
98
+ choice: _extends(_extends({}, choice), {}, {
99
+ i
100
+ }),
101
+ background: defaultColor
102
+ }));
103
+ }, options);
104
+
105
+ const selection = _pipe(_filter({
106
+ selected: true
107
+ }), _map('name'), _join(', '))(options);
108
+
109
+ const _title = title && `${title}${required ? ' *' : ''}`;
110
+
111
+ const titleView = title ? /*#__PURE__*/React.createElement("span", {
112
+ className: style.title
113
+ }, _title, " ") : null;
114
+ const isActive = isOpened === true;
115
+ const mainClass = theme ? themeStyle[theme] : style.default;
116
+ const behaviourClassName = getClassState(style.default, style.modified, style.error, modified, error);
117
+ return /*#__PURE__*/React.createElement("div", {
118
+ className: classnames(mainClass, behaviourClassName),
119
+ ref: nodeRef
120
+ }, /*#__PURE__*/React.createElement("label", null, titleView, /*#__PURE__*/React.createElement("div", {
121
+ className: style.select,
122
+ title: selection || placeholder,
123
+ onClick: handleOnClick
124
+ }, selection || placeholder, /*#__PURE__*/React.createElement(ArrowDown, {
125
+ color: black,
126
+ className: classnames(style.arrow, {
127
+ [style.down]: isActive
128
+ })
129
+ })), /*#__PURE__*/React.createElement("div", {
130
+ className: isActive ? style.activeChoices : style.choices
131
+ }, /*#__PURE__*/React.createElement("ul", {
132
+ className: style.list
133
+ }, lines))), /*#__PURE__*/React.createElement("div", {
134
+ className: style.description
135
+ }, description));
136
+ };
173
137
 
138
+ SelectMultiple.contextTypes = {
139
+ skin: Provider.childContextTypes.skin
140
+ };
174
141
  SelectMultiple.propTypes = process.env.NODE_ENV !== "production" ? {
175
142
  title: PropTypes.string,
176
143
  placeholder: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/select-multiple/index.js"],"names":["React","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","TitledCheckbox","Provider","getClassState","style","themeStyle","setup","cockpit","sidebar","SelectMultiple","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","childContextTypes","propTypes","string","arrayOf","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":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","TitledCheckbox","Provider","getClassState","style","themeStyle","setup","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","childContextTypes","propTypes","string","arrayOf","func","bool"],"mappings":"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","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"}