matestack-ui-core 1.3.2 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (400) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +17 -5
  3. data/README.md +98 -113
  4. data/Rakefile +0 -2
  5. data/lib/matestack/ui/app.rb +1 -0
  6. data/lib/matestack/ui/component.rb +1 -0
  7. data/lib/matestack/ui/core.rb +60 -10
  8. data/lib/matestack/ui/core/app.rb +36 -0
  9. data/lib/matestack/ui/core/base.rb +117 -0
  10. data/lib/matestack/ui/core/component.rb +8 -0
  11. data/lib/matestack/ui/core/context.rb +17 -0
  12. data/lib/matestack/ui/core/helper.rb +91 -0
  13. data/lib/matestack/ui/core/page.rb +57 -0
  14. data/lib/matestack/ui/core/properties.rb +105 -0
  15. data/lib/matestack/ui/core/slots.rb +15 -0
  16. data/lib/matestack/ui/core/tag_helper.rb +94 -0
  17. data/lib/matestack/ui/core/version.rb +1 -1
  18. data/lib/matestack/ui/core/vue_attributes.rb +13 -0
  19. data/lib/matestack/ui/page.rb +1 -0
  20. data/{app/concepts/matestack/ui/core → lib/matestack/ui/vue_js}/app/app.js +2 -3
  21. data/{app/concepts/matestack/ui/core → lib/matestack/ui/vue_js}/app/location.js +0 -0
  22. data/{app/concepts/matestack/ui/core → lib/matestack/ui/vue_js}/app/store.js +1 -1
  23. data/lib/matestack/ui/vue_js/components.rb +111 -0
  24. data/lib/matestack/ui/vue_js/components/action.js +151 -0
  25. data/lib/matestack/ui/vue_js/components/action.rb +46 -0
  26. data/{app/concepts/matestack/ui/core/async → lib/matestack/ui/vue_js/components}/async.js +22 -22
  27. data/lib/matestack/ui/vue_js/components/async.rb +84 -0
  28. data/{app/concepts/matestack/ui/core/cable → lib/matestack/ui/vue_js/components}/cable.js +14 -14
  29. data/lib/matestack/ui/vue_js/components/cable.rb +69 -0
  30. data/{app/concepts/matestack/ui/core/collection/content → lib/matestack/ui/vue_js/components/collection}/content.js +21 -22
  31. data/lib/matestack/ui/vue_js/components/collection/content.rb +32 -0
  32. data/lib/matestack/ui/vue_js/components/collection/filter.js +46 -0
  33. data/lib/matestack/ui/vue_js/components/collection/filter.rb +29 -0
  34. data/lib/matestack/ui/vue_js/components/collection/filter_reset.rb +19 -0
  35. data/{app/concepts/matestack/ui/core → lib/matestack/ui/vue_js/components}/collection/helper.rb +68 -61
  36. data/lib/matestack/ui/vue_js/components/collection/next.rb +19 -0
  37. data/lib/matestack/ui/vue_js/components/collection/order.js +46 -0
  38. data/lib/matestack/ui/vue_js/components/collection/order.rb +28 -0
  39. data/lib/matestack/ui/vue_js/components/collection/order_toggle.rb +21 -0
  40. data/lib/matestack/ui/vue_js/components/collection/order_toggle_indicator.rb +30 -0
  41. data/lib/matestack/ui/vue_js/components/collection/page.rb +21 -0
  42. data/lib/matestack/ui/vue_js/components/collection/previous.rb +19 -0
  43. data/lib/matestack/ui/vue_js/components/form/base.rb +171 -0
  44. data/{app/concepts/matestack/ui/core/form/checkbox → lib/matestack/ui/vue_js/components/form}/checkbox.js +2 -2
  45. data/lib/matestack/ui/vue_js/components/form/checkbox.rb +105 -0
  46. data/{app/concepts/matestack/ui/core/form/checkbox/mixin.js → lib/matestack/ui/vue_js/components/form/checkbox_mixin.js} +16 -26
  47. data/lib/matestack/ui/vue_js/components/form/context.rb +15 -0
  48. data/lib/matestack/ui/vue_js/components/form/fields_for_add_item.rb +35 -0
  49. data/lib/matestack/ui/vue_js/components/form/fields_for_remove_item.rb +19 -0
  50. data/lib/matestack/ui/vue_js/components/form/form.js +473 -0
  51. data/lib/matestack/ui/vue_js/components/form/form.rb +84 -0
  52. data/{app/concepts/matestack/ui/core/form/input → lib/matestack/ui/vue_js/components/form}/input.js +2 -2
  53. data/lib/matestack/ui/vue_js/components/form/input.rb +42 -0
  54. data/{app/concepts/matestack/ui/core/form/input/mixin.js → lib/matestack/ui/vue_js/components/form/input_mixin.js} +9 -11
  55. data/{app/concepts/matestack/ui/core/form/radio → lib/matestack/ui/vue_js/components/form}/radio.js +2 -2
  56. data/lib/matestack/ui/vue_js/components/form/radio.rb +76 -0
  57. data/{app/concepts/matestack/ui/core/form/radio/mixin.js → lib/matestack/ui/vue_js/components/form/radio_mixin.js} +12 -19
  58. data/{app/concepts/matestack/ui/core/form/select → lib/matestack/ui/vue_js/components/form}/select.js +2 -2
  59. data/lib/matestack/ui/vue_js/components/form/select.rb +88 -0
  60. data/{app/concepts/matestack/ui/core/form/select/mixin.js → lib/matestack/ui/vue_js/components/form/select_mixin.js} +12 -15
  61. data/{app/concepts/matestack/ui/core/form/textarea → lib/matestack/ui/vue_js/components/form}/textarea.js +2 -2
  62. data/lib/matestack/ui/vue_js/components/form/textarea.rb +37 -0
  63. data/{app/concepts/matestack/ui/core/form/textarea/mixin.js → lib/matestack/ui/vue_js/components/form/textarea_mixin.js} +8 -12
  64. data/{app/concepts/matestack/ui/core/isolated → lib/matestack/ui/vue_js/components}/isolated.js +19 -19
  65. data/lib/matestack/ui/vue_js/components/isolated.rb +86 -0
  66. data/{app/concepts/matestack/ui/core/component/component.js → lib/matestack/ui/vue_js/components/mixin.js} +2 -2
  67. data/{app/concepts/matestack/ui/core/onclick → lib/matestack/ui/vue_js/components}/onclick.js +3 -4
  68. data/lib/matestack/ui/vue_js/components/onclick.rb +37 -0
  69. data/{app/concepts/matestack/ui/core/toggle → lib/matestack/ui/vue_js/components}/toggle.js +17 -17
  70. data/lib/matestack/ui/vue_js/components/toggle.rb +38 -0
  71. data/{app/concepts/matestack/ui/core/transition → lib/matestack/ui/vue_js/components}/transition.js +6 -6
  72. data/lib/matestack/ui/vue_js/components/transition.rb +40 -0
  73. data/lib/matestack/ui/vue_js/event_hub.js +5 -0
  74. data/{app/concepts/matestack/ui/core/js/helpers/query-params-helper.js → lib/matestack/ui/vue_js/helpers/query_params_helper.js} +0 -0
  75. data/lib/matestack/ui/vue_js/index.js +52 -0
  76. data/lib/matestack/ui/vue_js/initialize.rb +5 -0
  77. data/{app/concepts/matestack/ui/core/page/content → lib/matestack/ui/vue_js/page}/content.js +1 -1
  78. data/lib/matestack/ui/vue_js/vue.rb +63 -0
  79. data/lib/matestack/ui/vue_js_component.rb +2 -0
  80. metadata +79 -406
  81. data/app/concepts/matestack/ui/core/abbr/abbr.haml +0 -5
  82. data/app/concepts/matestack/ui/core/abbr/abbr.rb +0 -5
  83. data/app/concepts/matestack/ui/core/action/action.haml +0 -3
  84. data/app/concepts/matestack/ui/core/action/action.js +0 -152
  85. data/app/concepts/matestack/ui/core/action/action.rb +0 -80
  86. data/app/concepts/matestack/ui/core/actionview/dynamic.haml +0 -6
  87. data/app/concepts/matestack/ui/core/actionview/dynamic.rb +0 -28
  88. data/app/concepts/matestack/ui/core/actionview/static.haml +0 -1
  89. data/app/concepts/matestack/ui/core/actionview/static.rb +0 -28
  90. data/app/concepts/matestack/ui/core/address/address.haml +0 -5
  91. data/app/concepts/matestack/ui/core/address/address.rb +0 -5
  92. data/app/concepts/matestack/ui/core/app/app.haml +0 -3
  93. data/app/concepts/matestack/ui/core/app/app.rb +0 -51
  94. data/app/concepts/matestack/ui/core/area/area.haml +0 -1
  95. data/app/concepts/matestack/ui/core/area/area.rb +0 -6
  96. data/app/concepts/matestack/ui/core/article/article.haml +0 -5
  97. data/app/concepts/matestack/ui/core/article/article.rb +0 -5
  98. data/app/concepts/matestack/ui/core/aside/aside.haml +0 -3
  99. data/app/concepts/matestack/ui/core/aside/aside.rb +0 -4
  100. data/app/concepts/matestack/ui/core/async/async.haml +0 -6
  101. data/app/concepts/matestack/ui/core/async/async.rb +0 -37
  102. data/app/concepts/matestack/ui/core/async/children_wrapper.haml +0 -2
  103. data/app/concepts/matestack/ui/core/b/b.haml +0 -5
  104. data/app/concepts/matestack/ui/core/b/b.rb +0 -5
  105. data/app/concepts/matestack/ui/core/bdi/bdi.haml +0 -5
  106. data/app/concepts/matestack/ui/core/bdi/bdi.rb +0 -5
  107. data/app/concepts/matestack/ui/core/bdo/bdo.haml +0 -5
  108. data/app/concepts/matestack/ui/core/bdo/bdo.rb +0 -6
  109. data/app/concepts/matestack/ui/core/blockquote/blockquote.haml +0 -5
  110. data/app/concepts/matestack/ui/core/blockquote/blockquote.rb +0 -6
  111. data/app/concepts/matestack/ui/core/br/br.haml +0 -5
  112. data/app/concepts/matestack/ui/core/br/br.rb +0 -5
  113. data/app/concepts/matestack/ui/core/button/button.haml +0 -5
  114. data/app/concepts/matestack/ui/core/button/button.rb +0 -7
  115. data/app/concepts/matestack/ui/core/cable/cable.haml +0 -4
  116. data/app/concepts/matestack/ui/core/cable/cable.rb +0 -28
  117. data/app/concepts/matestack/ui/core/cable/children_wrapper.haml +0 -2
  118. data/app/concepts/matestack/ui/core/caption/caption.haml +0 -5
  119. data/app/concepts/matestack/ui/core/caption/caption.rb +0 -5
  120. data/app/concepts/matestack/ui/core/cite/cite.haml +0 -5
  121. data/app/concepts/matestack/ui/core/cite/cite.rb +0 -5
  122. data/app/concepts/matestack/ui/core/code/code.haml +0 -5
  123. data/app/concepts/matestack/ui/core/code/code.rb +0 -5
  124. data/app/concepts/matestack/ui/core/collection/content/content.rb +0 -16
  125. data/app/concepts/matestack/ui/core/collection/content/next/next.haml +0 -3
  126. data/app/concepts/matestack/ui/core/collection/content/next/next.rb +0 -5
  127. data/app/concepts/matestack/ui/core/collection/content/page/link/link.haml +0 -3
  128. data/app/concepts/matestack/ui/core/collection/content/page/link/link.rb +0 -7
  129. data/app/concepts/matestack/ui/core/collection/content/previous/previous.haml +0 -3
  130. data/app/concepts/matestack/ui/core/collection/content/previous/previous.rb +0 -5
  131. data/app/concepts/matestack/ui/core/collection/filter/filter.js +0 -48
  132. data/app/concepts/matestack/ui/core/collection/filter/filter.rb +0 -16
  133. data/app/concepts/matestack/ui/core/collection/filter/input/input.rb +0 -28
  134. data/app/concepts/matestack/ui/core/collection/filter/reset/reset.haml +0 -3
  135. data/app/concepts/matestack/ui/core/collection/filter/reset/reset.rb +0 -5
  136. data/app/concepts/matestack/ui/core/collection/filter/select/select.haml +0 -10
  137. data/app/concepts/matestack/ui/core/collection/filter/select/select.rb +0 -30
  138. data/app/concepts/matestack/ui/core/collection/filter/submit/submit.haml +0 -3
  139. data/app/concepts/matestack/ui/core/collection/filter/submit/submit.rb +0 -5
  140. data/app/concepts/matestack/ui/core/collection/order/order.js +0 -56
  141. data/app/concepts/matestack/ui/core/collection/order/order.rb +0 -16
  142. data/app/concepts/matestack/ui/core/collection/order/toggle/indicator/indicator.rb +0 -17
  143. data/app/concepts/matestack/ui/core/collection/order/toggle/toggle.haml +0 -3
  144. data/app/concepts/matestack/ui/core/collection/order/toggle/toggle.rb +0 -4
  145. data/app/concepts/matestack/ui/core/component/anonym-dynamic-component.js +0 -10
  146. data/app/concepts/matestack/ui/core/component/base.rb +0 -430
  147. data/app/concepts/matestack/ui/core/component/children.haml +0 -2
  148. data/app/concepts/matestack/ui/core/component/dynamic.haml +0 -6
  149. data/app/concepts/matestack/ui/core/component/dynamic.rb +0 -47
  150. data/app/concepts/matestack/ui/core/component/dynamic_without_rerender.haml +0 -2
  151. data/app/concepts/matestack/ui/core/component/static.rb +0 -7
  152. data/app/concepts/matestack/ui/core/data/data.haml +0 -5
  153. data/app/concepts/matestack/ui/core/data/data.rb +0 -6
  154. data/app/concepts/matestack/ui/core/datalist/datalist.haml +0 -3
  155. data/app/concepts/matestack/ui/core/datalist/datalist.rb +0 -4
  156. data/app/concepts/matestack/ui/core/dd/dd.haml +0 -5
  157. data/app/concepts/matestack/ui/core/dd/dd.rb +0 -5
  158. data/app/concepts/matestack/ui/core/del/del.haml +0 -5
  159. data/app/concepts/matestack/ui/core/del/del.rb +0 -6
  160. data/app/concepts/matestack/ui/core/details/details.haml +0 -3
  161. data/app/concepts/matestack/ui/core/details/details.rb +0 -5
  162. data/app/concepts/matestack/ui/core/dfn/dfn.haml +0 -5
  163. data/app/concepts/matestack/ui/core/dfn/dfn.rb +0 -6
  164. data/app/concepts/matestack/ui/core/dialog/dialog.haml +0 -5
  165. data/app/concepts/matestack/ui/core/dialog/dialog.rb +0 -6
  166. data/app/concepts/matestack/ui/core/div/div.haml +0 -3
  167. data/app/concepts/matestack/ui/core/div/div.rb +0 -4
  168. data/app/concepts/matestack/ui/core/dl/dl.haml +0 -5
  169. data/app/concepts/matestack/ui/core/dl/dl.rb +0 -5
  170. data/app/concepts/matestack/ui/core/dt/dt.haml +0 -5
  171. data/app/concepts/matestack/ui/core/dt/dt.rb +0 -5
  172. data/app/concepts/matestack/ui/core/em/em.haml +0 -5
  173. data/app/concepts/matestack/ui/core/em/em.rb +0 -5
  174. data/app/concepts/matestack/ui/core/fieldset/fieldset.haml +0 -5
  175. data/app/concepts/matestack/ui/core/fieldset/fieldset.rb +0 -6
  176. data/app/concepts/matestack/ui/core/figure/figure.haml +0 -3
  177. data/app/concepts/matestack/ui/core/figure/figure.rb +0 -4
  178. data/app/concepts/matestack/ui/core/footer/footer.haml +0 -3
  179. data/app/concepts/matestack/ui/core/footer/footer.rb +0 -4
  180. data/app/concepts/matestack/ui/core/form/checkbox/base.rb +0 -120
  181. data/app/concepts/matestack/ui/core/form/checkbox/checkbox.rb +0 -16
  182. data/app/concepts/matestack/ui/core/form/form.haml +0 -2
  183. data/app/concepts/matestack/ui/core/form/form.js +0 -275
  184. data/app/concepts/matestack/ui/core/form/form.rb +0 -104
  185. data/app/concepts/matestack/ui/core/form/has_errors.rb +0 -54
  186. data/app/concepts/matestack/ui/core/form/has_input_html_attributes.rb +0 -13
  187. data/app/concepts/matestack/ui/core/form/input/base.rb +0 -75
  188. data/app/concepts/matestack/ui/core/form/input/input.rb +0 -17
  189. data/app/concepts/matestack/ui/core/form/radio/base.rb +0 -90
  190. data/app/concepts/matestack/ui/core/form/radio/radio.rb +0 -16
  191. data/app/concepts/matestack/ui/core/form/select/base.rb +0 -98
  192. data/app/concepts/matestack/ui/core/form/select/select.rb +0 -19
  193. data/app/concepts/matestack/ui/core/form/submit/base.rb +0 -12
  194. data/app/concepts/matestack/ui/core/form/submit/submit.js +0 -19
  195. data/app/concepts/matestack/ui/core/form/submit/submit.rb +0 -15
  196. data/app/concepts/matestack/ui/core/form/textarea/base.rb +0 -49
  197. data/app/concepts/matestack/ui/core/form/textarea/textarea.rb +0 -17
  198. data/app/concepts/matestack/ui/core/form/utils.rb +0 -47
  199. data/app/concepts/matestack/ui/core/header/header.haml +0 -3
  200. data/app/concepts/matestack/ui/core/header/header.rb +0 -4
  201. data/app/concepts/matestack/ui/core/heading/heading.haml +0 -5
  202. data/app/concepts/matestack/ui/core/heading/heading.rb +0 -5
  203. data/app/concepts/matestack/ui/core/hr/hr.haml +0 -1
  204. data/app/concepts/matestack/ui/core/hr/hr.rb +0 -4
  205. data/app/concepts/matestack/ui/core/icon/icon.haml +0 -5
  206. data/app/concepts/matestack/ui/core/icon/icon.rb +0 -5
  207. data/app/concepts/matestack/ui/core/iframe/iframe.haml +0 -5
  208. data/app/concepts/matestack/ui/core/iframe/iframe.rb +0 -7
  209. data/app/concepts/matestack/ui/core/img/img.haml +0 -1
  210. data/app/concepts/matestack/ui/core/img/img.rb +0 -15
  211. data/app/concepts/matestack/ui/core/input/input.haml +0 -1
  212. data/app/concepts/matestack/ui/core/input/input.rb +0 -9
  213. data/app/concepts/matestack/ui/core/ins/ins.haml +0 -5
  214. data/app/concepts/matestack/ui/core/ins/ins.rb +0 -6
  215. data/app/concepts/matestack/ui/core/isolated/children_wrapper.haml +0 -2
  216. data/app/concepts/matestack/ui/core/isolated/isolated.haml +0 -10
  217. data/app/concepts/matestack/ui/core/isolated/isolated.rb +0 -59
  218. data/app/concepts/matestack/ui/core/js/core.js +0 -66
  219. data/app/concepts/matestack/ui/core/js/event-hub.js +0 -5
  220. data/app/concepts/matestack/ui/core/kbd/kbd.haml +0 -5
  221. data/app/concepts/matestack/ui/core/kbd/kbd.rb +0 -5
  222. data/app/concepts/matestack/ui/core/label/label.haml +0 -5
  223. data/app/concepts/matestack/ui/core/label/label.rb +0 -6
  224. data/app/concepts/matestack/ui/core/legend/legend.haml +0 -5
  225. data/app/concepts/matestack/ui/core/legend/legend.rb +0 -5
  226. data/app/concepts/matestack/ui/core/li/li.haml +0 -5
  227. data/app/concepts/matestack/ui/core/li/li.rb +0 -6
  228. data/app/concepts/matestack/ui/core/link/link.haml +0 -5
  229. data/app/concepts/matestack/ui/core/link/link.rb +0 -23
  230. data/app/concepts/matestack/ui/core/main/main.haml +0 -3
  231. data/app/concepts/matestack/ui/core/main/main.rb +0 -4
  232. data/app/concepts/matestack/ui/core/map/map.haml +0 -3
  233. data/app/concepts/matestack/ui/core/map/map.rb +0 -5
  234. data/app/concepts/matestack/ui/core/mark/mark.haml +0 -5
  235. data/app/concepts/matestack/ui/core/mark/mark.rb +0 -5
  236. data/app/concepts/matestack/ui/core/meter/meter.haml +0 -4
  237. data/app/concepts/matestack/ui/core/meter/meter.rb +0 -5
  238. data/app/concepts/matestack/ui/core/nav/nav.haml +0 -3
  239. data/app/concepts/matestack/ui/core/nav/nav.rb +0 -4
  240. data/app/concepts/matestack/ui/core/noscript/noscript.haml +0 -5
  241. data/app/concepts/matestack/ui/core/noscript/noscript.rb +0 -5
  242. data/app/concepts/matestack/ui/core/object/object.haml +0 -1
  243. data/app/concepts/matestack/ui/core/object/object.rb +0 -5
  244. data/app/concepts/matestack/ui/core/ol/ol.haml +0 -3
  245. data/app/concepts/matestack/ui/core/ol/ol.rb +0 -5
  246. data/app/concepts/matestack/ui/core/onclick/onclick.haml +0 -2
  247. data/app/concepts/matestack/ui/core/onclick/onclick.rb +0 -6
  248. data/app/concepts/matestack/ui/core/optgroup/optgroup.haml +0 -3
  249. data/app/concepts/matestack/ui/core/optgroup/optgroup.rb +0 -5
  250. data/app/concepts/matestack/ui/core/option/option.haml +0 -5
  251. data/app/concepts/matestack/ui/core/option/option.rb +0 -6
  252. data/app/concepts/matestack/ui/core/output/output.haml +0 -5
  253. data/app/concepts/matestack/ui/core/output/output.rb +0 -6
  254. data/app/concepts/matestack/ui/core/page/content/content.rb +0 -28
  255. data/app/concepts/matestack/ui/core/page/page.haml +0 -3
  256. data/app/concepts/matestack/ui/core/page/page.rb +0 -30
  257. data/app/concepts/matestack/ui/core/paragraph/paragraph.haml +0 -5
  258. data/app/concepts/matestack/ui/core/paragraph/paragraph.rb +0 -5
  259. data/app/concepts/matestack/ui/core/param/param.haml +0 -1
  260. data/app/concepts/matestack/ui/core/param/param.rb +0 -5
  261. data/app/concepts/matestack/ui/core/partial/partial.haml +0 -2
  262. data/app/concepts/matestack/ui/core/partial/partial.rb +0 -4
  263. data/app/concepts/matestack/ui/core/picture/picture.haml +0 -3
  264. data/app/concepts/matestack/ui/core/picture/picture.rb +0 -4
  265. data/app/concepts/matestack/ui/core/plain/plain.rb +0 -9
  266. data/app/concepts/matestack/ui/core/pre/pre.haml +0 -5
  267. data/app/concepts/matestack/ui/core/pre/pre.rb +0 -5
  268. data/app/concepts/matestack/ui/core/progress/progress.haml +0 -3
  269. data/app/concepts/matestack/ui/core/progress/progress.rb +0 -5
  270. data/app/concepts/matestack/ui/core/q/q.haml +0 -5
  271. data/app/concepts/matestack/ui/core/q/q.rb +0 -6
  272. data/app/concepts/matestack/ui/core/rp/rp.haml +0 -5
  273. data/app/concepts/matestack/ui/core/rp/rp.rb +0 -5
  274. data/app/concepts/matestack/ui/core/rt/rt.haml +0 -5
  275. data/app/concepts/matestack/ui/core/rt/rt.rb +0 -5
  276. data/app/concepts/matestack/ui/core/ruby/ruby.haml +0 -5
  277. data/app/concepts/matestack/ui/core/ruby/ruby.rb +0 -5
  278. data/app/concepts/matestack/ui/core/s/s.haml +0 -5
  279. data/app/concepts/matestack/ui/core/s/s.rb +0 -6
  280. data/app/concepts/matestack/ui/core/samp/samp.haml +0 -5
  281. data/app/concepts/matestack/ui/core/samp/samp.rb +0 -5
  282. data/app/concepts/matestack/ui/core/section/section.haml +0 -3
  283. data/app/concepts/matestack/ui/core/section/section.rb +0 -4
  284. data/app/concepts/matestack/ui/core/select/select.haml +0 -3
  285. data/app/concepts/matestack/ui/core/select/select.rb +0 -7
  286. data/app/concepts/matestack/ui/core/slot/slot.haml +0 -2
  287. data/app/concepts/matestack/ui/core/slot/slot.rb +0 -4
  288. data/app/concepts/matestack/ui/core/small/small.haml +0 -5
  289. data/app/concepts/matestack/ui/core/small/small.rb +0 -5
  290. data/app/concepts/matestack/ui/core/span/span.haml +0 -5
  291. data/app/concepts/matestack/ui/core/span/span.rb +0 -5
  292. data/app/concepts/matestack/ui/core/strong/strong.haml +0 -5
  293. data/app/concepts/matestack/ui/core/strong/strong.rb +0 -5
  294. data/app/concepts/matestack/ui/core/sub/sub.haml +0 -5
  295. data/app/concepts/matestack/ui/core/sub/sub.rb +0 -5
  296. data/app/concepts/matestack/ui/core/summary/summary.haml +0 -5
  297. data/app/concepts/matestack/ui/core/summary/summary.rb +0 -5
  298. data/app/concepts/matestack/ui/core/sup/sup.haml +0 -5
  299. data/app/concepts/matestack/ui/core/sup/sup.rb +0 -5
  300. data/app/concepts/matestack/ui/core/table/table.haml +0 -3
  301. data/app/concepts/matestack/ui/core/table/table.rb +0 -4
  302. data/app/concepts/matestack/ui/core/tbody/tbody.haml +0 -3
  303. data/app/concepts/matestack/ui/core/tbody/tbody.rb +0 -4
  304. data/app/concepts/matestack/ui/core/td/td.haml +0 -5
  305. data/app/concepts/matestack/ui/core/td/td.rb +0 -6
  306. data/app/concepts/matestack/ui/core/template/template.haml +0 -3
  307. data/app/concepts/matestack/ui/core/template/template.rb +0 -4
  308. data/app/concepts/matestack/ui/core/textarea/textarea.haml +0 -5
  309. data/app/concepts/matestack/ui/core/textarea/textarea.rb +0 -10
  310. data/app/concepts/matestack/ui/core/tfoot/tfoot.haml +0 -3
  311. data/app/concepts/matestack/ui/core/tfoot/tfoot.rb +0 -4
  312. data/app/concepts/matestack/ui/core/th/th.haml +0 -5
  313. data/app/concepts/matestack/ui/core/th/th.rb +0 -6
  314. data/app/concepts/matestack/ui/core/thead/thead.haml +0 -3
  315. data/app/concepts/matestack/ui/core/thead/thead.rb +0 -4
  316. data/app/concepts/matestack/ui/core/time/time.haml +0 -3
  317. data/app/concepts/matestack/ui/core/time/time.rb +0 -5
  318. data/app/concepts/matestack/ui/core/toggle/toggle.haml +0 -2
  319. data/app/concepts/matestack/ui/core/toggle/toggle.rb +0 -13
  320. data/app/concepts/matestack/ui/core/tr/tr.haml +0 -3
  321. data/app/concepts/matestack/ui/core/tr/tr.rb +0 -4
  322. data/app/concepts/matestack/ui/core/transition/transition.haml +0 -5
  323. data/app/concepts/matestack/ui/core/transition/transition.rb +0 -38
  324. data/app/concepts/matestack/ui/core/u/u.haml +0 -5
  325. data/app/concepts/matestack/ui/core/u/u.rb +0 -6
  326. data/app/concepts/matestack/ui/core/ul/ul.haml +0 -3
  327. data/app/concepts/matestack/ui/core/ul/ul.rb +0 -4
  328. data/app/concepts/matestack/ui/core/unescaped/unescaped.rb +0 -9
  329. data/app/concepts/matestack/ui/core/var/var.haml +0 -5
  330. data/app/concepts/matestack/ui/core/var/var.rb +0 -5
  331. data/app/concepts/matestack/ui/core/video/video.haml +0 -3
  332. data/app/concepts/matestack/ui/core/video/video.rb +0 -13
  333. data/app/concepts/matestack/ui/core/view/view.haml +0 -1
  334. data/app/concepts/matestack/ui/core/view/view.rb +0 -30
  335. data/app/concepts/matestack/ui/core/wbr/wbr.haml +0 -5
  336. data/app/concepts/matestack/ui/core/wbr/wbr.rb +0 -5
  337. data/app/concepts/matestack/ui/core/youtube/youtube.haml +0 -1
  338. data/app/concepts/matestack/ui/core/youtube/youtube.rb +0 -28
  339. data/app/helpers/matestack/ui/core/application_helper.rb +0 -111
  340. data/app/javascript/matestack-ui-core/index.js +0 -32
  341. data/app/javascript/matestack-ui-core/styles/index.scss +0 -5
  342. data/app/javascript/packs/matestack-ui-core.js +0 -8
  343. data/app/lib/matestack/ui/app.rb +0 -1
  344. data/app/lib/matestack/ui/component.rb +0 -1
  345. data/app/lib/matestack/ui/core/has_view_context.rb +0 -16
  346. data/app/lib/matestack/ui/core/html_attributes.rb +0 -43
  347. data/app/lib/matestack/ui/core/properties.rb +0 -161
  348. data/app/lib/matestack/ui/core/rendering/default_renderer_class_determiner.rb +0 -33
  349. data/app/lib/matestack/ui/core/rendering/main_renderer.rb +0 -203
  350. data/app/lib/matestack/ui/dynamic_actionview_component.rb +0 -1
  351. data/app/lib/matestack/ui/dynamic_component.rb +0 -1
  352. data/app/lib/matestack/ui/isolated_component.rb +0 -1
  353. data/app/lib/matestack/ui/page.rb +0 -1
  354. data/app/lib/matestack/ui/static_actionview_component.rb +0 -1
  355. data/app/lib/matestack/ui/static_component.rb +0 -1
  356. data/app/lib/matestack/ui/vue_js_component.rb +0 -1
  357. data/config/routes.rb +0 -2
  358. data/lib/generators/matestack/app/USAGE +0 -21
  359. data/lib/generators/matestack/app/app_generator.rb +0 -25
  360. data/lib/generators/matestack/app/templates/app/controllers/%file_name%_controller.rb.tt +0 -5
  361. data/lib/generators/matestack/app/templates/app/matestack/apps/%file_name%.rb.tt +0 -28
  362. data/lib/generators/matestack/component/USAGE +0 -20
  363. data/lib/generators/matestack/component/component_generator.rb +0 -29
  364. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.haml.tt +0 -5
  365. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.js.tt +0 -17
  366. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.rb.tt +0 -11
  367. data/lib/generators/matestack/component/templates/app/matestack/components/%namespace%/%file_name%.scss.tt +0 -1
  368. data/lib/generators/matestack/core/component/USAGE +0 -16
  369. data/lib/generators/matestack/core/component/component_generator.rb +0 -23
  370. data/lib/generators/matestack/core/component/templates/app/concepts/matestack/ui/core/%file_name%/%file_name%.haml.tt +0 -5
  371. data/lib/generators/matestack/core/component/templates/app/concepts/matestack/ui/core/%file_name%/%file_name%.rb.tt +0 -4
  372. data/lib/generators/matestack/core/component/templates/docs/components/%file_name%.md.tt +0 -45
  373. data/lib/generators/matestack/core/component/templates/spec/usage/components/%file_name%_spec.rb +0 -31
  374. data/lib/generators/matestack/page/USAGE +0 -28
  375. data/lib/generators/matestack/page/page_generator.rb +0 -54
  376. data/lib/generators/matestack/page/templates/app/matestack/pages/%app_name%/%namespace%/%file_name%.rb.tt +0 -29
  377. data/lib/matestack/ui/core/cell.rb +0 -31
  378. data/lib/matestack/ui/core/component/registry.rb +0 -47
  379. data/lib/matestack/ui/core/components.rb +0 -271
  380. data/lib/matestack/ui/core/dsl.rb +0 -6
  381. data/lib/matestack/ui/core/engine.rb +0 -35
  382. data/lib/tasks/matestack/ui/core_tasks.rake +0 -4
  383. data/vendor/assets/javascripts/dist/manifest.json +0 -18
  384. data/vendor/assets/javascripts/dist/manifest.json.br +0 -0
  385. data/vendor/assets/javascripts/dist/manifest.json.gz +0 -0
  386. data/vendor/assets/javascripts/dist/matestack-ui-core.css +0 -3
  387. data/vendor/assets/javascripts/dist/matestack-ui-core.css.map +0 -1
  388. data/vendor/assets/javascripts/dist/matestack-ui-core.js +0 -17734
  389. data/vendor/assets/javascripts/dist/matestack-ui-core.js.map +0 -1
  390. data/vendor/assets/javascripts/dist/matestack-ui-core.min.css +0 -0
  391. data/vendor/assets/javascripts/dist/matestack-ui-core.min.js +0 -3
  392. data/vendor/assets/javascripts/dist/matestack-ui-core.min.js.LICENSE.txt +0 -18
  393. data/vendor/assets/javascripts/dist/matestack-ui-core.min.js.br +0 -0
  394. data/vendor/assets/javascripts/dist/matestack-ui-core.min.js.gz +0 -0
  395. data/vendor/assets/javascripts/dist/matestack-ui-core.min.js.map +0 -1
  396. data/vendor/assets/javascripts/dist/matestack-ui-core.min.js.map.br +0 -0
  397. data/vendor/assets/javascripts/dist/matestack-ui-core.min.js.map.gz +0 -0
  398. data/vendor/assets/javascripts/matestack-ui-core.js.erb +0 -2
  399. data/vendor/assets/stylesheets/dist +0 -1
  400. data/vendor/assets/stylesheets/matestack-ui-core.css.erb +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41c80a6f5789f72a5d72ac93e16b15935026c5a9abe849e8de69558ed6a21caa
