playbook_ui 7.0.1.pre.alpha14 → 7.0.1.pre.alpha15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (225) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/playbook/application_controller.rb +0 -2
  3. data/app/pb_kits/playbook/_playbook.scss +1 -1
  4. data/app/pb_kits/playbook/data/menu.yml +5 -4
  5. data/app/pb_kits/playbook/index.js +4 -1
  6. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.html.erb +1 -12
  7. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +1 -1
  8. data/app/pb_kits/playbook/pb_body/body.rb +1 -1
  9. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -0
  10. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +3 -3
  11. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -90
  12. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +57 -0
  13. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +27 -0
  14. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +4 -2
  15. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +17 -7
  16. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +32 -9
  17. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +18 -7
  18. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +37 -9
  19. data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +3 -7
  20. data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +0 -2
  21. data/app/pb_kits/playbook/pb_caption/_caption.html.erb +7 -5
  22. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.html.erb +11 -0
  23. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +28 -0
  24. data/app/pb_kits/playbook/pb_caption/docs/example.yml +2 -0
  25. data/app/pb_kits/playbook/pb_caption/docs/index.js +1 -0
  26. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +1 -2
  27. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +1 -3
  28. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +3 -2
  29. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +34 -32
  30. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +1 -2
  31. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +1 -2
  32. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +1 -0
  33. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +4 -0
  34. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +4 -0
  35. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.html.erb +9 -9
  36. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.jsx +8 -8
  37. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.md +3 -1
  38. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +1 -0
  39. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +1 -0
  40. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -4
  41. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +0 -2
  42. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.html.erb +8 -14
  43. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +122 -39
  44. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +33 -2
  45. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.rb +44 -9
  46. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.html.erb +14 -1
  47. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.jsx +45 -1
  48. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +1 -8
  49. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +7 -0
  50. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.html.erb +3 -2
  51. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +29 -15
  52. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +10 -0
  53. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.html.erb +21 -0
  54. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.jsx +38 -0
  55. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.html.erb +2 -1
  56. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.jsx +1 -2
  57. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +1 -1
  58. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.html.erb +1 -1
  60. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.jsx +1 -1
  61. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +2 -0
  62. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -0
  63. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +7 -1
  64. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +18 -0
  65. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +9 -6
  66. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  67. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -3
  68. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +3 -3
  69. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +7 -2
  70. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +1 -0
  71. data/app/pb_kits/playbook/pb_line_graph/_line_graph.html.erb +1 -13
  72. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +1 -1
  73. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +7 -6
  74. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +1 -0
  75. data/app/pb_kits/playbook/pb_popover/_popover.scss +6 -4
  76. data/app/pb_kits/playbook/pb_popover/index.js +3 -1
  77. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +3 -0
  78. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +168 -33
  79. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.html.erb +3 -1
  80. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx +10 -8
  81. data/app/pb_kits/playbook/pb_progress_step/docs/_description.md +1 -1
  82. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.html.erb +14 -16
  83. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.jsx +6 -3
  84. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.html.erb +17 -1
  85. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.jsx +17 -1
  86. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.jsx +10 -3
  87. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +11 -1
  88. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +1 -1
  89. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.html.erb +34 -0
  90. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.jsx +68 -0
  91. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.md +2 -0
  92. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.html.erb +61 -0
  93. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.jsx +89 -0
  94. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.md +1 -0
  95. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.html.erb +34 -0
  96. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.jsx +68 -0
  97. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.md +2 -0
  98. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.html.erb +43 -0
  99. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.jsx +80 -0
  100. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.md +1 -0
  101. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.html.erb +34 -0
  102. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.jsx +63 -0
  103. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.md +1 -0
  104. data/app/pb_kits/playbook/pb_table/docs/example.yml +12 -0
  105. data/app/pb_kits/playbook/pb_table/docs/index.js +6 -0
  106. data/app/pb_kits/playbook/pb_time/_time.html.erb +17 -20
  107. data/app/pb_kits/playbook/pb_time/_time.jsx +40 -27
  108. data/app/pb_kits/playbook/pb_time/_time.scss +4 -24
  109. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +4 -1
  110. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +11 -11
  111. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +13 -1
  112. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +4 -1
  113. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +3 -1
  114. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +7 -2
  115. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +5 -5
  116. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +4 -4
  117. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_options.html.erb +10 -0
  118. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +1 -0
  119. data/app/pb_kits/playbook/pb_toggle/toggle.rb +5 -2
  120. data/app/pb_kits/playbook/pb_typeahead/_typeahead.html.erb +24 -20
  121. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +19 -1
  122. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +8 -1
  123. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +21 -13
  124. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +1 -1
  125. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_context_dark.html.erb +1 -1
  126. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +25 -0
  127. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +0 -3
  128. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +8 -0
  129. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.html.erb +30 -0
  130. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.md +11 -0
  131. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.html.erb +25 -0
  132. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +0 -3
  133. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.md +1 -0
  134. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +3 -0
  135. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +24 -1
  136. data/app/pb_kits/playbook/react_rails_kits.js +6 -0
  137. data/app/pb_kits/playbook/tokens/_colors.scss +22 -23
  138. data/app/pb_kits/playbook/tokens/_typography.scss +4 -4
  139. data/app/pb_kits/playbook/tokens/index.scss +11 -0
  140. data/app/pb_kits/playbook/vendor.js +8 -0
  141. data/lib/generators/kit/kit_generator.rb +1 -1
  142. data/lib/playbook/engine.rb +1 -0
  143. data/lib/playbook/version.rb +1 -1
  144. data/lib/tasks/changelog.rake +14 -0
  145. data/lib/tasks/pb_release.rake +14 -3
  146. metadata +35 -81
  147. data/app/controllers/playbook/guides_controller.rb +0 -11
  148. data/app/controllers/playbook/pages_controller.rb +0 -99
  149. data/app/controllers/playbook/samples_controller.rb +0 -40
  150. data/app/pb_kits/playbook/packs/application.js +0 -55
  151. data/app/pb_kits/playbook/packs/examples.js +0 -182
  152. data/app/pb_kits/playbook/packs/main.scss +0 -12
  153. data/app/pb_kits/playbook/packs/samples.js +0 -21
  154. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +0 -72
  155. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +0 -43
  156. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +0 -146
  157. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +0 -10
  158. data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +0 -7
  159. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +0 -531
  160. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +0 -92
  161. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +0 -15
  162. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +0 -148
  163. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +0 -15
  164. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +0 -88
  165. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +0 -72
  166. data/app/pb_kits/playbook/pb_background/_background.html.erb +0 -14
  167. data/app/pb_kits/playbook/pb_background/_background.jsx +0 -64
  168. data/app/pb_kits/playbook/pb_background/_background.scss +0 -15
  169. data/app/pb_kits/playbook/pb_background/background.rb +0 -36
  170. data/app/pb_kits/playbook/pb_background/docs/_background_default.html.erb +0 -41
  171. data/app/pb_kits/playbook/pb_background/docs/_background_default.jsx +0 -75
  172. data/app/pb_kits/playbook/pb_background/docs/example.yml +0 -8
  173. data/app/pb_kits/playbook/pb_background/docs/index.js +0 -1
  174. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +0 -11
  175. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +0 -29
  176. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +0 -11
  177. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +0 -34
  178. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.html.erb +0 -4
  179. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx +0 -13
  180. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md +0 -1
  181. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.html.erb +0 -4
  182. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx +0 -13
  183. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_summary.jsx +0 -45
  184. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_summary.jsx +0 -27
  185. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +0 -2
  186. data/app/views/layouts/playbook/_nav.html.erb +0 -37
  187. data/app/views/layouts/playbook/_sidebar.html.erb +0 -51
  188. data/app/views/layouts/playbook/application.html.erb +0 -26
  189. data/app/views/layouts/playbook/fullscreen.html.slim +0 -10
  190. data/app/views/layouts/playbook/grid.html.slim +0 -10
  191. data/app/views/layouts/playbook/samples.html.erb +0 -19
  192. data/app/views/playbook/guides/create_kit.html.slim +0 -16
  193. data/app/views/playbook/guides/create_kit/_file_naming.html.md +0 -2
  194. data/app/views/playbook/guides/create_kit/_generator.html.md +0 -6
  195. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +0 -2
  196. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +0 -2
  197. data/app/views/playbook/guides/create_kit/_kit_react.html.md +0 -2
  198. data/app/views/playbook/guides/create_kit/_layout.html.md +0 -2
  199. data/app/views/playbook/guides/create_kit/_view_objects.html.md +0 -2
  200. data/app/views/playbook/guides/create_kit/_writing_sass.md +0 -10
  201. data/app/views/playbook/guides/use_nitro.html.slim +0 -6
  202. data/app/views/playbook/guides/use_nitro/_local.html.md +0 -2
  203. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +0 -2
  204. data/app/views/playbook/guides/use_nitro/_versions.html.md +0 -2
  205. data/app/views/playbook/pages/fullscreen.html.slim +0 -10
  206. data/app/views/playbook/pages/grid.html.slim +0 -2
  207. data/app/views/playbook/pages/home.html.slim +0 -4
  208. data/app/views/playbook/pages/kit_category_show.html.erb +0 -14
  209. data/app/views/playbook/pages/kit_show.html.erb +0 -33
  210. data/app/views/playbook/pages/kits.html.erb +0 -12
  211. data/app/views/playbook/pages/principals/_getting_started.html.md +0 -30
  212. data/app/views/playbook/pages/principles.html.slim +0 -3
  213. data/app/views/playbook/pages/tokens.html.slim +0 -15
  214. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +0 -61
  215. data/app/views/playbook/pages/utilities.html.slim +0 -116
  216. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +0 -15
  217. data/app/views/playbook/samples/collection_detail/index.html.erb +0 -169
  218. data/app/views/playbook/samples/collection_detail/index.jsx +0 -372
  219. data/app/views/playbook/samples/dashboards/index.html.erb +0 -81
  220. data/app/views/playbook/samples/dashboards/index.jsx +0 -130
  221. data/app/views/playbook/samples/filter_table/index.html.erb +0 -348
  222. data/app/views/playbook/samples/filter_table/index.jsx +0 -433
  223. data/app/views/playbook/samples/registration/index.html.erb +0 -316
  224. data/app/views/playbook/samples/registration/index.jsx +0 -476
  225. data/app/views/playbook/samples/sample_show.html.erb +0 -36
@@ -0,0 +1 @@
1
+ Icon buttons are great to use if space is limited. If the icon isn’t VERY self explanatory (for example pencil/pen for edit, trashcan for delete) then it should use a tooltip explaining what the action does. The tooltip shouldn’t be longer than a few words and essentially serves as a replacement for what the button would say if it weren’t an icon
@@ -0,0 +1,34 @@
1
+ <%= pb_rails("table", props: { size: "sm" }) do %>
2
+ <thead>
3
+ <tr>
4
+ <th>Column 1</th>
5
+ <th>Column 2</th>
6
+ <th>Column 3</th>
7
+ <th>Column 4</th>
8
+ <th></th>
9
+ </tr>
10
+ </thead>
11
+ <tbody>
12
+ <tr>
13
+ <td>Value 1</td>
14
+ <td>Value 2</td>
15
+ <td>Value 3</td>
16
+ <td>Value 4</td>
17
+ <td><%= pb_rails("button", props: { text: "Action", variant: "secondary" }) %></td>
18
+ </tr>
19
+ <tr>
20
+ <td>Value 1</td>
21
+ <td>Value 2</td>
22
+ <td>Value 3</td>
23
+ <td>Value 4</td>
24
+ <td><%= pb_rails("button", props: { text: "Action", variant: "secondary" }) %></td>
25
+ </tr>
26
+ <tr>
27
+ <td>Value 1</td>
28
+ <td>Value 2</td>
29
+ <td>Value 3</td>
30
+ <td>Value 4</td>
31
+ <td><%= pb_rails("button", props: { text: "Action", variant: "secondary" }) %></td>
32
+ </tr>
33
+ </tbody>
34
+ <% end %>
@@ -0,0 +1,68 @@
1
+ import React from 'react'
2
+ import { Table } from '../..'
3
+ import { Button } from '../../'
4
+
5
+ const TableOneAction = () => {
6
+ return (
7
+ <Table size="sm">
8
+ <thead>
9
+ <tr>
10
+ <th>{'Column 1'}</th>
11
+ <th>{'Column 2'}</th>
12
+ <th>{'Column 3'}</th>
13
+ <th>{'Column 4'}</th>
14
+ <th>{''}</th>
15
+ </tr>
16
+ </thead>
17
+ <tbody>
18
+ <tr>
19
+ <td>{'Value 1'}</td>
20
+ <td>{'Value 2'}</td>
21
+ <td>{'Value 3'}</td>
22
+ <td>{'Value 4'}</td>
23
+ <td>
24
+ {' '}
25
+ <Button
26
+ onClick={() => alert('button clicked!')}
27
+ text="Action"
28
+ variant="secondary"
29
+ />
30
+ {' '}
31
+ </td>
32
+ </tr>
33
+ <tr>
34
+ <td>{'Value 1'}</td>
35
+ <td>{'Value 2'}</td>
36
+ <td>{'Value 3'}</td>
37
+ <td>{'Value 4'}</td>
38
+ <td>
39
+ {' '}
40
+ <Button
41
+ onClick={() => alert('button clicked!')}
42
+ text="Action"
43
+ variant="secondary"
44
+ />
45
+ {' '}
46
+ </td>
47
+ </tr>
48
+ <tr>
49
+ <td>{'Value 1'}</td>
50
+ <td>{'Value 2'}</td>
51
+ <td>{'Value 3'}</td>
52
+ <td>{'Value 4'}</td>
53
+ <td>
54
+ {' '}
55
+ <Button
56
+ onClick={() => alert('button clicked!')}
57
+ text="Action"
58
+ variant="secondary"
59
+ />
60
+ {' '}
61
+ </td>
62
+ </tr>
63
+ </tbody>
64
+ </Table>
65
+ )
66
+ }
67
+
68
+ export default TableOneAction
@@ -0,0 +1,2 @@
1
+ If there is one button on each row of the table, ideally, it should use the `secondary` variant and be placed at the end of the row
2
+
@@ -0,0 +1,43 @@
1
+ <%= pb_rails("table", props: { size: "sm" }) do %>
2
+ <thead>
3
+ <tr>
4
+ <th>Column 1</th>
5
+ <th>Column 2</th>
6
+ <th>Column 3</th>
7
+ <th>Column 4</th>
8
+ <th></th>
9
+ </tr>
10
+ </thead>
11
+ <tbody>
12
+ <tr>
13
+ <td>Value 1</td>
14
+ <td>Value 2</td>
15
+ <td>Value 3</td>
16
+ <td>Value 4</td>
17
+ <td>
18
+ <%= pb_rails("button", props: { text: "Tetriary Action", variant: "link", padding_left: "none" }) %>
19
+ <%= pb_rails("button", props: { text: "Secondary Action", variant: "secondary" }) %>
20
+ </td>
21
+ </tr>
22
+ <tr>
23
+ <td>Value 1</td>
24
+ <td>Value 2</td>
25
+ <td>Value 3</td>
26
+ <td>Value 4</td>
27
+ <td>
28
+ <%= pb_rails("button", props: { text: "Tetriary Action", variant: "link", padding_left: "none" }) %>
29
+ <%= pb_rails("button", props: { text: "Secondary Action", variant: "secondary" }) %>
30
+ </td>
31
+ </tr>
32
+ <tr>
33
+ <td>Value 1</td>
34
+ <td>Value 2</td>
35
+ <td>Value 3</td>
36
+ <td>Value 4</td>
37
+ <td>
38
+ <%= pb_rails("button", props: { text: "Tetriary Action", variant: "link", padding_left: "none" }) %>
39
+ <%= pb_rails("button", props: { text: "Secondary Action", variant: "secondary" }) %>
40
+ </td>
41
+ </tr>
42
+ </tbody>
43
+ <% end %>
@@ -0,0 +1,80 @@
1
+ import React from 'react'
2
+ import { Table } from '../..'
3
+ import { Button } from '../../'
4
+
5
+ const TableOneAction = () => {
6
+ return (
7
+ <Table size="sm">
8
+ <thead>
9
+ <tr>
10
+ <th>{'Column 1'}</th>
11
+ <th>{'Column 2'}</th>
12
+ <th>{'Column 3'}</th>
13
+ <th>{'Column 4'}</th>
14
+ <th>{''}</th>
15
+ </tr>
16
+ </thead>
17
+ <tbody>
18
+ <tr>
19
+ <td>{'Value 1'}</td>
20
+ <td>{'Value 2'}</td>
21
+ <td>{'Value 3'}</td>
22
+ <td>{'Value 4'}</td>
23
+ <td>
24
+ <Button
25
+ onClick={() => alert('button clicked!')}
26
+ paddingLeft="none"
27
+ text="Tetriary Action"
28
+ variant="link"
29
+ />
30
+ <Button
31
+ onClick={() => alert('button clicked!')}
32
+ text="Secondary Action"
33
+ variant="secondary"
34
+ />
35
+ </td>
36
+ </tr>
37
+ <tr>
38
+ <td>{'Value 1'}</td>
39
+ <td>{'Value 2'}</td>
40
+ <td>{'Value 3'}</td>
41
+ <td>{'Value 4'}</td>
42
+ <td>
43
+ <Button
44
+ onClick={() => alert('button clicked!')}
45
+ paddingLeft="none"
46
+ text="Tetriary Action"
47
+ variant="link"
48
+ />
49
+ <Button
50
+ onClick={() => alert('button clicked!')}
51
+ text="Secondary Action"
52
+ variant="secondary"
53
+ />
54
+ </td>
55
+ </tr>
56
+ <tr>
57
+ <td>{'Value 1'}</td>
58
+ <td>{'Value 2'}</td>
59
+ <td>{'Value 3'}</td>
60
+ <td>{'Value 4'}</td>
61
+ <td>
62
+ <Button
63
+ onClick={() => alert('button clicked!')}
64
+ paddingLeft="none"
65
+ text="Tetriary Action"
66
+ variant="link"
67
+ />
68
+ <Button
69
+ onClick={() => alert('button clicked!')}
70
+ text="Secondary Action"
71
+ variant="secondary"
72
+ />
73
+ </td>
74
+ </tr>
75
+ </tbody>
76
+ </Table>
77
+ )
78
+ }
79
+
80
+ export default TableOneAction
@@ -0,0 +1 @@
1
+ If there are two actions on each of the row, one should ideally one should use the `secondary` variant and the other use the `link` variant. The button using the `secondary` variant should be placed at the end.
@@ -0,0 +1,34 @@
1
+ <%= pb_rails("table", props: { size: "sm" }) do %>
2
+ <thead>
3
+ <tr>
4
+ <th>Column 1</th>
5
+ <th>Column 2</th>
6
+ <th>Column 3</th>
7
+ <th>Column 4</th>
8
+ <th></th>
9
+ </tr>
10
+ </thead>
11
+ <tbody>
12
+ <tr>
13
+ <td>Value 1</td>
14
+ <td>Value 2</td>
15
+ <td>Value 3</td>
16
+ <td>Value 4</td>
17
+ <td> <%= pb_rails("circle_icon_button", props: { variant: "secondary", icon: "ellipsis-h" }) %> </td>
18
+ </tr>
19
+ <tr>
20
+ <td>Value 1</td>
21
+ <td>Value 2</td>
22
+ <td>Value 3</td>
23
+ <td>Value 4</td>
24
+ <td> <%= pb_rails("circle_icon_button", props: { variant: "secondary", icon: "ellipsis-h" }) %> </td>
25
+ </tr>
26
+ <tr>
27
+ <td>Value 1</td>
28
+ <td>Value 2</td>
29
+ <td>Value 3</td>
30
+ <td>Value 4</td>
31
+ <td> <%= pb_rails("circle_icon_button", props: { variant: "secondary", icon: "ellipsis-h" }) %> </td>
32
+ </tr>
33
+ </tbody>
34
+ <% end %>
@@ -0,0 +1,63 @@
1
+ import React from 'react'
2
+ import { Table } from '../..'
3
+ import { CircleIconButton } from '../../'
4
+
5
+ const TableTwoPlusActions = () => {
6
+ return (
7
+ <Table size="sm">
8
+ <thead>
9
+ <tr>
10
+ <th>{'Column 1'}</th>
11
+ <th>{'Column 2'}</th>
12
+ <th>{'Column 3'}</th>
13
+ <th>{'Column 4'}</th>
14
+ <th>{''}</th>
15
+ </tr>
16
+ </thead>
17
+ <tbody>
18
+ <tr>
19
+ <td>{'Value 1'}</td>
20
+ <td>{'Value 2'}</td>
21
+ <td>{'Value 3'}</td>
22
+ <td>{'Value 4'}</td>
23
+ <td>
24
+ {' '}
25
+ <CircleIconButton
26
+ icon="ellipsis-h"
27
+ variant="secondary"
28
+ />
29
+ </td>
30
+ </tr>
31
+ <tr>
32
+ <td>{'Value 1'}</td>
33
+ <td>{'Value 2'}</td>
34
+ <td>{'Value 3'}</td>
35
+ <td>{'Value 4'}</td>
36
+ <td>
37
+ {' '}
38
+ <CircleIconButton
39
+ icon="ellipsis-h"
40
+ variant="secondary"
41
+ />
42
+ </td>
43
+
44
+ </tr>
45
+ <tr>
46
+ <td>{'Value 1'}</td>
47
+ <td>{'Value 2'}</td>
48
+ <td>{'Value 3'}</td>
49
+ <td>{'Value 4'}</td>
50
+ <td>
51
+ {' '}
52
+ <CircleIconButton
53
+ icon="ellipsis-h"
54
+ variant="secondary"
55
+ />
56
+ </td>
57
+ </tr>
58
+ </tbody>
59
+ </Table>
60
+ )
61
+ }
62
+
63
+ export default TableTwoPlusActions
@@ -0,0 +1 @@
1
+ If there are more than two actions on each row, then they should be contained in secondary circle icon button with the `ellipsis-h` icon (horizontal ellipsis) at the end of the row
@@ -10,6 +10,12 @@ examples:
10
10
  - table_single_line: Force Single Line
