playbook_ui 13.26.0 → 13.27.0.pre.alpha.PBNTR294paginationstylingfix2899

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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +14 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +14 -10
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.html.erb +33 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.md +24 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.md +5 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -2
  8. data/app/pb_kits/playbook/pb_advanced_table/index.js +78 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +9 -5
  10. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +4 -2
  11. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +6 -2
  12. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +9 -4
  13. data/app/pb_kits/playbook/pb_avatar/Utilities/GetPlacementPropsHelper.tsx +60 -0
  14. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +16 -0
  15. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +86 -21
  16. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +26 -3
  17. data/app/pb_kits/playbook/pb_avatar/avatar.rb +45 -0
  18. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +47 -0
  19. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.html.erb +51 -0
  20. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +56 -0
  21. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.md +3 -0
  22. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.html.erb +51 -0
  23. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +58 -0
  24. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.md +3 -0
  25. data/app/pb_kits/playbook/pb_avatar/docs/example.yml +4 -0
  26. data/app/pb_kits/playbook/pb_avatar/docs/index.js +2 -0
  27. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +6 -1
  28. data/app/pb_kits/playbook/pb_background/background.html.erb +11 -2
  29. data/app/pb_kits/playbook/pb_badge/badge.html.erb +6 -1
  30. data/app/pb_kits/playbook/pb_body/_body.scss +3 -0
  31. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
  32. data/app/pb_kits/playbook/pb_body/body.html.erb +6 -1
  33. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumb_item.html.erb +6 -1
  34. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.html.erb +7 -2
  35. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +3 -3
  36. data/app/pb_kits/playbook/pb_button/button.html.erb +3 -2
  37. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.html.erb +7 -2
  38. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -1
  39. data/app/pb_kits/playbook/pb_caption/caption.html.erb +6 -1
  40. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +5 -0
  41. data/app/pb_kits/playbook/pb_card/card.html.erb +7 -1
  42. data/app/pb_kits/playbook/pb_card/card.rb +1 -1
  43. data/app/pb_kits/playbook/pb_card/card_body.html.erb +6 -1
  44. data/app/pb_kits/playbook/pb_card/card_header.html.erb +6 -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.html.erb +6 -1
  52. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +6 -1
  53. data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +6 -1
  54. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +6 -1
  55. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +7 -1
  56. data/app/pb_kits/playbook/pb_contact/contact.html.erb +6 -1
  57. data/app/pb_kits/playbook/pb_currency/currency.html.erb +6 -1
  58. data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.html.erb +6 -1
  59. data/app/pb_kits/playbook/pb_date/date.html.erb +6 -1
  60. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +6 -2
  61. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.html.erb +5 -1
  62. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.html.erb +5 -1
  63. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +5 -1
  64. data/app/pb_kits/playbook/pb_date_time/date_time.html.erb +6 -1
  65. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +7 -1
  66. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.html.erb +5 -1
  67. data/app/pb_kits/playbook/pb_detail/_detail_mixins.scss +1 -1
  68. data/app/pb_kits/playbook/pb_detail/detail.html.erb +6 -1
  69. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +6 -1
  70. data/app/pb_kits/playbook/pb_dialog/dialog_body.html.erb +7 -2
  71. data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +5 -1
  72. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +6 -2
  73. data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +3 -3
  74. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +3 -2
  75. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +4 -2
  76. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.html.erb +10 -0
  77. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.html.erb +17 -0
  78. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.md +3 -3
  79. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +1 -1
  80. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.jsx +1 -1
  81. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.html.erb +60 -0
  82. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +1 -1
  83. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.html.erb +45 -0
  84. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.html.erb +17 -0
  85. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.html.erb +47 -0
  86. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +10 -0
  87. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +9 -2
  88. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +26 -0
  89. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +20 -0
  90. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.html.erb +21 -0
  91. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +19 -0
  92. data/app/pb_kits/playbook/pb_dropdown/dropdown_option.html.erb +27 -0
  93. data/app/pb_kits/playbook/pb_dropdown/dropdown_option.rb +22 -0
  94. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +43 -0
  95. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +30 -0
  96. data/app/pb_kits/playbook/pb_dropdown/index.js +153 -0
  97. data/app/pb_kits/playbook/pb_dropdown/keyboard_accessibility.js +77 -0
  98. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +4 -2
  99. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +6 -1
  100. data/app/pb_kits/playbook/pb_filter/filter.html.erb +5 -1
  101. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +6 -1
  102. data/app/pb_kits/playbook/pb_flex/flex.html.erb +5 -1
  103. data/app/pb_kits/playbook/pb_flex/flex_item.html.erb +6 -2
  104. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +15 -0
  105. data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +6 -1
  106. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
  107. data/app/pb_kits/playbook/pb_hashtag/hashtag.html.erb +6 -1
  108. data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +5 -1
  109. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.html.erb +5 -1
  110. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +7 -2
  111. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +6 -1
  112. data/app/pb_kits/playbook/pb_icon_value/icon_value.html.erb +6 -1
  113. data/app/pb_kits/playbook/pb_label_pill/label_pill.html.erb +6 -1
  114. data/app/pb_kits/playbook/pb_label_value/label_value.html.erb +6 -1
  115. data/app/pb_kits/playbook/pb_layout/body.html.erb +5 -1
  116. data/app/pb_kits/playbook/pb_layout/footer.html.erb +5 -1
  117. data/app/pb_kits/playbook/pb_layout/header.html.erb +5 -1
  118. data/app/pb_kits/playbook/pb_layout/item.html.erb +5 -1
  119. data/app/pb_kits/playbook/pb_layout/layout.html.erb +5 -1
  120. data/app/pb_kits/playbook/pb_layout/sidebar.html.erb +5 -1
  121. data/app/pb_kits/playbook/pb_list/item.html.erb +8 -2
  122. data/app/pb_kits/playbook/pb_list/list.html.erb +8 -2
  123. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +3 -1
  124. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_custom.html.erb +13 -0
  125. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_custom.jsx +26 -0
  126. data/app/pb_kits/playbook/pb_loading_inline/docs/{_loading_inline_light.html.erb → _loading_inline_default.html.erb} +2 -2
  127. data/app/pb_kits/playbook/pb_loading_inline/docs/{_loading_inline_light.jsx → _loading_inline_default.jsx} +2 -2
  128. data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +4 -2
  129. data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +2 -1
  130. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +7 -2
  131. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.rb +1 -0
  132. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.test.js +14 -0
  133. data/app/pb_kits/playbook/pb_message/message.html.erb +6 -1
  134. data/app/pb_kits/playbook/pb_message/message_mention.html.erb +6 -1
  135. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +6 -1
  136. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +8 -0
  137. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +6 -1
  138. data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.html.erb +6 -1
  139. data/app/pb_kits/playbook/pb_nav/item.html.erb +14 -3
  140. data/app/pb_kits/playbook/pb_nav/nav.html.erb +6 -1
  141. data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +6 -2
  142. data/app/pb_kits/playbook/pb_pagination/_pagination.scss +1 -1
  143. data/app/pb_kits/playbook/pb_pagination/pagination.html.erb +6 -1
  144. data/app/pb_kits/playbook/pb_passphrase/passphrase.html.erb +1 -1
  145. data/app/pb_kits/playbook/pb_person/person.html.erb +12 -7
  146. data/app/pb_kits/playbook/pb_person_contact/person_contact.html.erb +6 -1
  147. data/app/pb_kits/playbook/pb_pill/pill.html.erb +6 -1
  148. data/app/pb_kits/playbook/pb_popover/popover.html.erb +6 -1
  149. data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +6 -2
  150. data/app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb +6 -3
  151. data/app/pb_kits/playbook/pb_progress_step/progress_step.html.erb +5 -1
  152. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.html.erb +5 -1
  153. data/app/pb_kits/playbook/pb_radio/radio.html.erb +8 -2
  154. data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +6 -1
  155. data/app/pb_kits/playbook/pb_select/select.html.erb +5 -1
  156. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +5 -1
  157. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.html.erb +4 -1
  158. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.html.erb +5 -1
  159. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.html.erb +6 -1
  160. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +6 -1
  161. data/app/pb_kits/playbook/pb_source/source.html.erb +5 -1
  162. data/app/pb_kits/playbook/pb_star_rating/star_rating.html.erb +5 -1
  163. data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +5 -1
  164. data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +5 -1
  165. data/app/pb_kits/playbook/pb_table/table.html.erb +12 -2
  166. data/app/pb_kits/playbook/pb_table/table_body.html.erb +16 -6
  167. data/app/pb_kits/playbook/pb_table/table_cell.html.erb +16 -6
  168. data/app/pb_kits/playbook/pb_table/table_head.html.erb +16 -6
  169. data/app/pb_kits/playbook/pb_table/table_header.html.erb +13 -4
  170. data/app/pb_kits/playbook/pb_table/table_row.html.erb +16 -6
  171. data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +5 -1
  172. data/app/pb_kits/playbook/pb_time/time.html.erb +5 -1
  173. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb +5 -1
  174. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +5 -1
  175. data/app/pb_kits/playbook/pb_timeline/item.html.erb +7 -3
  176. data/app/pb_kits/playbook/pb_timeline/timeline.html.erb +5 -1
  177. data/app/pb_kits/playbook/pb_timestamp/timestamp.html.erb +6 -1
  178. data/app/pb_kits/playbook/pb_title/_title.scss +5 -1
  179. data/app/pb_kits/playbook/pb_title/title.html.erb +6 -1
  180. data/app/pb_kits/playbook/pb_title_count/title_count.html.erb +6 -1
  181. data/app/pb_kits/playbook/pb_title_detail/title_detail.html.erb +5 -1
  182. data/app/pb_kits/playbook/pb_toggle/toggle.html.erb +6 -1
  183. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +1 -1
  184. data/app/pb_kits/playbook/pb_tooltip/tooltip.html.erb +5 -1
  185. data/app/pb_kits/playbook/pb_user/user.html.erb +6 -1
  186. data/app/pb_kits/playbook/pb_user_badge/user_badge.html.erb +6 -1
  187. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.html.erb +6 -1
  188. data/app/pb_kits/playbook/playbook-rails.js +6 -0
  189. data/app/pb_kits/playbook/tokens/_titles.scss +5 -1
  190. data/dist/menu.yml +1 -1
  191. data/dist/playbook-rails.js +6 -6
  192. data/lib/playbook/kit_base.rb +1 -1
  193. data/lib/playbook/version.rb +2 -2
  194. metadata +36 -8
  195. data/app/pb_kits/playbook/pb_advanced_table/docs/_description.md +0 -1
