playbook_ui 14.12.0.pre.alpha.play1887homeaddressfix5910 → 14.12.0.pre.alpha.playrailsinputmaskissue5775

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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +0 -9
  3. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +7 -11
  4. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +7 -6
  5. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +3 -9
  6. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +2 -6
  7. data/app/pb_kits/playbook/pb_button/button.rb +1 -1
  8. data/app/pb_kits/playbook/pb_copy_button/_copy_button.scss +1 -2
  9. data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +3 -3
  10. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +6 -1
  11. data/app/pb_kits/playbook/pb_filter/filter.html.erb +5 -1
  12. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -1
  13. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +5 -7
  14. data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +6 -1
  15. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
  16. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +7 -11
  17. data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +0 -2
  18. data/app/pb_kits/playbook/pb_home_address_street/docs/index.js +0 -1
  19. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +2 -13
  20. data/app/pb_kits/playbook/pb_link/_link.tsx +0 -18
  21. data/app/pb_kits/playbook/pb_link/docs/example.yml +3 -5
  22. data/app/pb_kits/playbook/pb_link/docs/index.js +1 -2
  23. data/app/pb_kits/playbook/pb_link/link.html.erb +1 -1
  24. data/app/pb_kits/playbook/pb_link/link.rb +0 -6
  25. data/app/pb_kits/playbook/pb_link/link.test.jsx +0 -30
  26. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tooltip.html.erb +6 -6
  27. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.html.erb +9 -6
  28. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.jsx +9 -6
  29. data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +0 -26
  30. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +1 -0
  31. data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +0 -25
  32. data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +0 -25
  33. data/app/pb_kits/playbook/pb_text_input/index.js +54 -55
  34. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +1 -1
  35. data/app/pb_kits/playbook/pb_tooltip/index.js +27 -45
  36. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -5
  37. data/app/pb_kits/playbook/pb_user/_user.tsx +0 -3
  38. data/app/pb_kits/playbook/pb_user/docs/example.yml +0 -2
  39. data/app/pb_kits/playbook/pb_user/docs/index.js +0 -1
  40. data/app/pb_kits/playbook/pb_user/user.html.erb +1 -1
  41. data/app/pb_kits/playbook/pb_user/user.rb +0 -1
  42. data/app/pb_kits/playbook/pb_user/user.test.js +0 -14
  43. data/dist/chunks/{_typeahead-CkemExmL.js → _typeahead-BIhRQo8Q.js} +3 -3
  44. data/dist/chunks/{_weekday_stacked-C2x2rHKi.js → _weekday_stacked-CttHBFW3.js} +2 -2
  45. data/dist/chunks/{lib-DjpLC8uO.js → lib-kMuhBuU7.js} +1 -1
  46. data/dist/chunks/{pb_form_validation-S56UaHZl.js → pb_form_validation-DBJ0wZuS.js} +1 -1
  47. data/dist/chunks/vendor.js +1 -1
  48. data/dist/menu.yml +2 -2
  49. data/dist/playbook-doc.js +1 -1
  50. data/dist/playbook-rails-react-bindings.js +1 -1
  51. data/dist/playbook-rails.js +1 -1
  52. data/dist/playbook.css +1 -1
  53. data/lib/playbook/version.rb +1 -1
  54. metadata +7 -23
  55. data/app/pb_kits/playbook/pb_copy_button/copy_button.html.erb +0 -15
  56. data/app/pb_kits/playbook/pb_copy_button/copy_button.rb +0 -28
  57. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.html.erb +0 -2
  58. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.html.erb +0 -5
  59. data/app/pb_kits/playbook/pb_copy_button/index.js +0 -47
  60. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close.html.erb +0 -58
  61. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close_rails.md +0 -3
  62. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.html.erb +0 -11
  63. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.jsx +0 -22
  64. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_rails.md +0 -1
  65. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_react.md +0 -1
  66. data/app/pb_kits/playbook/pb_link/docs/_link_target.html.erb +0 -15
  67. data/app/pb_kits/playbook/pb_link/docs/_link_target.jsx +0 -29
  68. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.html.erb +0 -42
  69. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.jsx +0 -59
  70. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.md +0 -2
  71. /data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/{_fixed_confirmation_toast_auto_close_react.md → _fixed_confirmation_toast_auto_close.md} +0 -0
