playbook_ui 12.15.0 → 12.16.0.pre.alpha.PLAY693tooltipwrongbg547

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_background/_background.tsx +1 -1
  3. data/app/pb_kits/playbook/pb_background/background.rb +1 -1
  4. data/app/pb_kits/playbook/pb_badge/_badge.scss +1 -0
  5. data/app/pb_kits/playbook/pb_badge/_badge.tsx +1 -1
  6. data/app/pb_kits/playbook/pb_badge/badge.rb +5 -1
  7. data/app/pb_kits/playbook/pb_badge/badge.test.js +16 -1
  8. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +3 -3
  9. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +2 -2
  10. data/app/pb_kits/playbook/pb_card/docs/_card_background.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_docs/kit_api.html.erb +295 -8
  12. data/app/pb_kits/playbook/pb_docs/kit_api.rb +42 -0
  13. data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +33 -0
  14. data/app/pb_kits/playbook/pb_docs/kit_example.rb +18 -1
  15. data/app/pb_kits/playbook/pb_enhanced_element/index.ts +1 -1
  16. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.tsx +5 -5
  17. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -1
  18. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +0 -5
  19. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -4
  20. data/app/pb_kits/playbook/pb_table/{_table.jsx → _table.tsx} +9 -11
  21. data/app/pb_kits/playbook/pb_table/{_table_row.jsx → _table_row.tsx} +7 -8
  22. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.html.erb +41 -0
  23. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.jsx +62 -0
  24. data/app/pb_kits/playbook/pb_table/docs/example.yml +2 -0
  25. data/app/pb_kits/playbook/pb_table/docs/index.js +1 -0
  26. data/app/pb_kits/playbook/pb_table/{index.js → index.ts} +4 -4
  27. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +129 -0
  28. data/app/pb_kits/playbook/pb_textarea/{index.js → index.tsx} +2 -0
  29. data/app/pb_kits/playbook/pb_textarea/textarea.test.js +213 -0
  30. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +11 -6
  31. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +4 -4
  32. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_with_icon_circle.html.erb +1 -2
  33. data/app/pb_kits/playbook/pb_tooltip/docs/example.yml +0 -1
  34. data/app/pb_kits/playbook/tokens/_colors.scss +16 -1
  35. data/lib/playbook/version.rb +2 -2
  36. metadata +15 -14
  37. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +0 -41
  38. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +0 -135
  39. data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_white.html.erb +0 -9
@@ -7,12 +7,10 @@ module Playbook
7
7
  default: false
8
8
  prop :initial_country, type: Playbook::Props::String,
9
9
  default: ""
10
- prop :is_valid
11
10
  prop :label, type: Playbook::Props::String,
12
11
  default: ""
13
12
  prop :name, type: Playbook::Props::String,
14
13
  default: ""
15
- prop :onchange
16
14
  prop :only_countries, type: Playbook::Props::Array,
17
15
  default: []
18
16
  prop :preferred_countries, type: Playbook::Props::Array,
@@ -30,10 +28,8 @@ module Playbook
30
28
  dark: dark,
31
29
  disabled: disabled,
32
30
  initialCountry: initial_country,
33
- isValid: is_valid,
34
31
  label: label,
35
32
  name: name,
36
- onChange: onchange,
37
33
  onlyCountries: only_countries,
38
34
  preferredCountries: preferred_countries,
39
35
  value: value,
@@ -1,19 +1,17 @@
1
- /* @flow */
2
-
3
- import React, { useEffect, type Node } from 'react'
1
+ import React, { useEffect } from 'react'
4
2
  import classnames from 'classnames'
5
3
  import { buildAriaProps, buildDataProps } from '../utilities/props'
6
4
  import { globalProps } from '../utilities/globalProps'
7
- import PbTable from './'
5
+ import PbTable from '.'
8
6
 
9
7
  type TableProps = {
10
- aria?: object,
11
- children: array<Node> | Node,
8
+ aria?: { [key: string]: string },
9
+ children: React.ReactNode[] | React.ReactNode,
12
10
  className: string,
13
11
  collapse?: "sm" | "md" | "lg",
14
12
  container: boolean,
15
13
  dark?: boolean,
16
- data?: object,
14
+ data?: { [key: string]: string },
17
15
  dataTable: boolean,
18
16
  disableHover: boolean,
19
17
  id?: string,
@@ -52,9 +50,9 @@ const Table = (props: TableProps) => {
52
50
 
53
51
  return (
54
52
  <table
55
- {...ariaProps}
56
- {...dataProps}
57
- className={classnames(
53
+ {...ariaProps}
54
+ {...dataProps}
55
+ className={classnames(
58
56
  'pb_table',
59
57
  `table-${size}`,
60
58
  `table-responsive-${responsive}`,
@@ -70,7 +68,7 @@ const Table = (props: TableProps) => {
70
68
  tableCollapseCss,
71
69
  className
72
70
  )}
73
- id={id}
71
+ id={id}
74
72
  >
75
73
  {children}
76
74
  </table>
@@ -1,14 +1,13 @@
1
- /* @flow */
2
1
  import React from 'react'
3
2
  import classnames from 'classnames'
4
3
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
4
  import { globalProps } from '../utilities/globalProps'
6
5
 
7
6
  type TableRowPropTypes = {
8
- aria?: object,
9
- children: array<React.ReactNode> | React.ReactNode,
7
+ aria?: { [key: string]: string },
8
+ children: React.ReactNode[] | React.ReactNode,
10
9
  className: string,
11
- data?: object,
10
+ data?: { [key: string]: string },
12
11
  id?: string,
13
12
  sideHighlightColor: string,
14
13
  }
@@ -31,10 +30,10 @@ const TableRow = (props: TableRowPropTypes) => {
31
30
 
32
31
  return (
33
32
  <tr
34
- {...ariaProps}
35
- {...dataProps}
36
- className={classes}
37
- id={id}
33
+ {...ariaProps}
34
+ {...dataProps}
35
+ className={classes}
36
+ id={id}
38
37
  >
39
38
  {children}
40
39
  </tr>
@@ -0,0 +1,41 @@
1
+ <%= pb_rails("table", props: { size: "sm", margin_bottom: "lg" }) do %>
2
+ <thead>
3
+ <tr>
4
+ <th>Column 1</th>
5
+ <th>Column 2</th>
6
+ <th>Column 3</th>
7
+ </tr>
8
+ </thead>
9
+ <tbody>
10
+ <tr>
11
+ <td>Value 1</td>
12
+ <td>Value 2</td>
13
+ <td>Value 3</td>
14
+ </tr>
15
+ <%= pb_rails("background", props: { background_color: "error_subtle", tag: "tr" }) do %>
16
+ <td>Value 1</td>
17
+ <td>Value 2</td>
18
+ <td>Value 3</td>
19
+ <% end %>
20
+ <tr>
21
+ <td>Value 1</td>
22
+ <td>Value 2</td>
23
+ <td>Value 3</td>
24
+ </tr>
25
+ <tr>
26
+ <td>Value 1</td>
27
+ <td>Value 2</td>
28
+ <td>Value 3</td>
29
+ </tr>
30
+ <%= pb_rails("background", props: { background_color: "warning_subtle", tag: "tr" }) do %>
31
+ <td>Value 1</td>
32
+ <td>Value 2</td>
33
+ <td>Value 3</td>
34
+ <% end %>
35
+ <tr>
36
+ <td>Value 1</td>
37
+ <td>Value 2</td>
38
+ <td>Value 3</td>
39
+ </tr>
40
+ </tbody>
41
+ <% end %>
@@ -0,0 +1,62 @@
1
+ import React from 'react'
2
+
3
+ import Table from '../_table'
4
+ import Background from "../../pb_background/_background"
5
+
6
+ const TableWithBackgroundKit = (props) => {
7
+ return (
8
+ <div>
9
+ <Table
10
+ {...props}
11
+ >
12
+ <thead>
13
+ <tr>
14
+ <th>{'Column 1'}</th>
15
+ <th>{'Column 2'}</th>
16
+ <th>{'Column 3'}</th>
17
+ </tr>
18
+ </thead>
19
+ <tbody>
20
+ <tr>
21
+ <td>{'Value 1'}</td>
22
+ <td>{'Value 2'}</td>
23
+ <td>{'Value 3'}</td>
24
+ </tr>
25
+ <Background
26
+ backgroundColor="error_subtle"
27
+ tag='tr'
28
+ >
29
+ <td>{'Value 1'}</td>
30
+ <td>{'Value 2'}</td>
31
+ <td>{'Value 3'}</td>
32
+ </Background>
33
+ <tr>
34
+ <td>{'Value 1'}</td>
35
+ <td>{'Value 2'}</td>
36
+ <td>{'Value 3'}</td>
37
+ </tr>
38
+ <tr>
39
+ <td>{'Value 1'}</td>
40
+ <td>{'Value 2'}</td>
41
+ <td>{'Value 3'}</td>
42
+ </tr>
43
+ <Background
44
+ backgroundColor="warning_subtle"
45
+ tag='tr'
46
+ >
47
+ <td>{'Value 1'}</td>
48
+ <td>{'Value 2'}</td>
49
+ <td>{'Value 3'}</td>
50
+ </Background>
51
+ <tr>
52
+ <td>{'Value 1'}</td>
53
+ <td>{'Value 2'}</td>
54
+ <td>{'Value 3'}</td>
55
+ </tr>
56
+ </tbody>
57
+ </Table>
58
+ </div>
59
+ )
60
+ }
61
+
62
+ export default TableWithBackgroundKit
@@ -20,6 +20,7 @@ examples:
20
20
  - table_two_plus_actions: Table with 2+ Actions
21
21
  - table_action_middle: Table with Actions in the Middle
22
22
  - table_icon_buttons: Table with Icon Buttons
23
+ - table_with_background_kit: Table With Background Kit
23
24
 
24
25
 
25
26
  react:
@@ -43,4 +44,5 @@ examples:
43
44
  - table_two_plus_actions: Table with 2+ Actions
44
45
  - table_action_middle: Table with Actions in the Middle
45
46
  - table_icon_buttons: Table with Icon Buttons
47
+ - table_with_background_kit: Table With Background Kit
46
48
 
@@ -18,3 +18,4 @@ export { default as TableAlignmentColumn } from './_table_alignment_column.jsx'
18
18
  export { default as TableAlignmentRow } from './_table_alignment_row.jsx'
19
19
  export { default as TableAlignmentShiftRow } from './_table_alignment_shift_row.jsx'
20
20
  export { default as TableAlignmentShiftData } from './_table_alignment_shift_data.jsx'
21
+ export { default as TableWithBackgroundKit } from './_table_with_background_kit.jsx'
@@ -9,16 +9,16 @@ export default class PbTable extends PbEnhancedElement {
9
9
  const tables = document.querySelectorAll('.table-responsive-collapse');
10
10
 
11
11
  // Each Table
12
- [].forEach.call(tables, (table) => {
12
+ [].forEach.call(tables, (table: HTMLTableElement) => {
13
13
  // Header Titles
14
- var headers = [].map.call(table.querySelectorAll('th'), (header) => {
14
+ var headers = [].map.call(table.querySelectorAll('th'), (header: Element) => {
15
15
  return header.textContent.replace(/\r?\n|\r/, '')
16
16
  });
17
17
 
18
18
  // for each row in tbody
19
- [].forEach.call(table.querySelectorAll('tbody tr'), (row) => {
19
+ [].forEach.call(table.querySelectorAll('tbody tr'), (row: HTMLTableRowElement) => {
20
20
  // for each cell
21
- [].forEach.call(row.cells, (cell, headerIndex) => {
21
+ [].forEach.call(row.cells, (cell: HTMLTableCellElement, headerIndex: number) => {
22
22
  // apply the attribute
23
23
  cell.setAttribute('data-title', headers[headerIndex])
24
24
  })
@@ -0,0 +1,129 @@
1
+ /* eslint-disable react-hooks/rules-of-hooks */
2
+
3
+ import React, { forwardRef, useEffect, useRef } from 'react'
4
+ import classnames from 'classnames'
5
+
6
+ import PbTextarea from '.'
7
+ import type { InputCallback } from '../types'
8
+
9
+ import { buildAriaProps, buildDataProps } from '../utilities/props'
10
+ import { globalProps, GlobalProps } from '../utilities/globalProps'
11
+
12
+ import Body from '../pb_body/_body'
13
+ import Caption from '../pb_caption/_caption'
14
+ import Flex from '../pb_flex/_flex'
15
+ import FlexItem from '../pb_flex/_flex_item'
16
+
17
+ type TextareaProps = {
18
+ aria?: {[key: string]: string},
19
+ characterCount?: string,
20
+ className?: string,
21
+ children?: React.ReactChild[],
22
+ data?: {[key: string]: string},
23
+ disabled?: boolean,
24
+ error?: string,
25
+ id?: string,
26
+ inline?: boolean,
27
+ object?: string,
28
+ method?: string,
29
+ label?: string,
30
+ maxCharacters?: string,
31
+ placeholder?: string,
32
+ value?: string,
33
+ name?: string,
34
+ required?: boolean,
35
+ rows?: number,
36
+ resize: "none" | "both" | "horizontal" | "vertical" | "auto",
37
+ onChange?: InputCallback<HTMLTextAreaElement>,
38
+ } & GlobalProps
39
+
40
+ const Textarea = ({
41
+ aria = {},
42
+ characterCount,
43
+ className,
44
+ children,
45
+ data = {},
46
+ disabled,
47
+ inline = false,
48
+ resize = 'none',
49
+ error,
50
+ label,
51
+ maxCharacters,
52
+ name,
53
+ onChange = () => {},
54
+ placeholder,
55
+ required,
56
+ rows = 4,
57
+ value,
58
+ ...props
59
+ }: TextareaProps, ref: any) => {
60
+ ref = useRef<HTMLTextAreaElement>(null)
61
+ useEffect(() => {
62
+ if (ref.current && resize === 'auto') {
63
+ PbTextarea.addMatch(ref.current)
64
+ }
65
+ })
66
+
67
+ const errorClass = error ? 'error' : null
68
+ const inlineClass = inline ? 'inline' : ''
69
+ const resizeClass = `resize_${resize}`
70
+ const classes = classnames('pb_textarea_kit', errorClass, inlineClass, resizeClass, globalProps(props), className)
71
+ const noCount = typeof characterCount !== 'undefined'
72
+ const ariaProps: {[key: string]: any} = buildAriaProps(aria)
73
+ const dataProps: {[key: string]: any} = buildDataProps(data)
74
+
75
+ const characterCounter = () => {
76
+ return maxCharacters && characterCount ? `${checkIfZero(characterCount)} / ${maxCharacters}` : `${checkIfZero(characterCount)}`
77
+ }
78
+
79
+ const checkIfZero = (characterCount: string | number) => {
80
+ return characterCount == 0 ? characterCount.toString() : characterCount
81
+ }
82
+
83
+ return (
84
+ <div
85
+ {...ariaProps}
86
+ {...dataProps}
87
+ className={classes}
88
+ >
89
+ <Caption text={label} />
90
+ {children || (
91
+ <textarea
92
+ className="pb_textarea_kit"
93
+ disabled={disabled}
94
+ name={name}
95
+ onChange={onChange}
96
+ placeholder={placeholder}
97
+ ref={ref}
98
+ required={required}
99
+ rows={rows}
100
+ value={value}
101
+ {...props}
102
+ />
103
+ )}
104
+
105
+ {error ? (
106
+ <>
107
+ {characterCount ? (
108
+ <Flex spacing="between" vertical="center">
109
+ <FlexItem>
110
+ <Body margin="none" status="negative" text={error} />
111
+ </FlexItem>
112
+ <FlexItem>
113
+ <Caption margin="none" size="xs" text={characterCounter()} />
114
+ </FlexItem>
115
+ </Flex>
116
+ ) : (
117
+ <Body status="negative" text={error} />
118
+ )}
119
+ </>
120
+ ) : (
121
+ noCount && (
122
+ <Caption margin="none" size="xs" text={characterCounter()} />
123
+ )
124
+ )}
125
+ </div>
126
+ );
127
+ }
128
+
129
+ export default forwardRef(Textarea)
@@ -1,6 +1,8 @@
1
1
  import PbEnhancedElement from '../pb_enhanced_element'
2
2
 
3
3
  export default class PbTextarea extends PbEnhancedElement {
4
+ style: {[key: string]: string}
5
+ scrollHeight: string
4
6
  static get selector() {
5
7
  return '.resize_auto textarea'
6
8
  }
@@ -0,0 +1,213 @@
1
+ import React from "react"
2
+ import { render, screen } from "../utilities/test-utils"
3
+
4
+ import Textarea from "./_textarea"
5
+
6
+ const testId = "textarea-kit"
7
+
8
+ describe("TextArea Kit Props", () => {
9
+ test("Expects to have correct classname", () => {
10
+ render(
11
+ <Textarea
12
+ data={{ testid: testId }}
13
+ label="Label"
14
+ />
15
+ )
16
+
17
+ const kit = screen.getByTestId(testId)
18
+ expect(kit).toHaveClass("pb_textarea_kit")
19
+ })
20
+
21
+ test("should render aria-label", () => {
22
+ render(
23
+ <Textarea
24
+ aria={{ label: testId }}
25
+ data={{ testid: testId }}
26
+ />
27
+ )
28
+
29
+ const kit = screen.getByTestId(testId)
30
+ expect(kit).toHaveAttribute("aria-label", testId)
31
+ })
32
+
33
+ test("should render custom classname", () => {
34
+ render(
35
+ <Textarea
36
+ className={"text_class"}
37
+ data={{ testid: testId }}
38
+ />
39
+ )
40
+
41
+ const kit = screen.getByTestId(testId)
42
+
43
+ expect(kit).toHaveClass("text_class")
44
+ })
45
+
46
+ test("should render value", () => {
47
+ render(
48
+ <Textarea
49
+ data={{ testid: testId }}
50
+ value={"Default Value"}
51
+ />
52
+ )
53
+
54
+ const kit = screen.getByTestId(testId)
55
+ const textarea = kit.querySelector("textarea")
56
+
57
+ expect(textarea.innerHTML).toBe("Default Value")
58
+ })
59
+
60
+ test("should render disabled", () => {
61
+ render(
62
+ <Textarea
63
+ data={{ testid: testId }}
64
+ disabled={false}
65
+ />
66
+ )
67
+
68
+ const kit = screen.getByTestId(testId)
69
+ const textarea = kit.querySelector("textarea")
70
+
71
+ expect(textarea.disabled).toBe(false)
72
+ })
73
+
74
+ test("should render rows", () => {
75
+ render(
76
+ <Textarea
77
+ data={{ testid: testId }}
78
+ rows={7}
79
+ />
80
+ )
81
+
82
+ const kit = screen.getByTestId(testId)
83
+ const textarea = kit.querySelector("textarea")
84
+
85
+ expect(textarea.rows).toBe(7)
86
+ })
87
+
88
+ test("should render character count", () => {
89
+ render(
90
+ <Textarea
91
+ characterCount={50}
92
+ data={{ testid: testId }}
93
+ />
94
+ )
95
+
96
+ const kit = screen.getByTestId(testId)
97
+ const counter = kit.querySelector(".pb_caption_kit_xs")
98
+
99
+ expect(counter.innerHTML).toBe("50")
100
+ })
101
+
102
+ test("should have inline class", () => {
103
+ render(
104
+ <Textarea
105
+ data={{ testid: testId }}
106
+ inline
107
+ />
108
+ )
109
+
110
+ const kit = screen.getByTestId(testId)
111
+
112
+ expect(kit).toHaveClass("inline")
113
+ })
114
+
115
+ test("should have resize class", () => {
116
+ render(
117
+ <Textarea
118
+ data={{ testid: testId }}
119
+ resize={"none"}
120
+ />
121
+ )
122
+
123
+ const kit = screen.getByTestId(testId)
124
+
125
+ expect(kit).toHaveClass("resize_none")
126
+ })
127
+
128
+ test("should render error", () => {
129
+ render(
130
+ <Textarea
131
+ data={{ testid: testId }}
132
+ error={"error message"}
133
+ />
134
+ )
135
+
136
+ const kit = screen.getByTestId(testId)
137
+ const error = kit.querySelector(".pb_body_kit_negative")
138
+
139
+ expect(kit).toHaveClass("error")
140
+ expect(error.innerHTML).toBe("error message")
141
+ })
142
+
143
+ test("should render label", () => {
144
+ render(
145
+ <Textarea
146
+ data={{ testid: testId }}
147
+ label={"Test Label"}
148
+ />
149
+ )
150
+
151
+ const kit = screen.getByTestId(testId)
152
+ const error = kit.querySelector(".pb_caption_kit_md")
153
+
154
+ expect(error.innerHTML).toBe("Test Label")
155
+ })
156
+
157
+ test("should render max character display", () => {
158
+ render(
159
+ <Textarea
160
+ characterCount={"11"}
161
+ data={{ testid: testId }}
162
+ maxCharacters={"10"}
163
+ />
164
+ )
165
+
166
+ const kit = screen.getByTestId(testId)
167
+ const error = kit.querySelector(".pb_caption_kit_xs")
168
+
169
+ expect(error.innerHTML).toBe("11 / 10")
170
+ })
171
+
172
+ test("should render max character display", () => {
173
+ render(
174
+ <Textarea
175
+ data={{ testid: testId }}
176
+ name={"TestName"}
177
+ />
178
+ )
179
+
180
+ const kit = screen.getByTestId(testId)
181
+ const textarea = kit.querySelector("textarea")
182
+
183
+ expect(textarea.name).toBe("TestName")
184
+ })
185
+
186
+ test("should render placeholder", () => {
187
+ render(
188
+ <Textarea
189
+ data={{ testid: testId }}
190
+ placeholder={"Test Placeholder"}
191
+ />
192
+ )
193
+
194
+ const kit = screen.getByTestId(testId)
195
+ const textarea = kit.querySelector("textarea")
196
+
197
+ expect(textarea.placeholder).toBe("Test Placeholder")
198
+ })
199
+
200
+ test("should be required", () => {
201
+ render(
202
+ <Textarea
203
+ data={{ testid: testId }}
204
+ required
205
+ />
206
+ )
207
+
208
+ const kit = screen.getByTestId(testId)
209
+ const textarea = kit.querySelector("textarea")
210
+
211
+ expect(textarea.required).toBeTruthy()
212
+ })
213
+ })
@@ -88,13 +88,18 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
88
88
  &.show {
89
89
  opacity: 1;
90
90
  margin-bottom: $space_sm;
91
- background-color: $white;
91
+ color: $white;
92
+ background-color: rgba($black, $opacity_9);
92
93
  &.fade_out {
93
94
  animation-name: fadeOut;
94
95
  animation-duration: 150ms;
95
96
  animation-timing-function: linear;
96
97
  animation-fill-mode: forwards;
97
98
  }
99
+ .arrow {
100
+ border-color: $black transparent transparent transparent;
101
+ opacity: $opacity_9;
102
+ }
98
103
  }
99
104
  }
100
105
 
@@ -109,12 +114,12 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
109
114
  }
110
115
  //rails
111
116
  &.show {
112
- color: $white;
113
- background-color: rgba($black, $opacity_9);
117
+ color: $charcoal;
118
+ background-color: $white;
114
119
  }
115
- .arrow {
116
- border-color: $black transparent transparent transparent;
117
- opacity: $opacity_9;
120
+ .arrow {
121
+ border-color: $white transparent transparent transparent;
122
+ opacity: $opacity_10;
118
123
  }
119
124
  // react arrow
120
125
  .arrow_bg {
@@ -1,4 +1,4 @@
1
- <%= pb_rails("flex", props: { horizontal: "center", orientation: "column" }) do %>
1
+ <%= pb_rails("flex", props: { gap: "md", justify: "center", wrap: true }) do %>
2
2
  <%= pb_rails("flex/flex_item") do %>
3
3
  <span id='regular-tooltip-1'>Hover here (Top)</span>
4
4
 
@@ -11,7 +11,7 @@
11
11
  <% end %>
12
12
  <% end %>
13
13
 
14
- <%= pb_rails("flex/flex_item", props: {margin_top: "md"}) do %>
14
+ <%= pb_rails("flex/flex_item") do %>
15
15
  <span id='regular-tooltip-2'>Hover here (Bottom)</span>
16
16
  <%= pb_rails("tooltip", props: {
17
17
  trigger_element_selector: "#regular-tooltip-2",
@@ -22,7 +22,7 @@
22
22
  <% end %>
23
23
  <% end %>
24
24
 
25
- <%= pb_rails("flex/flex_item", props: {margin_top: "md"}) do %>
25
+ <%= pb_rails("flex/flex_item") do %>
26
26
  <span id='regular-tooltip-3'>Hover here (Right)</span>
27
27
  <%= pb_rails("tooltip", props: {
28
28
  trigger_element_selector: "#regular-tooltip-3",
@@ -33,7 +33,7 @@
33
33
  <% end %>
34
34
  <% end %>
35
35
 
36
- <%= pb_rails("flex/flex_item", props: {margin_top: "md"}) do %>
36
+ <%= pb_rails("flex/flex_item") do %>
37
37
  <span id='regular-tooltip-4'>Hover here (Left)</span>
38
38
  <%= pb_rails("tooltip", props: {
39
39
  trigger_element_selector: "#regular-tooltip-4",
@@ -3,8 +3,7 @@
3
3
  <%= pb_rails("tooltip", props: {
4
4
  trigger_element_id: "result-1-sample-email-link",
5
5
  tooltip_id: "sample-email-tooltip-result-1",
6
- position: "top",
7
- dark: true
6
+ position: "top"
8
7
  }) do %>
9
8
  Send Email
10
9
  <% end %>
@@ -3,7 +3,6 @@ examples:
3
3
  rails:
4
4
  - tooltip_default: Default
5
5
  - tooltip_selectors: Using Common Selectors
6
- - tooltip_white: White
7
6
  - tooltip_with_icon_circle: Icon Circle Tooltip
8
7
 
9
8
  react: