playbook_ui 14.6.0 → 14.6.2.pre.alpha.PBNTR576tooltiptruncatedformpills4296
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +2 -1
- data/app/pb_kits/playbook/pb_card/_card.tsx +1 -5
- data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +1 -5
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +4 -4
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +1 -3
- data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +2 -2
- data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_flex/_flex.tsx +1 -3
- data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +2 -8
- data/app/pb_kits/playbook/pb_flex/flex_item.html.erb +6 -3
- data/app/pb_kits/playbook/pb_flex/flex_item.rb +2 -7
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +6 -2
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +32 -26
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +22 -1
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +25 -2
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.md +1 -1
- data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +39 -7
- data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +2 -0
- data/app/pb_kits/playbook/pb_link/_link.scss +66 -0
- data/app/pb_kits/playbook/pb_link/_link.tsx +107 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_color.html.erb +30 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_color.jsx +40 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_disabled.html.erb +5 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_disabled.jsx +15 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_icon.html.erb +15 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_icon.jsx +25 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_tag.html.erb +35 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_tag.jsx +45 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_underline.html.erb +5 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_underline.jsx +15 -0
- data/app/pb_kits/playbook/pb_link/docs/example.yml +16 -0
- data/app/pb_kits/playbook/pb_link/docs/index.js +5 -0
- data/app/pb_kits/playbook/pb_link/link.html.erb +21 -0
- data/app/pb_kits/playbook/pb_link/link.rb +44 -0
- data/app/pb_kits/playbook/pb_link/link.test.jsx +92 -0
- data/app/pb_kits/playbook/pb_popover/_popover.tsx +1 -1
- data/app/pb_kits/playbook/tokens/_typography.scss +35 -0
- data/app/pb_kits/playbook/utilities/globalPropNames.mjs +0 -3
- data/app/pb_kits/playbook/utilities/globalProps.ts +2 -39
- data/dist/chunks/_typeahead-CGyRnRCQ.js +22 -0
- data/dist/chunks/{_weekday_stacked-C_QAqbqJ.js → _weekday_stacked-BTMWkeKM.js} +3 -3
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +3 -0
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/kit_base.rb +1 -21
- data/lib/playbook/version.rb +2 -2
- metadata +24 -7
- data/dist/chunks/_typeahead-BhHnXJjy.js +0 -22
@@ -0,0 +1,107 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import classnames from 'classnames'
|
3
|
+
|
4
|
+
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
|
+
import { globalProps, GlobalProps } from '../utilities/globalProps'
|
6
|
+
|
7
|
+
import Icon from '../pb_icon/_icon'
|
8
|
+
|
9
|
+
type LinkProps = {
|
10
|
+
aria?: {[key: string]: string},
|
11
|
+
className?: string,
|
12
|
+
children?: React.ReactChild[] | React.ReactChild,
|
13
|
+
color?: 'default' | 'body' | 'muted' | 'destructive',
|
14
|
+
dark?: boolean,
|
15
|
+
data?: {[key: string]: string},
|
16
|
+
disabled?: boolean,
|
17
|
+
href?: string,
|
18
|
+
htmlOptions?: {[key: string]: string | number | boolean | (() => void) | ((arg?: Event) => void)},
|
19
|
+
icon?: string,
|
20
|
+
iconRight?: string,
|
21
|
+
id?: string,
|
22
|
+
tag?: 'a' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
|
23
|
+
text?: string,
|
24
|
+
underline?: boolean,
|
25
|
+
} & GlobalProps
|
26
|
+
|
27
|
+
const Link = (props: LinkProps): React.ReactElement => {
|
28
|
+
const {
|
29
|
+
aria = {},
|
30
|
+
children,
|
31
|
+
className,
|
32
|
+
color = '',
|
33
|
+
data = {},
|
34
|
+
disabled = false,
|
35
|
+
href= '',
|
36
|
+
htmlOptions = {},
|
37
|
+
icon = '',
|
38
|
+
iconRight = '',
|
39
|
+
id = '',
|
40
|
+
tag = 'a',
|
41
|
+
text = '',
|
42
|
+
underline = false,
|
43
|
+
} = props
|
44
|
+
|
45
|
+
const ariaProps: {[key: string]: string} = buildAriaProps(aria)
|
46
|
+
const dataProps: {[key: string]: string} = buildDataProps(data)
|
47
|
+
const htmlProps = buildHtmlProps(htmlOptions);
|
48
|
+
const classes = classnames(
|
49
|
+
buildCss('pb_link_kit', color, underline ? 'underline' : '', disabled ? 'disabled' : ''),
|
50
|
+
globalProps(props),
|
51
|
+
className
|
52
|
+
)
|
53
|
+
const Tag = tag as keyof JSX.IntrinsicElements
|
54
|
+
|
55
|
+
const renderContent = () => (
|
56
|
+
<>
|
57
|
+
{icon && (
|
58
|
+
<Icon
|
59
|
+
fixedWidth
|
60
|
+
icon={icon}
|
61
|
+
marginRight="xxs"
|
62
|
+
size="xs"
|
63
|
+
/>
|
64
|
+
)}
|
65
|
+
{text || children}
|
66
|
+
{iconRight && (
|
67
|
+
<Icon
|
68
|
+
fixedWidth
|
69
|
+
icon={iconRight}
|
70
|
+
marginLeft="xxs"
|
71
|
+
size="xs"
|
72
|
+
/>
|
73
|
+
)}
|
74
|
+
</>
|
75
|
+
)
|
76
|
+
|
77
|
+
const commonProps = {
|
78
|
+
...ariaProps,
|
79
|
+
...dataProps,
|
80
|
+
...htmlProps,
|
81
|
+
className: classes,
|
82
|
+
id,
|
83
|
+
}
|
84
|
+
|
85
|
+
if (tag === 'a') {
|
86
|
+
return (
|
87
|
+
<a
|
88
|
+
{...commonProps}
|
89
|
+
href={href}
|
90
|
+
>
|
91
|
+
{renderContent()}
|
92
|
+
</a>
|
93
|
+
)
|
94
|
+
} else {
|
95
|
+
return (
|
96
|
+
<a
|
97
|
+
{...commonProps}
|
98
|
+
href={href}
|
99
|
+
>
|
100
|
+
<Tag>{renderContent()}</Tag>
|
101
|
+
</a>
|
102
|
+
)
|
103
|
+
}
|
104
|
+
|
105
|
+
}
|
106
|
+
|
107
|
+
export default Link
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<div>
|
2
|
+
<%= pb_rails("link", props: {
|
3
|
+
text: "link example",
|
4
|
+
href: "https://www.google.com/search?q=playbook+design+system",
|
5
|
+
}) %>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<div>
|
9
|
+
<%= pb_rails("link", props: {
|
10
|
+
text: "link example",
|
11
|
+
href: "https://www.youtube.com/@PowerHRG",
|
12
|
+
color: "body",
|
13
|
+
}) %>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<div>
|
17
|
+
<%= pb_rails("link", props: {
|
18
|
+
text: "link example",
|
19
|
+
href: "https://github.com/powerhome/.github/blob/main/profile/README.md",
|
20
|
+
color: "muted",
|
21
|
+
}) %>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div>
|
25
|
+
<%= pb_rails("link", props: {
|
26
|
+
text: "link example",
|
27
|
+
href: "https://rubygems.org/gems/playbook_ui/",
|
28
|
+
color: "destructive",
|
29
|
+
}) %>
|
30
|
+
</div>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Link } from 'playbook-ui'
|
3
|
+
|
4
|
+
const LinkColor = (props) => (
|
5
|
+
<div>
|
6
|
+
<div>
|
7
|
+
<Link
|
8
|
+
href="https://www.google.com/search?q=playbook+design+system"
|
9
|
+
text="link example"
|
10
|
+
{...props}
|
11
|
+
/>
|
12
|
+
</div>
|
13
|
+
<div>
|
14
|
+
<Link
|
15
|
+
color="body"
|
16
|
+
href="https://www.youtube.com/@PowerHRG"
|
17
|
+
text="link example"
|
18
|
+
{...props}
|
19
|
+
/>
|
20
|
+
</div>
|
21
|
+
<div>
|
22
|
+
<Link
|
23
|
+
color="muted"
|
24
|
+
href="https://github.com/powerhome/.github/blob/main/profile/README.md"
|
25
|
+
text="link example"
|
26
|
+
{...props}
|
27
|
+
/>
|
28
|
+
</div>
|
29
|
+
<div>
|
30
|
+
<Link
|
31
|
+
color="destructive"
|
32
|
+
href="https://rubygems.org/gems/playbook_ui/"
|
33
|
+
text="link example"
|
34
|
+
{...props}
|
35
|
+
/>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
)
|
39
|
+
|
40
|
+
export default LinkColor
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<div>
|
2
|
+
<%= pb_rails("link", props: {
|
3
|
+
text: "link example",
|
4
|
+
href: "#icon",
|
5
|
+
icon: "arrow-up-right-from-square",
|
6
|
+
}) %>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div>
|
10
|
+
<%= pb_rails("link", props: {
|
11
|
+
text: "link example",
|
12
|
+
href: "#icon2",
|
13
|
+
icon_right: "chevron-right",
|
14
|
+
}) %>
|
15
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Link } from 'playbook-ui'
|
3
|
+
|
4
|
+
const LinkIcon = (props) => (
|
5
|
+
<div>
|
6
|
+
<div>
|
7
|
+
<Link
|
8
|
+
href="#icon"
|
9
|
+
icon="arrow-up-right-from-square"
|
10
|
+
text="link example"
|
11
|
+
{...props}
|
12
|
+
/>
|
13
|
+
</div>
|
14
|
+
<div>
|
15
|
+
<Link
|
16
|
+
href="#icon2"
|
17
|
+
iconRight="chevron-right"
|
18
|
+
text="link example"
|
19
|
+
{...props}
|
20
|
+
/>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
)
|
24
|
+
|
25
|
+
export default LinkIcon
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<%= pb_rails("link", props: {
|
2
|
+
text: "h1 link example",
|
3
|
+
href: "#tag",
|
4
|
+
icon: "arrow-up-right-from-square",
|
5
|
+
tag: "h1",
|
6
|
+
}) %>
|
7
|
+
|
8
|
+
<%= pb_rails("link", props: {
|
9
|
+
text: "h3 link example",
|
10
|
+
href: "#tag2",
|
11
|
+
tag: "h3",
|
12
|
+
underline: true,
|
13
|
+
}) %>
|
14
|
+
|
15
|
+
<%= pb_rails("link", props: {
|
16
|
+
color: "destructive",
|
17
|
+
text: "h6 link example",
|
18
|
+
href: "#tag3",
|
19
|
+
tag: "h6",
|
20
|
+
}) %>
|
21
|
+
|
22
|
+
<%= pb_rails("link", props: {
|
23
|
+
text: "p link example",
|
24
|
+
href: "#tag4",
|
25
|
+
icon_right: "chevron-right",
|
26
|
+
tag: "p",
|
27
|
+
}) %>
|
28
|
+
|
29
|
+
<div>
|
30
|
+
This is a <%= pb_rails("link", props: {
|
31
|
+
text: "span link example",
|
32
|
+
href: "#tag5",
|
33
|
+
tag: "span",
|
34
|
+
}) %>
|
35
|
+
</div>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Link } from 'playbook-ui'
|
3
|
+
|
4
|
+
const LinkTag = (props) => (
|
5
|
+
<div>
|
6
|
+
<Link
|
7
|
+
href="#tag"
|
8
|
+
icon="arrow-up-right-from-square"
|
9
|
+
tag="h1"
|
10
|
+
text="h1 link example"
|
11
|
+
{...props}
|
12
|
+
/>
|
13
|
+
<Link
|
14
|
+
href="#tag2"
|
15
|
+
tag="h3"
|
16
|
+
text="h3 link example"
|
17
|
+
underline
|
18
|
+
{...props}
|
19
|
+
/>
|
20
|
+
<Link
|
21
|
+
color="destructive"
|
22
|
+
href="#tag3"
|
23
|
+
tag="h6"
|
24
|
+
text="h6 link example"
|
25
|
+
{...props}
|
26
|
+
/>
|
27
|
+
<Link
|
28
|
+
href="#tag4"
|
29
|
+
iconRight="chevron-right"
|
30
|
+
tag="p"
|
31
|
+
text="p link example"
|
32
|
+
{...props}
|
33
|
+
/>
|
34
|
+
<div>
|
35
|
+
This is a <Link
|
36
|
+
href="#tag5"
|
37
|
+
tag="span"
|
38
|
+
text="span link example"
|
39
|
+
{...props}
|
40
|
+
/>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
)
|
44
|
+
|
45
|
+
export default LinkTag
|
@@ -0,0 +1,16 @@
|
|
1
|
+
examples:
|
2
|
+
|
3
|
+
rails:
|
4
|
+
- link_color: Color
|
5
|
+
- link_underline: Underline
|
6
|
+
- link_icon: Icon
|
7
|
+
- link_disabled: Disabled
|
8
|
+
- link_tag: Tag
|
9
|
+
|
10
|
+
|
11
|
+
react:
|
12
|
+
- link_color: Color
|
13
|
+
- link_underline: Underline
|
14
|
+
- link_icon: Icon
|
15
|
+
- link_disabled: Disabled
|
16
|
+
- link_tag: Tag
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export { default as LinkColor } from './_link_color.jsx'
|
2
|
+
export { default as LinkUnderline } from './_link_underline.jsx'
|
3
|
+
export { default as LinkIcon } from './_link_icon.jsx'
|
4
|
+
export { default as LinkDisabled } from './_link_disabled.jsx'
|
5
|
+
export { default as LinkTag } from './_link_tag.jsx'
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<% link_content = proc do %>
|
2
|
+
<% if object.icon.present? %>
|
3
|
+
<%= pb_rails("icon", props: { icon: object.icon, fixed_width: true, size: "xs", margin_right: "xxs" }) %>
|
4
|
+
<% end %>
|
5
|
+
<%= object.content %>
|
6
|
+
<% if object.icon_right.present? %>
|
7
|
+
<%= pb_rails("icon", props: { icon: object.icon_right, fixed_width: true, size: "xs", margin_left: "xxs" }) %>
|
8
|
+
<% end %>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<% if object.tag == "a" %>
|
12
|
+
<%= pb_content_tag(object.tag, { href: object.href }) do %>
|
13
|
+
<%= link_content.call %>
|
14
|
+
<% end %>
|
15
|
+
<% else %>
|
16
|
+
<%= pb_content_tag(:a, { href: object.href }) do %>
|
17
|
+
<%= content_tag(object.tag) do %>
|
18
|
+
<%= link_content.call %>
|
19
|
+
<% end %>
|
20
|
+
<% end %>
|
21
|
+
<% end %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Playbook
|
4
|
+
module PbLink
|
5
|
+
class Link < ::Playbook::KitBase
|
6
|
+
prop :color, type: Playbook::Props::Enum,
|
7
|
+
values: %w[default body muted destructive],
|
8
|
+
default: "default"
|
9
|
+
prop :disabled, type: Playbook::Props::Boolean,
|
10
|
+
default: false
|
11
|
+
prop :href
|
12
|
+
prop :icon
|
13
|
+
prop :icon_right
|
14
|
+
prop :tag, type: Playbook::Props::Enum,
|
15
|
+
values: %w[a h1 h2 h3 h4 h5 h6 p span div],
|
16
|
+
default: "a"
|
17
|
+
prop :text
|
18
|
+
prop :underline, type: Playbook::Props::Boolean,
|
19
|
+
default: false
|
20
|
+
|
21
|
+
def classname
|
22
|
+
generate_classname("pb_link_kit", color_class, underline_class, disabled_class)
|
23
|
+
end
|
24
|
+
|
25
|
+
def content
|
26
|
+
text
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def color_class
|
32
|
+
color == "default" ? nil : color
|
33
|
+
end
|
34
|
+
|
35
|
+
def disabled_class
|
36
|
+
disabled ? "disabled" : nil
|
37
|
+
end
|
38
|
+
|
39
|
+
def underline_class
|
40
|
+
underline ? "underline" : nil
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { ensureAccessible, renderKit, render, screen } from '../utilities/test-utils'
|
3
|
+
|
4
|
+
import { Link } from 'playbook-ui'
|
5
|
+
|
6
|
+
const link = 'https://www.google.com'
|
7
|
+
|
8
|
+
const props = {
|
9
|
+
data: { testid: 'default' },
|
10
|
+
href: link,
|
11
|
+
}
|
12
|
+
|
13
|
+
test('returns namespaced class name', () => {
|
14
|
+
const kit = renderKit(Link , props)
|
15
|
+
expect(kit).toBeInTheDocument()
|
16
|
+
expect(kit).toHaveClass('pb_link_kit')
|
17
|
+
expect(kit).toHaveAttribute('href', link)
|
18
|
+
})
|
19
|
+
|
20
|
+
it("should be accessible", async () => {
|
21
|
+
ensureAccessible(Link, props)
|
22
|
+
})
|
23
|
+
|
24
|
+
test('with colors', () => {
|
25
|
+
['default', 'body', 'muted', 'destructive'].forEach((color) => {
|
26
|
+
const testId = `colors-test-${color}`
|
27
|
+
render(
|
28
|
+
<Link
|
29
|
+
color={color}
|
30
|
+
data={{ testid: testId }}
|
31
|
+
text="Test colors"
|
32
|
+
/>
|
33
|
+
)
|
34
|
+
|
35
|
+
const kit = screen.getByTestId(testId)
|
36
|
+
expect(kit).toHaveClass(`pb_link_kit_${color}`)
|
37
|
+
})
|
38
|
+
})
|
39
|
+
|
40
|
+
test('disable prop', () => {
|
41
|
+
render(
|
42
|
+
<Link
|
43
|
+
data={{ testid: 'disable-test' }}
|
44
|
+
disabled
|
45
|
+
/>
|
46
|
+
)
|
47
|
+
|
48
|
+
const kit = screen.getByTestId('disable-test')
|
49
|
+
|
50
|
+
expect(kit).toHaveClass('pb_link_kit_disabled')
|
51
|
+
})
|
52
|
+
|
53
|
+
test('underline prop', () => {
|
54
|
+
render(
|
55
|
+
<Link
|
56
|
+
data={{ testid: 'underline-test' }}
|
57
|
+
underline
|
58
|
+
/>
|
59
|
+
)
|
60
|
+
|
61
|
+
const kit = screen.getByTestId('underline-test')
|
62
|
+
|
63
|
+
expect(kit).toHaveClass('pb_link_kit_underline')
|
64
|
+
})
|
65
|
+
|
66
|
+
test('adds icon', () => {
|
67
|
+
render(
|
68
|
+
<Link
|
69
|
+
data={{ testid: 'icon-test' }}
|
70
|
+
icon="arrow-up-right-from-square"
|
71
|
+
/>
|
72
|
+
)
|
73
|
+
|
74
|
+
const kit = screen.getByTestId('icon-test')
|
75
|
+
|
76
|
+
const icon = kit.querySelector('.pb_icon_kit')
|
77
|
+
expect(icon).toBeInTheDocument();
|
78
|
+
})
|
79
|
+
|
80
|
+
test('adds icon right', () => {
|
81
|
+
render(
|
82
|
+
<Link
|
83
|
+
data={{ testid: 'icon-right-test' }}
|
84
|
+
iconRight="chevron-right"
|
85
|
+
/>
|
86
|
+
)
|
87
|
+
|
88
|
+
const kit = screen.getByTestId('icon-right-test')
|
89
|
+
|
90
|
+
const icon = kit.querySelector('.pb_icon_kit')
|
91
|
+
expect(icon).toBeInTheDocument();
|
92
|
+
})
|
@@ -21,7 +21,7 @@ import classnames from "classnames";
|
|
21
21
|
import { globalProps, GlobalProps } from "../utilities/globalProps";
|
22
22
|
import { uniqueId } from 'lodash';
|
23
23
|
|
24
|
-
type ModifiedGlobalProps = Omit<GlobalProps, 'minWidth'
|
24
|
+
type ModifiedGlobalProps = Omit<GlobalProps, 'minWidth'>
|
25
25
|
|
26
26
|
type PbPopoverProps = {
|
27
27
|
aria?: { [key: string]: string };
|
@@ -1,3 +1,5 @@
|
|
1
|
+
@import "../tokens/colors";
|
2
|
+
|
1
3
|
$font_family_base: "Power Centra", "Helvetica Neue", Helvetica, Arial, sans_serif !default;
|
2
4
|
|
3
5
|
/* CLEAN UP AND REMOVE */
|
@@ -51,3 +53,36 @@ $boldest: 700 !default;
|
|
51
53
|
$bolder: 700 !default;
|
52
54
|
$light: 300 !default;
|
53
55
|
$lighter: 300 !default;
|
56
|
+
|
57
|
+
/* Link Colors */
|
58
|
+
$pb_link_colors: (
|
59
|
+
default: $primary_action,
|
60
|
+
body: $text_lt_default,
|
61
|
+
muted: $text_lt_light,
|
62
|
+
destructive: $error,
|
63
|
+
);
|
64
|
+
|
65
|
+
$pb_link_hover_colors: (
|
66
|
+
default: $text_lt_default,
|
67
|
+
body: $primary_action,
|
68
|
+
muted: $text_lt_default,
|
69
|
+
destructive: $text_lt_default,
|
70
|
+
);
|
71
|
+
|
72
|
+
$pb_dark_link_colors: (
|
73
|
+
default: $active_dark,
|
74
|
+
body: $text_dk_default,
|
75
|
+
muted: $text_dk_light,
|
76
|
+
destructive: $error_dark,
|
77
|
+
);
|
78
|
+
|
79
|
+
$pb_dark_link_hover_colors: (
|
80
|
+
default: $text_dk_default,
|
81
|
+
body: $active_dark,
|
82
|
+
muted: $text_dk_default,
|
83
|
+
destructive: $text_dk_default,
|
84
|
+
);
|
85
|
+
|
86
|
+
@mixin pb_link($color: $primary_action) {
|
87
|
+
color: $color;
|
88
|
+
}
|
@@ -170,24 +170,12 @@ type ZIndex = {
|
|
170
170
|
zIndex?: ZIndexType,
|
171
171
|
} | ZIndexResponsiveType
|
172
172
|
|
173
|
-
type Height = {
|
174
|
-
height?: string
|
175
|
-
}
|
176
|
-
|
177
|
-
type MaxHeight = {
|
178
|
-
maxHeight?: string
|
179
|
-
}
|
180
|
-
|
181
|
-
type MinHeight = {
|
182
|
-
minHeight?: string
|
183
|
-
}
|
184
|
-
|
185
173
|
// keep this as the last type definition
|
186
174
|
export type GlobalProps = AlignContent & AlignItems & AlignSelf &
|
187
175
|
BorderRadius & Cursor & Dark & Display & DisplaySizes & Flex & FlexDirection &
|
188
176
|
FlexGrow & FlexShrink & FlexWrap & JustifyContent & JustifySelf &
|
189
177
|
LineHeight & Margin & MinWidth & MaxWidth & NumberSpacing & Order & Overflow & Padding &
|
190
|
-
Position & Shadow & TextAlign & Truncate & VerticalAlign & ZIndex & { hover?: string } & Top & Right & Bottom & Left
|
178
|
+
Position & Shadow & TextAlign & Truncate & VerticalAlign & ZIndex & { hover?: string } & Top & Right & Bottom & Left;
|
191
179
|
|
192
180
|
const getResponsivePropClasses = (prop: {[key: string]: string}, classPrefix: string) => {
|
193
181
|
const keys: string[] = Object.keys(prop)
|
@@ -510,22 +498,7 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
|
|
510
498
|
} else {
|
511
499
|
return verticalAlign ? `vertical_align_${verticalAlign} ` : ''
|
512
500
|
}
|
513
|
-
}
|
514
|
-
|
515
|
-
}
|
516
|
-
|
517
|
-
const PROP_INLINE_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => {[key: string]: any}} = {
|
518
|
-
heightProps: ({ height }: Height) => {
|
519
|
-
return height ? { height } : {};
|
520
|
-
},
|
521
|
-
|
522
|
-
maxHeightProps: ({ maxHeight }: MaxHeight) => {
|
523
|
-
return maxHeight ? { maxHeight } : {};
|
524
|
-
},
|
525
|
-
|
526
|
-
minHeightProps: ({ minHeight }: MinHeight) => {
|
527
|
-
return minHeight ? { minHeight } : {};
|
528
|
-
},
|
501
|
+
}
|
529
502
|
}
|
530
503
|
|
531
504
|
type DefaultProps = {[key: string]: string} | Record<string, unknown>
|
@@ -537,16 +510,6 @@ export const globalProps = (props: GlobalProps, defaultProps: DefaultProps = {})
|
|
537
510
|
}).filter((value) => value?.length > 0).join(" ")
|
538
511
|
}
|
539
512
|
|
540
|
-
// New function for inline styles
|
541
|
-
export const globalInlineProps = (props: GlobalProps): React.CSSProperties => {
|
542
|
-
const styles = Object.keys(PROP_INLINE_CATEGORIES).reduce((acc, key) => {
|
543
|
-
const result = PROP_INLINE_CATEGORIES[key](props);
|
544
|
-
return { ...acc, ...(typeof result === 'object' ? result : {}) }; // Ensure result is an object before spreading
|
545
|
-
}, {});
|
546
|
-
|
547
|
-
return styles; // Return the styles object directly
|
548
|
-
}
|
549
|
-
|
550
513
|
|
551
514
|
export const deprecatedProps = (): void => {
|
552
515
|
// if (process.env.NODE_ENV === 'development') {
|