11
11
  - table_data_table: Data Table
12
12
  - table_responsive_table: Responsive Tables
13
+ - table_one_action: Table with 1 Action
14
+ - table_two_actions: Table with 2 Actions
15
+ - table_two_plus_actions: Table with 2+ Actions
16
+ - table_action_middle: Table with Actions in the Middle
17
+ - table_icon_buttons: Table with Icon Buttons
18
+
13
19
 
14
20
  react:
15
21
  - table_sm: Small
@@ -22,3 +28,9 @@ examples:
22
28
  - table_single_line: Force Single Line
23
29
  - table_data_table: Data Table
24
30
  - table_responsive_table: Responsive Tables
31
+ - table_one_action: Table with 1 Action
32
+ - table_two_actions: Table with 2 Actions
33
+ - table_two_plus_actions: Table with 2+ Actions
34
+ - table_action_middle: Table with Actions in the Middle
35
+ - table_icon_buttons: Table with Icon Buttons
36
+
@@ -8,3 +8,9 @@ export { default as TableResponsiveTable } from './_table_responsive_table.jsx'
8
8
  export { default as TableDisableHover } from './_table_disable_hover.jsx'
9
9
  export { default as TableSingleLine } from './_table_single_line.jsx'
10
10
  export { default as TableMultiline } from './_table_multiline.jsx'
