playbook_ui 12.6.0.pre.alpha.cssphone1 → 12.6.0.pre.alpha.sectionseparator1
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 +4 -4
- data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +1 -1
- data/app/pb_kits/playbook/pb_nav/_nav.jsx +3 -0
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +1 -1
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +16 -52
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +20 -21
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_default.jsx +0 -1
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +16 -24
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +2 -1
- data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +0 -7
- data/app/pb_kits/playbook/pb_section_separator/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_section_separator/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +3 -1
- data/lib/playbook/version.rb +1 -1
- metadata +2 -4
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.html.erb +0 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.jsx +0 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 54b4b391e78f2f58e670391168634c536434667a6e53d4ae31e803f738ee5a1d
|
|
4
|
+
data.tar.gz: 871163ff18b7cc73cd8591158fbff9aedb2cbfa647c95a68e5921ccd319fede0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4ab7c44f1c8cdd068026bedde9b01b656e4b209bf0997ff539857867c5d5a1cd591a153084716f983b8749d643ecf8a747fde4b05600260e0312b3d02e004d7a
|
|
7
|
+
data.tar.gz: 918ca1022a5c4c4ea45436892b8fc5608b10bf06a3d0fbcb495b5f2e8f63bb2ff144b15e039eec1bd6d1ea433680c398a5324829b1f31a5afd619273c7a75271
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<%= pb_rails("card", props: { classname: "pb--doc", padding: "none", dark: dark }) do %>
|
|
2
2
|
<div class="pb--kit-example">
|
|
3
|
-
<%= pb_rails("caption", props: { text: example_title }) %>
|
|
3
|
+
<%= pb_rails("caption", props: { text: example_title, dark: dark }) %>
|
|
4
4
|
<br />
|
|
5
5
|
<%= example %>
|
|
6
6
|
<br>
|
|
@@ -14,6 +14,7 @@ type NavProps = {
|
|
|
14
14
|
children?: React.Node,
|
|
15
15
|
className?: string | array<string>,
|
|
16
16
|
data?: object,
|
|
17
|
+
dark?: boolean,
|
|
17
18
|
highlight?: boolean,
|
|
18
19
|
id?: string,
|
|
19
20
|
onClick?: EventHandler,
|
|
@@ -29,6 +30,7 @@ const Nav = (props: NavProps) => {
|
|
|
29
30
|
children,
|
|
30
31
|
className,
|
|
31
32
|
data = {},
|
|
33
|
+
dark = false,
|
|
32
34
|
highlight = true,
|
|
33
35
|
id,
|
|
34
36
|
link = '#',
|
|
@@ -64,6 +66,7 @@ const Nav = (props: NavProps) => {
|
|
|
64
66
|
onClick={onClick}
|
|
65
67
|
>
|
|
66
68
|
<Caption
|
|
69
|
+
dark={dark}
|
|
67
70
|
size="md"
|
|
68
71
|
text={`${title}`}
|
|
69
72
|
/>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<% if object.title %>
|
|
7
7
|
<%= content_tag(:div, class: "pb_nav_list_title") do %>
|
|
8
8
|
<%= content_tag(:a, class: "pb_nav_list_item_link_text", href: object.link) do %>
|
|
9
|
-
<%= pb_rails("caption", props: { text: object.title }) %>
|
|
9
|
+
<%= pb_rails("caption", props: { text: object.title, dark: dark }) %>
|
|
10
10
|
<% end %>
|
|
11
11
|
<% end %>
|
|
12
12
|
<% end %>
|
|
@@ -1,46 +1,16 @@
|
|
|
1
1
|
@import "../tokens/colors";
|
|
2
2
|
|
|
3
|
-
$transform-rotate-deg: 135deg;
|
|
4
|
-
$input-max-width: 284px;
|
|
5
|
-
$dropdown-min-width: 340px;
|
|
6
|
-
$flag-min-resolution: 192dpi;
|
|
7
|
-
|
|
8
3
|
.pb_phone_number_input {
|
|
9
4
|
input::placeholder {
|
|
10
5
|
color: $focus_input_light;
|
|
11
6
|
}
|
|
12
7
|
|
|
13
|
-
.text_input {
|
|
14
|
-
max-width: $input-max-width;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.dropdown_open {
|
|
18
|
-
.text_input {
|
|
19
|
-
border-color: $primary !important;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.iti__selected-flag:focus-visible {
|
|
23
|
-
outline-style: none;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
8
|
.iti__country {
|
|
28
9
|
padding: 5px 10px 5px 16px;
|
|
29
|
-
transition: $transition_default;
|
|
30
10
|
}
|
|
31
11
|
|
|
32
12
|
.iti__selected-flag {
|
|
33
|
-
padding: 0
|
|
34
|
-
|
|
35
|
-
&[aria-expanded="true"] {
|
|
36
|
-
color: $primary_action;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
&:focus-visible {
|
|
40
|
-
outline-style: solid;
|
|
41
|
-
border-radius: $space_xxs 0px 0px $space_xxs;
|
|
42
|
-
outline-color: $primary;
|
|
43
|
-
}
|
|
13
|
+
padding: 0 6px 0 16px;
|
|
44
14
|
}
|
|
45
15
|
|
|
46
16
|
.iti__country.iti__highlight {
|
|
@@ -61,11 +31,6 @@ $flag-min-resolution: 192dpi;
|
|
|
61
31
|
|
|
62
32
|
.iti__flag {
|
|
63
33
|
background-image: url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/img/flags.png");
|
|
64
|
-
border-radius: 1px;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.iti--separate-dial-code {
|
|
68
|
-
width: 100%;
|
|
69
34
|
}
|
|
70
35
|
|
|
71
36
|
.iti--separate-dial-code .iti__selected-flag {
|
|
@@ -87,50 +52,49 @@ $flag-min-resolution: 192dpi;
|
|
|
87
52
|
|
|
88
53
|
.iti__arrow::before {
|
|
89
54
|
border-style: solid;
|
|
90
|
-
border-width:
|
|
55
|
+
border-width: 0.1em 0.1em 0 0;
|
|
91
56
|
content: '';
|
|
92
57
|
display: inline-block;
|
|
93
|
-
height:
|
|
94
|
-
left:
|
|
58
|
+
height: 0.6em;
|
|
59
|
+
left: 0.1em;
|
|
95
60
|
position: relative;
|
|
96
61
|
vertical-align: top;
|
|
97
|
-
width:
|
|
98
|
-
top:
|
|
99
|
-
transform: rotate(
|
|
62
|
+
width: 0.6em;
|
|
63
|
+
top: 10px;
|
|
64
|
+
transform: rotate(135deg);
|
|
65
|
+
font-size: 0.5em;
|
|
100
66
|
color: $slate;
|
|
101
67
|
}
|
|
102
68
|
|
|
103
69
|
.iti__arrow.iti__arrow--up::before {
|
|
104
|
-
transform: rotate(-
|
|
105
|
-
top:
|
|
106
|
-
color: $primary_action;
|
|
70
|
+
transform: rotate(-45deg);
|
|
71
|
+
top: 12px;
|
|
107
72
|
}
|
|
108
73
|
|
|
109
74
|
.iti__active::after {
|
|
110
75
|
float: right;
|
|
111
76
|
content: "";
|
|
112
|
-
margin-top:
|
|
113
|
-
transform: rotate(
|
|
114
|
-
height:
|
|
115
|
-
width:
|
|
77
|
+
margin-top: 5px;
|
|
78
|
+
transform: rotate(45deg);
|
|
79
|
+
height: 12px;
|
|
80
|
+
width: 6px;
|
|
116
81
|
border-bottom: 2px solid;
|
|
117
82
|
border-right: 2px solid;
|
|
118
83
|
border-radius: 1px;
|
|
119
84
|
}
|
|
120
85
|
|
|
121
86
|
.iti__country-list {
|
|
122
|
-
min-width:
|
|
87
|
+
min-width: 340px;
|
|
123
88
|
border-radius: $border_radius_md;
|
|
124
89
|
border: 1px solid $border_light;
|
|
125
90
|
box-shadow: $shadow_deep;
|
|
126
|
-
margin-top: 1px;
|
|
127
91
|
}
|
|
128
92
|
|
|
129
93
|
.iti__divider {
|
|
130
94
|
border-bottom: 1px solid $border_light;
|
|
131
95
|
}
|
|
132
96
|
|
|
133
|
-
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution:
|
|
97
|
+
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
|
|
134
98
|
.iti__flag {
|
|
135
99
|
background-image: url("https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/img/flags@2x.png");
|
|
136
100
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* @flow */
|
|
2
|
-
import React, { useEffect, useRef, useState } from
|
|
3
|
-
import classnames from
|
|
4
|
-
import { buildAriaProps, buildCss, buildDataProps } from
|
|
5
|
-
import { globalProps } from
|
|
6
|
-
import intlTelInput from
|
|
7
|
-
import
|
|
8
|
-
import
|
|
2
|
+
import React, { useEffect, useRef, useState } from "react"
|
|
3
|
+
import classnames from "classnames"
|
|
4
|
+
import { buildAriaProps, buildCss, buildDataProps } from "../utilities/props"
|
|
5
|
+
import { globalProps } from "../utilities/globalProps"
|
|
6
|
+
import intlTelInput from "intl-tel-input"
|
|
7
|
+
import "intl-tel-input/build/css/intlTelInput.css"
|
|
8
|
+
import TextInput from "../pb_text_input/_text_input"
|
|
9
9
|
|
|
10
10
|
declare global {
|
|
11
11
|
interface Window {
|
|
@@ -50,7 +50,7 @@ const formatAllCountries = () => {
|
|
|
50
50
|
formatAllCountries()
|
|
51
51
|
|
|
52
52
|
const containOnlyNumbers = (value: string) => {
|
|
53
|
-
return /^
|
|
53
|
+
return /^(\++)*(\d+)$/.test(value)
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
const PhoneNumberInput = (props: PhoneNumberInputProps) => {
|
|
@@ -85,8 +85,7 @@ const PhoneNumberInput = (props: PhoneNumberInputProps) => {
|
|
|
85
85
|
const inputRef = useRef<HTMLInputElement>()
|
|
86
86
|
const [inputValue, setInputValue] = useState(value)
|
|
87
87
|
const [itiInit, setItiInit] = useState<any>()
|
|
88
|
-
const [error, setError] = useState(
|
|
89
|
-
const [dropDownIsOpen, setDropDownIsOpen] = useState(false)
|
|
88
|
+
const [error, setError] = useState("")
|
|
90
89
|
|
|
91
90
|
const validateTooLongNumber = (itiInit: any) => {
|
|
92
91
|
const error = itiInit.getValidationError()
|
|
@@ -134,17 +133,18 @@ const PhoneNumberInput = (props: PhoneNumberInputProps) => {
|
|
|
134
133
|
|
|
135
134
|
useEffect(() => {
|
|
136
135
|
const telInputInit = new intlTelInput(inputRef.current, {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
136
|
+
utilsScript:
|
|
137
|
+
"https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/js/utils.js",
|
|
138
|
+
separateDialCode: true,
|
|
139
|
+
preferredCountries,
|
|
140
|
+
allowDropdown: !disabled,
|
|
141
|
+
initialCountry,
|
|
142
|
+
onlyCountries,
|
|
143
|
+
})
|
|
144
|
+
|
|
145
|
+
inputRef.current.addEventListener("countrychange", () =>
|
|
146
|
+
validateTooLongNumber(telInputInit)
|
|
143
147
|
)
|
|
144
|
-
|
|
145
|
-
inputRef.current.addEventListener("countrychange", () => validateTooLongNumber(telInputInit))
|
|
146
|
-
inputRef.current.addEventListener("open:countrydropdown", () => setDropDownIsOpen(true))
|
|
147
|
-
inputRef.current.addEventListener("close:countrydropdown", () => setDropDownIsOpen(false))
|
|
148
148
|
|
|
149
149
|
setItiInit(telInputInit)
|
|
150
150
|
}, [])
|
|
@@ -152,7 +152,6 @@ const PhoneNumberInput = (props: PhoneNumberInputProps) => {
|
|
|
152
152
|
return (
|
|
153
153
|
<div {...ariaProps} {...dataProps} className={classes}>
|
|
154
154
|
<TextInput
|
|
155
|
-
className={dropDownIsOpen ? 'dropdown_open' : ''}
|
|
156
155
|
disabled={disabled}
|
|
157
156
|
error={error}
|
|
158
157
|
id={id}
|
|
@@ -18,19 +18,21 @@ $section_colors_dark: (
|
|
|
18
18
|
justify-content: center;
|
|
19
19
|
align-items: center;
|
|
20
20
|
position: relative;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
21
|
+
span {
|
|
22
|
+
padding: 0 $space_xs;
|
|
23
|
+
display: flex;
|
|
24
|
+
}
|
|
25
|
+
&::before {
|
|
26
|
+
content: "";
|
|
27
|
+
height: 1px;
|
|
28
|
+
flex: 1;
|
|
29
|
+
@include section_separator_horizontal;
|
|
31
30
|
}
|
|
32
31
|
&::after {
|
|
33
|
-
|
|
32
|
+
content: "";
|
|
33
|
+
height: 1px;
|
|
34
|
+
flex: 1;
|
|
35
|
+
@include section_separator_horizontal;
|
|
34
36
|
}
|
|
35
37
|
&[class*=_horizontal] {
|
|
36
38
|
justify-content: center;
|
|
@@ -46,23 +48,13 @@ $section_colors_dark: (
|
|
|
46
48
|
// Dark =========================
|
|
47
49
|
|
|
48
50
|
&.dark {
|
|
49
|
-
&::
|
|
51
|
+
&::before {
|
|
50
52
|
@include section_separator_horizontal(true);
|
|
51
53
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
span {
|
|
55
|
-
display: inline-block;
|
|
56
|
-
padding: 0 $space_xs;
|
|
57
|
-
background: #{$color_value};
|
|
58
|
-
position: relative;
|
|
59
|
-
z-index: 1;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
54
|
+
&::after {
|
|
55
|
+
@include section_separator_horizontal(true);
|
|
62
56
|
}
|
|
63
57
|
&[class*=_vertical] {
|
|
64
|
-
margin-left: $space_xs;
|
|
65
|
-
margin-right: $space_xs;
|
|
66
58
|
&::after {
|
|
67
59
|
@include section_separator_vertical(true);
|
|
68
60
|
}
|
|
@@ -25,6 +25,7 @@ const SectionSeparator = (props: SectionSeparatorProps) => {
|
|
|
25
25
|
id,
|
|
26
26
|
orientation = 'horizontal',
|
|
27
27
|
text,
|
|
28
|
+
dark = false,
|
|
28
29
|
variant = 'card',
|
|
29
30
|
} = props
|
|
30
31
|
const ariaProps = buildAriaProps(aria)
|
|
@@ -42,7 +43,7 @@ const SectionSeparator = (props: SectionSeparatorProps) => {
|
|
|
42
43
|
{
|
|
43
44
|
text && (
|
|
44
45
|
<span>
|
|
45
|
-
<Caption text={text} />
|
|
46
|
+
<Caption text={text} dark={dark}/>
|
|
46
47
|
</span>
|
|
47
48
|
)
|
|
48
49
|
}
|
|
@@ -3,12 +3,10 @@ examples:
|
|
|
3
3
|
rails:
|
|
4
4
|
- section_separator_text: Text Separator
|
|
5
5
|
- section_separator_line: Line Separator
|
|
6
|
-
- section_separator_text_background: Background Variant
|
|
7
6
|
- section_separator_vertical: Vertical
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
react:
|
|
11
10
|
- section_separator_text: Text Separator
|
|
12
11
|
- section_separator_line: Line Separator
|
|
13
|
-
- section_separator_text_background: Background Variant
|
|
14
12
|
- section_separator_vertical: Vertical
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export { default as SectionSeparatorLine } from './_section_separator_line.jsx'
|
|
2
2
|
export { default as SectionSeparatorText } from './_section_separator_text.jsx'
|
|
3
|
-
export { default as SectionSeparatorTextBackground } from './_section_separator_text_background.jsx'
|
|
4
3
|
export { default as SectionSeparatorVertical } from './_section_separator_vertical.jsx'
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
data: object.data,
|
|
5
5
|
class: object.classname) do %>
|
|
6
6
|
<% if object.orientation === 'horizontal' %>
|
|
7
|
-
|
|
7
|
+
<% if object.text %>
|
|
8
|
+
<span><%= pb_rails("caption", props: { text: object.text }) %></span>
|
|
9
|
+
<%end%>
|
|
8
10
|
<% end %>
|
|
9
11
|
<% if object.orientation === 'vertical' %>
|
|
10
12
|
<%= pb_rails("flex", props: { orientation: "column"}) do %>
|
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.6.0.pre.alpha.
|
|
4
|
+
version: 12.6.0.pre.alpha.sectionseparator1
|
|
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: 2023-03-
|
|
12
|
+
date: 2023-03-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: actionpack
|
|
@@ -1729,8 +1729,6 @@ files:
|
|
|
1729
1729
|
- app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx
|
|
1730
1730
|
- app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.html.erb
|
|
1731
1731
|
- app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx
|
|
1732
|
-
- app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.html.erb
|
|
1733
|
-
- app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.jsx
|
|
1734
1732
|
- app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical.html.erb
|
|
1735
1733
|
- app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical.jsx
|
|
1736
1734
|
- app/pb_kits/playbook/pb_section_separator/docs/example.yml
|
data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.html.erb
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<%= pb_rails("section_separator", props: { text: "Title Separator", variant: "background"}) %>
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { SectionSeparator } from '../../'
|
|
3
|
-
|
|
4
|
-
const SectionSeparatorTextBackground = (props) => {
|
|
5
|
-
return (
|
|
6
|
-
<SectionSeparator
|
|
7
|
-
{...props}
|
|
8
|
-
text="Title Separator"
|
|
9
|
-
variant="background"
|
|
10
|
-
/>
|
|
11
|
-
)
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export default SectionSeparatorTextBackground
|