playbook_ui_docs 16.7.0 → 16.8.0.pre.alpha.PLAY2945selectformblankselection16424

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.json +178 -5840
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_playground.overrides.json +4 -29
  4. data/app/pb_kits/playbook/pb_date/docs/_playground.json +13 -17
  5. data/app/pb_kits/playbook/pb_date/docs/_playground.overrides.json +13 -16
  6. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_inline.html.erb +0 -2
  7. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_inline.jsx +0 -2
  8. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.json +136 -42
  9. data/app/pb_kits/playbook/pb_date_picker/docs/_playground.overrides.json +113 -45
  10. data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.json +48 -6
  11. data/app/pb_kits/playbook/pb_date_range_inline/docs/_playground.overrides.json +57 -0
  12. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.json +28 -5
  13. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_playground.overrides.json +38 -0
  14. data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.json +1 -1
  15. data/app/pb_kits/playbook/pb_date_stacked/docs/_playground.overrides.json +1 -1
  16. data/app/pb_kits/playbook/pb_date_time/docs/_playground.json +16 -3
  17. data/app/pb_kits/playbook/pb_date_time/docs/_playground.overrides.json +16 -3
  18. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.json +11 -15
  19. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_playground.overrides.json +11 -15
  20. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.json +4 -4
  21. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_playground.overrides.json +4 -4
  22. data/app/pb_kits/playbook/pb_detail/docs/_playground.json +12 -18
  23. data/app/pb_kits/playbook/pb_detail/docs/_playground.overrides.json +13 -12
  24. data/app/pb_kits/playbook/pb_dialog/docs/_playground.json +108 -42
  25. data/app/pb_kits/playbook/pb_dialog/docs/_playground.overrides.json +88 -40
  26. data/app/pb_kits/playbook/pb_distribution_bar/docs/_playground.json +65 -7
  27. data/app/pb_kits/playbook/pb_distribution_bar/docs/_playground.overrides.json +45 -0
  28. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.json +318 -21
  29. data/app/pb_kits/playbook/pb_dropdown/docs/_playground.overrides.json +192 -19
  30. data/app/pb_kits/playbook/pb_empty_state/docs/_playground.json +77 -12
  31. data/app/pb_kits/playbook/pb_empty_state/docs/_playground.overrides.json +79 -0
  32. data/app/pb_kits/playbook/pb_file_upload/docs/_playground.json +98 -13
  33. data/app/pb_kits/playbook/pb_file_upload/docs/_playground.overrides.json +99 -0
  34. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_select_examples.html.erb +31 -0
  35. data/app/pb_kits/playbook/pb_form/docs/example.yml +1 -0
  36. data/app/pb_kits/playbook/pb_link/docs/_playground.json +81 -40
  37. data/app/pb_kits/playbook/pb_link/docs/_playground.overrides.json +88 -30
  38. data/app/pb_kits/playbook/pb_phone_number_input/docs/_playground.json +4 -2
  39. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.html.erb +1 -0
  40. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_default.md +12 -0
  41. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.html.erb +9 -0
  42. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_rails_simple.md +8 -0
  43. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +2 -0
  44. data/app/pb_kits/playbook/pb_title/docs/_playground.json +72 -23
  45. data/app/pb_kits/playbook/pb_title/docs/_playground.overrides.json +80 -16
  46. metadata +12 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "groups": [
3
3
  {
4
- "name": "Content",
4
+ "name": "Date Config",
5
5
  "props": ["date"]
6
6
  },
7
7
  {
@@ -13,20 +13,20 @@
13
13
  {
14
14
  "name": "Default",
15
15
  "props": {
16
- "date": "2026-04-09T12:00:00.000Z"
16
+ "date": "2026-04-09"
17
17
  }
18
18
  },
19
19
  {
20
20
  "name": "Centered",
21
21
  "props": {
22
- "date": "2026-04-09T12:00:00.000Z",
22
+ "date": "2026-04-09",
23
23
  "align": "center"
24
24
  }
25
25
  },
26
26
  {
27
27
  "name": "Right aligned",
28
28
  "props": {
29
- "date": "2026-12-25T12:00:00.000Z",
29
+ "date": "2026-12-25",
30
30
  "align": "right"
31
31
  }
32
32
  }
@@ -31,23 +31,19 @@
31
31
  ],
32
32
  "presets": [
33
33
  {
34
- "name": "Metadata",
35
- "props": {
36
- "color": "light",
37
- "bold": false
38
- },
39
- "children": "Updated Apr 9, 2026"
34
+ "name": "Default",
35
+ "props": {},
36
+ "children": "I am a detail kit"
40
37
  },
41
38
  {
42
39
  "name": "Emphasis",
43
40
  "props": {
44
- "color": "default",
45
41
  "bold": true
46
42
  },
47
43
  "children": "Order #48291 · Processing"
48
44
  },
49
45
  {
50
- "name": "Link",
46
+ "name": "Link color",
51
47
  "props": {
52
48
  "color": "link"
53
49
  },
@@ -59,17 +55,15 @@
59
55
  "color": "error",
60
56
  "bold": true
61
57
  },
62
- "children": "Payment failed — card expired"
63
- },
64
- {
65
- "name": "Inline label",
66
- "props": {
67
- "tag": "span",
68
- "color": "lighter"
69
- },
70
- "children": "Optional"
58
+ "children": "Payment failed"
71
59
  }
72
60
  ],
