playbook_ui 14.24.0 → 14.25.0.pre.alpha.PLAY2361datepickerarrownav10273

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 (283) 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 +8 -2
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +1 -2
  5. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +40 -6
  6. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +57 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.html.erb +43 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.jsx +64 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.jsx +60 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.md +3 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.jsx +57 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.md +1 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +4 -0
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +4 -1
  15. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +1 -1
  16. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +1 -1
  17. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +60 -65
  18. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
  19. data/app/pb_kits/playbook/pb_background/_background.scss +3 -3
  20. data/app/pb_kits/playbook/pb_badge/_badge.scss +135 -29
  21. data/app/pb_kits/playbook/pb_body/_body.scss +108 -35
  22. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
  23. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +17 -30
  24. data/app/pb_kits/playbook/pb_button/_button.scss +39 -31
  25. data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
  26. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -1
  27. data/app/pb_kits/playbook/pb_button/button.rb +11 -18
  28. data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
  29. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -73
  30. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +32 -33
  31. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +1 -1
  32. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +2 -2
  33. data/app/pb_kits/playbook/pb_caption/_caption.scss +100 -17
  34. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -8
  35. data/app/pb_kits/playbook/pb_card/_card.scss +116 -79
  36. data/app/pb_kits/playbook/pb_card/_card.tsx +26 -11
  37. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
  38. data/app/pb_kits/playbook/pb_card/card.rb +8 -7
  39. data/app/pb_kits/playbook/pb_card/card_header.rb +6 -2
  40. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
  41. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +11 -2
  42. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +7 -7
  43. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +10 -1
  44. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +2 -0
  45. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
  46. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.html.erb +24 -0
  47. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.md +3 -0
  48. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +1 -0
  49. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
  50. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +4 -4
  51. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +1 -1
  52. data/app/pb_kits/playbook/pb_currency/_currency.scss +124 -39
  53. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
  54. data/app/pb_kits/playbook/pb_date/_date.scss +16 -18
  55. data/app/pb_kits/playbook/pb_date/_date.tsx +5 -3
  56. data/app/pb_kits/playbook/pb_date/date.html.erb +6 -6
  57. data/app/pb_kits/playbook/pb_date/date.rb +2 -0
  58. data/app/pb_kits/playbook/pb_date/date.test.js +506 -0
  59. data/app/pb_kits/playbook/pb_date/docs/_date_with_show_current_year.html.erb +4 -0
  60. data/app/pb_kits/playbook/pb_date/docs/_date_with_show_current_year.jsx +17 -0
  61. data/app/pb_kits/playbook/pb_date/docs/_date_with_show_current_year.md +1 -0
  62. data/app/pb_kits/playbook/pb_date/docs/example.yml +2 -0
  63. data/app/pb_kits/playbook/pb_date/docs/index.js +1 -0
  64. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
  65. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +19 -0
  66. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -0
  67. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +15 -3
  68. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  69. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  70. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +6 -5
  71. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +29 -23
  72. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  73. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  74. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  75. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  76. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
  77. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  78. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +8 -15
  79. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +6 -7
  80. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  81. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  82. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  83. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +330 -123
  84. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  85. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  86. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  87. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  88. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  89. data/app/pb_kits/playbook/pb_dropdown/index.js +6 -3
  90. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  91. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  92. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  93. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  94. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  95. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +3 -4
  96. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.html.erb +22 -0
  97. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.jsx +43 -0
  98. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.md +1 -0
  99. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +3 -2
  100. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +2 -0
  101. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -0
  102. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +2 -1
  103. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +1 -1
  104. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +7 -1
  105. data/app/pb_kits/playbook/pb_flex/_flex.scss +106 -100
  106. data/app/pb_kits/playbook/pb_flex/_flex.tsx +38 -28
  107. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +146 -51
  108. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +19 -8
  109. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +12 -1
  110. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +26 -1
  111. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +11 -0
  112. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +11 -0
  113. data/app/pb_kits/playbook/pb_flex/flex.rb +22 -28
  114. data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
  115. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  116. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  117. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  118. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  119. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  120. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  121. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  122. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  123. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  124. data/app/pb_kits/playbook/pb_icon/_icon.scss +4 -0
  125. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  126. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  127. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  128. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  129. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  130. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  131. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  132. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  133. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  134. data/app/pb_kits/playbook/pb_layout/_layout.scss +336 -305
  135. data/app/pb_kits/playbook/pb_layout/_layout.tsx +14 -11
  136. data/app/pb_kits/playbook/pb_layout/item.rb +1 -7
  137. data/app/pb_kits/playbook/pb_layout/layout.rb +16 -25
  138. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  139. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  140. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  141. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  142. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  143. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  144. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  145. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  146. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  147. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  148. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  149. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  150. data/app/pb_kits/playbook/pb_message/_message.scss +21 -16
  151. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  152. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  153. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  154. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +6 -3
  155. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  156. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  157. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  158. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  159. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  160. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  161. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  162. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  163. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  164. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  165. data/app/pb_kits/playbook/pb_pagination/_pagination.test.jsx +212 -0
  166. data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +8 -1
  167. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control.jsx +112 -0
  168. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control_react.md +3 -0
  169. data/app/pb_kits/playbook/pb_pagination/docs/example.yml +1 -0
  170. data/app/pb_kits/playbook/pb_pagination/docs/index.js +1 -0
  171. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  172. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  173. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  174. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +11 -1
  175. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  176. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +15 -13
  177. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +108 -33
  178. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  179. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  180. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  181. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  182. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  183. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +81 -70
  184. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  185. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  186. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  187. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  188. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  189. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  190. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +17 -8
  191. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  192. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  193. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  194. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +2 -3
  195. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  196. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  197. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  198. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  199. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  200. data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +49 -1
  201. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  202. data/app/pb_kits/playbook/pb_text_input/text_input.rb +15 -0
  203. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  204. data/app/pb_kits/playbook/pb_time/_time.scss +44 -17
  205. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +44 -23
  206. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
  207. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  208. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +16 -10
  209. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -4
  210. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  211. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
  212. data/app/pb_kits/playbook/pb_title/_title.scss +44 -39
  213. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  214. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  215. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  216. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  217. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  218. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  219. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +4 -1
  220. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -4
  221. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  222. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  223. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
  224. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
  225. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +1 -22
  226. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
  227. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
  228. data/app/pb_kits/playbook/pb_user/_user.scss +83 -33
  229. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +14 -7
  230. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  231. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  232. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  233. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  234. data/app/pb_kits/playbook/utilities/_gap.scss +12 -24
  235. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +2 -0
  236. data/app/pb_kits/playbook/utilities/globalProps.ts +28 -4
  237. data/dist/chunks/{_line_graph-BLS62QjW.js → _line_graph-DHO-uYxy.js} +1 -1
  238. data/dist/chunks/_typeahead-_kMvPVfz.js +6 -0
  239. data/dist/chunks/_weekday_stacked-B1esXFeA.js +37 -0
  240. data/dist/chunks/{lib-DgtxnJqa.js → lib-C43ywQsO.js} +2 -2
  241. data/dist/chunks/{pb_form_validation-_NsOWfBS.js → pb_form_validation-Cqj3itLG.js} +1 -1
  242. data/dist/chunks/vendor.js +1 -1
  243. data/dist/menu.yml +2 -8
  244. data/dist/playbook-doc.js +2 -2
  245. data/dist/playbook-rails-react-bindings.js +1 -1
  246. data/dist/playbook-rails.js +1 -1
  247. data/dist/playbook.css +1 -1
  248. data/lib/playbook/classnames.rb +2 -0
  249. data/lib/playbook/spacing.rb +53 -1
  250. data/lib/playbook/version.rb +2 -2
  251. metadata +27 -37
  252. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
  253. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -381
  254. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -231
  255. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
  256. data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
  257. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
  258. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -41
  259. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
  260. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -78
  261. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -3
  262. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -26
  263. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -20
  264. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -59
  265. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
  266. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +0 -61
  267. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +0 -24
  268. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
  269. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -54
  270. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
  271. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
  272. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -99
  273. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -20
  274. data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -7
  275. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -20
  276. data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -56
  277. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -81
  278. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
  279. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
  280. data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
  281. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +0 -9
  282. data/dist/chunks/_typeahead-CZL6rvfn.js +0 -6
  283. data/dist/chunks/_weekday_stacked-Cv8-Sf6X.js +0 -37
