playbook_ui_docs 16.9.0 → 16.10.0.pre.alpha.PLAY3053advancedtablebottompinnedrowsreact17469

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 (226) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows.jsx +19 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_react.md +2 -2
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +4 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.jsx +6 -2
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +1 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_react.md +1 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.html.erb +36 -44
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.jsx +10 -19
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +0 -4
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +3 -5
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.json +2 -8
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.overrides.json +1 -8
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -1
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -1
  16. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_asc.html.erb +1 -0
  17. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_asc.jsx +15 -0
  18. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_asc.md +1 -0
  19. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +1 -0
  20. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +2 -0
  21. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -0
  22. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners_rails.md +1 -1
  23. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_independent_containers.html.erb +35 -0
  24. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_independent_containers_rails.md +8 -0
  25. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers_rails.md +3 -1
  26. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers_react.md +1 -1
  27. data/app/pb_kits/playbook/pb_draggable/docs/_playground.json +260 -19
  28. data/app/pb_kits/playbook/pb_draggable/docs/_playground.overrides.json +258 -13
  29. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +1 -0
  30. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_custom_display_disabled_option.html.erb +93 -0
  31. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_custom_display_disabled_option.jsx +127 -0
  32. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_custom_display_disabled_option.md +1 -0
  33. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_disabled.html.erb +10 -0
  34. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_disabled.jsx +37 -0
  35. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_disabled_option.html.erb +10 -0
  36. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_disabled_option.jsx +37 -0
  37. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_disabled_option.md +1 -0
  38. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.json +150 -237
  39. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.overrides.json +58 -74
  40. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +6 -0
  41. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +3 -0
  42. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_remove_replace.html.erb +66 -0
  43. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_remove_replace.jsx +53 -0
  44. data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_remove_replace.md +5 -0
  45. data/app/pb_kits/playbook/pb_file_upload/docs/_playground.json +2 -1
  46. data/app/pb_kits/playbook/pb_file_upload/docs/example.yml +3 -1
  47. data/app/pb_kits/playbook/pb_file_upload/docs/index.js +1 -0
  48. data/app/pb_kits/playbook/pb_filter/docs/_filter_interactive.html.erb +116 -0
  49. data/app/pb_kits/playbook/pb_filter/docs/_filter_interactive.md +12 -0
  50. data/app/pb_kits/playbook/pb_filter/docs/_filter_interactive_react.jsx +153 -0
  51. data/app/pb_kits/playbook/pb_filter/docs/_filter_interactive_react.md +10 -0
  52. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.html.erb +1 -1
  53. data/app/pb_kits/playbook/pb_filter/docs/_playground.json +308 -5
  54. data/app/pb_kits/playbook/pb_filter/docs/_playground.overrides.json +312 -0
  55. data/app/pb_kits/playbook/pb_filter/docs/example.yml +2 -0
  56. data/app/pb_kits/playbook/pb_filter/docs/index.js +2 -1
  57. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_playground.json +210 -14
  58. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_playground.overrides.json +231 -0
  59. data/app/pb_kits/playbook/pb_flex/docs/_playground.json +297 -38
  60. data/app/pb_kits/playbook/pb_flex/docs/_playground.overrides.json +300 -40
  61. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +20 -19
  62. data/app/pb_kits/playbook/pb_form/docs/_playground.json +1 -13
  63. data/app/pb_kits/playbook/pb_form_group/docs/_playground.json +82 -5
  64. data/app/pb_kits/playbook/pb_form_group/docs/_playground.overrides.json +91 -0
  65. data/app/pb_kits/playbook/pb_form_pill/docs/_playground.json +155 -14
  66. data/app/pb_kits/playbook/pb_form_pill/docs/_playground.overrides.json +147 -0
  67. data/app/pb_kits/playbook/pb_full_screen/docs/_description.md +1 -0
  68. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_content_padding.jsx +68 -0
  69. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_content_padding.md +1 -0
  70. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_custom_trigger.jsx +71 -0
  71. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_custom_trigger.md +1 -0
  72. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_default.html.erb +3 -0
  73. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_default.jsx +63 -0
  74. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_default.md +1 -0
  75. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_header_text_styling.jsx +68 -0
  76. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_header_text_styling.md +1 -0
  77. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_sticky_header.jsx +68 -0
  78. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_sticky_header.md +1 -0
  79. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_table_and_filter.jsx +149 -0
  80. data/app/pb_kits/playbook/pb_full_screen/docs/_full_screen_table_and_filter.md +1 -0
  81. data/app/pb_kits/playbook/pb_full_screen/docs/_playground.json +155 -0
  82. data/app/pb_kits/playbook/pb_full_screen/docs/_playground.overrides.json +137 -0
  83. data/app/pb_kits/playbook/pb_full_screen/docs/example.yml +14 -0
  84. data/app/pb_kits/playbook/pb_full_screen/docs/index.js +6 -0
  85. data/app/pb_kits/playbook/pb_hashtag/docs/_playground.json +72 -11
  86. data/app/pb_kits/playbook/pb_hashtag/docs/_playground.overrides.json +75 -0
  87. data/app/pb_kits/playbook/pb_highlight/docs/_playground.json +75 -4
  88. data/app/pb_kits/playbook/pb_highlight/docs/_playground.overrides.json +75 -0
  89. data/app/pb_kits/playbook/pb_home_address_street/docs/_playground.json +138 -12
  90. data/app/pb_kits/playbook/pb_home_address_street/docs/_playground.overrides.json +162 -0
  91. data/app/pb_kits/playbook/pb_icon/docs/_icon_default.jsx +1 -1
  92. data/app/pb_kits/playbook/pb_icon/docs/_playground.json +66 -41
  93. data/app/pb_kits/playbook/pb_icon/docs/_playground.overrides.json +85 -27
  94. data/app/pb_kits/playbook/pb_icon_button/docs/_playground.json +111 -9
  95. data/app/pb_kits/playbook/pb_icon_button/docs/_playground.overrides.json +131 -0
  96. data/app/pb_kits/playbook/pb_icon_circle/docs/_playground.json +92 -7
  97. data/app/pb_kits/playbook/pb_icon_circle/docs/_playground.overrides.json +108 -0
  98. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_playground.json +32 -17
  99. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_playground.overrides.json +81 -8
  100. data/app/pb_kits/playbook/pb_icon_value/docs/_playground.json +28 -18
  101. data/app/pb_kits/playbook/pb_icon_value/docs/_playground.overrides.json +58 -9
  102. data/app/pb_kits/playbook/pb_image/docs/_playground.json +124 -47
  103. data/app/pb_kits/playbook/pb_image/docs/_playground.overrides.json +122 -47
  104. data/app/pb_kits/playbook/pb_label_pill/docs/_playground.json +68 -6
  105. data/app/pb_kits/playbook/pb_label_pill/docs/_playground.overrides.json +85 -0
  106. data/app/pb_kits/playbook/pb_label_value/docs/_playground.json +59 -36
  107. data/app/pb_kits/playbook/pb_label_value/docs/_playground.overrides.json +101 -30
  108. data/app/pb_kits/playbook/pb_layout/docs/_playground.json +216 -10
  109. data/app/pb_kits/playbook/pb_layout/docs/_playground.overrides.json +188 -0
  110. data/app/pb_kits/playbook/pb_legend/docs/_playground.json +60 -7
  111. data/app/pb_kits/playbook/pb_legend/docs/_playground.overrides.json +77 -0
  112. data/app/pb_kits/playbook/pb_list/docs/_playground.json +165 -17
  113. data/app/pb_kits/playbook/pb_list/docs/_playground.overrides.json +191 -0
  114. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_color.html.erb +21 -0
  115. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_color.jsx +55 -0
  116. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_color.md +1 -0
  117. data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.json +28 -1
  118. data/app/pb_kits/playbook/pb_loading_inline/docs/_playground.overrides.json +27 -1
  119. data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +2 -0
  120. data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +1 -0
  121. data/app/pb_kits/playbook/pb_map/docs/_playground.json +164 -7
  122. data/app/pb_kits/playbook/pb_map/docs/_playground.overrides.json +180 -0
  123. data/app/pb_kits/playbook/pb_message/docs/_playground.json +114 -8
  124. data/app/pb_kits/playbook/pb_message/docs/_playground.overrides.json +144 -0
  125. data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.json +310 -61
  126. data/app/pb_kits/playbook/pb_multi_level_select/docs/_playground.overrides.json +327 -44
  127. data/app/pb_kits/playbook/pb_multiple_users/docs/_playground.json +35 -6
  128. data/app/pb_kits/playbook/pb_multiple_users/docs/_playground.overrides.json +35 -6
  129. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_playground.json +32 -21
  130. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_playground.overrides.json +32 -21
  131. data/app/pb_kits/playbook/pb_nav/docs/_playground.json +546 -18
  132. data/app/pb_kits/playbook/pb_nav/docs/_playground.overrides.json +561 -14
  133. data/app/pb_kits/playbook/pb_online_status/docs/_playground.json +18 -23
  134. data/app/pb_kits/playbook/pb_online_status/docs/_playground.overrides.json +18 -14
  135. data/app/pb_kits/playbook/pb_overlay/docs/_playground.json +133 -14
  136. data/app/pb_kits/playbook/pb_overlay/docs/_playground.overrides.json +154 -0
  137. data/app/pb_kits/playbook/pb_pagination/docs/_playground.json +35 -14
  138. data/app/pb_kits/playbook/pb_pagination/docs/_playground.overrides.json +35 -14
  139. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_breached.html.erb +1 -1
  140. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_common.html.erb +1 -1
  141. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.html.erb +5 -5
  142. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.html.erb +1 -1
  143. data/app/pb_kits/playbook/pb_passphrase/docs/_playground.json +129 -14
  144. data/app/pb_kits/playbook/pb_passphrase/docs/_playground.overrides.json +148 -0
  145. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.json +378 -4
  146. data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_playground.overrides.json +245 -0
  147. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.json +215 -4
  148. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_playground.overrides.json +224 -0
  149. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.json +149 -4
  150. data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_playground.overrides.json +162 -0
  151. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.json +392 -4
  152. data/app/pb_kits/playbook/pb_pb_line_graph/docs/_playground.overrides.json +212 -0
  153. data/app/pb_kits/playbook/pb_person/docs/_playground.json +27 -11
  154. data/app/pb_kits/playbook/pb_person/docs/_playground.overrides.json +34 -9
  155. data/app/pb_kits/playbook/pb_person_contact/docs/_playground.json +72 -21
  156. data/app/pb_kits/playbook/pb_person_contact/docs/_playground.overrides.json +71 -21
  157. data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +179 -21
  158. data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.overrides.json +180 -0
  159. data/app/pb_kits/playbook/pb_pill/docs/_playground.json +16 -49
  160. data/app/pb_kits/playbook/pb_pill/docs/_playground.overrides.json +33 -30
  161. data/app/pb_kits/playbook/pb_popover/docs/_playground.json +155 -46
  162. data/app/pb_kits/playbook/pb_popover/docs/_playground.overrides.json +162 -30
  163. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +9 -11
  164. data/app/pb_kits/playbook/pb_progress_pills/docs/_playground.json +26 -13
  165. data/app/pb_kits/playbook/pb_progress_pills/docs/_playground.overrides.json +24 -6
  166. data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.json +50 -17
  167. data/app/pb_kits/playbook/pb_progress_simple/docs/_playground.overrides.json +41 -7
  168. data/app/pb_kits/playbook/pb_progress_step/docs/_playground.json +197 -10
  169. data/app/pb_kits/playbook/pb_progress_step/docs/_playground.overrides.json +189 -0
  170. data/app/pb_kits/playbook/pb_radio/docs/_playground.json +80 -6
  171. data/app/pb_kits/playbook/pb_radio/docs/_playground.overrides.json +82 -3
  172. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.json +152 -22
  173. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_playground.overrides.json +153 -0
  174. data/app/pb_kits/playbook/pb_select/docs/_playground.json +65 -19
  175. data/app/pb_kits/playbook/pb_select/docs/_playground.overrides.json +54 -14
  176. data/app/pb_kits/playbook/pb_selectable_card/docs/_playground.json +75 -82
  177. data/app/pb_kits/playbook/pb_selectable_card/docs/_playground.overrides.json +76 -76
  178. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_playground.json +105 -15
  179. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_playground.overrides.json +106 -0
  180. data/app/pb_kits/playbook/pb_selectable_icon/docs/_playground.json +37 -21
  181. data/app/pb_kits/playbook/pb_selectable_icon/docs/_playground.overrides.json +35 -18
  182. data/app/pb_kits/playbook/pb_selectable_list/docs/_playground.json +174 -12
  183. data/app/pb_kits/playbook/pb_selectable_list/docs/_playground.overrides.json +162 -10
  184. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_playground.json +68 -6
  185. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_playground.overrides.json +80 -0
  186. data/app/pb_kits/playbook/pb_source/docs/_playground.json +67 -6
  187. data/app/pb_kits/playbook/pb_source/docs/_playground.overrides.json +80 -0
  188. data/app/pb_kits/playbook/pb_star_rating/docs/_playground.json +28 -53
  189. data/app/pb_kits/playbook/pb_star_rating/docs/_playground.overrides.json +33 -32
  190. data/app/pb_kits/playbook/pb_stat_change/docs/_playground.json +15 -9
  191. data/app/pb_kits/playbook/pb_stat_change/docs/_playground.overrides.json +15 -5
  192. data/app/pb_kits/playbook/pb_stat_value/docs/_playground.json +19 -9
  193. data/app/pb_kits/playbook/pb_stat_value/docs/_playground.overrides.json +18 -7
  194. data/app/pb_kits/playbook/pb_table/docs/_playground.json +223 -21
  195. data/app/pb_kits/playbook/pb_table/docs/_playground.overrides.json +176 -0
  196. data/app/pb_kits/playbook/pb_text_input/docs/_playground.json +44 -5
  197. data/app/pb_kits/playbook/pb_text_input/docs/_playground.overrides.json +39 -3
  198. data/app/pb_kits/playbook/pb_textarea/docs/_playground.json +35 -3
  199. data/app/pb_kits/playbook/pb_textarea/docs/_playground.overrides.json +28 -3
  200. data/app/pb_kits/playbook/pb_time/docs/_playground.json +28 -14
  201. data/app/pb_kits/playbook/pb_time/docs/_playground.overrides.json +26 -13
  202. data/app/pb_kits/playbook/pb_time_picker/docs/_playground.json +36 -30
  203. data/app/pb_kits/playbook/pb_time_picker/docs/_playground.overrides.json +31 -26
  204. data/app/pb_kits/playbook/pb_time_range_inline/docs/_playground.json +63 -9
  205. data/app/pb_kits/playbook/pb_time_range_inline/docs/_playground.overrides.json +69 -0
  206. data/app/pb_kits/playbook/pb_time_stacked/docs/_playground.json +30 -9
  207. data/app/pb_kits/playbook/pb_time_stacked/docs/_playground.overrides.json +30 -9
  208. data/app/pb_kits/playbook/pb_timeline/docs/_playground.json +178 -6
  209. data/app/pb_kits/playbook/pb_timeline/docs/_playground.overrides.json +165 -0
  210. data/app/pb_kits/playbook/pb_timestamp/docs/_playground.json +36 -21
  211. data/app/pb_kits/playbook/pb_timestamp/docs/_playground.overrides.json +35 -20
  212. data/app/pb_kits/playbook/pb_toggle/docs/_playground.json +24 -13
  213. data/app/pb_kits/playbook/pb_toggle/docs/_playground.overrides.json +20 -12
  214. data/app/pb_kits/playbook/pb_tooltip/docs/_playground.json +42 -23
  215. data/app/pb_kits/playbook/pb_tooltip/docs/_playground.overrides.json +35 -15
  216. data/app/pb_kits/playbook/pb_typeahead/docs/_playground.json +124 -44
  217. data/app/pb_kits/playbook/pb_typeahead/docs/_playground.overrides.json +98 -31
  218. data/app/pb_kits/playbook/pb_user/docs/_playground.json +33 -15
  219. data/app/pb_kits/playbook/pb_user/docs/_playground.overrides.json +32 -15
  220. data/app/pb_kits/playbook/pb_user_badge/docs/_playground.json +26 -12
  221. data/app/pb_kits/playbook/pb_user_badge/docs/_playground.overrides.json +26 -9
  222. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_playground.json +32 -5
  223. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_playground.overrides.json +30 -4
  224. metadata +73 -4
  225. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_fullscreen.jsx +0 -92
  226. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_fullscreen.md +0 -3
