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.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.json +8970 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.overrides.json +403 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_grouped_simple.json +41 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_grouped_triple.json +56 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_standard.json +31 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_standard_sort.json +37 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_styling.json +44 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_column_definitions_with_ids.json +38 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data_inline_loading.json +199 -0
  11. data/app/pb_kits/playbook/pb_avatar/docs/_playground.json +136 -0
  12. data/app/pb_kits/playbook/pb_avatar/docs/_playground.overrides.json +94 -0
  13. data/app/pb_kits/playbook/pb_background/docs/_playground.json +107 -0
  14. data/app/pb_kits/playbook/pb_background/docs/_playground.overrides.json +72 -0
  15. data/app/pb_kits/playbook/pb_badge/docs/_playground.json +112 -0
  16. data/app/pb_kits/playbook/pb_badge/docs/_playground.overrides.json +63 -0
  17. data/app/pb_kits/playbook/pb_body/docs/_playground.json +78 -0
  18. data/app/pb_kits/playbook/pb_body/docs/_playground.overrides.json +47 -0
  19. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_playground.json +54 -0
  20. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_playground.overrides.json +44 -0
  21. data/app/pb_kits/playbook/pb_button/docs/{_button_loading.html.erb → _button_loading_rails.html.erb} +5 -5
  22. data/app/pb_kits/playbook/pb_button/docs/_button_loading_rails.md +3 -0
  23. data/app/pb_kits/playbook/pb_button/docs/_playground.json +164 -0
  24. data/app/pb_kits/playbook/pb_button/docs/_playground.overrides.json +45 -0
  25. data/app/pb_kits/playbook/pb_button/docs/example.yml +1 -1
  26. data/app/pb_kits/playbook/pb_button_toolbar/docs/_playground.json +81 -0
  27. data/app/pb_kits/playbook/pb_button_toolbar/docs/_playground.overrides.json +54 -0
  28. data/app/pb_kits/playbook/pb_caption/docs/_playground.json +64 -0
  29. data/app/pb_kits/playbook/pb_caption/docs/_playground.overrides.json +39 -0
  30. data/app/pb_kits/playbook/pb_card/docs/_playground.json +157 -0
  31. data/app/pb_kits/playbook/pb_card/docs/_playground.overrides.json +119 -0
  32. data/app/pb_kits/playbook/pb_checkbox/docs/_playground.json +80 -0
  33. data/app/pb_kits/playbook/pb_checkbox/docs/_playground.overrides.json +58 -0
  34. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_playground.json +113 -0
  35. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_playground.overrides.json +62 -0
  36. data/app/pb_kits/playbook/pb_collapsible/docs/_playground.json +91 -0
  37. data/app/pb_kits/playbook/pb_collapsible/docs/_playground.overrides.json +65 -0
  38. data/app/pb_kits/playbook/pb_contact/docs/_playground.json +69 -0
  39. data/app/pb_kits/playbook/pb_contact/docs/_playground.overrides.json +60 -0
  40. data/app/pb_kits/playbook/pb_copy_button/docs/_playground.json +120 -0
  41. data/app/pb_kits/playbook/pb_copy_button/docs/_playground.overrides.json +96 -0
  42. data/app/pb_kits/playbook/pb_currency/docs/_playground.json +117 -0
  43. data/app/pb_kits/playbook/pb_currency/docs/_playground.overrides.json +98 -0
  44. data/app/pb_kits/playbook/pb_dashboard_value/docs/_playground.json +87 -0
  45. data/app/pb_kits/playbook/pb_dashboard_value/docs/_playground.overrides.json +19 -0
  46. data/app/pb_kits/playbook/pb_date/docs/_playground.json +73 -0
  47. data/app/pb_kits/playbook/pb_date/docs/_playground.overrides.json +54 -0
  48. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dialog_submission.jsx +62 -0
  49. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dialog_submission.md +1 -0
  50. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +178 -0
  51. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.overrides.json +156 -0
  52. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +1 -0
  53. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -0
  54. data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.json +31 -0
  55. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.json +23 -0
  56. data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.json +68 -0
  57. data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.overrides.json +51 -0
  58. data/app/pb_kits/playbook/pb_date_time/docs/_playground.json +76 -0
  59. data/app/pb_kits/playbook/pb_date_time/docs/_playground.overrides.json +58 -0
  60. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.json +57 -0
  61. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.overrides.json +46 -0
  62. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.json +45 -0
  63. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.overrides.json +36 -0
  64. data/app/pb_kits/playbook/pb_detail/docs/_playground.json +75 -0
  65. data/app/pb_kits/playbook/pb_detail/docs/_playground.overrides.json +44 -0
  66. data/app/pb_kits/playbook/pb_dialog/docs/_playground.json +121 -0
  67. data/app/pb_kits/playbook/pb_dialog/docs/_playground.overrides.json +95 -0
  68. data/app/pb_kits/playbook/pb_distribution_bar/docs/_playground.json +25 -0
  69. data/app/pb_kits/playbook/pb_draggable/docs/_playground.json +54 -0
  70. data/app/pb_kits/playbook/pb_draggable/docs/_playground.overrides.json +34 -0
  71. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.json +236 -0
  72. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.overrides.json +137 -0
  73. data/app/pb_kits/playbook/pb_empty_state/docs/_playground.json +34 -0
  74. data/app/pb_kits/playbook/pb_file_upload/docs/_playground.json +34 -0
  75. data/app/pb_kits/playbook/pb_filter/docs/_playground.json +13 -0
  76. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_playground.json +37 -0
  77. data/app/pb_kits/playbook/pb_flex/docs/_playground.json +133 -0
  78. data/app/pb_kits/playbook/pb_flex/docs/_playground.overrides.json +105 -0
  79. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +5 -5
  80. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validation_msg.html.erb +90 -0
  81. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validation_msg.md +13 -0
  82. data/app/pb_kits/playbook/pb_form/docs/_playground.json +13 -0
  83. data/app/pb_kits/playbook/pb_form/docs/example.yml +1 -0
  84. data/app/pb_kits/playbook/pb_form_group/docs/_playground.json +23 -0
  85. data/app/pb_kits/playbook/pb_form_pill/docs/_playground.json +36 -0
  86. data/app/pb_kits/playbook/pb_hashtag/docs/_playground.json +30 -0
  87. data/app/pb_kits/playbook/pb_highlight/docs/_playground.json +22 -0
  88. data/app/pb_kits/playbook/pb_home_address_street/docs/_playground.json +38 -0
  89. data/app/pb_kits/playbook/pb_icon/docs/_playground.json +115 -0
  90. data/app/pb_kits/playbook/pb_icon/docs/_playground.overrides.json +60 -0
  91. data/app/pb_kits/playbook/pb_icon_button/docs/_playground.json +33 -0
  92. data/app/pb_kits/playbook/pb_icon_circle/docs/_playground.json +27 -0
  93. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_playground.json +89 -0
  94. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_playground.overrides.json +29 -0
  95. data/app/pb_kits/playbook/pb_icon_value/docs/_playground.json +60 -0
  96. data/app/pb_kits/playbook/pb_icon_value/docs/_playground.overrides.json +19 -0
  97. data/app/pb_kits/playbook/pb_image/docs/_playground.json +101 -0
  98. data/app/pb_kits/playbook/pb_image/docs/_playground.overrides.json +89 -0
  99. data/app/pb_kits/playbook/pb_label_pill/docs/_playground.json +25 -0
  100. data/app/pb_kits/playbook/pb_label_value/docs/_playground.json +126 -0
  101. data/app/pb_kits/playbook/pb_label_value/docs/_playground.overrides.json +52 -0
  102. data/app/pb_kits/playbook/pb_layout/docs/_playground.json +40 -0
  103. data/app/pb_kits/playbook/pb_legend/docs/_playground.json +26 -0
  104. data/app/pb_kits/playbook/pb_link/docs/_playground.json +130 -0
  105. data/app/pb_kits/playbook/pb_link/docs/_playground.overrides.json +81 -0
  106. data/app/pb_kits/playbook/pb_list/docs/_playground.json +45 -0
  107. data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.json +66 -0
  108. data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.overrides.json +25 -0
  109. data/app/pb_kits/playbook/pb_map/docs/_map_default.md +2 -2
  110. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +6 -0
  111. data/app/pb_kits/playbook/pb_map/docs/_playground.json +25 -0
  112. data/app/pb_kits/playbook/pb_message/docs/_playground.json +39 -0
  113. data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.json +162 -0
  114. data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.overrides.json +126 -0
  115. data/app/pb_kits/playbook/pb_multiple_users/docs/_playground.json +182 -0
  116. data/app/pb_kits/playbook/pb_multiple_users/docs/_playground.overrides.json +167 -0
  117. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_playground.json +145 -0
  118. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_playground.overrides.json +131 -0
  119. data/app/pb_kits/playbook/pb_nav/docs/_playground.json +65 -0
  120. data/app/pb_kits/playbook/pb_nav/docs/_playground.overrides.json +45 -0
  121. data/app/pb_kits/playbook/pb_online_status/docs/_playground.json +71 -0
  122. data/app/pb_kits/playbook/pb_online_status/docs/_playground.overrides.json +40 -0
  123. data/app/pb_kits/playbook/pb_overlay/docs/_playground.json +38 -0
  124. data/app/pb_kits/playbook/pb_pagination/docs/_playground.json +69 -0
  125. data/app/pb_kits/playbook/pb_pagination/docs/_playground.overrides.json +61 -0
  126. data/app/pb_kits/playbook/pb_passphrase/docs/_playground.json +34 -0
  127. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.json +21 -0
  128. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.json +21 -0
  129. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.json +21 -0
  130. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.json +21 -0
  131. data/app/pb_kits/playbook/pb_person/docs/_playground.json +42 -0
  132. data/app/pb_kits/playbook/pb_person/docs/_playground.overrides.json +28 -0
  133. data/app/pb_kits/playbook/pb_person_contact/docs/_playground.json +98 -0
  134. data/app/pb_kits/playbook/pb_person_contact/docs/_playground.overrides.json +92 -0
  135. data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +52 -0
  136. data/app/pb_kits/playbook/pb_pill/docs/_playground.json +106 -0
  137. data/app/pb_kits/playbook/pb_pill/docs/_playground.overrides.json +56 -0
  138. data/app/pb_kits/playbook/pb_popover/docs/_playground.json +104 -0
  139. data/app/pb_kits/playbook/pb_popover/docs/_playground.overrides.json +67 -0
  140. data/app/pb_kits/playbook/pb_progress_pills/docs/_playground.json +90 -0
  141. data/app/pb_kits/playbook/pb_progress_pills/docs/_playground.overrides.json +51 -0
  142. data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.json +87 -0
  143. data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.overrides.json +28 -0
  144. data/app/pb_kits/playbook/pb_progress_step/docs/_playground.json +31 -0
  145. data/app/pb_kits/playbook/pb_radio/docs/_playground.json +83 -0
  146. data/app/pb_kits/playbook/pb_radio/docs/_playground.overrides.json +59 -0
  147. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.json +41 -0
  148. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.html.erb +1 -0
  149. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.md +12 -0
  150. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.html.erb +9 -0
  151. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.md +8 -0
  152. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +2 -0
  153. data/app/pb_kits/playbook/pb_section_separator/docs/_playground.json +128 -0
  154. data/app/pb_kits/playbook/pb_section_separator/docs/_playground.overrides.json +109 -0
  155. data/app/pb_kits/playbook/pb_select/docs/_playground.json +149 -0
  156. data/app/pb_kits/playbook/pb_select/docs/_playground.overrides.json +80 -0
  157. data/app/pb_kits/playbook/pb_selectable_card/docs/_playground.json +145 -0
  158. data/app/pb_kits/playbook/pb_selectable_card/docs/_playground.overrides.json +115 -0
  159. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_playground.json +38 -0
  160. data/app/pb_kits/playbook/pb_selectable_icon/docs/_playground.json +113 -0
  161. data/app/pb_kits/playbook/pb_selectable_icon/docs/_playground.overrides.json +92 -0
  162. data/app/pb_kits/playbook/pb_selectable_list/docs/_playground.json +53 -0
  163. data/app/pb_kits/playbook/pb_selectable_list/docs/_playground.overrides.json +34 -0
  164. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_playground.json +30 -0
  165. data/app/pb_kits/playbook/pb_source/docs/_playground.json +27 -0
  166. data/app/pb_kits/playbook/pb_star_rating/docs/_playground.json +128 -0
  167. data/app/pb_kits/playbook/pb_star_rating/docs/_playground.overrides.json +87 -0
  168. data/app/pb_kits/playbook/pb_stat_change/docs/_playground.json +71 -0
  169. data/app/pb_kits/playbook/pb_stat_change/docs/_playground.overrides.json +29 -0
  170. data/app/pb_kits/playbook/pb_stat_value/docs/_playground.json +56 -0
  171. data/app/pb_kits/playbook/pb_stat_value/docs/_playground.overrides.json +23 -0
  172. data/app/pb_kits/playbook/pb_table/docs/_playground.json +57 -0
  173. data/app/pb_kits/playbook/pb_text_input/docs/_playground.json +90 -0
  174. data/app/pb_kits/playbook/pb_text_input/docs/_playground.overrides.json +62 -0
  175. data/app/pb_kits/playbook/pb_textarea/docs/_playground.json +89 -0
  176. data/app/pb_kits/playbook/pb_textarea/docs/_playground.overrides.json +62 -0
  177. data/app/pb_kits/playbook/pb_time/docs/_playground.json +74 -0
  178. data/app/pb_kits/playbook/pb_time/docs/_playground.overrides.json +54 -0
  179. data/app/pb_kits/playbook/pb_time_picker/docs/_playground.json +119 -0
  180. data/app/pb_kits/playbook/pb_time_picker/docs/_playground.overrides.json +96 -0
  181. data/app/pb_kits/playbook/pb_time_range_inline/docs/_playground.json +32 -0
  182. data/app/pb_kits/playbook/pb_time_stacked/docs/_playground.json +54 -0
  183. data/app/pb_kits/playbook/pb_time_stacked/docs/_playground.overrides.json +43 -0
  184. data/app/pb_kits/playbook/pb_timeline/docs/_playground.json +27 -0
  185. data/app/pb_kits/playbook/pb_timestamp/docs/_playground.json +104 -0
  186. data/app/pb_kits/playbook/pb_timestamp/docs/_playground.overrides.json +84 -0
  187. data/app/pb_kits/playbook/pb_title/docs/_playground.json +80 -0
  188. data/app/pb_kits/playbook/pb_title/docs/_playground.overrides.json +44 -0
  189. data/app/pb_kits/playbook/pb_title_count/docs/_playground.json +66 -0
  190. data/app/pb_kits/playbook/pb_title_count/docs/_playground.overrides.json +20 -0
  191. data/app/pb_kits/playbook/pb_title_detail/docs/_playground.json +60 -0
  192. data/app/pb_kits/playbook/pb_title_detail/docs/_playground.overrides.json +19 -0
  193. data/app/pb_kits/playbook/pb_toggle/docs/_playground.json +68 -0
  194. data/app/pb_kits/playbook/pb_toggle/docs/_playground.overrides.json +53 -0
  195. data/app/pb_kits/playbook/pb_tooltip/docs/_playground.json +91 -0
  196. data/app/pb_kits/playbook/pb_tooltip/docs/_playground.overrides.json +53 -0
  197. data/app/pb_kits/playbook/pb_typeahead/docs/_playground.json +205 -0
  198. data/app/pb_kits/playbook/pb_typeahead/docs/_playground.overrides.json +115 -0
  199. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.html.erb +29 -0
  200. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.md +1 -0
  201. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
  202. data/app/pb_kits/playbook/pb_user/docs/_playground.json +110 -0
  203. data/app/pb_kits/playbook/pb_user/docs/_playground.overrides.json +89 -0
  204. data/app/pb_kits/playbook/pb_user_badge/docs/_playground.json +61 -0
  205. data/app/pb_kits/playbook/pb_user_badge/docs/_playground.overrides.json +36 -0
  206. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_playground.json +64 -0
  207. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_playground.overrides.json +51 -0
  208. 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
+ }