playbook_ui 7.1.1 → 7.3.0.pre.alpha3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/data/menu.yml +1 -0
  4. data/app/pb_kits/playbook/index.js +1 -0
  5. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +2 -1
  6. data/app/pb_kits/playbook/pb_body/body.rb +1 -1
  7. data/app/pb_kits/playbook/pb_caption/_caption.html.erb +7 -5
  8. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.html.erb +11 -0
  9. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +28 -0
  10. data/app/pb_kits/playbook/pb_caption/docs/example.yml +2 -0
  11. data/app/pb_kits/playbook/pb_caption/docs/index.js +1 -0
  12. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +1 -1
  13. data/app/pb_kits/playbook/pb_collapsible/_collapsible.html.erb +9 -0
  14. data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +142 -0
  15. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +17 -0
  16. data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_content.html.erb +7 -0
  17. data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_main.html.erb +16 -0
  18. data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +15 -0
  19. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +21 -0
  20. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +24 -0
  21. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.html.erb +10 -0
  22. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.jsx +17 -0
  23. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +10 -0
  24. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +17 -0
  25. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +9 -0
  26. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +2 -0
  27. data/app/pb_kits/playbook/pb_collapsible/index.js +82 -0
  28. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
  29. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +2 -1
  30. data/app/pb_kits/playbook/pb_nav/_item.html.erb +3 -0
  31. data/app/pb_kits/playbook/pb_nav/_item.jsx +14 -1
  32. data/app/pb_kits/playbook/pb_nav/_nav.jsx +3 -0
  33. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +22 -3
  34. data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.html.erb +6 -0
  35. data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.jsx +29 -0
  36. data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.html.erb +7 -0
  37. data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.jsx +42 -0
  38. data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.md +1 -0
  39. data/app/pb_kits/playbook/pb_nav/docs/example.yml +5 -0
  40. data/app/pb_kits/playbook/pb_nav/docs/index.js +2 -0
  41. data/app/pb_kits/playbook/pb_nav/item.rb +1 -0
  42. data/app/pb_kits/playbook/pb_nav/nav.rb +6 -1
  43. data/app/pb_kits/playbook/pb_pill/_pill.scss +1 -0
  44. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -3
  45. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +26 -47
  46. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +32 -0
  47. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx +6 -2
  48. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +2 -1
  49. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.jsx +2 -1
  50. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical.jsx +9 -3
  51. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +1 -1
  52. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.html.erb +4 -4
  53. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_options.html.erb +16 -0
  54. data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +3 -2
  55. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +16 -9
  56. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.html.erb +3 -2
  57. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_options.html.erb +16 -0
  58. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +4 -3
  59. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +3 -0
  60. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.html.erb +3 -3
  61. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_options.html.erb +15 -0
  62. data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +3 -2
  63. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +10 -0
  64. data/app/pb_kits/playbook/pb_time/_time.html.erb +17 -20
  65. data/app/pb_kits/playbook/pb_time/_time.jsx +40 -27
  66. data/app/pb_kits/playbook/pb_time/_time.scss +4 -24
  67. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +4 -1
  68. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +11 -11
  69. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +13 -1
  70. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +4 -1
  71. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +3 -1
  72. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +7 -2
  73. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +3 -2
  74. data/app/pb_kits/playbook/props.rb +1 -1
  75. data/app/pb_kits/playbook/props/base.rb +6 -4
  76. data/app/pb_kits/playbook/vendor.js +3 -0
  77. data/lib/playbook/version.rb +1 -1
  78. metadata +30 -4
@@ -1,10 +1,16 @@
1
1
  @import "../tokens/colors";
2
2
  @import "../tokens/spacing";
3
- @import "../pb_caption/caption";
3
+ @import "../tokens/opacity";
4
+ @import "./section_separator_mixin";
4
5
 