@@ -1,34 +1,55 @@
1
1
  {
2
+ "customProps": {
3
+ "isMulti": {
4
+ "type": "boolean",
5
+ "platforms": ["react"],
6
+ "default": false
7
+ }
8
+ },
9
+ "structureModes": {
10
+ "default": "standard",
11
+ "modes": {
12
+ "standard": {
13
+ "label": "Standard",
14
+ "template": "<Typeahead{{props}} />",
15
+ "children": ""
16
+ },
17
+ "advanced": {
18
+ "label": "Advanced setup",
19
+ "template": "<Typeahead{{props}} />",
20
+ "children": "",
21
+ "wrapper": "const playgroundTypeaheadOptions = [\n { name: \"Ada Lovelace\", id: \"ada\" },\n { name: \"Grace Hopper\", id: \"grace\" },\n { name: \"Katherine Johnson\", id: \"katherine\" },\n { name: \"Margaret Hamilton\", id: \"margaret\" },\n]\n\nconst playgroundTypeahead = {\n loadOptions: (inputValue) => new Promise((resolve) => {\n const search = inputValue.toLowerCase()\n window.setTimeout(() => {\n resolve(playgroundTypeaheadOptions.filter((option) => option.name.toLowerCase().includes(search)))\n }, 250)\n }),\n getOptionLabel: (option) => option.name || option.label,\n getOptionValue: (option) => String(option.id || option.value),\n}\n\nif (typeof window !== \"undefined\") {\n window.playgroundTypeahead = playgroundTypeahead\n}\n\nconst MenuList = (props) => (\n <Typeahead.MenuList\n {...props}\n footer={<Button margin=\"sm\" text=\"Custom footer\" />}\n />\n)\n\nconst TypeaheadPlaygroundExample = () => (\n {{component}}\n)\n\n<TypeaheadPlaygroundExample />"
22
+ }
23
+ }
24
+ },
2
25
  "groups": [
3
26
  {
4
27
  "name": "Content",
5
- "props": ["label", "name", "options"]
28
+ "props": ["label", "name", "options", "inputDisplay", "isMulti"]
6
29
  },
7
30
  {
8
31
  "name": "State",
9
32
  "props": ["disabled", "error", "required", "requiredIndicator", "validation"]
10
33
  },
11
34
  {
12
- "name": "Appearance",
13
- "props": ["inputDisplay"]
14
- },
15
- {
16
- "name": "Async & data",
35
+ "name": "Async & Data",
17
36
  "props": [
18
37
  "async",
19
- "createable",
20
38
  "loadOptions",
21
39
  "getOptionLabel",
22
40
  "getOptionValue",
23
41
  "optionsByContext",
24
42
  "searchContextSelector",
25
- "clearOnContextChange",
26
- "preserveSearchInput"
43
+ "clearOnContextChange"
27
44
  ]
28
45
  },
29
46
  {
30
- "name": "Advanced",
31
- "props": ["components", "onChange"]
47
+ "name": "Behavior",
48
+ "props": ["createable", "preserveSearchInput", "onChange"]
49
+ },
50
+ {
51
+ "name": "Appearance",
52
+ "props": ["components", "dark", "marginBottom"]
32
53
  }
33
54
  ],
34
55
  "presets": [
@@ -36,6 +57,7 @@
36
57
  "name": "Basic list",
37
58
  "props": {
38
59
  "label": "Colors",
60
+ "name": "color",
39
61
  "options": [
40
62
  { "label": "Orange", "value": "#FFA500" },
41
63
  { "label": "Red", "value": "#FF0000" },
@@ -45,10 +67,12 @@
45
67
  }
46
68
  },
47
69
  {
48
- "name": "Pills display",
70
+ "name": "Count display",
49
71
  "props": {
50
72
  "label": "Tags",
51
- "inputDisplay": "pills",
73
+ "name": "tags",
74
+ "inputDisplay": "none",
75
+ "isMulti": true,
52
76
  "options": [
53
77
  { "label": "Design", "value": "design" },
54
78
  { "label": "Engineering", "value": "engineering" },
@@ -57,40 +81,56 @@
57
81
  }
58
82
  },
59
83
  {
60
- "name": "Plain input",
84
+ "name": "Required validation",
61
85
  "props": {
62
- "label": "Team",
63
- "inputDisplay": "none",
86
+ "label": "Assignee",
87
+ "name": "assignee",
88
+ "required": true,
89
+ "requiredIndicator": true,
90
+ "validation": { "message": "Choose an assignee." },
91
+ "error": "Selection is required.",
64
92
  "options": [
65
- { "label": "North", "value": "north" },
66
- { "label": "South", "value": "south" }
93
+ { "label": "Ada", "value": "ada" },
94
+ { "label": "Grace", "value": "grace" }
67
95
  ]
68
96
  }
69
97
  },
70
98
  {
71
- "name": "Disabled",
99
+ "name": "Async users",
100
+ "structureMode": "advanced",
72
101
  "props": {
73
- "label": "Read only",
74
- "disabled": true,
75
- "options": [{ "label": "Only option", "value": "one" }]
102
+ "async": true,
103
+ "label": "Users",
104
+ "name": "users",
105
+ "loadOptions": "playgroundTypeahead.loadOptions",
106
+ "getOptionLabel": "playgroundTypeahead.getOptionLabel",
107
+ "getOptionValue": "playgroundTypeahead.getOptionValue",
108
+ "options": []
76
109
  }
77
110
  },
78
111
  {
79
- "name": "With error",
112
+ "name": "Custom menu",
113
+ "structureMode": "advanced",
80
114
  "props": {
81
- "label": "Assignee",
82
- "error": "Selection is required.",
115
+ "label": "Colors",
116
+ "name": "custom_menu",
117
+ "components": { "__playgroundCode": "{ MenuList }" },
118
+ "marginBottom": "none",
83
119
  "options": [
84
- { "label": "Ada", "value": "ada" },
85
- { "label": "Grace", "value": "grace" }
120
+ { "label": "Orange", "value": "#FFA500" },
121
+ { "label": "Red", "value": "#FF0000" },
122
+ { "label": "Green", "value": "#00FF00" }
86
123
  ]
87
124
  }
88
125
  },
89
126
  {
90
- "name": "Creatable",
127
+ "name": "Creatable handler",
91
128
  "props": {
92
129
  "label": "Add labels",
130
+ "name": "labels",
93
131
  "createable": true,
132
+ "preserveSearchInput": true,
133
+ "onChange": "(selected) => console.log(selected)",
94
134
  "options": [
95
135
  { "label": "Bug", "value": "bug" },
96
136
  { "label": "Feature", "value": "feature" }
@@ -102,13 +142,40 @@
102
142
  "loadOptions": { "requires": { "async": true } },
103
143
  "getOptionLabel": { "requires": { "async": true } },
104
144
  "getOptionValue": { "requires": { "async": true } },
145
+ "requiredIndicator": { "requires": "label" },
146
+ "validation": { "requires": { "required": true } },
105
147
  "optionsByContext": { "requires": "searchContextSelector" },
106
148
  "clearOnContextChange": { "requires": "searchContextSelector" }
107
149
  },
108
150
  "hints": {
109
- "async_options": {
110
- "when": { "async": true },
111
- "message": "Async mode expects loadOptions to return option objects with label and value.",
151
+ "basic_list": {
152
+ "presetName": "Basic list",
153
+ "message": "Basic list uses a local options array with label and value keys.",
154
+ "type": "info"
155
+ },
156
+ "count_display": {
157
+ "presetName": "Count display",
158
+ "message": "Count display uses multi-select with inputDisplay set to none so selected values render as a count.",
159
+ "type": "info"
160
+ },
161
+ "required_validation": {
162
+ "presetName": "Required validation",
163
+ "message": "Required validation pairs required, requiredIndicator, validation, and error copy.",
164
+ "type": "info"
165
+ },
166
+ "async_users": {
167
+ "presetName": "Async users",
168
+ "message": "Async users demonstrates loadOptions plus custom option label/value resolvers.",
169
+ "type": "info"
170
+ },
171
+ "custom_menu": {
172
+ "presetName": "Custom menu",
173
+ "message": "Custom menu passes a components map to replace Typeahead.MenuList content.",
174
+ "type": "info"
175
+ },
176
+ "creatable_handler": {
177
+ "presetName": "Creatable handler",
178
+ "message": "Creatable handler shows custom option creation, preserved search input, and an onChange handler.",
112
179
  "type": "info"
113
180
  }
114
181
  }
@@ -36,16 +36,18 @@
36
36
  "nameStyle",
37
37
  "titleStyle",
38
38
  "bold",
39
- "avatarGrayscale"
39
+ "avatarGrayscale",
40
+ "dark"
40
41
  ]
41
42
  }
42
43
  ],
43
44
  "presets": [
44
45
  {
45
- "name": "With avatar",
46
+ "name": "With Avatar",
46
47
  "props": {
47
48
  "name": "Anna Black",
48
49
  "title": "Engineer",
50
+ "subtitle": "Product team",
49
51
  "avatar": true,
50
52
  "avatarUrl": "https://randomuser.me/api/portraits/women/44.jpg",
51
53
  "size": "md",
@@ -53,7 +55,7 @@
53
55
  }
54
56
  },
55
57
  {
56
- "name": "Text only",
58
+ "name": "Text Only",
57
59
  "props": {
58
60
  "name": "Anna Black",
59
61
  "title": "Engineer",
@@ -73,16 +75,6 @@
73
75
  "size": "lg"
74
76
  }
75
77
  },
76
- {
77
- "name": "Small",
78
- "props": {
79
- "name": "Anna Black",
80
- "title": "Engineer",
81
- "avatar": true,
82
- "avatarUrl": "https://randomuser.me/api/portraits/women/44.jpg",
83
- "size": "sm"
84
- }
85
- },
86
78
  {
87
79
  "name": "Vertical",
88
80
  "props": {
@@ -95,7 +87,7 @@
95
87
  }
96
88
  },
97
89
  {
98
- "name": "With territory",
90
+ "name": "With Territory",
99
91
  "props": {
100
92
  "name": "Anna Black",
101
93
  "territory": "West",
@@ -106,5 +98,31 @@
106
98
  }
107
99
  ],
108
100
  "conditionals": {},
109
- "hints": {}
101
+ "hints": {
102
+ "with_avatar": {
103
+ "presetName": "With Avatar",
104
+ "message": "With Avatar shows the common horizontal user layout with avatar, title, and subtitle.",
105
+ "type": "info"
106
+ },
107
+ "text_only": {
108
+ "presetName": "Text Only",
109
+ "message": "Text Only turns avatar off for compact name-and-title displays.",
110
+ "type": "info"
111
+ },
112
+ "large": {
113
+ "presetName": "Large",
114
+ "message": "Large uses the lg size and subtitle for more prominent people rows.",
115
+ "type": "info"
116
+ },
117
+ "vertical": {
118
+ "presetName": "Vertical",
119
+ "message": "Vertical stacks the avatar and user details for profile-style layouts.",
120
+ "type": "info"
121
+ },
122
+ "with_territory": {
123
+ "presetName": "With Territory",
124
+ "message": "With Territory includes a territory label alongside the user identity.",
125
+ "type": "info"
126
+ }
127
+ }
110
128
  }
@@ -16,15 +16,16 @@
16
16
  },
17
17
  {
18
18
  "name": "Appearance",
19
- "props": ["size", "orientation", "align", "nameStyle", "titleStyle", "bold", "avatarGrayscale"]
19
+ "props": ["size", "orientation", "align", "nameStyle", "titleStyle", "bold", "avatarGrayscale", "dark"]
20
20
  }
21
21
  ],
22
22
  "presets": [
23
23
  {
24
- "name": "With avatar",
24
+ "name": "With Avatar",
25
25
  "props": {
26
26
  "name": "Anna Black",
27
27
  "title": "Engineer",
28
+ "subtitle": "Product team",
28
29
  "avatar": true,
29
30
  "avatarUrl": "https://randomuser.me/api/portraits/women/44.jpg",
30
31
  "size": "md",
@@ -32,7 +33,7 @@
32
33
  }
33
34
  },
34
35
  {
35
- "name": "Text only",
36
+ "name": "Text Only",
36
37
  "props": {
37
38
  "name": "Anna Black",
38
39
  "title": "Engineer",
@@ -52,16 +53,6 @@
52
53
  "size": "lg"
53
54
  }
54
55
  },
55
- {
56
- "name": "Small",
57
- "props": {
58
- "name": "Anna Black",
59
- "title": "Engineer",
60
- "avatar": true,
61
- "avatarUrl": "https://randomuser.me/api/portraits/women/44.jpg",
62
- "size": "sm"
63
- }
64
- },
65
56
  {
66
57
  "name": "Vertical",
67
58
  "props": {
@@ -74,7 +65,7 @@
74
65
  }
75
66
  },
76
67
  {
77
- "name": "With territory",
68
+ "name": "With Territory",
78
69
  "props": {
79
70
  "name": "Anna Black",
80
71
  "territory": "West",
@@ -85,5 +76,31 @@
85
76
  }
86
77
  ],
87
78
  "conditionals": {},
88
- "hints": {}
79
+ "hints": {
80
+ "with_avatar": {
81
+ "presetName": "With Avatar",
82
+ "message": "With Avatar shows the common horizontal user layout with avatar, title, and subtitle.",
83
+ "type": "info"
84
+ },
85
+ "text_only": {
86
+ "presetName": "Text Only",
87
+ "message": "Text Only turns avatar off for compact name-and-title displays.",
88
+ "type": "info"
89
+ },
90
+ "large": {
91
+ "presetName": "Large",
92
+ "message": "Large uses the lg size and subtitle for more prominent people rows.",
93
+ "type": "info"
94
+ },
95
+ "vertical": {
96
+ "presetName": "Vertical",
97
+ "message": "Vertical stacks the avatar and user details for profile-style layouts.",
98
+ "type": "info"
99
+ },
100
+ "with_territory": {
101
+ "presetName": "With Territory",
102
+ "message": "With Territory includes a territory label alongside the user identity.",
103
+ "type": "info"
104
+ }
105
+ }
89
106
  }
@@ -21,41 +21,55 @@
21
21
  ],
