playbook_ui 14.13.0.pre.alpha.play1884progresspill6064 → 14.13.0.pre.alpha.rails8compatible6228
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +6 -5
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +8 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_custom_cell.jsx +75 -0
- 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 +3 -1
- 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/_advanced_table_table_props_sticky_header.html.erb +33 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_bar_graph/BarGraphStyles.scss +58 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +64 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +17 -8
- data/app/pb_kits/playbook/pb_checkbox/checkbox.test.js +16 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.jsx +69 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.md +1 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -1
- data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +3 -1
- 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 +4 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.jsx +90 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md +5 -0
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_draggable/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +7 -4
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +6 -3
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +1 -6
- data/app/pb_kits/playbook/pb_nav/item.html.erb +7 -19
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +3 -8
- data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -6
- data/app/pb_kits/playbook/pb_overlay/_overlay.tsx +4 -0
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx +37 -0
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional_react.md +1 -0
- data/app/pb_kits/playbook/pb_overlay/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_overlay/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_overlay/subcomponents/_overlay_token.tsx +48 -10
- data/app/pb_kits/playbook/pb_popover/popover.html.erb +1 -6
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +4 -0
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.tsx +7 -5
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width.html.erb +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width.jsx +18 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width_rails.md +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width_react.md +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +2 -7
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.rb +6 -0
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.test.js +26 -1
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb +1 -5
- data/app/pb_kits/playbook/pb_progress_step/progress_step.html.erb +1 -5
- data/app/pb_kits/playbook/pb_progress_step/progress_step_item.html.erb +1 -5
- data/app/pb_kits/playbook/pb_radio/radio.html.erb +6 -11
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.html.erb +51 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click_rails.md +2 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +96 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.jsx +101 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/example.yml +4 -1
- data/app/pb_kits/playbook/pb_table/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_table/index.ts +41 -9
- data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +4 -0
- data/app/pb_kits/playbook/pb_table/subcomponents/_table_body.tsx +29 -2
- data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +31 -3
- data/app/pb_kits/playbook/pb_table/table_body.html.erb +13 -7
- data/app/pb_kits/playbook/pb_table/table_body.rb +2 -0
- data/app/pb_kits/playbook/pb_table/table_row.html.erb +14 -7
- data/app/pb_kits/playbook/pb_table/table_row.rb +14 -1
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.html.erb +14 -0
- data/app/pb_kits/playbook/pb_text_input/index.js +9 -0
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +5 -2
- data/dist/chunks/{_typeahead-btjo1UN5.js → _typeahead-PqkcDf1H.js} +4 -4
- data/dist/chunks/{_weekday_stacked-TIh9nTmZ.js → _weekday_stacked-C7J0S4f7.js} +3 -3
- data/dist/chunks/{lib-DjpLC8uO.js → lib-D3us1bGD.js} +2 -2
- data/dist/chunks/{pb_form_validation-S56UaHZl.js → pb_form_validation-BpihMSOQ.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +0 -7
- 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 +36 -25
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +0 -66
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +0 -98
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +0 -28
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +0 -42
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +0 -19
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +0 -26
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +0 -10
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +0 -17
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +0 -19
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +0 -16
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +0 -35
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +0 -42
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +0 -13
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +0 -15
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +0 -4
- data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +0 -31
- /data/app/pb_kits/playbook/pb_table/docs/{_table_with_collapsible_with_custom_click.md → _table_with_collapsible_with_custom_click_react.md} +0 -0
@@ -13,9 +13,14 @@ 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
|
16
21
|
|
17
22
|
def classname
|
18
|
-
generate_classname("pb_table_row_kit", side_highlight_class) + tag_class
|
23
|
+
generate_classname("pb_table_row_kit", side_highlight_class) + tag_class + collapsible_cell_class
|
19
24
|
end
|
20
25
|
|
21
26
|
def side_highlight_class
|
@@ -25,6 +30,14 @@ module Playbook
|
|
25
30
|
def tag_class
|
26
31
|
" pb_table_tr"
|
27
32
|
end
|
33
|
+
|
34
|
+
def collapsible_cell_class
|
35
|
+
if toggle_cell_id
|
36
|
+
" collapsible_cell"
|
37
|
+
else
|
38
|
+
""
|
39
|
+
end
|
40
|
+
end
|
28
41
|
end
|
29
42
|
end
|
30
43
|
end
|
@@ -27,6 +27,20 @@
|
|
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
|
+
|
30
44
|
<%= pb_rails("title" , props: {
|
31
45
|
text: "Hidden Input Under The Hood",
|
32
46
|
padding_bottom: "sm"
|
@@ -27,6 +27,8 @@ 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',
|
30
32
|
}[maskType];
|
31
33
|
|
32
34
|
if (maskKey && INPUTMASKS[maskKey]) {
|
@@ -45,6 +47,9 @@ export default class PbTextInput extends PbEnhancedElement {
|
|
45
47
|
case "currency":
|
46
48
|
sanitizedInput.value = sanitizeCurrency(formattedValue);
|
47
49
|
break;
|
50
|
+
case "credit_card":
|
51
|
+
sanitizedInput.value = sanitizeCreditCard(formattedValue);
|
52
|
+
break;
|
48
53
|
default:
|
49
54
|
sanitizedInput.value = formattedValue;
|
50
55
|
}
|
@@ -63,6 +68,10 @@ function sanitizeCurrency(input) {
|
|
63
68
|
return input.replace(/[$,]/g, "");
|
64
69
|
}
|
65
70
|
|
71
|
+
function sanitizeCreditCard(input) {
|
72
|
+
return input.replace(/\D/g, "");
|
73
|
+
}
|
74
|
+
|
66
75
|
function setCursorPosition(inputElement, cursorPosition, rawValue, formattedValue) {
|
67
76
|
const difference = formattedValue.length - rawValue.length;
|
68
77
|
const newPosition = Math.max(0, cursorPosition + difference);
|
@@ -4,13 +4,15 @@
|
|
4
4
|
module Playbook
|
5
5
|
module PbTextInput
|
6
6
|
class TextInput < Playbook::KitBase
|
7
|
-
VALID_MASKS = %w[currency
|
7
|
+
VALID_MASKS = %w[currency zip_code postal_code ssn credit_card cvv].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}',
|
14
16
|
}.freeze
|
15
17
|
|
16
18
|
prop :autocomplete, type: Playbook::Props::Boolean,
|
@@ -34,7 +36,8 @@ module Playbook
|
|
34
36
|
prop :add_on, type: Playbook::Props::NestedProps,
|
35
37
|
nested_kit: Playbook::PbTextInput::AddOn
|
36
38
|
|
37
|
-
prop :mask, type: Playbook::Props::
|
39
|
+
prop :mask, type: Playbook::Props::Enum,
|
40
|
+
values: ["currency", "zip_code", "postal_code", "ssn", "credit_card", "cvv", nil],
|
38
41
|
default: nil
|
39
42
|
|
40
43
|
def classname
|