playbook_ui 15.3.0.pre.alpha.play249512047 → 15.3.0.pre.alpha.play259311731
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +0 -15
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +1 -4
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.md +2 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +1 -1
- data/app/pb_kits/playbook/pb_background/docs/_background_category.md +1 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_background.md +1 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_light.md +1 -1
- data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +11 -25
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -2
- data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md +1 -1
- data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.md +1 -1
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_rails.md +1 -1
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_react.md +1 -1
- data/app/pb_kits/playbook/pb_icon/docs/_icon_color.md +1 -1
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color.md +1 -1
- data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.html.erb +14 -7
- data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +15 -6
- data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.md +1 -1
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.md +1 -1
- data/app/pb_kits/playbook/pb_nav/docs/_nav_with_spacing_control.md +1 -1
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.md +1 -1
- data/app/pb_kits/playbook/pb_pill/docs/_description.md +1 -1
- data/app/pb_kits/playbook/pb_popover/_popover.tsx +34 -69
- data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_popover/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_popover/popover.test.js +0 -80
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_description.md +1 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_description.md +1 -1
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +0 -29
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_rails.md +1 -1
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_react.md +1 -1
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_sm.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_table/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.html.erb +2 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_options.md +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default_options.html.erb +1 -67
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default_value.jsx +6 -68
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -2
- data/dist/chunks/{_line_graph-CqE0-dq5.js → _line_graph-CUts2R88.js} +1 -1
- data/dist/chunks/_typeahead--U_6fwUM.js +6 -0
- data/dist/chunks/{_weekday_stacked-BFB3mjtE.js → _weekday_stacked-GooEyiGT.js} +2 -2
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +2 -2
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +6 -12
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.jsx +0 -68
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to_react.md +0 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.html.erb +0 -63
- data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.jsx +0 -89
- data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_rails.md +0 -4
- data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_react.md +0 -3
- data/dist/chunks/_typeahead-3ZAbZUqU.js +0 -6
- /data/app/pb_kits/playbook/pb_popover/docs/{_popover_append_to_rails.md → _popover_append_to.md} +0 -0
|
@@ -159,62 +159,6 @@ const PopoverTestClicktoClose3 = () => {
|
|
|
159
159
|
)
|
|
160
160
|
};
|
|
161
161
|
|
|
162
|
-
//Test Popover with appendTo="parent"
|
|
163
|
-
const PopoverTestAppendToParent = () => {
|
|
164
|
-
const [mockState, setMockState] = React.useState(false)
|
|
165
|
-
const togglePopover = () => {
|
|
166
|
-
setMockState(!mockState)
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
const popoverReference = (
|
|
170
|
-
<Button onClick={togglePopover}
|
|
171
|
-
text="Click Me"
|
|
172
|
-
/>
|
|
173
|
-
);
|
|
174
|
-
return (
|
|
175
|
-
<div data-testid="parent-container"
|
|
176
|
-
id="parent-container"
|
|
177
|
-
>
|
|
178
|
-
<PbReactPopover
|
|
179
|
-
appendTo="parent"
|
|
180
|
-
offset
|
|
181
|
-
reference={popoverReference}
|
|
182
|
-
show={mockState}
|
|
183
|
-
>
|
|
184
|
-
{"Appended to parent"}
|
|
185
|
-
</PbReactPopover>
|
|
186
|
-
</div>
|
|
187
|
-
)
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
//Test Popover with appendTo CSS selector
|
|
191
|
-
const PopoverTestAppendToSelector = () => {
|
|
192
|
-
const [mockState, setMockState] = React.useState(false)
|
|
193
|
-
const togglePopover = () => {
|
|
194
|
-
setMockState(!mockState)
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
const popoverReference = (
|
|
198
|
-
<Button onClick={togglePopover}
|
|
199
|
-
text="Click Me"
|
|
200
|
-
/>
|
|
201
|
-
);
|
|
202
|
-
return (
|
|
203
|
-
<div data-testid="custom-container"
|
|
204
|
-
id="custom-container"
|
|
205
|
-
>
|
|
206
|
-
<PbReactPopover
|
|
207
|
-
appendTo="#custom-container"
|
|
208
|
-
offset
|
|
209
|
-
reference={popoverReference}
|
|
210
|
-
show={mockState}
|
|
211
|
-
>
|
|
212
|
-
{"Appended to custom container"}
|
|
213
|
-
</PbReactPopover>
|
|
214
|
-
</div>
|
|
215
|
-
)
|
|
216
|
-
};
|
|
217
|
-
|
|
218
162
|
|
|
219
163
|
test("renders Popover", () => {
|
|
220
164
|
render(<PopoverTest data={{ testid: testId}}/>)
|
|
@@ -273,28 +217,4 @@ const PopoverTestAppendToSelector = () => {
|
|
|
273
217
|
fireEvent.click(btn);
|
|
274
218
|
|
|
275
219
|
expect(kit).not.toBeInTheDocument;
|
|
276
|
-
});
|
|
277
|
-
|
|
278
|
-
test("renders Popover with appendTo parent", () => {
|
|
279
|
-
render(<PopoverTestAppendToParent data={{ testid: testId}}/>)
|
|
280
|
-
const btn = screen.getByText(/click me/i)
|
|
281
|
-
fireEvent.click(btn);
|
|
282
|
-
const kit = screen.getByText("Appended to parent");
|
|
283
|
-
expect(kit).toBeInTheDocument();
|
|
284
|
-
|
|
285
|
-
// Check that the popover is rendered inside the parent container
|
|
286
|
-
const parentContainer = screen.getByTestId("parent-container");
|
|
287
|
-
expect(parentContainer).toContainElement(kit);
|
|
288
|
-
});
|
|
289
|
-
|
|
290
|
-
test("renders Popover with appendTo CSS selector", () => {
|
|
291
|
-
render(<PopoverTestAppendToSelector data={{ testid: testId}}/>)
|
|
292
|
-
const btn = screen.getByText(/click me/i)
|
|
293
|
-
fireEvent.click(btn);
|
|
294
|
-
const kit = screen.getByText("Appended to custom container");
|
|
295
|
-
expect(kit).toBeInTheDocument();
|
|
296
|
-
|
|
297
|
-
// Check that the popover is rendered inside the custom container
|
|
298
|
-
const customContainer = screen.getByTestId("custom-container");
|
|
299
|
-
expect(customContainer).toContainElement(kit);
|
|
300
220
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
NOTE: All editors have a default max-width of "md". Use our [Max Width global prop](https://playbook.powerapp.cloud/
|
|
1
|
+
NOTE: All editors have a default max-width of "md". Use our [Max Width global prop](https://playbook.powerapp.cloud/visual_guidelines/max_width) to override this default, as necessary.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Section separator is a divider line that compartmentalizes content, typically used on cards or white backgrounds.
|
|
2
2
|
|
|
3
|
-
To ensure that the section separator is properly rendered, please be sure to use our global `width` prop to set width to 100%. [See here](https://playbook.powerapp.cloud/
|
|
3
|
+
To ensure that the section separator is properly rendered, please be sure to use our global `width` prop to set width to 100%. [See here](https://playbook.powerapp.cloud/visual_guidelines/width) for more information on the global width prop.
|
|
@@ -216,33 +216,4 @@ $pb_selectable_paddings: (
|
|
|
216
216
|
background: $error;
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
.pb_selectable_card_kit_disabled,
|
|
222
|
-
.pb_selectable_card_kit_checked_disabled {
|
|
223
|
-
>label {
|
|
224
|
-
cursor: not-allowed;
|
|
225
|
-
|
|
226
|
-
@media (hover:hover) {
|
|
227
|
-
&:hover {
|
|
228
|
-
box-shadow: none !important;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
.pb_selectable_card_kit_disabled>label {
|
|
235
|
-
border-color: $border_light !important;
|
|
236
|
-
|
|
237
|
-
.dark & {
|
|
238
|
-
border-color: $border_dark !important;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.pb_selectable_card_kit_checked_disabled>label {
|
|
243
|
-
border-color: $primary !important;
|
|
244
|
-
|
|
245
|
-
.dark & {
|
|
246
|
-
border-color: $primary_action_dark !important;
|
|
247
|
-
}
|
|
248
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
The `border_radius` prop accepts all of our [BorderRadius](https://playbook.powerapp.cloud/
|
|
1
|
+
The `border_radius` prop accepts all of our [BorderRadius](https://playbook.powerapp.cloud/visual_guidelines/border_radius) tokens, with `sm` as default.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
The `borderRadius` prop accepts all of our [BorderRadius](https://playbook.powerapp.cloud/
|
|
1
|
+
The `borderRadius` prop accepts all of our [BorderRadius](https://playbook.powerapp.cloud/visual_guidelines/border_radius) tokens, with `sm` as default.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Use the `stack` and `gap` props in conjunction to layer multiple Skeleton loading bars on top of each other.
|
|
2
2
|
|
|
3
|
-
`stack` accepts a number that correlates to the number of rows (1 is default), and `gap` accepts a portion of our [spacing props](https://playbook.powerapp.cloud/
|
|
3
|
+
`stack` accepts a number that correlates to the number of rows (1 is default), and `gap` accepts a portion of our [spacing props](https://playbook.powerapp.cloud/visual_guidelines/spacing) (`xxs` as default, `xs`, `sm`, `md`, `lg`, `xl`, `xxl`) to set the pixel distance between each row. `gap` will not do anything if there is no corresponding `stack` prop set.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
Side highlight can take product, status, and category colors. To view full list of colors, visit <a href="https://playbook.powerapp.cloud/
|
|
1
|
+
Side highlight can take product, status, and category colors. To view full list of colors, visit <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">token colors</a>.
|
|
2
2
|
|
|
3
3
|
Note: Only use category colors for categories. Do not mix it with product or status colors.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Use table size `"sm"` when data density is a priority. Smaller row height enables the user to view more data without the need for scrolling.
|
|
2
2
|
|
|
3
|
-
Table can leverage the max-width property. Learn more
|
|
3
|
+
Table can leverage the max-width property. Learn more in our <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">visual guidelines.</a>
|
|
@@ -31,7 +31,6 @@ examples:
|
|
|
31
31
|
- table_with_subcomponents_as_divs: Table with Sub Components (Divs)
|
|
32
32
|
- table_outer_padding: Outer Padding
|
|
33
33
|
- table_with_collapsible: Table with Collapsible
|
|
34
|
-
- table_with_dynamic_collapsible: Table with Dynamic Collapsible
|
|
35
34
|
- table_with_collapsible_with_custom_click: Table with Collapsible with Custom Click
|
|
36
35
|
- table_with_collapsible_with_custom_content_rails: Table with Collapsible with Custom Content
|
|
37
36
|
- table_with_collapsible_with_nested_rows_rails: Table with Collapsible with Nested Rows
|
|
@@ -72,7 +71,6 @@ examples:
|
|
|
72
71
|
- table_with_subcomponents_as_divs: Table with Sub Components (Divs)
|
|
73
72
|
- table_outer_padding: Outer Padding
|
|
74
73
|
- table_with_collapsible: Table with Collapsible
|
|
75
|
-
- table_with_dynamic_collapsible: Table with Dynamic Collapsible
|
|
76
74
|
- table_with_collapsible_with_custom_click: Table with Collapsible with Custom Click
|
|
77
75
|
- table_with_collapsible_with_custom_content: Table with Collapsible with Custom Content
|
|
78
76
|
- table_with_collapsible_with_nested_rows: Table with Collapsible with Nested Rows
|
|
@@ -29,7 +29,6 @@ export { default as TableStickyLeftColumns } from './_table_sticky_left_columns.
|
|
|
29
29
|
export { default as TableStickyRightColumns } from './_table_sticky_right_columns.jsx'
|
|
30
30
|
export { default as TableStickyColumns } from './_table_sticky_columns.jsx'
|
|
31
31
|
export { default as TableWithCollapsible } from './_table_with_collapsible.jsx'
|
|
32
|
-
export { default as TableWithDynamicCollapsible } from './_table_with_dynamic_collapsible.jsx'
|
|
33
32
|
export { default as TableWithCollapsibleWithCustomContent } from './_table_with_collapsible_with_custom_content.jsx'
|
|
34
33
|
export { default as TableWithCollapsibleWithNestedTable } from './_table_with_collapsible_with_nested_table.jsx'
|
|
35
34
|
export { default as TableWithCollapsibleWithNestedRows } from './_table_with_collapsible_with_nested_rows.jsx'
|
|
@@ -99,8 +99,8 @@ module Playbook
|
|
|
99
99
|
# Convert camelCase (ex. notAllowed) to kebab-case (ex. not-allowed)
|
|
100
100
|
cursor.to_s.gsub(/([a-z\d])([A-Z])/, '\1-\2').downcase
|
|
101
101
|
else
|
|
102
|
-
# Default to '
|
|
103
|
-
"
|
|
102
|
+
# Default to 'pointer'
|
|
103
|
+
"pointer"
|
|
104
104
|
end
|
|
105
105
|
end
|
|
106
106
|
|
|
@@ -52,13 +52,13 @@
|
|
|
52
52
|
}
|
|
53
53
|
]
|
|
54
54
|
%>
|
|
55
|
-
|
|
55
|
+
|
|
56
56
|
<%= pb_rails("typeahead", props: {
|
|
57
|
+
default_options:[{ label: "Pink", value: "#FFC0CB" }],
|
|
57
58
|
id: "typeahead-custom-options",
|
|
58
59
|
options: grouped_options,
|
|
59
60
|
label: "Colors",
|
|
60
61
|
name: :foo,
|
|
61
|
-
placeholder: "Select a Color...",
|
|
62
62
|
is_multi: false
|
|
63
63
|
})
|
|
64
64
|
%>
|
|
@@ -58,9 +58,9 @@ const groupedOptions = [
|
|
|
58
58
|
const TypeaheadCustomOptions = (props) => {
|
|
59
59
|
return (
|
|
60
60
|
<Typeahead
|
|
61
|
+
defaultValue={[{ label: "Pink", value: "#FFC0CB" }]}
|
|
61
62
|
label="Colors"
|
|
62
63
|
options={groupedOptions}
|
|
63
|
-
placeholder="Select a Color..."
|
|
64
64
|
{...props}
|
|
65
65
|
/>
|
|
66
66
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Grouped options can be
|
|
1
|
+
Grouped options can also be achieved with the Typeahead as seen here.
|
|
@@ -25,77 +25,11 @@
|
|
|
25
25
|
]
|
|
26
26
|
%>
|
|
27
27
|
|
|
28
|
-
<%
|
|
29
|
-
grouped_options = [
|
|
30
|
-
{
|
|
31
|
-
label: "Warm Colors",
|
|
32
|
-
options: [
|
|
33
|
-
{ label: "Red", value: "#FF0000" },
|
|
34
|
-
{ label: "Orange", value: "#FFA500" },
|
|
35
|
-
{ label: "Yellow", value: "#FFFF00" },
|
|
36
|
-
{ label: "Coral", value: "#FF7F50" },
|
|
37
|
-
{ label: "Gold", value: "#FFD700" }
|
|
38
|
-
]
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
label: "Cool Colors",
|
|
42
|
-
options: [
|
|
43
|
-
{ label: "Blue", value: "#0000FF" },
|
|
44
|
-
{ label: "Teal", value: "#008080" },
|
|
45
|
-
{ label: "Cyan", value: "#00FFFF" },
|
|
46
|
-
{ label: "Navy", value: "#000080" },
|
|
47
|
-
{ label: "Turquoise", value: "#40E0D0" }
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
label: "Neutrals",
|
|
52
|
-
options: [
|
|
53
|
-
{ label: "White", value: "#FFFFFF" },
|
|
54
|
-
{ label: "Black", value: "#000000" },
|
|
55
|
-
{ label: "Gray", value: "#808080" },
|
|
56
|
-
{ label: "Beige", value: "#F5F5DC" },
|
|
57
|
-
{ label: "Silver", value: "#C0C0C0" }
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
label: "Earth Tones",
|
|
62
|
-
options: [
|
|
63
|
-
{ label: "Brown", value: "#A52A2A" },
|
|
64
|
-
{ label: "Olive", value: "#808000" },
|
|
65
|
-
{ label: "Forest Green", value: "#228B22" },
|
|
66
|
-
{ label: "Tan", value: "#D2B48C" },
|
|
67
|
-
{ label: "Maroon", value: "#800000" }
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
label: "Fun Shades",
|
|
72
|
-
options: [
|
|
73
|
-
{ label: "Pink", value: "#FFC0CB" },
|
|
74
|
-
{ label: "Magenta", value: "#FF00FF" },
|
|
75
|
-
{ label: "Lime", value: "#00FF00" },
|
|
76
|
-
{ label: "Purple", value: "#800080" },
|
|
77
|
-
{ label: "Indigo", value: "#4B0082" }
|
|
78
|
-
]
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
%>
|
|
82
|
-
|
|
83
|
-
|
|
84
28
|
<%= pb_rails("typeahead", props: {
|
|
85
29
|
default_options: [{ label: 'Gray', value: '#808080' }],
|
|
86
30
|
id: "typeahead-default-value",
|
|
87
31
|
options: options,
|
|
88
|
-
label: "
|
|
89
|
-
name: :foo,
|
|
90
|
-
is_multi: false
|
|
91
|
-
})
|
|
92
|
-
%>
|
|
93
|
-
|
|
94
|
-
<%= pb_rails("typeahead", props: {
|
|
95
|
-
default_options:[{ label: "Pink", value: "#FFC0CB" }],
|
|
96
|
-
id: "typeahead-default-value-grouped-options",
|
|
97
|
-
options: grouped_options,
|
|
98
|
-
label: "Default Value with grouped options",
|
|
32
|
+
label: "Colors",
|
|
99
33
|
name: :foo,
|
|
100
34
|
is_multi: false
|
|
101
35
|
})
|
|
@@ -27,76 +27,14 @@ const options = [
|
|
|
27
27
|
{ label: 'Coral', value: '#FF7F50' }
|
|
28
28
|
]
|
|
29
29
|
|
|
30
|
-
const groupedOptions = [
|
|
31
|
-
{
|
|
32
|
-
label: "Warm Colors",
|
|
33
|
-
options: [
|
|
34
|
-
{ label: "Red", value: "#FF0000" },
|
|
35
|
-
{ label: "Orange", value: "#FFA500" },
|
|
36
|
-
{ label: "Yellow", value: "#FFFF00" },
|
|
37
|
-
{ label: "Coral", value: "#FF7F50" },
|
|
38
|
-
{ label: "Gold", value: "#FFD700" }
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
label: "Cool Colors",
|
|
43
|
-
options: [
|
|
44
|
-
{ label: "Blue", value: "#0000FF" },
|
|
45
|
-
{ label: "Teal", value: "#008080" },
|
|
46
|
-
{ label: "Cyan", value: "#00FFFF" },
|
|
47
|
-
{ label: "Navy", value: "#000080" },
|
|
48
|
-
{ label: "Turquoise", value: "#40E0D0" }
|
|
49
|
-
]
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
label: "Neutrals",
|
|
53
|
-
options: [
|
|
54
|
-
{ label: "White", value: "#FFFFFF" },
|
|
55
|
-
{ label: "Black", value: "#000000" },
|
|
56
|
-
{ label: "Gray", value: "#808080" },
|
|
57
|
-
{ label: "Beige", value: "#F5F5DC" },
|
|
58
|
-
{ label: "Silver", value: "#C0C0C0" }
|
|
59
|
-
]
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
label: "Earth Tones",
|
|
63
|
-
options: [
|
|
64
|
-
{ label: "Brown", value: "#A52A2A" },
|
|
65
|
-
{ label: "Olive", value: "#808000" },
|
|
66
|
-
{ label: "Forest Green", value: "#228B22" },
|
|
67
|
-
{ label: "Tan", value: "#D2B48C" },
|
|
68
|
-
{ label: "Maroon", value: "#800000" }
|
|
69
|
-
]
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
label: "Fun Shades",
|
|
73
|
-
options: [
|
|
74
|
-
{ label: "Pink", value: "#FFC0CB" },
|
|
75
|
-
{ label: "Magenta", value: "#FF00FF" },
|
|
76
|
-
{ label: "Lime", value: "#00FF00" },
|
|
77
|
-
{ label: "Purple", value: "#800080" },
|
|
78
|
-
{ label: "Indigo", value: "#4B0082" }
|
|
79
|
-
]
|
|
80
|
-
}
|
|
81
|
-
]
|
|
82
|
-
|
|
83
30
|
const TypeaheadDefaultValue = (props) => {
|
|
84
31
|
return (
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
/>
|
|
92
|
-
<br />
|
|
93
|
-
<Typeahead
|
|
94
|
-
defaultValue={{ label: "Pink", value: "#FFC0CB" }}
|
|
95
|
-
label="Default Value with grouped options"
|
|
96
|
-
options={groupedOptions}
|
|
97
|
-
{...props}
|
|
98
|
-
/>
|
|
99
|
-
</>
|
|
32
|
+
<Typeahead
|
|
33
|
+
defaultValue={options[10]}
|
|
34
|
+
label="Colors"
|
|
35
|
+
options={options}
|
|
36
|
+
{...props}
|
|
37
|
+
/>
|
|
100
38
|
)
|
|
101
39
|
}
|
|
102
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
For Form Pills with longer text, the `truncate` global prop can be used to truncate the label within each Form Pill. Hover over the truncated Form Pill and a Tooltip containing the text or tag section of the Form Pill will appear. See [here](https://playbook.powerapp.cloud/
|
|
1
|
+
For Form Pills with longer text, the `truncate` global prop can be used to truncate the label within each Form Pill. Hover over the truncated Form Pill and a Tooltip containing the text or tag section of the Form Pill will appear. See [here](https://playbook.powerapp.cloud/visual_guidelines/truncate) for more information on the truncate global prop.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
examples:
|
|
2
2
|
rails:
|
|
3
3
|
- typeahead_default: Default
|
|
4
|
-
- typeahead_custom_options: With Grouped Options
|
|
5
4
|
- typeahead_default_options: With Default Options
|
|
5
|
+
- typeahead_custom_options: With Grouped Options
|
|
6
6
|
- typeahead_with_context: With Context
|
|
7
7
|
- typeahead_with_pills: With Pills
|
|
8
8
|
- typeahead_without_pills: Without Pills (Single Select)
|
|
@@ -21,8 +21,8 @@ examples:
|
|
|
21
21
|
|
|
22
22
|
react:
|
|
23
23
|
- typeahead_default: Default
|
|
24
|
-
- typeahead_custom_options: With Grouped Options
|
|
25
24
|
- typeahead_default_value: With Default Value
|
|
25
|
+
- typeahead_custom_options: With Grouped Options
|
|
26
26
|
- typeahead_react_hook: React Hook
|
|
27
27
|
- typeahead_with_highlight: With Highlight
|
|
28
28
|
- typeahead_with_pills: With Pills
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx,Fragment,jsxs}from"react/jsx-runtime";import{useState,useEffect}from"react";import{f as buildAriaProps,g as buildDataProps,h as buildHtmlProps,H as HighchartsReact,i as Highcharts,j as classnames,k as globalProps,l as HighchartsMore,S as SolidGauge,m as buildCss}from"./_typeahead-3ZAbZUqU.js";import{c as colors,h as highchartsTheme,m as merge,a as highchartsDarkTheme,t as typography}from"./lib-CGxXTQ75.js";const mapColors=array=>{const regex=/(data)\-[1-8]/;const newArray=array.map((item=>regex.test(item)?`${colors[`data_${item[item.length-1]}`]}`:item));return newArray};const BarGraph=({aria:aria={},data:data={},align:align="center",axisTitle:axisTitle,dark:dark=false,chartData:chartData,className:className="pb_bar_graph",colors:colors2,htmlOptions:htmlOptions={},customOptions:customOptions={},axisFormat:axisFormat,id:id,pointStart:pointStart,stacking:stacking,subTitle:subTitle,type:type="column",title:title="Title",xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,legend:legend=false,toggleLegendClick:toggleLegendClick=true,height:height,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:[{labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat&&axisFormat[0]?axisFormat[0].format:""},min:yAxisMin,max:yAxisMax,opposite:false,title:{text:Array.isArray(axisTitle)?axisTitle.length>0?axisTitle[0].name:null:axisTitle},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]}],xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{stacking:stacking,pointStart:pointStart,borderWidth:stacking?0:"",events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(Array.isArray(axisTitle)&&axisTitle.length>1&&axisTitle[1].name){staticOptions.yAxis.push({labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat[1].format},min:yAxisMin,max:yAxisMax,opposite:true,title:{text:axisTitle[1].name},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]})}if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const alignBlockElement=event=>{const itemToMove=document.querySelector(`#wrapper-circle-chart-${event.target.renderTo.id} .pb-circle-chart-block`);const chartContainer=document.querySelector(`#${event.target.renderTo.id}`);if(itemToMove!==null&&chartContainer!==null){itemToMove.style.height=`${event.target.chartHeight}px`;itemToMove.style.width=`${event.target.chartWidth}px`;if(chartContainer.firstChild!==null){chartContainer.firstChild.before(itemToMove)}}};const CircleChart=({align:align="center",aria:aria={},rounded:rounded=false,borderColor:borderColor=(rounded?null:""),borderWidth:borderWidth=(rounded?20:null),chartData:chartData,children:children,className:className,colors:colors2=[],customOptions:customOptions={},dark:dark=false,data:data={},dataLabelHtml:dataLabelHtml="<div>{point.name}</div>",dataLabels:dataLabels=false,height:height,htmlOptions:htmlOptions={},id:id,innerSize:innerSize="md",legend:legend=false,maxPointSize:maxPointSize=null,minPointSize:minPointSize=null,startAngle:startAngle=null,style:style="pie",title:title,tooltipHtml:tooltipHtml,useHtml:useHtml=false,zMin:zMin=null,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{headerFormat:null,pointFormat:tooltipHtml?tooltipHtml:'<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',useHTML:useHtml}});const innerSizes={sm:"35%",md:"50%",lg:"85%",none:"0%"};const innerSizeFormat=size=>innerSizes[size];const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={title:{text:title},chart:{height:height,type:style,events:{render:event=>alignBlockElement(event),redraw:event=>alignBlockElement(event)}},legend:{align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},plotOptions:{pie:{colors:colors2.length>0?mapColors(colors2):highchartsTheme.colors,dataLabels:{enabled:dataLabels,connectorShape:"straight",connectorWidth:3,format:dataLabelHtml},showInLegend:legend}},series:[{minPointSize:minPointSize,maxPointSize:maxPointSize,innerSize:borderWidth==20?"100%":innerSizeFormat(innerSize),data:formattedChartData,zMin:zMin,startAngle:startAngle,borderWidth:borderWidth,borderColor:borderColor}],credits:false};setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(Fragment,{children:children?jsxs("div",{id:`wrapper-circle-chart-${id}`,children:[jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options}),jsx("div",{className:"pb-circle-chart-block",children:children})]}):jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})})};const Gauge=({aria:aria={},chartData:chartData,customOptions:customOptions={},dark:dark=false,data:data={},disableAnimation:disableAnimation=false,fullCircle:fullCircle=false,height:height=null,htmlOptions:htmlOptions={},id:id,max:max=100,min:min=0,prefix:prefix="",showLabels:showLabels=false,style:style="solidgauge",suffix:suffix="",title:title="",tooltipHtml:tooltipHtml='<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',colors:colors$1=[],minorTickInterval:minorTickInterval=null,circumference:circumference=(fullCircle?[0,360]:[-100,100]),...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);SolidGauge(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{pointFormat:tooltipHtml,followPointer:true}});const css=buildCss({pb_gauge_kit:true});const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={chart:{events:{load(){setTimeout(this.reflow.bind(this),0)}},type:style,height:height},title:{text:title},yAxis:{min:min,max:max,lineWidth:0,tickWidth:0,minorTickInterval:minorTickInterval,tickAmount:2,tickPositions:[min,max],labels:{y:26,enabled:showLabels}},credits:false,series:[{data:formattedChartData}],pane:{center:["50%","50%"],size:"90%",startAngle:circumference[0],endAngle:circumference[1],background:{borderWidth:20,innerRadius:"90%",outerRadius:"90%",shape:"arc",className:"gauge-pane"}},colors:colors$1!==void 0&&colors$1.length>0?mapColors(colors$1):highchartsTheme.colors,plotOptions:{series:{animation:!disableAnimation},solidgauge:{borderColor:colors$1!==void 0&&colors$1.length===1?mapColors(colors$1).join():highchartsTheme.colors[0],borderWidth:20,radius:90,innerRadius:"90%",dataLabels:{borderWidth:0,color:colors.text_lt_default,enabled:true,format:`<span class="prefix${dark?" dark":""}">${prefix}</span><span class="fix${dark?" dark":""}">{y:,f}</span><span class="suffix${dark?" dark":""}">${suffix}</span>`,style:{fontFamily:typography.font_family_base,fontWeight:typography.regular,fontSize:typography.heading_2},y:-26}}}};setOptions(merge(staticOptions,customOptions));if(document.querySelector(".prefix")){document.querySelectorAll(".prefix").forEach((prefix2=>{prefix2.setAttribute("y","28")}));document.querySelectorAll(".fix").forEach((fix=>fix.setAttribute("y","38")))}}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(css,globalProps(props)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const LineGraph=({aria:aria={},data:data={},align:align="center",className:className="pb_bar_graph",customOptions:customOptions={},dark:dark=false,gradient:gradient=false,type:type="line",htmlOptions:htmlOptions={},id:id,legend:legend=false,toggleLegendClick:toggleLegendClick=true,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,axisTitle:axisTitle,xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,chartData:chartData,pointStart:pointStart,subTitle:subTitle,title:title,height:height,colors:colors2=[],...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:{min:yAxisMin,max:yAxisMax,title:{text:axisTitle}},xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{pointStart:pointStart,events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};export{BarGraph as B,CircleChart as C,Gauge as G,LineGraph as L};
|
|
1
|
+
import{jsx,Fragment,jsxs}from"react/jsx-runtime";import{useState,useEffect}from"react";import{f as buildAriaProps,g as buildDataProps,h as buildHtmlProps,H as HighchartsReact,i as Highcharts,j as classnames,k as globalProps,l as HighchartsMore,S as SolidGauge,m as buildCss}from"./_typeahead--U_6fwUM.js";import{c as colors,h as highchartsTheme,m as merge,a as highchartsDarkTheme,t as typography}from"./lib-CGxXTQ75.js";const mapColors=array=>{const regex=/(data)\-[1-8]/;const newArray=array.map((item=>regex.test(item)?`${colors[`data_${item[item.length-1]}`]}`:item));return newArray};const BarGraph=({aria:aria={},data:data={},align:align="center",axisTitle:axisTitle,dark:dark=false,chartData:chartData,className:className="pb_bar_graph",colors:colors2,htmlOptions:htmlOptions={},customOptions:customOptions={},axisFormat:axisFormat,id:id,pointStart:pointStart,stacking:stacking,subTitle:subTitle,type:type="column",title:title="Title",xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,legend:legend=false,toggleLegendClick:toggleLegendClick=true,height:height,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:[{labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat&&axisFormat[0]?axisFormat[0].format:""},min:yAxisMin,max:yAxisMax,opposite:false,title:{text:Array.isArray(axisTitle)?axisTitle.length>0?axisTitle[0].name:null:axisTitle},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]}],xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{stacking:stacking,pointStart:pointStart,borderWidth:stacking?0:"",events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(Array.isArray(axisTitle)&&axisTitle.length>1&&axisTitle[1].name){staticOptions.yAxis.push({labels:{format:typeof axisFormat==="string"?axisFormat:axisFormat[1].format},min:yAxisMin,max:yAxisMax,opposite:true,title:{text:axisTitle[1].name},plotLines:typeof yAxisMin!=="undefined"&&yAxisMin!==null?[]:[{value:0,zIndex:10,color:"#E4E8F0"}]})}if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const alignBlockElement=event=>{const itemToMove=document.querySelector(`#wrapper-circle-chart-${event.target.renderTo.id} .pb-circle-chart-block`);const chartContainer=document.querySelector(`#${event.target.renderTo.id}`);if(itemToMove!==null&&chartContainer!==null){itemToMove.style.height=`${event.target.chartHeight}px`;itemToMove.style.width=`${event.target.chartWidth}px`;if(chartContainer.firstChild!==null){chartContainer.firstChild.before(itemToMove)}}};const CircleChart=({align:align="center",aria:aria={},rounded:rounded=false,borderColor:borderColor=(rounded?null:""),borderWidth:borderWidth=(rounded?20:null),chartData:chartData,children:children,className:className,colors:colors2=[],customOptions:customOptions={},dark:dark=false,data:data={},dataLabelHtml:dataLabelHtml="<div>{point.name}</div>",dataLabels:dataLabels=false,height:height,htmlOptions:htmlOptions={},id:id,innerSize:innerSize="md",legend:legend=false,maxPointSize:maxPointSize=null,minPointSize:minPointSize=null,startAngle:startAngle=null,style:style="pie",title:title,tooltipHtml:tooltipHtml,useHtml:useHtml=false,zMin:zMin=null,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{headerFormat:null,pointFormat:tooltipHtml?tooltipHtml:'<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',useHTML:useHtml}});const innerSizes={sm:"35%",md:"50%",lg:"85%",none:"0%"};const innerSizeFormat=size=>innerSizes[size];const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={title:{text:title},chart:{height:height,type:style,events:{render:event=>alignBlockElement(event),redraw:event=>alignBlockElement(event)}},legend:{align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},plotOptions:{pie:{colors:colors2.length>0?mapColors(colors2):highchartsTheme.colors,dataLabels:{enabled:dataLabels,connectorShape:"straight",connectorWidth:3,format:dataLabelHtml},showInLegend:legend}},series:[{minPointSize:minPointSize,maxPointSize:maxPointSize,innerSize:borderWidth==20?"100%":innerSizeFormat(innerSize),data:formattedChartData,zMin:zMin,startAngle:startAngle,borderWidth:borderWidth,borderColor:borderColor}],credits:false};setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(Fragment,{children:children?jsxs("div",{id:`wrapper-circle-chart-${id}`,children:[jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options}),jsx("div",{className:"pb-circle-chart-block",children:children})]}):jsx(HighchartsReact,{containerProps:{className:classnames("pb_circle_chart",globalProps(filteredProps)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})})};const Gauge=({aria:aria={},chartData:chartData,customOptions:customOptions={},dark:dark=false,data:data={},disableAnimation:disableAnimation=false,fullCircle:fullCircle=false,height:height=null,htmlOptions:htmlOptions={},id:id,max:max=100,min:min=0,prefix:prefix="",showLabels:showLabels=false,style:style="solidgauge",suffix:suffix="",title:title="",tooltipHtml:tooltipHtml='<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: <b>{point.y}</b>',colors:colors$1=[],minorTickInterval:minorTickInterval=null,circumference:circumference=(fullCircle?[0,360]:[-100,100]),...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);HighchartsMore(Highcharts);SolidGauge(Highcharts);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();Highcharts.setOptions({tooltip:{pointFormat:tooltipHtml,followPointer:true}});const css=buildCss({pb_gauge_kit:true});const[options,setOptions]=useState({});useEffect((()=>{const formattedChartData=chartData.map((obj=>{obj.y=obj.value;delete obj.value;return obj}));const staticOptions={chart:{events:{load(){setTimeout(this.reflow.bind(this),0)}},type:style,height:height},title:{text:title},yAxis:{min:min,max:max,lineWidth:0,tickWidth:0,minorTickInterval:minorTickInterval,tickAmount:2,tickPositions:[min,max],labels:{y:26,enabled:showLabels}},credits:false,series:[{data:formattedChartData}],pane:{center:["50%","50%"],size:"90%",startAngle:circumference[0],endAngle:circumference[1],background:{borderWidth:20,innerRadius:"90%",outerRadius:"90%",shape:"arc",className:"gauge-pane"}},colors:colors$1!==void 0&&colors$1.length>0?mapColors(colors$1):highchartsTheme.colors,plotOptions:{series:{animation:!disableAnimation},solidgauge:{borderColor:colors$1!==void 0&&colors$1.length===1?mapColors(colors$1).join():highchartsTheme.colors[0],borderWidth:20,radius:90,innerRadius:"90%",dataLabels:{borderWidth:0,color:colors.text_lt_default,enabled:true,format:`<span class="prefix${dark?" dark":""}">${prefix}</span><span class="fix${dark?" dark":""}">{y:,f}</span><span class="suffix${dark?" dark":""}">${suffix}</span>`,style:{fontFamily:typography.font_family_base,fontWeight:typography.regular,fontSize:typography.heading_2},y:-26}}}};setOptions(merge(staticOptions,customOptions));if(document.querySelector(".prefix")){document.querySelectorAll(".prefix").forEach((prefix2=>{prefix2.setAttribute("y","28")}));document.querySelectorAll(".fix").forEach((fix=>fix.setAttribute("y","38")))}}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(css,globalProps(props)),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};const LineGraph=({aria:aria={},data:data={},align:align="center",className:className="pb_bar_graph",customOptions:customOptions={},dark:dark=false,gradient:gradient=false,type:type="line",htmlOptions:htmlOptions={},id:id,legend:legend=false,toggleLegendClick:toggleLegendClick=true,layout:layout="horizontal",verticalAlign:verticalAlign="bottom",x:x=0,y:y=0,axisTitle:axisTitle,xAxisCategories:xAxisCategories,yAxisMin:yAxisMin,yAxisMax:yAxisMax,chartData:chartData,pointStart:pointStart,subTitle:subTitle,title:title,height:height,colors:colors2=[],...props})=>{const ariaProps=buildAriaProps(aria);const dataProps=buildDataProps(data);const htmlProps=buildHtmlProps(htmlOptions);const setupTheme=()=>{dark?Highcharts.setOptions(highchartsDarkTheme):Highcharts.setOptions(highchartsTheme)};setupTheme();const staticOptions={title:{text:title},chart:{height:height,type:type},subtitle:{text:subTitle},yAxis:{min:yAxisMin,max:yAxisMax,title:{text:axisTitle}},xAxis:{categories:xAxisCategories},legend:{enabled:legend,align:align,verticalAlign:verticalAlign,layout:layout,x:x,y:y},colors:colors2!==void 0&&colors2.length>0?mapColors(colors2):highchartsTheme.colors,plotOptions:{series:{pointStart:pointStart,events:{},dataLabels:{enabled:false}}},series:chartData,credits:false};if(!toggleLegendClick){staticOptions.plotOptions.series.events={legendItemClick:()=>false}}const filteredProps={...props};delete filteredProps.verticalAlign;const[options,setOptions]=useState({});useEffect((()=>{setOptions(merge(staticOptions,customOptions))}),[chartData]);return jsx(HighchartsReact,{containerProps:{className:classnames(globalProps(filteredProps),className),id:id,...ariaProps,...dataProps,...htmlProps},highcharts:Highcharts,options:options})};export{BarGraph as B,CircleChart as C,Gauge as G,LineGraph as L};
|