playbook_ui 13.27.0.pre.alpha.testingcollapsible2917 → 13.28.0.pre.alpha.PLAY888Cardkithighlightoverflowtooltiperror2937

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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +1 -5
  3. data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +1 -5
  4. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +1 -5
  5. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +1 -5
  6. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +1 -6
  7. data/app/pb_kits/playbook/pb_badge/badge.html.erb +1 -6
  8. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -0
  9. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.html.erb +1 -6
  10. data/app/pb_kits/playbook/pb_card/_card.scss +1 -1
  11. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +1 -6
  12. data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +1 -6
  13. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +1 -6
  14. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +1 -6
  15. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main.jsx +0 -1
  16. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main.md +2 -4
  17. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_rails.html.erb +0 -1
  18. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_rails.md +2 -4
  19. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon.jsx +73 -0
  20. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon.md +3 -0
  21. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon_rails.html.erb +20 -0
  22. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_custom_main_with_icon_rails.md +3 -0
  23. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +4 -0
  24. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +2 -1
  25. data/app/pb_kits/playbook/pb_contact/contact.html.erb +1 -6
  26. data/app/pb_kits/playbook/pb_currency/currency.html.erb +1 -6
  27. data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.html.erb +1 -6
  28. data/app/pb_kits/playbook/pb_date/date.html.erb +1 -6
  29. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.html.erb +1 -5
  30. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default_swift.md +61 -0
  31. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_props_swift.md +11 -0
  32. data/app/pb_kits/playbook/pb_date_range_inline/docs/example.yml +4 -1
  33. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.html.erb +1 -5
  34. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +1 -5
  35. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold_swift.md +32 -0
  36. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_default_swift.md +17 -0
  37. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_not_current_year_swift.md +19 -0
  38. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_props_swift.md +10 -0
  39. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_reversed_swift.md +17 -0
  40. data/app/pb_kits/playbook/pb_date_stacked/docs/example.yml +7 -0
  41. data/app/pb_kits/playbook/pb_date_time/date_time.html.erb +1 -6
  42. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_alignment_swift.md +39 -0
  43. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default_swift.md +39 -0
  44. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_props_swift.md +15 -0
  45. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size_swift.md +78 -0
  46. data/app/pb_kits/playbook/pb_date_time/docs/example.yml +6 -0
  47. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +1 -6
  48. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.html.erb +1 -5
  49. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +4 -0
  50. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +1 -4
  51. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +6 -3
  52. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +11 -6
  53. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx +5 -2
  54. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options_rails.html.erb +13 -8
  55. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.md +1 -1
  56. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.jsx +5 -2
  57. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger_rails.html.erb +13 -8
  58. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_dropdown/dropdown_option.html.erb +2 -8
  60. data/app/pb_kits/playbook/pb_dropdown/dropdown_option.rb +1 -5
  61. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +2 -12
  62. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_children_swift.md +23 -0
  63. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close_swift.md +7 -0
  64. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default_swift.md +9 -0
  65. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_dismiss_with_timer_swift.md +22 -0
  66. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_swift.md +9 -0
  67. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions_swift.md +62 -0
  68. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +8 -0
  69. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +9 -0
  70. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +1 -6
  71. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
  72. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  73. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +1 -6
  74. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -6
  75. data/app/pb_kits/playbook/pb_icon_value/icon_value.html.erb +1 -6
  76. data/app/pb_kits/playbook/pb_label_pill/label_pill.html.erb +1 -6
  77. data/app/pb_kits/playbook/pb_label_value/label_value.html.erb +1 -6
  78. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -5
  79. data/app/pb_kits/playbook/pb_message/message_mention.html.erb +6 -6
  80. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +1 -6
  81. data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.html.erb +1 -6
  82. data/app/pb_kits/playbook/pb_pagination/_pagination.scss +1 -1
  83. data/app/pb_kits/playbook/pb_pagination/pagination.html.erb +1 -6
  84. data/app/pb_kits/playbook/pb_person/person.html.erb +1 -6
  85. data/app/pb_kits/playbook/pb_person_contact/person_contact.html.erb +1 -6
  86. data/app/pb_kits/playbook/pb_pill/pill.html.erb +1 -6
  87. data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +1 -6
  88. data/app/pb_kits/playbook/pb_select/_select.scss +8 -0
  89. data/app/pb_kits/playbook/pb_source/source.html.erb +1 -5
  90. data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +1 -5
  91. data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +1 -5
  92. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +19 -0
  93. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb +1 -5
  94. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +1 -5
  95. data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -5
  96. data/app/pb_kits/playbook/pb_timeline/timeline.html.erb +1 -5
  97. data/app/pb_kits/playbook/pb_timestamp/timestamp.html.erb +1 -6
  98. data/app/pb_kits/playbook/pb_title_count/title_count.html.erb +1 -6
  99. data/app/pb_kits/playbook/pb_title_detail/title_detail.html.erb +1 -5
  100. data/app/pb_kits/playbook/pb_tooltip/index.js +1 -0
  101. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.html.erb +1 -6
  102. data/dist/playbook-rails.js +4 -4
  103. data/lib/playbook/forms/builder/phone_number_field.rb +12 -0
  104. data/lib/playbook/forms/builder.rb +1 -0
  105. data/lib/playbook/kit_base.rb +1 -1
  106. data/lib/playbook/version.rb +2 -2
  107. metadata +25 -2
@@ -0,0 +1,39 @@
1
+ ![Date-Time-Alignment](https://github.com/powerhome/playbook-swift/assets/54749071/9d1e08ac-4906-406f-b81d-1edf0a09e2e3)
2
+
3
+ ```swift
4
+ VStack(spacing: Spacing.small) {
5
+ HStack {
6
+ PBDateTime(
7
+ dateVariant: .short(showIcon: false),
8
+ timeVariant: .iconTimeZone,
9
+ isLowercase: true,
10
+ isTimeBold: true,
11
+ zone: .utc,
12
+ showTimeZone: true,
13
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
14
+ )
15
+ }
16
+ .frame(maxWidth: .infinity, alignment: .leading)
17
+ PBDateTime(
18
+ dateVariant: .short(showIcon: false),
19
+ timeVariant: .iconTimeZone,
20
+ isLowercase: true,
21
+ isTimeBold: true,
22
+ zone: .utc,
23
+ showTimeZone: true,
24
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
25
+ )
26
+ HStack {
27
+ PBDateTime(
28
+ dateVariant: .short(showIcon: false),
29
+ timeVariant: .iconTimeZone,
30
+ isLowercase: true,
31
+ isTimeBold: true,
32
+ zone: .utc,
33
+ showTimeZone: true,
34
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
35
+ )
36
+ }
37
+ .frame(maxWidth: .infinity, alignment: .trailing)
38
+ }
39
+ ```
@@ -0,0 +1,39 @@
1
+ ![Date-Time-Default](https://github.com/powerhome/playbook-swift/assets/54749071/f9ea63f9-81bd-41a9-8171-8a213c55ccfe)
2
+ ```swift
3
+ VStack(alignment: .leading, spacing: Spacing.small) {
4
+ PBDateTime(
5
+ dateVariant: .dayDate(showYear: true),
6
+ timeVariant: .iconTimeZone,
7
+ isLowercase: true,
8
+ isTimeBold: true,
9
+ timeZoneIdentifier: "EST"
10
+ )
11
+ PBDateTime(
12
+ dateVariant: .dayDate(showYear: false),
13
+ timeVariant: .iconTimeZone,
14
+ isLowercase: true,
15
+ isTimeBold: true,
16
+ zone: .utc,
17
+ showTimeZone: true,
18
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
19
+ )
20
+ PBDateTime(
21
+ dateVariant: .short(showIcon: false),
22
+ timeVariant: .iconTimeZone,
23
+ isLowercase: true,
24
+ isTimeBold: true,
25
+ zone: .utc,
26
+ showTimeZone: true,
27
+ timeZoneIdentifier: "2012-08-02T17:49:29Z",
28
+ showIcon: true
29
+ )
30
+ PBDateTime(
31
+ dateVariant: .standard,
32
+ timeVariant: .iconTimeZone,
33
+ isLowercase: true,
34
+ isTimeBold: true,
35
+ showTimeZone: true,
36
+ timeZoneIdentifier: "GMT+9"
37
+ )
38
+ }
39
+ ```
@@ -0,0 +1,15 @@
1
+ ### Props
2
+ | Name | Type | Description | Default | Values |
3
+ | --- | ----------- | --------- | --------- | --------- |
4
+ | **dateTime** | `Date` | Sets current date. | | |
5
+ | **iconSize** | `PBIcon.IconSize` | Allows user to change the size of the clock icon. | `.x3` | `.small` `.medium` `.large` |
6
+ | **dateVariant** | `PBDate.Variant` | Allows user to choose how they would like the date to be displayed | `.dayDate(showYear: false)` | `.short` `.dayDate(showYear: false)` `.standard` `.withIcon(isStandard: true)` `.withIcon(isStandard: false)` |
7
+ | **timeVariant** | `PBTime.Variant` | Allows user to choose how they would like the time to be displayed | `.time` | `.time` `.clockIcon` `.timeZone` `.iconTimeZone` `.withTimeZoneHeader` |
8
+ | **fontSize** | `PBFont` | Allows user to change the size of the text | `.caption` | `.subcaption` `.caption` `.body` |
9
+ | **isLowercase** | `Bool` | Determines whether or not am/pm is capitalized | `false` | `true` `false` |
10
+ | **isTimeBold** | `Bool` | Determines whether or not the time is bold | `false` | `true` `false` |
11
+ | **isTimeZoneBold** | `Bool` | Determines whether or not the time zone is bold | `false` | `true` `false` |
12
+ | **zone** | `PBTime.Zones` | Allows the user to set the time zone | `.east` | `.east` `.central` `.mountain` `.pacific` `.gmt` |
13
+ | **showTimeZone** | `Bool` | Determines whether or not the time zone is displayed | `false` | `true` `false` |
14
+ | **timeZoneIdentifier** | `String` | String that the time kit utilizes to calculate the current time and time zone | | |
15
+ | **showIcon** | `Bool` | Determines whether or not the clock icon is displayed | `false` | `true` `false` |
@@ -0,0 +1,78 @@
1
+ ![Date-Time-Sizes](https://github.com/powerhome/playbook-swift/assets/54749071/59b2394d-cf25-46b5-a634-ca0721a7b3b0)
2
+ ```swift
3
+ VStack(alignment: .leading, spacing: Spacing.xSmall) {
4
+ PBDateTime(
5
+ dateVariant: .dayDate(showYear: false),
6
+ timeVariant: .iconTimeZone,
7
+ fontSize: .caption,
8
+ zone: .utc,
9
+ showTimeZone: true,
10
+ timeZoneIdentifier: "2012-08-02T17:49:29Z",
11
+ showIcon: true
12
+ )
13
+ PBDateTime(
14
+ dateVariant: .dayDate(showYear: false),
15
+ timeVariant: .iconTimeZone,
16
+ fontSize: .caption,
17
+ zone: .utc,
18
+ showTimeZone: true,
19
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
20
+ )
21
+ PBDateTime(
22
+ dateVariant: .short(showIcon: false),
23
+ timeVariant: .iconTimeZone,
24
+ fontSize: .caption,
25
+ zone: .utc,
26
+ showTimeZone: true,
27
+ timeZoneIdentifier: "2012-08-02T17:49:29Z",
28
+ showIcon: true
29
+ )
30
+ PBDateTime(
31
+ dateVariant: .short(showIcon: false),
32
+ timeVariant: .iconTimeZone,
33
+ fontSize: .caption,
34
+ zone: .utc,
35
+ showTimeZone: true,
36
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
37
+ )
38
+ Spacer()
39
+ PBDateTime(
40
+ dateVariant: .dayDate(showYear: false),
41
+ timeVariant: .iconTimeZone,
42
+ isLowercase: true,
43
+ isTimeBold: true,
44
+ zone: .utc,
45
+ showTimeZone: true,
46
+ timeZoneIdentifier: "2012-08-02T17:49:29Z",
47
+ showIcon: true
48
+ )
49
+ PBDateTime(
50
+ dateVariant: .dayDate(showYear: false),
51
+ timeVariant: .iconTimeZone,
52
+ isLowercase: true,
53
+ isTimeBold: true,
54
+ zone: .utc,
55
+ showTimeZone: true,
56
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
57
+ )
58
+ PBDateTime(
59
+ dateVariant: .short(showIcon: false),
60
+ timeVariant: .iconTimeZone,
61
+ isLowercase: true,
62
+ isTimeBold: true,
63
+ zone: .utc,
64
+ showTimeZone: true,
65
+ timeZoneIdentifier: "2012-08-02T17:49:29Z",
66
+ showIcon: true
67
+ )
68
+ PBDateTime(
69
+ dateVariant: .short(showIcon: false),
70
+ timeVariant: .iconTimeZone,
71
+ isLowercase: true,
72
+ isTimeBold: true,
73
+ zone: .utc,
74
+ showTimeZone: true,
75
+ timeZoneIdentifier: "2012-08-02T17:49:29Z"
76
+ )
77
+ }
78
+ ```
@@ -9,3 +9,9 @@ examples:
9
9
  - date_time_default: Default
10
10
  - date_time_align: Alignment
11
11
  - date_time_size: Size
12
+
13
+ swift:
14
+ - date_time_default_swift: Default
15
+ - date_time_alignment_swift: Alignment
16
+ - date_time_size_swift: Size
17
+ - date_time_props_swift: ""
@@ -1,9 +1,4 @@
1
- <%= content_tag(:div,
2
- id: object.id,
3
- data: object.data,
4
- class: object.classname,
5
- aria: object.aria,
6
- **combined_html_options) do %>
1
+ <%= pb_content_tag do %>
7
2
 
8
3
  <%= pb_rails("flex", props: {classname: "flex-container", vertical: "stretch"}) do %>
9
4
  <%= pb_rails("body", props: {classname: "flex-item"}) do %>
@@ -1,8 +1,4 @@
1
- <%= content_tag(:div,
2
- id: object.id,
3
- data: object.data,
4
- class: object.classname,
5
- **combined_html_options) do %>
1
+ <%= pb_content_tag do %>
6
2
  <%= pb_rails("title", props: { text: object.day_month, size: 4, dark: object.dark }) %>
7
3
  <%= pb_rails("body", props: { text: object.year, size: 4, color: "light", dark: object.dark }) %>
8
4
  <% end %>
@@ -63,6 +63,10 @@
63
63
  width: 100%;
64
64
 
65
65
  [class*="pb_dropdown_option"] {
66
+ padding-left: $space_sm;
67
+ padding-right: $space_sm;
68
+ padding-top: $space_xs;
69
+ padding-bottom: $space_xs;
66
70
  cursor: pointer;
67
71
  &:hover {
68
72
  background-color: $border_light;
@@ -4,7 +4,6 @@ import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from "../uti
4
4
  import { globalProps } from "../utilities/globalProps";
5
5
  import { GenericObject } from "../types";
6
6
 
7
- import Body from "../pb_body/_body";
8
7
  import Caption from "../pb_caption/_caption";
9
8
 
10
9
  import DropdownContainer from "./subcomponents/DropdownContainer";
@@ -235,9 +234,7 @@ const Dropdown = (props: DropdownProps) => {
235
234
  options?.map((option: GenericObject) => (
236
235
  <Dropdown.Option key={option.id}
237
236
  option={option}
238
- >
239
- <Body text={option.label} />
240
- </Dropdown.Option>
237
+ />
241
238
  ))}
242
239
  </DropdownContainer>
243
240
  </>
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from 'react'
2
- import { Dropdown, User, FlexItem, Badge, Avatar } from '../../'
2
+ import { Dropdown, User, Flex, FlexItem, Badge, Avatar } from '../../'
3
3
 
4
4
  const DropdownWithCustomDisplay = (props) => {
5
5
  const [selectedOption, setSelectedOption] = useState();
@@ -69,7 +69,10 @@ const DropdownWithCustomDisplay = (props) => {
69
69
  <Dropdown.Option key={option.id}
70
70
  option={option}
71
71
  >
72
- <>
72
+ <Flex
73
+ align="center"
74
+ justify="between"
75
+ >
73
76
  <FlexItem>
74
77
  <User
75
78
  align="left"
@@ -93,7 +96,7 @@ const DropdownWithCustomDisplay = (props) => {
93
96
  }`}
94
97
  />
95
98
  </FlexItem>
96
- </>
99
+ </Flex>
97
100
  </Dropdown.Option>
98
101
  ))}
99
102
  </Dropdown>
@@ -48,12 +48,17 @@
48
48
  <%= pb_rails("dropdown/dropdown_container") do %>
49
49
  <% options.each do |option| %>
50
50
  <%= pb_rails("dropdown/dropdown_option", props: {option: option}) do %>
51
- <%= pb_rails("flex/flex_item") do %>
52
- <%= pb_rails("user", props: {name: option[:label], align:"left", avatar: true, orientation:"horizontal", territory:option[:territory], title: option[:title]}) %>
53
- <% end %>
54
- <%= pb_rails("flex/flex_item") do %>
55
- <%= pb_rails("badge", props: {rounded: true, dark: true, text: option[:status], variant: option[:status] == "Offline" ? "neutral" : option[:status] == "Online" ? "success" : "warning" }) %>
56
- <% end %>
51
+ <%= pb_rails("flex", props: {
52
+ align: "center",
53
+ justify: "between",
54
+ }) do %>
55
+ <%= pb_rails("flex/flex_item") do %>
56
+ <%= pb_rails("user", props: {name: option[:label], align:"left", avatar: true, orientation:"horizontal", territory:option[:territory], title: option[:title]}) %>
57
+ <% end %>
58
+ <%= pb_rails("flex/flex_item") do %>
59
+ <%= pb_rails("badge", props: {rounded: true, dark: true, text: option[:status], variant: option[:status] == "Offline" ? "neutral" : option[:status] == "Online" ? "success" : "warning" }) %>
60
+ <% end %>
61
+ <% end %>
57
62
  <% end %>
58
63
  <% end %>
59
64
  <% end %>
@@ -38,7 +38,10 @@ const DropdownWithCustomOptions = (props) => {
38
38
  <Dropdown.Option key={option.id}
39
39
  option={option}
40
40
  >
41
- <>
41
+ <Flex
42
+ align="center"
43
+ justify="between"
44
+ >
42
45
  <FlexItem>
43
46
  <Flex>
44
47
  <Icon icon={option.icon}
@@ -52,7 +55,7 @@ const DropdownWithCustomOptions = (props) => {
52
55
  text={option.areaCode}
53
56
  />
54
57
  </FlexItem>
55
- </>
58
+ </Flex>
56
59
  </Dropdown.Option>
57
60
  ))}
58
61
  </Dropdown>
@@ -30,14 +30,19 @@
30
30
  <%= pb_rails("dropdown/dropdown_container") do %>
31
31
  <% options.each do |option| %>
32
32
  <%= pb_rails("dropdown/dropdown_option", props: {option: option}) do %>
33
- <%= pb_rails("flex/flex_item") do %>
34
- <%= pb_rails("flex") do %>
35
- <%= pb_rails("icon", props: {icon: option[:icon]}) %>
36
- <%= pb_rails("body", props: {text: option[:label], padding_left:"xs"}) %>
37
- <% end %>
38
- <% end %>
39
- <%= pb_rails("flex/flex_item") do %>
40
- <%= pb_rails("body", props: {color:"light", text: option[:areaCode]}) %>
33
+ <%= pb_rails("flex", props: {
34
+ align: "center",
35
+ justify: "between",
36
+ }) do %>
37
+ <%= pb_rails("flex/flex_item") do %>
38
+ <%= pb_rails("flex") do %>
39
+ <%= pb_rails("icon", props: {icon: option[:icon]}) %>
40
+ <%= pb_rails("body", props: {text: option[:label], padding_left:"xs"}) %>
41
+ <% end %>
42
+ <% end %>
43
+ <%= pb_rails("flex/flex_item") do %>
44
+ <%= pb_rails("body", props: {color:"light", text: option[:areaCode]}) %>
45
+ <% end %>
41
46
  <% end %>
42
47
  <% end %>
43
48
  <% end %>
@@ -1 +1 @@
1
- By default, dropdown option padding is set to `xs`, but this padding can be overridden using our global prop spacing token. In this example we are increasing the option padding to `sm`.
1
+ By default, dropdown option paddingX is set to `sm` and paddingY is set to `xs`, but this padding can be overridden using our global padding props. In this example we are setting the option padding to `sm` all around.
@@ -51,7 +51,10 @@ const [selectedOption, setSelectedOption] = useState();
51
51
  <Dropdown.Option key={option.id}
52
52
  option={option}
53
53
  >
54
- <>
54
+ <Flex
55
+ align="center"
56
+ justify="between"
57
+ >
55
58
  <FlexItem>
56
59
  <Flex>
57
60
  <Icon icon={option.icon}
@@ -65,7 +68,7 @@ const [selectedOption, setSelectedOption] = useState();
65
68
  text={option.areaCode}
66
69
  />
67
70
  </FlexItem>
68
- </>
71
+ </Flex>
69
72
  </Dropdown.Option>
70
73
  ))}
71
74
  </Dropdown.Container>
@@ -32,15 +32,20 @@
32
32
  <%= pb_rails("dropdown/dropdown_container", props:{max_width:"xs"}) do %>
33
33
  <% options.each do |option| %>
34
34
  <%= pb_rails("dropdown/dropdown_option", props: {option: option}) do %>
35
+ <%= pb_rails("flex", props: {
36
+ align: "center",
37
+ justify: "between",
38
+ }) do %>
35
39
  <%= pb_rails("flex/flex_item") do %>
36
- <%= pb_rails("flex") do %>
37
- <%= pb_rails("icon", props: {icon: option[:icon]}) %>
38
- <%= pb_rails("body", props: {text: option[:label], padding_left:"xs"}) %>
39
- <% end %>
40
- <% end %>
41
- <%= pb_rails("flex/flex_item") do %>
42
- <%= pb_rails("body", props: {color:"light", text: option[:areaCode]}) %>
43
- <% end %>
40
+ <%= pb_rails("flex") do %>
41
+ <%= pb_rails("icon", props: {icon: option[:icon]}) %>
42
+ <%= pb_rails("body", props: {text: option[:label], padding_left:"xs"}) %>
43
+ <% end %>
44
+ <% end %>
45
+ <%= pb_rails("flex/flex_item") do %>
46
+ <%= pb_rails("body", props: {color:"light", text: option[:areaCode]}) %>
47
+ <% end %>
48
+ <% end %>
44
49
  <% end %>
45
50
  <% end %>
46
51
  <% end %>
@@ -203,5 +203,5 @@ test('selected option on click', () => {
203
203
  const kit = screen.getByTestId(testId)
204
204
  const option = kit.querySelector('.pb_dropdown_option_list')
205
205
  option.click()
206
- expect(option).toHaveClass('pb_dropdown_option_selected p_xs')
206
+ expect(option).toHaveClass('pb_dropdown_option_selected')
207
207
  })
@@ -10,18 +10,12 @@
10
10
  padding:"none",
11
11
  cursor: "pointer"
12
12
  }) do %>
13
- <%= pb_rails("flex", props: {
14
- align: "center",
15
- classname:"dropdown_option_wrapper",
16
- justify: "between",
17
- padding_x:"sm",
18
- padding_y:"xxs",
19
- }) do %>
13
+ <div class="dropdown_option_wrapper">
20
14
  <% if content.present? %>
21
15
  <%= content.presence %>
22
16
  <% else %>
23
17
  <%= pb_rails("body", props: {text: object.option[:label]}) %>
24
18
  <% end %>
25
- <% end %>
19
+ </div>
26
20
  <% end %>
27
21
  <% end %>
@@ -10,12 +10,8 @@ module Playbook
10
10
  Hash(prop(:data)).merge("dropdown_option_label": option)
11
11
  end
12
12
 
13
- def padding_helper
14
- " p_xs"
15
- end
16
-
17
13
  def classname
18
- generate_classname("pb_dropdown_option", "list") + padding_helper
14
+ generate_classname("pb_dropdown_option", "list")
19
15
  end
20
16
  end
21
17
  end
@@ -10,7 +10,6 @@ import { globalProps, GlobalProps } from "../../utilities/globalProps";
10
10
 
11
11
  import DropdownContext from "../context";
12
12
 
13
- import Flex from "../../pb_flex/_flex";
14
13
  import Body from "../../pb_body/_body";
15
14
  import ListItem from "../../pb_list/_list_item";
16
15
  import { GenericObject } from "../../types";
@@ -39,7 +38,6 @@ const DropdownOption = (props: DropdownOptionProps) => {
39
38
  id,
40
39
  key,
41
40
  option,
42
- padding = "xs",
43
41
  } = props;
44
42
 
45
43
  const {
@@ -77,7 +75,7 @@ const DropdownOption = (props: DropdownOptionProps) => {
77
75
  selectedClass,
78
76
  focusedClass,
79
77
  ),
80
- globalProps(props, {padding}),
78
+ globalProps(props),
81
79
  className
82
80
  );
83
81
 
@@ -98,20 +96,12 @@ const DropdownOption = (props: DropdownOptionProps) => {
98
96
  key={option.label}
99
97
  padding="none"
100
98
  >
101
- <Flex
102
- align="center"
103
- className="dropdown_option_wrapper"
104
- justify="between"
105
- paddingX="sm"
106
- paddingY="xxs"
107
- >
108
99
  {children ?
109
- children :
100
+ <div className="dropdown_option_wrapper">{children}</div> :
110
101
  <Body dark={dark}
111
102
  text={option.label}
112
103
  />
113
104
  }
114
- </Flex>
115
105
  </ListItem>
116
106
  </div>
117
107
  );
@@ -0,0 +1,23 @@
1
+ ![Children-Toast](https://github.com/powerhome/playbook-swift/assets/54749071/55aebd12-43c4-4061-92d3-6aebb07ff349)
2
+
3
+ ```swift
4
+ VStack(alignment: .leading) {
5
+ PBToast(
6
+ text: message,
7
+ variant: .success,
8
+ actionView: .custom(AnyView(Text("Undo").pbFont(.title4, color: .white))),
9
+ dismissAction: closeToast
10
+ )
11
+ PBToast(
12
+ variant: .custom(nil, .pbPrimary),
13
+ actionView: .custom(
14
+ AnyView(
15
+ HStack {
16
+ Text("Undo action").pbFont(.caption, color: .white)
17
+ PBButton(variant: .primary, title: "Undo").disabled(true)
18
+ }
19
+ )),
20
+ dismissAction: closeToast
21
+ )
22
+ }
23
+ ```
@@ -0,0 +1,7 @@
1
+ ```swift
2
+ VStack(alignment: .leading) {
3
+ PBToast(text: "Error Message", variant: .error, actionView: .default, dismissAction: closeToast)
4
+ PBToast(text: "Items Successfully Moved", variant: .success, actionView: .default, dismissAction: closeToast)
5
+ PBToast(text: "Scan to Assign Selected Items", variant: .neutral, actionView: .default, dismissAction: closeToast)
6
+ }
7
+ ```
@@ -0,0 +1,9 @@
1
+ ![Default-Toast](https://github.com/powerhome/playbook-swift/assets/54749071/cc465b1b-85ba-4492-a832-b06b842a1555)
2
+
3
+ ```swift
4
+ VStack(alignment: .leading) {
5
+ PBToast(text: "Error Message", variant: .error, dismissAction: closeToast)
6
+ PBToast(text: "Items Successfully Moved", variant: .success, dismissAction: closeToast)
7
+ PBToast(text: "Scan to Assign Selected Items", variant: .neutral, dismissAction: closeToast)
8
+ }
9
+ ```
@@ -0,0 +1,22 @@
1
+ ```swift
2
+ HStack {
3
+ PBButton(variant: .secondary, title: "Top Center") {
4
+ position = .top
5
+ toastView = PBToast(
6
+ text: "Top Center",
7
+ variant: .neutral,
8
+ actionView: .withTimer(3),
9
+ dismissAction: closeToast
10
+ )
11
+ }
12
+ PBButton(variant: .secondary, title: "Bottom Center") {
13
+ position = .bottom
14
+ toastView = PBToast(
15
+ text: "Bottom Center",
16
+ variant: .neutral,
17
+ actionView: .withTimer(2),
18
+ dismissAction: closeToast
19
+ )
20
+ }
21
+ }
22
+ ```
@@ -0,0 +1,9 @@
1
+ ![Multiline-Toast](https://github.com/powerhome/playbook-swift/assets/54749071/df7bb8da-89ee-477e-8001-7262e48ce03a)
2
+
3
+ ```swift
4
+ PBToast(
5
+ text: message,
6
+ variant: .custom(.infoCircle, .pbPrimary),
7
+ dismissAction: closeToast
8
+ )
9
+ ```
@@ -0,0 +1,62 @@
1
+ ```swift
2
+ GridRow {
3
+ PBButton(variant: .secondary, title: "Top Left") {
4
+ position = .topLeft
5
+ toastView = PBToast(
6
+ text: "Top Left",
7
+ variant: .neutral,
8
+ actionView: .default,
9
+ dismissAction: closeToast
10
+ )
11
+ }
12
+ PBButton(variant: .secondary, title: "Top Right") {
13
+ position = .topRight
14
+ toastView = PBToast(
15
+ text: "Top Right",
16
+ variant: .neutral,
17
+ actionView: .default,
18
+ dismissAction: closeToast
19
+ )
20
+ }
21
+ }
22
+ GridRow {
23
+ PBButton(variant: .secondary, title: "Top Center") {
24
+ position = .top
25
+ toastView = PBToast(
26
+ text: "Top Center",
27
+ variant: .neutral,
28
+ actionView: .default,
29
+ dismissAction: closeToast
30
+ )
31
+ }
32
+ PBButton(variant: .secondary, title: "Bottom Center") {
33
+ position = .bottom
34
+ toastView = PBToast(
35
+ text: "Bottom Center",
36
+ variant: .custom(.user, .status(.neutral)),
37
+ actionView: .default,
38
+ dismissAction: closeToast
39
+ )
40
+ }
41
+ }
42
+ GridRow {
43
+ PBButton(variant: .secondary, title: "Bottom Left") {
44
+ position = .bottomLeft
45
+ toastView = PBToast(
46
+ text: "Bottom Left",
47
+ variant: .custom(.user, .status(.neutral)),
48
+ actionView: .default,
49
+ dismissAction: closeToast
50
+ )
51
+ }
52
+ PBButton(variant: .secondary, title: "Bottom Right") {
53
+ position = .bottomRight
54
+ toastView = PBToast(
55
+ text: "Bottom Right",
56
+ variant: .custom(.user, .status(.neutral)),
57
+ actionView: .default,
58
+ dismissAction: closeToast
59
+ )
60
+ }
61
+ }
62
+ ```
@@ -0,0 +1,8 @@
1
+ ### Props
2
+ | Name | Type | Description | Default | Values |
3
+ | --- | ----------- | --------- | --------- | --------- |
4
+ | **text** | `String` |`Value for the toast message` | `nil` | |
5
+ | **variant** | `Variant` | `Determines the type pf toast message being displayed` | `.custom()` | `error`, `success`,
6
+ `neutral`, `custom()` |
7
+ | **actionView** | `dismissAction` | Dismisses the toast message | `.default` | `default` `custom()` `withTimer()` |
8
+ | **dismissAction** | `(() -> Void)` | `Triggers the dismiss action` | | |
@@ -14,3 +14,12 @@ examples:
14
14
  - fixed_confirmation_toast_positions: Click to Show Positions
15
15
  - fixed_confirmation_toast_auto_close: Click to Show Auto Close
16
16
  - fixed_confirmation_toast_children: Children
17
+
18
+ swift:
19
+ - fixed_confirmation_toast_default_swift: Default
20
+ - fixed_confirmation_toast_multi_line_swift: Multi Line
21
+ #- fixed_confirmation_toast_close_swift: Click to Close
22
+ #- fixed_confirmation_toast_positions_swift: Click to Show Positions
23
+ - fixed_confirmation_toast_children_swift: Children
24
+ #- fixed_confirmation_toast_dismiss_with_timer_swift: Timer
25
+ - fixed_confirmation_toast_props_swift: ""