coveragebook_components 0.5.1 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (741) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/build/coco/app.css +21 -23
  3. data/app/assets/build/coco/app.js +12981 -5811
  4. data/app/assets/build/coco/book.js +365 -4967
  5. data/app/assets/build/coco/icons/accessibility.svg +1 -1
  6. data/app/assets/build/coco/icons/activity-square.svg +1 -0
  7. data/app/assets/build/coco/icons/activity.svg +1 -1
  8. data/app/assets/build/coco/icons/alarm-check.svg +1 -1
  9. data/app/assets/build/coco/icons/alarm-clock-off.svg +1 -1
  10. data/app/assets/build/coco/icons/alarm-clock.svg +1 -1
  11. data/app/assets/build/coco/icons/alarm-minus.svg +1 -1
  12. data/app/assets/build/coco/icons/alarm-plus.svg +1 -1
  13. data/app/assets/build/coco/icons/album.svg +1 -1
  14. data/app/assets/build/coco/icons/alert-circle.svg +1 -1
  15. data/app/assets/build/coco/icons/alert-octagon.svg +1 -1
  16. data/app/assets/build/coco/icons/alert-triangle.svg +1 -1
  17. data/app/assets/build/coco/icons/align-center.svg +1 -1
  18. data/app/assets/build/coco/icons/align-end-horizontal.svg +1 -1
  19. data/app/assets/build/coco/icons/align-end-vertical.svg +1 -1
  20. data/app/assets/build/coco/icons/align-horizontal-distribute-center.svg +1 -1
  21. data/app/assets/build/coco/icons/align-horizontal-distribute-end.svg +1 -1
  22. data/app/assets/build/coco/icons/align-horizontal-distribute-start.svg +1 -1
  23. data/app/assets/build/coco/icons/align-horizontal-justify-center.svg +1 -1
  24. data/app/assets/build/coco/icons/align-horizontal-justify-end.svg +1 -1
  25. data/app/assets/build/coco/icons/align-horizontal-justify-start.svg +1 -1
  26. data/app/assets/build/coco/icons/align-horizontal-space-around.svg +1 -1
  27. data/app/assets/build/coco/icons/align-horizontal-space-between.svg +1 -1
  28. data/app/assets/build/coco/icons/align-justify.svg +1 -1
  29. data/app/assets/build/coco/icons/align-left.svg +1 -1
  30. data/app/assets/build/coco/icons/align-right.svg +1 -1
  31. data/app/assets/build/coco/icons/align-start-horizontal.svg +1 -1
  32. data/app/assets/build/coco/icons/align-start-vertical.svg +1 -1
  33. data/app/assets/build/coco/icons/align-vertical-distribute-center.svg +1 -1
  34. data/app/assets/build/coco/icons/align-vertical-distribute-end.svg +1 -1
  35. data/app/assets/build/coco/icons/align-vertical-distribute-start.svg +1 -1
  36. data/app/assets/build/coco/icons/align-vertical-justify-center.svg +1 -1
  37. data/app/assets/build/coco/icons/align-vertical-justify-end.svg +1 -1
  38. data/app/assets/build/coco/icons/align-vertical-justify-start.svg +1 -1
  39. data/app/assets/build/coco/icons/align-vertical-space-around.svg +1 -1
  40. data/app/assets/build/coco/icons/align-vertical-space-between.svg +1 -1
  41. data/app/assets/build/coco/icons/ampersand.svg +1 -0
  42. data/app/assets/build/coco/icons/ampersands.svg +1 -0
  43. data/app/assets/build/coco/icons/anchor.svg +1 -1
  44. data/app/assets/build/coco/icons/aperture.svg +1 -1
  45. data/app/assets/build/coco/icons/app-window.svg +1 -0
  46. data/app/assets/build/coco/icons/archive-restore.svg +1 -1
  47. data/app/assets/build/coco/icons/archive.svg +1 -1
  48. data/app/assets/build/coco/icons/area-chart.svg +1 -0
  49. data/app/assets/build/coco/icons/arrow-big-down-dash.svg +1 -0
  50. data/app/assets/build/coco/icons/arrow-big-down.svg +1 -1
  51. data/app/assets/build/coco/icons/arrow-big-left-dash.svg +1 -0
  52. data/app/assets/build/coco/icons/arrow-big-left.svg +1 -1
  53. data/app/assets/build/coco/icons/arrow-big-right-dash.svg +1 -0
  54. data/app/assets/build/coco/icons/arrow-big-right.svg +1 -1
  55. data/app/assets/build/coco/icons/arrow-big-up-dash.svg +1 -0
  56. data/app/assets/build/coco/icons/arrow-big-up.svg +1 -1
  57. data/app/assets/build/coco/icons/arrow-down-0-1.svg +1 -0
  58. data/app/assets/build/coco/icons/arrow-down-1-0.svg +1 -0
  59. data/app/assets/build/coco/icons/arrow-down-a-z.svg +1 -0
  60. data/app/assets/build/coco/icons/arrow-down-circle.svg +1 -1
  61. data/app/assets/build/coco/icons/arrow-down-from-line.svg +1 -0
  62. data/app/assets/build/coco/icons/arrow-down-left-from-circle.svg +1 -0
  63. data/app/assets/build/coco/icons/arrow-down-left-square.svg +1 -0
  64. data/app/assets/build/coco/icons/arrow-down-left.svg +1 -1
  65. data/app/assets/build/coco/icons/arrow-down-narrow-wide.svg +1 -0
  66. data/app/assets/build/coco/icons/arrow-down-right-from-circle.svg +1 -0
  67. data/app/assets/build/coco/icons/arrow-down-right-square.svg +1 -0
  68. data/app/assets/build/coco/icons/arrow-down-right.svg +1 -1
  69. data/app/assets/build/coco/icons/arrow-down-square.svg +1 -0
  70. data/app/assets/build/coco/icons/arrow-down-to-dot.svg +1 -0
  71. data/app/assets/build/coco/icons/arrow-down-to-line.svg +1 -0
  72. data/app/assets/build/coco/icons/arrow-down-up.svg +1 -0
  73. data/app/assets/build/coco/icons/arrow-down-wide-narrow.svg +1 -0
  74. data/app/assets/build/coco/icons/arrow-down-z-a.svg +1 -0
  75. data/app/assets/build/coco/icons/arrow-down.svg +1 -1
  76. data/app/assets/build/coco/icons/arrow-left-circle.svg +1 -1
  77. data/app/assets/build/coco/icons/arrow-left-from-line.svg +1 -0
  78. data/app/assets/build/coco/icons/arrow-left-right.svg +1 -1
  79. data/app/assets/build/coco/icons/arrow-left-square.svg +1 -0
  80. data/app/assets/build/coco/icons/arrow-left-to-line.svg +1 -0
  81. data/app/assets/build/coco/icons/arrow-left.svg +1 -1
  82. data/app/assets/build/coco/icons/arrow-right-circle.svg +1 -1
  83. data/app/assets/build/coco/icons/arrow-right-from-line.svg +1 -0
  84. data/app/assets/build/coco/icons/arrow-right-left.svg +1 -0
  85. data/app/assets/build/coco/icons/arrow-right-square.svg +1 -0
  86. data/app/assets/build/coco/icons/arrow-right-to-line.svg +1 -0
  87. data/app/assets/build/coco/icons/arrow-right.svg +1 -1
  88. data/app/assets/build/coco/icons/arrow-up-0-1.svg +1 -0
  89. data/app/assets/build/coco/icons/arrow-up-1-0.svg +1 -0
  90. data/app/assets/build/coco/icons/arrow-up-a-z.svg +1 -0
  91. data/app/assets/build/coco/icons/arrow-up-circle.svg +1 -1
  92. data/app/assets/build/coco/icons/arrow-up-down.svg +1 -1
  93. data/app/assets/build/coco/icons/arrow-up-from-dot.svg +1 -0
  94. data/app/assets/build/coco/icons/arrow-up-from-line.svg +1 -0
  95. data/app/assets/build/coco/icons/arrow-up-left-from-circle.svg +1 -0
  96. data/app/assets/build/coco/icons/arrow-up-left-square.svg +1 -0
  97. data/app/assets/build/coco/icons/arrow-up-left.svg +1 -1
  98. data/app/assets/build/coco/icons/arrow-up-narrow-wide.svg +1 -0
  99. data/app/assets/build/coco/icons/arrow-up-right-from-circle.svg +1 -0
  100. data/app/assets/build/coco/icons/arrow-up-right-square.svg +1 -0
  101. data/app/assets/build/coco/icons/arrow-up-right.svg +1 -1
  102. data/app/assets/build/coco/icons/arrow-up-square.svg +1 -0
  103. data/app/assets/build/coco/icons/arrow-up-to-line.svg +1 -0
  104. data/app/assets/build/coco/icons/arrow-up-wide-narrow.svg +1 -0
  105. data/app/assets/build/coco/icons/arrow-up-z-a.svg +1 -0
  106. data/app/assets/build/coco/icons/arrow-up.svg +1 -1
  107. data/app/assets/build/coco/icons/arrows-up-from-line.svg +1 -0
  108. data/app/assets/build/coco/icons/at-sign.svg +1 -1
  109. data/app/assets/build/coco/icons/atom.svg +1 -0
  110. data/app/assets/build/coco/icons/axe.svg +1 -1
  111. data/app/assets/build/coco/icons/baby.svg +1 -1
  112. data/app/assets/build/coco/icons/badge-alert.svg +1 -0
  113. data/app/assets/build/coco/icons/badge-check.svg +1 -0
  114. data/app/assets/build/coco/icons/badge-dollar-sign.svg +1 -0
  115. data/app/assets/build/coco/icons/badge-help.svg +1 -0
  116. data/app/assets/build/coco/icons/badge-info.svg +1 -0
  117. data/app/assets/build/coco/icons/badge-minus.svg +1 -0
  118. data/app/assets/build/coco/icons/badge-percent.svg +1 -0
  119. data/app/assets/build/coco/icons/badge-plus.svg +1 -0
  120. data/app/assets/build/coco/icons/badge-x.svg +1 -0
  121. data/app/assets/build/coco/icons/badge.svg +1 -0
  122. data/app/assets/build/coco/icons/baggage-claim.svg +1 -1
  123. data/app/assets/build/coco/icons/ban.svg +1 -0
  124. data/app/assets/build/coco/icons/banknote.svg +1 -1
  125. data/app/assets/build/coco/icons/bar-chart-2.svg +1 -1
  126. data/app/assets/build/coco/icons/bar-chart-big.svg +1 -0
  127. data/app/assets/build/coco/icons/bar-chart-horizontal-big.svg +1 -0
  128. data/app/assets/build/coco/icons/bar-chart.svg +1 -1
  129. data/app/assets/build/coco/icons/bath.svg +1 -1
  130. data/app/assets/build/coco/icons/battery-full.svg +1 -1
  131. data/app/assets/build/coco/icons/battery-low.svg +1 -1
  132. data/app/assets/build/coco/icons/battery-medium.svg +1 -1
  133. data/app/assets/build/coco/icons/battery-warning.svg +1 -1
  134. data/app/assets/build/coco/icons/battery.svg +1 -1
  135. data/app/assets/build/coco/icons/bean-off.svg +1 -1
  136. data/app/assets/build/coco/icons/bell-dot.svg +1 -0
  137. data/app/assets/build/coco/icons/bell-minus.svg +1 -1
  138. data/app/assets/build/coco/icons/bell-off.svg +1 -1
  139. data/app/assets/build/coco/icons/bell-plus.svg +1 -1
  140. data/app/assets/build/coco/icons/bell-ring.svg +1 -1
  141. data/app/assets/build/coco/icons/bell.svg +1 -1
  142. data/app/assets/build/coco/icons/bike.svg +1 -1
  143. data/app/assets/build/coco/icons/binary.svg +1 -1
  144. data/app/assets/build/coco/icons/biohazard.svg +1 -0
  145. data/app/assets/build/coco/icons/bird.svg +1 -0
  146. data/app/assets/build/coco/icons/blinds.svg +1 -0
  147. data/app/assets/build/coco/icons/bluetooth-connected.svg +1 -1
  148. data/app/assets/build/coco/icons/bold.svg +1 -1
  149. data/app/assets/build/coco/icons/bone.svg +1 -1
  150. data/app/assets/build/coco/icons/book-copy.svg +1 -0
  151. data/app/assets/build/coco/icons/book-down.svg +1 -0
  152. data/app/assets/build/coco/icons/book-key.svg +1 -0
  153. data/app/assets/build/coco/icons/book-lock.svg +1 -0
  154. data/app/assets/build/coco/icons/book-marked.svg +1 -0
  155. data/app/assets/build/coco/icons/book-minus.svg +1 -0
  156. data/app/assets/build/coco/icons/book-plus.svg +1 -0
  157. data/app/assets/build/coco/icons/book-template.svg +1 -0
  158. data/app/assets/build/coco/icons/book-up-2.svg +1 -0
  159. data/app/assets/build/coco/icons/book-up.svg +1 -0
  160. data/app/assets/build/coco/icons/book-x.svg +1 -0
  161. data/app/assets/build/coco/icons/book.svg +1 -1
  162. data/app/assets/build/coco/icons/bot.svg +1 -1
  163. data/app/assets/build/coco/icons/box.svg +1 -1
  164. data/app/assets/build/coco/icons/brackets.svg +1 -0
  165. data/app/assets/build/coco/icons/brain-circuit.svg +1 -0
  166. data/app/assets/build/coco/icons/brain-cog.svg +1 -0
  167. data/app/assets/build/coco/icons/brain.svg +1 -0
  168. data/app/assets/build/coco/icons/briefcase.svg +1 -1
  169. data/app/assets/build/coco/icons/building-2.svg +1 -1
  170. data/app/assets/build/coco/icons/building.svg +1 -1
  171. data/app/assets/build/coco/icons/cake-slice.svg +1 -0
  172. data/app/assets/build/coco/icons/calculator.svg +1 -1
  173. data/app/assets/build/coco/icons/calendar-check-2.svg +1 -1
  174. data/app/assets/build/coco/icons/calendar-check.svg +1 -1
  175. data/app/assets/build/coco/icons/calendar-days.svg +1 -1
  176. data/app/assets/build/coco/icons/calendar-minus.svg +1 -1
  177. data/app/assets/build/coco/icons/calendar-off.svg +1 -1
  178. data/app/assets/build/coco/icons/calendar-plus.svg +1 -1
  179. data/app/assets/build/coco/icons/calendar-range.svg +1 -1
  180. data/app/assets/build/coco/icons/calendar-x-2.svg +1 -1
  181. data/app/assets/build/coco/icons/calendar-x.svg +1 -1
  182. data/app/assets/build/coco/icons/calendar.svg +1 -1
  183. data/app/assets/build/coco/icons/camera-off.svg +1 -1
  184. data/app/assets/build/coco/icons/candlestick-chart.svg +1 -0
  185. data/app/assets/build/coco/icons/candy-cane.svg +1 -0
  186. data/app/assets/build/coco/icons/candy-off.svg +1 -1
  187. data/app/assets/build/coco/icons/case-lower.svg +1 -0
  188. data/app/assets/build/coco/icons/case-sensitive.svg +1 -0
  189. data/app/assets/build/coco/icons/case-upper.svg +1 -0
  190. data/app/assets/build/coco/icons/cassette-tape.svg +1 -0
  191. data/app/assets/build/coco/icons/cast.svg +1 -1
  192. data/app/assets/build/coco/icons/castle.svg +1 -0
  193. data/app/assets/build/coco/icons/chef-hat.svg +1 -1
  194. data/app/assets/build/coco/icons/chevron-down-square.svg +1 -0
  195. data/app/assets/build/coco/icons/chevron-left-square.svg +1 -0
  196. data/app/assets/build/coco/icons/chevron-right-square.svg +1 -0
  197. data/app/assets/build/coco/icons/chevron-up-square.svg +1 -0
  198. data/app/assets/build/coco/icons/chrome.svg +1 -1
  199. data/app/assets/build/coco/icons/church.svg +1 -0
  200. data/app/assets/build/coco/icons/cigarette-off.svg +1 -1
  201. data/app/assets/build/coco/icons/circle-dashed.svg +1 -0
  202. data/app/assets/build/coco/icons/circle-dollar-sign.svg +1 -0
  203. data/app/assets/build/coco/icons/circle-dot-dashed.svg +1 -0
  204. data/app/assets/build/coco/icons/circle-equal.svg +1 -0
  205. data/app/assets/build/coco/icons/circle-off.svg +1 -0
  206. data/app/assets/build/coco/icons/circle-slash.svg +1 -0
  207. data/app/assets/build/coco/icons/circuit-board.svg +1 -0
  208. data/app/assets/build/coco/icons/citrus.svg +1 -1
  209. data/app/assets/build/coco/icons/clipboard-check.svg +1 -1
  210. data/app/assets/build/coco/icons/clipboard-copy.svg +1 -1
  211. data/app/assets/build/coco/icons/clipboard-edit.svg +1 -1
  212. data/app/assets/build/coco/icons/clipboard-list.svg +1 -1
  213. data/app/assets/build/coco/icons/clipboard-paste.svg +1 -0
  214. data/app/assets/build/coco/icons/clipboard-signature.svg +1 -1
  215. data/app/assets/build/coco/icons/clipboard-type.svg +1 -1
  216. data/app/assets/build/coco/icons/clipboard-x.svg +1 -1
  217. data/app/assets/build/coco/icons/clipboard.svg +1 -1
  218. data/app/assets/build/coco/icons/cloud-moon.svg +1 -1
  219. data/app/assets/build/coco/icons/club.svg +1 -0
  220. data/app/assets/build/coco/icons/codepen.svg +1 -1
  221. data/app/assets/build/coco/icons/codesandbox.svg +1 -1
  222. data/app/assets/build/coco/icons/coffee.svg +1 -1
  223. data/app/assets/build/coco/icons/columns.svg +1 -1
  224. data/app/assets/build/coco/icons/combine.svg +1 -0
  225. data/app/assets/build/coco/icons/command.svg +1 -1
  226. data/app/assets/build/coco/icons/construction.svg +1 -0
  227. data/app/assets/build/coco/icons/contact-2.svg +1 -0
  228. data/app/assets/build/coco/icons/contact.svg +1 -1
  229. data/app/assets/build/coco/icons/container.svg +1 -0
  230. data/app/assets/build/coco/icons/copy-check.svg +1 -0
  231. data/app/assets/build/coco/icons/copy-minus.svg +1 -0
  232. data/app/assets/build/coco/icons/copy-plus.svg +1 -0
  233. data/app/assets/build/coco/icons/copy-slash.svg +1 -0
  234. data/app/assets/build/coco/icons/copy-x.svg +1 -0
  235. data/app/assets/build/coco/icons/copy.svg +1 -1
  236. data/app/assets/build/coco/icons/cpu.svg +1 -1
  237. data/app/assets/build/coco/icons/credit-card.svg +1 -1
  238. data/app/assets/build/coco/icons/crosshair.svg +1 -1
  239. data/app/assets/build/coco/icons/currency.svg +1 -1
  240. data/app/assets/build/coco/icons/database-backup.svg +1 -1
  241. data/app/assets/build/coco/icons/database.svg +1 -1
  242. data/app/assets/build/coco/icons/delete.svg +1 -1
  243. data/app/assets/build/coco/icons/dessert.svg +1 -0
  244. data/app/assets/build/coco/icons/diamond.svg +1 -1
  245. data/app/assets/build/coco/icons/dice-1.svg +1 -1
  246. data/app/assets/build/coco/icons/dice-2.svg +1 -1
  247. data/app/assets/build/coco/icons/dice-3.svg +1 -1
  248. data/app/assets/build/coco/icons/dice-4.svg +1 -1
  249. data/app/assets/build/coco/icons/dice-5.svg +1 -1
  250. data/app/assets/build/coco/icons/dice-6.svg +1 -1
  251. data/app/assets/build/coco/icons/dices.svg +1 -1
  252. data/app/assets/build/coco/icons/disc-2.svg +1 -0
  253. data/app/assets/build/coco/icons/disc-3.svg +1 -0
  254. data/app/assets/build/coco/icons/disc.svg +1 -1
  255. data/app/assets/build/coco/icons/divide-circle.svg +1 -1
  256. data/app/assets/build/coco/icons/divide-square.svg +1 -1
  257. data/app/assets/build/coco/icons/divide.svg +1 -1
  258. data/app/assets/build/coco/icons/dna-off.svg +1 -1
  259. data/app/assets/build/coco/icons/dollar-sign.svg +1 -1
  260. data/app/assets/build/coco/icons/donut.svg +1 -0
  261. data/app/assets/build/coco/icons/door-closed.svg +1 -0
  262. data/app/assets/build/coco/icons/door-open.svg +1 -0
  263. data/app/assets/build/coco/icons/dot.svg +1 -0
  264. data/app/assets/build/coco/icons/download.svg +1 -1
  265. data/app/assets/build/coco/icons/ear-off.svg +1 -1
  266. data/app/assets/build/coco/icons/egg-off.svg +1 -1
  267. data/app/assets/build/coco/icons/equal-not.svg +1 -1
  268. data/app/assets/build/coco/icons/equal.svg +1 -1
  269. data/app/assets/build/coco/icons/external-link.svg +1 -1
  270. data/app/assets/build/coco/icons/eye-off.svg +1 -1
  271. data/app/assets/build/coco/icons/feather.svg +1 -1
  272. data/app/assets/build/coco/icons/ferris-wheel.svg +1 -0
  273. data/app/assets/build/coco/icons/file-code-2.svg +1 -0
  274. data/app/assets/build/coco/icons/file-code.svg +1 -1
  275. data/app/assets/build/coco/icons/file-digit.svg +1 -1
  276. data/app/assets/build/coco/icons/file-lock-2.svg +1 -1
  277. data/app/assets/build/coco/icons/file-lock.svg +1 -1
  278. data/app/assets/build/coco/icons/file-minus.svg +1 -1
  279. data/app/assets/build/coco/icons/file-plus.svg +1 -1
  280. data/app/assets/build/coco/icons/file-stack.svg +1 -0
  281. data/app/assets/build/coco/icons/file-text.svg +1 -1
  282. data/app/assets/build/coco/icons/file-video-2.svg +1 -1
  283. data/app/assets/build/coco/icons/file-x.svg +1 -1
  284. data/app/assets/build/coco/icons/film.svg +1 -1
  285. data/app/assets/build/coco/icons/filter-x.svg +1 -0
  286. data/app/assets/build/coco/icons/fish-off.svg +1 -1
  287. data/app/assets/build/coco/icons/flag-off.svg +1 -1
  288. data/app/assets/build/coco/icons/flag.svg +1 -1
  289. data/app/assets/build/coco/icons/flashlight-off.svg +1 -1
  290. data/app/assets/build/coco/icons/flashlight.svg +1 -1
  291. data/app/assets/build/coco/icons/flask-conical-off.svg +1 -1
  292. data/app/assets/build/coco/icons/flask-round.svg +1 -1
  293. data/app/assets/build/coco/icons/fold-horizontal.svg +1 -0
  294. data/app/assets/build/coco/icons/fold-vertical.svg +1 -0
  295. data/app/assets/build/coco/icons/folder-dot.svg +1 -0
  296. data/app/assets/build/coco/icons/folder-git-2.svg +1 -0
  297. data/app/assets/build/coco/icons/folder-git.svg +1 -0
  298. data/app/assets/build/coco/icons/folder-kanban.svg +1 -0
  299. data/app/assets/build/coco/icons/folder-lock.svg +1 -1
  300. data/app/assets/build/coco/icons/folder-minus.svg +1 -1
  301. data/app/assets/build/coco/icons/folder-open-dot.svg +1 -0
  302. data/app/assets/build/coco/icons/folder-plus.svg +1 -1
  303. data/app/assets/build/coco/icons/folder-root.svg +1 -0
  304. data/app/assets/build/coco/icons/folder-sync.svg +1 -0
  305. data/app/assets/build/coco/icons/footprints.svg +1 -0
  306. data/app/assets/build/coco/icons/forklift.svg +1 -0
  307. data/app/assets/build/coco/icons/form-input.svg +1 -1
  308. data/app/assets/build/coco/icons/frame.svg +1 -1
  309. data/app/assets/build/coco/icons/frown.svg +1 -1
  310. data/app/assets/build/coco/icons/fuel.svg +1 -1
  311. data/app/assets/build/coco/icons/function-square.svg +1 -1
  312. data/app/assets/build/coco/icons/gallery-horizontal-end.svg +1 -0
  313. data/app/assets/build/coco/icons/gallery-horizontal.svg +1 -0
  314. data/app/assets/build/coco/icons/gallery-thumbnails.svg +1 -0
  315. data/app/assets/build/coco/icons/gallery-vertical-end.svg +1 -0
  316. data/app/assets/build/coco/icons/gallery-vertical.svg +1 -0
  317. data/app/assets/build/coco/icons/gamepad-2.svg +1 -1
  318. data/app/assets/build/coco/icons/gamepad.svg +1 -1
  319. data/app/assets/build/coco/icons/gantt-chart-square.svg +1 -0
  320. data/app/assets/build/coco/icons/gantt-chart.svg +1 -0
  321. data/app/assets/build/coco/icons/gauge.svg +1 -1
  322. data/app/assets/build/coco/icons/gem.svg +1 -1
  323. data/app/assets/build/coco/icons/gift.svg +1 -1
  324. data/app/assets/build/coco/icons/git-branch.svg +1 -1
  325. data/app/assets/build/coco/icons/git-commit.svg +1 -1
  326. data/app/assets/build/coco/icons/git-pull-request-closed.svg +1 -1
  327. data/app/assets/build/coco/icons/git-pull-request-draft.svg +1 -1
  328. data/app/assets/build/coco/icons/git-pull-request.svg +1 -1
  329. data/app/assets/build/coco/icons/globe.svg +1 -1
  330. data/app/assets/build/coco/icons/goal.svg +1 -0
  331. data/app/assets/build/coco/icons/grid.svg +1 -1
  332. data/app/assets/build/coco/icons/group.svg +1 -0
  333. data/app/assets/build/coco/icons/hard-drive.svg +1 -1
  334. data/app/assets/build/coco/icons/hash.svg +1 -1
  335. data/app/assets/build/coco/icons/headphones.svg +1 -1
  336. data/app/assets/build/coco/icons/heart-crack.svg +1 -1
  337. data/app/assets/build/coco/icons/heart-handshake.svg +1 -1
  338. data/app/assets/build/coco/icons/heart-off.svg +1 -1
  339. data/app/assets/build/coco/icons/heart-pulse.svg +1 -1
  340. data/app/assets/build/coco/icons/heart.svg +1 -1
  341. data/app/assets/build/coco/icons/help-circle.svg +1 -1
  342. data/app/assets/build/coco/icons/helping-hand.svg +1 -0
  343. data/app/assets/build/coco/icons/history.svg +1 -1
  344. data/app/assets/build/coco/icons/hop-off.svg +1 -1
  345. data/app/assets/build/coco/icons/hotel.svg +1 -0
  346. data/app/assets/build/coco/icons/image-minus.svg +1 -1
  347. data/app/assets/build/coco/icons/image-off.svg +1 -1
  348. data/app/assets/build/coco/icons/image-plus.svg +1 -1
  349. data/app/assets/build/coco/icons/image.svg +1 -1
  350. data/app/assets/build/coco/icons/indent.svg +1 -1
  351. data/app/assets/build/coco/icons/infinity.svg +1 -1
  352. data/app/assets/build/coco/icons/info.svg +1 -1
  353. data/app/assets/build/coco/icons/instagram.svg +1 -1
  354. data/app/assets/build/coco/icons/italic.svg +1 -1
  355. data/app/assets/build/coco/icons/iteration-ccw.svg +1 -0
  356. data/app/assets/build/coco/icons/iteration-cw.svg +1 -0
  357. data/app/assets/build/coco/icons/kanban-square-dashed.svg +1 -0
  358. data/app/assets/build/coco/icons/kanban-square.svg +1 -0
  359. data/app/assets/build/coco/icons/kanban.svg +1 -0
  360. data/app/assets/build/coco/icons/key-round.svg +1 -0
  361. data/app/assets/build/coco/icons/key-square.svg +1 -0
  362. data/app/assets/build/coco/icons/key.svg +1 -1
  363. data/app/assets/build/coco/icons/keyboard.svg +1 -1
  364. data/app/assets/build/coco/icons/landmark.svg +1 -1
  365. data/app/assets/build/coco/icons/laptop-2.svg +1 -1
  366. data/app/assets/build/coco/icons/laugh.svg +1 -1
  367. data/app/assets/build/coco/icons/layout-dashboard.svg +1 -1
  368. data/app/assets/build/coco/icons/layout-grid.svg +1 -1
  369. data/app/assets/build/coco/icons/layout-list.svg +1 -1
  370. data/app/assets/build/coco/icons/layout-panel-left.svg +1 -0
  371. data/app/assets/build/coco/icons/layout-panel-top.svg +1 -0
  372. data/app/assets/build/coco/icons/layout-template.svg +1 -1
  373. data/app/assets/build/coco/icons/layout.svg +1 -1
  374. data/app/assets/build/coco/icons/leafy-green.svg +1 -0
  375. data/app/assets/build/coco/icons/life-buoy.svg +1 -1
  376. data/app/assets/build/coco/icons/ligature.svg +1 -0
  377. data/app/assets/build/coco/icons/lightbulb-off.svg +1 -1
  378. data/app/assets/build/coco/icons/lightbulb.svg +1 -1
  379. data/app/assets/build/coco/icons/link-2-off.svg +1 -1
  380. data/app/assets/build/coco/icons/link-2.svg +1 -1
  381. data/app/assets/build/coco/icons/linkedin.svg +1 -1
  382. data/app/assets/build/coco/icons/list-checks.svg +1 -1
  383. data/app/assets/build/coco/icons/list-end.svg +1 -1
  384. data/app/assets/build/coco/icons/list-filter.svg +1 -0
  385. data/app/assets/build/coco/icons/list-ordered.svg +1 -1
  386. data/app/assets/build/coco/icons/list-restart.svg +1 -0
  387. data/app/assets/build/coco/icons/list-todo.svg +1 -0
  388. data/app/assets/build/coco/icons/list-tree.svg +1 -0
  389. data/app/assets/build/coco/icons/list.svg +1 -1
  390. data/app/assets/build/coco/icons/loader.svg +1 -1
  391. data/app/assets/build/coco/icons/lock.svg +1 -1
  392. data/app/assets/build/coco/icons/log-in.svg +1 -1
  393. data/app/assets/build/coco/icons/log-out.svg +1 -1
  394. data/app/assets/build/coco/icons/lollipop.svg +1 -0
  395. data/app/assets/build/coco/icons/mail.svg +1 -1
  396. data/app/assets/build/coco/icons/mailbox.svg +1 -0
  397. data/app/assets/build/coco/icons/mails.svg +1 -1
  398. data/app/assets/build/coco/icons/map-pin-off.svg +1 -1
  399. data/app/assets/build/coco/icons/map.svg +1 -1
  400. data/app/assets/build/coco/icons/maximize-2.svg +1 -1
  401. data/app/assets/build/coco/icons/meh.svg +1 -1
  402. data/app/assets/build/coco/icons/memory-stick.svg +1 -0
  403. data/app/assets/build/coco/icons/menu-square.svg +1 -0
  404. data/app/assets/build/coco/icons/menu.svg +1 -1
  405. data/app/assets/build/coco/icons/merge.svg +1 -0
  406. data/app/assets/build/coco/icons/message-circle.svg +1 -1
  407. data/app/assets/build/coco/icons/message-square-dashed.svg +1 -0
  408. data/app/assets/build/coco/icons/message-square-plus.svg +1 -0
  409. data/app/assets/build/coco/icons/messages-square.svg +1 -0
  410. data/app/assets/build/coco/icons/mic-off.svg +1 -1
  411. data/app/assets/build/coco/icons/mic.svg +1 -1
  412. data/app/assets/build/coco/icons/microscope.svg +1 -1
  413. data/app/assets/build/coco/icons/microwave.svg +1 -1
  414. data/app/assets/build/coco/icons/milestone.svg +1 -1
  415. data/app/assets/build/coco/icons/milk-off.svg +1 -1
  416. data/app/assets/build/coco/icons/minimize-2.svg +1 -1
  417. data/app/assets/build/coco/icons/minus-circle.svg +1 -1
  418. data/app/assets/build/coco/icons/minus-square.svg +1 -1
  419. data/app/assets/build/coco/icons/minus.svg +1 -1
  420. data/app/assets/build/coco/icons/monitor-check.svg +1 -0
  421. data/app/assets/build/coco/icons/monitor-dot.svg +1 -0
  422. data/app/assets/build/coco/icons/monitor-down.svg +1 -0
  423. data/app/assets/build/coco/icons/monitor-pause.svg +1 -0
  424. data/app/assets/build/coco/icons/monitor-play.svg +1 -0
  425. data/app/assets/build/coco/icons/monitor-smartphone.svg +1 -1
  426. data/app/assets/build/coco/icons/monitor-speaker.svg +1 -1
  427. data/app/assets/build/coco/icons/monitor-stop.svg +1 -0
  428. data/app/assets/build/coco/icons/monitor-up.svg +1 -0
  429. data/app/assets/build/coco/icons/monitor-x.svg +1 -0
  430. data/app/assets/build/coco/icons/monitor.svg +1 -1
  431. data/app/assets/build/coco/icons/moon-star.svg +1 -0
  432. data/app/assets/build/coco/icons/moon.svg +1 -1
  433. data/app/assets/build/coco/icons/mouse.svg +1 -1
  434. data/app/assets/build/coco/icons/move-diagonal-2.svg +1 -1
  435. data/app/assets/build/coco/icons/move-diagonal.svg +1 -1
  436. data/app/assets/build/coco/icons/move-down-left.svg +1 -0
  437. data/app/assets/build/coco/icons/move-down-right.svg +1 -0
  438. data/app/assets/build/coco/icons/move-down.svg +1 -0
  439. data/app/assets/build/coco/icons/move-horizontal.svg +1 -1
  440. data/app/assets/build/coco/icons/move-left.svg +1 -0
  441. data/app/assets/build/coco/icons/move-right.svg +1 -0
  442. data/app/assets/build/coco/icons/move-up-left.svg +1 -0
  443. data/app/assets/build/coco/icons/move-up-right.svg +1 -0
  444. data/app/assets/build/coco/icons/move-up.svg +1 -0
  445. data/app/assets/build/coco/icons/move-vertical.svg +1 -1
  446. data/app/assets/build/coco/icons/move.svg +1 -1
  447. data/app/assets/build/coco/icons/navigation-2-off.svg +1 -1
  448. data/app/assets/build/coco/icons/navigation-off.svg +1 -1
  449. data/app/assets/build/coco/icons/network.svg +1 -1
  450. data/app/assets/build/coco/icons/nfc.svg +1 -0
  451. data/app/assets/build/coco/icons/nut-off.svg +1 -1
  452. data/app/assets/build/coco/icons/orbit.svg +1 -0
  453. data/app/assets/build/coco/icons/outdent.svg +1 -1
  454. data/app/assets/build/coco/icons/package-check.svg +1 -1
  455. data/app/assets/build/coco/icons/package-minus.svg +1 -1
  456. data/app/assets/build/coco/icons/package-open.svg +1 -1
  457. data/app/assets/build/coco/icons/package-plus.svg +1 -1
  458. data/app/assets/build/coco/icons/package-search.svg +1 -1
  459. data/app/assets/build/coco/icons/package-x.svg +1 -1
  460. data/app/assets/build/coco/icons/package.svg +1 -1
  461. data/app/assets/build/coco/icons/panel-bottom-close.svg +1 -0
  462. data/app/assets/build/coco/icons/panel-bottom-inactive.svg +1 -0
  463. data/app/assets/build/coco/icons/panel-bottom-open.svg +1 -0
  464. data/app/assets/build/coco/icons/panel-bottom.svg +1 -0
  465. data/app/assets/build/coco/icons/panel-left-close.svg +1 -0
  466. data/app/assets/build/coco/icons/panel-left-inactive.svg +1 -0
  467. data/app/assets/build/coco/icons/panel-left-open.svg +1 -0
  468. data/app/assets/build/coco/icons/panel-left.svg +1 -0
  469. data/app/assets/build/coco/icons/panel-right-close.svg +1 -0
  470. data/app/assets/build/coco/icons/panel-right-inactive.svg +1 -0
  471. data/app/assets/build/coco/icons/panel-right-open.svg +1 -0
  472. data/app/assets/build/coco/icons/panel-right.svg +1 -0
  473. data/app/assets/build/coco/icons/panel-top-close.svg +1 -0
  474. data/app/assets/build/coco/icons/panel-top-inactive.svg +1 -0
  475. data/app/assets/build/coco/icons/panel-top-open.svg +1 -0
  476. data/app/assets/build/coco/icons/panel-top.svg +1 -0
  477. data/app/assets/build/coco/icons/parentheses.svg +1 -0
  478. data/app/assets/build/coco/icons/parking-circle-off.svg +1 -0
  479. data/app/assets/build/coco/icons/parking-circle.svg +1 -0
  480. data/app/assets/build/coco/icons/parking-square-off.svg +1 -0
  481. data/app/assets/build/coco/icons/parking-square.svg +1 -0
  482. data/app/assets/build/coco/icons/pause-circle.svg +1 -1
  483. data/app/assets/build/coco/icons/pause.svg +1 -1
  484. data/app/assets/build/coco/icons/pc-case.svg +1 -0
  485. data/app/assets/build/coco/icons/pencil.svg +1 -1
  486. data/app/assets/build/coco/icons/percent.svg +1 -1
  487. data/app/assets/build/coco/icons/phone-forwarded.svg +1 -1
  488. data/app/assets/build/coco/icons/phone-incoming.svg +1 -1
  489. data/app/assets/build/coco/icons/phone-missed.svg +1 -1
  490. data/app/assets/build/coco/icons/phone-off.svg +1 -1
  491. data/app/assets/build/coco/icons/phone-outgoing.svg +1 -1
  492. data/app/assets/build/coco/icons/pi-square.svg +1 -0
  493. data/app/assets/build/coco/icons/pi.svg +1 -0
  494. data/app/assets/build/coco/icons/picture-in-picture-2.svg +1 -1
  495. data/app/assets/build/coco/icons/pilcrow-square.svg +1 -0
  496. data/app/assets/build/coco/icons/pill.svg +1 -0
  497. data/app/assets/build/coco/icons/pin-off.svg +1 -1
  498. data/app/assets/build/coco/icons/pin.svg +1 -1
  499. data/app/assets/build/coco/icons/pizza.svg +1 -1
  500. data/app/assets/build/coco/icons/plane-landing.svg +1 -0
  501. data/app/assets/build/coco/icons/plane-takeoff.svg +1 -0
  502. data/app/assets/build/coco/icons/play-square.svg +1 -0
  503. data/app/assets/build/coco/icons/plug-zap-2.svg +1 -0
  504. data/app/assets/build/coco/icons/plug-zap.svg +1 -1
  505. data/app/assets/build/coco/icons/plug.svg +1 -1
  506. data/app/assets/build/coco/icons/plus-circle.svg +1 -1
  507. data/app/assets/build/coco/icons/plus-square.svg +1 -1
  508. data/app/assets/build/coco/icons/plus.svg +1 -1
  509. data/app/assets/build/coco/icons/pocket-knife.svg +1 -0
  510. data/app/assets/build/coco/icons/popcorn.svg +1 -0
  511. data/app/assets/build/coco/icons/popsicle.svg +1 -0
  512. data/app/assets/build/coco/icons/power.svg +1 -1
  513. data/app/assets/build/coco/icons/presentation.svg +1 -0
  514. data/app/assets/build/coco/icons/printer.svg +1 -1
  515. data/app/assets/build/coco/icons/projector.svg +1 -0
  516. data/app/assets/build/coco/icons/qr-code.svg +1 -1
  517. data/app/assets/build/coco/icons/radar.svg +1 -0
  518. data/app/assets/build/coco/icons/radiation.svg +1 -0
  519. data/app/assets/build/coco/icons/radio-receiver.svg +1 -1
  520. data/app/assets/build/coco/icons/radio-tower.svg +1 -0
  521. data/app/assets/build/coco/icons/radio.svg +1 -1
  522. data/app/assets/build/coco/icons/rainbow.svg +1 -0
  523. data/app/assets/build/coco/icons/rat.svg +1 -0
  524. data/app/assets/build/coco/icons/receipt.svg +1 -0
  525. data/app/assets/build/coco/icons/rectangle-horizontal.svg +1 -1
  526. data/app/assets/build/coco/icons/rectangle-vertical.svg +1 -1
  527. data/app/assets/build/coco/icons/redo-dot.svg +1 -0
  528. data/app/assets/build/coco/icons/refresh-ccw-dot.svg +1 -0
  529. data/app/assets/build/coco/icons/refresh-ccw.svg +1 -1
  530. data/app/assets/build/coco/icons/refresh-cw-off.svg +1 -0
  531. data/app/assets/build/coco/icons/refresh-cw.svg +1 -1
  532. data/app/assets/build/coco/icons/repeat-2.svg +1 -0
  533. data/app/assets/build/coco/icons/replace-all.svg +1 -0
  534. data/app/assets/build/coco/icons/replace.svg +1 -0
  535. data/app/assets/build/coco/icons/rocking-chair.svg +1 -1
  536. data/app/assets/build/coco/icons/roller-coaster.svg +1 -0
  537. data/app/assets/build/coco/icons/rotate-ccw.svg +1 -1
  538. data/app/assets/build/coco/icons/rotate-cw.svg +1 -1
  539. data/app/assets/build/coco/icons/router.svg +1 -0
  540. data/app/assets/build/coco/icons/rows.svg +1 -0
  541. data/app/assets/build/coco/icons/satellite-dish.svg +1 -0
  542. data/app/assets/build/coco/icons/satellite.svg +1 -0
  543. data/app/assets/build/coco/icons/save-all.svg +1 -0
  544. data/app/assets/build/coco/icons/scale-3d.svg +1 -1
  545. data/app/assets/build/coco/icons/scan-line.svg +1 -1
  546. data/app/assets/build/coco/icons/scatter-chart.svg +1 -0
  547. data/app/assets/build/coco/icons/school-2.svg +1 -0
  548. data/app/assets/build/coco/icons/school.svg +1 -0
  549. data/app/assets/build/coco/icons/scissors.svg +1 -1
  550. data/app/assets/build/coco/icons/scroll-text.svg +1 -0
  551. data/app/assets/build/coco/icons/scroll.svg +1 -1
  552. data/app/assets/build/coco/icons/search-check.svg +1 -0
  553. data/app/assets/build/coco/icons/search-code.svg +1 -0
  554. data/app/assets/build/coco/icons/search-slash.svg +1 -0
  555. data/app/assets/build/coco/icons/search-x.svg +1 -0
  556. data/app/assets/build/coco/icons/search.svg +1 -1
  557. data/app/assets/build/coco/icons/send.svg +1 -1
  558. data/app/assets/build/coco/icons/separator-horizontal.svg +1 -1
  559. data/app/assets/build/coco/icons/separator-vertical.svg +1 -1
  560. data/app/assets/build/coco/icons/server.svg +1 -1
  561. data/app/assets/build/coco/icons/shapes.svg +1 -0
  562. data/app/assets/build/coco/icons/share-2.svg +1 -1
  563. data/app/assets/build/coco/icons/share.svg +1 -1
  564. data/app/assets/build/coco/icons/sheet.svg +1 -1
  565. data/app/assets/build/coco/icons/shield-close.svg +1 -1
  566. data/app/assets/build/coco/icons/shield-off.svg +1 -1
  567. data/app/assets/build/coco/icons/shield-question.svg +1 -0
  568. data/app/assets/build/coco/icons/ship.svg +1 -0
  569. data/app/assets/build/coco/icons/shopping-bag.svg +1 -1
  570. data/app/assets/build/coco/icons/shuffle.svg +1 -1
  571. data/app/assets/build/coco/icons/sigma-square.svg +1 -0
  572. data/app/assets/build/coco/icons/skip-back.svg +1 -1
  573. data/app/assets/build/coco/icons/skip-forward.svg +1 -1
  574. data/app/assets/build/coco/icons/slack.svg +1 -1
  575. data/app/assets/build/coco/icons/sliders-horizontal.svg +1 -1
  576. data/app/assets/build/coco/icons/sliders.svg +1 -1
  577. data/app/assets/build/coco/icons/smartphone-charging.svg +1 -1
  578. data/app/assets/build/coco/icons/smartphone-nfc.svg +1 -0
  579. data/app/assets/build/coco/icons/smartphone.svg +1 -1
  580. data/app/assets/build/coco/icons/smile-plus.svg +1 -1
  581. data/app/assets/build/coco/icons/smile.svg +1 -1
  582. data/app/assets/build/coco/icons/snowflake.svg +1 -1
  583. data/app/assets/build/coco/icons/space.svg +1 -0
  584. data/app/assets/build/coco/icons/spade.svg +1 -0
  585. data/app/assets/build/coco/icons/sparkle.svg +1 -0
  586. data/app/assets/build/coco/icons/sparkles.svg +1 -0
  587. data/app/assets/build/coco/icons/speaker.svg +1 -1
  588. data/app/assets/build/coco/icons/spell-check-2.svg +1 -0
  589. data/app/assets/build/coco/icons/spell-check.svg +1 -0
  590. data/app/assets/build/coco/icons/spline.svg +1 -1
  591. data/app/assets/build/coco/icons/split-square-horizontal.svg +1 -0
  592. data/app/assets/build/coco/icons/split-square-vertical.svg +1 -0
  593. data/app/assets/build/coco/icons/split.svg +1 -0
  594. data/app/assets/build/coco/icons/spray-can.svg +1 -0
  595. data/app/assets/build/coco/icons/square-asterisk.svg +1 -0
  596. data/app/assets/build/coco/icons/square-code.svg +1 -0
  597. data/app/assets/build/coco/icons/square-dashed-bottom-code.svg +1 -0
  598. data/app/assets/build/coco/icons/square-dashed-bottom.svg +1 -0
  599. data/app/assets/build/coco/icons/square-dot.svg +1 -0
  600. data/app/assets/build/coco/icons/square-equal.svg +1 -0
  601. data/app/assets/build/coco/icons/square-slash.svg +1 -0
  602. data/app/assets/build/coco/icons/square-stack.svg +1 -0
  603. data/app/assets/build/coco/icons/square.svg +1 -1
  604. data/app/assets/build/coco/icons/squirrel.svg +1 -0
  605. data/app/assets/build/coco/icons/stamp.svg +1 -0
  606. data/app/assets/build/coco/icons/star-off.svg +1 -1
  607. data/app/assets/build/coco/icons/step-back.svg +1 -0
  608. data/app/assets/build/coco/icons/step-forward.svg +1 -0
  609. data/app/assets/build/coco/icons/stop-circle.svg +1 -1
  610. data/app/assets/build/coco/icons/store.svg +1 -0
  611. data/app/assets/build/coco/icons/stretch-horizontal.svg +1 -1
  612. data/app/assets/build/coco/icons/stretch-vertical.svg +1 -1
  613. data/app/assets/build/coco/icons/strikethrough.svg +1 -1
  614. data/app/assets/build/coco/icons/sun-dim.svg +1 -1
  615. data/app/assets/build/coco/icons/sun-medium.svg +1 -1
  616. data/app/assets/build/coco/icons/sun-moon.svg +1 -1
  617. data/app/assets/build/coco/icons/sword.svg +1 -1
  618. data/app/assets/build/coco/icons/swords.svg +1 -1
  619. data/app/assets/build/coco/icons/table-properties.svg +1 -0
  620. data/app/assets/build/coco/icons/table.svg +1 -1
  621. data/app/assets/build/coco/icons/tablet.svg +1 -1
  622. data/app/assets/build/coco/icons/tablets.svg +1 -0
  623. data/app/assets/build/coco/icons/tally-1.svg +1 -0
  624. data/app/assets/build/coco/icons/tally-2.svg +1 -0
  625. data/app/assets/build/coco/icons/tally-3.svg +1 -0
  626. data/app/assets/build/coco/icons/tally-4.svg +1 -0
  627. data/app/assets/build/coco/icons/tally-5.svg +1 -0
  628. data/app/assets/build/coco/icons/terminal-square.svg +1 -1
  629. data/app/assets/build/coco/icons/terminal.svg +1 -1
  630. data/app/assets/build/coco/icons/test-tube-2.svg +1 -0
  631. data/app/assets/build/coco/icons/test-tube.svg +1 -0
  632. data/app/assets/build/coco/icons/test-tubes.svg +1 -0
  633. data/app/assets/build/coco/icons/text-cursor-input.svg +1 -1
  634. data/app/assets/build/coco/icons/text-quote.svg +1 -0
  635. data/app/assets/build/coco/icons/text-select.svg +1 -0
  636. data/app/assets/build/coco/icons/text.svg +1 -0
  637. data/app/assets/build/coco/icons/ticket.svg +1 -1
  638. data/app/assets/build/coco/icons/toggle-left.svg +1 -1
  639. data/app/assets/build/coco/icons/toggle-right.svg +1 -1
  640. data/app/assets/build/coco/icons/touchpad-off.svg +1 -0
  641. data/app/assets/build/coco/icons/touchpad.svg +1 -0
  642. data/app/assets/build/coco/icons/tower-control.svg +1 -0
  643. data/app/assets/build/coco/icons/toy-brick.svg +1 -1
  644. data/app/assets/build/coco/icons/train.svg +1 -1
  645. data/app/assets/build/coco/icons/trash-2.svg +1 -1
  646. data/app/assets/build/coco/icons/trello.svg +1 -1
  647. data/app/assets/build/coco/icons/tv-2.svg +1 -1
  648. data/app/assets/build/coco/icons/tv.svg +1 -1
  649. data/app/assets/build/coco/icons/type.svg +1 -1
  650. data/app/assets/build/coco/icons/umbrella.svg +1 -1
  651. data/app/assets/build/coco/icons/underline.svg +1 -1
  652. data/app/assets/build/coco/icons/undo-dot.svg +1 -0
  653. data/app/assets/build/coco/icons/unfold-horizontal.svg +1 -0
  654. data/app/assets/build/coco/icons/unfold-vertical.svg +1 -0
  655. data/app/assets/build/coco/icons/ungroup.svg +1 -0
  656. data/app/assets/build/coco/icons/unlink.svg +1 -1
  657. data/app/assets/build/coco/icons/unlock.svg +1 -1
  658. data/app/assets/build/coco/icons/unplug.svg +1 -0
  659. data/app/assets/build/coco/icons/upload.svg +1 -1
  660. data/app/assets/build/coco/icons/usb.svg +1 -1
  661. data/app/assets/build/coco/icons/user-2.svg +1 -0
  662. data/app/assets/build/coco/icons/user-check-2.svg +1 -0
  663. data/app/assets/build/coco/icons/user-circle-2.svg +1 -0
  664. data/app/assets/build/coco/icons/user-circle.svg +1 -0
  665. data/app/assets/build/coco/icons/user-cog-2.svg +1 -0
  666. data/app/assets/build/coco/icons/user-minus-2.svg +1 -0
  667. data/app/assets/build/coco/icons/user-minus.svg +1 -1
  668. data/app/assets/build/coco/icons/user-plus-2.svg +1 -0
  669. data/app/assets/build/coco/icons/user-plus.svg +1 -1
  670. data/app/assets/build/coco/icons/user-square-2.svg +1 -0
  671. data/app/assets/build/coco/icons/user-square.svg +1 -0
  672. data/app/assets/build/coco/icons/user-x-2.svg +1 -0
  673. data/app/assets/build/coco/icons/user-x.svg +1 -1
  674. data/app/assets/build/coco/icons/users-2.svg +1 -0
  675. data/app/assets/build/coco/icons/utility-pole.svg +1 -0
  676. data/app/assets/build/coco/icons/variable.svg +1 -0
  677. data/app/assets/build/coco/icons/vegan.svg +1 -1
  678. data/app/assets/build/coco/icons/vibrate-off.svg +1 -1
  679. data/app/assets/build/coco/icons/vibrate.svg +1 -1
  680. data/app/assets/build/coco/icons/video-off.svg +1 -1
  681. data/app/assets/build/coco/icons/video.svg +1 -1
  682. data/app/assets/build/coco/icons/videotape.svg +1 -0
  683. data/app/assets/build/coco/icons/voicemail.svg +1 -1
  684. data/app/assets/build/coco/icons/volume-x.svg +1 -1
  685. data/app/assets/build/coco/icons/wallet-2.svg +1 -0
  686. data/app/assets/build/coco/icons/wallet-cards.svg +1 -0
  687. data/app/assets/build/coco/icons/wallet.svg +1 -1
  688. data/app/assets/build/coco/icons/wallpaper.svg +1 -0
  689. data/app/assets/build/coco/icons/warehouse.svg +1 -0
  690. data/app/assets/build/coco/icons/wheat-off.svg +1 -1
  691. data/app/assets/build/coco/icons/whole-word.svg +1 -0
  692. data/app/assets/build/coco/icons/wifi-off.svg +1 -1
  693. data/app/assets/build/coco/icons/wifi.svg +1 -1
  694. data/app/assets/build/coco/icons/wine-off.svg +1 -1
  695. data/app/assets/build/coco/icons/workflow.svg +1 -0
  696. data/app/assets/build/coco/icons/wrap-text.svg +1 -1
  697. data/app/assets/build/coco/icons/x-circle.svg +1 -1
  698. data/app/assets/build/coco/icons/x-octagon.svg +1 -1
  699. data/app/assets/build/coco/icons/x-square.svg +1 -1
  700. data/app/assets/build/coco/icons/x.svg +1 -1
  701. data/app/assets/build/coco/icons/youtube.svg +1 -1
  702. data/app/assets/build/coco/icons/zap-off.svg +1 -1
  703. data/app/assets/build/coco/icons/zoom-in.svg +1 -1
  704. data/app/assets/build/coco/icons/zoom-out.svg +1 -1
  705. data/app/assets/js/app.js +12 -4
  706. data/app/assets/js/book.js +5 -1
  707. data/app/assets/js/helpers/screenshot.js +20 -4
  708. data/app/components/coco/app/blocks/slide_editor/slide_editor.css +4 -11
  709. data/app/components/coco/app/blocks/slide_editor/slide_editor.html.erb +33 -31
  710. data/app/components/coco/app/blocks/slide_editor/slide_editor.js +66 -87
  711. data/app/components/coco/app/blocks/slide_editor/slide_editor.rb +5 -5
  712. data/app/components/coco/app/elements/button/button.css +11 -11
  713. data/app/components/coco/app/elements/color_picker/color_picker.rb +5 -5
  714. data/app/components/coco/base/button/button.css +3 -3
  715. data/app/components/coco/base/button/button.html.erb +2 -2
  716. data/app/components/coco/base/button/button.js +1 -3
  717. data/app/components/coco/book/blocks/slides/editable_slide/editable_slide.rb +1 -1
  718. data/app/components/coco/component.rb +1 -0
  719. data/app/components/coco/concerns/has_name.rb +1 -1
  720. data/app/components/coco/concerns/translatable.rb +18 -0
  721. data/config/credentials/production.key +1 -0
  722. data/config/credentials/production.yml.enc +1 -0
  723. data/config/icons.json +1194 -0
  724. data/config/locales/coco.en.yml +22 -0
  725. data/config/tailwind.app.config.cjs +21 -0
  726. data/config/tailwind.base.config.cjs +79 -0
  727. data/config/tailwind.book.config.cjs +20 -0
  728. data/config/tokens.cjs +229 -0
  729. data/config/utils.cjs +16 -0
  730. data/lib/coco.rb +1 -1
  731. metadata +329 -12
  732. data/app/assets/build/coco/icons/sidebar-close.svg +0 -1
  733. data/app/assets/build/coco/icons/sidebar-open.svg +0 -1
  734. data/app/assets/build/coco/icons/sidebar.svg +0 -1
  735. data/app/assets/build/coco/icons/slash.svg +0 -1
  736. data/app/assets/build/coco/icons/sort-asc.svg +0 -1
  737. data/app/assets/build/coco/icons/sort-desc.svg +0 -1
  738. data/app/assets/build/coco/icons/verified.svg +0 -1
  739. data/app/assets/js/base/setup.js +0 -9
  740. /data/app/assets/build/coco/icons/{curly-braces.svg → braces.svg} +0 -0
  741. /data/app/assets/build/coco/icons/{circle-slashed.svg → circle-slash-2.svg} +0 -0
