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 @@
1
+ <%= pb_rails("rich_text_editor", props: { input_options: { id: 'hidden_input_id', name: "hidden_input_name" }, value: "Add your text here. You can format your text, add links, quotes, and bullets." }) %>
@@ -0,0 +1,12 @@
1
+ The Rails rich text editor is a TipTap surface with no React. The UI (toolbar, block-style menu, formatting actions) is rendered with Playbook Rails kits (`pb_rails`). The editor document is a vanilla TipTap `Editor` instance; HTML is synced to a hidden `<input>` so standard Rails forms can submit the value.
2
+
3
+ ### How TipTap is loaded (Rails)
4
+
5
+ - The kit’s module script (`rich_text_editor_rails.js`) uses `import()` with **full URLs** on [esm.sh](https://esm.sh) (e.g. `@tiptap/core@2.8.0`). esm.sh resolves dependencies server-side, so **no `<script type="importmap">`** is required—this avoids conflicts when the host page already has an import map (e.g. Vite in dev, or another app map) because Firefox only applies one native map.
6
+ - You do not need TipTap in your app’s npm dependencies or Gemfile for this kit; the browser loads modules from esm.sh when the page runs.
7
+ - Ensure **CSP** allows loading scripts from `https://esm.sh` (and esm.sh’s redirected module URLs) if you use a strict `script-src` / `connect-src`.
8
+
9
+ ### Relation to the React implementation
10
+
11
+ - Same core: both use TipTap v2 on top of ProseMirror; styling lives in Playbook SCSS (`_tiptap_styles.scss`) so the editor chrome lines up between platforms.
12
+ - Different shell: Rails uses ERB + Playbook Rails components + inline module script. React uses `RichTextEditor` / `_tiptap_editor.tsx` and TipTap wired through the bundled Playbook React package—see Advanced Default for that stack and when you need TipTap installed in your JavaScript bundle.
@@ -0,0 +1,9 @@
1
+ <%= pb_rails("rich_text_editor", props: {
2
+ simple: true,
3
+ label: "Notes",
4
+ input_options: {
5
+ id: "rails_rte_simple_demo",
6
+ name: "content",
7
+ },
8
+ value: "<p>Use <strong>Bold</strong> and <em>Italic</em> from the toolbar.</p>",
9
+ }) %>
@@ -0,0 +1,8 @@
1
+ ### Simple toolbar (`simple: true`)
2
+
3
+ Pass **`simple: true`** for a compact toolbar: **Bold**, **Italic**, **Undo**, and **Redo** (same history controls as the full toolbar—plain buttons, not popovers).
4
+
5
+ - No block-style dropdown (no “Paragraph” / headings / lists in the menu).
6
+ - No **`pb_popover`** on the toolbar—useful in **native `<dialog>`** modals, turbo-loaded panels, or other tight layouts where the full block menu is awkward to position.
7
+
8
+ The underlying TipTap document still accepts the same HTML as the default Rails editor; `simple` only changes which **toolbar controls** are shown.
@@ -1,6 +1,8 @@
1
1
  examples:
2
2
 
3
3
  rails:
4
+ - rich_text_editor_rails_default: "Rails (TipTap)"
5
+ - rich_text_editor_rails_simple: "Rails (TipTap — Simple toolbar)"
4
6
 
5
7
  react:
6
8
  - rich_text_editor_advanced_default: Advanced Default
@@ -0,0 +1,128 @@
1
+ {
2
+ "template": "<SectionSeparator{{props}}>{{children}}</SectionSeparator>",
3
+ "propTargets": {},
4
+ "defaults": {
5
+ "color": "default",
6
+ "lineStyle": "solid",
7
+ "orientation": "horizontal",
8
+ "variant": "card"
9
+ },
10
+ "groups": [
11
+ {
12
+ "name": "Orientation & variant",
13
+ "props": [
14
+ "orientation",
15
+ "variant"
16
+ ]
17
+ },
18
+ {
19
+ "name": "Line",
20
+ "props": [
21
+ "lineStyle",
22
+ "color"
23
+ ]
24
+ },
25
+ {
26
+ "name": "Label",
27
+ "props": [
28
+ "text"
29
+ ]
30
+ }
31
+ ],
32
+ "presets": [
33
+ {
34
+ "name": "Horizontal line",
35
+ "props": {
36
+ "orientation": "horizontal",
37
+ "lineStyle": "solid",
38
+ "color": "default",
39
+ "variant": "card"
40
+ }
41
+ },
42
+ {
43
+ "name": "Vertical rule",
44
+ "props": {
45
+ "orientation": "vertical",
46
+ "lineStyle": "solid",
47
+ "color": "default",
48
+ "variant": "card",
49
+ "height": "120px"
50
+ }
51
+ },
52
+ {
53
+ "name": "With label",
54
+ "props": {
55
+ "orientation": "horizontal",
56
+ "lineStyle": "solid",
57
+ "text": "Section",
58
+ "variant": "card"
59
+ },
60
+ "children": ""
61
+ },
62
+ {
63
+ "name": "Primary accent",
64
+ "props": {
65
+ "orientation": "horizontal",
66
+ "lineStyle": "solid",
67
+ "color": "primary",
68
+ "variant": "card"
69
+ }
70
+ },
71
+ {
72
+ "name": "Dashed",
73
+ "props": {
74
+ "orientation": "horizontal",
75
+ "lineStyle": "dashed",
76
+ "color": "default",
77
+ "variant": "card"
78
+ }
79
+ },
80
+ {
81
+ "name": "Dashed vertical",
82
+ "props": {
83
+ "orientation": "vertical",
84
+ "lineStyle": "dashed",
85
+ "color": "default",
86
+ "variant": "card",
87
+ "height": "120px"
88
+ }
89
+ },
90
+ {
91
+ "name": "On background",
92
+ "props": {
93
+ "orientation": "horizontal",
94
+ "lineStyle": "solid",
95
+ "variant": "background",
96
+ "color": "default"
97
+ }
98
+ },
99
+ {
100
+ "name": "Primary on background",
101
+ "props": {
102
+ "orientation": "horizontal",
103
+ "lineStyle": "solid",
104
+ "variant": "background",
105
+ "color": "primary",
106
+ "text": "Divider"
107
+ },
108
+ "children": ""
109
+ }
110
+ ],
111
+ "conditionals": {},
112
+ "hints": {
113
+ "vertical_height": {
114
+ "when": {
115
+ "orientation": "vertical"
116
+ },
117
+ "message": "Vertical separators often need a height (global prop) so the line is visible.",
118
+ "type": "info"
119
+ }
120
+ },
121
+ "children": {
122
+ "default": "",
123
+ "editable": true,
124
+ "hideWhenPropSet": [
125
+ "text"
126
+ ]
127
+ }
128
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "template": "<SectionSeparator{{props}}>{{children}}</SectionSeparator>",
3
+ "children": {
4
+ "default": "",
5
+ "editable": true,
6
+ "hideWhenPropSet": ["text"]
7
+ },
8
+ "groups": [
9
+ {
10
+ "name": "Orientation & variant",
11
+ "props": ["orientation", "variant"]
12
+ },
13
+ {
14
+ "name": "Line",
15
+ "props": ["lineStyle", "color"]
16
+ },
17
+ {
18
+ "name": "Label",
19
+ "props": ["text"]
20
+ }
21
+ ],
22
+ "presets": [
23
+ {
24
+ "name": "Horizontal line",
25
+ "props": {
26
+ "orientation": "horizontal",
27
+ "lineStyle": "solid",
28
+ "color": "default",
29
+ "variant": "card"
30
+ }
31
+ },
32
+ {
33
+ "name": "Vertical rule",
34
+ "props": {
35
+ "orientation": "vertical",
36
+ "lineStyle": "solid",
37
+ "color": "default",
38
+ "variant": "card",
39
+ "height": "120px"
40
+ }
41
+ },
42
+ {
43
+ "name": "With label",
44
+ "props": {
45
+ "orientation": "horizontal",
46
+ "lineStyle": "solid",
47
+ "text": "Section",
48
+ "variant": "card"
49
+ },
50
+ "children": ""
51
+ },
52
+ {
53
+ "name": "Primary accent",
54
+ "props": {
55
+ "orientation": "horizontal",
56
+ "lineStyle": "solid",
57
+ "color": "primary",
58
+ "variant": "card"
59
+ }
60
+ },
61
+ {
62
+ "name": "Dashed",
63
+ "props": {
64
+ "orientation": "horizontal",
65
+ "lineStyle": "dashed",
66
+ "color": "default",
67
+ "variant": "card"
68
+ }
69
+ },
70
+ {
71
+ "name": "Dashed vertical",
72
+ "props": {
73
+ "orientation": "vertical",
74
+ "lineStyle": "dashed",
75
+ "color": "default",
76
+ "variant": "card",
77
+ "height": "120px"
78
+ }
79
+ },
80
+ {
81
+ "name": "On background",
82
+ "props": {
83
+ "orientation": "horizontal",
84
+ "lineStyle": "solid",
85
+ "variant": "background",
86
+ "color": "default"
87
+ }
88
+ },
89
+ {
90
+ "name": "Primary on background",
91
+ "props": {
92
+ "orientation": "horizontal",
93
+ "lineStyle": "solid",
94
+ "variant": "background",
95
+ "color": "primary",
96
+ "text": "Divider"
97
+ },
98
+ "children": ""
99
+ }
100
+ ],
101
+ "conditionals": {},
102
+ "hints": {
103
+ "vertical_height": {
104
+ "when": { "orientation": "vertical" },
105
+ "message": "Vertical separators often need a height (global prop) so the line is visible.",
106
+ "type": "info"
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,149 @@
1
+ {
2
+ "template": "<Select{{props}} />",
3
+ "propTargets": {},
4
+ "defaults": {
5
+ "compact": false,
6
+ "disabled": false,
7
+ "inline": false,
8
+ "multiple": false,
9
+ "required": false,
10
+ "requiredIndicator": false,
11
+ "showArrow": false
12
+ },
13
+ "groups": [
14
+ {
15
+ "name": "Content",
16
+ "props": [
17
+ "label",
18
+ "name",
19
+ "value",
20
+ "options",
21
+ "blankSelection",
22
+ "includeBlank"
23
+ ]
24
+ },
25
+ {
26
+ "name": "State",
27
+ "props": [
28
+ "disabled",
29
+ "error",
30
+ "required",
31
+ "requiredIndicator"
32
+ ]
33
+ },
34
+ {
35
+ "name": "Appearance",
36
+ "props": [
37
+ "inline",
38
+ "compact",
39
+ "showArrow",
40
+ "multiple"
41
+ ]
42
+ }
43
+ ],
44
+ "presets": [
45
+ {
46
+ "name": "Default",
47
+ "props": {
48
+ "label": "Country",
49
+ "name": "country",
50
+ "value": "us",
51
+ "options": [
52
+ {
53
+ "value": "us",
54
+ "text": "United States"
55
+ },
56
+ {
57
+ "value": "ca",
58
+ "text": "Canada"
59
+ },
60
+ {
61
+ "value": "uk",
62
+ "text": "United Kingdom"
63
+ },
64
+ {
65
+ "value": "au",
66
+ "text": "Australia"
67
+ }
68
+ ]
69
+ }
70
+ },
71
+ {
72
+ "name": "With Error",
73
+ "props": {
74
+ "label": "Department",
75
+ "name": "department",
76
+ "value": "",
77
+ "blankSelection": "Select a department",
78
+ "error": "Please choose a department.",
79
+ "options": [
80
+ {
81
+ "value": "eng",
82
+ "text": "Engineering"
83
+ },
84
+ {
85
+ "value": "design",
86
+ "text": "Design"
87
+ },
88
+ {
89
+ "value": "sales",
90
+ "text": "Sales"
91
+ }
92
+ ]
93
+ }
94
+ },
95
+ {
96
+ "name": "Disabled",
97
+ "props": {
98
+ "label": "Role",
99
+ "name": "role",
100
+ "value": "member",
101
+ "disabled": true,
102
+ "options": [
103
+ {
104
+ "value": "admin",
105
+ "text": "Admin"
106
+ },
107
+ {
108
+ "value": "member",
109
+ "text": "Member"
110
+ },
111
+ {
112
+ "value": "guest",
113
+ "text": "Guest"
114
+ }
115
+ ]
116
+ }
117
+ },
118
+ {
119
+ "name": "Required",
120
+ "props": {
121
+ "label": "Priority",
122
+ "name": "priority",
123
+ "value": "medium",
124
+ "required": true,
125
+ "requiredIndicator": true,
126
+ "options": [
127
+ {
128
+ "value": "low",
129
+ "text": "Low"
130
+ },
131
+ {
132
+ "value": "medium",
133
+ "text": "Medium"
134
+ },
135
+ {
136
+ "value": "high",
137
+ "text": "High"
138
+ }
139
+ ]
140
+ }
141
+ }
142
+ ],
143
+ "conditionals": {
144
+ "requiredIndicator": {
145
+ "requires": "label"
146
+ }
147
+ },
148
+ "hints": {}
149
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "groups": [
3
+ {
4
+ "name": "Content",
5
+ "props": ["label", "name", "value", "options", "blankSelection", "includeBlank"]
6
+ },
7
+ {
8
+ "name": "State",
9
+ "props": ["disabled", "error", "required", "requiredIndicator"]
10
+ },
11
+ {
12
+ "name": "Appearance",
13
+ "props": ["inline", "compact", "showArrow", "multiple"]
14
+ }
15
+ ],
16
+ "presets": [
17
+ {
18
+ "name": "Default",
19
+ "props": {
20
+ "label": "Country",
21
+ "name": "country",
22
+ "value": "us",
23
+ "options": [
24
+ { "value": "us", "text": "United States" },
25
+ { "value": "ca", "text": "Canada" },
26
+ { "value": "uk", "text": "United Kingdom" },
27
+ { "value": "au", "text": "Australia" }
28
+ ]
29
+ }
30
+ },
31
+ {
32
+ "name": "With Error",
33
+ "props": {
34
+ "label": "Department",
35
+ "name": "department",
36
+ "value": "",
37
+ "blankSelection": "Select a department",
38
+ "error": "Please choose a department.",
39
+ "options": [
40
+ { "value": "eng", "text": "Engineering" },
41
+ { "value": "design", "text": "Design" },
42
+ { "value": "sales", "text": "Sales" }
43
+ ]
44
+ }
45
+ },
46
+ {
47
+ "name": "Disabled",
48
+ "props": {
49
+ "label": "Role",
50
+ "name": "role",
51
+ "value": "member",
52
+ "disabled": true,
53
+ "options": [
54
+ { "value": "admin", "text": "Admin" },
55
+ { "value": "member", "text": "Member" },
56
+ { "value": "guest", "text": "Guest" }
57
+ ]
58
+ }
59
+ },
60
+ {
61
+ "name": "Required",
62
+ "props": {
63
+ "label": "Priority",
64
+ "name": "priority",
65
+ "value": "medium",
66
+ "required": true,
67
+ "requiredIndicator": true,
68
+ "options": [
69
+ { "value": "low", "text": "Low" },
70
+ { "value": "medium", "text": "Medium" },
71
+ { "value": "high", "text": "High" }
72
+ ]
73
+ }
74
+ }
75
+ ],
76
+ "conditionals": {
77
+ "requiredIndicator": { "requires": "label" }
78
+ },
79
+ "hints": {}
80
+ }
@@ -0,0 +1,145 @@
1
+ {
2
+ "template": "<SelectableCard{{props}} />",
3
+ "propTargets": {},
4
+ "defaults": {
5
+ "checked": false,
6
+ "disabled": false,
7
+ "error": false,
8
+ "icon": false,
9
+ "multi": true,
10
+ "variant": "default"
11
+ },
12
+ "groups": [
13
+ {
14
+ "name": "Content",
15
+ "props": [
16
+ "text",
17
+ "value",
18
+ "name",
19
+ "inputId"
20
+ ]
21
+ },
22
+ {
23
+ "name": "State",
24
+ "props": [
25
+ "checked",
26
+ "disabled",
27
+ "error",
28
+ "multi"
29
+ ]
30
+ },
31
+ {
32
+ "name": "Appearance",
33
+ "props": [
34
+ "variant",
35
+ "icon",
36
+ "customIcon"
37
+ ]
38
+ },
39
+ {
40
+ "name": "Events",
41
+ "props": [
42
+ "onChange"
43
+ ]
44
+ }
45
+ ],
46
+ "presets": [
47
+ {
48
+ "name": "Unselected",
49
+ "props": {
50
+ "checked": false,
51
+ "text": "Option label",
52
+ "name": "selectable_card_demo",
53
+ "value": "opt1",
54
+ "variant": "default",
55
+ "multi": true,
56
+ "onChange": "() => {}"
57
+ }
58
+ },
59
+ {
60
+ "name": "Selected",
61
+ "props": {
62
+ "checked": true,
63
+ "text": "Selected option",
64
+ "name": "selectable_card_demo",
65
+ "value": "opt1",
66
+ "variant": "default",
67
+ "multi": true,
68
+ "onChange": "() => {}"
69
+ }
70
+ },
71
+ {
72
+ "name": "Disabled",
73
+ "props": {
74
+ "checked": false,
75
+ "disabled": true,
76
+ "text": "Unavailable",
77
+ "name": "selectable_card_demo",
78
+ "value": "opt2",
79
+ "variant": "default",
80
+ "onChange": "() => {}"
81
+ }
82
+ },
83
+ {
84
+ "name": "With check icon",
85
+ "props": {
86
+ "checked": true,
87
+ "icon": true,
88
+ "text": "With icon",
89
+ "name": "selectable_card_demo",
90
+ "value": "opt3",
91
+ "variant": "default",
92
+ "onChange": "() => {}"
93
+ }
94
+ },
95
+ {
96
+ "name": "Radio (single)",
97
+ "props": {
98
+ "checked": false,
99
+ "multi": false,
100
+ "text": "Plan A",
101
+ "name": "plan",
102
+ "value": "a",
103
+ "variant": "default",
104
+ "onChange": "() => {}"
105
+ }
106
+ },
107
+ {
108
+ "name": "Display input variant",
109
+ "props": {
110
+ "checked": false,
111
+ "variant": "displayInput",
112
+ "text": "Display style",
113
+ "name": "selectable_card_demo",
114
+ "value": "disp1",
115
+ "onChange": "() => {}"
116
+ }
117
+ },
118
+ {
119
+ "name": "Error state",
120
+ "props": {
121
+ "checked": false,
122
+ "error": true,
123
+ "text": "Invalid choice",
124
+ "name": "selectable_card_demo",
125
+ "value": "err1",
126
+ "variant": "default",
127
+ "onChange": "() => {}"
128
+ }
129
+ }
130
+ ],
131
+ "conditionals": {
132
+ "customIcon": {
133
+ "requires": {
134
+ "icon": true
135
+ }
136
+ }
137
+ },
138
+ "hints": {
139
+ "onchange_note": {
140
+ "when": {},
141
+ "message": "onChange receives the input change event; wire it to your form state in real usage.",
142
+ "type": "info"
143
+ }
144
+ }
145
+ }