@@ -0,0 +1,51 @@
1
+
2
+ <%= pb_rails("avatar", props: {
3
+ component_overlay: {
4
+ component: "badge",
5
+ text: "12",
6
+ placement: "bottom-right"
7
+ },
8
+ name: "Terry Johnson",
9
+ size: "sm",
10
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
11
+ margin_bottom: "sm"
12
+ }) %>
13
+
14
+ <%= pb_rails("avatar", props: {
15
+ component_overlay: {
16
+ component: "badge",
17
+ text: "12",
18
+ placement: "top-left"
19
+ },
20
+ name: "Terry Johnson",
21
+ size: "md",
22
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
23
+ margin_bottom: "sm"
24
+ }) %>
25
+
26
+ <%= pb_rails("avatar", props: {
27
+ component_overlay: {
28
+ component: "badge",
29
+ text: "On Roadtrip",
30
+ placement: "top-center",
31
+ variant: "info"
32
+ },
33
+ name: "Terry Johnson",
34
+ size: "lg",
35
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
36
+ margin_bottom: "sm"
37
+ }) %>
38
+
39
+ <%= pb_rails("avatar", props: {
40
+ component_overlay: {
41
+ component: "badge",
42
+ text: "Out of Office",
43
+ placement: "bottom-center",
44
+ variant: "error"
45
+ },
46
+ name: "Terry Johnson",
47
+ size: "xl",
48
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
49
+ margin_bottom: "sm"
50
+ }) %>
51
+
@@ -0,0 +1,56 @@
1
+ import React from "react";
2
+ import { Avatar } from '../..'
3
+
4
+ const AvatarBadgeComponentOverlay = () => {
5
+ return (
6
+ <div>
7
+ <Avatar
8
+ componentOverlay={{
9
+ component: "badge",
10
+ placement: "bottom-right",
11
+ text: "12"
12
+ }}
13
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
14
+ marginBottom="sm"
15
+ size="sm"
16
+ />
17
+
18
+ <Avatar
19
+ componentOverlay={{
20
+ component: "badge",
21
+ placement: "top-left",
22
+ text: "12"
23
+ }}
24
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
25
+ marginBottom="sm"
26
+ size="md"
27
+ />
28
+
29
+ <Avatar
30
+ componentOverlay={{
31
+ component: "badge",
32
+ placement: "top-center",
33
+ text: "On Roadtip",
34
+ variant: "info"
35
+ }}
36
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
37
+ marginBottom="sm"
38
+ size="lg"
39
+ />
40
+
41
+ <Avatar
42
+ componentOverlay={{
43
+ component: "badge",
44
+ placement: "bottom-center",
45
+ text: "Out of Office",
46
+ variant: "error"
47
+ }}
48
+ imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
49
+ marginBottom="sm"
50
+ size="xl"
51
+ />
52
+ </div>
53
+ )
54
+ }
55
+
56
+ export default AvatarBadgeComponentOverlay
@@ -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`.
@@ -0,0 +1,51 @@
1
+ <%= pb_rails("avatar", props: {
2
+ component_overlay: {
3
+ component: "icon_circle",
4
+ icon: "shield",
5
+ placement: "bottom-right",
6
+ variant: "royal"
7
+ },
8
+ name: "Terry Johnson",
9
+ size: "sm",
10
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
11
+ margin_bottom: "sm"
12
+ }) %>
13
+
14
+ <%= pb_rails("avatar", props: {
15
+ component_overlay: {
16
+ component: "icon_circle",
17
+ icon: "check",
18
+ placement: "top-right",
19
+ variant: "green"
20
+ },
21
+ name: "Terry Johnson",
22
+ size: "md",
23
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
24
+ margin_bottom: "sm"
25
+ }) %>
26
+
27
+ <%= pb_rails("avatar", props: {
28
+ component_overlay: {
29
+ component: "icon_circle",
30
+ icon: "lock",
31
+ placement: "top-left",
32
+ variant: "red"
33
+ },
34
+ name: "Terry Johnson",
35
+ size: "lg",
36
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
37
+ margin_bottom: "sm"
38
+ }) %>
39
+
40
+ <%= pb_rails("avatar", props: {
41
+ component_overlay: {
42
+ component: "icon_circle",
43
+ icon: "star",
44
+ placement: "left-center",
45
+ variant: "yellow"
46
+ },
47
+ name: "Terry Johnson",
48
+ size: "xl",
49
+ image_url: "https://randomuser.me/api/portraits/men/44.jpg",
50
+ margin_bottom: "sm"
51
+ }) %>
@@ -0,0 +1,58 @@
1
+ import React from "react";
2
+ import { Avatar } from '../..'
3
+
4
+ const AvatarCircleIconComponentOverlay = () => {
5
+ return (
6
+ <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>
55
+ )
56
+ }
57
+
58
+ export default AvatarCircleIconComponentOverlay
@@ -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`.
@@ -4,11 +4,15 @@ 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: Icon Circle Component Overlay
8
+ - avatar_badge_component_overlay: Badge Component Overlay
7
9
  react:
