playbook_ui 7.7.0.pre.alpha1 → 7.8.3

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 (109) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/{sample_screenshot.svg → full_page_samples.svg} +0 -0
  3. data/app/pb_kits/playbook/_playbook.scss +4 -1
  4. data/app/pb_kits/playbook/data/menu.yml +3 -0
  5. data/app/pb_kits/playbook/index.js +4 -1
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +1 -1
  7. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +27 -0
  8. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -2
  9. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.jsx +8 -2
  10. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +9 -2
  11. data/app/pb_kits/playbook/pb_filter/Filter/FilterDouble.jsx +17 -6
  12. data/app/pb_kits/playbook/pb_filter/Filter/FilterSingle.jsx +15 -5
  13. data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +2 -1
  14. data/app/pb_kits/playbook/pb_filter/Filter/ResultsCount.jsx +4 -1
  15. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +9 -4
  16. data/app/pb_kits/playbook/pb_filter/Filter/index.jsx +0 -1
  17. data/app/pb_kits/playbook/pb_filter/_filter.scss +44 -23
  18. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +3 -2
  19. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +5 -4
  20. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.html.erb +6 -4
  21. data/app/pb_kits/playbook/pb_filter/docs/_filter_no_background.jsx +73 -28
  22. data/app/pb_kits/playbook/pb_filter/docs/_filter_only.jsx +3 -7
  23. data/app/pb_kits/playbook/pb_filter/docs/_filter_single.jsx +4 -3
  24. data/app/pb_kits/playbook/pb_filter/docs/_sort_only.html.erb +1 -2
  25. data/app/pb_kits/playbook/pb_filter/docs/_sort_only.jsx +3 -3
  26. data/app/pb_kits/playbook/pb_filter/docs/example.yml +4 -5
  27. data/app/pb_kits/playbook/pb_form_group/_form_group.html.erb +7 -0
  28. data/app/pb_kits/playbook/pb_form_group/_form_group.jsx +41 -0
  29. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +123 -0
  30. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_button.html.erb +12 -0
  31. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_button.jsx +39 -0
  32. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_date_picker.html.erb +6 -0
  33. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_date_picker.jsx +21 -0
  34. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_default.html.erb +7 -0
  35. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_default.jsx +26 -0
  36. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +19 -0
  37. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +35 -0
  38. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card.html.erb +21 -0
  39. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card.jsx +42 -0
  40. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card_icon.html.erb +19 -0
  41. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_selectable_card_icon.jsx +35 -0
  42. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_typeahead.html.erb +42 -0
  43. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_typeahead.jsx +31 -0
  44. data/app/pb_kits/playbook/pb_form_group/docs/example.yml +20 -0
  45. data/app/pb_kits/playbook/pb_form_group/docs/index.js +7 -0
  46. data/app/pb_kits/playbook/pb_form_group/form_group.rb +15 -0
  47. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.html.erb +24 -0
  48. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.jsx +105 -0
  49. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.scss +64 -0
  50. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.html.erb +49 -0
  51. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_color.jsx +67 -0
  52. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_default.html.erb +11 -0
  53. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_default.jsx +25 -0
  54. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_sizes.html.erb +20 -0
  55. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_sizes.jsx +35 -0
  56. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_vertical.html.erb +7 -0
  57. data/app/pb_kits/playbook/pb_icon_stat_value/docs/_icon_stat_value_vertical.jsx +19 -0
  58. data/app/pb_kits/playbook/pb_icon_stat_value/docs/example.yml +15 -0
  59. data/app/pb_kits/playbook/pb_icon_stat_value/docs/index.js +4 -0
  60. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +52 -0
  61. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.html.erb +1 -0
  62. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.jsx +123 -0
  63. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +215 -0
  64. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.html.erb +1 -0
  65. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_default.jsx +10 -0
  66. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.html.erb +3 -0
  67. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx +11 -0
  68. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb +1 -0
  69. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx +10 -0
  70. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb +1 -0
  71. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.jsx +14 -0
  72. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.html.erb +115 -0
  73. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_templates.jsx +39 -0
  74. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +15 -0
  75. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +5 -0
  76. data/app/pb_kits/playbook/pb_rich_text_editor/docs/templates.js +75 -0
  77. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +55 -0
  78. data/app/pb_kits/playbook/pb_rich_text_editor/useFocus.js +20 -0
  79. data/app/pb_kits/playbook/pb_table/_table.scss +45 -13
  80. data/app/pb_kits/playbook/pb_table/docs/_description.md +1 -0
  81. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.html.erb +34 -0
  82. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.jsx +43 -0
  83. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_column.md +2 -0
  84. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.html.erb +34 -0
  85. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.jsx +43 -0
  86. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_row.md +2 -0
  87. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.html.erb +63 -0
  88. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.jsx +70 -0
  89. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.md +2 -0
  90. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.html.erb +52 -0
  91. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_row.jsx +61 -0
  92. data/app/pb_kits/playbook/pb_table/docs/example.yml +9 -1
  93. data/app/pb_kits/playbook/pb_table/docs/index.js +4 -1
  94. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.html.erb +3 -6
  95. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +15 -21
  96. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +0 -17
  97. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.html.erb +4 -1
  98. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx +12 -1
  99. data/app/pb_kits/playbook/pb_time_stacked/docs/example.yml +1 -4
  100. data/app/pb_kits/playbook/pb_time_stacked/docs/index.js +0 -1
  101. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.rb +7 -11
  102. data/app/pb_kits/playbook/react_rails_kits.js +1 -0
  103. data/app/pb_kits/playbook/utilities/globalProps.js +9 -0
  104. data/app/pb_kits/playbook/utilities/test-utils.js +24 -0
  105. data/app/pb_kits/playbook/vendor.js +2 -0
  106. data/lib/playbook/version.rb +1 -1
  107. metadata +73 -10
  108. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_caption.html.erb +0 -2
  109. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_caption.jsx +0 -15
