voom-presenters 0.1.13 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -1
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  5. data/.github/ISSUE_TEMPLATE/questions-support.md +10 -0
  6. data/.github/workflows/semantic-release.yml +42 -0
  7. data/.gitignore +3 -2
  8. data/.releaserc +15 -0
  9. data/.ruby-version +2 -1
  10. data/CHANGELOG.md +143 -0
  11. data/CONTRIBUTING.md +60 -0
  12. data/Gemfile +14 -4
  13. data/Gemfile.lock +111 -65
  14. data/HISTORY.md +61 -0
  15. data/Procfile +1 -0
  16. data/README.md +55 -24
  17. data/app/demo/components/avatars.pom +40 -0
  18. data/app/demo/components/cards.pom +11 -4
  19. data/app/demo/components/chips.pom +65 -52
  20. data/app/demo/components/content.pom +111 -0
  21. data/app/demo/components/date_fields.pom +1 -1
  22. data/app/demo/components/datetime_fields.pom +6 -0
  23. data/app/demo/components/dialogs.pom +175 -6
  24. data/app/demo/components/drawers.pom +1 -1
  25. data/app/demo/components/file_inputs.pom +52 -0
  26. data/app/demo/components/footers.pom +1 -1
  27. data/app/demo/components/google_maps.pom +22 -0
  28. data/app/demo/components/headers.pom +80 -20
  29. data/app/demo/components/icons.pom +86 -55
  30. data/app/demo/components/image_lists.pom +100 -0
  31. data/app/demo/components/images.pom +45 -0
  32. data/app/demo/components/layouts.pom +15 -5
  33. data/app/demo/components/lists.pom +48 -3
  34. data/app/demo/components/menus.pom +14 -4
  35. data/app/demo/components/nav/menu.pom +40 -2
  36. data/app/demo/components/nav/pattern_drawer.pom +5 -0
  37. data/app/demo/components/nav/pattern_menu.pom +12 -0
  38. data/app/demo/components/number_fields.pom +53 -0
  39. data/app/demo/components/padding.pom +96 -0
  40. data/app/demo/components/progress.pom +71 -0
  41. data/app/demo/components/selects.pom +44 -5
  42. data/app/demo/components/sliders.pom +54 -0
  43. data/app/demo/components/snackbar.pom +10 -0
  44. data/app/demo/components/steppers.pom +178 -0
  45. data/app/demo/components/tab_bars.pom +66 -0
  46. data/app/demo/components/tables.pom +96 -13
  47. data/app/demo/components/text_areas.pom +23 -3
  48. data/app/demo/components/text_fields.pom +75 -17
  49. data/app/demo/components/toggles.pom +83 -16
  50. data/app/demo/components/tooltips.pom +10 -10
  51. data/app/demo/components/unordered_list.pom +81 -0
  52. data/app/demo/custom_css.pom +37 -0
  53. data/app/demo/events/actions/autocomplete.pom +3 -3
  54. data/app/demo/events/actions/clear.pom +25 -0
  55. data/app/demo/events/actions/dialogs/discard.pom +9 -0
  56. data/app/demo/events/actions/dialogs/show_dialog.pom +4 -2
  57. data/app/demo/events/actions/last_response.pom +40 -0
  58. data/app/demo/events/actions/loads.pom +16 -6
  59. data/app/demo/events/actions/posts.pom +1 -1
  60. data/app/demo/events/actions/prompt_if_dirty.pom +54 -0
  61. data/app/demo/events/actions/toggle_visiblity.pom +4 -3
  62. data/app/demo/events/content_as_form.pom +313 -0
  63. data/app/demo/events/nav/drawer.pom +7 -3
  64. data/app/demo/events/parallel.pom +44 -0
  65. data/app/demo/events/tagged_input.pom +37 -0
  66. data/app/demo/hello_world.pom +3 -0
  67. data/app/demo/index.pom +5 -5
  68. data/app/demo/markdown.pom +1 -0
  69. data/app/demo/namespaces.pom +89 -0
  70. data/app/demo/nav/top_nav.pom +22 -4
  71. data/app/demo/patterns.pom +19 -0
  72. data/app/demo/patterns/drag_drop.pom +89 -0
  73. data/app/demo/patterns/floating_card.pom +29 -0
  74. data/app/demo/patterns/search_select.pom +106 -0
  75. data/app/demo/plugins/chart.pom +254 -0
  76. data/app/demo/plugins/image_crop.pom +44 -0
  77. data/app/demo/plugins/index.pom +29 -0
  78. data/app/demo/plugins/nav/drawer.pom +19 -0
  79. data/app/demo/shared/context_list.pom +2 -2
  80. data/app/demo/styles.pom +24 -12
  81. data/bin/console +4 -4
  82. data/component-status.yml +26 -26
  83. data/config.ru +21 -10
  84. data/docs/settings.md +81 -0
  85. data/exe/presenters +3 -0
  86. data/lib/hash_ext/traverse.rb +14 -0
  87. data/lib/voom.rb +25 -0
  88. data/lib/voom/container_methods.rb +2 -2
  89. data/lib/voom/engine.rb +5 -0
  90. data/lib/voom/presenters/api/app.rb +46 -13
  91. data/lib/voom/presenters/api/router.rb +3 -87
  92. data/lib/voom/presenters/app.rb +3 -3
  93. data/lib/voom/presenters/cli.rb +28 -0
  94. data/lib/voom/presenters/demo/dragon_drop.rb +48 -0
  95. data/lib/voom/presenters/demo/echo.rb +7 -0
  96. data/lib/voom/presenters/demo/slow.rb +18 -0
  97. data/lib/voom/presenters/dsl/components/actions/autocomplete.rb +15 -0
  98. data/lib/voom/presenters/dsl/components/actions/base.rb +65 -0
  99. data/lib/voom/presenters/dsl/components/actions/clear.rb +15 -0
  100. data/lib/voom/presenters/dsl/components/actions/close_dialog.rb +17 -0
  101. data/lib/voom/presenters/dsl/components/actions/deletes.rb +15 -0
  102. data/lib/voom/presenters/dsl/components/actions/dialog.rb +15 -0
  103. data/lib/voom/presenters/dsl/components/actions/loads.rb +31 -0
  104. data/lib/voom/presenters/dsl/components/actions/navigates.rb +15 -0
  105. data/lib/voom/presenters/dsl/components/actions/post_message.rb +17 -0
  106. data/lib/voom/presenters/dsl/components/actions/posts.rb +20 -0
  107. data/lib/voom/presenters/dsl/components/actions/prompt_if_dirty.rb +15 -0
  108. data/lib/voom/presenters/dsl/components/actions/remove.rb +15 -0
  109. data/lib/voom/presenters/dsl/components/actions/replaces.rb +25 -0
  110. data/lib/voom/presenters/dsl/components/actions/snackbar.rb +15 -0
  111. data/lib/voom/presenters/dsl/components/actions/stepper.rb +15 -0
  112. data/lib/voom/presenters/dsl/components/actions/toggle_disabled.rb +15 -0
  113. data/lib/voom/presenters/dsl/components/actions/toggle_visibility.rb +15 -0
  114. data/lib/voom/presenters/dsl/components/actions/updates.rb +20 -0
  115. data/lib/voom/presenters/dsl/components/avatar.rb +5 -10
  116. data/lib/voom/presenters/dsl/components/badge.rb +0 -2
  117. data/lib/voom/presenters/dsl/components/base.rb +37 -21
  118. data/lib/voom/presenters/dsl/components/button.rb +23 -17
  119. data/lib/voom/presenters/dsl/components/card.rb +54 -42
  120. data/lib/voom/presenters/dsl/components/checkbox.rb +2 -2
  121. data/lib/voom/presenters/dsl/components/chip.rb +10 -13
  122. data/lib/voom/presenters/dsl/components/chipset.rb +33 -0
  123. data/lib/voom/presenters/dsl/components/content.rb +33 -13
  124. data/lib/voom/presenters/dsl/components/date_field.rb +1 -1
  125. data/lib/voom/presenters/dsl/components/datetime_base.rb +0 -3
  126. data/lib/voom/presenters/dsl/components/datetime_field.rb +0 -2
  127. data/lib/voom/presenters/dsl/components/dialog.rb +41 -13
  128. data/lib/voom/presenters/dsl/components/drawer.rb +13 -8
  129. data/lib/voom/presenters/dsl/components/event.rb +117 -60
  130. data/lib/voom/presenters/dsl/components/event_base.rb +1 -3
  131. data/lib/voom/presenters/dsl/components/expansion_panel.rb +3 -6
  132. data/lib/voom/presenters/dsl/components/file_input.rb +34 -0
  133. data/lib/voom/presenters/dsl/components/footer.rb +2 -2
  134. data/lib/voom/presenters/dsl/components/form.rb +3 -16
  135. data/lib/voom/presenters/dsl/components/grid.rb +64 -22
  136. data/lib/voom/presenters/dsl/components/header.rb +19 -6
  137. data/lib/voom/presenters/dsl/components/hidden_field.rb +1 -3
  138. data/lib/voom/presenters/dsl/components/icon.rb +3 -6
  139. data/lib/voom/presenters/dsl/components/icon_base.rb +6 -8
  140. data/lib/voom/presenters/dsl/components/icon_toggle.rb +3 -5
  141. data/lib/voom/presenters/dsl/components/image.rb +61 -13
  142. data/lib/voom/presenters/dsl/components/image_list.rb +43 -0
  143. data/lib/voom/presenters/dsl/components/input.rb +14 -5
  144. data/lib/voom/presenters/dsl/components/link.rb +33 -0
  145. data/lib/voom/presenters/dsl/components/list.rb +11 -16
  146. data/lib/voom/presenters/dsl/components/lists/action.rb +11 -14
  147. data/lib/voom/presenters/dsl/components/lists/actions.rb +7 -10
  148. data/lib/voom/presenters/dsl/components/lists/header.rb +2 -2
  149. data/lib/voom/presenters/dsl/components/lists/line.rb +34 -25
  150. data/lib/voom/presenters/dsl/components/lists/separator.rb +2 -2
  151. data/lib/voom/presenters/dsl/components/menu.rb +56 -16
  152. data/lib/voom/presenters/dsl/components/mixins/append.rb +2 -2
  153. data/lib/voom/presenters/dsl/components/mixins/attaches.rb +7 -3
  154. data/lib/voom/presenters/dsl/components/mixins/avatar.rb +1 -4
  155. data/lib/voom/presenters/dsl/components/mixins/buttons.rb +1 -1
  156. data/lib/voom/presenters/dsl/components/mixins/chips.rb +0 -3
  157. data/lib/voom/presenters/dsl/components/mixins/chipset.rb +19 -0
  158. data/lib/voom/presenters/dsl/components/mixins/common.rb +21 -16
  159. data/lib/voom/presenters/dsl/components/mixins/content.rb +1 -1
  160. data/lib/voom/presenters/dsl/components/mixins/date_time_fields.rb +0 -3
  161. data/lib/voom/presenters/dsl/components/mixins/dialogs.rb +0 -3
  162. data/lib/voom/presenters/dsl/components/mixins/event.rb +2 -4
  163. data/lib/voom/presenters/dsl/components/mixins/expansion_panels.rb +1 -1
  164. data/lib/voom/presenters/dsl/components/mixins/file_inputs.rb +16 -0
  165. data/lib/voom/presenters/dsl/components/mixins/google_maps.rb +15 -0
  166. data/lib/voom/presenters/dsl/components/mixins/grids.rb +1 -1
  167. data/lib/voom/presenters/dsl/components/mixins/icons.rb +0 -1
  168. data/lib/voom/presenters/dsl/components/mixins/image_lists.rb +15 -0
  169. data/lib/voom/presenters/dsl/components/mixins/last_response.rb +48 -0
  170. data/lib/voom/presenters/dsl/components/mixins/menus.rb +1 -1
  171. data/lib/voom/presenters/dsl/components/mixins/padding.rb +42 -0
  172. data/lib/voom/presenters/dsl/components/mixins/progress.rb +16 -0
  173. data/lib/voom/presenters/dsl/components/mixins/selects.rb +0 -1
  174. data/lib/voom/presenters/dsl/components/mixins/sliders.rb +15 -0
  175. data/lib/voom/presenters/dsl/components/mixins/snackbars.rb +0 -1
  176. data/lib/voom/presenters/dsl/components/mixins/steppers.rb +15 -0
  177. data/lib/voom/presenters/dsl/components/mixins/tab_bars.rb +17 -0
  178. data/lib/voom/presenters/dsl/components/mixins/tables.rb +15 -0
  179. data/lib/voom/presenters/dsl/components/mixins/text_fields.rb +10 -3
  180. data/lib/voom/presenters/dsl/components/mixins/toggles.rb +0 -5
  181. data/lib/voom/presenters/dsl/components/mixins/tooltips.rb +0 -1
  182. data/lib/voom/presenters/dsl/components/mixins/typography.rb +91 -14
  183. data/lib/voom/presenters/dsl/components/mixins/yield_to.rb +2 -2
  184. data/lib/voom/presenters/dsl/components/number_field.rb +20 -0
  185. data/lib/voom/presenters/dsl/components/page.rb +0 -1
  186. data/lib/voom/presenters/dsl/components/page_title.rb +31 -0
  187. data/lib/voom/presenters/dsl/components/progress.rb +27 -0
  188. data/lib/voom/presenters/dsl/components/radio_button.rb +0 -1
  189. data/lib/voom/presenters/dsl/components/rich_text_area.rb +20 -0
  190. data/lib/voom/presenters/dsl/components/select.rb +23 -12
  191. data/lib/voom/presenters/dsl/components/separator.rb +21 -0
  192. data/lib/voom/presenters/dsl/components/slider.rb +38 -0
  193. data/lib/voom/presenters/dsl/components/snackbar.rb +2 -2
  194. data/lib/voom/presenters/dsl/components/stepper.rb +96 -0
  195. data/lib/voom/presenters/dsl/components/switch.rb +0 -2
  196. data/lib/voom/presenters/dsl/components/tab_bar.rb +50 -0
  197. data/lib/voom/presenters/dsl/components/table.rb +126 -35
  198. data/lib/voom/presenters/dsl/components/text_area.rb +4 -5
  199. data/lib/voom/presenters/dsl/components/text_field.rb +55 -16
  200. data/lib/voom/presenters/dsl/components/time_field.rb +0 -2
  201. data/lib/voom/presenters/dsl/components/toggle_base.rb +8 -6
  202. data/lib/voom/presenters/dsl/components/tooltip.rb +1 -2
  203. data/lib/voom/presenters/dsl/components/typography.rb +6 -7
  204. data/lib/voom/presenters/dsl/components/unordered_list.rb +50 -0
  205. data/lib/voom/presenters/dsl/definer.rb +0 -4
  206. data/lib/voom/presenters/dsl/definition.rb +9 -6
  207. data/lib/voom/presenters/dsl/protect_from_forgery.rb +43 -0
  208. data/lib/voom/presenters/dsl/user_interface.rb +43 -32
  209. data/lib/voom/presenters/errors.rb +1 -0
  210. data/lib/voom/presenters/errors/invalid_dsl.rb +8 -0
  211. data/lib/voom/presenters/errors/parameter_validation.rb +1 -3
  212. data/lib/voom/presenters/generators/inflectors.rb +59 -0
  213. data/lib/voom/presenters/generators/plugin.rb +115 -0
  214. data/lib/voom/presenters/generators/templates/plugin/.gitignore +12 -0
  215. data/lib/voom/presenters/generators/templates/plugin/Gemfile +6 -0
  216. data/lib/voom/presenters/generators/templates/plugin/LICENSE.txt.tt +21 -0
  217. data/lib/voom/presenters/generators/templates/plugin/README.md +253 -0
  218. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/action.rb.tt +16 -0
  219. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/actions/dsl.rb.tt +22 -0
  220. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/component.rb.tt +18 -0
  221. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/components/dsl.rb.tt +19 -0
  222. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/helpers/helper.rb.tt +15 -0
  223. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/plugin.rb.tt +9 -0
  224. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/web_client/components/actions/data.rb.tt +17 -0
  225. data/lib/voom/presenters/generators/templates/plugin/lib/voom/presenters/plugins/web_client/components/render.rb.tt +23 -0
  226. data/lib/voom/presenters/generators/templates/plugin/presenter_plugin.gemspec.tt +21 -0
  227. data/lib/voom/presenters/generators/templates/plugin/views/assets/css/components/component.css.tt +21 -0
  228. data/lib/voom/presenters/generators/templates/plugin/views/assets/js/components/actions/action.js.tt +15 -0
  229. data/lib/voom/presenters/generators/templates/plugin/views/assets/js/components/component.js.tt +39 -0
  230. data/lib/voom/presenters/generators/templates/plugin/views/components/component.erb.tt +14 -0
  231. data/lib/voom/presenters/generators/templates/plugin/views/components/component_header.erb.tt +20 -0
  232. data/lib/voom/presenters/helpers.rb +2 -8
  233. data/lib/voom/presenters/helpers/date.rb +3 -3
  234. data/lib/voom/presenters/helpers/inflector.rb +1 -1
  235. data/lib/voom/presenters/helpers/rails.rb +18 -6
  236. data/lib/voom/presenters/helpers/rails/model_table.rb +14 -6
  237. data/lib/voom/presenters/helpers/redact.rb +13 -0
  238. data/lib/voom/presenters/helpers/route.rb +15 -2
  239. data/lib/voom/presenters/helpers/time.rb +1 -1
  240. data/lib/voom/presenters/namespace.rb +12 -0
  241. data/lib/voom/presenters/pluggable.rb +37 -0
  242. data/lib/voom/presenters/plugins.rb +7 -0
  243. data/lib/voom/presenters/plugins/google_maps.rb +24 -0
  244. data/lib/voom/presenters/plugins/google_maps/google_map.erb +10 -0
  245. data/lib/voom/presenters/plugins/google_maps/google_map.rb +41 -0
  246. data/lib/voom/presenters/{dsl.rb → registry.rb} +14 -10
  247. data/lib/voom/presenters/router.rb +59 -0
  248. data/lib/voom/presenters/settings.rb +70 -39
  249. data/lib/voom/presenters/version.rb +3 -1
  250. data/lib/voom/presenters/web_client/app.rb +121 -34
  251. data/lib/voom/presenters/web_client/component_decorator_factory.rb +27 -0
  252. data/lib/voom/presenters/web_client/component_html_decorator.rb +50 -0
  253. data/lib/voom/presenters/web_client/component_renderer.rb +49 -0
  254. data/lib/voom/presenters/web_client/custom_css.rb +65 -0
  255. data/lib/voom/presenters/web_client/custom_render.rb +31 -0
  256. data/lib/voom/presenters/web_client/helpers/expand_hash.rb +19 -0
  257. data/lib/voom/presenters/web_client/helpers/form_helpers.rb +14 -0
  258. data/lib/voom/presenters/web_client/helpers/padding_helpers.rb +21 -0
  259. data/lib/voom/presenters/web_client/plugin_headers.rb +37 -0
  260. data/lib/voom/presenters/web_client/router.rb +3 -89
  261. data/lib/voom/railtie.rb +37 -0
  262. data/lib/voom/serializer.rb +2 -2
  263. data/lib/voom/symbol/to_str.rb +3 -3
  264. data/lib/voom/trace.rb +0 -2
  265. data/presenters.gemspec +12 -7
  266. data/public/bundle.css +18221 -0
  267. data/public/bundle.js +59949 -0
  268. data/public/img/demo/avatar.jpg +0 -0
  269. data/public/presenters/custom_css.css +26 -0
  270. data/public/style-bundle.js +2 -2
  271. data/public/wc.js +52704 -0
  272. data/scripts/build.sh +10 -0
  273. data/views/mdc/.babelrc +8 -0
  274. data/views/mdc/.eslintrc.yml +24 -0
  275. data/views/mdc/.nvmrc +1 -0
  276. data/views/mdc/assets/js/app.js +30 -6
  277. data/views/mdc/assets/js/components/base-component.js +160 -2
  278. data/views/mdc/assets/js/components/base-container.js +87 -0
  279. data/views/mdc/assets/js/components/base-toggle.js +56 -0
  280. data/views/mdc/assets/js/components/button.js +71 -9
  281. data/views/mdc/assets/js/components/cards.js +13 -2
  282. data/views/mdc/assets/js/components/checkboxes.js +11 -11
  283. data/views/mdc/assets/js/components/chips.js +104 -7
  284. data/views/mdc/assets/js/components/content.js +14 -0
  285. data/views/mdc/assets/js/components/data-tables.js +15 -0
  286. data/views/mdc/assets/js/components/datetime.js +83 -20
  287. data/views/mdc/assets/js/components/dialogs.js +130 -27
  288. data/views/mdc/assets/js/components/drag_n_drop.js +182 -0
  289. data/views/mdc/assets/js/components/drawer.js +43 -0
  290. data/views/mdc/assets/js/components/events.js +195 -68
  291. data/views/mdc/assets/js/components/events/action_parameter.js +62 -0
  292. data/views/mdc/assets/js/components/events/action_parameter.test.js +62 -0
  293. data/views/mdc/assets/js/components/events/autocomplete.js +15 -17
  294. data/views/mdc/assets/js/components/events/base.js +142 -16
  295. data/views/mdc/assets/js/components/events/clears.js +15 -12
  296. data/views/mdc/assets/js/components/events/close_dialog.js +50 -0
  297. data/views/mdc/assets/js/components/events/dialog.js +32 -14
  298. data/views/mdc/assets/js/components/events/encode.js +8 -0
  299. data/views/mdc/assets/js/components/events/errors.js +175 -92
  300. data/views/mdc/assets/js/components/events/loads.js +50 -11
  301. data/views/mdc/assets/js/components/events/navigates.js +17 -15
  302. data/views/mdc/assets/js/components/events/plugin.js +18 -0
  303. data/views/mdc/assets/js/components/events/post_message.js +21 -0
  304. data/views/mdc/assets/js/components/events/posts.js +169 -47
  305. data/views/mdc/assets/js/components/events/prompt_if_dirty.js +67 -0
  306. data/views/mdc/assets/js/components/events/removes.js +21 -0
  307. data/views/mdc/assets/js/components/events/replaces.js +110 -57
  308. data/views/mdc/assets/js/components/events/snackbar.js +10 -10
  309. data/views/mdc/assets/js/components/events/stepper.js +21 -0
  310. data/views/mdc/assets/js/components/events/toggle_disabled.js +41 -0
  311. data/views/mdc/assets/js/components/events/toggle_visibility.js +62 -16
  312. data/views/mdc/assets/js/components/file-inputs.js +76 -0
  313. data/views/mdc/assets/js/components/form-fields.js +16 -0
  314. data/views/mdc/assets/js/components/forms.js +9 -60
  315. data/views/mdc/assets/js/components/get_event_target.js +15 -0
  316. data/views/mdc/assets/js/components/grid.js +21 -0
  317. data/views/mdc/assets/js/components/header.js +20 -0
  318. data/views/mdc/assets/js/components/hidden-fields.js +44 -0
  319. data/views/mdc/assets/js/components/icon-toggles.js +10 -17
  320. data/views/mdc/assets/js/components/images.js +19 -0
  321. data/views/mdc/assets/js/components/initialize.js +62 -18
  322. data/views/mdc/assets/js/components/lists.js +10 -5
  323. data/views/mdc/assets/js/components/menus.js +66 -20
  324. data/views/mdc/assets/js/components/mixins/dirtyable.js +22 -0
  325. data/views/mdc/assets/js/components/mixins/event-handler.js +7 -7
  326. data/views/mdc/assets/js/components/mixins/visibility-observer.js +35 -0
  327. data/views/mdc/assets/js/components/plugins.js +86 -0
  328. data/views/mdc/assets/js/components/progress.js +31 -0
  329. data/views/mdc/assets/js/components/radios.js +14 -0
  330. data/views/mdc/assets/js/components/rich-text-area.js +227 -0
  331. data/views/mdc/assets/js/components/rich-text-area/horizontal-rule-blot.js +23 -0
  332. data/views/mdc/assets/js/components/root_document.js +5 -0
  333. data/views/mdc/assets/js/components/selects.js +41 -30
  334. data/views/mdc/assets/js/components/sliders.js +67 -0
  335. data/views/mdc/assets/js/components/snackbar.js +17 -23
  336. data/views/mdc/assets/js/components/steppers.js +48 -0
  337. data/views/mdc/assets/js/components/switches.js +10 -32
  338. data/views/mdc/assets/js/components/tab-bars.js +28 -0
  339. data/views/mdc/assets/js/components/text-fields.js +117 -43
  340. data/views/mdc/assets/js/components/tooltip.js +17 -0
  341. data/views/mdc/assets/js/components/typography.js +28 -0
  342. data/views/mdc/assets/js/components/uninitialize.js +7 -0
  343. data/views/mdc/assets/js/config.js +27 -0
  344. data/views/mdc/assets/js/mdl-stepper.js +1108 -0
  345. data/views/mdc/assets/js/utils/compatibility.js +9 -0
  346. data/views/mdc/assets/js/utils/config.js +73 -0
  347. data/views/mdc/assets/js/utils/config.test.js +59 -0
  348. data/views/mdc/assets/js/utils/urls.js +5 -2
  349. data/views/mdc/assets/js/wc.js +111 -0
  350. data/views/mdc/assets/scss/app.scss +20 -5
  351. data/views/mdc/assets/scss/components/avatar.scss +51 -7
  352. data/views/mdc/assets/scss/components/button.scss +20 -7
  353. data/views/mdc/assets/scss/components/card.scss +13 -7
  354. data/views/mdc/assets/scss/components/checkbox.scss +0 -4
  355. data/views/mdc/assets/scss/components/chip.scss +4 -0
  356. data/views/mdc/assets/scss/components/content.scss +36 -0
  357. data/views/mdc/assets/scss/components/data-table.scss +91 -0
  358. data/views/mdc/assets/scss/components/datetime.scss +7 -2
  359. data/views/mdc/assets/scss/components/dialog.scss +7 -2
  360. data/views/mdc/assets/scss/components/drag_n_drop.scss +17 -0
  361. data/views/mdc/assets/scss/components/drawer.scss +82 -0
  362. data/views/mdc/assets/scss/components/expansion-panel.scss +2 -2
  363. data/views/mdc/assets/scss/components/fab.scss +23 -4
  364. data/views/mdc/assets/scss/components/file-input.scss +18 -0
  365. data/views/mdc/assets/scss/components/grid.scss +74 -3
  366. data/views/mdc/assets/scss/components/header.scss +21 -0
  367. data/views/mdc/assets/scss/components/icon-button-toggles.scss +2 -0
  368. data/views/mdc/assets/scss/components/icon.scss +23 -0
  369. data/views/mdc/assets/scss/components/image-list.scss +18 -0
  370. data/views/mdc/assets/scss/components/image.scss +14 -16
  371. data/views/mdc/assets/scss/components/list.scss +19 -0
  372. data/views/mdc/assets/scss/components/menu.scss +14 -3
  373. data/views/mdc/assets/scss/components/progress.scss +1 -0
  374. data/views/mdc/assets/scss/components/radio.scss +4 -0
  375. data/views/mdc/assets/scss/components/rich-text-area.scss +73 -0
  376. data/views/mdc/assets/scss/components/select.scss +6 -3
  377. data/views/mdc/assets/scss/components/separator.scss +3 -0
  378. data/views/mdc/assets/scss/components/slider.scss +1 -0
  379. data/views/mdc/assets/scss/components/snackbar.scss +1 -5
  380. data/views/mdc/assets/scss/components/stepper.scss +235 -0
  381. data/views/mdc/assets/scss/components/switch.scss +13 -4
  382. data/views/mdc/assets/scss/components/tab-bars.scss +4 -0
  383. data/views/mdc/assets/scss/components/textfield.scss +14 -3
  384. data/views/mdc/assets/scss/components/tooltip.scss +3 -0
  385. data/views/mdc/assets/scss/components/typography.scss +10 -0
  386. data/views/mdc/assets/scss/components/unordered-lists.scss +17 -0
  387. data/views/mdc/assets/scss/components/vendor/quill.snow.css +945 -0
  388. data/views/mdc/assets/scss/material.blue_grey-orange.min.css +1 -1
  389. data/views/mdc/assets/scss/media.scss +39 -0
  390. data/views/mdc/assets/scss/palette.scss +16 -0
  391. data/views/mdc/assets/scss/styles.scss +40 -1
  392. data/views/mdc/assets/scss/theme.scss +25 -2
  393. data/views/mdc/body/dismissable-drawer.erb +34 -0
  394. data/views/mdc/body/drawer/divider.erb +1 -0
  395. data/views/mdc/body/drawer/item.erb +13 -0
  396. data/views/mdc/body/drawer/label.erb +1 -0
  397. data/views/mdc/body/drawers/menu.erb +1 -1
  398. data/views/mdc/body/footers/menu_item.erb +2 -2
  399. data/views/mdc/body/header.erb +38 -30
  400. data/views/mdc/body/modal-drawer.erb +35 -0
  401. data/views/mdc/body/snackbar.erb +12 -6
  402. data/views/mdc/components/actions/autocomplete.rb +8 -0
  403. data/views/mdc/components/actions/clear.rb +11 -0
  404. data/views/mdc/components/actions/close_dialog.rb +10 -0
  405. data/views/mdc/components/actions/delete.rb +11 -0
  406. data/views/mdc/components/actions/dialog.rb +11 -0
  407. data/views/mdc/components/actions/loads.rb +17 -0
  408. data/views/mdc/components/actions/navigates.rb +11 -0
  409. data/views/mdc/components/actions/post.rb +14 -0
  410. data/views/mdc/components/actions/post_message.rb +10 -0
  411. data/views/mdc/components/actions/prompt_if_dirty.rb +17 -0
  412. data/views/mdc/components/actions/remove.rb +10 -0
  413. data/views/mdc/components/actions/replaces.rb +16 -0
  414. data/views/mdc/components/actions/resolver.rb +39 -0
  415. data/views/mdc/components/actions/snackbar.rb +12 -0
  416. data/views/mdc/components/actions/stepper.rb +10 -0
  417. data/views/mdc/components/actions/toggle_disabled.rb +10 -0
  418. data/views/mdc/components/actions/toggle_visibility.rb +10 -0
  419. data/views/mdc/components/actions/update.rb +10 -0
  420. data/views/mdc/components/avatar.erb +12 -7
  421. data/views/mdc/components/badge.erb +1 -1
  422. data/views/mdc/components/button.erb +10 -8
  423. data/views/mdc/components/buttons/button.erb +19 -14
  424. data/views/mdc/components/buttons/fab.erb +9 -2
  425. data/views/mdc/components/buttons/icon.erb +12 -5
  426. data/views/mdc/components/buttons/image.erb +11 -5
  427. data/views/mdc/components/{display.erb → caption.erb} +0 -0
  428. data/views/mdc/components/card.erb +67 -41
  429. data/views/mdc/components/checkbox.erb +32 -23
  430. data/views/mdc/components/chip.erb +39 -22
  431. data/views/mdc/components/chipset.erb +18 -0
  432. data/views/mdc/components/content.erb +37 -11
  433. data/views/mdc/components/datetime.erb +12 -17
  434. data/views/mdc/components/dialog.erb +45 -22
  435. data/views/mdc/components/drag_and_drop/drag_and_drop.rb +16 -0
  436. data/views/mdc/components/event.erb +3 -9
  437. data/views/mdc/components/expansion_panel.erb +8 -6
  438. data/views/mdc/components/file_input.erb +17 -0
  439. data/views/mdc/components/form.erb +7 -8
  440. data/views/mdc/components/grid.erb +27 -10
  441. data/views/mdc/components/headline.erb +2 -0
  442. data/views/mdc/components/hidden_field.erb +5 -1
  443. data/views/mdc/components/icon.erb +7 -5
  444. data/views/mdc/components/icon_toggle.erb +9 -8
  445. data/views/mdc/components/image.erb +23 -5
  446. data/views/mdc/components/image_list.erb +38 -0
  447. data/views/mdc/components/link.erb +3 -13
  448. data/views/mdc/components/list.erb +9 -4
  449. data/views/mdc/components/list/actions/switch.erb +1 -1
  450. data/views/mdc/components/list/avatar.erb +2 -1
  451. data/views/mdc/components/list/header.erb +5 -3
  452. data/views/mdc/components/list/hidden_field.erb +3 -0
  453. data/views/mdc/components/list/icon.erb +2 -1
  454. data/views/mdc/components/list/line.erb +24 -13
  455. data/views/mdc/components/list/menu.erb +7 -2
  456. data/views/mdc/components/list/separator.erb +1 -1
  457. data/views/mdc/components/menu.erb +20 -16
  458. data/views/mdc/components/number_field.erb +38 -0
  459. data/views/mdc/components/{subheading.erb → overline.erb} +0 -0
  460. data/views/mdc/components/page_title.erb +2 -2
  461. data/views/mdc/components/progress.erb +11 -0
  462. data/views/mdc/components/radio_button.erb +19 -10
  463. data/views/mdc/components/render.erb +2 -3
  464. data/views/mdc/components/rich_text_area.erb +22 -0
  465. data/views/mdc/components/select.erb +28 -8
  466. data/views/mdc/components/separator.erb +3 -0
  467. data/views/mdc/components/shared/hint_error_display.erb +9 -0
  468. data/views/mdc/components/shared/input_label.erb +7 -0
  469. data/views/mdc/components/slider.erb +43 -0
  470. data/views/mdc/components/snackbar.erb +2 -6
  471. data/views/mdc/components/stepper.erb +47 -0
  472. data/views/mdc/components/stepper/step.erb +33 -0
  473. data/views/mdc/components/{title.erb → subtitle.erb} +0 -0
  474. data/views/mdc/components/switch.erb +28 -12
  475. data/views/mdc/components/tab_bar.erb +35 -0
  476. data/views/mdc/components/table.erb +28 -13
  477. data/views/mdc/components/table/checkbox.erb +20 -0
  478. data/views/mdc/components/table/column.erb +18 -0
  479. data/views/mdc/components/table/footer.erb +8 -0
  480. data/views/mdc/components/table/header.erb +14 -4
  481. data/views/mdc/components/table/pagination.erb +11 -24
  482. data/views/mdc/components/table/row.erb +7 -5
  483. data/views/mdc/components/text_area.erb +15 -7
  484. data/views/mdc/components/text_field.erb +38 -28
  485. data/views/mdc/components/tooltip.erb +2 -2
  486. data/views/mdc/components/typography.erb +7 -5
  487. data/views/mdc/components/unordered_list.erb +10 -0
  488. data/views/mdc/components/unordered_list/icon.erb +3 -0
  489. data/views/mdc/components/unordered_list/list_item.erb +7 -0
  490. data/views/mdc/layout.erb +45 -31
  491. data/views/mdc/package-lock.json +11801 -6869
  492. data/views/mdc/package.json +66 -29
  493. data/views/mdc/web.erb +4 -0
  494. data/views/mdc/webpack.config.js +14 -1
  495. metadata +327 -37
  496. data/app/demo/component_status.pom +0 -76
  497. data/app/demo/components/forms.pom +0 -31
  498. data/lib/voom-presenters.rb +0 -9
  499. data/lib/voom/presenters-engine.rb +0 -41
  500. data/lib/voom/presenters.rb +0 -13
  501. data/lib/voom/presenters/dsl/components/action.rb +0 -35
  502. data/lib/voom/presenters/web_client/markdown_render.rb +0 -16
  503. data/public/.gitignore +0 -2
  504. data/scripts/bump.sh +0 -4
  505. data/scripts/deploy-demo.sh +0 -2
  506. data/scripts/release.sh +0 -5
  507. data/views/mdc/assets/js/dialog-polyfill.js +0 -738
  508. data/views/mdc/assets/js/material.js +0 -3996
  509. data/views/mdc/assets/scss/components/icon-toggles.scss +0 -9
  510. data/views/mdc/assets/scss/components/table-pagination.scss +0 -65
  511. data/views/mdc/assets/scss/components/vendor/flatpickr.min.css +0 -13
  512. data/views/mdc/body/drawer.erb +0 -18
  513. data/views/mdc/components/modal.erb +0 -15
  514. data/views/mdc/components/static.erb +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea47b365bb4c88502136458e8ed1965b4db8c48183f89c3dc314c135887b0a6b