@@ -1,54 +0,0 @@
1
- import React, { useState } from "react"
2
-
3
- import Button from '../../pb_button/_button'
4
- import Drawer from '../../pb_drawer/_drawer'
5
- import Flex from '../../pb_flex/_flex'
6
-
7
- const DrawerSizes = () => {
8
- // Individual state variables for each drawer size
9
- const [openedNoOverlayDrawer, setOpenedNoOverlayDrawer] = useState(false)
10
- const [openedOverlayDrawer, setOpenedOverlayDrawer] = useState(false)
11
-
12
- // Toggle functions for each drawer
13
- const toggleNoOverlayDrawer = () =>
14
- setOpenedNoOverlayDrawer(!openedNoOverlayDrawer)
15
- const toggleOverlayDrawer = () => setOpenedOverlayDrawer(!openedOverlayDrawer)
16
-
17
- return (
18
- <>
19
- <Flex wrap>
20
- <Button marginRight='md'
21
- onClick={toggleNoOverlayDrawer}
22
- >
23
- No Overlay Drawer
24
- </Button>
25
- <Button marginRight='md'
26
- onClick={toggleOverlayDrawer}
27
- >
28
- Overlay Drawer
29
- </Button>
30
- </Flex>
31
-
32
- {/* Drawers for each size */}
33
- <Drawer
34
- onClose={toggleNoOverlayDrawer}
35
- opened={openedNoOverlayDrawer}
36
- overlay={false}
37
- placement='right'
38
- size='lg'
39
- >
40
- This is a Drawer with no overlay
41
- </Drawer>
42
- <Drawer
43
- onClose={toggleOverlayDrawer}
44
- opened={openedOverlayDrawer}
45
- placement='right'
46
- size='lg'
47
- >
48
- This is a Drawer with an overlay
49
- </Drawer>
50
- </>
51
- )
52
- }
53
-
54
- export default DrawerSizes
@@ -1 +0,0 @@
1
- Click the button to close the drawer when there is no overlay.
@@ -1,49 +0,0 @@
1
- <%= pb_rails("flex") do %>
2
- <%= pb_rails("button", props: { text: "XS Drawer", margin_right: "sm", data: {"open-drawer": "drawer-5"} }) %>
3
-
4
- <%= pb_rails("drawer", props: {
5
- id:"drawer-5",
6
- size: "xs"
7
- }) do %>
8
- XS
9
- <% end %>
10
-
11
- <%= pb_rails("button", props: { text: "SM Drawer", margin_right: "sm", data: {"open-drawer": "drawer-6"} }) %>
12
-
13
- <%= pb_rails("drawer", props: {
14
- id:"drawer-6",
15
- size: "sm",
16
- placement: "right"
17
- }) do %>
18
- This is a small drawer
19
- <% end %>
20
-
21
- <%= pb_rails("button", props: { text: "MD Drawer", margin_right: "sm", data: {"open-drawer": "drawer-7"} }) %>
22
-
23
- <%= pb_rails("drawer", props: {
24
- id:"drawer-7",
25
- size: "md"
26
- }) do %>
27
- This is a medium drawer
28
- <% end %>
29
-
30
- <%= pb_rails("button", props: { text: "LG Drawer", margin_right: "sm", data: {"open-drawer": "drawer-8"} }) %>
31
-
32
- <%= pb_rails("drawer", props: {
33
- id:"drawer-8",
34
- size: "lg",
35
- placement: "right"
36
- }) do %>
37
- This is a large drawer
38
- <% end %>
39
-
40
- <%= pb_rails("button", props: { text: "XL Drawer", margin_right: "sm", data: {"open-drawer": "drawer-9"} }) %>
41
-
42
- <%= pb_rails("drawer", props: {
43
- id:"drawer-9",
44
- size: "xl"
45
- }) do %>
46
- This is an extra large drawer
47
- <% end %>
48
- <% end %>
49
-
@@ -1,99 +0,0 @@
1
- import React, { useState } from "react";
2
-
3
- import Button from '../../pb_button/_button'
4
- import Drawer from '../../pb_drawer/_drawer'
5
- import Flex from '../../pb_flex/_flex'
6
-
7
- const DrawerSizes = () => {
8
- // Individual state variables for each drawer size
9
- const [openedXsDrawer, setOpenedXsDrawer] = useState(false);
10
- const [openedSmDrawer, setOpenedSmDrawer] = useState(false);
11
- const [openedMdDrawer, setOpenedMdDrawer] = useState(false);
12
- const [openedLgDrawer, setOpenedLgDrawer] = useState(false);
13
- const [openedXlDrawer, setOpenedXlDrawer] = useState(false);
14
-
15
- // Toggle functions for each drawer
16
- const toggleXsDrawer = () => setOpenedXsDrawer(!openedXsDrawer);
17
- const toggleSmDrawer = () => setOpenedSmDrawer(!openedSmDrawer);
18
- const toggleMdDrawer = () => setOpenedMdDrawer(!openedMdDrawer);
19
- const toggleLgDrawer = () => setOpenedLgDrawer(!openedLgDrawer);
20
- const toggleXlDrawer = () => setOpenedXlDrawer(!openedXlDrawer);
21
-
22
- return (
23
- <>
24
- <Flex wrap>
25
- <Button
26
- marginRight="md"
27
- onClick={toggleXsDrawer}
28
- >
29
- XS Drawer
30
- </Button>
31
- <Button marginRight="md"
32
- onClick={toggleSmDrawer}
33
- >
34
- SM Drawer
35
- </Button>
36
- <Button marginRight="md"
37
- onClick={toggleMdDrawer}
38
- >
39
- MD Drawer
40
- </Button>
41
- <Button marginRight="md"
42
- onClick={toggleLgDrawer}
43
- >
44
- LG Drawer
45
- </Button>
46
- <Button marginRight="md"
47
- onClick={toggleXlDrawer}
48
- >
49
- XL Drawer
50
- </Button>
51
- </Flex>
52
-
53
- {/* Drawers for each size */}
54
- <Drawer
55
- onClose={toggleXsDrawer}
56
- opened={openedXsDrawer}
57
- placement="right"
58
- size="xs"
59
- >
60
- XS
61
- </Drawer>
62
-
63
- <Drawer
64
- onClose={toggleSmDrawer}
65
- opened={openedSmDrawer}
66
- size="sm"
67
- >
68
- This is an SM Drawer
69
- </Drawer>
70
-
71
- <Drawer
72
- onClose={toggleMdDrawer}
73
- opened={openedMdDrawer}
74
- placement="right"
75
- >
76
- This is an MD Drawer
77
- </Drawer>
78
-
79
- <Drawer
80
- onClose={toggleLgDrawer}
81
- opened={openedLgDrawer}
82
- size="lg"
83
- >
84
- This is an LG Drawer
85
- </Drawer>
86
-
87
- <Drawer
88
- onClose={toggleXlDrawer}
89
- opened={openedXlDrawer}
90
- placement="right"
91
- size="xl"
92
- >
93
- This is an XL Drawer
94
- </Drawer>
95
- </>
96
- );
97
- };
98
-
99
- export default DrawerSizes;
@@ -1,20 +0,0 @@
1
- examples:
2
-
3
- rails:
4
- - drawer_default: Default
5
- - drawer_behavior: Push Behavior
6
- - drawer_menu: Within Element
7
- - drawer_sizes: Sizes
8
- - drawer_overlay: Overlay
9
- - drawer_breakpoints: Breakpoints
10
- - drawer_borders: Borders
11
-
12
-
13
- react:
14
- - drawer_default: Default
15
- - drawer_behavior: Push Behavior
16
- - drawer_menu: Within Element
17
- - drawer_sizes: Sizes
18
- - drawer_overlay: Overlay
19
- - drawer_breakpoints: Breakpoints
20
- - drawer_borders: Borders
@@ -1,7 +0,0 @@
1
- export { default as DrawerDefault } from './_drawer_default.jsx'
2
- export { default as DrawerSizes } from './_drawer_sizes.jsx'
3
- export { default as DrawerOverlay } from './_drawer_overlay.jsx'
4
- export { default as DrawerBorders } from './_drawer_borders.jsx'
5
- export { default as DrawerBreakpoints } from './_drawer_breakpoints.jsx'
6
- export { default as DrawerMenu } from './_drawer_menu.jsx'
7
- export { default as DrawerBehavior } from './_drawer_behavior.jsx'
@@ -1,20 +0,0 @@
1
- <% if within_element %>
2
- <%= pb_content_tag(:div, data: {breakpoint: object.breakpoint} ) do %>
3
- <%= content %>
4
- <% end %>
5
- <% else %>
6
- <div class="pb_drawer_wrapper"
7
- id="drawer-wrapper-<%= object.id %>"
8
- style="display:none;"
9
- data-behavior="<%= object.behavior %>"
10
- data-size="<%= object.size %>"
11
- data-placement="<%= object.placement %>"
12
- data-breakpoint="<%= object.breakpoint %>"
13
- >
14
- <div class="<%= overlay_classes %>" style="display:none;" id="drawer-overlay-<%= object.id %>">
15
- <%= pb_content_tag do %>
16
- <%= content %>
17
- <% end %>
18
- </div>
19
- </div>
20
- <% end %>
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbDrawer
5
- class Drawer < Playbook::KitBase
6
- prop :size, type: Playbook::Props::Enum,
7
- values: %w[xs sm md lg xl full],
8
- default: "md"
9
- prop :placement, type: Playbook::Props::Enum,
10
- values: %w[left right bottom],
11
- default: "left"
12
- prop :behavior, type: Playbook::Props::Enum,
13
- values: %w[floating push],
14
- default: "floating"
15
- prop :overlay, type: Playbook::Props::Boolean,
16
- default: true
17
- prop :within_element, type: Playbook::Props::Boolean,
18
- default: false
19
- prop :border, type: Playbook::Props::Enum,
20
- values: %w[full none right left],
21
- default: "none"
22
- prop :breakpoint, type: Playbook::Props::Enum,
23
- values: %w[none xs sm md lg xl],
24
- default: "none"
25
-
26
- def classname
27
- generate_classname("pb_drawer pb_drawer_#{size}_#{placement} #{within_class} #{border_classes}")
28
- end
29
-
30
- def border_classes
31
- case border
32
- when "full"
33
- "drawer_border-full"
34
- when "right"
35
- "drawer_border-right"
36
- when "left"
37
- "drawer_border-left"
38
- else
39
- ""
40
- end
41
- end
42
-
43
- def overlay_close
44
- !should_close_on_overlay_click ? "overlay_close" : ""
45
- end
46
-
47
- def within_class
48
- within_element ? "pb_drawer_within_element_rails" : ""
49
- end
50
-
51
- def overlay_classes
52
- "pb_drawer_#{overlay ? '' : 'no_'}overlay drawer_content_#{placement} pb_drawer_overlay_after_open #{overlay ? '' : 'no-background'}"
53
- end
54
- end
55
- end
56
- end
@@ -1,81 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { render, fireEvent, screen } from '../utilities/test-utils';
3
- import { Drawer, Button } from 'playbook-ui';
4
- import { waitFor } from '@testing-library/react';
5
-
6
- const size = 'sm';
7
-
8
- function DrawerTest({ props }) {
9
- const [isOpen, setIsOpen] = useState(false);
10
- const close = () => setIsOpen(false);
11
- const open = () => setIsOpen(true);
12
-
13
- return (
14
- <>
15
- <Button onClick={open}>{'Open Drawer'}</Button>
16
- <Drawer
17
- className="wrapper"
18
- id="drawer-id"
19
- onClose={close}
20
- opened={isOpen}
21
- placement="left"
22
- portalClassName="portal"
23
- size={size}
24
- {...props}
25
- >
26
- {props && props.children}
27
- </Drawer>
28
- </>
29
- );
30
- }
31
-
32
- test('renders with the right border class when border prop is right', async () => {
33
- render(<DrawerTest props={{ border: 'right' }} />);
34
-
35
- fireEvent.click(screen.getByText('Open Drawer'));
36
-
37
- await waitFor(() => expect(document.getElementById('drawer-id')).toBeInTheDocument());
38
-
39
- const container = document.getElementById('drawer-id');
40
- const drawer = container.querySelector('#drawer-id .pb_drawer');
41
-
42
- expect(drawer).toHaveClass('drawer_border-right');
43
- });
44
-
45
- test('renders with the full border class when border prop is full', async () => {
46
- render(<DrawerTest props={{ border: 'full' }} />);
47
-
48
- fireEvent.click(screen.getByText('Open Drawer'));
49
-
50
- await waitFor(() => expect(document.getElementById('drawer-id')).toBeInTheDocument());
51
-
52
- const container = document.getElementById('drawer-id');
53
- const drawer = container.querySelector('#drawer-id .pb_drawer');
54
- expect(drawer).toHaveClass('drawer_border-full');
55
- });
56
-
57
- test('does not have a border class when border prop is none', async () => {
58
- render(<DrawerTest props={{ border: 'none' }} />);
59
-
60
- fireEvent.click(screen.getByText('Open Drawer'));
61
-
62
- await waitFor(() => expect(document.getElementById('drawer-id')).toBeInTheDocument());
63
-
64
- const container = document.getElementById('drawer-id');
65
- const drawer = container.querySelector('#drawer-id .pb_drawer');
66
- expect(drawer).not.toHaveClass('drawer_border-right');
67
- expect(drawer).not.toHaveClass('drawer_border-left');
68
- expect(drawer).not.toHaveClass('drawer_border-full');
69
- });
70
-
71
- test('renders the correct size class for a large drawer', async () => {
72
- render(<DrawerTest props={{ size: 'lg' }} />);
73
-
74
- fireEvent.click(screen.getByText('Open Drawer'));
75
-
76
- await waitFor(() => expect(document.getElementById('drawer-id')).toBeInTheDocument());
77
-
78
- const container = document.getElementById('drawer-id');
79
- const drawer = container.querySelector('#drawer-id .pb_drawer');
80
- expect(drawer).toHaveClass('pb_drawer pb_drawer_lg_left');
81
- });
@@ -1,60 +0,0 @@
1
- import { useState, useEffect } from 'react'
2
-
3
- export const breakpointValues = {
4
- none: 0,
5
- xs: 575,
6
- sm: 768,
7
- md: 992,
8
- lg: 1200,
9
- xl: 1400,
10
- } as const
11
-
12
- type BreakpointSize = keyof typeof breakpointValues
13
-
14
- interface UseBreakpointProps {
15
- breakpoint?: BreakpointSize
16
- triggerId?: string
17
- }
18
-
19
- export const useBreakpoint = ({
20
- breakpoint = 'none',
21
- triggerId
22
- }: UseBreakpointProps) => {
23
- const [isOpenBreakpointOpen, setIsOpenBreakpointOpen] = useState(false)
24
- const [isUserClosed, setIsUserClosed] = useState(false)
25
-
26
- useEffect(() => {
27
- if (breakpoint === 'none') return
28
-
29
- const handleResize = () => {
30
- const width = window.innerWidth
31
-
32
- const openBreakpointWidth = breakpointValues[breakpoint]
33
- if (width >= openBreakpointWidth) {
34
- setIsOpenBreakpointOpen(true)
35
- } else {
36
- setIsOpenBreakpointOpen(false)
37
- setIsUserClosed(false)
38
- }
39
-
40
- // Handle menu button visibility
41
- if (triggerId) {
42
- const menuButton = document.getElementById(triggerId)
43
- if (menuButton) {
44
- menuButton.style.display = isOpenBreakpointOpen ? 'none' : ''
45
- }
46
- }
47
- }
48
-
49
- window.addEventListener('resize', handleResize)
50
- handleResize()
51
-
52
- return () => window.removeEventListener('resize', handleResize)
53
- }, [breakpoint, triggerId, isOpenBreakpointOpen])
54
-
55
- return {
56
- isOpenBreakpointOpen,
57
- isUserClosed,
58
- setIsUserClosed
59
- }
60
- }
@@ -1,21 +0,0 @@
1
- import { useState, useEffect } from 'react'
2
-
3
- export const useDrawerAnimation = (isOpen: boolean) => {
4
- const [animationState, setAnimationState] = useState('')
5
-
6
- useEffect(() => {
7
- if (isOpen) {
8
- setAnimationState('afterOpen')
9
- } else if (!isOpen && animationState === 'afterOpen') {
10
- setAnimationState('beforeClose')
11
- setTimeout(() => {
12
- setAnimationState('')
13
- }, 200)
14
- }
15
- }, [isOpen])
16
-
17
- return {
18
- animationState,
19
- isVisible: isOpen || animationState === 'beforeClose'
20
- }
21
- }