11
+ export { default as TableOneAction } from './_table_one_action.jsx'
12
+ export { default as TableTwoActions } from './_table_two_actions.jsx'
13
+ export { default as TableTwoPlusActions } from './_table_two_plus_actions.jsx'
14
+ export { default as TableActionMiddle } from './_table_action_middle.jsx'
15
+ export { default as TableIconButtons } from './_table_icon_buttons.jsx'
16
+
@@ -2,39 +2,36 @@
2
2
  id: object.id,
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
- <%
6
- # convert deprecated prop values
7
- size = object.size
8
- size = "sm" if object.size == "xs"
9
- size = "md" if object.size == "lg"
10
- %>
5
+ <%
6
+ # convert deprecated prop values
7
+ size = object.size
8
+ size = "sm" if object.size == "xs"
9
+ size = "md" if object.size == "lg"
10
+ %>
11
11
  <% if size == "md" %>
12
12
  <% if object.show_icon %>
13
13
  <%= pb_rails("body", props: { color: "light", tag: "span"}) do %>
14
- <%= pb_rails("icon", props: { icon: "clock", fixed_width: true, size: "lg" }) %>
14
+ <%= pb_rails("icon", props: { icon: "clock", fixed_width: true }) %>
15
15
  <% end %>
16
16
  <% end %>