@@ -2,7 +2,7 @@
2
2
  <%= pb_rails("progress_step/progress_step_item", props: {status: "complete", classname: "tooltip-trigger-1", tooltip: "Tooltip for step 1", tooltip_position: "right", step_direction: "horizontal" }) do %>
3
3
  step 1
4
4
  <% end %>
5
- <%= pb_rails("progress_step/progress_step_item", props: {status: "complete", classname: "tooltip-trigger-2", tooltip: "Tooltip for step 2", tooltip_position: "left", step_direction: "horizontal" }) do %>
5
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "complete", classname: "tooltip-trigger-2", tooltip: "Tooltip for step 2", step_direction: "horizontal" }) do %>
6
6
  step 2
7
7
  <% end %>
8
8
  <%= pb_rails("progress_step/progress_step_item", props: {status: "active", classname: "tooltip-trigger-3", tooltip: "Tooltip for step 3", tooltip_position: "left", step_direction: "horizontal" }) do %>
@@ -11,7 +11,7 @@
11
11
  <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-4", tooltip: "Tooltip for step 4", tooltip_position: "bottom" }) do %>
12
12
  step 4
13
13
  <% end %>
14
- <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-5", tooltip: "Tooltip for step 5", tooltip_position: "left" }) do %>
14
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-5", tooltip: "Tooltip for step 5" }) do %>
15
15
  step 5
16
16
  <% end %>
17
17
  <% end %>
@@ -19,7 +19,7 @@
19
19
  <br /><br />
20
20
 
21
21
  <%= pb_rails("progress_step", props: {orientation: "vertical"}) do %>
22
- <%= pb_rails("progress_step/progress_step_item", props: {status: "complete", classname: "tooltip-trigger-6", tooltip: "Tooltip step 1", step_direction: "vertical", tooltip_position: "left" }) do %>
22
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "complete", classname: "tooltip-trigger-6", tooltip: "Tooltip step 1", step_direction: "vertical" }) do %>
23
23
  <% end %>
24
24
  <%= pb_rails("progress_step/progress_step_item", props: {status: "active", classname: "tooltip-trigger-7", tooltip: "Tooltip step 2", tooltip_position: "left"}) do %>
25
25
  <% end %>
@@ -31,10 +31,10 @@
31
31
 
32
32
  <br /><br>
33
33
  <%= pb_rails("progress_step",props:{ variant:"tracker", icon:true}) do %>
34
- <%= pb_rails("progress_step/progress_step_item", props: {status: "complete", classname: "tooltip-trigger-10", tooltip: "The order has been received", step_direction: "horizontal" , tooltip_position: "right" }) do %>
34
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "complete", classname: "tooltip-trigger-10", tooltip: "The order has been received", step_direction: "horizontal" , tooltip_position: "right" }) do %>
35
35
  <%= pb_rails("caption", props:{text: "Ordered"})%>
36
36
  <% end %>
37
- <%= pb_rails("progress_step/progress_step_item", props: {status: "active", classname: "tooltip-trigger-11", tooltip:"Item(s) have been shipped", tooltip_position: "right" }) do %>
37
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "active", classname: "tooltip-trigger-11", tooltip:"Item(s) have been shipped" }) do %>
38
38
  <%= pb_rails("caption", props:{text: "Shipped"})%>
39
39
  <% end %>
40
40
  <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-12", tooltip:"This step has not been reached", tooltip_position: "left" }) do %>
@@ -50,7 +50,7 @@
50
50
  <%= pb_rails("progress_step/progress_step_item", props: {status: "active", icon: "exclamation-triangle", classname: "tooltip-trigger-14", tooltip: "More details needed before shipment", tooltip_position: "bottom" }) do %>
51
51
  <%= pb_rails("caption", props:{text: "Shipped"})%>
52
52
  <% end %>
53
- <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-15", tooltip: "This step is inactive", tooltip_position: "bottom"}) do %>
53
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-15", tooltip: "This step is inactive"}) do %>
54
54
  <%= pb_rails("caption", props:{text: "Out for Delivery"})%>