8
10
  - avatar_default: Default
9
11
  - avatar_monogram: Monogram
10
12
  - avatar_no_image: "Bad Image Link"
11
13
  - avatar_status: Status
14
+ - avatar_circle_icon_component_overlay: Icon Circle Component Overlay
15
+ - avatar_badge_component_overlay: Badge Component Overlay
12
16
  swift:
13
17
  - avatar_default_swift: Default
14
18
  - avatar_monogram_swift: Monogram
@@ -2,3 +2,5 @@ export { default as AvatarDefault } from './_avatar_default.jsx'
2
2
  export { default as AvatarMonogram } from './_avatar_monogram.jsx'
3
3
  export { default as AvatarStatus } from './_avatar_status.jsx'
4
4
  export { default as AvatarNoImage } from './_avatar_no_image.jsx'
5
+ export { default as AvatarCircleIconComponentOverlay } from './_avatar_circle_icon_component_overlay.jsx'
6
+ export { default as AvatarBadgeComponentOverlay } from './_avatar_badge_component_overlay.jsx'
@@ -1,4 +1,9 @@
1
- <%= pb_content_tag do %>
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 %>
2
7
  <% if object.tooltip_text.present? %>
3
8
  <%= pb_rails("tooltip", props: {
4
9
  trigger_element_id: object.tooltip_id,
@@ -1,14 +1,23 @@
1
1
  <% if object.image_url.present? %>
2
- <%= pb_content_tag(object.tag,
2
+ <%= content_tag(object.tag,
3
+ aria: object.aria,
4
+ data: object.data,
5
+ id: object.id,
6
+ class: object.classname,
3
7
  style: "background-image: url('#{object.image_url}');
4
8
  background-repeat: #{object.background_repeat};
5
9
  background-size: #{object.background_size};
6
10
  background-position: #{object.background_position};",
11
+ **combined_html_options
7
12
  ) do %>
8
13
  <%= content.presence %>
9
14
  <% end %>
10
15
  <% else %>
11
- <%= pb_content_tag(object.tag,
16
+ <%= content_tag(object.tag,
17
+ aria: object.aria,
18
+ data: object.data,
19
+ id: object.id,
20
+ class: object.classname,
12
21
  style: object.custom_background_color
13
22
  ) do %>
14
23
  <%= content.presence %>
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag do %>
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 %>
2
7
  <span><%= object.text %></span>
3
8
  <% end %>
@@ -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
  );
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag(object.tag) do %>
1
+ <%= content_tag(object.tag,
2
+ aria: object.aria,
3
+ id: object.id,
4
+ data: object.data,
5
+ class: object.classname,
6
+ **combined_html_options) do %>
2
7
  <%= object.content %>
3
8
  <% end %>
@@ -1,4 +1,9 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ aria: object.aria,
6
+ **combined_html_options) do%>
2
7
  <%= content_tag(object.link ? 'a' : 'span', class: 'bread_crumb_item', href: object.link) do %>
3
8
  <%= content.presence %>
4
9
  <% end %>
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag(:nav) do %>
2
- <%= content.presence %>
1
+ <%= content_tag(:nav,
2
+ aria: object.aria,
3
+ id: object.id,
4
+ data: object.data,
5
+ class: object.classname,
6
+ **combined_html_options) do %>
7
+ <%= content.presence %>
3
8
  <% end %>
@@ -197,16 +197,16 @@ $pb_button_border_width: 0px;
197
197
 
198
198
  // Dark Link =============
199
199
  @mixin pb_button_link_dark {
200
- @include pb_button_variant($transparent, $white);
200
+ @include pb_button_variant($transparent, $active_dark);
201
201
 
202
202
  @media (hover:hover) {
203
203
  &:hover {
204
204
  @include pb_button_hover($transparent);
205
- color: rgba($white, $opacity_6)
205
+ color: rgba($active_dark, $opacity_6)
206
206
  }
207
207
  &:active {
208
208
  transition: none;
209
- @include pb_button_variant($transparent, $white);
209
+ @include pb_button_variant($transparent, $active_dark);
210
210
  }
211
211
  }
212
212
  }
@@ -1,5 +1,6 @@
1
- <%= pb_content_tag(object.tag,
2
- object.tag == "button" ? object.options : object.link_options) do %>
1
+ <%= content_tag(object.tag,
2
+ object.tag == "button" ? object.options : object.link_options,
3
+ **combined_html_options) do %>
3
4
  <% if object.variant === "reaction" %>
4
5
  <% if icon && object.valid_emoji(object.icon) %>
5
6
  <%= pb_rails("flex", props:{ align: "center" }) do %>
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag do %>
2
- <%= content.presence || object.text %>
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 %>
7
+ <%= content.presence || object.text %>
3
8
  <% 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
  );
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag(object.tag) do %>
1
+ <%= content_tag(object.tag,
2
+ aria: object.aria,
3
+ id: object.id,
4
+ data: object.data,
5
+ class: object.classname,
6
+ **combined_html_options) do %>
2
7
  <%= content.presence || object.text %>
3
8
  <% end %>
@@ -17,6 +17,11 @@ $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);
@@ -1,4 +1,10 @@
1
- <%= pb_content_tag(object.tag) do %>
1
+ <%= content_tag(object.tag,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ aria: object.aria,
6
+ dark: object.dark,
7
+ **combined_html_options) do %>
2
8
  <%= content.presence %>
