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

Sign up to get free protection for your applications and to get access to all the features.
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
- })