playbook_ui 14.15.0 → 14.16.0.pre.alpha.PBNTR924reacttablecustomheaders6846

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/app/pb_kits/playbook/_playbook.scss +4 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +41 -2
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +2 -2
  5. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +10 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +1 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers.jsx +1 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_custom_cell.jsx +3 -1
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.jsx +1 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_cell.jsx +8 -1
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +1 -1
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.jsx +102 -0
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.md +4 -0
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx +1 -1
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +2 -2
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_no_subrows.jsx +1 -1
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx +1 -1
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +1 -1
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.jsx +1 -1
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.html.erb +39 -0
  22. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.jsx +1 -1
  23. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions.jsx +3 -1
  24. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header.jsx +1 -1
  25. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows.html.erb +33 -0
  26. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows.jsx +1 -1
  27. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows_rails.md +1 -0
  28. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_rails.md +6 -0
  29. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +1 -1
  30. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +1 -1
  31. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +1 -1
  32. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +1 -1
  33. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +1 -1
  34. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.jsx +1 -1
  35. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +4 -1
  36. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -1
  37. data/app/pb_kits/playbook/pb_advanced_table/index.js +1 -1
  38. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +4 -2
  39. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +19 -9
  40. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +38 -1
  41. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +49 -37
  42. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +39 -0
  43. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +1 -1
  44. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +1 -1
  45. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +1 -1
  46. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_monogram.jsx +1 -1
  47. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_no_image.jsx +1 -1
  48. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +1 -1
  49. data/app/pb_kits/playbook/pb_background/docs/_background_category.jsx +2 -2
  50. data/app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx +1 -1
  51. data/app/pb_kits/playbook/pb_background/docs/_background_image.jsx +6 -2
  52. data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +1 -1
  53. data/app/pb_kits/playbook/pb_background/docs/_background_size.jsx +1 -1
  54. data/app/pb_kits/playbook/pb_background/docs/_background_status.jsx +2 -2
  55. data/app/pb_kits/playbook/pb_background/docs/_background_status_subtle.jsx +2 -2
  56. data/app/pb_kits/playbook/pb_background/docs/_background_white.jsx +1 -1
  57. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +1 -1
  58. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +1 -1
  60. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +3 -1
  61. data/app/pb_kits/playbook/pb_body/docs/_body_articles.jsx +1 -1
  62. data/app/pb_kits/playbook/pb_body/docs/_body_block.jsx +1 -1
  63. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +1 -1
  64. data/app/pb_kits/playbook/pb_body/docs/_body_styled.jsx +1 -1
  65. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_bread_crumbs_default.jsx +2 -1
  66. data/app/pb_kits/playbook/pb_button/docs/_button_accessibility.jsx +1 -1
  67. data/app/pb_kits/playbook/pb_button/docs/_button_block_content.jsx +2 -1
  68. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +1 -1
  69. data/app/pb_kits/playbook/pb_button/docs/_button_form.jsx +1 -1
  70. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.jsx +1 -1
  71. data/app/pb_kits/playbook/pb_button/docs/_button_hover.jsx +1 -1
  72. data/app/pb_kits/playbook/pb_button/docs/_button_icon_options.jsx +1 -1
  73. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +1 -1
  74. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +1 -1
  75. data/app/pb_kits/playbook/pb_button/docs/_button_reaction.jsx +1 -1
  76. data/app/pb_kits/playbook/pb_button/docs/_button_size.jsx +1 -1
  77. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +3 -1
  78. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +2 -1
  79. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +1 -1
  80. data/app/pb_kits/playbook/pb_caption/docs/_caption_colors.jsx +1 -1
  81. data/app/pb_kits/playbook/pb_caption/docs/_caption_light.jsx +1 -1
  82. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +1 -1
  83. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_error.jsx +1 -1
  84. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.jsx +2 -1
  85. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.jsx +4 -1
  86. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +1 -1
  87. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +1 -1
  88. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_click.jsx +1 -1
  89. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_color.jsx +1 -1
  90. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main.jsx +7 -1
  91. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon.jsx +7 -1
  92. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +1 -1
  93. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +1 -1
  94. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_no_icon.jsx +1 -1
  95. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_size.jsx +1 -1
  96. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_state.jsx +4 -1
  97. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +1 -1
  98. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +1 -1
  99. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.jsx +3 -1
  100. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.jsx +5 -1
  101. data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display.jsx +1 -1
  102. data/app/pb_kits/playbook/pb_currency/docs/_currency_unstyled.jsx +3 -1
  103. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +2 -1
  104. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +4 -1
  105. data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.jsx +4 -1
  106. data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +2 -1
  107. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.md +3 -1
  108. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.html.erb +39 -0
  109. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +3 -1
  110. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.html.erb +39 -0
  111. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.jsx +3 -1
  112. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +2 -0
  113. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_date_range_stacked_default.jsx +1 -1
  114. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_default.jsx +1 -1
  115. data/app/pb_kits/playbook/pb_detail/docs/_detail_bold.jsx +1 -1
  116. data/app/pb_kits/playbook/pb_detail/docs/_detail_colors.jsx +1 -1
  117. data/app/pb_kits/playbook/pb_detail/docs/_detail_default.jsx +1 -1
  118. data/app/pb_kits/playbook/pb_detail/docs/_detail_styled.jsx +1 -1
  119. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +5 -6
  120. data/app/pb_kits/playbook/pb_dialog/dialogHelper.js +2 -0
  121. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +7 -8
  122. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +3 -1
  123. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.jsx +8 -9
  124. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.jsx +8 -9
  125. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.jsx +2 -1
  126. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +2 -1
  127. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.jsx +3 -1
  128. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.jsx +2 -1
  129. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_sizes.jsx +3 -1
  130. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_stacked_alert.jsx +3 -1
  131. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.jsx +4 -1
  132. data/app/pb_kits/playbook/pb_dialog/index.js +75 -0
  133. data/app/pb_kits/playbook/pb_docs/kit_example.rb +14 -0
  134. data/app/pb_kits/playbook/pb_draggable/_draggable.scss +115 -5
  135. data/app/pb_kits/playbook/pb_draggable/_draggable.tsx +6 -4
  136. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +35 -9
  137. data/app/pb_kits/playbook/pb_draggable/context/types.ts +35 -28
  138. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.jsx +6 -1
  139. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.jsx +184 -0
  140. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.md +5 -0
  141. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.jsx +97 -0
  142. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.md +1 -0
  143. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers.jsx +11 -12
  144. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.jsx +9 -10
  145. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list.jsx +4 -1
  146. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list.jsx +3 -1
  147. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.jsx +6 -1
  148. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +11 -2
  149. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +65 -6
  150. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +4 -1
  151. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +4 -1
  152. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
  153. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +2 -1
  154. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +4 -1
  155. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +6 -1
  156. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +4 -1
  157. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +4 -1
  158. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +1 -0
  159. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.jsx +1 -1
  160. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_clear_selection.jsx +3 -1
  161. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.jsx +1 -1
  162. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_value.jsx +1 -1
  163. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.jsx +1 -1
  164. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_separators_hidden.jsx +1 -1
  165. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.jsx +1 -1
  166. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subtle_variant.jsx +1 -1
  167. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +5 -1
  168. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.jsx +7 -1
  169. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +7 -1
  170. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx +7 -1
  171. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.jsx +1 -1
  172. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.jsx +7 -1
  173. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.jsx +5 -1
  174. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_hook.jsx +8 -1
  175. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +1 -1
  176. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +38 -0
  177. data/app/pb_kits/playbook/pb_empty_state/_empty_state.tsx +213 -0
  178. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_alignment.jsx +38 -0
  179. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_default.jsx +17 -0
  180. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_orientation.jsx +21 -0
  181. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_size.jsx +35 -0
  182. data/app/pb_kits/playbook/pb_empty_state/docs/default_image/computer_fly_no_branding.svg +21 -0
  183. data/app/pb_kits/playbook/pb_empty_state/docs/default_image/utils.tsx +118 -0
  184. data/app/pb_kits/playbook/pb_empty_state/docs/example.yml +8 -0
  185. data/app/pb_kits/playbook/pb_empty_state/docs/index.js +4 -0
  186. data/app/pb_kits/playbook/pb_empty_state/empty_state.test.jsx +17 -0
  187. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_accept.jsx +4 -5
  188. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_custom_description.jsx +3 -1
  189. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_custom_message.jsx +3 -5
  190. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_default.jsx +3 -5
  191. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_max_size.jsx +5 -6
  192. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +2 -1
  193. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +6 -1
  194. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_height.jsx +5 -1
  195. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.jsx +5 -1
  196. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.jsx +6 -1
  197. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.jsx +5 -1
  198. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.jsx +5 -1
  199. data/app/pb_kits/playbook/pb_filter/docs/_filter_placement.jsx +6 -1
  200. data/app/pb_kits/playbook/pb_filter/docs/_filter_popover_props.jsx +5 -1
  201. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +2 -2
  202. data/app/pb_kits/playbook/pb_flex/docs/_flex_align.jsx +3 -1
  203. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.jsx +3 -1
  204. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +2 -1
  205. data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.jsx +3 -1
  206. data/app/pb_kits/playbook/pb_flex/docs/_flex_item_align_self.jsx +3 -1
  207. data/app/pb_kits/playbook/pb_flex/docs/_flex_item_example.jsx +3 -1
  208. data/app/pb_kits/playbook/pb_flex/docs/_flex_justify.jsx +3 -1
  209. data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.jsx +3 -1
  210. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.jsx +3 -1
  211. data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.jsx +4 -1
  212. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +68 -1
  213. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +68 -1
  214. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_colors.jsx +3 -1
  215. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +5 -1
  216. data/app/pb_kits/playbook/pb_gantt_chart/docs/_gantt_chart_default.jsx +1 -1
  217. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +1 -1
  218. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +1 -1
  219. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +9 -10
  220. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +1 -1
  221. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +1 -1
  222. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +1 -1
  223. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +1 -1
  224. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +3 -1
  225. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +1 -1
  226. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +4 -1
  227. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +1 -1
  228. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +1 -1
  229. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_default.jsx +1 -1
  230. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_link.jsx +1 -1
  231. data/app/pb_kits/playbook/pb_icon/_icon.scss +8 -1
  232. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.html.erb +10 -4
  233. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.jsx +49 -24
  234. data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.jsx +1 -1
  235. data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +5 -2
  236. data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_click.jsx +13 -0
  237. data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_default.jsx +1 -1
  238. data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_sizes.jsx +3 -1
  239. data/app/pb_kits/playbook/pb_icon_button/docs/example.yml +1 -0
  240. data/app/pb_kits/playbook/pb_icon_button/docs/index.js +1 -0
  241. data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +1 -1
  242. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.jsx +1 -1
  243. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +1 -1
  244. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_default.jsx +1 -1
  245. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_sizes.jsx +1 -1
  246. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_vertical.jsx +1 -1
  247. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_default.jsx +1 -1
  248. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details.jsx +1 -1
  249. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_examples.jsx +3 -1
  250. data/app/pb_kits/playbook/pb_legend/docs/_legend_colors.jsx +1 -1
  251. data/app/pb_kits/playbook/pb_legend/docs/_legend_custom_colors.jsx +1 -1
  252. data/app/pb_kits/playbook/pb_legend/docs/_legend_prefix.jsx +1 -1
  253. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slide.tsx +1 -1
  254. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slides.tsx +1 -1
  255. data/app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnails.tsx +1 -1
  256. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_compound_component.jsx +2 -1
  257. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_current_photo.jsx +6 -1
  258. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_custom_header.jsx +4 -1
  259. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.jsx +2 -1
  260. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_multiple.jsx +2 -1
  261. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +1 -1
  262. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +1 -1
  263. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +1 -1
  264. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +2 -1
  265. data/app/pb_kits/playbook/pb_link/docs/_link_color.jsx +1 -1
  266. data/app/pb_kits/playbook/pb_link/docs/_link_disabled.jsx +1 -1
  267. data/app/pb_kits/playbook/pb_link/docs/_link_icon.jsx +1 -1
  268. data/app/pb_kits/playbook/pb_link/docs/_link_tag.jsx +1 -1
  269. data/app/pb_kits/playbook/pb_link/docs/_link_target.jsx +1 -1
  270. data/app/pb_kits/playbook/pb_link/docs/_link_underline.jsx +1 -1
  271. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +2 -1
  272. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +5 -1
  273. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +2 -1
  274. data/app/pb_kits/playbook/pb_message/docs/_message_timestamp.jsx +1 -1
  275. data/app/pb_kits/playbook/pb_multi_level_select/_helper_functions.tsx +5 -1
  276. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +23 -0
  277. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +72 -10
  278. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.html.erb +1 -1
  279. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.html.erb +76 -0
  280. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.jsx +94 -0
  281. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.md +1 -0
  282. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.html.erb +75 -0
  283. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.jsx +93 -0
  284. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.md +3 -0
  285. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.html.erb +75 -0
  286. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.jsx +93 -0
  287. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.md +3 -0
  288. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.html.erb +74 -0
  289. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.jsx +92 -0
  290. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.md +3 -0
  291. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.html.erb +72 -0
  292. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.jsx +97 -0
  293. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +71 -0
  294. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +91 -0
  295. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx +91 -0
  296. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.md +1 -0
  297. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +15 -2
  298. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +7 -0
  299. data/app/pb_kits/playbook/pb_multi_level_select/index.js +105 -0
  300. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +11 -1
  301. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select_options.tsx +1 -0
  302. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_default.jsx +1 -1
  303. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_reverse.jsx +1 -1
  304. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.jsx +2 -1
  305. data/app/pb_kits/playbook/pb_nav/_nav.scss +5 -0
  306. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.jsx +2 -1
  307. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_custom.jsx +4 -1
  308. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.jsx +2 -1
  309. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_no_icon.jsx +2 -1
  310. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_with_all_options.jsx +2 -1
  311. data/app/pb_kits/playbook/pb_nav/docs/_nav_with_font_control.jsx +2 -1
  312. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.jsx +4 -4
  313. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_hide_scroll_bar.jsx +5 -6
  314. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.jsx +4 -6
  315. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_toggle.jsx +4 -1
  316. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx +4 -6
  317. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_page_change.jsx +2 -1
  318. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_breached.jsx +3 -1
  319. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_common.jsx +4 -1
  320. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_confirmation.jsx +2 -1
  321. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx +6 -1
  322. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.jsx +5 -1
  323. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +6 -0
  324. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.jsx +3 -1
  325. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.jsx +3 -1
  326. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.html.erb +1 -1
  327. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.jsx +1 -1
  328. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.jsx +3 -1
  329. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_hidden_inputs.html.erb +5 -0
  330. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_hidden_inputs.md +1 -0
  331. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_initial_country.jsx +1 -1
  332. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_only_countries.jsx +1 -1
  333. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.jsx +1 -1
  334. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx +4 -1
  335. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +3 -1
  336. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +3 -0
  337. data/app/pb_kits/playbook/pb_popover/_popover.tsx +1 -1
  338. data/app/pb_kits/playbook/pb_popover/docs/_popover_actionable_content.jsx +6 -7
  339. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.jsx +4 -5
  340. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.jsx +5 -6
  341. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +7 -8
  342. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.jsx +5 -6
  343. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.jsx +4 -5
  344. data/app/pb_kits/playbook/pb_popover/popover.test.js +1 -1
  345. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_align.jsx +1 -1
  346. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_default.jsx +1 -1
  347. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_flex.jsx +3 -1
  348. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_muted.jsx +1 -1
  349. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_value.jsx +1 -1
  350. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.jsx +1 -1
  351. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_width.jsx +1 -1
  352. data/app/pb_kits/playbook/pb_radio/docs/_radio_alignment.jsx +3 -1
  353. data/app/pb_kits/playbook/pb_radio/docs/_radio_error.jsx +1 -1
  354. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_default.jsx +1 -1
  355. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_preview.jsx +3 -1
  356. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx +1 -1
  357. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +1 -1
  358. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +1 -1
  359. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +1 -1
  360. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.jsx +1 -1
  361. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +3 -5
  362. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +1 -1
  363. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +1 -1
  364. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +2 -1
  365. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx +1 -1
  366. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.jsx +1 -1
  367. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.jsx +3 -1
  368. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +4 -1
  369. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_dashed.jsx +1 -1
  370. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx +1 -1
  371. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +1 -1
  372. data/app/pb_kits/playbook/pb_select/docs/_select_error.jsx +2 -1
  373. data/app/pb_kits/playbook/pb_select/docs/_select_inline.jsx +2 -1
  374. data/app/pb_kits/playbook/pb_select/docs/_select_inline_compact.jsx +2 -1
  375. data/app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.jsx +2 -1
  376. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_error.jsx +4 -1
  377. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.jsx +1 -1
  378. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.jsx +1 -1
  379. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.html.erb +1 -6
  380. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.jsx +2 -1
  381. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.jsx +2 -1
  382. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.jsx +1 -2
  383. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_filter.jsx +8 -1
  384. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.jsx +2 -1
  385. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.jsx +1 -2
  386. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_user.jsx +5 -1
  387. data/app/pb_kits/playbook/pb_star_rating/star_rating.html.erb +1 -5
  388. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.jsx +1 -1
  389. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit.jsx +1 -1
  390. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit_two.jsx +1 -1
  391. data/app/pb_kits/playbook/pb_table/_table.tsx +4 -0
  392. data/app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.jsx +2 -1
  393. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +4 -1
  394. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx +4 -1
  395. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx +7 -1
  396. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.jsx +4 -1
  397. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.jsx +5 -1
  398. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.jsx +50 -0
  399. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless_react.md +1 -0
  400. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_floating.jsx +59 -0
  401. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_floating_react.md +1 -0
  402. data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.jsx +5 -1
  403. data/app/pb_kits/playbook/pb_table/docs/example.yml +2 -0
  404. data/app/pb_kits/playbook/pb_table/docs/index.js +2 -0
  405. data/app/pb_kits/playbook/pb_table/styles/_headers.scss +76 -0
  406. data/app/pb_kits/playbook/pb_table/subcomponents/_table_head.tsx +11 -1
  407. data/app/pb_kits/playbook/pb_table/subcomponents/_table_header.tsx +11 -1
  408. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +5 -0
  409. data/app/pb_kits/playbook/pb_table/table.html.erb +2 -12
  410. data/app/pb_kits/playbook/pb_table/table.test.js +17 -0
  411. data/app/pb_kits/playbook/pb_table/table_body.html.erb +2 -12
  412. data/app/pb_kits/playbook/pb_table/table_cell.html.erb +2 -12
  413. data/app/pb_kits/playbook/pb_table/table_head.html.erb +2 -12
  414. data/app/pb_kits/playbook/pb_table/table_header.html.erb +3 -12
  415. data/app/pb_kits/playbook/pb_table/table_row.html.erb +5 -18
  416. data/app/pb_kits/playbook/pb_text_input/inputMask.ts +2 -3
  417. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +1 -5
  418. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.jsx +1 -1
  419. data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +1 -5
  420. data/app/pb_kits/playbook/pb_time/time.html.erb +1 -5
  421. data/app/pb_kits/playbook/pb_time_range_inline/docs/_time_range_inline_default.jsx +1 -1
  422. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx +3 -1
  423. data/app/pb_kits/playbook/pb_title/title.html.erb +1 -6
  424. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom.jsx +1 -1
  425. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.jsx +3 -1
  426. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +1 -1
  427. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx +1 -1
  428. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx +3 -1
  429. data/app/pb_kits/playbook/pb_toggle/toggle.html.erb +1 -6
  430. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +2 -2
  431. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default_react.jsx +3 -1
  432. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay.jsx +4 -1
  433. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.jsx +3 -1
  434. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon_rails.html.erb +22 -0
  435. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.jsx +4 -1
  436. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_margin.jsx +3 -1
  437. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_show_tooltip_react.jsx +5 -1
  438. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_sizing.html.erb +22 -0
  439. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +2 -0
  440. data/app/pb_kits/playbook/pb_tooltip/tooltip.html.erb +7 -6
  441. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +32 -7
  442. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +1 -1
  443. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +4 -0
  444. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +19 -4
  445. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx +1 -1
  446. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.jsx +1 -1
  447. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_menu_list.jsx +1 -3
  448. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_disabled.html.erb +19 -0
  449. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_disabled.jsx +23 -0
  450. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx +66 -0
  451. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md +1 -0
  452. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +1 -1
  453. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +6 -8
  454. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
  455. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +3 -5
  456. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.jsx +4 -6
  457. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +4 -6
  458. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
  459. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +3 -0
  460. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +2 -0
  461. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -0
  462. data/app/pb_kits/playbook/pb_user/_user.tsx +78 -13
  463. data/app/pb_kits/playbook/pb_user/docs/_user_block_content_subtitle_react.jsx +6 -1
  464. data/app/pb_kits/playbook/pb_user/docs/_user_default.jsx +1 -1
  465. data/app/pb_kits/playbook/pb_user/docs/_user_font_options.html.erb +22 -0
  466. data/app/pb_kits/playbook/pb_user/docs/_user_font_options.jsx +40 -0
  467. data/app/pb_kits/playbook/pb_user/docs/_user_font_options_rails.md +5 -0
  468. data/app/pb_kits/playbook/pb_user/docs/_user_font_options_react.md +5 -0
  469. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.jsx +1 -1
  470. data/app/pb_kits/playbook/pb_user/docs/_user_size.jsx +1 -1
  471. data/app/pb_kits/playbook/pb_user/docs/_user_subtitle.jsx +1 -1
  472. data/app/pb_kits/playbook/pb_user/docs/_user_text_only.jsx +1 -1
  473. data/app/pb_kits/playbook/pb_user/docs/_user_vertical_size.jsx +1 -1
  474. data/app/pb_kits/playbook/pb_user/docs/_user_with_territory.jsx +1 -1
  475. data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
  476. data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
  477. data/app/pb_kits/playbook/pb_user/user.html.erb +27 -6
  478. data/app/pb_kits/playbook/pb_user/user.rb +17 -1
  479. data/app/pb_kits/playbook/pb_user/user.test.js +182 -1
  480. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx +2 -1
  481. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx +2 -1
  482. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx +2 -1
  483. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx +2 -1
  484. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx +2 -1
  485. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx +2 -1
  486. data/app/pb_kits/playbook/tokens/_colors.scss +1 -4
  487. data/app/pb_kits/playbook/tokens/_display.scss +3 -1
  488. data/app/pb_kits/playbook/utilities/_display.scss +6 -1
  489. data/app/pb_kits/playbook/utilities/object.test.js +139 -1
  490. data/app/pb_kits/playbook/utilities/object.ts +86 -0
  491. data/app/pb_kits/playbook/utilities/test/globalProps/display.test.js +1 -1
  492. data/app/pb_kits/playbook/utilities/text.ts +1 -1
  493. data/dist/chunks/_typeahead-HN7DWIZV.js +22 -0
  494. data/dist/chunks/_weekday_stacked-CEWwCgZj.js +45 -0
  495. data/dist/chunks/lazysizes-B7xYodB-.js +1 -0
  496. data/dist/chunks/lib-Co5y3V4K.js +29 -0
  497. data/dist/chunks/{pb_form_validation-DGhKbZtO.js → pb_form_validation-DMajaRt3.js} +1 -1
  498. data/dist/chunks/vendor.js +1 -1
  499. data/dist/menu.yml +9 -1
  500. data/dist/playbook-doc.js +1 -1
  501. data/dist/playbook-rails-react-bindings.js +1 -1
  502. data/dist/playbook-rails.js +1 -1
  503. data/dist/playbook.css +1 -1
  504. data/lib/playbook/display.rb +2 -2
  505. data/lib/playbook/forms/builder/multi_level_select_field.rb +2 -0
  506. data/lib/playbook/version.rb +2 -2
  507. metadata +69 -10
  508. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.erb +0 -10
  509. data/dist/chunks/_typeahead-BhfaW1J9.js +0 -36
  510. data/dist/chunks/_weekday_stacked-CKRIELiF.js +0 -45
  511. data/dist/chunks/lazysizes-DHz07jlL.js +0 -1
  512. data/dist/chunks/lib-5OzNgeeu.js +0 -29
  513. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.md → _advanced_table_selectable_rows_no_subrows_react.md} +0 -0
  514. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows.md → _advanced_table_selectable_rows_react.md} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 988b1ee65101fb13b487e7fb3f8589b7b06a4510503b9a1d41dd84d1887ade9b
