playbook_ui_docs 15.5.0.pre.alpha.PLAY2503datepickerdefaultdateoutsideminmaxrange12814 → 15.5.0.pre.alpha.PLAY2554homeaddressstreetaccessibility12695

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 (22) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_background/docs/_background_light.html.erb +1 -1
  3. data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +1 -0
  4. data/app/pb_kits/playbook/pb_background/docs/example.yml +2 -2
  5. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +0 -18
  6. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -8
  7. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -11
  8. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.html.erb +124 -0
  9. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.jsx +147 -12
  10. data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +0 -1
  11. data/app/pb_kits/playbook/pb_multiple_users/docs/index.js +0 -1
  12. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +4 -34
  13. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx +7 -16
  14. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
  15. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -2
  16. metadata +2 -8
  17. data/app/pb_kits/playbook/pb_background/docs/_background_light.md +0 -1
  18. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx +0 -42
  19. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md +0 -1
  20. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.html.erb +0 -30
  21. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.jsx +0 -37
  22. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.md +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 925df1e2ef9d2736c6d12fc0757df1de3c5b6fd1bd65cf80e2683709b8c8db0e
4
- data.tar.gz: 5e142f296b679f8c7a73f521d300299b37a6738101b47396f309df768082141c
3
+ metadata.gz: 2acf31fe2e729157f0eec6992f236189c8b0100c3360834207d0d9dfa0839fd1
4
+ data.tar.gz: 0b86b0feaf79677ca88a94141f6e749fc1aa49a3d1fa7e6b31fbe4be36f5234a
5
5
  SHA512:
6
- metadata.gz: 1ba21d4f497d9e72f8e8e4492ceed6560e28d739d868eddbfcb6be104c3b0f8e193c1700f73c359df233e6aa469e4421eb8989ea627b84309134c6a349d11670
7
- data.tar.gz: 1b6b84d1036a5de6871130a93c4ecf26cc367b4c5746ff9c6bb92c8a024f0510cf96c220688bbcd72b0feeb7091e7e25c818f4aa38e50dc5d31568f2aef723cc
6
+ metadata.gz: 890ec601979f2702d7b2653ad199a4b56446ce06b79a2263a068ab595eb77302b43a26dd86ab895a202faef5d031ed99020726d6c1bfde178f768ce51ee3e8b9
7
+ data.tar.gz: 6d4166fa041999839fa84faeaaa9755a2841e9dfac0eceba5ab4407751b43d3db7f32f334e271dd236004215f57e9fbef5e5cc803e28519173f86f5695870c5a
@@ -1,3 +1,3 @@
1
- <%= pb_rails("background", props: { padding: "xl" }) do %>
1
+ <%= pb_rails("background", props: { background_color: "light", padding: "xl" }) do %>
2
2
 
3
3
  <% end %>
@@ -3,6 +3,7 @@ import Background from '../../pb_background/_background'
3
3
 
4
4
  const BackgroundLight = (props) => (
5
5
  <Background
6
+ backgroundColor="light"
6
7
  padding="xl"
7
8
  {...props}
8
9
  />
@@ -1,7 +1,7 @@
1
1
  examples:
2
2
 
3
3
  rails:
4
- - background_light: Default
4
+ - background_light: Light
5
5
  - background_white: White
6
6
  - background_gradient: Gradient
7
7
  - background_image: Image
@@ -11,7 +11,7 @@ examples:
11
11
  - background_size: Size
12
12
 
13
13
  react:
14
- - background_light: Default
14
+ - background_light: Light
15
15
  - background_white: White
16
16
  - background_gradient: Gradient
17
17
  - background_image: Image
@@ -11,22 +11,4 @@
11
11
  max_date: "10/20/2020",
12
12
  min_date: "10/10/2020",
13
13
  picker_id: "date-picker-min-max2"
14
- }) %>
15
-
16
- <%= pb_rails("date_picker", props: {
17
- format: "m/d/Y",
18
- label: "Default date earlier than min_date (preserved)",
19
- default_date: (DateTime.current - 3.days).utc.iso8601,
20
- min_date: (DateTime.current - 1.day).utc.iso8601,
21
- max_date: (DateTime.current + 7.days).utc.iso8601,
22
- picker_id: "date-picker-min-max-default-before"
23
- }) %>
24
-
25
- <%= pb_rails("date_picker", props: {
26
- format: "m/d/Y",
27
- label: "Default date later than max_date (preserved)",
28
- default_date: (DateTime.current + 10.days).utc.iso8601,
29
- min_date: (DateTime.current - 1.day).utc.iso8601,
30
- max_date: (DateTime.current + 7.days).utc.iso8601,
31
- picker_id: "date-picker-min-max-default-after"
32
14
  }) %>
@@ -112,14 +112,7 @@
112
112
  name: "checkbox-name",
113
113
  class: "checkbox-class"
114
114
  %>
115
- <%= form.date_picker :example_date_picker_1, props: {
116
- label: true,
117
- # Testing out-of-range default date feature: default_date is earlier than min_date
118
- # This should still display the default date even though it's outside the valid range
119
- default_date: (DateTime.current - 3.days).utc.iso8601,
120
- min_date: (DateTime.current - 1.day).utc.iso8601,
121
- max_date: (DateTime.current + 7.days).utc.iso8601
122
- } %>
115
+ <%= form.date_picker :example_date_picker_1, props: { label: true } %>
123
116
  <%= form.star_rating_field :example_star_rating, props: { variant: "interactive", label: true } %>
124
117
  <%= form.time_zone_select_field :example_time_zone_select, ActiveSupport::TimeZone.us_zones, { default: "Eastern Time (US & Canada)" }, props: { label: true } %>
125
118
  <%= form.multi_level_select :example_multi_level_select, props: { id: "multi-level-select-form-default", tree_data: treeData, margin_bottom: "sm", label: "Example Multi Level Select field" } %>
@@ -113,17 +113,7 @@
113
113
  <%= form.select :example_select_validation, [ ["Yes", 1], ["No", 2] ], props: { label: true, blank_selection: "Select One...", required: true, validation_message: "Please, select an option." } %>
114
114
  <%= form.collection_select :example_collection_select_validation, example_collection, :value, :name, props: { label: true, blank_selection: "Select One...", required: true } %>
115
115
  <%= form.check_box :example_checkbox_validation, props: { text: "Example Checkbox Validation", label: true, required: true }, checked_value: "1", unchecked_value: "0" %>
116
- <%= form.date_picker :example_date_picker_2, props: {
117
- label: true,
118
- required: true,
119
- validation_message: "Please, select a date.",
120
- allow_input: true,
121
- # Testing out-of-range default date feature: default_date is earlier than min_date
122
- # This should still display the default date even though it's outside the valid range
123
- default_date: (DateTime.current - 3.days).utc.iso8601,
124
- min_date: (DateTime.current - 1.day).utc.iso8601,
125
- max_date: (DateTime.current + 7.days).utc.iso8601
126
- } %>
116
+ <%= form.date_picker :example_date_picker_2, props: { label: true, required: true, validation_message: "Please, select a date.", allow_input: true } %>
127
117
  <%= form.star_rating_field :example_star_rating_validation, props: { variant: "interactive", label: true, required: true } %>
128
118
  <%= form.time_zone_select_field :example_time_zone_select, ActiveSupport::TimeZone.us_zones, { default: "Eastern Time (US & Canada)" }, props: { label: true, blank_selection: "Select a Time Zone...", required: true } %>
129
119
  <%= form.multi_level_select :example_multi_level_select, props: { id: "multi-level-select-form", tree_data: treeData, margin_bottom: "sm", required: true, label: "Example Multi Level Select field" } %>
@@ -1,3 +1,4 @@
1
+ <%= pb_rails("caption", props: { text: "with all" }) %>
1
2
  <%= pb_rails("home_address_street", props: {
2
3
  address: "70 Prospect Ave",
3
4
  address_cont: "Apt M18",
@@ -8,4 +9,127 @@
8
9
  state: "PA",
9
10
  zipcode: "19382",
10
11
  territory: "PHL",
12
+ }) %>
13
+
14
+ <%= pb_rails("caption", props: { margin_top: "sm", text: "First two lines blank: without address and address cont and housestyle" }) %>
15
+ <%= pb_rails("home_address_street", props: {
16
+ city: "West Chester",
17
+ home_id: 8250263,
18
+ home_url: "https://powerhrg.com/",
19
+ state: "PA",
20
+ zipcode: "19382",
21
+ territory: "PHL",
22
+ }) %>
23
+
24
+ <%= pb_rails("caption", props: { margin_top: "sm", text: "First line half blank Second line full: with housestyle and without address and address cont" }) %>
25
+ <%= pb_rails("home_address_street", props: {
26
+ city: "West Chester",
27
+ home_id: 8250263,
28
+ home_url: "https://powerhrg.com/",
29
+ house_style: "Colonial",
30
+ state: "PA",
31
+ zipcode: "19382",
32
+ territory: "PHL",
33
+ }) %>
34
+
35
+ <%= pb_rails("caption", props: { margin_top: "sm", text: "First line full Second line blank: with address and housestyle and without address cont" }) %>
36
+ <%= pb_rails("home_address_street", props: {
37
+ address: "70 Prospect Ave",
38
+ city: "West Chester",
39
+ home_id: 8250263,
40
+ home_url: "https://powerhrg.com/",
41
+ house_style: "Colonial",
42
+ state: "PA",
43
+ zipcode: "19382",
44
+ territory: "PHL",
45
+ }) %>
46
+
47
+ <%= pb_rails("caption", props: { margin_top: "sm", text: "First line half blank Second line full: without address and with housestyle and address cont" }) %>
48
+ <%= pb_rails("home_address_street", props: {
49
+ address_cont: "Apt M18",
50
+ city: "West Chester",
51
+ home_id: 8250263,
52
+ home_url: "https://powerhrg.com/",
53
+ house_style: "Colonial",
54
+ state: "PA",
55
+ zipcode: "19382",
56
+ territory: "PHL",
57
+ }) %>
58
+
59
+ <%= pb_rails("caption", props: { margin_top: "sm", text: "First line blank Second line full: with address cont and without address and housestyle" }) %>
60
+ <%= pb_rails("home_address_street", props: {
61
+ address_cont: "Apt M18",
62
+ city: "West Chester",
63
+ home_id: 8250263,
64
+ home_url: "https://powerhrg.com/",
65
+ state: "PA",
66
+ zipcode: "19382",
67
+ territory: "PHL",
68
+ }) %>
69
+
70
+ <%= pb_rails("caption", props: { margin_top: "sm", text: "Emphasis, Modified, Target and Formatted doc examples below" }) %>
71
+ <%= pb_rails("home_address_street", props: {
72
+ address: "70 Prospect Ave",
73
+ city: "West Chester",
74
+ emphasis: "none",
75
+ home_id: 8250263,
76
+ home_url: "https://powerhrg.com/",
77
+ house_style: "Colonial",
78
+ margin_bottom: "sm",
79
+ state: "PA",
80
+ zipcode: "19382",
81
+ territory: "PHL",
82
+ }) %>
83
+
84
+ <%= pb_rails("home_address_street", props: {
85
+ city: "West Chester",
86
+ emphasis: "city",
87
+ home_id: 8250263,
88
+ home_url: "https://powerhrg.com/",
89
+ margin_bottom: "sm",
90
+ state: "PA",
91
+ zipcode: "19382",
92
+ territory: "PHL",
93
+ }) %>
94
+
95
+ <%= pb_rails("home_address_street", props: {
96
+ city: "West Chester",
97
+ emphasis: "none",
98
+ home_id: 8250263,
99
+ home_url: "https://powerhrg.com/",
100
+ margin_bottom: "sm",
101
+ state: "PA",
102
+ zipcode: "19382",
103
+ territory: "PHL",
104
+ }) %>
105
+
106
+ <%= pb_rails("home_address_street", props: {
107
+ address: "70 Prospect Ave",
108
+ city: "West Chester",
109
+ margin_bottom: "sm",
110
+ state: "PA",
111
+ zipcode: "19382",
112
+ territory: "PHL",
113
+ }) %>
114
+
115
+ <%= pb_rails("home_address_street", props: {
116
+ city: "West Chester",
117
+ home_id: 8250263,
118
+ home_url: "https://powerhrg.com/",
119
+ margin_bottom: "sm",
120
+ state: "PA",
121
+ target: "_blank",
122
+ zipcode: "19382",
123
+ territory: "PHL",
124
+ }) %>
125
+
126
+ <%= pb_rails("home_address_street", props: {
127
+ address: "70 pRoSpEcT ave",
128
+ city: "West Chester",
129
+ home_id: 8250263,
130
+ home_url: "https://powerhrg.com/",
131
+ preserve_case: true,
132
+ state: "pa",
133
+ zipcode: "19382",
134
+ territory: "PHL",
11
135
  }) %>
@@ -1,21 +1,156 @@
1
1
  import React from 'react'
2
2
 
3
3
  import HomeAddressStreet from '../_home_address_street'
4
+ import Caption from '../../pb_caption/_caption'
4
5
 
5
6
  const HomeAddressStreetDefault = (props) => {
6
7
  return (
7
- <HomeAddressStreet
8
- address="70 Prospect Ave"
9
- addressCont="Apt M18"
10
- city="West Chester"
11
- homeId="8250263"
12
- homeUrl="https://powerhrg.com/"
13
- houseStyle="Colonial"
14
- state="PA"
15
- territory="PHL"
16
- zipcode="19382"
17
- {...props}
18
- />
8
+ <>
9
+ <Caption text="with all" />
10
+ <HomeAddressStreet
11
+ address="70 Prospect Ave"
12
+ addressCont="Apt M18"
13
+ city="West Chester"
14
+ homeId="8250263"
15
+ homeUrl="https://powerhrg.com/"
16
+ houseStyle="Colonial"
17
+ state="PA"
18
+ territory="PHL"
19
+ zipcode="19382"
20
+ {...props}
21
+ />
22
+ <Caption marginTop="sm"
23
+ text="First two lines blank: without address and address cont and housestyle"
24
+ />
25
+ <HomeAddressStreet
26
+ city="West Chester"
27
+ homeId="8250263"
28
+ homeUrl="https://powerhrg.com/"
29
+ state="PA"
30
+ territory="PHL"
31
+ zipcode="19382"
32
+ {...props}
33
+ />
34
+ <Caption marginTop="sm"
35
+ text="First line half blank Second line full: with housestyle and without address and address cont"
36
+ />
37
+ <HomeAddressStreet
38
+ city="West Chester"
39
+ homeId="8250263"
40
+ homeUrl="https://powerhrg.com/"
41
+ houseStyle="Colonial"
42
+ state="PA"
43
+ territory="PHL"
44
+ zipcode="19382"
45
+ {...props}
46
+ />
47
+ <Caption marginTop="sm"
48
+ text="First line full Second line blank: with address and housestyle and without address cont and address cont"
49
+ />
50
+ <HomeAddressStreet
51
+ address="70 Prospect Ave"
52
+ city="West Chester"
53
+ homeId="8250263"
54
+ homeUrl="https://powerhrg.com/"
55
+ houseStyle="Colonial"
56
+ state="PA"
57
+ territory="PHL"
58
+ zipcode="19382"
59
+ {...props}
60
+ />
61
+ <Caption marginTop="sm"
62
+ text="First line half blank Second line full: without address and with housestyle and address cont and address cont"
63
+ />
64
+ <HomeAddressStreet
65
+ city="West Chester"
66
+ homeId="8250263"
67
+ homeUrl="https://powerhrg.com/"
68
+ houseStyle="Colonial"
69
+ state="PA"
70
+ territory="PHL"
71
+ zipcode="19382"
72
+ {...props}
73
+ />
74
+ <Caption marginTop="sm"
75
+ text="First line blank Second line full: with address cont and without address and housestyle and address cont"
76
+ />
77
+ <HomeAddressStreet
78
+ addressCont="Apt M18"
79
+ city="West Chester"
80
+ homeId="8250263"
81
+ homeUrl="https://powerhrg.com/"
82
+ state="PA"
83
+ territory="PHL"
84
+ zipcode="19382"
85
+ {...props}
86
+ />
87
+ <Caption marginTop="sm"
88
+ text="Emphasis, Modified, Target and Formatted doc examples below and address cont"
89
+ />
90
+ <HomeAddressStreet
91
+ address="70 Prospect Ave"
92
+ city="West Chester"
93
+ emphasis="none"
94
+ homeId="8250263"
95
+ homeUrl="https://powerhrg.com/"
96
+ houseStyle="Colonial"
97
+ marginBottom="sm"
98
+ state="PA"
99
+ territory="PHL"
100
+ zipcode="19382"
101
+ {...props}
102
+ />
103
+ <HomeAddressStreet
104
+ city="West Chester"
105
+ emphasis="city"
106
+ homeId="8250263"
107
+ homeUrl="https://powerhrg.com/"
108
+ marginBottom="sm"
109
+ state="PA"
110
+ territory="PHL"
111
+ zipcode="19382"
112
+ {...props}
113
+ />
114
+ <HomeAddressStreet
115
+ city="West Chester"
116
+ emphasis="none"
117
+ homeId="8250263"
118
+ homeUrl="https://powerhrg.com/"
119
+ marginBottom="sm"
120
+ state="PA"
121
+ territory="PHL"
122
+ zipcode="19382"
123
+ {...props}
124
+ />
125
+ <HomeAddressStreet
126
+ address="70 Prospect Ave"
127
+ city="West Chester"
128
+ marginBottom="sm"
129
+ state="PA"
130
+ territory="PHL"
131
+ zipcode="19382"
132
+ />
133
+ <HomeAddressStreet
134
+ city="West Chester"
135
+ homeId={8250263}
136
+ homeUrl="https://powerhrg.com/"
137
+ marginBottom="sm"
138
+ state="PA"
139
+ target="_blank"
140
+ territory="PHL"
141
+ zipcode="19382"
142
+ />
143
+ <HomeAddressStreet
144
+ address="70 pRoSpEcT ave"
145
+ city="West Chester"
146
+ homeId="8250263"
147
+ homeUrl="https://powerhrg.com/"
148
+ preserveCase
149
+ state="pa"
150
+ territory="PHL"
151
+ zipcode="19382"
152
+ />
153
+ </>
19
154
  )
20
155
  }
21
156
 
@@ -10,7 +10,6 @@ examples:
10
10
  - multiple_users_default: Default
11
11
  - multiple_users_reverse: Reverse
12
12
  - multiple_users_size: Size
13
- - multiple_users_with_tooltip: With Tooltip
14
13
 
15
14
  swift:
16
15
  - multiple_users_default_swift: Default
@@ -1,4 +1,3 @@
1
1
  export { default as MultipleUsersDefault } from './_multiple_users_default.jsx'
2
2
  export { default as MultipleUsersReverse } from './_multiple_users_reverse.jsx'
3
3
  export { default as MultipleUsersSize } from './_multiple_users_size.jsx'
4
- export { default as MultipleUsersWithTooltip } from './_multiple_users_with_tooltip.jsx'
@@ -1,42 +1,12 @@
1
1
  <form id="example-form-validation" action="" method="get">
2
- <%= pb_rails("phone_number_input", props: {
3
- id: "validation",
4
- initial_country: "af",
5
- value: "",
6
- required: true
7
- }) %>
2
+ <%= pb_rails("phone_number_input", props: { error: "Missing phone number", id: "validation", initial_country: "af", value: "", required: true }) %>
8
3
  <%= pb_rails("button", props: {html_type: "submit", text: "Save Phone Number"}) %>
