playbook_ui 10.14.1.pre.alpha2 → 10.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_background/_background.jsx +1 -1
  3. data/app/pb_kits/playbook/pb_background/_background.scss +4 -1
  4. data/app/pb_kits/playbook/pb_background/background.rb +1 -1
  5. data/app/pb_kits/playbook/pb_background/docs/_background_category.html.erb +23 -0
  6. data/app/pb_kits/playbook/pb_background/docs/_background_category.jsx +119 -0
  7. data/app/pb_kits/playbook/pb_background/docs/_background_category.md +1 -0
  8. data/app/pb_kits/playbook/pb_background/docs/_background_status.html.erb +13 -0
  9. data/app/pb_kits/playbook/pb_background/docs/_background_status.jsx +44 -0
  10. data/app/pb_kits/playbook/pb_background/docs/_background_status.md +1 -0
  11. data/app/pb_kits/playbook/pb_background/docs/_description.md +1 -1
  12. data/app/pb_kits/playbook/pb_background/docs/example.yml +4 -0
  13. data/app/pb_kits/playbook/pb_background/docs/index.js +2 -1
  14. data/app/pb_kits/playbook/pb_card/_card.jsx +5 -6
  15. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +5 -1
  16. data/app/pb_kits/playbook/pb_card/card.rb +7 -7
  17. data/app/pb_kits/playbook/pb_card/docs/_card_background.html.erb +2 -2
  18. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +0 -2
  19. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +1 -0
  20. data/app/pb_kits/playbook/pb_flex/docs/_description.md +0 -6
  21. data/app/pb_kits/playbook/pb_flex/docs/_flex_align.md +1 -5
  22. data/app/pb_kits/playbook/pb_flex/docs/_flex_justify.md +1 -5
  23. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.md +1 -5
  24. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +3 -0
  25. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +7 -0
  26. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.html.erb +1 -0
  27. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.jsx +17 -0
  28. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.md +1 -0
  29. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_tag.html.erb +1 -4
  30. data/app/pb_kits/playbook/pb_form_pill/docs/example.yml +2 -0
  31. data/app/pb_kits/playbook/pb_form_pill/docs/index.js +2 -0
  32. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +10 -17
  33. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +6 -2
  34. data/app/pb_kits/playbook/pb_pill/_pill.jsx +3 -1
  35. data/app/pb_kits/playbook/pb_pill/_pill.scss +8 -0
  36. data/app/pb_kits/playbook/pb_pill/docs/_pill_default.html.erb +1 -45
  37. data/app/pb_kits/playbook/pb_pill/docs/_pill_default.jsx +3 -48
  38. data/app/pb_kits/playbook/pb_pill/docs/_pill_example.html.erb +1 -0
  39. data/app/pb_kits/playbook/pb_pill/docs/_pill_example.jsx +17 -0
  40. data/app/pb_kits/playbook/pb_pill/docs/_pill_example.md +1 -0
  41. data/app/pb_kits/playbook/pb_pill/docs/_pill_variants.html.erb +6 -0
  42. data/app/pb_kits/playbook/pb_pill/docs/_pill_variants.jsx +45 -0
  43. data/app/pb_kits/playbook/pb_pill/docs/example.yml +4 -0
  44. data/app/pb_kits/playbook/pb_pill/docs/index.js +2 -0
  45. data/app/pb_kits/playbook/pb_pill/pill.rb +5 -2
  46. data/app/pb_kits/playbook/pb_popover/_popover.scss +2 -0
  47. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -0
  48. data/app/pb_kits/playbook/utilities/_max_width.scss +10 -0
  49. data/lib/playbook/spacing.rb +1 -1
  50. data/lib/playbook/version.rb +2 -2
  51. metadata +31 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 289033a3783ec2df05eadf3e37ebbdc51513cb443bfc9c351349683eabf4f921
4
- data.tar.gz: 662e3efbd7f8e4f79dfa591312f94dab94087a53b17b72bc222a3d4dee14142f
3
+ metadata.gz: faae90de5528b9f023fd6824aa39c518ce892c36c60a212e5e4f7638d56f84ce
4
+ data.tar.gz: bbd980bc0d205b346fa150aced925e080c8ac8d3239e5edbccb4d3c9c3d6f556
5
5
  SHA512:
6
- metadata.gz: 77c23b93648b94eb00c22c8f6cc09271bdffc36119c052aec8e73d562e3470f1aa2732f2de572e2859433877fb6c561f81eb3253849d29bfa6a3d04a7799293d
7
- data.tar.gz: 4d6b8d0534a90029125d2adf562097364ce74de7b6178a4fc1e8243187ae808b3d63f33ccd15e3ccaac9099a45bf6d1eae0b80659a8d7a2747029c7b392a17a2
6
+ metadata.gz: 7df412eddb0717bb3166971a857cbc47df4d14f487eb34939e0e1a8e230dd95b101e19481b4eed793c5a5c01be6a65fdb1b57c7df288b65606a44c94c0f0ee92
7
+ data.tar.gz: 5b2dd670d04f69b59c7d6150b94dbfe547d7ef9ac39e7973489463de9759c8a81aa23af5a0e0867a85fd20ae2eedb3b60cbdf2a5370b8a470d5d35fed2c6bc91
@@ -7,7 +7,7 @@ import { globalProps } from '../utilities/globalProps.js'
7
7
 
