playbook_ui 14.14.0.pre.alpha.revert4339revert4242play1633displaytitle6456 → 14.14.0.pre.rc.0
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 +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +5 -6
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +1 -8
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_rails.md +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_react.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +66 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +98 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +28 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +42 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +19 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +26 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +10 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +17 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +19 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +16 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +35 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +42 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +13 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +15 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +4 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +31 -0
- 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_checkbox/_checkbox.tsx +8 -17
- data/app/pb_kits/playbook/pb_checkbox/checkbox.test.js +0 -16
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -2
- data/app/pb_kits/playbook/pb_checkbox/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_currency/_currency.tsx +31 -46
- data/app/pb_kits/playbook/pb_currency/currency.html.erb +8 -15
- data/app/pb_kits/playbook/pb_currency/currency.rb +2 -17
- data/app/pb_kits/playbook/pb_currency/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_currency/docs/index.js +1 -2
- 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_drawer/_drawer.scss +8 -32
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +1 -20
- data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -5
- data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +12 -20
- data/app/pb_kits/playbook/pb_drawer/drawer.rb +1 -49
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +0 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -2
- 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 -5
- 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_overlay/_overlay.tsx +0 -4
- data/app/pb_kits/playbook/pb_overlay/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_overlay/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_overlay/overlay.html.erb +3 -5
- data/app/pb_kits/playbook/pb_overlay/overlay.rb +0 -9
- data/app/pb_kits/playbook/pb_overlay/subcomponents/_overlay_token.tsx +10 -48
- data/app/pb_kits/playbook/pb_popover/popover.html.erb +6 -1
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +1 -6
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.tsx +5 -7
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.html.erb +0 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.jsx +0 -7
- data/app/pb_kits/playbook/pb_progress_pills/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_progress_pills/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +7 -2
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.rb +0 -6
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.test.js +1 -26
- 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 +7 -3
- data/app/pb_kits/playbook/pb_radio/radio.html.erb +11 -6
- data/app/pb_kits/playbook/pb_select/select.rb +0 -8
- 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/app/pb_kits/playbook/pb_title/_title.scss +0 -32
- data/app/pb_kits/playbook/pb_title/_title.tsx +1 -10
- data/app/pb_kits/playbook/pb_title/docs/_title_default.html.erb +2 -1
- data/app/pb_kits/playbook/pb_title/docs/_title_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_title/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_title/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_title/title.rb +1 -10
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -0
- data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_tooltip/index.js +2 -2
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +2 -10
- data/dist/chunks/{_typeahead-_d2af7Id.js → _typeahead-btjo1UN5.js} +4 -4
- data/dist/chunks/_weekday_stacked-TIh9nTmZ.js +45 -0
- data/dist/chunks/{lib-Fr78pbpF.js → lib-DjpLC8uO.js} +2 -2
- data/dist/chunks/{pb_form_validation-CN51bfsD.js → pb_form_validation-S56UaHZl.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +10 -3
- 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/forms/builder.rb +0 -1
- data/lib/playbook/version.rb +2 -2
- metadata +23 -62
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_custom_cell.jsx +0 -75
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.html.erb +0 -33
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +0 -3
- 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_checkbox/docs/_checkbox_react_hook.jsx +0 -69
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.md +0 -1
- data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display.html.erb +0 -22
- data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display.jsx +0 -34
- data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display_rails.md +0 -1
- data/app/pb_kits/playbook/pb_currency/docs/_currency_null_display_react.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_drawer/docs/_drawer_behavior.html.erb +0 -8
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
- data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
- data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +0 -71
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_default.jsx +0 -17
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_sizes.html.erb +0 -27
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_sizes.jsx +0 -61
- data/app/pb_kits/playbook/pb_icon_button/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_icon_button/icon_button.test.jsx +0 -39
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.html.erb +0 -11
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx +0 -37
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.md +0 -1
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional_react.md +0 -1
- data/app/pb_kits/playbook/pb_overlay/index.js +0 -61
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.md +0 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width.html.erb +0 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width.jsx +0 -18
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width_rails.md +0 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width_react.md +0 -1
- data/app/pb_kits/playbook/pb_select/index.js +0 -38
- 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/app/pb_kits/playbook/pb_title/docs/_title_display_size.html.erb +0 -7
- data/app/pb_kits/playbook/pb_title/docs/_title_display_size.jsx +0 -54
- data/app/pb_kits/playbook/pb_title/docs/_title_display_size.md +0 -1
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.html.erb +0 -39
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.md +0 -3
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.html.erb +0 -26
- data/app/pb_kits/playbook/pb_tooltip/floating_ui.js +0 -282
- data/dist/chunks/_weekday_stacked-BZe1DgW-.js +0 -45
- data/lib/playbook/forms/builder/time_zone_select_field.rb +0 -19
- /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
@@ -2,7 +2,6 @@ import PbEnhancedElement from '../pb_enhanced_element'
|
|
2
2
|
|
3
3
|
const TABLE_WRAPPER_SELECTOR = "[data-pb-table-wrapper]";
|
4
4
|
const TABLE_COLLAPSIBLE_WRAPPER_SELECTOR = "[data-pb-table-collapsible-wrapper]";
|
5
|
-
const TABLE_COLLAPSIBLE_CELL_SELECTOR = "[data-pb-table-collapsible-cell-id]";
|
6
5
|
|
7
6
|
export default class PbTable extends PbEnhancedElement {
|
8
7
|
stickyLeftColumns: string[] = [];
|
@@ -159,49 +158,18 @@ export default class PbTable extends PbEnhancedElement {
|
|
159
158
|
}
|
160
159
|
|
161
160
|
handleCollapsibleClick() {
|
162
|
-
const cells = this.element.querySelectorAll(TABLE_COLLAPSIBLE_CELL_SELECTOR);
|
163
161
|
const collapsibleElements = this.element.querySelectorAll(TABLE_COLLAPSIBLE_WRAPPER_SELECTOR);
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
svgChild.id = cellId; // Assign cellId to SVG child
|
173
|
-
Array.from(svgChild.children).forEach((pathChild) => {
|
174
|
-
pathChild.id = cellId; // Assign cellId to path child
|
175
|
-
});
|
176
|
-
});
|
177
|
-
}
|
178
|
-
});
|
179
|
-
cell.addEventListener('click', (event) => {
|
180
|
-
if ((event.target as HTMLElement).id) {
|
181
|
-
document.dispatchEvent(new CustomEvent(`collapsed-toggle${(event.currentTarget as HTMLElement).id}`));
|
182
|
-
|
183
|
-
const toggleElements = this.element.querySelectorAll(`.collapsible_border_toggle${(event.currentTarget as HTMLElement).id}`);
|
184
|
-
toggleElements.forEach((element) => {
|
185
|
-
element.classList.toggle('no-border');
|
186
|
-
element.classList.toggle('border-active');
|
187
|
-
});
|
188
|
-
}
|
162
|
+
collapsibleElements.forEach((collapsibleElement) => {
|
163
|
+
collapsibleElement.addEventListener('click', (event) => {
|
164
|
+
document.dispatchEvent(new CustomEvent(`collapsed-toggle${(event.currentTarget as HTMLElement).id}`))
|
165
|
+
|
166
|
+
const toggleElements = this.element.querySelectorAll(`.collapsible_border_toggle${(event.currentTarget as HTMLElement).id}`);
|
167
|
+
toggleElements.forEach(element => {
|
168
|
+
element.classList.toggle('no-border');
|
169
|
+
element.classList.toggle('border-active');
|
189
170
|
});
|
190
|
-
});
|
191
|
-
|
192
|
-
} else {
|
193
|
-
collapsibleElements.forEach((collapsibleElement) => {
|
194
|
-
collapsibleElement.addEventListener('click', (event) => {
|
195
|
-
document.dispatchEvent(new CustomEvent(`collapsed-toggle${(event.currentTarget as HTMLElement).id}`))
|
196
|
-
|
197
|
-
const toggleElements = this.element.querySelectorAll(`.collapsible_border_toggle${(event.currentTarget as HTMLElement).id}`);
|
198
|
-
toggleElements.forEach(element => {
|
199
|
-
element.classList.toggle('no-border');
|
200
|
-
element.classList.toggle('border-active');
|
201
|
-
});
|
202
|
-
})
|
203
171
|
})
|
204
|
-
}
|
172
|
+
})
|
205
173
|
}
|
206
174
|
|
207
175
|
handleCollapsibleRow() {
|
@@ -7,14 +7,11 @@ import {
|
|
7
7
|
} from "../../utilities/props";
|
8
8
|
import { globalProps } from "../../utilities/globalProps";
|
9
9
|
|
10
|
-
import Draggable from "../../pb_draggable/_draggable"
|
11
|
-
|
12
10
|
type TableBodyPropTypes = {
|
13
11
|
aria?: { [key: string]: string };
|
14
12
|
children: React.ReactNode[] | React.ReactNode;
|
15
13
|
className: string;
|
16
14
|
data?: { [key: string]: string };
|
17
|
-
draggableContainer?: boolean;
|
18
15
|
htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
|
19
16
|
id?: string;
|
20
17
|
tag?: "table" | "div";
|
@@ -26,7 +23,6 @@ const TableBody = (props: TableBodyPropTypes): React.ReactElement => {
|
|
26
23
|
children,
|
27
24
|
className,
|
28
25
|
data = {},
|
29
|
-
draggableContainer = false,
|
30
26
|
htmlOptions = {},
|
31
27
|
id,
|
32
28
|
tag = "table",
|
@@ -41,30 +37,7 @@ const TableBody = (props: TableBodyPropTypes): React.ReactElement => {
|
|
41
37
|
return (
|
42
38
|
<>
|
43
39
|
{isTableTag ? (
|
44
|
-
|
45
|
-
<Draggable.Container
|
46
|
-
{...ariaProps}
|
47
|
-
{...dataProps}
|
48
|
-
{...htmlProps}
|
49
|
-
className={classes}
|
50
|
-
id={id}
|
51
|
-
tag="tbody"
|
52
|
-
>
|
53
|
-
{children}
|
54
|
-
</Draggable.Container>
|
55
|
-
) : (
|
56
|
-
<tbody
|
57
|
-
{...ariaProps}
|
58
|
-
{...dataProps}
|
59
|
-
{...htmlProps}
|
60
|
-
className={classes}
|
61
|
-
id={id}
|
62
|
-
>
|
63
|
-
{children}
|
64
|
-
</tbody>
|
65
|
-
)
|
66
|
-
) : draggableContainer ? (
|
67
|
-
<Draggable.Container
|
40
|
+
<tbody
|
68
41
|
{...ariaProps}
|
69
42
|
{...dataProps}
|
70
43
|
{...htmlProps}
|
@@ -72,7 +45,7 @@ const TableBody = (props: TableBodyPropTypes): React.ReactElement => {
|
|
72
45
|
id={id}
|
73
46
|
>
|
74
47
|
{children}
|
75
|
-
</
|
48
|
+
</tbody>
|
76
49
|
) : (
|
77
50
|
<div
|
78
51
|
{...ariaProps}
|
@@ -9,7 +9,6 @@ import {
|
|
9
9
|
import { globalProps } from "../../utilities/globalProps";
|
10
10
|
import Collapsible from "../../pb_collapsible/_collapsible";
|
11
11
|
import useCollapsible from "../../pb_collapsible/useCollapsible";
|
12
|
-
import Draggable from "../../pb_draggable/_draggable";
|
13
12
|
|
14
13
|
type TableRowPropTypes = {
|
15
14
|
aria?: { [key: string]: string };
|
@@ -20,8 +19,6 @@ type TableRowPropTypes = {
|
|
20
19
|
collapsibleSideHighlight?: boolean;
|
21
20
|
data?: { [key: string]: string };
|
22
21
|
dark?: boolean;
|
23
|
-
dragId?: string;
|
24
|
-
draggableItem?: boolean;
|
25
22
|
htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
|
26
23
|
id?: string;
|
27
24
|
toggleCellId?: string;
|
@@ -39,8 +36,6 @@ const TableRow = (props: TableRowPropTypes): React.ReactElement => {
|
|
39
36
|
className,
|
40
37
|
data = {},
|
41
38
|
dark = false,
|
42
|
-
dragId,
|
43
|
-
draggableItem = false,
|
44
39
|
htmlOptions = {},
|
45
40
|
id,
|
46
41
|
toggleCellId,
|
@@ -157,38 +152,15 @@ const TableRow = (props: TableRowPropTypes): React.ReactElement => {
|
|
157
152
|
</>
|
158
153
|
)
|
159
154
|
) : isTableTag ? (
|
160
|
-
|
161
|
-
<Draggable.Item
|
162
|
-
{...ariaProps}
|
163
|
-
{...dataProps}
|
164
|
-
{...htmlProps}
|
165
|
-
className={classes}
|
166
|
-
dragId={dragId}
|
167
|
-
tag="tr"
|
168
|
-
>
|
169
|
-
{children}
|
170
|
-
</Draggable.Item>
|
171
|
-
) : (
|
172
|
-
<tr
|
173
|
-
{...ariaProps}
|
174
|
-
{...dataProps}
|
175
|
-
{...htmlProps}
|
176
|
-
className={classes}
|
177
|
-
id={id}
|
178
|
-
>
|
179
|
-
{children}
|
180
|
-
</tr>
|
181
|
-
)
|
182
|
-
) : draggableItem ? (
|
183
|
-
<Draggable.Item
|
155
|
+
<tr
|
184
156
|
{...ariaProps}
|
185
157
|
{...dataProps}
|
186
158
|
{...htmlProps}
|
187
159
|
className={classes}
|
188
|
-
|
160
|
+
id={id}
|
189
161
|
>
|
190
162
|
{children}
|
191
|
-
</
|
163
|
+
</tr>
|
192
164
|
) : (
|
193
165
|
<div
|
194
166
|
{...ariaProps}
|
@@ -1,17 +1,11 @@
|
|
1
1
|
<% if object.tag == "table" %>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
class: object.classname,
|
10
|
-
data: object.data,
|
11
|
-
id: object.id,
|
12
|
-
**combined_html_options) do %>
|
13
|
-
<%= content.presence %>
|
14
|
-
<% end %>
|
2
|
+
<%= content_tag(:tbody,
|
3
|
+
aria: object.aria,
|
4
|
+
class: object.classname,
|
5
|
+
data: object.data,
|
6
|
+
id: object.id,
|
7
|
+
**combined_html_options) do %>
|
8
|
+
<%= content.presence %>
|
15
9
|
<% end %>
|
16
10
|
<% else %>
|
17
11
|
<%= content_tag(:div,
|
@@ -5,7 +5,6 @@
|
|
5
5
|
data: object.data.merge(id: object.id),
|
6
6
|
id: object.id,
|
7
7
|
'data-pb-table-collapsible-wrapper' => true,
|
8
|
-
'data-pb-table-collapsible-cell-id' => object.toggle_cell_id,
|
9
8
|
**combined_html_options) do %>
|
10
9
|
<%= content.presence %>
|
11
10
|
<% end %>
|
@@ -19,19 +18,13 @@
|
|
19
18
|
<% end %>
|
20
19
|
</tr>
|
21
20
|
<% elsif object.tag == "table" %>
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
class: object.classname,
|
30
|
-
data: object.data,
|
31
|
-
id: object.id,
|
32
|
-
**combined_html_options) do %>
|
33
|
-
<%= content.presence %>
|
34
|
-
<% end %>
|
21
|
+
<%= content_tag(:tr,
|
22
|
+
aria: object.aria,
|
23
|
+
class: object.classname,
|
24
|
+
data: object.data,
|
25
|
+
id: object.id,
|
26
|
+
**combined_html_options) do %>
|
27
|
+
<%= content.presence %>
|
35
28
|
<% end %>
|
36
29
|
<% else %>
|
37
30
|
<%= content_tag(:div,
|
@@ -13,14 +13,9 @@ module Playbook
|
|
13
13
|
prop :collapsible_content
|
14
14
|
prop :collapsible_side_highlight, type: Playbook::Props::Boolean,
|
15
15
|
default: true
|
16
|
-
prop :toggle_cell_id, type: Playbook::Props::String
|
17
|
-
prop :draggable_item, type: Playbook::Props::Boolean,
|
18
|
-
default: false
|
19
|
-
prop :drag_id, type: Playbook::Props::String,
|
20
|
-
default: nil
|
21
16
|
|
22
17
|
def classname
|
23
|
-
generate_classname("pb_table_row_kit", side_highlight_class) + tag_class
|
18
|
+
generate_classname("pb_table_row_kit", side_highlight_class) + tag_class
|
24
19
|
end
|
25
20
|
|
26
21
|
def side_highlight_class
|
@@ -30,14 +25,6 @@ module Playbook
|
|
30
25
|
def tag_class
|
31
26
|
" pb_table_tr"
|
32
27
|
end
|
33
|
-
|
34
|
-
def collapsible_cell_class
|
35
|
-
if toggle_cell_id
|
36
|
-
" collapsible_cell"
|
37
|
-
else
|
38
|
-
""
|
39
|
-
end
|
40
|
-
end
|
41
28
|
end
|
42
29
|
end
|
43
30
|
end
|
@@ -27,20 +27,6 @@
|
|
27
27
|
placeholder: "123-45-6789"
|
28
28
|
}) %>
|
29
29
|
|
30
|
-
<%= pb_rails("text_input", props: {
|
31
|
-
label: "Credit Card",
|
32
|
-
mask: "credit_card",
|
33
|
-
margin_bottom: "md",
|
34
|
-
placeholder: "1234 5678 9012 3456"
|
35
|
-
}) %>
|
36
|
-
|
37
|
-
<%= pb_rails("text_input", props: {
|
38
|
-
label: "CVV",
|
39
|
-
mask: "cvv",
|
40
|
-
margin_bottom: "md",
|
41
|
-
placeholder: "123"
|
42
|
-
}) %>
|
43
|
-
|
44
30
|
<%= pb_rails("title" , props: {
|
45
31
|
text: "Hidden Input Under The Hood",
|
46
32
|
padding_bottom: "sm"
|
@@ -27,8 +27,6 @@ export default class PbTextInput extends PbEnhancedElement {
|
|
27
27
|
ssn: 'ssn',
|
28
28
|
postal_code: 'postalCode',
|
29
29
|
zip_code: 'zipCode',
|
30
|
-
credit_card: 'creditCard',
|
31
|
-
cvv: 'cvv',
|
32
30
|
}[maskType];
|
33
31
|
|
34
32
|
if (maskKey && INPUTMASKS[maskKey]) {
|
@@ -47,9 +45,6 @@ export default class PbTextInput extends PbEnhancedElement {
|
|
47
45
|
case "currency":
|
48
46
|
sanitizedInput.value = sanitizeCurrency(formattedValue);
|
49
47
|
break;
|
50
|
-
case "credit_card":
|
51
|
-
sanitizedInput.value = sanitizeCreditCard(formattedValue);
|
52
|
-
break;
|
53
48
|
default:
|
54
49
|
sanitizedInput.value = formattedValue;
|
55
50
|
}
|
@@ -68,10 +63,6 @@ function sanitizeCurrency(input) {
|
|
68
63
|
return input.replace(/[$,]/g, "");
|
69
64
|
}
|
70
65
|
|
71
|
-
function sanitizeCreditCard(input) {
|
72
|
-
return input.replace(/\D/g, "");
|
73
|
-
}
|
74
|
-
|
75
66
|
function setCursorPosition(inputElement, cursorPosition, rawValue, formattedValue) {
|
76
67
|
const difference = formattedValue.length - rawValue.length;
|
77
68
|
const newPosition = Math.max(0, cursorPosition + difference);
|
@@ -4,15 +4,13 @@
|
|
4
4
|
module Playbook
|
5
5
|
module PbTextInput
|
6
6
|
class TextInput < Playbook::KitBase
|
7
|
-
VALID_MASKS = %w[currency
|
7
|
+
VALID_MASKS = %w[currency zipCode postalCode ssn].freeze
|
8
8
|
|
9
9
|
MASK_PATTERNS = {
|
10
10
|
"currency" => '^\$\d{1,3}(?:,\d{3})*(?:\.\d{2})?$',
|
11
11
|
"zip_code" => '\d{5}',
|
12
12
|
"postal_code" => '\d{5}-\d{4}',
|
13
13
|
"ssn" => '\d{3}-\d{2}-\d{4}',
|
14
|
-
"credit_card" => '\d{4} \d{4} \d{4} \d{4}',
|
15
|
-
"cvv" => '\d{3,4}',
|
16
14
|
}.freeze
|
17
15
|
|
18
16
|
prop :autocomplete, type: Playbook::Props::Boolean,
|
@@ -36,8 +34,7 @@ module Playbook
|
|
36
34
|
prop :add_on, type: Playbook::Props::NestedProps,
|
37
35
|
nested_kit: Playbook::PbTextInput::AddOn
|
38
36
|
|
39
|
-
prop :mask, type: Playbook::Props::
|
40
|
-
values: ["currency", "zip_code", "postal_code", "ssn", "credit_card", "cvv", nil],
|
37
|
+
prop :mask, type: Playbook::Props::String,
|
41
38
|
default: nil
|
42
39
|
|
43
40
|
def classname
|
@@ -31,38 +31,6 @@
|
|
31
31
|
@include pb_title_thin;
|
32
32
|
}
|
33
33
|
|
34
|
-
&[class*=_display] {
|
35
|
-
font-size: clamp(24px, calc(1.25vw + 5.3vw), 128px);
|
36
|
-
}
|
37
|
-
|
38
|
-
&[class*=_dynamic] {
|
39
|
-
&[class*=_xs] {
|
40
|
-
font-size: min(2vw, 80vw / 16);
|
41
|
-
}
|
42
|
-
|
43
|
-
&[class*=_sm] {
|
44
|
-
font-size: min(2.5vw, 96vw / 16);
|
45
|
-
}
|
46
|
-
|
47
|
-
&[class*=_md] {
|
48
|
-
font-size: min(4vw, 160vw / 16);
|
49
|
-
}
|
50
|
-
|
51
|
-
&[class*=_lg] {
|
52
|
-
font-size: min(5vw, 192vw / 16);
|
53
|
-
}
|
54
|
-
|
55
|
-
&[class*=_xl] {
|
56
|
-
font-size: min(6vw, 224vw / 16);
|
57
|
-
}
|
58
|
-
|
59
|
-
&[class*=_xxl] {
|
60
|
-
font-size: min(8vw, 256vw / 16);
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
|
65
|
-
|
66
34
|
@each $size, $size_value in $breakpoints_grid {
|
67
35
|
@for $title_size_value from 1 through 4 {
|
68
36
|
$min_size: map-get($size_value, "min");
|
@@ -3,7 +3,7 @@ import classnames from 'classnames'
|
|
3
3
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
4
4
|
import { deprecatedProps, GlobalProps, globalProps } from '../utilities/globalProps'
|
5
5
|
|
6
|
-
type SizeType = 1 | 2 | 3 | 4 | "1" | "2" | "3" | "4"
|
6
|
+
type SizeType = 1 | 2 | 3 | 4 | "1" | "2" | "3" | "4"
|
7
7
|
type SizeResponsiveType = {[key: string]: SizeType}
|
8
8
|
|
9
9
|
type TitleProps = {
|
@@ -16,7 +16,6 @@ type TitleProps = {
|
|
16
16
|
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
17
17
|
id?: string,
|
18
18
|
size?: SizeType | SizeResponsiveType,
|
19
|
-
displaySize?: null | "xs" | "sm" | "md" | "lg" | "xl" | "xxl",
|
20
19
|
tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "span",
|
21
20
|
text?: string,
|
22
21
|
variant?: null | "link",
|
@@ -33,7 +32,6 @@ const Title = (props: TitleProps): React.ReactElement => {
|
|
33
32
|
htmlOptions = {},
|
34
33
|
id,
|
35
34
|
size = 3,
|
36
|
-
displaySize = null,
|
37
35
|
bold = true,
|
38
36
|
tag = 'h3',
|
39
37
|
text,
|
@@ -58,16 +56,9 @@ const Title = (props: TitleProps): React.ReactElement => {
|
|
58
56
|
return css.trim()
|
59
57
|
}
|
60
58
|
|
61
|
-
const buildDisplaySize = () => {
|
62
|
-
if (displaySize) {
|
63
|
-
return `pb_title_kit_dynamic_${displaySize}`
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
59
|
const classes = classnames(
|
68
60
|
buildCss('pb_title_kit', isSizeNumberOrString ? `size_${size}` : "", variant, color, getBold),
|
69
61
|
globalProps(props),
|
70
|
-
buildDisplaySize(),
|
71
62
|
buildResponsiveSizeCss(),
|
72
63
|
className
|
73
64
|
)
|
@@ -1,9 +1,10 @@
|
|
1
1
|
<%= pb_rails("title", props: {
|
2
|
-
margin_bottom: "md"
|
3
2
|
}) do %>
|
4
3
|
Default Title
|
5
4
|
<% end %>
|
6
5
|
|
6
|
+
<br/>
|
7
|
+
|
7
8
|
<%= pb_rails("title", props: { text: "Title 1", tag: "h1", size: 1 }) %>
|
8
9
|
<%= pb_rails("title", props: { text: "Title 2", tag: "h2", size: 2 }) %>
|
9
10
|
<%= pb_rails("title", props: { text: "Title 3", tag: "h3", size: 3 }) %>
|
@@ -5,7 +5,6 @@ examples:
|
|
5
5
|
- title_colors: Colors
|
6
6
|
- title_responsive: Responsive
|
7
7
|
- title_truncate: Truncate
|
8
|
-
- title_display_size: Display Size
|
9
8
|
|
10
9
|
react:
|
11
10
|
- title_default: Default UI
|
@@ -13,4 +12,3 @@ examples:
|
|
13
12
|
- title_colors: Colors
|
14
13
|
- title_responsive: Responsive
|
15
14
|
- title_truncate: Truncate
|
16
|
-
- title_display_size: Display Size
|
@@ -3,4 +3,3 @@ export { default as TitleLightWeight } from './_title_light_weight.jsx'
|
|
3
3
|
export { default as TitleColors } from './_title_colors.jsx'
|
4
4
|
export { default as TitleResponsive } from './_title_responsive.jsx'
|
5
5
|
export { default as TitleTruncate } from './_title_truncate.jsx'
|
6
|
-
export { default as TitleDisplaySize } from './_title_display_size.jsx'
|
@@ -16,15 +16,12 @@ module Playbook
|
|
16
16
|
default: nil,
|
17
17
|
deprecated: true
|
18
18
|
prop :bold, type: Playbook::Props::Boolean, default: true
|
19
|
-
prop :display_size, type: Playbook::Props::Enum,
|
20
|
-
values: [nil, "xs", "sm", "md", "lg", "xl", "xxl"],
|
21
|
-
default: nil
|
22
19
|
|
23
20
|
def classname
|
24
21
|
if is_size_responsive
|
25
22
|
generate_classname("pb_title_kit", variant, color, is_bold) + generate_responsive_size_classname
|
26
23
|
else
|
27
|
-
generate_classname("pb_title_kit", size, variant, color, is_bold)
|
24
|
+
generate_classname("pb_title_kit", size, variant, color, is_bold)
|
28
25
|
end
|
29
26
|
end
|
30
27
|
|
@@ -32,12 +29,6 @@ module Playbook
|
|
32
29
|
bold ? nil : "thin"
|
33
30
|
end
|
34
31
|
|
35
|
-
def generate_display_size
|
36
|
-
return "" if display_size.nil?
|
37
|
-
|
38
|
-
" pb_title_kit_dynamic_#{display_size}"
|
39
|
-
end
|
40
|
-
|
41
32
|
def is_size_responsive
|
42
33
|
try(:size).is_a?(::Hash)
|
43
34
|
end
|
@@ -141,6 +141,7 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
|
|
141
141
|
|
142
142
|
&[data-popper-placement="right"] {
|
143
143
|
box-shadow: -8px 0 28px 0 $tooltip_shadow;
|
144
|
+
margin: 0 0 0 $space_sm;
|
144
145
|
.arrow {
|
145
146
|
left: -18px;
|
146
147
|
right: auto;
|
@@ -155,6 +156,7 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
|
|
155
156
|
|
156
157
|
&[data-popper-placement="bottom"] {
|
157
158
|
box-shadow: 0 -12px 28px 0 $tooltip_shadow;
|
159
|
+
margin: $space_sm 0 0 0;
|
158
160
|
.arrow {
|
159
161
|
top: -18px;
|
160
162
|
margin-bottom: 0;
|
@@ -167,6 +169,7 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
|
|
167
169
|
|
168
170
|
&[data-popper-placement="left"] {
|
169
171
|
box-shadow: 8px 0 28px 0 $tooltip_shadow;
|
172
|
+
margin: 0 $space_sm 0 0;
|
170
173
|
.arrow {
|
171
174
|
margin-bottom: 0;
|
172
175
|
right: -18px;
|
@@ -2,10 +2,8 @@ examples:
|
|
2
2
|
|
3
3
|
rails:
|
4
4
|
- tooltip_default: Default
|
5
|
-
- tooltip_interaction: Content Interaction
|
6
5
|
- tooltip_selectors: Using Common Selectors
|
7
6
|
- tooltip_with_icon_circle: Icon Circle Tooltip
|
8
|
-
- tooltip_delay_rails: Delay
|
9
7
|
- tooltip_show_tooltip: Show Tooltip
|
10
8
|
|
11
9
|
react:
|
@@ -11,7 +11,7 @@ const TOOLTIP_TIMEOUT = 250
|
|
11
11
|
|
12
12
|
export default class PbTooltip extends PbEnhancedElement {
|
13
13
|
static get selector() {
|
14
|
-
return '[data-pb-tooltip-kit
|
14
|
+
return '[data-pb-tooltip-kit]'
|
15
15
|
}
|
16
16
|
|
17
17
|
connect() {
|
@@ -152,4 +152,4 @@ export default class PbTooltip extends PbEnhancedElement {
|
|
152
152
|
get triggerMethod() {
|
153
153
|
return this.element.dataset.pbTooltipTriggerMethod || 'hover'
|
154
154
|
}
|
155
|
-
}
|
155
|
+
}
|
@@ -7,10 +7,6 @@ module Playbook
|
|
7
7
|
prop :trigger_element_selector
|
8
8
|
prop :trigger_element_id, deprecated: true
|
9
9
|
prop :tooltip_id
|
10
|
-
prop :interaction, type: Playbook::Props::Boolean,
|
11
|
-
default: false
|
12
|
-
prop :delay_open
|
13
|
-
prop :delay_close
|
14
10
|
prop :dark, type: Playbook::Props::Boolean,
|
15
11
|
default: false
|
16
12
|
prop :trigger_method, type: Playbook::Props::Enum,
|
@@ -22,19 +18,15 @@ module Playbook
|
|
22
18
|
end
|
23
19
|
|
24
20
|
def data
|
25
|
-
|
21
|
+
Hash(values[:data]).merge(
|
26
22
|
pb_tooltip_kit: true,
|
27
23
|
pb_tooltip_position: position,
|
28
24
|
pb_tooltip_trigger_element_selector: trigger_element_selector,
|
29
25
|
pb_tooltip_trigger_element_id: trigger_element_id,
|
30
26
|
pb_tooltip_tooltip_id: tooltip_id,
|
31
27
|
pb_tooltip_show_tooltip: true,
|
32
|
-
pb_tooltip_trigger_method: trigger_method
|
33
|
-
pb_tooltip_interaction: interaction
|
28
|
+
pb_tooltip_trigger_method: trigger_method
|
34
29
|
)
|
35
|
-
data = data.merge(pb_tooltip_delay_open: delay_open) if delay_open
|
36
|
-
data = data.merge(pb_tooltip_delay_close: delay_close) if delay_close
|
37
|
-
data
|
38
30
|
end
|
39
31
|
|
40
32
|
private
|