playbook_ui_docs 16.5.0 → 16.6.0.pre.alpha.RTEPOC15805
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/docs/_playground.json +8970 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.overrides.json +403 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_grouped_simple.json +41 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_grouped_triple.json +56 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_standard.json +31 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_standard_sort.json +37 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_styling.json +44 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_with_ids.json +38 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data_inline_loading.json +199 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_playground.json +136 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_playground.overrides.json +94 -0
- data/app/pb_kits/playbook/pb_background/docs/_playground.json +107 -0
- data/app/pb_kits/playbook/pb_background/docs/_playground.overrides.json +72 -0
- data/app/pb_kits/playbook/pb_badge/docs/_playground.json +112 -0
- data/app/pb_kits/playbook/pb_badge/docs/_playground.overrides.json +63 -0
- data/app/pb_kits/playbook/pb_body/docs/_playground.json +78 -0
- data/app/pb_kits/playbook/pb_body/docs/_playground.overrides.json +47 -0
- data/app/pb_kits/playbook/pb_bread_crumbs/docs/_playground.json +54 -0
- data/app/pb_kits/playbook/pb_bread_crumbs/docs/_playground.overrides.json +44 -0
- data/app/pb_kits/playbook/pb_button/docs/{_button_loading.html.erb → _button_loading_rails.html.erb} +5 -5
- data/app/pb_kits/playbook/pb_button/docs/_button_loading_rails.md +3 -0
- data/app/pb_kits/playbook/pb_button/docs/_playground.json +164 -0
- data/app/pb_kits/playbook/pb_button/docs/_playground.overrides.json +45 -0
- data/app/pb_kits/playbook/pb_button/docs/example.yml +1 -1
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_playground.json +81 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_playground.overrides.json +54 -0
- data/app/pb_kits/playbook/pb_caption/docs/_playground.json +64 -0
- data/app/pb_kits/playbook/pb_caption/docs/_playground.overrides.json +39 -0
- data/app/pb_kits/playbook/pb_card/docs/_playground.json +157 -0
- data/app/pb_kits/playbook/pb_card/docs/_playground.overrides.json +119 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_playground.json +80 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_playground.overrides.json +58 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_playground.json +113 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_playground.overrides.json +62 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_playground.json +91 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_playground.overrides.json +65 -0
- data/app/pb_kits/playbook/pb_contact/docs/_playground.json +69 -0
- data/app/pb_kits/playbook/pb_contact/docs/_playground.overrides.json +60 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/_playground.json +120 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/_playground.overrides.json +96 -0
- data/app/pb_kits/playbook/pb_currency/docs/_playground.json +117 -0
- data/app/pb_kits/playbook/pb_currency/docs/_playground.overrides.json +98 -0
- data/app/pb_kits/playbook/pb_dashboard_value/docs/_playground.json +87 -0
- data/app/pb_kits/playbook/pb_dashboard_value/docs/_playground.overrides.json +19 -0
- data/app/pb_kits/playbook/pb_date/docs/_playground.json +73 -0
- data/app/pb_kits/playbook/pb_date/docs/_playground.overrides.json +54 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dialog_submission.jsx +62 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dialog_submission.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +178 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_playground.overrides.json +156 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.json +31 -0
- data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.json +23 -0
- data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.json +68 -0
- data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.overrides.json +51 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_playground.json +76 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_playground.overrides.json +58 -0
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.json +57 -0
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.overrides.json +46 -0
- data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.json +45 -0
- data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.overrides.json +36 -0
- data/app/pb_kits/playbook/pb_detail/docs/_playground.json +75 -0
- data/app/pb_kits/playbook/pb_detail/docs/_playground.overrides.json +44 -0
- data/app/pb_kits/playbook/pb_dialog/docs/_playground.json +121 -0
- data/app/pb_kits/playbook/pb_dialog/docs/_playground.overrides.json +95 -0
- data/app/pb_kits/playbook/pb_distribution_bar/docs/_playground.json +25 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_playground.json +54 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_playground.overrides.json +34 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_playground.json +236 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_playground.overrides.json +137 -0
- data/app/pb_kits/playbook/pb_empty_state/docs/_playground.json +34 -0
- data/app/pb_kits/playbook/pb_file_upload/docs/_playground.json +34 -0
- data/app/pb_kits/playbook/pb_filter/docs/_playground.json +13 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_playground.json +37 -0
- data/app/pb_kits/playbook/pb_flex/docs/_playground.json +133 -0
- data/app/pb_kits/playbook/pb_flex/docs/_playground.overrides.json +105 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +5 -5
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validation_msg.html.erb +90 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validation_msg.md +13 -0
- data/app/pb_kits/playbook/pb_form/docs/_playground.json +13 -0
- data/app/pb_kits/playbook/pb_form/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_form_group/docs/_playground.json +23 -0
- data/app/pb_kits/playbook/pb_form_pill/docs/_playground.json +36 -0
- data/app/pb_kits/playbook/pb_hashtag/docs/_playground.json +30 -0
- data/app/pb_kits/playbook/pb_highlight/docs/_playground.json +22 -0
- data/app/pb_kits/playbook/pb_home_address_street/docs/_playground.json +38 -0
- data/app/pb_kits/playbook/pb_icon/docs/_playground.json +115 -0
- data/app/pb_kits/playbook/pb_icon/docs/_playground.overrides.json +60 -0
- data/app/pb_kits/playbook/pb_icon_button/docs/_playground.json +33 -0
- data/app/pb_kits/playbook/pb_icon_circle/docs/_playground.json +27 -0
- data/app/pb_kits/playbook/pb_icon_stat_value/docs/_playground.json +89 -0
- data/app/pb_kits/playbook/pb_icon_stat_value/docs/_playground.overrides.json +29 -0
- data/app/pb_kits/playbook/pb_icon_value/docs/_playground.json +60 -0
- data/app/pb_kits/playbook/pb_icon_value/docs/_playground.overrides.json +19 -0
- data/app/pb_kits/playbook/pb_image/docs/_playground.json +101 -0
- data/app/pb_kits/playbook/pb_image/docs/_playground.overrides.json +89 -0
- data/app/pb_kits/playbook/pb_label_pill/docs/_playground.json +25 -0
- data/app/pb_kits/playbook/pb_label_value/docs/_playground.json +126 -0
- data/app/pb_kits/playbook/pb_label_value/docs/_playground.overrides.json +52 -0
- data/app/pb_kits/playbook/pb_layout/docs/_playground.json +40 -0
- data/app/pb_kits/playbook/pb_legend/docs/_playground.json +26 -0
- data/app/pb_kits/playbook/pb_link/docs/_playground.json +130 -0
- data/app/pb_kits/playbook/pb_link/docs/_playground.overrides.json +81 -0
- data/app/pb_kits/playbook/pb_list/docs/_playground.json +45 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.json +66 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.overrides.json +25 -0
- data/app/pb_kits/playbook/pb_map/docs/_map_default.md +2 -2
- data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +6 -0
- data/app/pb_kits/playbook/pb_map/docs/_playground.json +25 -0
- data/app/pb_kits/playbook/pb_message/docs/_playground.json +39 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.json +162 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.overrides.json +126 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/_playground.json +182 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/_playground.overrides.json +167 -0
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_playground.json +145 -0
- data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_playground.overrides.json +131 -0
- data/app/pb_kits/playbook/pb_nav/docs/_playground.json +65 -0
- data/app/pb_kits/playbook/pb_nav/docs/_playground.overrides.json +45 -0
- data/app/pb_kits/playbook/pb_online_status/docs/_playground.json +71 -0
- data/app/pb_kits/playbook/pb_online_status/docs/_playground.overrides.json +40 -0
- data/app/pb_kits/playbook/pb_overlay/docs/_playground.json +38 -0
- data/app/pb_kits/playbook/pb_pagination/docs/_playground.json +69 -0
- data/app/pb_kits/playbook/pb_pagination/docs/_playground.overrides.json +61 -0
- data/app/pb_kits/playbook/pb_passphrase/docs/_playground.json +34 -0
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.json +21 -0
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.json +21 -0
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.json +21 -0
- data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.json +21 -0
- data/app/pb_kits/playbook/pb_person/docs/_playground.json +42 -0
- data/app/pb_kits/playbook/pb_person/docs/_playground.overrides.json +28 -0
- data/app/pb_kits/playbook/pb_person_contact/docs/_playground.json +98 -0
- data/app/pb_kits/playbook/pb_person_contact/docs/_playground.overrides.json +92 -0
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +52 -0
- data/app/pb_kits/playbook/pb_pill/docs/_playground.json +106 -0
- data/app/pb_kits/playbook/pb_pill/docs/_playground.overrides.json +56 -0
- data/app/pb_kits/playbook/pb_popover/docs/_playground.json +104 -0
- data/app/pb_kits/playbook/pb_popover/docs/_playground.overrides.json +67 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_playground.json +90 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_playground.overrides.json +51 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.json +87 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.overrides.json +28 -0
- data/app/pb_kits/playbook/pb_progress_step/docs/_playground.json +31 -0
- data/app/pb_kits/playbook/pb_radio/docs/_playground.json +83 -0
- data/app/pb_kits/playbook/pb_radio/docs/_playground.overrides.json +59 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.json +41 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.html.erb +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.md +12 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.html.erb +9 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.md +8 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_playground.json +128 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_playground.overrides.json +109 -0
- data/app/pb_kits/playbook/pb_select/docs/_playground.json +149 -0
- data/app/pb_kits/playbook/pb_select/docs/_playground.overrides.json +80 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/_playground.json +145 -0
- data/app/pb_kits/playbook/pb_selectable_card/docs/_playground.overrides.json +115 -0
- data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_playground.json +38 -0
- data/app/pb_kits/playbook/pb_selectable_icon/docs/_playground.json +113 -0
- data/app/pb_kits/playbook/pb_selectable_icon/docs/_playground.overrides.json +92 -0
- data/app/pb_kits/playbook/pb_selectable_list/docs/_playground.json +53 -0
- data/app/pb_kits/playbook/pb_selectable_list/docs/_playground.overrides.json +34 -0
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_playground.json +30 -0
- data/app/pb_kits/playbook/pb_source/docs/_playground.json +27 -0
- data/app/pb_kits/playbook/pb_star_rating/docs/_playground.json +128 -0
- data/app/pb_kits/playbook/pb_star_rating/docs/_playground.overrides.json +87 -0
- data/app/pb_kits/playbook/pb_stat_change/docs/_playground.json +71 -0
- data/app/pb_kits/playbook/pb_stat_change/docs/_playground.overrides.json +29 -0
- data/app/pb_kits/playbook/pb_stat_value/docs/_playground.json +56 -0
- data/app/pb_kits/playbook/pb_stat_value/docs/_playground.overrides.json +23 -0
- data/app/pb_kits/playbook/pb_table/docs/_playground.json +57 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_playground.json +90 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_playground.overrides.json +62 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_playground.json +89 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_playground.overrides.json +62 -0
- data/app/pb_kits/playbook/pb_time/docs/_playground.json +74 -0
- data/app/pb_kits/playbook/pb_time/docs/_playground.overrides.json +54 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_playground.json +119 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_playground.overrides.json +96 -0
- data/app/pb_kits/playbook/pb_time_range_inline/docs/_playground.json +32 -0
- data/app/pb_kits/playbook/pb_time_stacked/docs/_playground.json +54 -0
- data/app/pb_kits/playbook/pb_time_stacked/docs/_playground.overrides.json +43 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_playground.json +27 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_playground.json +104 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_playground.overrides.json +84 -0
- data/app/pb_kits/playbook/pb_title/docs/_playground.json +80 -0
- data/app/pb_kits/playbook/pb_title/docs/_playground.overrides.json +44 -0
- data/app/pb_kits/playbook/pb_title_count/docs/_playground.json +66 -0
- data/app/pb_kits/playbook/pb_title_count/docs/_playground.overrides.json +20 -0
- data/app/pb_kits/playbook/pb_title_detail/docs/_playground.json +60 -0
- data/app/pb_kits/playbook/pb_title_detail/docs/_playground.overrides.json +19 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_playground.json +68 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_playground.overrides.json +53 -0
- data/app/pb_kits/playbook/pb_tooltip/docs/_playground.json +91 -0
- data/app/pb_kits/playbook/pb_tooltip/docs/_playground.overrides.json +53 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_playground.json +205 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_playground.overrides.json +115 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.html.erb +29 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.md +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_user/docs/_playground.json +110 -0
- data/app/pb_kits/playbook/pb_user/docs/_playground.overrides.json +89 -0
- data/app/pb_kits/playbook/pb_user_badge/docs/_playground.json +61 -0
- data/app/pb_kits/playbook/pb_user_badge/docs/_playground.overrides.json +36 -0
- data/app/pb_kits/playbook/pb_weekday_stacked/docs/_playground.json +64 -0
- data/app/pb_kits/playbook/pb_weekday_stacked/docs/_playground.overrides.json +51 -0
- metadata +199 -3
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "<CircleIconButton{{props}} />",
|
|
3
|
+
"propTargets": {},
|
|
4
|
+
"defaults": {
|
|
5
|
+
"disabled": false,
|
|
6
|
+
"loading": false,
|
|
7
|
+
"newWindow": false,
|
|
8
|
+
"type": "button",
|
|
9
|
+
"variant": "primary",
|
|
10
|
+
"size": "default"
|
|
11
|
+
},
|
|
12
|
+
"groups": [
|
|
13
|
+
{
|
|
14
|
+
"name": "Appearance",
|
|
15
|
+
"props": [
|
|
16
|
+
"variant",
|
|
17
|
+
"size",
|
|
18
|
+
"disabled",
|
|
19
|
+
"loading"
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "Content",
|
|
24
|
+
"props": [
|
|
25
|
+
"icon"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "Link",
|
|
30
|
+
"props": [
|
|
31
|
+
"link",
|
|
32
|
+
"target",
|
|
33
|
+
"newWindow"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"name": "Form",
|
|
38
|
+
"props": [
|
|
39
|
+
"type",
|
|
40
|
+
"onClick"
|
|
41
|
+
]
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"presets": [
|
|
45
|
+
{
|
|
46
|
+
"name": "Default",
|
|
47
|
+
"props": {
|
|
48
|
+
"icon": "plus",
|
|
49
|
+
"variant": "primary"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "Secondary",
|
|
54
|
+
"props": {
|
|
55
|
+
"icon": "pen",
|
|
56
|
+
"variant": "secondary"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Link style",
|
|
61
|
+
"props": {
|
|
62
|
+
"icon": "arrow-right",
|
|
63
|
+
"variant": "link"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "Small",
|
|
68
|
+
"props": {
|
|
69
|
+
"icon": "times",
|
|
70
|
+
"variant": "primary",
|
|
71
|
+
"size": "sm"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "Disabled",
|
|
76
|
+
"props": {
|
|
77
|
+
"icon": "lock",
|
|
78
|
+
"variant": "primary",
|
|
79
|
+
"disabled": true
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "Loading",
|
|
84
|
+
"props": {
|
|
85
|
+
"icon": "refresh",
|
|
86
|
+
"variant": "primary",
|
|
87
|
+
"loading": true
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"conditionals": {
|
|
92
|
+
"target": {
|
|
93
|
+
"requires": "link"
|
|
94
|
+
},
|
|
95
|
+
"newWindow": {
|
|
96
|
+
"requires": "link"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"hints": {
|
|
100
|
+
"icon_required": {
|
|
101
|
+
"when": {},
|
|
102
|
+
"message": "The icon prop is required for CircleIconButton.",
|
|
103
|
+
"type": "info"
|
|
104
|
+
},
|
|
105
|
+
"link_mode": {
|
|
106
|
+
"when": {
|
|
107
|
+
"link": true
|
|
108
|
+
},
|
|
109
|
+
"message": "When link is set, the button renders as an anchor tag.",
|
|
110
|
+
"type": "info"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"groups": [
|
|
3
|
+
{
|
|
4
|
+
"name": "Appearance",
|
|
5
|
+
"props": ["variant", "size", "disabled", "loading"]
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name": "Content",
|
|
9
|
+
"props": ["icon"]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "Link",
|
|
13
|
+
"props": ["link", "target", "newWindow"]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "Form",
|
|
17
|
+
"props": ["type", "onClick"]
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"presets": [
|
|
21
|
+
{
|
|
22
|
+
"name": "Default",
|
|
23
|
+
"props": { "icon": "plus", "variant": "primary" }
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "Secondary",
|
|
27
|
+
"props": { "icon": "pen", "variant": "secondary" }
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "Link style",
|
|
31
|
+
"props": { "icon": "arrow-right", "variant": "link" }
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "Small",
|
|
35
|
+
"props": { "icon": "times", "variant": "primary", "size": "sm" }
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "Disabled",
|
|
39
|
+
"props": { "icon": "lock", "variant": "primary", "disabled": true }
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "Loading",
|
|
43
|
+
"props": { "icon": "refresh", "variant": "primary", "loading": true }
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"conditionals": {
|
|
47
|
+
"target": { "requires": "link" },
|
|
48
|
+
"newWindow": { "requires": "link" }
|
|
49
|
+
},
|
|
50
|
+
"hints": {
|
|
51
|
+
"icon_required": {
|
|
52
|
+
"when": {},
|
|
53
|
+
"message": "The icon prop is required for CircleIconButton.",
|
|
54
|
+
"type": "info"
|
|
55
|
+
},
|
|
56
|
+
"link_mode": {
|
|
57
|
+
"when": { "link": true },
|
|
58
|
+
"message": "When link is set, the button renders as an anchor tag.",
|
|
59
|
+
"type": "info"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "<Collapsible{{props}}>{{children}}</Collapsible>",
|
|
3
|
+
"propTargets": {},
|
|
4
|
+
"defaults": {
|
|
5
|
+
"tag": "div"
|
|
6
|
+
},
|
|
7
|
+
"children": {
|
|
8
|
+
"editable": true,
|
|
9
|
+
"default": "Expandable content goes here. This section is hidden when collapsed."
|
|
10
|
+
},
|
|
11
|
+
"groups": [
|
|
12
|
+
{
|
|
13
|
+
"name": "Appearance",
|
|
14
|
+
"props": [
|
|
15
|
+
"icon",
|
|
16
|
+
"iconColor",
|
|
17
|
+
"iconSize"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Layout",
|
|
22
|
+
"props": [
|
|
23
|
+
"tag"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "Callbacks",
|
|
28
|
+
"props": [
|
|
29
|
+
"onClick",
|
|
30
|
+
"onIconClick"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "State",
|
|
35
|
+
"props": [
|
|
36
|
+
"collapsed"
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"presets": [
|
|
41
|
+
{
|
|
42
|
+
"name": "Default",
|
|
43
|
+
"props": {},
|
|
44
|
+
"children": "Expandable content goes here."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "Expanded",
|
|
48
|
+
"props": {
|
|
49
|
+
"collapsed": false
|
|
50
|
+
},
|
|
51
|
+
"children": "This content is visible initially."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "Custom icon",
|
|
55
|
+
"props": {
|
|
56
|
+
"icon": "plus",
|
|
57
|
+
"iconColor": "link"
|
|
58
|
+
},
|
|
59
|
+
"children": "Custom icon and color."
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"conditionals": {},
|
|
63
|
+
"hints": {
|
|
64
|
+
"expanded_state": {
|
|
65
|
+
"when": {
|
|
66
|
+
"collapsed": false
|
|
67
|
+
},
|
|
68
|
+
"message": "Set collapsed to false to render as open on first render. Use useCollapsible hook or state to control this for complex UI.",
|
|
69
|
+
"type": "info"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"structureModes": {
|
|
73
|
+
"default": "subcomponents",
|
|
74
|
+
"modes": {
|
|
75
|
+
"subcomponents": {
|
|
76
|
+
"label": "With Subcomponents",
|
|
77
|
+
"template": "<Collapsible{{props}}>\n <Collapsible.Main>\n Main Section\n </Collapsible.Main>\n <Collapsible.Content>\n {{children}}\n </Collapsible.Content>\n</Collapsible>",
|
|
78
|
+
"children": "Expandable content goes here."
|
|
79
|
+
},
|
|
80
|
+
"with_hook": {
|
|
81
|
+
"label": "With useCollapsible Hook",
|
|
82
|
+
"template": "<Collapsible collapsed={collapsed}{{props}}>\n <Collapsible.Main>\n Main Section\n </Collapsible.Main>\n <Collapsible.Content>\n {{children}}\n </Collapsible.Content>\n</Collapsible>",
|
|
83
|
+
"children": "Content controlled by the useCollapsible hook.",
|
|
84
|
+
"imports": [
|
|
85
|
+
"useCollapsible"
|
|
86
|
+
],
|
|
87
|
+
"wrapper": "const CollapsibleExample = () => {\n const [collapsed, toggle] = useCollapsible(true)\n\n return (\n <>\n <Button onClick={toggle} marginBottom=\"sm\">\n {collapsed ? 'Expand' : 'Collapse'}\n </Button>\n {{component}}\n </>\n )\n}\n\n<CollapsibleExample />"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"children": {
|
|
3
|
+
"default": "Expandable content goes here. This section is hidden when collapsed."
|
|
4
|
+
},
|
|
5
|
+
"structureModes": {
|
|
6
|
+
"default": "subcomponents",
|
|
7
|
+
"modes": {
|
|
8
|
+
"subcomponents": {
|
|
9
|
+
"label": "With Subcomponents",
|
|
10
|
+
"template": "<Collapsible{{props}}>\n <Collapsible.Main>\n Main Section\n </Collapsible.Main>\n <Collapsible.Content>\n {{children}}\n </Collapsible.Content>\n</Collapsible>",
|
|
11
|
+
"children": "Expandable content goes here."
|
|
12
|
+
},
|
|
13
|
+
"with_hook": {
|
|
14
|
+
"label": "With useCollapsible Hook",
|
|
15
|
+
"template": "<Collapsible collapsed={collapsed}{{props}}>\n <Collapsible.Main>\n Main Section\n </Collapsible.Main>\n <Collapsible.Content>\n {{children}}\n </Collapsible.Content>\n</Collapsible>",
|
|
16
|
+
"children": "Content controlled by the useCollapsible hook.",
|
|
17
|
+
"imports": ["useCollapsible"],
|
|
18
|
+
"wrapper": "const CollapsibleExample = () => {\n const [collapsed, toggle] = useCollapsible(true)\n\n return (\n <>\n <Button onClick={toggle} marginBottom=\"sm\">\n {collapsed ? 'Expand' : 'Collapse'}\n </Button>\n {{component}}\n </>\n )\n}\n\n<CollapsibleExample />"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"groups": [
|
|
23
|
+
{
|
|
24
|
+
"name": "Appearance",
|
|
25
|
+
"props": ["icon", "iconColor", "iconSize"]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "Layout",
|
|
29
|
+
"props": ["tag"]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name": "Callbacks",
|
|
33
|
+
"props": ["onClick", "onIconClick"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "State",
|
|
37
|
+
"props": ["collapsed"]
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"presets": [
|
|
41
|
+
{
|
|
42
|
+
"name": "Default",
|
|
43
|
+
"props": {},
|
|
44
|
+
"children": "Expandable content goes here."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "Expanded",
|
|
48
|
+
"props": { "collapsed": false },
|
|
49
|
+
"children": "This content is visible initially."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name": "Custom icon",
|
|
53
|
+
"props": { "icon": "plus", "iconColor": "link" },
|
|
54
|
+
"children": "Custom icon and color."
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"conditionals": {},
|
|
58
|
+
"hints": {
|
|
59
|
+
"expanded_state": {
|
|
60
|
+
"when": { "collapsed": false },
|
|
61
|
+
"message": "Set collapsed to false to render as open on first render. Use useCollapsible hook or state to control this for complex UI.",
|
|
62
|
+
"type": "info"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "<Contact{{props}} />",
|
|
3
|
+
"propTargets": {},
|
|
4
|
+
"defaults": {
|
|
5
|
+
"iconEnabled": true,
|
|
6
|
+
"unstyled": false,
|
|
7
|
+
"contactType": "email",
|
|
8
|
+
"contactValue": "anna.black@example.com"
|
|
9
|
+
},
|
|
10
|
+
"groups": [
|
|
11
|
+
{
|
|
12
|
+
"name": "Contact Info",
|
|
13
|
+
"props": [
|
|
14
|
+
"contactType",
|
|
15
|
+
"contactValue",
|
|
16
|
+
"contactDetail"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "Appearance",
|
|
21
|
+
"props": [
|
|
22
|
+
"iconEnabled",
|
|
23
|
+
"unstyled"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"presets": [
|
|
28
|
+
{
|
|
29
|
+
"name": "Email",
|
|
30
|
+
"props": {
|
|
31
|
+
"contactType": "email",
|
|
32
|
+
"contactValue": "anna.black@example.com"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "Cell with detail",
|
|
37
|
+
"props": {
|
|
38
|
+
"contactType": "cell",
|
|
39
|
+
"contactValue": "2155550100",
|
|
40
|
+
"contactDetail": "mobile"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "Work phone",
|
|
45
|
+
"props": {
|
|
46
|
+
"contactType": "work",
|
|
47
|
+
"contactValue": "2155550199"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "Unstyled",
|
|
52
|
+
"props": {
|
|
53
|
+
"contactType": "email",
|
|
54
|
+
"contactValue": "anna.black@example.com",
|
|
55
|
+
"unstyled": true
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "No icon",
|
|
60
|
+
"props": {
|
|
61
|
+
"contactType": "cell",
|
|
62
|
+
"contactValue": "2155550100",
|
|
63
|
+
"iconEnabled": false
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"conditionals": {},
|
|
68
|
+
"hints": {}
|
|
69
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"defaults": {
|
|
3
|
+
"contactType": "email",
|
|
4
|
+
"contactValue": "anna.black@example.com",
|
|
5
|
+
"iconEnabled": true,
|
|
6
|
+
"unstyled": false
|
|
7
|
+
},
|
|
8
|
+
"groups": [
|
|
9
|
+
{
|
|
10
|
+
"name": "Contact Info",
|
|
11
|
+
"props": ["contactType", "contactValue", "contactDetail"]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "Appearance",
|
|
15
|
+
"props": ["iconEnabled", "unstyled"]
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"presets": [
|
|
19
|
+
{
|
|
20
|
+
"name": "Email",
|
|
21
|
+
"props": {
|
|
22
|
+
"contactType": "email",
|
|
23
|
+
"contactValue": "anna.black@example.com"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "Cell with detail",
|
|
28
|
+
"props": {
|
|
29
|
+
"contactType": "cell",
|
|
30
|
+
"contactValue": "2155550100",
|
|
31
|
+
"contactDetail": "mobile"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "Work phone",
|
|
36
|
+
"props": {
|
|
37
|
+
"contactType": "work",
|
|
38
|
+
"contactValue": "2155550199"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "Unstyled",
|
|
43
|
+
"props": {
|
|
44
|
+
"contactType": "email",
|
|
45
|
+
"contactValue": "anna.black@example.com",
|
|
46
|
+
"unstyled": true
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "No icon",
|
|
51
|
+
"props": {
|
|
52
|
+
"contactType": "cell",
|
|
53
|
+
"contactValue": "2155550100",
|
|
54
|
+
"iconEnabled": false
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"conditionals": {},
|
|
59
|
+
"hints": {}
|
|
60
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "<CopyButton{{props}} />",
|
|
3
|
+
"propTargets": {},
|
|
4
|
+
"defaults": {
|
|
5
|
+
"tooltipText": "Copied!",
|
|
6
|
+
"variant": "icon",
|
|
7
|
+
"value": "Boo from Ghost Crew!"
|
|
8
|
+
},
|
|
9
|
+
"groups": [
|
|
10
|
+
{
|
|
11
|
+
"name": "Tooltip",
|
|
12
|
+
"props": [
|
|
13
|
+
"tooltipPlacement",
|
|
14
|
+
"tooltipText"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "Copy configs",
|
|
19
|
+
"props": [
|
|
20
|
+
"value",
|
|
21
|
+
"from"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "Appearance",
|
|
26
|
+
"props": [
|
|
27
|
+
"variant",
|
|
28
|
+
"timeout"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"presets": [
|
|
33
|
+
{
|
|
34
|
+
"name": "Default",
|
|
35
|
+
"props": {
|
|
36
|
+
"tooltipText": "Copied!",
|
|
37
|
+
"value": "Boo from Ghost Crew!"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "Button variant",
|
|
42
|
+
"structureMode": "with_textarea",
|
|
43
|
+
"props": {
|
|
44
|
+
"variant": "button"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "Copy from body",
|
|
49
|
+
"structureMode": "copy_from_body",
|
|
50
|
+
"props": {
|
|
51
|
+
"from": "body",
|
|
52
|
+
"marginBottom": "sm",
|
|
53
|
+
"text": "Copy Body text",
|
|
54
|
+
"tooltipPlacement": "right",
|
|
55
|
+
"tooltipText": "Body text copied!",
|
|
56
|
+
"variant": "button",
|
|
57
|
+
"value": ""
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "With Hook",
|
|
62
|
+
"props": {},
|
|
63
|
+
"structureMode": "use_pbcopy_hook"
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"conditionals": {},
|
|
67
|
+
"hints": {
|
|
68
|
+
"default_preset_info": {
|
|
69
|
+
"presetName": "Default",
|
|
70
|
+
"message": "Use CopyButton + paste area for the kit. Switch structure to usePBCopy hook for the docs example (Body + Tooltip + Textarea, copy via from: hookbody).",
|
|
71
|
+
"type": "info"
|
|
72
|
+
},
|
|
73
|
+
"copy_configs_info": {
|
|
74
|
+
"presetName": "Copy from body",
|
|
75
|
+
"message": "Body has id=\"body\"; CopyButton uses from=\"body\" to copy that element’s text (value is cleared so from is used).",
|
|
76
|
+
"type": "info"
|
|
77
|
+
},
|
|
78
|
+
"hook_info": {
|
|
79
|
+
"presetName": "With Hook",
|
|
80
|
+
"message": "Use the usePBCopy hook to copy text to the clipboard. This is a headless hook that you can use to copy text to the clipboard. It returns a boolean value that indicates if the text has been copied and a function to copy the text.",
|
|
81
|
+
"type": "info"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"structureModes": {
|
|
85
|
+
"default": "with_textarea",
|
|
86
|
+
"modes": {
|
|
87
|
+
"with_textarea": {
|
|
88
|
+
"label": "CopyButton + paste area",
|
|
89
|
+
"template": "<Flex flexDirection=\"column\" gap=\"sm\"><CopyButton{{props}} /><Textarea marginTop=\"sm\" placeholder=\"Paste copied text here\" rows={3} /></Flex>",
|
|
90
|
+
"children": "",
|
|
91
|
+
"imports": [
|
|
92
|
+
"Flex",
|
|
93
|
+
"Textarea"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
"copy_from_body": {
|
|
97
|
+
"label": "Copy from element (from)",
|
|
98
|
+
"template": "<Flex flexDirection=\"column\" gap=\"sm\"><Body id=\"body\">Copy this body text!</Body><CopyButton{{props}} /><Textarea marginTop=\"sm\" placeholder=\"Paste copied text here\" rows={3} /></Flex>",
|
|
99
|
+
"children": "",
|
|
100
|
+
"imports": [
|
|
101
|
+
"Flex",
|
|
102
|
+
"Body",
|
|
103
|
+
"Textarea"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"use_pbcopy_hook": {
|
|
107
|
+
"label": "usePBCopy hook",
|
|
108
|
+
"template": "<></>",
|
|
109
|
+
"children": "",
|
|
110
|
+
"imports": [
|
|
111
|
+
"usePBCopy",
|
|
112
|
+
"Tooltip",
|
|
113
|
+
"Body",
|
|
114
|
+
"Textarea"
|
|
115
|
+
],
|
|
116
|
+
"wrapper": "const CopyButtonHook = ({...props}) => {\n // This is how you can use the copy button hook to copy text to the clipboard\n // eslint-disable-next-line no-unused-vars\n const [copied, copyToClipboard] = usePBCopy({ from: 'hookbody' })\n // I added a tooltip so it looks better in the ui\n const [showTooltip, setShowTooltip] = useState(false)\n\n const handleCopy = () => {\n copyToClipboard()\n setShowTooltip(true)\n setTimeout(() => setShowTooltip(false), 1500)\n }\n\n useEffect(() => {\n const el = document.getElementById('hookbody')\n if (!el) return\n\n el.addEventListener('click', handleCopy)\n return () => {\n el.removeEventListener('click', handleCopy)\n }\n }, [copyToClipboard])\n\n return (\n <div>\n <Tooltip\n delay={{ close: 1000 }}\n forceOpenTooltip={showTooltip}\n placement=\"top\"\n showTooltip={false}\n text=\"Copied!\"\n >\n <Body\n cursor=\"pointer\"\n id=\"hookbody\"\n text=\"I'm a custom copy hook! Click this body to copy this text!\"\n />\n </Tooltip>\n\n <Textarea\n placeholder=\"Paste here\"\n />\n </div>\n )\n}"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"structureModes": {
|
|
3
|
+
"default": "with_textarea",
|
|
4
|
+
"modes": {
|
|
5
|
+
"with_textarea": {
|
|
6
|
+
"label": "CopyButton + paste area",
|
|
7
|
+
"template": "<Flex flexDirection=\"column\" gap=\"sm\"><CopyButton{{props}} /><Textarea marginTop=\"sm\" placeholder=\"Paste copied text here\" rows={3} /></Flex>",
|
|
8
|
+
"children": "",
|
|
9
|
+
"imports": ["Flex", "Textarea"]
|
|
10
|
+
},
|
|
11
|
+
"copy_from_body": {
|
|
12
|
+
"label": "Copy from element (from)",
|
|
13
|
+
"template": "<Flex flexDirection=\"column\" gap=\"sm\"><Body id=\"body\">Copy this body text!</Body><CopyButton{{props}} /><Textarea marginTop=\"sm\" placeholder=\"Paste copied text here\" rows={3} /></Flex>",
|
|
14
|
+
"children": "",
|
|
15
|
+
"imports": ["Flex", "Body", "Textarea"]
|
|
16
|
+
},
|
|
17
|
+
"use_pbcopy_hook": {
|
|
18
|
+
"label": "usePBCopy hook",
|
|
19
|
+
"template": "<></>",
|
|
20
|
+
"children": "",
|
|
21
|
+
"imports": ["usePBCopy", "Tooltip", "Body", "Textarea"],
|
|
22
|
+
"wrapper": "const CopyButtonHook = ({...props}) => {\n // This is how you can use the copy button hook to copy text to the clipboard\n // eslint-disable-next-line no-unused-vars\n const [copied, copyToClipboard] = usePBCopy({ from: 'hookbody' })\n // I added a tooltip so it looks better in the ui\n const [showTooltip, setShowTooltip] = useState(false)\n\n const handleCopy = () => {\n copyToClipboard()\n setShowTooltip(true)\n setTimeout(() => setShowTooltip(false), 1500)\n }\n\n useEffect(() => {\n const el = document.getElementById('hookbody')\n if (!el) return\n\n el.addEventListener('click', handleCopy)\n return () => {\n el.removeEventListener('click', handleCopy)\n }\n }, [copyToClipboard])\n\n return (\n <div>\n <Tooltip\n delay={{ close: 1000 }}\n forceOpenTooltip={showTooltip}\n placement=\"top\"\n showTooltip={false}\n text=\"Copied!\"\n >\n <Body\n cursor=\"pointer\"\n id=\"hookbody\"\n text=\"I'm a custom copy hook! Click this body to copy this text!\"\n />\n </Tooltip>\n\n <Textarea\n placeholder=\"Paste here\"\n />\n </div>\n )\n}"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"defaults": {
|
|
27
|
+
"tooltipText": "Copied!",
|
|
28
|
+
"value": "Boo from Ghost Crew!"
|
|
29
|
+
},
|
|
30
|
+
"groups": [
|
|
31
|
+
{
|
|
32
|
+
"name": "Tooltip",
|
|
33
|
+
"props": ["tooltipPlacement", "tooltipText"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "Copy configs",
|
|
37
|
+
"props": ["value", "from"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "Appearance",
|
|
41
|
+
"props": ["variant", "timeout"]
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"presets": [
|
|
45
|
+
{
|
|
46
|
+
"name": "Default",
|
|
47
|
+
"props": {
|
|
48
|
+
"tooltipText": "Copied!",
|
|
49
|
+
"value": "Boo from Ghost Crew!"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "Button variant",
|
|
54
|
+
"structureMode": "with_textarea",
|
|
55
|
+
"props": {
|
|
56
|
+
"variant": "button"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "Copy from body",
|
|
61
|
+
"structureMode": "copy_from_body",
|
|
62
|
+
"props": {
|
|
63
|
+
"from": "body",
|
|
64
|
+
"marginBottom": "sm",
|
|
65
|
+
"text": "Copy Body text",
|
|
66
|
+
"tooltipPlacement": "right",
|
|
67
|
+
"tooltipText": "Body text copied!",
|
|
68
|
+
"variant": "button",
|
|
69
|
+
"value": ""
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "With Hook",
|
|
74
|
+
"props": {},
|
|
75
|
+
"structureMode": "use_pbcopy_hook"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"conditionals": {},
|
|
79
|
+
"hints": {
|
|
80
|
+
"default_preset_info": {
|
|
81
|
+
"presetName": "Default",
|
|
82
|
+
"message": "Use CopyButton + paste area for the kit. Switch structure to usePBCopy hook for the docs example (Body + Tooltip + Textarea, copy via from: hookbody).",
|
|
83
|
+
"type": "info"
|
|
84
|
+
},
|
|
85
|
+
"copy_configs_info": {
|
|
86
|
+
"presetName": "Copy from body",
|
|
87
|
+
"message": "Body has id=\"body\"; CopyButton uses from=\"body\" to copy that element’s text (value is cleared so from is used).",
|
|
88
|
+
"type": "info"
|
|
89
|
+
},
|
|
90
|
+
"hook_info": {
|
|
91
|
+
"presetName": "With Hook",
|
|
92
|
+
"message": "Use the usePBCopy hook to copy text to the clipboard. This is a headless hook that you can use to copy text to the clipboard. It returns a boolean value that indicates if the text has been copied and a function to copy the text.",
|
|
93
|
+
"type": "info"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|