17
- <%= pb_rails("caption", props: { tag: "span", text: object.format_time_string, size: "lg" }) %>
17
+ <%= pb_rails("body", props: { tag: "span", text: object.format_time_string, classname: "pb_time" }) %>
18
18
  <% if object.show_timezone %>
19
- <%= content_tag(:span, class: "pb_time_timezone") do %>
20
- <%= object.pb_date_time.to_timezone.upcase %>
21
- <% end %>
19
+ <%= pb_rails("body", props: { color: "light", tag: "span", text: object.pb_date_time.to_timezone.upcase }) %>
22
20
  <% end %>
23
21
  <% else %>
24
22
  <% if object.show_icon %>
25
23
  <%= pb_rails("body", props: { color: "light", tag: "span"}) do %>
26
- <%= pb_rails("icon", props: { icon: "clock", fixed_width: true }) %>
24
+ <%= pb_rails("icon", props: { icon: "clock", fixed_width: true, size: "sm" }) %>
27
25
  <% end %>
28
26
  <% end %>
29
- <%= pb_rails("body", props: { color: "light", tag: "span", text: object.format_time_string }) do %>
27
+
28
+ <%= pb_rails("caption", props: { color: "light", tag: "span", text: object.format_time_string }) do %>
30
29
  <%= content_tag(:time, datetime: object.pb_date_time.to_iso) do %>