4
- data.tar.gz: ac0d581d5761b8b344054e6b6c4208f4a18e0570eba9ac0748daa8a5c0bcc187
3
+ metadata.gz: 1d840d92aace441f5618199bac0a7035c81f9598d201aa6b75065c59a351410d
4
+ data.tar.gz: 4595652fbd9340df29a912d2374166f761d5f62cd28480c50aac09b4ccb4b5ad
5
5
  SHA512:
6
- metadata.gz: 953548a19ff7393c4bc0dca476f4dadc9b7bca08fe803c5578557554c04967f48331e57bba55c0aeb3d7e5c2cc79084a7802008e7971f61663924446b8999203
7
- data.tar.gz: e07ff9cf18c41922b022b07a66f44d2d7bf2a71bc5ac1dcba35056c5205681a7f5e417c7b3e30f867694b6fcfa45b4fed1e40d5cb37c59744137b392d264f81e
6
+ metadata.gz: 49323725469caa0f8b1d1268217882727c7133a9077fbcd2105e6e276e7487a3911126a15338e36d538ee91ebb75031030afebae66e20338fedf027a87d5cb5b
7
+ data.tar.gz: 18872cff6fa887c6698b2710c97ebaffd4be80800e3067a1c9fe641ad9a1f31ca0cc000f7d28cfb912bffa4ae4a0169196b611173e34cbfa3b4962f2533bf033
data/.circleci/config.yml CHANGED
@@ -7,7 +7,7 @@ jobs:
7
7
  build:
8
8
  docker:
9
9
  # specify the version you desire here
10
- - image: circleci/ruby:2.5-node-browsers
10
+ - image: circleci/ruby:2.7.2-node-browsers
11
11
 
12
12
  # Specify service dependencies here if necessary
13
13
  # CircleCI maintains a library of pre-built images
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior:
15
+ 1. Go to '...'
16
+ 2. Click on '....'
17
+ 3. Scroll down to '....'
18
+ 4. See error
19
+
20
+ **Expected behavior**
21
+ A clear and concise description of what you expected to happen.
22
+
23
+ **Screenshots**
24
+ If applicable, add screenshots to help explain your problem.
25
+
26
+ **Desktop (please complete the following information):**
27
+ - OS: [e.g. iOS]
28
+ - Browser [e.g. chrome, safari]
29
+ - Version [e.g. 22]
30
+
31
+ **Smartphone (please complete the following information):**
32
+ - Device: [e.g. iPhone6]
33
+ - OS: [e.g. iOS8.1]
34
+ - Browser [e.g. stock browser, safari]
35
+ - Version [e.g. 22]
36
+
37
+ **Additional context**
38
+ Add any other context about the problem here.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: Questions/Support
3
+ about: 'If you have a question about source code or behavior, you can ask it here. '
4
+ title: "[SUPPORT]"
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ Please be clear on your question. Provide code samples and version information, or links to source in question.
@@ -0,0 +1,42 @@
1
+ # This is a basic workflow to help you get started with Actions
2
+
3
+ name: CI
4
+
5
+ # Controls when the action will run.
6
+ on:
7
+ # Triggers the workflow on push or pull request events but only for the master branch
8
+ push:
9
+ branches: [ master ]
10
+ pull_request:
11
+ branches: [ master ]
12
+
13
+ # Allows you to run this workflow manually from the Actions tab
14
+ workflow_dispatch:
15
+
16
+ # A workflow run is made up of one or more jobs that can run sequentially or in parallel
17
+ jobs:
18
+ # This workflow contains a single job called "build"
19
+ build:
20
+ # The type of runner that the job will run on
21
+ runs-on: ubuntu-latest
22
+
23
+ # Steps represent a sequence of tasks that will be executed as part of the job
24
+ steps:
25
+ - name: Checkout
26
+ uses: actions/checkout@v2
27
+ - name: Setup Ruby
28
+ uses: ruby/setup-ruby@v1
29
+ with:
30
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
31
+ - name: Semantic Release
32
+ uses: cycjimmy/semantic-release-action@v2
33
+ with:
34
+ extra_plugins: |
35
+ @semantic-release/changelog
36
+ @semantic-release/github
37
+ semantic-release-rubygem
38
+ dry_run: false
39
+ env:
40
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41
+ GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
42
+
data/.gitignore CHANGED
@@ -32,7 +32,6 @@ build-iPhoneSimulator/
32
32
  ## Documentation cache and generated files:
33
33
  /.yardoc/
34
34
  /_yardoc/
35
- /doc/
36
35
  /rdoc/
37
36
 
38
37
  ## Environment normalization:
@@ -52,4 +51,6 @@ build-iPhoneSimulator/
52
51
  /.idea/
53
52
  .DS_Store
54
53
  .env
55
- notes.txt
54
+ notes.txt
55
+ node_modules
56
+
data/.releaserc ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "branches": ["master"],
3
+ "plugins": [
4
+ "@semantic-release/commit-analyzer",
5
+ "@semantic-release/release-notes-generator",
6
+ [
7
+ "@semantic-release/changelog",
8
+ {
9
+ "changelogFile": "CHANGELOG.md"
10
+ }
11
+ ],
12
+ "@semantic-release/github",
13
+ "semantic-release-rubygem"
14
+ ]
15
+ }
data/.ruby-version CHANGED
@@ -1 +1,2 @@
1
- 2.5.1
1
+ 2.7.2
2
+
data/CHANGELOG.md ADDED
@@ -0,0 +1,143 @@
1
+ ## [2.0.3](https://github.com/rx/presenters/compare/v2.0.2...v2.0.3) (2021-03-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * double file edit prints caused by multiple file watchers ([cecd3fe](https://github.com/rx/presenters/commit/cecd3fe0efbb3c73a5885e0c62346f2513bccc2b))
7
+
8
+ # Changelog
9
+
10
+ ## [1.0.0](https://github.com/rx/presenters/tree/1.0.0) (2020-12-20)
11
+
12
+ [Full Changelog](https://github.com/rx/presenters/compare/v0.5.0...1.0.0)
13
+
14
+ **Closed issues:**
15
+
16
+ - Validation on components and plugins is not run [\#274](https://github.com/rx/presenters/issues/274)
17
+
18
+ **Merged pull requests:**
19
+
20
+ - Semantic release [\#296](https://github.com/rx/presenters/pull/296) ([rx](https://github.com/rx))
21
+ - Bump lodash from 4.17.14 to 4.17.20 in /views/mdc [\#295](https://github.com/rx/presenters/pull/295) ([dependabot[bot]](https://github.com/apps/dependabot))
22
+ - Plugin Generator [\#294](https://github.com/rx/presenters/pull/294) ([rx](https://github.com/rx))
23
+ - Need quotes around behavior [\#293](https://github.com/rx/presenters/pull/293) ([NullTerminator](https://github.com/NullTerminator))
24
+ - Allow "currency" as a behavior in text fields [\#292](https://github.com/rx/presenters/pull/292) ([dsgraham](https://github.com/dsgraham))
25
+ - Allow setting background color of a card [\#291](https://github.com/rx/presenters/pull/291) ([NullTerminator](https://github.com/NullTerminator))
26
+ - Bump http-proxy from 1.17.0 to 1.18.1 in /views/mdc [\#290](https://github.com/rx/presenters/pull/290) ([dependabot[bot]](https://github.com/apps/dependabot))
27
+ - Bump handlebars from 4.3.3 to 4.7.6 in /views/mdc [\#289](https://github.com/rx/presenters/pull/289) ([dependabot[bot]](https://github.com/apps/dependabot))
28
+ - Bump node-sass from 4.11.0 to 4.13.1 in /views/mdc [\#288](https://github.com/rx/presenters/pull/288) ([dependabot[bot]](https://github.com/apps/dependabot))
29
+ - Namespace CSS and field level validation errors [\#287](https://github.com/rx/presenters/pull/287) ([dsgraham](https://github.com/dsgraham))
30
+ - Bump elliptic from 6.4.1 to 6.5.3 in /views/mdc [\#286](https://github.com/rx/presenters/pull/286) ([dependabot[bot]](https://github.com/apps/dependabot))
31
+ - Bump json from 2.1.0 to 2.3.1 [\#285](https://github.com/rx/presenters/pull/285) ([dependabot[bot]](https://github.com/apps/dependabot))
32
+ - Presenter definition options [\#284](https://github.com/rx/presenters/pull/284) ([dsgraham](https://github.com/dsgraham))
33
+ - Html decorators [\#282](https://github.com/rx/presenters/pull/282) ([NullTerminator](https://github.com/NullTerminator))
34
+ - Bump npm from 6.13.4 to 6.14.6 in /views/mdc [\#281](https://github.com/rx/presenters/pull/281) ([dependabot[bot]](https://github.com/apps/dependabot))
35
+ - Unescape attrs before passing them to replaces [\#279](https://github.com/rx/presenters/pull/279) ([NullTerminator](https://github.com/NullTerminator))
36
+ - Dispatch an event when the calendar picker is closed [\#278](https://github.com/rx/presenters/pull/278) ([NullTerminator](https://github.com/NullTerminator))
37
+ - Bump rack from 2.0.8 to 2.2.3 [\#277](https://github.com/rx/presenters/pull/277) ([dependabot[bot]](https://github.com/apps/dependabot))
38
+ - Allow table columns to have non markdown values [\#276](https://github.com/rx/presenters/pull/276) ([NullTerminator](https://github.com/NullTerminator))
39
+ - Hook up validation for components and plugins from the post event. [\#275](https://github.com/rx/presenters/pull/275) ([dsgraham](https://github.com/dsgraham))
40
+ - New cart support [\#273](https://github.com/rx/presenters/pull/273) ([kgrafius](https://github.com/kgrafius))
41
+ - Bump websocket-extensions from 0.1.3 to 0.1.4 in /views/mdc [\#272](https://github.com/rx/presenters/pull/272) ([dependabot[bot]](https://github.com/apps/dependabot))
42
+ - Changed content implementation of inline from inline to inline-block. … [\#271](https://github.com/rx/presenters/pull/271) ([kgrafius](https://github.com/kgrafius))
43
+ - Fix snackbar callback [\#270](https://github.com/rx/presenters/pull/270) ([dsgraham](https://github.com/dsgraham))
44
+ - Introduce text\_field `behavior` attribute [\#269](https://github.com/rx/presenters/pull/269) ([jadefish](https://github.com/jadefish))
45
+ - Fix text field icons [\#268](https://github.com/rx/presenters/pull/268) ([jadefish](https://github.com/jadefish))
46
+ - Updated card markup with a containing div for managing visibility. Ad… [\#267](https://github.com/rx/presenters/pull/267) ([kgrafius](https://github.com/kgrafius))
47
+ - Ensure lifecycle events are always dispatched [\#266](https://github.com/rx/presenters/pull/266) ([jadefish](https://github.com/jadefish))
48
+ - Remove Nokogiri as an explicit dependency [\#265](https://github.com/rx/presenters/pull/265) ([jadefish](https://github.com/jadefish))
49
+ - Fix frozen string mutation issue with Ruby 2.7.0 [\#264](https://github.com/rx/presenters/pull/264) ([jadefish](https://github.com/jadefish))
50
+ - Alternate css hide strategy [\#263](https://github.com/rx/presenters/pull/263) ([kgrafius](https://github.com/kgrafius))
51
+ - Added icons to the select component [\#262](https://github.com/rx/presenters/pull/262) ([rx](https://github.com/rx))
52
+ - Update rake requirement from ~\> 11.3 to ~\> 13.0 [\#261](https://github.com/rx/presenters/pull/261) ([dependabot[bot]](https://github.com/apps/dependabot))
53
+ - Dmonsewicz/add color to secondary title for expansion panel [\#259](https://github.com/rx/presenters/pull/259) ([dennismonsewicz](https://github.com/dennismonsewicz))
54
+ - adding Icons mixin to Common [\#258](https://github.com/rx/presenters/pull/258) ([dennismonsewicz](https://github.com/dennismonsewicz))
55
+ - Use color classes for background-color so we can use palette colors [\#257](https://github.com/rx/presenters/pull/257) ([NullTerminator](https://github.com/NullTerminator))
56
+ - Render table pagination buttons as buttons [\#255](https://github.com/rx/presenters/pull/255) ([jadefish](https://github.com/jadefish))
57
+ - Implement Typography.prototype.value\(\) [\#254](https://github.com/rx/presenters/pull/254) ([jadefish](https://github.com/jadefish))
58
+ - Flag HTML in POSTs [\#253](https://github.com/rx/presenters/pull/253) ([dsgraham](https://github.com/dsgraham))
59
+ - Add before\_render configuration setting [\#251](https://github.com/rx/presenters/pull/251) ([jadefish](https://github.com/jadefish))
60
+ - Allow replaces to skip some input values [\#250](https://github.com/rx/presenters/pull/250) ([NullTerminator](https://github.com/NullTerminator))
61
+ - Provide CSRF authenticity token meta tags and pass through on POST [\#249](https://github.com/rx/presenters/pull/249) ([dsgraham](https://github.com/dsgraham))
62
+ - Added `case\_type` attribute to text\_field component. [\#248](https://github.com/rx/presenters/pull/248) ([kgrafius](https://github.com/kgrafius))
63
+ - Bump rack-cors from 1.0.2 to 1.1.0 [\#247](https://github.com/rx/presenters/pull/247) ([dependabot[bot]](https://github.com/apps/dependabot))
64
+ - Bump rack from 2.0.6 to 2.0.8 [\#246](https://github.com/rx/presenters/pull/246) ([dependabot[bot]](https://github.com/apps/dependabot))
65
+ - Bump npm from 6.11.3 to 6.13.4 in /views/mdc [\#245](https://github.com/rx/presenters/pull/245) ([dependabot[bot]](https://github.com/apps/dependabot))
66
+ - Allow the use of a dialog from a list line. [\#244](https://github.com/rx/presenters/pull/244) ([dsgraham](https://github.com/dsgraham))
67
+ - Number field [\#243](https://github.com/rx/presenters/pull/243) ([kgrafius](https://github.com/kgrafius))
68
+ - Only load scripts from a flow-matic once [\#242](https://github.com/rx/presenters/pull/242) ([NullTerminator](https://github.com/NullTerminator))
69
+ - Allow setting background color for buttons and contents [\#239](https://github.com/rx/presenters/pull/239) ([NullTerminator](https://github.com/NullTerminator))
70
+ - Dependabot bumped one, but had old versions of others. lock from bundle [\#238](https://github.com/rx/presenters/pull/238) ([NullTerminator](https://github.com/NullTerminator))
71
+ - Updates to be web component / shadow dom friendly [\#234](https://github.com/rx/presenters/pull/234) ([NullTerminator](https://github.com/NullTerminator))
72
+ - Bump rubyzip from 1.2.3 to 1.3.0 [\#229](https://github.com/rx/presenters/pull/229) ([dependabot[bot]](https://github.com/apps/dependabot))
73
+ - Bump mixin-deep from 1.3.1 to 1.3.2 in /views/mdc [\#213](https://github.com/rx/presenters/pull/213) ([dependabot[bot]](https://github.com/apps/dependabot))
74
+ - Bump eslint-utils from 1.3.1 to 1.4.2 in /views/mdc [\#212](https://github.com/rx/presenters/pull/212) ([dependabot[bot]](https://github.com/apps/dependabot))
75
+
76
+ ## [v0.5.0](https://github.com/rx/presenters/tree/v0.5.0) (2019-11-01)
77
+
78
+ [Full Changelog](https://github.com/rx/presenters/compare/0.5.0...v0.5.0)
79
+
80
+ # HISTORY
81
+ This is the manual changelog, managed before switching to github_changelog_generator.
82
+
83
+ ## [0.2.00] - 2018-09-18
84
+ ### Added
85
+ - This change log
86
+ - [Namespaces]
87
+ - [Slider component]
88
+ - [Rich text component]
89
+ - [Map component]
90
+ - [Chip as input]
91
+ - [Tagged Input]
92
+ - [Grid Padding]
93
+ - [Grid Wide/Table scrolling]
94
+ - [Overline Text Style]
95
+ - [Blank lines]
96
+ - [Page separator]
97
+ - [Clear action]
98
+ - Floating content blocks
99
+ - Request logging
100
+
101
+ ### Removed
102
+ - Autocomplete event
103
+
104
+ ### Changed
105
+ - Text field - draw with outlined style by default
106
+ - Text field - support for leading or trailing icons
107
+ - Text field - disabled support
108
+ - Text area - can specify cols to control width
109
+ - Select options - can pass the option text as the first parameter, or in the block.
110
+ - List - component action blocks are now actions
111
+ - List - color and border
112
+ - Content blocks - icons support
113
+ - Events - aliases focus and blur (maps to focusin and focusout)
114
+ - Typography - available in menu items, including markdown
115
+ - Typography - removed trailing line breaks
116
+ - Rails helper table_for helper - accepts timezone for auto time formatting
117
+ - Date time - default format changed
118
+ - Webclient FAB button - shifted up and out to make room for list actions
119
+
120
+ ### Fixed
121
+ - Text field - Removed excessive trailing spacing
122
+ - Context is no longer copied and it is not included in the pom json
123
+ - List - selected lists can render selected with the checked option
124
+
125
+ [Unreleased]: https://github.com/rx/presenters/compare/v0.1.14...HEAD
126
+ [0.1.14]: https://github.com/rx/presenters/compare/v0.1.14...v0.1.13
127
+ [Namespaces]: https://powerful-bastion-96181.herokuapp.com/namespaces
128
+ [Stepper]: https://powerful-bastion-96181.herokuapp.com/steppers
129
+ [Rich text component]: https://powerful-bastion-96181.herokuapp.com/text_areas
130
+ [Slider component]: https://powerful-bastion-96181.herokuapp.com/sliders
131
+ [Tagged Input]: https://powerful-bastion-96181.herokuapp.com/tagged_input
132
+ [Overline Text Style]: https://powerful-bastion-96181.herokuapp.com/styles
133
+ [Page separator]: https://powerful-bastion-96181.herokuapp.com/separator
134
+ [Blank lines]: https://powerful-bastion-96181.herokuapp.com/styles
135
+ [Grid Padding]: https://powerful-bastion-96181.herokuapp.com/layouts
136
+ [Map component]: https://powerful-bastion-96181.herokuapp.com/maps
137
+ [Clear action]: https://powerful-bastion-96181.herokuapp.com/clear_action
138
+ [Chip as input]: https://powerful-bastion-96181.herokuapp.com/chips#input_chips
139
+ [Floating content blocks]:https://powerful-bastion-96181.herokuapp.com/content#floating
140
+ [Grid Wide/Table scrolling]:https://powerful-bastion-96181.herokuapp.com/tables
141
+
142
+
143
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,60 @@
1
+ ## How to contribute to Presenters
2
+
3
+ #### Semantic Release commit messages
4
+ Presenter uses [semantic release](https://semantic-release.gitbook.io/semantic-release/) to maintain [semantic versioning](https://semver.org/).
5
+
6
+ This means that your commits must identify what changes are in them. Examples (from the semantic release readme):
7
+
8
+ | Commit message | Release type |
9
+ |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------|
10
+ | `fix(pencil): stop graphite breaking when too much pressure applied` | Patch Release |
11
+ | `feat(pencil): add 'graphiteWidth' option` | ~~Minor~~ Feature Release |
12
+ | `perf(pencil): remove graphiteWidth option`<br><br>`BREAKING CHANGE: The graphiteWidth option has been removed.`<br>`The default graphite width of 10mm is always used for performance reasons.` | ~~Major~~ Breaking Release |
13
+
14
+ The following types are available:
15
+
16
+ * feat: A new feature
17
+ * fix: A bug fix
18
+ * docs: Documentation only changes
19
+ * style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
20
+ * refactor: A code change that neither fixes a bug nor adds a feature
21
+ * perf: A code change that improves performance
22
+ * test: Adding missing or correcting existing tests
23
+ * chore: Changes to the build process or auxiliary tools and libraries such as documentation generation
24
+
25
+ The [Angular Git Commit Guidelines](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines)
26
+ outlines the conventions in full detail.
27
+
28
+ #### **Did you find a bug?**
29
+
30
+ * **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/rx/presenters/issues).
31
+
32
+ * If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/rx/presenters/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
33
+
34
+ * Use the bug report templates to create the issue.
35
+
36
+ #### **Did you write a patch that fixes a bug?**
37
+
38
+ * Open a new GitHub pull request with the patch.
39
+
40
+ * Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
41
+
42
+ #### **Do you intend to add a new feature or change an existing one?**
43
+
44
+ * Suggest your change as a new [feature request](https://github.com/rx/presenters/issues/new) and start writing code.
45
+
46
+ #### **Do you have questions about the source code?**
47
+
48
+ * Ask any question about how to use Presenters open a [support/question](https://github.com/rx/presenters/issues/new)
49
+
50
+ #### **Do you want to contribute to the Presenters documentation?**
51
+
52
+ * Open a new GitHub pull request with the patch.
53
+
54
+ Presenters are a volunteer effort. We encourage you to pitch in and join the team!
55
+
56
+ Thanks! :heart: :heart: :heart:
57
+
58
+ Presenters Team
59
+
60
+ (Attribution: Adapted from Rails contribution guidlines)
data/Gemfile CHANGED
@@ -1,15 +1,25 @@
1
1
  source 'https://rubygems.org'
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
2
3
 
3
- ruby `cat .ruby-version`
4
+ ruby `[ -z "$RBENV_VERSION" ] && cat .ruby-version || echo $RBENV_VERSION`
4
5
  # Specify your gem's dependencies in voom-console.gemspec
5
6
  gemspec
6
7
 
8
+ gem 'pry', group: :development
9
+
7
10
  group :test do
8
11
  gem 'rspec'
9
12
  gem 'rspec-html-matchers'
10
- gem 'watir', '~> 6.10.3'
11
- gem "webdrivers", "~> 3.0"
12
- gem 'watir-rspec'
13
+ gem 'watir', '~> 6.16'
14
+ gem 'webdrivers', '~> 4.1'
15
+ gem 'watir-rspec', '~> 3.0'
13
16
  gem 'rspec_junit_formatter'
14
17
  gem 'simplecov', require: false
15
18
  end
19
+
20
+ gem 'foo_presenter_plugin', github:'rx/foo_presenter_plugin'
21
+ gem 'image_crop_presenter_plugin', github:'rx/image_crop_presenter_plugin'
22
+ gem 'chart_presenter_plugin', github:'rx/chart_presenter_plugin'
23
+ gem 'rack-cors'
24
+ gem 'honeybadger' if ENV.fetch('HONEYBADGER_API_KEY'){false}
25
+ gem 'puma'
data/Gemfile.lock CHANGED
@@ -1,123 +1,169 @@
1
+ GIT
2
+ remote: https://github.com/rx/chart_presenter_plugin.git
3
+ revision: e2afb1cf0292ea92371cfc83be16b2ad95dee26d
4
+ specs:
5
+ chart_presenter_plugin (0.1.0)
6
+
7
+ GIT
8
+ remote: https://github.com/rx/foo_presenter_plugin.git
9
+ revision: 313dddfef05f740990c509b89831b69730b4ce12
10
+ specs:
11
+ foo_presenter_plugin (0.0.1)
12
+
13
+ GIT
14
+ remote: https://github.com/rx/image_crop_presenter_plugin.git
15
+ revision: c0814ffa5a0f40fd15d697e72a5bd4c9e4117d1e
16
+ specs:
17
+ image_crop_presenter_plugin (0.1.0)
18
+
1
19
  PATH
2
20
  remote: .
3
21
  specs:
4
- voom-presenters (0.1.12)
22
+ voom-presenters (1.0.0)
5
23
  dry-configurable (> 0.1, <= 7.0)
6
24
  dry-container (~> 0.6)
7
25
  dry-inflector (~> 0.1)
26
+ filewatcher (~> 1.1.1)
8
27
  ice_nine (~> 0.11)
9
28
  redcarpet (~> 3.4)
10
29
  sinatra (>= 1.4, < 3.0)
11
- tzinfo (~> 1.2)
30
+ tzinfo (>= 1.1, < 3.0)
12
31
  tzinfo-data (~> 1.2018)
32
+ zeitwerk (~> 2.1)
13
33
 
14
34
  GEM
15
35
  remote: https://rubygems.org/
16
36
  specs:
17
- childprocess (0.9.0)
18
- ffi (~> 1.0, >= 1.0.11)
19
- coderay (1.1.1)
20
- concurrent-ruby (1.0.5)
21
- diff-lcs (1.2.5)
22
- docile (1.1.5)
23
- dry-configurable (0.7.0)
37
+ childprocess (3.0.0)
38
+ coderay (1.1.2)
39
+ concurrent-ruby (1.1.7)
40
+ diff-lcs (1.3)
41
+ docile (1.3.1)
42
+ dry-configurable (0.11.6)
24
43
  concurrent-ruby (~> 1.0)
25
- dry-container (0.6.0)
44
+ dry-core (~> 0.4, >= 0.4.7)
45
+ dry-equalizer (~> 0.2)
46
+ dry-container (0.7.2)
26
47
  concurrent-ruby (~> 1.0)
27
48
  dry-configurable (~> 0.1, >= 0.1.3)
28
- dry-inflector (0.1.2)
29
- ffi (1.9.23)
49
+ dry-core (0.5.0)
50
+ concurrent-ruby (~> 1.0)
51
+ dry-equalizer (0.3.0)
52
+ dry-inflector (0.2.0)
53
+ filewatcher (1.1.1)
54
+ optimist (~> 3.0)
30
55
  gem-release (2.0.1)
31
56
  ice_nine (0.11.2)
32
- json (2.1.0)
33
- method_source (0.8.2)
34
- mini_portile2 (2.3.0)
35
- mustermann (1.0.2)
36
- nokogiri (1.8.2)
37
- mini_portile2 (~> 2.3.0)
38
- pry (0.10.4)
57
+ json (2.3.1)
58
+ method_source (0.9.0)
59
+ mini_portile2 (2.5.0)
60
+ mustermann (1.1.1)
61
+ ruby2_keywords (~> 0.0.1)
62
+ nio4r (2.5.7)
63
+ nokogiri (1.11.2)
64
+ mini_portile2 (~> 2.5.0)
65
+ racc (~> 1.4)
66
+ nokogiri (1.11.2-x86_64-darwin)
67
+ racc (~> 1.4)
68
+ optimist (3.0.1)
69
+ pry (0.11.3)
39
70
  coderay (~> 1.1.0)
40
- method_source (~> 0.8.1)
41
- slop (~> 3.4)
42
- rack (2.0.5)
43
- rack-protection (2.0.3)
71
+ method_source (~> 0.9.0)
72
+ puma (5.2.2)
73
+ nio4r (~> 2.0)
74
+ racc (1.5.2)
75
+ rack (2.2.3)
76
+ rack-cors (1.1.0)
77
+ rack (>= 2.0.0)
78
+ rack-protection (2.1.0)
44
79
  rack
45
- rack-test (0.8.2)
80
+ rack-test (0.8.3)
46
81
  rack (>= 1.0, < 3)
47
- rake (11.3.0)
48
- redcarpet (3.4.0)
49
- rspec (3.5.0)
50
- rspec-core (~> 3.5.0)
51
- rspec-expectations (~> 3.5.0)
52
- rspec-mocks (~> 3.5.0)
53
- rspec-core (3.5.4)
54
- rspec-support (~> 3.5.0)
55
- rspec-expectations (3.5.0)
82
+ rake (13.0.1)
83
+ redcarpet (3.5.1)
84
+ regexp_parser (1.6.0)
85
+ rspec (3.8.0)
86
+ rspec-core (~> 3.8.0)
87
+ rspec-expectations (~> 3.8.0)
88
+ rspec-mocks (~> 3.8.0)
89
+ rspec-core (3.8.2)
90
+ rspec-support (~> 3.8.0)
91
+ rspec-expectations (3.8.4)
56
92
  diff-lcs (>= 1.2.0, < 2.0)
57
- rspec-support (~> 3.5.0)
93
+ rspec-support (~> 3.8.0)
58
94
  rspec-html-matchers (0.9.1)
59
95
  nokogiri (~> 1)
60
96
  rspec (>= 3.0.0.a, < 4)
61
- rspec-mocks (3.5.0)
97
+ rspec-mocks (3.8.1)
62
98
  diff-lcs (>= 1.2.0, < 2.0)
63
- rspec-support (~> 3.5.0)
64
- rspec-support (3.5.0)
65
- rspec_junit_formatter (0.3.0)
99
+ rspec-support (~> 3.8.0)
100
+ rspec-support (3.8.2)
101
+ rspec_junit_formatter (0.4.1)
66
102
  rspec-core (>= 2, < 4, != 2.12.0)
67
- rubyzip (1.2.1)
68
- selenium-webdriver (3.11.0)
69
- childprocess (~> 0.5)
70
- rubyzip (~> 1.2)
103
+ ruby2_keywords (0.0.2)
104
+ rubyzip (1.3.0)
105
+ selenium-webdriver (3.142.7)
106
+ childprocess (>= 0.5, < 4.0)
107
+ rubyzip (>= 1.2.2)
71
108
  shotgun (0.9.2)
72
109
  rack (>= 1.0)
73
- simplecov (0.15.1)
74
- docile (~> 1.1.0)
110
+ simplecov (0.16.1)
111
+ docile (~> 1.1)
75
112
  json (>= 1.8, < 3)
76
113
  simplecov-html (~> 0.10.0)
77
114
  simplecov-html (0.10.2)
78
- sinatra (2.0.3)
115
+ sinatra (2.1.0)
79
116
  mustermann (~> 1.0)
80
- rack (~> 2.0)
81
- rack-protection (= 2.0.3)
117
+ rack (~> 2.2)
118
+ rack-protection (= 2.1.0)
82
119
  tilt (~> 2.0)
83
- slop (3.6.0)
84
- thread_safe (0.3.6)
85
- tilt (2.0.8)
86
- tzinfo (1.2.5)
87
- thread_safe (~> 0.1)
88
- tzinfo-data (1.2018.5)
120
+ thor (1.0.1)
121
+ tilt (2.0.10)
122
+ tzinfo (2.0.4)
123
+ concurrent-ruby (~> 1.0)
124
+ tzinfo-data (1.2020.4)
89
125
  tzinfo (>= 1.0.0)
90
- watir (6.10.3)
91
- selenium-webdriver (~> 3.4, >= 3.4.1)
126
+ watir (6.16.5)
127
+ regexp_parser (~> 1.2)
128
+ selenium-webdriver (~> 3.6)
92
129
  watir-rspec (3.0.0)
93
130
  rspec (~> 3.0)
94
131
  watir (>= 6.0.0.beta4)
95
- webdrivers (3.2.4)
132
+ webdrivers (4.1.0)
96
133
  nokogiri (~> 1.6)
97
134
  rubyzip (~> 1.0)
98
- selenium-webdriver (~> 3.0)
135
+ selenium-webdriver (>= 3.0, < 4.0)
136
+ zeitwerk (2.4.2)
99
137
 
100
138
  PLATFORMS
101
139
  ruby
140
+ x86_64-darwin-19
102
141
 
103
142
  DEPENDENCIES
104
- bundler (~> 1.13)
143
+ bundler (>= 1.13)
144
+ chart_presenter_plugin!
145
+ foo_presenter_plugin!
105
146
  gem-release (~> 2.0)
106
- pry (~> 0.10)
147
+ image_crop_presenter_plugin!
148
+ pry
149
+ puma
150
+ rack (>= 2.0.6)
151
+ rack-cors
107
152
  rack-test (~> 0.8)
108
- rake (~> 11.3)
153
+ rake (~> 13.0)
109
154
  rspec
110
155
  rspec-html-matchers
111
156
  rspec_junit_formatter
112
157
  shotgun (~> 0.9)
113
158
  simplecov
159
+ thor (~> 1.0.1)
114
160
  voom-presenters!
115
- watir (~> 6.10.3)
116
- watir-rspec
117
- webdrivers (~> 3.0)
161
+ watir (~> 6.16)
162
+ watir-rspec (~> 3.0)
163
+ webdrivers (~> 4.1)
118
164
 
119
165
  RUBY VERSION
120
- ruby 2.5.1p57
166
+ ruby 2.7.2p137
121
167
 
122
168
  BUNDLED WITH
123
- 1.16.3
169
+ 2.2.3