playbook_ui 13.20.0.pre.alpha.PBNTR225advancedtablefeedback2375 → 13.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +19 -21
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +3 -6
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +8 -12
  5. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +9 -14
  6. data/app/pb_kits/playbook/pb_advanced_table/Components/ToggleIconButton.tsx +5 -9
  7. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableBody.tsx +10 -14
  8. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +8 -12
  9. data/app/pb_kits/playbook/pb_advanced_table/Utilities/ExpansionControlHelpers.tsx +2 -3
  10. data/app/pb_kits/playbook/pb_advanced_table/Utilities/types.ts +2 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +9 -2
  12. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +78 -82
  13. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +54 -54
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +7 -7
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +7 -7
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +7 -7
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx +7 -7
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md +1 -1
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +7 -7
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +7 -7
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +7 -7
  22. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +7 -7
  23. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +7 -7
  24. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +7 -7
  25. data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js +1 -1
  26. data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data_inline_loading.js +1 -1
  27. data/app/pb_kits/playbook/pb_nav/_subtle_mixin.scss +0 -4
  28. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -3
  29. data/app/pb_kits/playbook/pb_table/styles/_striped.scss +2 -2
  30. data/app/pb_kits/playbook/pb_table/styles/_structure.scss +2 -4
  31. data/app/pb_kits/playbook/pb_table/table_header.html.erb +39 -49
  32. data/app/pb_kits/playbook/pb_table/table_header.rb +1 -8
  33. data/app/pb_kits/playbook/pb_table/table_row.html.erb +7 -17
  34. data/app/pb_kits/playbook/pb_table/table_row.rb +1 -8
  35. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +5 -9
  36. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_add_on.jsx +0 -20
  37. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +1 -2
  38. data/app/pb_kits/playbook/pb_user/docs/example.yml +0 -1
  39. data/dist/playbook-rails.js +1 -1
  40. data/lib/playbook/version.rb +2 -2
  41. metadata +7 -19
  42. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/_chrome_styles.scss +0 -13
  43. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.html.erb +0 -34
  44. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.md +0 -7
  45. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents_as_divs.html.erb +0 -34
  46. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents_as_divs.md +0 -3
  47. data/app/pb_kits/playbook/pb_table/table_body.html.erb +0 -17
  48. data/app/pb_kits/playbook/pb_table/table_body.rb +0 -15
  49. data/app/pb_kits/playbook/pb_table/table_cell.html.erb +0 -17
  50. data/app/pb_kits/playbook/pb_table/table_cell.rb +0 -17
  51. data/app/pb_kits/playbook/pb_table/table_head.html.erb +0 -17
  52. data/app/pb_kits/playbook/pb_table/table_head.rb +0 -15
  53. data/app/pb_kits/playbook/pb_user/docs/_user_presence_indicator_swift.md +0 -30