22
22
  "presets": [
23
23
  {
24
- "name": "Million dollar · md",
24
+ "name": "Million Dollar",
25
25
  "props": {
26
26
  "badge": "million-dollar",
27
27
  "size": "md"
28
28
  }
29
29
  },
30
30
  {
31
- "name": "Million dollar · sm",
31
+ "name": "Small",
32
32
  "props": {
33
33
  "badge": "million-dollar",
34
34
  "size": "sm"
35
35
  }
36
36
  },
37
37
  {
38
- "name": "Million dollar · lg",
38
+ "name": "Large",
39
39
  "props": {
40
40
  "badge": "million-dollar",
41
41
  "size": "lg"
42
42
  }
43
43
  },
44
44
  {
45
- "name": "Veteran · md",
45
+ "name": "Veteran",
46
46
  "props": {
47
47
  "badge": "veteran",
48
48
  "size": "md"
49
49
  }
50
- },
51
- {
52
- "name": "Veteran · sm",
53
- "props": {
54
- "badge": "veteran",
55
- "size": "sm"
56
- }
57
50
  }
58
51
  ],
59
52
  "conditionals": {},
60
- "hints": {}
53
+ "hints": {
54
+ "million_dollar": {
55
+ "presetName": "Million Dollar",
56
+ "message": "Million Dollar uses the default badge artwork at medium size.",
57
+ "type": "info"
58
+ },
59
+ "small": {
60
+ "presetName": "Small",
61
+ "message": "Small shows the million-dollar badge at the compact sm size.",
62
+ "type": "info"
63
+ },
64
+ "large": {
65
+ "presetName": "Large",
66
+ "message": "Large shows the million-dollar badge at the prominent lg size.",
67
+ "type": "info"
68
+ },
69
+ "veteran": {
70
+ "presetName": "Veteran",
71
+ "message": "Veteran switches the badge artwork while keeping medium sizing.",
72
+ "type": "info"
73
+ }
74
+ }
61
75
  }
