playbook_ui 14.12.0.pre.alpha.play1862buttondisabledlinkbug5716 → 14.12.0.pre.alpha.play1887homeaddressfix5910

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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +3 -4
  3. data/app/pb_kits/playbook/pb_advanced_table/index.js +9 -6
  4. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +8 -5
  5. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +9 -0
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +11 -7
  7. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +6 -7
  8. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +9 -3
  9. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +6 -2
  10. data/app/pb_kits/playbook/pb_copy_button/_copy_button.scss +2 -1
  11. data/app/pb_kits/playbook/pb_copy_button/copy_button.html.erb +15 -0
  12. data/app/pb_kits/playbook/pb_copy_button/copy_button.rb +28 -0
  13. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.html.erb +2 -0
  14. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.html.erb +5 -0
  15. data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +3 -3
  16. data/app/pb_kits/playbook/pb_copy_button/index.js +47 -0
  17. data/app/pb_kits/playbook/pb_date/_date.tsx +14 -4
  18. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +2 -1
  19. data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.jsx +13 -5
  20. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -6
  21. data/app/pb_kits/playbook/pb_filter/filter.html.erb +1 -5
  22. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close.html.erb +58 -0
  23. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close_rails.md +3 -0
  24. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +1 -0
  25. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +7 -5
  26. data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +1 -6
  27. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
  28. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +11 -7
  29. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.html.erb +11 -0
  30. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.jsx +22 -0
  31. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_rails.md +1 -0
  32. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_react.md +1 -0
  33. data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +2 -0
  34. data/app/pb_kits/playbook/pb_home_address_street/docs/index.js +1 -0
  35. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +13 -2
  36. data/app/pb_kits/playbook/pb_link/_link.tsx +18 -0
  37. data/app/pb_kits/playbook/pb_link/docs/_link_target.html.erb +15 -0
  38. data/app/pb_kits/playbook/pb_link/docs/_link_target.jsx +29 -0
  39. data/app/pb_kits/playbook/pb_link/docs/example.yml +5 -3
  40. data/app/pb_kits/playbook/pb_link/docs/index.js +2 -1
  41. data/app/pb_kits/playbook/pb_link/link.html.erb +1 -1
  42. data/app/pb_kits/playbook/pb_link/link.rb +6 -0
  43. data/app/pb_kits/playbook/pb_link/link.test.jsx +30 -0
  44. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tooltip.html.erb +6 -6
  45. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.html.erb +6 -9
  46. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.jsx +6 -9
  47. data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +26 -0
  48. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +0 -1
  49. data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +25 -0
  50. data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +25 -0
  51. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +1 -1
  52. data/app/pb_kits/playbook/pb_tooltip/index.js +45 -27
  53. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +5 -1
  54. data/app/pb_kits/playbook/pb_user/_user.tsx +3 -0
  55. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.html.erb +42 -0
  56. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.jsx +59 -0
  57. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.md +2 -0
  58. data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
  59. data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
  60. data/app/pb_kits/playbook/pb_user/user.html.erb +1 -1
  61. data/app/pb_kits/playbook/pb_user/user.rb +1 -0
  62. data/app/pb_kits/playbook/pb_user/user.test.js +14 -0
  63. data/dist/chunks/{_typeahead-BIhRQo8Q.js → _typeahead-CkemExmL.js} +3 -3
  64. data/dist/chunks/_weekday_stacked-C2x2rHKi.js +45 -0
  65. data/dist/chunks/{lib-kMuhBuU7.js → lib-DjpLC8uO.js} +1 -1
  66. data/dist/chunks/{pb_form_validation-DBJ0wZuS.js → pb_form_validation-S56UaHZl.js} +1 -1
  67. data/dist/chunks/vendor.js +1 -1
  68. data/dist/menu.yml +2 -2
  69. data/dist/playbook-doc.js +1 -1
  70. data/dist/playbook-rails-react-bindings.js +1 -1
  71. data/dist/playbook-rails.js +1 -1
  72. data/dist/playbook.css +1 -1
  73. data/lib/playbook/version.rb +1 -1
  74. metadata +23 -7
  75. data/dist/chunks/_weekday_stacked-VKMYuo6-.js +0 -45
  76. /data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/{_fixed_confirmation_toast_auto_close.md → _fixed_confirmation_toast_auto_close_react.md} +0 -0
@@ -0,0 +1,3 @@
1
+ Auto close is used when you want the confirmation toast to close automatically after a certain time. `auto_close` property will be a delay number in ms.
2
+
3
+ The script tag in this code snippet is for demonstration purposes only. It clones the toasts in order to have it appear with a button click prompt and not upon initial page load. In a typical production environment the event triggering a fixed confirmation toast to appear would be handled by a controller or a separate javascript file.
@@ -5,6 +5,7 @@ examples:
5
5
  - fixed_confirmation_toast_multi_line: Multi Line
6
6
  - fixed_confirmation_toast_close: Click to Close
7
7
  - fixed_confirmation_toast_positions: Click to Show Positions
8
+ - fixed_confirmation_toast_auto_close: Click to Show Auto Close
8
9
  - fixed_confirmation_toast_children: Children
9
10
  - fixed_confirmation_toast_custom_icon: Custom Icon
10
11
 
@@ -2,16 +2,18 @@ import PbEnhancedElement from '../pb_enhanced_element'
2
2
 
3
3
  export default class PbFixedConfirmationToast extends PbEnhancedElement {
4
4
  static get selector() {
5
- return '.remove_toast'
5
+ return '[class*="pb_fixed_confirmation_toast_kit"]'
6
6
  }
7
7
 
8
8
  connect() {
9
9
  this.self = this.element
10
10
  this.autoCloseToast(this.self)
11
11
 
12
- this.self.addEventListener('click', () => {
13
- this.removeToast(this.self)
14
- })
12
+ if (this.self.classList.contains('remove_toast')) {
13
+ this.self.addEventListener('click', () => {
14
+ this.removeToast(this.self)
15
+ })
16
+ }
15
17
  }
16
18
 
17
19
  removeToast(elem) {
@@ -32,4 +34,4 @@ export default class PbFixedConfirmationToast extends PbEnhancedElement {
32
34
  }, autoCloseIntValue)
33
35
  }
34
36
  }
35
- }
37
+ }
@@ -1,8 +1,3 @@
1
- <%= content_tag(:div,
2
- aria: object.aria,
3
- class: object.classname,
4
- data: object.data,
5
- id: object.id,
6
- **combined_html_options) do %>
1
+ <%= pb_content_tag(:div) do %>
7
2
  <%= content.presence %>
8
3
  <% end %>
@@ -1,4 +1,4 @@
1
- <%= content_tag(:div, id: object.id, data: object.data, class: object.classname + object.size_class, tabindex: object.tabindex, **combined_html_options) do %>
1
+ <%= pb_content_tag(:div, class: object.classname + object.size_class, tabindex: object.tabindex) do %>
2
2
  <% if object.name.present? %>
3
3
  <%= pb_rails("avatar", props: { name: object.name, image_url: object.avatar_url, size: "xxs" }) %>
4
4
  <% if object.truncate %>
@@ -18,6 +18,7 @@ type HomeAddressStreetProps = {
18
18
  className?: string,
19
19
  data?: { [key: string]: string },
20
20
  dark?: boolean,
21
+ preserveCase?: boolean,
21
22
  emphasis: "street" | "city" | "none",
22
23
  htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
23
24
  homeId: string,
@@ -43,6 +44,7 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
43
44
  htmlOptions = {},
44
45
  homeId,
45
46
  homeUrl,
47
+ preserveCase = false,
46
48
  target,
47
49
  newWindow,
48
50
  houseStyle,
@@ -77,6 +79,8 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
77
79
  return null
78
80
  }
79
81
 