@@ -18,7 +18,7 @@
18
18
  }
19
19
  ) do |button| %>
20
20
  <% button.with_picker %>
21
- <% button.with_text { "Background colour" } %>
21
+ <% button.with_text { tt("bg_color_picker.label") } %>
22
22
  <% button.with_icon do %>
23
23
  <svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="editor-icon-bg-color">
24
24
  <path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"></path>
@@ -41,12 +41,10 @@
41
41
  }
42
42
  ) do |button| %>
43
43
  <% button.with_picker do |picker| %>
44
- <% picker.with_blank_state_text do %>
45
- Drag a jpg, png or gif onto the slide area or&hellip;
46
- <% end %>
44
+ <% picker.with_blank_state_text { tt("bg_image_picker.blank_state") } %>
47
45
  <% end %>
48
46
 
49
- Background image
47
+ <%= tt("bg_image_picker.label") %>
50
48
  <% end %>
51
49
  <% end %>
52
50
 
@@ -63,9 +61,9 @@
63
61
  }
64
62
  ) do |button| %>
65
63
  <% button.with_picker %>
66
- <% button.with_text { "Text colour" } %>
64
+ <% button.with_text { tt("text_color_picker.label") } %>
67
65
  <% button.with_icon do %>
68
- <svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="editor-icon-text-color">
66
+ <svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
69
67
  <path d="M4.99994 13.3333L9.99994 3.33334L14.9999 13.3333" stroke="#111827" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
