playbook_ui 8.0.0.pre.alpha4 → 8.2.0.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +8 -7
  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_card/card_header.rb +7 -7
  6. data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +84 -0
  7. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +15 -0
  8. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.jsx +40 -0
  9. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx +59 -0
  10. data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +7 -0
  11. data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +11 -0
  12. data/app/pb_kits/playbook/pb_collapsible/collapsible.test.js +50 -0
  13. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +7 -0
  14. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +17 -0
  15. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +16 -0
  16. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +15 -0
  17. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +10 -0
  18. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +19 -0
  19. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +9 -0
  20. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +1 -0
  21. data/app/pb_kits/playbook/pb_collapsible/index.js +79 -0
  22. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +2 -2
  23. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +2 -2
  24. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +6 -2
  25. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +1 -1
  26. data/app/pb_kits/playbook/pb_docs/kit_example.rb +1 -1
  27. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +2 -2
  28. data/app/pb_kits/playbook/pb_form/form.rb +11 -2
  29. data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -1
  30. data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +1 -1
  31. data/app/pb_kits/playbook/pb_form/form_with.html.erb +7 -14
  32. data/app/pb_kits/playbook/pb_form/form_with.rb +13 -6
  33. data/app/pb_kits/playbook/pb_nav/_item.jsx +2 -0
  34. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  35. data/app/pb_kits/playbook/pb_nav/item.html.erb +2 -2
  36. data/app/pb_kits/playbook/pb_nav/nav.html.erb +1 -1
  37. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +1 -1
  38. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +5 -0
  39. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.html.erb +5 -0
  40. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.jsx +7 -0
  41. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.md +1 -1
  42. data/app/pb_kits/playbook/pb_progress_simple/progress_simple.rb +1 -1
  43. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +43 -26
  44. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +18 -0
  45. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.html.erb +18 -5
  46. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx +10 -5
  47. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +7 -3
  48. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.rb +8 -30
  49. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.test.js +33 -0
  50. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +4 -3
  51. data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
  52. data/app/pb_kits/playbook/tokens/_border_radius.scss +0 -10
  53. data/app/pb_kits/playbook/tokens/_colors.scss +0 -25
  54. data/app/pb_kits/playbook/tokens/_line_height.scss +0 -9
  55. data/app/pb_kits/playbook/tokens/_opacity.scss +0 -9
  56. data/app/pb_kits/playbook/tokens/_positioning.scss +0 -9
  57. data/app/pb_kits/playbook/tokens/_screen_sizes.scss +0 -9
  58. data/app/pb_kits/playbook/tokens/_shadows.scss +0 -9
  59. data/app/pb_kits/playbook/tokens/_spacing.scss +0 -10
  60. data/app/pb_kits/playbook/tokens/_typography.scss +0 -25
  61. data/app/pb_kits/playbook/tokens/exports/_border_radius.scss +10 -0
  62. data/app/pb_kits/playbook/tokens/exports/_colors.scss +26 -0
  63. data/app/pb_kits/playbook/tokens/exports/_line_height.scss +10 -0
  64. data/app/pb_kits/playbook/tokens/exports/_opacity.scss +10 -0
  65. data/app/pb_kits/playbook/tokens/exports/_positioning.scss +10 -0
  66. data/app/pb_kits/playbook/tokens/exports/_screen_sizes.scss +10 -0
  67. data/app/pb_kits/playbook/tokens/exports/_shadows.scss +10 -0
  68. data/app/pb_kits/playbook/tokens/exports/_spacing.scss +10 -0
  69. data/app/pb_kits/playbook/tokens/exports/_typography.scss +24 -0
  70. data/app/pb_kits/playbook/vendor.js +3 -0
  71. data/dist/reset.css +1 -0
  72. data/lib/playbook/pb_doc_helper.rb +4 -0
  73. data/lib/playbook/props/base.rb +1 -1
  74. data/lib/playbook/version.rb +1 -1
  75. metadata +39 -14
  76. data/app/pb_kits/playbook/pb_form/form.html.erb +0 -7
@@ -1,3 +1,21 @@
1
1
  @import "../pb_title/title";
2
2
  @import "../pb_caption/caption";
3
3
  @import "../tokens/colors";