@@ -1,7 +1,7 @@
1
1
  [class^=pb_table] {
2
2
  &.striped {
3
3
  tbody, .pb_table_tbody {
4
- tr:nth-child(odd), .pb_table_tr:nth-child(odd) {
4
+ tr:nth-child(odd), .tr:nth-child(odd) {
5
5
  background-color: $bg_light;
6
6
  }
7
7
  }
@@ -10,7 +10,7 @@
10
10
  &.dark {
11
11
  &.striped {
12
12
  tbody, .pb_table_tbody {
13
- tr:nth-child(odd), .pb_table_tr:nth-child(odd) {
13
+ tr:nth-child(odd), .tr:nth-child(odd) {
14
14
  background-color: $bg_dark;
15
15
  }
16
16
  }
@@ -48,8 +48,7 @@
48
48
  }
49
49
  }
50
50
  &.data_table {
51
- thead tr th,
52
- .pb_table_thead .pb_table_tr .pb_table_th {
51
+ thead tr th {
53
52
  padding-top: $cell-pad-sm;
54
53
  padding-bottom: $cell-pad-sm;
55
54
  &:first-child {
@@ -59,8 +58,7 @@
59
58
  padding-right: $cell-pad-sm;
60
59
  }
61
60
  }
62
- tbody tr td,
63
- .pb_table_tbody .pb_table_tr .pb_table_td {
61
+ tbody tr td {
64
62
  padding-top: $cell-pad-sm;
65
63
  padding-bottom: $cell-pad-sm;
66
64
  &:first-child {
@@ -1,57 +1,47 @@
1
- <% if object.tag == "table" %>
2
- <%= content_tag(:th,
3
- colspan: object.colspan,
4
- aria: object.aria,
5
- class: object.classname,
6
- data: object.data,
7
- id: "pb-th#{object.id}" ) do %>
8
- <% unless sorting_style? %>
9
- <%= pb_rails("flex", props:{ align: object.align_content, justify: object.justify_sort_icon, classname: "pb_th_nolink" }) do %>
1
+ <%= content_tag(:th,
2
+ colspan: object.colspan,
3
+ aria: object.aria,
4
+ class: object.classname,
5
+ data: object.data,
6
+ id: "pb-th#{object.id}" ) do %>
7
+ <% unless sorting_style? %>
8
+ <%= pb_rails("flex", props:{ align: object.align_content, justify: object.justify_sort_icon, classname: "pb_th_nolink" }) do %>
9
+ <%= content.presence || object.text %>
10
+ <% end %>
11
+ <% else %>
12
+ <%= link_to next_link, style: link_style do %>
13
+ <%= pb_rails("flex", props:{ align: object.align_content, justify: object.justify_sort_icon, classname: "pb_th_link" }) do %>
10
14
  <%= content.presence || object.text %>
11
- <% end %>
12
- <% else %>
13
- <%= link_to next_link, style: link_style do %>
14
- <%= pb_rails("flex", props:{ align: object.align_content, justify: object.justify_sort_icon, classname: "pb_th_link" }) do %>
15
- <%= content.presence || object.text %>
16
- <% if sorting_style? %>
17
- <%= pb_rails("icon", props: { icon: object.sort_icon(active_item[:direction], active_item[:active]),
18
- fixed_width: true,
19
- classname: active_item.any? ? "pb_th_active" : "",
20
- padding_left: "xs" }) %>
21
- <% end %>
15
+ <% if sorting_style? %>
16
+ <%= pb_rails("icon", props: { icon: object.sort_icon(active_item[:direction], active_item[:active]),
17
+ fixed_width: true,
18
+ classname: active_item.any? ? "pb_th_active" : "",
19
+ padding_left: "xs" }) %>
22
20
  <% end %>
23
21
  <% end %>
24
- <% if use_dropdown_select %>
25
- <%= pb_rails("popover", props: { classname: "pb_filter_sort_menu",
26
- close_on_click: "outside",
27
- trigger_element_id: "pb-th#{object.id}",
28
- tooltip_id: "sort-filter-btn-tooltip#{object.id}",
29
- position: object.placement ,
30
- padding: 'none'}) do %>
31
- <%= pb_rails("nav", props: {classname: "pb_table_header_dropdown"}) do %>
32
- <% object.sort_items.each do |sort_item| %>
33
- <% item = active_or_first_item(sort_items_for(sort_item)) %>
34
- <%= pb_rails("nav/item", props: {
35
- text: item[:item],
36
- link: next_link(sort_item: sort_item),
37
- highlighted_border: false,
38
- padding: "xs",
39
- icon_right: sort_icon(item[:direction], item[:active]),
40
- active: item[:active],
41
- classname: "header_nav_item"
42
- }) %>
43
- <% end %>
22
+ <% end %>
23
+ <% if use_dropdown_select %>
24
+ <%= pb_rails("popover", props: { classname: "pb_filter_sort_menu",
25
+ close_on_click: "outside",
26
+ trigger_element_id: "pb-th#{object.id}",
27
+ tooltip_id: "sort-filter-btn-tooltip#{object.id}",
28
+ position: object.placement ,
29
+ padding: 'none'}) do %>
30
+ <%= pb_rails("nav", props: {classname: "pb_table_header_dropdown"}) do %>
31
+ <% object.sort_items.each do |sort_item| %>
32
+ <% item = active_or_first_item(sort_items_for(sort_item)) %>
33
+ <%= pb_rails("nav/item", props: {
34
+ text: item[:item],
35
+ link: next_link(sort_item: sort_item),
36
+ highlighted_border: false,
37
+ padding: "xs",
38
+ icon_right: sort_icon(item[:direction], item[:active]),
39
+ active: item[:active],
40
+ classname: "header_nav_item"
41
+ }) %>
44
42
  <% end %>
45
43
  <% end %>
46
44
  <% end %>
47
45
  <% end %>
48
46
  <% end %>
49
- <% else %>
50
- <%= content_tag(:div,
51
- aria: object.aria,
52
- class: object.classname,
53
- data: object.data,
54
- id: object.id) do %>
55
- <%= content.presence || object.text %>
56
- <% end %>
57
- <% end %>
47
+ <% end %>
@@ -23,16 +23,9 @@ module Playbook
23
23
  default: ""
24
24
  prop :sort_dropdown, type: Playbook::Props::Boolean,
25
25
  default: false
26
- prop :tag, type: Playbook::Props::Enum,
27
- values: %w[table div],
28
- default: "table"
29
26
 
30
27
  def classname
31
- generate_classname("pb_table_header_kit", align_class) + tag_class
32
- end
33
-
34
- def tag_class
35
- " pb_table_th"
28
+ generate_classname("pb_table_header_kit", align_class)
36
29
  end
37
30
 
38
31
  def align_class
@@ -1,17 +1,7 @@
1
- <% if object.tag == "table" %>
2
- <%= content_tag(:tr,
3
- aria: object.aria,
4
- class: object.classname,
5
- data: object.data,
6
- id: object.id) do %>
7
- <%= content.presence %>
8
- <% end %>
9
- <% else %>
10
- <%= content_tag(:div,
11
- aria: object.aria,
12
- class: object.classname,
13
- data: object.data,
14
- id: object.id) do %>
15
- <%= content.presence %>
16
- <% end %>
17
- <% end %>
1
+ <%= content_tag(:tr,
2
+ aria: object.aria,
3
+ class: object.classname,
4
+ data: object.data,
5
+ id: object.id) do %>
6
+ <%= content.presence %>
7
+ <% end %>
@@ -5,21 +5,14 @@ module Playbook
5
5
  class TableRow < Playbook::KitBase
6
6
  prop :side_highlight_color, type: Playbook::Props::String,
7
7
  default: "none"
8
- prop :tag, type: Playbook::Props::Enum,
9
- values: %w[table div],
10
- default: "table"
11
8
 
12
9
  def classname
13
- generate_classname("pb_table_row_kit", side_highlight_class) + tag_class
10
+ generate_classname("pb_table_row_kit", side_highlight_class)
14
11
  end
15
12
 
16
13
  def side_highlight_class
17
14
  side_highlight_color.present? ? "side_highlight_#{side_highlight_color}" : nil
18
15
  end
19
-
20
- def tag_class
21
- " pb_table_tr"
22
- end
23
16
  end
24
17
  end
25
18
  end
@@ -27,7 +27,7 @@ type TextInputProps = {
27
27
  required?: boolean,
28
28
  type: string,
29
29
  value: string | number,
30
- children: React.ReactElement,
30
+ children: Node,
31
31
  addOn?: {
32
32
  icon?: string,
33
33
  alignment?: "right" | "left",
@@ -85,12 +85,8 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
85
85
  icon={icon}
86
86
  />
87
87
  )
88
-
89
- const childInput = children ? children.type === "input" : undefined
90
-
91
88
  const textInput = (
92
- childInput ? React.cloneElement(children, { className: "text_input" }) :
93
- (<input
89
+ <input
94
90
  {...domSafeProps(props)}
95
91
  className="text_input"
96
92
  disabled={disabled}
@@ -103,7 +99,7 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
103
99
  required={required}
104
100
  type={type}
105
101
  value={value}
106
- />)
102
+ />
107
103
  )
108
104
 
109
105
  const addOnInput = (
@@ -135,7 +131,7 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
135
131
  )
136
132
 
137
133
  const render = (() => {
138
- if (children && !childInput) return children
134
+ if(children) return children
139
135
  if (shouldShowAddOn) return addOnInput
140
136
 
141
137
  return textInput
@@ -148,7 +144,7 @@ const TextInput = (props: TextInputProps, ref: React.LegacyRef<HTMLInputElement>
148
144
  {...htmlProps}
149
145
  className={css}
150
146
  >
151
- {label &&
147
+ {label &&
152
148
  <Caption
153
149
  className="pb_text_input_kit_label"
154
150
  text={label}
@@ -58,16 +58,6 @@ const TextInputAddOn = (props) => {
58
58
  {...props}
59
59
  />
60
60
  </div>
61
- <div>
62
- <TextInput
63
- addOn={{ icon: 'frog', alignment: 'right', border: true }}
64
- label="Right-Aligned Add On With Child Input"
65
- onChange={handleUpdateFourthInput}
66
- {...props}
67
- >
68
- <input />
69
- </TextInput>
70
- </div>
71
61
  <div>
72
62
  <TextInput
73
63
  addOn={{ icon: 'percent', alignment: 'left', border: false }}
@@ -86,16 +76,6 @@ const TextInputAddOn = (props) => {
86
76
  {...props}
87
77
  />
88
78
  </div>
89
- <div>
90
- <TextInput
91
- addOn={{ icon: 'frog', alignment: 'left', border: true }}
92
- label="Left-Aligned Add On With Child Input"
93
- onChange={handleUpdateFourthInput}
94
- {...props}
95
- >
96
- <input />
97
- </TextInput>
98
- </div>
99
79
  </>
100
80
  )
101
81
  }
@@ -7,5 +7,4 @@
7
7
  | **orientation** | `Orientation` | Changes the orientation of the User | `.horizontal` | `.horizontal` `.verticle` |
8
8
  | **size** | `UserAvatarSize` | Changes the size of the User | `.medium` | `.small` `.medium` `.large` |
9
9
  | **territory** | `String` | Adds the User's territory | | |
10
- | **title** | `String` | Adds a title | | |
11
- | **status** | `PBAvatar.PresenceStatus?` | An idicator for the current status of the user | `.none` | `.online` `.away` `.offline` |
10
+ | **title** | `String` | Adds a title | | |
@@ -23,5 +23,4 @@ examples:
23
23
  - user_vertical_size_swift: Vertical
24
24
  - user_text_only_swift: Text Only
25
25
  - user_size_swift: Horizontal Size
26
- - user_presence_indicator_swift: Presence Indicator
27
26
  - user_props_table: ""