@@ -11,26 +11,43 @@
11
11
  ],
12
12
  "presets": [
13
13
  {
14
- "name": "Million dollar · md",
14
+ "name": "Million Dollar",
15
15
  "props": { "badge": "million-dollar", "size": "md" }
16
16
  },
17
17
  {
18
- "name": "Million dollar · sm",
18
+ "name": "Small",
19
19
  "props": { "badge": "million-dollar", "size": "sm" }
20
20
  },
21
21
  {
22
- "name": "Million dollar · lg",
22
+ "name": "Large",
23
23
  "props": { "badge": "million-dollar", "size": "lg" }
24
24
  },
25
25
  {
26
- "name": "Veteran · md",
26
+ "name": "Veteran",
27
27
  "props": { "badge": "veteran", "size": "md" }
28
- },
29
- {
30
- "name": "Veteran · sm",
31
- "props": { "badge": "veteran", "size": "sm" }
32
28
  }
33
29
  ],
34
30
  "conditionals": {},
35
- "hints": {}
31
+ "hints": {
32
+ "million_dollar": {
33
+ "presetName": "Million Dollar",
34
+ "message": "Million Dollar uses the default badge artwork at medium size.",
35
+ "type": "info"
36
+ },
37
+ "small": {
38
+ "presetName": "Small",
39
+ "message": "Small shows the million-dollar badge at the compact sm size.",
40
+ "type": "info"
41
+ },
42
+ "large": {
43
+ "presetName": "Large",
44
+ "message": "Large shows the million-dollar badge at the prominent lg size.",
45
+ "type": "info"
46
+ },
47
+ "veteran": {
48
+ "presetName": "Veteran",
49
+ "message": "Veteran switches the badge artwork while keeping medium sizing.",
50
+ "type": "info"
51
+ }
52
+ }
36
53
  }