4
+
5
+ [class^=pb_time_stacked_kit] {
6
+ &[class*=_center] {
7
+ text-align: center;
8
+ }
9
+
10
+ &[class*=_right] {
11
+ text-align: right;
12
+ }
13
+
14
+ }
15
+
16
+ .time-spacing {
17
+ time {
18
+ display: inline-grid;
19
+ margin-bottom: $space_xs - 6px;
20
+ }
21
+ }
@@ -1,5 +1,18 @@
1
- <%= pb_rails("time_stacked", props: { date: DateTime.now }) %>
2
- <br/>
3
- <%= pb_rails("time_stacked", props: { align: "center", date: DateTime.now }) %>
4
- <br/>
5
- <%= pb_rails("time_stacked", props: { align: "right", date: DateTime.now }) %>
1
+ <%= pb_rails("time_stacked", props: {
2
+ time: DateTime.now,
3
+ align: "left",
4
+ }) %>
5
+
6
+ <br>
7
+
8
+ <%= pb_rails("time_stacked", props: {
9
+ time: Time.now,
10
+ align: "center"
11
+ }) %>
12
+
13
+ <br>
14
+
15
+ <%= pb_rails("time_stacked", props: {
16
+ time: Time.now,
17
+ align: "right"
18
+ }) %>
@@ -5,18 +5,23 @@ const TimeStackedDefault = (props) => {
5
5
  return (
6
6
  <div>
7
7
  <TimeStacked
8
+ time={new Date()}
9
+ timeZone="America/New_York"
8
10
  {...props}
9
- date={new Date()}
10
11
  />
12
+ <br />
11
13
  <TimeStacked
12
- {...props}
13
14
  align="center"
14
- date={new Date()}
15
+ time={new Date()}
16
+ timeZone="America/New_York"
17
+ {...props}
15
18
  />
19
+ <br />
16
20
  <TimeStacked
17
- {...props}
18
21
  align="right"
19
- date={new Date()}
22
+ time={new Date()}
23
+ timeZone="America/New_York"
24
+ {...props}
20
25
  />
21
26
  </div>
22
27
  )
@@ -1,8 +1,12 @@
1
1
  <%= content_tag(:div,
2
- align: object.align,
3
2
  id: object.id,
4
3
  data: object.data,
5
4
  class: object.classname) do %>
6
- <%= pb_rails("body", props: { text: object.format_time_string, color: "light" }) %>
7
- <%= pb_rails("caption", props: { text: object.format_timezone, color: "light" }) %>
5
+
6
+ <%= pb_rails("body", props: { color: "light", classname: "pb_time_stacked time-spacing" }) do %>
7
+ <time>
8
+ <%= object.format_time_string %>
9
+ <%= pb_rails("caption", props: { color: "light", tag: "span", text: object.pb_date_time.to_timezone.upcase, classname: "pb_time_stacked" }) %>
10
+ </time>
11
+ <% end %>
8
12
  <% end %>
@@ -3,49 +3,27 @@
3
3
  module Playbook
4
4
  module PbTimeStacked
5
5
  class TimeStacked < Playbook::KitBase
6
+ prop :time, required: true
6
7
  prop :align, type: Playbook::Props::Enum,
7
8
  values: %w[left center right],
8
9
  default: "left"
9
- prop :classnames, type: Playbook::Props::String,
10
- default: nil
11
- prop :dark, type: Playbook::Props::Boolean,
12
- default: false
13
- prop :date, type: Playbook::Props::Date, required: true
10
+ prop :timezone, default: "America/New_York"
14
11
 
15
12
  def classname
16
- generate_classname("pb_time_stacked_kit", dark_class)
17
- end
18
-
19
- def day
20
- day = Playbook::PbKit::PbDateTime.new(date)
21
- content_tag(:time, datetime: day.to_iso) do
22
- day.to_day.to_s
23
- end
24
- end
25
-
26
- def month
27
- month = Playbook::PbKit::PbDateTime.new(date)
28
- content_tag(:time, datetime: month.to_iso) do
29
- month.to_month.to_s
30
- end
13
+ # convert deprecated prop values
14
+ generate_classname("pb_time_stacked_kit", align)
31
15
  end
32
16
 
33
17
  def format_time_string
34
- "#{pb_date_time.to_full_hour}:#{pb_date_time.to_minutes}#{pb_date_time.to_meridian}"
18
+ "#{pb_date_time.to_hour}:#{pb_date_time.to_minutes}#{pb_date_time.to_meridian}"
35
19
  end
36
20
 
37
- def format_timezone
38
- pb_date_time.to_timezone
39
- end
40
-
41
- private
42
-
43
- def dark_class
44
- dark ? "dark" : nil
21
+ def format_timezone_string
22
+ pb_date_time.to_timezone.to_s
45
23
  end
46
24
 
47
25
  def pb_date_time
48
- Playbook::PbKit::PbDateTime.new(date)
26
+ Playbook::PbKit::PbDateTime.new(time, timezone)
49
27
  end
50
28
  end
51
29
  end
@@ -0,0 +1,33 @@
1
+ import { renderKit, screen } from '../utilities/test-utils'
2
+
3
+ import TimeStacked from './_time_stacked'
4
+
5
+ /*eslint no-multiple-empty-lines: 0*/
6
+
7
+ test('returns the namespaced class', () => {
8
+ const props = {
9
+ data: { testid: 'default' },
10
+ time: new Date,
11
+ }
12
+
13
+ renderKit(TimeStacked, props)
14
+ expect(screen.getByTestId('default')).toHaveClass('pb_time_stacked_kit_left')
15
+
16
+ renderKit(TimeStacked, props, {
17
+ align: 'center',
18
+ data: { testid: 'center' },
19
+ })
20
+ expect(screen.getByTestId('center')).toHaveClass('pb_time_stacked_kit_center')
21
+
22
+ renderKit(TimeStacked, props, {
23
+ align: 'right',
24
+ data: { testid: 'right' },
25
+ })
26
+ expect(screen.getByTestId('right')).toHaveClass('pb_time_stacked_kit_right')
27
+
28
+ renderKit(TimeStacked, props, {
29
+ dark: true,
30
+ data: { testid: 'dark' },
31
+ })
32
+ expect(screen.getByTestId('dark')).toHaveClass('pb_time_stacked_kit_left dark')
33
+ })
@@ -46,7 +46,7 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
46
46
  content: " ";
47
47
  position: absolute;
48
48
  top: 100%;
49
- left: 50%;
49
+ left: calc(50% - 10px);
50
50
  border-color: $white transparent transparent transparent;
51
51
  border-style: solid;
52
52
  border-width: 10px;
@@ -95,9 +95,10 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
95
95
  box-shadow: -8px 0 28px 0 $tooltip_shadow;
96
96
  margin: 0 0 0 $space_sm;
97
97
  .arrow {
98
- left: -#{$space_xs};
99
- top: $arrow_vertical_offset;
98
+ left: -18px;
99
+ right: auto;
100
100
  margin-bottom: 0;
101
+ top: $arrow_vertical_offset;
101
102
  transform: rotate(90deg);
102
103
  }
103
104
  &.flipped .arrow {
@@ -1,7 +1,7 @@
1
1
  import Highcharts from 'highcharts'
2
2
 
3
3
  import { highchartsTheme } from '../pb_dashboard/pbChartsLightTheme.js'
4
- import colors from '../tokens/_colors.scss'
4
+ import colors from '../tokens/exports/_colors.scss'
5
5
 
6
6
  require('highcharts/modules/variable-pie')(Highcharts)
7
7
  import highchartsMore from 'highcharts/highcharts-more.js'
@@ -32,13 +32,3 @@ $border_radius: (
32
32
  border_radius_none: $border_radius_none,
33
33
  border_radius_rounded: $border_radius_rounded
34
34
  );
35
-
36
-
37
- :export {
38
- @mixin export_border_radius($border_radius_list) {
39
- @each $name, $size in $border_radius_list {
40
- #{$name}: $size;
41
- }
42
- }
43
- @include export_border_radius($border_radius);
44
- }
@@ -250,28 +250,3 @@ $transparent: transparent;
250
250
  background: linear-gradient(135deg, $start 0%, $end 100%);
251
251
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{$start}', endColorstr='#{$end}', GradientType=1);
252
252
  }
253
-
254
- :export {
255
- @mixin export-colors($colors-list) {
256
- @each $name, $color in $colors-list {
257
- #{$name}: $color;
258
- }
259
- }
260
- @include export-colors($product_colors);
261
- @include export-colors($status_colors);
262
- @include export-colors($data_colors);
263
- @include export-colors($shadow_colors);
264
- @include export-colors($colors);
265
- @include export-colors($interface_colors);
266
- @include export-colors($main_colors);
267
- @include export-colors($background_colors);
268
- @include export-colors($card_colors);
269
- @include export-colors($active_colors);
270
- @include export-colors($action_colors);
271
- @include export-colors($hover_colors);
272
- @include export-colors($border_colors);
273
- @include export-colors($text_colors);
274
- @include export-colors($category_colors);
275
- gradient_start: $gradient_start;
276
- gradient_end: $gradient_end;
277
- }
@@ -14,12 +14,3 @@ $line_height: (
14
14
  looser: $lh_looser,
15
15
  loosest: $lh_loosest
16
16
  );
17
-
18
- :export {
19
- @mixin export_line_height($line_height_list) {
20
- @each $name, $settings in $line_height_list {
21
- #{$name}: $settings;
22
- }
23
- }
24
- @include export_line_height($line_height);
25
- }
@@ -19,12 +19,3 @@ $opacity: (
19
19
  opacity_8: $opacity_8,
20
20
  opacity_9: $opacity_9,
21
21
  );
22
-
23
- :export {
24
- @mixin export_opacity($opacity_list) {
25
- @each $name, $settings in $opacity_list {
26
- #{$name}: $settings;
27
- }
28
- }
29
- @include export_opacity($opacity);
30
- }
@@ -34,12 +34,3 @@ $offscreen: -9999px;
34
34
  }
