playbook_ui_docs 15.4.0.pre.rc.1 → 15.4.0.pre.rc.3

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.html.erb +4 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.md +1 -1
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color.md +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.md +1 -1
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.jsx +3 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md +2 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx +1 -1
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.html.erb +1 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.md +2 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.jsx +9 -1
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.md +1 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.md +1 -1
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +1 -1
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +1 -1
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header.jsx +16 -0
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header_rails.html.erb +104 -0
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_multi_header_rails.md +1 -0
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_with_custom_header_rails.html.erb +1 -1
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
  21. data/app/pb_kits/playbook/pb_background/docs/_background_category.md +1 -1
  22. data/app/pb_kits/playbook/pb_card/docs/_card_background.md +1 -1
  23. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  24. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
  25. data/app/pb_kits/playbook/pb_card/docs/_card_light.md +1 -1
  26. data/app/pb_kits/playbook/pb_currency/docs/_currency_variants.html.erb +1 -1
  27. data/app/pb_kits/playbook/pb_currency/docs/_currency_variants.jsx +1 -1
  28. data/app/pb_kits/playbook/pb_currency/docs/_currency_variants.md +1 -0
  29. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_and_dropdown_range.jsx +38 -0
  30. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_and_dropdown_range.md +14 -0
  31. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +2 -1
  32. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -1
  33. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
  34. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.jsx +18 -0
  35. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick.md +4 -0
  36. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.jsx +18 -0
  37. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_default_dates.md +1 -0
  38. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end.jsx +19 -0
  39. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_range_end.md +1 -0
  40. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers.jsx +38 -0
  41. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_quickpick_with_date_pickers.md +14 -0
  42. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_active_style_options_react.md +1 -1
  43. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +5 -0
  44. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +5 -1
  45. data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.md +1 -1
  46. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close.html.erb +15 -1
  47. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +9 -8
  48. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions.html.erb +11 -10
  49. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_rails.md +1 -1
  50. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_react.md +1 -1
  51. data/app/pb_kits/playbook/pb_icon/docs/_icon_color.md +1 -1
  52. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color.md +1 -1
  53. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.html.erb +7 -14
  54. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +6 -15
  55. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.md +1 -1
  56. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.md +1 -1
  57. data/app/pb_kits/playbook/pb_nav/docs/_nav_with_spacing_control.md +1 -1
  58. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.md +1 -1
  59. data/app/pb_kits/playbook/pb_pill/docs/_description.md +1 -1
  60. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_description.md +1 -1
  61. data/app/pb_kits/playbook/pb_section_separator/docs/_description.md +1 -1
  62. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_rails.md +1 -1
  63. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius_react.md +1 -1
  64. data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.md +1 -1
  65. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.md +1 -1
  66. data/app/pb_kits/playbook/pb_table/docs/_table_sm.md +1 -1
  67. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.html.erb +63 -0
  68. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.jsx +89 -0
  69. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_rails.md +4 -0
  70. data/app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_react.md +3 -0
  71. data/app/pb_kits/playbook/pb_table/docs/example.yml +2 -0
  72. data/app/pb_kits/playbook/pb_table/docs/index.js +1 -0
  73. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md +1 -1
  74. data/dist/playbook-doc.js +2 -2
  75. metadata +19 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ac55085fcb750ce81b4b65727f8d5109e4a0a66e314be044e1b22ccf557c916
4
- data.tar.gz: 817b5503d03bf7690938f2a8a382bb66e90bc39f79c027ef53360baa2f94d2f3
3
+ metadata.gz: 633d736578c91f6476350ae6ea9443ec55d8ef3d0f43699834e72ade09fcc84a
4
+ data.tar.gz: dae6c8416b48eb063403aac233dc45002e9cd2d2b84b9df3da559841e72fe163
5
5
  SHA512:
6
- metadata.gz: 74df73e915b69736c26ddcb09781e62b636fea5bd5a386b17fd84a457a0e0cc1cc8e5ec98198ae82c61b34792f7b1358f2dd00e60b95c9ddeb1e4cbc8c163d18
7
- data.tar.gz: cf4d0bc977064a325ef399fa5ffe5b258a329e3b756c75f17e52b1d7b6fa4aedac074d3b604dba4c9295ac38a787df2df49011d211cb970f799636dce666d9d1
6
+ metadata.gz: b93c3ec5eac035f4d521f88ce23a50bc240eda6ce89019a60cf19261c410d4003298e76221822b5ed4a3d0fbb369f49787a60fd145cada6d24f3d74c1fa88744
7
+ data.tar.gz: 063d1adb4f740a2b2efadea68c6fdee1654aeb34bec31376c9a07eda8faa11685a5a9d648d51dc76167b98502be04c9b8b9bf1a402359e5751d401364010f9c1
@@ -26,6 +26,10 @@
26
26
  {
27
27
  accessor: "classCompletionRate",
28
28
  label: "Class Completion Rate",
29
+ column_styling: {
30
+ cell_background_color: "category_1",
31
+ font_color: "white"
32
+ }
29
33
  },
30
34
  {
31
35
  accessor: "graduatedStudents",
@@ -1 +1 @@
1
- `column_styling` can also be used to control the background color on all cells in a given column via the use of the `cell_background_color` key/value pair. Use `cell_background_color` to achieve custom background colors for individual cells as seen here.
1
+ `column_styling` can also be used to control the background color on all cells in a given column via the use of the `cell_background_color` key/value pair. Use `cell_background_color` to achieve custom background colors for individual cells as seen here. Use `font_color` to achieve better contrast between cell content and background for darker backgrounds.
@@ -1,3 +1,3 @@
1
1
  The borders of column groups can be set to a different color using the `columnGroupBorderColor` prop. In order for these borders to be visible, this prop must be used with `tableProps` and `verticalBorder` set to true.
2
2
 
3
- The available colors for the border are Playbook's Text Colors, which can be found [here](https://playbook.powerapp.cloud/visual_guidelines/colors).
3
+ The available colors for the border are Playbook's Text Colors, which can be found [here](https://playbook.powerapp.cloud/tokens/colors).
@@ -1,3 +1,3 @@
1
1
  The borders of column groups can be set to a different color using the `column_group_border_color` prop. In order for these borders to be visible, this prop must be used with `table_props` and `vertical_border` set to true.
2
2
 
3
- The available colors for the border are Playbook's Text Colors, which can be found [here](https://playbook.powerapp.cloud/visual_guidelines/colors).
3
+ The available colors for the border are Playbook's Text Colors, which can be found [here](https://playbook.powerapp.cloud/tokens/colors).
@@ -1,7 +1,8 @@
1
1
  import React from "react"
2
- import AdvancedTable from '../../pb_advanced_table/_advanced_table'
2
+ import { AdvancedTable, colors } from "playbook-ui"
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json"
4
4
 
5
+
5
6
  const AdvancedTableColumnStyling = (props) => {
6
7
  const columnDefinitions = [
7
8
  {
@@ -34,6 +35,7 @@ const AdvancedTableColumnStyling = (props) => {
34
35
  {
35
36
  accessor: "graduatedStudents",
36
37
  label: "Graduated Students",
38
+ columnStyling:{fontColor: colors.data_8},
37
39
  },
38
40
  ]
39
41
 
@@ -4,4 +4,6 @@ The `columnStyling` prop is an optional item that can be used within `columnDefi
4
4
 
5
5
  2) `cellAlignment`: This will allow you to control alignment of content within all cells in the given column. This is set to right aligned by default. you can set this to `left`, `right` or `center`.
6
6
 
7
+ 3) `fontColor`: This will allow you to control the font color for a given column.
8
+
7
9
  `columnStyling` can be used within the columnDefinition of all the columns or some of them, as shown. Each column has its own individual control in this way.
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import AdvancedTable from '../../pb_advanced_table/_advanced_table';
2
+ import { AdvancedTable } from "playbook-ui";
3
3
  import MOCK_DATA from "./advanced_table_mock_data.json";
4
4
 
5
5
  const AdvancedTableColumnStylingColumnHeaders = (props) => {
@@ -29,6 +29,7 @@
29
29
  {
30
30
  accessor: "graduatedStudents",
31
31
  label: "Graduated Students",
32
+ column_styling: { font_color: "red" }
32
33
  }
33
34
  ] %>
34
35
 
@@ -4,4 +4,6 @@ The `column_styling` prop is an optional item that can be used within `column_de
4
4
 
5
5
  2) `cell_alignment`: This will allow you to control alignment of content within all cells in the given column. This is set to right aligned by default. you can set this to `left`, `right` or `center`.
6
6
 
7
+ 3) `font_color`: This will allow you to control the font color for a given column.
8
+
7
9
  `column_styling` can be used within the column_definition of all the columns or some of them, as shown. Each column has its own individual control in this way.
@@ -22,7 +22,6 @@ const AdvancedTablePaddingControl = (props) => {
22
22
  {value}
23
23
  </Background>
24
24
  ),
25
-
26
25
  },
27
26
  {
28
27
  accessor: "scheduledMeetings",
@@ -39,6 +38,15 @@ const AdvancedTablePaddingControl = (props) => {
39
38
  {
40
39
  accessor: "classCompletionRate",
41
40
  label: "Class Completion Rate",
41
+ columnStyling:{cellPadding: "none", fontColor: "white"},
42
+ customRenderer: (row, value) => (
43
+ <Background
44
+ backgroundColor={"category_1"}
45
+ padding="xs"
46
+ >
47
+ {value}
48
+ </Background>
49
+ ),
42
50
  },
43
51
  {
44
52
  accessor: "graduatedStudents",
@@ -1,3 +1,3 @@
1
1
  `columnStyling` can also be used to control padding on all cells in a given column via the use of the `cellPadding` key/value pair. `cellPadding` lets you use 'xxs', 'xs', 'sm', 'md', 'lg', 'xl' and 'none'.
2
2
 
3
- This control can be used in conjunction with the `customRenderer` item within each columnDefinition to achieve custom background colors for individual cells as seen here.
3
+ This control can be used in conjunction with the `customRenderer` item within each columnDefinition to achieve custom background colors for individual cells as seen here. Use `fontColor` to achieve better contrast between cell content and background for darker backgrounds.
@@ -1,7 +1,7 @@
1
1
  To achieve a sticky header AND sticky columns together, in addition to the `stickyLeftColumn` logic outlined above, you can:
2
2
 
3
3
  - Set `sticky: true` via `tableProps`
4
- - Give the AdvancedTable a `maxHeight` using our [Max Height](https://playbook.powerapp.cloud/visual_guidelines/max_height) global prop.
4
+ - Give the AdvancedTable a `maxHeight` using our [Max Height](https://playbook.powerapp.cloud//global_props/max_height) global prop.
5
5
 
6
6
  **NOTE**: This behavior requires a `maxHeight` to work. The header is sticky within the table container, allowing for it to work along with the column stickiness.
7
7
 
@@ -1,4 +1,4 @@
1
- Create a sticky header that works for responsive Advanced Tables by setting `sticky: true` via `table_props` and giving the AdvancedTable a `max_height` using our [Max Height](https://playbook.powerapp.cloud/visual_guidelines/max_height) global prop.
1
+ Create a sticky header that works for responsive Advanced Tables by setting `sticky: true` via `table_props` and giving the AdvancedTable a `max_height` using our [Max Height](https://playbook.powerapp.cloud/global_props/max_height) global prop.
2
2
 
3
3
  **NOTE**: This behavior requires a `max_height` to work. The header is sticky within the table container, allowing for it to work along with the first column stickiness of a responsive table on smaller screen sizes.
4
4
 
@@ -1,4 +1,4 @@
1
- Create a sticky header that works for responsive Advanced Tables by setting `sticky: true` via `tableProps` and giving the AdvancedTable a `maxHeight` using our [Max Height](https://playbook.powerapp.cloud/visual_guidelines/max_height) global prop.
1
+ Create a sticky header that works for responsive Advanced Tables by setting `sticky: true` via `tableProps` and giving the AdvancedTable a `maxHeight` using our [Max Height](https://playbook.powerapp.cloud/global_props/max_height) global prop.
2
2
 
3
3
  **NOTE**: This behavior requires a `maxHeight` to work. The header is sticky within the table container, allowing for it to work along with the first column stickiness of a responsive table on smaller screen sizes.
4
4
 
@@ -76,6 +76,22 @@ const columnDefinitions = [
76
76
  {
77
77
  label: "Attendance",
78
78
  id: "attendance",
79
+ header: () => (
80
+ <Flex alignItems="center"
81
+ justifyContent="center"
82
+ >
83
+ <Caption marginRight="xs">Attendance</Caption>
84
+ <Tooltip placement="top"
85
+ text="Whoa. I'm a Tooltip Too!"
86
+ zIndex={10}
87
+ >
88
+ <Icon cursor="pointer"
89
+ icon="info"
90
+ size="xs"
91
+ />
92
+ </Tooltip>
93
+ </Flex>
94
+ ),
79
95
  columns: [
80
96
  {
81
97
  accessor: "attendanceRate",
@@ -0,0 +1,104 @@
1
+ <%
2
+ column_definitions = [
3
+ {
4
+ accessor: "year",
5
+ label: "Year",
6
+ id: "year",
7
+ cellAccessors: ["quarter", "month", "day"],
8
+ },
9
+ {
10
+ label: "Enrollment Data",
11
+ id: "enrollmentData",
12
+ header: ->(cell, label) {
13
+ capture do
14
+ pb_rails("flex", props: { align_items: "center", justify_content: "center" }) do
15
+ pb_rails("caption", props: { margin_right: "xs", text: "Enrollment Data" }) +
16
+ pb_rails("icon", props: { id: "tooltip-interact-multi", icon: "info", size: "xs", cursor: "pointer" }) +
17
+ pb_rails("tooltip", props: {
18
+ trigger_element_id: "tooltip-interact-multi",
19
+ tooltip_id: "example-custom-tooltip-multi",
20
+ position: "top",
21
+ z_index: "10"
22
+ }) do
23
+ "Whoa. I'm a Tooltip"
24
+ end
25
+ end
26
+ end
27
+ },
28
+ columns: [
29
+ {
30
+ label: "Enrollment Stats",
31
+ id: "enrollmentStats",
32
+ columns: [
33
+ {
34
+ accessor: "newEnrollments",
35
+ id: "newEnrollments",
36
+ label: "New Enrollments",
37
+ },
38
+ {
39
+ accessor: "scheduledMeetings",
40
+ id: "scheduledMeetings",
41
+ label: "Scheduled Meetings",
42
+ },
43
+ ],
44
+ },
45
+ ],
46
+ },
47
+ {
48
+ label: "Performance Data",
49
+ id: "performanceData",
50
+ columns: [
51
+ {
52
+ label: "Completion Metrics",
53
+ id: "completionMetrics",
54
+ columns: [
55
+ {
56
+ accessor: "completedClasses",
57
+ id: "completedClasses",
58
+ label: "Completed Classes",
59
+ },
60
+ {
61
+ accessor: "classCompletionRate",
62
+ id: "classCompletionRate",
63
+ label: "Class Completion Rate",
64
+ },
65
+ ],
66
+ },
67
+ {
68
+ label: "Attendance",
69
+ id: "attendance",
70
+ header: ->(cell, label) {
71
+ capture do
72
+ pb_rails("flex", props: { align_items: "center", justify_content: "center" }) do
73
+ pb_rails("caption", props: { margin_right: "xs", text: "Attendance" }) +
74
+ pb_rails("icon", props: { id: "tooltip-interact-multi-2", icon: "info", size: "xs", cursor: "pointer" }) +
75
+ pb_rails("tooltip", props: {
76
+ trigger_element_id: "tooltip-interact-multi-2",
77
+ tooltip_id: "example-custom-tooltip-multi-2",
78
+ position: "top",
79
+ z_index: "10"
80
+ }) do
81
+ "Whoa. I'm a Tooltip Too!"
82
+ end
83
+ end
84
+ end
85
+ },
86
+ columns: [
87
+ {
88
+ accessor: "attendanceRate",
89
+ id: "attendanceRate",
90
+ label: "Attendance Rate",
91
+ },
92
+ {
93
+ accessor: "scheduledMeetings",
94
+ id: "scheduledMeetings",
95
+ label: "Scheduled Meetings",
96
+ },
97
+ ],
98
+ },
99
+ ],
100
+ },
101
+ ]
102
+ %>
103
+
104
+ <%= pb_rails("advanced_table", props: { id: "custom_header_multi_header_table", table_data: @table_data, column_definitions: column_definitions }) %>
@@ -0,0 +1 @@
1
+ The optional `header` item within `column_definitions` can also be used with multi headers as seen here.
@@ -12,7 +12,7 @@
12
12
  capture do
13
13
  pb_rails("flex", props: { align_items: "center", justify_content: "center" }) do
14
14
  pb_rails("caption", props: { margin_right: "xs", text: "New Enrollments" }) +
15
- pb_rails("icon", props: { id: "tooltip-interact", icon: "info", size: "xs" }) +
15
+ pb_rails("icon", props: { id: "tooltip-interact", icon: "info", size: "xs", cursor: "pointer" }) +
16
16
  pb_rails("tooltip", props: {
17
17
  trigger_element_id: "tooltip-interact",
18
18
  tooltip_id: "example-custom-tooltip",
@@ -11,6 +11,7 @@ examples:
11
11
  - advanced_table_responsive: Responsive Tables
12
12
  - advanced_table_custom_cell_rails: Custom Components for Cells
13
13
  - advanced_table_with_custom_header_rails: Custom Header Cell
14
+ - advanced_table_with_custom_header_multi_header_rails: Custom Header with Multiple Headers
14
15
  - advanced_table_column_headers: Multi-Header Columns
15
16
  - advanced_table_column_headers_multiple: Multi-Header Columns (Multiple Levels)
16
17
  - advanced_table_column_headers_vertical_border: Multi-Header Columns with Vertical Borders
@@ -1 +1 @@
1
- Category colors can be passed into the background kit. Values `category_1` to `category_21` are accepted. List of all category and status colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">here</a>.
1
+ Category colors can be passed into the background kit. Values `category_1` to `category_21` are accepted. List of all category and status colors can be viewed <a href="https://playbook.powerapp.cloud/tokens/colors" target="_blank">here</a>.
@@ -1 +1 @@
1
- Add a background color by passing the color name to background. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">here</a> under Product Colors and Status: Subtle Variations.
1
+ Add a background color by passing the color name to background. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/tokens/colors" target="_blank">here</a> under Product Colors and Status: Subtle Variations.
@@ -1 +1 @@
1
- Card headers pass category, product, status and background colors only. List of all category, product, status and background colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines/colors" target="_blank">here</a>.
1
+ Card headers pass category, product, status and background colors only. List of all category, product, status and background colors can be viewed <a href="https://playbook.powerapp.cloud/token/colors" target="_blank">here</a>.
@@ -1 +1 @@
1
- Card highlight can pass status, product, and category colors. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/visual_guidelines/colors" target="_blank">here</a>.
1
+ Card highlight can pass status, product, and category colors. List of all colors can be viewed <a href="https://playbook.powerapp.cloud/token/colors" target="_blank">here</a>.
@@ -1 +1 @@
1
- Card can leverage the max-width property. Learn more in our <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">visual guidelines.</a>
1
+ Card can leverage the max-width property. Learn more in our <a href="https://playbook.powerapp.cloud/global_props/max_width" target="_blank">visual guidelines.</a>
@@ -7,7 +7,7 @@
7
7
  }) %>
8
8
 
9
9
  <%= pb_rails("currency", props: {
10
- amount: "342",
10
+ amount: 342,
11
11
  label: "Light",
12
12
  margin_bottom: "md",
13
13
  size: "sm",
@@ -14,7 +14,7 @@ const CurrencyVariants = (props) => {
14
14
  {...props}
15
15
  />
16
16
  <Currency
17
- amount="342"
17
+ amount={342}
18
18
  label="Light"
19
19
  marginBottom="md"
20
20
  size="sm"
@@ -0,0 +1 @@
1
+ **NOTE:** The value passed into the `amount` prop can be either a string or numeric value.
@@ -0,0 +1,38 @@
1
+ import React from "react";
2
+ import Dropdown from "../../pb_dropdown/_dropdown";
3
+ import DatePicker from "../../pb_date_picker/_date_picker";
4
+
5
+ const DatePickerAndDropdownRange = (props) => {
6
+ return (
7
+ <>
8
+ <Dropdown
9
+ controlsEndId="end-date-picker1"
10
+ controlsStartId="start-date-picker1"
11
+ id="dropdown-as-quickpick"
12
+ label="Date Range"
13
+ marginBottom="sm"
14
+ placeholder="Select a Date Range"
15
+ variant="quickpick"
16
+ {...props}
17
+ />
18
+
19
+ <DatePicker
20
+ label="Start Date"
21
+ pickerId="start-date-picker1"
22
+ placeholder="Select a Start Date"
23
+ syncStartWith="dropdown-as-quickpick"
24
+ {...props}
25
+ />
26
+
27
+ <DatePicker
28
+ label="End Date"
29
+ pickerId="end-date-picker1"
30
+ placeholder="Select an End Date"
31
+ syncEndWith="dropdown-as-quickpick"
32
+ {...props}
33
+ />
34
+ </>
35
+ );
36
+ };
37
+
38
+ export default DatePickerAndDropdownRange;
@@ -0,0 +1,14 @@
1
+ You can link a Dropdown (`quickpick` variant) to standard DatePickers using the following props:
2
+
3
+ **For the Dropdown**:
4
+ `controlsStartId`: ID of the DatePicker that should receive the start date.
5
+
6
+ `controlsEndId`: ID of the DatePicker that should receive the end date.
7
+
8
+ When a quickpick option like “This Year” is selected, it automatically populates the linked start and end inputs.
9
+
10
+ **For the Start/End DatePickers**:
11
+ `syncStartWith`: ID of the quickpick this start date is synced to.
12
+ `syncEndWith`: ID of the quickpick this end date is synced to.
13
+
14
+ When a user manually edits the start or end date, it clears the selected quickpick to prevent conflicting values.
@@ -48,7 +48,8 @@ examples:
48
48
  - date_picker_quick_pick_custom: Custom Quick Pick Dates
49
49
  - date_picker_quick_pick_custom_override: Custom Quick Pick Dates (append to defaults)
50
50
  - date_picker_quick_pick_default_date: Range (Quick Pick w/ Default Date)
51
- - date_picker_range_pattern: Range with 2 Date Pickers and a Quick Pick
51
+ # - date_picker_range_pattern: Range with 2 Date Pickers and a Quick Pick
52
+ - date_picker_and_dropdown_range: Range with Dropdown and 2 Date Pickers
52
53
  - date_picker_format: Format
53
54
  - date_picker_disabled: Disabled Dates
54
55
  - date_picker_min_max: Min Max
@@ -26,4 +26,5 @@ export { default as DatePickerOnClose } from './_date_picker_on_close.jsx'
26
26
  export { default as DatePickerQuickPickCustom } from './_date_picker_quick_pick_custom'
27
27
  export { default as DatePickerQuickPickCustomOverride } from './_date_picker_quick_pick_custom_override'
28
28
  export { default as DatePickerQuickPickDefaultDate } from './_date_picker_quick_pick_default_date'
29
- export { default as DatePickerRangePattern } from './_date_picker_range_pattern'
29
+ export { default as DatePickerRangePattern } from './_date_picker_range_pattern'
30
+ export { default as DatePickerAndDropdownRange } from './_date_picker_and_dropdown_range.jsx'
@@ -1 +1 @@
1
- You can customize the order of the colors you would like to use by using the `colors` prop. Only the data and status colors will work for Playbook charts. See the [design page](/visual_guidelines) for reference.
1
+ You can customize the order of the colors you would like to use by using the `colors` prop. Only the data and status colors will work for Playbook charts. See the [design page](https://playbook.powerapp.cloud/token/colors) for reference.
@@ -0,0 +1,18 @@
1
+ import React from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+
4
+ const DropdownQuickpick = (props) => {
5
+
6
+ return (
7
+ <div>
8
+ <Dropdown
9
+ label="Date Range"
10
+ onSelect={(selectedItem) => console.log(selectedItem)}
11
+ variant="quickpick"
12
+ {...props}
13
+ />
14
+ </div>
15
+ )
16
+ }
17
+
18
+ export default DropdownQuickpick
@@ -0,0 +1,4 @@
1
+ The QuickPick variant provides predefined date based options when `variant="quickpick"` is used.
2
+
3
+ Open the Dropdown above to see the default options.
4
+
@@ -0,0 +1,18 @@
1
+ import React from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+
4
+ const DropdownQuickpickDefaultDates = (props) => {
5
+
6
+ return (
7
+ <div>
8
+ <Dropdown
9
+ defaultValue="This Year"
10
+ label="Date Range"
11
+ variant="quickpick"
12
+ {...props}
13
+ />
14
+ </div>
15
+ )
16
+ }
17
+
18
+ export default DropdownQuickpickDefaultDates
@@ -0,0 +1 @@
1
+ To set a default value for the Dropdown, you can use the label of the range you want set as default, for example "This Year", "Today", etc.
@@ -0,0 +1,19 @@
1
+ import React from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+
4
+ const DropdownQuickpickRangeEnd = (props) => {
5
+
6
+ return (
7
+ <div>
8
+ <Dropdown
9
+ label="Date Range"
10
+ onSelect={(selectedItem) => console.log(selectedItem)}
11
+ rangeEndsToday
12
+ variant="quickpick"
13
+ {...props}
14
+ />
15
+ </div>
16
+ )
17
+ }
18
+
19
+ export default DropdownQuickpickRangeEnd
@@ -0,0 +1 @@
1
+ The optional `rangeEndsToday` prop can be used with the quickpick variant to set end date on all ranges that start with 'this' to today's date. For instance, by default 'This Year' will set end day to 12/31/(current year), but if `rangeEndsToday` prop is used, end date on that range will be today's date.
@@ -0,0 +1,38 @@
1
+ import React from "react";
2
+ import Dropdown from "../../pb_dropdown/_dropdown";
3
+ import DatePicker from "../../pb_date_picker/_date_picker";
4
+
5
+ const DropdownQuickpickWithDatePickers = (props) => {
6
+ return (
7
+ <>
8
+ <Dropdown
9
+ controlsEndId="end-date-picker"
10
+ controlsStartId="start-date-picker"
11
+ id="dropdown-quickpick"
12
+ label="Range"
13
+ marginBottom="sm"
14
+ placeholder="Select a Date Range"
15
+ variant="quickpick"
16
+ {...props}
17
+ />
18
+
19
+ <DatePicker
20
+ label="Start Date"
21
+ pickerId="start-date-picker"
22
+ placeholder="Select a Start Date"
23
+ syncStartWith="dropdown-quickpick"
24
+ {...props}
25
+ />
26
+
27
+ <DatePicker
28
+ label="End Date"
29
+ pickerId="end-date-picker"
30
+ placeholder="Select an End Date"
31
+ syncEndWith="dropdown-quickpick"
32
+ {...props}
33
+ />
34
+ </>
35
+ );
36
+ };
37
+
38
+ export default DropdownQuickpickWithDatePickers;
@@ -0,0 +1,14 @@
1
+ You can link a Dropdown (`quickpick` variant) to standard DatePickers using the following props:
2
+
3
+ **For the Dropdown**:
4
+ `controlsStartId`: ID of the DatePicker that should receive the start date.
5
+
6
+ `controlsEndId`: ID of the DatePicker that should receive the end date.
7
+
8
+ When a quickpick option like “This Year” is selected, it automatically populates the linked start and end inputs.
9
+
10
+ **For the Start/End DatePickers**:
11
+ `syncStartWith`: ID of the quickpick this start date is synced to.
12
+ `syncEndWith`: ID of the quickpick this end date is synced to.
13
+
14
+ When a user manually edits the start or end date, it clears the selected quickpick to prevent conflicting values.
@@ -1,4 +1,4 @@
1
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
2
 
3
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
4
+ `fontColor` **Type**: String | **Values**: primary | all [Playbook Text Colors](https://playbook.powerapp.cloud/global_props/colors) | **Default**: (no selection) is white
@@ -49,4 +49,9 @@ examples:
49
49
  - dropdown_clear_selection: Clear Selection
50
50
  - dropdown_separators_hidden: Separators Hidden
51
51
  - dropdown_with_external_control: useDropdown Hook
52
+ - dropdown_quickpick: Quick Pick Variant
53
+ - dropdown_quickpick_range_end: Quick Pick Variant (Range Ends Today)
54
+ - dropdown_quickpick_default_dates: Quick Pick Variant (Default Dates)
55
+ - dropdown_quickpick_with_date_pickers: Quick Pick Variant with Date Pickers
56
+
52
57
 
@@ -22,4 +22,8 @@ export { default as DropdownMultiSelectWithDefault } from './_dropdown_multi_sel
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
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'
25
+ export {default as DropdownWithCustomActiveStyleOptions} from './_dropdown_with_custom_active_style_options.jsx'
26
+ export { default as DropdownQuickpick } from './_dropdown_quickpick.jsx'
27
+ export { default as DropdownQuickpickRangeEnd } from './_dropdown_quickpick_range_end.jsx'
28
+ export { default as DropdownQuickpickDefaultDates } from './_dropdown_quickpick_default_dates.jsx'
29
+ export { default as DropdownQuickpickWithDatePickers } from './_dropdown_quickpick_with_date_pickers.jsx'
@@ -1 +1 @@
1
- Filter can leverage the max-width property. Learn more in our <a href="https://playbook.powerapp.cloud/visual_guidelines" target="_blank">visual guidelines.</a>
1
+ Filter can leverage the max-width property. Learn more in our <a href="https://playbook.powerapp.cloud/global_props/max_width" target="_blank">visual guidelines.</a>
@@ -22,13 +22,27 @@
22
22
  }) %>
23
23
 
24
24
  <script>
25
+ // Hide toasts immediately
26
+ const hideAutoToasts = () => {
27
+ const toastAuto = document.getElementById('toast-auto-close');
28
+ const toastAutoCloseable = document.getElementById('toast-auto-close-closeable');
29
+ if (toastAuto) toastAuto.style.display = 'none';
30
+ if (toastAutoCloseable) toastAutoCloseable.style.display = 'none';
31
+ }
32
+ hideAutoToasts();
33
+
34
+ // Handle various page load/restore events
35
+ window.addEventListener('pageshow', hideAutoToasts)
36
+ document.addEventListener('turbolinks:load', hideAutoToasts)
37
+ document.addEventListener('turbo:load', hideAutoToasts)
38
+
25
39
  document.addEventListener('DOMContentLoaded', () => {
26
40
  // Initialize toast elements and buttons
27
41
  const toasts = {
28
42
  '#toast-auto-close': document.querySelector("#toast-auto-close"),
29
43
  '#toast-auto-close-closeable': document.querySelector("#toast-auto-close-closeable")
30
44
  }
31
-
45
+
32
46
  const buttons = {
33
47
  '#toast-auto-close': document.querySelector("button[data-toast='#toast-auto-close']"),
34
48
  '#toast-auto-close-closeable': document.querySelector("button[data-toast='#toast-auto-close-closeable']")