9
4
  </form>
10
5
 
11
6
  <%= javascript_tag do %>
12
7
  document.addEventListener('DOMContentLoaded', function () {
13
- const form = document.querySelector('#example-form-validation');
14
-
15
- // Wait for React component to mount
16
- function waitForComponent() {
17
- const phoneInput = form.querySelector('#validation');
18
-
19
- if (!phoneInput) {
20
- setTimeout(waitForComponent, 100);
21
- return;
22
- }
23
-
24
- // Wait for intl-tel-input to initialize, then focus and blur to trigger validation
25
- setTimeout(function() {
26
- phoneInput.focus({ preventScroll: true });
27
- setTimeout(function() {
28
- phoneInput.blur();
29
- }, 100);
30
- }, 500);
31
- }
32
-
33
- waitForComponent();
34
-
35
- // Prevent form submission if there are validation errors
36
- form.addEventListener('submit', function (e) {
37
- if (e.target.querySelectorAll('[error]:not([error=""])').length > 0) {
38
- e.preventDefault();
39
- }
40
- });
8
+ document.querySelector('#example-form-validation').addEventListener('submit', function (e) {
9
+ if (e.target.querySelectorAll('[error]:not([error=""])').length > 0) e.preventDefault();
10
+ })
41
11
  })
42
12
  <% end %>