@@ -2,7 +2,8 @@
2
2
  pb_rails("filter", props: {
3
3
  id: "1",
4
4
  filters: [
5
- { name: "name", value: "John Wick" }
5
+ { name: "name", value: "John Wick" },
6
+ { name: "city", value: "San Francisco"}
6
7
  ],
7
8
  sort_menu: [
8
9
  { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
@@ -10,7 +11,7 @@
10
11
  { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
11
12
  ],
12
13
  template: "default",
13
- results: 546,
14
+ results: 1,
14
15
  }) do
15
16
  %>
16
17
  <%
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { Button, Filter, Flex, Select, TextInput } from '../../'
3
3
 
4
- const FilterDefault = () => {
4
+ const FilterDefault = (props) => {
5
5
  const options = [
6
6
  { value: 'USA' },
7
7
  { value: 'Canada' },
@@ -11,12 +11,13 @@ const FilterDefault = () => {
11
11
  ]
12
12
  return (
13
13
  <Filter
14
+ {...props}
14
15
  double
15
16
  filters={{
16
17
  'Full Name': 'John Wick',
17
- 'Territory': 'San Francisco',
18
+ 'City': 'San Francisco',
18
19
  }}
19
- results={256}
20
+ results={1}
20
21
  sortOptions={{
21
22
  popularity: 'Popularity',
22
23
  // eslint-disable-next-line
@@ -24,7 +25,7 @@ const FilterDefault = () => {
24
25
  // eslint-disable-next-line
25
26
  manager_name: 'Manager\'s Name',
26
27
  }}
27
- sortValue={[{ name: 'popularity', dir: 'asc' }]}
28
+ sortValue={[{ name: 'popularity', dir: 'desc' }]}
28
29
  >
29
30
  <TextInput
30
31
  label="Full Name"
@@ -3,14 +3,15 @@
3
3
  id: "3",
4
4
  background: false,
5
5
  filters: [
6
- { name: "name", value: "John Wick" }
6
+ { name: "name", value: "John Wick" },
7
+ { name: "city", value: "Las Vegas"}
7
8
  ],
8
9
  sort_menu: [
9
10
  { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
10
11
  { item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
11
12
  { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
12
13
  ],
13
- results: 1,
14
+ results: 3,
14
15
  template: "single"
15
16
  }) do
16
17
  %>
@@ -47,14 +48,15 @@
47
48
  id: "4",
48
49
  background: false,
49
50
  filters: [
50
- { name: "name", value: "John Wick" }
51
+ { name: "name", value: "John Wick" },
52
+ { name: "city", value: "Las Vegas"}
51
53
  ],
52
54
  sort_menu: [
53
55
  { item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
54
56
  { item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
55
57
  { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
56
58
  ],
57
- results: 546,
59
+ results: 3,
58
60
  }) do
59
61
  %>
60
62
  <%
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { Button, Filter, Flex, Select, TextInput } from '../../'
3
3
 
4
- const FilterNoBackground = () => {
4
+ const FilterNoBackground = (props) => {
5
5
  const options = [
6
6
  { value: 'USA' },
7
7
  { value: 'Canada' },
@@ -10,45 +10,90 @@ const FilterNoBackground = () => {
10
10
  { value: 'A Galaxy Far Far Away Like Really Far Away' },
11
11
  ]
12
12
  return (
13
- <Filter
14
- background={false}
15
- filters={{
13
+ <>
14
+ <Filter
15
+ {...props}
16
+ background={false}
17
+ filters={{
16
18
  'Full Name': 'John Wick',
17
- 'Territory': 'San Francisco',
19
+ 'City': 'Las Vegas',
18
20
  }}
19
- results={256}
20
- sortOptions={{
21
+ results={3}
22
+ sortOptions={{
21
23
  popularity: 'Popularity',
22
24
  // eslint-disable-next-line
23
25
  manager_title: 'Manager\'s Title',
24
26
  // eslint-disable-next-line
25
27
  manager_name: 'Manager\'s Name',
26
28
  }}
27
- sortValue={[{ name: 'popularity', dir: 'asc' }]}
28
- >
29
- <TextInput
30
- label="Full Name"
31
- placeholder="Enter name"
32
- />
29
+ sortValue={[{ name: 'popularity', dir: 'desc' }]}
30
+ >
31
+ <TextInput
32
+ label="Full Name"
33
+ placeholder="Enter name"
34
+ />
35
+
36
+ <Select
37
+ blankSelection="Select One..."
38
+ label="Territory"
39
+ name="location"
40
+ options={options}
41
+ />
42
+ <Flex
43
+ spacing="between"
44
+ >
45
+ <Button
46
+ text="Apply"
47
+ />
48
+ <Button
49
+ text="Clear"
50
+ variant="secondary"
51
+ />
52
+ </Flex>
53
+ </Filter>
33
54
 
34
- <Select
35
- blankSelection="Select One..."
36
- label="Territory"
37
- name="location"
38
- options={options}
39
- />
40
- <Flex
41
- spacing="between"
55
+ <Filter
56
+ {...props}
57
+ background={false}
58
+ double
59
+ filters={{
60
+ 'Full Name': 'John Wick',
61
+ 'City': 'Las Vegas',
62
+ }}
63
+ results={3}
64
+ sortOptions={{
65
+ popularity: 'Popularity',
66
+ // eslint-disable-next-line
67
+ manager_title: 'Manager\'s Title',
68
+ // eslint-disable-next-line
69
+ manager_name: 'Manager\'s Name',
70
+ }}
71
+ sortValue={[{ name: 'popularity', dir: 'desc' }]}
42
72
  >
43
- <Button
44
- text="Apply"
73
+ <TextInput
74
+ label="Full Name"
75
+ placeholder="Enter name"
45
76
  />
46
- <Button
47
- text="Clear"
48
- variant="secondary"
77
+
78
+ <Select
79
+ blankSelection="Select One..."
80
+ label="Territory"
81
+ name="location"
82
+ options={options}
49
83
  />
50
- </Flex>
51
- </Filter>
84
+ <Flex
85
+ spacing="between"
86
+ >
87
+ <Button
88
+ text="Apply"
89
+ />
90
+ <Button
91
+ text="Clear"
92
+ variant="secondary"
93
+ />
94
+ </Flex>
95
+ </Filter>
96
+ </>
52
97
  )
53
98
  }
54
99
 
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { Button, Filter, Flex, Select, TextInput } from '../../'
3
3
 
4
- const FilterOnly = () => {
4
+ const FilterOnly = (props) => {
5
5
  const options = [
6
6
  { value: 'USA' },
7
7
  { value: 'Canada' },
@@ -11,12 +11,8 @@ const FilterOnly = () => {
11
11
  ]
12
12
  return (
13
13
  <Filter
14
- background={false}
15
- filters={{
16
- 'Full Name': 'John Wick',
17
- 'Territory': 'San Francisco',
18
- }}
19
- results={256}
14
+ {...props}
15
+ filters={{ 'Full Name': 'John Wick' }}
20
16
  >
21
17
  <TextInput
22
18
  label="Full Name"
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { Button, Filter, Flex, Select, TextInput } from '../../'
3
3
 
4
- const FilterSingle = () => {
4
+ const FilterSingle = (props) => {
5
5
  const options = [
6
6
  { value: 'USA' },
7
7
  { value: 'Canada' },
@@ -11,10 +11,11 @@ const FilterSingle = () => {
11
11
  ]
12
12
  return (
13
13
  <Filter
14
+ {...props}
14
15
  filters={{
15
16
  'Full Name': 'John Wick',
16
- 'Territory': 'San Francisco',
17
17
  }}
18
+ results={546}
18
19
  sortOptions={{
19
20
  popularity: 'Popularity',
20
21
  // eslint-disable-next-line
@@ -22,7 +23,7 @@ const FilterSingle = () => {
22
23
  // eslint-disable-next-line
23
24
  manager_name: 'Manager\'s Name',
24
25
  }}
25
- sortValue={[{ name: 'popularity', dir: 'asc' }]}
26
+ sortValue={[{ name: 'popularity', dir: 'desc' }]}
26
27
  >
27
28
  <TextInput
28
29
  label="Full Name"
@@ -7,6 +7,5 @@
7
7
  { item: "Manager's Name", link: "?q[sorts]=managers_name+asc", active: false },
8
8
  ],
9
9
  template:"sort_only",
10
- background: false,
11
10
  })
12
- %>
11
+ %>
@@ -1,9 +1,9 @@
1
1
  import React from 'react'
2
2
  import { Filter } from '../../'
3
3
 
4
- const SortOnly = () => (
4
+ const SortOnly = (props) => (
5
5
  <Filter
6
- background={false}
6
+ {...props}
7
7
  sortOptions={{
8
8
  popularity: 'Popularity',
9
9
  // eslint-disable-next-line
@@ -11,7 +11,7 @@ const SortOnly = () => (
11
11
  // eslint-disable-next-line
12
12
  manager_name: 'Manager\'s Name',
13
13
  }}
14
- sortValue={[{ name: 'manager_title', dir: 'desc' }]}
14
+ sortValue={[{ name: 'popularity', dir: 'desc' }]}
15
15
  />
16
16
  )
17
17
 
@@ -1,16 +1,15 @@
1
1
  examples:
2
-
2
+
3
3
  rails:
4
4
  - filter_default: Default
5
- - filter_single: Single
6
5
  - filter_no_background: No Background
6
+ - filter_single: Single
7
7
  - filter_only: Filter Only
8
8
  - sort_only: Sort Only
9
-
9
+
10
10
  react:
11
11
  - filter_default: Default
12
- - filter_single: Single
13
12
  - filter_no_background: No Background
13
+ - filter_single: Single
14
14
  - filter_only: Filter Only
15
15
  - sort_only: Sort Only
16
-
@@ -0,0 +1,7 @@
1
+ <%= content_tag(:div,
2
+ aria: object.aria,
3
+ class: object.classname,
4
+ data: object.data,
5
+ id: object.id) do %>
6
+ <%= capture(&object.children) %>
7
+ <% end %>
@@ -0,0 +1,41 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
+
8
+ type FormGroupProps = {
9
+ aria?: object,
10
+ children?: Node,
11
+ className?: string,
12
+ data?: object,
13
+ id?: string,
14
+ }
15
+
16
+ const FormGroup = (props: FormGroupProps) => {
17
+ const {
18
+ aria = {},
19
+ className,
20
+ data = {},
21
+ id,
22
+ children,
23
+ } = props
24
+
25
+ const ariaProps = buildAriaProps(aria)
26
+ const dataProps = buildDataProps(data)
27
+ const classes = classnames(buildCss('pb_form_group_kit'), globalProps(props), className)
28
+
29
+ return (
30
+ <div
31
+ {...ariaProps}
32
+ {...dataProps}
33
+ className={classes}
34
+ id={id}
35
+ >
36
+ {children}
37
+ </div>
38
+ )
39
+ }
40
+
41
+ export default FormGroup
@@ -0,0 +1,123 @@
1
+ [class^=pb_form_group_kit] {
2
+ display: inline-flex;
3
+ flex-direction: row;
4
+ align-items: flex-end;
5
+ justify-content: flex-start;
6
+
7
+ & [class^=pb_text_input_kit] .text_input_wrapper,
8
+ & [class^=pb_date_picker_kit] .input_wrapper,
9
+ & [class^=pb_select] {
10
+ margin-bottom: 0;
11
+ }
12
+
13
+ [class^=pb_text_input_kit].dark .text_input_wrapper {
14
+ margin-bottom: 0
15
+ }
16
+
17
+ & > [class^=pb_text_input_kit]:not(:last-child) {
18
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
19
+ border-bottom-right-radius: 0;
20
+ border-top-right-radius: 0;
21
+ border-right-width: 0;
22
+ }
23
+ }
24
+
25
+ & > [class^=pb_text_input_kit]:not(:first-child) {
26
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
27
+ border-bottom-left-radius: 0;
28
+ border-top-left-radius: 0;
29
+ }
30
+ }
31
+
32
+ & > [class^=pb_button_kit]:not(:last-child) {
33
+ border-bottom-right-radius: 0;
34
+ border-top-right-radius: 0;
35
+ min-height: 45px;
36
+ }
37
+
38
+ & > [class^=pb_button_kit]:not(:first-child) {
39
+ border-bottom-left-radius: 0;
40
+ border-top-left-radius: 0;
41
+ border-left-width: 0;
42
+ min-height: 45px;
43
+ }
44
+
45
+ & > [class^=pb_date_picker_kit]:not(:last-child) {
46
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .flatpickr-wrapper {
47
+ border-bottom-right-radius: 0;
48
+ border-top-right-radius: 0;
49
+ border-right-width: 0;
50
+ }
51
+ }
52
+
53
+ & > [class^=pb_date_picker_kit]:not(:first-child) {
54
+ .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .flatpickr-wrapper {
55
+ border-bottom-left-radius: 0;
56
+ border-top-left-radius: 0;
57
+ }
58
+ }
59
+
60
+ & > [class^=pb_select]:not(:last-child) {
61
+ margin-bottom: 0px;
62
+ .pb_select_kit_wrapper select {
63
+ border-bottom-right-radius: 0;
64
+ border-top-right-radius: 0;
65
+ border-right-width: 0;
66
+ }
67
+ }
68
+
69
+ & > [class^=pb_select]:not(:first-child) {
70
+ margin-bottom: 0px;
71
+ .pb_select_kit_wrapper select {
72
+ border-bottom-left-radius: 0;
73
+ border-top-left-radius: 0;
74
+ }
75
+ }
76
+
77
+ & > [class^=pb_selectable_card_kit]:not(:last-child) label {
78
+ border-bottom-right-radius: 0;
79
+ border-top-right-radius: 0;
80
+ border-right-width: 0;
81
+ }
82
+
83
+ & > [class^=pb_selectable_card_kit]:not(:first-child) label {
84
+ border-bottom-left-radius: 0;
85
+ border-top-left-radius: 0;
86
+ }
87
+
88
+ & > [class^=pb_selectable_card_icon_kit]:not(:last-child) [class^=pb_selectable_card_kit] label {
89
+ border-bottom-right-radius: 0;
90
+ border-top-right-radius: 0;
91
+ }
92
+
93
+ & > [class^=pb_selectable_card_icon_kit]:not(:first-child) [class^=pb_selectable_card_kit] label {
94
+ border-bottom-left-radius: 0;
95
+ border-top-left-radius: 0;
96
+ }
97
+
98
+ & > [class^=pb_selectable_card_icon_kit]:not(:last-child) {
99
+ [class^=pb_selectable_card_kit] input[type="checkbox"]:not(:checked) ~ label, [class^=pb_selectable_card_kit] input[type="radio"]:not(:checked)~ label {
100
+ border-right-width: 0;
101
+ }
102
+ }
103
+
104
+ & > [class^=pb_typeahead_kit] {
105
+ min-width: 200px;
106
+ }
107
+
108
+ & > [class^=pb_typeahead_kit]:not(:last-child) {
109
+ [class^=pb_text_input_kit] .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
110
+ border-bottom-right-radius: 0;
111
+ border-top-right-radius: 0;
112
+ border-right-width: 0;
113
+ min-height: 26px;
114
+ }
115
+ }
116
+
117
+ & > [class^=pb_typeahead_kit]:not(:first-child) {
118
+ [class^=pb_text_input_kit] .text_input_wrapper input, [class^=pb_text_input_kit] .text_input_wrapper .text_input {
119
+ border-bottom-left-radius: 0;
120
+ border-top-left-radius: 0;
121
+ }
122
+ }
123
+ }