playbook_ui 14.21.2.pre.alpha.PLAY2241tablestickycolumnsdatanotids8357 → 14.21.2.pre.alpha.PLAY2256stickydataidreact8446

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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +4 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +8 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +30 -5
  5. data/app/pb_kits/playbook/pb_advanced_table/Utilities/CellRendererUtils.tsx +4 -1
  6. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +4 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +25 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows.jsx +1 -1
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_react.md +5 -3
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.jsx +64 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.md +7 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -0
  14. data/app/pb_kits/playbook/pb_contact/contact.test.js +2 -2
  15. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.html.erb +3 -3
  16. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.jsx +7 -4
  17. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_clear_selection.jsx +6 -3
  18. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.jsx +6 -3
  19. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.html.erb +3 -3
  20. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_value.html.erb +3 -3
  21. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_value.jsx +7 -4
  22. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.html.erb +3 -3
  23. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.jsx +7 -4
  24. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.jsx +19 -10
  25. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.jsx +19 -10
  26. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.html.erb +10 -10
  27. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.html.erb +10 -10
  28. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.html.erb +10 -10
  29. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.jsx +20 -11
  30. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.html.erb +3 -3
  31. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.jsx +8 -8
  32. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.html.erb +10 -10
  33. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.jsx +23 -14
  34. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_separators_hidden.html.erb +3 -3
  35. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_separators_hidden.jsx +6 -3
  36. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.jsx +6 -3
  37. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure_rails.html.erb +3 -3
  38. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subtle_variant.html.erb +3 -3
  39. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subtle_variant.jsx +6 -3
  40. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.html.erb +3 -3
  41. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +3 -3
  42. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.html.erb +4 -4
  43. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.jsx +4 -4
  44. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +4 -4
  45. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +4 -4
  46. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.html.erb +52 -0
  47. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.jsx +99 -0
  48. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_rails.md +1 -0
  49. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_react.md +1 -0
  50. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx +3 -3
  51. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options_rails.html.erb +3 -3
  52. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.html.erb +3 -3
  53. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.jsx +3 -3
  54. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.html.erb +28 -0
  55. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx +47 -0
  56. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_rails.md +1 -0
  57. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md +1 -0
  58. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.jsx +3 -3
  59. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger_rails.html.erb +3 -3
  60. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.jsx +3 -3
  61. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +3 -3
  62. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +6 -3
  63. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.jsx +3 -3
  64. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.html.erb +3 -3
  65. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +4 -0
  66. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +3 -1
  67. data/app/pb_kits/playbook/pb_filter/filter.test.js +2 -2
  68. data/app/pb_kits/playbook/pb_table/_table.tsx +4 -4
  69. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.jsx +8 -8
  70. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_react.md +1 -1
  71. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.jsx +12 -12
  72. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_react.md +3 -3
  73. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.jsx +12 -12
  74. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_react.md +3 -3
  75. data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +4 -0
  76. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +34 -22
  77. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.jsx +25 -0
  78. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_click_open.md +1 -0
  79. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +1 -0
  80. data/app/pb_kits/playbook/pb_tooltip/docs/index.js +1 -0
  81. data/dist/chunks/_typeahead-BaWcHxpx.js +22 -0
  82. data/dist/chunks/_weekday_stacked-DI-oMuSE.js +45 -0
  83. data/dist/chunks/lib-CTkMyvfQ.js +29 -0
  84. data/dist/chunks/{pb_form_validation-EyK6DbAT.js → pb_form_validation-BVF3TmcL.js} +1 -1
  85. data/dist/chunks/vendor.js +1 -1
  86. data/dist/playbook-doc.js +3 -3
  87. data/dist/playbook-rails-react-bindings.js +1 -1
  88. data/dist/playbook-rails.js +1 -1
  89. data/dist/playbook.css +1 -1
  90. data/lib/playbook/version.rb +1 -1
  91. metadata +18 -6
  92. data/dist/chunks/_typeahead-BmfmVMFP.js +0 -22
  93. data/dist/chunks/_weekday_stacked-DAC7yY_H.js +0 -45
  94. data/dist/chunks/lib-C2o6nu8G.js +0 -29
