playbook_ui 13.32.0 → 13.33.0.pre.alpha.PLAY14143306

Sign up to get free protection for your applications and to get access to all the features.
Files changed (455) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +17 -17
  3. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +1 -1
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +1 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx +1 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +2 -2
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +1 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +1 -1
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +1 -1
  14. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +1 -1
  15. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +1 -1
  16. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +1 -1
  17. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_monogram.jsx +1 -1
  18. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_no_image.jsx +1 -1
  19. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +1 -1
  20. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +3 -3
  21. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +0 -2
  22. data/app/pb_kits/playbook/pb_background/_background.tsx +13 -7
  23. data/app/pb_kits/playbook/pb_background/docs/_background_category.jsx +2 -2
  24. data/app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx +1 -1
  25. data/app/pb_kits/playbook/pb_background/docs/_background_image.jsx +2 -2
  26. data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +1 -1
  27. data/app/pb_kits/playbook/pb_background/docs/_background_size.jsx +1 -1
  28. data/app/pb_kits/playbook/pb_background/docs/_background_status.jsx +2 -2
  29. data/app/pb_kits/playbook/pb_background/docs/_background_status_subtle.jsx +2 -2
  30. data/app/pb_kits/playbook/pb_background/docs/_background_white.jsx +1 -1
  31. data/app/pb_kits/playbook/pb_badge/_badge.scss +2 -2
  32. data/app/pb_kits/playbook/pb_bar_graph/barGraphSettings.js +1 -1
  33. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_custom.md +4 -0
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +1 -1
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +1 -1
  36. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.jsx +1 -1
  37. data/app/pb_kits/playbook/pb_body/_body.scss +1 -1
  38. data/app/pb_kits/playbook/pb_body/docs/_body_articles.jsx +1 -1
  39. data/app/pb_kits/playbook/pb_body/docs/_body_block.jsx +1 -1
  40. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +1 -1
  41. data/app/pb_kits/playbook/pb_body/docs/_body_styled.jsx +1 -1
  42. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumb_item.tsx +0 -2
  43. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +1 -1
  44. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.test.js +1 -1
  45. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_bread_crumbs_default.jsx +1 -1
  46. data/app/pb_kits/playbook/pb_button/docs/_button_accessibility.jsx +1 -1
  47. data/app/pb_kits/playbook/pb_button/docs/_button_block_content.jsx +1 -1
  48. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +1 -1
  49. data/app/pb_kits/playbook/pb_button/docs/_button_form.jsx +1 -1
  50. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.jsx +1 -1
  51. data/app/pb_kits/playbook/pb_button/docs/_button_hover.jsx +1 -1
  52. data/app/pb_kits/playbook/pb_button/docs/_button_icon_options.jsx +1 -1
  53. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +1 -1
  54. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +1 -1
  55. data/app/pb_kits/playbook/pb_button/docs/_button_reaction.jsx +1 -1
  56. data/app/pb_kits/playbook/pb_button/docs/_button_size.jsx +1 -1
  57. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.tsx +0 -2
  58. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +1 -1
  59. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +1 -1
  60. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +1 -1
  61. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +1 -1
  62. data/app/pb_kits/playbook/pb_caption/docs/_caption_colors.jsx +1 -1
  63. data/app/pb_kits/playbook/pb_caption/docs/_caption_light.jsx +1 -1
  64. data/app/pb_kits/playbook/pb_card/_card.scss +1 -1
  65. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +1 -1
  66. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_error.jsx +1 -1
  67. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.jsx +1 -1
  68. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +1 -1
  69. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +3 -3
  70. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_click.jsx +1 -1
  71. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
  72. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_color.jsx +1 -1
  73. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main.jsx +1 -1
  74. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon.jsx +1 -1
  75. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +1 -1
  76. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +1 -1
  77. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_size.jsx +1 -1
  78. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_state.jsx +1 -1
  79. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +1 -1
  80. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +1 -1
  81. data/app/pb_kits/playbook/pb_currency/docs/_currency_unstyled.jsx +1 -1
  82. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +2 -2
  83. data/app/pb_kits/playbook/pb_dashboard/pbChartsColorsHelper.ts +1 -1
  84. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +2 -2
  85. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +2 -2
  86. data/app/pb_kits/playbook/pb_dashboard_value/dashboardValueSettings.ts +2 -2
  87. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +1 -1
  88. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +2 -2
  89. data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.jsx +1 -1
  90. data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +1 -1
  91. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +1 -1
  92. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.jsx +1 -1
  93. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +1 -1
  94. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_overrides.scss +2 -4
  95. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +4 -4
  96. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_date_range_stacked_default.jsx +1 -1
  97. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +4 -4
  98. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.test.js +1 -1
  99. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_default.jsx +1 -1
  100. data/app/pb_kits/playbook/pb_detail/docs/_detail_bold.jsx +1 -1
  101. data/app/pb_kits/playbook/pb_detail/docs/_detail_colors.jsx +1 -1
  102. data/app/pb_kits/playbook/pb_detail/docs/_detail_default.jsx +1 -1
  103. data/app/pb_kits/playbook/pb_detail/docs/_detail_styled.jsx +1 -1
  104. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +1 -1
  105. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +1 -1
  106. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +1 -1
  107. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height.jsx +1 -1
  108. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_full_height_placement.jsx +1 -1
  109. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +1 -1
  110. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.jsx +1 -3
  111. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.jsx +1 -1
  112. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_sizes.jsx +1 -2
  113. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_stacked_alert.jsx +1 -1
  114. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.jsx +30 -29
  115. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.jsx +1 -1
  116. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers.jsx +1 -1
  117. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.jsx +1 -1
  118. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list.jsx +1 -1
  119. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list.jsx +1 -1
  120. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  121. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  122. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +12 -7
  123. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.html.erb +10 -0
  124. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.jsx +31 -0
  125. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.jsx +1 -1
  126. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_value.html.erb +10 -0
  127. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_value.jsx +31 -0
  128. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.jsx +1 -1
  129. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.jsx +1 -1
  130. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +1 -1
  131. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.jsx +1 -1
  132. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +1 -1
  133. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx +1 -1
  134. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.jsx +1 -1
  135. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.jsx +1 -1
  136. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.jsx +1 -1
  137. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_hook.jsx +1 -1
  138. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +1 -1
  139. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +4 -0
  140. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +3 -1
  141. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +4 -4
  142. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +11 -0
  143. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +1 -1
  144. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +1 -1
  145. data/app/pb_kits/playbook/pb_dropdown/index.js +54 -3
  146. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_accept.jsx +2 -3
  147. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_custom_description.jsx +2 -3
  148. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_custom_message.jsx +2 -3
  149. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_default.jsx +2 -3
  150. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_max_size.jsx +3 -4
  151. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +1 -1
  152. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_height.jsx +1 -1
  153. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.jsx +1 -1
  154. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.jsx +1 -1
  155. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.jsx +1 -1
  156. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.jsx +1 -1
  157. data/app/pb_kits/playbook/pb_filter/docs/_filter_placement.jsx +1 -1
  158. data/app/pb_kits/playbook/pb_filter/filter.test.js +1 -1
  159. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  160. data/app/pb_kits/playbook/pb_flex/docs/_flex_align.jsx +1 -1
  161. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.jsx +1 -1
  162. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +1 -1
  163. data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.jsx +1 -1
  164. data/app/pb_kits/playbook/pb_flex/docs/_flex_item_align_self.jsx +1 -1
  165. data/app/pb_kits/playbook/pb_flex/docs/_flex_item_example.jsx +1 -1
  166. data/app/pb_kits/playbook/pb_flex/docs/_flex_justify.jsx +1 -1
  167. data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.jsx +1 -1
  168. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.jsx +1 -1
  169. data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.jsx +1 -1
  170. data/app/pb_kits/playbook/pb_form_group/form_group.test.js +1 -1
  171. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +111 -8
  172. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +53 -0
  173. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +11 -3
  174. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.html.erb +5 -1
  175. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.jsx +1 -0
  176. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.html.erb +2 -0
  177. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.jsx +2 -0
  178. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_tag.html.erb +4 -1
  179. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_tag.jsx +3 -2
  180. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.html.erb +2 -0
  181. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.jsx +2 -0
  182. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
  183. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +5 -1
  184. data/app/pb_kits/playbook/pb_gauge/_gauge.tsx +2 -2
  185. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +1 -1
  186. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +1 -1
  187. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +1 -1
  188. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +1 -1
  189. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +1 -1
  190. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +1 -1
  191. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +1 -1
  192. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +1 -1
  193. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +1 -1
  194. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +1 -1
  195. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +1 -1
  196. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_default.jsx +1 -1
  197. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_link.jsx +1 -1
  198. data/app/pb_kits/playbook/pb_hashtag/hashtag.test.js +1 -1
  199. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +1 -1
  200. data/app/pb_kits/playbook/pb_icon/_icon.scss +210 -1
  201. data/app/pb_kits/playbook/pb_icon/_icon.tsx +100 -41
  202. data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.jsx +1 -1
  203. data/app/pb_kits/playbook/pb_icon/icon.rb +33 -19
  204. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +2 -2
  205. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.jsx +1 -1
  206. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +1 -1
  207. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_default.jsx +1 -1
  208. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_sizes.jsx +1 -1
  209. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_vertical.jsx +1 -1
  210. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +1 -1
  211. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_default.jsx +1 -1
  212. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details.jsx +1 -1
  213. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_examples.jsx +1 -1
  214. data/app/pb_kits/playbook/pb_layout/layout.test.js +1 -1
  215. data/app/pb_kits/playbook/pb_legend/docs/_legend_colors.jsx +1 -1
  216. data/app/pb_kits/playbook/pb_legend/docs/_legend_custom_colors.jsx +1 -1
  217. data/app/pb_kits/playbook/pb_legend/docs/_legend_prefix.jsx +1 -1
  218. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slide.tsx +0 -2
  219. data/app/pb_kits/playbook/pb_lightbox/Carousel/Slides.tsx +0 -2
  220. data/app/pb_kits/playbook/pb_lightbox/Header/_lightbox_header.tsx +0 -1
  221. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_compound_component.jsx +1 -2
  222. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_current_photo.jsx +1 -2
  223. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_custom_header.jsx +1 -2
  224. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_default.jsx +1 -2
  225. data/app/pb_kits/playbook/pb_lightbox/docs/_lightbox_multiple.jsx +1 -2
  226. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  227. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +1 -1
  228. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +1 -1
  229. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +1 -1
  230. data/app/pb_kits/playbook/pb_line_graph/lineGraphSettings.js +1 -1
  231. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  232. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  233. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  234. data/app/pb_kits/playbook/pb_map/map.test.jsx +1 -1
  235. data/app/pb_kits/playbook/pb_map/pbMapTheme.ts +1 -1
  236. data/app/pb_kits/playbook/pb_message/_message.tsx +0 -2
  237. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +1 -1
  238. data/app/pb_kits/playbook/pb_message/docs/_message_timestamp.jsx +1 -1
  239. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +1 -1
  240. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +1 -1
  241. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.tsx +0 -2
  242. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_default.jsx +1 -1
  243. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_reverse.jsx +1 -1
  244. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.jsx +1 -1
  245. data/app/pb_kits/playbook/pb_nav/_nav_item.test.js +2 -2
  246. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.jsx +1 -1
  247. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_custom.jsx +1 -1
  248. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.jsx +1 -1
  249. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_with_all_options.jsx +1 -1
  250. data/app/pb_kits/playbook/pb_nav/docs/_nav_with_font_control.jsx +1 -1
  251. data/app/pb_kits/playbook/pb_nav/docs/_tab_nav.html.erb +48 -0
  252. data/app/pb_kits/playbook/pb_nav/docs/_tab_nav.md +3 -0
  253. data/app/pb_kits/playbook/pb_nav/docs/example.yml +1 -0
  254. data/app/pb_kits/playbook/pb_nav/index.js +43 -0
  255. data/app/pb_kits/playbook/pb_nav/nav.rb +9 -0
  256. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.jsx +1 -1
  257. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.jsx +1 -1
  258. data/app/pb_kits/playbook/pb_overlay/overlay.test.jsx +1 -1
  259. data/app/pb_kits/playbook/pb_overlay/subcomponents/_overlay_percentage.tsx +1 -1
  260. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +3 -3
  261. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +0 -2
  262. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_breached.jsx +1 -1
  263. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_common.jsx +1 -1
  264. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_confirmation.jsx +1 -1
  265. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx +1 -1
  266. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.jsx +1 -1
  267. data/app/pb_kits/playbook/pb_passphrase/passphrase.test.jsx +1 -1
  268. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +2 -1
  269. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +0 -1
  270. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.jsx +1 -1
  271. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.jsx +1 -1
  272. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.jsx +1 -1
  273. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_initial_country.jsx +1 -1
  274. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_only_countries.jsx +1 -1
  275. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.jsx +1 -1
  276. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx +1 -1
  277. data/app/pb_kits/playbook/pb_pill/_pill.scss +2 -2
  278. data/app/pb_kits/playbook/pb_popover/docs/_popover_actionable_content.jsx +1 -1
  279. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.jsx +1 -1
  280. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.jsx +1 -1
  281. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +1 -1
  282. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.jsx +1 -1
  283. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.jsx +1 -1
  284. data/app/pb_kits/playbook/pb_popover/popover.test.js +1 -1
  285. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +2 -2
  286. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_align.jsx +1 -1
  287. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_default.jsx +1 -1
  288. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_flex.jsx +1 -1
  289. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_muted.jsx +1 -1
  290. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_value.jsx +1 -1
  291. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.jsx +1 -1
  292. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_width.jsx +1 -1
  293. data/app/pb_kits/playbook/pb_radio/docs/_radio_alignment.jsx +1 -1
  294. data/app/pb_kits/playbook/pb_radio/docs/_radio_error.jsx +1 -1
  295. data/app/pb_kits/playbook/pb_rich_text_editor/TipTap/MoreExtensionsDropdown.tsx +1 -1
  296. data/app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarDropdown.tsx +1 -1
  297. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +2 -2
  298. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +7 -8
  299. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_default.jsx +1 -1
  300. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_attributes.jsx +1 -1
  301. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +1 -1
  302. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +1 -1
  303. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +1 -1
  304. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.jsx +1 -1
  305. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +5 -4
  306. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +1 -1
  307. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +1 -1
  308. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +1 -1
  309. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx +1 -1
  310. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.jsx +1 -1
  311. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.jsx +1 -1
  312. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_dashed.jsx +1 -1
  313. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx +1 -1
  314. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +1 -1
  315. data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
  316. data/app/pb_kits/playbook/pb_select/docs/_select_error.jsx +1 -1
  317. data/app/pb_kits/playbook/pb_select/docs/_select_inline.jsx +1 -1
  318. data/app/pb_kits/playbook/pb_select/docs/_select_inline_compact.jsx +1 -1
  319. data/app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.jsx +1 -1
  320. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +4 -4
  321. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.tsx +0 -2
  322. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_error.jsx +1 -1
  323. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.test.js +1 -1
  324. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.tsx +0 -1
  325. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_checkbox.jsx +1 -1
  326. data/app/pb_kits/playbook/pb_selectable_list/docs/_selectable_list_radio.jsx +1 -1
  327. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +11 -2
  328. data/app/pb_kits/playbook/pb_star_rating/docs/_star_rating_interactive.html.erb +1 -0
  329. data/app/pb_kits/playbook/pb_star_rating/docs/example.yml +1 -1
  330. data/app/pb_kits/playbook/pb_star_rating/index.js +50 -0
  331. data/app/pb_kits/playbook/pb_star_rating/star_rating.html.erb +25 -5
  332. data/app/pb_kits/playbook/pb_star_rating/star_rating.rb +6 -0
  333. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.jsx +1 -1
  334. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit.jsx +1 -1
  335. data/app/pb_kits/playbook/pb_stat_change/docs/_stat_change_unit_two.jsx +1 -1
  336. data/app/pb_kits/playbook/pb_table/_table.tsx +1 -1
  337. data/app/pb_kits/playbook/pb_table/index.ts +4 -4
  338. data/app/pb_kits/playbook/pb_table/subcomponents/_table_body.tsx +1 -1
  339. data/app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx +1 -1
  340. data/app/pb_kits/playbook/pb_table/subcomponents/_table_head.tsx +1 -1
  341. data/app/pb_kits/playbook/pb_table/subcomponents/_table_header.tsx +1 -1
  342. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +1 -1
  343. data/app/pb_kits/playbook/pb_table/table.test.js +2 -0
  344. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +1 -1
  345. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +1 -1
  346. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +4 -4
  347. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +1 -1
  348. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +45 -27
  349. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.jsx +1 -1
  350. data/app/pb_kits/playbook/pb_textarea/{index.tsx → index.ts} +3 -3
  351. data/app/pb_kits/playbook/pb_time/_time.tsx +3 -3
  352. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +4 -4
  353. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.tsx +1 -1
  354. data/app/pb_kits/playbook/pb_time_range_inline/docs/_time_range_inline_default.jsx +1 -1
  355. data/app/pb_kits/playbook/pb_timeline/_item.tsx +1 -1
  356. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +2 -2
  357. data/app/pb_kits/playbook/pb_timeline/_timeline.tsx +1 -1
  358. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx +1 -1
  359. data/app/pb_kits/playbook/pb_title_count/_title_count.tsx +0 -1
  360. data/app/pb_kits/playbook/pb_title_detail/_title_detail.tsx +10 -10
  361. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +5 -5
  362. data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +1 -1
  363. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom.jsx +1 -3
  364. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.jsx +1 -3
  365. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +1 -3
  366. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx +1 -3
  367. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx +1 -3
  368. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +2 -2
  369. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default_react.jsx +1 -3
  370. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay.jsx +1 -3
  371. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.jsx +1 -3
  372. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.jsx +1 -3
  373. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_margin.jsx +1 -3
  374. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_show_tooltip_react.jsx +1 -3
  375. data/app/pb_kits/playbook/pb_tooltip/tooltip.test.jsx +1 -1
  376. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +1 -2
  377. data/app/pb_kits/playbook/pb_treemap_chart/treemapChart.test.js +2 -0
  378. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +3 -3
  379. data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.tsx +4 -4
  380. data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +11 -7
  381. data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.tsx +8 -3
  382. data/app/pb_kits/playbook/pb_typeahead/components/MenuList.tsx +6 -1
  383. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +18 -19
  384. data/app/pb_kits/playbook/pb_typeahead/components/Option.tsx +6 -6
  385. data/app/pb_kits/playbook/pb_typeahead/components/Placeholder.tsx +6 -6
  386. data/app/pb_kits/playbook/pb_typeahead/components/ValueContainer.tsx +3 -3
  387. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_async_createable.jsx +1 -3
  388. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.jsx +1 -3
  389. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_menu_list.jsx +3 -1
  390. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +22 -57
  391. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx +0 -2
  392. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.jsx +0 -2
  393. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.jsx +0 -2
  394. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.jsx +0 -2
  395. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +4 -5
  396. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -3
  397. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +20 -23
  398. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.jsx +24 -31
  399. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +20 -23
  400. data/app/pb_kits/playbook/pb_typeahead/index.ts +31 -31
  401. data/app/pb_kits/playbook/pb_user/_user.tsx +1 -1
  402. data/app/pb_kits/playbook/pb_user/docs/_user_block_content_subtitle_react.jsx +1 -1
  403. data/app/pb_kits/playbook/pb_user/docs/_user_default.jsx +1 -1
  404. data/app/pb_kits/playbook/pb_user/docs/_user_size.jsx +1 -1
  405. data/app/pb_kits/playbook/pb_user/docs/_user_subtitle.jsx +1 -1
  406. data/app/pb_kits/playbook/pb_user/docs/_user_text_only.jsx +1 -1
  407. data/app/pb_kits/playbook/pb_user/docs/_user_vertical_size.jsx +1 -1
  408. data/app/pb_kits/playbook/pb_user/docs/_user_with_territory.jsx +1 -1
  409. data/app/pb_kits/playbook/pb_user_badge/_user_badge.tsx +6 -6
  410. data/app/pb_kits/playbook/pb_user_badge/badges/million-dollar.tsx +236 -235
  411. data/app/pb_kits/playbook/pb_user_badge/badges/veteran.tsx +1 -1
  412. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +68 -63
  413. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx +1 -1
  414. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx +1 -1
  415. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx +1 -1
  416. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx +1 -1
  417. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx +1 -1
  418. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx +1 -1
  419. data/app/pb_kits/playbook/pb_walkthrough/walkthrough.test.jsx +1 -1
  420. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.tsx +3 -4
  421. data/app/pb_kits/playbook/tokens/exports/{_border_radius.scss → _border_radius.module.scss} +0 -0
  422. data/app/pb_kits/playbook/tokens/exports/{_colors.scss → _colors.module.scss} +1 -1
  423. data/app/pb_kits/playbook/tokens/exports/{_line_height.scss → _line_height.module.scss} +0 -0
  424. data/app/pb_kits/playbook/tokens/exports/{_opacity.scss → _opacity.module.scss} +0 -0
  425. data/app/pb_kits/playbook/tokens/exports/{_positioning.scss → _positioning.module.scss} +0 -0
  426. data/app/pb_kits/playbook/tokens/exports/{_screen_sizes.scss → _screen_sizes.module.scss} +0 -0
  427. data/app/pb_kits/playbook/tokens/exports/{_shadows.scss → _shadows.module.scss} +0 -0
  428. data/app/pb_kits/playbook/tokens/exports/{_spacing.scss → _spacing.module.scss} +0 -0
  429. data/app/pb_kits/playbook/tokens/exports/{_typography.scss → _typography.module.scss} +0 -0
  430. data/app/pb_kits/playbook/utilities/_hover.scss +5 -5
  431. data/app/pb_kits/playbook/utilities/_line_height.scss +1 -1
  432. data/app/pb_kits/playbook/utilities/_shadow.scss +1 -1
  433. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +50 -0
  434. data/dist/chunks/_typeahead.js +41 -0
  435. data/dist/chunks/_weekday_stacked.js +45 -0
  436. data/dist/chunks/lazysizes.js +1 -0
  437. data/dist/chunks/pb_form_validation.js +1 -0
  438. data/dist/chunks/vendor.js +1 -0
  439. data/dist/menu.yml +1 -1
  440. data/dist/playbook-doc.js +1 -0
  441. data/dist/playbook-rails-react-bindings.js +1 -0
  442. data/dist/playbook-rails.js +1 -59
  443. data/dist/playbook.css +4 -0
  444. data/dist/reset.css +1 -1
  445. data/lib/playbook/engine.rb +2 -0
  446. data/lib/playbook/forms/builder/star_rating_field.rb +14 -0
  447. data/lib/playbook/forms/builder.rb +1 -0
  448. data/lib/playbook/version.rb +2 -2
  449. metadata +36 -21
  450. data/app/pb_kits/playbook/index.js +0 -151
  451. data/app/pb_kits/playbook/pb_icon/icon_aliases.json +0 -39
  452. data/app/pb_kits/playbook/playbook-doc.js +0 -215
  453. data/app/pb_kits/playbook/playbook-rails-react-bindings.js +0 -45
  454. data/app/pb_kits/playbook/playbook-rails.js +0 -45
  455. /data/app/pb_kits/playbook/tokens/exports/{_scale.scss → _scale.module.scss} +0 -0
