playbook_ui 14.18.0.pre.alpha.play2042addturbosupporttopopoverkit7423 → 14.18.0.pre.alpha.revert4567revert4553PLAY2056ATcolbordercolors7469
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_advanced_table/_advanced_table.scss +304 -21
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +5 -1
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +6 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color.jsx +80 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color.md +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.html.erb +58 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.md +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.html.erb +43 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.html.erb +55 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors_rails.md +1 -0
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +2 -1
- data/app/pb_kits/playbook/pb_draggable/draggable.rb +9 -1
- data/app/pb_kits/playbook/pb_draggable/index.js +139 -142
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +52 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_line_graph/lineGraphTheme.ts +110 -0
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +13 -0
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +3 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_country_search.html.erb +10 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_country_search.jsx +20 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_country_search.md +1 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +3 -0
- data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.test.js +19 -0
- data/dist/chunks/{_typeahead-COZRQUuU.js → _typeahead-D8CsVBZO.js} +2 -2
- data/dist/chunks/_weekday_stacked-D3oLTSkH.js +45 -0
- data/dist/chunks/{lib-ClNg0TLS.js → lib-BmTAc7Nc.js} +1 -1
- data/dist/chunks/{pb_form_validation-Btrgnox1.js → pb_form_validation-BWjy4bFn.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 +21 -8
- data/dist/chunks/_weekday_stacked-BRT0ul9R.js +0 -45
- /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_drop_zones_colors.md → _draggable_drop_zones_colors_react.md} +0 -0
- /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_drop_zones.md → _draggable_drop_zones_react.md} +0 -0
@@ -0,0 +1,110 @@
|
|
1
|
+
import colors from '../tokens/exports/_colors.module.scss'
|
2
|
+
import typography from '../tokens/exports/_typography.module.scss'
|
3
|
+
|
4
|
+
const lineGraphTheme = {
|
5
|
+
title: {
|
6
|
+
text: "",
|
7
|
+
style: {
|
8
|
+
color: colors.text_lt_default,
|
9
|
+
fontFamily: typography.font_family_base,
|
10
|
+
fontWeight: typography.bold,
|
11
|
+
fontSize: typography.heading_3,
|
12
|
+
},
|
13
|
+
},
|
14
|
+
subtitle: {
|
15
|
+
text: "" ,
|
16
|
+
style: {
|
17
|
+
fontFamily: typography.font_family_base,
|
18
|
+
color: colors.text_lt_light,
|
19
|
+
fontWeight: typography.regular,
|
20
|
+
fontSize: typography.text_base,
|
21
|
+
},
|
22
|
+
},
|
23
|
+
chart: {
|
24
|
+
type: "line",
|
25
|
+
},
|
26
|
+
tooltip: {
|
27
|
+
backgroundColor: {
|
28
|
+
linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
|
29
|
+
stops: [
|
30
|
+
[0, colors.bg_dark],
|
31
|
+
[1, colors.bg_dark],
|
32
|
+
],
|
33
|
+
},
|
34
|
+
followPointer: true,
|
35
|
+
shadow: false,
|
36
|
+
borderWidth: 0,
|
37
|
+
borderRadius: 10,
|
38
|
+
style: {
|
39
|
+
fontFamily: typography.font_family_base,
|
40
|
+
color: colors.text_dk_default,
|
41
|
+
fontWeight: typography.regular,
|
42
|
+
fontSize: typography.text_smaller,
|
43
|
+
},
|
44
|
+
},
|
45
|
+
plotOptions: {
|
46
|
+
line: {
|
47
|
+
dataLabels: {
|
48
|
+
enabled: false,
|
49
|
+
},
|
50
|
+
},
|
51
|
+
},
|
52
|
+
credits: { enabled: false },
|
53
|
+
legend: { enabled: false },
|
54
|
+
colors: [
|
55
|
+
colors.data_1,
|
56
|
+
colors.data_2,
|
57
|
+
colors.data_3,
|
58
|
+
colors.data_4,
|
59
|
+
colors.data_5,
|
60
|
+
colors.data_6,
|
61
|
+
colors.data_7,
|
62
|
+
],
|
63
|
+
xAxis: {
|
64
|
+
gridLineWidth: 0,
|
65
|
+
lineColor: colors.border_light,
|
66
|
+
tickColor: colors.border_light,
|
67
|
+
labels: {
|
68
|
+
style: {
|
69
|
+
fontFamily: typography.font_family_base,
|
70
|
+
color: colors.text_lt_lighter,
|
71
|
+
fontWeight: typography.bold,
|
72
|
+
fontSize: typography.text_smaller,
|
73
|
+
},
|
74
|
+
},
|
75
|
+
title: {
|
76
|
+
style: {
|
77
|
+
color: colors.text_lt_default,
|
78
|
+
fontFamily: typography.font_family_base,
|
79
|
+
fontWeight: typography.regular,
|
80
|
+
fontSize: typography.heading_4,
|
81
|
+
},
|
82
|
+
},
|
83
|
+
},
|
84
|
+
yAxis: {
|
85
|
+
alternateGridColor: undefined as string | undefined,
|
86
|
+
minorTickInterval: null as number | null,
|
87
|
+
gridLineColor: colors.border_light,
|
88
|
+
minorGridLineColor: colors.border_light,
|
89
|
+
lineWidth: 0,
|
90
|
+
tickWidth: 0,
|
91
|
+
labels: {
|
92
|
+
style: {
|
93
|
+
fontFamily: typography.font_family_base,
|
94
|
+
color: colors.text_lt_lighter,
|
95
|
+
fontWeight: typography.bold,
|
96
|
+
fontSize: typography.text_smaller,
|
97
|
+
},
|
98
|
+
},
|
99
|
+
title: {
|
100
|
+
style: {
|
101
|
+
fontFamily: typography.font_family_base,
|
102
|
+
color: colors.text_lt_lighter,
|
103
|
+
fontWeight: typography.bold,
|
104
|
+
fontSize: typography.text_smaller,
|
105
|
+
},
|
106
|
+
},
|
107
|
+
},
|
108
|
+
}
|
109
|
+
|
110
|
+
export default lineGraphTheme;
|
@@ -39,6 +39,9 @@ $flag-min-resolution: 192dpi;
|
|
39
39
|
color: $charcoal;
|
40
40
|
}
|
41
41
|
|
42
|
+
.iti__country-list {
|
43
|
+
min-width: $dropdown-min-width;
|
44
|
+
}
|
42
45
|
// iti-spacer-horizontal's default is 8px, or $space_xs
|
43
46
|
.iti__country-list .iti__flag, .iti__country-name {
|
44
47
|
margin-right: $space_xs;
|
@@ -227,6 +230,16 @@ $flag-min-resolution: 192dpi;
|
|
227
230
|
.iti__dropdown-content {
|
228
231
|
border-radius: $space_xs;
|
229
232
|
border: 1px solid $border_dark !important;
|
233
|
+
.iti__search-input {
|
234
|
+
background-color: $bg_dark_card;
|
235
|
+
&:hover {
|
236
|
+
background-color: $bg_dark_card;
|
237
|
+
}
|
238
|
+
&:active,
|
239
|
+
&:focus {
|
240
|
+
background-color: $card_dark;
|
241
|
+
}
|
242
|
+
}
|
230
243
|
}
|
231
244
|
|
232
245
|
.iti__divider {
|
@@ -37,6 +37,7 @@ type PhoneNumberInputProps = {
|
|
37
37
|
required?: boolean,
|
38
38
|
value?: string,
|
39
39
|
formatAsYouType?: boolean,
|
40
|
+
countrySearch?: boolean,
|
40
41
|
}
|
41
42
|
|
42
43
|
enum ValidationError {
|
@@ -91,6 +92,7 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.MutableRefOb
|
|
91
92
|
preferredCountries = [],
|
92
93
|
value = "",
|
93
94
|
formatAsYouType = false,
|
95
|
+
countrySearch = false,
|
94
96
|
} = props
|
95
97
|
|
96
98
|
const ariaProps = buildAriaProps(aria)
|
@@ -242,7 +244,7 @@ const PhoneNumberInput = (props: PhoneNumberInputProps, ref?: React.MutableRefOb
|
|
242
244
|
autoInsertDialCode: false,
|
243
245
|
initialCountry: initialCountry || fallbackCountry,
|
244
246
|
onlyCountries,
|
245
|
-
countrySearch:
|
247
|
+
countrySearch: countrySearch,
|
246
248
|
fixDropdownWidth: false,
|
247
249
|
formatAsYouType: formatAsYouType,
|
248
250
|
hiddenInput: hiddenInputs ? () => ({
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import PhoneNumberInput from '../_phone_number_input'
|
3
|
+
|
4
|
+
const PhoneNumberInputCountrySearch = (props) => (
|
5
|
+
<>
|
6
|
+
<PhoneNumberInput
|
7
|
+
countrySearch
|
8
|
+
id='country-search'
|
9
|
+
{...props}
|
10
|
+
/>
|
11
|
+
<PhoneNumberInput
|
12
|
+
countrySearch
|
13
|
+
id='country-search-limited'
|
14
|
+
onlyCountries={["br", "us", "ph", "gb"]}
|
15
|
+
{...props}
|
16
|
+
/>
|
17
|
+
</>
|
18
|
+
)
|
19
|
+
|
20
|
+
export default PhoneNumberInputCountrySearch
|
@@ -0,0 +1 @@
|
|
1
|
+
Set `country_search` / `countrySearch` to true to allow users to search for a specific Country within the dropdown. If the range of countries has been limited, only the selected countries will be searchable.
|
@@ -9,6 +9,7 @@ examples:
|
|
9
9
|
- phone_number_input_clear_field: Clearing the Input Field
|
10
10
|
- phone_number_input_access_input_element: Accessing the Input Element
|
11
11
|
- phone_number_input_format: Format as You Type
|
12
|
+
- phone_number_input_country_search: Country Search
|
12
13
|
|
13
14
|
rails:
|
14
15
|
- phone_number_input_default: Default
|
@@ -18,4 +19,5 @@ examples:
|
|
18
19
|
- phone_number_input_validation: Form Validation
|
19
20
|
- phone_number_input_format: Format as You Type
|
20
21
|
- phone_number_input_hidden_inputs: Hidden Inputs
|
22
|
+
- phone_number_input_country_search: Country Search
|
21
23
|
|
@@ -6,3 +6,4 @@ export { default as PhoneNumberInputValidation } from './_phone_number_input_val
|
|
6
6
|
export { default as PhoneNumberInputClearField } from './_phone_number_input_clear_field'
|
7
7
|
export { default as PhoneNumberInputAccessInputElement } from './_phone_number_input_access_input_element'
|
8
8
|
export { default as PhoneNumberInputFormat } from './_phone_number_input_format'
|
9
|
+
export { default as PhoneNumberInputCountrySearch } from './_phone_number_input_country_search'
|
@@ -25,6 +25,8 @@ module Playbook
|
|
25
25
|
default: false
|
26
26
|
prop :hidden_inputs, type: Playbook::Props::Boolean,
|
27
27
|
default: false
|
28
|
+
prop :country_search, type: Playbook::Props::Boolean,
|
29
|
+
default: false
|
28
30
|
|
29
31
|
def classname
|
30
32
|
generate_classname("pb_phone_number_input")
|
@@ -45,6 +47,7 @@ module Playbook
|
|
45
47
|
preferredCountries: preferred_countries,
|
46
48
|
required: required,
|
47
49
|
value: value,
|
50
|
+
countrySearch: country_search,
|
48
51
|
}
|
49
52
|
end
|
50
53
|
end
|
@@ -139,3 +139,22 @@ test("should format phone number as '555-555-5555' with formatAsYouType and 'us'
|
|
139
139
|
|
140
140
|
expect(input.value).toBe("555-555-5555");
|
141
141
|
});
|
142
|
+
|
143
|
+
test("should pass countrySearch prop to component", () => {
|
144
|
+
window.intlTelInput = jest.fn(() => ({
|
145
|
+
getSelectedCountryData: jest.fn(() => ({})),
|
146
|
+
isValidNumber: jest.fn(() => true),
|
147
|
+
getValidationError: jest.fn(() => 0),
|
148
|
+
}));
|
149
|
+
|
150
|
+
const props = {
|
151
|
+
id: testId,
|
152
|
+
countrySearch: true,
|
153
|
+
data: { testid: 'phone-input-with-search' }
|
154
|
+
};
|
155
|
+
|
156
|
+
render(<PhoneNumberInput {...props} />);
|
157
|
+
|
158
|
+
const wrapper = screen.getByTestId('phone-input-with-search');
|
159
|
+
expect(wrapper).toBeInTheDocument();
|
160
|
+
});
|