playbook_ui 14.15.0.pre.alpha.PBNTR617addgriddisplayglobalprop6700 → 14.15.0.pre.alpha.PBNTR900phonenumberinputhidden6593
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 +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.md +1 -3
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +1 -1
- data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +5 -32
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +1 -1
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +2 -4
- data/app/pb_kits/playbook/pb_phone_number_input/docs/{_phone_number_input_default.html.erb → _phone_number_input_default_rails.html.erb} +1 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default_rails.md +2 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -4
- data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
- data/app/pb_kits/playbook/pb_popover/_popover.tsx +1 -1
- data/app/pb_kits/playbook/pb_popover/popover.test.js +1 -1
- data/app/pb_kits/playbook/pb_text_input/inputMask.ts +3 -2
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.erb +10 -0
- data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +4 -16
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
- data/app/pb_kits/playbook/tokens/_display.scss +1 -3
- data/app/pb_kits/playbook/utilities/_display.scss +1 -6
- data/app/pb_kits/playbook/utilities/test/globalProps/display.test.js +1 -1
- data/dist/chunks/_typeahead-Cu4WtFsC.js +36 -0
- data/dist/chunks/{_weekday_stacked-BVO5G6au.js → _weekday_stacked-iCkVKLxW.js} +2 -2
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +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/display.rb +2 -2
- data/lib/playbook/version.rb +1 -1
- metadata +7 -16
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.jsx +0 -102
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.md +0 -4
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.html.erb +0 -39
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.html.erb +0 -39
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx +0 -91
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.md +0 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_hidden_inputs.html.erb +0 -5
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_hidden_inputs.md +0 -1
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon_rails.html.erb +0 -22
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx +0 -66
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md +0 -1
- data/dist/chunks/_typeahead-B8f4HM8I.js +0 -36
data/lib/playbook/display.rb
CHANGED
@@ -18,7 +18,7 @@ module Playbook
|
|
18
18
|
else
|
19
19
|
selected_props.each do |k|
|
20
20
|
display_value = send(k)
|
21
|
-
css += "display_#{display_value}
|
21
|
+
css += "display_#{display_value}" if display_values.include? display_value
|
22
22
|
end
|
23
23
|
end
|
24
24
|
css unless css.blank?
|
@@ -35,7 +35,7 @@ module Playbook
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def display_values
|
38
|
-
%w[block inline_block inline flex inline_flex none
|
38
|
+
%w[block inline_block inline flex inline_flex none]
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
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.15.0.pre.alpha.
|
4
|
+
version: 14.15.0.pre.alpha.PBNTR900phonenumberinputhidden6593
|
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-03-
|
12
|
+
date: 2025-03-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -310,8 +310,6 @@ files:
|
|
310
310
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx
|
311
311
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.md
|
312
312
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_infinite_scroll.jsx
|
313
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.jsx
|
314
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.md
|
315
313
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx
|
316
314
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md
|
317
315
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb
|
@@ -939,10 +937,8 @@ files:
|
|
939
937
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.html.erb
|
940
938
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.jsx
|
941
939
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.md
|
942
|
-
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.html.erb
|
943
940
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx
|
944
941
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md
|
945
|
-
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.html.erb
|
946
942
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.jsx
|
947
943
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.md
|
948
944
|
- app/pb_kits/playbook/pb_date_picker/docs/_date_picker_positions.html.erb
|
@@ -1985,8 +1981,6 @@ files:
|
|
1985
1981
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.md
|
1986
1982
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.html.erb
|
1987
1983
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.jsx
|
1988
|
-
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx
|
1989
|
-
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.md
|
1990
1984
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb
|
1991
1985
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.md
|
1992
1986
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.html.erb
|
@@ -2252,14 +2246,13 @@ files:
|
|
2252
2246
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.md
|
2253
2247
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.jsx
|
2254
2248
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.md
|
2255
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.html.erb
|
2256
2249
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.jsx
|
2257
2250
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.md
|
2251
|
+
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default_rails.html.erb
|
2252
|
+
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default_rails.md
|
2258
2253
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.html.erb
|
2259
2254
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.jsx
|
2260
2255
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.md
|
2261
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_hidden_inputs.html.erb
|
2262
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_hidden_inputs.md
|
2263
2256
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_initial_country.html.erb
|
2264
2257
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_initial_country.jsx
|
2265
2258
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_initial_country.md
|
@@ -3134,9 +3127,9 @@ files:
|
|
3134
3127
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay.md
|
3135
3128
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.html.erb
|
3136
3129
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_delay_rails.md
|
3130
|
+
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.erb
|
3137
3131
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.jsx
|
3138
3132
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon.md
|
3139
|
-
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_icon_rails.html.erb
|
3140
3133
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.html.erb
|
3141
3134
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.jsx
|
3142
3135
|
- app/pb_kits/playbook/pb_tooltip/docs/_tooltip_interaction.md
|
@@ -3213,8 +3206,6 @@ files:
|
|
3213
3206
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.jsx
|
3214
3207
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.html.erb
|
3215
3208
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.jsx
|
3216
|
-
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx
|
3217
|
-
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md
|
3218
3209
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb
|
3219
3210
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx
|
3220
3211
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md
|
@@ -3413,8 +3404,8 @@ files:
|
|
3413
3404
|
- app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
|
3414
3405
|
- app/pb_kits/playbook/utilities/text.ts
|
3415
3406
|
- app/pb_kits/playbook/utilities/validEmojiChecker.ts
|
3416
|
-
- dist/chunks/_typeahead-
|
3417
|
-
- dist/chunks/_weekday_stacked-
|
3407
|
+
- dist/chunks/_typeahead-Cu4WtFsC.js
|
3408
|
+
- dist/chunks/_weekday_stacked-iCkVKLxW.js
|
3418
3409
|
- dist/chunks/lazysizes-B7xYodB-.js
|
3419
3410
|
- dist/chunks/lib-5OzNgeeu.js
|
3420
3411
|
- dist/chunks/pb_form_validation-DGhKbZtO.js
|
@@ -1,102 +0,0 @@
|
|
1
|
-
import React, { useState } from "react";
|
2
|
-
import { AdvancedTable, TextInput, Body } from "playbook-ui";
|
3
|
-
import MOCK_DATA from "./advanced_table_mock_data.json";
|
4
|
-
|
5
|
-
const AdvancedTableInlineEditing = (props) => {
|
6
|
-
const [editedValues, setEditedValues] = useState({});
|
7
|
-
|
8
|
-
const EditableCell = ({ rowId, originalValue, onSave }) => {
|
9
|
-
const [localValue, setLocalValue] = useState(originalValue);
|
10
|
-
|
11
|
-
const handleChange = (e) => setLocalValue(e.target.value);
|
12
|
-
|
13
|
-
const handleBlur = () => {
|
14
|
-
originalValue !== localValue && onSave(rowId, localValue);
|
15
|
-
};
|
16
|
-
|
17
|
-
return (
|
18
|
-
<TextInput inline
|
19
|
-
marginBottom="none"
|
20
|
-
{...props}
|
21
|
-
>
|
22
|
-
<input
|
23
|
-
onBlur={handleBlur}
|
24
|
-
onChange={handleChange}
|
25
|
-
onKeyDown={(e) => e.key === 'Enter' && handleBlur()}
|
26
|
-
value={localValue}
|
27
|
-
/>
|
28
|
-
</TextInput>
|
29
|
-
);
|
30
|
-
};
|
31
|
-
|
32
|
-
const columnDefinitions = [
|
33
|
-
{
|
34
|
-
accessor: "year",
|
35
|
-
label: "Year",
|
36
|
-
cellAccessors: ["quarter", "month", "day"],
|
37
|
-
},
|
38
|
-
{
|
39
|
-
accessor: "newEnrollments",
|
40
|
-
label: "New Enrollments",
|
41
|
-
},
|
42
|
-
{
|
43
|
-
accessor: "scheduledMeetings",
|
44
|
-
label: "Scheduled Meetings",
|
45
|
-
editable: true,
|
46
|
-
customRenderer: (row) => {
|
47
|
-
return (
|
48
|
-
<EditableCell
|
49
|
-
onSave={(id, val) => {
|
50
|
-
setEditedValues((prev) => ({ ...prev, [id]: val }));
|
51
|
-
}}
|
52
|
-
originalValue={
|
53
|
-
editedValues[row.id] ?? row.original.scheduledMeetings
|
54
|
-
}
|
55
|
-
rowId={row.id}
|
56
|
-
/>
|
57
|
-
);
|
58
|
-
},
|
59
|
-
},
|
60
|
-
{
|
61
|
-
accessor: "attendanceRate",
|
62
|
-
label: "Attendance Rate",
|
63
|
-
},
|
64
|
-
{
|
65
|
-
accessor: "completedClasses",
|
66
|
-
label: "Completed Classes",
|
67
|
-
},
|
68
|
-
{
|
69
|
-
accessor: "classCompletionRate",
|
70
|
-
label: "Class Completion Rate",
|
71
|
-
},
|
72
|
-
{
|
73
|
-
accessor: "graduatedStudents",
|
74
|
-
label: "Graduated Students",
|
75
|
-
},
|
76
|
-
];
|
77
|
-
|
78
|
-
return (
|
79
|
-
<div className="App">
|
80
|
-
<AdvancedTable
|
81
|
-
columnDefinitions={columnDefinitions}
|
82
|
-
tableData={MOCK_DATA}
|
83
|
-
{...props}
|
84
|
-
/>
|
85
|
-
{
|
86
|
-
editedValues && Object.keys(editedValues).length > 0 && (
|
87
|
-
<>
|
88
|
-
<Body
|
89
|
-
marginTop="md"
|
90
|
-
{...props}
|
91
|
-
>
|
92
|
-
Edited Values by Row Id:
|
93
|
-
</Body>
|
94
|
-
<pre style={{color: 'white'}}>{JSON.stringify(editedValues, null, 2)}</pre>
|
95
|
-
</>
|
96
|
-
)
|
97
|
-
}
|
98
|
-
</div>
|
99
|
-
);
|
100
|
-
};
|
101
|
-
|
102
|
-
export default AdvancedTableInlineEditing;
|
@@ -1,4 +0,0 @@
|
|
1
|
-
Inline Cell Editing can be achieved with a combination of our `TextInput` kit and the `customRenderer` method available through columnDefinitions.
|
2
|
-
|
3
|
-
Hover over any cell within the 'Scheduled Meetings' column to see the TextInput and type in to change values. Values can be saved by clicking away from the TextInput or by hitting 'Enter'.
|
4
|
-
See the code snippet below to see how this was achieved. Devs must manage state themselves as shown.
|
@@ -1,39 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: {
|
2
|
-
label: "Date Picker",
|
3
|
-
picker_id: "date-picker-onchange",
|
4
|
-
margin_bottom: "lg"
|
5
|
-
}) %>
|
6
|
-
<%= pb_rails("caption", props: { text: "Date Object" }) %>
|
7
|
-
<%= pb_rails("body", props: {
|
8
|
-
label: "Date Object",
|
9
|
-
text: "Select Date",
|
10
|
-
margin_bottom: "lg",
|
11
|
-
id: "date-picker-onchange-object",
|
12
|
-
}) %>
|
13
|
-
<%= pb_rails("caption", props: { text: "Date String" }) %>
|
14
|
-
<%= pb_rails("body", props: {
|
15
|
-
label: "Date String",
|
16
|
-
text: "Select Date",
|
17
|
-
margin_bottom: "lg",
|
18
|
-
id: "date-picker-onchange-string",
|
19
|
-
}) %>
|
20
|
-
|
21
|
-
|
22
|
-
<%= javascript_tag do %>
|
23
|
-
window.addEventListener("DOMContentLoaded", () => {
|
24
|
-
<%# Access flatpickr instance with picker id and assign it a variable %>
|
25
|
-
const fp = document.querySelector("#date-picker-onchange")._flatpickr
|
26
|
-
|
27
|
-
<%# Define Hook %>
|
28
|
-
const changeHook = (selectedDates, dateStr) => {
|
29
|
-
const object = document.querySelector('#date-picker-onchange-object')
|
30
|
-
object.textContent = selectedDates[0] ? selectedDates[0].toString() : ''
|
31
|
-
|
32
|
-
const string = document.querySelector('#date-picker-onchange-string')
|
33
|
-
string.textContent = dateStr
|
34
|
-
}
|
35
|
-
|
36
|
-
<%# Push one or more hooks to onChange config array %>
|
37
|
-
fp.config.onChange.push(changeHook)
|
38
|
-
})
|
39
|
-
<% end %>
|
@@ -1,39 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: {
|
2
|
-
label: "Date Picker",
|
3
|
-
picker_id: "date-picker-onclose",
|
4
|
-
margin_bottom: "lg"
|
5
|
-
}) %>
|
6
|
-
<%= pb_rails("caption", props: { text: "Date Object" }) %>
|
7
|
-
<%= pb_rails("body", props: {
|
8
|
-
label: "Date Object",
|
9
|
-
text: "Select Date",
|
10
|
-
margin_bottom: "lg",
|
11
|
-
id: "date-picker-onclose-object",
|
12
|
-
}) %>
|
13
|
-
<%= pb_rails("caption", props: { text: "Date String" }) %>
|
14
|
-
<%= pb_rails("body", props: {
|
15
|
-
label: "Date String",
|
16
|
-
text: "Select Date",
|
17
|
-
margin_bottom: "lg",
|
18
|
-
id: "date-picker-onclose-string",
|
19
|
-
}) %>
|
20
|
-
|
21
|
-
|
22
|
-
<%= javascript_tag do %>
|
23
|
-
window.addEventListener("DOMContentLoaded", () => {
|
24
|
-
<%# Access flatpickr instance with picker id and assign it a variable %>
|
25
|
-
const fp = document.querySelector("#date-picker-onclose")._flatpickr
|
26
|
-
|
27
|
-
<%# Define Hook %>
|
28
|
-
const closeHook = (selectedDates, dateStr) => {
|
29
|
-
const object = document.querySelector('#date-picker-onclose-object')
|
30
|
-
object.textContent = selectedDates[0] ? selectedDates[0].toString() : ''
|
31
|
-
|
32
|
-
const string = document.querySelector('#date-picker-onclose-string')
|
33
|
-
string.textContent = dateStr
|
34
|
-
}
|
35
|
-
|
36
|
-
<%# Push one or more hooks to onClose config array %>
|
37
|
-
fp.config.onClose.push(closeHook)
|
38
|
-
})
|
39
|
-
<% end %>
|
@@ -1,91 +0,0 @@
|
|
1
|
-
import React from "react"
|
2
|
-
import MultiLevelSelect from "../_multi_level_select"
|
3
|
-
import { useForm } from "react-hook-form"
|
4
|
-
|
5
|
-
const treeData = [
|
6
|
-
{
|
7
|
-
label: "Power Home Remodeling",
|
8
|
-
value: "Power Home Remodeling",
|
9
|
-
id: "powerhome1",
|
10
|
-
expanded: true,
|
11
|
-
children: [
|
12
|
-
{
|
13
|
-
label: "People",
|
14
|
-
value: "People",
|
15
|
-
id: "people1",
|
16
|
-
expanded: true,
|
17
|
-
children: [
|
18
|
-
{
|
19
|
-
label: "Talent Acquisition",
|
20
|
-
value: "Talent Acquisition",
|
21
|
-
id: "talent1",
|
22
|
-
},
|
23
|
-
{
|
24
|
-
label: "Business Affairs",
|
25
|
-
value: "Business Affairs",
|
26
|
-
id: "business1",
|
27
|
-
children: [
|
28
|
-
{
|
29
|
-
label: "Initiatives",
|
30
|
-
value: "Initiatives",
|
31
|
-
id: "initiative1",
|
32
|
-
},
|
33
|
-
{
|
34
|
-
label: "Learning & Development",
|
35
|
-
value: "Learning & Development",
|
36
|
-
id: "development1",
|
37
|
-
},
|
38
|
-
],
|
39
|
-
},
|
40
|
-
{
|
41
|
-
label: "People Experience",
|
42
|
-
value: "People Experience",
|
43
|
-
id: "experience1",
|
44
|
-
},
|
45
|
-
],
|
46
|
-
},
|
47
|
-
{
|
48
|
-
label: "Contact Center",
|
49
|
-
value: "Contact Center",
|
50
|
-
id: "contact1",
|
51
|
-
children: [
|
52
|
-
{
|
53
|
-
label: "Appointment Management",
|
54
|
-
value: "Appointment Management",
|
55
|
-
id: "appointment1",
|
56
|
-
},
|
57
|
-
{
|
58
|
-
label: "Customer Service",
|
59
|
-
value: "Customer Service",
|
60
|
-
id: "customer1",
|
61
|
-
},
|
62
|
-
{
|
63
|
-
label: "Energy",
|
64
|
-
value: "Energy",
|
65
|
-
id: "energy1",
|
66
|
-
},
|
67
|
-
],
|
68
|
-
},
|
69
|
-
],
|
70
|
-
},
|
71
|
-
]
|
72
|
-
|
73
|
-
const MultiLevelSelectReactHook = (props) => {
|
74
|
-
const { register, watch } = useForm()
|
75
|
-
const selectedItems = watch("departments")
|
76
|
-
selectedItems && console.log("Selected Items", selectedItems)
|
77
|
-
|
78
|
-
return (
|
79
|
-
<div>
|
80
|
-
<MultiLevelSelect
|
81
|
-
id="multiselect-default"
|
82
|
-
marginBottom="md"
|
83
|
-
treeData={treeData}
|
84
|
-
{...register("departments")}
|
85
|
-
{...props}
|
86
|
-
/>
|
87
|
-
</div>
|
88
|
-
)
|
89
|
-
}
|
90
|
-
|
91
|
-
export default MultiLevelSelectReactHook
|
@@ -1 +0,0 @@
|
|
1
|
-
You can pass `react-hook-form` props to the MultiLevelSelect kit. Check your console to see the full data selected from this example.
|
@@ -1 +0,0 @@
|
|
1
|
-
The `hidden_inputs` boolean prop generates two hidden input fields, {field_name}_full and {field_name}_country_code. The value passed when the form is submitted contains the full phone number including the country code. Because it requires the submission of a form to function, only use this prop on Rails phone number elements within html form tags `<form>/<form>` or [pb_forms](https://playbook.powerapp.cloud/kits/form). Read the [intl-tel-input](https://intl-tel-input.com/examples/hidden-input.html) docs for more information.
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<%= pb_rails "flex", props: { flex_direction: "row", gap: "md", wrap: true } do %>
|
2
|
-
<%= pb_rails "button", props: { id: "tool-tip-with-icon-1", text: "Tooltip With Icon" } %>
|
3
|
-
<%= pb_rails "tooltip", props: { trigger_element_selector: "#tool-tip-with-icon-1", tooltip_id: "tool-tip-with-icon-1", position: "top" } do %>
|
4
|
-
<%= pb_rails("icon", props: { icon: "paper-plane", fixed_width: true, color: "white", size: "1x", padding_right: "xxs" }) %>
|
5
|
-
Send Email
|
6
|
-
<% end %>
|
7
|
-
<%= pb_rails "button", props: { id: "tool-tip-with-icon-2", text: "Tooltip With Icon" } %>
|
8
|
-
<%= pb_rails "tooltip", props: { trigger_element_selector: "#tool-tip-with-icon-2", tooltip_id: "tool-tip-with-icon-2", position: "bottom" } do %>
|
9
|
-
<%= pb_rails("icon", props: { icon: "paper-plane", fixed_width: true, color: "white", size: "1x", padding_right: "xxs" }) %>
|
10
|
-
Send Email
|
11
|
-
<% end %>
|
12
|
-
<%= pb_rails "button", props: { id: "tool-tip-with-icon-3", text: "Tooltip With Icon" } %>
|
13
|
-
<%= pb_rails "tooltip", props: { trigger_element_selector: "#tool-tip-with-icon-3", tooltip_id: "tool-tip-with-icon-3", position: "left" } do %>
|
14
|
-
<%= pb_rails("icon", props: { icon: "paper-plane", fixed_width: true, color: "white", size: "1x", padding_right: "xxs" }) %>
|
15
|
-
Send Email
|
16
|
-
<% end %>
|
17
|
-
<%= pb_rails "button", props: { id: "tool-tip-with-icon-4", text: "Tooltip With Icon" } %>
|
18
|
-
<%= pb_rails "tooltip", props: { trigger_element_selector: "#tool-tip-with-icon-4", tooltip_id: "tool-tip-with-icon-4", position: "right" } do %>
|
19
|
-
<%= pb_rails("icon", props: { icon: "paper-plane", fixed_width: true, color: "white", size: "1x", padding_right: "xxs" }) %>
|
20
|
-
Send Email
|
21
|
-
<% end %>
|
22
|
-
<% end %>
|
@@ -1,66 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
|
3
|
-
import { Typeahead, Title } from 'playbook-ui'
|
4
|
-
import { useForm } from 'react-hook-form'
|
5
|
-
|
6
|
-
const languages = [
|
7
|
-
{ label: 'JavaScript', value: '1995', category: 'Web Development' },
|
8
|
-
{ label: 'Python', value: '1991', category: 'General Purpose' },
|
9
|
-
{ label: 'Java', value: '1995', category: 'Enterprise' },
|
10
|
-
{ label: 'C++', value: '1985', category: 'Systems Programming' },
|
11
|
-
{ label: 'Go', value: '2009', category: 'Systems Programming' },
|
12
|
-
{ label: 'Rust', value: '2010', category: 'Systems Programming' },
|
13
|
-
{ label: 'Swift', value: '2014', category: 'Mobile Development' },
|
14
|
-
{ label: 'Kotlin', value: '2011', category: 'Mobile Development' },
|
15
|
-
{ label: 'Ruby', value: '1995', category: 'General Purpose' },
|
16
|
-
{ label: 'PHP', value: '1995', category: 'Web Development' },
|
17
|
-
]
|
18
|
-
|
19
|
-
const colors = [
|
20
|
-
{ label: 'Orange', value: '#FFA500' },
|
21
|
-
{ label: 'Red', value: '#FF0000' },
|
22
|
-
{ label: 'Green', value: '#00FF00' },
|
23
|
-
{ label: 'Blue', value: '#0000FF' },
|
24
|
-
]
|
25
|
-
|
26
|
-
const TypeaheadReactHook = (props) => {
|
27
|
-
const { register, watch } = useForm()
|
28
|
-
|
29
|
-
const selectedLanguages = watch('languages')
|
30
|
-
const selectedColor = watch('color')
|
31
|
-
|
32
|
-
return (
|
33
|
-
<>
|
34
|
-
<Typeahead
|
35
|
-
isMulti
|
36
|
-
label="Multi Select Languages"
|
37
|
-
multiKit="language"
|
38
|
-
options={languages}
|
39
|
-
{...props}
|
40
|
-
{...register('languages')}
|
41
|
-
/>
|
42
|
-
<Title
|
43
|
-
size={4}
|
44
|
-
text='Selected Languages'
|
45
|
-
/>
|
46
|
-
{selectedLanguages && selectedLanguages.map(language => (
|
47
|
-
<p key={language.label}>{`${language.label} - ${language.value} - ${language.category}`}</p>
|
48
|
-
))}
|
49
|
-
|
50
|
-
<Typeahead
|
51
|
-
label="Colors"
|
52
|
-
marginTop="lg"
|
53
|
-
options={colors}
|
54
|
-
{...props}
|
55
|
-
{...register('color')}
|
56
|
-
/>
|
57
|
-
<Title
|
58
|
-
size={4}
|
59
|
-
text='Selected Color'
|
60
|
-
/>
|
61
|
-
<p>{ selectedColor && `${selectedColor.label} - ${selectedColor.value}`}</p>
|
62
|
-
</>
|
63
|
-
)
|
64
|
-
}
|
65
|
-
|
66
|
-
export default TypeaheadReactHook
|
@@ -1 +0,0 @@
|
|
1
|
-
You can pass `react-hook-form` props to the Typeahead kit.
|