73
61
  "conditionals": {},
74
- "hints": {}
62
+ "hints": {
63
+ "link_color": {
64
+ "presetName": "Link color",
65
+ "message": "Use the color prop to change the color of the detail kit",
66
+ "type": "info"
67
+ }
68
+ }
75
69
  }
@@ -14,31 +14,32 @@
14
14
  ],
15
15
  "presets": [
16
16
  {
17
- "name": "Metadata",
18
- "props": { "color": "light", "bold": false },
19
- "children": "Updated Apr 9, 2026"
17
+ "name": "Default",
18
+ "props": { },
19
+ "children": "I am a detail kit"
20
20
  },
21
21
  {
22
22
  "name": "Emphasis",
23
- "props": { "color": "default", "bold": true },
23
+ "props": { "bold": true },
24
24
  "children": "Order #48291 · Processing"
25
25
  },
26
26
  {
27
- "name": "Link",
27
+ "name": "Link color",
28
28
  "props": { "color": "link" },
29
29
  "children": "View documentation"
30
30
  },
31
31
  {
32
32
  "name": "Error status",
33
33
  "props": { "color": "error", "bold": true },
34
- "children": "Payment failed — card expired"
35
- },
36
- {
37
- "name": "Inline label",
38
- "props": { "tag": "span", "color": "lighter" },
39
- "children": "Optional"
34
+ "children": "Payment failed"
40
35
  }
41
36
  ],
42
37
  "conditionals": {},
43
- "hints": {}
38
+ "hints": {
39
+ "link_color": {
40
+ "presetName": "Link color",
41
+ "message": "Use the color prop to change the color of the detail kit",
42
+ "type": "info"
43
+ }
44
+ }
44
45
  }
@@ -7,7 +7,9 @@
7
7
  "placement": "center",
8
8
  "shouldCloseOnOverlayClick": true,
9
9
  "size": "md",
10
- "status": ""
10
+ "status": "",
11
+ "title": "Header Title is the Title Prop",
12
+ "text": "Hello Body Text, Nice to meet ya."
11
13
  },
12
14
  "children": {
13
15
  "editable": true,
@@ -23,22 +25,21 @@
23
25
  "title",
24
26
  "text",
25
27
  "cancelButton",
26
- "confirmButton"
28
+ "confirmButton",
29
+ "onCancel",
30
+ "onClose",
31
+ "onConfirm",
32
+ "opened",
33
+ "onChange"
27
34
  ]
28
35
  },
29
36
  {
30
37
  "name": "Behavior",
31
38
  "props": [
32
- "opened",
33
39
  "placement",
34
40
  "shouldCloseOnOverlayClick",
35
41
  "closeable",
36
- "loading",
37
- "trigger",
38
- "onClose",
39
- "onCancel",
40
- "onConfirm",
41
- "onChange"
42
+ "loading"
42
43
  ]
43
44
  },
44
45
  {
@@ -46,69 +47,90 @@
46
47
  "props": [
47
48
  "size",
48
49
  "status",
49
- "fullHeight",
50
- "portalClassName"
50
+ "fullHeight"
51
51
  ]
52
52
  }
53
53
  ],