5
- $section_colors: (
6
+ $section_colors_light: (
6
7
  background: $bg_light,
7
- card: $card_light,
8
+ card: $card_light,
9
+ );
10
+
11
+ $section_colors_dark: (
12
+ background: $bg_dark,
13
+ card: tint($bg_dark,10),
8
14
  );
9
15
 
10
16
  [class^=pb_section_separator_kit] {
@@ -12,8 +18,7 @@ $section_colors: (
12
18
  justify-content: center;
13
19
  align-items: center;
14
20
  position: relative;
15
-
16
- @each $color_name, $color_value in $section_colors {
21
+ @each $color_name, $color_value in $section_colors_light {
17
22
  &[class*=_#{$color_name}] {
18
23
  span {
19
24
  display: inline-block;
@@ -24,64 +29,38 @@ $section_colors: (
24
29
  }
25
30
  }
26
31
  }
27
-
28
32
  &::after {
29
- content: "";
30
- height: 1px;
31
- width: 100%;
32
- background: $border_light;
33
- position: absolute;
34
- top: 50%;
35
- left: 0;
36
- z-index: 0;
33
+ @include section_separator_horizontal(false);
37
34
  }
38
-
39
35
  &[class*=_horizontal] {
40
36
  justify-content: center;
41
37
  }
42
38
  &[class*=_vertical] {
43
39
  &::after {
44
- content: "";
45
- height: 100%;
46
- width: 1px;
47
- margin-left: $space_xs;
48
- margin-right: $space_xs;
49
- background: $border_light;
50
- position: initial;
51
- z-index: 0;
40
+ @include section_separator_vertical(false);
52
41
  }
53
42
  }
54
43
 
55
- &[class*=_dark] {
44
+ // Dark =========================
45
+
46
+ &.dark {
56
47
  &::after {
57
- content: "";
58
- height: 1px;
59
- width: 100%;
60
- background: $border_dark;
61
- position: absolute;
62
- top: 50%;
63
- left: 0;
64
- z-index: 0;
48
+ @include section_separator_horizontal(true);
65
49
  }
66
- &[class*=_background] {
67
- span {
68
- display: inline-block;
69
- padding: 0 $space_xs;
70
- background: $bg_dark;
71
- position: relative;
72
- z-index: 1;
50
+ @each $color_name, $color_value in $section_colors_dark {
51
+ &[class*=_#{$color_name}] {
52
+ span {
53
+ display: inline-block;
54
+ padding: 0 $space_xs;
55
+ background: #{$color_value};
56
+ position: relative;
57
+ z-index: 1;
58
+ }
73
59
  }
74
60
  }
75
61
  &[class*=_vertical] {
76
62
  &::after {
77
- content: "";
78
- height: 100%;
79
- width: 1px;
80
- margin-left: $space_xs;
81
- margin-right: $space_xs;
82
- background: $border_dark;
83
- position: initial;
84
- z-index: 0;
63
+ @include section_separator_vertical(true);
85
64
  }
86
65
  }
87
66
  }
@@ -0,0 +1,32 @@
1
+ @import "../tokens/colors";
2
+ @import "../tokens/spacing";
3
+
4
+ @mixin section_separator_vertical($dark: false) {
5
+ @if $dark == false {
6
+ background: $border_light;
7
+ } @else {
8
+ background: $border_dark;
9
+ }
10
+ content: "";
11
+ height: 100%;
12
+ width: 1px;
13
+ margin-left: $space_xs;
14
+ margin-right: $space_xs;
15
+ position: initial;
16
+ z-index: 0;
17
+ }
18
+
19
+ @mixin section_separator_horizontal($dark: false) {
20
+ @if $dark == false {
21
+ background: $border_light;
22
+ } @else {
23
+ background: $border_dark;
24
+ }
25
+ content: "";
26
+ height: 1px;
27
+ width: 100%;
28
+ position: absolute;
29
+ top: 50%;
30
+ left: 0;
31
+ z-index: 0;
32
+ }
@@ -1,9 +1,13 @@
1
1
  import React from 'react'
2
2
  import { SectionSeparator } from '../../'
3
3
 
4
- const SectionSeparatorLine = () => {
4
+ const SectionSeparatorLine = (props) => {
5
5
  return (
6
- <SectionSeparator />
6
+ <div>
7
+ <SectionSeparator
8
+ {...props}
9
+ />
10
+ </div>
7
11
  )
8
12
  }
9
13
 
@@ -1,9 +1,10 @@
1
1
  import React from 'react'
2
2
  import { SectionSeparator } from '../../'
3
3
 
4
- const SectionSeparatorText = () => {
4
+ const SectionSeparatorText = (props) => {
5
5
  return (
6
6
  <SectionSeparator
7
+ {...props}
7
8
  text="Title Separator"
8
9
  />
9
10
  )
@@ -1,9 +1,10 @@
1
1
  import React from 'react'
2
2
  import { SectionSeparator } from '../../'
3
3
 
4
- const SectionSeparatorTextBackground = () => {
4
+ const SectionSeparatorTextBackground = (props) => {
5
5
  return (
6
6
  <SectionSeparator
7
+ {...props}
7
8
  text="Title Separator"
8
9
  variant="background"
9
10
  />
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { Flex, FlexItem, SectionSeparator } from '../../'
3
3
 
4
- const SectionSeparatorVertical = () => {
4
+ const SectionSeparatorVertical = (props) => {
5
5
  return (
6
6
  <Flex
7
7
  inline="flex-container"
@@ -10,11 +10,17 @@ const SectionSeparatorVertical = () => {
10
10
  <FlexItem>
11
11
  {'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'}
12
12
  </FlexItem>
13
- <SectionSeparator orientation="vertical" />
13
+ <SectionSeparator
14
+ {...props}
15
+ orientation="vertical"
16
+ />
14
17
  <FlexItem>
15
18
  {'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'}
16
19
  </FlexItem>
17
- <SectionSeparator orientation="vertical" />
20
+ <SectionSeparator
21
+ {...props}
22
+ orientation="vertical"
23
+ />
18
24
  <FlexItem>
19
25
  {'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'}
20
26
  </FlexItem>
@@ -18,7 +18,7 @@ module Playbook
18
18
  default: false
19
19
 
20
20
  def classname
21
- generate_classname("pb_section_separator_kit", variant, orientation, dark_class)
21
+ generate_classname("pb_section_separator_kit", variant, orientation)
22
22
  end
23
23
 
24
24
  private
@@ -4,9 +4,9 @@
4
4
  class: object.classname) do %>
5
5
 
6
6
  <% if object.multi %>
7
- <%= check_box_tag object.name, object.value, object.checked, id: object.input_id_present, disabled: object.disabled %>
7
+ <%= check_box_tag(object.name, object.value, object.checked, object.additional_input_options) %>
8
8
  <% else %>
9
- <%= radio_button_tag object.name, object.value, object.checked, id: object.input_id_present, disabled: object.disabled %>
9
+ <%= radio_button_tag(object.name, object.value, object.checked, object.additional_input_options) %>
10
10
  <% end %>
11
11
 
12
12
  <label for="<%= object.input_id_present %>">
@@ -17,9 +17,9 @@
17
17
  <% end %>
18
18
  <% if object.icon %>
19
19
  <div class="pb_selectable_card_circle">
20
- <%= pb_rails("icon", props: { icon: "check", fixed_width: true}) %>
20
+ <%= pb_rails("icon", props: { icon: "check", fixed_width: true }) %>
21
21
  </div>
22
22
  <% end %>
23
23
  </label>
24
24
 
25
- <% end %>
25
+ <% end %>
@@ -0,0 +1,16 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("selectable_card", props: {
4
+ text: "Selected With Options",
5
+ input_id: "selected_with options",
6
+ name: "selected_with options",
7
+ value: "selected_with options",
8
+ checked: true,
9
+ input_options: {
10
+ class: "input-class",
11
+ name: "overwriting-name",
12
+ value: "overwriting-value",
13
+ }
14
+ }) %>
15
+
16
+ </div>
@@ -1,11 +1,12 @@
1
1
  examples:
2
-
2
+
3
3
  rails:
4
4
  - selectable_card_default: Default
5
5
  - selectable_card_single_select: Single Select
6
6
  - selectable_card_block: Block
7
+ - selectable_card_options: With Options
8
+
7
9
 
8
-
9
10
  react:
10
11
  - selectable_card_default: Default
11
12
  - selectable_card_single_select: Single Select
@@ -8,21 +8,21 @@ module Playbook
8
8
  partial "pb_selectable_card/selectable_card"
9
9
 
10
10
  prop :checked, type: Playbook::Props::Boolean,
11
- default: false
11
+ default: false
12
12
  prop :disabled, type: Playbook::Props::Boolean,
13
- default: false
13
+ default: false
14
14
  prop :icon, type: Playbook::Props::Boolean,
15
15
  default: false
16
16
  prop :multi, type: Playbook::Props::Boolean,
17
- default: true
17
+ default: true
18
18
  prop :input_id, type: Playbook::Props::String
19
+
20
+ prop :input_options, type: Playbook::Props::Hash,
21
+ default: {}
19
22
  prop :name
20
23
  prop :text
21
24
  prop :value
22
25
 
23
-
24
-
25
-
26
26
  def classname
27
27
  generate_classname("pb_selectable_card_kit", checked_class, enable_disabled_class)
28
28
  end
@@ -31,10 +31,17 @@ module Playbook
31
31
  input_id.present? ? input_id : name
32
32
  end
33
33
 
34
+ def additional_input_options
35
+ input_options.merge(
36
+ id: input_id_present,
37
+ disabled: disabled
38
+ )
39
+ end
40
+
34
41
  private
35
-
42
+
36
43
  def checked_class
37
- checked ? "checked" : nil
44
+ checked ? "checked" : nil
38
45
  end
39
46
 
40
47
  def enable_disabled_class
@@ -42,4 +49,4 @@ module Playbook
42
49
  end
43
50
  end
44
51
  end
45
- end
52
+ end
@@ -1,7 +1,7 @@
1
1
  <%= content_tag(:div,
2
2
  data: object.data,
3
3
  class: object.classname) do %>
4
-
4
+
5
5
  <%= pb_rails("selectable_card", props: {
6
6
  input_id: object.input_id,
7
7
  name: object.name,
@@ -10,7 +10,8 @@
10
10
  disabled: object.disabled,
11
11
  icon: object.checkmark,
12
12
  multi: object.multi,
13
- dark: object.dark
13
+ dark: object.dark,
14
+ input_options: object.input_options
14
15
  }) do %>
15
16
 
16
17
  <%= pb_rails("selectable_icon", props: {
@@ -0,0 +1,16 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("selectable_card_icon", props: {
4
+ icon: "chart-line",
5
+ title_text: "Quarterly Report",
6
+ body_text: "Export",
7
+ input_id: "card-icon-id",
8
+ checked: true,
9
+ input_options: {
10
+ class: "input-class",
11
+ name: "overwriting-name",
12
+ value: "overwriting-value",
13
+ }
14
+ }) %>
15
+
16
+ </div>
@@ -1,12 +1,13 @@
1
1
  examples:
2
-
2
+
3
3
  rails:
4
4
  - selectable_card_icon_default: Default
5
5
  - selectable_card_icon_checkmark: Checkmark
6
6
  - selectable_card_icon_single_select: Single Select
7
+ - selectable_card_icon_options: With Options
8
+
9
+
7
10
 
8
-
9
-
10
11
  react:
11
12
  - selectable_card_icon_default: Default
12
13
  - selectable_card_icon_checkmark: Checkmark
@@ -25,6 +25,9 @@ module Playbook
25
25
  default: false
26
26
  prop :value
27
27
 
28
+ prop :input_options, type: Playbook::Props::Hash,
29
+ default: {}
30
+
28
31
  def classname
29
32
  generate_classname("pb_selectable_card_icon_kit", checked_class, enabled_disabled_class)
30
33
  end
@@ -4,15 +4,15 @@
4
4
  class: object.classname) do %>
5
5
 
6
6
  <% if object.inputs == "disabled" %>
7
-
7
+
8
8
  <%= pb_rails("icon", props: { icon: object.icon, size: "2x" }) %>
9
9
  <%= pb_rails("title", props: { text: object.text, tag: "h4", size: 4 }) %>
10
10
 
11
11
  <% else %>
12
12
  <% if object.multi %>
13
- <%= check_box_tag object.name, object.value, object.checked, id: object.input_id, disabled: object.disabled %>
13
+ <%= check_box_tag(object.name, object.value, object.checked, object.additional_input_options) %>
14
14
  <% else %>
15
- <%= radio_button_tag object.name, object.value, object.checked, id: object.input_id, disabled: object.disabled %>
15
+ <%= radio_button_tag(object.name, object.value, object.checked, object.additional_input_options) %>
16
16
  <% end %>
17
17
 
18
18
  <label for="<%= object.input_id_present %>">
@@ -0,0 +1,15 @@
1
+ <div class="pb--doc-demo-row">
2
+
3
+ <%= pb_rails("selectable_icon", props: {
4
+ icon: "dollar-sign",
5
+ input_id: "options-id",
6
+ checked: true,
7
+ text: "US Dollar",
8
+ input_options: {
9
+ class: "input-class",
10
+ name: "overwriting-name",
11
+ value: "overwriting-value",
12
+ }
13
+ }) %>
14
+
15
+ </div>
@@ -1,10 +1,11 @@
1
1
  examples:
2
-
2
+
3
3
  rails:
4
4
  - selectable_icon_default: Default
5
5
  - selectable_icon_single_select: Single Select
6
+ - selectable_icon_options: With Options
7
+
6
8
 
7
-
8
9
  react:
9
10
  - selectable_icon_default: Default
10
11
  - selectable_icon_single_select: Single Select