@@ -11,14 +11,15 @@
11
11
  "name": "Content",
12
12
  "props": [
13
13
  "date",
14
- "variant",
15
- "compact"
14
+ "variant"
16
15
  ]
17
16
  },
18
17
  {
19
18
  "name": "Appearance",
20
19
  "props": [
21
- "align"
20
+ "compact",
21
+ "align",
22
+ "dark"
22
23
  ]
23
24
  }
24
25
  ],
@@ -44,7 +45,7 @@
44
45
  }
45
46
  },
46
47
  {
47
- "name": "Compact weekday",
48
+ "name": "Compact",
48
49
  "props": {
49
50
  "date": "2026-04-09T12:00:00.000Z",
50
51
  "compact": true
@@ -60,5 +61,31 @@
60
61
  }
61
62
  ],
62
63
  "conditionals": {},
63
- "hints": {}
64
+ "hints": {
65
+ "default": {
66
+ "presetName": "Default",
67
+ "message": "Default renders the weekday with the month-day variant.",
68
+ "type": "info"
69
+ },
70
+ "day_only": {
71
+ "presetName": "Day only",
72
+ "message": "Day only switches variant to show just the weekday.",
73
+ "type": "info"
74
+ },
75
+ "expanded": {
76
+ "presetName": "Expanded",
77
+ "message": "Expanded shows the fuller stacked date treatment.",
78
+ "type": "info"
79
+ },
80
+ "compact": {
81
+ "presetName": "Compact",
82
+ "message": "Compact tightens the month-day layout for denser views.",
83
+ "type": "info"
84
+ },
85
+ "centered": {
86
+ "presetName": "Centered",
87
+ "message": "Centered changes alignment while keeping the month-day variant.",
88
+ "type": "info"
89
+ }
90
+ }
64
91
  }