54
54
  "presets": [
55
55
  {
56
- "name": "Small",
56
+ "name": "Default",
57
57
  "props": {
58
- "size": "sm",
59
- "opened": true,
60
- "title": "Small dialog",
61
- "text": "Narrow width for short confirmations and alerts."
58
+ "size": "md",
59
+ "title": "Header Title is the Title Prop",
60
+ "text": "Hello Body Text, Nice to meet ya.",
61
+ "cancelButton": "Cancel Button",
62
+ "confirmButton": "Okay"
62
63
  }
63
64
  },
64
65
  {
65
- "name": "Medium",
66
+ "name": "Small",
66
67
  "props": {
67
- "size": "md",
68
- "opened": true,
69
- "title": "Medium dialog",
70
- "text": "Default size for most forms and standard content."
68
+ "size": "sm",
69
+ "title": "Small dialog",
70
+ "text": "Narrow width for short confirmations and alerts."
71
71
  }
72
72
  },
73
73
  {
74
74
  "name": "Large",
75
75
  "props": {
76
76
  "size": "lg",
77
- "opened": true,
78
77
  "title": "Large dialog",
79
78
  "text": "Wider layout for dense content or two-column layouts."
80
79
  }
81
80
  },
82
81
  {
83
- "name": "Extra large",
82
+ "name": "Status Alert",
84
83
  "props": {
85
- "size": "xl",
86
- "opened": true,
87
- "title": "Extra large dialog",
88
- "text": "Maximum width before full-screen patterns."
84
+ "size": "status_size",
85
+ "status": "success",
86
+ "title": "Success",
87
+ "text": "Compact status layout for confirmations and feedback."
89
88
  }
90
89
  },
91
90
  {
92
- "name": "Content width",
91
+ "name": "Compound components",
92
+ "structureMode": "subcomponents",
93
93
  "props": {
94
- "size": "content",
95
- "opened": true,
96
- "title": "Content-sized dialog",
97
- "text": "Width follows the content instead of fixed breakpoints."
98
- }
94
+ "size": "sm"
95
+ },
96
+ "children": "Hello Body Text, Nice to meet ya."
99
97
  },
100
98
  {
101
- "name": "Status size",
99
+ "name": "Full height compound",
100
+ "structureMode": "subcomponents",
102
101
  "props": {
103
- "size": "status_size",
104
- "opened": true,
105
- "status": "success",
106
- "title": "Success",
107
- "text": "Compact status layout for confirmations and feedback."
108
- }
102
+ "fullHeight": true,
103
+ "size": "lg"
104
+ },
105
+ "children": "Custom dialog content goes here when you need more vertical space."
109
106
  }
110
107
  ],
111
- "conditionals": {},
108
+ "conditionals": {
109
+ "title": {
110
+ "structureMode": "simple"
111
+ },
112
+ "text": {
113
+ "structureMode": "simple"
114
+ },
115
+ "cancelButton": {
116
+ "structureMode": "simple"
117
+ },
118
+ "confirmButton": {
119
+ "structureMode": "simple"
120
+ },
121
+ "onCancel": {
122
+ "structureMode": "simple"
123
+ },
124
+ "onClose": {
125
+ "structureMode": "simple"
126
+ },
127
+ "onConfirm": {
128
+ "structureMode": "simple"
129
+ },
130
+ "opened": {
131
+ "structureMode": "simple"
132
+ }
133
+ },
112
134
  "hints": {
113
135
  "status_dialog": {
114
136
  "when": {
@@ -116,6 +138,50 @@
116
138
  },
117
139
  "message": "Status dialogs show an icon, title, and body copy in a centered layout.",
118
140
  "type": "info"
141
+ },
142
+ "compound_components_info": {
143
+ "presetName": "Compound components",
144
+ "message": "Use Compound Components when you need custom header, body, or footer content instead of the simple title/text/button props API.",
145
+ "type": "info"
146
+ },
147
+ "full_height_info": {
148
+ "presetName": "Full height compound",
149
+ "message": "fullHeight is most useful with the compound structure when the dialog contains richer or scrollable content.",
150
+ "type": "info"
151
+ }
152
+ },
153
+ "structureModes": {
154
+ "default": "simple",
155
+ "modes": {
156
+ "simple": {
157
+ "label": "Simple",
158
+ "template": "<Dialog opened={dialogOpen} onCancel={closeDialog} onClose={closeDialog} onConfirm={closeDialog}{{props}} />",
159
+ "children": "",
160
+ "props": {
161
+ "size": "md",
162
+ "title": "Header Title is the Title Prop",
163
+ "text": "Hello Body Text, Nice to meet ya.",
164
+ "cancelButton": "Cancel Button",
165
+ "confirmButton": "Okay"
166
+ },
167
+ "imports": [
168
+ "Button"
169
+ ],
170
+ "wrapper": "const DialogPlaygroundExample = () => {\n const [dialogOpen, setDialogOpen] = useState(false)\n const openDialog = () => setDialogOpen(true)\n const closeDialog = () => setDialogOpen(false)\n\n return (\n <>\n <Button marginBottom=\"sm\" onClick={openDialog}>\n Open Dialog\n </Button>\n {{component}}\n </>\n )\n}\n\n<DialogPlaygroundExample />"
171
+ },
172
+ "subcomponents": {
173
+ "label": "Compound Components",
174
+ "template": "<Dialog opened={dialogOpen} onClose={closeDialog}{{props}}>\n <Dialog.Header>Header Title inside Dialog.Header</Dialog.Header>\n <Dialog.Body>{{children}}</Dialog.Body>\n <Dialog.Footer>\n <Button onClick={closeDialog}>Okay</Button>\n <Button onClick={closeDialog} variant=\"link\">Cancel Button</Button>\n </Dialog.Footer>\n</Dialog>",
175
+ "children": "Hello Body Text, Nice to meet ya.",
176
+ "imports": [
177
+ "Button"
178
+ ],
179
+ "wrapper": "const DialogPlaygroundExample = () => {\n const [dialogOpen, setDialogOpen] = useState(false)\n const openDialog = () => setDialogOpen(true)\n const closeDialog = () => setDialogOpen(false)\n\n return (\n <>\n <Button marginBottom=\"sm\" onClick={openDialog}>\n Open Dialog\n </Button>\n {{component}}\n </>\n )\n}\n\n<DialogPlaygroundExample />"
180
+ }
119
181
  }
120
- }
182
+ },
183
+ "hiddenProps": [
184
+ "trigger",
185
+ "portalClassName"
186
+ ]
121
187
  }
