playbook_ui_docs 14.23.0 → 14.24.0.pre.alpha.PLAY2116datepickercursorfix9610

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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.html.erb +43 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.jsx +64 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.jsx +60 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.md +3 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.jsx +57 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.md +1 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.html.erb +46 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling_rails.md +7 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header_rails.html.erb +1 -1
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_rails.html.erb +1 -1
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column.jsx +55 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column.md +6 -0
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column_for_multi_column.jsx +80 -0
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_per_column_for_multi_column.md +1 -0
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header.md +1 -1
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.jsx +107 -0
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.md +1 -0
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +51 -0
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.md +1 -0
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +9 -0
  22. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +6 -0
  23. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_position.md +1 -1
  24. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +1 -1
  25. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate_rails.md +2 -1
  26. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.md +1 -1
  27. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.html.erb +24 -0
  28. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.md +3 -0
  29. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +1 -0
  30. data/app/pb_kits/playbook/pb_date/docs/_date_with_show_current_year.html.erb +4 -0
  31. data/app/pb_kits/playbook/pb_date/docs/_date_with_show_current_year.jsx +17 -0
  32. data/app/pb_kits/playbook/pb_date/docs/_date_with_show_current_year.md +1 -0
  33. data/app/pb_kits/playbook/pb_date/docs/example.yml +2 -0
  34. data/app/pb_kits/playbook/pb_date/docs/index.js +1 -0
  35. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -1
  36. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +1 -0
  37. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options.jsx +90 -0
  38. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md +4 -0
  39. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx +1 -0
  40. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md +1 -1
  41. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +3 -2
  42. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +2 -1
  43. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.html.erb +22 -0
  44. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.jsx +43 -0
  45. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.md +1 -0
  46. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +2 -0
  47. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -0
  48. data/app/pb_kits/playbook/pb_gauge/docs/_description.md +1 -0
  49. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors.jsx +32 -15
  50. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_colors_react.md +2 -0
  51. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex.jsx +35 -9
  52. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_complex_react.md +1 -0
  53. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +26 -14
  54. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +32 -15
  55. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +45 -17
  56. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +59 -22
  57. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -9
  58. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +50 -18
  59. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +31 -18
  60. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +34 -17
  61. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +64 -23
  62. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units_react.md +1 -0
  63. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -1
  64. data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -1
  65. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +1 -3
  66. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors.jsx +36 -17
  67. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_colors_react.md +3 -0
  68. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +31 -16
  69. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +63 -31
  70. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.md +3 -0
  71. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +35 -16
  72. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +41 -16
  73. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.jsx +107 -62
  74. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_position.md +4 -7
  75. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +0 -1
  76. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +0 -1
  77. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_show_checked_children.html.erb +75 -0
  78. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_show_checked_children.jsx +94 -0
  79. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_show_checked_children.md +3 -0
  80. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -1
  81. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_rails.md +3 -1
  82. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default_react.md +3 -1
  83. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control.jsx +112 -0
  84. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control_react.md +3 -0
  85. data/app/pb_kits/playbook/pb_pagination/docs/example.yml +1 -0
  86. data/app/pb_kits/playbook/pb_pagination/docs/index.js +1 -0
  87. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.html.erb +10 -0
  88. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.jsx +26 -0
  89. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_strict_mode.md +3 -0
  90. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -0
  91. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
  92. data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +1 -0
  93. data/dist/playbook-doc.js +2 -2
  94. metadata +46 -18
  95. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +0 -30
  96. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +0 -1
  97. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.jsx +0 -52
  98. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_pb_styles.md +0 -1
  99. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_continuous.jsx +0 -69
  100. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_default.jsx +0 -71
  101. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_multi_beacon.jsx +0 -110
  102. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_beacon.jsx +0 -76
  103. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_no_overlay.jsx +0 -76
  104. data/app/pb_kits/playbook/pb_walkthrough/docs/_walkthrough_styled.jsx +0 -76
  105. data/app/pb_kits/playbook/pb_walkthrough/docs/example.yml +0 -10
  106. data/app/pb_kits/playbook/pb_walkthrough/docs/index.js +0 -6
  107. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_row_styling.md → _advanced_table_row_styling_react.md} +0 -0
  108. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_colors.md → _gauge_colors_rails.md} +0 -0
  109. /data/app/pb_kits/playbook/pb_gauge/docs/{_gauge_complex.md → _gauge_complex_rails.md} +0 -0
  110. /data/app/pb_kits/playbook/pb_line_graph/docs/{_line_graph_colors.md → _line_graph_colors_rails.md} +0 -0