55
55
  <% end %>
56
56
  <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-16", tooltip: "Estimated delivery: Jun 27", tooltip_position: "left"}) do %>
@@ -39,17 +39,20 @@
39
39
  </tr>
40
40
  </tbody>
41
41
  <% end %>
42
+
42
43
  <%= pb_rails("table", props: { size: "sm", margin_bottom: "lg" }) do %>
43
44
  <colgroup>
44
45
  <%= pb_rails("background", props: { background_color: "error_subtle", tag: "col" }) %>
45
- <%= pb_rails("background", props: { background_color: "info_subtle", tag: "col" }) %>
46
+ <%= pb_rails("background", props: { background_color: "card_light", tag: "col" }) %>
46
47
  <%= pb_rails("background", props: { background_color: "warning_subtle", tag: "col" }) %>
47
48
  </colgroup>
48
- <thead>
49
- <th>Column 1</th>
50
- <th>Column 2</th>
51
- <th>Column 3</th>
52
- </thead>
49
+ <%= pb_rails("background", props: { background_color: "card_light", tag: "thead" }) do %>
50
+ <tr>
51
+ <th>Column 1</th>
52
+ <th>Column 2</th>
53
+ <th>Column 3</th>
54
+ </tr>
55
+ <% end %>
53
56
  <tbody>
54
57
  <tr>
55
58
  <td>Value 1</td>
@@ -68,7 +68,7 @@ const TableWithBackgroundKit = (props) => {
68
68
  tag='col'
69
69
  />
70
70
  <Background
71
- backgroundColor="info_subtle"
71
+ backgroundColor="card_light"
72
72
  tag='col'
73
73
  />
74
74
  <Background
@@ -76,13 +76,16 @@ const TableWithBackgroundKit = (props) => {
76
76
  tag='col'
77
77
  />
78
78
  </colgroup>
79
- <thead>
79
+ <Background
80
+ backgroundColor="card_light"
81
+ tag='thead'
82
+ >
80
83
  <tr>
81
- <th>{'Column 1'}</th>
82
- <th>{'Column 2'}</th>
83
- <th>{'Column 3'}</th>
84
+ <th>{'Column 1'}</th>
85
+ <th>{'Column 2'}</th>
86
+ <th>{'Column 3'}</th>
84
87
  </tr>
85
- </thead>
88
+ </Background>
86
89
  <tbody>
87
90
  <tr>
88
91
  <td>{'Value 1'}</td>
@@ -74,31 +74,6 @@
74
74
  &.table-card {
75
75
  background: none !important;
76
76
 
77
- &.dark {
78
- tbody, .pb_table_tbody {
79
- tr, .pb_table_tr {
80
- td, .pb_table_td {
81
- background: $bg_dark_card !important;
82
- border-color: $border_dark !important;
83
- &:before {
84
- color: $text_dk_light !important;
85
- }
86
- &:after {
87
- height: 0;
88
- background-color: transparent;
89
- }
90
-
91
- &:first-child {
92
- border-radius: $border_rad_light $border_rad_light 0 0 !important;
93
- }
94
- &:last-child {
95
- border-radius: 0 0 $border_rad_light $border_rad_light !important;
96
- }
97
- }
98
- }
99
- }
100
- }
101
-
102
77
  tbody, .pb_table_tbody {
103
78
  tr, .pb_table_tr {
104
79
  td, .pb_table_td {
@@ -106,7 +81,6 @@
106
81
  border-left-width: 1px !important;
107
82
  border-right-width: 1px !important;
108
83
  border-top-width: 1px !important;
109
-
110
84
  &:after {
111
85
  height: 0;
112
86
  background-color: transparent;
@@ -77,6 +77,7 @@
77
77
  tbody, .pb_table_tbody {
78
78
  tr, .pb_table_tr {
79
79
  td, .pb_table_td {
80
+ background: $white !important;
80
81
  border-left-width: 1px !important;
81
82
  border-right-width: 1px !important;
82
83
  border-top-width: 1px !important;
@@ -74,31 +74,6 @@
74
74
  &.table-card {
75
75
  background: none !important;
76
76
 
77
- &.dark {
78
- tbody, .pb_table_tbody {
79
- tr, .pb_table_tr {
80
- td, .pb_table_td {
81
- background: $bg_dark_card !important;
82
- border-color: $border_dark !important;
83
- &:before {
84
- color: $text_dk_light !important;
85
- }
86
- &:after {
87
- height: 0;
88
- background-color: transparent;
89
- }
90
-
91
- &:first-child {
92
- border-radius: $border_rad_light $border_rad_light 0 0 !important;
93
- }
94
- &:last-child {
95
- border-radius: 0 0 $border_rad_light $border_rad_light !important;
96
- }
97
- }
98
- }
99
- }
100
- }
101
-
102
77
  tbody, .pb_table_tbody {
103
78
  tr, .pb_table_tr {
104
79
  td, .pb_table_td {
@@ -74,31 +74,6 @@
74
74
  &.table-card {
75
75
  background: none !important;
76
76
 
77
- &.dark {
78
- tbody, .pb_table_tbody {
79
- tr, .pb_table_tr {
80
- td, .pb_table_td {
81
- background: $bg_dark_card !important;
82
- border-color: $border_dark !important;
83
- &:before {
84
- color: $text_dk_light !important;
85
- }
86
- &:after {
87
- height: 0;
88
- background-color: transparent;
89
- }
90
-
91
- &:first-child {
92
- border-radius: $border_rad_light $border_rad_light 0 0 !important;
93
- }
94
- &:last-child {
95
- border-radius: 0 0 $border_rad_light $border_rad_light !important;
96
- }
97
- }
98
- }
99
- }
100
- }
101
-
102
77
  tbody, .pb_table_tbody {
103
78
  tr, .pb_table_tr {
104
79
  td, .pb_table_td {
@@ -1,65 +1,67 @@
1
- export default class PbTextInput {
2
- static start() {
3
- const inputElements = document.querySelectorAll('[data-pb-input-mask="true"]');
1
+ import PbEnhancedElement from "../pb_enhanced_element";
4
2
 
5
- inputElements.forEach((inputElement) => {
6
- inputElement.addEventListener("input", (event) => {
7
- const maskType = inputElement.getAttribute("mask");
8
- const cursorPosition = inputElement.selectionStart;
9
-
10
- let rawValue = event.target.value;
11
- let formattedValue = rawValue;
12
-
13
- // Apply formatting based on the mask type
14
- switch (maskType) {
15
- case "currency":
16
- formattedValue = formatCurrency(rawValue);
17
- break;
18
- case "ssn":
19
- formattedValue = formatSSN(rawValue);
20
- break;
21
- case "postal_code":
22
- formattedValue = formatPostalCode(rawValue);
23
- break;
24
- case "zip_code":
25
- formattedValue = formatZipCode(rawValue);
26
- break;
27
- }
28
-
29
- // Update the sanitized input field in the same wrapper
30
- const sanitizedInput = inputElement
31
- .closest(".text_input_wrapper")
32
- ?.querySelector('[data="sanitized-pb-input"]');
3
+ export default class PbTextInput extends PbEnhancedElement {
4
+ static get selector() {
5
+ return '[data-pb-input-mask="true"]';
6
+ }
33
7
 
34
- if (sanitizedInput) {
35
- switch (maskType) {
36
- case "ssn":
37
- sanitizedInput.value = sanitizeSSN(formattedValue);
38
- break;
39
- case "currency":
40
- sanitizedInput.value = sanitizeCurrency(formattedValue);
41
- break;
42
- default:
43
- sanitizedInput.value = formattedValue;
44
- }
45
- }
8
+ connect() {
9
+ this.handleInput = this.handleInput.bind(this);
10
+ this.element.addEventListener("input", this.handleInput);
11
+ }
46
12
 
47
- inputElement.value = formattedValue;
48
- setCursorPosition(inputElement, cursorPosition, rawValue, formattedValue);
49
- });
50
- });
13
+ disconnect() {
14
+ this.element.removeEventListener("input", this.handleInput);
15
+ }
51
16
 
17
+ handleInput() {
18
+ const maskType = this.element.getAttribute("mask");
19
+ const cursorPosition = this.element.selectionStart;
20
+ const rawValue = this.element.value;
21
+ let formattedValue = rawValue;
22
+
23
+ switch (maskType) {
24
+ case "currency":
25
+ formattedValue = formatCurrency(rawValue);
26
+ break;
27
+ case "ssn":
28
+ formattedValue = formatSSN(rawValue);
29
+ break;
30
+ case "postal_code":
31
+ formattedValue = formatPostalCode(rawValue);
32
+ break;
33
+ case "zip_code":
34
+ formattedValue = formatZipCode(rawValue);
35
+ break;
36
+ }
37
+
38
+ const sanitizedInput = this.element
39
+ .closest(".text_input_wrapper")
40
+ ?.querySelector('[data="sanitized-pb-input"]');
41
+
42
+ if (sanitizedInput) {
43
+ switch (maskType) {
44
+ case "ssn":
45
+ sanitizedInput.value = sanitizeSSN(formattedValue);
46
+ break;
47
+ case "currency":
48
+ sanitizedInput.value = sanitizeCurrency(formattedValue);
49
+ break;
50
+ default:
51
+ sanitizedInput.value = formattedValue;
52
+ }
53
+ }
54
+
55
+ this.element.value = formattedValue;
56
+ setCursorPosition(this.element, cursorPosition, rawValue, formattedValue);
52
57
  }
53
58
  }
54
59
 
55
60
  function formatCurrency(value) {
56
61
  const numericValue = value.replace(/[^0-9]/g, "").slice(0, 15);
57
-
58
62
  if (!numericValue) return "";
59
-
60
63
  const dollars = parseFloat((parseInt(numericValue) / 100).toFixed(2));
61
64
  if (dollars === 0) return "";
62
-
63
65
  return new Intl.NumberFormat("en-US", {
64
66
  style: "currency",
65
67
  currency: "USD",
@@ -84,19 +86,16 @@ function formatPostalCode(value) {
84
86
  }
85
87
 
86
88
  function sanitizeSSN(input) {
87
- return input.replace(/\D/g, "");
89
+ return input.replace(/\D/g, "");
88
90
  }
89
91
 
90
92
  function sanitizeCurrency(input) {
91
- return input.replace(/[$,]/g, "");
93
+ return input.replace(/[$,]/g, "");
92
94
  }
93
95
 
94
- // function to set cursor position
95
96
  function setCursorPosition(inputElement, cursorPosition, rawValue, formattedValue) {
96
97
  const difference = formattedValue.length - rawValue.length;
97
-
98
98
  const newPosition = Math.max(0, cursorPosition + difference);
99
-
100
99
  requestAnimationFrame(() => {
101
100
  inputElement.setSelectionRange(newPosition, newPosition);
102
101
  });
@@ -43,4 +43,4 @@
43
43
  Whoa. I'm a tooltip.
44
44
  <% end %>
45
45
  <% end %>
46
- <% end %>
46
+ <% end %>
@@ -1,4 +1,5 @@
1
1
  import PbEnhancedElement from '../pb_enhanced_element'
2
+
2
3
  import {
3
4
  createPopperLite as createPopper,
4
5
  flip,
@@ -16,34 +17,27 @@ export default class PbTooltip extends PbEnhancedElement {
16
17
 
17
18
  connect() {
18
19
  this.triggerElements.forEach((trigger) => {
19
- const method = this.triggerMethod
20
-
21
- if (method === 'click') {
22
- trigger.addEventListener('click', () => {
20
+ trigger.addEventListener('mouseenter', () => {
21
+ this.mouseenterTimeout = setTimeout(() => {
23
22
  this.showTooltip(trigger)
24
- })
25
- } else {
26
- trigger.addEventListener('mouseenter', () => {
27
- this.mouseenterTimeout = setTimeout(() => {
28
- this.showTooltip(trigger)
29
- this.checkCloseTooltip(trigger)
30
- }, TOOLTIP_TIMEOUT)
31
-
32
- trigger.addEventListener('mouseleave', () => {
33
- clearTimeout(this.mouseenterTimeout)
34
- setTimeout(() => {
35
- this.hideTooltip()
36
- }, 0)
37
- }, { once: true })
38
- })
39
-
40
- this.tooltip.addEventListener('mouseenter', () => {
23
+ this.checkCloseTooltip(trigger)
24
+ }, TOOLTIP_TIMEOUT)
25
+
26
+ trigger.addEventListener('mouseleave', () => {
41
27
  clearTimeout(this.mouseenterTimeout)
42
- })
43
- this.tooltip.addEventListener('mouseleave', () => {
44
- this.hideTooltip()
45
- })
46
- }
28
+
29
+ setTimeout(() => {
30
+ this.hideTooltip()
31
+ }, 0)
32
+ }, { once: true })
33
+ })
34
+ })
35
+
36
+ this.tooltip.addEventListener('mouseenter', () => {
37
+ clearTimeout(this.mouseenterTimeout)
38
+ })
39
+ this.tooltip.addEventListener('mouseleave', () => {
40
+ this.hideTooltip()
47
41
  })
48
42
  }
49
43
 
@@ -60,7 +54,7 @@ export default class PbTooltip extends PbEnhancedElement {
60
54
  }
61
55
 
62
56
  showTooltip(trigger) {
63
- if (this.shouldShowTooltip === 'false') return
57
+ if (this.shouldShowTooltip === "false") return
64
58
 
65
59
  this.popper = createPopper(trigger, this.tooltip, {
66
60
  placement: this.position,
@@ -84,13 +78,6 @@ export default class PbTooltip extends PbEnhancedElement {
84
78
  ],
85
79
  })
86
80
  this.tooltip.classList.add('show')
87
-
88
- if (this.triggerMethod === 'click') {
89
- clearTimeout(this.autoHideTimeout)
90
- this.autoHideTimeout = setTimeout(() => {
91
- this.hideTooltip()
92
- }, 1000)
93
- }
94
81
  }
95
82
 
96
83
  hideTooltip() {
@@ -107,26 +94,25 @@ export default class PbTooltip extends PbEnhancedElement {
107
94
  let triggerEl
108
95
 
109
96
  if (this.triggerElementId) {
110
- triggerEl = document.querySelector(`#${this.triggerElementId}`)
97
+ triggerEl = document.querySelector(`#${this.triggerElementId}`) //deprecated
111
98
  } else {
112
99
  const selectorIsId = this.triggerElementSelector.indexOf('#') > -1
113
- triggerEl = selectorIsId
114
- ? document.querySelector(`${this.triggerElementSelector}`)
115
- : document.querySelectorAll(`${this.triggerElementSelector}`)
100
+ triggerEl = selectorIsId ? document.querySelector(`${this.triggerElementSelector}`) :
101
+ document.querySelectorAll(`${this.triggerElementSelector}`)
116
102
  }
117
103
 
118
104
  if (!triggerEl) {
105
+ /* eslint no-console: ["error", { allow: ["warn", "error"] }] */
119
106
  console.error('Tooltip Kit: an invalid or unavailable DOM reference was provided!')
120
107
  return []
121
108
  }
122
109
 
123
110
  if (!triggerEl.length) triggerEl = [triggerEl]
124
- return (this._triggerElements = this._triggerElements || triggerEl)
111
+ return this._triggerElements = (this._triggerElements || triggerEl)
125
112
  }
126
113
 
127
114
  get tooltip() {
128
- return (this._tooltip =
129
- this._tooltip || this.element.querySelector(`#${this.tooltipId}`))
115
+ return this._tooltip = (this._tooltip || this.element.querySelector(`#${this.tooltipId}`))
130
116
  }
131
117
 
132
118
  get position() {
@@ -148,8 +134,4 @@ export default class PbTooltip extends PbEnhancedElement {
148
134
  get shouldShowTooltip() {
149
135
  return this.element.dataset.pbTooltipShowTooltip
150
136
  }
151
-
152
- get triggerMethod() {
153
- return this.element.dataset.pbTooltipTriggerMethod || 'hover'
154
- }
155
137
  }
@@ -9,9 +9,6 @@ module Playbook
9
9
  prop :tooltip_id
10
10
  prop :dark, type: Playbook::Props::Boolean,
11
11
  default: false
12
- prop :trigger_method, type: Playbook::Props::Enum,
13
- values: %w[hover click],
14
- default: "hover"
15
12
 
16
13
  def classname
17
14
  generate_classname("pb_tooltip_kit", dark_class)
@@ -24,8 +21,7 @@ module Playbook
24
21
  pb_tooltip_trigger_element_selector: trigger_element_selector,
25
22
  pb_tooltip_trigger_element_id: trigger_element_id,
26
23
  pb_tooltip_tooltip_id: tooltip_id,
27
- pb_tooltip_show_tooltip: true,
28
- pb_tooltip_trigger_method: trigger_method
24
+ pb_tooltip_show_tooltip: true
29
25
  )
30
26
  end
31
27
 
@@ -13,7 +13,6 @@ type UserProps = {
13
13
  aria?: {[key: string]: string},
14
14
  avatar?: boolean,
15
15
  avatarUrl?: string,
16
- bold?: boolean,
17
16
  className?: string,
18
17
  dark?: boolean,
19
18
  data?: {[key: string]: string},
@@ -33,7 +32,6 @@ const User = (props: UserProps): React.ReactElement => {
33
32
  aria = {},
34
33
  avatar = false,
35
34
  avatarUrl,
36
- bold = true,
37
35
  className,
38
36
  dark = false,
39
37
  data = {},
@@ -77,7 +75,6 @@ const User = (props: UserProps): React.ReactElement => {
77
75
  }
78
76
  <div className="content_wrapper">
79
77
  <Title
80
- bold={bold}
81
78
  dark={dark}
82
79
  size={size == 'lg' ? 3 : 4}
83
80
  text={name}
@@ -2,7 +2,6 @@ examples:
2
2
 
3
3
  rails:
4
4
  - user_default: Default
5
- - user_light_weight: Light Weight
6
5
  - user_with_territory: With Territory
7
6
  - user_text_only: Text Only
8
7
  - user_size: Horizontal Size
@@ -12,7 +11,6 @@ examples:
12
11
 
13
12
  react:
14
13
  - user_default: Default
15
- - user_light_weight: Light Weight
16
14
  - user_with_territory: With Territory
17
15
  - user_text_only: Text Only
18
16
  - user_size: Horizontal Size
@@ -1,5 +1,4 @@
1
1
  export { default as UserDefault } from './_user_default.jsx'
2
- export { default as UserLightWeight } from './_user_light_weight.jsx'
3
2
  export { default as UserWithTerritory } from './_user_with_territory.jsx'
4
3
  export { default as UserTextOnly } from './_user_text_only.jsx'
5
4
  export { default as UserSize } from './_user_size.jsx'
@@ -12,7 +12,7 @@
12
12
  }) %>
13
13
  <% end %>
14
14
  <%= content_tag(:div, class: "content_wrapper") do %>
15
- <%= pb_rails("title", props: { text: object.name, size: object.title_size, dark: object.dark, bold: object.bold }) %>
15
+ <%= pb_rails("title", props: { text: object.name, size: object.title_size, dark: object.dark }) %>
16
16
  <%= pb_rails("body", props: {
17
17
  text: "#{object.details}",
18
18
  dark: object.dark,
@@ -9,7 +9,6 @@ module Playbook
9
9
  prop :avatar, type: Playbook::Props::Boolean,
10
10
  default: false
11
11
  prop :avatar_url
12
- prop :bold, type: Playbook::Props::Boolean, default: true
13
12
  prop :name
14
13
  prop :orientation, type: Playbook::Props::Enum,
15
14
  values: %w[vertical horizontal],
@@ -26,17 +26,3 @@ test('subtitle prop accepts a node', () => {
26
26
 
27
27
  expect(screen.getByTestId('test-subtitle-block')).toHaveTextContent('test caption')
28
28
  })
29
-
30
- test('bold prop applies correct styling when false', () => {
31
- render(
32
- <User
33
- bold={false}
34
- data={{ testid: 'test-bold-false' }}
35
- name="Anna Black"
36
- />
37
- )
38
- const titleElement = screen.getByText("Anna Black")
39
- expect(titleElement).toBeInTheDocument()
40
-
41
- expect(titleElement).toHaveClass('pb_title_kit_size_4_thin')
42
- })