playbook_ui_docs 14.11.1.pre.alpha.PBNTR440enableglobalpropspbformwith5624 → 14.11.1.pre.alpha.PBNTR573datepickerinvestigation5355
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/pb_advanced_table/docs/_advanced_table_pagination.jsx +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.md +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -6
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +12 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list_rails.html.erb +9 -3
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +45 -3
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +1 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +16 -9
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +19 -44
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +3 -21
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +21 -16
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +19 -2
- data/app/pb_kits/playbook/pb_drawer/docs/example.yml +1 -2
- data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subtle_variant.md +1 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +1 -3
- data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.jsx +3 -8
- data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_default.jsx +1 -4
- data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_single_select.jsx +1 -4
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_rails.md +2 -2
- data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -3
- data/app/pb_kits/playbook/pb_text_input/docs/example.yml +1 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
- data/dist/playbook-doc.js +1 -1
- metadata +3 -36
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_no_subrows.jsx +0 -50
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.jsx +0 -60
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.md +0 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions.jsx +0 -78
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header.jsx +0 -53
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows.jsx +0 -52
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data_no_subrows.json +0 -42
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data_with_id.json +0 -299
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_turbo_frames.html.erb +0 -13
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_turbo_frames_rails.md +0 -3
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list_rails.md +0 -5
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list_rails.html.erb +0 -38
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list_rails.md +0 -3
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -38
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_default.html.erb +0 -3
- data/app/pb_kits/playbook/pb_icon_button/docs/example.yml +0 -7
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.html.erb +0 -15
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.jsx +0 -24
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.md +0 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.html.erb +0 -74
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_rails.md +0 -3
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.html.erb +0 -74
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_rails.md +0 -3
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.html.erb +0 -47
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_rails.md +0 -2
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.html.erb +0 -46
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask_rails.md +0 -3
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb +0 -19
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +0 -27
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md +0 -1
- /data/app/pb_kits/playbook/pb_table/docs/{_table_with_collapsible_react.md → _table_with_collapsible.md} +0 -0
@@ -1,299 +0,0 @@
|
|
1
|
-
[
|
2
|
-
{
|
3
|
-
"year": "2021",
|
4
|
-
"id": "1",
|
5
|
-
"quarter": null,
|
6
|
-
"month": null,
|
7
|
-
"day": null,
|
8
|
-
"newEnrollments": "20",
|
9
|
-
"scheduledMeetings": "10",
|
10
|
-
"attendanceRate": "51%",
|
11
|
-
"completedClasses": "3",
|
12
|
-
"classCompletionRate": "33%",
|
13
|
-
"graduatedStudents": "19",
|
14
|
-
"children": [
|
15
|
-
{
|
16
|
-
"year": "2021",
|
17
|
-
"id": "2",
|
18
|
-
"quarter": "Q1",
|
19
|
-
"month": null,
|
20
|
-
"day": null,
|
21
|
-
"newEnrollments": "2",
|
22
|
-
"scheduledMeetings": "35",
|
23
|
-
"attendanceRate": "32%",
|
24
|
-
"completedClasses": "15",
|
25
|
-
"classCompletionRate": "52%",
|
26
|
-
"graduatedStudents": "36",
|
27
|
-
"children": [
|
28
|
-
{
|
29
|
-
"year": "2021",
|
30
|
-
"id": "3",
|
31
|
-
"quarter": "Q1",
|
32
|
-
"month": "January",
|
33
|
-
"day": null,
|
34
|
-
"newEnrollments": "16",
|
35
|
-
"scheduledMeetings": "20",
|
36
|
-
"attendanceRate": "11%",
|
37
|
-
"completedClasses": "13",
|
38
|
-
"classCompletionRate": "47%",
|
39
|
-
"graduatedStudents": "28",
|
40
|
-
"children": [
|
41
|
-
{
|
42
|
-
"year": "2021",
|
43
|
-
"id": "4",
|
44
|
-
"quarter": "Q1",
|
45
|
-
"month": "January",
|
46
|
-
"day": "10",
|
47
|
-
"newEnrollments": "34",
|
48
|
-
"scheduledMeetings": "28",
|
49
|
-
"attendanceRate": "97%",
|
50
|
-
"completedClasses": "20",
|
51
|
-
"classCompletionRate": "15%",
|
52
|
-
"graduatedStudents": "17"
|
53
|
-
},
|
54
|
-
{
|
55
|
-
"year": "2021",
|
56
|
-
"id": "5",
|
57
|
-
"quarter": "Q1",
|
58
|
-
"month": "January",
|
59
|
-
"day": "20",
|
60
|
-
"newEnrollments": "43",
|
61
|
-
"scheduledMeetings": "23",
|
62
|
-
"attendanceRate": "66%",
|
63
|
-
"completedClasses": "26",
|
64
|
-
"classCompletionRate": "47%",
|
65
|
-
"graduatedStudents": "9"
|
66
|
-
}
|
67
|
-
]
|
68
|
-
},
|
69
|
-
{
|
70
|
-
"year": "2021",
|
71
|
-
"id": "6",
|
72
|
-
"quarter": "Q1",
|
73
|
-
"month": "February",
|
74
|
-
"day": null,
|
75
|
-
"newEnrollments": "20",
|
76
|
-
"scheduledMeetings": "41",
|
77
|
-
"attendanceRate": "95%",
|
78
|
-
"completedClasses": "26",
|
79
|
-
"classCompletionRate": "83%",
|
80
|
-
"graduatedStudents": "43",
|
81
|
-
"children": [
|
82
|
-
{
|
83
|
-
"year": "2021",
|
84
|
-
"id": "7",
|
85
|
-
"quarter": "Q1",
|
86
|
-
"month": "February",
|
87
|
-
"day": "15",
|
88
|
-
"newEnrollments": "19",
|
89
|
-
"scheduledMeetings": "35",
|
90
|
-
"attendanceRate": "69%",
|
91
|
-
"completedClasses": "8",
|
92
|
-
"classCompletionRate": "75%",
|
93
|
-
"graduatedStudents": "23"
|
94
|
-
}
|
95
|
-
]
|
96
|
-
}
|
97
|
-
]
|
98
|
-
}
|
99
|
-
]
|
100
|
-
},
|
101
|
-
{
|
102
|
-
"year": "2022",
|
103
|
-
"id": "8",
|
104
|
-
"quarter": null,
|
105
|
-
"month": null,
|
106
|
-
"day": null,
|
107
|
-
"newEnrollments": "25",
|
108
|
-
"scheduledMeetings": "17",
|
109
|
-
"attendanceRate": "75%",
|
110
|
-
"completedClasses": "5",
|
111
|
-
"classCompletionRate": "45%",
|
112
|
-
"graduatedStudents": "32",
|
113
|
-
"children": [
|
114
|
-
{
|
115
|
-
"year": "2022",
|
116
|
-
"id": "9",
|
117
|
-
"quarter": "Q1",
|
118
|
-
"month": null,
|
119
|
-
"day": null,
|
120
|
-
"newEnrollments": "2",
|
121
|
-
"scheduledMeetings": "35",
|
122
|
-
"attendanceRate": "32%",
|
123
|
-
"completedClasses": "15",
|
124
|
-
"classCompletionRate": "52%",
|
125
|
-
"graduatedStudents": "36",
|
126
|
-
"children": [
|
127
|
-
{
|
128
|
-
"year": "2022",
|
129
|
-
"id": "10",
|
130
|
-
"quarter": "Q1",
|
131
|
-
"month": "January",
|
132
|
-
"day": null,
|
133
|
-
"newEnrollments": "16",
|
134
|
-
"scheduledMeetings": "20",
|
135
|
-
"attendanceRate": "11%",
|
136
|
-
"completedClasses": "13",
|
137
|
-
"classCompletionRate": "47%",
|
138
|
-
"graduatedStudents": "28",
|
139
|
-
"children": [
|
140
|
-
{
|
141
|
-
"year": "2022",
|
142
|
-
"id": "11",
|
143
|
-
"quarter": "Q1",
|
144
|
-
"month": "January",
|
145
|
-
"day": "15",
|
146
|
-
"newEnrollments": "34",
|
147
|
-
"scheduledMeetings": "28",
|
148
|
-
"attendanceRate": "97%",
|
149
|
-
"completedClasses": "20",
|
150
|
-
"classCompletionRate": "15%",
|
151
|
-
"graduatedStudents": "17"
|
152
|
-
},
|
153
|
-
{
|
154
|
-
"year": "2022",
|
155
|
-
"id": "12",
|
156
|
-
"quarter": "Q1",
|
157
|
-
"month": "January",
|
158
|
-
"day": "25",
|
159
|
-
"newEnrollments": "43",
|
160
|
-
"scheduledMeetings": "23",
|
161
|
-
"attendanceRate": "66%",
|
162
|
-
"completedClasses": "26",
|
163
|
-
"classCompletionRate": "47%",
|
164
|
-
"graduatedStudents": "9"
|
165
|
-
}
|
166
|
-
]
|
167
|
-
},
|
168
|
-
{
|
169
|
-
"year": "2022",
|
170
|
-
"id": "13",
|
171
|
-
"quarter": "Q1",
|
172
|
-
"month": "May",
|
173
|
-
"day": null,
|
174
|
-
"newEnrollments": "20",
|
175
|
-
"scheduledMeetings": "41",
|
176
|
-
"attendanceRate": "95%",
|
177
|
-
"completedClasses": "26",
|
178
|
-
"classCompletionRate": "83%",
|
179
|
-
"graduatedStudents": "43",
|
180
|
-
"children": [
|
181
|
-
{
|
182
|
-
"year": "2022",
|
183
|
-
"id": "14",
|
184
|
-
"quarter": "Q1",
|
185
|
-
"month": "May",
|
186
|
-
"day": "2",
|
187
|
-
"newEnrollments": "19",
|
188
|
-
"scheduledMeetings": "35",
|
189
|
-
"attendanceRate": "69%",
|
190
|
-
"completedClasses": "8",
|
191
|
-
"classCompletionRate": "75%",
|
192
|
-
"graduatedStudents": "23"
|
193
|
-
}
|
194
|
-
]
|
195
|
-
}
|
196
|
-
]
|
197
|
-
}
|
198
|
-
]
|
199
|
-
},
|
200
|
-
{
|
201
|
-
"year": "2023",
|
202
|
-
"id": "15",
|
203
|
-
"quarter": null,
|
204
|
-
"month": null,
|
205
|
-
"day": null,
|
206
|
-
"newEnrollments": "10",
|
207
|
-
"scheduledMeetings": "15",
|
208
|
-
"attendanceRate": "65%",
|
209
|
-
"completedClasses": "4",
|
210
|
-
"classCompletionRate": "49%",
|
211
|
-
"graduatedStudents": "29",
|
212
|
-
"children": [
|
213
|
-
{
|
214
|
-
"year": "2023",
|
215
|
-
"id": "16",
|
216
|
-
"quarter": "Q1",
|
217
|
-
"month": null,
|
218
|
-
"day": null,
|
219
|
-
"newEnrollments": "2",
|
220
|
-
"scheduledMeetings": "35",
|
221
|
-
"attendanceRate": "32%",
|
222
|
-
"completedClasses": "15",
|
223
|
-
"classCompletionRate": "52%",
|
224
|
-
"graduatedStudents": "36",
|
225
|
-
"children": [
|
226
|
-
{
|
227
|
-
"year": "2023",
|
228
|
-
"id": "17",
|
229
|
-
"quarter": "Q1",
|
230
|
-
"month": "March",
|
231
|
-
"day": null,
|
232
|
-
"newEnrollments": "16",
|
233
|
-
"scheduledMeetings": "20",
|
234
|
-
"attendanceRate": "11%",
|
235
|
-
"completedClasses": "13",
|
236
|
-
"classCompletionRate": "47%",
|
237
|
-
"graduatedStudents": "28",
|
238
|
-
"children": [
|
239
|
-
{
|
240
|
-
"year": "2023",
|
241
|
-
"id": "18",
|
242
|
-
"quarter": "Q1",
|
243
|
-
"month": "March",
|
244
|
-
"day": "10",
|
245
|
-
"newEnrollments": "34",
|
246
|
-
"scheduledMeetings": "28",
|
247
|
-
"attendanceRate": "97%",
|
248
|
-
"completedClasses": "20",
|
249
|
-
"classCompletionRate": "15%",
|
250
|
-
"graduatedStudents": "17"
|
251
|
-
},
|
252
|
-
{
|
253
|
-
"year": "2023",
|
254
|
-
"id": "19",
|
255
|
-
"quarter": "Q1",
|
256
|
-
"month": "March",
|
257
|
-
"day": "11",
|
258
|
-
"newEnrollments": "43",
|
259
|
-
"scheduledMeetings": "23",
|
260
|
-
"attendanceRate": "66%",
|
261
|
-
"completedClasses": "26",
|
262
|
-
"classCompletionRate": "47%",
|
263
|
-
"graduatedStudents": "9"
|
264
|
-
}
|
265
|
-
]
|
266
|
-
},
|
267
|
-
{
|
268
|
-
"year": "2023",
|
269
|
-
"id": "20",
|
270
|
-
"quarter": "Q1",
|
271
|
-
"month": "April",
|
272
|
-
"day": null,
|
273
|
-
"newEnrollments": "20",
|
274
|
-
"scheduledMeetings": "41",
|
275
|
-
"attendanceRate": "95%",
|
276
|
-
"completedClasses": "26",
|
277
|
-
"classCompletionRate": "83%",
|
278
|
-
"graduatedStudents": "43",
|
279
|
-
"children": [
|
280
|
-
{
|
281
|
-
"year": "2023",
|
282
|
-
"id": "21",
|
283
|
-
"quarter": "Q1",
|
284
|
-
"month": "April",
|
285
|
-
"day": "15",
|
286
|
-
"newEnrollments": "19",
|
287
|
-
"scheduledMeetings": "35",
|
288
|
-
"attendanceRate": "69%",
|
289
|
-
"completedClasses": "8",
|
290
|
-
"classCompletionRate": "75%",
|
291
|
-
"graduatedStudents": "23"
|
292
|
-
}
|
293
|
-
]
|
294
|
-
}
|
295
|
-
]
|
296
|
-
}
|
297
|
-
]
|
298
|
-
}
|
299
|
-
]
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<%= pb_rails("date_picker", props: { picker_id: "date-picker-turbo-frames", custom_event_type: "datePickerLoader" }) %>
|
2
|
-
<%= pb_rails("button", props: { id: "date-picker-loader", text: "Click Event Simulation" }) %>
|
3
|
-
|
4
|
-
<script>
|
5
|
-
document.getElementById("date-picker-loader").addEventListener("click", () => {
|
6
|
-
window.document.dispatchEvent(
|
7
|
-
new CustomEvent("datePickerLoader", {
|
8
|
-
bubbles: true,
|
9
|
-
})
|
10
|
-
)
|
11
|
-
console.log("Event 'datePickerLoader' dispatched - in a real implementation, this event would trigger the date picker's reinitialization through the custom_event_type prop connection")
|
12
|
-
})
|
13
|
-
</script>
|
@@ -1,3 +0,0 @@
|
|
1
|
-
The `custom_event_type` prop allows you to specify a custom event that will trigger the date picker's initialization, in addition to the default initialization on `DOMContentLoaded`. This is particularly useful in dynamic contexts like Turbo Frame updates where you need to reinitialize the date picker after new content loads. For Turbo integration, use `custom_event_type: "turbo:before-render"` to ensure the date picker properly reinitializes after Turbo navigation events.
|
2
|
-
|
3
|
-
In this example, we demonstrate the setup pattern by connecting a button to dispatch a "datePickerLoader" event - while the date picker's event listener is properly configured through the `custom_event_type` prop, this demo only logs the event dispatch to the console to illustrate the connection structure.
|
@@ -1,5 +0,0 @@
|
|
1
|
-
For a simplified version of the Draggable API for the List kit, you can do the following:
|
2
|
-
|
3
|
-
The List kit is optimized to work with the draggable kit. To enable drag, use the `enable_drag` prop on List kit with an array of the included items AND `drag_id` prop on ListItems. You will also need to include the `items` prop containing your array of listed items for the Draggable API.
|
4
|
-
|
5
|
-
An additional optional boolean prop (set to true by default) of `drag_handle` is also available on ListItem kit to show the drag handle icon.
|
@@ -1,38 +0,0 @@
|
|
1
|
-
<%= pb_rails("selectable_list",
|
2
|
-
props: {
|
3
|
-
enable_drag: true,
|
4
|
-
variant: "radio",
|
5
|
-
items: [
|
6
|
-
{ drag_id: "41",
|
7
|
-
text: "Task 1",
|
8
|
-
input_options: {
|
9
|
-
value: "1",
|
10
|
-
name: "radio-name",
|
11
|
-
}
|
12
|
-
},
|
13
|
-
{ drag_id: "42",
|
14
|
-
text: "Task 2",
|
15
|
-
checked: true,
|
16
|
-
input_options: {
|
17
|
-
value: "2",
|
18
|
-
name: "radio-name",
|
19
|
-
}
|
20
|
-
},
|
21
|
-
{ drag_id: "43",
|
22
|
-
text: "Task 3",
|
23
|
-
input_options: {
|
24
|
-
value: "3",
|
25
|
-
name: "radio-name",
|
26
|
-
}
|
27
|
-
},
|
28
|
-
{ drag_id: "44",
|
29
|
-
text: "Task 4",
|
30
|
-
input_options: {
|
31
|
-
value: "4",
|
32
|
-
name: "radio-name",
|
33
|
-
}
|
34
|
-
}
|
35
|
-
]
|
36
|
-
}
|
37
|
-
)
|
38
|
-
%>
|
@@ -1,3 +0,0 @@
|
|
1
|
-
For a simplified version of the Draggable API for the SelectableList kit, you can do the following:
|
2
|
-
|
3
|
-
The SelectableList kit is optimized to work with the draggable kit. To enable drag, use the `enable_drag` prop on SelectableList kit AND `drag_id` prop within the SelectableList kit prop. An additional optional boolean prop (set to true by default) of `drag_handle` is also available on SelectableList kit to show the drag handle icon.
|
@@ -1,38 +0,0 @@
|
|
1
|
-
import React, { useState } from "react"
|
2
|
-
import { Button, Drawer, Flex } from "playbook-ui"
|
3
|
-
|
4
|
-
const useDrawer = (visible = false) => {
|
5
|
-
const [opened, setOpened] = useState(visible)
|
6
|
-
const toggle = () => setOpened(!opened)
|
7
|
-
|
8
|
-
return [opened, toggle]
|
9
|
-
}
|
10
|
-
|
11
|
-
const DrawerBehavior = () => {
|
12
|
-
const [drawerOpen, toggleDrawerOpen] = useDrawer()
|
13
|
-
|
14
|
-
return (
|
15
|
-
<>
|
16
|
-
<Flex wrap>
|
17
|
-
<Button id='sm'
|
18
|
-
marginRight='md'
|
19
|
-
onClick={toggleDrawerOpen}
|
20
|
-
>
|
21
|
-
{"Push Behavior"}
|
22
|
-
</Button>
|
23
|
-
</Flex>
|
24
|
-
<Flex>
|
25
|
-
<Drawer
|
26
|
-
behavior={"push"}
|
27
|
-
onClose={toggleDrawerOpen}
|
28
|
-
opened={drawerOpen}
|
29
|
-
size={"lg"}
|
30
|
-
>
|
31
|
-
Test me (Push Behavior)
|
32
|
-
</Drawer>
|
33
|
-
</Flex>
|
34
|
-
</>
|
35
|
-
)
|
36
|
-
}
|
37
|
-
|
38
|
-
export default DrawerBehavior
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<%= pb_rails("phone_number_input", props: {
|
2
|
-
id: "phone_number_input",
|
3
|
-
format_as_you_type: true
|
4
|
-
}) %>
|
5
|
-
|
6
|
-
<%= pb_rails("button", props: {id: "clickable", text: "Save Phone Number"}) %>
|
7
|
-
|
8
|
-
<%= javascript_tag do %>
|
9
|
-
document.querySelector('#clickable').addEventListener('click', () => {
|
10
|
-
const formattedPhoneNumber = document.querySelector('#phone_number_input').value
|
11
|
-
const unformattedPhoneNumber = formattedPhoneNumber.replace(/\D/g, "")
|
12
|
-
|
13
|
-
alert(`Formatted: ${formattedPhoneNumber}. Unformatted: ${unformattedPhoneNumber}`)
|
14
|
-
})
|
15
|
-
<% end %>
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import React, { useState } from "react";
|
2
|
-
import { PhoneNumberInput, Body } from "playbook-ui";
|
3
|
-
|
4
|
-
const PhoneNumberInputFormat = (props) => {
|
5
|
-
const [phoneNumber, setPhoneNumber] = useState("");
|
6
|
-
|
7
|
-
const handleOnChange = ({ number }) => {
|
8
|
-
setPhoneNumber(number);
|
9
|
-
};
|
10
|
-
|
11
|
-
return (
|
12
|
-
<>
|
13
|
-
<PhoneNumberInput
|
14
|
-
formatAsYouType
|
15
|
-
id="format"
|
16
|
-
onChange={handleOnChange}
|
17
|
-
{...props}
|
18
|
-
/>
|
19
|
-
{phoneNumber && <Body>Unformatted number: {phoneNumber}</Body>}
|
20
|
-
</>
|
21
|
-
);
|
22
|
-
};
|
23
|
-
|
24
|
-
export default PhoneNumberInputFormat;
|
@@ -1 +0,0 @@
|
|
1
|
-
NOTE: the `number` in the React `onChange` event will not include formatting (no spaces, dashes, and parentheses). For Rails, the `value` will include formatting and its value must be sanitized manually.
|
@@ -1,74 +0,0 @@
|
|
1
|
-
<%= pb_rails("table", props: { size: "md", responsive: "scroll", sticky_left_column: ["a"], sticky_right_column: ["b"] }) do %>
|
2
|
-
<thead>
|
3
|
-
<tr>
|
4
|
-
<th id="a">Column 1</th>
|
5
|
-
<th>Column 2</th>
|
6
|
-
<th>Column 3</th>
|
7
|
-
<th>Column 4</th>
|
8
|
-
<th>Column 5</th>
|
9
|
-
<th>Column 6</th>
|
10
|
-
<th>Column 7</th>
|
11
|
-
<th>Column 8</th>
|
12
|
-
<th>Column 9</th>
|
13
|
-
<th>Column 10</th>
|
14
|
-
<th>Column 11</th>
|
15
|
-
<th>Column 12</th>
|
16
|
-
<th>Column 13</th>
|
17
|
-
<th>Column 14</th>
|
18
|
-
<th id="b">Column 15</th>
|
19
|
-
</tr>
|
20
|
-
</thead>
|
21
|
-
<tbody>
|
22
|
-
<tr>
|
23
|
-
<td id="a">Value 1</td>
|
24
|
-
<td>Value 2</td>
|
25
|
-
<td>Value 3</td>
|
26
|
-
<td>Value 4</td>
|
27
|
-
<td>Value 5</td>
|
28
|
-
<td>Value 6</td>
|
29
|
-
<td>Value 7</td>
|
30
|
-
<td>Value 8</td>
|
31
|
-
<td>Value 9</td>
|
32
|
-
<td>Value 10</td>
|
33
|
-
<td>Value 11</td>
|
34
|
-
<td>Value 12</td>
|
35
|
-
<td>Value 13</td>
|
36
|
-
<td>Value 14</td>
|
37
|
-
<td id="b">Value 15</td>
|
38
|
-
</tr>
|
39
|
-
<tr>
|
40
|
-
<td id="a">Value 1</td>
|
41
|
-
<td>Value 2</td>
|
42
|
-
<td>Value 3</td>
|
43
|
-
<td>Value 4</td>
|
44
|
-
<td>Value 5</td>
|
45
|
-
<td>Value 6</td>
|
46
|
-
<td>Value 7</td>
|
47
|
-
<td>Value 8</td>
|
48
|
-
<td>Value 9</td>
|
49
|
-
<td>Value 10</td>
|
50
|
-
<td>Value 11</td>
|
51
|
-
<td>Value 12</td>
|
52
|
-
<td>Value 13</td>
|
53
|
-
<td>Value 14</td>
|
54
|
-
<td id="b">Value 15</td>
|
55
|
-
</tr>
|
56
|
-
<tr>
|
57
|
-
<td id="a">Value 1</td>
|
58
|
-
<td>Value 2</td>
|
59
|
-
<td>Value 3</td>
|
60
|
-
<td>Value 4</td>
|
61
|
-
<td>Value 5</td>
|
62
|
-
<td>Value 6</td>
|
63
|
-
<td>Value 7</td>
|
64
|
-
<td>Value 8</td>
|
65
|
-
<td>Value 9</td>
|
66
|
-
<td>Value 10</td>
|
67
|
-
<td>Value 11</td>
|
68
|
-
<td>Value 12</td>
|
69
|
-
<td>Value 13</td>
|
70
|
-
<td>Value 14</td>
|
71
|
-
<td id="b">Value 15</td>
|
72
|
-
</tr>
|
73
|
-
</tbody>
|
74
|
-
<% end %>
|
@@ -1,74 +0,0 @@
|
|
1
|
-
<%= pb_rails("table", props: { size: "md", responsive: "scroll", sticky_right_column: ["13", "14", "15"] }) do %>
|
2
|
-
<thead>
|
3
|
-
<tr>
|
4
|
-
<th>Column 1</th>
|
5
|
-
<th>Column 2</th>
|
6
|
-
<th>Column 3</th>
|
7
|
-
<th>Column 4</th>
|
8
|
-
<th>Column 5</th>
|
9
|
-
<th>Column 6</th>
|
10
|
-
<th>Column 7</th>
|
11
|
-
<th>Column 8</th>
|
12
|
-
<th>Column 9</th>
|
13
|
-
<th>Column 10</th>
|
14
|
-
<th>Column 11</th>
|
15
|
-
<th>Column 12</th>
|
16
|
-
<th id="13">Column 13</th>
|
17
|
-
<th id="14">Column 14</th>
|
18
|
-
<th id="15">Column 15</th>
|
19
|
-
</tr>
|
20
|
-
</thead>
|
21
|
-
<tbody>
|
22
|
-
<tr>
|
23
|
-
<td>Value 1</td>
|
24
|
-
<td>Value 2</td>
|
25
|
-
<td>Value 3</td>
|
26
|
-
<td>Value 4</td>
|
27
|
-
<td>Value 5</td>
|
28
|
-
<td>Value 6</td>
|
29
|
-
<td>Value 7</td>
|
30
|
-
<td>Value 8</td>
|
31
|
-
<td>Value 9</td>
|
32
|
-
<td>Value 10</td>
|
33
|
-
<td>Value 11</td>
|
34
|
-
<td>Value 12</td>
|
35
|
-
<td id="13">Value 13</td>
|
36
|
-
<td id="14">Value 14</td>
|
37
|
-
<td id="15">Value 15</td>
|
38
|
-
</tr>
|
39
|
-
<tr>
|
40
|
-
<td>Value 1</td>
|
41
|
-
<td>Value 2</td>
|
42
|
-
<td>Value 3</td>
|
43
|
-
<td>Value 4</td>
|
44
|
-
<td>Value 5</td>
|
45
|
-
<td>Value 6</td>
|
46
|
-
<td>Value 7</td>
|
47
|
-
<td>Value 8</td>
|
48
|
-
<td>Value 9</td>
|
49
|
-
<td>Value 10</td>
|
50
|
-
<td>Value 11</td>
|
51
|
-
<td>Value 12</td>
|
52
|
-
<td id="13">Value 13</td>
|
53
|
-
<td id="14">Value 14</td>
|
54
|
-
<td id="15">Value 15</td>
|
55
|
-
</tr>
|
56
|
-
<tr>
|
57
|
-
<td>Value 1</td>
|
58
|
-
<td>Value 2</td>
|
59
|
-
<td>Value 3</td>
|
60
|
-
<td>Value 4</td>
|
61
|
-
<td>Value 5</td>
|
62
|
-
<td>Value 6</td>
|
63
|
-
<td>Value 7</td>
|
64
|
-
<td>Value 8</td>
|
65
|
-
<td>Value 9</td>
|
66
|
-
<td>Value 10</td>
|
67
|
-
<td>Value 11</td>
|
68
|
-
<td>Value 12</td>
|
69
|
-
<td id="13">Value 13</td>
|
70
|
-
<td id="14">Value 14</td>
|
71
|
-
<td id="15">Value 15</td>
|
72
|
-
</tr>
|
73
|
-
</tbody>
|
74
|
-
<% end %>
|
@@ -1,3 +0,0 @@
|
|
1
|
-
The `sticky_right_column` prop works in the same way as the above `sticky_left_column` prop. It expects an array of the column ids you want to be sticky. Make sure to add the corresponding id to the `<th>` and `<td>`.
|
2
|
-
|
3
|
-
Please ensure that unique ids are used for all columns across multiple tables. Using the same columns ids on multiple tables can lead to issues when using the `sticky_right_column` prop.
|