@@ -10,14 +10,17 @@ examples:
10
10
  - advanced_table_beta_sort: Enable Sorting
11
11
  - advanced_table_responsive: Responsive Tables
12
12
  - advanced_table_custom_cell_rails: Custom Components for Cells
13
+ - advanced_table_with_custom_header_rails: Custom Header Cell
13
14
  - advanced_table_column_headers: Multi-Header Columns
14
15
  - advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
16
+ - advanced_table_column_headers_vertical_border: Multi-Header Columns with Vertical Borders
15
17
  - advanced_table_no_subrows: Table with No Subrows or Expansion
16
18
  - advanced_table_selectable_rows_rails: Selectable Rows
17
19
  - advanced_table_selectable_rows_no_subrows_rails: Selectable Rows (No Subrows)
18
20
  - advanced_table_selectable_rows_actions_rails: Selectable Rows (With Actions)
19
21
  - advanced_table_selectable_rows_header_rails: Selectable Rows (No Actions Bar)
20
22
  - advanced_table_scrollbar_none: Advanced Table Scrollbar None
23
+ - advanced_table_row_styling: Row Styling
21
24
  - advanced_table_column_styling_rails: Column Styling
22
25
  - advanced_table_column_styling_column_headers_rails: Column Styling with Multiple Headers
23
26
  - advanced_table_column_border_color_rails: Column Group Border Color
@@ -27,6 +30,8 @@ examples:
27
30
  - advanced_table_default: Default (Required Props)
28
31
  - advanced_table_sort: Enable Sorting
29
32
  - advanced_table_sort_control: Sort Control
33
+ - advanced_table_sort_per_column: Enable Sort By Column
34
+ - advanced_table_sort_per_column_for_multi_column: Enable Sort By Column (Multi-Column)
30
35
  - advanced_table_custom_sort: Custom Sort
31
36
  - advanced_table_expanded_control: Expanded Control
32
37
  - advanced_table_expand_by_depth: Expand by Depth
@@ -41,6 +46,7 @@ examples:
41
46
  - advanced_table_responsive: Responsive Tables
42
47
  - advanced_table_custom_cell: Custom Components for Cells
43
48
  - advanced_table_with_custom_header: Custom Header Cell
49
+ - advanced_table_with_custom_header_multi_header: Custom Header with Multiple Headers
44
50
  - advanced_table_pagination: Pagination
45
51
  - advanced_table_pagination_with_props: Pagination Props
46
52
  - advanced_table_loading: Loading State
@@ -48,6 +54,7 @@ examples:
48
54
  - advanced_table_column_headers: Multi-Header Columns
49
55
  - advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
50
56
  - advanced_table_column_headers_custom_cell: Multi-Header Columns with Custom Cells
57
+ - advanced_table_column_headers_vertical_border: Multi-Header Columns with Vertical Borders
51
58
  - advanced_table_no_subrows: Table with No Subrows or Expansion
52
59
  - advanced_table_pinned_rows: Pinned Rows
53
60
  - advanced_table_selectable_rows: Selectable Rows
@@ -61,8 +68,10 @@ examples:
61
68
  - advanced_table_column_visibility_multi: Column Visibility Control with Multi-Header Columns
62
69
  - advanced_table_scrollbar_none: Advanced Table Scrollbar None
63
70
  - advanced_table_row_styling: Row Styling
71
+ - advanced_table_padding_control_per_row: Padding Control using Row Styling
64
72
  - advanced_table_column_styling: Column Styling
65
73
  - advanced_table_column_styling_column_headers: Column Styling with Multiple Headers
