playbook_ui 14.19.0.pre.rc.2 → 14.20.0.pre.alpha.PLAY2178advancedtablerowpinning7978

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 (250) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +92 -5
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/TableActionBar.tsx +175 -16
  5. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +56 -25
  6. data/app/pb_kits/playbook/pb_advanced_table/Context/AdvancedTableContext.tsx +58 -2
  7. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableActions.ts +1 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +34 -15
  9. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +7 -3
  10. data/app/pb_kits/playbook/pb_advanced_table/Utilities/VisibilityTree.ts +47 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +11 -10
  12. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +13 -4
  13. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +16 -8
  14. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +9 -0
  15. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +61 -0
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.md +5 -7
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.jsx +57 -0
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.md +4 -0
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_custom.jsx +62 -0
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_custom.md +1 -0
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi.jsx +82 -0
  22. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi.md +1 -0
  23. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_with_state.jsx +66 -0
  24. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_with_state.md +3 -0
  25. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.md +1 -1
  26. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows.jsx +57 -0
  27. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_react.md +5 -0
  28. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions_rails.html.erb +137 -0
  29. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions_rails.md +3 -0
  30. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header_rails.html.erb +40 -0
  31. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header_rails.md +1 -0
  32. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows_rails.md +5 -1
  33. data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.jsx → _advanced_table_selectable_rows_no_subrows_react.jsx} +2 -2
  34. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_rails.md +3 -2
  35. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +10 -3
  36. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +7 -2
  37. data/app/pb_kits/playbook/pb_advanced_table/flat_advanced_table.js +106 -0
  38. data/app/pb_kits/playbook/pb_advanced_table/index.js +370 -10
  39. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +1 -0
  40. data/app/pb_kits/playbook/pb_advanced_table/table_action_bar.html.erb +23 -0
  41. data/app/pb_kits/playbook/pb_advanced_table/table_action_bar.rb +19 -0
  42. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +9 -1
  43. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +4 -3
  44. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +1 -2
  45. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +4 -0
  46. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +3 -0
  47. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +3 -3
  48. data/app/pb_kits/playbook/pb_avatar/avatar.rb +2 -0
  49. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +18 -0
  50. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_grayscale.html.erb +5 -0
  51. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_grayscale.jsx +16 -0
  52. data/app/pb_kits/playbook/pb_avatar/docs/example.yml +2 -0
  53. data/app/pb_kits/playbook/pb_avatar/docs/index.js +1 -0
  54. data/app/pb_kits/playbook/pb_card/card.html.erb +1 -1
  55. data/app/pb_kits/playbook/pb_card/card.rb +12 -0
  56. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +2 -2
  57. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.html.erb +22 -1
  58. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line.html.erb +55 -0
  59. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line_rails.md +5 -0
  60. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_rails.md +5 -0
  61. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners.jsx +59 -0
  62. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners_react.md +1 -0
  63. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +2 -0
  64. data/app/pb_kits/playbook/pb_draggable/docs/index.js +2 -1
  65. data/app/pb_kits/playbook/pb_draggable/draggable_container.rb +11 -1
  66. data/app/pb_kits/playbook/pb_draggable/draggable_item.rb +11 -1
  67. data/app/pb_kits/playbook/pb_draggable/index.js +4 -2
  68. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +33 -5
  69. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +6 -1
  70. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +82 -35
  71. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.html.erb +31 -0
  72. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.md +5 -0
  73. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.html.erb +5 -2
  74. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.jsx +56 -0
  75. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.md +3 -0
  76. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.jsx +58 -0
  77. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.md +3 -0
  78. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.html.erb +20 -0
  79. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.md +1 -0
  80. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.html.erb +19 -0
  81. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.md +3 -0
  82. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.html.erb +20 -0
  83. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.jsx +57 -0
  84. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.md +1 -0
  85. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.html.erb +50 -0
  86. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.jsx +105 -0
  87. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.html.erb +22 -0
  88. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.jsx +67 -0
  89. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.html.erb +28 -0
  90. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +17 -64
  91. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.html.erb +58 -0
  92. data/app/pb_kits/playbook/pb_dropdown/docs/{_dropdown_with_autocomplete_and_custom_display.jsx → _dropdown_with_autocomplete_with_subcomponents.jsx} +11 -25
  93. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.md +1 -0
  94. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +11 -0
  95. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.md +1 -1
  96. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +33 -2
  97. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.md +3 -1
  98. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.md +1 -0
  99. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.jsx +61 -0
  100. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.md +2 -0
  101. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.html.erb +52 -0
  102. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.md +2 -0
  103. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +18 -5
  104. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +7 -2
  105. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +3 -3
  106. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +20 -2
  107. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +153 -3
  108. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.html.erb +10 -0
  109. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +3 -0
  110. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +37 -6
  111. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +5 -1
  112. data/app/pb_kits/playbook/pb_dropdown/hooks/useHandleOnKeydown.tsx +0 -6
  113. data/app/pb_kits/playbook/pb_dropdown/index.js +380 -17
  114. data/app/pb_kits/playbook/pb_dropdown/keyboard_accessibility.js +64 -11
  115. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +3 -4
  116. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +16 -12
  117. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +83 -17
  118. data/app/pb_kits/playbook/pb_dropdown/subcomponents/MultiSelectTriggerDisplay.tsx +58 -0
  119. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +8 -1
  120. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_alignment.html.erb +27 -0
  121. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_default.html.erb +7 -0
  122. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_orientation.html.erb +12 -0
  123. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_size.html.erb +23 -0
  124. data/app/pb_kits/playbook/pb_empty_state/docs/example.yml +5 -1
  125. data/app/pb_kits/playbook/pb_empty_state/empty_state.html.erb +19 -0
  126. data/app/pb_kits/playbook/pb_empty_state/empty_state.rb +123 -0
  127. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +13 -0
  128. data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +11 -1
  129. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_error.html.erb +1 -0
  130. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_error.jsx +41 -0
  131. data/app/pb_kits/playbook/pb_file_upload/docs/example.yml +2 -0
  132. data/app/pb_kits/playbook/pb_file_upload/docs/index.js +1 -0
  133. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -0
  134. data/app/pb_kits/playbook/pb_file_upload/file_upload.rb +7 -1
  135. data/app/pb_kits/playbook/pb_file_upload/fileupload.test.js +18 -0
  136. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -0
  137. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -0
  138. data/app/pb_kits/playbook/pb_form_group/_error_state_mixin.scss +2 -2
  139. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +19 -12
  140. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +13 -7
  141. data/app/pb_kits/playbook/pb_message/_message.tsx +3 -0
  142. data/app/pb_kits/playbook/pb_message/docs/_message_grayscale.html.erb +9 -0
  143. data/app/pb_kits/playbook/pb_message/docs/_message_grayscale.jsx +21 -0
  144. data/app/pb_kits/playbook/pb_message/docs/example.yml +2 -0
  145. data/app/pb_kits/playbook/pb_message/docs/index.js +1 -0
  146. data/app/pb_kits/playbook/pb_message/message.html.erb +2 -1
  147. data/app/pb_kits/playbook/pb_message/message.rb +1 -0
  148. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +2 -2
  149. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.html.erb +11 -11
  150. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.jsx +11 -11
  151. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.html.erb +11 -11
  152. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.jsx +11 -11
  153. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.html.erb +11 -11
  154. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.jsx +11 -11
  155. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.html.erb +11 -11
  156. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.jsx +11 -11
  157. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.html.erb +11 -11
  158. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.jsx +11 -11
  159. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.html.erb +11 -11
  160. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.jsx +11 -11
  161. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.html.erb +11 -11
  162. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.jsx +11 -11
  163. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.html.erb +11 -11
  164. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.jsx +11 -11
  165. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +11 -11
  166. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +11 -11
  167. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx +11 -11
  168. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb +11 -11
  169. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.html.erb +11 -11
  170. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.jsx +11 -11
  171. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.html.erb +11 -11
  172. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md +2 -0
  173. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.jsx +11 -11
  174. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md +3 -1
  175. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb +22 -22
  176. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx +22 -22
  177. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.html.erb +22 -22
  178. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.jsx +22 -22
  179. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children.jsx +11 -11
  180. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children_with_radios.jsx +11 -11
  181. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_form.html.erb +11 -11
  182. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +2 -1
  183. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx +1 -1
  184. data/app/pb_kits/playbook/pb_overlay/subcomponents/_overlay_token.tsx +5 -4
  185. data/app/pb_kits/playbook/pb_person/_person.tsx +12 -2
  186. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +9 -9
  187. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +4 -0
  188. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_exclude_countries.html.erb +4 -0
  189. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_exclude_countries.jsx +15 -0
  190. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_exclude_countries.md +1 -0
  191. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_only_countries.jsx +1 -1
  192. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +4 -3
  193. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
  194. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +3 -0
  195. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +2 -2
  196. data/app/pb_kits/playbook/pb_select/_select.scss +10 -0
  197. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select_subheaders.html.erb +12 -0
  198. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select_subheaders.jsx +31 -0
  199. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select_subheaders.md +1 -0
  200. data/app/pb_kits/playbook/pb_select/docs/_select_error.html.erb +1 -1
  201. data/app/pb_kits/playbook/pb_select/docs/example.yml +2 -0
  202. data/app/pb_kits/playbook/pb_select/docs/index.js +1 -0
  203. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx +7 -7
  204. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +5 -5
  205. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -2
  206. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.html.erb +1 -1
  207. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.html.erb +5 -1
  208. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +73 -3
  209. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb +8 -1
  210. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.jsx +23 -0
  211. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.md +1 -0
  212. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
  213. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
  214. data/app/pb_kits/playbook/pb_user/_user.tsx +3 -0
  215. data/app/pb_kits/playbook/pb_user/docs/_user_grayscale.html.erb +6 -0
  216. data/app/pb_kits/playbook/pb_user/docs/_user_grayscale.jsx +16 -0
  217. data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
  218. data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
  219. data/app/pb_kits/playbook/pb_user/user.html.erb +2 -1
  220. data/app/pb_kits/playbook/pb_user/user.rb +1 -0
  221. data/dist/chunks/_typeahead-CRW6dJbW.js +22 -0
  222. data/dist/chunks/_weekday_stacked-yWpUc_c0.js +45 -0
  223. data/dist/chunks/lib-D5R1BjUn.js +29 -0
  224. data/dist/chunks/{pb_form_validation-BWjy4bFn.js → pb_form_validation-BZ2AVAi_.js} +1 -1
  225. data/dist/chunks/vendor.js +1 -1
  226. data/dist/menu.yml +6 -14
  227. data/dist/playbook-doc.js +2 -2
  228. data/dist/playbook-rails-react-bindings.js +1 -1
  229. data/dist/playbook-rails.js +1 -1
  230. data/dist/playbook.css +1 -1
  231. data/lib/playbook/kit_base.rb +3 -3
  232. data/lib/playbook/version.rb +2 -2
  233. metadata +84 -22
  234. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.html.erb +0 -10
  235. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.md +0 -1
  236. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_hook.jsx +0 -79
  237. data/app/pb_kits/playbook/pb_gantt_chart/_gantt_chart.scss +0 -3
  238. data/app/pb_kits/playbook/pb_gantt_chart/_gantt_chart.tsx +0 -72
  239. data/app/pb_kits/playbook/pb_gantt_chart/docs/_gantt_chart_default.jsx +0 -53
  240. data/app/pb_kits/playbook/pb_gantt_chart/docs/example.yml +0 -7
  241. data/app/pb_kits/playbook/pb_gantt_chart/docs/index.js +0 -1
  242. data/app/pb_kits/playbook/pb_gantt_chart/gantt_chart.test.jsx +0 -19
  243. data/dist/chunks/_typeahead-D8CsVBZO.js +0 -22
  244. data/dist/chunks/_weekday_stacked-D3oLTSkH.js +0 -45
  245. data/dist/chunks/lib-BmTAc7Nc.js +0 -29
  246. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_react.md → _advanced_table_selectable_rows.md} +0 -0
  247. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.html.erb → _advanced_table_selectable_rows_no_subrows_rails.html.erb} +0 -0
  248. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows.html.erb → _advanced_table_selectable_rows_rails.html.erb} +0 -0
  249. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_drop_zones_line.md → _draggable_drop_zones_line_react.md} +0 -0
  250. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_event_listeners.md → _draggable_event_listeners_rails.md} +0 -0
