playbook_ui 12.1.0 → 12.3.0.pre.alpha.patchtest1
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 +3 -0
- data/app/pb_kits/playbook/data/menu.yml +1 -0
- data/app/pb_kits/playbook/index.js +3 -2
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +10 -10
- data/app/pb_kits/playbook/pb_button/_button.scss +0 -5
- data/app/pb_kits/playbook/pb_button/_button.tsx +4 -0
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +39 -4
- data/app/pb_kits/playbook/pb_button/button.rb +2 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_accessibility.jsx +1 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_block_content.jsx +1 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +4 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_form.jsx +1 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_full_width.jsx +1 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_icon_options.html.erb +2 -2
- data/app/pb_kits/playbook/pb_button/docs/_button_icon_options.jsx +4 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_link.html.erb +3 -3
- data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +6 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_loading.html.erb +3 -3
- data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +6 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_options.jsx +1 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_size.html.erb +3 -3
- data/app/pb_kits/playbook/pb_button/docs/_button_size.jsx +6 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +26 -19
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +24 -0
- data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +2 -0
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +10 -2
- data/app/pb_kits/playbook/pb_map/_map.scss +8 -0
- data/app/pb_kits/playbook/pb_map/_map.tsx +40 -0
- data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +52 -0
- data/app/pb_kits/playbook/pb_map/docs/_map_default.md +13 -0
- data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +64 -0
- data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.md +8 -0
- data/app/pb_kits/playbook/pb_map/docs/example.yml +7 -0
- data/app/pb_kits/playbook/pb_map/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_map/map.test.jsx +17 -0
- data/app/pb_kits/playbook/pb_progress_simple/{_progress_simple.jsx → _progress_simple.tsx} +7 -5
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.test.js +120 -0
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +4 -9
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.tsx +66 -0
- data/app/pb_kits/playbook/pb_stat_change/stat_change.test.js +41 -0
- data/app/pb_kits/playbook/pb_stat_value/{_stat_value.jsx → _stat_value.tsx} +4 -6
- data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_unit.jsx +1 -1
- data/app/pb_kits/playbook/pb_stat_value/stat_value.test.js +27 -0
- data/app/pb_kits/playbook/pb_time_stacked/{_time_stacked.jsx → _time_stacked.tsx} +3 -5
- data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_time_stacked/docs/index.js +1 -1
- data/app/pb_kits/playbook/pb_timestamp/{_timestamp.jsx → _timestamp.tsx} +5 -7
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +1 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +1 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +1 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +1 -1
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +36 -28
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default_react.jsx +1 -0
- data/app/pb_kits/playbook/pb_tooltip/tooltip.test.jsx +14 -0
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +11 -2
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +0 -2
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +95 -0
- data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb +19 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.jsx +39 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.md +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -0
- data/app/pb_kits/playbook/playbook-doc.js +2 -0
- data/app/pb_kits/playbook/tokens/_colors.scss +6 -2
- data/app/pb_kits/playbook/utilities/_focus.scss +12 -0
- data/lib/playbook/version.rb +2 -2
- metadata +26 -9
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +0 -63
|
@@ -17,6 +17,7 @@ import Flex from "../pb_flex/_flex"
|
|
|
17
17
|
|
|
18
18
|
type TooltipProps = {
|
|
19
19
|
aria?: { [key: string]: string },
|
|
20
|
+
className?: string | string[],
|
|
20
21
|
data?: { [key: string]: string },
|
|
21
22
|
text: string,
|
|
22
23
|
icon?: string,
|
|
@@ -26,9 +27,10 @@ type TooltipProps = {
|
|
|
26
27
|
zIndex?: Pick<GlobalProps, "ZIndex">,
|
|
27
28
|
} & GlobalProps
|
|
28
29
|
|
|
29
|
-
const Tooltip = (props: TooltipProps) => {
|
|
30
|
+
const Tooltip = (props: TooltipProps): React.ReactElement => {
|
|
30
31
|
const {
|
|
31
32
|
aria = {},
|
|
33
|
+
className,
|
|
32
34
|
children,
|
|
33
35
|
data = {},
|
|
34
36
|
icon = null,
|
|
@@ -42,7 +44,10 @@ const Tooltip = (props: TooltipProps) => {
|
|
|
42
44
|
const dataProps: { [key: string]: any } = buildDataProps(data)
|
|
43
45
|
const ariaProps: { [key: string]: any } = buildAriaProps(aria)
|
|
44
46
|
|
|
45
|
-
const css = classnames(
|
|
47
|
+
const css = classnames(
|
|
48
|
+
globalProps({...rest}),
|
|
49
|
+
className
|
|
50
|
+
)
|
|
46
51
|
const [open, setOpen] = useState(false)
|
|
47
52
|
const arrowRef = useRef(null)
|
|
48
53
|
const {
|
|
@@ -92,44 +97,47 @@ const Tooltip = (props: TooltipProps) => {
|
|
|
92
97
|
return (
|
|
93
98
|
<>
|
|
94
99
|
<div
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
className={`pb_tooltip_kit ${css}`}
|
|
101
|
+
ref={reference}
|
|
102
|
+
role="tooltip_trigger"
|
|
103
|
+
style={{ display: "inline-flex" }}
|
|
104
|
+
{...ariaProps}
|
|
105
|
+
{...dataProps}
|
|
101
106
|
>
|
|
102
107
|
{children}
|
|
103
108
|
</div>
|
|
104
109
|
{open && (
|
|
105
110
|
<div
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
111
|
+
{...getFloatingProps({
|
|
112
|
+
role: "tooltip",
|
|
113
|
+
ref: floating,
|
|
114
|
+
className: `tooltip_tooltip ${placement} visible`,
|
|
115
|
+
style: {
|
|
116
|
+
position: strategy,
|
|
117
|
+
top: y ?? 0,
|
|
118
|
+
left: x ?? 0,
|
|
119
|
+
zIndex: zIndex ?? 0,
|
|
120
|
+
},
|
|
121
|
+
})}
|
|
117
122
|
>
|
|
118
|
-
<Flex
|
|
123
|
+
<Flex
|
|
124
|
+
align="center"
|
|
125
|
+
gap="xs"
|
|
126
|
+
>
|
|
119
127
|
{icon && (
|
|
120
128
|
<i className={`pb_icon_kit far fa-${icon} fa-fw`} />
|
|
121
129
|
)}
|
|
122
130
|
{text}
|
|
123
131
|
</Flex>
|
|
124
132
|
<div
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
className="arrow_bg"
|
|
134
|
+
ref={arrowRef}
|
|
135
|
+
style={{
|
|
136
|
+
position: strategy,
|
|
137
|
+
left: arrowX != null ? `${arrowX}px` : "",
|
|
138
|
+
top: arrowY != null ? `${arrowY}px` : "",
|
|
139
|
+
[staticSide]: "-5px",
|
|
140
|
+
}}
|
|
133
141
|
/>
|
|
134
142
|
</div>
|
|
135
143
|
)}
|
|
@@ -51,3 +51,17 @@ test("closes on mouseleave", async () => {
|
|
|
51
51
|
cleanup();
|
|
52
52
|
})
|
|
53
53
|
});
|
|
54
|
+
|
|
55
|
+
test("closes on mouseleave", async () => {
|
|
56
|
+
render(
|
|
57
|
+
<Tooltip
|
|
58
|
+
className={"Hello World"}
|
|
59
|
+
data={{ testid: "className-test" }}
|
|
60
|
+
/>
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
const kit = screen.getByTestId("className-test");
|
|
64
|
+
expect(kit).toHaveClass("Hello World");
|
|
65
|
+
|
|
66
|
+
cleanup();
|
|
67
|
+
});
|
|
@@ -18,7 +18,7 @@ import Option from './components/Option'
|
|
|
18
18
|
import Placeholder from './components/Placeholder'
|
|
19
19
|
import ValueContainer from './components/ValueContainer'
|
|
20
20
|
|
|
21
|
-
import { noop } from '../utilities/props'
|
|
21
|
+
import { noop, buildDataProps } from '../utilities/props'
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* @typedef {object} Props
|
|
@@ -32,6 +32,8 @@ type TypeaheadProps = {
|
|
|
32
32
|
components?: object,
|
|
33
33
|
createable?: boolean,
|
|
34
34
|
dark?: boolean,
|
|
35
|
+
data?: object,
|
|
36
|
+
error?: string,
|
|
35
37
|
id?: string,
|
|
36
38
|
label?: string,
|
|
37
39
|
loadOptions?: string,
|
|
@@ -49,6 +51,8 @@ const Typeahead = ({
|
|
|
49
51
|
async,
|
|
50
52
|
components = {},
|
|
51
53
|
createable,
|
|
54
|
+
error = "",
|
|
55
|
+
data = {},
|
|
52
56
|
getOptionLabel,
|
|
53
57
|
getOptionValue,
|
|
54
58
|
id,
|
|
@@ -106,13 +110,18 @@ const Typeahead = ({
|
|
|
106
110
|
}
|
|
107
111
|
}
|
|
108
112
|
|
|
113
|
+
const dataProps = buildDataProps(data)
|
|
114
|
+
|
|
109
115
|
const classes = `pb_typeahead_kit react-select ${globalProps(props)}`
|
|
110
116
|
const inlineClass = selectProps.inline ? 'inline' : null
|
|
111
117
|
|
|
112
118
|
return (
|
|
113
|
-
<div
|
|
119
|
+
<div {...dataProps}
|
|
120
|
+
className={classnames(classes, inlineClass)}
|
|
121
|
+
>
|
|
114
122
|
<Tag
|
|
115
123
|
classNamePrefix="typeahead-kit-select"
|
|
124
|
+
error={error}
|
|
116
125
|
onChange={handleOnChange}
|
|
117
126
|
{...selectProps}
|
|
118
127
|
/>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { render, screen } from '../utilities/test-utils'
|
|
3
|
+
import Typeahead from './_typeahead'
|
|
4
|
+
|
|
5
|
+
const options = [
|
|
6
|
+
{ label: 'Orange', value: '#FFA500' },
|
|
7
|
+
{ label: 'Red', value: '#FF0000' },
|
|
8
|
+
{ label: 'Green', value: '#00FF00' },
|
|
9
|
+
{ label: 'Blue', value: '#0000FF' },
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
test('typeahead classname + label renders as expected', () => {
|
|
13
|
+
render(
|
|
14
|
+
<Typeahead
|
|
15
|
+
data={{ testid: 'typeahead-test' }}
|
|
16
|
+
defaultValue={[options[0]]}
|
|
17
|
+
label="Colors"
|
|
18
|
+
options={options}
|
|
19
|
+
/>
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
const kit = screen.getByTestId('typeahead-test')
|
|
23
|
+
const label = kit.querySelector(".pb_caption_kit_md.pb_text_input_kit_label")
|
|
24
|
+
expect(kit).toHaveClass("pb_typeahead_kit")
|
|
25
|
+
expect(label).toHaveTextContent("Colors")
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
test('to be error variant', () => {
|
|
29
|
+
render(
|
|
30
|
+
<Typeahead
|
|
31
|
+
data={{ testid: 'error-test' }}
|
|
32
|
+
error='Please make a valid selection'
|
|
33
|
+
options={options}
|
|
34
|
+
/>
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
const kit = screen.getByTestId("error-test")
|
|
38
|
+
const error = kit.querySelector(".pb_body_kit_negative")
|
|
39
|
+
expect(error).toBeInTheDocument()
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
test('should be inline variant', () => {
|
|
43
|
+
render(
|
|
44
|
+
<Typeahead
|
|
45
|
+
data={{ testid: 'inline-test' }}
|
|
46
|
+
inline
|
|
47
|
+
options={options}
|
|
48
|
+
/>
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
const kit = screen.getByTestId('inline-test')
|
|
52
|
+
expect(kit).toHaveClass("inline")
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
test('typeahead with pills', () => {
|
|
56
|
+
render(
|
|
57
|
+
<Typeahead
|
|
58
|
+
data={{ testid: 'pills-test' }}
|
|
59
|
+
defaultValue={[options[0]]}
|
|
60
|
+
isMulti
|
|
61
|
+
options={options}
|
|
62
|
+
/>
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
const kit = screen.getByTestId('pills-test')
|
|
66
|
+
const pill = kit.querySelector(".pb_form_pill_kit_primary")
|
|
67
|
+
expect(pill).toBeInTheDocument()
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
test('typeahead multi select with badges and small pills', () => {
|
|
71
|
+
render(
|
|
72
|
+
<>
|
|
73
|
+
<Typeahead
|
|
74
|
+
data={{ testid: 'badge-test' }}
|
|
75
|
+
defaultValue={[options[0]]}
|
|
76
|
+
isMulti
|
|
77
|
+
multiKit="badge"
|
|
78
|
+
options={options}
|
|
79
|
+
/>
|
|
80
|
+
|
|
81
|
+
<Typeahead
|
|
82
|
+
data={{ testid: 'small-pill-test' }}
|
|
83
|
+
defaultValue={[options[0]]}
|
|
84
|
+
isMulti
|
|
85
|
+
multiKit="smallPill"
|
|
86
|
+
options={options}
|
|
87
|
+
/>
|
|
88
|
+
</>
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
const kit = screen.getByTestId('small-pill-test')
|
|
92
|
+
const badge = kit.querySelector(".pb_form_pill_kit_primary.mr_xs.small")
|
|
93
|
+
expect(badge).toBeInTheDocument()
|
|
94
|
+
})
|
|
95
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<%
|
|
2
|
+
options = [
|
|
3
|
+
{ label: 'Windows', value: '#FFA500' },
|
|
4
|
+
{ label: 'Siding', value: '#FF0000' },
|
|
5
|
+
{ label: 'Doors', value: '#00FF00' },
|
|
6
|
+
{ label: 'Roofs', value: '#0000FF' },
|
|
7
|
+
]
|
|
8
|
+
|
|
9
|
+
%>
|
|
10
|
+
|
|
11
|
+
<%= pb_rails("typeahead", props: { id: "typeahead-error-example", options: options, error: "Please make a valid selection", label: "Products", name: :foo, is_multi: false }) %>
|
|
12
|
+
|
|
13
|
+
<!-- This section is an example of the available JavaScript event hooks -->
|
|
14
|
+
<%= javascript_tag defer: "defer" do %>
|
|
15
|
+
document.addEventListener("pb-typeahead-kit-typeahead-error-example-result-option-select", function(event) {
|
|
16
|
+
console.log('Option selected')
|
|
17
|
+
console.dir(event.detail)
|
|
18
|
+
})
|
|
19
|
+
<% end %>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
|
|
3
|
+
import React, { useState, useEffect } from 'react'
|
|
4
|
+
|
|
5
|
+
import Typeahead from '../_typeahead'
|
|
6
|
+
|
|
7
|
+
const options = [
|
|
8
|
+
{ label: 'Orange', value: '#FFA500' },
|
|
9
|
+
{ label: 'Red', value: '#FF0000' },
|
|
10
|
+
{ label: 'Green', value: '#00FF00' },
|
|
11
|
+
{ label: 'Blue', value: '#0000FF' },
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
const TypeaheadErrorState = (props) => {
|
|
15
|
+
const [errorState, setErrorState] = useState("Please make a valid selection");
|
|
16
|
+
const [searchValue, setSearchValue] = useState(null);
|
|
17
|
+
|
|
18
|
+
const handleOnChange = (value) => setSearchValue(value)
|
|
19
|
+
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if(searchValue) {
|
|
22
|
+
setErrorState("")
|
|
23
|
+
} else {
|
|
24
|
+
setErrorState("Please make a valid selection")
|
|
25
|
+
}
|
|
26
|
+
}, [searchValue])
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<Typeahead
|
|
30
|
+
error={errorState}
|
|
31
|
+
label="Colors"
|
|
32
|
+
onChange={handleOnChange}
|
|
33
|
+
options={options}
|
|
34
|
+
{...props}
|
|
35
|
+
/>
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default TypeaheadErrorState
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Typeahead w/ Error shows that an option must be selected or the selected option is invalid (i.e., when used in a form it signals a user to fix an error).
|
|
@@ -8,6 +8,7 @@ examples:
|
|
|
8
8
|
- typeahead_with_pills_async_users: With Pills (Async Data w/ Users)
|
|
9
9
|
- typeahead_inline: Inline
|
|
10
10
|
- typeahead_multi_kit: Multi Kit Options
|
|
11
|
+
- typeahead_error_state: Error State
|
|
11
12
|
|
|
12
13
|
react:
|
|
13
14
|
- typeahead_default: Default
|
|
@@ -20,3 +21,4 @@ examples:
|
|
|
20
21
|
- typeahead_multi_kit: Multi Kit Options
|
|
21
22
|
- typeahead_createable: Createable
|
|
22
23
|
- typeahead_async_createable: Createable (+ Async Data)
|
|
24
|
+
- typeahead_error_state: Error State
|
|
@@ -8,3 +8,4 @@ export { default as TypeaheadInline } from './_typeahead_inline.jsx'
|
|
|
8
8
|
export { default as TypeaheadMultiKit } from './_typeahead_multi_kit.jsx'
|
|
9
9
|
export { default as TypeaheadCreateable } from './_typeahead_createable.jsx'
|
|
10
10
|
export { default as TypeaheadAsyncCreateable } from './_typeahead_async_createable.jsx'
|
|
11
|
+
export { default as TypeaheadErrorState } from './_typeahead_error_state.jsx'
|
|
@@ -5,6 +5,8 @@ module Playbook
|
|
|
5
5
|
class Typeahead < Playbook::KitBase
|
|
6
6
|
prop :async, type: Playbook::Props::Boolean, default: false
|
|
7
7
|
prop :default_options, type: Playbook::Props::HashArray, default: []
|
|
8
|
+
prop :error, type: Playbook::Props::String,
|
|
9
|
+
default: ""
|
|
8
10
|
prop :get_option_label
|
|
9
11
|
prop :get_option_value
|
|
10
12
|
prop :id
|
|
@@ -57,6 +59,7 @@ module Playbook
|
|
|
57
59
|
base_options = {
|
|
58
60
|
dark: dark,
|
|
59
61
|
defaultValue: default_options,
|
|
62
|
+
error: error,
|
|
60
63
|
id: id,
|
|
61
64
|
inline: inline,
|
|
62
65
|
isMulti: is_multi,
|
|
@@ -55,6 +55,7 @@ import * as Lightbox from 'pb_lightbox/docs'
|
|
|
55
55
|
import * as LineGraphDocs from 'pb_line_graph/docs'
|
|
56
56
|
import * as List from 'pb_list/docs'
|
|
57
57
|
import * as LoadingInline from 'pb_loading_inline/docs'
|
|
58
|
+
import * as Map from 'pb_map/docs'
|
|
58
59
|
import * as Message from 'pb_message/docs'
|
|
59
60
|
import * as MultipleUsers from 'pb_multiple_users/docs'
|
|
60
61
|
import * as MultipleUsersStacked from 'pb_multiple_users_stacked/docs'
|
|
@@ -152,6 +153,7 @@ WebpackerReact.setup({
|
|
|
152
153
|
...LineGraphDocs,
|
|
153
154
|
...List,
|
|
154
155
|
...LoadingInline,
|
|
156
|
+
...Map,
|
|
155
157
|
...Message,
|
|
156
158
|
...MultipleUsers,
|
|
157
159
|
...MultipleUsersStacked,
|
|
@@ -59,9 +59,11 @@ $main_colors: (
|
|
|
59
59
|
Background colors ------------------*/
|
|
60
60
|
$bg_light: $silver !default;
|
|
61
61
|
$bg_dark: #0a0527 !default;
|
|
62
|
+
$bg_dark_card: #231E3D;
|
|
62
63
|
$background_colors: (
|
|
63
64
|
bg_light: $bg_light,
|
|
64
|
-
bg_dark: $bg_dark
|
|
65
|
+
bg_dark: $bg_dark,
|
|
66
|
+
bg_dark_card: $bg_dark_card
|
|
65
67
|
);
|
|
66
68
|
|
|
67
69
|
/* Card colors ------------------*/
|
|
@@ -94,11 +96,13 @@ $hover_colors: (
|
|
|
94
96
|
);
|
|
95
97
|
|
|
96
98
|
/* Focus colors -----------------------*/
|
|
99
|
+
$focus_color: $primary;
|
|
97
100
|
$focus_input_light: rgba($active_light, $opacity_5);
|
|
98
101
|
$focus_input_dark: rgba(#144075, $opacity_5);
|
|
99
102
|
$focus_input_colors: (
|
|
100
103
|
focus_input_light: $focus_input_light,
|
|
101
|
-
focus_input_dark: $focus_input_dark
|
|
104
|
+
focus_input_dark: $focus_input_dark,
|
|
105
|
+
focus_color: $focus_color
|
|
102
106
|
);
|
|
103
107
|
|
|
104
108
|
/* Border colors ----------------------*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
@mixin focus {
|
|
2
|
+
&:focus-visible {
|
|
3
|
+
outline: none;
|
|
4
|
+
box-shadow: 0px 0px 0 2px white, 0px 0px 0 4px $primary_action;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
@mixin focus-dark {
|
|
8
|
+
&:focus-visible {
|
|
9
|
+
outline: none;
|
|
10
|
+
box-shadow: 0px 0px 0 2px $bg_dark_card, 0px 0px 0 4px $primary_action;
|
|
11
|
+
}
|
|
12
|
+
}
|
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: 12.
|
|
4
|
+
version: 12.3.0.pre.alpha.patchtest1
|
|
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-02-
|
|
12
|
+
date: 2023-02-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: actionpack
|
|
@@ -1389,6 +1389,15 @@ files:
|
|
|
1389
1389
|
- app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb
|
|
1390
1390
|
- app/pb_kits/playbook/pb_loading_inline/loading_inline.rb
|
|
1391
1391
|
- app/pb_kits/playbook/pb_logistic/_logistic.jsx
|
|
1392
|
+
- app/pb_kits/playbook/pb_map/_map.scss
|
|
1393
|
+
- app/pb_kits/playbook/pb_map/_map.tsx
|
|
1394
|
+
- app/pb_kits/playbook/pb_map/docs/_map_default.jsx
|
|
1395
|
+
- app/pb_kits/playbook/pb_map/docs/_map_default.md
|
|
1396
|
+
- app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx
|
|
1397
|
+
- app/pb_kits/playbook/pb_map/docs/_map_with_plugin.md
|
|
1398
|
+
- app/pb_kits/playbook/pb_map/docs/example.yml
|
|
1399
|
+
- app/pb_kits/playbook/pb_map/docs/index.js
|
|
1400
|
+
- app/pb_kits/playbook/pb_map/map.test.jsx
|
|
1392
1401
|
- app/pb_kits/playbook/pb_message/_message.jsx
|
|
1393
1402
|
- app/pb_kits/playbook/pb_message/_message.scss
|
|
1394
1403
|
- app/pb_kits/playbook/pb_message/_message_mixins.scss
|
|
@@ -1588,8 +1597,8 @@ files:
|
|
|
1588
1597
|
- app/pb_kits/playbook/pb_progress_pills/docs/index.js
|
|
1589
1598
|
- app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb
|
|
1590
1599
|
- app/pb_kits/playbook/pb_progress_pills/progress_pills.rb
|
|
1591
|
-
- app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx
|
|
1592
1600
|
- app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss
|
|
1601
|
+
- app/pb_kits/playbook/pb_progress_simple/_progress_simple.tsx
|
|
1593
1602
|
- app/pb_kits/playbook/pb_progress_simple/docs/_description.md
|
|
1594
1603
|
- app/pb_kits/playbook/pb_progress_simple/docs/_footer.md
|
|
1595
1604
|
- app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_align.html.erb
|
|
@@ -1609,6 +1618,7 @@ files:
|
|
|
1609
1618
|
- app/pb_kits/playbook/pb_progress_simple/docs/index.js
|
|
1610
1619
|
- app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb
|
|
1611
1620
|
- app/pb_kits/playbook/pb_progress_simple/progress_simple.rb
|
|
1621
|
+
- app/pb_kits/playbook/pb_progress_simple/progress_simple.test.js
|
|
1612
1622
|
- app/pb_kits/playbook/pb_progress_step/_progress_step.jsx
|
|
1613
1623
|
- app/pb_kits/playbook/pb_progress_step/_progress_step.scss
|
|
1614
1624
|
- app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx
|
|
@@ -1812,8 +1822,8 @@ files:
|
|
|
1812
1822
|
- app/pb_kits/playbook/pb_star_rating/docs/index.js
|
|
1813
1823
|
- app/pb_kits/playbook/pb_star_rating/star_rating.html.erb
|
|
1814
1824
|
- app/pb_kits/playbook/pb_star_rating/star_rating.rb
|
|
1815
|
-
- app/pb_kits/playbook/pb_stat_change/_stat_change.jsx
|
|
1816
1825
|
- app/pb_kits/playbook/pb_stat_change/_stat_change.scss
|
|
1826
|
+
- app/pb_kits/playbook/pb_stat_change/_stat_change.tsx
|
|
1817
1827
|
- app/pb_kits/playbook/pb_stat_change/docs/_description.md
|
|
1818
1828
|
- app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.html.erb
|
|
1819
1829
|
- app/pb_kits/playbook/pb_stat_change/docs/_stat_change_default.jsx
|
|
@@ -1826,8 +1836,9 @@ files:
|
|
|
1826
1836
|
- app/pb_kits/playbook/pb_stat_change/docs/index.js
|
|
1827
1837
|
- app/pb_kits/playbook/pb_stat_change/stat_change.html.erb
|
|
1828
1838
|
- app/pb_kits/playbook/pb_stat_change/stat_change.rb
|
|
1829
|
-
- app/pb_kits/playbook/
|
|
1839
|
+
- app/pb_kits/playbook/pb_stat_change/stat_change.test.js
|
|
1830
1840
|
- app/pb_kits/playbook/pb_stat_value/_stat_value.scss
|
|
1841
|
+
- app/pb_kits/playbook/pb_stat_value/_stat_value.tsx
|
|
1831
1842
|
- app/pb_kits/playbook/pb_stat_value/docs/_description.md
|
|
1832
1843
|
- app/pb_kits/playbook/pb_stat_value/docs/_footer.md
|
|
1833
1844
|
- app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.html.erb
|
|
@@ -1841,6 +1852,7 @@ files:
|
|
|
1841
1852
|
- app/pb_kits/playbook/pb_stat_value/docs/index.js
|
|
1842
1853
|
- app/pb_kits/playbook/pb_stat_value/stat_value.html.erb
|
|
1843
1854
|
- app/pb_kits/playbook/pb_stat_value/stat_value.rb
|
|
1855
|
+
- app/pb_kits/playbook/pb_stat_value/stat_value.test.js
|
|
1844
1856
|
- app/pb_kits/playbook/pb_table/_table.jsx
|
|
1845
1857
|
- app/pb_kits/playbook/pb_table/_table.scss
|
|
1846
1858
|
- app/pb_kits/playbook/pb_table/_table_row.jsx
|
|
@@ -1998,8 +2010,8 @@ files:
|
|
|
1998
2010
|
- app/pb_kits/playbook/pb_time_range_inline/docs/index.js
|
|
1999
2011
|
- app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb
|
|
2000
2012
|
- app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb
|
|
2001
|
-
- app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx
|
|
2002
2013
|
- app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss
|
|
2014
|
+
- app/pb_kits/playbook/pb_time_stacked/_time_stacked.tsx
|
|
2003
2015
|
- app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.html.erb
|
|
2004
2016
|
- app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx
|
|
2005
2017
|
- app/pb_kits/playbook/pb_time_stacked/docs/example.yml
|
|
@@ -2025,8 +2037,8 @@ files:
|
|
|
2025
2037
|
- app/pb_kits/playbook/pb_timeline/timeline.html.erb
|
|
2026
2038
|
- app/pb_kits/playbook/pb_timeline/timeline.rb
|
|
2027
2039
|
- app/pb_kits/playbook/pb_timestamp/_timestamp-mixins.scss
|
|
2028
|
-
- app/pb_kits/playbook/pb_timestamp/_timestamp.jsx
|
|
2029
2040
|
- app/pb_kits/playbook/pb_timestamp/_timestamp.scss
|
|
2041
|
+
- app/pb_kits/playbook/pb_timestamp/_timestamp.tsx
|
|
2030
2042
|
- app/pb_kits/playbook/pb_timestamp/docs/_description.md
|
|
2031
2043
|
- app/pb_kits/playbook/pb_timestamp/docs/_footer.md
|
|
2032
2044
|
- app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md
|
|
@@ -2149,6 +2161,7 @@ files:
|
|
|
2149
2161
|
- app/pb_kits/playbook/pb_treemap_chart/treemap_chart.rb
|
|
2150
2162
|
- app/pb_kits/playbook/pb_typeahead/_typeahead.jsx
|
|
2151
2163
|
- app/pb_kits/playbook/pb_typeahead/_typeahead.scss
|
|
2164
|
+
- app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx
|
|
2152
2165
|
- app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx
|
|
2153
2166
|
- app/pb_kits/playbook/pb_typeahead/components/Control.jsx
|
|
2154
2167
|
- app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.jsx
|
|
@@ -2163,6 +2176,9 @@ files:
|
|
|
2163
2176
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.jsx
|
|
2164
2177
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb
|
|
2165
2178
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx
|
|
2179
|
+
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb
|
|
2180
|
+
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.jsx
|
|
2181
|
+
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.md
|
|
2166
2182
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.html.erb
|
|
2167
2183
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.jsx
|
|
2168
2184
|
- app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.html.erb
|
|
@@ -2283,6 +2299,7 @@ files:
|
|
|
2283
2299
|
- app/pb_kits/playbook/utilities/_cursor.scss
|
|
2284
2300
|
- app/pb_kits/playbook/utilities/_display.scss
|
|
2285
2301
|
- app/pb_kits/playbook/utilities/_flexbox.scss
|
|
2302
|
+
- app/pb_kits/playbook/utilities/_focus.scss
|
|
2286
2303
|
- app/pb_kits/playbook/utilities/_line_height.scss
|
|
2287
2304
|
- app/pb_kits/playbook/utilities/_max_width.scss
|
|
2288
2305
|
- app/pb_kits/playbook/utilities/_mixins.scss
|
|
@@ -2389,9 +2406,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
2389
2406
|
version: '0'
|
|
2390
2407
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2391
2408
|
requirements:
|
|
2392
|
-
- - "
|
|
2409
|
+
- - ">"
|
|
2393
2410
|
- !ruby/object:Gem::Version
|
|
2394
|
-
version:
|
|
2411
|
+
version: 1.3.1
|
|
2395
2412
|
requirements: []
|
|
2396
2413
|
rubygems_version: 3.3.7
|
|
2397
2414
|
signing_key:
|