playbook_ui 14.25.0.pre.alpha.testingcss10239 → 14.25.0.pre.rc.0

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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +2 -8
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +2 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +6 -6
  6. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -57
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -3
  9. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +65 -60
  10. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
  11. data/app/pb_kits/playbook/pb_background/_background.scss +3 -3
  12. data/app/pb_kits/playbook/pb_badge/_badge.scss +29 -135
  13. data/app/pb_kits/playbook/pb_body/_body.scss +35 -108
  14. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
  15. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +30 -17
  16. data/app/pb_kits/playbook/pb_button/_button.scss +31 -39
  17. data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
  18. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -1
  19. data/app/pb_kits/playbook/pb_button/button.rb +18 -11
  20. data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
  21. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +73 -82
  22. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +33 -32
  23. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +1 -1
  24. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +2 -2
  25. data/app/pb_kits/playbook/pb_caption/_caption.scss +17 -100
  26. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +8 -1
  27. data/app/pb_kits/playbook/pb_card/_card.scss +79 -116
  28. data/app/pb_kits/playbook/pb_card/_card.tsx +11 -26
  29. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
  30. data/app/pb_kits/playbook/pb_card/card.rb +7 -8
  31. data/app/pb_kits/playbook/pb_card/card_header.rb +2 -6
  32. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
  33. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +2 -11
  34. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +7 -7
  35. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +1 -10
  36. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +0 -2
  37. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
  38. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +0 -1
  39. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
  40. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +4 -4
  41. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +1 -1
  42. data/app/pb_kits/playbook/pb_currency/_currency.scss +39 -124
  43. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +6 -16
  44. data/app/pb_kits/playbook/pb_date/_date.scss +18 -16
  45. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
  46. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +0 -19
  47. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +0 -1
  48. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  49. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  50. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +5 -6
  51. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +23 -29
  52. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  53. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  54. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  55. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +26 -66
  56. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
  57. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  58. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +15 -8
  59. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +7 -6
  60. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +14 -17
  61. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  62. data/app/pb_kits/playbook/pb_detail/_detail.scss +21 -86
  63. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +123 -330
  64. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +2 -16
  65. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +7 -10
  66. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  67. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +25 -0
  68. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +381 -0
  69. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +231 -0
  70. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +3 -0
  71. data/app/pb_kits/playbook/pb_drawer/context.ts +11 -0
  72. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +8 -0
  73. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +41 -0
  74. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +33 -0
  75. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +78 -0
  76. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
  77. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +26 -0
  78. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +20 -0
  79. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +59 -0
  80. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +24 -0
  81. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +61 -0
  82. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +24 -0
  83. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +21 -0
  84. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +54 -0
  85. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +1 -0
  86. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +49 -0
  87. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +99 -0
  88. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +20 -0
  89. data/app/pb_kits/playbook/pb_drawer/docs/index.js +7 -0
  90. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +20 -0
  91. data/app/pb_kits/playbook/pb_drawer/drawer.rb +56 -0
  92. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +81 -0
  93. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +60 -0
  94. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +21 -0
  95. data/app/pb_kits/playbook/pb_drawer/index.js +257 -0
  96. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  97. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  98. data/app/pb_kits/playbook/pb_dropdown/index.js +3 -6
  99. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  100. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +9 -20
  101. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  102. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  103. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +29 -65
  104. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +4 -3
  105. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +2 -3
  106. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -2
  107. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +0 -1
  108. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +1 -2
  109. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +1 -1
  110. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -7
  111. data/app/pb_kits/playbook/pb_flex/_flex.scss +100 -106
  112. data/app/pb_kits/playbook/pb_flex/_flex.tsx +28 -38
  113. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +51 -146
  114. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +8 -19
  115. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +1 -12
  116. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +1 -26
  117. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +9 -0
  118. data/app/pb_kits/playbook/pb_flex/flex.rb +28 -22
  119. data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
  120. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  121. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +344 -381
  122. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  123. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +7 -8
  124. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +2 -9
  125. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  126. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  127. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  128. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  129. data/app/pb_kits/playbook/pb_icon/_icon.scss +0 -4
  130. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  131. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +39 -40
  132. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  133. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  134. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +15 -16
  135. data/app/pb_kits/playbook/pb_image/_image.scss +36 -41
  136. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  137. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +2 -3
  138. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  139. data/app/pb_kits/playbook/pb_layout/_layout.scss +305 -336
  140. data/app/pb_kits/playbook/pb_layout/_layout.tsx +11 -14
  141. data/app/pb_kits/playbook/pb_layout/item.rb +7 -1
  142. data/app/pb_kits/playbook/pb_layout/layout.rb +25 -16
  143. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  144. data/app/pb_kits/playbook/pb_legend/_legend.scss +16 -66
  145. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  146. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  147. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  148. data/app/pb_kits/playbook/pb_link/_link.scss +19 -113
  149. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  150. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +11 -13
  151. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  152. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  153. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  154. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  155. data/app/pb_kits/playbook/pb_message/_message.scss +16 -21
  156. data/app/pb_kits/playbook/pb_message/_message.tsx +0 -1
  157. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +12 -5
  158. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  159. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +3 -6
  160. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +15 -16
  161. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  162. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  163. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  164. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +15 -19
  165. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  166. data/app/pb_kits/playbook/pb_online_status/online_status.rb +4 -5
  167. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  168. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  169. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  170. data/app/pb_kits/playbook/pb_pagination/_pagination.tsx +1 -8
  171. data/app/pb_kits/playbook/pb_pagination/docs/example.yml +0 -1
  172. data/app/pb_kits/playbook/pb_pagination/docs/index.js +0 -1
  173. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +2 -5
  174. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  175. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  176. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +1 -11
  177. data/app/pb_kits/playbook/pb_pill/_pill.scss +21 -23
  178. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +13 -15
  179. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +33 -108
  180. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  181. data/app/pb_kits/playbook/pb_radio/_radio.scss +52 -71
  182. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  183. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +3 -0
  184. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  185. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +70 -81
  186. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +1 -9
  187. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  188. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +1 -3
  189. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +1 -7
  190. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  191. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +2 -6
  192. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +8 -17
  193. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +29 -39
  194. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +0 -2
  195. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +11 -8
  196. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +3 -2
  197. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  198. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  199. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  200. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  201. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  202. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  203. data/app/pb_kits/playbook/pb_text_input/text_input.rb +0 -15
  204. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  205. data/app/pb_kits/playbook/pb_time/_time.scss +17 -44
  206. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +23 -44
  207. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
  208. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +8 -5
  209. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +10 -16
  210. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +4 -1
  211. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  212. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
  213. data/app/pb_kits/playbook/pb_title/_title.scss +39 -44
  214. data/app/pb_kits/playbook/pb_title/_title.tsx +8 -17
  215. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  216. data/app/pb_kits/playbook/pb_title/title.rb +10 -20
  217. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  218. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +8 -19
  219. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +11 -10
  220. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +1 -4
  221. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +4 -3
  222. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  223. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  224. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
  225. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
  226. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +22 -1
  227. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
  228. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
  229. data/app/pb_kits/playbook/pb_user/_user.scss +33 -83
  230. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +7 -14
  231. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  232. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +8 -23
  233. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  234. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  235. data/app/pb_kits/playbook/utilities/_gap.scss +24 -12
  236. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +0 -2
  237. data/app/pb_kits/playbook/utilities/globalProps.ts +4 -28
  238. data/dist/chunks/{_line_graph-CApw7aQD.js → _line_graph-D7DgMqnT.js} +1 -1
  239. data/dist/chunks/_typeahead-BzYZCpJO.js +6 -0
  240. data/dist/chunks/_weekday_stacked-CJIFKKe7.js +37 -0
  241. data/dist/chunks/vendor.js +1 -1
  242. data/dist/menu.yml +7 -1
  243. data/dist/playbook-doc.js +2 -2
  244. data/dist/playbook-rails-react-bindings.js +1 -1
  245. data/dist/playbook-rails.js +1 -1
  246. data/dist/playbook.css +1 -1
  247. data/lib/playbook/classnames.rb +0 -2
  248. data/lib/playbook/spacing.rb +1 -53
  249. data/lib/playbook/version.rb +2 -2
  250. metadata +35 -20
  251. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.jsx +0 -60
  252. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.md +0 -3
  253. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.jsx +0 -57
  254. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.md +0 -1
  255. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.html.erb +0 -24
  256. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.md +0 -3
  257. data/app/pb_kits/playbook/pb_date/date.test.js +0 -506
  258. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.html.erb +0 -22
  259. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.jsx +0 -43
  260. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.md +0 -1
  261. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +0 -11
  262. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +0 -11
  263. data/app/pb_kits/playbook/pb_pagination/_pagination.test.jsx +0 -212
  264. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control.jsx +0 -112
  265. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control_react.md +0 -3
  266. data/dist/chunks/_typeahead-J1_avqdO.js +0 -6
  267. data/dist/chunks/_weekday_stacked-C3QAjEFv.js +0 -37