74
+ - advanced_table_padding_control: Padding Control using Column Styling
66
75
  - advanced_table_column_border_color: Column Group Border Color
67
76
  - advanced_table_fullscreen: Fullscreen
68
77
  - advanced_table_infinite_scroll: Infinite Scroll
@@ -21,6 +21,7 @@ export { default as AdvancedTableSelectableRowsHeader } from './_advanced_table_
21
21
  export { default as AdvancedTableSelectableRowsActions } from './_advanced_table_selectable_rows_actions.jsx'
22
22
  export { default as AdvancedTableTablePropsStickyHeader } from './_advanced_table_table_props_sticky_header.jsx'
23
23
  export { default as AdvancedTableColumnHeadersCustomCell } from './_advanced_table_column_headers_custom_cell.jsx'
24
+ export { default as AdvancedTableColumnHeadersVerticalBorder } from './_advanced_table_column_headers_vertical_border.jsx'
24
25
  export { default as AdvancedTableInlineEditing } from './_advanced_table_inline_editing.jsx'
25
26
  export { default as AdvancedTableFullscreen } from './_advanced_table_fullscreen.jsx'
26
27
  export { default as AdvancedTableStickyColumns } from './_advanced_table_sticky_columns.jsx'
@@ -40,3 +41,8 @@ export { default as AdvancedTableColumnStylingColumnHeaders } from './_advanced_
40
41
  export { default as AdvancedTableInfiniteScroll} from './_advanced_table_infinite_scroll.jsx'
41
42
  export {default as AdvancedTableWithCustomHeader} from './_advanced_table_with_custom_header.jsx'
42
43
  export { default as AdvancedTableCustomSort } from './_advanced_table_custom_sort.jsx'
44
+ export { default as AdvancedTableWithCustomHeaderMultiHeader } from './_advanced_table_with_custom_header_multi_header.jsx'
45
+ export { default as AdvancedTableSortPerColumn } from './_advanced_table_sort_per_column.jsx'
46
+ export { default as AdvancedTableSortPerColumnForMultiColumn } from './_advanced_table_sort_per_column_for_multi_column.jsx'
47
+ export { default as AdvancedTablePaddingControl } from './_advanced_table_padding_control.jsx'
48
+ export { default as AdvancedTablePaddingControlPerRow } from './_advanced_table_padding_control_per_row.jsx'
@@ -1,7 +1,7 @@
1
1
  ##### Prop
2
2
 
3
3
  `align` **Type**: String | **Values**: left | center | right (defaults to center)
4
- `verticalAlign` **Type**: String | **Values**: top | middle | bottom (defaults middle)
4
+ `verticalAlign` **Type**: String | **Values**: top | middle | bottom (defaults to bottom)
5
5
  `layout` **Type**: String | **Values**: horizontal | vertical | proximate (defaults to horizontal)
6
6
  `x` **Type**: Number (defaults to 0)
7
7
  `y` **Type**: Number (defaults to 0)
@@ -9,10 +9,10 @@
9
9
  <tr>
10
10
  <th>
11
11
  <%= pb_rails("checkbox", props: {
12
- text: "Uncheck All",
13
12
  value: "checkbox-value",
14
13
  name: "main-checkbox",
15
14
  indeterminate_main: true,
15
+ indeterminate_main_labels: ["Check All Ice Cream", "Uncheck All Ice Cream"],
16
16
  id: "indeterminate-checkbox"
17
17
  }) %>
18
18
  </th>
@@ -1 +1,2 @@
1
- If you want to use indeterminate, "check/uncheck all" checkboxes, add `indeterminate_main: true` and an `id` to the main checkbox. Then, add an `indeterminate_parent` prop with the main checkbox's `id` to the children checkboxes.
1
+ If you want to use indeterminate, "check/uncheck all" checkboxes, add `indeterminate_main: true` and an `id` to the main checkbox. Then, add an `indeterminate_parent` prop with the main checkbox's `id` to the children checkboxes.
2
+ If you want to customize the main checkbox labels, set an array `indeterminate_main_labels` with "Check All" and "Uncheck All" labels.
@@ -1,7 +1,7 @@
1
1
  ##### Prop