@@ -2,7 +2,7 @@
2
2
  options = [
3
3
  {
4
4
  label: "Jasper Furniss",
5
- value: "Jasper Furniss",
5
+ value: "jasperFurniss",
6
6
  territory: "PHL",
7
7
  title: "Lead UX Engineer",
8
8
  id: "jasper-furniss",
@@ -10,7 +10,7 @@
10
10
  },
11
11
  {
12
12
  label: "Ramon Ruiz",
13
- value: "Ramon Ruiz",
13
+ value: "ramonRuiz",
14
14
  territory: "PHL",
15
15
  title: "Senior UX Designer",
16
16
  id: "ramon-ruiz",
@@ -18,7 +18,7 @@
18
18
  },
19
19
  {
20
20
  label: "Carlos Lima",
21
- value: "Carlos Lima",
21
+ value: "carlosLima",
22
22
  territory: "PHL",
23
23
  title: "Nitro Developer",
24
24
  id: "carlos-lima",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  {
28
28
  label: "Courtney Long",
29
- value: "Courtney Long",
29
+ value: "courtneyLong",
30
30
  territory: "PHL",
31
31
  title: "Lead UX Designer",
32
32
  id: "courtney-long",
@@ -0,0 +1,52 @@
1
+ <%
2
+ options = [
3
+ { label: "Item 1", value: "item-1", id: "1" },
4
+ { label: "Item 2", value: "item-2", id: "2" },
5
+ { label: "Item 3", value: "item-3", id: "3" }
6
+ ]
7
+ %>
8
+
9
+ <%= pb_rails("dropdown", props: { label: "Multiple Icons", options: options }) do %>
10
+ <%= pb_rails("dropdown/dropdown_trigger") %>
11
+ <%= pb_rails("dropdown/dropdown_container") do %>
12
+ <% options.each do |option| %>
13
+ <%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
14
+ <%= pb_rails("flex", props: { align: "center", justify: "between" }) do %>
15
+ <%= pb_rails("flex") do %>
16
+ <%= pb_rails("icon", props: { icon: "calendar", padding_right: "xs" }) %>
17
+ <%= pb_rails("body", props: { color: "default", text: option[:label] }) %>
18
+ <% end %>
19
+ <%= pb_rails("icon", props: { icon: "check" }) %>
20
+ <% end %>
21
+ <% end %>
22
+ <% end %>
23
+ <% end %>
24
+ <% end %>
25
+
26
+ <%= pb_rails("dropdown", props: { label: "Icon on Left", options: options, padding_y: "md" }) do %>
27
+ <%= pb_rails("dropdown/dropdown_trigger") %>
28
+ <%= pb_rails("dropdown/dropdown_container") do %>
29
+ <% options.each do |option| %>
30
+ <%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
31
+ <%= pb_rails("flex", props: { align: "center" }) do %>
32
+ <%= pb_rails("icon", props: { icon: "calendar", padding_right: "xs" }) %>
33
+ <%= pb_rails("body", props: { color: "default", text: option[:label] }) %>
34
+ <% end %>
35
+ <% end %>
36
+ <% end %>
37
+ <% end %>
38
+ <% end %>
39
+
40
+ <%= pb_rails("dropdown", props: { label: "Icon on Right", options: options }) do %>
41
+ <%= pb_rails("dropdown/dropdown_trigger") %>
42
+ <%= pb_rails("dropdown/dropdown_container") do %>
43
+ <% options.each do |option| %>
44
+ <%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
45
+ <%= pb_rails("flex", props: { align: "center", justify: "between" }) do %>
46
+ <%= pb_rails("body", props: { color: "default", text: option[:label] }) %>
47
+ <%= pb_rails("icon", props: { icon: "check" }) %>
48
+ <% end %>
49
+ <% end %>
50
+ <% end %>
51
+ <% end %>
52
+ <% end %>
@@ -0,0 +1,99 @@
1
+ import React from 'react'
2
+ import Dropdown from '../_dropdown'
3
+
4
+ import Body from '../../pb_body/_body'
5
+ import Flex from '../../pb_flex/_flex'
6
+ import Icon from '../../pb_icon/_icon'
7
+
8
+ const DropdownCustomIconOptions = (props) => {
9
+
10
+ const options = [
11
+ { label: "Item 1", value: "item-1", id: "1" },
12
+ { label: "Item 2", value: "item-2", id: "2" },
13
+ { label: "Item 3", value: "item-3", id: "3" },
14
+ ]
15
+
16
+
17
+ return (
18
+ <div>
19
+ <Dropdown label="Multiple Icons"
20
+ options={options}
21
+ {...props}
22
+ >
23
+ {options.map((option) => (
24
+ <Dropdown.Option key={option.id}
25
+ option={option}
26
+ >
27
+ <Flex align="center"
28
+ justify="between"
29
+ >
30
+ <Flex align="center">
31
+ <Icon icon="calendar"
32
+ paddingRight="xs"
33
+ {...props}
34
+ />
35
+ <Body color="default"
36
+ text={option.label}
37
+ {...props}
38
+ />
39
+ </Flex>
40
+ <Icon icon="check"
41
+ {...props}
42
+ />
43
+ </Flex>
44
+ </Dropdown.Option>
45
+ ))}
46
+ </Dropdown>
47
+
48
+ <Dropdown label="Icon on Left"
49
+ options={options}
50
+ paddingY="md"
51
+ {...props}
52
+ >
53
+ {options.map((option) => (
54
+ <Dropdown.Option key={option.id}
55
+ option={option}
56
+ >
57
+ <Flex align="center">
58
+ <Icon icon="calendar"
59
+ paddingRight="xs"
60
+ {...props}
61
+ />
62
+ <Body color="default"
63
+ text={option.label}
64
+ {...props}
65
+ />
66
+ </Flex>
67
+ </Dropdown.Option>
68
+ ))}
69
+ </Dropdown>
70
+
71
+ <Dropdown label="Icon on Right"
72
+ options={options}
73
+ {...props}
74
+ >
75
+ {options.map((option) => (
76
+ <Dropdown.Option key={option.id}
77
+ option={option}
78
+ >
79
+ <Flex align="center"
80
+ justify="between"
81
+ >
82
+ <Flex align="center">
83
+ <Body color="default"
84
+ text={option.label}
85
+ {...props}
86
+ />
87
+ </Flex>
88
+ <Icon icon="check"
89
+ {...props}
90
+ />
91
+ </Flex>
92
+ </Dropdown.Option>
93
+ ))}
94
+ </Dropdown>
95
+ </div>
96
+ )
97
+ }
98
+
99
+ export default DropdownCustomIconOptions
@@ -0,0 +1 @@
1
+ Use the `dropdown/dropdown_option` subcomponent structure to include custom layouts inside dropdown menus. Icons can be placed alongside the Body label text.
@@ -0,0 +1 @@
1
+ Use the `Dropdown.Option` subcomponent structure to include custom layouts inside dropdown menus. Icons can be placed alongside the Body label text.
@@ -12,21 +12,21 @@ const DropdownWithCustomOptions = (props) => {
12
12
  const options = [
13
13
  {
14
14
  label: "United States",
15
- value: "United States",
15
+ value: "unitedStates",
16
16
  areaCode: "+1",
17
17
  icon: "🇺🇸",
18
18
  id: "United-states"
19
19
  },
20
20
  {
21
21
  label: "Canada",
22
- value: "Canada",
22
+ value: "canada",
23
23
  areaCode: "+1",
24
24
  icon: "🇨🇦",
25
25
  id: "canada"
26
26
  },
27
27
  {
28
28
  label: "Pakistan",
29
- value: "Pakistan",
29
+ value: "pakistan",
30
30
  areaCode: "+92",
31
31
  icon: "🇵🇰",
32
32
  id: "pakistan"
@@ -2,21 +2,21 @@
2
2
  options = [
3
3
  {
4
4
  label: "United States",
5
- value: "United States",
5
+ value: "unitedStates",
6
6
  areaCode: "+1",
7
7
  icon: "🇺🇸",
8
8
  id: "us"
9
9
  },
10
10
  {
11
11
  label: "Canada",
12
- value: "Canada",
12
+ value: "canada",
13
13
  areaCode: "+1",
14
14
  icon: "🇨🇦",
15
15
  id: "ca"
16
16
  },
17
17
  {
18
18
  label: "Pakistan",
19
- value: "Pakistan",
19
+ value: "pakistan",
20
20
  areaCode: "+92",
21
21
  icon: "🇵🇰",
22
22
  id: "pk"
@@ -1,8 +1,8 @@
1
1
  <%
2
2
  options = [
3
- { label: 'United States', value: 'United States', id: 'us' },
4
- { label: 'Canada', value: 'Canada', id: 'ca' },
5
- { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
3
+ { label: 'United States', value: 'unitedStates', id: 'us' },
4
+ { label: 'Canada', value: 'canada', id: 'ca' },
5
+ { label: 'Pakistan', value: 'pakistan', id: 'pk' },
6
6
  ]
7
7
 
8
8
  %>
@@ -6,21 +6,21 @@ const DropdownWithCustomPadding = (props) => {
6
6
  const options = [
7
7
  {
8
8
  label: "United States",
9
- value: "United States",
9
+ value: "unitedStates",
10
10
  areaCode: "+1",
11
11
  icon: "🇺🇸",
12
12
  id: "United-states"
13
13
  },
14
14
  {
15
15
  label: "Canada",
16
- value: "Canada",
16
+ value: "canada",
17
17
  areaCode: "+1",
18
18
  icon: "🇨🇦",
19
19
  id: "canada"
20
20
  },
21
21
  {
22
22
  label: "Pakistan",
23
- value: "Pakistan",
23
+ value: "pakistan",
24
24
  areaCode: "+92",
25
25
  icon: "🇵🇰",
26
26
  id: "pakistan"
@@ -0,0 +1,28 @@
1
+ <%
2
+ options = [
3
+ { label: "Item 1", value: "item-1", id: "1" },
4
+ { label: "Item 2", value: "item-2", id: "2" },
5
+ { label: "Item 3", value: "item-3", id: "3" }
6
+ ]
7
+
8
+ selected_value = params[:selected_value]
9
+ %>
10
+
11
+ <%= pb_rails("dropdown", props: { label: "Choose Item", options: options }) do %>
12
+ <%= pb_rails("dropdown/dropdown_trigger") %>
13
+ <%= pb_rails("dropdown/dropdown_container") do %>
14
+ <% options.each do |option| %>
15
+ <% checked = (option[:value] == selected_value) %>
16
+ <%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
17
+ <%= pb_rails("flex", props: { align: "center" }) do %>
18
+ <%= pb_rails("radio", props: {
19
+ text: option[:label],
20
+ name: "dropdown_radio",
21
+ value: option[:value],
22
+ checked: checked,
23
+ }) %>
24
+ <% end %>
25
+ <% end %>
26
+ <% end %>
27
+ <% end %>
28
+ <% end %>
@@ -0,0 +1,47 @@
1
+ import React, { useState } from 'react'
2
+ import Dropdown from '../_dropdown'
3
+
4
+ import Body from '../../pb_body/_body'
5
+ import Flex from '../../pb_flex/_flex'
6
+ import Radio from '../../pb_radio/_radio'
7
+
8
+ const DropdownCustomRadioOptions = (props) => {
9
+ const [selectedValue, setSelectedValue] = useState(null)
10
+
11
+ const options = [
12
+ { label: "Item 1", value: "item-1", id: "1" },
13
+ { label: "Item 2", value: "item-2", id: "2" },
14
+ { label: "Item 3", value: "item-3", id: "3" },
15
+ ]
16
+
17
+
18
+ return (
19
+ <div>
20
+ <Dropdown
21
+ label="Select Item"
22
+ onSelect={(selectedItem) => setSelectedValue(selectedItem?.value)}
23
+ options={options}
24
+ {...props}
25
+ >
26
+ {options.map((option) => {
27
+ return (
28
+ <Dropdown.Option key={option.id}
29
+ option={option}
30
+ >
31
+ <Flex align="center">
32
+ <Radio
33
+ checked={selectedValue === option.value}
34
+ name="dropdown_radio"
35
+ value={option.value}
36
+ />
37
+ <Body text={option.label} />
38
+ </Flex>
39
+ </Dropdown.Option>
40
+ )
41
+ })}
42
+ </Dropdown>
43
+ </div>
44
+ )
45
+ }
46
+
47
+ export default DropdownCustomRadioOptions
@@ -0,0 +1 @@
1
+ Radio inputs can be used inside `dropdown/dropdown_option` for a custom layout that mimics form-like selection within a dropdown.
@@ -0,0 +1 @@
1
+ Radio inputs can be used inside `Dropdown.Option` for a custom layout that mimics form-like selection within a dropdown.
@@ -14,21 +14,21 @@ const [selectedOption, setSelectedOption] = useState();
14
14
  const options = [
15
15
  {
16
16
  label: "United States",
17
- value: "United States",
17
+ value: "unitedStates",
18
18
  areaCode: "+1",
19
19
  icon: "🇺🇸",
20
20
  id: "United-states"
21
21
  },
22
22
  {
23
23
  label: "Canada",
24
- value: "Canada",
24
+ value: "canada",
25
25
  areaCode: "+1",
26
26
  icon: "🇨🇦",
27
27
  id: "canada"
28
28
  },
29
29
  {
30
30
  label: "Pakistan",
31
- value: "Pakistan",
31
+ value: "pakistan",
32
32
  areaCode: "+92",
33
33
  icon: "🇵🇰",
34
34
  id: "pakistan"
@@ -2,21 +2,21 @@
2
2
  options = [
3
3
  {
4
4
  label: "United States",
5
- value: "United States",
5
+ value: "unitedStates",
6
6
  areaCode: "+1",
7
7
  icon: "🇺🇸",
8
8
  id: "us"
9
9
  },
10
10
  {
11
11
  label: "Canada",
12
- value: "Canada",
12
+ value: "canada",
13
13
  areaCode: "+1",
14
14
  icon: "🇨🇦",
15
15
  id: "ca"
16
16
  },
17
17
  {
18
18
  label: "Pakistan",
19
- value: "Pakistan",
19
+ value: "pakistan",
20
20
  areaCode: "+92",
21
21
  icon: "🇵🇰",
22
22
  id: "pk"
@@ -11,21 +11,21 @@ const [isDropDownClosed, setIsDropdownClosed] = useDropdown(true);
11
11
  const options = [
12
12
  {
13
13
  label: "United States",
14
- value: "United States",
14
+ value: "unitedStates",
15
15
  areaCode: "+1",
16
16
  icon: "🇺🇸",
17
17
  id: "United-states"
18
18
  },
19
19
  {
20
20
  label: "Canada",
21
- value: "Canada",
21
+ value: "canada",
22
22
  areaCode: "+1",
23
23
  icon: "🇨🇦",
24
24
  id: "canada"
25
25
  },
26
26
  {
27
27
  label: "Pakistan",
28
- value: "Pakistan",
28
+ value: "pakistan",
29
29
  areaCode: "+92",
30
30
  icon: "🇵🇰",
31
31
  id: "pakistan"
@@ -1,8 +1,8 @@
1
1
  <%
2
2
  options = [
3
- { label: 'United States', value: 'United States', id: 'us' },
4
- { label: 'Canada', value: 'Canada', id: 'ca' },
5
- { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
3
+ { label: 'United States', value: 'unitedStates', id: 'us' },
4
+ { label: 'Canada', value: 'canada', id: 'ca' },
5
+ { label: 'Pakistan', value: 'pakistan', id: 'pk' },
6
6
  ]
7
7
 
8
8
  %>
@@ -6,15 +6,18 @@ const DropdownDefault = (props) => {
6
6
  const options = [
7
7
  {
8
8
  label: "United States",
9
- value: "United States",
9
+ value: "unitedStates",
10
+ id: "us"
10
11
  },
11
12
  {
12
13
  label: "Canada",
13
- value: "Canada",
14
+ value: "canada",
15
+ id: "ca"
14
16
  },
15
17
  {
16
18
  label: "Pakistan",
17
- value: "Pakistan",
19
+ value: "pakistan",
20
+ id: "pk"
18
21
  }
19
22
  ];
20
23
 
@@ -8,20 +8,20 @@ const [selectedOption, setSelectedOption] = useState();
8
8
  const options = [
9
9
  {
10
10
  label: "United States",
11
- value: "United States",
11
+ value: "unitedStates",
12
12
  icon: "🇺🇸",
13
13
  id: "United-states"
14
14
 
15
15
  },
16
16
  {
17
17
  label: "United Kingdom",
18
- value: "United Kingdom",
18
+ value: "unitedKingdom",
19
19
  icon: "🇬🇧",
20
20
  id: "united-kingdom"
21
21
  },
22
22
  {
23
23
  label: "Pakistan",
24
- value: "Pakistan",
24
+ value: "pakistan",
25
25
  icon: "🇵🇰",
26
26
  id: "pakistan"
27
27
  }
@@ -2,21 +2,21 @@
2
2
  options = [
3
3
  {
4
4
  label: "United States",
5
- value: "United States",
5
+ value: "unitedStates",
6
6
  areaCode: "+1",
7
7
  icon: "🇺🇸",
8
8
  id: "us"
9
9
  },
10
10
  {
11
11
  label: "United Kingdom",
12
- value: "United Kingdom",
12
+ value: "unitedKingdom",
13
13
  areaCode: "+44",
14
14
  icon: "🇬🇧",
15
15
  id: "gb"
16
16
  },
17
17
  {
18
18
  label: "Pakistan",
19
- value: "Pakistan",
19
+ value: "pakistan",
20
20
  areaCode: "+92",
21
21
  icon: "🇵🇰",
22
22
  id: "pk"
@@ -15,6 +15,8 @@ examples:
15
15
  - dropdown_with_custom_trigger_rails: Custom Trigger
16
16
  - dropdown_with_search_rails: Custom Trigger Dropdown with Search
17
17
  - dropdown_with_custom_padding: Custom Option Padding
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)
18
20
  - dropdown_error: Dropdown with Error
19
21
  - dropdown_default_value: Default Value
20
22
  - dropdown_multi_select_with_default: Multi Select Default Value
@@ -37,6 +39,8 @@ examples:
37
39
  - dropdown_with_custom_trigger: Custom Trigger
38
40
  - dropdown_with_search: Custom Trigger Dropdown with Search
39
41
  - dropdown_with_custom_padding: Custom Option Padding
42
+ - 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)
40
44
  - dropdown_error: Dropdown with Error
41
45
  - dropdown_default_value: Default Value
42
46
  - dropdown_multi_select_with_default: Multi Select Default Value
@@ -19,4 +19,6 @@ export { default as DropdownMultiSelect } from './_dropdown_multi_select.jsx'
19
19
  export { default as DropdownMultiSelectDisplay } from './_dropdown_multi_select_display.jsx'
20
20
  export { default as DropdownMultiSelectWithAutocomplete } from './_dropdown_multi_select_with_autocomplete.jsx'
21
21
  export { default as DropdownMultiSelectWithDefault } from './_dropdown_multi_select_with_default.jsx'
22
- export { default as DropdownMultiSelectWithCustomOptions } from './_dropdown_multi_select_with_custom_options.jsx'
22
+ export { default as DropdownMultiSelectWithCustomOptions } from './_dropdown_multi_select_with_custom_options.jsx'
23
+ export {default as DropdownWithCustomIconOptions} from './_dropdown_with_custom_icon_options.jsx'
24
+ export {default as DropdownWithCustomRadioOptions} from './_dropdown_with_custom_radio_options.jsx'
@@ -58,12 +58,12 @@ function FilterTest(props) {
58
58
  }
59
59
 
60
60
  test("triggers popover on filter button click", () => {
61
- render(<FilterTest data={{ testid: "render-test" }}/>);
61
+ const { container } = render(<FilterTest data={{ testid: "render-test" }}/>);
62
62
 
63
63
  const btn = screen.getAllByRole("button")[0];
64
64
 
65
65
  // checks if the sort menu rendered
66
- expect(screen.getByLabelText("sort-amount-down icon")).toBeInTheDocument()
66
+ expect(container.querySelector('.pb_custom_icon')).toBeInTheDocument()
67
67
  expect(screen.getByText('Popularity')).toBeInTheDocument() // check if filter/sort is rendered
68
68
 
69
69
  // hits the filter button and triggers popover
@@ -104,8 +104,8 @@ const Table = (props: TableProps): React.ReactElement => {
104
104
 
105
105
  stickyLeftColumn.forEach((colId, index) => {
106
106
  const isLastColumn = index === stickyLeftColumn.length - 1;
107
- const header = document.querySelector(`th[id="${colId}"]`);
108
- const cells = document.querySelectorAll(`td[id="${colId}"]`);
107
+ const header = document.querySelector(`th[data-sticky-id="${colId}"]`);
108
+ const cells = document.querySelectorAll(`td[data-sticky-id="${colId}"]`);
109
109
 
110
110
  if (header) {
111
111
  header.classList.add('sticky');
@@ -155,8 +155,8 @@ const Table = (props: TableProps): React.ReactElement => {
155
155
 
156
156
  stickyRightColumnReversed.forEach((colId, index) => {
157
157
  const isLastColumn = index === stickyRightColumn.length - 1;
158
- const header = document.querySelector(`th[id="${colId}"]`);
159
- const cells = document.querySelectorAll(`td[id="${colId}"]`);
158
+ const header = document.querySelector(`th[data-sticky-id="${colId}"]`);
159
+ const cells = document.querySelectorAll(`td[data-sticky-id="${colId}"]`);
160
160
 
161
161
  if (header) {
162
162
  header.classList.add('sticky');
@@ -11,7 +11,7 @@ const TableStickyColumns = () => {
11
11
  >
12
12
  <thead>
13
13
  <tr>
14
- <th id="a">{'Column 1'}</th>
14
+ <th data-sticky-id="a">{'Column 1'}</th>
15
15
  <th>{'Column 2'}</th>
16
16
  <th>{'Column 3'}</th>
17
17
  <th>{'Column 4'}</th>
@@ -25,12 +25,12 @@ const TableStickyColumns = () => {
25
25
  <th>{'Column 12'}</th>
26
26
  <th>{'Column 13'}</th>
27
27
  <th>{'Column 14'}</th>
28
- <th id="b">{'Column 15'}</th>
28
+ <th data-sticky-id="b">{'Column 15'}</th>
29
29
  </tr>
30
30
  </thead>
31
31
  <tbody>
32
32
  <tr>
33
- <td id="a">{'Value 1'}</td>
33
+ <td data-sticky-id="a">{'Value 1'}</td>
34
34
  <td>{'Value 2'}</td>
35
35
  <td>{'Value 3'}</td>
36
36
  <td>{'Value 4'}</td>
@@ -44,10 +44,10 @@ const TableStickyColumns = () => {
44
44
  <td>{'Value 12'}</td>
45
45
  <td>{'Value 13'}</td>
46
46
  <td>{'Value 14'}</td>
47
- <td id="b">{'Value 15'}</td>
47
+ <td data-sticky-id="b">{'Value 15'}</td>
48
48
  </tr>
49
49
  <tr>
50
- <td id="a">{'Value 1'}</td>
50
+ <td data-sticky-id="a">{'Value 1'}</td>
51
51
  <td>{'Value 2'}</td>
52
52
  <td>{'Value 3'}</td>
53
53
  <td>{'Value 4'}</td>
@@ -61,10 +61,10 @@ const TableStickyColumns = () => {
61
61
  <td>{'Value 12'}</td>
62
62
  <td>{'Value 13'}</td>
63
63
  <td>{'Value 14'}</td>
64
- <td id="b">{'Value 15'}</td>
64
+ <td data-sticky-id="b">{'Value 15'}</td>
65
65
  </tr>
66
66
  <tr>
67
- <td id="a">{'Value 1'}</td>
67
+ <td data-sticky-id="a">{'Value 1'}</td>
68
68
  <td>{'Value 2'}</td>
69
69
  <td>{'Value 3'}</td>
70
70
  <td>{'Value 4'}</td>
@@ -78,7 +78,7 @@ const TableStickyColumns = () => {
78
78
  <td>{'Value 12'}</td>
79
79
  <td>{'Value 13'}</td>
80
80
  <td>{'Value 14'}</td>
81
- <td id="b">{'Value 15'}</td>
81
+ <td data-sticky-id="b">{'Value 15'}</td>
82
82
  </tr>
83
83
  </tbody>
84
84
  </Table>