playbook_ui 13.22.0 → 13.23.0.pre.alpha.PLAY1284investigation2657
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_advanced_table/Components/CustomCell.tsx +8 -4
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +6 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.md +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data.json +278 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -1
- data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -6
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +28 -7
- data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +2 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.html.erb +26 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.jsx +36 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_secondary_y_axis.md +3 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_body/_body.scss +3 -3
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +0 -7
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +0 -7
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +7 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +7 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +2 -2
- data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +1 -1
- data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -2
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb +2 -0
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +34 -0
- data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +17 -1
- data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +18 -2
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +14 -0
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +1 -1
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.html.erb +5 -0
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.jsx +6 -0
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.test.js +1 -0
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +0 -2
- data/app/pb_kits/playbook/pb_list/list.rb +0 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md +2 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/{_multi_level_select_selected_ids.jsx → _multi_level_select_selected_ids_react.jsx} +2 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md +5 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status.scss +1 -10
- data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status_mixins.scss +7 -13
- data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.html.erb +6 -9
- data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +18 -7
- data/app/pb_kits/playbook/pb_online_status/online_status.rb +1 -1
- data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default.html.erb +2 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +2 -2
- data/app/pb_kits/playbook/pb_toggle/_toggle.scss +39 -6
- data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +17 -12
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.html.erb +11 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx +21 -0
- data/app/pb_kits/playbook/pb_toggle/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_toggle/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_toggle/toggle.rb +2 -1
- data/app/pb_kits/playbook/pb_toggle/toggle.test.js +7 -0
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +27 -19
- data/app/pb_kits/playbook/pb_typeahead/components/MenuList.tsx +4 -2
- data/app/pb_kits/playbook/pb_typeahead/components/index.tsx +19 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_menu_list.jsx +51 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +1 -1
- 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/utilities/_positioning.scss +23 -10
- data/app/pb_kits/playbook/utilities/globalProps.ts +26 -8
- data/dist/menu.yml +4 -0
- data/dist/playbook-rails.js +7 -7
- data/lib/playbook/bottom.rb +6 -3
- data/lib/playbook/kit_base.rb +21 -1
- data/lib/playbook/left.rb +6 -3
- data/lib/playbook/pb_doc_helper.rb +1 -1
- data/lib/playbook/position_props_css.rb +17 -0
- data/lib/playbook/props/percentage.rb +2 -2
- data/lib/playbook/right.rb +6 -3
- data/lib/playbook/top.rb +6 -3
- data/lib/playbook/version.rb +2 -2
- metadata +22 -41
- data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js +0 -278
@@ -17,6 +17,7 @@ type Props = {
|
|
17
17
|
children?: React.ReactNode | React.ReactNode[],
|
18
18
|
className?: string,
|
19
19
|
data?: { [key: string]: string },
|
20
|
+
disabled?: boolean,
|
20
21
|
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
21
22
|
id?: string,
|
22
23
|
name?: string,
|
@@ -31,10 +32,13 @@ const Toggle = ({
|
|
31
32
|
children,
|
32
33
|
className,
|
33
34
|
data = {},
|
35
|
+
disabled = false,
|
34
36
|
id,
|
35
37
|
htmlOptions = {},
|
36
38
|
name,
|
37
|
-
onChange = () => {
|
39
|
+
onChange = (): void => {
|
40
|
+
// Function body here
|
41
|
+
},
|
38
42
|
size = 'sm',
|
39
43
|
value,
|
40
44
|
...props
|
@@ -53,23 +57,24 @@ const Toggle = ({
|
|
53
57
|
|
54
58
|
return (
|
55
59
|
<div
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
60
|
+
{...ariaProps}
|
61
|
+
{...dataProps}
|
62
|
+
{...htmlProps}
|
63
|
+
className={classnames(css, globalProps(props), className)}
|
64
|
+
id={id}
|
61
65
|
>
|
62
66
|
<label className="pb_toggle_wrapper">
|
63
67
|
{children && children}
|
64
68
|
|
65
69
|
{!children &&
|
66
70
|
<input
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
71
|
+
{...props}
|
72
|
+
defaultChecked={checked}
|
73
|
+
disabled={disabled}
|
74
|
+
name={name}
|
75
|
+
onChange={onChange}
|
76
|
+
type="checkbox"
|
77
|
+
value={value}
|
73
78
|
/>
|
74
79
|
}
|
75
80
|
<div className="pb_toggle_control" />
|
@@ -0,0 +1,21 @@
|
|
1
|
+
// @flow
|
2
|
+
|
3
|
+
import React from 'react'
|
4
|
+
import { Toggle } from '../..'
|
5
|
+
|
6
|
+
const ToggleDisabled= () => {
|
7
|
+
return (
|
8
|
+
<>
|
9
|
+
<Toggle
|
10
|
+
checked
|
11
|
+
disabled
|
12
|
+
/>
|
13
|
+
|
14
|
+
<br />
|
15
|
+
|
16
|
+
<Toggle disabled />
|
17
|
+
</>
|
18
|
+
)
|
19
|
+
}
|
20
|
+
|
21
|
+
export default ToggleDisabled
|
@@ -2,6 +2,7 @@ examples:
|
|
2
2
|
|
3
3
|
rails:
|
4
4
|
- toggle_default: Default State
|
5
|
+
- toggle_disabled: Disabled
|
5
6
|
- toggle_name: Name and Value
|
6
7
|
- toggle_custom: Custom checkbox input
|
7
8
|
- toggle_custom_radio: Custom radio inputs
|
@@ -9,6 +10,7 @@ examples:
|
|
9
10
|
|
10
11
|
react:
|
11
12
|
- toggle_default: Default State
|
13
|
+
- toggle_disabled: Disabled
|
12
14
|
- toggle_name: Name and Value
|
13
15
|
- toggle_custom: Custom checkbox input
|
14
16
|
- toggle_custom_radio: Custom radio inputs
|
@@ -16,4 +18,4 @@ examples:
|
|
16
18
|
swift:
|
17
19
|
- toggle_default_swift: Default State
|
18
20
|
- toggle_name_swift: Name and Value
|
19
|
-
- toggle_props_swift: ""
|
21
|
+
- toggle_props_swift: ""
|
@@ -1,4 +1,5 @@
|
|
1
1
|
export { default as ToggleDefault } from './_toggle_default'
|
2
|
+
export { default as ToggleDisabled } from './_toggle_disabled'
|
2
3
|
export { default as ToggleCustom } from './_toggle_custom'
|
3
4
|
export { default as ToggleName } from './_toggle_name'
|
4
5
|
export { default as ToggleCustomRadio } from './_toggle_custom_radio'
|
@@ -15,13 +15,14 @@ module Playbook
|
|
15
15
|
values: %w[sm md],
|
16
16
|
default: "sm"
|
17
17
|
prop :value
|
18
|
+
prop :disabled, type: Playbook::Props::Boolean, default: false
|
18
19
|
|
19
20
|
def classname
|
20
21
|
generate_classname("pb_toggle_kit", size, checked_class)
|
21
22
|
end
|
22
23
|
|
23
24
|
def input
|
24
|
-
check_box_tag(name, value, checked, input_options)
|
25
|
+
check_box_tag(name, value, checked, input_options.merge(disabled: disabled))
|
25
26
|
end
|
26
27
|
|
27
28
|
private
|
@@ -60,6 +60,13 @@ test('should have sm size by default', () => {
|
|
60
60
|
expect(kit).toHaveClass('pb_toggle_kit_sm_off')
|
61
61
|
})
|
62
62
|
|
63
|
+
test('should pass disabled prop', () => {
|
64
|
+
render(<ToggleDefault disabled />)
|
65
|
+
const kit = screen.getByTestId(testId)
|
66
|
+
const input = kit.querySelector('input')
|
67
|
+
expect(input).toHaveAttribute('disabled')
|
68
|
+
})
|
69
|
+
|
63
70
|
test('should pass size prop', () => {
|
64
71
|
render(<ToggleDefault size='md' />)
|
65
72
|
const kit = screen.getByTestId(testId)
|
@@ -7,17 +7,21 @@ import { get, isString, uniqueId } from 'lodash'
|
|
7
7
|
import { globalProps } from '../utilities/globalProps'
|
8
8
|
import classnames from 'classnames'
|
9
9
|
|
10
|
-
import
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
import {
|
11
|
+
Control,
|
12
|
+
ClearIndicator,
|
13
|
+
IndicatorsContainer,
|
14
|
+
MenuList,
|
15
|
+
MultiValue,
|
16
|
+
Option,
|
17
|
+
Placeholder,
|
18
|
+
ValueContainer,
|
19
|
+
} from "./components"
|
20
|
+
|
21
|
+
import * as kitComponents from "./components"
|
18
22
|
|
19
23
|
import { noop, buildDataProps, buildHtmlProps } from '../utilities/props'
|
20
|
-
import { Noop } from '../types'
|
24
|
+
import { GenericObject, Noop } from '../types'
|
21
25
|
|
22
26
|
/**
|
23
27
|
* @typedef {object} Props
|
@@ -29,7 +33,7 @@ import { Noop } from '../types'
|
|
29
33
|
type TypeaheadProps = {
|
30
34
|
async?: boolean,
|
31
35
|
className?: string,
|
32
|
-
components?:
|
36
|
+
components?: GenericObject,
|
33
37
|
createable?: boolean,
|
34
38
|
dark?: boolean,
|
35
39
|
data?: { [key: string]: string },
|
@@ -100,7 +104,7 @@ const Typeahead = ({
|
|
100
104
|
multiKit: '',
|
101
105
|
onCreateOption: null as null,
|
102
106
|
plusIcon: false,
|
103
|
-
onMultiValueClick: (_option: SelectValueType) =>
|
107
|
+
onMultiValueClick: (_option: SelectValueType): any => undefined,
|
104
108
|
...props,
|
105
109
|
}
|
106
110
|
|
@@ -137,19 +141,23 @@ const Typeahead = ({
|
|
137
141
|
const inlineClass = selectProps.inline ? 'inline' : null
|
138
142
|
|
139
143
|
return (
|
140
|
-
<div
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
+
<div
|
145
|
+
{...dataProps}
|
146
|
+
{...htmlProps}
|
147
|
+
className={classnames(classes, inlineClass)}
|
144
148
|
>
|
145
149
|
<Tag
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
+
classNamePrefix="typeahead-kit-select"
|
151
|
+
error={error}
|
152
|
+
onChange={handleOnChange}
|
153
|
+
{...selectProps}
|
150
154
|
/>
|
151
155
|
</div>
|
152
156
|
)
|
153
157
|
}
|
154
158
|
|
159
|
+
Object.keys(kitComponents).forEach((k) => {
|
160
|
+
(Typeahead as GenericObject)[k] = (kitComponents as {[key: string]: unknown})[k]
|
161
|
+
})
|
162
|
+
|
155
163
|
export default Typeahead
|
@@ -1,10 +1,12 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import { components } from 'react-select'
|
3
3
|
|
4
|
-
const MenuList = (props: any) =>
|
4
|
+
const MenuList = (props: any) => {
|
5
|
+
return (
|
5
6
|
<components.MenuList {...props}>
|
6
7
|
{props.children}
|
8
|
+
{props.footer}
|
7
9
|
</components.MenuList>
|
8
|
-
)
|
10
|
+
)}
|
9
11
|
|
10
12
|
export default MenuList
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import Control from './Control'
|
2
|
+
import ClearIndicator from './ClearIndicator'
|
3
|
+
import IndicatorsContainer from './IndicatorsContainer'
|
4
|
+
import MenuList from './MenuList'
|
5
|
+
import MultiValue from './MultiValue'
|
6
|
+
import Option from './Option'
|
7
|
+
import Placeholder from './Placeholder'
|
8
|
+
import ValueContainer from './ValueContainer'
|
9
|
+
|
10
|
+
export {
|
11
|
+
Control,
|
12
|
+
ClearIndicator,
|
13
|
+
IndicatorsContainer,
|
14
|
+
MenuList,
|
15
|
+
MultiValue,
|
16
|
+
Option,
|
17
|
+
Placeholder,
|
18
|
+
ValueContainer,
|
19
|
+
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
|
3
|
+
import {
|
4
|
+
Button,
|
5
|
+
} from '../..'
|
6
|
+
|
7
|
+
import Typeahead from '../_typeahead'
|
8
|
+
|
9
|
+
const options = [
|
10
|
+
{ label: 'Orange', value: '#FFA500' },
|
11
|
+
{ label: 'Red', value: '#FF0000' },
|
12
|
+
{ label: 'Green', value: '#00FF00' },
|
13
|
+
{ label: 'Blue', value: '#0000FF' },
|
14
|
+
{ label: 'Amaranth', value: '#9F2B68' },
|
15
|
+
{ label: 'Key Lime', value: '#DAF7A6' },
|
16
|
+
{ label: 'Turquois', value: '#00FFD0' },
|
17
|
+
]
|
18
|
+
|
19
|
+
const TypeaheadCustomMenuList = (props) => {
|
20
|
+
const defaultColorOptions = options.slice(0, 3)
|
21
|
+
const [colorOptions, setColorOptions] = useState(defaultColorOptions)
|
22
|
+
|
23
|
+
const moreToLoad = colorOptions.length == defaultColorOptions.length
|
24
|
+
const loadColors = moreToLoad ? () => setColorOptions(options) : () => setColorOptions(defaultColorOptions)
|
25
|
+
|
26
|
+
const menuListProps = {
|
27
|
+
footer: (<Button
|
28
|
+
margin="sm"
|
29
|
+
onClick={loadColors}
|
30
|
+
text={`Load ${moreToLoad ? "More" : "Less"}`}
|
31
|
+
/>)
|
32
|
+
}
|
33
|
+
|
34
|
+
const MenuList = (props) => (
|
35
|
+
<Typeahead.MenuList
|
36
|
+
{...menuListProps}
|
37
|
+
{...props}
|
38
|
+
/>
|
39
|
+
)
|
40
|
+
|
41
|
+
return (
|
42
|
+
<Typeahead
|
43
|
+
components={{ MenuList }}
|
44
|
+
label="Colors"
|
45
|
+
options={colorOptions}
|
46
|
+
{...props}
|
47
|
+
/>
|
48
|
+
)
|
49
|
+
}
|
50
|
+
|
51
|
+
export default TypeaheadCustomMenuList
|
@@ -9,3 +9,4 @@ 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
11
|
export { default as TypeaheadErrorState } from './_typeahead_error_state.jsx'
|
12
|
+
export { default as TypeaheadCustomMenuList } from './_typeahead_custom_menu_list.jsx'
|
@@ -88,18 +88,31 @@ $space_classes: (
|
|
88
88
|
|
89
89
|
$positions: "top", "right", "bottom", "left";
|
90
90
|
|
91
|
+
|
92
|
+
@mixin position-property($position, $space_name, $space, $is_inset: false) {
|
93
|
+
@if $space_name == "0" {
|
94
|
+
#{$position}: 0 !important;
|
95
|
+
}
|
96
|
+
@else if $space_name == "auto" or $space_name == "initial" or $space_name == "inherit" {
|
97
|
+
#{$position}: #{$space} !important;
|
98
|
+
}
|
99
|
+
@else {
|
100
|
+
@if $is_inset {
|
101
|
+
#{$position}: #{$space} !important;
|
102
|
+
} @else {
|
103
|
+
#{$position}: #{-$space} !important;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
91
108
|
@each $position in $positions {
|
92
109
|
@each $space_name, $space in $space_classes {
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
}
|
100
|
-
@else {
|
101
|
-
#{$position}: #{-$space} !important;
|
102
|
-
}
|
110
|
+
$space_name_str: "#{ $space_name }";
|
111
|
+
.#{$position}_#{$space_name_str} {
|
112
|
+
@include position-property($position, $space_name_str, $space)
|
113
|
+
}
|
114
|
+
.#{$position}_#{$space_name_str}_inset {
|
115
|
+
@include position-property($position, $space_name_str, $space, true)
|
103
116
|
}
|
104
117
|
}
|
105
118
|
}
|
@@ -119,19 +119,19 @@ type Position = {
|
|
119
119
|
}
|
120
120
|
|
121
121
|
type Top = {
|
122
|
-
top?: Sizes,
|
122
|
+
top?: Sizes | {value: string, inset: boolean},
|
123
123
|
}
|
124
124
|
|
125
125
|
type Right = {
|
126
|
-
right?: Sizes,
|
126
|
+
right?: Sizes | {value: string, inset: boolean},
|
127
127
|
}
|
128
128
|
|
129
129
|
type Bottom = {
|
130
|
-
bottom?: Sizes,
|
130
|
+
bottom?: Sizes | {value: string, inset: boolean},
|
131
131
|
}
|
132
132
|
|
133
133
|
type Left = {
|
134
|
-
left?: Sizes,
|
134
|
+
left?: Sizes | {value: string, inset: boolean},
|
135
135
|
}
|
136
136
|
|
137
137
|
type Shadow = {
|
@@ -177,6 +177,19 @@ const getResponsivePropClasses = (prop: {[key: string]: string}, classPrefix: st
|
|
177
177
|
}).join(" ")
|
178
178
|
}
|
179
179
|
|
180
|
+
//reusable function for top, bottom, right and left props
|
181
|
+
const getPositioningPropsClasses = (position: string, value: Sizes | {value: string, inset: boolean} ) => {
|
182
|
+
let css = "";
|
183
|
+
if (typeof value === 'string') {
|
184
|
+
css += `${position}_${value}`;
|
185
|
+
} else if (typeof value === 'object' && value.inset) {
|
186
|
+
css += `${position}_${value.value}_inset`;
|
187
|
+
} else if (typeof value === 'object') {
|
188
|
+
css += `${position}_${value.value}`;
|
189
|
+
}
|
190
|
+
return css;
|
191
|
+
};
|
192
|
+
|
180
193
|
// Prop categories
|
181
194
|
const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} = {
|
182
195
|
|
@@ -441,11 +454,16 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
|
|
441
454
|
return css
|
442
455
|
},
|
443
456
|
|
444
|
-
topProps: ({ top }: Top) => top ? `top_${top}` : '',
|
445
|
-
rightProps: ({ right }: Right) => right ? `right_${right}` : '',
|
446
|
-
bottomProps: ({ bottom }: Bottom) => bottom ? `bottom_${bottom}` : '',
|
447
|
-
leftProps: ({ left }: Left) => left ? `left_${left}` : '',
|
448
457
|
|
458
|
+
topProps: ({top}) => getPositioningPropsClasses('top', top),
|
459
|
+
|
460
|
+
rightProps: ({right}) => getPositioningPropsClasses('right', right),
|
461
|
+
|
462
|
+
bottomProps:({bottom}) => getPositioningPropsClasses('bottom', bottom),
|
463
|
+
|
464
|
+
leftProps: ({left}) => getPositioningPropsClasses('left', left),
|
465
|
+
|
466
|
+
|
449
467
|
textAlignProps: ({ textAlign }: TextAlign) => {
|
450
468
|
if (typeof textAlign === 'object') {
|
451
469
|
return getResponsivePropClasses(textAlign, 'text_align')
|
data/dist/menu.yml
CHANGED
@@ -407,6 +407,10 @@ kits:
|
|
407
407
|
platforms: *web
|
408
408
|
description: Badges can be used for notification, tags, and status. They are used for count and numbers.
|
409
409
|
status: "stable"
|
410
|
+
- name: "online_status"
|
411
|
+
platforms: *web
|
412
|
+
description: Online Status is a small indicator that lets the user know the status of a person or item.
|
413
|
+
status: "stable"
|
410
414
|
- name: "pill"
|
411
415
|
platforms: *all
|
412
416
|
description: A pill uses both a keyword and a specific color to categorize an item.
|