@@ -1,95 +1,143 @@
1
1
  {
2
+ "structureModes": {
3
+ "default": "simple",
4
+ "modes": {
5
+ "simple": {
6
+ "label": "Simple",
7
+ "template": "<Dialog opened={dialogOpen} onCancel={closeDialog} onClose={closeDialog} onConfirm={closeDialog}{{props}} />",
8
+ "children": "",
9
+ "props": {
10
+ "size": "md",
11
+ "title": "Header Title is the Title Prop",
12
+ "text": "Hello Body Text, Nice to meet ya.",
13
+ "cancelButton": "Cancel Button",
14
+ "confirmButton": "Okay"
15
+ },
16
+ "imports": ["Button"],
17
+ "wrapper": "const DialogPlaygroundExample = () => {\n const [dialogOpen, setDialogOpen] = useState(false)\n const openDialog = () => setDialogOpen(true)\n const closeDialog = () => setDialogOpen(false)\n\n return (\n <>\n <Button marginBottom=\"sm\" onClick={openDialog}>\n Open Dialog\n </Button>\n {{component}}\n </>\n )\n}\n\n<DialogPlaygroundExample />"
18
+ },
19
+ "subcomponents": {
20
+ "label": "Compound Components",
21
+ "template": "<Dialog opened={dialogOpen} onClose={closeDialog}{{props}}>\n <Dialog.Header>Header Title inside Dialog.Header</Dialog.Header>\n <Dialog.Body>{{children}}</Dialog.Body>\n <Dialog.Footer>\n <Button onClick={closeDialog}>Okay</Button>\n <Button onClick={closeDialog} variant=\"link\">Cancel Button</Button>\n </Dialog.Footer>\n</Dialog>",
22
+ "children": "Hello Body Text, Nice to meet ya.",
23
+ "imports": ["Button"],
24
+ "wrapper": "const DialogPlaygroundExample = () => {\n const [dialogOpen, setDialogOpen] = useState(false)\n const openDialog = () => setDialogOpen(true)\n const closeDialog = () => setDialogOpen(false)\n\n return (\n <>\n <Button marginBottom=\"sm\" onClick={openDialog}>\n Open Dialog\n </Button>\n {{component}}\n </>\n )\n}\n\n<DialogPlaygroundExample />"
25
+ }
26
+ }
27
+ },
2
28
  "children": {
3
29
  "default": "Custom dialog content goes here when you are not using the title and text props."
4
30
  },
31
+ "hiddenProps": [
32
+ "trigger",
33
+ "portalClassName"
34
+ ],
35
+ "defaults": {
36
+ "closeable": true,
37
+ "placement": "center",
38
+ "shouldCloseOnOverlayClick": true,
39
+ "size": "md",
40
+ "title": "Header Title is the Title Prop",
41
+ "text": "Hello Body Text, Nice to meet ya."
42
+ },
5
43
  "groups": [
6
44
  {
7
45
  "name": "Content",
8
- "props": ["title", "text", "cancelButton", "confirmButton"]
46
+ "props": ["title", "text", "cancelButton", "confirmButton", "onCancel", "onClose", "onConfirm", "opened", "onChange"]
9
47
  },
10
48
  {
11
49
  "name": "Behavior",
12
50
  "props": [
13
- "opened",
14
51
  "placement",
15
52
  "shouldCloseOnOverlayClick",
16
53
  "closeable",
17
- "loading",
18
- "trigger",
19
- "onClose",
20
- "onCancel",
21
- "onConfirm",
22
- "onChange"
54
+ "loading"
23
55
  ]
24
56
  },
25
57
  {
26
58
  "name": "Appearance",
27
- "props": ["size", "status", "fullHeight", "portalClassName"]
59
+ "props": ["size", "status", "fullHeight"]
28
60
  }
29
61
  ],
30
62
  "presets": [
31
63
  {
32
- "name": "Small",
64
+ "name": "Default",
33
65
  "props": {
34
- "size": "sm",
35
- "opened": true,
36
- "title": "Small dialog",
37
- "text": "Narrow width for short confirmations and alerts."
66
+ "size": "md",
67
+ "title": "Header Title is the Title Prop",
68
+ "text": "Hello Body Text, Nice to meet ya.",
69
+ "cancelButton": "Cancel Button",
70
+ "confirmButton": "Okay"
38
71
  }
39
72
  },
40
73
  {
41
- "name": "Medium",
74
+ "name": "Small",
42
75
  "props": {
43
- "size": "md",
44
- "opened": true,
45
- "title": "Medium dialog",
46
- "text": "Default size for most forms and standard content."
76
+ "size": "sm",
77
+ "title": "Small dialog",
78
+ "text": "Narrow width for short confirmations and alerts."
47
79
  }
48
80
  },
49
81
  {
50
82
  "name": "Large",
51
83
  "props": {
52
84
  "size": "lg",
53
- "opened": true,
54
85
  "title": "Large dialog",
55
86
  "text": "Wider layout for dense content or two-column layouts."
56
87
  }
57
88
  },
58
- {
59
- "name": "Extra large",
89
+ {
90
+ "name": "Status Alert",
60
91
  "props": {
61
- "size": "xl",
62
- "opened": true,
63
- "title": "Extra large dialog",
64
- "text": "Maximum width before full-screen patterns."
92
+ "size": "status_size",
93
+ "status": "success",
94
+ "title": "Success",
95
+ "text": "Compact status layout for confirmations and feedback."
65
96
  }
66
97
  },
67
98
  {
68
- "name": "Content width",
99
+ "name": "Compound components",
100
+ "structureMode": "subcomponents",
69
101
  "props": {
70
- "size": "content",
71
- "opened": true,
72
- "title": "Content-sized dialog",
73
- "text": "Width follows the content instead of fixed breakpoints."
74
- }
102
+ "size": "sm"
103
+ },
104
+ "children": "Hello Body Text, Nice to meet ya."
75
105
  },
76
106
  {
77
- "name": "Status size",
107
+ "name": "Full height compound",
108
+ "structureMode": "subcomponents",
78
109
  "props": {
79
- "size": "status_size",
80
- "opened": true,
81
- "status": "success",
82
- "title": "Success",
83
- "text": "Compact status layout for confirmations and feedback."
84
- }
110
+ "fullHeight": true,
111
+ "size": "lg"
112
+ },
113
+ "children": "Custom dialog content goes here when you need more vertical space."
85
114
  }
86
115
  ],
87
- "conditionals": {},
116
+ "conditionals": {
117
+ "title": { "structureMode": "simple" },
118
+ "text": { "structureMode": "simple" },
119
+ "cancelButton": { "structureMode": "simple" },
120
+ "confirmButton": { "structureMode": "simple" },
121
+ "onCancel": { "structureMode": "simple" },
122
+ "onClose": { "structureMode": "simple" },
123
+ "onConfirm": { "structureMode": "simple" },
124
+ "opened": { "structureMode": "simple" }
125
+ },
88
126
  "hints": {
89
127
  "status_dialog": {
90
128
  "when": { "status": "success" },
91
129
  "message": "Status dialogs show an icon, title, and body copy in a centered layout.",
92
130
  "type": "info"
131
+ },
132
+ "compound_components_info": {
133
+ "presetName": "Compound components",
134
+ "message": "Use Compound Components when you need custom header, body, or footer content instead of the simple title/text/button props API.",
135
+ "type": "info"
136
+ },
137
+ "full_height_info": {
138
+ "presetName": "Full height compound",
139
+ "message": "fullHeight is most useful with the compound structure when the dialog contains richer or scrollable content.",
140
+ "type": "info"
93
141
  }
94
142
  }
95
143
  }
@@ -2,24 +2,82 @@
2
2
  "template": "<DistributionBar{{props}} />",
3
3
  "propTargets": {},
4
4
  "defaults": {
5
- "size": "lg"
5
+ "size": "lg",
6
+ "colors": [
7
+ "data_7",
8
+ "data_1",
9
+ "neutral"
10
+ ]
6
11
  },
7
12
  "groups": [
8
13
  {
9
- "name": "Props",
14
+ "name": "Data",
10
15
  "props": [
11
- "colors",
12
- "size",
13
- "widths"
16
+ "widths",
17
+ "colors"
18
+ ]
19
+ },
20
+ {
21
+ "name": "Appearance",
22
+ "props": [
23
+ "size"
14
24
  ]
15
25
  }
16
26
  ],
17
27
  "presets": [
18
28
  {
19
29
  "name": "Default",
20
- "props": {}
30
+ "props": {
31
+ "widths": [
32
+ 1,
33
+ 2,
34
+ 3,
35
+ 4,
36
+ 5,
37
+ 3,
38
+ 3,
39
+ 7
40
+ ]
41
+ }
42
+ },
43
+ {
44
+ "name": "Small",
45
+ "props": {
46
+ "widths": [
47
+ 1,
48
+ 2,
49
+ 3,
50
+ 4,
51
+ 5,
52
+ 3,
53
+ 3,
54
+ 7
55
+ ],
56
+ "size": "sm"
57
+ }
58
+ },
59
+ {
60
+ "name": "Custom colors",
61
+ "props": {
62
+ "colors": [
63
+ "data_7",
64
+ "data_1",
65
+ "neutral"
66
+ ],
67
+ "widths": [
68
+ 4,
69
+ 5,
70
+ 3
71
+ ]
72
+ }
21
73
  }
22
74
  ],
23
75
  "conditionals": {},
24
- "hints": {}
76
+ "hints": {
77
+ "custom_colors": {
78
+ "presetName": "Custom colors",
79
+ "message": "Use the colors prop to change the colors of the distribution bar. Currently only the data and status colors will work for DistributionBar.",
80
+ "type": "info"
81
+ }
82
+ }
25
83
  }
@@ -0,0 +1,45 @@
1
+ {
2
+ "defaults": {
3
+ "colors": ["data_7", "data_1", "neutral"]
4
+ },
5
+ "groups": [
6
+ {
7
+ "name": "Data",
8
+ "props": ["widths", "colors"]
9
+ },
10
+ {
11
+ "name": "Appearance",
12
+ "props": ["size"]
13
+ }
14
+ ],
15
+ "presets": [
16
+ {
17
+ "name": "Default",
18
+ "props": {
19
+ "widths": [1, 2, 3, 4, 5, 3, 3, 7]
20
+ }
21
+ },
22
+ {
23
+ "name": "Small",
24
+ "props": {
25
+ "widths": [1, 2, 3, 4, 5, 3, 3, 7],
26
+ "size": "sm"
27
+ }
28
+ },
29
+ {
30
+ "name": "Custom colors",
31
+ "props": {
32
+ "colors": ["data_7", "data_1", "neutral"],
33
+ "widths": [4, 5, 3]
34
+ }
35
+ }
36
+ ],
37
+ "conditionals": {},
38
+ "hints": {
39
+ "custom_colors": {
40
+ "presetName": "Custom colors",
41
+ "message": "Use the colors prop to change the colors of the distribution bar. Currently only the data and status colors will work for DistributionBar.",
42
+ "type": "info"
43
+ }
44
+ }
45
+ }