4
- data.tar.gz: 2ebbaf39afdeca0386f701dc867be16170b39f8f8cbcba101e92ca8df1d9bd35
3
+ metadata.gz: dd82bb6f3ee44ed655fa00a9063867e0bf1b2475e14053635cfa045d9eabc19c
4
+ data.tar.gz: 17de2ee4fb645c07918923b762f2c4195ff451056c85e4dd41fd7655fd1004a7
5
5
  SHA512:
6
- metadata.gz: e500e0257cd7da6adb7a707ea08e797d8322204341eaff40613dee843ee6c79d47db18c76192204a2b29576b3b3eb9ca13d8cb5ab5c2b401a7d4e775dec39450
7
- data.tar.gz: dbf426e01b04c62e96af16a1fc4769659c7111a0a276c6a5a2f05ae1fa2948be612447dfea2c39d5115e068ee71cc90f16c24de34a4f2791aa719d03cdb3cda2
6
+ metadata.gz: e798db2746cc1381cdf2a6bf3d988f784a133ad65cddc0e6cc5085eb7586e28808b461d1d9aae1e5ad4b579474698380765c393a3ab6ff9b8537541ca8d299a5
7
+ data.tar.gz: 5bee6ba2e97346c45b8b38df8839d6f2e0ad481eb8c4f2299cdb01eb3b8b79a6df40c919236a4f765b0de50d9a29a8a4c877ed9a1374348f3ab14cb92f45e302
@@ -1,4 +1,5 @@
1
1
 
