playbook_ui 12.26.1.pre.alpha.PLAY860PhoneNumInputOptions836 → 12.26.1.pre.alpha.play716popoverkitcloseonclickissue833
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +45 -132
- data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +1 -5
- data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -3
- data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -6
- data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.test.js +62 -110
- data/app/pb_kits/playbook/pb_popover/_popover.tsx +5 -3
- data/app/pb_kits/playbook/pb_popover/index.ts +5 -2
- data/dist/playbook-rails.js +3 -3
- data/lib/playbook/forms/builder.rb +0 -1
- data/lib/playbook/version.rb +1 -1
- metadata +1 -9
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.jsx +0 -26
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.md +0 -3
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.jsx +0 -30
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.md +0 -3
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +0 -14
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx +0 -60
- data/app/pb_kits/playbook/utilities/object.ts +0 -3
- data/lib/playbook/forms/builder/intl_telephone_field.rb +0 -12
@@ -10,7 +10,6 @@ module Playbook
|
|
10
10
|
require_relative "builder/form_field_builder"
|
11
11
|
require_relative "builder/select_field"
|
12
12
|
require_relative "builder/typeahead_field"
|
13
|
-
require_relative "builder/intl_telephone_field"
|
14
13
|
|
15
14
|
prepend(FormFieldBuilder.new(:email_field, kit_name: "text_input"))
|
16
15
|
prepend(FormFieldBuilder.new(:number_field, kit_name: "text_input"))
|
data/lib/playbook/version.rb
CHANGED
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: 12.26.1.pre.alpha.
|
4
|
+
version: 12.26.1.pre.alpha.play716popoverkitcloseonclickissue833
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -1588,10 +1588,6 @@ files:
|
|
1588
1588
|
- app/pb_kits/playbook/pb_person_contact/person_contact.test.js
|
1589
1589
|
- app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss
|
1590
1590
|
- app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx
|
1591
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.jsx
|
1592
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.md
|
1593
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.jsx
|
1594
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_clear_field.md
|
1595
1591
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.html.erb
|
1596
1592
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.jsx
|
1597
1593
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.md
|
@@ -1604,8 +1600,6 @@ files:
|
|
1604
1600
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.html.erb
|
1605
1601
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.jsx
|
1606
1602
|
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.md
|
1607
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb
|
1608
|
-
- app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx
|
1609
1603
|
- app/pb_kits/playbook/pb_phone_number_input/docs/example.yml
|
1610
1604
|
- app/pb_kits/playbook/pb_phone_number_input/docs/index.js
|
1611
1605
|
- app/pb_kits/playbook/pb_phone_number_input/phone_number_input.html.erb
|
@@ -2417,7 +2411,6 @@ files:
|
|
2417
2411
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_justify_self.scss
|
2418
2412
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_order.scss
|
2419
2413
|
- app/pb_kits/playbook/utilities/globalProps.ts
|
2420
|
-
- app/pb_kits/playbook/utilities/object.ts
|
2421
2414
|
- app/pb_kits/playbook/utilities/props.ts
|
2422
2415
|
- app/pb_kits/playbook/utilities/test-utils.js
|
2423
2416
|
- app/pb_kits/playbook/utilities/test/globalProps/alignContent.test.js
|
@@ -2456,7 +2449,6 @@ files:
|
|
2456
2449
|
- lib/playbook/forms/builder/collection_select_field.rb
|
2457
2450
|
- lib/playbook/forms/builder/date_picker_field.rb
|
2458
2451
|
- lib/playbook/forms/builder/form_field_builder.rb
|
2459
|
-
- lib/playbook/forms/builder/intl_telephone_field.rb
|
2460
2452
|
- lib/playbook/forms/builder/select_field.rb
|
2461
2453
|
- lib/playbook/forms/builder/typeahead_field.rb
|
2462
2454
|
- lib/playbook/justify_content.rb
|
data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.jsx
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
import React, { useEffect, useRef } from 'react'
|
2
|
-
import { Body, PhoneNumberInput } from '../..'
|
3
|
-
|
4
|
-
const PhoneNumberInputAccessInputElement = (props) => {
|
5
|
-
// 1. Create a ref - this accesses the kit's input element.
|
6
|
-
const ref = useRef()
|
7
|
-
|
8
|
-
// 2. Add any event listener to ref.current.inputNode() inside a useEffect hook.
|
9
|
-
useEffect(() => {
|
10
|
-
ref.current.inputNode().addEventListener("click", () => alert("Clicked!"))
|
11
|
-
})
|
12
|
-
|
13
|
-
// 3. Pass the ref to the ref prop.
|
14
|
-
return (
|
15
|
-
<>
|
16
|
-
<Body text="Click the input field below:" />
|
17
|
-
<PhoneNumberInput
|
18
|
-
id="access-input-element"
|
19
|
-
ref={ref}
|
20
|
-
{...props}
|
21
|
-
/>
|
22
|
-
</>
|
23
|
-
)
|
24
|
-
}
|
25
|
-
|
26
|
-
export default PhoneNumberInputAccessInputElement
|
data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_access_input_element.md
DELETED
@@ -1,3 +0,0 @@
|
|
1
|
-
To access the kit's input element attributes or add event listeners, create a `ref` inside your parent component, pass it to the kit's `ref` prop, and use `ref.current.inputNode()` with your desired attribute or event listener inside a `useEffect` hook. `useEffect` is necessary because the `ref` will be initially `undefined`.
|
2
|
-
|
3
|
-
`inputNode()` is a custom function inside the kit that returns the input DOM element and its attributes. For example, to get the `name` attribute, use `ref.current.inputNode().name`
|
@@ -1,30 +0,0 @@
|
|
1
|
-
import React, { useRef } from 'react'
|
2
|
-
import { Button, PhoneNumberInput } from '../..'
|
3
|
-
|
4
|
-
const PhoneNumberInputClearField = (props) => {
|
5
|
-
// 1. Create a ref - this accesses the kit's input element.
|
6
|
-
const ref = useRef()
|
7
|
-
|
8
|
-
// 2. Use clearField() to clear the field.
|
9
|
-
const handleClick = () => {
|
10
|
-
ref.current.clearField()
|
11
|
-
}
|
12
|
-
|
13
|
-
// 3. Pass the ref to the ref prop.
|
14
|
-
return (
|
15
|
-
<>
|
16
|
-
<PhoneNumberInput
|
17
|
-
id="clear-field"
|
18
|
-
ref={ref}
|
19
|
-
{...props}
|
20
|
-
/>
|
21
|
-
|
22
|
-
<Button
|
23
|
-
onClick={handleClick}
|
24
|
-
text="Clear the Input Field"
|
25
|
-
/>
|
26
|
-
</>
|
27
|
-
)
|
28
|
-
}
|
29
|
-
|
30
|
-
export default PhoneNumberInputClearField
|
@@ -1,3 +0,0 @@
|
|
1
|
-
To clear a number inside the input element, create a `ref` inside your parent component, pass it to the kit's `ref` prop, and use `ref.current.clearField()`.
|
2
|
-
|
3
|
-
`clearField()` is a custom function inside the kit to clear numbers and the error message while still providing validation.
|
data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
<form id="example-form-validation" action="" method="get">
|
2
|
-
<%= pb_rails("phone_number_input", props: { error: "Missing phone number.", id: "validation", initial_country: "af", value: "", required: true }) %>
|
3
|
-
<%= pb_rails("button", props: {html_type: "submit", text: "Save Phone Number"}) %>
|
4
|
-
</form>
|
5
|
-
|
6
|
-
<% content_for(:pb_js) do %>
|
7
|
-
<%= javascript_tag do %>
|
8
|
-
document.addEventListener('DOMContentLoaded', function () {
|
9
|
-
document.querySelector('#example-form-validation').addEventListener('submit', function (e) {
|
10
|
-
if (e.target.querySelectorAll('[error]:not([error=""])').length > 0) e.preventDefault();
|
11
|
-
})
|
12
|
-
})
|
13
|
-
<% end %>
|
14
|
-
<% end %>
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
2
|
-
import { Button, FixedConfirmationToast, PhoneNumberInput } from "../../";
|
3
|
-
|
4
|
-
const PhoneNumberInputValidation = (props) => {
|
5
|
-
const [formErrors, setFormErrors] = useState("");
|
6
|
-
const [showFormErrors, setShowFormErrors] = useState(false);
|
7
|
-
const [phoneNumber, setPhoneNumber] = useState("");
|
8
|
-
const [countryCode, setCountryCode] = useState("af");
|
9
|
-
|
10
|
-
const handleOnValidate = (valid) => {
|
11
|
-
setFormErrors(
|
12
|
-
valid ? "" : "Please correct the fields below and try again."
|
13
|
-
);
|
14
|
-
};
|
15
|
-
|
16
|
-
const handleOnChange = ({ iso2, number }) => {
|
17
|
-
setCountryCode(iso2);
|
18
|
-
setPhoneNumber(number);
|
19
|
-
};
|
20
|
-
|
21
|
-
const handleOnSubmit = (e) => {
|
22
|
-
if (showFormErrors) e.preventDefault()
|
23
|
-
}
|
24
|
-
|
25
|
-
useEffect(() => {
|
26
|
-
setShowFormErrors(formErrors.length > 0);
|
27
|
-
}, [formErrors]);
|
28
|
-
|
29
|
-
return (
|
30
|
-
<form
|
31
|
-
action=""
|
32
|
-
method="get"
|
33
|
-
onSubmit={handleOnSubmit}
|
34
|
-
>
|
35
|
-
{showFormErrors && (
|
36
|
-
<FixedConfirmationToast
|
37
|
-
marginBottom="md"
|
38
|
-
status="error"
|
39
|
-
text={formErrors}
|
40
|
-
/>
|
41
|
-
)}
|
42
|
-
<PhoneNumberInput
|
43
|
-
error="Missing phone number."
|
44
|
-
id="validation"
|
45
|
-
initialCountry={countryCode}
|
46
|
-
onChange={handleOnChange}
|
47
|
-
onValidate={handleOnValidate}
|
48
|
-
required
|
49
|
-
value={phoneNumber}
|
50
|
-
{...props}
|
51
|
-
/>
|
52
|
-
<Button
|
53
|
-
htmlType="submit"
|
54
|
-
text="Save Phone Number"
|
55
|
-
/>
|
56
|
-
</form>
|
57
|
-
);
|
58
|
-
};
|
59
|
-
|
60
|
-
export default PhoneNumberInputValidation;
|