playbook_ui 13.27.0 → 13.28.0.pre.alpha.PBNTR297gradientoverlay3029

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 (254) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +3 -3
  3. data/app/pb_kits/playbook/index.js +3 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +3 -7
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_subrow_headers.html.erb +40 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_subrow_headers.md +3 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.md +1 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -1
  9. data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +2 -6
  10. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +14 -4
  11. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +11 -7
  12. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +2 -6
  13. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +2 -0
  14. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +34 -0
  15. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +31 -0
  16. data/app/pb_kits/playbook/pb_avatar/Utilities/GetPlacementPropsHelper.tsx +16 -0
  17. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +16 -0
  18. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -1
  19. data/app/pb_kits/playbook/pb_avatar/avatar.rb +4 -0
  20. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +47 -0
  21. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.html.erb +46 -66
  22. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +8 -29
  23. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.md +3 -0
  24. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.html.erb +13 -33
  25. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +48 -67
  26. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.md +3 -0
  27. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +0 -20
  28. data/app/pb_kits/playbook/pb_avatar/docs/example.yml +2 -2
  29. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +1 -6
  30. data/app/pb_kits/playbook/pb_badge/badge.html.erb +1 -6
  31. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +4 -1
  32. data/app/pb_kits/playbook/pb_bar_graph/barGraph.test.js +31 -0
  33. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +16 -0
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +2 -1
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/{_bar_graph_custom.html.erb → _bar_graph_custom_rails.html.erb} +3 -3
  36. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom_rails.md +2 -0
  37. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -1
  38. data/app/pb_kits/playbook/pb_body/_body.scss +3 -0
  39. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
  40. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +4 -3
  41. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.html.erb +1 -6
  42. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -1
  43. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +7 -1
  44. data/app/pb_kits/playbook/pb_card/card.rb +1 -1
  45. data/app/pb_kits/playbook/pb_card/docs/_card_background.html.erb +20 -0
  46. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +41 -1
  47. data/app/pb_kits/playbook/pb_card/docs/_card_background.md +1 -1
  48. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
  49. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  50. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
  51. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +1 -2
  52. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +9 -3
  53. data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +45 -0
  54. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +22 -1
  55. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +1 -6
  56. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +53 -0
  57. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +33 -16
  58. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleIcon.tsx +92 -0
  59. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +3 -75
  60. data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +1 -6
  61. data/app/pb_kits/playbook/pb_collapsible/collapsible.test.js +24 -0
  62. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +1 -6
  63. data/app/pb_kits/playbook/pb_collapsible/collapsible_icon.html.erb +15 -0
  64. data/app/pb_kits/playbook/pb_collapsible/collapsible_icon.rb +37 -0
  65. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +1 -6
  66. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main.jsx +72 -0
  67. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main.md +3 -0
  68. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_rails.html.erb +19 -0
  69. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_rails.md +3 -0
  70. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon.jsx +73 -0
  71. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon.md +3 -0
  72. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon_rails.html.erb +20 -0
  73. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon_rails.md +3 -0
  74. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +7 -0
  75. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +3 -1
  76. data/app/pb_kits/playbook/pb_collapsible/index.js +16 -6
  77. data/app/pb_kits/playbook/pb_contact/contact.html.erb +1 -6
  78. data/app/pb_kits/playbook/pb_currency/currency.html.erb +1 -6
  79. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +7 -1
  80. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +9 -1
  81. data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.html.erb +1 -6
  82. data/app/pb_kits/playbook/pb_date/date.html.erb +1 -6
  83. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.html.erb +1 -5
  84. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default_swift.md +61 -0
  85. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_props_swift.md +11 -0
  86. data/app/pb_kits/playbook/pb_date_range_inline/docs/example.yml +4 -1
  87. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.html.erb +1 -5
  88. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +1 -5
  89. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold_swift.md +32 -0
  90. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_default_swift.md +17 -0
  91. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_not_current_year_swift.md +19 -0
  92. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_props_swift.md +10 -0
  93. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_reversed_swift.md +17 -0
  94. data/app/pb_kits/playbook/pb_date_stacked/docs/example.yml +7 -0
  95. data/app/pb_kits/playbook/pb_date_time/date_time.html.erb +1 -6
  96. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_alignment_swift.md +39 -0
  97. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default_swift.md +39 -0
  98. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_props_swift.md +15 -0
  99. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size_swift.md +78 -0
  100. data/app/pb_kits/playbook/pb_date_time/docs/example.yml +6 -0
  101. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +1 -6
  102. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.html.erb +1 -5
  103. data/app/pb_kits/playbook/pb_detail/_detail_mixins.scss +1 -1
  104. data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +3 -3
  105. data/app/pb_kits/playbook/pb_draggable/_draggable.scss +10 -0
  106. data/app/pb_kits/playbook/pb_draggable/_draggable.tsx +53 -0
  107. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +92 -0
  108. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.jsx +53 -0
  109. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers.jsx +159 -0
  110. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.jsx +121 -0
  111. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +9 -0
  112. data/app/pb_kits/playbook/pb_draggable/docs/index.js +3 -0
  113. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +65 -0
  114. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +54 -0
  115. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +57 -0
  116. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +6 -1
  117. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +5 -6
  118. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.html.erb +3 -3
  119. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.md +1 -1
  120. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.md +5 -6
  121. data/app/pb_kits/playbook/pb_dropdown/docs/{_dropdown_subcomponent_structure.html.erb → _dropdown_subcomponent_structure_rails.html.erb} +3 -3
  122. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure_rails.md +6 -0
  123. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +6 -3
  124. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.md +3 -3
  125. data/app/pb_kits/playbook/pb_dropdown/docs/{_dropdown_with_custom_display.html.erb → _dropdown_with_custom_display_rails.html.erb} +11 -6
  126. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.md +5 -0
  127. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx +5 -2
  128. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.md +1 -1
  129. data/app/pb_kits/playbook/pb_dropdown/docs/{_dropdown_with_custom_options.html.erb → _dropdown_with_custom_options_rails.html.erb} +16 -11
  130. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options_rails.md +1 -0
  131. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.html.erb +3 -3
  132. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.md +1 -1
  133. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.jsx +5 -2
  134. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.md +1 -1
  135. data/app/pb_kits/playbook/pb_dropdown/docs/{_dropdown_with_custom_trigger.html.erb → _dropdown_with_custom_trigger_rails.html.erb} +16 -11
  136. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger_rails.md +1 -0
  137. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +3 -3
  138. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.md +1 -1
  139. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +6 -6
  140. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +1 -0
  141. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +1 -0
  142. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +1 -1
  143. data/app/pb_kits/playbook/pb_dropdown/dropdown_option.html.erb +3 -9
  144. data/app/pb_kits/playbook/pb_dropdown/dropdown_option.rb +2 -6
  145. data/app/pb_kits/playbook/pb_dropdown/index.js +2 -1
  146. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +6 -14
  147. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_children_swift.md +23 -0
  148. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close_swift.md +7 -0
  149. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default_swift.md +9 -0
  150. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_dismiss_with_timer_swift.md +22 -0
  151. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_swift.md +9 -0
  152. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions_swift.md +62 -0
  153. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +8 -0
  154. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +9 -0
  155. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +1 -6
  156. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +11 -1
  157. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  158. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +17 -2
  159. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +4 -1
  160. data/app/pb_kits/playbook/pb_gauge/gauge.rb +6 -1
  161. data/app/pb_kits/playbook/pb_gauge/gauge.test.js +35 -0
  162. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +1 -6
  163. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -6
  164. data/app/pb_kits/playbook/pb_icon_value/icon_value.html.erb +1 -6
  165. data/app/pb_kits/playbook/pb_label_pill/label_pill.html.erb +1 -6
  166. data/app/pb_kits/playbook/pb_label_value/label_value.html.erb +1 -6
  167. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +8 -2
  168. data/app/pb_kits/playbook/pb_line_graph/lineGraph.test.js +52 -0
  169. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +22 -1
  170. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -5
  171. data/app/pb_kits/playbook/pb_message/message_mention.html.erb +6 -6
  172. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +8 -0
  173. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +1 -6
  174. data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.html.erb +1 -6
  175. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +12 -0
  176. data/app/pb_kits/playbook/pb_overlay/_overlay.tsx +93 -0
  177. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.jsx +40 -0
  178. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.md +7 -0
  179. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.jsx +36 -0
  180. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.md +5 -0
  181. data/app/pb_kits/playbook/pb_overlay/docs/example.yml +4 -0
  182. data/app/pb_kits/playbook/pb_overlay/docs/index.js +2 -0
  183. data/app/pb_kits/playbook/pb_overlay/overlay.test.jsx +66 -0
  184. data/app/pb_kits/playbook/pb_pagination/_pagination.scss +1 -1
  185. data/app/pb_kits/playbook/pb_pagination/pagination.html.erb +1 -6
  186. data/app/pb_kits/playbook/pb_person/person.html.erb +1 -6
  187. data/app/pb_kits/playbook/pb_person_contact/person_contact.html.erb +1 -6
  188. data/app/pb_kits/playbook/pb_pill/docs/_description.md +1 -1
  189. data/app/pb_kits/playbook/pb_pill/pill.html.erb +1 -6
  190. data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +1 -6
  191. data/app/pb_kits/playbook/pb_select/_select.scss +8 -0
  192. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -0
  193. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.tsx +30 -32
  194. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +0 -2
  195. data/app/pb_kits/playbook/pb_source/source.html.erb +1 -5
  196. data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +1 -5
  197. data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +1 -5
  198. data/app/pb_kits/playbook/pb_table/_table.tsx +5 -0
  199. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.jsx +33 -32
  200. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.md +1 -1
  201. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column_rails.md +2 -0
  202. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.jsx +33 -33
  203. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.md +1 -1
  204. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row_rails.html.erb +34 -0
  205. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row_rails.md +2 -0
  206. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.jsx +51 -50
  207. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.md +1 -1
  208. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data_rails.html.erb +54 -0
  209. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data_rails.md +2 -0
  210. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.jsx +37 -38
  211. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.md +1 -0
  212. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row_rails.html.erb +53 -0
  213. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row_rails.md +1 -0
  214. data/app/pb_kits/playbook/pb_table/docs/{_table_alignment_row.html.erb → _table_outer_padding.html.erb} +7 -7
  215. data/app/pb_kits/playbook/pb_table/docs/_table_outer_padding.jsx +76 -0
  216. data/app/pb_kits/playbook/pb_table/docs/_table_outer_padding.md +1 -0
  217. data/app/pb_kits/playbook/pb_table/docs/example.yml +9 -9
  218. data/app/pb_kits/playbook/pb_table/docs/index.js +1 -0
  219. data/app/pb_kits/playbook/pb_table/styles/_all.scss +1 -0
  220. data/app/pb_kits/playbook/pb_table/styles/_outer_padding.scss +21 -0
  221. data/app/pb_kits/playbook/pb_table/table.rb +14 -1
  222. data/app/pb_kits/playbook/pb_table/table.test.js +5 -1
  223. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +19 -0
  224. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb +1 -5
  225. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +1 -5
  226. data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -5
  227. data/app/pb_kits/playbook/pb_timeline/timeline.html.erb +1 -5
  228. data/app/pb_kits/playbook/pb_timestamp/timestamp.html.erb +1 -6
  229. data/app/pb_kits/playbook/pb_title/_title.scss +5 -1
  230. data/app/pb_kits/playbook/pb_title_count/title_count.html.erb +1 -6
  231. data/app/pb_kits/playbook/pb_title_detail/title_detail.html.erb +1 -5
  232. data/app/pb_kits/playbook/pb_tooltip/index.js +1 -0
  233. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +12 -9
  234. data/app/pb_kits/playbook/pb_treemap_chart/treemapChart.test.js +61 -0
  235. data/app/pb_kits/playbook/pb_treemap_chart/treemap_chart.rb +6 -1
  236. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.html.erb +1 -6
  237. data/app/pb_kits/playbook/playbook-doc.js +4 -0
  238. data/app/pb_kits/playbook/tokens/_titles.scss +5 -1
  239. data/app/pb_kits/playbook/tokens/_vertical_align.scss +18 -0
  240. data/app/pb_kits/playbook/utilities/_vertical_align.scss +16 -0
  241. data/app/pb_kits/playbook/utilities/globalProps.ts +12 -1
  242. data/dist/menu.yml +9 -4
  243. data/dist/playbook-rails.js +6 -6
  244. data/lib/playbook/classnames.rb +1 -0
  245. data/lib/playbook/forms/builder/dropdown_field.rb +14 -0
  246. data/lib/playbook/forms/builder/phone_number_field.rb +12 -0
  247. data/lib/playbook/forms/builder.rb +2 -0
  248. data/lib/playbook/kit_base.rb +3 -1
  249. data/lib/playbook/version.rb +2 -2
  250. data/lib/playbook/vertical_align.rb +37 -0
  251. metadata +94 -14
  252. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.html.erb +0 -63
  253. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.html.erb +0 -52
  254. /data/app/pb_kits/playbook/pb_table/docs/{_table_alignment_column.html.erb → _table_alignment_column_rails.html.erb} +0 -0
@@ -4,28 +4,6 @@ import { Avatar } from '../..'
4
4
  const AvatarBadgeComponentOverlay = () => {
5
5
  return (
6
6
  <div>
7
- <Avatar
8
- componentOverlay={{
9
- component: "badge",
10
- placement: "top-left",
11
- text: "12"
12
- }}
13
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
14
- marginBottom="sm"
15
- size="xxs"
16
- />
17
-
18
- <Avatar
19
- componentOverlay={{
20
- component: "badge",
21
- placement: "top-right",
22
- text: "12"
23
- }}
24
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
25
- marginBottom="sm"
26
- size="xs"
27
- />
28
-
29
7
  <Avatar
30
8
  componentOverlay={{
31
9
  component: "badge",
@@ -40,7 +18,7 @@ const AvatarBadgeComponentOverlay = () => {
40
18
  <Avatar
41
19
  componentOverlay={{
42
20
  component: "badge",
43
- placement: "bottom-left",
21
+ placement: "top-left",
44
22
  text: "12"
45
23
  }}
46
24
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
@@ -51,8 +29,9 @@ const AvatarBadgeComponentOverlay = () => {
51
29
  <Avatar
52
30
  componentOverlay={{
53
31
  component: "badge",
54
- placement: "top-left",
55
- text: "12"
32
+ placement: "top-center",
33
+ text: "On Roadtip",
34
+ variant: "info"
56
35
  }}
57
36
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
58
37
  marginBottom="sm"
@@ -62,14 +41,14 @@ const AvatarBadgeComponentOverlay = () => {
62
41
  <Avatar
63
42
  componentOverlay={{
64
43
  component: "badge",
65
- placement: "top-right",
66
- text: "12"
44
+ placement: "bottom-center",
45
+ text: "Out of Office",
46
+ variant: "error"
67
47
  }}
68
48
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
69
49
  marginBottom="sm"
70
50
  size="xl"
71
- />
72
-
51
+ />
73
52
  </div>
74
53
  )
75
54
  }
@@ -0,0 +1,3 @@
1
+ NOTE: All `componentOverlay` implementations require a `placement` prop, that accepts any of the following values: `top-right`, `top-left`, `bottom-right`, `bottom-left`, `top-center`, `bottom-center`, `left-center`, and `right-center`.
2
+
3
+ When passing the `badge` component as an overlay, you must also specify its text content,and you may optionally control the color by passing an [approved value](https://playbook.powerapp.cloud/kits/badge#colors) as a `variant`.
@@ -1,32 +1,9 @@
1
- <%= pb_rails("avatar", props: {
2
- component_overlay: {
3
- component: "icon_circle",
4
- icon: "plus",
5
- placement: "top-left"
6
- },
7
- name: "Terry Johnson",
8
- size: "xxs",
9
- image_url: "https://randomuser.me/api/portraits/men/44.jpg",
10
- margin_bottom: "sm"
11
- }) %>
12
-
13
- <%= pb_rails("avatar", props: {
14
- component_overlay: {
15
- component: "icon_circle",
16
- icon: "plus",
17
- placement: "top-right"
18
- },
19
- name: "Terry Johnson",
20
- size: "xs",
21
- image_url: "https://randomuser.me/api/portraits/men/44.jpg",
22
- margin_bottom: "sm"
23
- }) %>
24
-
25
1
  <%= pb_rails("avatar", props: {
26
2
  component_overlay: {
27
3
  component: "icon_circle",
28
- icon: "plus",
29
- placement: "bottom-right"
4
+ icon: "shield",
5
+ placement: "bottom-right",
6
+ variant: "royal"
30
7
  },
31
8
  name: "Terry Johnson",
32
9
  size: "sm",
@@ -37,8 +14,9 @@
37
14
  <%= pb_rails("avatar", props: {
38
15
  component_overlay: {
39
16
  component: "icon_circle",
40
- icon: "plus",
41
- placement: "bottom-left"
17
+ icon: "check",
18
+ placement: "top-right",
19
+ variant: "green"
42
20
  },
43
21
  name: "Terry Johnson",
44
22
  size: "md",
@@ -49,8 +27,9 @@
49
27
  <%= pb_rails("avatar", props: {
50
28
  component_overlay: {
51
29
  component: "icon_circle",
52
- icon: "plus",
53
- placement: "top-left"
30
+ icon: "lock",
31
+ placement: "top-left",
32
+ variant: "red"
54
33
  },
55
34
  name: "Terry Johnson",
56
35
  size: "lg",
@@ -61,11 +40,12 @@
61
40
  <%= pb_rails("avatar", props: {
62
41
  component_overlay: {
63
42
  component: "icon_circle",
64
- icon: "plus",
65
- placement: "top-right"
43
+ icon: "star",
44
+ placement: "left-center",
45
+ variant: "yellow"
66
46
  },
67
47
  name: "Terry Johnson",
68
48
  size: "xl",
69
49
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
70
50
  margin_bottom: "sm"
71
- }) %>
51
+ }) %>
@@ -4,73 +4,54 @@ import { Avatar } from '../..'
4
4
  const AvatarCircleIconComponentOverlay = () => {
5
5
  return (
6
6
  <div>
7
- <Avatar
8
- componentOverlay={{
9
- component: "iconCircle",
10
- icon: "plus",
11
- placement: "top-left"
12
- }}
13
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
14
- marginBottom="sm"
15
- size="xxs"
16
- />
17
-
18
- <Avatar
19
- componentOverlay={{
20
- component: "iconCircle",
21
- icon: "plus",
22
- placement: "top-right"
23
- }}
24
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
25
- marginBottom="sm"
26
- size="xs"
27
- />
28
-
29
- <Avatar
30
- componentOverlay={{
31
- component: "iconCircle",
32
- icon: "plus",
33
- placement: "bottom-right",
34
- }}
35
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
36
- marginBottom="sm"
37
- size="sm"
38
- />
39
-
40
- <Avatar
41
- componentOverlay={{
42
- component: "iconCircle",
43
- icon: "plus",
44
- placement: "bottom-left"
45
- }}
46
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
47
- marginBottom="sm"
48
- size="md"
49
- />
50
-
51
- <Avatar
52
- componentOverlay={{
53
- component: "iconCircle",
54
- icon: "plus",
55
- placement: "top-left"
56
- }}
57
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
58
- marginBottom="sm"
59
- size="lg"
60
- />
61
-
62
- <Avatar
63
- componentOverlay={{
64
- component: "iconCircle",
65
- icon: "plus",
66
- placement: "top-right"
67
- }}
68
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
69
- marginBottom="sm"
70
- size="xl"
71
- />
72
-
73
- </div>
7
+ <Avatar
8
+ componentOverlay={{
9
+ component: "iconCircle",
10
+ placement: "bottom-right",
11
+ icon: "shield",
12
+ variant: "royal"
13
+ }}
14
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
15
+ marginBottom="sm"
16
+ size="sm"
17
+ />
18
+
19
+ <Avatar
20
+ componentOverlay={{
21
+ component: "iconCircle",
22
+ placement: "bottom-right",
23
+ icon: "check",
24
+ variant: "green"
25
+ }}
26
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
27
+ marginBottom="sm"
28
+ size="md"
29
+ />
30
+
31
+ <Avatar
32
+ componentOverlay={{
33
+ component: "iconCircle",
34
+ placement: "top-left",
35
+ icon: "lock",
36
+ variant: "red"
37
+ }}
38
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
39
+ marginBottom="sm"
40
+ size="lg"
41
+ />
42
+
43
+ <Avatar
44
+ componentOverlay={{
45
+ component: "iconCircle",
46
+ placement: "left-center",
47
+ icon: "star",
48
+ variant: "yellow"
49
+ }}
50
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
51
+ marginBottom="sm"
52
+ size="xl"
53
+ />
54
+ </div>
74
55
  )
75
56
  }
76
57
 
@@ -0,0 +1,3 @@
1
+ NOTE: All `componentOverlay` implementations require a `placement` prop, that accepts any of the following values: `top-right`, `top-left`, `bottom-right`, `bottom-left`, `top-center`, `bottom-center`, `left-center`, and `right-center`.
2
+
3
+ When passing the `iconCircle` component as an overlay, you must also specify an `icon`, and you may optionally control the color by passing an [approved value](https://playbook.powerapp.cloud/kits/icon_circle/rails#color) as a `variant`.
@@ -57,26 +57,6 @@ const AvatarDefault = (props) => {
57
57
  status="offline"
58
58
  {...props}
59
59
  />
60
- <br/>
61
- <Avatar
62
- imageAlt="Terry Johnson Standing"
63
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
64
- name="Terry Johnson"
65
- overlay={{component:"badge", text: "6", variant: "notification", placement:"top-right"}}
66
- size="lg"
67
- status="offline"
68
- {...props}
69
- />
70
- <br/>
71
- <Avatar
72
- imageAlt="Terry Johnson Standing"
73
- imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
74
- name="Terry Johnson"
75
- overlay={{component:"icon", icon:"plus", variant:"royal", placement:"bottom-left"}}
76
- size="xl"
77
- status="offline"
78
- {...props}
79
- />
80
60
  </div>
81
61
  )
82
62
  }
@@ -4,14 +4,14 @@ examples:
4
4
  - avatar_monogram: Monogram
5
5
  - avatar_no_image: "Bad Image Link"
6
6
  - avatar_status: Status
7
- - avatar_circle_icon_component_overlay: Circle Icon Component Overlay
7
+ - avatar_circle_icon_component_overlay: Icon Circle Component Overlay
8
8
  - avatar_badge_component_overlay: Badge Component Overlay
9
9
  react:
10
10
  - avatar_default: Default
11
11
  - avatar_monogram: Monogram
12
12
  - avatar_no_image: "Bad Image Link"
13
13
  - avatar_status: Status
14
- - avatar_circle_icon_component_overlay: Circle Icon Component Overlay
14
+ - avatar_circle_icon_component_overlay: Icon Circle Component Overlay
15
15
  - avatar_badge_component_overlay: Badge Component Overlay
16
16
  swift:
17
17
  - avatar_default_swift: Default
@@ -1,9 +1,4 @@
1
- <%= content_tag(:div,
2
- aria: object.aria,
3
- id: object.id,
4
- data: object.data,
5
- class: object.classname,
6
- **combined_html_options) do %>
1
+ <%= pb_content_tag do %>
7
2
  <% if object.tooltip_text.present? %>
8
3
  <%= pb_rails("tooltip", props: {
9
4
  trigger_element_id: object.tooltip_id,
@@ -1,8 +1,3 @@
1
- <%= content_tag(:div,
2
- aria: object.aria,
3
- id: object.id,
4
- data: object.data,
5
- class: object.classname,
6
- **combined_html_options) do %>
1
+ <%= pb_content_tag do %>
7
2
  <span><%= object.text %></span>
8
3
  <% end %>
@@ -163,6 +163,9 @@ if (Array.isArray(axisTitle) && axisTitle.length > 1 && axisTitle[1].name) {
163
163
  staticOptions.plotOptions.series.events = { legendItemClick: () => false };
164
164
  }
165
165
 
166
+ const filteredProps: any = {...props};
167
+ delete filteredProps.verticalAlign;
168
+
166
169
  const [options, setOptions] = useState({});
167
170
 
168
171
  useEffect(() => {
@@ -172,7 +175,7 @@ if (Array.isArray(axisTitle) && axisTitle.length > 1 && axisTitle[1].name) {
172
175
  return (
173
176
  <HighchartsReact
174
177
  containerProps={{
175
- className: classnames(globalProps(props), className),
178
+ className: classnames(globalProps(filteredProps), className),
176
179
  id: id,
177
180
  ...ariaProps,
178
181
  ...dataProps,
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { render, screen } from '../utilities/test-utils';
3
+ import BarGraph from './_bar_graph';
4
+
5
+ beforeEach(() => {
6
+ // Silences error logs within the test suite.
7
+ jest.spyOn(console, 'error');
8
+ jest.spyOn(console, 'warn');
9
+ console.error.mockImplementation(() => {});
10
+ console.warn.mockImplementation(() => {});
11
+ });
12
+
13
+ afterEach(() => {
14
+ console.error.mockRestore();
15
+ console.warn.mockRestore();
16
+ });
17
+
18
+ const testId = 'bargraph1';
19
+
20
+ test('bargraph uses exact classname', () => {
21
+ render(
22
+ <BarGraph
23
+ className='super_important_class'
24
+ data={{ testid: testId }}
25
+ id='bar-default'
26
+ />
27
+ );
28
+
29
+ const kit = screen.getByTestId(testId);
30
+ expect(kit).toHaveClass('super_important_class');
31
+ });
@@ -74,6 +74,22 @@ module Playbook
74
74
  standard_options.deep_merge(custom_options)
75
75
  end
76
76
 
77
+ def vertical_align_props
78
+ if vertical_align
79
+ if object.vertical_align
80
+ original_result = super
81
+ class_to_remove = "vertical_align_#{object.vertical_align}"
82
+
83
+ modified_result = original_result.gsub(class_to_remove, "").strip
84
+ modified_result.empty? ? nil : modified_result
85
+ else
86
+ super
87
+ end
88
+ else
89
+ super
90
+ end
91
+ end
92
+
77
93
  def classname
78
94
  generate_classname("pb_bar_graph")
79
95
  end
@@ -1 +1,2 @@
1
- See https://api.highcharts.com/highcharts/ for a comprehensive list of available options.
1
+ The `customOptions` prop provides comprehensive access to additional [Highcharts options](https://api.highcharts.com/highcharts/) that are not explicitly defined as props.
2
+ It's important to note that certain options may require specific script imports to function properly.
@@ -15,7 +15,7 @@
15
15
  data: [1111,677,3245,500,200]
16
16
  }] %>
17
17
 
18
- <% custom_options = {
18
+ <% bar_graph_options = {
19
19
  customOptions: {
20
20
  subtitle: {
21
21
  text: "Overwritten subtitle",
@@ -45,5 +45,5 @@
45
45
  y_axis_min: 0,
46
46
  subtitle: 'Subtitle to replace',
47
47
  title: 'Bar Graph with Custom Overrides',
48
- custom_options: custom_options
49
- }) %>
48
+ custom_options: bar_graph_options
49
+ }) %>
@@ -0,0 +1,2 @@
1
+ The `custom_options` prop provides comprehensive access to additional [Highcharts options](https://api.highcharts.com/highcharts/) that are not explicitly defined as props.
2
+ It's important to note that certain options may require specific script imports to function properly.
@@ -8,7 +8,7 @@ examples:
8
8
  - bar_graph_height: Height
9
9
  - bar_graph_spline: Spline
10
10
  - bar_graph_colors: Color Overrides
11
- - bar_graph_custom: Custom Overrides
11
+ - bar_graph_custom_rails: Custom Overrides
12
12
  - bar_graph_stacked: Stacked
13
13
  - bar_graph_negative_numbers: Negative Numbers
14
14
  - bar_graph_secondary_y_axis: Secondary Y-Axis
@@ -45,6 +45,9 @@
45
45
  }
46
46
 
47
47
  &[class*=dark] {
48
+ a {
49
+ color: $active_dark;
50
+ }
48
51
  @include pb_body_dark();
49
52
  @each $dark_color_name, $dark_color_value in $pb_dark_body_colors{
50
53
  &[class*=_#{$dark_color_name}][class*=dark]{
@@ -15,7 +15,7 @@ $pb_dark_body_colors: (
15
15
  default: $text_dk_default,
16
16
  light: $text_dk_light,
17
17
  lighter: $text_dk_lighter,
18
- link: $primary_action_dark,
18
+ link: $active_dark,
19
19
  error: $error,
20
20
  success: $text_dk_success_sm,
21
21
  );
@@ -28,6 +28,7 @@ $pb_button_border_width: 0px;
28
28
  font-size: $font_small;
29
29
  font-weight: $bold;
30
30
  text-align: center;
31
+ text-decoration: none;
31
32
  vertical-align: middle;
32
33
  text-transform: none;
33
34
  border-width: $pb_button_border_width;
@@ -197,16 +198,16 @@ $pb_button_border_width: 0px;
197
198
 
198
199
  // Dark Link =============
199
200
  @mixin pb_button_link_dark {
200
- @include pb_button_variant($transparent, $white);
201
+ @include pb_button_variant($transparent, $active_dark);
201
202
 
202
203
  @media (hover:hover) {
203
204
  &:hover {
204
205
  @include pb_button_hover($transparent);
205
- color: rgba($white, $opacity_6)
206
+ color: rgba($active_dark, $opacity_6)
206
207
  }
207
208
  &:active {
208
209
  transition: none;
209
- @include pb_button_variant($transparent, $white);
210
+ @include pb_button_variant($transparent, $active_dark);
210
211
  }
211
212
  }
212
213
  }
@@ -1,8 +1,3 @@
1
- <%= content_tag(:div,
2
- aria: object.aria,
3
- class: object.classname,
4
- data: object.data,
5
- id: object.id,
6
- **combined_html_options) do %>
1
+ <%= pb_content_tag do %>
7
2
  <%= content.presence || object.text %>
8
3
  <% end %>
@@ -13,7 +13,7 @@ $pb_caption_colors: (
13
13
  $pb_dark_caption_colors: (
14
14
  default: $text_dk_default,
15
15
  light: $text_dk_light,
16
- link: $primary,
16
+ link: $active_dark,
17
17
  success: $text_dk_success_sm,
18
18
  error: $error,
19
19
  );
@@ -17,13 +17,19 @@ $additional_colors: (
17
17
  "light": $bg_light,
18
18
  "white": $white,
19
19
  "none": none,
20
+ "success_subtle": $success_subtle,
21
+ "warning_subtle": $warning_subtle,
22
+ "error_subtle": $error_subtle,
23
+ "info_subtle": $info_subtle,
24
+ "neutral_subtle": $neutral_subtle,
20
25
  );
21
26
  $background_colors: map-merge($product_colors, $additional_colors);
22
27
  $pb_card_header_colors: map-merge(map-merge($product_colors, $additional_colors), $category_colors);
23
28
 
24
29
  @mixin pb_card_selected($border_color: $primary) {
25
30
  border-color: $border_color;
26
- border-width: $pb_card_border_width * 2;
31
+ border-width: $pb_card_border_width;
32
+ outline: 1px solid $border_color;
27
33
  }
28
34
 
29
35
  @mixin pb_card_selected_dark {
@@ -15,7 +15,7 @@ module Playbook
15
15
  values: %w[xs sm md lg xl none rounded],
16
16
  default: "md"
17
17
  prop :background, type: Playbook::Props::Enum,
18
- values: %w[white light dark product_1_background product_1_highlight product_2_background product_2_highlight product_3_background product_3_highlight product_4_background product_4_highlight product_5_background product_5_highlight product_6_background product_6_highlight product_7_background product_7_highlight product_8_background product_8_highlight product_9_background product_9_highlight product_10_background product_10_highlight windows siding doors solar roofing gutters insulation none],
18
+ values: %w[white light dark product_1_background product_1_highlight product_2_background product_2_highlight product_3_background product_3_highlight product_4_background product_4_highlight product_5_background product_5_highlight product_6_background product_6_highlight product_7_background product_7_highlight product_8_background product_8_highlight product_9_background product_9_highlight product_10_background product_10_highlight windows siding doors solar roofing gutters insulation none success_subtle warning_subtle error_subtle info_subtle neutral_subtle],
19
19
  default: "none"
20
20
 
21
21
  def classname
@@ -42,3 +42,23 @@
42
42
  dark: true
43
43
  }) %>
44
44
  <% end %>
45
+
46
+ <%= pb_rails("title", props: { text: "Subtle Status Colors", tag: "h4", size: 4, margin_bottom: "sm" }) %>
47
+
48
+ <%= pb_rails("card", props: { background: "success_subtle", margin_bottom: "sm" }) do %>
49
+ <%= pb_rails("body", props: {
50
+ text: "Success Subtle"
51
+ }) %>
52
+ <% end %>
53
+
54
+ <%= pb_rails("card", props: { background: "warning_subtle", margin_bottom: "sm" }) do %>
55
+ <%= pb_rails("body", props: {
56
+ text: "Warning Subtle"
57
+ }) %>
58
+ <% end %>
59
+
60
+ <%= pb_rails("card", props: { background: "info_subtle", margin_bottom: "sm" }) do %>
61
+ <%= pb_rails("body", props: {
62
+ text: "Info Subtle"
63
+ }) %>
64
+ <% end %>
@@ -90,7 +90,47 @@ const CardBackground = (props) => {
90
90
  />
91
91
  </Card>
92
92
 
93
-
93
+
94
+ <Title
95
+ {...props}
96
+ marginBottom="sm"
97
+ size={4}
98
+ tag="h4"
99
+ text="Subtle Status Colors"
100
+ />
101
+
102
+ <Card
103
+ background="success_subtle"
104
+ marginBottom="sm"
105
+ {...props}
106
+ >
107
+ <Body
108
+ text="Success Subtle"
109
+ {...props}
110
+ />
111
+ </Card>
112
+
113
+ <Card
114
+ background="warning_subtle"
115
+ marginBottom="sm"
116
+ {...props}
117
+ >
118
+ <Body
119
+ text="Warning Subtle"
120
+ {...props}
121
+ />
122
+ </Card>
123
+
124
+ <Card
125
+ background="info_subtle"
126
+ marginBottom="sm"
127
+ {...props}
128
+ >
129
+ <Body
130
+ text="Info Subtle"
131
+ {...props}
132
+ />
133
+ </Card>
94
134
  </div>
95
135
  )
96
136
  }
@@ -1 +1 @@
1
- Add a background color by passing the color name to background. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">here</a> under Product Colors.
1
+ Add a background color by passing the color name to background. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">here</a> under Product Colors and Status: Subtle Variations.
@@ -67,4 +67,4 @@
67
67
  <%= pb_rails("card/card_body", props: { padding: "md", }) do %>
68
68
  Body
69
69
  <% end %>
70
- <% end %>
70
+ <% end %>
@@ -1 +1 @@
1
- Card headers pass category, product, and background colors only. List of all category, product, and background colors can be viewed <a href="https://playbook.powerapp.cloud/utilities" target="_blank">here</a>.
1
+ Card headers pass category, product, and background colors only. List of all category, product, and background colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines/colors" target="_blank">here</a>.
@@ -1 +1 @@
1
- Card highlight can pass status, product, and category colors. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/utilities" target="_blank">here</a>.
1
+ Card highlight can pass status, product, and category colors. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines/colors" target="_blank">here</a>.