2
2
 
3
3
  `align` **Type**: String | **Values**: left | center | right (defaults to center)
4
- `verticalAlign` **Type**: String | **Values**: top | middle | bottom (defaults middle)
4
+ `verticalAlign` **Type**: String | **Values**: top | middle | bottom (defaults to bottom)
5
5
  `layout` **Type**: String | **Values**: horizontal | vertical | proximate (defaults to horizontal)
6
6
  `x` **Type**: Number (defaults to 0)
7
7
  `y` **Type**: Number (defaults to 0)
@@ -0,0 +1,24 @@
1
+ <%= pb_rails("circle_icon_button", props: {
2
+ icon: "plus",
3
+ input_options: {
4
+ data: { "test-id": "add-button", remote: true },
5
+ }
6
+ }) %>
7
+ <br/>
8
+ <%= pb_rails("circle_icon_button", props: {
9
+ icon: "pen",
10
+ variant: "secondary",
11
+ input_options: {
12
+ data: { "test-id": "edit-button" },
13
+ classname: "custom-secondary-button-class"
14
+ }
15
+ }) %>
16
+ <br/>
17
+ <%= pb_rails("circle_icon_button", props: {
18
+ icon: "user",
19
+ variant: "link",
20
+ input_options: {
21
+ data: { "test-id": "user-button" },
22
+ id: "user-button-id"
23
+ }
24
+ }) %>
@@ -0,0 +1,3 @@
1
+ Use the `input_options` prop to pass additional attributes directly to the internal Playbook Button component. While the wrapper div has access to the standard `data` prop from KitBase, `input_options` allows you to attach attributes specifically to the internal button element.
2
+
3
+ This is particularly useful when you need data attributes or other HTML attributes to apply to the button itself.
@@ -5,6 +5,7 @@ examples:
5
5
  - circle_icon_button_link: Link
6
6
  - circle_icon_button_loading: Loading
7
7
  - circle_icon_button_size: Size
8
+ - circle_icon_button_input_options: Input Options
8
9
 
9
10
  react:
10
11
  - circle_icon_button_default: Default
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date", props: {
2
+ date: Date.today,
3
+ show_current_year: true
4
+ }) %>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+
3
+ import FormattedDate from '../../pb_date/_date'
4
+
5
+ const DateWithShowCurrentYear = (props) => {
6
+ return (
7
+ <>
8
+ <FormattedDate
9
+ showCurrentYear
10
+ value={new Date()}
11
+ {...props}
12
+ />
13
+ </>
14
+ )
15
+ }
16
+
17
+ export default DateWithShowCurrentYear
@@ -0,0 +1 @@
1
+ By default, the Date kit does NOT display the year if it is the current year. If you want to display the current year you can do so by setting `showCurrentYear`/`show_current_year` to true as shown here.
@@ -5,12 +5,14 @@ examples:
5
5
  - date_variants: Variants
6
6
  - date_alignment: Alignment
7
7
  - date_timezone: Timezones
8
+ - date_with_show_current_year: Show Current Year
8
9
  - date_unstyled: Unstyled
9
10
 
10
11
  react:
11
12
  - date_default: Default
12
13
  - date_variants: Variants
13
14
  - date_alignment: Alignment
15
+ - date_with_show_current_year: Show Current Year
14
16
  - date_unstyled: Unstyled
15
17
 
16
18
  swift:
@@ -2,3 +2,4 @@ export { default as DateDefault } from './_date_default.jsx'
2
2
  export { default as DateVariants } from './_date_variants.jsx'
3
3
  export { default as DateAlignment } from './_date_alignment.jsx'
4
4
  export { default as DateUnstyled } from './_date_unstyled.jsx'