2
+
2
3
  @import 'pb_advanced_table/advanced_table';
3
4
  @import 'pb_avatar/avatar';
4
5
  @import 'pb_background/background';
@@ -14,8 +15,8 @@
14
15
  @import 'pb_circle_chart/circle_chart';
15
16
  @import 'pb_circle_icon_button/circle_icon_button';
16
17
  @import 'pb_collapsible/collapsible';
17
- @import 'pb_copy_button/copy_button';
18
18
  @import 'pb_contact/contact';
19
+ @import 'pb_copy_button/copy_button';
19
20
  @import 'pb_currency/currency';
20
21
  @import 'pb_dashboard_value/dashboard_value';
21
22
  @import 'pb_date/date';
@@ -45,6 +46,7 @@
45
46
  @import 'pb_highlight/highlight';
46
47
  @import 'pb_home_address_street/home_address_street';
47
48
  @import 'pb_icon/icon';
49
+ @import 'pb_icon_button/icon_button';
48
50
  @import 'pb_icon_circle/icon_circle';
49
51
  @import 'pb_icon_stat_value/icon_stat_value';
50
52
  @import 'pb_icon_value/icon_value';
@@ -109,7 +111,7 @@
109
111
  @import 'pb_user_badge/user_badge';
110
112
  @import 'pb_walkthrough/walkthrough';
