playbook_ui 14.4.0.pre.alpha.javascriptassets3924 → 14.4.0.pre.alpha.pbntr523enablekitsforradiofix3825
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/_playbook.scss +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +4 -23
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_button/_button.tsx +2 -6
- data/app/pb_kits/playbook/pb_contact/_contact.tsx +5 -17
- data/app/pb_kits/playbook/pb_contact/contact.html.erb +6 -14
- data/app/pb_kits/playbook/pb_contact/contact.rb +0 -4
- data/app/pb_kits/playbook/pb_contact/contact.test.js +1 -1
- data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +6 -2
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +7 -2
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +3 -4
- data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -1
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +0 -4
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +3 -6
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_inline.html.erb +1 -1
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_header_styles.scss +2 -6
- data/app/pb_kits/playbook/pb_dialog/_dialog.scss +0 -2
- data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -10
- data/app/pb_kits/playbook/pb_filter/docs/_filter_max_height.html.erb +1 -5
- data/app/pb_kits/playbook/pb_filter/docs/_filter_max_width.html.erb +1 -5
- data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.html.erb +1 -5
- data/app/pb_kits/playbook/pb_filter/docs/_filter_no_sort.html.erb +1 -5
- data/app/pb_kits/playbook/pb_filter/docs/_filter_only.html.erb +1 -5
- data/app/pb_kits/playbook/pb_filter/docs/_filter_placement.html.erb +1 -5
- data/app/pb_kits/playbook/pb_filter/docs/_filter_single.html.erb +1 -5
- data/app/pb_kits/playbook/pb_map/_map_controls.tsx +1 -7
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +4 -15
- data/app/pb_kits/playbook/pb_pagination/docs/_pagination_page_change.jsx +1 -12
- data/app/pb_kits/playbook/pb_pagination/docs/_pagination_page_change_react.md +1 -3
- data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +2 -10
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.html.erb +13 -14
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +4 -4
- data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.html.erb +0 -2
- data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.jsx +2 -5
- data/app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarDropdown.tsx +5 -12
- data/app/pb_kits/playbook/pb_select/_select.tsx +2 -5
- data/app/pb_kits/playbook/pb_select/select.html.erb +1 -1
- data/app/pb_kits/playbook/pb_select/select.rb +0 -4
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +1 -0
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +13 -17
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +1 -0
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +0 -14
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +0 -3
- data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +5 -6
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +1 -2
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -6
- data/app/pb_kits/playbook/utilities/icons/allicons.tsx +13 -136
- data/dist/chunks/_typeahead-Dl3m9Vf4.js +22 -0
- data/dist/chunks/_weekday_stacked-uTVCUBob.js +45 -0
- data/dist/chunks/lib-D2U4I1U6.js +16 -0
- data/dist/chunks/{pb_form_validation-D9zkwt2b.js → pb_form_validation-zV9OpdSt.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +1 -3
- 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/pagination_renderer.rb +2 -10
- data/lib/playbook/version.rb +1 -1
- metadata +6 -25
- data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
- data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -465
- data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -195
- data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -117
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -43
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -1
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -63
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -55
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -113
- data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -12
- data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -5
- data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -12
- data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -8
- data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -77
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.html.erb +0 -88
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.jsx +0 -60
- data/app/pb_kits/playbook/utilities/icons/angle-down.svg +0 -3
- data/app/pb_kits/playbook/utilities/icons/envelope.svg +0 -3
- data/dist/chunks/_typeahead-BYw0HEgO.js +0 -22
- data/dist/chunks/_weekday_stacked-DumiyWjh.js +0 -45
- data/dist/chunks/lib-CEpcaI8y.js +0 -29
@@ -1,10 +1,8 @@
|
|
1
1
|
<%= pb_rails("button", props: { variant: "secondary", id: 'list' }) do %>
|
2
2
|
<%= pb_rails("flex", props: {align: "center"}) do %>
|
3
|
-
Filter By
|
3
|
+
Filter By
|
4
4
|
<%= pb_rails("flex/flex_item", props: {margin_left: "xxs"}) do %>
|
5
|
-
|
6
|
-
<%= pb_rails("icon", props: { icon: "chevron-down", fixed_width: true }) %>
|
7
|
-
</div>
|
5
|
+
<div id="arrow-icon" style="display: flex"></div>
|
8
6
|
<% end %>
|
9
7
|
<% end %>
|
10
8
|
<% end %>
|
@@ -20,17 +18,18 @@
|
|
20
18
|
|
21
19
|
|
22
20
|
<script type="text/javascript">
|
23
|
-
|
24
|
-
|
21
|
+
const button = document.querySelector("#list")
|
22
|
+
let buttonClicked = false
|
25
23
|
|
26
|
-
|
24
|
+
const arrowDiv = document.querySelector("#arrow-icon")
|
25
|
+
arrowDiv.innerHTML = '<i class="far fa-angle-down"></i>'
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
}
|
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>'
|
35
33
|
}
|
34
|
+
}
|
36
35
|
</script>
|
@@ -26,10 +26,10 @@ const PopoverWithButton = (props) => {
|
|
26
26
|
className={showPopover ? "fa-flip-vertical" : ""}
|
27
27
|
display="inline_flex"
|
28
28
|
>
|
29
|
-
<Icon
|
30
|
-
fixedWidth
|
31
|
-
icon="angle-down"
|
32
|
-
margin-left="xxs"
|
29
|
+
<Icon
|
30
|
+
fixedWidth
|
31
|
+
icon="angle-down"
|
32
|
+
margin-left="xxs"
|
33
33
|
/>
|
34
34
|
</Flex>
|
35
35
|
</Flex>
|
@@ -10,7 +10,6 @@
|
|
10
10
|
<%= pb_rails("radio", props: {
|
11
11
|
custom_children: true,
|
12
12
|
label: "Select",
|
13
|
-
margin_bottom: "sm",
|
14
13
|
name: "Group1",
|
15
14
|
value: "Select",
|
16
15
|
}) do %>
|
@@ -23,7 +22,6 @@
|
|
23
22
|
<%= pb_rails("radio", props: {
|
24
23
|
custom_children: true,
|
25
24
|
label: "Typeahead",
|
26
|
-
margin_bottom: "sm",
|
27
25
|
name: "Group1",
|
28
26
|
value: "Typeahead",
|
29
27
|
}) do %>
|
@@ -19,14 +19,12 @@ const RadioChildren = (props) => {
|
|
19
19
|
<Radio
|
20
20
|
customChildren
|
21
21
|
label="Select"
|
22
|
-
marginBottom="sm"
|
23
22
|
name="Group1"
|
24
23
|
tabIndex={0}
|
25
24
|
value="Select"
|
26
25
|
{...props}
|
27
26
|
>
|
28
|
-
<Select
|
29
|
-
marginBottom="none"
|
27
|
+
<Select
|
30
28
|
minWidth="xs"
|
31
29
|
options={options}
|
32
30
|
/>
|
@@ -34,18 +32,17 @@ const RadioChildren = (props) => {
|
|
34
32
|
<Radio
|
35
33
|
customChildren
|
36
34
|
label="Typeahead"
|
37
|
-
marginBottom="sm"
|
38
35
|
name="Group1"
|
39
36
|
tabIndex={0}
|
40
37
|
value="Typeahead"
|
41
38
|
{...props}
|
42
39
|
>
|
43
40
|
<Typeahead
|
44
|
-
marginBottom="none"
|
45
41
|
minWidth="xs"
|
46
42
|
options={options}
|
47
43
|
/>
|
48
44
|
</Radio>
|
45
|
+
<br />
|
49
46
|
<Radio
|
50
47
|
customChildren
|
51
48
|
defaultChecked={false}
|
@@ -1,7 +1,5 @@
|
|
1
1
|
import React, { useState } from 'react'
|
2
2
|
|
3
|
-
import { getAllIcons } from "../../utilities/icons/allicons"
|
4
|
-
|
5
3
|
import Flex from '../../pb_flex/_flex'
|
6
4
|
import PbReactPopover from '../../pb_popover/_popover'
|
7
5
|
import Button from '../../pb_button/_button'
|
@@ -67,7 +65,6 @@ const toolbarDropdownItems = [
|
|
67
65
|
},
|
68
66
|
]
|
69
67
|
|
70
|
-
const angleDown = getAllIcons()["angleDown"].icon as unknown as { [key: string]: SVGElement }
|
71
68
|
|
72
69
|
const handleTogglePopover = () => {
|
73
70
|
setShowPopover(!showPopover)
|
@@ -95,10 +92,8 @@ for (const { text, isActive, icon } of toolbarDropdownItems) {
|
|
95
92
|
<Flex className={showPopover ? "fa-flip-vertical" : ""}
|
96
93
|
display="inline_flex"
|
97
94
|
>
|
98
|
-
<Icon
|
99
|
-
|
100
|
-
customIcon={angleDown}
|
101
|
-
fixedWidth
|
95
|
+
<Icon fixedWidth
|
96
|
+
icon="angle-down"
|
102
97
|
margin-left="xs"
|
103
98
|
/>
|
104
99
|
</Flex>
|
@@ -130,10 +125,8 @@ const popoverReference = (
|
|
130
125
|
<Flex className={showPopover ? "fa-flip-vertical" : ""}
|
131
126
|
display="inline_flex"
|
132
127
|
>
|
133
|
-
<Icon
|
134
|
-
|
135
|
-
customIcon={angleDown}
|
136
|
-
fixedWidth
|
128
|
+
<Icon fixedWidth
|
129
|
+
icon="angle-down"
|
137
130
|
margin-left="xs"
|
138
131
|
/>
|
139
132
|
</Flex>
|
@@ -176,4 +169,4 @@ const popoverReference = (
|
|
176
169
|
)
|
177
170
|
}
|
178
171
|
|
179
|
-
export default ToolbarDropdown
|
172
|
+
export default ToolbarDropdown
|
@@ -4,7 +4,6 @@ import classnames from 'classnames'
|
|
4
4
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
5
|
import { globalProps, GlobalProps, domSafeProps } from '../utilities/globalProps'
|
6
6
|
import type { InputCallback } from '../types'
|
7
|
-
import { getAllIcons } from "../utilities/icons/allicons"
|
8
7
|
|
9
8
|
import Body from '../pb_body/_body'
|
10
9
|
import Caption from '../pb_caption/_caption'
|
@@ -91,8 +90,6 @@ const Select = ({
|
|
91
90
|
compactClass
|
92
91
|
);
|
93
92
|
|
94
|
-
const angleDown = getAllIcons()["angleDown"].icon as unknown as { [key: string]: SVGElement }
|
95
|
-
|
96
93
|
const selectWrapperClass = classnames(buildCss('pb_select_kit_wrapper'), { error }, className)
|
97
94
|
const selectBody =(() =>{
|
98
95
|
if (children) return children
|
@@ -137,9 +134,9 @@ const Select = ({
|
|
137
134
|
{selectBody}
|
138
135
|
{ multiple !== true ?
|
139
136
|
<Icon
|
140
|
-
className="pb_select_kit_caret
|
141
|
-
customIcon={angleDown}
|
137
|
+
className="pb_select_kit_caret"
|
142
138
|
fixedWidth
|
139
|
+
icon="angle-down"
|
143
140
|
/>
|
144
141
|
:
|
145
142
|
null
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<%= pb_rails("body", props: { status: "negative", text: object.error }) %>
|
27
27
|
<% end %>
|
28
28
|
<% if object.multiple != true %>
|
29
|
-
<%= pb_rails("icon", props: {
|
29
|
+
<%= pb_rails("icon", props: { icon: "angle-down", fixed_width: true, classname: "pb_select_kit_caret"}) %>
|
30
30
|
<% end %>
|
31
31
|
</label>
|
32
32
|
<% end %>
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import React, { useRef, useState, forwardRef, ForwardedRef } from "react"
|
2
2
|
|
3
3
|
import {
|
4
|
-
arrow,
|
5
|
-
flip,
|
6
|
-
offset,
|
7
|
-
Placement,
|
8
|
-
safePolygon,
|
4
|
+
arrow,
|
5
|
+
flip,
|
6
|
+
offset,
|
7
|
+
Placement,
|
8
|
+
safePolygon,
|
9
9
|
shift,
|
10
|
-
useFloating,
|
11
|
-
useHover,
|
10
|
+
useFloating,
|
11
|
+
useHover,
|
12
12
|
useInteractions,
|
13
13
|
} from "@floating-ui/react"
|
14
14
|
|
@@ -16,8 +16,6 @@ import classnames from "classnames"
|
|
16
16
|
import { GlobalProps, globalProps } from "../utilities/globalProps"
|
17
17
|
import { buildAriaProps, buildDataProps, buildHtmlProps } from "../utilities/props"
|
18
18
|
import Flex from "../pb_flex/_flex"
|
19
|
-
import { getAllIcons } from "../utilities/icons/allicons"
|
20
|
-
import Icon from '../pb_icon/_icon'
|
21
19
|
|
22
20
|
type TooltipProps = {
|
23
21
|
aria?: { [key: string]: string },
|
@@ -55,7 +53,7 @@ const Tooltip = forwardRef((props: TooltipProps, ref: ForwardedRef<unknown>): Re
|
|
55
53
|
const dataProps: { [key: string]: string } = buildDataProps(data)
|
56
54
|
const ariaProps: { [key: string]: string } = buildAriaProps(aria)
|
57
55
|
const htmlProps = buildHtmlProps(htmlOptions)
|
58
|
-
|
56
|
+
|
59
57
|
const css = classnames(
|
60
58
|
globalProps({...rest}),
|
61
59
|
className,
|
@@ -63,6 +61,7 @@ const Tooltip = forwardRef((props: TooltipProps, ref: ForwardedRef<unknown>): Re
|
|
63
61
|
const [open, setOpen] = useState(false)
|
64
62
|
const arrowRef = useRef(null)
|
65
63
|
|
64
|
+
|
66
65
|
const {
|
67
66
|
context,
|
68
67
|
middlewareData: { arrow: { x: arrowX, y: arrowY } = {}, },
|
@@ -96,7 +95,7 @@ const Tooltip = forwardRef((props: TooltipProps, ref: ForwardedRef<unknown>): Re
|
|
96
95
|
placement: preferredPlacement
|
97
96
|
})
|
98
97
|
|
99
|
-
|
98
|
+
|
100
99
|
const { getFloatingProps } = useInteractions([
|
101
100
|
useHover(context, {
|
102
101
|
delay,
|
@@ -149,16 +148,13 @@ const Tooltip = forwardRef((props: TooltipProps, ref: ForwardedRef<unknown>): Re
|
|
149
148
|
},
|
150
149
|
})}
|
151
150
|
>
|
152
|
-
<Flex
|
151
|
+
<Flex
|
153
152
|
align="center"
|
154
153
|
gap="xs"
|
155
154
|
>
|
156
155
|
{icon && (
|
157
|
-
<i className={`pb_icon_kit`}
|
158
|
-
|
159
|
-
icon={icon}
|
160
|
-
/>
|
161
|
-
</i>)}
|
156
|
+
<i className={`pb_icon_kit far fa-${icon} fa-fw`} />
|
157
|
+
)}
|
162
158
|
{text}
|
163
159
|
</Flex>
|
164
160
|
<div
|
@@ -109,20 +109,6 @@ test('should pass className prop', () => {
|
|
109
109
|
expect(kit).toHaveClass(className)
|
110
110
|
})
|
111
111
|
|
112
|
-
test('typeahead textinput has mb_sm class by default', () => {
|
113
|
-
render(
|
114
|
-
<Typeahead
|
115
|
-
data={{ testid: 'default-mb-test' }}
|
116
|
-
options={options}
|
117
|
-
/>
|
118
|
-
)
|
119
|
-
|
120
|
-
const kit = screen.getByTestId('default-mb-test')
|
121
|
-
expect(kit).toHaveClass("pb_typeahead_kit mb_sm")
|
122
|
-
const textInput = kit.querySelector(".pb_text_input_kit")
|
123
|
-
expect(textInput).toHaveClass("mb_none")
|
124
|
-
})
|
125
|
-
|
126
112
|
test('typeahead with colored pills', () => {
|
127
113
|
render(
|
128
114
|
<Typeahead
|
@@ -45,7 +45,6 @@ type TypeaheadProps = {
|
|
45
45
|
getOptionLabel?: string | (() => any),
|
46
46
|
getOptionValue?: string | (() => any),
|
47
47
|
name?: string,
|
48
|
-
marginBottom?: "none" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl",
|
49
48
|
pillColor?: "primary" | "neutral" | "success" | "warning" | "error" | "info" | "data_1" | "data_2" | "data_3" | "data_4" | "data_5" | "data_6" | "data_7" | "data_8" | "windows" | "siding" | "roofing" | "doors" | "gutters" | "solar" | "insulation" | "accessories",
|
50
49
|
} & GlobalProps
|
51
50
|
|
@@ -79,7 +78,6 @@ const Typeahead = ({
|
|
79
78
|
htmlOptions = {},
|
80
79
|
id,
|
81
80
|
loadOptions = noop,
|
82
|
-
marginBottom = "sm",
|
83
81
|
pillColor,
|
84
82
|
...props
|
85
83
|
}: TypeaheadProps) => {
|
@@ -140,7 +138,6 @@ const Typeahead = ({
|
|
140
138
|
const htmlProps = buildHtmlProps(htmlOptions)
|
141
139
|
const classes = classnames(
|
142
140
|
'pb_typeahead_kit react-select',
|
143
|
-
`mb_${marginBottom}`,
|
144
141
|
globalProps(props),
|
145
142
|
className
|
146
143
|
)
|
@@ -11,15 +11,14 @@ type Props = {
|
|
11
11
|
const TypeaheadControl = (props: Props) => (
|
12
12
|
<div className="pb_typeahead_wrapper">
|
13
13
|
<TextInput
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
marginBottom="none"
|
14
|
+
dark={props.selectProps.dark}
|
15
|
+
error={props.selectProps.error}
|
16
|
+
label={props.selectProps.label}
|
18
17
|
>
|
19
18
|
<Flex>
|
20
19
|
<components.Control
|
21
|
-
|
22
|
-
|
20
|
+
className="text_input"
|
21
|
+
{...props}
|
23
22
|
/>
|
24
23
|
</Flex>
|
25
24
|
</TextInput>
|
@@ -9,7 +9,6 @@ examples:
|
|
9
9
|
- typeahead_inline: Inline
|
10
10
|
- typeahead_multi_kit: Multi Kit Options
|
11
11
|
- typeahead_error_state: Error State
|
12
|
-
- typeahead_margin_bottom: Margin Bottom
|
13
12
|
- typeahead_with_pills_color: With Pills (Custom Color)
|
14
13
|
|
15
14
|
react:
|
@@ -25,5 +24,4 @@ examples:
|
|
25
24
|
- typeahead_async_createable: Createable (+ Async Data)
|
26
25
|
- typeahead_error_state: Error State
|
27
26
|
- typeahead_custom_menu_list: Custom MenuList
|
28
|
-
- typeahead_margin_bottom: Margin Bottom
|
29
27
|
- typeahead_with_pills_color: With Pills (Custom Color)
|
@@ -10,5 +10,4 @@ export { default as TypeaheadCreateable } from './_typeahead_createable.jsx'
|
|
10
10
|
export { default as TypeaheadAsyncCreateable } from './_typeahead_async_createable.jsx'
|
11
11
|
export { default as TypeaheadErrorState } from './_typeahead_error_state.jsx'
|
12
12
|
export { default as TypeaheadCustomMenuList } from './_typeahead_custom_menu_list.jsx'
|
13
|
-
export { default as TypeaheadMarginBottom } from './_typeahead_margin_bottom.jsx'
|
14
13
|
export { default as TypeaheadWithPillsColor } from './_typeahead_with_pills_color.jsx'
|
@@ -20,8 +20,7 @@
|
|
20
20
|
label: object.label,
|
21
21
|
name: object.name,
|
22
22
|
value: object.value,
|
23
|
-
placeholder: object.placeholder
|
24
|
-
margin_bottom: "none",
|
23
|
+
placeholder: object.placeholder
|
25
24
|
}) %>
|
26
25
|
<%= pb_rails("list", props: { ordered: false, borderless: false, xpadding: true, role: "status", aria: { live: "polite" }, data: { pb_typeahead_kit_results: true } }) do %>
|
27
26
|
<% end %>
|
@@ -34,16 +34,12 @@ module Playbook
|
|
34
34
|
prop :search_term_minimum_length, default: 3
|
35
35
|
prop :search_debounce_timeout, default: 250
|
36
36
|
prop :value
|
37
|
-
prop :margin_bottom, type: Playbook::Props::Enum,
|
38
|
-
values: %w[none xxs xs sm md lg xl],
|
39
|
-
default: "sm"
|
40
37
|
prop :pill_color, type: Playbook::Props::Enum,
|
41
38
|
values: %w[primary neutral success warning error info data_1 data_2 data_3 data_4 data_5 data_6 data_7 data_8 windows siding roofing doors gutters solar insulation accessories],
|
42
39
|
default: "primary"
|
43
40
|
|
44
41
|
def classname
|
45
|
-
|
46
|
-
generate_classname("pb_typeahead_kit") + default_margin_bottom
|
42
|
+
generate_classname("pb_typeahead_kit")
|
47
43
|
end
|
48
44
|
|
49
45
|
def inline_class
|
@@ -73,7 +69,6 @@ module Playbook
|
|
73
69
|
inline: inline,
|
74
70
|
isMulti: is_multi,
|
75
71
|
label: label,
|
76
|
-
marginBottom: margin_bottom,
|
77
72
|
multiKit: multi_kit,
|
78
73
|
name: name,
|
79
74
|
options: options,
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import React from "react";
|
2
|
-
import ReactDOMServer from 'react-dom/server';
|
3
2
|
|
4
3
|
const spinner = (
|
5
|
-
<svg
|
6
|
-
fill="none"
|
7
|
-
height="25"
|
8
|
-
viewBox="0 0 31 25"
|
9
|
-
width="31"
|
4
|
+
<svg
|
5
|
+
fill="none"
|
6
|
+
height="25"
|
7
|
+
viewBox="0 0 31 25"
|
8
|
+
width="31"
|
10
9
|
xmlns="http://www.w3.org/2000/svg"
|
11
10
|
>
|
12
11
|
<path d="M17.4043 1.85547C17.4043 2.69922 16.7012 3.35547 15.9043 3.35547C15.0605 3.35547 14.4043 2.69922 14.4043 1.85547C14.4043 1.05859 15.0605 0.355469 15.9043 0.355469C16.7012 0.355469 17.4043 1.05859 17.4043 1.85547ZM17.4043 22.8555C17.4043 23.6992 16.7012 24.3555 15.9043 24.3555C15.0605 24.3555 14.4043 23.6992 14.4043 22.8555C14.4043 22.0586 15.0605 21.3555 15.9043 21.3555C16.7012 21.3555 17.4043 22.0586 17.4043 22.8555ZM24.9043 12.3555C24.9043 11.5586 25.5605 10.8555 26.4043 10.8555C27.2012 10.8555 27.9043 11.5586 27.9043 12.3555C27.9043 13.1992 27.2012 13.8555 26.4043 13.8555C25.5605 13.8555 24.9043 13.1992 24.9043 12.3555ZM5.4043 13.8555C4.56055 13.8555 3.9043 13.1992 3.9043 12.3555C3.9043 11.5586 4.56055 10.8555 5.4043 10.8555C6.20117 10.8555 6.9043 11.5586 6.9043 12.3555C6.9043 13.1992 6.20117 13.8555 5.4043 13.8555ZM7.41992 20.8398C6.81055 20.2773 6.81055 19.3398 7.41992 18.7305C7.98242 18.168 8.91992 18.168 9.5293 18.7305C10.0918 19.3398 10.0918 20.2773 9.5293 20.8398C8.91992 21.4492 7.98242 21.4492 7.41992 20.8398ZM22.2324 20.8398C21.8574 20.5117 21.6699 19.9023 21.8105 19.3867C21.9512 18.8711 22.373 18.4492 22.8887 18.3086C23.4043 18.168 24.0137 18.3555 24.3887 18.7305C24.7637 19.1055 24.9512 19.668 24.8105 20.2305C24.6699 20.7461 24.248 21.168 23.7324 21.3086C23.1699 21.4492 22.6074 21.2617 22.2324 20.8398ZM7.41992 3.87109C7.98242 3.30859 8.91992 3.30859 9.5293 3.87109C10.0918 4.48047 10.0918 5.41797 9.5293 6.02734C8.91992 6.58984 7.98242 6.58984 7.41992 6.02734C6.81055 5.41797 6.81055 4.48047 7.41992 3.87109Z"
|
@@ -16,10 +15,10 @@ const spinner = (
|
|
16
15
|
)
|
17
16
|
|
18
17
|
const clock = (
|
19
|
-
<svg
|
20
|
-
fill="none"
|
21
|
-
height="25"
|
22
|
-
viewBox="0 0 31 25"
|
18
|
+
<svg
|
19
|
+
fill="none"
|
20
|
+
height="25"
|
21
|
+
viewBox="0 0 31 25"
|
23
22
|
width="31"
|
24
23
|
xmlns="http://www.w3.org/2000/svg"
|
25
24
|
>
|
@@ -31,10 +30,10 @@ const clock = (
|
|
31
30
|
|
32
31
|
const times = (
|
33
32
|
<svg
|
34
|
-
fill="none"
|
35
|
-
height="25"
|
36
|
-
viewBox="0 0 31 25"
|
37
|
-
width="31"
|
33
|
+
fill="none"
|
34
|
+
height="25"
|
35
|
+
viewBox="0 0 31 25"
|
36
|
+
width="31"
|
38
37
|
xmlns="http://www.w3.org/2000/svg"
|
39
38
|
>
|
40
39
|
<path
|
@@ -44,109 +43,6 @@ const times = (
|
|
44
43
|
</svg>
|
45
44
|
)
|
46
45
|
|
47
|
-
const shieldCheck = (
|
48
|
-
<svg
|
49
|
-
fill="none"
|
50
|
-
height="25"
|
51
|
-
viewBox="0 0 30 25"
|
52
|
-
width="30"
|
53
|
-
xmlns="http://www.w3.org/2000/svg"
|
54
|
-
>
|
55
|
-
<g clipPath="url(#clip0_3501_2627)">
|
56
|
-
<path
|
57
|
-
d="M23.613 6.22616C19.2319 5.05738 16.2038 3.57683 14.9994 2.93168C13.795 3.57684 10.7668 5.05738 6.38579 6.22616C6.49648 10.1825 7.36742 13.3152 8.82039 15.769C10.2812 18.2361 12.3678 20.0807 14.9994 21.3944C17.6301 20.0812 19.7161 18.2374 21.1769 15.7716C22.6308 13.3174 23.5022 10.1839 23.613 6.22616ZM14.2526 0.775118C14.7176 0.512911 15.2824 0.51361 15.7463 0.775204C16.4986 1.19938 19.7418 2.92765 24.7399 4.19445C25.4023 4.36236 25.8799 4.96401 25.8736 5.66282C25.8329 10.1987 24.8831 13.9298 23.1127 16.9184C21.3379 19.9142 18.7794 22.0943 15.64 23.5849C15.235 23.7772 14.7638 23.7773 14.3587 23.5849C11.2184 22.0938 8.65916 19.9128 6.88434 16.9154C5.11385 13.9254 4.16463 10.1924 4.12506 5.65388C4.11862 4.91506 4.64477 4.35024 5.26787 4.19218C10.2611 2.92549 13.5011 1.19889 14.2526 0.775118ZM11.685 11.1425C11.2467 10.7022 10.5344 10.7006 10.094 11.139C9.65373 11.5774 9.65215 12.2897 10.0905 12.73L12.7278 15.379C13.3123 15.9661 14.2621 15.9682 14.8491 15.3837L19.8781 10.377C20.3184 9.93866 20.32 9.22635 19.8816 8.78604C19.4432 8.34573 18.7309 8.34415 18.2906 8.78251L13.7932 13.26L11.685 11.1425Z"
|
58
|
-
fill="#242B42"
|
59
|
-
/>
|
60
|
-
</g>
|
61
|
-
<defs>
|
62
|
-
<clipPath id="clip0_3501_2627">
|
63
|
-
<rect
|
64
|
-
fill="white"
|
65
|
-
height="24"
|
66
|
-
transform="translate(0 0.142883)"
|
67
|
-
width="30"
|
68
|
-
/>
|
69
|
-
</clipPath>
|
70
|
-
</defs>
|
71
|
-
</svg>
|
72
|
-
)
|
73
|
-
|
74
|
-
const eye = (
|
75
|
-
<svg
|
76
|
-
fill="none"
|
77
|
-
height="1.5em"
|
78
|
-
viewBox="0 0 30 24"
|
79
|
-
width="1.5em"
|
80
|
-
xmlns="http://www.w3.org/2000/svg"
|
81
|
-
>
|
82
|
-
<path
|
83
|
-
clipRule="evenodd"
|
84
|
-
d="M15.063 1.393c-4.268 0-7.06 1.76-9.073 3.89C5.002 6.33 4.206 7.46 3.522 8.475l-.395.589c-.526.787-.97 1.454-1.424 1.994a1.521 1.521 0 00-.045 1.902c.303.396.634.893 1.005 1.45 2.092 3.136 5.466 8.197 12.4 8.197 7.192 0 10.277-4.932 12.237-8.066.385-.615.727-1.161 1.047-1.587a1.524 1.524 0 00-.049-1.895c-.459-.548-.906-1.23-1.436-2.037l-.001-.001-.354-.539c-.672-1.014-1.453-2.145-2.425-3.192-1.984-2.135-4.75-3.897-9.02-3.897zM4.703 13.376c-.313-.46-.616-.906-.917-1.323a35.29 35.29 0 001.245-1.788l.357-.533c.67-.995 1.383-1.998 2.238-2.904C9.3 5.056 11.53 3.643 15.063 3.643c3.53 0 5.728 1.41 7.37 3.178.84.905 1.538 1.907 2.197 2.903l.324.492v.001c.417.635.837 1.276 1.265 1.84a43.715 43.715 0 00-1.021 1.551c-1.99 3.115-4.311 6.749-10.135 6.749-5.613 0-8.22-3.833-10.36-6.981zm10.35 2.638a3.946 3.946 0 10-.243-7.885c.168.23.243.602.243 1.204a3.187 3.187 0 01-3.188 3.188 3.83 3.83 0 01-.739-.056 3.947 3.947 0 003.927 3.549zm0 2.25a6.196 6.196 0 100-12.393 6.196 6.196 0 000 12.393z"
|
85
|
-
fill="#242B42"
|
86
|
-
/>
|
87
|
-
</svg>
|
88
|
-
)
|
89
|
-
|
90
|
-
const envelope = (
|
91
|
-
<svg
|
92
|
-
fill="none"
|
93
|
-
height="1.5em"
|
94
|
-
viewBox="0 0 30 25"
|
95
|
-
width="1.5em"
|
96
|
-
xmlns="http://www.w3.org/2000/svg"
|
97
|
-
>
|
98
|
-
<path
|
99
|
-
d="M5.625 6.286c0-.207.168-.375.375-.375h18c.207 0 .375.168.375.375v1.636L15 13.95 5.625 7.922V6.286zm-2.25 2.232V18.286A2.625 2.625 0 006 20.91h18a2.625 2.625 0 002.625-2.625V8.553 6.286A2.625 2.625 0 0024 3.66H6a2.625 2.625 0 00-2.625 2.625v2.232zm21 2.079v7.689a.375.375 0 01-.375.375H6a.375.375 0 01-.375-.375v-7.69l8.564 5.508a1.5 1.5 0 001.622 0l8.564-5.507z"
|
100
|
-
fill="#242B42"
|
101
|
-
/>
|
102
|
-
</svg>
|
103
|
-
)
|
104
|
-
|
105
|
-
const arrowUpShortWide = (
|
106
|
-
<svg
|
107
|
-
fill="none"
|
108
|
-
height="1.5em"
|
109
|
-
viewBox="0 0 30 25"
|
110
|
-
width="1.5em"
|
111
|
-
xmlns="http://www.w3.org/2000/svg"
|
112
|
-
>
|
113
|
-
<path
|
114
|
-
d="M3.44 8.724a1.125 1.125 0 11-1.59-1.59l4.235-4.236a1.5 1.5 0 012.12 0l4.236 4.235a1.125 1.125 0 01-1.591 1.591l-2.58-2.58V21.43a1.125 1.125 0 01-2.25 0V6.145l-2.58 2.58zM14.25 20.68c0-.622.504-1.125 1.125-1.125h12a1.125 1.125 0 110 2.25h-12a1.125 1.125 0 01-1.125-1.125zm1.125-6.63a1.125 1.125 0 000 2.25h9a1.125 1.125 0 100-2.25h-9zm-1.125-4.37c0-.622.504-1.125 1.125-1.125h6a1.125 1.125 0 110 2.25h-6a1.125 1.125 0 01-1.125-1.125zm1.125-6.625a1.125 1.125 0 000 2.25h3a1.125 1.125 0 100-2.25h-3z"
|
115
|
-
fill="#242B42"
|
116
|
-
/>
|
117
|
-
</svg>
|
118
|
-
)
|
119
|
-
|
120
|
-
const arrowDownShortWide = (
|
121
|
-
<svg
|
122
|
-
fill="none"
|
123
|
-
height="1.5em"
|
124
|
-
viewBox="0 0 30 25"
|
125
|
-
width="1.5em"
|
126
|
-
xmlns="http://www.w3.org/2000/svg"
|
127
|
-
>
|
128
|
-
<path
|
129
|
-
d="M8.27 3.857a1.125 1.125 0 00-2.25 0v15.284l-2.58-2.58a1.125 1.125 0 10-1.59 1.592l4.235 4.235a1.5 1.5 0 002.12 0l4.236-4.235a1.125 1.125 0 10-1.591-1.591l-2.58 2.58V3.856zm5.98 17.25c0-.621.504-1.125 1.125-1.125h12a1.125 1.125 0 110 2.25h-12a1.125 1.125 0 01-1.125-1.125zm1.125-6.63a1.125 1.125 0 000 2.25h8.25a1.125 1.125 0 100-2.25h-8.25zm-1.125-4.37c0-.621.504-1.125 1.125-1.125h5.25a1.125 1.125 0 110 2.25h-5.25a1.125 1.125 0 01-1.125-1.125zm1.125-6.625a1.125 1.125 0 000 2.25h1.5a1.125 1.125 0 100-2.25h-1.5z"
|
130
|
-
fill="#242B42"
|
131
|
-
/>
|
132
|
-
</svg>
|
133
|
-
)
|
134
|
-
|
135
|
-
const angleDown = (
|
136
|
-
<svg
|
137
|
-
fill="none"
|
138
|
-
height="1.5em"
|
139
|
-
viewBox="0 0 30 24"
|
140
|
-
width="1.5em"
|
141
|
-
xmlns="http://www.w3.org/2000/svg"
|
142
|
-
>
|
143
|
-
<path
|
144
|
-
d="M6.543 7.69a1.125 1.125 0 011.59.034L15 14.884l6.866-7.16A1.125 1.125 0 1123.49 9.28l-7.407 7.725a1.5 1.5 0 01-2.166 0L6.51 9.281a1.125 1.125 0 01.033-1.59z"
|
145
|
-
fill="#242B42"
|
146
|
-
/>
|
147
|
-
</svg>
|
148
|
-
)
|
149
|
-
|
150
46
|
export const getAllIcons = () => {
|
151
47
|
|
152
48
|
return {
|
@@ -158,25 +54,6 @@ export const getAllIcons = () => {
|
|
158
54
|
},
|
159
55
|
times: {
|
160
56
|
icon: times
|
161
|
-
},
|
162
|
-
shieldCheck: {
|
163
|
-
icon: shieldCheck
|
164
|
-
},
|
165
|
-
eye: {
|
166
|
-
icon: eye
|
167
|
-
},
|
168
|
-
envelope: {
|
169
|
-
icon: envelope
|
170
|
-
},
|
171
|
-
arrowUpShortWide: {
|
172
|
-
icon: arrowUpShortWide
|
173
|
-
},
|
174
|
-
arrowDownShortWide: {
|
175
|
-
icon: arrowDownShortWide
|
176
|
-
},
|
177
|
-
angleDown: {
|
178
|
-
icon: angleDown,
|
179
|
-
string: ReactDOMServer.renderToStaticMarkup(angleDown)
|
180
57
|
}
|
181
58
|
}
|
182
59
|
}
|