70
68
  <path d="M6.66656 10H13.3332" stroke="#111827" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
71
69
  <rect x="2.25" y="15.25" width="15.5" height="2.5" rx="1.25" fill="currentColor" stroke="#111827" stroke-width="0.5"/>
@@ -79,7 +77,7 @@
79
77
  <% section.with_button(
80
78
  icon: :undo_2,
81
79
  click: "history.undo",
82
- tooltip: "Undo",
80
+ tooltip: tt("undo_button.tooltip"),
83
81
  theme: :text_secondary,
84
82
  disabled: true,
85
83
  x: { "effect": "disabled = saving || !history.undoable" },
@@ -91,7 +89,7 @@
91
89
  <% section.with_button(
92
90
  icon: :redo_2,
93
91
  click: "history.redo",
94
- tooltip: "Redo",
92
+ tooltip: tt("redo_button.tooltip"),
95
93
  theme: :text_secondary,
96
94
  disabled: true,
97
95
  x: { "effect": "disabled = saving || !history.redoable" },
@@ -104,19 +102,18 @@
104
102
  theme: :positive,
105
103
  icon: :check,
106
104
  collapsible: false,
107
- type: "submit",
108
105
  disabled: true,
109
106
  data: {
110
107
  role: "save"
111
108
  },
112
109
  x: {
113
- "@click.stop.prevent": "if(!loading) save()",
110
+ "@click.stop.prevent": "if(!saving) save()",
114
111
  "effect": "loading = saving; disabled = !history.undoable",
115
112
  ":class": "{'editor-saving': saving}"
116
113
  }
117
114
  ) do |button| %>
118
- <% button.with_state(:loading, text: "Saving...") %>
119
- Save
115
+ <% button.with_state(:loading, text: tt("save_button.saving_label")) %>
116
+ <%= tt("save_button.label") %>
120
117
  <% end %>
121
118
  <% end %>
122
119
  <% end %>
@@ -136,8 +133,7 @@
136
133
  role: "slide"
137
134
  },