111
113
  @import 'pb_weekday_stacked/weekday_stacked';
112
- @import 'pb_icon_button/icon_button';
114
+ @import 'pb_empty_state/empty_state';
113
115
  @import 'utilities/mixins';
114
116
  @import 'utilities/spacing';
115
117
  @import 'utilities/cursor';
@@ -101,6 +101,15 @@
101
101
  border-top-left-radius: 0px !important;
102
102
  border-top-right-radius: 0px !important;
103
103
  }
104
+ // Right align header content of first data column in selectable row no subrow setup
105
+ &.selectable-rows-enabled {
106
+ tr {
107
+ th:nth-child(2),
108
+ .pb_flex_kit_orientation_row_justify_content_start_align_items_center_spacing_none.gap_none {
109
+ justify-content: flex-end;
110
+ }
111
+ }
112
+ }
104
113
 
105
114
  // Set fixed width for header cells to match table body
106
115
  th {
@@ -112,7 +121,8 @@
112
121
  }
113
122
 
114
123
  // Set fixed width for checkbox column
115
- &.table-header-cells-custom {
124
+ &.table-header-cells-custom,
125
+ &.checkbox-cell.checkbox-cell-header {
116
126
  width: 40px !important;
117
127
  min-width: 40px !important;
118
128
  box-sizing: border-box !important;
@@ -161,6 +171,22 @@
161
171
  }
162
172
  }