@@ -10,19 +10,8 @@ const PhoneNumberInputValidation = (props) => {
10
10
  const [showFormErrors, setShowFormErrors] = useState(false);
11
11
  const [phoneNumber, setPhoneNumber] = useState("");
12
12
  const [countryCode, setCountryCode] = useState("af");
13
- const [isValid, setIsValid] = useState(false);
14
- const [hasInteracted, setHasInteracted] = useState(false);
15
-
16
- // Start with initial error - will be cleared on blur if valid
17
- const initialError = (
18
- <>
19
- <Icon icon="warning" /> Missing phone number.
20
- </>
21
- );
22
13
 
23
14
  const handleOnValidate = (valid) => {
24
- setIsValid(valid);
25
- setHasInteracted(true);
26
15
  setFormErrors(
27
16
  valid ? "" : "Please correct the fields below and try again."
28
17
  );
@@ -34,16 +23,18 @@ const PhoneNumberInputValidation = (props) => {
34
23
  };
35
24
 
36
25
  const handleOnSubmit = (e) => {
37
- if (!isValid) e.preventDefault()
26
+ if (showFormErrors) e.preventDefault()
38
27
  }
39
28
 
40
29
  useEffect(() => {
41
30
  setShowFormErrors(formErrors.length > 0);
42
31
  }, [formErrors]);
43
32
 
44
- // Only show error prop initially, or if invalid after interaction
45
- // Clear error prop once valid (component handles validation on blur)
46
- const shouldShowError = !hasInteracted || (hasInteracted && !isValid);
33
+ const error = (
34
+ <>
35
+ <Icon icon="warning" /> Missing phone number.
36
+ </>
37
+ )
47
38
 
48
39
  return (
49
40
  <form
@@ -59,7 +50,7 @@ const PhoneNumberInputValidation = (props) => {
59
50
  />
60
51
  )}
61
52
  <PhoneNumberInput
62
- error={shouldShowError ? initialError : undefined}
53
+ error={error}
63
54
  id="validation"
64
55
  initialCountry={countryCode}
65
56
  onChange={handleOnChange}
@@ -5,7 +5,6 @@ examples:
5
5
  - typeahead_default_options: With Default Options
6
6
  - typeahead_with_context: With Context
7
7
  - typeahead_with_pills: With Pills
8
- - typeahead_input_display: Input Display
9
8
  - typeahead_without_pills: Without Pills (Single Select)
10
9
  - typeahead_with_pills_async: With Pills (Async Data)
11
10
  - typeahead_with_pills_async_users: With Pills (Async Data w/ Users)
@@ -27,7 +26,6 @@ examples:
27
26
  - typeahead_react_hook: React Hook
28
27
  - typeahead_with_highlight: With Highlight
29
28
  - typeahead_with_pills: With Pills
30
- - typeahead_input_display: Input Display
31
29
  - typeahead_with_pills_async: With Pills (Async Data)
32
30
  - typeahead_with_pills_async_users: With Pills (Async Data w/ Users)
33
31
  - typeahead_with_pills_async_custom_options: With Pills (Async Data w/ Custom Options)
@@ -17,5 +17,4 @@ export { default as TypeaheadReactHook } from './_typeahead_react_hook.jsx'
17
17
  export { default as TypeaheadDisabled } from './_typeahead_disabled.jsx'
18
18
  export { default as TypeaheadPreserveInput } from './_typeahead_preserve_input.jsx'
19
19
  export { default as TypeaheadDefaultValue } from './_typeahead_default_value.jsx'
20
- export { default as TypeaheadCustomOptions } from './_typeahead_custom_options.jsx'
21
- export { default as TypeaheadInputDisplay } from './_typeahead_input_display.jsx'
20
+ export { default as TypeaheadCustomOptions } from './_typeahead_custom_options.jsx'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui_docs
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.5.0.pre.alpha.PLAY2503datepickerdefaultdateoutsideminmaxrange12814
4
+ version: 15.5.0.pre.alpha.PLAY2554homeaddressstreetaccessibility12695
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: 2025-12-04 00:00:00.000000000 Z
12
+ date: 2025-12-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: playbook_ui
@@ -220,7 +220,6 @@ files:
220
220
  - app/pb_kits/playbook/pb_background/docs/_background_image.md
221
221
  - app/pb_kits/playbook/pb_background/docs/_background_light.html.erb
222
222
  - app/pb_kits/playbook/pb_background/docs/_background_light.jsx
223
- - app/pb_kits/playbook/pb_background/docs/_background_light.md
224
223
  - app/pb_kits/playbook/pb_background/docs/_background_overlay.jsx
225
224
  - app/pb_kits/playbook/pb_background/docs/_background_overlay.md
226
225
  - app/pb_kits/playbook/pb_background/docs/_background_size.html.erb
@@ -1527,8 +1526,6 @@ files:
1527
1526
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.jsx
1528
1527
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.md
1529
1528
  - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size_swift.md
1530
- - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx
1531
- - app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md
1532
1529
  - app/pb_kits/playbook/pb_multiple_users/docs/example.yml
1533
1530
  - app/pb_kits/playbook/pb_multiple_users/docs/index.js
1534
1531
  - app/pb_kits/playbook/pb_multiple_users_stacked/docs/_description.md
@@ -2579,9 +2576,6 @@ files:
2579
2576
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.md
2580
2577
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.html.erb
2581
2578
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.jsx
2582
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.html.erb
2583
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.jsx
2584
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_input_display.md
2585
2579
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.html.erb
2586
2580
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_margin_bottom.jsx
2587
2581
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.html.erb
@@ -1 +0,0 @@
1
- By default, the Background kit sets background color to 'light' as seen here.
@@ -1,42 +0,0 @@
1
- import React from 'react'
2
- import MultipleUsers from '../../pb_multiple_users/_multiple_users'
3
-
4
- const MultipleUsersWithTooltip = (props) => {
5
- return (
6
- <div>
7
- <MultipleUsers
8
- users={[
9
- {
10
- name: 'Patrick Welch',
11
- imageUrl: 'https://randomuser.me/api/portraits/men/9.jpg',
12
- tooltip: "Patrick Welch - Online"
13
- },
14
- {
15
- name: 'Lucille Sanchez',
16
- imageUrl: 'https://randomuser.me/api/portraits/women/6.jpg',
17
- tooltip: "Lucille Sanchez - Offline"
18
- },
19
- {
20
- name: 'Beverly Reyes',
21
- imageUrl: 'https://randomuser.me/api/portraits/women/74.jpg',
22
- tooltip: "Beverly Reyes - Online"
23
- },
24
- {
25
- name: 'Keith Craig',
26
- imageUrl: 'https://randomuser.me/api/portraits/men/40.jpg',
27
- tooltip: "Keith Craig - Away"
28
- },
29
- {
30
- name: 'Alicia Cooper',
31
- imageUrl: 'https://randomuser.me/api/portraits/women/46.jpg',
32
- tooltip: "Alicia Cooper - Busy"
33
- },
34
- ]}
35
- withTooltip
36
- {...props}
37
- />
38
- </div>
39
- )
40
- }
41
- ``
42
- export default MultipleUsersWithTooltip
@@ -1 +0,0 @@
1
- Use the `withTooltip` boolean prop to enable setting user-specific tooltip content via the `tooltip` property in the users array.
@@ -1,30 +0,0 @@
1
- <%
2
- options = [
3
- { label: 'Orange', value: '#FFA500' },
4
- { label: 'Red', value: '#FF0000' },
5
- { label: 'Green', value: '#00FF00' },
6
- { label: 'Blue', value: '#0000FF' },
7
- { label: 'Yellow', value: '#FFFF00' },
8
- { label: 'Purple', value: '#800080' },
9
- { label: 'Cyan', value: '#00FFFF' },
10
- { label: 'Magenta', value: '#FF00FF' }
11
- ]
12
- %>
13
-
14
- <%= pb_rails("typeahead", props: {
15
- id: "typeahead-input-display-none",
16
- label: "With Input Display None",
17
- options: options,
18
- name: :foo,
19
- input_display: "none",
20
- })
21
- %>
22
- <br/>
23
- <%= pb_rails("typeahead", props: {
24
- id: "typeahead-input-display-pills",
25
- label: "With Input Display Pills (Default)",
26
- options: options,
27
- name: :foo,
28
- pills: true,
29
- })
30
- %>
@@ -1,37 +0,0 @@
1
- import React from 'react'
2
-
3
- import Typeahead from '../_typeahead'
4
-
5
- const options = [
6
- { label: 'Orange', value: '#FFA500' },
7
- { label: 'Red', value: '#FF0000' },
8
- { label: 'Green', value: '#00FF00' },
9
- { label: 'Blue', value: '#0000FF' },
10
- { label: 'Yellow', value: '#FFFF00' },
11
- { label: 'Purple', value: '#800080' },
12
- { label: 'Cyan', value: '#00FFFF' },
13
- { label: 'Magenta', value: '#FF00FF' }
14
- ]
15
-
16
- const TypeaheadInputDisplay = (props) => {
17
- return (
18
- <>
19
- <Typeahead
20
- inputDisplay="none"
21
- isMulti
22
- label="With Input Display None"
23
- options={options}
24
- {...props}
25
- />
26
- <br/>
27
- <Typeahead
28
- isMulti
29
- label="With Input Display Pills (Default)"
30
- options={options}
31
- {...props}
32
- />
33
- </>
34
- )
35
- }
36
-
37
- export default TypeaheadInputDisplay
@@ -1,3 +0,0 @@
1
- Use the `inputDisplay`/`input_display` prop to optionally display only the count in the display as opposed to multiple pills. This prop is set to 'pills' by default.
2
-
3
- **NOTE**: `inputDisplay`/`input_display` should only be used with typeaheads that allow multi selection.