playbook_ui 13.28.0.pre.alpha.PLAY13592980 → 13.28.0.pre.alpha.dialogturbostreameventlistener3017

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +2 -3
  3. data/app/pb_kits/playbook/index.js +2 -0
  4. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +4 -1
  5. data/app/pb_kits/playbook/pb_bar_graph/barGraph.test.js +31 -0
  6. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +16 -0
  7. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +5 -2
  8. data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +45 -0
  9. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +16 -0
  10. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +53 -0
  11. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +14 -8
  12. data/app/pb_kits/playbook/pb_collapsible/collapsible.test.js +24 -0
  13. data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +7 -1
  14. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +9 -1
  15. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +2 -3
  16. data/app/pb_kits/playbook/pb_draggable/_draggable.scss +10 -0
  17. data/app/pb_kits/playbook/pb_draggable/_draggable.tsx +53 -0
  18. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +92 -0
  19. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.jsx +53 -0
  20. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers.jsx +159 -0
  21. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.jsx +121 -0
  22. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +9 -0
  23. data/app/pb_kits/playbook/pb_draggable/docs/index.js +3 -0
  24. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +65 -0
  25. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +54 -0
  26. data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +57 -0
  27. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +2 -2
  28. data/app/pb_kits/playbook/pb_gauge/gauge.test.js +35 -0
  29. data/app/pb_kits/playbook/pb_icon/icon.rb +2 -3
  30. data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +4 -1
  31. data/app/pb_kits/playbook/pb_line_graph/lineGraph.test.js +52 -0
  32. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +16 -0
  33. data/app/pb_kits/playbook/pb_table/_table.tsx +5 -0
  34. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.jsx +33 -32
  35. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.md +1 -1
  36. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column_rails.md +2 -0
  37. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.jsx +33 -33
  38. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.md +1 -1
  39. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row_rails.html.erb +34 -0
  40. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row_rails.md +2 -0
  41. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.jsx +51 -50
  42. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.md +1 -1
  43. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data_rails.html.erb +54 -0
  44. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data_rails.md +2 -0
  45. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.jsx +37 -38
  46. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.md +1 -0
  47. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row_rails.html.erb +53 -0
  48. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row_rails.md +1 -0
  49. data/app/pb_kits/playbook/pb_table/docs/{_table_alignment_row.html.erb → _table_outer_padding.html.erb} +7 -7
  50. data/app/pb_kits/playbook/pb_table/docs/_table_outer_padding.jsx +76 -0
  51. data/app/pb_kits/playbook/pb_table/docs/_table_outer_padding.md +1 -0
  52. data/app/pb_kits/playbook/pb_table/docs/example.yml +9 -9
  53. data/app/pb_kits/playbook/pb_table/docs/index.js +1 -0
  54. data/app/pb_kits/playbook/pb_table/styles/_all.scss +1 -0
  55. data/app/pb_kits/playbook/pb_table/styles/_outer_padding.scss +21 -0
  56. data/app/pb_kits/playbook/pb_table/table.rb +14 -1
  57. data/app/pb_kits/playbook/pb_table/table.test.js +5 -1
  58. data/app/pb_kits/playbook/pb_treemap_chart/treemapChart.test.js +61 -0
  59. data/app/pb_kits/playbook/playbook-doc.js +2 -0
  60. data/app/pb_kits/playbook/tokens/_vertical_align.scss +18 -0
  61. data/app/pb_kits/playbook/utilities/_vertical_align.scss +16 -0
  62. data/app/pb_kits/playbook/utilities/globalProps.ts +12 -1
  63. data/dist/menu.yml +5 -2
  64. data/dist/playbook-rails.js +6 -6
  65. data/lib/playbook/classnames.rb +1 -0
  66. data/lib/playbook/kit_base.rb +2 -0
  67. data/lib/playbook/version.rb +1 -1
  68. data/lib/playbook/vertical_align.rb +37 -0
  69. metadata +35 -6
  70. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.html.erb +0 -63
  71. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.html.erb +0 -52
  72. /data/app/pb_kits/playbook/pb_table/docs/{_table_alignment_column.html.erb → _table_alignment_column_rails.html.erb} +0 -0
