playbook_ui 14.13.0.pre.alpha.play1754pbtagprogressradio6160 → 14.13.0.pre.alpha.play1834depupdatesass6024
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/pb_bar_graph/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +1 -3
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.html.erb +2 -2
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.md +1 -4
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_draggable/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +4 -7
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +3 -6
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_default.html.erb +2 -1
- data/app/pb_kits/playbook/pb_icon_button/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +1 -1
- data/app/pb_kits/playbook/pb_icon_button/icon_button.rb +0 -3
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +6 -1
- data/app/pb_kits/playbook/pb_nav/item.html.erb +19 -7
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +8 -3
- data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +6 -1
- data/app/pb_kits/playbook/pb_popover/popover.html.erb +6 -1
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +6 -1
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb +5 -1
- data/app/pb_kits/playbook/pb_progress_step/progress_step.html.erb +5 -1
- data/app/pb_kits/playbook/pb_progress_step/progress_step_item.html.erb +5 -1
- data/app/pb_kits/playbook/pb_radio/radio.html.erb +11 -6
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +1 -1
- data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -5
- data/app/pb_kits/playbook/pb_table/docs/index.js +1 -3
- data/app/pb_kits/playbook/pb_table/index.ts +9 -41
- data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +0 -4
- data/app/pb_kits/playbook/pb_table/subcomponents/_table_body.tsx +2 -29
- data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +3 -31
- data/app/pb_kits/playbook/pb_table/table_body.html.erb +7 -13
- data/app/pb_kits/playbook/pb_table/table_body.rb +0 -2
- data/app/pb_kits/playbook/pb_table/table_row.html.erb +7 -14
- data/app/pb_kits/playbook/pb_table/table_row.rb +1 -14
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.html.erb +0 -14
- data/app/pb_kits/playbook/pb_text_input/index.js +0 -9
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -5
- data/dist/chunks/{_typeahead-KwZhr9u1.js → _typeahead-DQTwAd_2.js} +4 -4
- data/dist/chunks/_weekday_stacked-CnPEqV7l.js +45 -0
- data/dist/chunks/{lib-D3us1bGD.js → lib-WQEeEj3t.js} +1 -1
- data/dist/chunks/{pb_form_validation-BpihMSOQ.js → pb_form_validation-Cq64l4zn.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +7 -21
- data/app/pb_kits/playbook/pb_bar_graph/BarGraphStyles.scss +0 -58
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +0 -64
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +0 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.jsx +0 -90
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md +0 -5
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_sizes.html.erb +0 -27
- data/app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.html.erb +0 -47
- data/app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.jsx +0 -88
- data/app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.md +0 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.html.erb +0 -51
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click_rails.md +0 -2
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +0 -96
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.jsx +0 -101
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.md +0 -1
- data/dist/chunks/_weekday_stacked-DSJpSZ3B.js +0 -45
- /data/app/pb_kits/playbook/pb_table/docs/{_table_with_collapsible_with_custom_click_react.md → _table_with_collapsible_with_custom_click.md} +0 -0
data/lib/playbook/version.rb
CHANGED
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: 14.13.0.pre.alpha.
|
4
|
+
version: 14.13.0.pre.alpha.play1834depupdatesass6024
|
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: 2025-02-
|
12
|
+
date: 2025-02-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -450,7 +450,6 @@ files:
|
|
450
450
|
- app/pb_kits/playbook/pb_badge/docs/_description.md
|
451
451
|
- app/pb_kits/playbook/pb_badge/docs/example.yml
|
452
452
|
- app/pb_kits/playbook/pb_badge/docs/index.js
|
453
|
-
- app/pb_kits/playbook/pb_bar_graph/BarGraphStyles.scss
|
454
453
|
- app/pb_kits/playbook/pb_bar_graph/_bar_graph.scss
|
455
454
|
- app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx
|
456
455
|
- app/pb_kits/playbook/pb_bar_graph/barGraph.test.js
|
@@ -479,8 +478,6 @@ files:
|
|
479
478
|
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md
|
480
479
|
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.html.erb
|
481
480
|
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx
|
482
|
-
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx
|
483
|
-
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md
|
484
481
|
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.html.erb
|
485
482
|
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx
|
486
483
|
- app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md
|
@@ -1190,8 +1187,6 @@ files:
|
|
1190
1187
|
- app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list_rails.md
|
1191
1188
|
- app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.html.erb
|
1192
1189
|
- app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.md
|
1193
|
-
- app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.jsx
|
1194
|
-
- app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md
|
1195
1190
|
- app/pb_kits/playbook/pb_draggable/docs/example.yml
|
1196
1191
|
- app/pb_kits/playbook/pb_draggable/docs/index.js
|
1197
1192
|
- app/pb_kits/playbook/pb_draggable/draggable.html.erb
|
@@ -1634,7 +1629,6 @@ files:
|
|
1634
1629
|
- app/pb_kits/playbook/pb_icon/icon.test.js
|
1635
1630
|
- app/pb_kits/playbook/pb_icon_button/_icon_button.scss
|
1636
1631
|
- app/pb_kits/playbook/pb_icon_button/docs/_icon_button_default.html.erb
|
1637
|
-
- app/pb_kits/playbook/pb_icon_button/docs/_icon_button_sizes.html.erb
|
1638
1632
|
- app/pb_kits/playbook/pb_icon_button/docs/example.yml
|
1639
1633
|
- app/pb_kits/playbook/pb_icon_button/icon_button.html.erb
|
1640
1634
|
- app/pb_kits/playbook/pb_icon_button/icon_button.rb
|
@@ -2749,17 +2743,12 @@ files:
|
|
2749
2743
|
- app/pb_kits/playbook/pb_table/docs/_table_vertical_border.jsx
|
2750
2744
|
- app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.html.erb
|
2751
2745
|
- app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.jsx
|
2752
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.html.erb
|
2753
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.jsx
|
2754
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.md
|
2755
2746
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.html.erb
|
2756
2747
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx
|
2757
2748
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_rails.md
|
2758
2749
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_react.md
|
2759
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.html.erb
|
2760
2750
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx
|
2761
|
-
- app/pb_kits/playbook/pb_table/docs/
|
2762
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click_react.md
|
2751
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.md
|
2763
2752
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx
|
2764
2753
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.md
|
2765
2754
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.html.erb
|
@@ -2772,9 +2761,6 @@ files:
|
|
2772
2761
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md
|
2773
2762
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.html.erb
|
2774
2763
|
- app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md
|
2775
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb
|
2776
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.jsx
|
2777
|
-
- app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.md
|
2778
2764
|
- app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.jsx
|
2779
2765
|
- app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.md
|
2780
2766
|
- app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents_as_divs.html.erb
|
@@ -3346,11 +3332,11 @@ files:
|
|
3346
3332
|
- app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
|
3347
3333
|
- app/pb_kits/playbook/utilities/text.ts
|
3348
3334
|
- app/pb_kits/playbook/utilities/validEmojiChecker.ts
|
3349
|
-
- dist/chunks/_typeahead-
|
3350
|
-
- dist/chunks/_weekday_stacked-
|
3335
|
+
- dist/chunks/_typeahead-DQTwAd_2.js
|
3336
|
+
- dist/chunks/_weekday_stacked-CnPEqV7l.js
|
3351
3337
|
- dist/chunks/lazysizes-B7xYodB-.js
|
3352
|
-
- dist/chunks/lib-
|
3353
|
-
- dist/chunks/pb_form_validation-
|
3338
|
+
- dist/chunks/lib-WQEeEj3t.js
|
3339
|
+
- dist/chunks/pb_form_validation-Cq64l4zn.js
|
3354
3340
|
- dist/chunks/vendor.js
|
3355
3341
|
- dist/menu.yml
|
3356
3342
|
- dist/playbook-doc.js
|
@@ -1,58 +0,0 @@
|
|
1
|
-
@import "../tokens/colors";
|
2
|
-
@import "../tokens/typography";
|
3
|
-
@import url("https://code.highcharts.com/css/highcharts.css");
|
4
|
-
|
5
|
-
:root {
|
6
|
-
--highcharts-color-0: #{$data_1};
|
7
|
-
--highcharts-color-1: #{$data_2};
|
8
|
-
--highcharts-color-2: #{$data_3};
|
9
|
-
--highcharts-color-3: #{$data_4};
|
10
|
-
--highcharts-color-4: #{$data_5};
|
11
|
-
--highcharts-color-5: #{$data_6};
|
12
|
-
--highcharts-color-6: #{$data_7};
|
13
|
-
--highcharts-color-7: #{$data_8};
|
14
|
-
}
|
15
|
-
|
16
|
-
.highcharts-title {
|
17
|
-
font-family: $font_family_base;
|
18
|
-
font-weight: $bold;
|
19
|
-
font-size: $heading_3;
|
20
|
-
color: $text_lt_default;
|
21
|
-
fill: $text_lt_default;
|
22
|
-
}
|
23
|
-
|
24
|
-
.highcharts-subtitle {
|
25
|
-
font-family: $font_family_base;
|
26
|
-
color: $text_lt_light;
|
27
|
-
fill: $text_lt_light;
|
28
|
-
font-weight: $regular;
|
29
|
-
font-size: $text_base;
|
30
|
-
}
|
31
|
-
|
32
|
-
.highcharts-yaxis > .highcharts-axis-title {
|
33
|
-
color: $text_lt_lighter;
|
34
|
-
fill: $text_lt_lighter;
|
35
|
-
font-family: $font_family_base;
|
36
|
-
font-weight: $bold;
|
37
|
-
font-size: $text_smaller;
|
38
|
-
}
|
39
|
-
|
40
|
-
.highcharts-axis-labels {
|
41
|
-
font-family: $font_family_base;
|
42
|
-
color: $text_lt_lighter;
|
43
|
-
fill: $text_lt_lighter;
|
44
|
-
font-weight: $bold;
|
45
|
-
font-size: $text_smaller;
|
46
|
-
}
|
47
|
-
|
48
|
-
.highcharts-grid-line {
|
49
|
-
stroke: $border_light;
|
50
|
-
}
|
51
|
-
|
52
|
-
.highcharts-point {
|
53
|
-
border-radius: 3px;
|
54
|
-
}
|
55
|
-
|
56
|
-
.highcharts-axis-line {
|
57
|
-
stroke: $border_light;
|
58
|
-
}
|
@@ -1,64 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import Highcharts from "highcharts";
|
3
|
-
import HighchartsReact from "highcharts-react-official";
|
4
|
-
|
5
|
-
import "../BarGraphStyles.scss";
|
6
|
-
// Your path might look more like this
|
7
|
-
//import "playbook-ui/dist/pb_bar_graph/BarGraphStyles.scss";
|
8
|
-
|
9
|
-
const columnChartData = [
|
10
|
-
{
|
11
|
-
name: "Installation",
|
12
|
-
data: [1475, 200, 3000, 654, 656],
|
13
|
-
},
|
14
|
-
{
|
15
|
-
name: "Manufacturing",
|
16
|
-
data: [4434, 524, 2320, 440, 500],
|
17
|
-
},
|
18
|
-
{
|
19
|
-
name: "Sales & Distribution",
|
20
|
-
data: [3387, 743, 1344, 434, 440],
|
21
|
-
},
|
22
|
-
{
|
23
|
-
name: "Project Development",
|
24
|
-
data: [3227, 878, 999, 780, 1000],
|
25
|
-
},
|
26
|
-
{
|
27
|
-
name: "Other",
|
28
|
-
data: [1111, 677, 3245, 500, 200],
|
29
|
-
},
|
30
|
-
];
|
31
|
-
|
32
|
-
const columnOptions = {
|
33
|
-
chart: {
|
34
|
-
type: "column",
|
35
|
-
},
|
36
|
-
series: columnChartData,
|
37
|
-
title: {
|
38
|
-
text: "Solar Employment Growth by Sector, 2010-2016",
|
39
|
-
},
|
40
|
-
subtitle: {
|
41
|
-
text: "Source: thesolarfoundation.com",
|
42
|
-
},
|
43
|
-
xAxis: {
|
44
|
-
categories: ["Jan", "Feb", "Mar", "Apr", "May"],
|
45
|
-
},
|
46
|
-
yAxis: {
|
47
|
-
min: 0,
|
48
|
-
title: {
|
49
|
-
text: "Number of Employees",
|
50
|
-
},
|
51
|
-
},
|
52
|
-
legend: { enabled: false },
|
53
|
-
credits: { enabled: false },
|
54
|
-
};
|
55
|
-
|
56
|
-
const BarGraphPbStyles = () => (
|
57
|
-
<div>
|
58
|
-
<HighchartsReact highcharts={Highcharts}
|
59
|
-
options={columnOptions}
|
60
|
-
/>
|
61
|
-
</div>
|
62
|
-
)
|
63
|
-
|
64
|
-
export default BarGraphPbStyles
|
@@ -1 +0,0 @@
|
|
1
|
-
You don't need to use the bar graph kit to apply the styles to your Highcharts bar graph. Just import the BarGraphStyles.scss to your component and the styles will apply automatically.
|
@@ -1,90 +0,0 @@
|
|
1
|
-
import React, { useState } from "react";
|
2
|
-
import { Flex, Table, Body, Avatar, DraggableProvider } from "playbook-ui";
|
3
|
-
|
4
|
-
// Initial items to be dragged
|
5
|
-
const data = [
|
6
|
-
{
|
7
|
-
id: "1",
|
8
|
-
task: "Task 1",
|
9
|
-
assignee_name: "Terry Miles",
|
10
|
-
assignee_img: "https://randomuser.me/api/portraits/men/44.jpg",
|
11
|
-
},
|
12
|
-
{
|
13
|
-
id: "2",
|
14
|
-
task: "Task 2",
|
15
|
-
assignee_name: "Sophia Miles",
|
16
|
-
assignee_img: "https://randomuser.me/api/portraits/women/8.jpg",
|
17
|
-
},
|
18
|
-
{
|
19
|
-
id: "3",
|
20
|
-
task: "Task 3",
|
21
|
-
assignee_name: "Alice Jones",
|
22
|
-
assignee_img: "https://randomuser.me/api/portraits/women/10.jpg",
|
23
|
-
},
|
24
|
-
{
|
25
|
-
id: "4",
|
26
|
-
task: "Task 4",
|
27
|
-
assignee_name: "Mike James",
|
28
|
-
assignee_img: "https://randomuser.me/api/portraits/men/8.jpg",
|
29
|
-
},
|
30
|
-
{
|
31
|
-
id: "5",
|
32
|
-
task: "Task 5",
|
33
|
-
assignee_name: "James Guy",
|
34
|
-
assignee_img: "https://randomuser.me/api/portraits/men/18.jpg",
|
35
|
-
}
|
36
|
-
];
|
37
|
-
|
38
|
-
const DraggableWithTableReact = (props) => {
|
39
|
-
const [initialState, setInitialState] = useState(data);
|
40
|
-
|
41
|
-
return (
|
42
|
-
<>
|
43
|
-
<DraggableProvider initialItems={data}
|
44
|
-
onReorder={(items) => setInitialState(items)}
|
45
|
-
>
|
46
|
-
<Table
|
47
|
-
responsive="none"
|
48
|
-
size="sm"
|
49
|
-
{...props}
|
50
|
-
>
|
51
|
-
<Table.Head>
|
52
|
-
<Table.Row>
|
53
|
-
<Table.Header>{"id"}</Table.Header>
|
54
|
-
<Table.Header>{"name"}</Table.Header>
|
55
|
-
<Table.Header>{"task number"}</Table.Header>
|
56
|
-
</Table.Row>
|
57
|
-
</Table.Head>
|
58
|
-
<Table.Body draggableContainer>
|
59
|
-
{initialState.map(({ id, task, assignee_name, assignee_img }) => (
|
60
|
-
<Table.Row
|
61
|
-
dragId={id}
|
62
|
-
draggableItem
|
63
|
-
key={id}
|
64
|
-
>
|
65
|
-
<Table.Cell>{id}</Table.Cell>
|
66
|
-
<Table.Cell>
|
67
|
-
<Flex align="center">
|
68
|
-
<Avatar
|
69
|
-
imageUrl={assignee_img}
|
70
|
-
size="xs"
|
71
|
-
/>
|
72
|
-
<Body
|
73
|
-
paddingLeft="xxs"
|
74
|
-
text={assignee_name}
|
75
|
-
{...props}
|
76
|
-
/>
|
77
|
-
</Flex>
|
78
|
-
</Table.Cell>
|
79
|
-
<Table.Cell>{task}</Table.Cell>
|
80
|
-
</Table.Row>
|
81
|
-
))}
|
82
|
-
</Table.Body>
|
83
|
-
</Table>
|
84
|
-
</DraggableProvider>
|
85
|
-
</>
|
86
|
-
|
87
|
-
);
|
88
|
-
};
|
89
|
-
|
90
|
-
export default DraggableWithTableReact;
|
@@ -1,5 +0,0 @@
|
|
1
|
-
The draggable kit can also be used in conjunction with the table kit to create draggable table rows. To do this:
|
2
|
-
|
3
|
-
- Wrap the Table with the `DraggableProvider` and manage state as shown.
|
4
|
-
- use the `draggableContainer` prop on the Table.Body to designate it as the Draggable Container
|
5
|
-
- use the `draggableItem` prop on the Table.Row to designate it as the Draggable Item. Make sure to also pass id to the `dragId` prop here.
|
@@ -1,27 +0,0 @@
|
|
1
|
-
<%= pb_rails("flex", props: { align: "center"}) do %>
|
2
|
-
<%= pb_rails("icon_button", props: {size: "lg"}) %> <span>Large</span>
|
3
|
-
<% end %>
|
4
|
-
|
5
|
-
<%= pb_rails("flex", props: { align: "center" }) do %>
|
6
|
-
<%= pb_rails("icon_button", props: {size: "sm"}) %> <span>Small</span>
|
7
|
-
<% end %>
|
8
|
-
|
9
|
-
<%= pb_rails("flex", props: { align: "center" }) do %>
|
10
|
-
<%= pb_rails("icon_button", props: {size: "xs"}) %> <span>XSmall</span>
|
11
|
-
<% end %>
|
12
|
-
|
13
|
-
<%= pb_rails("flex", props: { align: "center", margin_top: "md" }) do %>
|
14
|
-
<%= pb_rails("icon_button", props: {size: "1x"}) %> <span>1x</span>
|
15
|
-
<% end %>
|
16
|
-
|
17
|
-
<%= pb_rails("flex", props: { align: "center" }) do %>
|
18
|
-
<%= pb_rails("icon_button", props: {size: "2x"}) %> <span>2x</span>
|
19
|
-
<% end %>
|
20
|
-
|
21
|
-
<%= pb_rails("flex", props: { align: "center" }) do %>
|
22
|
-
<%= pb_rails("icon_button", props: {size: "3x"}) %> <span>3x</span>
|
23
|
-
<% end %>
|
24
|
-
|
25
|
-
<%= pb_rails("flex", props: { align: "center" }) do %>
|
26
|
-
<%= pb_rails("icon_button", props: {size: "4x"}) %> <span>4x</span>
|
27
|
-
<% end %>
|
@@ -1,47 +0,0 @@
|
|
1
|
-
<%= pb_rails("table", props: { size: "sm" }) do %>
|
2
|
-
<%= pb_rails("table/table_head") do %>
|
3
|
-
<%= pb_rails("table/table_row") do %>
|
4
|
-
<%= pb_rails("table/table_header", props: { text: "Column 1" }) %>
|
5
|
-
<%= pb_rails("table/table_header", props: { text: "Column 2" }) %>
|
6
|
-
<%= pb_rails("table/table_header", props: { text: "Column 3" }) %>
|
7
|
-
<%= pb_rails("table/table_header", props: { text: "Column 4" }) %>
|
8
|
-
<%= pb_rails("table/table_header", props: { text: "Column 5" }) %>
|
9
|
-
<%= pb_rails("table/table_header", props: { text: "" }) %>
|
10
|
-
<% end %>
|
11
|
-
<% end %>
|
12
|
-
<%= pb_rails("table/table_body") do %>
|
13
|
-
<%= pb_rails("table/table_row", props: { cursor: "pointer", html_options: { onclick: "alert('Row 1 clicked')" } }) do %>
|
14
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 1" }) %>
|
15
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 2" }) %>
|
16
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 3" }) %>
|
17
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 4" }) %>
|
18
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 5" }) %>
|
19
|
-
<%= pb_rails("table/table_cell", props: { text_align: "right" }) do %>
|
20
|
-
<%= pb_rails("icon", props: { color: "primary_action", fixed_width: true, icon: "chevron-right", size: "xs" }) %>
|
21
|
-
<% end %>
|
22
|
-
<% end %>
|
23
|
-
|
24
|
-
<%= pb_rails("table/table_row", props: { cursor: "pointer", html_options: { onclick: "alert('Row 2 clicked')" } }) do %>
|
25
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 1" }) %>
|
26
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 2" }) %>
|
27
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 3" }) %>
|
28
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 4" }) %>
|
29
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 5" }) %>
|
30
|
-
<%= pb_rails("table/table_cell", props: { text_align: "right" }) do %>
|
31
|
-
<%= pb_rails("icon", props: { color: "primary_action", fixed_width: true, icon: "chevron-right", size: "xs" }) %>
|
32
|
-
<% end %>
|
33
|
-
<% end %>
|
34
|
-
|
35
|
-
<%= pb_rails("table/table_row", props: { cursor: "pointer", html_options: { onclick: "alert('Row 3 clicked')" } }) do %>
|
36
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 1" }) %>
|
37
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 2" }) %>
|
38
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 3" }) %>
|
39
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 4" }) %>
|
40
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 5" }) %>
|
41
|
-
<%= pb_rails("table/table_cell", props: { text_align: "right" }) do %>
|
42
|
-
<%= pb_rails("icon", props: { color: "primary_action", fixed_width: true, icon: "chevron-right", size: "xs" }) %>
|
43
|
-
<% end %>
|
44
|
-
<% end %>
|
45
|
-
<% end %>
|
46
|
-
<% end %>
|
47
|
-
|
@@ -1,88 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { Table, Icon } from 'playbook-ui'
|
3
|
-
|
4
|
-
const TableWithClickableRows = (props) => {
|
5
|
-
|
6
|
-
|
7
|
-
return (
|
8
|
-
<Table
|
9
|
-
size="sm"
|
10
|
-
{...props}
|
11
|
-
>
|
12
|
-
<Table.Head>
|
13
|
-
<Table.Row>
|
14
|
-
<Table.Header>{"Column 1"}</Table.Header>
|
15
|
-
<Table.Header>{"Column 2"}</Table.Header>
|
16
|
-
<Table.Header>{"Column 3"}</Table.Header>
|
17
|
-
<Table.Header>{"Column 4"}</Table.Header>
|
18
|
-
<Table.Header>{"Column 5"}</Table.Header>
|
19
|
-
<Table.Header>{""}</Table.Header>
|
20
|
-
</Table.Row>
|
21
|
-
</Table.Head>
|
22
|
-
<Table.Body>
|
23
|
-
<Table.Row
|
24
|
-
cursor="pointer"
|
25
|
-
htmlOptions={{ onClick: () => alert("Row 1 clicked") }}
|
26
|
-
{...props}
|
27
|
-
>
|
28
|
-
<Table.Cell>{"Value 1"}</Table.Cell>
|
29
|
-
<Table.Cell>{"Value 2"}</Table.Cell>
|
30
|
-
<Table.Cell>{"Value 3"}</Table.Cell>
|
31
|
-
<Table.Cell>{"Value 4"}</Table.Cell>
|
32
|
-
<Table.Cell>{"Value 5"}</Table.Cell>
|
33
|
-
<Table.Cell textAlign="right">
|
34
|
-
<Icon
|
35
|
-
color="primary_action"
|
36
|
-
fixedWidth
|
37
|
-
icon="chevron-right"
|
38
|
-
size="xs"
|
39
|
-
{...props}
|
40
|
-
/>
|
41
|
-
</Table.Cell>
|
42
|
-
</Table.Row>
|
43
|
-
<Table.Row
|
44
|
-
cursor="pointer"
|
45
|
-
htmlOptions={{ onClick: () => alert("Row 2 clicked") }}
|
46
|
-
{...props}
|
47
|
-
>
|
48
|
-
<Table.Cell>{"Value 1"}</Table.Cell>
|
49
|
-
<Table.Cell>{"Value 2"}</Table.Cell>
|
50
|
-
<Table.Cell>{"Value 3"}</Table.Cell>
|
51
|
-
<Table.Cell>{"Value 4"}</Table.Cell>
|
52
|
-
<Table.Cell>{"Value 5"}</Table.Cell>
|
53
|
-
<Table.Cell textAlign="right">
|
54
|
-
<Icon
|
55
|
-
color="primary_action"
|
56
|
-
fixedWidth
|
57
|
-
icon="chevron-right"
|
58
|
-
size="xs"
|
59
|
-
{...props}
|
60
|
-
/>
|
61
|
-
</Table.Cell>
|
62
|
-
</Table.Row>
|
63
|
-
<Table.Row
|
64
|
-
cursor="pointer"
|
65
|
-
htmlOptions={{ onClick: () => alert("Row 3 clicked") }}
|
66
|
-
{...props}
|
67
|
-
>
|
68
|
-
<Table.Cell>{"Value 1"}</Table.Cell>
|
69
|
-
<Table.Cell>{"Value 2"}</Table.Cell>
|
70
|
-
<Table.Cell>{"Value 3"}</Table.Cell>
|
71
|
-
<Table.Cell>{"Value 4"}</Table.Cell>
|
72
|
-
<Table.Cell>{"Value 5"}</Table.Cell>
|
73
|
-
<Table.Cell textAlign="right">
|
74
|
-
<Icon
|
75
|
-
color="primary_action"
|
76
|
-
fixedWidth
|
77
|
-
icon="chevron-right"
|
78
|
-
size="xs"
|
79
|
-
{...props}
|
80
|
-
/>
|
81
|
-
</Table.Cell>
|
82
|
-
</Table.Row>
|
83
|
-
</Table.Body>
|
84
|
-
</Table>
|
85
|
-
)
|
86
|
-
}
|
87
|
-
|
88
|
-
export default TableWithClickableRows
|
@@ -1 +0,0 @@
|
|
1
|
-
Clickable table rows do not require any additional props. This doc example showcases how to set them up using `html_options`/`htmlOptions` and click events. Using the global prop for cursor to set it to "pointer" is also recommended for better UX.
|
@@ -1,51 +0,0 @@
|
|
1
|
-
<% content = capture do %>
|
2
|
-
<%= pb_rails("card", props: { border_none: true, border_radius: "none", padding: "md" }) do %>
|
3
|
-
<%= pb_rails("body", props: { text: "Nested content inside a Table Row" }) %>
|
4
|
-
<% end %>
|
5
|
-
<% end %>
|
6
|
-
|
7
|
-
<%= pb_rails("table", props: { size: "sm" }) do %>
|
8
|
-
<%= pb_rails("table/table_head") do %>
|
9
|
-
<%= pb_rails("table/table_row") do %>
|
10
|
-
<%= pb_rails("table/table_header", props: { text: "Column 1"}) %>
|
11
|
-
<%= pb_rails("table/table_header", props: { text: "Column 2"}) %>
|
12
|
-
<%= pb_rails("table/table_header", props: { text: "Column 3"}) %>
|
13
|
-
<%= pb_rails("table/table_header", props: { text: "Column 4"}) %>
|
14
|
-
<%= pb_rails("table/table_header", props: { text: "Column 5"}) %>
|
15
|
-
<%= pb_rails("table/table_header", props: { text: ""}) %>
|
16
|
-
<% end %>
|
17
|
-
<% end %>
|
18
|
-
<%= pb_rails("table/table_body") do %>
|
19
|
-
<%= pb_rails("table/table_row", props: { collapsible: true, collapsible_content: content, collapsible_side_highlight: true, toggle_cell_id: "cell-1", id: "5" }) do %>
|
20
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
|
21
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
|
22
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
|
23
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
|
24
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
|
25
|
-
<%= pb_rails("table/table_cell", props: { text_align: "right", id: "cell-1", cursor: "pointer" }) do %>
|
26
|
-
<%= pb_rails("icon", props: { icon: "chevron-down", fixed_width: true, color: "primary" }) %>
|
27
|
-
<% end %>
|
28
|
-
<% end %>
|
29
|
-
<%= pb_rails("table/table_row", props: { collapsible: true, collapsible_content: content, collapsible_side_highlight: true, toggle_cell_id: "cell-2", id: "6" }) do %>
|
30
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
|
31
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
|
32
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
|
33
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
|
34
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
|
35
|
-
<%= pb_rails("table/table_cell", props: { text_align: "right", id: "cell-2", cursor: "pointer" }) do %>
|
36
|
-
<%= pb_rails("icon", props: { icon: "chevron-down", fixed_width: true, color: "primary" }) %>
|
37
|
-
<% end %>
|
38
|
-
<% end %>
|
39
|
-
<%= pb_rails("table/table_row", props: { collapsible: true, collapsible_content: content, collapsible_side_highlight: true, toggle_cell_id: "cell-3", id: "7" }) do %>
|
40
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
|
41
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
|
42
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
|
43
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
|
44
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
|
45
|
-
<%= pb_rails("table/table_cell", props: { text_align: "right", id: "cell-3", cursor: "pointer" }) do %>
|
46
|
-
<%= pb_rails("icon", props: { icon: "chevron-down", fixed_width: true, color: "primary" }) %>
|
47
|
-
<% end %>
|
48
|
-
<% end %>
|
49
|
-
<% end %>
|
50
|
-
<% end %>
|
51
|
-
|
@@ -1,2 +0,0 @@
|
|
1
|
-
When using the `collapsible` prop, the default functionality is that the entire Row will be clickable to toggle the Row. To limit the click event to a specific Table Cell, you can use the `toggle_cell_id` prop to pass in the id of the Cell you want to use as the trigger.
|
2
|
-
__NOTE__: `toggle_cell_id` and the `id` on the Cell you want to use as the trigger MUST be the same. Please also be aware that you will need to pass in an `id` to any Table Rows you want to be collapsible. Make sure every `id` is unique if you are using multipe collapsibles.
|
@@ -1,96 +0,0 @@
|
|
1
|
-
<% checkboxes = [
|
2
|
-
{ name: 'Coffee', id: 'coffee', checked: false },
|
3
|
-
{ name: 'Ice Cream', id: 'ice-cream', checked: false },
|
4
|
-
{ name: 'Chocolate', id: 'chocolate', checked: true }
|
5
|
-
] %>
|
6
|
-
|
7
|
-
<%= pb_rails("flex", props: { justify: "end", margin_bottom: "sm" }) do %>
|
8
|
-
<%= pb_rails("flex", props: { justify: "end", margin_bottom: "sm" }) do %>
|
9
|
-
<%= pb_rails("button", props: { text: "Delete", id: "delete-button" }) %>
|
10
|
-
<% end %>
|
11
|
-
<% end %>
|
12
|
-
|
13
|
-
<%= pb_rails("table", props: { size: "sm" }) do %>
|
14
|
-
<%= pb_rails("table/table_head") do %>
|
15
|
-
<%= pb_rails("table/table_row") do %>
|
16
|
-
<%= pb_rails("table/table_header") do %>
|
17
|
-
<%= pb_rails("checkbox", props: {
|
18
|
-
checked: true,
|
19
|
-
value: "checkbox-value",
|
20
|
-
name: "main-checkbox-selectable",
|
21
|
-
indeterminate: true,
|
22
|
-
id: "checkbox-selectable"
|
23
|
-
}) %>
|
24
|
-
<% end %>
|
25
|
-
<%= pb_rails("table/table_header", props: { text: "Column 1" }) %>
|
26
|
-
<%= pb_rails("table/table_header", props: { text: "Column 2" }) %>
|
27
|
-
<%= pb_rails("table/table_header", props: { text: "Column 3" }) %>
|
28
|
-
<%= pb_rails("table/table_header", props: { text: "Column 4" }) %>
|
29
|
-
<%= pb_rails("table/table_header", props: { text: "Column 5" }) %>
|
30
|
-
<% end %>
|
31
|
-
<% end %>
|
32
|
-
<%= pb_rails("table/table_body") do %>
|
33
|
-
<% checkboxes.each_with_index do |checkbox, index| %>
|
34
|
-
<%= pb_rails("table/table_row") do %>
|
35
|
-
<%= pb_rails("table/table_cell") do %>
|
36
|
-
<%= pb_rails("checkbox", props: { checked: checkbox[:checked], id: "#{checkbox[:id]}-selectable-checkbox", name: "#{checkbox[:id]}-selectable-checkbox", on_change: "updateCheckboxes(#{index})", value: "check-box value" }) %>
|
37
|
-
<% end %>
|
38
|
-
<%= pb_rails("table/table_cell") do %>
|
39
|
-
<%= pb_rails("image", props: { alt: "picture of a misty forest", size: "xs", url: "https://unsplash.it/500/400/?image=634" }) %>
|
40
|
-
<% end %>
|
41
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 2" }) %>
|
42
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 3" }) %>
|
43
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 4" }) %>
|
44
|
-
<%= pb_rails("table/table_cell", props: { text: "Value 5" }) %>
|
45
|
-
<% end %>
|
46
|
-
<% end %>
|
47
|
-
<% end %>
|
48
|
-
<% end %>
|
49
|
-
|
50
|
-
<script>
|
51
|
-
document.addEventListener('DOMContentLoaded', function() {
|
52
|
-
const mainCheckboxWrapper = document.getElementById('checkbox-selectable');
|
53
|
-
const mainCheckbox = document.getElementsByName("main-checkbox-selectable")[0];
|
54
|
-
const childCheckboxes = document.querySelectorAll('input[type="checkbox"][id$="selectable-checkbox"]');
|
55
|
-
const deleteButton = document.getElementById('delete-button');
|
56
|
-
|
57
|
-
const updateDeleteButton = () => {
|
58
|
-
const anyChecked = Array.from(childCheckboxes).some(checkbox => checkbox.checked);
|
59
|
-
deleteButton.style.display = anyChecked ? 'block' : 'none';
|
60
|
-
};
|
61
|
-
|
62
|
-
const updateMainCheckbox = () => {
|
63
|
-
// Count the number of checked child checkboxes
|
64
|
-
const checkedCount = Array.from(childCheckboxes).filter(cb => cb.checked).length;
|
65
|
-
// Determine if the main checkbox should be in an indeterminate state
|
66
|
-
const indeterminate = checkedCount > 0 && checkedCount < childCheckboxes.length;
|
67
|
-
|
68
|
-
// Set the main checkbox states
|
69
|
-
mainCheckbox.indeterminate = indeterminate;
|
70
|
-
mainCheckbox.checked = checkedCount > 0;
|
71
|
-
|
72
|
-
// Determine the icon class to add and remove based on the number of checked checkboxes
|
73
|
-
const iconClassToAdd = checkedCount === 0 ? 'pb_checkbox_checkmark' : 'pb_checkbox_indeterminate';
|
74
|
-
const iconClassToRemove = checkedCount === 0 ? 'pb_checkbox_indeterminate' : 'pb_checkbox_checkmark';
|
75
|
-
|
76
|
-
// Add and remove the icon class to the main checkbox wrapper
|
77
|
-
mainCheckboxWrapper.querySelector('[data-pb-checkbox-icon-span]').classList.add(iconClassToAdd);
|
78
|
-
mainCheckboxWrapper.querySelector('[data-pb-checkbox-icon-span]').classList.remove(iconClassToRemove);
|
79
|
-
|
80
|
-
// Toggle the visibility of the checkbox icon based on the indeterminate state
|
81
|
-
mainCheckboxWrapper.getElementsByClassName("indeterminate_icon")[0].classList.toggle('hidden', !indeterminate);
|
82
|
-
mainCheckboxWrapper.getElementsByClassName("check_icon")[0].classList.toggle('hidden', indeterminate);
|
83
|
-
|
84
|
-
updateDeleteButton();
|
85
|
-
};
|
86
|
-
|
87
|
-
mainCheckbox.addEventListener('change', function() {
|
88
|
-
childCheckboxes.forEach(cb => cb.checked = this.checked);
|
89
|
-
updateMainCheckbox();
|
90
|
-
});
|
91
|
-
|
92
|
-
childCheckboxes.forEach(cb => {
|
93
|
-
cb.addEventListener('change', updateMainCheckbox);
|
94
|
-
});
|
95
|
-
});
|
96
|
-
</script>
|