playbook_ui_docs 14.10.0.pre.rc.14 → 14.10.0.pre.rc.16

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa83f743fdf46ae7e1da0590c2fff024b3b5bc3824c004cecbe369e8b53c9456
4
- data.tar.gz: 681e0c9771aec237d9c89dbc55663c975c005ad1891d5be966c5fddc316f5545
3
+ metadata.gz: 68fe4605328d5a563ecea0b082312707eef9a40805b613ba09405c29f0ecc641
4
+ data.tar.gz: 750a64782e7db9b73011c99ce284e8f61211d4affd5e4a10a3ae2629824bfbdd
5
5
  SHA512:
6
- metadata.gz: 113f48e2ac6214f2d4e9e552c35fe93e73d16cbe9eff4544b713dfc4fad05b5b14b1d07f56931d8f3ac344f2e30203a208401ad52165c5d3e33c335db108cfb2
7
- data.tar.gz: cc682f3ccb2f58d555ba54aed070bc3e338fc71306a96eca99df719b49304412ae7c8df7b79892946b46108f662853ef00bec2752089ea390c091d22dade60c0
6
+ metadata.gz: a989a9a66454ef6a5da084001e80880309307b6c71c74b2b2f059be88aae834f5f6a53b44419209e0d05af1e3c8fcd053eed866413e047cef73836a750336c71
7
+ data.tar.gz: 92f1ff4725a135fbc7aa0262f9a21b192c6ff2e3da172c4d273709349de1829c62db375f0af48caf9a11e516c776569452bfd57bec5b7f1ae3828990146bd6bd
@@ -0,0 +1,166 @@
1
+ import React from 'react';
2
+ import { Button, Card, Filter, Flex, Select, SkeletonLoading, TextInput } from "playbook-ui";
3
+
4
+ const SortingChangeCallback = (sortOptions) => {
5
+ alert(JSON.stringify(sortOptions[0]))
6
+ }
7
+
8
+ const SkeletonLoadingFilter = (props) => {
9
+ const isLoading = true
10
+
11
+ const options = [
12
+ { value: 'USA' },
13
+ { value: 'Canada' },
14
+ { value: 'Brazil' },
15
+ { value: 'Philippines' },
16
+ { value: 'A galaxy far far away, like really far away...' },
17
+ ]
18
+
19
+ return (
20
+ <div>
21
+ <div>
22
+ {isLoading ? (
23
+ <Card
24
+ marginBottom="lg"
25
+ {...props}
26
+ >
27
+ <Flex
28
+ alignItems="center"
29
+ justify="between"
30
+ orientation="row"
31
+ >
32
+ <Flex
33
+ alignItems="center"
34
+ justify="start"
35
+ orientation="row"
36
+ >
37
+ <SkeletonLoading
38
+ borderRadius="rounded"
39
+ height="40px"
40
+ marginRight="sm"
41
+ width="40px"
42
+ {...props}
43
+ />
44
+ <SkeletonLoading
45
+ height="16px"
46
+ marginRight="md"
47
+ width="80px"
48
+ {...props}
49
+ />
50
+ </Flex>
51
+ <Flex
52
+ alignItems="center"
53
+ justify="end"
54
+ orientation="row"
55
+ >
56
+ <SkeletonLoading
57
+ height="18px"
58
+ width="120px"
59
+ {...props}
60
+ />
61
+ </Flex>
62
+ </Flex>
63
+ </Card>
64
+ ) : (
65
+ <Filter
66
+ filters={{ 'Full Name': 'John Wick' }}
67
+ marginBottom="lg"
68
+ minWidth="375px"
69
+ results={546}
70
+ sortOptions={{
71
+ popularity: 'Popularity',
72
+ // eslint-disable-next-line
73
+ manager_title: 'Manager\'s Title',
74
+ // eslint-disable-next-line
75
+ manager_name: 'Manager\'s Name',
76
+ }}
77
+ sortValue={[{ name: 'popularity', dir: 'desc' }]}
78
+ >
79
+ {({ closePopover }) => (
80
+ <form>
81
+ <TextInput
82
+ label="Example Text Field"
83
+ placeholder="Enter Text"
84
+ />
85
+ <Select
86
+ blankSelection="Select One..."
87
+ label="Example Collection Select"
88
+ name="Collection Select"
89
+ options={options}
90
+ />
91
+ <Flex spacing="between">
92
+ <Button
93
+ onClick={closePopover}
94
+ text="Filter"
95
+ />
96
+ <Button
97
+ text="Defaults"
98
+ variant="secondary"
99
+ />
100
+ </Flex>
101
+ </form>
102
+ )}
103
+ </Filter>
104
+ )}
105
+ </div>
106
+ <div>
107
+ {isLoading ? (
108
+ <SkeletonLoading
109
+ height="127px"
110
+ marginBottom="lg"
111
+ width="100%"
112
+ {...props}
113
+ />
114
+ ) : (
115
+ <Filter
116
+ double
117
+ filters={{
118
+ 'Full Name': 'John Wick',
119
+ 'City': 'San Francisco',
120
+ }}
121
+ marginBottom="xl"
122
+ minWidth="375px"
123
+ onSortChange={SortingChangeCallback}
124
+ results={1}
125
+ sortOptions={{
126
+ popularity: 'Popularity',
127
+ // eslint-disable-next-line
128
+ manager_title: 'Manager\'s Title',
129
+ // eslint-disable-next-line
130
+ manager_name: 'Manager\'s Name',
131
+ }}
132
+ sortValue={[{ name: 'popularity', dir: 'desc' }]}
133
+ >
134
+ {({ closePopover }) => (
135
+ <form>
136
+ <TextInput
137
+ label="Full Name"
138
+ placeholder="Enter name"
139
+ />
140
+ <Select
141
+ blankSelection="Select One..."
142
+ label="Territory"
143
+ maxWidth="sm"
144
+ name="location"
145
+ options={options}
146
+ />
147
+ <Flex spacing="between">
148
+ <Button
149
+ onClick={closePopover}
150
+ text="Filter"
151
+ />
152
+ <Button
153
+ text="Defaults"
154
+ variant="secondary"
155
+ />
156
+ </Flex>
157
+ </form>
158
+ )}
159
+ </Filter>
160
+ )}
161
+ </div>
162
+ </div>
163
+ )
164
+ }
165
+
166
+ export default SkeletonLoadingFilter;
@@ -20,6 +20,7 @@ const SkeletonLoadingHeightWidth = (props) => (
20
20
  <Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
21
21
  marginBottom="md"
22
22
  padding="none"
23
+ {...props}
23
24
  >
24
25
  <SkeletonLoading
25
26
  borderRadius="md"
@@ -31,6 +32,7 @@ const SkeletonLoadingHeightWidth = (props) => (
31
32
  </Card>
32
33
  <Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
33
34
  padding="none"
35
+ {...props}
34
36
  >
35
37
  <SkeletonLoading
36
38
  borderRadius="md"
@@ -0,0 +1,89 @@
1
+ import React from 'react';
2
+ import { Flex, SkeletonLoading, User } from "playbook-ui";
3
+
4
+ const SkeletonLoadingUser = (props) => {
5
+ const isLoading = true
6
+
7
+ return (
8
+ <div>
9
+ <div>
10
+ {isLoading ? (
11
+ <Flex alignItems="center">
12
+ <SkeletonLoading
13
+ borderRadius="rounded"
14
+ height="38px"
15
+ paddingRight="sm"
16
+ width="38px"
17
+ {...props}
18
+ />
19
+ <SkeletonLoading
20
+ gap="xxs"
21
+ height="18px"
22
+ stack="2"
23
+ width="161px"
24
+ {...props}
25
+ />
26
+ </Flex>
27
+ ) : (
28
+ <User
29
+ align="left"
30
+ avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
31
+ name="Anna Black"
32
+ orientation="horizontal"
33
+ title="Remodeling Consultant"
34
+ {...props}
35
+ />
36
+ )}
37
+ </div>
38
+ <div>
39
+ {isLoading ? (
40
+ <Flex
41
+ alignItems="start"
42
+ paddingTop="md"
43
+ >
44
+ <Flex
45
+ alignItems="center"
46
+ flexDirection="column"
47
+ >
48
+ <SkeletonLoading
49
+ borderRadius="rounded"
50
+ height="80px"
51
+ paddingBottom="xs"
52
+ width="80px"
53
+ {...props}
54
+ />
55
+ <SkeletonLoading
56
+ height="32px"
57
+ paddingBottom="xxs"
58
+ width="144px"
59
+ {...props}
60
+ />
61
+ <SkeletonLoading
62
+ height="21px"
63
+ width="164px"
64
+ {...props}
65
+ />
66
+ </Flex>
67
+ </Flex>
68
+ ) : (
69
+ <Flex
70
+ alignItems="start"
71
+ paddingTop="md"
72
+ >
73
+ <User
74
+ align="center"
75
+ avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
76
+ name="Anna Black"
77
+ orientation="vertical"
78
+ size="lg"
79
+ title="Remodeling Consultant"
80
+ {...props}
81
+ />
82
+ </Flex>
83
+ )}
84
+ </div>
85
+ </div>
86
+ )
87
+ }
88
+
89
+ export default SkeletonLoadingUser;
@@ -10,4 +10,5 @@ examples:
10
10
  - skeleton_loading_layout: Layout
11
11
  - skeleton_loading_border_radius: Border Radius
12
12
  - skeleton_loading_height_width: Height & Width
13
-
13
+ - skeleton_loading_user: User Component Example
14
+ - skeleton_loading_filter: Filter Component Example
@@ -3,3 +3,5 @@ export { default as SkeletonLoadingColor } from './_skeleton_loading_color.jsx'
3
3
  export { default as SkeletonLoadingLayout } from './_skeleton_loading_layout.jsx'
4
4
  export { default as SkeletonLoadingBorderRadius } from './_skeleton_loading_border_radius.jsx'
5
5
  export { default as SkeletonLoadingHeightWidth } from './_skeleton_loading_height_width.jsx'
6
+ export { default as SkeletonLoadingUser } from './_skeleton_loading_user.jsx'
7
+ export { default as SkeletonLoadingFilter } from './_skeleton_loading_filter.jsx'
@@ -0,0 +1,88 @@
1
+ import React, { useState } from 'react'
2
+
3
+ import Caption from '../../pb_caption/_caption'
4
+ import TextInput from '../../pb_text_input/_text_input'
5
+ import Title from '../../pb_title/_title'
6
+
7
+ const TextInputMask = (props) => {
8
+ const [ssn, setSSN] = useState('')
9
+ const handleOnChangeSSN = ({ target }) => {
10
+ setSSN(target.value)
11
+ }
12
+ const ref = React.createRef()
13
+
14
+ const [formFields, setFormFields] = useState({
15
+ currency: '',
16
+ zipCode: '',
17
+ postalCode: '',
18
+ ssn: '',
19
+ })
20
+
21
+ const handleOnChangeFormField = ({ target }) => {
22
+ const { name, value } = target
23
+ setFormFields({ ...formFields, [name]: value })
24
+ }
25
+
26
+ return (
27
+ <div>
28
+ <TextInput
29
+ label="Currency"
30
+ mask="currency"
31
+ name="currency"
32
+ onChange={handleOnChangeFormField}
33
+ value={formFields.currency}
34
+ {...props}
35
+ />
36
+ <TextInput
37
+ label="Zip Code"
38
+ mask="zipCode"
39
+ name="zipCode"
40
+ onChange={handleOnChangeFormField}
41
+ value={formFields.zipCode}
42
+ {...props}
43
+ />
44
+ <TextInput
45
+ label="Postal Code"
46
+ mask="postalCode"
47
+ name="postalCode"
48
+ onChange={handleOnChangeFormField}
49
+ value={formFields.postalCode}
50
+ {...props}
51
+ />
52
+ <TextInput
53
+ label="SSN"
54
+ mask="ssn"
55
+ name="ssn"
56
+ onChange={handleOnChangeFormField}
57
+ value={formFields.ssn}
58
+ {...props}
59
+ />
60
+
61
+ <br />
62
+ <br />
63
+
64
+ <Title>{'Event Handler Props'}</Title>
65
+
66
+ <br />
67
+ <Caption>{'onChange'}</Caption>
68
+
69
+ <br />
70
+
71
+ <TextInput
72
+ label="SSN"
73
+ mask="ssn"
74
+ onChange={handleOnChangeSSN}
75
+ placeholder="Enter SSN"
76
+ ref={ref}
77
+ value={ssn}
78
+ {...props}
79
+ />
80
+
81
+ {ssn !== '' && (
82
+ <React.Fragment>{`SSN is: ${ssn}`}</React.Fragment>
83
+ )}
84
+ </div>
85
+ )
86
+ }
87
+
88
+ export default TextInputMask
@@ -16,6 +16,7 @@ examples:
16
16
  - text_input_add_on: Add On
17
17
  - text_input_inline: Inline
18
18
  - text_input_no_label: No Label
19
+ - text_input_mask: Mask
19
20
 
20
21
  swift:
21
22
  - text_input_default_swift: Default
@@ -5,3 +5,4 @@ export { default as TextInputDisabled } from './_text_input_disabled.jsx'
5
5
  export { default as TextInputAddOn } from './_text_input_add_on.jsx'
6
6
  export { default as TextInputInline } from './_text_input_inline.jsx'
7
7
  export { default as TextInputNoLabel } from './_text_input_no_label.jsx'
8
+ export { default as TextInputMask } from './_text_input_mask.jsx'