31
- <%= content_tag(:span) do %>
32
- <%= object.format_time_string %>
33
- <% if object.show_timezone %>
34
- <%= content_tag(:span, class: "pb_time_timezone") do %>
35
- <%= object.pb_date_time.to_timezone.upcase %>
36
- <% end %>
37
- <% end %>
30
+ <%= object.format_time_string %>
31
+ <% if object.show_timezone %>
32
+ <span class="pb_time_timezone">
33
+ <%= object.pb_date_time.to_timezone.upcase %>
34
+ </span>
38
35
  <% end %>
39
36
  <% end %>
40
37
  <% end %>
@@ -18,11 +18,12 @@ type TimeProps = {
18
18
  id?: string,
19
19
  showIcon?: boolean,
20
20
  size?: 'md' | 'sm',
21
+ showTimezone?: boolean,
21
22
  timeZone?: string,
22
23
  }
23
24
 
24
25
  const Time = (props: TimeProps) => {
25
- const { align, className, date, showIcon, size, timeZone } = props
26
+ const { align, className, date, showIcon, size, timeZone, showTimezone = true } = props
26
27
  const classes = classnames(
27
28
  buildCss('pb_time_kit', align, size),
28
29
  globalProps(props),
@@ -33,41 +34,53 @@ const Time = (props: TimeProps) => {
33
34
 
34
35
  return (
35
36
  <div className={classes}>
36
- <span className="pb_body_kit">
37
- <If condition={showIcon}>
38
- <Body
39
- color="light"
40
- tag="span"
41
- >
42
- <Icon
43
- fixedWidth
44
- icon="clock"
45
- size={size === 'md' ? 'lg' : 'sm'}
37
+ <If condition={showIcon}>
38
+ <Body
39
+ color="light"
40
+ tag="span"
41
+ >
42
+ <Icon
43
+ fixedWidth
44
+ icon="clock"
45
+ size={size === 'md' ? '' : 'sm'}
46
+ />
47
+ </Body>
48
+ {' '}
49
+ </If>
50
+
51
+ <time dateTime={date}>
52
+ <span>
53
+ <If condition={size === 'md'}>
54
+ <Body
55
+ className="pb_time"
56
+ tag="span"
57
+ text={dateTimestamp.toTimeWithMeridian()}
46
58
  />
47
- </Body>
48
- {' '}
49
- </If>
50
- <time dateTime={date}>
51
- <span>
52
- <If condition={size !== 'md'}>
59
+ {' '}
60
+ <If condition={showTimezone}>
53
61
  <Body
54
62
  color="light"
55
63
  tag="span"
56
- text={dateTimestamp.toTimeWithMeridian()}
64
+ text={dateTimestamp.toTimezone()}
57
65
  />
58
- <Else />
66
+ </If>
67
+ <Else />
68
+ <Caption
69
+ color="light"
70
+ tag="span"
71
+ text={dateTimestamp.toTimeWithMeridian()}
72
+ />
73
+ {' '}
74
+ <If condition={showTimezone}>
59
75
  <Caption
60
- size="lg"
76
+ color="light"
61
77
  tag="span"
62
- text={dateTimestamp.toTimeWithMeridian()}
78
+ text={dateTimestamp.toTimezone()}
63
79
  />
64
80
  </If>
65
- <If condition={timeZone !== undefined}>
66
- <span className="pb_time_timezone">{dateTimestamp.toTimezone()}</span>
67
- </If>
68
- </span>
69
- </time>
70
- </span>
81
+ </If>
82
+ </span>
83
+ </time>
71
84
  </div>
72
85
  )
73
86
  }