playbook_ui 16.1.0.pre.rc.0 → 16.1.0.pre.rc.1

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: ec3832a5a9d172af005bea73161b414b33cce3a4b9351680a75be21567f70f1f
4
- data.tar.gz: 9b88540268a3c696e5e810642e48ceeededa245b3ce5a3e46e23562b85e0a339
3
+ metadata.gz: 417316b6bfeb02f46d29a9daa9fc6bccd490cffd020f4569d84a3d4ea52b8c34
4
+ data.tar.gz: 3b0839900fc4f979e353a7f7efe1b5d5c2d3f7d2a67aa46eabd8d4bcb9d2d6d0
5
5
  SHA512:
6
- metadata.gz: ad0694a212c9b5924b651c30038152649a9f779f11ea81ad5970315aefcb3a14534654c366049d8ba1d725180c907a9611c3b7c4840ec4cd7f971a11599d135f
7
- data.tar.gz: 7c69619d23491fde3af8952c6e899afffff9c65df6a42d81c938fc6fd37c08e90706bb7eb36f9d9dc6267c83826851424964c5adbc4ac4bd67a04e4294947b02
6
+ metadata.gz: b2cd2d914be8f665656c2992f46523369558857bc21fccb957ef5177d3585353f3b82e86ab6a626bba0f2db88d7de71e4d21dcc48d9c324cafc3d3cf19bdae1b
7
+ data.tar.gz: 82d3240c1359f6a8ecf636d7e1dba9fc8a73e5a5ec244027f93e1a14bd67c8c619302609adf530dfddf25888f4995ab1e3e476314a9300b33963301d0f206c26
@@ -109,13 +109,18 @@ module Playbook
109
109
 
110
110
  svg["class"] = %w[pb_custom_icon svg-inline--fa].concat([object.custom_icon_classname]).join(" ")
111
111
  svg["id"] = object.id
112
- svg["data"] = object.data
113
112
  svg["height"] = "auto"
114
113
  svg["width"] = "auto"
115
114
  svg["tabindex"] = object.tabindex
116
115
  fill_color = object.color || "currentColor"
117
116
  doc.at_css("path")["fill"] = fill_color
118
117
 
118
+ if object.data.present?
119
+ object.data.each do |key, value|
120
+ svg["data-#{key}"] = value
121
+ end
122
+ end
123
+
119
124
  if object.aria.present?
120
125
  object.aria.each do |key, value|
121
126
  k = key.to_s
@@ -0,0 +1,30 @@
1
+ <%= pb_rails("multiple_users", props: {
2
+ with_tooltip: true,
3
+ users: [
4
+ {
5
+ name: "Patrick Welch",
6
+ image_url: "https://randomuser.me/api/portraits/men/9.jpg",
7
+ tooltip: "Patrick Welch - Online"
8
+ },
9
+ {
10
+ name: "Lucille Sanchez",
11
+ image_url: "https://randomuser.me/api/portraits/women/6.jpg",
12
+ tooltip: "Lucille Sanchez - Offline"
13
+ },
14
+ {
15
+ name: "Beverly Reyes",
16
+ image_url: "https://randomuser.me/api/portraits/women/74.jpg",
17
+ tooltip: "Beverly Reyes - Online"
18
+ },
19
+ {
20
+ name: "Keith Craig",
21
+ image_url: "https://randomuser.me/api/portraits/men/40.jpg",
22
+ tooltip: "Keith Craig - Away"
23
+ },
24
+ {
25
+ name: "Alicia Cooper",
26
+ image_url: "https://randomuser.me/api/portraits/women/46.jpg",
27
+ tooltip: "Alicia Cooper - Busy"
28
+ }
29
+ ]
30
+ }) %>
@@ -38,5 +38,5 @@ const MultipleUsersWithTooltip = (props) => {
38
38
  </div>
39
39
  )
40
40
  }
41
- ``
41
+
42
42
  export default MultipleUsersWithTooltip
@@ -1 +1 @@
1
- Use the `withTooltip` boolean prop to enable setting user-specific tooltip content via the `tooltip` property in the users array.
1
+ Use the `withTooltip` / `with_tooltip` boolean prop to enable setting user-specific tooltip content via the `tooltip` property in the users array.
@@ -4,6 +4,7 @@ examples:
4
4
  - multiple_users_default: Default
5
5
  - multiple_users_reverse: Reverse
6
6
  - multiple_users_size: Size