@@ -1,212 +0,0 @@
1
- import React from 'react'
2
- import { ensureAccessible, renderKit, render, fireEvent, screen } from '../utilities/test-utils'
3
- import Pagination from './_pagination'
4
-
5
- const defaultProps = {
6
- data: { testid: 'pagination-test' },
7
- total: 10,
8
- current: 1,
9
- range: 5,
10
- }
11
-
12
- describe('Pagination Component', () => {
13
- test('returns namespaced class name', () => {
14
- const kit = renderKit(Pagination, defaultProps)
15
- expect(kit).toBeInTheDocument()
16
- expect(kit).toHaveClass('pb_paginate')
17
- })
18
-
19
- it("should be accessible", async () => {
20
- ensureAccessible(Pagination, defaultProps)
21
- })
22
-
23
- test('renders with default props', () => {
24
- render(<Pagination {...defaultProps} />)
25
-
26
- const pagination = screen.getByTestId('pagination-test')
27
- expect(pagination).toBeInTheDocument()
28
- expect(pagination).toHaveClass('pb_paginate')
29
- })
30
-
31
- test('renders pagination buttons correctly', () => {
32
- render(<Pagination {...defaultProps} />)
33
-
34
- expect(screen.getByText('1')).toBeInTheDocument()
35
- expect(screen.getByText('2')).toBeInTheDocument()
36
- expect(screen.getByText('3')).toBeInTheDocument()
37
- expect(screen.getByText('4')).toBeInTheDocument()
38
- expect(screen.getByText('5')).toBeInTheDocument()
39
-
40
- // Check for navigation arrows by looking for the li elements with specific classes
41
- const leftArrow = document.querySelector('.pagination-left')
42
- const rightArrow = document.querySelector('.pagination-right')
43
- expect(leftArrow).toBeInTheDocument()
44
- expect(rightArrow).toBeInTheDocument()
45
- })
46
-
47
- test('highlights current page as active', () => {
48
- render(<Pagination {...defaultProps}
49
- current={3}
50
- />)
51
-
52
- const activePage = screen.getByText('3')
53
- expect(activePage).toHaveClass('active')
54
- })
55
-
56
- test('calls onChange when page is clicked', () => {
57
- const mockOnChange = jest.fn()
58
- render(<Pagination {...defaultProps}
59
- onChange={mockOnChange}
60
- />)
61
-
62
- const pageButton = screen.getByText('3')
63
- fireEvent.click(pageButton)
64
-
65
- expect(mockOnChange).toHaveBeenCalledWith(3)
66
- })
67
-
68
- test('disables left arrow on first page', () => {
69
- render(<Pagination {...defaultProps}
70
- current={1}
71
- />)
72
-
73
- const leftArrow = document.querySelector('.pagination-left')
74
- expect(leftArrow).toHaveClass('disabled')
75
- })
76
-
77
- test('disables right arrow on last page', () => {
78
- render(<Pagination {...defaultProps}
79
- current={10}
80
- />)
81
-
82
- const rightArrow = document.querySelector('.pagination-right')
83
- expect(rightArrow).toHaveClass('disabled')
84
- })
85
-
86
- test('does not render when total is 1 or less', () => {
87
- const { container } = render(<Pagination {...defaultProps}
88
- total={1}
89
- />)
90
-
91
- expect(container.firstChild).toBeNull()
92
- })
93
-
94
- test('renders with custom className', () => {
95
- render(<Pagination {...defaultProps}
96
- className="custom-class"
97
- />)
98
-
99
- const pagination = screen.getByTestId('pagination-test')
100
- expect(pagination).toHaveClass('custom-class')
101
- })
102
-
103
- test('renders with custom id', () => {
104
- render(<Pagination {...defaultProps}
105
- id="custom-id"
106
- />)
107
-
108
- const pagination = screen.getByTestId('pagination-test')
109
- expect(pagination).toHaveAttribute('id', 'custom-id')
110
- })
111
-
112
- test('renders with custom range', () => {
113
- render(<Pagination {...defaultProps}
114
- range={3}
115
- />)
116
-
117
- expect(screen.getByText('1')).toBeInTheDocument()
118
- expect(screen.getByText('2')).toBeInTheDocument()
119
- expect(screen.getByText('3')).toBeInTheDocument()
120
- expect(screen.getByText('9')).toBeInTheDocument()
121
- expect(screen.getByText('10')).toBeInTheDocument()
122
- })
123
-
124
- test('handles large number of pages correctly', () => {
125
- render(<Pagination {...defaultProps}
126
- current={50}
127
- range={5}
128
- total={100}
129
- />)
130
-
131
- const pagination = screen.getByTestId('pagination-test')
132
- expect(pagination).toBeInTheDocument()
133
- expect(pagination).toHaveClass('pb_paginate')
134
-
135
-
136
- expect(screen.getByText('48')).toBeInTheDocument()
137
- expect(screen.getByText('49')).toBeInTheDocument()
138
- expect(screen.getByText('50')).toBeInTheDocument()
139
- expect(screen.getByText('51')).toBeInTheDocument()
140
- expect(screen.getByText('52')).toBeInTheDocument()
141
- })
142
-
143
- test('syncs with external current prop changes', () => {
144
- const { rerender } = render(<Pagination {...defaultProps}
145
- current={1}
146
- />)
147
-
148
- expect(screen.getByText('1')).toHaveClass('active')
149
-
150
- rerender(<Pagination {...defaultProps}
151
- current={3}
152
- />)
153
-
154
- expect(screen.getByText('3')).toHaveClass('active')
155
- expect(screen.getByText('1')).not.toHaveClass('active')
156
- })
157
-
158
- test('validates current prop is within valid range', () => {
159
- const { rerender } = render(<Pagination {...defaultProps}
160
- current={1}
161
- />)
162
-
163
- rerender(<Pagination {...defaultProps}
164
- current={0}
165
- />)
166
-
167
- expect(screen.getByText('1')).toHaveClass('active')
168
-
169
- rerender(<Pagination {...defaultProps}
170
- current={15}
171
- />)
172
-
173
- expect(screen.getByText('1')).toHaveClass('active')
174
- })
175
-
176
- test('handles htmlOptions props', () => {
177
- const htmlOptions = { 'data-test': 'test-value' }
178
- render(<Pagination {...defaultProps}
179
- htmlOptions={htmlOptions}
180
- />)
181
-
182
- const pagination = screen.getByTestId('pagination-test')
183
- expect(pagination).toHaveAttribute('data-test', 'test-value')
184
- })
185
-
186
- test('renders first and last page buttons when range is small', () => {
187
- render(<Pagination {...defaultProps}
188
- current={10}
189
- range={3}
190
- total={20}
191
- />)
192
-
193
- expect(screen.getByText('1')).toBeInTheDocument()
194
- expect(screen.getByText('20')).toBeInTheDocument()
195
-
196
- expect(screen.getByText('9')).toBeInTheDocument()
197
- expect(screen.getByText('10')).toBeInTheDocument()
198
- expect(screen.getByText('11')).toBeInTheDocument()
199
- })
200
-
201
- test('renders second and second-to-last page buttons when needed', () => {
202
- render(<Pagination {...defaultProps}
203
- current={10}
204
- range={3}
205
- total={20}
206
- />)
207
-
208
- expect(screen.getByText('2')).toBeInTheDocument()
209
-
210
- expect(screen.getByText('19')).toBeInTheDocument()
211
- })
212
- })
@@ -1,112 +0,0 @@
1
- import React, { useState } from "react";
2
- import Flex from '../../pb_flex/_flex'
3
- import Pagination from '../../pb_pagination/_pagination'
4
- import Select from '../../pb_select/_select'
5
- import Table from '../../pb_table/_table'
6
-
7
- import { data } from "./data";
8
-
9
- const PaginationExternalControl = (props) => {
10
- const [totalItems, setTotalItems] = useState(20);
11
- const [itemsPerPage, setItemsPerPage] = useState(5);
12
- const [currentPage, setCurrentPage] = useState(1);
13
-
14
- const totalPages = Math.ceil(totalItems / itemsPerPage);
15
-
16
- const handlePageChange = (page) => {
17
- setCurrentPage(page);
18
- };
19
-
20
- const limitedData = data.slice(0, totalItems);
21
- const startIndex = (currentPage - 1) * itemsPerPage;
22
- const paginatedItems = limitedData.slice(startIndex, startIndex + itemsPerPage);
23
-
24
- const handleTotalItemsChange = (event) => {
25
- const value = Number(event.target.value);
26
- setTotalItems(value);
27
- setCurrentPage(1);
28
- };
29
-
30
- const handleItemsPerPageChange = (event) => {
31
- const value = Number(event.target.value);
32
- setItemsPerPage(value);
33
- setCurrentPage(1);
34
- };
35
-
36
- return (
37
- <>
38
- <Flex gap="sm">
39
- <Select
40
- label="Total Items"
41
- onChange={handleTotalItemsChange}
42
- options={[
43
- { value: "5", text: "5" },
44
- { value: "10", text: "10" },
45
- { value: "20", text: "20" }
46
- ]}
47
- size="sm"
48
- value={String(totalItems)}
49
- {...props}
50
- />
51
-
52
- <Select
53
- label="Items per Page"
54
- onChange={handleItemsPerPageChange}
55
- options={[
56
- { value: "3", text: "3" },
57
- { value: "5", text: "5" },
58
- { value: "10", text: "10" }
59
- ]}
60
- size="sm"
61
- value={String(itemsPerPage)}
62
- {...props}
63
- />
64
- </Flex>
65
-
66
- <Pagination
67
- current={currentPage}
68
- key={`pagination-top-${currentPage}`}
69
- marginBottom="xs"
70
- onChange={handlePageChange}
71
- range={5}
72
- total={totalPages}
73
- {...props}
74
- />
75
- <Table
76
- marginBottom="xs"
77
- responsive="none"
78
- size="sm"
79
- {...props}
80
- >
81
- <Table.Head>
82
- <Table.Row>
83
- <Table.Header>{"Column 1"}</Table.Header>
84
- <Table.Header>{"Column 2"}</Table.Header>
85
- <Table.Header>{"Column 3"}</Table.Header>
86
- <Table.Header>{"Column 4"}</Table.Header>
87
- <Table.Header>{"Column 5"}</Table.Header>
88
- </Table.Row>
89
- </Table.Head>
90
- <Table.Body>
91
- {paginatedItems.map((row, index) => (
92
- <Table.Row key={index}>
93
- {row.map((cell, cellIndex) => (
94
- <Table.Cell key={cellIndex}>{cell}</Table.Cell>
95
- ))}
96
- </Table.Row>
97
- ))}
98
- </Table.Body>
99
- </Table>
100
- <Pagination
101
- current={currentPage}
102
- key={`pagination-bottom-${currentPage}`}
103
- onChange={handlePageChange}
104
- range={5}
105
- total={totalPages}
106
- {...props}
107
- />
108
- </>
109
- )
110
- }
111
-
112
- export default PaginationExternalControl
@@ -1,3 +0,0 @@
1
- The Pagination component supports external control of the current page. This allows for programmatically reseting or changing the current page when filters or other criteria change, without needing to unmount and remount the component.
2
-
3
- In this example, changing the "Total Items" or "Items per Page" dropdowns will automatically reset the pagination to page 1, demonstrating how external control works. The pagination component will update its internal state to reflect the new `current` prop value.