4
- data.tar.gz: 81e3567844fd8137016cd54e80c5ad642e445614cff671dfcf0ea031838aa816
3
+ metadata.gz: 3a5d4970d227d9a4c70fbc9636a0550428f94bd2b2493a3417ce90022822d3fb
4
+ data.tar.gz: dce43149e8bdc8aeb4eb6e01e5e743868b6f158d40f0329fd11ba2b6b94e1303
5
5
  SHA512:
6
- metadata.gz: 4376b8f3a2807f77ca7915d6642074cb73e9ddbd17ba1de2f81bb53573f9fdb4a978b1be3c4878218ea4abe611b061d2463dc17bbecbb147626a151434df6cdc
7
- data.tar.gz: b00695ffa067070d9c6b362b28fec733af2fa97fb9b887b8ecd9afb18c21a88a6e5df146259dba09d3ffc2ff732aa566dae154935a7cc5379cb6a5747c268e32
6
+ metadata.gz: 82cb29e13e825a0d28cbef90b92c8d8fbec11d5539ebea1cdc4dd32d7a2b9d53f1ec753f573056de9e3a07299aabf6e12f5620df59c5c19af91cdc0f8fc6210c
7
+ data.tar.gz: 47b3d6b7b36140f1e56f1e548296875cc161e7ac72f982a09b09856b7271a8e2f813cf02bd50f32e6852ce155f79b16a53c5f95eb4811632c909d479e6321144
data/LICENSE CHANGED
@@ -1,8 +1,20 @@
1
1
  Copyright (c) Matestack GmbH
