playbook_ui 11.17.0 → 11.19.0.pre.typeahead1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.html.erb +24 -2
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +14 -5
- data/app/pb_kits/playbook/pb_table/styles/_all.scss +0 -1
- data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +4 -0
- data/app/pb_kits/playbook/pb_table/styles/_hover.scss +28 -25
- data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +4 -0
- data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +4 -0
- data/app/pb_kits/playbook/pb_table/styles/_single-line.scss +0 -1
- data/app/pb_kits/playbook/pb_table/styles/_table-card.scss +0 -27
- data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +4 -0
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +13 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +98 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +5 -2
- data/app/pb_kits/playbook/pb_user_badge/badges/million-dollar.jsx +363 -0
- data/app/pb_kits/playbook/pb_user_badge/badges/veteran.jsx +28 -0
- data/app/pb_kits/playbook/tokens/_colors.scss +2 -2
- data/lib/playbook/version.rb +2 -2
- metadata +7 -5
- data/app/pb_kits/playbook/pb_table/styles/_as-cards.scss +0 -49
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1239957037bcd6ef4b8211bd071fce1cc7b57bb2751f00fcbbe305665f024b24
|
4
|
+
data.tar.gz: 6b6a529a7c84b1dbfd2911947ff891abe8eb04935cccd2623265dfa0da73cae4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 747395a9c410e99207bdbb7d0bede2028503ec675e8754bcff0e1cf92579d3fd7e66134ad5c99417c751451968ab4f1ab9093b2036bf40985480b7a8707dfc51
|
7
|
+
data.tar.gz: ae572fac37a574c478dea054368416465644b6163a3593068f7559bf3f35516c9851e3db67f84d43cd2f8d69d330bf38dd8231f15381e6199c01df198ea9b5de
|
@@ -1,6 +1,10 @@
|
|
1
1
|
<%= pb_rails("button", props: { variant: "secondary", id: 'list' }) do %>
|
2
|
-
|
3
|
-
|
2
|
+
<%= pb_rails("flex", props: {align: "center"}) do %>
|
3
|
+
Filter By
|
4
|
+
<%= pb_rails("flex/flex_item", props: {margin_left: "xxs"}) do %>
|
5
|
+
<div id="arrow-icon" style="display: flex"></div>
|
6
|
+
<% end %>
|
7
|
+
<% end %>
|
4
8
|
<% end %>
|
5
9
|
<%= pb_rails("popover", props: {trigger_element_id: "list", tooltip_id: "list-tooltip", position: 'bottom', padding: "none"}) do %>
|
6
10
|
<%= pb_rails("list", props: {ordered: false, dark: false, borderless: false, xpadding: true}) do %>
|
@@ -11,3 +15,21 @@
|
|
11
15
|
<%= pb_rails("list/item") do %><a>Date Ended </a><% end %>
|
12
16
|
<% end %>
|
13
17
|
<% end %>
|
18
|
+
|
19
|
+
|
20
|
+
<script type="text/javascript">
|
21
|
+
const button = document.querySelector("#list")
|
22
|
+
let buttonClicked = false
|
23
|
+
|
24
|
+
const arrowDiv = document.querySelector("#arrow-icon")
|
25
|
+
arrowDiv.innerHTML = '<i class="far fa-angle-down"></i>'
|
26
|
+
|
27
|
+
button.onclick = () => {
|
28
|
+
buttonClicked = !buttonClicked
|
29
|
+
if (buttonClicked) {
|
30
|
+
arrowDiv.innerHTML = '<i class="far fa-angle-up"></i>'
|
31
|
+
} else {
|
32
|
+
arrowDiv.innerHTML = '<i class="far fa-angle-down"></i>'
|
33
|
+
}
|
34
|
+
}
|
35
|
+
</script>
|
@@ -5,6 +5,7 @@ import {
|
|
5
5
|
List,
|
6
6
|
ListItem,
|
7
7
|
PbReactPopover,
|
8
|
+
Flex,
|
8
9
|
} from '../..'
|
9
10
|
|
10
11
|
const PopoverWithButton = (props) => {
|
@@ -19,11 +20,19 @@ const PopoverWithButton = (props) => {
|
|
19
20
|
onClick={handleTogglePopover}
|
20
21
|
variant="secondary"
|
21
22
|
>
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
<Flex align="center">
|
24
|
+
{"Filter By"}
|
25
|
+
<Flex
|
26
|
+
className={showPopover ? "fa-flip-vertical" : ""}
|
27
|
+
display="inline_flex"
|
28
|
+
>
|
29
|
+
<Icon
|
30
|
+
fixedWidth
|
31
|
+
icon="angle-down"
|
32
|
+
margin-left="xxs"
|
33
|
+
/>
|
34
|
+
</Flex>
|
35
|
+
</Flex>
|
27
36
|
</Button>
|
28
37
|
)
|
29
38
|
|
@@ -81,6 +81,10 @@
|
|
81
81
|
border-left-width: 1px !important;
|
82
82
|
border-right-width: 1px !important;
|
83
83
|
border-top-width: 1px !important;
|
84
|
+
&:after {
|
85
|
+
height: 0;
|
86
|
+
background-color: transparent;
|
87
|
+
}
|
84
88
|
|
85
89
|
&:first-child {
|
86
90
|
border-radius: $border_rad_light $border_rad_light 0 0 !important;
|
@@ -12,39 +12,42 @@ $transition-speed: 0.2s;
|
|
12
12
|
tr {
|
13
13
|
box-shadow: 0 0 0 $white;
|
14
14
|
transition: box-shadow $transition-speed ease;
|
15
|
-
|
16
15
|
td {
|
17
16
|
border-top-color: transparent;
|
18
|
-
border-top-width:
|
19
|
-
transition: all $transition-speed ease;
|
17
|
+
border-top-width: 0;
|
18
|
+
transition: all $transition-speed ease;
|
20
19
|
}
|
21
|
-
|
22
|
-
|
20
|
+
@media (hover:hover) {
|
21
|
+
td {
|
22
|
+
position: relative;
|
23
|
+
&:after {
|
24
|
+
transition: background-color $transition-speed ease, height $transition-speed ease;
|
25
|
+
content: "";
|
26
|
+
position: absolute;
|
27
|
+
display: block;
|
28
|
+
top: -1px;
|
29
|
+
left: 0;
|
30
|
+
right: 0;
|
31
|
+
height: 0;
|
32
|
+
background-color: transparent;
|
33
|
+
}
|
34
|
+
&:first-child:after {
|
35
|
+
left: -1px;
|
36
|
+
}
|
37
|
+
&:last-child:after {
|
38
|
+
right: -1px;
|
39
|
+
}
|
40
|
+
}
|
23
41
|
&:hover {
|
24
42
|
box-shadow: 0 2px 10px 0 rgba($slate, $opacity-6);
|
25
|
-
|
26
43
|
td {
|
27
|
-
background: $white;
|
28
44
|
border-color: darken($border_light, 10%);
|
29
|
-
border-top-width:
|
45
|
+
border-top-width: 0;
|
30
46
|
border-top-color: transparent;
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
}
|
36
|
-
&.as-cards {
|
37
|
-
tbody {
|
38
|
-
tr {
|
39
|
-
td {
|
40
|
-
border-top-color: $border_light;
|
41
|
-
border-top-width: 1px;
|
42
|
-
}
|
43
|
-
@media (hover:hover) {
|
44
|
-
&:hover {
|
45
|
-
td {
|
46
|
-
border-top-width: 1px;
|
47
|
-
border-top-color: $border_light;
|
47
|
+
&:after {
|
48
|
+
transition: background-color $transition-speed ease, height $transition-speed ease;
|
49
|
+
background-color: darken($border_light, 10%);
|
50
|
+
height: 1px;
|
48
51
|
}
|
49
52
|
}
|
50
53
|
}
|
@@ -81,6 +81,10 @@
|
|
81
81
|
border-left-width: 1px !important;
|
82
82
|
border-right-width: 1px !important;
|
83
83
|
border-top-width: 1px !important;
|
84
|
+
&:after {
|
85
|
+
height: 0;
|
86
|
+
background-color: transparent;
|
87
|
+
}
|
84
88
|
|
85
89
|
&:first-child {
|
86
90
|
border-radius: $border_rad_light $border_rad_light 0 0 !important;
|
@@ -81,6 +81,10 @@
|
|
81
81
|
border-left-width: 1px !important;
|
82
82
|
border-right-width: 1px !important;
|
83
83
|
border-top-width: 1px !important;
|
84
|
+
&:after {
|
85
|
+
height: 0;
|
86
|
+
background-color: transparent;
|
87
|
+
}
|
84
88
|
|
85
89
|
&:first-child {
|
86
90
|
border-radius: $border_rad_light $border_rad_light 0 0 !important;
|
@@ -57,33 +57,6 @@
|
|
57
57
|
}
|
58
58
|
}
|
59
59
|
}
|
60
|
-
|
61
|
-
&.as-cards {
|
62
|
-
border: 1px solid $border_light;
|
63
|
-
border-radius: 4px;
|
64
|
-
|
65
|
-
thead {
|
66
|
-
tr {
|
67
|
-
margin: $space-xs 0 0;
|
68
|
-
padding: 0 $space-xs;
|
69
|
-
border-bottom: 1px solid $border_light;
|
70
|
-
|
71
|
-
th {
|
72
|
-
border-width: 0;
|
73
|
-
}
|
74
|
-
}
|
75
|
-
}
|
76
|
-
tbody {
|
77
|
-
tr {
|
78
|
-
margin: $space-xs;
|
79
|
-
width: calc(100% - #{$space-xs}*2);
|
80
|
-
|
81
|
-
td {
|
82
|
-
border-top-width: 1px;
|
83
|
-
}
|
84
|
-
}
|
85
|
-
}
|
86
|
-
}
|
87
60
|
}
|
88
61
|
}
|
89
62
|
}
|
@@ -81,6 +81,10 @@
|
|
81
81
|
border-left-width: 1px !important;
|
82
82
|
border-right-width: 1px !important;
|
83
83
|
border-top-width: 1px !important;
|
84
|
+
&:after {
|
85
|
+
height: 0;
|
86
|
+
background-color: transparent;
|
87
|
+
}
|
84
88
|
|
85
89
|
&:first-child {
|
86
90
|
border-radius: $border_rad_light $border_rad_light 0 0 !important;
|
@@ -28,10 +28,11 @@ import { noop } from '../utilities/props'
|
|
28
28
|
*/
|
29
29
|
|
30
30
|
type TypeaheadProps = {
|
31
|
-
id?: string,
|
32
31
|
async?: boolean,
|
32
|
+
components?: object,
|
33
33
|
createable?: boolean,
|
34
34
|
dark?: boolean,
|
35
|
+
id?: string,
|
35
36
|
label?: string,
|
36
37
|
loadOptions?: string,
|
37
38
|
getOptionLabel?: string | (() => any),
|
@@ -44,7 +45,16 @@ type TypeaheadProps = {
|
|
44
45
|
* @param {TypeaheadProps} props - props as described at https://react-select.com/props
|
45
46
|
*/
|
46
47
|
|
47
|
-
const Typeahead = ({
|
48
|
+
const Typeahead = ({
|
49
|
+
async,
|
50
|
+
components = {},
|
51
|
+
createable,
|
52
|
+
getOptionLabel,
|
53
|
+
getOptionValue,
|
54
|
+
id,
|
55
|
+
loadOptions = noop,
|
56
|
+
...props
|
57
|
+
}: TypeaheadProps) => {
|
48
58
|
const selectProps = {
|
49
59
|
cacheOptions: true,
|
50
60
|
components: {
|
@@ -57,6 +67,7 @@ const Typeahead = ({ loadOptions = noop, getOptionLabel, id, getOptionValue, cre
|
|
57
67
|
Option,
|
58
68
|
Placeholder,
|
59
69
|
ValueContainer,
|
70
|
+
...components
|
60
71
|
},
|
61
72
|
loadOptions: isString(loadOptions) ? get(window, loadOptions) : loadOptions,
|
62
73
|
getOptionLabel: isString(getOptionLabel) ? get(window, getOptionLabel) : getOptionLabel,
|
@@ -0,0 +1,98 @@
|
|
1
|
+
/* eslint-disable react/no-danger */
|
2
|
+
/* eslint-disable react/no-multi-comp */
|
3
|
+
/* @flow */
|
4
|
+
|
5
|
+
import React, { useState } from 'react'
|
6
|
+
import { components, OptionProps } from 'react-select'
|
7
|
+
|
8
|
+
import {
|
9
|
+
Avatar,
|
10
|
+
Body,
|
11
|
+
Flex,
|
12
|
+
FlexItem,
|
13
|
+
Title,
|
14
|
+
Typeahead,
|
15
|
+
} from '../..'
|
16
|
+
|
17
|
+
const USERS = [
|
18
|
+
{
|
19
|
+
name: "Wade Winningham",
|
20
|
+
title: "Nitro Principal Developer",
|
21
|
+
territory: "PHL",
|
22
|
+
},
|
23
|
+
{
|
24
|
+
name: "Jason Cypret",
|
25
|
+
title: "Vice President of User Experience",
|
26
|
+
territory: "PHL",
|
27
|
+
},
|
28
|
+
{
|
29
|
+
name: "Stephen Marshall",
|
30
|
+
title: "Senior User Experience Engineer",
|
31
|
+
territory: "PHL",
|
32
|
+
},
|
33
|
+
{
|
34
|
+
name: "Jasper Furniss",
|
35
|
+
title: "Senior User Experience Engineer",
|
36
|
+
territory: "PHL",
|
37
|
+
},
|
38
|
+
];
|
39
|
+
|
40
|
+
const TypeaheadWithHighlight = (props) => {
|
41
|
+
const [selectedUser, setSelectedUser] = useState()
|
42
|
+
|
43
|
+
const formatOptionLabel = ({name, territory, title}, {inputValue}) => {
|
44
|
+
|
45
|
+
const highlighted = (text: string) => {
|
46
|
+
if (!inputValue.length) return text
|
47
|
+
return text.replace(
|
48
|
+
new RegExp(inputValue, 'gi'),
|
49
|
+
highlighted => `<mark>${highlighted}</mark>`
|
50
|
+
)
|
51
|
+
}
|
52
|
+
return (
|
53
|
+
<Flex>
|
54
|
+
<FlexItem>
|
55
|
+
<Avatar
|
56
|
+
marginRight="sm"
|
57
|
+
name={name}
|
58
|
+
size="sm"
|
59
|
+
/>
|
60
|
+
</FlexItem>
|
61
|
+
<FlexItem>
|
62
|
+
<Title size={4}><span dangerouslySetInnerHTML={{ __html: highlighted(name) }} /></Title>
|
63
|
+
<Body color="light">
|
64
|
+
<span dangerouslySetInnerHTML={{ __html: highlighted(title) }} />{" • "}
|
65
|
+
{territory}
|
66
|
+
</Body>
|
67
|
+
</FlexItem>
|
68
|
+
</Flex>
|
69
|
+
)
|
70
|
+
}
|
71
|
+
|
72
|
+
const customComponents = {
|
73
|
+
Option: (props: OptionProps) => (
|
74
|
+
<components.Option {...props}/>
|
75
|
+
),
|
76
|
+
SingleValue: ({ data }: any) => (
|
77
|
+
<span>{data.name}</span>
|
78
|
+
)
|
79
|
+
}
|
80
|
+
|
81
|
+
return (
|
82
|
+
<React.Fragment>
|
83
|
+
<Typeahead
|
84
|
+
components={customComponents}
|
85
|
+
formatOptionLabel={formatOptionLabel}
|
86
|
+
getOptionLabel={(option) => option.name}
|
87
|
+
getOptionValue={({name, title}) => `${name} ${title}`}
|
88
|
+
label="Users"
|
89
|
+
onChange={(user) => setSelectedUser(user)}
|
90
|
+
options={USERS.filter((option) => option.name != selectedUser?.name)}
|
91
|
+
placeholder="type the name of a user"
|
92
|
+
{...props}
|
93
|
+
/>
|
94
|
+
</React.Fragment>
|
95
|
+
)
|
96
|
+
}
|
97
|
+
|
98
|
+
export default TypeaheadWithHighlight
|
@@ -11,6 +11,7 @@ examples:
|
|
11
11
|
|
12
12
|
react:
|
13
13
|
- typeahead_default: Default
|
14
|
+
- typeahead_with_highlight: With Highlight
|
14
15
|
- typeahead_with_pills: With Pills
|
15
16
|
- typeahead_with_pills_async: With Pills (Async Data)
|
16
17
|
- typeahead_with_pills_async_users: With Pills (Async Data w/ Users)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
export { default as TypeaheadDefault } from './_typeahead_default.jsx'
|
2
|
+
export { default as TypeaheadWithHighlight } from './_typeahead_with_highlight.jsx'
|
2
3
|
export { default as TypeaheadWithPills } from './_typeahead_with_pills.jsx'
|
3
4
|
export { default as TypeaheadWithPillsAsync } from './_typeahead_with_pills_async.jsx'
|
4
5
|
export { default as TypeaheadWithPillsAsyncUsers } from './_typeahead_with_pills_async_users.jsx'
|
@@ -3,6 +3,9 @@ import React from 'react'
|
|
3
3
|
import classnames from 'classnames'
|
4
4
|
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
5
5
|
import { globalProps } from '../utilities/globalProps'
|
6
|
+
import Veteran from './badges/veteran.jsx';
|
7
|
+
import MillionDollar from './badges/million-dollar.jsx';
|
8
|
+
|
6
9
|
|
7
10
|
type UserBadgeProps = {
|
8
11
|
aria?: object,
|
@@ -23,7 +26,7 @@ const UserBadge = (props: UserBadgeProps) => {
|
|
23
26
|
size = 'md',
|
24
27
|
} = props
|
25
28
|
|
26
|
-
const image =
|
29
|
+
const image = badge === "million-dollar" ? <MillionDollar /> : <Veteran />
|
27
30
|
const ariaProps = buildAriaProps(aria)
|
28
31
|
const dataProps = buildDataProps(data)
|
29
32
|
const classes = classnames(
|
@@ -40,7 +43,7 @@ const UserBadge = (props: UserBadgeProps) => {
|
|
40
43
|
id={id}
|
41
44
|
>
|
42
45
|
<div className="pb_user_badge_wrapper">
|
43
|
-
|
46
|
+
{image}
|
44
47
|
</div>
|
45
48
|
</div>
|
46
49
|
)
|
@@ -0,0 +1,363 @@
|
|
1
|
+
import * as React from "react"
|
2
|
+
|
3
|
+
const MillionDollar = (props) => (
|
4
|
+
<svg
|
5
|
+
style={{
|
6
|
+
enableBackground: "new 0 0 242.9 242.9",
|
7
|
+
}}
|
8
|
+
viewBox="0 0 242.9 242.9"
|
9
|
+
xmlSpace="preserve"
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
11
|
+
{...props}
|
12
|
+
>
|
13
|
+
<circle cx={121.5}
|
14
|
+
cy={121.5}
|
15
|
+
r={121.5}
|
16
|
+
/>
|
17
|
+
<linearGradient
|
18
|
+
gradientUnits="userSpaceOnUse"
|
19
|
+
id="a"
|
20
|
+
x1={42.483}
|
21
|
+
x2={200.309}
|
22
|
+
y1={35.645}
|
23
|
+
y2={35.645}
|
24
|
+
>
|
25
|
+
<stop
|
26
|
+
offset={0}
|
27
|
+
style={{
|
28
|
+
stopColor: "#e6b711",
|
29
|
+
}}
|
30
|
+
/>
|
31
|
+
<stop
|
32
|
+
offset={0.128}
|
33
|
+
style={{
|
34
|
+
stopColor: "#eac23c",
|
35
|
+
}}
|
36
|
+
/>
|
37
|
+
<stop
|
38
|
+
offset={0.278}
|
39
|
+
style={{
|
40
|
+
stopColor: "#ec6",
|
41
|
+
}}
|
42
|
+
/>
|
43
|
+
<stop
|
44
|
+
offset={0.413}
|
45
|
+
style={{
|
46
|
+
stopColor: "#f1d485",
|
47
|
+
}}
|
48
|
+
/>
|
49
|
+
<stop
|
50
|
+
offset={0.527}
|
51
|
+
style={{
|
52
|
+
stopColor: "#f2d998",
|
53
|
+
}}
|
54
|
+
/>
|
55
|
+
<stop
|
56
|
+
offset={0.607}
|
57
|
+
style={{
|
58
|
+
stopColor: "#f3db9f",
|
59
|
+
}}
|
60
|
+
/>
|
61
|
+
<stop
|
62
|
+
offset={1}
|
63
|
+
style={{
|
64
|
+
stopColor: "#e6b711",
|
65
|
+
}}
|
66
|
+
/>
|
67
|
+
</linearGradient>
|
68
|
+
<path
|
69
|
+
d="M56.4 53.8c16.9-16.2 39.8-26.2 65-26.2 25.2 0 48.1 10 64.9 26.2h14c-19.1-22.2-47.4-36.3-78.9-36.3-31.5 0-59.8 14.1-78.9 36.3h13.9z"
|
70
|
+
style={{
|
71
|
+
fill: "url(#a)",
|
72
|
+
}}
|
73
|
+
/>
|
74
|
+
<linearGradient
|
75
|
+
gradientUnits="userSpaceOnUse"
|
76
|
+
id="b"
|
77
|
+
x1={17.407}
|
78
|
+
x2={44.897}
|
79
|
+
y1={132.179}
|
80
|
+
y2={132.179}
|
81
|
+
>
|
82
|
+
<stop
|
83
|
+
offset={0}
|
84
|
+
style={{
|
85
|
+
stopColor: "#e6b711",
|
86
|
+
}}
|
87
|
+
/>
|
88
|
+
<stop
|
89
|
+
offset={0.128}
|
90
|
+
style={{
|
91
|
+
stopColor: "#eac23c",
|
92
|
+
}}
|
93
|
+
/>
|
94
|
+
<stop
|
95
|
+
offset={0.278}
|
96
|
+
style={{
|
97
|
+
stopColor: "#ec6",
|
98
|
+
}}
|
99
|
+
/>
|
100
|
+
<stop
|
101
|
+
offset={0.413}
|
102
|
+
style={{
|
103
|
+
stopColor: "#f1d485",
|
104
|
+
}}
|
105
|
+
/>
|
106
|
+
<stop
|
107
|
+
offset={0.527}
|
108
|
+
style={{
|
109
|
+
stopColor: "#f2d998",
|
110
|
+
}}
|
111
|
+
/>
|
112
|
+
<stop
|
113
|
+
offset={0.607}
|
114
|
+
style={{
|
115
|
+
stopColor: "#f3db9f",
|
116
|
+
}}
|
117
|
+
/>
|
118
|
+
<stop
|
119
|
+
offset={1}
|
120
|
+
style={{
|
121
|
+
stopColor: "#e6b711",
|
122
|
+
}}
|
123
|
+
/>
|
124
|
+
</linearGradient>
|
125
|
+
<path
|
126
|
+
d="M44.9 175.7c-10.9-15.3-17.3-34-17.3-54.2 0-14.1 3.1-27.5 8.8-39.5H25.3c-5 12.2-7.8 25.5-7.8 39.5 0 22.7 7.3 43.8 19.8 60.9l7.6-6.7z"
|
127
|
+
style={{
|
128
|
+
fill: "url(#b)",
|
129
|
+
}}
|
130
|
+
/>
|
131
|
+
<linearGradient
|
132
|
+
gradientUnits="userSpaceOnUse"
|
133
|
+
id="c"
|
134
|
+
x1={52.914}
|
135
|
+
x2={189.715}
|
136
|
+
y1={212.573}
|
137
|
+
y2={212.573}
|
138
|
+
>
|
139
|
+
<stop
|
140
|
+
offset={0}
|
141
|
+
style={{
|
142
|
+
stopColor: "#e6b711",
|
143
|
+
}}
|
144
|
+
/>
|
145
|
+
<stop
|
146
|
+
offset={0.128}
|
147
|
+
style={{
|
148
|
+
stopColor: "#eac23c",
|
149
|
+
}}
|
150
|
+
/>
|
151
|
+
<stop
|
152
|
+
offset={0.278}
|
153
|
+
style={{
|
154
|
+
stopColor: "#ec6",
|
155
|
+
}}
|
156
|
+
/>
|
157
|
+
<stop
|
158
|
+
offset={0.413}
|
159
|
+
style={{
|
160
|
+
stopColor: "#f1d485",
|
161
|
+
}}
|
162
|
+
/>
|
163
|
+
<stop
|
164
|
+
offset={0.527}
|
165
|
+
style={{
|
166
|
+
stopColor: "#f2d998",
|
167
|
+
}}
|
168
|
+
/>
|
169
|
+
<stop
|
170
|
+
offset={0.607}
|
171
|
+
style={{
|
172
|
+
stopColor: "#f3db9f",
|
173
|
+
}}
|
174
|
+
/>
|
175
|
+
<stop
|
176
|
+
offset={1}
|
177
|
+
style={{
|
178
|
+
stopColor: "#e6b711",
|
179
|
+
}}
|
180
|
+
/>
|
181
|
+
</linearGradient>
|
182
|
+
<path
|
183
|
+
d="M173 199.8c-14.8 9.8-32.5 15.5-51.6 15.5s-37-5.8-51.8-15.6H52.9c18.3 16.1 42.3 25.8 68.5 25.8 26.1 0 50-9.7 68.3-25.7H173z"
|
184
|
+
style={{
|
185
|
+
fill: "url(#c)",
|
186
|
+
}}
|
187
|
+
/>
|
188
|
+
<linearGradient
|
189
|
+
gradientUnits="userSpaceOnUse"
|
190
|
+
id="d"
|
191
|
+
x1={31.123}
|
192
|
+
x2={207.766}
|
193
|
+
y1={136.159}
|
194
|
+
y2={136.159}
|
195
|
+
>
|
196
|
+
<stop
|
197
|
+
offset={0}
|
198
|
+
style={{
|
199
|
+
stopColor: "#e6b711",
|
200
|
+
}}
|
201
|
+
/>
|
202
|
+
<stop
|
203
|
+
offset={0.128}
|
204
|
+
style={{
|
205
|
+
stopColor: "#eac23c",
|
206
|
+
}}
|
207
|
+
/>
|
208
|
+
<stop
|
209
|
+
offset={0.278}
|
210
|
+
style={{
|
211
|
+
stopColor: "#ec6",
|
212
|
+
}}
|
213
|
+
/>
|
214
|
+
<stop
|
215
|
+
offset={0.413}
|
216
|
+
style={{
|
217
|
+
stopColor: "#f1d485",
|
218
|
+
}}
|
219
|
+
/>
|
220
|
+
<stop
|
221
|
+
offset={0.527}
|
222
|
+
style={{
|
223
|
+
stopColor: "#f2d998",
|
224
|
+
}}
|
225
|
+
/>
|
226
|
+
<stop
|
227
|
+
offset={0.607}
|
228
|
+
style={{
|
229
|
+
stopColor: "#f3db9f",
|
230
|
+
}}
|
231
|
+
/>
|
232
|
+
<stop
|
233
|
+
offset={1}
|
234
|
+
style={{
|
235
|
+
stopColor: "#e6b711",
|
236
|
+
}}
|
237
|
+
/>
|
238
|
+
</linearGradient>
|
239
|
+
<path
|
240
|
+
d="M139.2 193v-1.8c5-.4 10.2-.5 13.4-5 3.8-5.2 3.2-15.4 3.2-21.5V78.5l-47.3 120.4L61.2 81.2v61.1c0 13.6.5 35.1 12.5 44.2 4.3 3.2 9 3.9 14.2 4.7v1.8H31.1v-1.8c1.6-.4 3.2-.7 4.8-1.1 22.6-5.7 22.9-32.4 22.9-51.1v-37.8c0-6.1.5-13.3-3.2-18.5-4.5-6.1-13.4-7.2-20.4-7.5v-1.8H96l29.6 75.4 29.9-75.4h52.3v1.8c-4.8.4-10.2.9-13.4 5-3.8 4.8-3.2 15.9-3.2 21.9v62.5c0 6.3-.7 16.1 3.2 21.5 3.2 4.3 6.2 4.7 11.2 5v1.8h-66.4z"
|
241
|
+
style={{
|
242
|
+
fill: "url(#d)",
|
243
|
+
}}
|
244
|
+
/>
|
245
|
+
<linearGradient
|
246
|
+
gradientUnits="userSpaceOnUse"
|
247
|
+
id="e"
|
248
|
+
x1={30.453}
|
249
|
+
x2={213.794}
|
250
|
+
y1={63.629}
|
251
|
+
y2={63.629}
|
252
|
+
>
|
253
|
+
<stop
|
254
|
+
offset={0}
|
255
|
+
style={{
|
256
|
+
stopColor: "#e6b711",
|
257
|
+
}}
|
258
|
+
/>
|
259
|
+
<stop
|
260
|
+
offset={0.128}
|
261
|
+
style={{
|
262
|
+
stopColor: "#eac23c",
|
263
|
+
}}
|
264
|
+
/>
|
265
|
+
<stop
|
266
|
+
offset={0.278}
|
267
|
+
style={{
|
268
|
+
stopColor: "#ec6",
|
269
|
+
}}
|
270
|
+
/>
|
271
|
+
<stop
|
272
|
+
offset={0.413}
|
273
|
+
style={{
|
274
|
+
stopColor: "#f1d485",
|
275
|
+
}}
|
276
|
+
/>
|
277
|
+
<stop
|
278
|
+
offset={0.527}
|
279
|
+
style={{
|
280
|
+
stopColor: "#f2d998",
|
281
|
+
}}
|
282
|
+
/>
|
283
|
+
<stop
|
284
|
+
offset={0.607}
|
285
|
+
style={{
|
286
|
+
stopColor: "#f3db9f",
|
287
|
+
}}
|
288
|
+
/>
|
289
|
+
<stop
|
290
|
+
offset={1}
|
291
|
+
style={{
|
292
|
+
stopColor: "#e6b711",
|
293
|
+
}}
|
294
|
+
/>
|
295
|
+
</linearGradient>
|
296
|
+
<path
|
297
|
+
d="M30.5 60.6h183.3v6.1H30.5z"
|
298
|
+
style={{
|
299
|
+
fill: "url(#e)",
|
300
|
+
}}
|
301
|
+
/>
|
302
|
+
<linearGradient
|
303
|
+
gradientUnits="userSpaceOnUse"
|
304
|
+
id="f"
|
305
|
+
x1={196.676}
|
306
|
+
x2={225.538}
|
307
|
+
y1={132.923}
|
308
|
+
y2={132.923}
|
309
|
+
>
|
310
|
+
<stop
|
311
|
+
offset={0}
|
312
|
+
style={{
|
313
|
+
stopColor: "#e6b711",
|
314
|
+
}}
|
315
|
+
/>
|
316
|
+
<stop
|
317
|
+
offset={0.128}
|
318
|
+
style={{
|
319
|
+
stopColor: "#eac23c",
|
320
|
+
}}
|
321
|
+
/>
|
322
|
+
<stop
|
323
|
+
offset={0.278}
|
324
|
+
style={{
|
325
|
+
stopColor: "#ec6",
|
326
|
+
}}
|
327
|
+
/>
|
328
|
+
<stop
|
329
|
+
offset={0.413}
|
330
|
+
style={{
|
331
|
+
stopColor: "#f1d485",
|
332
|
+
}}
|
333
|
+
/>
|
334
|
+
<stop
|
335
|
+
offset={0.527}
|
336
|
+
style={{
|
337
|
+
stopColor: "#f2d998",
|
338
|
+
}}
|
339
|
+
/>
|
340
|
+
<stop
|
341
|
+
offset={0.607}
|
342
|
+
style={{
|
343
|
+
stopColor: "#f3db9f",
|
344
|
+
}}
|
345
|
+
/>
|
346
|
+
<stop
|
347
|
+
offset={1}
|
348
|
+
style={{
|
349
|
+
stopColor: "#e6b711",
|
350
|
+
}}
|
351
|
+
/>
|
352
|
+
</linearGradient>
|
353
|
+
<path
|
354
|
+
d="M196.7 177.5c11.5-15.6 18.7-35.2 18.7-56 0-14.1-3.1-27.5-8.8-39.5h11.1c5 12.2 7.8 25.5 7.8 39.5 0 23.4-7.8 45-20.9 62.4l-7.9-6.4z"
|
355
|
+
style={{
|
356
|
+
fill: "url(#f)",
|
357
|
+
}}
|
358
|
+
/>
|
359
|
+
</svg>
|
360
|
+
)
|
361
|
+
|
362
|
+
export default MillionDollar
|
363
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import * as React from "react"
|
2
|
+
|
3
|
+
const Veteran = (props) => (
|
4
|
+
<svg
|
5
|
+
viewBox="0 0 200 250"
|
6
|
+
xmlSpace="preserve"
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
8
|
+
{...props}
|
9
|
+
>
|
10
|
+
<path
|
11
|
+
d="M198.4 71.5V71c-.2-1.2-1.4-2.1-1.4-2.1L103.2 2.7c-.7-.4-1-.6-1.6-.6-1.3 0-2.3 1-2.3 2.3v67.1h-.6v29.6h99.8l-.1-29.6z"
|
12
|
+
fill="#004876"
|
13
|
+
/>
|
14
|
+
<path
|
15
|
+
d="M172.9 159.2c-31.4 23-33.2 24.3-33.2 24.3l-40.5 3.2v-29.4l73.7 1.9z"
|
16
|
+
fill="#FFF"
|
17
|
+
/>
|
18
|
+
<path
|
19
|
+
d="M99.3 125.4V33.5L1.6 102.7l-.1.1c-1 .7-1.5 1.8-1.5 3v67.4c0 1.2.6 2.3 1.5 3l.1.1 93.5 66.3c1.7 1.2 4.1 0 4.1-2.1v-28.9l40.5-28-40.5.7v-25h73.7l25.4-16.9.2-16.8H99.3z"
|
20
|
+
fill="#BB2432"
|
21
|
+
/>
|
22
|
+
<path d="M99.3 101.1h99.3v24.3H99.3z"
|
23
|
+
fill="#FFF"
|
24
|
+
/>
|
25
|
+
</svg>
|
26
|
+
)
|
27
|
+
|
28
|
+
export default Veteran
|
@@ -8,7 +8,7 @@ Colors -----------------------------*/
|
|
8
8
|
$royal: #0056CF !default;
|
9
9
|
$purple: #9E64E9 !default;
|
10
10
|
$teal: #00C4D7 !default;
|
11
|
-
$red: #
|
11
|
+
$red: #DA0014 !default;
|
12
12
|
$red_dark: #ff4a50 !default;
|
13
13
|
$yellow: #F9BB00 !default;
|
14
14
|
$green: #00CA74 !default;
|
@@ -160,7 +160,7 @@ $warning_secondary: lighten($warning, 10%);
|
|
160
160
|
$warning_subtle: rgba($warning, $opacity_1);
|
161
161
|
$error: $red !default;
|
162
162
|
$error_dark: $red_dark !default;
|
163
|
-
$error_dark_body:
|
163
|
+
$error_dark_body: $error_dark;
|
164
164
|
$error_secondary: lighten($error, 10%);
|
165
165
|
$error_subtle: rgba($error, $opacity_1);
|
166
166
|
$info: $teal !default;
|
data/lib/playbook/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 11.
|
4
|
+
version: 11.19.0.pre.typeahead1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-01-
|
12
|
+
date: 2023-01-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -1876,7 +1876,6 @@ files:
|
|
1876
1876
|
- app/pb_kits/playbook/pb_table/index.js
|
1877
1877
|
- app/pb_kits/playbook/pb_table/styles/_alignment.scss
|
1878
1878
|
- app/pb_kits/playbook/pb_table/styles/_all.scss
|
1879
|
-
- app/pb_kits/playbook/pb_table/styles/_as-cards.scss
|
1880
1879
|
- app/pb_kits/playbook/pb_table/styles/_content.scss
|
1881
1880
|
- app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss
|
1882
1881
|
- app/pb_kits/playbook/pb_table/styles/_headers.scss
|
@@ -2142,6 +2141,7 @@ files:
|
|
2142
2141
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.html.erb
|
2143
2142
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.jsx
|
2144
2143
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_context.html.erb
|
2144
|
+
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx
|
2145
2145
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb
|
2146
2146
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx
|
2147
2147
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md
|
@@ -2187,7 +2187,9 @@ files:
|
|
2187
2187
|
- app/pb_kits/playbook/pb_user/user.test.js
|
2188
2188
|
- app/pb_kits/playbook/pb_user_badge/_user_badge.jsx
|
2189
2189
|
- app/pb_kits/playbook/pb_user_badge/_user_badge.scss
|
2190
|
+
- app/pb_kits/playbook/pb_user_badge/badges/million-dollar.jsx
|
2190
2191
|
- app/pb_kits/playbook/pb_user_badge/badges/million-dollar.svg
|
2192
|
+
- app/pb_kits/playbook/pb_user_badge/badges/veteran.jsx
|
2191
2193
|
- app/pb_kits/playbook/pb_user_badge/badges/veteran.svg
|
2192
2194
|
- app/pb_kits/playbook/pb_user_badge/docs/_description.md
|
2193
2195
|
- app/pb_kits/playbook/pb_user_badge/docs/_footer.md
|
@@ -2361,9 +2363,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
2361
2363
|
version: '0'
|
2362
2364
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
2363
2365
|
requirements:
|
2364
|
-
- - "
|
2366
|
+
- - ">"
|
2365
2367
|
- !ruby/object:Gem::Version
|
2366
|
-
version:
|
2368
|
+
version: 1.3.1
|
2367
2369
|
requirements: []
|
2368
2370
|
rubygems_version: 3.3.7
|
2369
2371
|
signing_key:
|
@@ -1,49 +0,0 @@
|
|
1
|
-
[class^=pb_table] {
|
2
|
-
&.table-sm,
|
3
|
-
&.table-md,
|
4
|
-
&.table-lg {
|
5
|
-
&.as-cards {
|
6
|
-
thead {
|
7
|
-
tr {
|
8
|
-
display: flex;
|
9
|
-
width: 100%;
|
10
|
-
|
11
|
-
th {
|
12
|
-
flex-grow: 1;
|
13
|
-
}
|
14
|
-
}
|
15
|
-
}
|
16
|
-
tbody {
|
17
|
-
tr {
|
18
|
-
display: flex;
|
19
|
-
align-items: stretch;
|
20
|
-
flex-direction: row;
|
21
|
-
justify-content: flex-start;
|
22
|
-
width: 100%;
|
23
|
-
margin: $space-xs 0;
|
24
|
-
|
25
|
-
td {
|
26
|
-
background: $white;
|
27
|
-
flex-grow: 1;
|
28
|
-
border-width: 1px 0;
|
29
|
-
|
30
|
-
&:first-child {
|
31
|
-
border-left-width: 1px;
|
32
|
-
border-radius: 4px 0 0 4px;
|
33
|
-
}
|
34
|
-
&:last-child {
|
35
|
-
border-right-width: 1px;
|
36
|
-
border-radius: 0 4px 4px 0;
|
37
|
-
}
|
38
|
-
}
|
39
|
-
|
40
|
-
&:last-child {
|
41
|
-
td {
|
42
|
-
border-top-width: 1px !important;
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
}
|
49
|
-
}
|