3
9
  <% end %>
4
10
 
@@ -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
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ aria: object.aria,
6
+ **combined_html_options) do %>
2
7
  <%= content.presence %>
3
8
  <% end %>
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ aria: object.aria,
6
+ **combined_html_options) do %>
2
7
  <%= content.presence %>
3
8
  <% end %>
@@ -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>.
@@ -1,4 +1,9 @@
1
- <%= pb_content_tag(:label) do %>
1
+ <%= content_tag(:label, aria: object.aria,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ **combined_html_options
6
+ ) do %>
2
7
  <%= content.presence || object.input %>
3
8
  <% if object.indeterminate %>
4
9
  <span class="pb_checkbox_indeterminate">
@@ -1,4 +1,9 @@
1
- <%= pb_content_tag do %>
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 %>
2
7
  <%= pb_rails("button", props: {type: object.type, link: object.link, new_window:object.new_window, variant: object.variant, disabled: object.disabled, dark: object.dark}) do %>
3
8
  <%= pb_rails("icon", props: {icon: object.icon, fixed_width: true, dark: object.dark}) %>
4
9
  <% end %>
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag do %>
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 %>
2
7
  <%= content.presence %>
3
8
  <% end %>
@@ -1,3 +1,8 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ aria: object.aria,
6
+ **combined_html_options) do %>
2
7
  <%= content.presence %>
3
8
  <% end %>
@@ -1,4 +1,10 @@
1
- <%= pb_content_tag do %>
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname,
5
+ aria: object.aria,
6
+ **combined_html_options) do %>
7
+
2
8
  <%= pb_rails("flex", props: {vertical: "center", spacing: "between", cursor: "pointer"}) do %>
3
9
  <%= pb_rails("flex/flex_item") do %>
4
10
  <%= content.presence %>
@@ -1,4 +1,9 @@
1
- <%= pb_content_tag do %>
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 %>
2
7
  <%= pb_rails("body", props: {
3
8
  tag: "span",
4
9
  classname: "pb_contact_kit",