@@ -0,0 +1,76 @@
1
+ import React from 'react'
2
+
3
+ import Table from '../_table'
4
+ import Button from '../../pb_button/_button'
5
+
6
+ const TableOuterPadding = (props) => {
7
+ return (
8
+ <Table
9
+ outerPadding="sm"
10
+ size="sm"
11
+ {...props}
12
+ >
13
+ <thead>
14
+ <tr>
15
+ <th>{'Column 1'}</th>
16
+ <th>{'Column 2'}</th>
17
+ <th>{'Column 3'}</th>
18
+ <th>{'Column 4'}</th>
19
+ <th>{''}</th>
20
+ </tr>
21
+ </thead>
22
+ <tbody>
23
+ <tr>
24
+ <td>{'Value 1'}</td>
25
+ <td>{'Value 2'}</td>
26
+ <td>{'Value 3'}</td>
27
+ <td>{'Value 4'}</td>
28
+ <td align="right">
29
+ {' '}
30
+ <Button
31
+ onClick={() => alert('button clicked!')}
32
+ text="Action"
33
+ variant="secondary"
34
+ {...props}
35
+ />
36
+ {' '}
37
+ </td>
38
+ </tr>
39
+ <tr>
40
+ <td>{'Value 1'}</td>
41
+ <td>{'Value 2'}</td>
42
+ <td>{'Value 3'}</td>
43
+ <td>{'Value 4'}</td>
44
+ <td align="right">
45
+ {' '}
46
+ <Button
47
+ onClick={() => alert('button clicked!')}
48
+ text="Action"
49
+ variant="secondary"
50
+ {...props}
51
+ />
52
+ {' '}
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td>{'Value 1'}</td>
57
+ <td>{'Value 2'}</td>
58
+ <td>{'Value 3'}</td>
59
+ <td>{'Value 4'}</td>
60
+ <td align="right">
61
+ {' '}
62
+ <Button
63
+ onClick={() => alert('button clicked!')}
64
+ text="Action"
65
+ variant="secondary"
66
+ {...props}
67
+ />
68
+ {' '}
69
+ </td>
70
+ </tr>
71
+ </tbody>
72
+ </Table>
73
+ )
74
+ }
75
+
76
+ export default TableOuterPadding
@@ -0,0 +1 @@
1
+ Pass any of our spacing tokens to the `outerPadding` / `outer_padding` prop to customize a table's outer padding (both the left padding of the first column and the right padding of the last column).
@@ -5,10 +5,10 @@ examples:
5
5
  - table_lg: Large
6
6
  - table_sticky: Sticky Header
7
7
  - table_header: Table Header
8
- - table_alignment_row: Row Alignment
9
- - table_alignment_column: Column Alignment
10
- - table_alignment_shift_row: Shift Row
11
- - table_alignment_shift_data: Shift Column Data
8
+ - table_alignment_row_rails: Row Alignment
9
+ - table_alignment_column_rails: Cell Alignment
10
+ - table_alignment_shift_row_rails: Row Shift
11
+ - table_alignment_shift_data_rails: Cell Shift
12
12
  - table_side_highlight: Side Highlight
13
13
  - table_container: Table Container Off
14
14
  - table_disable_hover: Disable Hover
@@ -26,7 +26,7 @@ examples:
26
26
  - table_striped: Striped Table
27
27
  - table_with_subcomponents_rails: Table with Sub Components (Table Elements)
28
28
  - table_with_subcomponents_as_divs: Table with Sub Components (Divs)
29
-
29
+ - table_outer_padding: Outer Padding
30
30
 
31
31
  react:
32
32
  - table_sm: Small
@@ -34,9 +34,9 @@ examples:
34
34
  - table_lg: Large
35
35
  - table_sticky: Sticky Header
36
36
  - table_alignment_row: Row Alignment
37
- - table_alignment_column: Column Alignment
38
- - table_alignment_shift_row: Shift Row
39
- - table_alignment_shift_data: Shift Column Data
37
+ - table_alignment_column: Cell Alignment
38
+ - table_alignment_shift_row: Row Shift
39
+ - table_alignment_shift_data: Cell Shift
40
40
  - table_side_highlight: Side Highlight
41
41
  - table_container: Table Container Off
42
42
  - table_disable_hover: Disable Hover
@@ -54,4 +54,4 @@ examples:
54
54
  - table_striped: Striped Table
55
55
  - table_with_subcomponents: Table with Sub Components (Table Elements)
56
56
  - table_with_subcomponents_as_divs: Table with Sub Components (Divs)
57
-
57
+ - table_outer_padding: Outer Padding
@@ -24,3 +24,4 @@ export { default as TableStriped } from './_table_striped.jsx'
24
24
  export { default as TableDiv } from './_table_div.jsx'
25
25
  export { default as TableWithSubcomponents } from './_table_with_subcomponents.jsx'
26
26
  export { default as TableWithSubcomponentsAsDivs } from './_table_with_subcomponents_as_divs.jsx'
27
+ export { default as TableOuterPadding } from './_table_outer_padding.jsx'
@@ -19,3 +19,4 @@
19
19
  @import "vertical_border";
20
20
  @import "table_header";
21
21
  @import "striped";
22
+ @import "outer_padding";
@@ -0,0 +1,21 @@
1
+ @import "../../tokens/spacing";
2
+
3
+ [class^=pb_table] {
4
+ @each $name, $value in $spaces {
5
+ &.outer_padding_#{$name} {
6
+ td:first-child,
7
+ th:first-child,
8
+ .pb_table_td:first-child,
9
+ .pb_table_th:first-child {
10
+ padding-left: #{$value} !important;
11
+ }
12
+
13
+ td:last-child,
14
+ th:last-child,
15
+ .pb_table_td:last-child,
16
+ .pb_table_th:last-child {
17
+ padding-right: #{$value} !important;
18
+ }
19
+ }
20
+ }
21
+ }
@@ -30,12 +30,16 @@ module Playbook
30
30
  prop :tag, type: Playbook::Props::Enum,
31
31
  values: %w[table div],
32
32
  default: "table"
33
+ prop :outer_padding, type: Playbook::Props::Enum,
34
+ values: ["none", "xxs", "xs", "sm", "md", "lg", "xl", nil],
35
+ default: nil
33
36
 
34
37
  def classname
35
38
  generate_classname(
36
39
  "pb_table", "table-#{size}", single_line_class, dark_class,
37
40
  disable_hover_class, container_class, data_table_class, sticky_class, collapse_class,
38
- vertical_border_class, striped_class, "table-responsive-#{responsive}", separator: " "
41
+ vertical_border_class, striped_class, outer_padding_class,
42
+ "table-responsive-#{responsive}", separator: " "
39
43
  )
40
44
  end
41
45
 
@@ -76,6 +80,15 @@ module Playbook
76
80
  def vertical_border_class
77
81
  vertical_border ? "vertical-border" : nil
78
82
  end
83
+
84
+ def outer_padding_class
85
+ if outer_padding.nil?
86
+ outer_padding
87
+ else
88
+ space_css_name = outer_padding != "none" ? "space_" : ""
89
+ outer_padding.present? ? "outer_padding_#{space_css_name}#{outer_padding}" : nil
90
+ end
91
+ end
79
92
  end
80
93
  end
81
94
  end
@@ -52,7 +52,6 @@ const TableTagTable = () => {
52
52
  );
53
53
  };
54
54
 
55
-
56
55
  const props = {
57
56
  data: { testid: "table" },
58
57
  sticky: false
@@ -161,3 +160,8 @@ test("Renders Table.Cell subkit for HTML Table elements Table", () => {
161
160
  expect(head).toBeInTheDocument()
162
161
  expect(head.tagName).toBe("TD")
163
162
  })
163
+
164
+ test("Should have outerPadding class", () => {
165
+ const kit = renderKit(Table, props, { outerPadding: "sm" })
166
+ expect(kit).toHaveClass("pb_table table-sm table-responsive-collapse table-card outer_padding_space_sm table-collapse-sm")
167
+ })
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+ import { render, screen } from '../utilities/test-utils';
3
+ import TreemapChart from './_treemap_chart';
4
+
5
+ beforeEach(() => {
6
+ // Silences error logs within the test suite.
7
+ jest.spyOn(console, 'error');
8
+ jest.spyOn(console, 'warn');
9
+ console.error.mockImplementation(() => {});
10
+ console.warn.mockImplementation(() => {});
11
+ });
12
+
13
+ afterEach(() => {
14
+ console.error.mockRestore();
15
+ console.warn.mockRestore();
16
+ });
17
+
18
+ const testId = 'treemapchart1';
19
+
20
+ test('uses exact classname', () => {
21
+ const data = [
22
+ {
23
+ name: "Pepperoni",
24
+ parent: "Toppings",
25
+ value: 600,
26
+ }, {
27
+ name: "Cheese",
28
+ parent: "Toppings",
29
+ value: 510,
30
+ }, {
31
+ name: "Mushroom",
32
+ parent: "Toppings",
33
+ value: 330,
34
+ },{
35
+ name: "Onions",
36
+ parent: "Toppings",
37
+ value: 250,
38
+ }, {
39
+ name: "Olives",
40
+ parent: "Toppings",
41
+ value: 204,
42
+ }, {
43
+ name: "Pineapple",
44
+ parent: "Toppings",
45
+ value: 90,
46
+ }, {
47
+ name: "Pizza Toppings",
48
+ id: "Toppings",
49
+ },
50
+ ]
51
+ render(
52
+ <TreemapChart
53
+ chartData={data}
54
+ data={{ testid: testId }}
55
+ id="tree-map-id"
56
+ />
57
+ );
58
+
59
+ const kit = screen.getByTestId(testId);
60
+ expect(kit).toHaveClass('pb_treemap_chart');
61
+ });
@@ -34,6 +34,7 @@ import * as DateYearStacked from 'pb_date_year_stacked/docs'
34
34
  import * as Detail from 'pb_detail/docs'
35
35
  import * as Dialog from 'pb_dialog/docs'
36
36
  import * as DistributionBarDocs from 'pb_distribution_bar/docs'
37
+ import * as Draggable from 'pb_draggable/docs'
37
38
  import * as Dropdown from 'pb_dropdown/docs'
38
39
  import * as FileUpload from 'pb_file_upload/docs'
39
40
  import * as Filter from 'pb_filter/docs'
@@ -137,6 +138,7 @@ WebpackerReact.registerComponents({
137
138
  ...Detail,
138
139
  ...Dialog,
139
140
  ...DistributionBarDocs,
141
+ ...Draggable,
140
142
  ...Dropdown,
141
143
  ...FileUpload,
142
144
  ...Filter,
@@ -0,0 +1,18 @@
1
+ $vertical_align_baseline: baseline !default;
2
+ $vertical_align_sub: sub !default;
3
+ $vertical_align_super: super !default;
4
+ $vertical_align_text_top: text-top !default;
5
+ $vertical_align_text_bottom: text-bottom !default;
6
+ $vertical_align_middle: middle !default;
7
+ $vertical_align_top: top !default;
8
+ $vertical_align_bottom: bottom !default;
9
+ $vertical_align: (
10
+ baseline: $vertical_align_baseline,
11
+ sub: $vertical_align_sub,
12
+ super: $vertical_align_super,
13
+ text_top: $vertical_align_text_top,
14
+ text_bottom: $vertical_align_text_bottom,
15
+ middle: $vertical_align_middle,
16
+ top: $vertical_align_top,
17
+ bottom: $vertical_align_bottom
18
+ );
@@ -0,0 +1,16 @@
1
+ @import "../tokens/vertical_align";
2
+
3
+
4
+ $vertical_align_classes: (
5
+ vertical_align_baseline: $vertical_align_baseline,
6
+ vertical_align_sub: $vertical_align_sub,
7
+ vertical_align_super: $vertical_align_super,
8
+ vertical_align_text_top: $vertical_align_text_top,
9
+ vertical_align_text_bottom: $vertical_align_text_bottom,
10
+ vertical_align_middle: $vertical_align_middle,
11
+ vertical_align_top: $vertical_align_top,
12
+ vertical_align_bottom: $vertical_align_bottom,
13
+ );
14
+
15
+
16
+ @include global_props_responsive_css($vertical_align, 'vertical_align', 'vertical-align');
@@ -156,6 +156,10 @@ type Truncate = {
156
156
  truncate?: TruncateType
157
157
  }
158
158
 
159
+ type VerticalAlign = {
160
+ verticalAlign?: "baseline" | "super" | "top" | "middle" | "bottom" | "sub" | "text-top" | "text-bottom"
161
+ }
162
+
159
163
  type ZIndexType = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
160
164
  type ZIndexResponsiveType = {[key: string]: ZIndexType}
161
165
  type ZIndex = {
@@ -167,7 +171,7 @@ export type GlobalProps = AlignContent & AlignItems & AlignSelf &
167
171
  BorderRadius & Cursor & Dark & Display & DisplaySizes & Flex & FlexDirection &
168
172
  FlexGrow & FlexShrink & FlexWrap & JustifyContent & JustifySelf &
169
173
  LineHeight & Margin & MaxWidth & NumberSpacing & Order & Overflow & Padding &
170
- Position & Shadow & TextAlign & Truncate & ZIndex & { hover?: string } & Top & Right & Bottom & Left;
174
+ Position & Shadow & TextAlign & Truncate & VerticalAlign & ZIndex & { hover?: string } & Top & Right & Bottom & Left;
171
175
 
172
176
  const getResponsivePropClasses = (prop: {[key: string]: string}, classPrefix: string) => {
173
177
  const keys: string[] = Object.keys(prop)
@@ -470,6 +474,13 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
470
474
  } else {
471
475
  return textAlign ? `text_align_${textAlign} ` : ''
472
476
  }
477
+ },
478
+ verticalAlignProps: ({ verticalAlign }: VerticalAlign) => {
479
+ if (typeof verticalAlign === 'object') {
480
+ return getResponsivePropClasses(verticalAlign, 'vertical_align')
481
+ } else {
482
+ return verticalAlign ? `vertical_align_${verticalAlign} ` : ''
483
+ }
473
484
  }
474
485
  }
475
486
 
data/dist/menu.yml CHANGED
@@ -352,6 +352,10 @@ kits:
352
352
  platforms: *web
353
353
  description:
354
354
  status: "stable"
355
+ - name: "draggable"
356
+ platforms: *react_only
357
+ description:
358
+ status: "beta"
355
359
  - name: message_text_patterns
356
360
  description:
357
361
  components:
@@ -463,5 +467,4 @@ kits:
463
467
  status: "stable"
464
468
  - name: "user"
465
469
  platforms: *web
466
- description: This kit was created for having a systematic way of displaying users with avatar, titles, name and territory. This is a versatile kit with features than can be added to display more info.
467
- status: "stable"
470
+ description: This kit was created for having a systematic way of displaying users with avatar, titles, name and territory. This is a versatile kit with features than can be added to display more info.