@@ -2,11 +2,11 @@
2
2
  "groups": [
3
3
  {
4
4
  "name": "Content",
5
- "props": ["date", "variant", "compact"]
5
+ "props": ["date", "variant"]
6
6
  },
7
7
  {
8
8
  "name": "Appearance",
9
- "props": ["align"]
9
+ "props": ["compact", "align", "dark"]
10
10
  }
11
11
  ],
12
12
  "presets": [
@@ -31,7 +31,7 @@
31
31
  }
32
32
  },
33
33
  {
34
- "name": "Compact weekday",
34
+ "name": "Compact",
35
35
  "props": {
36
36
  "date": "2026-04-09T12:00:00.000Z",
37
37
  "compact": true
@@ -47,5 +47,31 @@
47
47
  }
48
48
  ],
49
49
  "conditionals": {},
50
- "hints": {}
50
+ "hints": {
51
+ "default": {
52
+ "presetName": "Default",
53
+ "message": "Default renders the weekday with the month-day variant.",
54
+ "type": "info"
55
+ },
56
+ "day_only": {
57
+ "presetName": "Day only",
58
+ "message": "Day only switches variant to show just the weekday.",
59
+ "type": "info"
60
+ },
61
+ "expanded": {
62
+ "presetName": "Expanded",
63
+ "message": "Expanded shows the fuller stacked date treatment.",
64
+ "type": "info"
65
+ },
66
+ "compact": {
67
+ "presetName": "Compact",
68
+ "message": "Compact tightens the month-day layout for denser views.",
69
+ "type": "info"
70
+ },
71
+ "centered": {
72
+ "presetName": "Centered",
73
+ "message": "Centered changes alignment while keeping the month-day variant.",
74
+ "type": "info"
75
+ }
76
+ }
51
77
  }