playbook_ui 15.4.0.pre.alpha.PLAY2582rails722112532 → 15.4.0.pre.alpha.PLAY2627requiredmultiselectdropdownbug12416
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/docs/_advanced_table_column_styling.jsx +1 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_fullscreen.jsx +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_infinite_scroll.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.jsx +1 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.jsx +1 -2
- data/app/pb_kits/playbook/pb_copy_button/_copy_button.tsx +8 -21
- data/app/pb_kits/playbook/pb_copy_button/copy_button.html.erb +2 -6
- data/app/pb_kits/playbook/pb_copy_button/copy_button.rb +0 -3
- data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +0 -24
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.html.erb +2 -2
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.jsx +2 -1
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.html.erb +2 -2
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.jsx +0 -2
- data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_copy_button/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_date_time/_date_time.tsx +0 -3
- data/app/pb_kits/playbook/pb_date_time/date_time.html.erb +0 -1
- data/app/pb_kits/playbook/pb_date_time/date_time.rb +0 -1
- data/app/pb_kits/playbook/pb_date_time/docs/example.yml +1 -3
- data/app/pb_kits/playbook/pb_date_time/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.tsx +0 -3
- data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +2 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.rb +0 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.test.js +0 -33
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/example.yml +1 -3
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_dropdown/index.js +2 -18
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_alignment.jsx +1 -2
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_default.jsx +1 -2
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_orientation.jsx +1 -2
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_size.jsx +1 -2
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_wrapped.jsx +1 -4
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_colors.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_height.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_horizontal.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_non_clickable.jsx +2 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_legend_position.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_negative_numbers.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_secondary_y_axis.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_spline.jsx +2 -1
- data/app/pb_kits/playbook/pb_pb_bar_graph/docs/_pb_bar_graph_stacked.jsx +2 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_live_data.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_pb_gauge_chart_color.jsx +1 -1
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_pb_gauge_chart_complex.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_pb_gauge_chart_full_circle.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_pb_gauge_chart_height.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_pb_gauge_chart_min_max.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_gauge_chart/docs/_pb_gauge_chart_units.jsx +1 -2
- data/app/pb_kits/playbook/pb_pb_line_graph/docs/_pb_line_graph_colors.jsx +1 -1
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.jsx +1 -4
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +262 -384
- data/app/pb_kits/playbook/pb_progress_step/docs/_description.md +5 -1
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.html.erb +1 -4
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.jsx +3 -14
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.html.erb +7 -1
- data/app/pb_kits/playbook/pb_progress_step/docs/example.yml +0 -3
- data/app/pb_kits/playbook/pb_progress_step/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_progress_step/progress_step.test.js +0 -41
- data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +1 -3
- data/app/pb_kits/playbook/pb_select/docs/_select_react_hook.jsx +1 -3
- data/app/pb_kits/playbook/pb_table/_table.tsx +26 -28
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_sizing.jsx +1 -4
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +0 -4
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +0 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx +1 -2
- data/app/pb_kits/playbook/pb_user/docs/_user_font_options.jsx +1 -1
- data/app/pb_kits/playbook/utilities/_truncate.scss +0 -2
- data/app/pb_kits/playbook/utilities/globalProps.ts +8 -26
- data/app/pb_kits/playbook/utilities/test/globalProps/alignContent.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/alignItems.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/alignSelf.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/display.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/flex.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/flexDirection.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/flexGrow.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/flexShrink.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/flexWrap.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/justifyContent.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/justifySelf.test.js +0 -18
- data/app/pb_kits/playbook/utilities/test/globalProps/order.test.js +0 -18
- data/dist/chunks/_line_graph-DDvq7zE7.js +1 -0
- data/dist/chunks/_typeahead-D2bVH5Fk.js +6 -0
- data/dist/chunks/_weekday_stacked-DB8t2C4f.js +37 -0
- data/dist/chunks/componentRegistry-DzmmLR2x.js +1 -0
- data/dist/chunks/lib-COXg9aPA.js +29 -0
- data/dist/chunks/pb_form_validation-DR765aoq.js +1 -0
- data/dist/chunks/vendor.js +1 -37
- data/dist/playbook-doc.js +19 -0
- 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 +9 -23
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_button_variant.html.erb +0 -9
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_button_variant.jsx +0 -24
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_button_variant_rails.md +0 -1
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_button_variant_react.md +0 -1
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_show_current_year.html.erb +0 -4
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_show_current_year.jsx +0 -14
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_show_current_year_rails.md +0 -1
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_show_current_year_react.md +0 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_show_current_year.html.erb +0 -4
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_show_current_year.jsx +0 -22
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_show_current_year.md +0 -1
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_color.html.erb +0 -14
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_color.jsx +0 -29
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_color.md +0 -3
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_custom_icon.jsx +0 -31
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_custom_icon.md +0 -1
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.md +0 -3
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.md +0 -3
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.md +0 -1
- data/dist/chunks/_typeahead-Cd3O38ts.js +0 -6
- data/dist/chunks/lib-CgpqUb6l.js +0 -29
|
@@ -6,6 +6,7 @@ import ProgressStepItem from '../_progress_step_item.tsx'
|
|
|
6
6
|
const ProgressStepDefault = (props) => (
|
|
7
7
|
<div>
|
|
8
8
|
<ProgressStep
|
|
9
|
+
icon
|
|
9
10
|
{...props}
|
|
10
11
|
>
|
|
11
12
|
<ProgressStepItem status="complete" />
|
|
@@ -18,24 +19,12 @@ const ProgressStepDefault = (props) => (
|
|
|
18
19
|
|
|
19
20
|
<ProgressStep {...props}>
|
|
20
21
|
<ProgressStepItem status="complete">{'Step 1'}</ProgressStepItem>
|
|
21
|
-
<ProgressStepItem status="
|
|
22
|
-
<ProgressStepItem status="
|
|
23
|
-
<ProgressStepItem status="inactive">{'Step 4'}</ProgressStepItem>
|
|
24
|
-
<ProgressStepItem status="inactive">{'Step 5'}</ProgressStepItem>
|
|
22
|
+
<ProgressStepItem status="active">{'Step 2'}</ProgressStepItem>
|
|
23
|
+
<ProgressStepItem status="inactive">{'Step 3'}</ProgressStepItem>
|
|
25
24
|
</ProgressStep>
|
|
26
25
|
|
|
27
26
|
<br />
|
|
28
27
|
<br />
|
|
29
|
-
|
|
30
|
-
<ProgressStep
|
|
31
|
-
icon
|
|
32
|
-
{...props}
|
|
33
|
-
>
|
|
34
|
-
<ProgressStepItem status="complete">{'Step 1'}</ProgressStepItem>
|
|
35
|
-
<ProgressStepItem status="complete">{'Step 2'}</ProgressStepItem>
|
|
36
|
-
<ProgressStepItem status="active">{'Step 3'}</ProgressStepItem>
|
|
37
|
-
<ProgressStepItem status="inactive">{'Step 4'}</ProgressStepItem>
|
|
38
|
-
</ProgressStep>
|
|
39
28
|
</div>
|
|
40
29
|
)
|
|
41
30
|
|
|
@@ -25,7 +25,13 @@
|
|
|
25
25
|
Child
|
|
26
26
|
<% end %>
|
|
27
27
|
<%= pb_rails("progress_step/progress_step_item", props: {status: "active"}) do %>
|
|
28
|
-
|
|
28
|
+
<%= pb_rails("card", props: {highlight: {position: "side", color:"windows"}}) do %>
|
|
29
|
+
Card content
|
|
30
|
+
<% end %>
|
|
31
|
+
<br>
|
|
32
|
+
<%= pb_rails("card", props: {highlight: {position: "side", color:"windows"}}) do %>
|
|
33
|
+
Card content
|
|
34
|
+
<% end %>
|
|
29
35
|
<% end %>
|
|
30
36
|
<%= pb_rails("progress_step/progress_step_item", props: {status: "inactive"}) do %>
|
|
31
37
|
Child
|
|
@@ -3,7 +3,6 @@ examples:
|
|
|
3
3
|
- progress_step_default: Default
|
|
4
4
|
- progress_step_vertical: Vertical
|
|
5
5
|
- progress_step_tracker: Tracker
|
|
6
|
-
- progress_step_color: Color
|
|
7
6
|
- progress_step_custom_icon: Custom Icon
|
|
8
7
|
- progress_step_tooltip: Tooltip
|
|
9
8
|
|
|
@@ -11,6 +10,4 @@ examples:
|
|
|
11
10
|
- progress_step_default: Default
|
|
12
11
|
- progress_step_vertical: Vertical
|
|
13
12
|
- progress_step_tracker: Tracker
|
|
14
|
-
- progress_step_color: Color
|
|
15
|
-
- progress_step_custom_icon: Custom Icon
|
|
16
13
|
- progress_step_tracker_click_events: Using State
|
|
@@ -2,5 +2,3 @@ export { default as ProgressStepDefault } from './_progress_step_default.jsx'
|
|
|
2
2
|
export { default as ProgressStepVertical } from './_progress_step_vertical.jsx'
|
|
3
3
|
export { default as ProgressStepTracker } from './_progress_step_tracker.jsx'
|
|
4
4
|
export { default as ProgressStepTrackerClickEvents } from './_progress_step_tracker_click_events.jsx'
|
|
5
|
-
export { default as ProgressStepColor } from './_progress_step_color.jsx'
|
|
6
|
-
export { default as ProgressStepCustomIcon } from './_progress_step_custom_icon.jsx'
|
|
@@ -107,44 +107,3 @@ test('should render the children elements', () => {
|
|
|
107
107
|
expect(step2Kit).toHaveClass('pb_progress_step_item_active')
|
|
108
108
|
expect(step3Kit).toHaveClass('pb_progress_step_item_inactive')
|
|
109
109
|
})
|
|
110
|
-
|
|
111
|
-
test('should render info color', () => {
|
|
112
|
-
render(
|
|
113
|
-
<ProgressStep
|
|
114
|
-
aria={{ label: testId }}
|
|
115
|
-
color="info"
|
|
116
|
-
data={{ testid: testId }}
|
|
117
|
-
variant="tracker"
|
|
118
|
-
>
|
|
119
|
-
<ProgressStepItem status="complete">{'Step 1'}</ProgressStepItem>
|
|
120
|
-
<ProgressStepItem status="active">{'Step 2'}</ProgressStepItem>
|
|
121
|
-
<ProgressStepItem status="inactive">{'Step 3'}</ProgressStepItem>
|
|
122
|
-
</ProgressStep>
|
|
123
|
-
)
|
|
124
|
-
|
|
125
|
-
const kit = screen.getByTestId(testId)
|
|
126
|
-
expect(kit).toHaveClass('pb_progress_step_kit_horizontal_tracker_info')
|
|
127
|
-
})
|
|
128
|
-
|
|
129
|
-
test('should render custom icon', () => {
|
|
130
|
-
render(
|
|
131
|
-
<ProgressStep
|
|
132
|
-
aria={{ label: testId }}
|
|
133
|
-
data={{ testid: testId }}
|
|
134
|
-
variant="tracker"
|
|
135
|
-
>
|
|
136
|
-
<ProgressStepItem icon="exclamation-triangle"
|
|
137
|
-
status="complete"
|
|
138
|
-
>
|
|
139
|
-
{'Step 1'}
|
|
140
|
-
</ProgressStepItem>
|
|
141
|
-
<ProgressStepItem status="active">{'Step 2'}</ProgressStepItem>
|
|
142
|
-
<ProgressStepItem status="inactive">{'Step 3'}</ProgressStepItem>
|
|
143
|
-
</ProgressStep>
|
|
144
|
-
)
|
|
145
|
-
|
|
146
|
-
const kit = screen.getByTestId(testId)
|
|
147
|
-
expect(kit).toHaveClass('pb_progress_step_kit_horizontal_tracker')
|
|
148
|
-
const icon = kit.getAttribute('aria-label', "exclamation-triangle-icon")
|
|
149
|
-
expect(icon).toBeDefined()
|
|
150
|
-
})
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import React from "react"
|
|
2
2
|
import { useForm } from "react-hook-form"
|
|
3
|
-
import Radio from "
|
|
4
|
-
import Body from "../../pb_body/_body"
|
|
5
|
-
import Flex from "../../pb_flex/_flex"
|
|
3
|
+
import { Radio, Flex, Body } from "playbook-ui"
|
|
6
4
|
|
|
7
5
|
const RadioReactHook = () => {
|
|
8
6
|
const { register, watch } = useForm({
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import React, { useState } from "react"
|
|
2
2
|
import { useForm } from "react-hook-form"
|
|
3
|
-
import Select from "
|
|
4
|
-
import Body from "../../pb_body/_body"
|
|
5
|
-
import Button from "../../pb_button/_button"
|
|
3
|
+
import { Button, Body, Select } from "playbook-ui"
|
|
6
4
|
|
|
7
5
|
const SelectReactHook = (props) => {
|
|
8
6
|
const { register, handleSubmit, formState: { errors } } = useForm({
|
|
@@ -119,22 +119,21 @@ const Table = (props: TableProps): React.ReactElement => {
|
|
|
119
119
|
header.classList.add('sticky-left-shadow');
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
accumulatedWidth += (header as HTMLElement).offsetWidth;
|
|
123
|
+
}
|
|
124
124
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
125
|
+
cells.forEach((cell) => {
|
|
126
|
+
cell.classList.add('sticky');
|
|
127
|
+
(cell as HTMLElement).style.left = `${accumulatedWidth - (header as HTMLElement).offsetWidth}px`;
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
129
|
+
if (!isLastColumn) {
|
|
130
|
+
cell.classList.add('with-border-right');
|
|
131
|
+
cell.classList.remove('sticky-left-shadow');
|
|
132
|
+
} else {
|
|
133
|
+
cell.classList.remove('with-border-right');
|
|
134
|
+
cell.classList.add('sticky-left-shadow');
|
|
135
|
+
}
|
|
136
|
+
});
|
|
138
137
|
});
|
|
139
138
|
};
|
|
140
139
|
|
|
@@ -171,22 +170,21 @@ const Table = (props: TableProps): React.ReactElement => {
|
|
|
171
170
|
header.classList.add('sticky-right-shadow');
|
|
172
171
|
}
|
|
173
172
|
|
|
174
|
-
|
|
175
|
-
|
|
173
|
+
accumulatedWidth += (header as HTMLElement).offsetWidth;
|
|
174
|
+
}
|
|
176
175
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
176
|
+
cells.forEach((cell) => {
|
|
177
|
+
cell.classList.add('sticky');
|
|
178
|
+
(cell as HTMLElement).style.right = `${accumulatedWidth - (header as HTMLElement).offsetWidth}px`;
|
|
180
179
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
180
|
+
if (!isLastColumn) {
|
|
181
|
+
cell.classList.add('with-border-left');
|
|
182
|
+
cell.classList.remove('sticky-right-shadow');
|
|
183
|
+
} else {
|
|
184
|
+
cell.classList.remove('with-border-left');
|
|
185
|
+
cell.classList.add('sticky-right-shadow');
|
|
186
|
+
}
|
|
187
|
+
});
|
|
190
188
|
});
|
|
191
189
|
};
|
|
192
190
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import Tooltip from '
|
|
3
|
-
import Button from '../../pb_button/_button'
|
|
4
|
-
import Flex from '../../pb_flex/_flex'
|
|
5
|
-
import FlexItem from '../../pb_flex/_flex_item'
|
|
2
|
+
import { Button, Tooltip, Flex, FlexItem } from 'playbook-ui';
|
|
6
3
|
|
|
7
4
|
const TooltipSizing = (props) => {
|
|
8
5
|
|
|
@@ -213,24 +213,10 @@ export type GlobalProps = AlignContent & AlignItems & AlignSelf &
|
|
|
213
213
|
|
|
214
214
|
const getResponsivePropClasses = (prop: {[key: string]: string}, classPrefix: string) => {
|
|
215
215
|
const keys: string[] = Object.keys(prop)
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
if (prop.default !== undefined) {
|
|
221
|
-
const defaultValue: string = typeof(prop.default) === 'string' ? camelToSnakeCase(prop.default) : prop.default
|
|
222
|
-
classResult += `${classPrefix}_${defaultValue} `
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
// Handle responsive sizes (generates classes with size prefix)
|
|
226
|
-
keys.forEach((key) => {
|
|
227
|
-
if (screenSizeValues.includes(key)) {
|
|
228
|
-
const propValue: string = typeof(prop[key]) === 'string' ? camelToSnakeCase(prop[key]) : prop[key]
|
|
229
|
-
classResult += `${classPrefix}_${key}_${propValue} `
|
|
230
|
-
}
|
|
231
|
-
})
|
|
232
|
-
|
|
233
|
-
return classResult.trim()
|
|
216
|
+
return keys.map((size: Sizes) => {
|
|
217
|
+
const propValue: string = typeof(prop[size]) === 'string' ? camelToSnakeCase(prop[size]) : prop[size]
|
|
218
|
+
return `${classPrefix}_${size}_${propValue}`
|
|
219
|
+
}).join(" ")
|
|
234
220
|
}
|
|
235
221
|
|
|
236
222
|
//reusable function for top, bottom, right and left props
|
|
@@ -450,11 +436,9 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
|
|
|
450
436
|
if (typeof zIndexEntry[1] == "number") {
|
|
451
437
|
css += `z_index_${zIndexEntry[1]} `
|
|
452
438
|
} else if (typeof zIndexEntry[1] == "object") {
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
responsiveObj[key] = value.toString()
|
|
439
|
+
Object.entries(zIndexEntry[1]).forEach((zIndexObj) => {
|
|
440
|
+
css += `z_index_${zIndexObj[0]}_${zIndexObj[1]} `
|
|
456
441
|
})
|
|
457
|
-
css += getResponsivePropClasses(responsiveObj, 'z_index')
|
|
458
442
|
} else if (zIndexEntry[1] === 'max') {
|
|
459
443
|
css += `z_index_max `
|
|
460
444
|
}
|
|
@@ -479,11 +463,9 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
|
|
|
479
463
|
if (typeof displayEntry[1] == "string") {
|
|
480
464
|
css += `display_${displayEntry[1]} `
|
|
481
465
|
} else if (typeof displayEntry[1] == "object") {
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
responsiveObj[key] = typeof value === 'string' ? value : value.toString()
|
|
466
|
+
Object.entries(displayEntry[1]).forEach((displayObj) => {
|
|
467
|
+
css += `display_${displayObj[0]}_${displayObj[1]} `
|
|
485
468
|
})
|
|
486
|
-
css += getResponsivePropClasses(responsiveObj, 'display')
|
|
487
469
|
} else {
|
|
488
470
|
' '
|
|
489
471
|
}
|
|
@@ -35,21 +35,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
35
35
|
})
|
|
36
36
|
}
|
|
37
37
|
})
|
|
38
|
-
|
|
39
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
40
|
-
const testId = `${testSubject}-default-responsive`
|
|
41
|
-
render(
|
|
42
|
-
<Body
|
|
43
|
-
alignContent={{ default: "spaceAround", xs: "center", sm: "spaceAround", md: "center" }}
|
|
44
|
-
data={{ testid: testId }}
|
|
45
|
-
text="Hi"
|
|
46
|
-
/>
|
|
47
|
-
)
|
|
48
|
-
const kit = screen.getByTestId(testId)
|
|
49
|
-
// Should have base class for default value
|
|
50
|
-
expect(kit).toHaveClass(`align_content_space_around`)
|
|
51
|
-
// Should have responsive classes for screen sizes
|
|
52
|
-
expect(kit).toHaveClass(`align_content_xs_center`)
|
|
53
|
-
expect(kit).toHaveClass(`align_content_sm_space_around`)
|
|
54
|
-
expect(kit).toHaveClass(`align_content_md_center`)
|
|
55
|
-
})
|
|
@@ -34,21 +34,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
34
34
|
})
|
|
35
35
|
}
|
|
36
36
|
})
|
|
37
|
-
|
|
38
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
39
|
-
const testId = `${testSubject}-default-responsive`
|
|
40
|
-
render(
|
|
41
|
-
<Body
|
|
42
|
-
alignItems={{ default: "end", xs: "center", sm: "end", md: "center" }}
|
|
43
|
-
data={{ testid: testId }}
|
|
44
|
-
text="Hi"
|
|
45
|
-
/>
|
|
46
|
-
)
|
|
47
|
-
const kit = screen.getByTestId(testId)
|
|
48
|
-
// Should have base class for default value
|
|
49
|
-
expect(kit).toHaveClass(`align_items_end`)
|
|
50
|
-
// Should have responsive classes for screen sizes
|
|
51
|
-
expect(kit).toHaveClass(`align_items_xs_center`)
|
|
52
|
-
expect(kit).toHaveClass(`align_items_sm_end`)
|
|
53
|
-
expect(kit).toHaveClass(`align_items_md_center`)
|
|
54
|
-
})
|
|
@@ -35,21 +35,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
35
35
|
})
|
|
36
36
|
}
|
|
37
37
|
})
|
|
38
|
-
|
|
39
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
40
|
-
const testId = `${testSubject}-default-responsive`
|
|
41
|
-
render(
|
|
42
|
-
<Body
|
|
43
|
-
alignSelf={{ default: "end", xs: "center", sm: "end", md: "center" }}
|
|
44
|
-
data={{ testid: testId }}
|
|
45
|
-
text="Hi"
|
|
46
|
-
/>
|
|
47
|
-
)
|
|
48
|
-
const kit = screen.getByTestId(testId)
|
|
49
|
-
// Should have base class for default value
|
|
50
|
-
expect(kit).toHaveClass(`align_self_end`)
|
|
51
|
-
// Should have responsive classes for screen sizes
|
|
52
|
-
expect(kit).toHaveClass(`align_self_xs_center`)
|
|
53
|
-
expect(kit).toHaveClass(`align_self_sm_end`)
|
|
54
|
-
expect(kit).toHaveClass(`align_self_md_center`)
|
|
55
|
-
})
|
|
@@ -36,21 +36,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
36
36
|
})
|
|
37
37
|
}
|
|
38
38
|
})
|
|
39
|
-
|
|
40
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
41
|
-
const testId = `${testSubject}-default-responsive`
|
|
42
|
-
render(
|
|
43
|
-
<Body
|
|
44
|
-
data={{ testid: testId }}
|
|
45
|
-
display={{ default: "none", xs: "block", sm: "none", md: "block" }}
|
|
46
|
-
text="Hi"
|
|
47
|
-
/>
|
|
48
|
-
)
|
|
49
|
-
const kit = screen.getByTestId(testId)
|
|
50
|
-
// Should have base class for default value
|
|
51
|
-
expect(kit).toHaveClass(`display_none`)
|
|
52
|
-
// Should have responsive classes for screen sizes
|
|
53
|
-
expect(kit).toHaveClass(`display_xs_block`)
|
|
54
|
-
expect(kit).toHaveClass(`display_sm_none`)
|
|
55
|
-
expect(kit).toHaveClass(`display_md_block`)
|
|
56
|
-
})
|
|
@@ -62,21 +62,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
62
62
|
})
|
|
63
63
|
}
|
|
64
64
|
})
|
|
65
|
-
|
|
66
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
67
|
-
const testId = `${testSubject}-default-responsive`
|
|
68
|
-
render(
|
|
69
|
-
<Body
|
|
70
|
-
data={{ testid: testId }}
|
|
71
|
-
flex={{ default: "3", xs: "1", sm: "3", md: "1" }}
|
|
72
|
-
text="Hi"
|
|
73
|
-
/>
|
|
74
|
-
)
|
|
75
|
-
const kit = screen.getByTestId(testId)
|
|
76
|
-
// Should have base class for default value
|
|
77
|
-
expect(kit).toHaveClass(`flex_3`)
|
|
78
|
-
// Should have responsive classes for screen sizes
|
|
79
|
-
expect(kit).toHaveClass(`flex_xs_1`)
|
|
80
|
-
expect(kit).toHaveClass(`flex_sm_3`)
|
|
81
|
-
expect(kit).toHaveClass(`flex_md_1`)
|
|
82
|
-
})
|
|
@@ -35,21 +35,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
35
35
|
})
|
|
36
36
|
}
|
|
37
37
|
})
|
|
38
|
-
|
|
39
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
40
|
-
const testId = `${testSubject}-default-responsive`
|
|
41
|
-
render(
|
|
42
|
-
<Body
|
|
43
|
-
data={{ testid: testId }}
|
|
44
|
-
flexDirection={{ default: "column", xs: "row", sm: "column", md: "row" }}
|
|
45
|
-
text="Hi"
|
|
46
|
-
/>
|
|
47
|
-
)
|
|
48
|
-
const kit = screen.getByTestId(testId)
|
|
49
|
-
// Should have base class for default value
|
|
50
|
-
expect(kit).toHaveClass(`flex_direction_column`)
|
|
51
|
-
// Should have responsive classes for screen sizes
|
|
52
|
-
expect(kit).toHaveClass(`flex_direction_xs_row`)
|
|
53
|
-
expect(kit).toHaveClass(`flex_direction_sm_column`)
|
|
54
|
-
expect(kit).toHaveClass(`flex_direction_md_row`)
|
|
55
|
-
})
|
|
@@ -33,21 +33,3 @@ test('Global Props: Returns ordinal suffixed class name', () => {
|
|
|
33
33
|
})
|
|
34
34
|
}
|
|
35
35
|
})
|
|
36
|
-
|
|
37
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
38
|
-
const testId = `${testSubject}-default-responsive`
|
|
39
|
-
render(
|
|
40
|
-
<Body
|
|
41
|
-
data={{ testid: testId }}
|
|
42
|
-
flexGrow={{ default: 1, xs: 0, sm: 1, md: 0 }}
|
|
43
|
-
text="Hi"
|
|
44
|
-
/>
|
|
45
|
-
)
|
|
46
|
-
const kit = screen.getByTestId(testId)
|
|
47
|
-
// Should have base class for default value
|
|
48
|
-
expect(kit).toHaveClass(`flex_grow_1`)
|
|
49
|
-
// Should have responsive classes for screen sizes
|
|
50
|
-
expect(kit).toHaveClass(`flex_grow_xs_0`)
|
|
51
|
-
expect(kit).toHaveClass(`flex_grow_sm_1`)
|
|
52
|
-
expect(kit).toHaveClass(`flex_grow_md_0`)
|
|
53
|
-
})
|
|
@@ -33,21 +33,3 @@ test('Global Props: Returns ordinal suffixed class name', () => {
|
|
|
33
33
|
})
|
|
34
34
|
}
|
|
35
35
|
})
|
|
36
|
-
|
|
37
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
38
|
-
const testId = `${testSubject}-default-responsive`
|
|
39
|
-
render(
|
|
40
|
-
<Body
|
|
41
|
-
data={{ testid: testId }}
|
|
42
|
-
flexShrink={{ default: 0, xs: 1, sm: 0, md: 1 }}
|
|
43
|
-
text="Hi"
|
|
44
|
-
/>
|
|
45
|
-
)
|
|
46
|
-
const kit = screen.getByTestId(testId)
|
|
47
|
-
// Should have base class for default value
|
|
48
|
-
expect(kit).toHaveClass(`flex_shrink_0`)
|
|
49
|
-
// Should have responsive classes for screen sizes
|
|
50
|
-
expect(kit).toHaveClass(`flex_shrink_xs_1`)
|
|
51
|
-
expect(kit).toHaveClass(`flex_shrink_sm_0`)
|
|
52
|
-
expect(kit).toHaveClass(`flex_shrink_md_1`)
|
|
53
|
-
})
|
|
@@ -35,21 +35,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
35
35
|
})
|
|
36
36
|
}
|
|
37
37
|
})
|
|
38
|
-
|
|
39
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
40
|
-
const testId = `${testSubject}-default-responsive`
|
|
41
|
-
render(
|
|
42
|
-
<Body
|
|
43
|
-
data={{ testid: testId }}
|
|
44
|
-
flexWrap={{ default: "wrap", xs: "nowrap", sm: "wrap", md: "nowrap" }}
|
|
45
|
-
text="Hi"
|
|
46
|
-
/>
|
|
47
|
-
)
|
|
48
|
-
const kit = screen.getByTestId(testId)
|
|
49
|
-
// Should have base class for default value
|
|
50
|
-
expect(kit).toHaveClass(`flex_wrap_wrap`)
|
|
51
|
-
// Should have responsive classes for screen sizes
|
|
52
|
-
expect(kit).toHaveClass(`flex_wrap_xs_nowrap`)
|
|
53
|
-
expect(kit).toHaveClass(`flex_wrap_sm_wrap`)
|
|
54
|
-
expect(kit).toHaveClass(`flex_wrap_md_nowrap`)
|
|
55
|
-
})
|
|
@@ -35,21 +35,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
35
35
|
})
|
|
36
36
|
}
|
|
37
37
|
})
|
|
38
|
-
|
|
39
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
40
|
-
const testId = `${testSubject}-default-responsive`
|
|
41
|
-
render(
|
|
42
|
-
<Body
|
|
43
|
-
data={{ testid: testId }}
|
|
44
|
-
justifyContent={{ default: "spaceBetween", xs: "start", sm: "spaceBetween", md: "start" }}
|
|
45
|
-
text="Hi"
|
|
46
|
-
/>
|
|
47
|
-
)
|
|
48
|
-
const kit = screen.getByTestId(testId)
|
|
49
|
-
// Should have base class for default value
|
|
50
|
-
expect(kit).toHaveClass(`justify_content_space_between`)
|
|
51
|
-
// Should have responsive classes for screen sizes
|
|
52
|
-
expect(kit).toHaveClass(`justify_content_xs_start`)
|
|
53
|
-
expect(kit).toHaveClass(`justify_content_sm_space_between`)
|
|
54
|
-
expect(kit).toHaveClass(`justify_content_md_start`)
|
|
55
|
-
})
|
|
@@ -35,21 +35,3 @@ test('Global Props: returns proper class name', () => {
|
|
|
35
35
|
})
|
|
36
36
|
}
|
|
37
37
|
})
|
|
38
|
-
|
|
39
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
40
|
-
const testId = `${testSubject}-default-responsive`
|
|
41
|
-
render(
|
|
42
|
-
<Body
|
|
43
|
-
data={{ testid: testId }}
|
|
44
|
-
justifySelf={{ default: "end", xs: "start", sm: "end", md: "center" }}
|
|
45
|
-
text="Hi"
|
|
46
|
-
/>
|
|
47
|
-
)
|
|
48
|
-
const kit = screen.getByTestId(testId)
|
|
49
|
-
// Should have base class for default value
|
|
50
|
-
expect(kit).toHaveClass(`justify_self_end`)
|
|
51
|
-
// Should have responsive classes for screen sizes
|
|
52
|
-
expect(kit).toHaveClass(`justify_self_xs_start`)
|
|
53
|
-
expect(kit).toHaveClass(`justify_self_sm_end`)
|
|
54
|
-
expect(kit).toHaveClass(`justify_self_md_center`)
|
|
55
|
-
})
|
|
@@ -33,21 +33,3 @@ test('Global Props: Returns ordinal suffixed class name', () => {
|
|
|
33
33
|
})
|
|
34
34
|
}
|
|
35
35
|
})
|
|
36
|
-
|
|
37
|
-
test('Global Props: returns proper class name with default key', () => {
|
|
38
|
-
const testId = `${testSubject}-default-responsive`
|
|
39
|
-
render(
|
|
40
|
-
<Body
|
|
41
|
-
data={{ testid: testId }}
|
|
42
|
-
order={{ default: 3, xs: 1, sm: 3, md: 1 }}
|
|
43
|
-
text="Hi"
|
|
44
|
-
/>
|
|
45
|
-
)
|
|
46
|
-
const kit = screen.getByTestId(testId)
|
|
47
|
-
// Should have base class for default value
|
|
48
|
-
expect(kit).toHaveClass(`flex_order_3`)
|
|
49
|
-
// Should have responsive classes for screen sizes
|
|
50
|
-
expect(kit).toHaveClass(`flex_order_xs_1`)
|
|
51
|
-
expect(kit).toHaveClass(`flex_order_sm_3`)
|
|
52
|
-
expect(kit).toHaveClass(`flex_order_md_1`)
|
|
53
|
-
})
|
|
@@ -0,0 +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-D2bVH5Fk.js";import{c as colors,h as highchartsTheme,m as merge,a as highchartsDarkTheme,t as typography}from"./lib-COXg9aPA.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};
|