5
+ export { default as DateWithShowCurrentYear } from './_date_with_show_current_year.jsx'
@@ -1 +1 @@
1
- <%= pb_rails("date_picker", props: { picker_id: "date-picker-default"}) %>
1
+ <%= pb_rails("date_picker", props: { cursor: "notAllowed", picker_id: "date-picker-default"}) %>
@@ -5,6 +5,7 @@ import DatePicker from '../_date_picker'
5
5
  const DatePickerDefault = (props) => (
6
6
  <div>
7
7
  <DatePicker
8
+ cursor="notAllowed"
8
9
  pickerId="date-picker-default"
9
10
  {...props}
10
11
  />
@@ -0,0 +1,90 @@
1
+ import React from 'react'
2
+ import Dropdown from '../_dropdown'
3
+
4
+ const DropdownCustomActiveStyleOptions = (props) => {
5
+
6
+
7
+ const options = [
8
+ {
9
+ label: "United States",
10
+ value: "unitedStates",
11
+ id: "us"
12
+ },
13
+ {
14
+ label: "Canada",
15
+ value: "canada",
16
+ id: "ca"
17
+ },
18
+ {
19
+ label: "Pakistan",
20
+ value: "pakistan",
21
+ id: "pk"
22
+ }
23
+ ];
24
+
25
+
26
+ return (
27
+ <div>
28
+ <Dropdown
29
+ activeStyle={{
30
+ backgroundColor: "bg_light",
31
+ fontColor: "primary",
32
+ }}
33
+ label="Background Color: bg_light; Font Color: primary"
34
+ marginBottom="sm"
35
+ options={options}
36
+ {...props}
37
+ >
38
+ <Dropdown.Trigger/>
39
+ <Dropdown.Container>
40
+ {options.map((option) => (
41
+ <Dropdown.Option key={option.id}
42
+ option={option}
43
+ />
44
+ ))}
45
+ </Dropdown.Container>
46
+ </Dropdown>
47
+ <Dropdown
48
+ activeStyle={{
49
+ backgroundColor: "white",
50
+ fontColor: "primary",
51
+ }}
52
+ label="Background Color: white; Font Color: primary"
53
+ marginBottom="sm"
54
+ options={options}
55
+ {...props}
56
+ />
57
+ <Dropdown
58
+ activeStyle={{
59
+ backgroundColor: "bg_light",
60
+ fontColor: "text_lt_default",
61
+ }}
62
+ autocomplete
63
+ label="Background Color: bg_light; Font Color: text_lt_default"
64
+ marginBottom="sm"
65
+ options={options}
66
+ {...props}
67
+ />
68
+ <Dropdown
69
+ activeStyle={{
70
+ fontColor: "text_lt_lighter",
71
+ }}
72
+ label="Font Color: text_lt_lighter"
73
+ marginBottom="sm"
74
+ options={options}
75
+ {...props}
76
+ >
77
+ <Dropdown.Trigger/>
78
+ <Dropdown.Container>
79
+ {options.map((option) => (
80
+ <Dropdown.Option key={option.id}
81
+ option={option}
82
+ />
83
+ ))}
84
+ </Dropdown.Container>
85
+ </Dropdown>
86
+ </div>
87
+ )
88
+ }
89
+
90
+ export default DropdownCustomActiveStyleOptions
@@ -0,0 +1,4 @@
1
+ The `activeStyle` prop can be used to customize the appearance of the dropdown selection indicator. It accepts an object with the following keys: `backgroundColor` sets the background color of the selected item (and its hover state); `fontColor` sets the font color of the selected item.
2
+
3
+ `backgroundColor` **Type**: String | **Values**: bg_light | white | **Default**: (no selection) is primary
4
+ `fontColor` **Type**: String | **Values**: primary | all [Playbook Text Colors](https://playbook.powerapp.cloud/visual_guidelines/colors) | **Default**: (no selection) is white
@@ -18,6 +18,7 @@ const DropdownCustomRadioOptions = (props) => {
18
18
  return (
19
19
  <div>
20
20
  <Dropdown
21
+ activeStyle={{ backgroundColor: "bg_light", fontColor: "text_lt_default" }}
21
22
  label="Select Item"
22
23
  onSelect={(selectedItem) => setSelectedValue(selectedItem?.value)}
23
24
  options={options}
@@ -1 +1 @@
1
- Radio inputs can be used inside `Dropdown.Option` for a custom layout that mimics form-like selection within a dropdown.
1
+ Radio inputs can be used inside `Dropdown.Option` for a custom layout that mimics form-like selection within a dropdown. Use the [activeStyle](https://playbook.powerapp.cloud/kits/dropdown/react#custom-active-style-options) `backgroundColor` and `fontColor` props to create contrast between the Radio selection indicator and the Dropdown selection background indicator.
@@ -16,7 +16,7 @@ examples:
16
16
  - dropdown_with_search_rails: Custom Trigger Dropdown with Search
17
17
  - dropdown_with_custom_padding: Custom Option Padding
18
18
  - dropdown_with_custom_icon_options: Custom Icon Options
19
- # - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
19
+ # - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in the Rails follow up to [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
20
20
  - dropdown_error: Dropdown with Error
21
21
  - dropdown_default_value: Default Value
22
22
  - dropdown_multi_select_with_default: Multi Select Default Value
@@ -39,8 +39,9 @@ examples:
39
39
  - dropdown_with_custom_trigger: Custom Trigger
40
40
  - dropdown_with_search: Custom Trigger Dropdown with Search
41
41
  - dropdown_with_custom_padding: Custom Option Padding
42
+ - dropdown_with_custom_active_style_options: Custom Active Style Options
42
43
  - dropdown_with_custom_icon_options: Custom Icon Options
43
- # - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
44
+ - dropdown_with_custom_radio_options: Custom Radio Options
44
45
  - dropdown_error: Dropdown with Error
45
46
  - dropdown_default_value: Default Value
46
47
  - dropdown_multi_select_with_default: Multi Select Default Value
@@ -21,4 +21,5 @@ export { default as DropdownMultiSelectWithAutocomplete } from './_dropdown_mult
21
21
  export { default as DropdownMultiSelectWithDefault } from './_dropdown_multi_select_with_default.jsx'
22
22
  export { default as DropdownMultiSelectWithCustomOptions } from './_dropdown_multi_select_with_custom_options.jsx'
23
23
  export {default as DropdownWithCustomIconOptions} from './_dropdown_with_custom_icon_options.jsx'
24
- export {default as DropdownWithCustomRadioOptions} from './_dropdown_with_custom_radio_options.jsx'
24
+ export {default as DropdownWithCustomRadioOptions} from './_dropdown_with_custom_radio_options.jsx'
25
+ export {default as DropdownWithCustomActiveStyleOptions} from './_dropdown_with_custom_active_style_options.jsx'
@@ -0,0 +1,22 @@
1
+ <%= pb_rails("fixed_confirmation_toast", props: {
2
+ text: "Error Message",
3
+ status: "error",
4
+ icon: "none",
5
+ closeable: true
6
+ })%>
7
+
8
+ <br><br>
9
+
10
+ <%= pb_rails("fixed_confirmation_toast", props: {
11
+ text: "Items Successfully Moved",
12
+ status: "success",
13
+ icon: "none"
14
+ })%>
15
+
16
+ <br><br>
17
+
18
+ <%= pb_rails("fixed_confirmation_toast", props: {
19
+ text: "Scan to Assign Selected Items",
20
+ status: "neutral",
21
+ icon: "none"
22
+ })%>
@@ -0,0 +1,43 @@
1
+ import React from 'react'
2
+
3
+ import FixedConfirmationToast from '../_fixed_confirmation_toast'
4
+
5
+ const FixedConfirmationToastNoIcon = (props) => {
6
+ return (
7
+ <div>
8
+ <div>
9
+ <FixedConfirmationToast
10
+ closeable
11
+ icon="none"
12
+ status="error"
13
+ text="Error Message"
14
+ {...props}
15
+ />
16
+ </div>
17
+
18
+ <br />
19
+
20
+ <div>
21
+ <FixedConfirmationToast
22
+ icon="none"
23
+ status="success"
24
+ text="Items Successfully Moved"
25
+ {...props}
26
+ />
27
+ </div>
28
+
29
+ <br />
30
+
31
+ <div>
32
+ <FixedConfirmationToast
33
+ icon="none"
34
+ status="neutral"
35
+ text="Scan to Assign Selected Items"
36
+ {...props}
37
+ />
38
+ </div>
39
+ </div>
40
+ )
41
+ }
42
+
43
+ export default FixedConfirmationToastNoIcon
@@ -0,0 +1 @@
1
+ Setting `icon` prop to "none" will render the fixed confirmation toast without the left side icon.
@@ -8,6 +8,7 @@ examples:
8
8
  - fixed_confirmation_toast_auto_close: Click to Show Auto Close
9
9
  - fixed_confirmation_toast_children: Children
10
10
  - fixed_confirmation_toast_custom_icon: Custom Icon
11
+ - fixed_confirmation_toast_no_icon: No Icon
11
12
 
12
13
  react:
13
14
  - fixed_confirmation_toast_default: Default
@@ -17,6 +18,7 @@ examples:
17
18
  - fixed_confirmation_toast_auto_close: Click to Show Auto Close
18
19
  - fixed_confirmation_toast_children: Children
19
20
  - fixed_confirmation_toast_custom_icon: Custom Icon
21
+ - fixed_confirmation_toast_no_icon: No Icon
20
22
 
21
23
  swift:
22
24
  - fixed_confirmation_toast_default_swift: Default
@@ -5,3 +5,4 @@ export { default as FixedConfirmationToastPositions } from './_fixed_confirmatio
5
5
  export { default as FixedConfirmationToastAutoClose } from './_fixed_confirmation_toast_auto_close.jsx'
6
6
  export { default as FixedConfirmationToastChildren } from './_fixed_confirmation_toast_children.jsx'
7
7
  export { default as FixedConfirmationToastCustomIcon } from './_fixed_confirmation_toast_custom_icon.jsx'
8
+ export { default as FixedConfirmationToastNoIcon } from './_fixed_confirmation_toast_no_icon.jsx'
@@ -0,0 +1 @@
1
+ **Important Note for the React Kit**: In order to leverage this kit, you must install `highcharts` and `highcharts-react-official` into your project as shown below. To then apply Playbook styles to your Highchart, import gaugeTheme.ts from playbook-ui and merge it with your Highchart options. Then, pass the merged value to the options prop. Playbook’s styling will be applied automatically. See the examples in the documentation below.
@@ -1,19 +1,36 @@
1
1
  import React from 'react'
2
- import Gauge from '../../pb_gauge/_gauge'
2
+ import gaugeTheme from '../gaugeTheme'
3
+ import Highcharts from "highcharts"
4
+ import HighchartsReact from "highcharts-react-official"
5
+ import HighchartsMore from "highcharts/highcharts-more"
6
+ import SolidGauge from "highcharts/modules/solid-gauge"
7
+ import colors from '../../tokens/exports/_colors.module.scss'
3
8
 
4
- const data = [
5
- { name: 'Name', value: 67 },
6
- ]
9
+ HighchartsMore(Highcharts);
10
+ SolidGauge(Highcharts);
7
11
 
8
- const GaugeColors = (props) => (
9
- <div>
10
- <Gauge
11
- chartData={data}
12
- id="gauge-colors"
13
- {...props}
14
- colors={['data-7']}
15
- />
16
- </div>
17
- )
12
+ const data = [{ name: "Name", y: 67 }]
18
13
 
19
- export default GaugeColors
14
+ const baseOptions = {
15
+ series: [{ data: data }],
16
+ plotOptions: {
17
+ solidgauge: {
18
+ borderColor: colors.data_7,
19
+ }
20
+ },
21
+ };
22
+
23
+ const GaugeColors = () => {
24
+ const options = Highcharts.merge({}, gaugeTheme, baseOptions);
25
+
26
+ return (
27
+ <div>
28
+ <HighchartsReact
29
+ highcharts={Highcharts}
30
+ options={options}
31
+ />
32
+ </div>
33
+ );
34
+ };
35
+
36
+ export default GaugeColors;
@@ -0,0 +1,2 @@
1
+ Custom data colors allow for color customization to match the needs of business requirements.
2
+ Pass the prop `plotOptions.solidgauge.borderColor` with a Playbook token like `colors.` + `data_1 | data_2 | data_3 | data_4 | data_5 | data_6 | data_7 | data_8`. Hex colors are also available `eg: #CA0095`
@@ -2,14 +2,44 @@ import React from "react";
2
2
 
3
3
  import Flex from '../../pb_flex/_flex'
4
4
  import FlexItem from '../../pb_flex/_flex_item'
5
- import Gauge from '../../pb_gauge/_gauge'
6
5
  import Card from '../../pb_card/_card'
7
6
  import Caption from '../../pb_caption/_caption'
8
7
  import Body from '../../pb_body/_body'
9
8
  import SectionSeparator from '../../pb_section_separator/_section_separator'
10
9
  import Title from '../../pb_title/_title'
10
+ import gaugeTheme from '../gaugeTheme'
11
+ import Highcharts from "highcharts"
12
+ import HighchartsReact from "highcharts-react-official"
13
+ import HighchartsMore from "highcharts/highcharts-more"
14
+ import SolidGauge from "highcharts/modules/solid-gauge"
15
+ import colors from '../../tokens/exports/_colors.module.scss'
16
+ import typography from '../../tokens/exports/_typography.module.scss'
11
17
 
12
- const data = [{ name: "Name", value: 10 }];
18
+ HighchartsMore(Highcharts);
19
+ SolidGauge(Highcharts);
20
+
21
+ const data = [{ name: "Name", y: 10 }];
22
+
23
+ const baseOptions = {
24
+ series: [{ data: data }],
25
+ chart: {
26
+ height: "150",
27
+ },
28
+ plotOptions: {
29
+ series: {
30
+ animation: false,
31
+ },
32
+ solidgauge: {
33
+ dataLabels: {
34
+ format:
35
+ `<span class="fix">{y:,f}</span>` +
36
+ `<span style="fill: ${colors.text_lt_light}; font-size: ${typography.text_larger};">%</span>`,
37
+ },
38
+ },
39
+ },
40
+ };
41
+
42
+ const options = Highcharts.merge({}, gaugeTheme, baseOptions);
13
43
 
14
44
  const GaugeComplex = (props) => (
15
45
  <Flex
@@ -100,13 +130,9 @@ const GaugeComplex = (props) => (
100
130
  shrink
101
131
  {...props}
102
132
  >
103
- <Gauge
104
- chartData={data}
105
- disableAnimation
106
- height="150"
107
- id="gauge-complex"
108
- suffix="%"
109
- {...props}
133
+ <HighchartsReact
134
+ highcharts={Highcharts}
135
+ options={options}
110
136
  />
111
137
  </FlexItem>
112
138
  </Flex>
@@ -0,0 +1 @@
1
+ We are able to wrap the Highcharts Gauge kit within Playbook kits (such as Flex and Card components).
@@ -1,18 +1,30 @@
1
1
  import React from 'react'
2
- import Gauge from '../../pb_gauge/_gauge'
2
+ import gaugeTheme from '../gaugeTheme'
3
+ import Highcharts from "highcharts"
4
+ import HighchartsReact from "highcharts-react-official"
5
+ import HighchartsMore from "highcharts/highcharts-more"
6
+ import SolidGauge from "highcharts/modules/solid-gauge"
3
7
 
4
- const data = [
5
- { name: 'Name', value: 45 },
6
- ]
8
+ HighchartsMore(Highcharts);
9
+ SolidGauge(Highcharts);
7
10
 
8
- const GaugeDefault = (props) => (
9
- <div>
10
- <Gauge
11
- chartData={data}
12
- id="gauge-default"
13
- {...props}
14
- />
15
- </div>
16
- )
11
+ const data = [{ name: "Name", y: 45 }]
17
12
 
18
- export default GaugeDefault
13
+ const baseOptions = {
14
+ series: [{ data: data }],
15
+ };
16
+
17
+ const GaugeDefault = () => {
18
+ const options = Highcharts.merge({}, gaugeTheme, baseOptions);
19
+
20
+ return (
21
+ <div>
22
+ <HighchartsReact
23
+ highcharts={Highcharts}
24
+ options={options}
25
+ />
26
+ </div>
27
+ );
28
+ };
29
+
30
+ export default GaugeDefault;