2
2
 
3
- matestack-ui-core is an Open Source project licensed under the terms of
4
- the LGPLv3 license. Please see <http://www.gnu.org/licenses/lgpl-3.0.html>
5
- for license text.
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
6
10
 
7
- Matestack will provide a commercial-friendly license allowing private forks
8
- and modifications of matestack-ui-core. Please request at jonas@matestack.io
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -8,6 +8,19 @@
8
8
 
9
9
  # matestack-ui-core | UI in pure Ruby
10
10
 
11
+ ----
12
+ Version 2.0.0 was released on the 12th of April and proudly presented at RailsConf.
13
+
14
+ Most important changes:
15
+
16
+ - Changed to MIT License
17
+ - 5 to 12 times better rendering performance (depending on the context)
18
+ - Removed Trailblazer dependency
19
+ - Improved core code readability/maintainability
20
+ ----
21
+
22
+ [<img src="https://img.youtube.com/vi/bwsVgCb97v0/0.jpg" width="350">](https://www.youtube.com/watch?v=bwsVgCb97v0)
23
+
11
24
  Boost your productivity & easily create component based web UIs in pure Ruby.
12
25
  Reactivity included if desired.
13
26
 
@@ -25,13 +38,35 @@ The main goals are:
25
38
  it alongside your classic views and incrementally turn your Rails-App into a
26
39
  dynamic Web-App.
27
40
 
41
+ ## Compatibility
42
+
43
+ ### Ruby/Rails
44
+
45
+ `matestack-ui-core` is tested against:
46
+
47
+ - Rails 6.1.1 + Ruby 3.0.0
48
+ - Rails 6.1.1 + Ruby 2.7.2
49
+ - Rails 6.0.3.4 + Ruby 2.6.6
50
+ - Rails 5.2.4.4 + Ruby 2.6.6
51
+
52
+ Rails versions below 5.2 are not supported.
53
+
54
+ ### Vue.js
55
+
56
+ `matestack-ui-core` optionally requires Vue.js and Vuex for its reactivity features. Following version ranges are supported:
57
+
58
+ - Vue.js ^2.6.0
59
+ - Vuex ^3.6.0
60
+
61
+ Vue 3 / Vuex 4 update is planned for Q2 2021.
62
+
28
63
  ## Documentation/Installation
29
64
 
30
65
  Documentation can be found [here](https://docs.matestack.io)
31
66
 
32
67
  ## Getting started
33
68
 
34
- A getting started guide can be found [here](https://docs.matestack.io/docs/start/150-getting_started)
69
+ A getting started guide can be found [here](https://docs.matestack.io/getting-started/quick-start)
35
70
 
36
71
  ## Changelog
37
72
 
@@ -66,16 +101,16 @@ The Ruby method \"div\" for example calls one of the static core components, res
66
101
 
67
102
  class Components::Card < Matestack::Ui::Component
68
103
 
69
- requires :body
104
+ required :body
70
105
  optional :title
71
106
  optional :image
72
107
 
73
108
  def response
74
109
  div class: "card shadow-sm border-0 bg-light" do
75
- img path: image, class: "w-100" if image.present?
110
+ img path: context.image, class: "w-100" if context.image.present?
76
111
  div class: "card-body" do
77
- heading size: 5, text: title if title.present?
78
- paragraph class: "card-text", text: body
112
+ h5 context.title if context.title.present?
113
+ paragraph context.body, class: "card-text"
79
114
  end
80
115
  end
81
116
  end
@@ -86,32 +121,18 @@ end
86
121
 
87
122
  #### Use your Ruby UI components on your existing Rails views
88
123
 
89
- Register your Ruby UI component classes with your desired DSL method and use the \"matestack_component\" helper in order to render your component within existing ERB views or Rails controllers.
90
- The Ruby method \"card\" for example calls your \"Card\" class, enabling you to create a reuseable card components, abstracting UI complexity in your ow components.
124
+ Components can be then called on Rails views (not only! see below), enabling you to create a reusable card components, abstracting UI complexity in your own components.
91
125
 
92
126
  `app/views/your_view.html.erb`
93
127
 
94
128
  ```erb
95
129
 
96
130
  <!-- some other erb markup -->
97
- <%= matestack_component :card, title: "hello", body: "world" %>
131
+ <%= Components::Card.(title: "hello", body: "world") %>
98
132
  <!-- some other erb markup -->
99
133
 
100
134
  ```
101
135
 
102
- `app/matestack/components/registry.rb`
103
-
104
- ```ruby
105
- module Components::Registry
106
-
107
- Matestack::Ui::Core::Component::Registry.register_components(
108
- card: Components::Card,
109
- #...
110
- )
111
-
112
- end
113
- ```
114
-
115
136
 
116
137
  #### Use Ruby methods as partials
117
138
 
@@ -124,23 +145,23 @@ Using this approach helps you to create a clean, readable and maintainable codeb
124
145
 
125
146
  class Components::Card < Matestack::Ui::Component
126
147
 
127
- requires :body
148
+ required :body
128
149
  optional :title
129
150
  optional :image
130
151
  optional :footer
131
152
 
132
153
  def response
133
154
  div class: "card shadow-sm border-0 bg-light" do
134
- img path: image, class: "w-100" if image.present?
155
+ img path: context.image, class: "w-100" if context.image.present?
135
156
  card_content
136
- card_footer if footer.present?
157
+ card_footer if context.footer.present?
137
158
  end
138
159
  end
139
160
 
140
161
  def card_content
141
162
  div class: "card-body" do
142
- heading size: 5, text: title if title.present?
143
- paragraph class: "card-text", text: body
163
+ h5 context.title if context.title.present?
164
+ paragraph context.body, class: "card-body"
144
165
  end
145
166
  end
146
167
 
@@ -158,7 +179,7 @@ end
158
179
 
159
180
  ```erb
160
181
  <!-- some other erb markup -->
161
- <%= matestack_component :card, title: "hello", body: "world", footer: "foo" %>
182
+ <%= Components::Card.(title: "hello", body: "world", footer: "foo") %>
162
183
  <!-- some other erb markup -->
163
184
  ```
164
185
 
@@ -176,7 +197,7 @@ class Components::BlueCard < Components::Card
176
197
 
177
198
  def response
178
199
  div class: "card shadow-sm border-0 bg-primary text-white" do
179
- img path: image, class: "w-100" if image.present?
200
+ img path: context.image, class: "w-100" if context.image.present?
180
201
  card_content #defined in parent class
181
202
  card_footer if footer.present? #defined in parent class
182
203
  end
@@ -186,24 +207,11 @@ end
186
207
 
187
208
  ```
188
209
 
189
- `app/matestack/components/registry.rb`
190
-
191
- ```ruby
192
- module Components::Registry
193
-
194
- Matestack::Ui::Core::Component::Registry.register_components(
195
- blue_card: Components::BlueCard,
196
- #...
197
- )
198
-
199
- end
200
- ```
201
-
202
210
  `app/views/your_view.html.erb`
203
211
 
204
212
  ```erb
205
213
  <!-- some other erb markup -->
206
- <%= matestack_component :blue_card, title: "hello", body: "world" %>
214
+ <%= Components::BlueCard.(title: "hello", body: "world") %>
207
215
  <!-- some other erb markup -->
208
216
  ```
209
217
 
@@ -218,15 +226,15 @@ You decide when using a Ruby method partial should be replaced by another self c
218
226
 
219
227
  class Components::Card < Matestack::Ui::Component
220
228
 
221
- requires :body
229
+ required :body
222
230
  optional :title
223
231
  optional :image
224
232
 
225
233
  def response
226
234
  div class: "card shadow-sm border-0 bg-light" do
227
- img path: image, class: "w-100" if image.present?
235
+ img path: context.image, class: "w-100" if context.image.present?
228
236
  # calling the CardBody component rather than using Ruby method partials
229
- card_body title: title, body: body
237
+ Components::CardBody.(title: context.title, body: context.body)
230
238
  end
231
239
  end
232
240
 
@@ -239,15 +247,15 @@ end
239
247
 
240
248
  class Components::CardBody < Matestack::Ui::Component
241
249
 
242
- requires :body
250
+ required :body
243
251
  optional :title
244
252
 
245
253
  def response
246
254
  # Just an example. Would make more sense, if this component had
247
255
  # a more complex structure
248
256
  div class: "card-body" do
249
- heading size: 5, text: title if title.present?
250
- paragraph class: "card-text", text: body
257
+ h5 context.title if context.title.present?
258
+ paragraph context.body, class: "card-body"
251
259
  end
252
260
  end
253
261
 
@@ -256,20 +264,6 @@ end
256
264
  ```
257
265
 
258
266
 
259
- `app/matestack/components/registry.rb`
260
-
261
- ```ruby
262
- module Components::Registry
263
-
264
- Matestack::Ui::Core::Component::Registry.register_components(
265
- card: Components::Card,
266
- card_body: Components::CardBody,
267
- #...
268
- )
269
-
270
- end
271
- ```
272
-
273
267
  #### Yield components into components
274
268
 
275
269
  Sometimes it's not enough to just pass simple data into a component. No worries! You can just yield a block into your components!
@@ -282,17 +276,17 @@ Using this approach gives you more flexibility when using your UI components. Of
282
276
 
283
277
  class Components::Card < Matestack::Ui::Component
284
278
 
285
- requires :body
279
+ required :body
286
280
  optional :title
287
281
  optional :image
288
282
 
289
283
  def response
290
284
  div class: "card shadow-sm border-0 bg-light" do
291
- img path: image, class: "w-100" if image.present?
292
- card_body do
285
+ img path: context.image, class: "w-100" if context.image.present?
286
+ Components::CardBody.() do
293
287
  # yielding a block into the card_body component
294
- heading size: 5, text: title if title.present?
295
- paragraph class: "card-text", text: body
288
+ h5 context.title if context.title.present?
289
+ paragraph context.body, class: "card-body"
296
290
  end
297
291
  end
298
292
  end
@@ -311,7 +305,7 @@ class Components::CardBody < Matestack::Ui::Component
311
305
  # Just an example. Would make more sense, if this component had
312
306
  # a more complex structure
313
307
  div class: "card-body" do
314
- yield_components
308
+ yield if block_given?
315
309
  end
316
310
  end
317
311
 
@@ -330,27 +324,26 @@ Slots help you to build complex UI components with multiple named content placeh
330
324
 
331
325
  class Components::Card < Matestack::Ui::Component
332
326
 
333
- requires :body
327
+ required :body
334
328
  optional :title
335
329
  optional :image
336
330
 
337
331
  def response
338
332
  div class: "card shadow-sm border-0 bg-light" do
339
- img path: image, class: "w-100" if image.present?
340
- card_body slots: { heading: heading_slot, body: body_slot }
333
+ img path: context.image, class: "w-100" if context.image.present?
334
+ Components::CardBody.(slots: {
335
+ heading: method(:heading_slot),
336
+ body: method(:body_slot)
337
+ })
341
338
  end
342
339
  end
343
340
 
344
341
  def heading_slot
345
- slot do
346
- heading size: 5, text: title if title.present?
347
- end
342
+ h5 context.title if context.title.present?
348
343
  end
349
344
 
350
345
  def body_slot
351
- slot do
352
- paragraph class: "card-text", text: body
353
- end
346
+ paragraph context.body, class: "card-body"
354
347
  end
355
348
 
356
349
  end
@@ -362,17 +355,17 @@ end
362
355
 
363
356
  class Components::CardBody < Matestack::Ui::Component
364
357
 
365
- requires :slots
358
+ required :slots
366
359
 
367
360
  def response
368
361
  # Just an example. Would make more sense, if this component had
369
362
  # a more complex structure
370
363
  div class: "card-body" do
371
364
  div class: "heading-section" do
372
- slot slots[:heading]
365
+ slot :heading
373
366
  end
374
367
  div class: "body-section" do
375
- slot slots[:body]
368
+ slot :body
376
369
  end
377
370
  end
378
371
  end
@@ -399,7 +392,7 @@ class Components::SomeComponent < Matestack::Ui::Component
399
392
 
400
393
  def response
401
394
  onclick emit: "some_event" do
402
- button text: "click me"
395
+ button "click me"
403
396
  end
404
397
  toggle show_on: "some_event", hide_after: 5000 do
405
398
  plain "Oh yes! You clicked me!"
@@ -423,7 +416,7 @@ class Components::SomeComponent < Matestack::Ui::Component
423
416
 
424
417
  def response
425
418
  action my_action_config do
426
- button text: "click me"
419
+ button "click me"
427
420
  end
428
421
  toggle show_on: "some_event", hide_after: 5000 do
429
422
  plain "Success!"
@@ -456,16 +449,10 @@ Events emitted by the \"form\" component can be used to toggle parts of the UI.
456
449
 
457
450
  class Components::SomeComponent < Matestack::Ui::Component
458
451
 
459
- def prepare
460
- @new_active_record_instance = MyActiveRecordModel.new
461
- end
462
-
463
452
  def response
464
- form my_form_config do
453
+ matestack_form my_form_config do
465
454
  form_input key: :some_attribute, type: :text
466
- form_submit do
467
- button text: "click me"
468
- end
455
+ button "click me", type: :submit
469
456
  end
470
457
  toggle show_on: "submitted", hide_after: 5000 do
471
458
  span class: "message success" do
@@ -481,7 +468,7 @@ class Components::SomeComponent < Matestack::Ui::Component
481
468
 
482
469
  def my_form_config
483
470
  {
484
- for: @new_active_record_instance,
471
+ for: MyActiveRecordModel.new,
485
472
  path: some_rails_route_path,
486
473
  method: :post,
487
474
  success: {
@@ -499,7 +486,7 @@ end
499
486
 
500
487
  #### Implement asynchronous, event-based UI rerendering in pure Ruby
501
488
 
502
- Using matestack's built-in event system, you can rerender parts of the UI on client side events, such as form or action submissions. Even server side events pushed via ActionCable may be received!
489
+ Using Matestack's built-in event system, you can rerender parts of the UI on client side events, such as form or action submissions. Even server side events pushed via ActionCable may be received!
503
490
  The \"async\" component requests a new version of its body at the server via an HTTP GET request after receiving the configured event. After successfu server response, the DOM of the \"async\" component gets updated. Everything else stays untouched.
504
491
 
505
492
  `app/matestack/components/some_component.rb`
@@ -509,14 +496,14 @@ The \"async\" component requests a new version of its body at the server via an
509
496
  class Components::SomeComponent < Matestack::Ui::Component
510
497
 
511
498
  def response
512
- form my_form_config do
499
+ matestack_form my_form_config do
513
500
  #...
514
501
  end
515
502
  #...
516
503
  async rerender_on: "submitted", id: "my-model-list" do
517
504
  ul do
518
505
  MyActiveRecordModel.last(5).each do |model|
519
- li text: model.some_attribute
506
+ li model.some_attribute
520
507
  end
521
508
  end
522
509
  end
@@ -550,14 +537,14 @@ The \"cable\" component can be configured to receive events and data pushed via
550
537
  class Components::SomeComponent < Matestack::Ui::Component
551
538
 
552
539
  def response
553
- form my_form_config do
540
+ matestack_form my_form_config do
554
541
  #...
555
542
  end
556
543
  #...
557
544
  ul do
558
545
  cable prepend_on: "new_element_created", id: "mocked-instance-list" do
559
546
  MyActiveRecordModel.last(5).each do |model|
560
- li text: model
547
+ li model
561
548
  end
562
549
  end
563
550
  end
@@ -573,7 +560,7 @@ end
573
560
  # within your controller action handling the form input
574
561
  ActionCable.server.broadcast("matestack_ui_core", {
575
562
  event: "new_element_created",
576
- data: matestack_component(:li, text: params[:some_attribute])
563
+ data: "<li>foo</li>" # or better: calling a component here
577
564
  })
578
565
 
579
566
  ```
@@ -606,11 +593,11 @@ end
606
593
  ```ruby
607
594
  class Components::MyVueJsComponent < Matestack::Ui::VueJsComponent
608
595
 
609
- vue_js_component_name "my-vue-js-component"
596
+ vue_name "my-vue-js-component"
610
597
 
611
598
  def response
612
599
  div class: "my-vue-js-component" do
613
- button attributes: {"@click": "increaseValue"}
600
+ button "@click": "increaseValue"
614
601
  br
615
602
  plain "{{ dynamicValue }}!"
616
603
  end
@@ -622,7 +609,7 @@ end
622
609
  `app/matestack/components/my_vue_js_component.js`
623
610
 
624
611
  ```javascript
625
- MatestackUiCore.Vue.component('my-vue-js-component', {
612
+ Vue.component('my-vue-js-component', {
626
613
  mixins: [MatestackUiCore.componentMixin],
627
614
  data: () => {
628
615
  return {
@@ -632,7 +619,7 @@ MatestackUiCore.Vue.component('my-vue-js-component', {
632
619
  methods: {
633
620
  increaseValue(){
634
621
  this.dynamicValue++
635
- MatestackUiCore.matestackEventHub.$emit("some_event")
622
+ MatestackUiCore.eventHub.$emit("some_event")
636
623
  }
637
624
  }
638
625
  });
@@ -656,15 +643,15 @@ class SomeApp::App < Matestack::Ui::App
656
643
  def response
657
644
  nav do
658
645
  transition path: page1_path do
659
- button text: "Page 1"
646
+ button "Page 1"
660
647
  end
661
648
  transition path: page2_path do
662
- button text: "Page 2"
649
+ button "Page 2"
663
650
  end
664
651
  end
665
652
  main do
666
653
  div class: "container" do
667
- yield_page
654
+ yield
668
655
  end
669
656
  end
670
657
  end
@@ -718,8 +705,7 @@ Work with controllers, actions and routing as you're used to! Controller hooks (
718
705
 
719
706
  class SomeController < ApplicationController
720
707
 
721
- include Matestack::Ui::Core::ApplicationHelper
722
- include Components::Registry
708
+ include Matestack::Ui::Core::Helper
723
709
 
724
710
  matestack_app SomeApp::App
725
711
 
@@ -763,23 +749,21 @@ class SomeApp::App < Matestack::Ui::App
763
749
  def response
764
750
  nav do
765
751
  transition path: page1_path do
766
- button text: "Page 1"
752
+ button "Page 1"
767
753
  end
768
754
  transition path: page2_path do
769
- button text: "Page 2"
755
+ button "Page 2"
770
756
  end
771
757
  end
772
758
  main do
773
759
  div class: "container" do
774
- yield_page slots: { loading_state: loading_state_element }
760
+ yield
775
761
  end
776
762
  end
777
763
  end
778
764
 
779
765
  def loading_state_element
780
- slot do
781
- div class: 'some-loading-element-styles'
782
- end
766
+ div class: 'some-loading-element-styles'
783
767
  end
784
768
 
785
769
  end
@@ -815,4 +799,5 @@ end
815
799
  ```
816
800
 
817
801
  ## License
818
- matestack-ui-core is an Open Source project licensed under the terms of the [LGPLv3 license](./LICENSE)
802
+
803
+ `matestack-ui-core` is an Open Source project licensed under the terms of the [MIT license](./LICENSE)