@@ -1,4 +1,3 @@
1
- // Rails custom icon styles
2
1
  svg.pb_custom_icon {
3
2
  width: 1em;
4
3
  fill: currentColor;
@@ -10,3 +9,213 @@ svg.pb_custom_icon {
10
9
  .pb_icon_kit_emoji {
11
10
  font-family: monospace;
12
11
  }
12
+
13
+ $rotate-list: (90, 180, 270);
14
+
15
+ @keyframes pb_icon_spin {
16
+ 0% {
17
+ -webkit-transform: rotate(0);
18
+ transform: rotate(0);
19
+ }
20
+ 100% {
21
+ -webkit-transform: rotate(360deg);
22
+ transform: rotate(360deg);
23
+ }
24
+ };
25
+
26
+ svg {
27
+ &.pb_icon_kit,
28
+ &.pb_custom_icon{
29
+ @each $r in $rotate-list {
30
+ &.rotate_#{$r} {
31
+ transform: rotate(#{$r}deg);
32
+ }
33
+ }
34
+ &.flip_horizontal {
35
+ transform: scaleX(-1);
36
+ }
37
+ &.flip_vertical {
38
+ transform: scaleY(-1);
39
+ }
40
+ &.flip_horizontal.flip_vertical {
41
+ transform: scaleX(-1) scaleY(-1);
42
+ }
43
+ &.svg-inline--fa {
44
+ height: 1em;
45
+ overflow: visible;
46
+ vertical-align: -.125em
47
+ }
48
+ &.svg_inverse {
49
+ color: #fff;
50
+ }
51
+ &.svg_border {
52
+ border-color: #eee;
53
+ border-radius: .1em;
54
+ border-style: solid;
55
+ border-width: .08em;
56
+ padding: .2em .25em .15em;
57
+ }
58
+ &.svg_fw {
59
+ text-align: center;
60
+ width: 1.25em
61
+ }
62
+ &.svg_li {
63
+ left: calc(2em * -1);
64
+ position: absolute;
65
+ text-align: center;
66
+ width: 2em;
67
+ line-height: inherit
68
+ }
69
+ &.pull_left {
70
+ float: left;
71
+ margin-right: .3em;
72
+ }
73
+
74
+ &.pull_right {
75
+ float: right;
76
+ margin-left: .3em;
77
+ }
78
+ &.pulse {
79
+ animation-name: pb_icon_spin;
80
+ animation-direction: normal;
81
+ animation-duration: 1s;
82
+ animation-iteration-count: infinite;
83
+ animation-timing-function: steps(8);
84
+ }
85
+ &.spin {
86
+ animation-name: pb_icon_spin;
87
+ animation-delay: 0s;
88
+ animation-direction: normal;
89
+ animation-duration: 2s;
90
+ animation-iteration-count: infinite;
91
+ animation-timing-function: linear;
92
+ }
93
+
94
+ &.svg_xs {
95
+ font-size: 0.75em
96
+ }
97
+
98
+ &.svg_sm {
99
+ font-size: 0.875em
100
+ }
101
+
102
+ &.svg_lg {
103
+ font-size: 1.25em
104
+ }
105
+
106
+ &.svg_1x {
107
+ font-size: 1em
108
+ }
109
+
110
+ &.svg_2x {
111
+ font-size: 2em
112
+ }
113
+
114
+ &.svg_3x {
115
+ font-size: 3em
116
+ }
117
+
118
+ &.svg_4x {
119
+ font-size: 4em
120
+ }
121
+
122
+ &.svg_5x {
123
+ font-size: 5em
124
+ }
125
+
126
+ &.svg_6x {
127
+ font-size: 6em
128
+ }
129
+
130
+ &.svg_7x {
131
+ font-size: 7em
132
+ }
133
+
134
+ &.svg_8x {
135
+ font-size: 8em
136
+ }
137
+
138
+ &.svg_9x {
139
+ font-size: 9em
140
+ }
141
+
142
+ &.svg_10x {
143
+ font-size: 10em
144
+ }
145
+ &.fa-xs {
146
+ font-size: .75em;
147
+ line-height: .0833333337em;
148
+ vertical-align: .125em
149
+ }
150
+ &.fa-sm {
151
+ font-size: .875em;
152
+ line-height: .0714285718em;
153
+ vertical-align: .0535714295em
154
+ }
155
+ &.fa-lg {
156
+ font-size: 1.25em;
157
+ line-height: .05em;
158
+ vertical-align: -.075em
159
+ }
160
+ &.fa-pull-left {
161
+ float: left;
162
+ margin-right: .3em;
163
+ }
164
+
165
+ &.fa-pull-right {
166
+ float: right;
167
+ margin-left: .3em;
168
+ }
169
+ &.fa-li {
170
+ left: calc(2em * -1);
171
+ position: absolute;
172
+ text-align: center;
173
+ width: 2em;
174
+ line-height: inherit
175
+ }
176
+ &.svg-inline--fa.fa-li {
177
+ width: 2em;
178
+ top: .25em
179
+ }
180
+ &.svg-inline--fa.fa-fw {
181
+ width: 1.25em;
182
+ }
183
+ &.fa-fw {
184
+ text-align: center;
185
+ width: 1.25em
186
+ }
187
+ &.fa-layers {
188
+ display: inline-block;
189
+ height: 1em;
190
+ position: relative;
191
+ text-align: center;
192
+ vertical-align: -.125em;
193
+ width: 1em
194
+ }
195
+ &.fa-2x {
196
+ font-size: 2em
197
+ }
198
+ &.fa-3x {
199
+ font-size: 3em
200
+ }
201
+ &.fa-flip {
202
+ animation-name: fa-flip;
203
+ animation-delay: 0s;
204
+ animation-direction: normal;
205
+ animation-duration: 1s;
206
+ animation-iteration-count: infinite;
207
+ animation-timing-function: ease-in-out;
208
+ }
209
+ &.fa-spin {
210
+ animation-name: fa-spin;
211
+ animation-delay: 0s;
212
+ animation-direction: normal;
213
+ animation-duration: 2s;
214
+ animation-iteration-count: infinite;
215
+ animation-timing-function: linear;
216
+ }
217
+ &.fa-pulse {
218
+ animation: fa-spin 1s infinite linear;
219
+ }
220
+ }
221
+ }
@@ -3,7 +3,6 @@ import classnames from 'classnames'
3
3
  import { buildAriaProps, buildDataProps, buildHtmlProps } from '../utilities/props'
4
4
  import { GlobalProps, globalProps } from '../utilities/globalProps'
5
5
  import { isValidEmoji } from '../utilities/validEmojiChecker'
6
- import aliasesJson from './icon_aliases.json'
7
6
 
8
7
  export type IconSizes = "lg"
9
8
  | "xs"
@@ -41,24 +40,75 @@ type IconProps = {
41
40
  spin?: boolean,
42
41
  } & GlobalProps
43
42
 
44
- type AliasType = string | string[];
45
-
46
- interface Aliases {
47
- [key: string]: AliasType;
43
+ const flipMap = {
44
+ fa: {
45
+ horizontal: 'fa-flip-horizontal',
46
+ vertical: 'fa-flip-vertical',
47
+ both: 'fa-flip-horizontal fa-flip-vertical',
48
+ none: ''
49
+ },
50
+ svg: {
51
+ horizontal: 'flip_horizontal',
52
+ vertical: 'flip_vertical',
53
+ both: 'flip_horizontal flip_vertical',
54
+ none: ''
55
+ }
48
56
  }
49
-
50
- interface AliasesJson {
51
- aliases: Aliases;
57
+ const pulseMap = {
58
+ fa: 'fa-pulse',
59
+ svg: 'pulse'
60
+ }
61
+ const spinMap = {
62
+ fa: 'fa-spin',
63
+ svg: 'spin'
64
+ }
65
+ const rotateMap = {
66
+ fa: {
67
+ 90: 'fa-rotate-90',
68
+ 180: 'fa-rotate-180',
69
+ 270: 'fa-rotate-270'
70
+ },
71
+ svg: {
72
+ 90: 'rotate_90',
73
+ 180: 'rotate_180',
74
+ 270: 'rotate_270'
75
+ }
52
76
  }
53
77
 
54
- const aliases: AliasesJson = aliasesJson;
55
-
78
+ const sizeMap = {
79
+ fa: {
80
+ "lg": "fa-lg",
81
+ "xs": "fa-xs",
82
+ "sm": "fa-sm",
83
+ "1x": "fa-1x",
84
+ "2x": "fa-2x",
85
+ "3x": "fa-3x",
86
+ "4x": "fa-4x",
87
+ "5x": "fa-5x",
88
+ "6x": "fa-6x",
89
+ "7x": "fa-7x",
90
+ "8x": "fa-8x",
91
+ "9x": "fa-9x",
92
+ "10x": "fa-10x",
93
+ "": ""
94
+ },
95
+ svg: {
96
+ "lg": "svg_lg",
97
+ "xs": "svg_xs",
98
+ "sm": "svg_sm",
99
+ "1x": "svg_1x",
100
+ "2x": "svg_2x",
101
+ "3x": "svg_3x",
102
+ "4x": "svg_4x",
103
+ "5x": "svg_5x",
104
+ "6x": "svg_6x",
105
+ "7x": "svg_7x",
106
+ "8x": "svg_8x",
107
+ "9x": "svg_9x",
108
+ "10x": "svg_10x",
109
+ "": ""
110
+ }
56
111
 
57
- const flipMap = {
58
- horizontal: 'fa-flip-horizontal',
59
- vertical: 'fa-flip-vertical',
60
- both: 'fa-flip-horizontal fa-flip-vertical',
61
- none: ""
62
112
  }
63
113
 
64
114
  declare global {
@@ -66,22 +116,6 @@ declare global {
66
116
  var PB_ICONS: {[key: string]: React.FunctionComponent<any>}
67
117
  }
68
118
 
69
- // Resolve alias function
70
- const resolveAlias = (icon: string): string => {
71
- const alias = aliases.aliases[icon];
72
-
73
- if (alias) {
74
- if (Array.isArray(alias)) {
75
- return alias[0];
76
- } else {
77
- return alias;
78
- }
79
- }
80
-
81
- return icon;
82
- };
83
-
84
-
85
119
  const Icon = (props: IconProps) => {
86
120
  const {
87
121
  aria = {},
@@ -104,8 +138,7 @@ const Icon = (props: IconProps) => {
104
138
  spin = false,
105
139
  } = props
106
140
 
107
- const resolvedIcon = resolveAlias(icon as string)
108
- let iconElement: ReactSVGElement | null = typeof(resolvedIcon) === "object" ? resolvedIcon : null
141
+ let iconElement: ReactSVGElement | null = typeof(icon) === "object" ? icon : null
109
142
 
110
143
  const faClasses = {
111
144
  'fa-border': border,
@@ -121,32 +154,58 @@ const Icon = (props: IconProps) => {
121
154
 
122
155
  if (!customIcon && !iconElement) {
123
156
  const PowerIcon: React.FunctionComponent<any> | undefined =
124
- window.PB_ICONS ? window.PB_ICONS[resolvedIcon as string] : null
157
+ window.PB_ICONS ? window.PB_ICONS[icon as string] : null
125
158
 
126
159
  if (PowerIcon) {
127
160
  iconElement = <PowerIcon /> as ReactSVGElement
128
161
  } else {
129
- faClasses[`fa-${resolvedIcon}`] = resolvedIcon as string
162
+ faClasses[`fa-${icon}`] = icon as string
130
163
  }
131
164
  }
132
165
 
133
- const classes = classnames(
134
- flipMap[flip],
166
+ const isFA = !iconElement && !customIcon
167
+
168
+ let classes = classnames(
135
169
  (!iconElement && !customIcon) ? 'pb_icon_kit' : '',
136
170
  (iconElement || customIcon) ? 'pb_custom_icon' : fontStyle,
137
171
  iconElement ? 'svg-inline--fa' : '',
138
- faClasses,
139
172
  globalProps(props),
140
173
  className
141
174
  )
142
175
 
176
+ const transformClasses = classnames(
177
+ flip ? flipMap[isFA ? 'fa' : 'svg'][flip] : null,
178
+ pulse ? pulseMap[isFA ? 'fa' : 'svg'] : null,
179
+ rotation ? rotateMap[isFA ? 'fa' : 'svg'][rotation] : null,
180
+ spin ? spinMap[isFA ? 'fa' : 'svg'] : null,
181
+ size ? sizeMap[isFA ? 'fa' : 'svg'][size] : null,
182
+ border ? isFA ? 'fa-border' : 'svg_border' : null,
183
+ fixedWidth ? isFA ? 'fa-fw' : 'svg_fw' : null,
184
+ inverse ? isFA ? 'fa-inverse' : 'svg_inverse' : null,
185
+ listItem ? isFA ? 'fa-li' : 'svg_li' : null,
186
+ pull ? isFA ? `fa-pull-${pull}` : `pull_${pull}` : null,
187
+ )
188
+ classes += ` ${transformClasses}`
189
+
190
+ if (isFA) {
191
+ const faClassList = {
192
+ 'fa-border': border,
193
+ 'fa-inverse': inverse,
194
+ 'fa-li': listItem,
195
+ [`fa-${size}`]: size,
196
+ [`fa-pull-${pull}`]: pull,
197
+ }
198
+ faClassList[`fa-${icon}`] = icon as string
199
+ classes += ` ${classnames(faClassList)}`
200
+ }
201
+
143
202
  const classesEmoji = classnames(
144
203
  'pb_icon_kit_emoji',
145
204
  globalProps(props),
146
205
  className
147
206
  )
148
207
 
149
- aria.label ? null : aria.label = `${resolvedIcon} icon`
208
+ aria.label ? null : aria.label = `${icon} icon`
150
209
  const ariaProps: {[key: string]: any} = buildAriaProps(aria)
151
210
  const dataProps: {[key: string]: any} = buildDataProps(data)
152
211
  const htmlProps = buildHtmlProps(htmlOptions)
@@ -168,7 +227,7 @@ const Icon = (props: IconProps) => {
168
227
  }
169
228
  </>
170
229
  )
171
- else if (isValidEmoji(resolvedIcon as string))
230
+ else if (isValidEmoji(icon as string))
172
231
  return (
173
232
  <>
174
233
  <span
@@ -177,7 +236,7 @@ const Icon = (props: IconProps) => {
177
236
  className={classesEmoji}
178
237
  id={id}
179
238
  >
180
- {resolvedIcon}
239
+ {icon}
181
240
  </span>
182
241
  </>
183
242
  )
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { Icon } from '../../'
2
+ import { Icon } from 'playbook-ui'
3
3
 
4
4
  const config = {
5
5
  icon: (
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # rubocop:disable Style/HashLikeCase
4
-
5
3
  require "open-uri"
6
4
  require "json"
7
5
 
@@ -39,8 +37,6 @@ module Playbook
39
37
  prop :spin, type: Playbook::Props::Boolean,
40
38
  default: false
41
39
 
42
- ALIASES = JSON.parse(File.read(Playbook::Engine.root.join("app/pb_kits/playbook/pb_icon/icon_aliases.json")))["aliases"].freeze
43
-
44
40
  def valid_emoji?
45
41
  emoji_regex = /\p{Emoji}/
46
42
  emoji_regex.match?(icon)
@@ -82,6 +78,14 @@ module Playbook
82
78
  )
83
79
  end
84
80
 
81
+ def icon_alias_map
82
+ return unless Rails.application.config.respond_to?(:icon_alias_path)
83
+
84
+ base_path = Rails.application.config.icon_alias_path
85
+ json = File.read(Rails.root.join(base_path))
86
+ JSON.parse(json)["aliases"].freeze
87
+ end
88
+
85
89
  def asset_path
86
90
  return unless Rails.application.config.respond_to?(:icon_path)
87
91
 
@@ -111,7 +115,9 @@ module Playbook
111
115
  private
112
116
 
113
117
  def resolve_alias(icon)
114
- aliases = ALIASES[icon]
118
+ return icon unless icon_alias_map
119
+
120
+ aliases = icon_alias_map[icon]
115
121
  return icon unless aliases
116
122
 
117
123
  if aliases.is_a?(Array)
@@ -131,11 +137,13 @@ module Playbook
131
137
  end
132
138
 
133
139
  def border_class
134
- border ? "fa-border" : nil
140
+ prefix = is_svg? ? "svg_border" : "fa-border"
141
+ border ? prefix : nil
135
142
  end
136
143
 
137
144
  def fixed_width_class
138
- fixed_width ? "fa-fw" : nil
145
+ prefix = is_svg? ? "svg_fw" : "fa-fw"
146
+ fixed_width ? prefix : nil
139
147
  end
140
148
 
141
149
  def icon_class
@@ -143,38 +151,45 @@ module Playbook
143
151
  end
144
152
 
145
153
  def inverse_class
146
- inverse ? "fa-inverse" : nil
154
+ class_name = is_svg? ? "svg_inverse" : "fa-inverse"
155
+ inverse ? class_name : nil
147
156
  end
148
157
 
149
158
  def list_item_class
150
- list_item ? "fa-li" : nil
159
+ class_name = is_svg? ? "svg_li" : "fa-li"
160
+ list_item ? class_name : nil
151
161
  end
152
162
 
153
163
  def flip_class
164
+ prefix = is_svg? ? "flip_" : "fa-flip-"
154
165
  case flip
155
166
  when "horizontal"
156
- "fa-flip-horizontal"
167
+ "#{prefix}horizontal"
157
168
  when "vertical"
158
- "fa-flip-vertical"
169
+ "#{prefix}vertical"
159
170
  when "both"
160
- "fa-flip-horizontal fa-flip-vertical"
171
+ "#{prefix}horizontal #{prefix}vertical"
161
172
  end
162
173
  end
163
174
 
164
175
  def pull_class
165
- pull ? "fa-pull-#{pull}" : nil
176
+ class_name = is_svg? ? "pull_#{pull}" : "fa-pull-#{pull}"
177
+ pull ? class_name : nil
166
178
  end
167
179
 
168
180
  def pulse_class
169
- pulse ? "fa-pulse" : nil
181
+ class_name = is_svg? ? "pulse" : "fa-pulse"
182
+ pulse ? class_name : nil
170
183
  end
171
184
 
172
185
  def rotation_class
173
- rotation ? "fa-rotate-#{rotation}" : nil
186
+ class_name = is_svg? ? "rotate_#{rotation}" : "fa-rotate-#{rotation}"
187
+ rotation ? class_name : nil
174
188
  end
175
189
 
176
190
  def size_class
177
- size ? "fa-#{size}" : nil
191
+ class_name = is_svg? ? "svg_#{size}" : "fa-#{size}"
192
+ size ? class_name : nil
178
193
  end
179
194
 
180
195
  def font_style_class
@@ -182,10 +197,9 @@ module Playbook
182
197
  end
183
198
 
184
199
  def spin_class
185
- spin ? "fa-spin" : nil
200
+ class_name = is_svg? ? "spin" : "fa-spin"
201
+ spin ? class_name : nil
186
202
  end
187
203
  end
188
204
  end
189
205
  end
190
-
191
- # rubocop:enable Style/HashLikeCase
@@ -54,7 +54,7 @@ $pb_icon_circle_sizes: (
54
54
  &[class*=_size_#{$name}] {
55
55
  width: $size;
56
56
  height: $size;
57
- border-radius: $size/2;
57
+ border-radius: calc($size/2);
58
58
  background: $silver;
59
59
  color: $text_lt_light;
60
60
  font-size: $size * 0.38;
@@ -68,7 +68,7 @@ $pb_icon_circle_sizes: (
68
68
  }
69
69
 
70
70
  @each $color_name, $color_value in $colors {
71
- &[class*=_#{$color_name}] {
71
+ &[class*=_#{"" + $color_name}] {
72
72
  color: $color_value;
73
73
  background: rgba(mix($bg_dark, $color_value, 10%), $opacity_1);
74
74
  &.dark {
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { IconCircle } from '../..'
2
+ import { IconCircle } from 'playbook-ui'
3
3
 
4
4
  const IconCircleSizes = (props) => {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { IconStatValue } from '../../'
2
+ import { IconStatValue } from 'playbook-ui'
3
3
 
4
4
  const IconStatValueColor = (props) => {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { IconStatValue } from '../../'
2
+ import { IconStatValue } from 'playbook-ui'
3
3
 
4
4
  const IconStatValueDefault = (props) => {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { IconStatValue } from '../../'
2
+ import { IconStatValue } from 'playbook-ui'
3
3
 
4
4
  const IconStatValueSizes = (props) => {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { IconStatValue } from '../../'
2
+ import { IconStatValue } from 'playbook-ui'
3
3
 
4
4
  const IconStatValueVertical = (props) => {
5
5
  return (
@@ -2,6 +2,6 @@
2
2
 
3
3
  [class^=pb_label_value_kit] {
4
4
  [class^=pb_caption_kit] {
5
- margin-bottom: $space-xs/1.5;
5
+ margin-bottom: calc($space-xs/1.5);
6
6
  }
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { LabelValue } from '../../'
2
+ import { LabelValue } from 'playbook-ui'
3
3
 
4
4
  const LabelValueDefault = (props) => {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { LabelValue } from '../../'
2
+ import { LabelValue } from 'playbook-ui'
3
3
 
4
4
  const LabelValueDetails = (props) => {
5
5
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { Flex, LabelValue, Title } from '../../'
2
+ import { Flex, LabelValue, Title } from 'playbook-ui'
3
3
 
4
4
  const LabelValueDetailsExamples = (props) => {
5
5
  return (
@@ -1,6 +1,6 @@
1
1
  import React from "react"
2
2
  import { render, cleanup } from "../utilities/test-utils"
3
- import { Layout, Card } from ".."
3
+ import { Layout, Card } from "playbook-ui"
4
4
 
5
5
  function LayoutTest(props) {
6
6
  return (
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { Legend } from '../..'
2
+ import { Legend } from 'playbook-ui'
3
3
 
4
4
  const LegendColors = (props) => (
5
5
  <div>
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { Legend } from '../..'
2
+ import { Legend } from 'playbook-ui'
3
3
 
4
4
  const LegendCustomColors = (props) => (
5
5
  <div>
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { Legend } from '../..'
2
+ import { Legend } from 'playbook-ui'
3
3
 
4
4
  const LegendPrefix = (props) => (
5
5
  <div>
@@ -1,5 +1,3 @@
1
- /* @flow */
2
-
3
1
  import React from 'react'
4
2
  import { noop } from 'lodash'
5
3
  import { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch'