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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +2 -3
- data/app/pb_kits/playbook/index.js +2 -0
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +4 -1
- data/app/pb_kits/playbook/pb_bar_graph/barGraph.test.js +31 -0
- data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +16 -0
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.tsx +5 -2
- data/app/pb_kits/playbook/pb_circle_chart/circleChart.test.js +45 -0
- data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +16 -0
- data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +53 -0
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +14 -8
- data/app/pb_kits/playbook/pb_collapsible/collapsible.test.js +24 -0
- data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +7 -1
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +9 -1
- data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +2 -3
- data/app/pb_kits/playbook/pb_draggable/_draggable.scss +10 -0
- data/app/pb_kits/playbook/pb_draggable/_draggable.tsx +53 -0
- data/app/pb_kits/playbook/pb_draggable/context/index.tsx +92 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.jsx +53 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers.jsx +159 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.jsx +121 -0
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +9 -0
- data/app/pb_kits/playbook/pb_draggable/docs/index.js +3 -0
- data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +65 -0
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +54 -0
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +57 -0
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +2 -2
- data/app/pb_kits/playbook/pb_gauge/gauge.test.js +35 -0
- data/app/pb_kits/playbook/pb_icon/icon.rb +2 -3
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +4 -1
- data/app/pb_kits/playbook/pb_line_graph/lineGraph.test.js +52 -0
- data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +16 -0
- data/app/pb_kits/playbook/pb_table/_table.tsx +5 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.jsx +33 -32
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column_rails.md +2 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.jsx +33 -33
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row_rails.html.erb +34 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row_rails.md +2 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.jsx +51 -50
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data_rails.html.erb +54 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data_rails.md +2 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.jsx +37 -38
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row_rails.html.erb +53 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row_rails.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/{_table_alignment_row.html.erb → _table_outer_padding.html.erb} +7 -7
- data/app/pb_kits/playbook/pb_table/docs/_table_outer_padding.jsx +76 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_outer_padding.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/example.yml +9 -9
- data/app/pb_kits/playbook/pb_table/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_table/styles/_all.scss +1 -0
- data/app/pb_kits/playbook/pb_table/styles/_outer_padding.scss +21 -0
- data/app/pb_kits/playbook/pb_table/table.rb +14 -1
- data/app/pb_kits/playbook/pb_table/table.test.js +5 -1
- data/app/pb_kits/playbook/pb_treemap_chart/treemapChart.test.js +61 -0
- data/app/pb_kits/playbook/playbook-doc.js +2 -0
- data/app/pb_kits/playbook/tokens/_vertical_align.scss +18 -0
- data/app/pb_kits/playbook/utilities/_vertical_align.scss +16 -0
- data/app/pb_kits/playbook/utilities/globalProps.ts +12 -1
- data/dist/menu.yml +5 -2
- data/dist/playbook-rails.js +6 -6
- data/lib/playbook/classnames.rb +1 -0
- data/lib/playbook/kit_base.rb +2 -0
- data/lib/playbook/version.rb +1 -1
- data/lib/playbook/vertical_align.rb +37 -0
- metadata +35 -6
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.html.erb +0 -63
- data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.html.erb +0 -52
- /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
|
-
-
|
9
|
-
-
|
10
|
-
-
|
11
|
-
-
|
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:
|
38
|
-
- table_alignment_shift_row: Shift
|
39
|
-
- table_alignment_shift_data: Shift
|
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'
|
@@ -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,
|
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.
|