@@ -0,0 +1,31 @@
1
+ <%
2
+ options = [
3
+ { label: 'United States', value: 'United States', id: 'us' },
4
+ { label: 'Canada', value: 'Canada', id: 'ca' },
5
+ { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
6
+ ]
7
+
8
+ %>
9
+
10
+ <%
11
+ options2 = [
12
+ { label: 'India', value: 'India', id: 'in' },
13
+ { label: 'Mexico', value: 'Mexico', id: 'mx' },
14
+ { label: 'Brazil', value: 'Brazil', id: 'br' },
15
+ { label: 'Argentina', value: 'Argentina', id: 'ar' },
16
+ { label: 'Colombia', value: 'Colombia', id: 'co' },
17
+ { label: 'Chile', value: 'Chile', id: 'cl' },
18
+ { label: 'Peru', value: 'Peru', id: 'pe' },
19
+ ]
20
+
21
+ %>
22
+
23
+ <%= pb_rails("dropdown", props: {options: options}) %>
24
+
25
+ <script>
26
+ document.addEventListener("pb:dropdown:selected", (e) => {
27
+ const option = e.detail;
28
+ const dropdown = e.target;
29
+ console.log("Selected option:", option);
30
+ })
31
+ </script>
@@ -0,0 +1,5 @@
1
+ This kit's `options` prop requires an array of objects, each of which will be used as the selectable options within the dropdown. Each option object can support any number of key-value pairs, but each MUST contain `label`, `value` and `id`.
2
+
3
+ The kit also comes with a custom event called "pb:dropdown:selected" which updates dynamically with the selection as it changes. See code snippet to see this in action.
4
+
5
+ In addition, a data attribute called `data-option-selected` with the selection is also rendered on the parent dropdown div.
@@ -1,4 +1,4 @@
1
- <%
1
+ <%
2
2
  options = [
3
3
  { label: 'United States', value: 'United States', id: 'us' },
4
4
  { label: 'Canada', value: 'Canada', id: 'ca' },
@@ -6,4 +6,7 @@
6
6
  ]
7
7
  %>
8
8
 
9
- <%= pb_rails("dropdown", props: { error: "Please make a valid selection", options: options }) %>
9
+ <%= pb_rails("dropdown", props: {
10
+ error: raw(pb_rails("icon", props: { icon: "warning" }) + " Please make a valid selection"),
11
+ options: options
12
+ }) %>
@@ -0,0 +1,56 @@
1
+ import React from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+
4
+ const DropdownMultiSelect = (props) => {
5
+
6
+ const options = [
7
+ {
8
+ label: "United States",
9
+ value: "United States",
10
+ },
11
+ {
12
+ label: "United Kingdom",
13
+ value: "United Kingdom",
14
+ },
15
+ {
16
+ label: "Canada",
17
+ value: "Canada",
18
+ },
19
+ {
20
+ label: "Pakistan",
21
+ value: "Pakistan",
22
+ },
23
+ {
24
+ label: "India",
25
+ value: "India",
26
+ },
27
+ {
28
+ label: "Australia",
29
+ value: "Australia",
30
+ },
31
+ {
32
+ label: "New Zealand",
33
+ value: "New Zealand",
34
+ },
35
+ {
36
+ label: "Italy",
37
+ value: "Italy",
38
+ },
39
+ {
40
+ label: "Spain",
41
+ value: "Spain",
42
+ }
43
+ ];
44
+
45
+ return (
46
+ <div>
47
+ <Dropdown
48
+ multiSelect
49
+ options={options}
50
+ {...props}
51
+ />
52
+ </div>
53
+ )
54
+ }
55
+
56
+ export default DropdownMultiSelect
@@ -0,0 +1,3 @@
1
+ `multiSelect` is a boolean prop that if set to true will allow for multiple options to be selected from the Dropdown.
2
+
3
+ `multiSelect` is set to false by default.
@@ -0,0 +1,58 @@
1
+ import React from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+
4
+ const DropdownMultiSelectDisplay = (props) => {
5
+
6
+ const options = [
7
+ {
8
+ label: "United States",
9
+ value: "United States",
10
+ },
11
+ {
12
+ label: "United Kingdom",
13
+ value: "United Kingdom",
14
+ },
15
+ {
16
+ label: "Canada",
17
+ value: "Canada",
18
+ },
19
+ {
20
+ label: "Pakistan",
21
+ value: "Pakistan",
22
+ },
23
+ {
24
+ label: "India",
25
+ value: "India",
26
+ },
27
+ {
28
+ label: "Australia",
29
+ value: "Australia",
30
+ },
31
+ {
32
+ label: "New Zealand",
33
+ value: "New Zealand",
34
+ },
35
+ {
36
+ label: "Italy",
37
+ value: "Italy",
38
+ },
39
+ {
40
+ label: "Spain",
41
+ value: "Spain",
42
+ }
43
+ ];
44
+
45
+
46
+ return (
47
+ <div>
48
+ <Dropdown
49
+ formPillProps={{size:"small", color:"neutral"}}
50
+ multiSelect
51
+ options={options}
52
+ {...props}
53
+ />
54
+ </div>
55
+ )
56
+ }
57
+
58
+ export default DropdownMultiSelectDisplay
@@ -0,0 +1,3 @@
1
+ By default, the `multiSelect` prop will render selected options as the default FormPill. `FormPillProps` however can be used to customize these Pills with any props that exist for the FormPill.
2
+
3
+ This prop must be an object that contains valid FormPill props. For a full list of FormPill props, see [here](https://playbook.powerapp.cloud/kits/form_pill/react).
@@ -0,0 +1,20 @@
1
+ <%
2
+ options = [
3
+ { label: 'United States', value: 'United States', id: 'us' },
4
+ { label: 'Canada', value: 'Canada', id: 'ca' },
5
+ { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
6
+ { label: 'India', value: 'India', id: 'in' },
7
+ { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
8
+ { label: 'Australia', value: 'Australia', id: 'au' },
9
+ { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
10
+ { label: 'Germany', value: 'Germany', id: 'de' },
11
+ { label: 'France', value: 'France', id: 'fr' },
12
+ { label: 'Italy', value: 'Italy', id: 'it' },
13
+ ]
14
+ %>
15
+
16
+ <%= pb_rails("dropdown", props: {
17
+ options: options,
18
+ multi_select: true,
19
+ form_pill_props: { size:"small", color:"neutral" },
20
+ }) %>
@@ -0,0 +1 @@
1
+ By default, the `multi_select` prop will render selected options as the default form_pill. `form_pill_props` however can be used to customize these Pills with props that exist for the form_pill. Currently, only the '[color](https://playbook.powerapp.cloud/kits/form_pill/rails#form-pill-colors)' and '[size](https://playbook.powerapp.cloud/kits/form_pill/rails#form-pill-size)' props are supported as shown here.
@@ -0,0 +1,19 @@
1
+ <%
2
+ options = [
3
+ { label: 'United States', value: 'United States', id: 'us' },
4
+ { label: 'Canada', value: 'Canada', id: 'ca' },
5
+ { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
6
+ { label: 'India', value: 'India', id: 'in' },
7
+ { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
8
+ { label: 'Australia', value: 'Australia', id: 'au' },
9
+ { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
10
+ { label: 'Germany', value: 'Germany', id: 'de' },
11
+ { label: 'France', value: 'France', id: 'fr' },
12
+ { label: 'Italy', value: 'Italy', id: 'it' },
13
+ ]
14
+ %>
15
+
16
+ <%= pb_rails("dropdown", props: {
17
+ options: options,
18
+ multi_select: true,
19
+ }) %>
@@ -0,0 +1,3 @@
1
+ `multi_select` is a boolean prop that if set to true will allow for multiple options to be selected from the Dropdown.
2
+
3
+ `multi_select` is set to false by default.
@@ -0,0 +1,20 @@
1
+ <%
2
+ options = [
3
+ { label: 'United States', value: 'United States', id: 'us' },
4
+ { label: 'Canada', value: 'Canada', id: 'ca' },
5
+ { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
6
+ { label: 'India', value: 'India', id: 'in' },
7
+ { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
8
+ { label: 'Australia', value: 'Australia', id: 'au' },
9
+ { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
10
+ { label: 'Germany', value: 'Germany', id: 'de' },
11
+ { label: 'France', value: 'France', id: 'fr' },
12
+ { label: 'Italy', value: 'Italy', id: 'it' },
13
+ ]
14
+ %>
15
+
16
+ <%= pb_rails("dropdown", props: {
17
+ autocomplete: true,
18
+ options: options,
19
+ multi_select: true,
20
+ }) %>
@@ -0,0 +1,57 @@
1
+ import React from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+
4
+ const DropdownMultiSelectWithAutocomplete = (props) => {
5
+
6
+ const options = [
7
+ {
8
+ label: "United States",
9
+ value: "United States",
10
+ },
11
+ {
12
+ label: "United Kingdom",
13
+ value: "United Kingdom",
14
+ },
15
+ {
16
+ label: "Canada",
17
+ value: "Canada",
18
+ },
19
+ {
20
+ label: "Pakistan",
21
+ value: "Pakistan",
22
+ },
23
+ {
24
+ label: "India",
25
+ value: "India",
26
+ },
27
+ {
28
+ label: "Australia",
29
+ value: "Australia",
30
+ },
31
+ {
32
+ label: "New Zealand",
33
+ value: "New Zealand",
34
+ },
35
+ {
36
+ label: "Italy",
37
+ value: "Italy",
38
+ },
39
+ {
40
+ label: "Spain",
41
+ value: "Spain",
42
+ }
43
+ ];
44
+
45
+ return (
46
+ <div>
47
+ <Dropdown
48
+ autocomplete
49
+ multiSelect
50
+ options={options}
51
+ {...props}
52
+ />
53
+ </div>
54
+ )
55
+ }
56
+
57
+ export default DropdownMultiSelectWithAutocomplete
@@ -0,0 +1 @@
1
+ `multiSelect` can also be used with the `autocomplete` functionality.
@@ -0,0 +1,50 @@
1
+ <%
2
+ options = [
3
+ {
4
+ label: "United States",
5
+ value: "United States",
6
+ areaCode: "+1",
7
+ icon: "🇺🇸",
8
+ id: "us"
9
+ },
10
+ {
11
+ label: "Canada",
12
+ value: "Canada",
13
+ areaCode: "+1",
14
+ icon: "🇨🇦",
15
+ id: "ca"
16
+ },
17
+ {
18
+ label: "Pakistan",
19
+ value: "Pakistan",
20
+ areaCode: "+92",
21
+ icon: "🇵🇰",
22
+ id: "pk"
23
+ }
24
+ ]
25
+
26
+ %>
27
+
28
+ <%= pb_rails("dropdown", props: { options: options, multi_select: true }) do %>
29
+ <%= pb_rails("dropdown/dropdown_trigger", props:{ multi_select: true }) %>
30
+ <%= pb_rails("dropdown/dropdown_container") do %>
31
+ <% options.each do |option| %>
32
+ <%= pb_rails("dropdown/dropdown_option", props: {option: option}) do %>
33
+ <%= pb_rails("flex", props: {
34
+ align: "center",
35
+ justify: "between",
36
+ }) do %>
37
+ <%= pb_rails("flex/flex_item") do %>
38
+ <%= pb_rails("flex") do %>
39
+ <%= pb_rails("icon", props: {icon: option[:icon]}) %>
40
+ <%= pb_rails("body", props: {text: option[:label], padding_left:"xs"}) %>
41
+ <% end %>
42
+ <% end %>
43
+ <%= pb_rails("flex/flex_item") do %>
44
+ <%= pb_rails("body", props: {color:"light", text: option[:areaCode]}) %>
45
+ <% end %>
46
+ <% end %>
47
+ <% end %>
48
+ <% end %>
49
+ <% end %>
50
+ <% end %>
@@ -0,0 +1,105 @@
1
+ import React from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+ import Body from '../../pb_body/_body'
4
+ import Flex from '../../pb_flex/_flex'
5
+ import FlexItem from '../../pb_flex/_flex_item'
6
+ import Icon from '../../pb_icon/_icon'
7
+
8
+ const DropdownMultiSelectWithCustomOptions = (props) => {
9
+
10
+ const options = [
11
+ {
12
+ label: "United States",
13
+ value: "United States",
14
+ areaCode: "+1",
15
+ icon: "🇺🇸",
16
+ id: "United-states"
17
+ },
18
+ {
19
+ label: "Canada",
20
+ value: "Canada",
21
+ areaCode: "+1",
22
+ icon: "🇨🇦",
23
+ id: "canada"
24
+ },
25
+ {
26
+ label: "Pakistan",
27
+ value: "Pakistan",
28
+ areaCode: "+92",
29
+ icon: "🇵🇰",
30
+ id: "pakistan"
31
+ },
32
+ {
33
+ label: "India",
34
+ value: "India",
35
+ areaCode: "+91",
36
+ icon: "🇮🇳",
37
+ id: "india"
38
+ },
39
+ {
40
+ label: "Australia",
41
+ value: "Australia",
42
+ areaCode: "+61",
43
+ icon: "🇦🇺",
44
+ id: "australia"
45
+ },
46
+ {
47
+ label: "New Zealand",
48
+ value: "New Zealand",
49
+ areaCode: "+64",
50
+ icon: "🇳🇿",
51
+ id: "new-zealand"
52
+ },
53
+ {
54
+ label: "Italy",
55
+ value: "Italy",
56
+ areaCode: "+39",
57
+ icon: "🇮🇹",
58
+ id: "italy"
59
+ },
60
+ {
61
+ label: "Spain",
62
+ value: "Spain",
63
+ areaCode: "+34",
64
+ icon: "🇪🇸",
65
+ id: "spain"
66
+ }
67
+ ];
68
+
69
+ return (
70
+ <div>
71
+ <Dropdown
72
+ multiSelect
73
+ options={options}
74
+ {...props}
75
+ >
76
+ {options.map((option) => (
77
+ <Dropdown.Option key={option.id}
78
+ option={option}
79
+ >
80
+ <Flex
81
+ align="center"
82
+ justify="between"
83
+ >
84
+ <FlexItem>
85
+ <Flex>
86
+ <Icon icon={option.icon}
87
+ paddingRight="xs"
88
+ />
89
+ <Body text={option.label} />
90
+ </Flex>
91
+ </FlexItem>
92
+ <FlexItem>
93
+ <Body color="light"
94
+ text={option.areaCode}
95
+ />
96
+ </FlexItem>
97
+ </Flex>
98
+ </Dropdown.Option>
99
+ ))}
100
+ </Dropdown>
101
+ </div>
102
+ )
103
+ }
104
+
105
+ export default DropdownMultiSelectWithCustomOptions
@@ -0,0 +1,22 @@
1
+ <%
2
+ options = [
3
+ { label: 'United States', value: 'United States', id: 'us' },
4
+ { label: 'Canada', value: 'Canada', id: 'ca' },
5
+ { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
6
+ { label: 'India', value: 'India', id: 'in' },
7
+ { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
8
+ { label: 'Australia', value: 'Australia', id: 'au' },
9
+ { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
10
+ { label: 'Germany', value: 'Germany', id: 'de' },
11
+ { label: 'France', value: 'France', id: 'fr' },
12
+ { label: 'Italy', value: 'Italy', id: 'it' },
13
+ ]
14
+ %>
15
+
16
+ <%
17
+ default_value = [
18
+ { label: 'United States', value: 'United States', id: 'us' },
19
+ { label: 'Canada', value: 'Canada', id: 'ca' },
20
+ ]
21
+ %>
22
+ <%= pb_rails("dropdown", props: {options: options, multi_select: true, default_value: default_value}) %>
@@ -0,0 +1,67 @@
1
+ import React from "react";
2
+ import Dropdown from "../../pb_dropdown/_dropdown";
3
+
4
+ const DropdownMultiSelectWithDefault = (props) => {
5
+ const options = [
6
+ {
7
+ label: "United States",
8
+ value: "United States",
9
+ },
10
+ {
11
+ label: "United Kingdom",
12
+ value: "United Kingdom",
13
+ },
14
+ {
15
+ label: "Canada",
16
+ value: "Canada",
17
+ },
18
+ {
19
+ label: "Pakistan",
20
+ value: "Pakistan",
21
+ },
22
+ {
23
+ label: "India",
24
+ value: "India",
25
+ },
26
+ {
27
+ label: "Australia",
28
+ value: "Australia",
29
+ },
30
+ {
31
+ label: "New Zealand",
32
+ value: "New Zealand",
33
+ },
34
+ {
35
+ label: "Italy",
36
+ value: "Italy",
37
+ },
38
+ {
39
+ label: "Spain",
40
+ value: "Spain",
41
+ },
42
+ ];
43
+
44
+ const defaultSelectedOptions = [
45
+ {
46
+ label: "United States",
47
+ value: "United States",
48
+ },
49
+ {
50
+ label: "Italy",
51
+ value: "Italy",
52
+ },
53
+ ];
54
+
55
+ return (
56
+ <div>
57
+ <Dropdown
58
+ defaultValue={defaultSelectedOptions}
59
+ multiSelect
60
+ options={options}
61
+ {...props}
62
+ />
63
+ </div>
64
+ );
65
+ };
66
+
67
+ export default DropdownMultiSelectWithDefault;
@@ -0,0 +1,28 @@
1
+ <%
2
+ options = [
3
+ {
4
+ label: "United States",
5
+ value: "United States",
6
+ areaCode: "+1",
7
+ icon: "🇺🇸",
8
+ id: "us"
9
+ },
10
+ {
11
+ label: "United Kingdom",
12
+ value: "United Kingdom",
13
+ areaCode: "+44",
14
+ icon: "🇬🇧",
15
+ id: "gb"
16
+ },
17
+ {
18
+ label: "Pakistan",
19
+ value: "Pakistan",
20
+ areaCode: "+92",
21
+ icon: "🇵🇰",
22
+ id: "pk"
23
+ }
24
+ ]
25
+
26
+ %>
27
+
28
+ <%= pb_rails("dropdown", props: {options: options, autocomplete: true}) %>