playbook_ui_docs 12.36.0 → 12.37.0.pre.alpha.svgiconmethods1064
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/pb_badge/docs/_badge_colors_swift.md +33 -0
- data/app/pb_kits/playbook/pb_badge/docs/_badge_default_swift.md +9 -0
- data/app/pb_kits/playbook/pb_badge/docs/_badge_notification_swift.md +9 -0
- data/app/pb_kits/playbook/pb_badge/docs/_badge_props_swift.md +6 -0
- data/app/pb_kits/playbook/pb_badge/docs/_badge_rounded_swift.md +9 -0
- data/app/pb_kits/playbook/pb_badge/docs/example.yml +7 -0
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +15 -4
- data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +1 -1
- data/app/pb_kits/playbook/pb_icon/docs/_icon_animate.html.erb +1 -0
- data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.html.erb +2 -0
- data/app/pb_kits/playbook/pb_icon/docs/_icon_svg.html.erb +5 -0
- data/app/pb_kits/playbook/pb_icon/docs/example.yml +10 -9
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.jsx +59 -79
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_custom_icons.jsx +4 -6
- data/app/pb_kits/playbook/pb_nav/docs/example.yml +1 -1
- data/app/pb_kits/playbook/pb_pill/docs/_pill_default_swift.md +5 -0
- data/app/pb_kits/playbook/pb_pill/docs/_pill_props_swift.md +5 -0
- data/app/pb_kits/playbook/pb_pill/docs/_pill_variants_swift.md +10 -0
- data/app/pb_kits/playbook/pb_pill/docs/example.yml +5 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_alignment_swift.md +16 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_swift.md +18 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_default_swift.md +15 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_error_swift.md +14 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_orientation_swift.md +15 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_padding_swift.md +31 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_props_swift.md +10 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_spacing_swift.md +36 -0
- data/app/pb_kits/playbook/pb_radio/docs/_radio_subtitle_swift.md +13 -0
- data/app/pb_kits/playbook/pb_radio/docs/example.yml +11 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_options.html.erb +12 -0
- data/app/pb_kits/playbook/pb_text_input/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align_swift.md +45 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default_swift.md +26 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_swift.md +25 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_props_swift.md +10 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_swift.md +67 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_swift.md +19 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +8 -0
- data/dist/playbook-doc.js +9 -9
- metadata +32 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 320dcb176e88572a505020f6bf955296b12c6022f85165cbeed887d080537ec1
|
|
4
|
+
data.tar.gz: e6660216f9587db018ed8bbfabed4034d2a25e31860df48b247fd85a2715c6c8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 24047b8470b70e24cc0ae9a1b019a469d6fc5106616bad904308daabe52a4be068822ae61f5fd3bcf18340c3060d753e2143fa0ac9111cacf2aa2b5d5ef00afe
|
|
7
|
+
data.tar.gz: 7ae61482f5fde0baa7326febb425392ea4b811c772d33d66f5dced9ad80fed507eb333f8fec42f2649cc5de640c183730371befa0b59f090e04f0cb19744ef4f
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
HStack {
|
|
5
|
+
PBBadge(text: "1", rounded: true, variant: .chat)
|
|
6
|
+
PBBadge(text: "4", variant: .chat)
|
|
7
|
+
PBBadge(text: "1000", variant: .chat)
|
|
8
|
+
|
|
9
|
+
PBBadge(text: "1", rounded: true, variant: .error)
|
|
10
|
+
PBBadge(text: "4", variant: .error)
|
|
11
|
+
PBBadge(text: "1000", variant: .error)
|
|
12
|
+
|
|
13
|
+
PBBadge(text: "1", rounded: true, variant: .info)
|
|
14
|
+
PBBadge(text: "4", variant: .info)
|
|
15
|
+
PBBadge(text: "1000", variant: .info)
|
|
16
|
+
|
|
17
|
+
PBBadge(text: "1", rounded: true, variant: .neutral)
|
|
18
|
+
PBBadge(text: "4", variant: .neutral)
|
|
19
|
+
PBBadge(text: "1000", variant: .neutral)
|
|
20
|
+
|
|
21
|
+
PBBadge(text: "1", rounded: true, variant: .primary)
|
|
22
|
+
PBBadge(text: "4", variant: .primary)
|
|
23
|
+
PBBadge(text: "1000", variant: .primary)
|
|
24
|
+
|
|
25
|
+
PBBadge(text: "1", rounded: true, variant: .success)
|
|
26
|
+
PBBadge(text: "4", variant: .success)
|
|
27
|
+
PBBadge(text: "1000", variant: .success)
|
|
28
|
+
|
|
29
|
+
PBBadge(text: "1", rounded: true, variant: .warning)
|
|
30
|
+
PBBadge(text: "4", variant: .warning)
|
|
31
|
+
PBBadge(text: "1000", variant: .warning)
|
|
32
|
+
}
|
|
33
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
HStack {
|
|
5
|
+
PBBadge(text: "+1", variant: .primary)
|
|
6
|
+
PBBadge(text: "+4", variant: .primary)
|
|
7
|
+
PBBadge(text: "+1000", variant: .primary)
|
|
8
|
+
}
|
|
9
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
HStack {
|
|
5
|
+
PBBadge(text: "1", rounded: true, variant: .chat)
|
|
6
|
+
PBBadge(text: "4", variant: .chat)
|
|
7
|
+
PBBadge(text: "1000", variant: .chat)
|
|
8
|
+
}
|
|
9
|
+
```
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
### Props
|
|
2
|
+
| Name | Type | Description | Default | Values |
|
|
3
|
+
| --- | ----------- | --------- | --------- | --------- |
|
|
4
|
+
| **text** | `String` | Specifies the value of the Badge | | |
|
|
5
|
+
| **rounded** | `Bool` | Displays the rounded variant | `false` | |
|
|
6
|
+
| **variant** | `Variant` | Changes the color of the Badge | `.primary` | `.chat` `.error` `.info` `.neutral` `.primary` `.success` `.warning` |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
HStack {
|
|
5
|
+
PBBadge(text: "+1", rounded: true, variant: .primary)
|
|
6
|
+
PBBadge(text: "+4", rounded: true, variant: .primary)
|
|
7
|
+
PBBadge(text: "+1000", rounded: true, variant: .primary)
|
|
8
|
+
}
|
|
9
|
+
```
|
|
@@ -10,3 +10,10 @@ examples:
|
|
|
10
10
|
- badge_rounded: Rounded
|
|
11
11
|
- badge_colors: Colors
|
|
12
12
|
- badge_notification: Notification
|
|
13
|
+
|
|
14
|
+
swift:
|
|
15
|
+
- badge_default_swift: Rectangle
|
|
16
|
+
- badge_rounded_swift: Rounded
|
|
17
|
+
- badge_colors_swift: Colors
|
|
18
|
+
- badge_notification_swift: Notification
|
|
19
|
+
- badge_props_swift: ""
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { Collapsible } from '../..'
|
|
2
|
+
import { Collapsible, useCollapsible, Button } from '../..'
|
|
3
3
|
|
|
4
|
-
const CollapsibleIcons = () =>
|
|
5
|
-
|
|
4
|
+
const CollapsibleIcons = () => {
|
|
5
|
+
const [isCollapsed, setIsCollapsed] = useCollapsible(true)
|
|
6
|
+
|
|
7
|
+
return (
|
|
8
|
+
<>
|
|
9
|
+
<Button onClick={()=> setIsCollapsed(!isCollapsed)}>
|
|
10
|
+
{isCollapsed ? "Expand" : "Collapse"}
|
|
11
|
+
</Button>
|
|
12
|
+
<Collapsible collapsed={isCollapsed}
|
|
13
|
+
icon={['plus','minus']}
|
|
14
|
+
>
|
|
6
15
|
<Collapsible.Main>
|
|
7
16
|
<div>{'Main Section'}</div>
|
|
8
17
|
</Collapsible.Main>
|
|
@@ -14,6 +23,8 @@ const CollapsibleIcons = () => (
|
|
|
14
23
|
</div>
|
|
15
24
|
</Collapsible.Content>
|
|
16
25
|
</Collapsible>
|
|
17
|
-
|
|
26
|
+
</>
|
|
27
|
+
)
|
|
28
|
+
}
|
|
18
29
|
|
|
19
30
|
export default CollapsibleIcons
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
examples:
|
|
2
2
|
rails:
|
|
3
|
-
- icon_default: Icon Default
|
|
4
|
-
- icon_rotate: Icon Rotate
|
|
5
|
-
- icon_flip: Icon Flip
|
|
6
|
-
- icon_animate: Icon Animation
|
|
7
|
-
- icon_pull: Icon Pull
|
|
8
|
-
- icon_border: Icon Border
|
|
9
|
-
- icon_sizes: Icon Sizes
|
|
10
|
-
- icon_custom: Icon Custom
|
|
11
|
-
- icon_fa_kit: Icon with FontAwesome Kit
|
|
3
|
+
# - icon_default: Icon Default
|
|
4
|
+
# - icon_rotate: Icon Rotate
|
|
5
|
+
# - icon_flip: Icon Flip
|
|
6
|
+
# - icon_animate: Icon Animation
|
|
7
|
+
# - icon_pull: Icon Pull
|
|
8
|
+
# - icon_border: Icon Border
|
|
9
|
+
# - icon_sizes: Icon Sizes
|
|
10
|
+
# - icon_custom: Icon Custom
|
|
11
|
+
# - icon_fa_kit: Icon with FontAwesome Kit
|
|
12
|
+
- icon_svg: Icon SVG
|
|
12
13
|
|
|
13
14
|
react:
|
|
14
15
|
- icon_default: Icon Default
|
|
@@ -1,83 +1,63 @@
|
|
|
1
|
-
import React from "react"
|
|
2
|
-
|
|
3
|
-
import Nav from "../_nav";
|
|
4
|
-
import NavItem from "../_item";
|
|
1
|
+
import React from "react"
|
|
2
|
+
import { Nav, NavItem, useCollapsible } from "../.."
|
|
5
3
|
|
|
6
4
|
const CollapsibleNav = (props) => {
|
|
5
|
+
const navItems = ["Overview", "Albums", "Similar Artists"]
|
|
6
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
7
|
+
const collapsibles = navItems.map(() => useCollapsible(true))
|
|
8
|
+
|
|
9
|
+
const handleMainClick = (index) => {
|
|
10
|
+
collapsibles.forEach(([, , setCollapsed], idx) => {
|
|
11
|
+
if (idx === index) {
|
|
12
|
+
setCollapsed(false)
|
|
13
|
+
} else {
|
|
14
|
+
setCollapsed(true)
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
const handleIconRightClick = (index) => {
|
|
21
|
+
const [isCollapsed, setCollapsed] = collapsibles[index]
|
|
22
|
+
setCollapsed(!isCollapsed)
|
|
23
|
+
}
|
|
24
|
+
|
|
7
25
|
return (
|
|
8
|
-
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
/>
|
|
45
|
-
<NavItem
|
|
46
|
-
link="#"
|
|
47
|
-
text="Food"
|
|
48
|
-
{...props}
|
|
49
|
-
/>
|
|
50
|
-
<NavItem
|
|
51
|
-
link="#"
|
|
52
|
-
text="Style"
|
|
53
|
-
{...props}
|
|
54
|
-
/>
|
|
55
|
-
</NavItem>
|
|
56
|
-
<NavItem
|
|
57
|
-
collapsible
|
|
58
|
-
iconLeft="city"
|
|
59
|
-
link="#"
|
|
60
|
-
text="Similar Artists"
|
|
61
|
-
{...props}
|
|
62
|
-
>
|
|
63
|
-
<NavItem
|
|
64
|
-
link="#"
|
|
65
|
-
text="City"
|
|
66
|
-
{...props}
|
|
67
|
-
/>
|
|
68
|
-
<NavItem
|
|
69
|
-
link="#"
|
|
70
|
-
text="People"
|
|
71
|
-
{...props}
|
|
72
|
-
/>
|
|
73
|
-
<NavItem
|
|
74
|
-
link="#"
|
|
75
|
-
text="Business"
|
|
76
|
-
{...props}
|
|
77
|
-
/>
|
|
78
|
-
</NavItem>
|
|
79
|
-
</Nav>
|
|
80
|
-
);
|
|
81
|
-
};
|
|
26
|
+
<>
|
|
27
|
+
<Nav variant='subtle'>
|
|
28
|
+
{navItems.map((text, index) => {
|
|
29
|
+
const [collapsed] = collapsibles[index]
|
|
30
|
+
return (
|
|
31
|
+
<NavItem
|
|
32
|
+
collapsible
|
|
33
|
+
collapsibleClick={() => handleMainClick(index)}
|
|
34
|
+
iconLeft="chevron-down"
|
|
35
|
+
iconRightClick={() => handleIconRightClick(index)}
|
|
36
|
+
id={`collapsible-nav-item-${index + 1}`}
|
|
37
|
+
key={index}
|
|
38
|
+
link="#"
|
|
39
|
+
text={text}
|
|
40
|
+
toggleCollapsed={collapsed}
|
|
41
|
+
{...props}
|
|
42
|
+
>
|
|
43
|
+
<NavItem link="#"
|
|
44
|
+
text="City"
|
|
45
|
+
{...props}
|
|
46
|
+
/>
|
|
47
|
+
<NavItem link="#"
|
|
48
|
+
text="People"
|
|
49
|
+
{...props}
|
|
50
|
+
/>
|
|
51
|
+
<NavItem link="#"
|
|
52
|
+
text="Business"
|
|
53
|
+
{...props}
|
|
54
|
+
/>
|
|
55
|
+
</NavItem>
|
|
56
|
+
);
|
|
57
|
+
})}
|
|
58
|
+
</Nav>
|
|
59
|
+
</>
|
|
60
|
+
)
|
|
61
|
+
}
|
|
82
62
|
|
|
83
|
-
export default CollapsibleNav
|
|
63
|
+
export default CollapsibleNav
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
import Nav from "../_nav";
|
|
4
|
-
import NavItem from "../_item";
|
|
2
|
+
import { Nav, NavItem } from '../..'
|
|
5
3
|
|
|
6
4
|
const CollapsibleNavCustomIcons = (props) => {
|
|
7
5
|
return (
|
|
@@ -9,7 +7,7 @@ const CollapsibleNavCustomIcons = (props) => {
|
|
|
9
7
|
<NavItem
|
|
10
8
|
collapsible
|
|
11
9
|
iconLeft="city"
|
|
12
|
-
iconRight={["
|
|
10
|
+
iconRight={["plus", "minus"]}
|
|
13
11
|
link="#"
|
|
14
12
|
text="Overview"
|
|
15
13
|
{...props}
|
|
@@ -34,7 +32,7 @@ const CollapsibleNavCustomIcons = (props) => {
|
|
|
34
32
|
active
|
|
35
33
|
collapsible
|
|
36
34
|
iconLeft="theater-masks"
|
|
37
|
-
iconRight={["
|
|
35
|
+
iconRight={["plus", "minus"]}
|
|
38
36
|
link="#"
|
|
39
37
|
text="Albums"
|
|
40
38
|
{...props}
|
|
@@ -58,7 +56,7 @@ const CollapsibleNavCustomIcons = (props) => {
|
|
|
58
56
|
<NavItem
|
|
59
57
|
collapsible
|
|
60
58
|
iconLeft="city"
|
|
61
|
-
iconRight={["
|
|
59
|
+
iconRight={["plus", "minus"]}
|
|
62
60
|
link="#"
|
|
63
61
|
text="Similar Artists"
|
|
64
62
|
{...props}
|
|
@@ -26,7 +26,7 @@ examples:
|
|
|
26
26
|
- subtle_nav: Subtle Variant
|
|
27
27
|
- subtle_with_icons_nav: Subtle With Icons
|
|
28
28
|
# - collapsible_nav: Subtle With Collapsible
|
|
29
|
-
# - collapsible_nav_custom_icons: Subtle With Collapsible (
|
|
29
|
+
# - collapsible_nav_custom_icons: Subtle With Collapsible (No custom toggling)
|
|
30
30
|
- subtle_no_highlight_nav: Subtle No Highlight
|
|
31
31
|
- bold_vertical_nav: Bold Variant
|
|
32
32
|
- horizontal_nav: Horizontal Nav
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
### Props
|
|
2
|
+
| Name | Type | Description | Default | Values |
|
|
3
|
+
| --- | ----------- | --------- | --------- | --------- |
|
|
4
|
+
| **title** | `String` | Specifies the value of the Pill | | |
|
|
5
|
+
| **variant** | `Variant` | Changes the color of the Pill | `.neutral` | `.error` `.info` `.neutral` `.primary` `.success` `.warning` |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
PBPill("success", variant: .success)
|
|
5
|
+
PBPill("error", variant: .error)
|
|
6
|
+
PBPill("warning", variant: .warning)
|
|
7
|
+
PBPill("info", variant: .info)
|
|
8
|
+
PBPill("neutral", variant: .neutral)
|
|
9
|
+
PBPill("primary", variant: .primary)
|
|
10
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
VStack(alignment: .leading) {
|
|
5
|
+
PBRadio(
|
|
6
|
+
items: [
|
|
7
|
+
PBRadioItem("Power"),
|
|
8
|
+
.init("Nitro"),
|
|
9
|
+
.init("Google")
|
|
10
|
+
],
|
|
11
|
+
orientation: .horizontal,
|
|
12
|
+
textAlignment: .vertical,
|
|
13
|
+
selected: $selectedAlignment
|
|
14
|
+
)
|
|
15
|
+
}
|
|
16
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
VStack(alignment: .leading) {
|
|
5
|
+
if let selectedCustom = selectedCustom {
|
|
6
|
+
Text("Your choice is: \(selectedCustom.title)")
|
|
7
|
+
}
|
|
8
|
+
PBRadio(
|
|
9
|
+
items: [
|
|
10
|
+
PBRadioItem("Custom Power"),
|
|
11
|
+
.init("Custom Nitro"),
|
|
12
|
+
.init("Custom Google")
|
|
13
|
+
],
|
|
14
|
+
orientation: .vertical,
|
|
15
|
+
selected: $selectedCustom
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
VStack(alignment: .leading) {
|
|
5
|
+
PBRadio(
|
|
6
|
+
items: [
|
|
7
|
+
PBRadioItem("Power"),
|
|
8
|
+
.init("Nitro"),
|
|
9
|
+
.init("Google")
|
|
10
|
+
],
|
|
11
|
+
orientation: .vertical,
|
|
12
|
+
selected: $selectedDefault
|
|
13
|
+
)
|
|
14
|
+
}
|
|
15
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
VStack(alignment: .leading) {
|
|
5
|
+
PBRadio(
|
|
6
|
+
items: [
|
|
7
|
+
PBRadioItem("Power")
|
|
8
|
+
],
|
|
9
|
+
orientation: .vertical,
|
|
10
|
+
selected: $selectedError,
|
|
11
|
+
errorState: true
|
|
12
|
+
)
|
|
13
|
+
}
|
|
14
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
VStack(alignment: .leading) {
|
|
5
|
+
PBRadio(
|
|
6
|
+
items: [
|
|
7
|
+
PBRadioItem("Power"),
|
|
8
|
+
.init("Nitro"),
|
|
9
|
+
.init("Google")
|
|
10
|
+
],
|
|
11
|
+
orientation: .horizontal,
|
|
12
|
+
selected: $selectedOrientation
|
|
13
|
+
)
|
|
14
|
+
}
|
|
15
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
VStack(alignment: .leading) {
|
|
5
|
+
PBRadio(
|
|
6
|
+
items: [
|
|
7
|
+
PBRadioItem("Small")
|
|
8
|
+
],
|
|
9
|
+
orientation: .vertical,
|
|
10
|
+
padding: Spacing.small,
|
|
11
|
+
selected: $selectedPadding
|
|
12
|
+
)
|
|
13
|
+
PBRadio(
|
|
14
|
+
items: [
|
|
15
|
+
PBRadioItem("Medium")
|
|
16
|
+
],
|
|
17
|
+
orientation: .vertical,
|
|
18
|
+
padding: Spacing.medium,
|
|
19
|
+
selected: $selectedPadding
|
|
20
|
+
)
|
|
21
|
+
PBRadio(
|
|
22
|
+
items: [
|
|
23
|
+
PBRadioItem("Large")
|
|
24
|
+
],
|
|
25
|
+
orientation: .vertical,
|
|
26
|
+
padding: Spacing.large,
|
|
27
|
+
selected: $selectedPadding
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
### Props
|
|
2
|
+
| Name | Type | Description | Default | Values |
|
|
3
|
+
| --- | ----------- | --------- | --------- | --------- |
|
|
4
|
+
| **items** | `PBRadioItem` | Specifies the value of the Radio buttons | | |
|
|
5
|
+
| **orientation** | `Orientation` | Changes between stacked or inline Radio items | `.vertical` | |
|
|
6
|
+
| **textAlignment** | `Orientation` | Changes lable position | `.horizontal` | |
|
|
7
|
+
| **spacing** | `CGFloat` | Applies padding around Radio and lable | `Spacing.xSmall` | `Spacing.none` `Spacing.xxSmall` `Spacing.xSmall` `Spacing.small` `Spacing.medium` `Spacing.large` `Spacing.xLarge` |
|
|
8
|
+
| **padding** | `CGFloat` | Applies padding between Radio and lable | `Spacing.xSmall` | `Spacing.none` `Spacing.xxSmall` `Spacing.xSmall` `Spacing.small` `Spacing.medium` `Spacing.large` `Spacing.xLarge` |
|
|
9
|
+
| **errorState** | `Bool` | Changes Radio to error styling | | |
|
|
10
|
+
| **selected** | `PBRadioItem?` | Sets selected Radio item | | |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
HStack(alignment: .top) {
|
|
5
|
+
PBRadio(
|
|
6
|
+
items: [
|
|
7
|
+
PBRadioItem("Small"),
|
|
8
|
+
.init("Small Spacing"),
|
|
9
|
+
.init("Small Power")
|
|
10
|
+
],
|
|
11
|
+
orientation: .vertical,
|
|
12
|
+
spacing: Spacing.small,
|
|
13
|
+
selected: $selectedSpacing
|
|
14
|
+
)
|
|
15
|
+
PBRadio(
|
|
16
|
+
items: [
|
|
17
|
+
PBRadioItem("Medium"),
|
|
18
|
+
.init("Medium Spacing"),
|
|
19
|
+
.init("Medium Power")
|
|
20
|
+
],
|
|
21
|
+
orientation: .vertical,
|
|
22
|
+
spacing: Spacing.medium,
|
|
23
|
+
selected: $selectedSpacing
|
|
24
|
+
)
|
|
25
|
+
PBRadio(
|
|
26
|
+
items: [
|
|
27
|
+
PBRadioItem("Large"),
|
|
28
|
+
.init("Large Spacing"),
|
|
29
|
+
.init("Large Power")
|
|
30
|
+
],
|
|
31
|
+
orientation: .vertical,
|
|
32
|
+
spacing: Spacing.large,
|
|
33
|
+
selected: $selectedSpacing
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
```swift
|
|
4
|
+
VStack(alignment: .leading) {
|
|
5
|
+
PBRadio(
|
|
6
|
+
items: [
|
|
7
|
+
PBRadioItem("Power", subtitle: "subtitle")
|
|
8
|
+
],
|
|
9
|
+
selected: $selectedSubtitle
|
|
10
|
+
)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
```
|
|
@@ -12,3 +12,14 @@ examples:
|
|
|
12
12
|
- radio_custom: Custom
|
|
13
13
|
- radio_error: With Error
|
|
14
14
|
- radio_alignment: Alignment
|
|
15
|
+
|
|
16
|
+
swift:
|
|
17
|
+
- radio_default_swift: Default
|
|
18
|
+
- radio_custom_swift: Custom
|
|
19
|
+
- radio_error_swift: With Error
|
|
20
|
+
- radio_orientation_swift: Orientation
|
|
21
|
+
- radio_alignment_swift: Alignment
|
|
22
|
+
- radio_spacing_swift: Spacing
|
|
23
|
+
- radio_padding_swift: Padding
|
|
24
|
+
- radio_subtitle_swift: Subtitle
|
|
25
|
+
- radio_props_swift: ""
|