138
135
  x: {
139
- ":style": "slideStyles",
140
- ":class": "slideClasses",
136
+ bind: "slide"
141
137
  }
142
138
  ) do |slide| %>
143
139
  <% if title? %>
@@ -153,24 +149,20 @@
153
149
  <% end %>
154
150
  <% end %>
155
151
  </div>
156
-
157
- <% if content %>
158
- <div
159
- class="editor-form"
160
- x-ref="form"
161
- @turbo:submit-end="submitSuccess"
162
- @turbo:fetch-request-error="submitError"
163
- @direct-upload:error="directUploadError"
164
- @direct-uploads:end="save">
165
- <%= content %>
166
- </div>
167
- <% end %>
168
152
 
169
- <% if false && thumbnail? %>
153
+ <% if generate_thumbnail? %>
170
154
  <%# Slide used for thumbnail generation %>
171
- <div class="editor-screenshot-wrapper">
172
- <div x-ref="screenshot" class="editor-screenshot">
173
- <%= coco_editable_slide(**slide_args) do |slide| %>
155
+ <div class="editor-thumbnail-wrapper">
156
+ <div x-ref="thumbnail" class="editor-thumbnail">
157
+ <%= coco_editable_slide(
158
+ **slide_args,
159
+ data: {
160
+ role: "slide-thumbnail"
161
+ },
162
+ x: {
163
+ bind: "slide"
164
+ }
165
+ ) do |slide| %>
174
166
  <% if title? %>
175
167
  <% slide.with_title do %>
176
168
  <span x-text="title"></span>
@@ -187,4 +179,14 @@
187
179
  </div>
188
180
  <% end %>
189
181
 
182
+ <% if content %>
183
+ <div
184
+ class="editor-form"
185
+ x-ref="form"
186
+ @turbo:submit-end="submitEnd"
187
+ @turbo:fetch-request-error="submitError"
188
+ @direct-upload:error="directUploadError">
189
+ <%= content %>
190
+ </div>
191
+ <% end %>
190
192
  <% end %>
@@ -5,13 +5,6 @@ import { isDark } from "@helpers/color";
5
5
  import { wasSuccessful } from "@helpers/turbo_events";
6
6
  import { withUndo } from "@js/base/mixins";
7
7
 
8
- const thumbnailOpts = {
9
- canvasWidth: 800,
10
- canvasHeight: 500,
11
- quality: 0.7,
12
- pixelRatio: 1,
13
- };
14
-
15
8
  export default CocoComponent("appSlideEditor", (data) => {
16
9
  const initialData = {
17
10
  layout: data.layout,
@@ -44,9 +37,6 @@ export default CocoComponent("appSlideEditor", (data) => {
44
37
  },
45
38
 
46
39
  init() {
47
- // Update thumbnail field when new thumbnail is generated
48
- this.$watch("thumbnailFile", () => this._syncThumbnailField());
49
-
50
40
  this.$watch("errors", (errors) => {
51
41
  errors.forEach((error) => console.error(error.message)); // TODO display errors properly!
52
42
  });
@@ -82,67 +72,76 @@ export default CocoComponent("appSlideEditor", (data) => {
82
72
  },
83
73
 
84
74
  async save() {
85
- this.errors.length = 0;
75
+ this.clearErrors();
86
76
  this.saving = true;
87
77
 
88
- if (this.shouldGenerateThumbnail) {
78
+ if (this.$refs.thumbnail) {
89
79
  try {
90
80
  await this._generateThumbnail();
91
81
  } catch (error) {
92
82
  this.thumbnailFile = null;
93
83
  message = error.message || "Error generating slide thumbnail";
94
- this._handleSaveError(message, { error });
84
+ this.handleSaveError(message, { error });
95
85
  return;
96
86
  }
97
87
  }
98
88
 
99
- if (this.$refs.form) {
100
- this.$refs.form.querySelector("form").requestSubmit();
89
+ const form = this.$refs.form && this.$refs.form.querySelector("form");
90
+
91
+ if (form && form.dataset.submit !== "false") {
92
+ const submitButton = form.querySelector("[type='submit']");
93
+ if (submitButton) {
94
+ submitButton.click();
95
+ } else {
96
+ this.handleSaveError("Slide form is missing a submit button");
97
+ }
101
98
  } else {
102
99
  this.submitSuccess();
103
100
  }
104
101
  },
105
102
 
106
- submitEnd(event) {
107
- handler = wasSuccessful(event) ? "submitSuccess" : "submitError";
108
- this[handler](event);
103
+ submitEnd($event) {
104
+ this[wasSuccessful($event) ? "submitSuccess" : "submitError"]($event);
109
105
  },
110
106
 
111
- submitSuccess() {
107
+ submitSuccess($event) {
112
108
  this.history.clear();
113
109
  this._fields.forEach((name) => (this.saved[name] = this[name]));
114
110
  this.saving = false;
115
111
 
116
- console.info("Custom slide saved");
112
+ console.info("Slide changes saved");
117
113
  this.$dispatch("slide:save-end", { success: true });
118
114
  },
119
115
 
120
116
  submitError($event) {
121
- message = "Error saving slide";
122
- this._handleSaveError(message, { event: $event });
117
+ const message = "Error saving slide - form could not be submitted";
118
+ this.handleSaveError(message, { event: $event });
123
119
  },
124
120
 
125
121
  directUploadError($event) {
126
- $event.preventDefault();
127
- this._handleSaveError($event.detail.error, { event: $event });
122
+ $event.preventDefault(); // prevent generic alert dialog error
123
+
124
+ const message = $event.detail.error || "Error uploading file to storage";
125
+ this.handleSaveError(message, { event: $event });
128
126
  },
129
127
 
130
- syncImageField(el, image) {
131
- const dataTransfer = new DataTransfer();
132
- if (image.file && image.file instanceof File) {
133
- dataTransfer.items.add(image.file);
134
- }
135
- el.files = dataTransfer.files;
128
+ handleSaveError(message = "Error saving slide", context = {}) {
129
+ this.errors.push({ message, context });
130
+ this.saving = false;
131
+
132
+ this.$dispatch("slide:save-end", { success: false });
136
133
  },
137
134
 
138
- input: {
139
- layout: { "x-model.fill": "layout" },
140
- title: { "x-model.fill": "title" },
141
- text1: { "x-model.fill": "text1" },
142
- bgColor: { "x-model.fill": "bgColorHex" },
143
- textColor: { "x-model.fill": "textColorHex" },
144
- bgImage: { "x-effect": "syncImageField($el, bgImage)" },
145
- bgImagePurge: { ":checked": "!hasBgImage" },
135
+ clearErrors() {
136
+ this.errors.length = 0;
137
+ },
138
+
139
+ syncFileInput(input, file) {
140
+ const dataTransfer = new DataTransfer();
141
+ if (file && file instanceof File) {
142
+ dataTransfer.items.add(file);
143
+ }
144
+ input.files = dataTransfer.files;
146
145
  },
147
146
 
148
147
  get hasBgImage() {
@@ -157,48 +156,18 @@ export default CocoComponent("appSlideEditor", (data) => {
157
156
  return this.textColor.replace("#", "");
158
157
  },
159
158
 
160
- get slideStyles() {
161
- return {
162
- backgroundColor: this.bgColor,
163
- color: this.textColor,
164
- backgroundImage: this.hasBgImage
165
- ? `url('${this.bgImage.data}')`
166
- : "none",
167
- };
168
- },
169
-
170
- get slideClasses() {
171
- return {
172
- "slide-bg-dark": this.isDarkBg,
173
- "slide-bg-light": !this.isDarkBg,
174
- };
175
- },
176
-
177
159
  get isDarkBg() {
178
160
  return this.hasBgImage || this.bgColor ? isDark(this.bgColor) : false;
179
161
  },
180
162
 
181
- get shouldGenerateThumbnail() {
182
- return !!this.$refs.thumbnail;
183
- },
184
-
185
163
  get _fields() {
186
164
  return Object.keys(initialData);
187
165
  },
188
166
 
189
167
  async _generateThumbnail() {
190
- const screenshotSlide = this.$refs.screenshot.firstElementChild;
191
-
192
- // The HTML-to-image library didn't like these styles being dynamically
193
- // bound in the usual Alpine way so we have to manually apply them instead.
194
- for (const [key, value] of Object.entries(this.slideStyles)) {
195
- screenshotSlide.style[key] = value;
196
- }
197
-
198
168
  this.thumbnailFile = await captureElementScreenshot(
199
- screenshotSlide,
200
- "slide-thumbnail",
201
- thumbnailOpts
169
+ this.$refs.thumbnail.firstElementChild,
170
+ "slide-thumbnail"
202
171
  );
203
172
 
204
173
  console.info(
@@ -207,25 +176,35 @@ export default CocoComponent("appSlideEditor", (data) => {
207
176
  );
208
177
  },
209
178
 
210
- // Called whenever a new thumbnail is generated,
211
- // adds the thumbnail file to the hidden thumbnail file
212
- // input upload field.
213
- _syncThumbnailField() {
214
- const dataTransfer = new DataTransfer();
215
- if (this.thumbnailFile instanceof File) {
216
- dataTransfer.items.add(this.thumbnailFile);
217
- }
218
- this.$refs.thumbnail.files = dataTransfer.files;
219
- },
179
+ /* bindings */
220
180
 
221
- _handleSaveError(message = "Error saving slide", context = {}) {
222
- this.errors.push({ message, context });
223
- this.errors.forEach((err) => {
224
- console.log(err.message);
225
- });
226
- this.saving = false;
181
+ slide: {
182
+ [":style"]() {
183
+ return {
184
+ backgroundColor: this.bgColor,
185
+ color: this.textColor,
186
+ backgroundImage: this.hasBgImage
187
+ ? `url('${this.bgImage.data}')`
188
+ : "none",
189
+ };
190
+ },
191
+ [":class"]() {
192
+ return {
193
+ "slide-bg-dark": this.isDarkBg,
194
+ "slide-bg-light": !this.isDarkBg,
195
+ };
196
+ },
197
+ },
227
198
 
228
- this.$dispatch("slide:save-end", { success: false });
199
+ input: {
200
+ layout: { "x-model.fill": "layout" },
201
+ title: { "x-model.fill": "title" },
202
+ text1: { "x-model.fill": "text1" },
203
+ bgColor: { "x-model.fill": "bgColorHex" },
204
+ textColor: { "x-model.fill": "textColorHex" },
205
+ bgImage: { "x-effect": "syncFileInput($el, bgImage.file)" },
206
+ bgImagePurge: { ":checked": "!hasBgImage" },
207
+ thumbnailImage: { "x-effect": "syncFileInput($el, thumbnailFile)" },
229
208
  },
230
209
  };
231
210
  });
@@ -6,8 +6,6 @@ module Coco
6
6
  include Coco::BookHelper
7
7
  include Coco::FormatHelper
8
8
 
9
- renders_one :form
10
-
11
9
  renders_one :title, ->(value = nil, **textarea_options) do
12
10
  Coco::App::Elements::SeamlessTextarea.new(**textarea_options,
13
11
  value: value,
@@ -37,9 +35,11 @@ module Coco
37
35
  @bg_image_options = {src: src, **input_options}
38
36
  end
39
37
 
40
- # renders_one :thumbnail, ->(name: :thumbnail_image, **input_options) do
41
- # add_field(:thumbnail, name, input_options)
42
- # end
38
+ def initialize(generate_thumbnail: true, **kwargs)
39
+ @generate_thumbnail = generate_thumbnail
40
+ end
41
+
42
+ def generate_thumbnail? = @generate_thumbnail
43
43
 
44
44
  def slide_args
45
45
  {
@@ -6,7 +6,7 @@
6
6
  @apply transition-all overflow-hidden;
7
7
  border-radius: 44px;
8
8
 
9
- .button-content {
9
+ & > .button-element .button-content {
10
10
  @apply font-semibold;
11
11
  }
12
12
  }
@@ -23,7 +23,7 @@
23
23
  @apply bg-primary-700;
24
24
  }
25
25
 
26
- &[data-state="loading"] .button-icon {
26
+ &[data-state="loading"] > .button-element .button-icon {
27
27
  @apply text-positive-300;
28
28
  }
29
29
 
@@ -44,7 +44,7 @@
44
44
  @apply bg-gray-blend-100;
45
45
  }
46
46
 
47
- &[data-state="loading"] .button-icon {
47
+ &[data-state="loading"] > .button-element .button-icon {
48
48
  @apply text-positive-300;
49
49
  }
50
50
 
@@ -65,7 +65,7 @@
65
65
  @apply bg-gray-blend-100;
66
66
  }
67
67
 
68
- &[data-state="loading"] .button-icon {
68
+ &[data-state="loading"] > .button-element .button-icon {
69
69
  @apply text-positive-300;
70
70
  }
71
71
 
@@ -86,7 +86,7 @@
86
86
  @apply bg-gray-blend-100;
87
87
  }
88
88
 
89
- &[data-state="loading"] .button-icon {
89
+ &[data-state="loading"] > .button-element .button-icon {
90
90
  @apply text-positive-300;
91
91
  }
92
92
 
@@ -106,7 +106,7 @@
106
106
  @apply bg-negative-800;
107
107
  }
108
108
 
109
- &[data-state="loading"] .button-icon {
109
+ &[data-state="loading"] > .button-element .button-icon {
110
110
  @apply text-negative-300;
111
111
  }
112
112
 
@@ -126,7 +126,7 @@
126
126
  @apply bg-gray-blend-100;
127
127
  }
128
128
 
129
- &[data-state="loading"] .button-icon {
129
+ &[data-state="loading"] > .button-element .button-icon {
130
130
  @apply text-negative-300;
131
131
  }
132
132
 
@@ -146,7 +146,7 @@
146
146
  @apply bg-warning-800;
147
147
  }
148
148
 
149
- &[data-state="loading"] .button-icon {
149
+ &[data-state="loading"] > .button-element .button-icon {
150
150
  @apply text-warning-300;
151
151
  }
152
152
 
@@ -166,7 +166,7 @@
166
166
  @apply bg-gray-blend-100;
167
167
  }
168
168
 
169
- &[data-state="loading"] .button-icon {
169
+ &[data-state="loading"] > .button-element .button-icon {
170
170
  @apply text-warning-300;
171
171
  }
172
172
 
@@ -186,7 +186,7 @@
186
186
  @apply bg-info-800;
187
187
  }
188
188
 
189
- &[data-state="loading"] .button-icon {
189
+ &[data-state="loading"] > .button-element .button-icon {
190
190
  @apply text-info-300;
191
191
  }
192
192
 
@@ -206,7 +206,7 @@
206
206
  @apply bg-gray-blend-100;
207
207
  }
208
208
 
209
- &[data-state="loading"] .button-icon {
209
+ &[data-state="loading"] > .button-element .button-icon {
210
210
  @apply text-info-300;
211
211
  }
212
212
 
@@ -7,14 +7,14 @@ module Coco
7
7
 
8
8
  DEFAULT_SWATCHES = [
9
9
  {color: "#111827"},
10
+ {color: "#F3F4F6"},
10
11
  {color: "#FFFFFF"},
11
- {color: "#E78188"},
12
- {color: "#D50201"},
13
- {color: "#FC5C0E"},
14
12
  {color: "#FEC878"},
15
- {color: "#F5EEE6"},
16
- {color: "#C1DAA9"},
13
+ {color: "#FC5C0E"},
14
+ {color: "#D50201"},
17
15
  {color: "#1A8871"},
16
+ {color: "#C1DAA9"},
17
+ {color: "#F5EEE6"},
18
18
  {color: "#91C7E1"},
19
19
  {color: "#0164FF"},
20
20
  {color: "#3A2D86"}
@@ -41,7 +41,7 @@
41
41
 
42
42
  /* loading */
43
43
 
44
- &[data-state="loading"] .button-icon {
44
+ &[data-state="loading"] > .button-element .button-icon {
45
45
  @apply animate-spin;
46
46
  }
47
47
 
@@ -53,7 +53,7 @@
53
53
 
54
54
  /* Icons */
55
55
 
56
- &[data-icon-position="end"] {
56
+ &[data-icon-position="end"] > .button-element {
57
57
  .button-content {
58
58
  @apply order-1;
59
59
  }
@@ -67,7 +67,7 @@
67
67
  }
68
68
  }
69
69
 
70
- &.with-icon[data-collapsed="true"] {
70
+ &.with-icon[data-collapsed="true"] > .button-element {
71
71
  .button-content {
72
72
  display: none;
73
73
  }
@@ -24,7 +24,7 @@
24
24
  class="button-icon"
25
25
  x-ref="<%= name %>Icon"
26
26
  x-show="showIcon('<%= name %>')"
27
- <%= "x-cloak" unless name == :default %>>
27
+ <%= "x-cloak" unless name.to_sym == :default %>>
28
28
  <%= props[:icon] %>
29
29
  </span>
30
30
  <% else %>
@@ -42,7 +42,7 @@
42
42
  class="button-content"
43
43
  x-ref="<%= name %>Content"
44
44
  x-show="showContent('<%= name %>')"
45
- <%= "x-cloak" unless name == :default %>>
45
+ <%= "x-cloak" unless name.to_sym == :default %>>
46
46
  <%= props[:text] %>
47
47
  </span>
48
48
  <% else %>
@@ -31,11 +31,8 @@ export default CocoComponent("button", (data = {}) => {
31
31
  return;
32
32
  }
33
33
 
34
- this.setTooltipText();
35
34
  this.$root.setAttribute("data-collapsed", collapsed ? "true" : "false");
36
35
  });
37
-
38
- this.$watch("$options.state", () => this.setTooltipText());
39
36
  },
40
37
 
41
38
  setTooltipText() {
@@ -178,6 +175,7 @@ export default CocoComponent("button", (data = {}) => {
178
175
  root: {
179
176
  "x-options": "options",
180
177
  "x-tooltip": "tooltipText",
178
+ "x-effect": "setTooltipText",
181
179
  "@confirmation:confirm": "approveAndRun",
182
180
  "@confirmation:cancel": "cancelConfirmation",
183
181
  "@dropdown:show": "setState('active')",
@@ -32,7 +32,7 @@ module Coco
32
32
  end
33
33
 
34
34
  def render?
35
- @has_content || @render_empty == true
35
+ @has_content || bg_image.present? || @render_empty == true
36
36
  end
37
37
 
38
38
  def slide_styles
@@ -2,6 +2,7 @@ module Coco
2
2
  class Component < ViewComponent::Base
3
3
  include Concerns::AcceptsTagAttributes
4
4
  include Concerns::HasName
5
+ include Concerns::Translatable
5
6
  include Coco::ComponentHelper
6
7
  include Coco::AlpineHelper
7
8
 
@@ -19,7 +19,7 @@ module Coco
19
19
  end
20
20
  end
21
21
 
22
- private
22
+ protected
23
23
 
24
24
  def component_group
25
25
  @_component_group ||= component_path.split("::").first.underscore.tr("_", "-")
@@ -0,0 +1,18 @@
1
+ module Coco
2
+ module Concerns
3
+ module Translatable
4
+ extend ActiveSupport::Concern
5
+
6
+ def tt(key)
7
+ t("coco.#{self.class.i18n_path}.#{key}")
8
+ end
9
+
10
+ class_methods do
11
+ def i18n_path(path = nil)
12
+ @_i18n_path = path unless path.nil?
13
+ @_i18n_path ||= component_path.underscore.tr("/", ".")
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1 @@
1
+ 265f649a303f0c2cbbfc9cfece75a181
@@ -0,0 +1 @@
1
+ j8VyKMx4mwRZArG1zS/oqUw1F6/UD0hQQ5sujzeTTBlNAuCTkLiuoiyAXnJV9FtR90T765ll/50wFbw0MFtk8nAzPJg=--TOqZsXP2UCs2CSMx--xYL00fHdXoCd+/xpGro01g==