35
35
  @return map-get($z_layers, $layer);
36
36
  }
37
-
38
- :export {
39
- @mixin export_z_index($z_index_list) {
40
- @each $name, $settings in $z_index_list {
41
- #{$name}: $settings;
42
- }
43
- }
44
- @include export_z_index($z_index);
45
- }
@@ -28,12 +28,3 @@ $breakpoints: (
28
28
  @content;
29
29
  }
30
30
  }
31
-
32
- :export {
33
- @mixin export_breakpoints($breakpoints_list) {
34
- @each $name, $settings in $breakpoints_list {
35
- #{$name}: $settings;
36
- }
37
- }
38
- @include export_breakpoints($breakpoints);
39
- }
@@ -11,12 +11,3 @@ $box_shadows: (
11
11
  shadow_deeper: $shadow_deeper,
12
12
  shadow_deepest: $shadow_deepest
13
13
  );
14
-
15
- :export {
16
- @mixin export_shadows($shadows_list) {
17
- @each $name, $settings in $shadows_list {
18
- #{$name}: $settings;
19
- }
20
- }
21
- @include export_shadows($box_shadows);
22
- }
@@ -11,13 +11,3 @@ $spaces:(
11
11
  space_xl: $space_xl,
12
12
  none: 0
13
13
  );