8
8
  type BackgroundProps = {
9
9
  aria?: object,
10
- backgroundColor?: 'gradient' | 'dark' | 'light' | 'white',
10
+ backgroundColor?: 'gradient' | 'dark' | 'light' | 'white' | 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'primary' | 'category_1' | 'category_2' | 'category_3' | 'category_4' | 'category_5' | 'category_6' | 'category_7' | 'category_8' | 'category_9' | 'category_10' | 'category_11' | 'category_12' | 'category_13' | 'category_14' | 'category_15' | 'category_16' | 'category_17' | 'category_18' | 'category_19' | 'category_20' | 'category_21',
11
11
  children?: array<React.ReactNode> | React.ReactNode,
12
12
  className?: string,
13
13
  data?: object,
@@ -1,12 +1,15 @@
1
1
  @import "../tokens/colors";
2
2
 
3
- $background_colors: (
3
+ $additional_colors: (
4
4
  "gradient": linear-gradient(135deg, $gradient_start 0%, $gradient_end 100%),
5
5
  "dark": $bg_dark,
6
6
  "light": $bg_light,
7
7
  "white": $white,
8
8
  );
9
9
 
10
+ $merge_kits1: map-merge($status_colors, $category_colors);
11
+ $merge_kits2: map-merge($merge_kits1, $product_colors);
12
+ $background_colors: map-merge($additional_colors, $merge_kits2);
10
13
 
11
14
  [class^=pb_background_kit] {
12
15
  max-width: 100%;
@@ -4,7 +4,7 @@ module Playbook
4
4
  module PbBackground
5
5
  class Background < Playbook::KitBase
6
6
  prop :background_color, type: Playbook::Props::Enum,
7
- values: %w[gradient dark light white],
7
+ values: %w[gradient dark light white success warning error info neutral primary category_1 category_2 category_3 category_4 category_5 category_6 category_7 category_8 category_9 category_10 category_11 category_12 category_13 category_14 category_15 category_16 category_17 category_18 category_19 category_20 category_21],
8
8
  default: "light"
9
9
  prop :image_url
10
10
 
@@ -0,0 +1,23 @@
1
+ <%= pb_rails("flex", props: {gap: "md", justify: "center", wrap: true}) do %>
2
+ <%= pb_rails("background", props: { background_color: "category_1", padding: "xl" }) do %> <% end %>
3
+ <%= pb_rails("background", props: { background_color: "category_2", padding: "xl" }) do %> <% end %>
4
+ <%= pb_rails("background", props: { background_color: "category_3", padding: "xl" }) do %> <% end %>
5
+ <%= pb_rails("background", props: { background_color: "category_4", padding: "xl" }) do %> <% end %>
6
+ <%= pb_rails("background", props: { background_color: "category_5", padding: "xl" }) do %> <% end %>
7
+ <%= pb_rails("background", props: { background_color: "category_6", padding: "xl" }) do %> <% end %>
8
+ <%= pb_rails("background", props: { background_color: "category_7", padding: "xl" }) do %> <% end %>
9
+ <%= pb_rails("background", props: { background_color: "category_8", padding: "xl" }) do %> <% end %>
10
+ <%= pb_rails("background", props: { background_color: "category_9", padding: "xl" }) do %> <% end %>
11
+ <%= pb_rails("background", props: { background_color: "category_10", padding: "xl" }) do %> <% end %>
12
+ <%= pb_rails("background", props: { background_color: "category_11", padding: "xl" }) do %> <% end %>
13
+ <%= pb_rails("background", props: { background_color: "category_12", padding: "xl" }) do %> <% end %>
14
+ <%= pb_rails("background", props: { background_color: "category_13", padding: "xl" }) do %> <% end %>
15
+ <%= pb_rails("background", props: { background_color: "category_14", padding: "xl" }) do %> <% end %>
16
+ <%= pb_rails("background", props: { background_color: "category_15", padding: "xl" }) do %> <% end %>
17
+ <%= pb_rails("background", props: { background_color: "category_16", padding: "xl" }) do %> <% end %>
18
+ <%= pb_rails("background", props: { background_color: "category_17", padding: "xl" }) do %> <% end %>
19
+ <%= pb_rails("background", props: { background_color: "category_18", padding: "xl" }) do %> <% end %>
20
+ <%= pb_rails("background", props: { background_color: "category_19", padding: "xl" }) do %> <% end %>
21
+ <%= pb_rails("background", props: { background_color: "category_20", padding: "xl" }) do %> <% end %>
22
+ <%= pb_rails("background", props: { background_color: "category_21", padding: "xl" }) do %> <% end %>
23
+ <%end%>
@@ -0,0 +1,119 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+ import { Flex } from '../..'
4
+
5
+ const BackgroundCategory = (props) => (
6
+ <Flex
7
+ gap="md"
8
+ justify="center"
9
+ wrap
10
+ >
11
+ <Background
12
+ backgroundColor="category_1"
13
+ padding="xl"
14
+ {...props}
15
+ />
16
+ <Background
17
+ backgroundColor="category_2"
18
+ padding="xl"
19
+ {...props}
20
+ />
21
+ <Background
22
+ backgroundColor="category_3"
23
+ padding="xl"
24
+ {...props}
25
+ />
26
+ <Background
27
+ backgroundColor="category_4"
28
+ padding="xl"
29
+ {...props}
30
+ />
31
+ <Background
32
+ backgroundColor="category_5"
33
+ padding="xl"
34
+ {...props}
35
+ />
36
+ <Background
37
+ backgroundColor="category_6"
38
+ padding="xl"
39
+ {...props}
40
+ />
41
+ <Background
42
+ backgroundColor="category_7"
43
+ padding="xl"
44
+ {...props}
45
+ />
46
+ <Background
47
+ backgroundColor="category_8"
48
+ padding="xl"
49
+ {...props}
50
+ />
51
+ <Background
52
+ backgroundColor="category_9"
53
+ padding="xl"
54
+ {...props}
55
+ />
56
+ <Background
57
+ backgroundColor="category_10"
58
+ padding="xl"
59
+ {...props}
60
+ />
61
+ <Background
62
+ backgroundColor="category_11"
63
+ padding="xl"
64
+ {...props}
65
+ />
66
+ <Background
67
+ backgroundColor="category_12"
68
+ padding="xl"
69
+ {...props}
70
+ />
71
+ <Background
72
+ backgroundColor="category_13"
73
+ padding="xl"
74
+ {...props}
75
+ />
76
+ <Background
77
+ backgroundColor="category_14"
78
+ padding="xl"
79
+ {...props}
80
+ />
81
+ <Background
82
+ backgroundColor="category_15"
83
+ padding="xl"
84
+ {...props}
85
+ />
86
+ <Background
87
+ backgroundColor="category_16"
88
+ padding="xl"
89
+ {...props}
90
+ />
91
+ <Background
92
+ backgroundColor="category_17"
93
+ padding="xl"
94
+ {...props}
95
+ />
96
+ <Background
97
+ backgroundColor="category_18"
98
+ padding="xl"
99
+ {...props}
100
+ />
101
+ <Background
102
+ backgroundColor="category_19"
103
+ padding="xl"
104
+ {...props}
105
+ />
106
+ <Background
107
+ backgroundColor="category_20"
108
+ padding="xl"
109
+ {...props}
110
+ />
111
+ <Background
112
+ backgroundColor="category_21"
113
+ padding="xl"
114
+ {...props}
115
+ />
116
+ </Flex>
117
+ )
118
+
119
+ export default BackgroundCategory
@@ -0,0 +1 @@
1
+ Category colors can be passed into the background kit. Values `category_1` to `category_21` are accepted. List of all category and status colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">here</a>.
@@ -0,0 +1,13 @@
1
+ <div class="pb--doc-demo-row">
2
+ <%= pb_rails("background", props: { background_color: "success", padding: "xl" }) do %> <% end %>
3
+ <br>
4
+ <%= pb_rails("background", props: { background_color: "warning", padding: "xl" }) do %> <% end %>
5
+ <br>
6
+ <%= pb_rails("background", props: { background_color: "error", padding: "xl" }) do %> <% end %>
7
+ <br>
8
+ <%= pb_rails("background", props: { background_color: "info", padding: "xl" }) do %> <% end %>
9
+ <br>
10
+ <%= pb_rails("background", props: { background_color: "neutral", padding: "xl" }) do %> <% end %>
11
+ <br>
12
+ <%= pb_rails("background", props: { background_color: "primary", padding: "xl" }) do %> <% end %>
13
+ </div>
@@ -0,0 +1,44 @@
1
+ import React from 'react'
2
+ import { Background } from '../..'
3
+
4
+ const BackgroundStatus = (props) => (
5
+ <div className="pb--doc-demo-row">
6
+ <Background
7
+ backgroundColor="success"
8
+ padding="xl"
9
+ {...props}
10
+ />
11
+ <br />
12
+ <Background
13
+ backgroundColor="warning"
14
+ padding="xl"
15
+ {...props}
16
+ />
17
+ <br />
18
+ <Background
19
+ backgroundColor="error"
20
+ padding="xl"
21
+ {...props}
22
+ />
23
+ <br />
24
+ <Background
25
+ backgroundColor="info"
26
+ padding="xl"
27
+ {...props}
28
+ />
29
+ <br />
30
+ <Background
31
+ backgroundColor="neutral"
32
+ padding="xl"
33
+ {...props}
34
+ />
35
+ <br />
36
+ <Background
37
+ backgroundColor="primary"
38
+ padding="xl"
39
+ {...props}
40
+ />
41
+ </div>
42
+ )
43
+
44
+ export default BackgroundStatus
@@ -0,0 +1 @@
1
+ Status colors can be passed into the background kit. `success`, `warning`, `error`, `info`, `neutral`, and `primary`
@@ -1 +1 @@
1
- The background kit is used for adding a background to a page or to any container. Instead of adding a custom class to give something a background, you can now wrap the elements in the background kit and use the `background_color` prop to assign its color. The colors that you can choose from for the `background_color` prop are: gradient, dark, light, and white.
1
+ The background kit is used for adding a background to a page or to any container. Instead of adding a custom class to give something a background, you can now wrap the elements in the background kit and use the `background_color` prop to assign its color. The colors that you can choose from for the `background_color` prop are: gradient, dark, light, white, status colors, product colors, and category colors.
@@ -5,9 +5,13 @@ examples:
5
5
  - background_white: White
6
6
  - background_gradient: Gradient
7
7
  - background_image: Image
8
+ - background_status: Status
9
+ - background_category: Category
8
10
 
9
11
  react:
10
12
  - background_light: Light
11
13
  - background_white: White
12
14
  - background_gradient: Gradient
13
15
  - background_image: Image
16
+ - background_status: Status
17
+ - background_category: Category
@@ -2,4 +2,5 @@ export { default as BackgroundLight } from './_background_light.jsx'
2
2
  export { default as BackgroundWhite } from './_background_white.jsx'
3
3
  export { default as BackgroundGradient } from './_background_gradient.jsx'
4
4
  export { default as BackgroundImage } from './_background_image.jsx'
5
-
5
+ export { default as BackgroundStatus } from './_background_status.jsx'
6
+ export { default as BackgroundCategory } from './_background_category.jsx'
@@ -8,7 +8,7 @@ import { globalProps } from '../utilities/globalProps.js'
8
8
 
9
9
  type CardPropTypes = {
10
10
  aria?: object,
11
- background?: "white" | "dark" | "light" | "windows" | "siding" | "doors" | "solar" | "roofing" | "gutters" | "insulation",
11
+ background?: "white" | "dark" | "light" | "windows" | "siding" | "doors" | "solar" | "roofing" | "gutters" | "insulation" | "none",
12
12
  borderNone?: boolean,
13
13
  borderRadius?: "xs" | "sm" | "md" | "lg" | "xl" | "none" | "rounded",
14
14
  children: array<React.ReactNode> | React.ReactNode,
@@ -67,7 +67,7 @@ const Body = (props: CardBodyProps) => {
67
67
  const Card = (props: CardPropTypes) => {
68
68
  const {
69
69
  aria = {},
70
- background = 'white',
70
+ background = 'none',
71
71
  borderNone = false,
72
72
  borderRadius = 'md',
73
73
  children,
@@ -80,10 +80,9 @@ const Card = (props: CardPropTypes) => {
80
80
  padding = 'md',
81
81
  } = props
82
82
  const borderCSS = borderNone == true ? 'border_none' : ''
83
- const cardCss = buildCss('pb_card_kit', `shadow_${shadow}`, `${borderCSS}`, `border_radius_${borderRadius}`, {
84
- selected,
85
- deselected: !selected,
86
- [`background_${background}`]: background,
83
+ const selectedCSS = selected == true ? 'selected' : 'deselected'
84
+ const backgroundCSS = background == 'none' ? '' : `background_${background}`
85
+ const cardCss = buildCss('pb_card_kit', selectedCSS, `shadow_${shadow}`, borderCSS, `border_radius_${borderRadius}`, backgroundCSS, {
87
86
  [`highlight_${highlight.position}`]: highlight.position,
88
87
  [`highlight_${highlight.color}`]: highlight.color,
89
88
  })
@@ -23,6 +23,7 @@ $additional_colors: (
23
23
  "dark": $bg_dark,
24
24
  "light": $bg_light,
25
25
  "white": $white,
26
+ "none": none,
26
27
  );
27
28
  $background_colors: map-merge($product_colors, $additional_colors);
28
29
 
@@ -49,10 +50,11 @@ $background_colors: map-merge($product_colors, $additional_colors);
49
50
  transition-property: all;
50
51
  transition-duration: $transition_short;
51
52
  transition-timing-function: $easeIn;
53
+ background-color: $white;
52
54
 
53
55
  @each $name, $color in $background_colors {
54
56
  &[class*=background_#{$name}] {
55
- background: $color;
57
+ background-color: $color;
56
58
  }
57
59
  };
58
60
 
@@ -72,6 +74,8 @@ $background_colors: map-merge($product_colors, $additional_colors);
72
74
  @mixin pb_card_dark {
73
75
  color: $white;
74
76
  @include pb_card($card_dark, $border_dark);
77
+ background-color: $card_dark;
78
+ border-color: $border_dark;
75
79
  }
76
80
 
77
81
  @mixin pb_card_highlight($width, $height, $background){
@@ -18,18 +18,18 @@ module Playbook
18
18
  values: %w[xs sm md lg xl none rounded],
19
19
  default: "md"
20
20
  prop :background, type: Playbook::Props::Enum,
21
- values: %w[white light dark windows siding doors solar roofing gutters insulation],
22
- default: "white"
21
+ values: %w[white light dark windows siding doors solar roofing gutters insulation none],
22
+ default: "none"
23
23
 
24
24
  def classname
25
25
  generate_classname("pb_card_kit",
26
26
  selected_class,
27
27
  shadow_class,
28
- highlight_position_class,
29
- highlight_color_class,
30
- background_class,
31
28
  border_class,
32
- border_radius_class)
29
+ border_radius_class,
30
+ background_class,
31
+ highlight_position_class,
32
+ highlight_color_class)
33
33
  end
34
34
 
35
35
  def body_padding
@@ -59,7 +59,7 @@ module Playbook
59
59
  end
60
60
 
61
61
  def background_class
62
- background.present? ? "background_#{background}" : "background_white"
62
+ background == "none" ? nil : "background_#{background}"
63
63
  end
64
64
 
65
65
  def border_class
@@ -19,7 +19,7 @@
19
19
 
20
20
  <br>
21
21
 
22
- <%= pb_rails("card", props: { background: "light" }) do %>
22
+ <%= pb_rails("card", props: { background: "light"}) do %>
23
23
  <%= pb_rails("body", props: {
24
24
  text: "Light"
25
25
  }) %>
@@ -54,4 +54,4 @@
54
54
  }) %>
55
55
  <% end %>
56
56
 
57
- <br>
57
+ <br>
@@ -32,7 +32,6 @@ const CardBackground = (props) => {
32
32
  <Card>
33
33
  <Body
34
34
  text="White"
35
- {...props}
36
35
  />
37
36
  </Card>
38
37
 
@@ -44,7 +43,6 @@ const CardBackground = (props) => {
44
43
  >
45
44
  <Body
46
45
  text="Light"
47
- {...props}
48
46
  />
49
47
  </Card>
50
48
 
@@ -67,6 +67,7 @@
67
67
  $opacity_hidden: 0;
68
68
 
69
69
  @include pb_card;
70
+ background-color: $white;
70
71
  box-shadow: $shadow_deepest;
71
72
  border: 0;
72
73
  max-height: calc(100vh - #{$gutter * 2});
@@ -1,7 +1 @@
1
1
  This kit is used to build most of the complex interfaces. The Flex Kit is used the same way flex box is used.
2
-
3
- ##### !!!Attention these props will be deprecated in the future please use new props in their place
4
-
5
- * `horizontal` - Will be replaced with `justify`
6
- * `vertical` - Will be replaced with `align`
7
- * `spacing` - Will be removed. Use `justify`
@@ -1,7 +1,3 @@
1
1
  ##### Prop
2
2
 
3
- *ATTENTION* - the vertical prop will be deprecated & renamed in the future.
4
-
5
- * **Deprecated Prop**: `vertical` | **Type**: String | **Values**: top | center | bottom | stretch | baseline | none
6
-
7
- * **New Prop**: `align` | **Type**: String | **Values**: start | center | end | stretch | baseline | none
3
+ `align` | **Type**: String | **Values**: start | center | end | stretch | baseline | none
@@ -1,7 +1,3 @@
1
1
  ##### Prop
2
2
 
3
- *ATTENTION* - the horizontal prop will be deprecated & renamed in the future.
4
-
5
- * **Deprecated Prop**: `horizontal` | **Type**: String | **Values**: left | center | right | stretch | none
6
-
7
- * **New Prop**: `justify` | **Type**: String | **Values**: start | center | end | | none
3
+ `justify` | **Type**: String | **Values**: start | center | end | | none
@@ -1,7 +1,3 @@
1
1
  ##### Prop
2
2
 
3
- *ATTENTION* - the spacing prop will be deprecated & renamed in the future.
4
-
5
- * **Deprecated Prop**: `spacing` | **Type**: String | **Values**: none | around | evenly | between
6
-
7
- * **New Prop**: `justify` | **Type**: String | **Values**: none | around | evenly | between
3
+ `justify` | **Type**: String | **Values**: none | around | evenly | between
@@ -15,6 +15,7 @@ type FormPillProps = {
15
15
  avatar?: boolean,
16
16
  avatarUrl?: string,
17
17
  size?: string,
18
+ textTransform?: "none" | "lowercase",
18
19
  closeProps?: {
19
20
  onClick?: EventHandler,
20
21
  onMouseDown?: EventHandler,
@@ -30,12 +31,14 @@ const FormPill = (props: FormPillProps) => {
30
31
  avatarUrl,
31
32
  closeProps = {},
32
33
  size = '',
34
+ textTransform = 'none',
33
35
  } = props
34
36
  const css = classnames(
35
37
  `pb_form_pill_kit_${'primary'}`,
36
38
  globalProps(props),
37
39
  className,
38
40
  size === 'small' ? 'small' : null,
41
+ textTransform,
39
42
  )
40
43
  return (
41
44
  <div className={css}>
@@ -70,4 +70,11 @@ $form_pill_colors: (
70
70
  &::before { line-height: 21px; }
71
71
  }
72
72
  }
73
+ &[class*=lowercase] {
74
+ text-transform: lowercase;
75
+ }
76
+
77
+ &[class*=none] {
78
+ text-transform: none;
79
+ }
73
80
  }
@@ -0,0 +1 @@
1
+ <%= pb_rails("form_pill", props: { text_transform: "lowercase" , text: "THIS IS A TAG" }) %>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import FormPill from '../_form_pill.jsx'
3
+
4
+ const FormPillExample = (props) => {
5
+ return (
6
+ <div>
7
+ <FormPill
8
+ onClick={() => alert('Click!')}
9
+ text="THIS IS A TAG"
10
+ textTransform="lowercase"
11
+ {...props}
12
+ />
13
+ </div>
14
+ )
15
+ }
16
+
17
+ export default FormPillExample
@@ -0,0 +1 @@
1
+ By default `textTransform = "none"`. If there is a need to enforce `lowercase`, please pass the `textTransform = "lowercase` prop.
@@ -1,4 +1 @@
1
- <%= pb_rails("form_pill", props: {
2
- text: "this is a tag"
3
-
4
- }) %>
1
+ <%= pb_rails("form_pill", props: { text: "this is a tag" }) %>
@@ -4,9 +4,11 @@ examples:
4
4
  - form_pill_user: Form Pill User
5
5
  - form_pill_size: Form Pill Size
6
6
  - form_pill_tag: Form Pill Tag
7
+ - form_pill_example: Example
7
8
 
8
9
 
9
10
  react:
10
11
  - form_pill_user: Form Pill User
11
12
  - form_pill_size: Form Pill Size
12
13
  - form_pill_tag: Form Pill Tag
14
+ - form_pill_example: Example
@@ -1,3 +1,5 @@
1
1
  export { default as FormPillUser } from './_form_pill_user.jsx'
2
2
  export { default as FormPillSize } from './_form_pill_size.jsx'
3
3
  export { default as FormPillTag } from './_form_pill_tag.jsx'
4
+ export { default as FormPillExample } from './_form_pill_example.jsx'
5
+
@@ -1,19 +1,12 @@
1
- <%= content_tag(:div,
2
- id: object.id,
3
- data: object.data,
4
- class: object.classname + object.size_class) do %>
5
- <% if object.name.present? %>
6
- <%= pb_rails("avatar", props: {
7
- name: object.name,
8
- image_url: object.avatar_url,
9
- size: "xs"
10
- }) %>
1
+ <%= content_tag(:div, id: object.id, data: object.data, class: object.classname + object.size_class) do %>
2
+ <% if object.name.present? %>
3
+ <%= pb_rails("avatar", props: { name: object.name, image_url: object.avatar_url, size: "xs" }) %>
11
4
  <%= pb_rails("title", props: { text: object.name, size: 4, classname: "pb_form_pill_text" }) %>
12
- <% elsif object.text.present? %>
13
- <%= pb_rails("title", props: { text: object.text, size: 4, classname: "pb_form_pill_tag" }) %>
14
- <% end %>
5
+ <% elsif object.text.present? %>
6
+ <%= pb_rails("title", props: { text: object.text, size: 4, classname: "pb_form_pill_tag" }) %>
7
+ <% end %>
15
8
 
16
- <%= pb_rails("body", props: { classname: "pb_form_pill_close" }) do %>
17
- <%= pb_rails("icon", props: { icon: 'times', fixed_width: true }) %>
18
- <% end %>
19
- <% end %>
9
+ <%= pb_rails("body", props: { classname: "pb_form_pill_close" }) do %>
10
+ <%= pb_rails("icon", props: { icon: 'times' , fixed_width: true }) %>
11
+ <% end %>
12
+ <% end %>
@@ -8,12 +8,16 @@ module Playbook
8
8
  prop :text
9
9
  prop :size
10
10
 
11
+ prop :text_transform, type: Playbook::Props::Enum,
12
+ values: %w[none lowercase],
13
+ default: "none"
14
+
11
15
  def classname
12
- generate_classname("pb_form_pill_kit", "primary", name, text)
16
+ generate_classname("pb_form_pill_kit", "primary", name, text, text_transform)
13
17
  end
14
18
 
15
19
  def display_text
16
- name.downcase
20
+ object.text
17
21
  end
18
22
 
19
23
  def size_class
@@ -14,6 +14,7 @@ type PillProps = {
14
14
  id?: string,
15
15
  text: string,
16
16
  variant?: "success" | "warning" | "error" | "info" | "neutral",
17
+ textTransform?: "none" | "lowercase"
17
18
  }
18
19
 
19
20
  const Pill = (props: PillProps) => {
@@ -24,11 +25,12 @@ const Pill = (props: PillProps) => {
24
25
  id,
25
26
  text,
26
27
  variant = 'neutral',
28
+ textTransform = 'lowercase',
27
29
  } = props
28
30
 
29
31
  const ariaProps = buildAriaProps(aria)
30
32
  const dataProps = buildDataProps(data)
31
- const classes = classnames(buildCss('pb_pill_kit', variant), globalProps(props), className)
33
+ const classes = classnames(buildCss('pb_pill_kit', variant, textTransform), globalProps(props), className)
32
34
 
33
35
  return (
34
36
  <div
@@ -14,6 +14,14 @@ $pb_pill_height: 22px;
14
14
  border-radius: $pb_pill_height/2;
15
15
  white-space: nowrap;
16
16
 
17
+ &[class*=lowercase] {
18
+ text-transform: lowercase;
19
+ }
20
+
21
+ &[class*=none] {
22
+ text-transform: none;
23
+ }
24
+
17
25
  @each $color_name, $color_value in $status_color_text {
18
26
  &[class*=_#{$color_name}] {
19
27
  background: rgba($color_value, $opacity-1);
@@ -1,45 +1 @@
1
- <%= pb_rails("pill", props: {
2
- text: "Default"
3
- }) %>
4
-
5
- <br><br>
6
-
7
- <%= pb_rails("pill", props: {
8
- text: "success",
9
- variant: "success"
10
- }) %>
11
-
12
- <br><br>
13
-
14
- <%= pb_rails("pill", props: {
15
- text: "error",
16
- variant: "error"
17
- }) %>
18
-
19
- <br><br>
20
-
21
- <%= pb_rails("pill", props: {
22
- text: "warning",
23
- variant: "warning"
24
- }) %>
25
-
26
- <br><br>
27
-
28
- <%= pb_rails("pill", props: {
29
- text: "info",
30
- variant: "info"
31
- }) %>
32
-
33
- <br><br>
34
-
35
- <%= pb_rails("pill", props: {
36
- text: "neutral",
37
- variant: "neutral"
38
- }) %>
39
-
40
- <br><br>
41
-
42
- <%= pb_rails("pill", props: {
43
- text: "primary",
44
- variant: "primary"
45
- }) %>
1
+ <%= pb_rails("pill", props: { text: "Default" }) %>
@@ -1,57 +1,12 @@
1
1
  import React from 'react'
2
2
  import Pill from '../_pill.jsx'
3
3
 
4
- const PillDefault = () => {
4
+ const PillDefault = (props) => {
5
5
  return (
6
6
  <div>
7
- <Pill text="default" />
8
-
9
- <br />
10
- <br />
11
-
12
- <Pill
13
- text="success"
14
- variant="success"
15
- />
16
-
17
- <br />
18
- <br />
19
-
20
- <Pill
21
- text="error"
22
- variant="error"
23
- />
24
-
25
- <br />
26
- <br />
27
-
28
- <Pill
29
- text="warning"
30
- variant="warning"
31
- />
32
-
33
- <br />
34
- <br />
35
-
36
- <Pill
37
- text="info"
38
- variant="info"
39
- />
40
-
41
- <br />
42
- <br />
43
-
44
- <Pill
45
- text="neutral"
46
- variant="neutral"
47
- />
48
-
49
- <br />
50
- <br />
51
-
52
7
  <Pill
53
- text="primary"
54
- variant="primary"
8
+ text="default"
9
+ {...props}
55
10
  />
56
11
  </div>
57
12
  )
@@ -0,0 +1 @@
1
+ <%= pb_rails("pill", props: { text_transform: "none" , text: "Success" , variant: "success" }) %>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import Pill from '../_pill'
3
+
4
+ const PillExample = (props) => {
5
+ return (
6
+ <div>
7
+ <Pill
8
+ text="Success"
9
+ textTransform="none"
10
+ variant="success"
11
+ {...props}
12
+ />
13
+ </div>
14
+ )
15
+ }
16
+
17
+ export default PillExample
@@ -0,0 +1 @@
1
+ Pass `textTransform = "none"` prop and the text will remain without modification.
@@ -0,0 +1,6 @@
1
+ <%= pb_rails("pill", props: { text: "success" , variant: "success" }) %>
2
+ <%= pb_rails("pill", props: { text: "error" , variant: "error" }) %>
3
+ <%= pb_rails("pill", props: { text: "warning" , variant: "warning" }) %>
4
+ <%= pb_rails("pill", props: { text: "info" , variant: "info" }) %>
5
+ <%= pb_rails("pill", props: { text: "neutral" , variant: "neutral" }) %>
6
+ <%= pb_rails("pill", props: { text: "primary" , variant: "primary" }) %>
@@ -0,0 +1,45 @@
1
+ import React from 'react'
2
+ import Pill from '../_pill.jsx'
3
+
4
+ const PillVariants = (props) => {
5
+ return (
6
+ <div>
7
+ <Pill
8
+ text="success"
9
+ variant="success"
10
+ {...props}
11
+ />
12
+
13
+ <Pill
14
+ text="error"
15
+ variant="error"
16
+ {...props}
17
+ />
18
+
19
+ <Pill
20
+ text="warning"
21
+ variant="warning"
22
+ {...props}
23
+ />
24
+
25
+ <Pill
26
+ text="info"
27
+ variant="info"
28
+ {...props}
29
+ />
30
+
31
+ <Pill
32
+ text="neutral"
33
+ variant="neutral"
34
+ />
35
+
36
+ <Pill
37
+ text="primary"
38
+ variant="primary"
39
+ {...props}
40
+ />
41
+ </div>
42
+ )
43
+ }
44
+
45
+ export default PillVariants
@@ -2,8 +2,12 @@ examples:
2
2
 
3
3
  rails:
4
4
  - pill_default: Default
5
+ - pill_variants: Variants
6
+ - pill_example: Example
5
7
 
6
8
 
7
9
 
8
10
  react:
9
11
  - pill_default: Default
12
+ - pill_variants: Variants
13
+ - pill_example: Example
@@ -1 +1,3 @@
1
1
  export { default as PillDefault } from './_pill_default.jsx'
2
+ export { default as PillVariants } from './_pill_variants.jsx'
3
+ export { default as PillExample } from './_pill_example.jsx'
@@ -7,13 +7,16 @@ module Playbook
7
7
  prop :variant, type: Playbook::Props::Enum,
8
8
  values: %w[success warning error info neutral primary],
9
9
  default: "neutral"
10
+ prop :text_transform, type: Playbook::Props::Enum,
11
+ values: %w[none lowercase],
12
+ default: "lowercase"
10
13
 
11
14
  def classname
12
- generate_classname("pb_pill_kit", variant)
15
+ generate_classname("pb_pill_kit", variant, text_transform)
13
16
  end
14
17
 
15
18
  def display_text
16
- text.downcase
19
+ object.text
17
20
  end
18
21
  end
19
22
  end
@@ -1,4 +1,5 @@
1
1
  @import "../tokens/positioning";
2
+ @import "../tokens/colors";
2
3
  @import "../pb_card/card_mixin";
3
4
  @import "../tokens/shadows";
4
5
 
@@ -43,6 +44,7 @@
43
44
  }
44
45
  .pb_popover_body {
45
46
  @include pb_card;
47
+ background-color: $white;
46
48
  border: 0;
47
49
  box-shadow: $shadow_deeper;
48
50
  }
@@ -25,6 +25,7 @@ $pb_selectable_card_border: 2px;
25
25
  }
26
26
 
27
27
  @include pb_card;
28
+ background-color: $white;
28
29
  padding: $space_sm;
29
30
  margin-bottom: $space_sm;
30
31
  cursor: pointer;
@@ -1,3 +1,13 @@
1
+ .max_width_xs {
2
+ max-width: 360px;
3
+ }
4
+ .max_width_0 {
5
+ max-width: 0;
6
+ }
7
+ .max_width_none {
8
+ max-width: none;
9
+ }
10
+
1
11
  .max_width_sm {
2
12
  max-width: 540px;
3
13
  }
@@ -70,7 +70,7 @@ module Playbook
70
70
  end
71
71
 
72
72
  def max_width_values
73
- %w[sm md lg xl]
73
+ %w[xs sm md lg xl 0 none]
74
74
  end
75
75
  end
76
76
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- PREVIOUS_VERSION = "10.14.1.pre.alpha1"
5
- VERSION = "10.14.1.pre.alpha2"
4
+ PREVIOUS_VERSION = "10.14.0"
5
+ VERSION = "10.15.0"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.14.1.pre.alpha2
4
+ version: 10.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-11-22 00:00:00.000000000 Z
12
+ date: 2021-11-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -99,16 +99,16 @@ dependencies:
99
99
  name: rubocop-performance
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '='
102
+ - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 1.11.5
104
+ version: 1.9.2
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '='
109
+ - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 1.11.5
111
+ version: 1.9.2
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: view_component
114
114
  requirement: !ruby/object:Gem::Requirement
@@ -197,36 +197,36 @@ dependencies:
197
197
  name: rspec-rails
198
198
  requirement: !ruby/object:Gem::Requirement
199
199
  requirements:
200
- - - "~>"
201
- - !ruby/object:Gem::Version
202
- version: '3.8'
203
200
  - - ">="
204
201
  - !ruby/object:Gem::Version
205
202
  version: 3.8.0
203
+ - - "~>"
204
+ - !ruby/object:Gem::Version
205
+ version: '3.8'
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
209
209
  requirements:
210
- - - "~>"
211
- - !ruby/object:Gem::Version
212
- version: '3.8'
213
210
  - - ">="
214
211
  - !ruby/object:Gem::Version
215
212
  version: 3.8.0
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '3.8'
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: rubocop
218
218
  requirement: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - '='
221
221
  - !ruby/object:Gem::Version
222
- version: 1.20.0
222
+ version: 0.93.1
223
223
  type: :development
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - '='
228
228
  - !ruby/object:Gem::Version
229
- version: 1.20.0
229
+ version: 0.93.1
230
230
  - !ruby/object:Gem::Dependency
231
231
  name: spring
232
232
  requirement: !ruby/object:Gem::Requirement
@@ -322,12 +322,18 @@ files:
322
322
  - app/pb_kits/playbook/pb_background/_background.scss
323
323
  - app/pb_kits/playbook/pb_background/background.html.erb
324
324
  - app/pb_kits/playbook/pb_background/background.rb
325
+ - app/pb_kits/playbook/pb_background/docs/_background_category.html.erb
326
+ - app/pb_kits/playbook/pb_background/docs/_background_category.jsx
327
+ - app/pb_kits/playbook/pb_background/docs/_background_category.md
325
328
  - app/pb_kits/playbook/pb_background/docs/_background_gradient.html.erb
326
329
  - app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx
327
330
  - app/pb_kits/playbook/pb_background/docs/_background_image.html.erb
328
331
  - app/pb_kits/playbook/pb_background/docs/_background_image.jsx
329
332
  - app/pb_kits/playbook/pb_background/docs/_background_light.html.erb
330
333
  - app/pb_kits/playbook/pb_background/docs/_background_light.jsx
334
+ - app/pb_kits/playbook/pb_background/docs/_background_status.html.erb
335
+ - app/pb_kits/playbook/pb_background/docs/_background_status.jsx
336
+ - app/pb_kits/playbook/pb_background/docs/_background_status.md
331
337
  - app/pb_kits/playbook/pb_background/docs/_background_white.html.erb
332
338
  - app/pb_kits/playbook/pb_background/docs/_background_white.jsx
333
339
  - app/pb_kits/playbook/pb_background/docs/_description.md
@@ -909,6 +915,9 @@ files:
909
915
  - app/pb_kits/playbook/pb_form_group/form_group.rb
910
916
  - app/pb_kits/playbook/pb_form_pill/_form_pill.jsx
911
917
  - app/pb_kits/playbook/pb_form_pill/_form_pill.scss
918
+ - app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.html.erb
919
+ - app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.jsx
920
+ - app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.md
912
921
  - app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.html.erb
913
922
  - app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.jsx
914
923
  - app/pb_kits/playbook/pb_form_pill/docs/_form_pill_tag.html.erb
@@ -1339,6 +1348,11 @@ files:
1339
1348
  - app/pb_kits/playbook/pb_pill/docs/_description.md
1340
1349
  - app/pb_kits/playbook/pb_pill/docs/_pill_default.html.erb
1341
1350
  - app/pb_kits/playbook/pb_pill/docs/_pill_default.jsx
1351
+ - app/pb_kits/playbook/pb_pill/docs/_pill_example.html.erb
1352
+ - app/pb_kits/playbook/pb_pill/docs/_pill_example.jsx
1353
+ - app/pb_kits/playbook/pb_pill/docs/_pill_example.md
1354
+ - app/pb_kits/playbook/pb_pill/docs/_pill_variants.html.erb
1355
+ - app/pb_kits/playbook/pb_pill/docs/_pill_variants.jsx
1342
1356
  - app/pb_kits/playbook/pb_pill/docs/example.yml
1343
1357
  - app/pb_kits/playbook/pb_pill/docs/index.js
1344
1358
  - app/pb_kits/playbook/pb_pill/pill.html.erb
@@ -2072,11 +2086,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
2072
2086
  version: '0'
2073
2087
  required_rubygems_version: !ruby/object:Gem::Requirement
2074
2088
  requirements:
2075
- - - ">"
2089
+ - - ">="
2076
2090
  - !ruby/object:Gem::Version
2077
- version: 1.3.1
2091
+ version: '0'
2078
2092
  requirements: []
2079
- rubygems_version: 3.1.6
2093
+ rubygems_version: 3.0.3
2080
2094
  signing_key:
2081
2095
  specification_version: 4
2082
2096
  summary: Playbook Design System