7
+ - multiple_users_with_tooltip: With Tooltip
7
8
 
8
9
 
9
10
  react:
@@ -1,11 +1,55 @@
1
1
  <%= pb_content_tag do %>
2
- <% object.users.take(object.display_count).each do |user| %>
3
- <%= pb_rails("avatar", props: user.merge({size: object.size, classname: "pb_multiple_users_item", dark: object.dark}) ) %>
4
- <% end %>
2
+ <% if object.with_tooltip %>
3
+ <% object.users.take(object.display_count).each_with_index do |user, index| %>
4
+ <% user_id = "multiple-users-#{object.object_id}-user-#{index}" %>
5
+ <div id="<%= user_id %>" class="pb_multiple_users_item">
6
+ <%= pb_rails("avatar", props: user.except(:tooltip).merge({size: object.size, dark: object.dark})) %>
7
+ </div>
8
+ <% end %>
9
+
10
+ <% if object.more_than_four %>
11
+ <% badge_id = "multiple-users-#{object.object_id}-badge" %>
12
+ <div id="<%= badge_id %>" class="pb_multiple_users_item multiple_users_badge_<%= object.size %><%= object.dark ? " dark" : "" %>">
13
+ <%= "+#{object.users.count - object.display_count}" %>
14
+ </div>
15
+ <% end %>
16
+
17
+ <% object.users.take(object.display_count).each_with_index do |user, index| %>
18
+ <% if user[:tooltip].present? %>
19
+ <% user_id = "multiple-users-#{object.object_id}-user-#{index}" %>
20
+ <%= pb_rails("tooltip", props: {
21
+ trigger_element_selector: "##{user_id}",
22
+ tooltip_id: "#{user_id}-tooltip",
23
+ position: "top",
24
+ z_index: "10"
25
+ }) do %>
26
+ <%= user[:tooltip] %>
27
+ <% end %>
28
+ <% end %>
29
+ <% end %>
30
+
31
+ <% if object.more_than_four %>
32
+ <% badge_id = "multiple-users-#{object.object_id}-badge" %>
33
+ <%= pb_rails("tooltip", props: {
34
+ trigger_element_selector: "##{badge_id}",
35
+ tooltip_id: "#{badge_id}-tooltip",
36
+ position: "top",
37
+ z_index: "10"
38
+ }) do %>
39
+ <% object.users.drop(object.display_count).each do |user| %>
40
+ <div><%= user[:tooltip] || user[:name] %></div>
41
+ <% end %>
42
+ <% end %>
43
+ <% end %>
44
+ <% else %>
45
+ <% object.users.take(object.display_count).each do |user| %>
46
+ <%= pb_rails("avatar", props: user.merge({size: object.size, classname: "pb_multiple_users_item", dark: object.dark})) %>
47
+ <% end %>
5
48
 
6
- <% if object.more_than_four %>
7
- <div class="pb_multiple_users_item multiple_users_badge_<%= object.size %><%= object.dark ? " dark" : "" %>">
8
- <%= "+#{object.users.count - object.display_count}" %>
9
- </div>
49
+ <% if object.more_than_four %>
50
+ <div class="pb_multiple_users_item multiple_users_badge_<%= object.size %><%= object.dark ? " dark" : "" %>">
51
+ <%= "+#{object.users.count - object.display_count}" %>
52
+ </div>
53
+ <% end %>
10
54
  <% end %>
11
55
  <% end %>
@@ -8,6 +8,7 @@ module Playbook
8
8
  values: %w[xxs xs],
9
9
  default: "xs"
10
10
  prop :users, type: Playbook::Props::HashArray, required: true
11
+ prop :with_tooltip, type: Playbook::Props::Boolean, default: false
11
12
 
12
13
  def more_than_four
13
14
  users.count > 4
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "16.0.0"
5
- VERSION = "16.1.0.pre.rc.0"
5
+ VERSION = "16.1.0.pre.rc.1"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.1.0.pre.rc.0
4
+ version: 16.1.0.pre.rc.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2026-01-12 00:00:00.000000000 Z
12
+ date: 2026-01-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -2143,6 +2143,7 @@ files:
2143
2143
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.jsx
2144
2144
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.md
2145
2145
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size_swift.md
2146
+ - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.html.erb
2146
2147
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx
2147
2148
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md
2148
2149
  - app/pb_kits/playbook/pb_multiple_users/docs/example.yml