163
173
  }
174
+ td {
175
+ [class^=pb_text_input_kit] .text_input_wrapper input {
176
+ padding: 0 $space_xxs;
177
+ font-size: 14px;
178
+ text-align: right;
179
+ }
180
+ }
181
+ // Right align row content of first data column in selectable row no subrow setup
182
+ &.selectable-rows-enabled {
183
+ tr {
184
+ td:nth-child(2),
185
+ .pb_flex_kit_orientation_row_justify_content_start_align_items_center_spacing_none {
186
+ justify-content: end;
187
+ }
188
+ }
189
+ }
164
190
  }
165
191
 
166
192
  .table-header-cells-active:first-child {
@@ -255,7 +281,8 @@
255
281
  .table-header-cells:first-child,
256
282
  .table-header-cells-custom:first-child,
257
283
  td:first-child,
258
- .pb_table_td:first-child {
284
+ .pb_table_td:first-child,
285
+ .checkbox-cell.checkbox-cell-header:first-child {
259
286
  box-shadow: 1px 0px 0px 0px $border_light !important;
260
287
  }
261
288
 
@@ -311,6 +338,7 @@
311
338
  .table-header-cells:first-child,
312
339
  td:first-child,
313
340
  .pb_table_td:first-child,
341
+ .checkbox-cell.checkbox-cell-header:first-child,
314
342
  [class*="pinned-left"] {
315
343
  background-color: $white;
316
344
  box-shadow: $shadow_deep !important;
@@ -428,6 +456,16 @@
428
456
  ) !important;
429
457
  }
430
458
  }
459
+
460
+ // Vertical separator
461
+ .table-header-cells:first-child,
462
+ .table-header-cells-custom:first-child,
463
+ td:first-child,
464
+ .pb_table_td:first-child,
465
+ .checkbox-cell.checkbox-cell-header:first-child {
466
+ box-shadow: 1px 0px 0px 0px $border_dark !important;
467
+ }
468
+
431
469
  // Dark Mode Responsive Styles
432
470
  @media only screen and (max-width: $screen-xl-min) {
433
471
  &[class*="advanced-table-responsive-scroll"] {
@@ -452,6 +490,7 @@
452
490
  .table-header-cells:first-child,
453
491
  td:first-child,
454
492
  .pb_table_td:first-child,
493
+ .checkbox-cell.checkbox-cell-header:first-child,
455
494
  [class*="pinned-left"] {
456
495
  background: $bg_dark_card;
457
496
  border-right: $border_dark;
@@ -3,8 +3,8 @@
3
3
  <% if content.present? %>
4
4
  <% content.presence %>
5
5
  <% else %>
6
- <%= pb_rails("advanced_table/table_header", props: { column_definitions: object.column_definitions, enable_toggle_expansion: object.enable_toggle_expansion, responsive: object.responsive, loading: object.loading }) %>
7
- <%= pb_rails("advanced_table/table_body", props: { id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading }) %>
6
+ <%= pb_rails("advanced_table/table_header", props: { column_definitions: object.column_definitions, enable_toggle_expansion: object.enable_toggle_expansion, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows }) %>
7
+ <%= pb_rails("advanced_table/table_body", props: { id: object.id, table_data: object.table_data, column_definitions: object.column_definitions, responsive: object.responsive, loading: object.loading, selectable_rows: object.selectable_rows, enable_toggle_expansion: object.enable_toggle_expansion }) %>
8
8
  <% end %>
9
9
  <% end %>
10
10
  <% end %>
@@ -20,6 +20,8 @@ module Playbook
20
20
  prop :max_height, type: Playbook::Props::Enum,
21
21
  values: %w[auto xs sm md lg xl xxl xxxl],
22
22
  default: "auto"
23
+ prop :selectable_rows, type: Playbook::Props::Boolean,
24
+ default: false
23
25
 
24
26
  def classname
25
27
  generate_classname("pb_advanced_table", responsive_classname, max_height_classname, separator: " ")
@@ -32,6 +34,14 @@ module Playbook
32
34
  def max_height_classname
33
35
  max_height.present? ? "advanced-table-max-height-#{max_height}" : ""
34
36
  end
37
+
38
+ def selected_rows
39
+ @selected_rows ||= []
40
+ end
41
+
42
+ def selected_rows_length
43
+ selected_rows.length
44
+ end
35
45
  end
36
46
  end
37
47
  end
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableCollapsibleTrail = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableColumnHeaders = (props) => {
@@ -1,5 +1,7 @@
1
1
  import React from "react"
2
- import { AdvancedTable, Pill } from "playbook-ui"
2
+ import AdvancedTable from "../../pb_advanced_table/_advanced_table"
3
+ import Pill from "../../pb_pill/_pill"
4
+
3
5
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
6
 
5
7
  const AdvancedTableColumnHeadersCustomCell = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { AdvancedTable } from "playbook-ui";
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table';
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json";
4
4
 
5
5
  const AdvancedTableColumnHeadersMultiple = (props) => {
@@ -1,5 +1,12 @@
1
1
  import React from "react"
2
- import { AdvancedTable, Pill, Body, Flex, Detail, Caption, Badge, Title } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
+ import Pill from "../../pb_pill/_pill"
4
+ import Body from "../../pb_body/_body"
5
+ import Flex from "../../pb_flex/_flex"
6
+ import Detail from "../../pb_detail/_detail"
7
+ import Caption from "../../pb_caption/_caption"
8
+ import Badge from "../../pb_badge/_badge"
9
+ import Title from "../../pb_title/_title"
3
10
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
11
 
5
12
  const AdvancedTableCustomCell = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableDefault = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableExpandedControl = (props) => {
@@ -0,0 +1,102 @@
1
+ import React, { useState } from "react";
2
+ import { AdvancedTable, TextInput, Body } from "playbook-ui";
3
+ import MOCK_DATA from "./advanced_table_mock_data.json";
4
+
5
+ const AdvancedTableInlineEditing = (props) => {
6
+ const [editedValues, setEditedValues] = useState({});
7
+
8
+ const EditableCell = ({ rowId, originalValue, onSave }) => {
9
+ const [localValue, setLocalValue] = useState(originalValue);
10
+
11
+ const handleChange = (e) => setLocalValue(e.target.value);
12
+
13
+ const handleBlur = () => {
14
+ originalValue !== localValue && onSave(rowId, localValue);
15
+ };
16
+
17
+ return (
18
+ <TextInput inline
19
+ marginBottom="none"
20
+ {...props}
21
+ >
22
+ <input
23
+ onBlur={handleBlur}
24
+ onChange={handleChange}
25
+ onKeyDown={(e) => e.key === 'Enter' && handleBlur()}
26
+ value={localValue}
27
+ />
28
+ </TextInput>
29
+ );
30
+ };
31
+
32
+ const columnDefinitions = [
33
+ {
34
+ accessor: "year",
35
+ label: "Year",
36
+ cellAccessors: ["quarter", "month", "day"],
37
+ },
38
+ {
39
+ accessor: "newEnrollments",
40
+ label: "New Enrollments",
41
+ },
42
+ {
43
+ accessor: "scheduledMeetings",
44
+ label: "Scheduled Meetings",
45
+ editable: true,
46
+ customRenderer: (row) => {
47
+ return (
48
+ <EditableCell
49
+ onSave={(id, val) => {
50
+ setEditedValues((prev) => ({ ...prev, [id]: val }));
51
+ }}
52
+ originalValue={
53
+ editedValues[row.id] ?? row.original.scheduledMeetings
54
+ }
55
+ rowId={row.id}
56
+ />
57
+ );
58
+ },
59
+ },
60
+ {
61
+ accessor: "attendanceRate",
62
+ label: "Attendance Rate",
63
+ },
64
+ {
65
+ accessor: "completedClasses",
66
+ label: "Completed Classes",
67
+ },
68
+ {
69
+ accessor: "classCompletionRate",
70
+ label: "Class Completion Rate",
71
+ },
72
+ {
73
+ accessor: "graduatedStudents",
74
+ label: "Graduated Students",
75
+ },
76
+ ];
77
+
78
+ return (
79
+ <div className="App">
80
+ <AdvancedTable
81
+ columnDefinitions={columnDefinitions}
82
+ tableData={MOCK_DATA}
83
+ {...props}
84
+ />
85
+ {
86
+ editedValues && Object.keys(editedValues).length > 0 && (
87
+ <>
88
+ <Body
89
+ marginTop="md"
90
+ {...props}
91
+ >
92
+ Edited Values by Row Id:
93
+ </Body>
94
+ <pre style={{color: 'white'}}>{JSON.stringify(editedValues, null, 2)}</pre>
95
+ </>
96
+ )
97
+ }
98
+ </div>
99
+ );
100
+ };
101
+
102
+ export default AdvancedTableInlineEditing;
@@ -0,0 +1,4 @@
1
+ Inline Cell Editing can be achieved with a combination of our `TextInput` kit and the `customRenderer` method available through columnDefinitions.
2
+
3
+ Hover over any cell within the 'Scheduled Meetings' column to see the TextInput and type in to change values. Values can be saved by clicking away from the TextInput or by hitting 'Enter'.
4
+ See the code snippet below to see how this was achieved. Devs must manage state themselves as shown.
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import { MOCK_DATA_INLINE_LOADING } from "./_mock_data_inline_loading"
4
4
 
5
5
  const AdvancedTableInlineRowLoading = (props) => {
@@ -1,6 +1,6 @@
1
1
  import React, { useState } from "react"
2
- import { AdvancedTable } from "playbook-ui"
3
- import { Button } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
+ import Button from "../../pb_button/_button"
4
4
  import MOCK_DATA from "./advanced_table_mock_data.json"
5
5
 
6
6
  const AdvancedTableLoading = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data_no_subrows.json"
4
4
 
5
5
  const AdvancedTableNoSubrows = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import PAGINATION_MOCK_DATA from "./advanced_table_pagination_mock_data.json"
4
4
 
5
5
  const AdvancedTablePagination = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import PAGINATION_MOCK_DATA from "./advanced_table_pagination_mock_data.json"
4
4
 
5
5
  const AdvancedTablePaginationWithProps = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import Title from '../../pb_title/_title'
4
4
  import MOCK_DATA from "./advanced_table_mock_data.json"
5
5
 
@@ -0,0 +1,39 @@
1
+ <% column_definitions = [
2
+ {
3
+ accessor: "year",
4
+ label: "Year",
5
+ cellAccessors: ["quarter", "month", "day"],
6
+ },
7
+ {
8
+ accessor: "newEnrollments",
9
+ label: "New Enrollments",
10
+ },
11
+ {
12
+ accessor: "scheduledMeetings",
13
+ label: "Scheduled Meetings",
14
+ },
15
+ {
16
+ accessor: "attendanceRate",
17
+ label: "Attendance Rate",
18
+ },
19
+ {
20
+ accessor: "completedClasses",
21
+ label: "Completed Classes",
22
+ },
23
+ {
24
+ accessor: "classCompletionRate",
25
+ label: "Class Completion Rate",
26
+ },
27
+ {
28
+ accessor: "graduatedStudents",
29
+ label: "Graduated Students",
30
+ }
31
+ ]
32
+
33
+ subrow_headers = ["Quarter", "Month", "Day"]
34
+ %>
35
+
36
+ <%= pb_rails("advanced_table", props: { id: "selectable_rows", table_data: @table_data_with_id, column_definitions: column_definitions, selectable_rows: true }) do %>
37
+ <%= pb_rails("advanced_table/table_header", props: { column_definitions: column_definitions, selectable_rows: true }) %>
38
+ <%= pb_rails("advanced_table/table_body", props: { id: "selectable_rows", table_data: @table_data_with_id, column_definitions: column_definitions, subrow_headers: subrow_headers, enable_toggle_expansion: "all", selectable_rows: true }) %>
39
+ <% end %>
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data_with_id.json"
4
4
 
5
5
  const AdvancedTableSelectableRows = (props) => {
@@ -1,5 +1,7 @@
1
1
  import React, {useState} from "react"
2
- import { AdvancedTable, CircleIconButton, Flex } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
+ import CircleIconButton from "../../pb_circle_icon_button/_circle_icon_button"
4
+ import Flex from "../../pb_flex/_flex"
3
5
  import MOCK_DATA from "./advanced_table_mock_data_no_subrows.json"
4
6
 
5
7
  const AdvancedTableSelectableRowsActions = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data_no_subrows.json"
4
4
 
5
5
  const AdvancedTableSelectableRowsHeader = (props) => {
@@ -0,0 +1,33 @@
1
+ <% column_definitions = [
2
+ {
3
+ accessor: "year",
4
+ label: "Year",
5
+ cellAccessors: ["quarter", "month", "day"],
6
+ },
7
+ {
8
+ accessor: "newEnrollments",
9
+ label: "New Enrollments",
10
+ },
11
+ {
12
+ accessor: "scheduledMeetings",
13
+ label: "Scheduled Meetings",
14
+ },
15
+ {
16
+ accessor: "attendanceRate",
17
+ label: "Attendance Rate",
18
+ },
19
+ {
20
+ accessor: "completedClasses",
21
+ label: "Completed Classes",
22
+ },
23
+ {
24
+ accessor: "classCompletionRate",
25
+ label: "Class Completion Rate",
26
+ },
27
+ {
28
+ accessor: "graduatedStudents",
29
+ label: "Graduated Students",
30
+ }
31
+ ] %>
32
+
33
+ <%= pb_rails("advanced_table", props: { id: "selectable_rows_no_subrows", table_data: @table_data_no_subrows, column_definitions: column_definitions, selectable_rows: true, enable_toggle_expansion: "none", }) %>
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data_no_subrows.json"
4
4
 
5
5
  const AdvancedTableSelectableRowsNoSubrows = (props) => {
@@ -0,0 +1 @@
1
+ `selectable_rows` can also be used with tables without nested row data. Set `enable_toggle_expansion: none` to adjust the Advanced Table styling to fit a table without subrows.
@@ -0,0 +1,6 @@
1
+ `selectable_rows` is a boolean prop that if present will add checkboxes to all rows that will allow for selecting rows.
2
+
3
+ When a parent row is clicked, it will check all nested children rows, Children rows can be manually checked or unchecked as well.
4
+
5
+ __ALERT TO DEVS__: UPDATE THIS PARAGRAPH IN THE FOLLOW UP STORY WHEN CHECKBOX FUNCTIONALITY IS SET PLEASE
6
+ The `onRowSelectionChange` prop returns an array of ids of all Rows that have been selected. Open the console on this example and check and uncheck checkboxes to see this is action! __NOTE__: Each object within the `tableData`Array must contain a unique id in order to attach an id to all Rows for this to function.
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableSort = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableSortControl = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableSubrowHeaders = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableTableOptions = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableTableProps = (props) => {
@@ -1,5 +1,5 @@
1
1
  import React from "react"
2
- import { AdvancedTable } from "playbook-ui"
2
+ import AdvancedTable from '../../pb_advanced_table/_advanced_table'
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
5
  const AdvancedTableTablePropsStickyHeader = (props) => {
@@ -11,6 +11,8 @@ examples:
11
11
  - advanced_table_custom_cell_rails: Custom Components for Cells
12
12
  - advanced_table_column_headers: Multi-Header Columns
13
13
  - advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
14
+ # - advanced_table_selectable_rows: Selectable Rows
15
+ # - advanced_table_selectable_rows_no_subrows: Selectable Rows (No Subrows)
14
16
 
15
17
 
16
18
  react:
@@ -36,4 +38,5 @@ examples:
36
38
  - advanced_table_selectable_rows: Selectable Rows
37
39
  - advanced_table_selectable_rows_no_subrows: Selectable Rows (No Subrows)
38
40
  - advanced_table_selectable_rows_actions: Selectable Rows (With Actions)
39
- - advanced_table_selectable_rows_header: Selectable Rows (No Actions Bar)
41
+ - advanced_table_selectable_rows_header: Selectable Rows (No Actions Bar)
42
+ - advanced_table_inline_editing: Inline Cell Editing
@@ -20,4 +20,5 @@ export { default as AdvancedTableNoSubrows } from './_advanced_table_no_subrows.
20
20
  export { default as AdvancedTableSelectableRowsHeader } from './_advanced_table_selectable_rows_header.jsx'
21
21
  export { default as AdvancedTableSelectableRowsActions } from './_advanced_table_selectable_rows_actions.jsx'
22
22
  export { default as AdvancedTableTablePropsStickyHeader } from './_advanced_table_table_props_sticky_header.jsx'
23
- export { default as AdvancedTableColumnHeadersCustomCell } from './_advanced_table_column_headers_custom_cell.jsx'
23
+ export { default as AdvancedTableColumnHeadersCustomCell } from './_advanced_table_column_headers_custom_cell.jsx'
24
+ export { default as AdvancedTableInlineEditing } from './_advanced_table_inline_editing.jsx'
@@ -231,4 +231,4 @@ window.expandAllRows = (element) => {
231
231
 
232
232
  window.expandAllSubRows = (element, rowDepth) => {
233
233
  PbAdvancedTable.handleToggleAllSubRows(element, rowDepth);
234
- };
234
+ };
@@ -21,6 +21,8 @@ module Playbook
21
21
  prop :responsive, type: Playbook::Props::Enum,
22
22
  values: %w[none scroll],
23
23
  default: "scroll"
24
+ prop :selectable_rows, type: Playbook::Props::Boolean,
25
+ default: false
24
26
 
25
27
  def flatten_columns(columns)
26
28
  columns.flat_map do |col|
@@ -56,7 +58,7 @@ module Playbook
56
58
  current_data_attributes = current_depth.zero? ? { row_depth: 0 } : table_data_attributes
57
59
 
58
60
  # Additional class and data attributes needed for toggle logic
59
- output << pb_rails("advanced_table/table_row", props: { id: id, row: row, column_definitions: leaf_columns, depth: current_depth, collapsible_trail: collapsible_trail, classname: additional_classes, table_data_attributes: current_data_attributes, responsive: responsive, loading: loading })
61
+ output << pb_rails("advanced_table/table_row", props: { id: id, row: row, column_definitions: leaf_columns, depth: current_depth, collapsible_trail: collapsible_trail, classname: additional_classes, table_data_attributes: current_data_attributes, responsive: responsive, loading: loading, selectable_rows: selectable_rows, row_id: row[:id], enable_toggle_expansion: enable_toggle_expansion })
60
62
 
61
63
  if row[:children].present?
62
64
  row[:children].each do |child_row|
@@ -81,7 +83,7 @@ module Playbook
81
83
  def classname
82
84
  additional_classes = []
83
85
  additional_classes << "advanced-table-responsive-#{responsive} pinned-left" if responsive == "scroll"
84
-
86
+ additional_classes << "selectable-rows-enabled" if selectable_rows && enable_toggle_expansion == "none"
85
87
  generate_classname("pb_advanced_table_body", *additional_classes, separator: " ")
86
88
  end
87
89