14
-
15
-
16
- :export {
17
- @mixin export_spacing($spacing_list) {
18
- @each $name, $size in $spacing_list {
19
- #{$name}: $size;
20
- }
21
- }
22
- @include export_spacing($spaces);
23
- }
@@ -62,28 +62,3 @@ $boldest: 800;
62
62
  $bolder: 700;
63
63
  $light: 300;
64
64
  $lighter: 100;
65
-
66
-
67
-
68
- :export {
69
- font_family_base: $font_family_base;
70
- text_jumbo: $text_jumbo;
71
- text_largest: $text_largest;
72
- text_larger: $text_larger;
73
- text_large: $text_large;
74
- text_base: $text_base;
75
- text_default: $text_default;
76
- text_normal: $text_normal;
77
- text_medium: $text_medium;
78
- text_small: $text_small;
79
- text_smaller: $text_smaller;
80
- text_smallest: $text_smallest;
81
- heading_1: $heading_1;
82
- heading_2: $heading_2;
83
- heading_3: $heading_3;
84
- heading_4: $heading_4;
85
- lighter: $lighter;
86
- light: $light;
87
- bold: $bold;
88
- regular: $regular;
89
- }
@@ -0,0 +1,10 @@
1
+ @import "../border_radius";
2
+
3
+ :export {
4
+ @mixin export_border_radius($border_radius_list) {
5
+ @each $name, $size in $border_radius_list {
6
+ #{$name}: $size;
7
+ }
8
+ }
9
+ @include export_border_radius($border_radius);
10
+ }
@@ -0,0 +1,26 @@
1
+ @import "../colors";
2
+
3
+ :export {
4
+ @mixin export-colors($colors-list) {
5
+ @each $name, $color in $colors-list {
6
+ #{$name}: $color;
7
+ }
8
+ }
9
+ @include export-colors($product_colors);
10
+ @include export-colors($status_colors);
11
+ @include export-colors($data_colors);
12
+ @include export-colors($shadow_colors);
13
+ @include export-colors($colors);
14
+ @include export-colors($interface_colors);
15
+ @include export-colors($main_colors);
16
+ @include export-colors($background_colors);
17
+ @include export-colors($card_colors);
18
+ @include export-colors($active_colors);
19
+ @include export-colors($action_colors);
20
+ @include export-colors($hover_colors);
21
+ @include export-colors($border_colors);
22
+ @include export-colors($text_colors);
23
+ @include export-colors($category_colors);
24
+ gradient_start: $gradient_start;
25
+ gradient_end: $gradient_end;
26
+ }
@@ -0,0 +1,10 @@
1
+ @import "../line_height";
2
+
3
+ :export {
4
+ @mixin export_line_height($line_height_list) {
5
+ @each $name, $settings in $line_height_list {
6
+ #{$name}: $settings;
7
+ }
8
+ }
9
+ @include export_line_height($line_height);
10
+ }
@@ -0,0 +1,10 @@
1
+ @import "../opacity";
2
+
3
+ :export {
4
+ @mixin export_opacity($opacity_list) {
5
+ @each $name, $settings in $opacity_list {
6
+ #{$name}: $settings;
7
+ }
8
+ }
9
+ @include export_opacity($opacity);
10
+ }