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
@@ -5,7 +5,7 @@ import { get } from '../utilities/object'
5
5
 
6
6
  import classnames from 'classnames'
7
7
 
8
- import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
8
+ import { buildAriaProps, buildDataProps, buildHtmlProps } from '../utilities/props'
9
9
  import { GlobalProps, globalProps, globalInlineProps } from '../utilities/globalProps'
10
10
  import type { ProductColors, CategoryColors, BackgroundColors, StatusColors } from '../types/colors'
11
11
 
@@ -54,7 +54,14 @@ type CardBodyProps = {
54
54
  // Header component
55
55
  const Header = (props: CardHeaderProps) => {
56
56
  const { children, className, headerColor = 'category_1', headerColorStriped = false } = props
57
- const headerCSS = buildCss('pb_card_header_kit', `${headerColor}`, headerColorStriped ? 'striped' : '')
57
+ const headerColorCSS = `pb_card_header_kit_${headerColor}`
58
+ const headerStripedCSS = headerColorStriped ? `pb_card_header_kit_${headerColor}_striped` : ''
59
+
60
+ const headerCSS = classnames(
61
+ 'pb_card_header_kit',
62
+ headerColorCSS,
63
+ headerStripedCSS
64
+ )
58
65
 
59
66
  const headerSpacing = globalProps(props)
60
67
 
@@ -69,11 +76,10 @@ const Header = (props: CardHeaderProps) => {
69
76
  // Body component
70
77
  const Body = (props: CardBodyProps) => {
71
78
  const { children, className } = props
72
- const bodyCSS = buildCss('pb_card_body_kit')
73
79
  const bodySpacing = globalProps(props)
74
80
 
75
81
  return (
76
- <div className={classnames(bodyCSS, bodySpacing, className)}>
82
+ <div className={classnames('pb_card_body_kit', bodySpacing, className)}>
77
83
  {children}
78
84
  </div>
79
85
  )
@@ -96,13 +102,22 @@ const Card = (props: CardPropTypes): React.ReactElement => {
96
102
  selected = false,
97
103
  tag = 'div',
98
104
  } = props
99
- const borderCSS = borderNone == true ? 'border_none' : ''
100
- const selectedCSS = selected == true ? 'selected' : 'deselected'
101
- const backgroundCSS = background == 'none' ? '' : `background_${background}`
102
- const cardCss = buildCss('pb_card_kit', selectedCSS, borderCSS, `border_radius_${borderRadius}`, backgroundCSS, {
103
- [`highlight_${highlight.position}`]: highlight.position,
104
- [`highlight_${highlight.color}`]: highlight.color,
105
- })
105
+ const borderCSS = borderNone == true ? 'pb_card_kit_border_none' : ''
106
+ const selectedCSS = selected == true ? 'pb_card_kit_selected' : ''
107
+ const backgroundCSS = background == 'none' ? '' : `pb_card_kit_background_${background}`
108
+ const borderRadiusCSS = borderRadius !== 'md' ? `pb_card_kit_border_radius_${borderRadius}` : ''
109
+ const highlightPositionCSS = highlight.position ? `pb_card_kit_highlight_${highlight.position}` : ''
110
+ const highlightColorCSS = highlight.color ? `pb_card_kit_highlight_${highlight.color}` : ''
111
+
112
+ const cardCss = classnames(
113
+ 'pb_card_kit', // Base class
114
+ selectedCSS,
115
+ borderCSS,
116
+ borderRadiusCSS,
117
+ backgroundCSS,
118
+ highlightPositionCSS,
119
+ highlightColorCSS
120
+ )
106
121
  const ariaProps: {[key: string]: string} = buildAriaProps(aria)
107
122
  const dataProps: {[key: string]: string} = buildDataProps(data)
108
123
  const htmlProps = buildHtmlProps(htmlOptions);
@@ -89,4 +89,4 @@ $pb_card_header_colors: map-merge(map-merge(map-merge($product_colors, $addition
89
89
 
90
90
  @mixin pb_card_header_color($header_color) {
91
91
  background: $header_color;
92
- }
92
+ }
@@ -29,13 +29,14 @@ module Playbook
29
29
  default: nil
30
30
 
31
31
  def classname
32
- generate_classname("pb_card_kit",
33
- selected_class,
34
- border_class,
35
- border_radius_class,
36
- background_class,
37
- highlight_position_class,
38
- highlight_color_class)
32
+ classes = ["pb_card_kit"]
33
+ classes << "pb_card_kit_selected" if selected
34
+ classes << "pb_card_kit_border_none" if border_none
35
+ classes << "pb_card_kit_border_radius_#{border_radius}" if border_radius != "md"
36
+ classes << "pb_card_kit_background_#{background}" if background != "none"
37
+ classes << "pb_card_kit_highlight_#{highlight[:position]}" if highlight[:position].present?
38
+ classes << "pb_card_kit_highlight_#{highlight[:color]}" if highlight[:color].present?
39
+ generate_classname(classes.compact.join(" "))
39
40
  end
40
41
 
41
42
  private
@@ -9,13 +9,17 @@ module Playbook
9
9
  default: false
10
10
 
11
11
  def classname
12
- generate_classname("pb_card_header_kit", header_color, color_striped_classname)
12
+ generate_classname("pb_card_header_kit", header_color_classname, color_striped_classname, separator: " ")
13
13
  end
14
14
 
15
15
  private
16
16
 
17
17
  def color_striped_classname
18
- header_color_striped ? "striped" : nil
18
+ header_color_striped ? "pb_card_header_kit_#{header_color}_striped" : nil
19
+ end
20
+
21
+ def header_color_classname
22
+ header_color ? "pb_card_header_kit_#{header_color}" : nil
19
23
  end
20
24
  end
21
25
  end
@@ -50,7 +50,7 @@
50
50
  <% end %>
51
51
 
52
52
  <%= pb_rails("card", props: { padding: "none", header: true, margin_bottom: "sm"}) do %>
53
- <%= pb_rails("card/card_header", props: { padding: "sm", header_color: "bg_dark" }) do %>
53
+ <%= pb_rails("card/card_header", props: { padding: "sm", header_color: "dark" }) do %>
54
54
  <%= pb_rails("body", props: { text: "Dark", dark: true }) %>
55
55
  <% end %>
56
56
  <%= pb_rails("card/card_body", props: { padding: "md" }) do %>
@@ -3,7 +3,16 @@
3
3
  @import "../tokens/positioning";
4
4
  $transition: $transition_cubic;
5
5
 
6
- [class^=pb_checkbox_kit] {
6
+ .pb_checkbox_kit,
7
+ .pb_checkbox_kit_on,
8
+ .pb_checkbox_kit_off,
9
+ .pb_checkbox_kit_checked,
10
+ .pb_checkbox_kit_error,
11
+ .pb_checkbox_kit_indeterminate,
12
+ .pb_checkbox_kit_checked_error,
13
+ .pb_checkbox_kit_checked_indeterminate,
14
+ .pb_checkbox_kit_error_indeterminate,
15
+ .pb_checkbox_kit_checked_error_indeterminate {
7
16
  cursor: pointer;
8
17
  display: inline-flex;
9
18
  vertical-align: middle;
@@ -159,4 +168,4 @@ $transition: $transition_cubic;
159
168
  border-color: $error;
160
169
  }
161
170
  }
162
- }
171
+ }
@@ -37,25 +37,25 @@ $pb_button_styles: (
37
37
  }
38
38
  }
39
39
 
40
- [class^=pb_circle_icon_button_kit] {
40
+ .pb_circle_icon_button_kit {
41
41
  @each $style in $pb_button_styles {
42
- [class^=pb_button_kit][class*=_#{$style}] {
42
+ .pb_button_kit.pb_button_#{$style} {
43
43
  @include pb_circle_icon_button;
44
44
  }
45
45
  }
46
46
  :first-child {
47
- &[class*=_link] {
47
+ &.pb_button_kit.pb_button_link {
48
48
  @include pb_circle_icon_button_active;
49
49
  }
50
- &.dark {
51
- &[class*=_link] {
50
+ &.dark {
51
+ &.pb_button_kit.pb_button_link {
52
52
  @include pb_circle_icon_button_active_dark;
53
53
  }
54
54
  }
55
55
  }
56
56
  &.size_small {
57
57
  @each $style in $pb_button_styles {
58
- [class^=pb_button_kit][class*=_#{$style}] {
58
+ .pb_button_kit.pb_button_#{$style} {
59
59
  width: 20px;
60
60
  height: 20px;
61
61
  min-height: 20px;
@@ -91,4 +91,4 @@ $pb_button_styles: (
91
91
  }
92
92
  }
93
93
  }
94
- }
94
+ }
@@ -1,5 +1,14 @@
1
1
  <%= pb_content_tag do %>
2
- <%= pb_rails("button", props: {type: object.type, loading: object.loading, link: object.link, new_window:object.new_window, variant: object.variant, target: object.target, disabled: object.disabled, dark: object.dark}) do %>
2
+ <%= pb_rails("button", props: {
3
+ type: object.type,
4
+ loading: object.loading,
5
+ link: object.link,
6
+ new_window: object.new_window,
7
+ variant: object.variant,
8
+ target: object.target,
9
+ disabled: object.disabled,
10
+ dark: object.dark
11
+ }.merge(object.input_options)) do %>
3
12
  <%= pb_rails("icon", props: {icon: object.icon, fixed_width: true, dark: object.dark}) %>
4
13
  <% end %>
5
14
  <% end %>
@@ -21,6 +21,8 @@ module Playbook
21
21
  prop :size, type: Playbook::Props::Enum,
22
22
  values: %w[default sm],
23
23
  default: "default"
24
+ prop :input_options, type: Playbook::Props::HashProp,
25
+ default: {}
24
26
 
25
27
  def classname
26
28
  generate_classname("pb_circle_icon_button_kit") + size_class
@@ -26,7 +26,7 @@ test('passes loading prop to button', () => {
26
26
  )
27
27
 
28
28
  const kit = screen.getByTestId('loading-test')
29
- const button = kit.querySelector('.pb_button_kit_primary_inline_enabled_loading')
29
+ const button = kit.querySelector('.pb_button_kit.pb_button_primary.pb_button_inline.pb_button_enabled.pb_button_loading')
30
30
 
31
31
  expect(button).toBeInTheDocument()
32
32
  })
@@ -0,0 +1,24 @@
1
+ <%= pb_rails("circle_icon_button", props: {
2
+ icon: "plus",
3
+ input_options: {
4
+ data: { "test-id": "add-button", remote: true },
5
+ }
6
+ }) %>
7
+ <br/>
8
+ <%= pb_rails("circle_icon_button", props: {
9
+ icon: "pen",
10
+ variant: "secondary",
11
+ input_options: {
12
+ data: { "test-id": "edit-button" },
13
+ classname: "custom-secondary-button-class"
14
+ }
15
+ }) %>
16
+ <br/>
17
+ <%= pb_rails("circle_icon_button", props: {
18
+ icon: "user",
19
+ variant: "link",
20
+ input_options: {
21
+ data: { "test-id": "user-button" },
22
+ id: "user-button-id"
23
+ }
24
+ }) %>
@@ -0,0 +1,3 @@
1
+ Use the `input_options` prop to pass additional attributes directly to the internal Playbook Button component. While the wrapper div has access to the standard `data` prop from KitBase, `input_options` allows you to attach attributes specifically to the internal button element.
2
+
3
+ This is particularly useful when you need data attributes or other HTML attributes to apply to the button itself.
@@ -5,6 +5,7 @@ examples:
5
5
  - circle_icon_button_link: Link
6
6
  - circle_icon_button_loading: Loading
7
7
  - circle_icon_button_size: Size
8
+ - circle_icon_button_input_options: Input Options
8
9
 
9
10
  react:
10
11
  - circle_icon_button_default: Default
@@ -11,7 +11,7 @@ exports[`html structure is correct 1`] = `
11
11
  >
12
12
  <div>
13
13
  <div
14
- class="pb_flex_kit_orientation_row_justify_content_left_align_items_center_spacing_between"
14
+ class="pb_flex_kit pb_flex_kit_orientation_row pb_flex_kit_justify_content_left pb_flex_kit_align_items_center pb_flex_kit_spacing_between"
15
15
  >
16
16
  <div
17
17
  class="pb_flex_item_kit"
@@ -1,7 +1,7 @@
1
1
  @import "tokens/colors";
2
2
  @import "tokens/spacing";
3
3
 
4
- [class^=pb_collapsible_kit] {
4
+ .pb_collapsible_kit {
5
5
  padding: $space_md;
6
6
 
7
7
  .toggle-content {
@@ -28,10 +28,10 @@
28
28
  }
29
29
  }
30
30
 
31
- [class^=pb_collapsible_main_kit] {
31
+ .pb_collapsible_main_kit {
32
32
  padding: $space_md;
33
33
  }
34
34
 
35
- [class^=pb_collapsible_content_kit] {
35
+ .pb_collapsible_content_kit {
36
36
  padding: $space_md;
37
- }
37
+ }
@@ -52,7 +52,7 @@ test('passes text and tooltip props to button', () => {
52
52
  expect(content).toHaveTextContent("text")
53
53
 
54
54
  const kit = screen.getByTestId('text-test')
55
- const button = kit.querySelector('.pb_button_kit_primary_inline_enabled')
55
+ const button = kit.querySelector('.pb_button_kit.pb_button_primary.pb_button_inline.pb_button_enabled')
56
56
  expect(button).toBeInTheDocument()
57
57
 
58
58
  fireEvent.click(button)
@@ -1,97 +1,182 @@
1
- [class^=pb_currency_kit] {
2
- &[class*=_center] {
3
- & > [class^=pb_caption],
4
- & > [class^=pb_title],
5
- & > [class^=pb_body] {
1
+ .pb_currency_kit,
2
+ .pb_currency_kit_left_sm,
3
+ .pb_currency_kit_left_md,
4
+ .pb_currency_kit_left_lg,
5
+ .pb_currency_kit_center_sm,
6
+ .pb_currency_kit_center_md,
7
+ .pb_currency_kit_center_lg,
8
+ .pb_currency_kit_right_sm,
9
+ .pb_currency_kit_right_md,
10
+ .pb_currency_kit_right_lg {
11
+
12
+ // Center alignment styles
13
+ &.pb_currency_kit_center_sm,
14
+ &.pb_currency_kit_center_md,
15
+ &.pb_currency_kit_center_lg {
16
+ text-align: center;
17
+ & > .pb_caption_kit,font-weight
18
+ & > .pb_title_kit,
19
+ & > .pb_body_kit {
6
20
  text-align: center;
7
21
  }
8
- & > [class*=pb_currency_wrapper] {
22
+ & > .pb_currency_wrapper,
23
+ & > .pb_currency_wrapper_deemphasized,
24
+ & > .pb_currency_wrapper_light,
25
+ & > .pb_currency_wrapper_bold {
9
26
  justify-content: center;
10
27
  }
11
28
  }
12
29
 
13
- &[class*=_right] {
14
- & > [class^=pb_caption],
15
- & > [class^=pb_title],
16
- & > [class^=pb_body] {
30
+ // Right alignment styles
31
+ &.pb_currency_kit_right_sm,
32
+ &.pb_currency_kit_right_md,
33
+ &.pb_currency_kit_right_lg {
34
+ text-align: right;
35
+ & > .pb_caption_kit,
36
+ & > .pb_title_kit,
37
+ & > .pb_body_kit {
17
38
  text-align: right;
18
39
  }
19
- & > [class*=pb_currency_wrapper] {
40
+ & > .pb_currency_wrapper,
41
+ & > .pb_currency_wrapper_deemphasized,
42
+ & > .pb_currency_wrapper_light,
43
+ & > .pb_currency_wrapper_bold {
20
44
  justify-content: flex-end;
21
45
  }
22
46
  }
23
47
 
24
- [class^=pb_currency_wrapper] {
48
+ .pb_currency_wrapper,
49
+ .pb_currency_wrapper_deemphasized,
50
+ .pb_currency_wrapper_light,
51
+ .pb_currency_wrapper_bold {
25
52
  display: flex;
26
53
  align-items: baseline;
27
54
 
28
- &[class*=_deemphasized] {
29
- [class^=pb_body_kit], [class^=pb_body_kit] {
30
- &:not([class*=dark]) {
55
+ &.pb_currency_wrapper_deemphasized {
56
+ .pb_body_kit {
57
+ &:not(.dark) {
31
58
  color: $text_lt_default;
32
59
  }
33
60
  }
34
61
 
35
- [class^=pb_body_kit][class*=_light] {
62
+ .pb_body_kit.pb_body_light {
36
63
  font-weight: $regular;
37
64
  }
38
65
 
39
- [class^=pb_title_kit] {
66
+ .pb_title_kit {
40
67
  font-weight: $lighter;
41
68
  }
42
69
  }
43
70
 
44
- &[class*=_light] {
45
- [class^=pb_body_kit], [class^=pb_title_kit] {
71
+ &.pb_currency_wrapper_light {
72
+ .pb_body_kit,
73
+ .pb_title_kit {
46
74
  color: $text_lt_light;
47
75
  font-weight: $regular;
48
76
  }
49
77
 
50
- [class^=pb_title_kit].dark {
78
+ .pb_title_kit.dark {
51
79
  color: $text_dk_light;
52
80
  }
53
81
  }
54
82
 
55
- &[class*=_bold] {
56
- [class^=pb_body_kit], [class^=_light]{
83
+ &.pb_currency_wrapper_bold {
84
+ .pb_body_kit,
85
+ .pb_body_kit_light {
57
86
  color: $text_lt_default;
58
87
  font-weight: $bolder;
59
88
  }
89
+
90
+ .pb_title_kit {
91
+ font-weight: $bolder;
92
+ }
60
93
  }
61
94
 
62
- & > [class*=dollar_sign] {
95
+ & > .dollar_sign {
63
96
  display: flex;
64
97
  align-self: flex-start;
65
98
  }
66
- & > [class*=unit] {
99
+ & > .unit {
67
100
  display: flex;
68
101
  align-items: flex-end;
69
102
  }
70
103
  }
71
104
 
72
- &[class*=_sm] {
73
- [class^=pb_currency_wrapper][class*=_deemphasized] {
74
- [class^=pb_title_kit] {
105
+ // Small size specific styles
106
+ &.pb_currency_kit_sm,
107
+ &.pb_currency_kit_left_sm,
108
+ &.pb_currency_kit_center_sm,
109
+ &.pb_currency_kit_right_sm {
110
+ .pb_currency_wrapper_deemphasized {
111
+ .pb_title_kit {
75
112
  font-weight: $regular;
76
113
  }
77
114
  }
115
+
116
+ .pb_currency_wrapper,
117
+ .pb_currency_wrapper_deemphasized,
118
+ .pb_currency_wrapper_light,
119
+ .pb_currency_wrapper_bold {
120
+ .pb_currency_value {
121
+ line-height: 1.4;
122
+ padding-left: $space_xs - 7px;
123
+ padding-right: $space_xs - 7px;
124
+ }
125
+ }
78
126
  }
79
127
 
80
- &[class*=_lg] [class^=pb_currency_wrapper] [class*=pb_currency_value] {
81
- line-height: .9;
82
- padding-left: $space_xs - 7px;
83
- padding-right: $space_xs - 7px;
128
+ // Medium size specific styles
129
+ &.pb_currency_kit_md,
130
+ &.pb_currency_kit_left_md,
131
+ &.pb_currency_kit_center_md,
132
+ &.pb_currency_kit_right_md {
133
+ .pb_currency_wrapper,
134
+ .pb_currency_wrapper_deemphasized,
135
+ .pb_currency_wrapper_light,
136
+ .pb_currency_wrapper_bold {
137
+ .pb_currency_value {
138
+ line-height: 1.2;
139
+ padding-left: $space_xs - 7px;
140
+ padding-right: $space_xs - 7px;
141
+ }
142
+ }
84
143
  }
85
144
 
86
- &[class*=_md] [class^=pb_currency_wrapper] [class*=pb_currency_value] {
87
- line-height: 1.2;
88
- padding-left: $space_xs - 7px;
89
- padding-right: $space_xs - 7px;
145
+ // Large size specific styles
146
+ &.pb_currency_kit_lg,
147
+ &.pb_currency_kit_left_lg,
148
+ &.pb_currency_kit_center_lg,
149
+ &.pb_currency_kit_right_lg {
150
+ .pb_currency_wrapper,
151
+ .pb_currency_wrapper_deemphasized,
152
+ .pb_currency_wrapper_light,
153
+ .pb_currency_wrapper_bold {
154
+ .pb_currency_value {
155
+ line-height: .9;
156
+ padding-left: $space_xs - 7px;
157
+ padding-right: $space_xs - 7px;
158
+ }
159
+ }
90
160
  }
161
+ }
91
162
 
92
- &[class*=_sm] [class^=pb_currency_wrapper] [class*=pb_currency_value] {
93
- line-height: 1.4;
94
- padding-left: $space_xs - 7px;
95
- padding-right: $space_xs - 7px;
163
+ // Bold variant - apply bold styling to all caption labels in currency components with bold wrappers
164
+ .pb_currency_kit .pb_caption_kit {
165
+ &:has(~ .pb_currency_wrapper_bold) {
166
+ font-weight: $bolder;
96
167
  }
97
168
  }
169
+
170
+ .pb_currency_kit_left_sm .pb_caption_kit,
171
+ .pb_currency_kit_left_md .pb_caption_kit,
172
+ .pb_currency_kit_left_lg .pb_caption_kit,
173
+ .pb_currency_kit_center_sm .pb_caption_kit,
174
+ .pb_currency_kit_center_md .pb_caption_kit,
175
+ .pb_currency_kit_center_lg .pb_caption_kit,
176
+ .pb_currency_kit_right_sm .pb_caption_kit,
177
+ .pb_currency_kit_right_md .pb_caption_kit,
178
+ .pb_currency_kit_right_lg .pb_caption_kit {
179
+ &:has(~ .pb_currency_wrapper_bold) {
180
+ font-weight: $bolder;
181
+ }
182
+ }
@@ -3,10 +3,20 @@
3
3
  @import "../pb_stat_change/stat_change";
4
4
  @import "../pb_body/body";
5
5
 
6
- [class^=pb_dashboard_value_kit]{
7
- @each $align_name, $align_value in $pb_dashboard_value_align {
8
- &[class*=_#{$align_name}] {
9
- @include pb_dashboard_value($align_value);
10
- }
11
- }
6
+ .pb_dashboard_value_kit,
7
+ .pb_dashboard_value_kit_left,
8
+ .pb_dashboard_value_kit_center,
9
+ .pb_dashboard_value_kit_right {
10
+ display: flex;
11
+ justify-content: flex-start;
12
+ align-items: flex-start;
13
+ flex-direction: column;
14
+ }
15
+
16
+ .pb_dashboard_value_kit_center {
17
+ align-items: center;
18
+ }
19
+
20
+ .pb_dashboard_value_kit_right {
21
+ align-items: flex-end;
12
22
  }
@@ -1,7 +1,10 @@
1
1
  @import "../pb_icon/icon";
2
2
  @import "../pb_title/title";
3
3
 
4
- [class^=pb_date_kit] {
4
+ .pb_date_kit,
5
+ .pb_date_kit_left,
6
+ .pb_date_kit_center,
7
+ .pb_date_kit_right {
5
8
  display: flex;
6
9
  flex-direction: row;
7
10
  align-items: center;
@@ -9,27 +12,22 @@
9
12
  margin-right: 4px !important;
10
13
  }
11
14
 
12
- &[class*=_center] {
13
- display: flex;
14
- flex-direction: row;
15
- align-items: center;
16
- justify-content: center;
17
- margin-right: 4px !important;
18
- }
19
-
20
- &[class*=_right] {
21
- display: flex;
22
- flex-direction: row;
23
- align-items: center;
24
- justify-content: flex-end;
25
- margin-left: 4px !important;
26
- }
27
15
  &.dark {
28
- [class^=pb_title_kit] {
16
+ .pb_title_kit {
29
17
  color: $text_dk_default !important;
30
18
  }
31
- [class^=pb_body_kit], [class^=pb_caption_kit] {
19
+ .pb_body_kit, .pb_caption_kit {
32
20
  color: $text_dk_light !important;
33
21
  }
34
22
  }
23
+ }
24
+
25
+ .pb_date_kit_center {
26
+ justify-content: center;
27
+ margin-right: 4px !important;
28
+ }
29
+
30
+ .pb_date_kit_right {
31
+ justify-content: flex-end;
32
+ margin-left: 4px !important;
35
33
  }
@@ -19,6 +19,7 @@ type PbDateProps = {
19
19
  htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
20
20
  id?: string;
21
21
  showDayOfWeek?: boolean;
22
+ showCurrentYear?: boolean;
22
23
  showIcon?: boolean;
23
24
  size?: "sm" | "md" | "lg";
24
25
  unstyled?: boolean;
@@ -35,6 +36,7 @@ const PbDate = (props: PbDateProps): React.ReactElement => {
35
36
  htmlOptions = {},
36
37
  id,
37
38
  showDayOfWeek = false,
39
+ showCurrentYear = false,
38
40
  showIcon = false,
39
41
  size = "md",
40
42
  unstyled = false,
@@ -90,7 +92,7 @@ const PbDate = (props: PbDateProps): React.ReactElement => {
90
92
  {month} {day}
91
93
  </span>
92
94
 
93
- {currentYear != year && <span>{`, ${year}`}</span>}
95
+ {(currentYear !== year || showCurrentYear) && <span>{`, ${year}`}</span>}
94
96
  </span>
95
97
  </>
96
98
  : size == "md" || size == "lg"
@@ -124,7 +126,7 @@ const PbDate = (props: PbDateProps): React.ReactElement => {
124
126
  <span>
125
127
  {month} {day}
126
128
  </span>
127
- {currentYear != year && <span>{`, ${year}`}</span>}
129
+ {(currentYear !== year || showCurrentYear) && <span>{`, ${year}`}</span>}
128
130
  </Title>
129
131
  )
130
132
  : (
@@ -158,7 +160,7 @@ const PbDate = (props: PbDateProps): React.ReactElement => {
158
160
  <Caption dark={dark}
159
161
  tag="span">
160
162
  {month} {day}
161
- {currentYear != year && <>{`, ${year}`}</>}
163
+ {(currentYear !== year || showCurrentYear) && <>{`, ${year}`}</>}
162
164
  </Caption>
163
165
  </>
164
166
  )}