playbook_ui 13.25.0.pre.alpha.barchartfix2766 → 13.26.0.pre.alpha.jasoncypretpatch12816
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/index.js +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +14 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.html.erb +33 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.md +24 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.md +5 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/index.js +78 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +4 -2
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +3 -2
- data/app/pb_kits/playbook/pb_avatar/Utilities/GetPlacementPropsHelper.tsx +44 -0
- data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +86 -21
- data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +26 -3
- data/app/pb_kits/playbook/pb_avatar/avatar.rb +41 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.html.erb +71 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +77 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.html.erb +71 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +77 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +20 -0
- data/app/pb_kits/playbook/pb_avatar/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_avatar/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +49 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +3 -0
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +2 -1
- data/app/pb_kits/playbook/pb_checkbox/checkbox.test.js +14 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_disabled.html.erb +23 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_disabled.jsx +29 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md +3 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_close.md +3 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_quick_pick_range_limit.md +1 -1
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +92 -31
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +60 -21
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.jsx +2 -20
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.jsx +42 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.md +7 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +1 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.jsx +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +1 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.md +3 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx +1 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.md +1 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.jsx +1 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.jsx +59 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_hook.jsx +72 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +39 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +6 -2
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +5 -1
- data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +200 -10
- data/app/pb_kits/playbook/pb_dropdown/hooks/useDropdown.tsx +2 -2
- data/app/pb_kits/playbook/pb_dropdown/hooks/useHandleOnKeydown.tsx +4 -4
- data/app/pb_kits/playbook/pb_dropdown/scss_partials/_dropdown_animation.scss +18 -0
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +17 -8
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +25 -15
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +96 -78
- data/app/pb_kits/playbook/pb_dropdown/utilities/clickOutsideHelper.tsx +41 -0
- data/app/pb_kits/playbook/pb_dropdown/utilities/index.ts +2 -0
- data/app/pb_kits/playbook/pb_dropdown/utilities/subComponentHelper.tsx +9 -7
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +3 -1
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_custom.html.erb +13 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_custom.jsx +26 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/{_loading_inline_light.html.erb → _loading_inline_default.html.erb} +2 -2
- data/app/pb_kits/playbook/pb_loading_inline/docs/{_loading_inline_light.jsx → _loading_inline_default.jsx} +2 -2
- data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +4 -2
- data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -1
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.rb +1 -0
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.test.js +14 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_flex.html.erb +3 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_flex.jsx +16 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_flex.md +1 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_progress_simple/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.rb +1 -1
- data/app/pb_kits/playbook/pb_radio/_radio.scss +35 -0
- data/app/pb_kits/playbook/pb_radio/_radio.tsx +3 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_alignment.jsx +4 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_default.jsx +4 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_disabled.html.erb +26 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_disabled.jsx +31 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_error.jsx +2 -1
- data/app/pb_kits/playbook/pb_radio/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_radio/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_radio/radio.rb +5 -0
- data/app/pb_kits/playbook/pb_radio/radio.test.js +17 -0
- data/app/pb_kits/playbook/playbook-rails.js +3 -0
- data/dist/menu.yml +1 -1
- data/dist/playbook-rails.js +6 -6
- data/lib/playbook/version.rb +2 -2
- metadata +30 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/_description.md +0 -1
@@ -0,0 +1,71 @@
|
|
1
|
+
<%= pb_rails("avatar", props: {
|
2
|
+
component_overlay: {
|
3
|
+
component: "icon_circle",
|
4
|
+
icon: "plus",
|
5
|
+
placement: "top-left"
|
6
|
+
},
|
7
|
+
name: "Terry Johnson",
|
8
|
+
size: "xxs",
|
9
|
+
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
10
|
+
margin_bottom: "sm"
|
11
|
+
}) %>
|
12
|
+
|
13
|
+
<%= pb_rails("avatar", props: {
|
14
|
+
component_overlay: {
|
15
|
+
component: "icon_circle",
|
16
|
+
icon: "plus",
|
17
|
+
placement: "top-right"
|
18
|
+
},
|
19
|
+
name: "Terry Johnson",
|
20
|
+
size: "xs",
|
21
|
+
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
22
|
+
margin_bottom: "sm"
|
23
|
+
}) %>
|
24
|
+
|
25
|
+
<%= pb_rails("avatar", props: {
|
26
|
+
component_overlay: {
|
27
|
+
component: "icon_circle",
|
28
|
+
icon: "plus",
|
29
|
+
placement: "bottom-right"
|
30
|
+
},
|
31
|
+
name: "Terry Johnson",
|
32
|
+
size: "sm",
|
33
|
+
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
34
|
+
margin_bottom: "sm"
|
35
|
+
}) %>
|
36
|
+
|
37
|
+
<%= pb_rails("avatar", props: {
|
38
|
+
component_overlay: {
|
39
|
+
component: "icon_circle",
|
40
|
+
icon: "plus",
|
41
|
+
placement: "bottom-left"
|
42
|
+
},
|
43
|
+
name: "Terry Johnson",
|
44
|
+
size: "md",
|
45
|
+
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
46
|
+
margin_bottom: "sm"
|
47
|
+
}) %>
|
48
|
+
|
49
|
+
<%= pb_rails("avatar", props: {
|
50
|
+
component_overlay: {
|
51
|
+
component: "icon_circle",
|
52
|
+
icon: "plus",
|
53
|
+
placement: "top-left"
|
54
|
+
},
|
55
|
+
name: "Terry Johnson",
|
56
|
+
size: "lg",
|
57
|
+
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
58
|
+
margin_bottom: "sm"
|
59
|
+
}) %>
|
60
|
+
|
61
|
+
<%= pb_rails("avatar", props: {
|
62
|
+
component_overlay: {
|
63
|
+
component: "icon_circle",
|
64
|
+
icon: "plus",
|
65
|
+
placement: "top-right"
|
66
|
+
},
|
67
|
+
name: "Terry Johnson",
|
68
|
+
size: "xl",
|
69
|
+
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
70
|
+
margin_bottom: "sm"
|
71
|
+
}) %>
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { Avatar } from '../..'
|
3
|
+
|
4
|
+
const AvatarCircleIconComponentOverlay = () => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<Avatar
|
8
|
+
componentOverlay={{
|
9
|
+
component: "iconCircle",
|
10
|
+
icon: "plus",
|
11
|
+
placement: "top-left"
|
12
|
+
}}
|
13
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
14
|
+
marginBottom="sm"
|
15
|
+
size="xxs"
|
16
|
+
/>
|
17
|
+
|
18
|
+
<Avatar
|
19
|
+
componentOverlay={{
|
20
|
+
component: "iconCircle",
|
21
|
+
icon: "plus",
|
22
|
+
placement: "top-right"
|
23
|
+
}}
|
24
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
25
|
+
marginBottom="sm"
|
26
|
+
size="xs"
|
27
|
+
/>
|
28
|
+
|
29
|
+
<Avatar
|
30
|
+
componentOverlay={{
|
31
|
+
component: "iconCircle",
|
32
|
+
icon: "plus",
|
33
|
+
placement: "bottom-right",
|
34
|
+
}}
|
35
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
36
|
+
marginBottom="sm"
|
37
|
+
size="sm"
|
38
|
+
/>
|
39
|
+
|
40
|
+
<Avatar
|
41
|
+
componentOverlay={{
|
42
|
+
component: "iconCircle",
|
43
|
+
icon: "plus",
|
44
|
+
placement: "bottom-left"
|
45
|
+
}}
|
46
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
47
|
+
marginBottom="sm"
|
48
|
+
size="md"
|
49
|
+
/>
|
50
|
+
|
51
|
+
<Avatar
|
52
|
+
componentOverlay={{
|
53
|
+
component: "iconCircle",
|
54
|
+
icon: "plus",
|
55
|
+
placement: "top-left"
|
56
|
+
}}
|
57
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
58
|
+
marginBottom="sm"
|
59
|
+
size="lg"
|
60
|
+
/>
|
61
|
+
|
62
|
+
<Avatar
|
63
|
+
componentOverlay={{
|
64
|
+
component: "iconCircle",
|
65
|
+
icon: "plus",
|
66
|
+
placement: "top-right"
|
67
|
+
}}
|
68
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
69
|
+
marginBottom="sm"
|
70
|
+
size="xl"
|
71
|
+
/>
|
72
|
+
|
73
|
+
</div>
|
74
|
+
)
|
75
|
+
}
|
76
|
+
|
77
|
+
export default AvatarCircleIconComponentOverlay
|
@@ -57,6 +57,26 @@ const AvatarDefault = (props) => {
|
|
57
57
|
status="offline"
|
58
58
|
{...props}
|
59
59
|
/>
|
60
|
+
<br/>
|
61
|
+
<Avatar
|
62
|
+
imageAlt="Terry Johnson Standing"
|
63
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
64
|
+
name="Terry Johnson"
|
65
|
+
overlay={{component:"badge", text: "6", variant: "notification", placement:"top-right"}}
|
66
|
+
size="lg"
|
67
|
+
status="offline"
|
68
|
+
{...props}
|
69
|
+
/>
|
70
|
+
<br/>
|
71
|
+
<Avatar
|
72
|
+
imageAlt="Terry Johnson Standing"
|
73
|
+
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
74
|
+
name="Terry Johnson"
|
75
|
+
overlay={{component:"icon", icon:"plus", variant:"royal", placement:"bottom-left"}}
|
76
|
+
size="xl"
|
77
|
+
status="offline"
|
78
|
+
{...props}
|
79
|
+
/>
|
60
80
|
</div>
|
61
81
|
)
|
62
82
|
}
|
@@ -4,11 +4,15 @@ examples:
|
|
4
4
|
- avatar_monogram: Monogram
|
5
5
|
- avatar_no_image: "Bad Image Link"
|
6
6
|
- avatar_status: Status
|
7
|
+
- avatar_circle_icon_component_overlay: Circle Icon Component Overlay
|
8
|
+
- avatar_badge_component_overlay: Badge Component Overlay
|
7
9
|
react:
|
8
10
|
- avatar_default: Default
|
9
11
|
- avatar_monogram: Monogram
|
10
12
|
- avatar_no_image: "Bad Image Link"
|
11
13
|
- avatar_status: Status
|
14
|
+
- avatar_circle_icon_component_overlay: Circle Icon Component Overlay
|
15
|
+
- avatar_badge_component_overlay: Badge Component Overlay
|
12
16
|
swift:
|
13
17
|
- avatar_default_swift: Default
|
14
18
|
- avatar_monogram_swift: Monogram
|
@@ -2,3 +2,5 @@ export { default as AvatarDefault } from './_avatar_default.jsx'
|
|
2
2
|
export { default as AvatarMonogram } from './_avatar_monogram.jsx'
|
3
3
|
export { default as AvatarStatus } from './_avatar_status.jsx'
|
4
4
|
export { default as AvatarNoImage } from './_avatar_no_image.jsx'
|
5
|
+
export { default as AvatarCircleIconComponentOverlay } from './_avatar_circle_icon_component_overlay.jsx'
|
6
|
+
export { default as AvatarBadgeComponentOverlay } from './_avatar_badge_component_overlay.jsx'
|
@@ -74,6 +74,31 @@ $transition: $transition_cubic;
|
|
74
74
|
opacity: $opacity_10;
|
75
75
|
}
|
76
76
|
}
|
77
|
+
|
78
|
+
&:disabled ~ .pb_checkbox_checkmark {
|
79
|
+
cursor: not-allowed;
|
80
|
+
background-color: mix($charcoal, $white, 5%);
|
81
|
+
border-color: $border_light;
|
82
|
+
|
83
|
+
& ~ .pb_checkbox_label {
|
84
|
+
cursor: not-allowed;
|
85
|
+
color: $text_lt_light;
|
86
|
+
}
|
87
|
+
& ~ .pb_checkbox_label .pb_body_kit {
|
88
|
+
cursor: not-allowed;
|
89
|
+
color: $text_lt_light;
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
&:disabled:checked ~ .pb_checkbox_checkmark {
|
94
|
+
background-color: $neutral;
|
95
|
+
border-color: $neutral;
|
96
|
+
}
|
97
|
+
|
98
|
+
&:disabled:checked:hover ~ .pb_checkbox_checkmark {
|
99
|
+
background-color: $neutral;
|
100
|
+
border-color: $neutral;
|
101
|
+
}
|
77
102
|
}
|
78
103
|
|
79
104
|
&.dark {
|
@@ -81,6 +106,30 @@ $transition: $transition_cubic;
|
|
81
106
|
&:focus ~ .pb_checkbox_checkmark {
|
82
107
|
box-shadow: 0px 0px 0px 2px $bg_dark_card, 0px 0px 0px 4px $primary;
|
83
108
|
}
|
109
|
+
|
110
|
+
&:disabled ~ .pb_checkbox_checkmark {
|
111
|
+
cursor: not-allowed;
|
112
|
+
background-color: mix($charcoal, $white, 80%);
|
113
|
+
border: 2px solid $border_dark;
|
114
|
+
|
115
|
+
& ~ .pb_checkbox_label {
|
116
|
+
cursor: not-allowed;
|
117
|
+
color: $text_dk_light;
|
118
|
+
}
|
119
|
+
& ~ .pb_checkbox_label .pb_body_kit {
|
120
|
+
cursor: not-allowed;
|
121
|
+
color: $text_dk_light;
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
&:disabled:checked ~ .pb_checkbox_checkmark {
|
126
|
+
background-color: $border_dark;
|
127
|
+
}
|
128
|
+
|
129
|
+
&:disabled:checked:hover ~ .pb_checkbox_checkmark {
|
130
|
+
background-color: $border_dark;
|
131
|
+
border-color: $border_dark;
|
132
|
+
}
|
84
133
|
}
|
85
134
|
|
86
135
|
@media (hover:hover) {
|
@@ -12,6 +12,7 @@ type CheckboxProps = {
|
|
12
12
|
className?: string,
|
13
13
|
dark?: boolean,
|
14
14
|
data?: {[key: string]: string},
|
15
|
+
disabled?: boolean,
|
15
16
|
error?: boolean,
|
16
17
|
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
17
18
|
id?: string,
|
@@ -31,6 +32,7 @@ const Checkbox = (props: CheckboxProps): React.ReactElement => {
|
|
31
32
|
className,
|
32
33
|
dark = false,
|
33
34
|
data = {},
|
35
|
+
disabled = false,
|
34
36
|
error = false,
|
35
37
|
htmlOptions = {},
|
36
38
|
id,
|
@@ -67,6 +69,7 @@ const Checkbox = (props: CheckboxProps): React.ReactElement => {
|
|
67
69
|
return (
|
68
70
|
<input
|
69
71
|
defaultChecked={checked}
|
72
|
+
disabled={disabled}
|
70
73
|
name={name}
|
71
74
|
onChange={onChange}
|
72
75
|
ref={checkRef}
|
@@ -9,6 +9,7 @@ module Playbook
|
|
9
9
|
prop :text
|
10
10
|
prop :value
|
11
11
|
prop :name
|
12
|
+
prop :disabled, type: Playbook::Props::Boolean, default: false
|
12
13
|
|
13
14
|
prop :input_options, type: Playbook::Props::HashProp,
|
14
15
|
default: {}
|
@@ -26,7 +27,7 @@ module Playbook
|
|
26
27
|
end
|
27
28
|
|
28
29
|
def input
|
29
|
-
check_box_tag(name, value, checked, input_options)
|
30
|
+
check_box_tag(name, value, checked, input_options.merge(disabled: disabled))
|
30
31
|
end
|
31
32
|
|
32
33
|
def checkbox_label_status
|
@@ -92,3 +92,17 @@ test('has checked attribute', () => {
|
|
92
92
|
const kit = screen.getByTestId(testId)
|
93
93
|
expect(kit.getElementsByTagName('input')[0]).toHaveAttribute('checked')
|
94
94
|
})
|
95
|
+
|
96
|
+
test('has disabled attribute', () => {
|
97
|
+
render(
|
98
|
+
<Checkbox
|
99
|
+
data={{ testid: testId }}
|
100
|
+
disabled
|
101
|
+
name="checkbox-name"
|
102
|
+
text="Checkbox"
|
103
|
+
value="check-box value"
|
104
|
+
/>)
|
105
|
+
const kit = screen.getByTestId(testId)
|
106
|
+
const input = kit.querySelector('input')
|
107
|
+
expect(input).toHaveAttribute('disabled')
|
108
|
+
})
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<%= pb_rails("flex", props: {orientation: "column"}) do %>
|
2
|
+
<%= pb_rails("flex/flex_item") do %>
|
3
|
+
<%= pb_rails("checkbox" , props: {
|
4
|
+
input_options: { tabindex: 0 },
|
5
|
+
margin_bottom: "xs",
|
6
|
+
text: "Disabled unchecked",
|
7
|
+
value: "checkbox-value",
|
8
|
+
disabled: true,
|
9
|
+
name: "checkbox-name"
|
10
|
+
}) %>
|
11
|
+
<% end %>
|
12
|
+
<%= pb_rails("flex/flex_item") do %>
|
13
|
+
<%= pb_rails("checkbox" , props: {
|
14
|
+
input_options: { tabindex: 0 },
|
15
|
+
text: "Disabled checked",
|
16
|
+
value: "checkbox-value",
|
17
|
+
disabled: true,
|
18
|
+
checked: true,
|
19
|
+
name: "checkbox-name"
|
20
|
+
}) %>
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
|
3
|
+
import Checkbox from '../_checkbox'
|
4
|
+
|
5
|
+
const CheckboxDisabled = (props) => {
|
6
|
+
return (
|
7
|
+
<div style={{ display: "flex", flexDirection: "column" }}>
|
8
|
+
<Checkbox
|
9
|
+
disabled
|
10
|
+
marginBottom="xs"
|
11
|
+
name="default name"
|
12
|
+
tabIndex={0}
|
13
|
+
text="Disabled unchecked"
|
14
|
+
value="default value"
|
15
|
+
{...props}
|
16
|
+
/>
|
17
|
+
<Checkbox
|
18
|
+
checked
|
19
|
+
disabled
|
20
|
+
name="checkbox-name"
|
21
|
+
text="Disabled checked"
|
22
|
+
value="check-box value"
|
23
|
+
{...props}
|
24
|
+
/>
|
25
|
+
</div>
|
26
|
+
)
|
27
|
+
}
|
28
|
+
|
29
|
+
export default CheckboxDisabled
|
@@ -6,6 +6,7 @@ examples:
|
|
6
6
|
- checkbox_error: Default w/ Error
|
7
7
|
- checkbox_options: Checkbox w/ Options
|
8
8
|
- checkbox_indeterminate: Indeterminate Checkbox
|
9
|
+
- checkbox_disabled: Disabled Checkbox
|
9
10
|
|
10
11
|
react:
|
11
12
|
- checkbox_default: Default
|
@@ -13,6 +14,7 @@ examples:
|
|
13
14
|
- checkbox_custom: Custom Checkbox
|
14
15
|
- checkbox_error: Default w/ Error
|
15
16
|
- checkbox_indeterminate: Indeterminate Checkbox
|
17
|
+
- checkbox_disabled: Disabled Checkbox
|
16
18
|
|
17
19
|
swift:
|
18
20
|
- checkbox_default_swift: Default
|
@@ -3,3 +3,4 @@ export { default as CheckboxCustom } from './_checkbox_custom.jsx'
|
|
3
3
|
export { default as CheckboxError } from './_checkbox_error.jsx'
|
4
4
|
export { default as CheckboxChecked } from './_checkbox_checked.jsx'
|
5
5
|
export { default as CheckboxIndeterminate } from './_checkbox_indeterminate.jsx'
|
6
|
+
export { default as CheckboxDisabled } from './_checkbox_disabled.jsx'
|
@@ -1,3 +1,5 @@
|
|
1
1
|
Your change handler function has access to two arguments: `dateStr` and `selectedDates`.
|
2
2
|
|
3
|
-
The first, `dateStr`, is a string of the chosen date. The second, `selectedDates`, is an array of selected date objects. In many use cases `selectedDates` will have only one value but you'll still need to access it from index 0.
|
3
|
+
The first, `dateStr`, is a string of the chosen date. The second, `selectedDates`, is an array of selected date objects. In many use cases `selectedDates` will have only one value but you'll still need to access it from index 0.
|
4
|
+
|
5
|
+
NOTE: On Change does not account for manual input by users, so if your date picker sets `allowInput`, you should use the `onClose` method instead.
|
@@ -1,3 +1,5 @@
|
|
1
1
|
The `onClose` handler function has access to two arguments: `dateStr` and `selectedDates`.
|
2
2
|
|
3
|
-
The first, `dateStr`, is a string of the chosen date. The second, `selectedDates`, is an array of selected date objects. In many use cases `selectedDates` will have only one value but you'll still need to access it from index 0.
|
3
|
+
The first, `dateStr`, is a string of the chosen date. The second, `selectedDates`, is an array of selected date objects. In many use cases `selectedDates` will have only one value but you'll still need to access it from index 0.
|
4
|
+
|
5
|
+
NOTE: `onClose` is the ideal handler function to use when `allowInput` is enabled.
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Because the Quick Pick variant has `allowInput` set to `true` by default, use the `onClose` handler function to access the startDate and endDate values. See the `onClose` example for details.
|
@@ -5,11 +5,13 @@
|
|
5
5
|
@import "../tokens/shadows";
|
6
6
|
@import "../tokens/positioning";
|
7
7
|
@import "../pb_body/body_mixins";
|
8
|
+
@import "../pb_textarea/textarea_mixin";
|
9
|
+
|
10
|
+
@import "./scss_partials/dropdown_animation";
|
8
11
|
|
9
12
|
.pb_dropdown {
|
10
13
|
.dropdown_wrapper {
|
11
|
-
|
12
|
-
.dropdown_trigger_wrapper {
|
14
|
+
[class*="dropdown_trigger_wrapper"] {
|
13
15
|
@include pb_body;
|
14
16
|
border: 1px solid $border_light;
|
15
17
|
background-color: $white;
|
@@ -28,7 +30,6 @@
|
|
28
30
|
.dropdown_input {
|
29
31
|
@include pb_body;
|
30
32
|
border: unset;
|
31
|
-
border-radius: $border_rad_heavier;
|
32
33
|
padding: 0;
|
33
34
|
background-color: $white;
|
34
35
|
&:focus-visible {
|
@@ -40,15 +41,15 @@
|
|
40
41
|
outline: unset;
|
41
42
|
transition: box-shadow 0.15s ease-in-out;
|
42
43
|
}
|
43
|
-
}
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
&[class*="_select_only"] {
|
46
|
+
box-shadow: inset 0 -11px 20px rgba($primary, 0.05);
|
47
|
+
}
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
&[class*="_focus"] {
|
50
|
+
box-shadow: 0px 0px 0 1px $primary !important;
|
51
|
+
transition: box-shadow 0.1s ease-in-out;
|
52
|
+
}
|
52
53
|
}
|
53
54
|
|
54
55
|
.pb_dropdown_container {
|
@@ -58,46 +59,106 @@
|
|
58
59
|
border-radius: $border_rad_heavier;
|
59
60
|
border: 1px solid $border_light;
|
60
61
|
margin-top: $space_xs;
|
61
|
-
position: absolute;
|
62
62
|
z-index: $z_1;
|
63
63
|
width: 100%;
|
64
|
-
transition: opacity 0.25s ease-in-out;
|
65
64
|
|
66
|
-
|
65
|
+
[class*="pb_dropdown_option"] {
|
67
66
|
cursor: pointer;
|
68
67
|
&:hover {
|
69
68
|
background-color: $border_light;
|
70
69
|
}
|
71
|
-
}
|
72
|
-
|
73
|
-
.dropdown_option_focused {
|
74
|
-
background-color: $border_light;
|
75
|
-
}
|
76
70
|
|
77
|
-
|
78
|
-
|
79
|
-
|
71
|
+
&[class*="_focused"] {
|
72
|
+
background-color: $border_light;
|
73
|
+
}
|
80
74
|
|
81
|
-
|
82
|
-
|
83
|
-
}
|
84
|
-
.dropdown_option_selected {
|
85
|
-
background-color: $primary;
|
86
|
-
[class^="pb_body"],
|
87
|
-
[class^="pb_title_kit"] {
|
88
|
-
color: $white !important;
|
75
|
+
&[class*="_list"] {
|
76
|
+
border-bottom: 1px solid $border_light;
|
89
77
|
}
|
90
|
-
|
91
|
-
background-color: $primary
|
78
|
+
&[class*="selected"] {
|
79
|
+
background-color: $primary;
|
80
|
+
[class^="pb_body"],
|
81
|
+
[class^="pb_title_kit"] {
|
82
|
+
color: $white !important;
|
83
|
+
}
|
84
|
+
&:hover {
|
85
|
+
background-color: $primary !important;
|
86
|
+
}
|
92
87
|
}
|
93
88
|
}
|
89
|
+
|
90
|
+
.dropdown_option_wrapper {
|
91
|
+
width: 100%;
|
92
|
+
}
|
94
93
|
}
|
95
94
|
.close {
|
96
95
|
display: none;
|
96
|
+
animation-name: fadeOut;
|
97
|
+
animation-duration: 150ms;
|
98
|
+
animation-timing-function: linear;
|
99
|
+
animation-fill-mode: forwards;
|
97
100
|
}
|
98
101
|
|
99
102
|
.open {
|
100
103
|
display: block;
|
104
|
+
animation-name: fadeIn;
|
105
|
+
animation-duration: 150ms;
|
106
|
+
animation-timing-function: linear;
|
107
|
+
animation-fill-mode: forwards;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
&.dark {
|
112
|
+
.dropdown_wrapper {
|
113
|
+
[class*="dropdown_trigger_wrapper"] {
|
114
|
+
@include pb_body_light_dark;
|
115
|
+
background-color: rgba($white, 0.1) !important;
|
116
|
+
background: none;
|
117
|
+
border-color: rgba($white, 0.15);
|
118
|
+
@media (hover: hover) {
|
119
|
+
&:hover,
|
120
|
+
&:active,
|
121
|
+
&:focus {
|
122
|
+
background-color: rgba($white, 0.05) !important;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
[class^="pb_body"] {
|
126
|
+
color: $white;
|
127
|
+
}
|
128
|
+
&[class*="_select_only"] {
|
129
|
+
box-shadow: inset 0 -11px 20px rgba($white, 0.05);
|
130
|
+
}
|
131
|
+
.dropdown_input {
|
132
|
+
background-color: unset;
|
133
|
+
color: $white;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
.pb_dropdown_container {
|
138
|
+
background-color: $bg_dark !important;
|
139
|
+
border-color: rgba($white, 0.15);
|
140
|
+
color: $white;
|
141
|
+
[class^="pb_body"],
|
142
|
+
[class^="pb_title_kit"] {
|
143
|
+
color: $white !important;
|
144
|
+
}
|
145
|
+
|
146
|
+
[class*="pb_dropdown_option"] {
|
147
|
+
&:hover {
|
148
|
+
background-color: $hover_dark;
|
149
|
+
}
|
150
|
+
|
151
|
+
&[class*="_focused"] {
|
152
|
+
background-color: $hover_dark;
|
153
|
+
}
|
154
|
+
|
155
|
+
&[class*="_list"] {
|
156
|
+
border-color: rgba($white, 0.15);
|
157
|
+
}
|
158
|
+
&[class*="selected"] {
|
159
|
+
background-color: $primary;
|
160
|
+
}
|
161
|
+
}
|
101
162
|
}
|
102
163
|
}
|
103
164
|
}
|