82
+ const formatStreetAdr = (address: string): string => preserveCase ? address : titleize(address)
83
+
80
84
  return (
81
85
  <div
82
86
  className={classes(className, dark)}
@@ -91,7 +95,7 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
91
95
  dark={dark}
92
96
  size={4}
93
97
  >
94
- {joinPresent([titleize(address), houseStyle], ' · ')}
98
+ {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
95
99
  </Title>
96
100
  <Title
97
101
  className="pb_home_address_street_address"
@@ -101,14 +105,14 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
101
105
  {titleize(addressCont)}
102
106
  </Title>
103
107
  <Body color="light">
104
- {`${titleize(city)}, ${state} ${zipcode}`}
108
+ {`${titleize(city)}, ${state.toUpperCase()} ${zipcode}`}
105
109
  </Body>
106
110
  </div>
107
111
  }
108
112
  {emphasis == 'city' &&
109
113
  <div>
110
114
  <Body color="light">
111
- {joinPresent([titleize(address), houseStyle], ' · ')}
115
+ {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
112
116
  </Body>
113
117
  <Body color="light">{titleize(addressCont)}</Body>
114
118
  <div>
@@ -118,7 +122,7 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
118
122
  size={4}
119
123
  tag="span"
120
124
  >
121
- {`${titleize(city)}, ${state}`}
125
+ {`${titleize(city)}, ${state.toUpperCase()}`}
122
126
  </Title>
123
127
  <Body
124
128
  color="light"
@@ -132,15 +136,15 @@ const HomeAddressStreet = (props: HomeAddressStreetProps): React.ReactElement =>
132
136
  {emphasis == 'none' &&
133
137
  <div>
134
138
  <Body dark={dark}>
135
- {joinPresent([titleize(address), houseStyle], ' · ')}
139
+ {joinPresent([formatStreetAdr(address), houseStyle], ' · ')}
136
140
  </Body>
137
- <Body dark={dark}>{titleize(addressCont)}</Body>
141
+ <Body dark={dark}>{formatStreetAdr(addressCont)}</Body>
138
142
  <div>
139
143
  <Body
140
144
  color="light"
141
145
  dark={dark}
142
146
  >
143
- {`${titleize(city)}, ${state} ${zipcode}`}
147
+ {`${titleize(city)}, ${state.toUpperCase()} ${zipcode}`}
144
148
  </Body>
145
149
  </div>
146
150
  </div>
@@ -0,0 +1,11 @@
1
+ <%= pb_rails("home_address_street", props: {
2
+ address: "70 pRoSpEcT ave",
3
+ address_cont: "Apt M18",
4
+ city: "West Chester",
5
+ home_id: 8250263,
6
+ home_url: "https://powerhrg.com/",
7
+ preserve_case: true,
8
+ state: "pa",
9
+ zipcode: "19382",
10
+ territory: "PHL",
11
+ }) %>
@@ -0,0 +1,22 @@
1
+ import React from 'react'
2
+
3
+ import HomeAddressStreet from '../_home_address_street'
4
+
5
+ const HomeAddressStreetFormatting = (props) => {
6
+ return (
7
+ <HomeAddressStreet
8
+ address="70 pRoSpEcT ave"
9
+ addressCont="Apt M18"
10
+ city="West Chester"
11
+ homeId="8250263"
12
+ homeUrl="https://powerhrg.com/"
13
+ preserveCase
14
+ state="pa"
15
+ territory="PHL"
16
+ zipcode="19382"
17
+ {...props}
18
+ />
19
+ )
20
+ }
21
+
22
+ export default HomeAddressStreetFormatting
@@ -0,0 +1 @@
1
+ The `state` prop will always capitalize the state name, even if the data entered is in lowercase. For example, when `state="pa"` is passed, it will be rendered as "PA". When you pass `preserve_case: true`, the street address will be rendered exactly as entered, without automatic title capitalization.
@@ -0,0 +1 @@
1
+ The `state` prop will always capitalize the state name, even if the data entered is in lowercase. For example, when `state="pa"` is passed, it will be rendered as "PA". When you pass `preserveCase`, the street address will be rendered exactly as entered, without automatic title capitalization.
@@ -5,12 +5,14 @@ examples:
5
5
  - home_address_street_emphasis: Emphasis
6
6
  - home_address_street_modified: Modified
7
7
  - home_address_street_link: Link
8
+ - home_address_street_formatting: Formatting
8
9
 
9
10
  react:
10
11
  - home_address_street_default: Default
11
12
  - home_address_street_emphasis: Emphasis
12
13
  - home_address_street_modified: Modified
13
14
  - home_address_street_link: Link
15
+ - home_address_street_formatting: Formatting
14
16
 
15
17
  swift:
16
18
  - home_address_street_default_swift: Default
@@ -2,3 +2,4 @@ export { default as HomeAddressStreetDefault } from './_home_address_street_defa
2
2
  export { default as HomeAddressStreetEmphasis } from './_home_address_street_emphasis.jsx'
3
3
  export { default as HomeAddressStreetModified } from './_home_address_street_modified.jsx'
4
4
  export { default as HomeAddressStreetLink } from './_home_address_street_link.jsx'
5
+ export { default as HomeAddressStreetFormatting } from './_home_address_street_formatting.jsx'
@@ -18,6 +18,7 @@ module Playbook
18
18
  prop :state
19
19
  prop :zipcode
20
20
  prop :territory
21
+ prop :preserve_case, default: false
21
22
  prop :dark, type: Playbook::Props::Boolean, default: false
22
23
 
23
24
  def classname
@@ -29,7 +30,7 @@ module Playbook
29
30
  end
30
31
 
31
32
  def city_state
32
- [city&.titleize, state].join(", ")
33
+ [city&.titleize, state&.upcase].join(", ")
33
34
  end
34
35
 
35
36
  def zip
@@ -37,7 +38,7 @@ module Playbook
37
38
  end
38
39
 
39
40
  def address_house_style
40
- [address&.titleize, house_style].join(separator)
41
+ [format_street_address, house_style].join(separator)
41
42
  end
42
43
 
43
44
  def address_house_style2
@@ -48,6 +49,16 @@ module Playbook
48
49
  house_style ? " \u00b7 " : ""
49
50
  end
50
51
 
52
+ def format_street_address
53
+ preserve_case ? address : custom_titleize(address)
54
+ end
55
+
56
+ def custom_titleize(str)
57
+ return "" if str.nil?
58
+
59
+ str.split(" ").map(&:capitalize).join(" ")
60
+ end
61
+
51
62
  def city_emphasis_props
52
63
  {
53
64
  address_house_style: address_house_style,
@@ -19,7 +19,9 @@ type LinkProps = {
19
19
  icon?: string,
20
20
  iconRight?: string,
21
21
  id?: string,
22
+ tabIndex?: number,
22
23
  tag?: 'a' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
24
+ target?: string,
23
25
  text?: string,
24
26
  underline?: boolean,
25
27
  } & GlobalProps
@@ -37,7 +39,9 @@ const Link = (props: LinkProps): React.ReactElement => {
37
39
  icon = '',
38
40
  iconRight = '',
39
41
  id = '',
42
+ tabIndex,
40
43
  tag = 'a',
44
+ target = '',
41
45
  text = '',
42
46
  underline = false,
43
47
  } = props
@@ -52,6 +56,14 @@ const Link = (props: LinkProps): React.ReactElement => {
52
56
  )
53
57
  const Tag = tag as keyof JSX.IntrinsicElements
54
58
 
59
+ const getTargetAttribute = () => {
60
+ if (target && href) {
61
+ return target
62
+ }
63
+
64
+ return undefined
65
+ }
66
+
55
67
  const renderContent = () => (
56
68
  <>
57
69
  {icon && (
@@ -87,6 +99,9 @@ const Link = (props: LinkProps): React.ReactElement => {
87
99
  <a
88
100
  {...commonProps}
89
101
  href={href}
102
+ rel={target !== 'child' ? 'noreferrer' : undefined}
103
+ tabIndex={tabIndex}
104
+ target={getTargetAttribute()}
90
105
  >
91
106
  {renderContent()}
92
107
  </a>
@@ -96,6 +111,9 @@ const Link = (props: LinkProps): React.ReactElement => {
96
111
  <a
97
112
  {...commonProps}
98
113
  href={href}
114
+ rel={target !== 'child' ? 'noreferrer' : undefined}
115
+ tabIndex={tabIndex}
116
+ target={getTargetAttribute()}
99
117
  >
100
118
  <Tag>{renderContent()}</Tag>
101
119
  </a>
@@ -0,0 +1,15 @@
1
+ <div>
2
+ <%= pb_rails("link", props: {
3
+ href: "http://google.com",
4
+ target: "blank",
5
+ text: "Open In New Window"
6
+ }) %>
7
+ </div>
8
+
9
+ <div>
10
+ <%= pb_rails("link", props: {
11
+ href: "https://playbook.powerapp.cloud/",
12
+ target: "child",
13
+ text: "Open In Child Tab",
14
+ }) %>
15
+ </div>
@@ -0,0 +1,29 @@
1
+ import React from 'react'
2
+ import { Link } from 'playbook-ui'
3
+
4
+ const LinkTarget = (props) => (
5
+ <div>
6
+ <div>
7
+ <Link
8
+ aria={{ label: 'Link to Google in new window' }}
9
+ href="https://google.com"
10
+ tabIndex={0}
11
+ target='blank'
12
+ text="Open In New Window"
13
+ {...props}
14
+ />
15
+ </div>
16
+ <div>
17
+ <Link
18
+ aria={{ label: 'Link to Playbook in a child tab' }}
19
+ href="https://playbook.powerapp.cloud/"
20
+ tabIndex={0}
21
+ target='child'
22
+ text="Open In Child Tab"
23
+ {...props}
24
+ />
25
+ </div>
26
+ </div>
27
+ )
28
+
29
+ export default LinkTarget
@@ -1,16 +1,18 @@
1
1
  examples:
2
-
2
+
3
3
  rails:
4
4
  - link_color: Color
5
5
  - link_underline: Underline
6
6
  - link_icon: Icon
7
7
  - link_disabled: Disabled
8
8
  - link_tag: Tag
9
-
10
-
9
+ - link_target: Target
10
+
11
+
11
12
  react:
12
13
  - link_color: Color
13
14
  - link_underline: Underline
14
15
  - link_icon: Icon
15
16
  - link_disabled: Disabled
16
17
  - link_tag: Tag
18
+ - link_target: Target
@@ -2,4 +2,5 @@ export { default as LinkColor } from './_link_color.jsx'
2
2
  export { default as LinkUnderline } from './_link_underline.jsx'
3
3
  export { default as LinkIcon } from './_link_icon.jsx'
4
4
  export { default as LinkDisabled } from './_link_disabled.jsx'
5
- export { default as LinkTag } from './_link_tag.jsx'
5
+ export { default as LinkTag } from './_link_tag.jsx'
6
+ export { default as LinkTarget } from './_link_target.jsx'
@@ -9,7 +9,7 @@
9
9
  <% end %>
10
10
 
11
11
  <% if object.tag == "a" %>
12
- <%= pb_content_tag(object.tag, { href: object.href }) do %>
12
+ <%= pb_content_tag(object.tag, { href: object.href, target: object.target }) do %>
13
13
  <%= link_content.call %>
14
14
  <% end %>
15
15
  <% else %>
@@ -11,9 +11,11 @@ module Playbook
11
11
  prop :href
12
12
  prop :icon
13
13
  prop :icon_right
14
+ prop :tabindex
14
15
  prop :tag, type: Playbook::Props::Enum,
15
16
  values: %w[a h1 h2 h3 h4 h5 h6 p span div],
16
17
  default: "a"
18
+ prop :target
17
19
  prop :text
18
20
  prop :underline, type: Playbook::Props::Boolean,
19
21
  default: false
@@ -26,6 +28,10 @@ module Playbook
26
28
  text
27
29
  end
28
30
 
31
+ def target_attribute
32
+ target if target && href
33
+ end
34
+
29
35
  private
30
36
 
31
37
  def color_class
@@ -90,3 +90,33 @@ test('adds icon right', () => {
90
90
  const icon = kit.querySelector('.pb_icon_kit')
91
91
  expect(icon).toBeInTheDocument();
92
92
  })
93
+
94
+ test('should render target prop', () => {
95
+ render(
96
+ <Link
97
+ data={{ testid: 'target-test' }}
98
+ href="https://playbook.powerapp.cloud/"
99
+ target="blank"
100
+ />
101
+ )
102
+
103
+ const kit = screen.getByTestId('target-test')
104
+
105
+ expect(kit).toHaveAttribute('target', 'blank')
106
+ })
107
+
108
+
109
+ test('should render child target prop', () => {
110
+ render(
111
+ <Link
112
+ data={{ testid: 'target-test' }}
113
+ href="https://playbook.powerapp.cloud/"
114
+ tabIndex={0}
115
+ target="child"
116
+ />
117
+ )
118
+
119
+ const kit = screen.getByTestId('target-test')
120
+
121
+ expect(kit).toHaveAttribute('target', 'child')
122
+ })
@@ -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", step_direction: "horizontal" }) do %>
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 %>
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" }) do %>
14
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-5", tooltip: "Tooltip for step 5", tooltip_position: "left" }) 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" }) 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 %>
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" }) do %>
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 %>
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"}) do %>
53
+ <%= pb_rails("progress_step/progress_step_item", props: {status: "inactive", classname: "tooltip-trigger-15", tooltip: "This step is inactive", tooltip_position: "bottom"}) 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,20 +39,17 @@
39
39
  </tr>
40
40
  </tbody>
41
41
  <% end %>
42
-
43
42
  <%= pb_rails("table", props: { size: "sm", margin_bottom: "lg" }) do %>
44
43
  <colgroup>
45
44
  <%= pb_rails("background", props: { background_color: "error_subtle", tag: "col" }) %>
46
- <%= pb_rails("background", props: { background_color: "card_light", tag: "col" }) %>
45
+ <%= pb_rails("background", props: { background_color: "info_subtle", tag: "col" }) %>
47
46
  <%= pb_rails("background", props: { background_color: "warning_subtle", tag: "col" }) %>
48
47
  </colgroup>
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 %>
48
+ <thead>
49
+ <th>Column 1</th>
50
+ <th>Column 2</th>
51
+ <th>Column 3</th>
52
+ </thead>
56
53
  <tbody>
57
54
  <tr>
58
55
  <td>Value 1</td>
@@ -68,7 +68,7 @@ const TableWithBackgroundKit = (props) => {
68
68
  tag='col'
69
69
  />
70
70
  <Background
71
- backgroundColor="card_light"
71
+ backgroundColor="info_subtle"
72
72
  tag='col'
73
73
  />
74
74
  <Background
@@ -76,16 +76,13 @@ const TableWithBackgroundKit = (props) => {
76
76
  tag='col'
77
77
  />
78
78
  </colgroup>
79
- <Background
80
- backgroundColor="card_light"
81
- tag='thead'
82
- >
79
+ <thead>
83
80
  <tr>
84
- <th>{'Column 1'}</th>
85
- <th>{'Column 2'}</th>
86
- <th>{'Column 3'}</th>
81
+ <th>{'Column 1'}</th>
82
+ <th>{'Column 2'}</th>
83
+ <th>{'Column 3'}</th>
87
84
  </tr>
88
- </Background>
85
+ </thead>
89
86
  <tbody>
90
87
  <tr>
91
88
  <td>{'Value 1'}</td>
@@ -74,6 +74,31 @@
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
+
77
102
  tbody, .pb_table_tbody {
78
103
  tr, .pb_table_tr {
79
104
  td, .pb_table_td {
@@ -81,6 +106,7 @@
81
106
  border-left-width: 1px !important;
82
107
  border-right-width: 1px !important;
83
108
  border-top-width: 1px !important;
109
+
84
110
  &:after {
85
111
  height: 0;
86
112
  background-color: transparent;
@@ -77,7 +77,6 @@
77
77
  tbody, .pb_table_tbody {
78
78
  tr, .pb_table_tr {
79
79
  td, .pb_table_td {
80
- background: $white !important;
81
80
  border-left-width: 1px !important;
82
81
  border-right-width: 1px !important;
83
82
  border-top-width: 1px !important;
@@ -74,6 +74,31 @@
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
+
77
102
  tbody, .pb_table_tbody {
78
103
  tr, .pb_table_tr {
79
104
  td, .pb_table_td {