playbook_ui 14.1.0.pre.alpha.PBNTR417addcolorsupdatedefaultcolor3608 → 14.1.0.pre.alpha.PBNTR449rtepreviewerrails3605
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_form_pill/_form_pill.scss +23 -245
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +5 -5
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +2 -2
- data/app/pb_kits/playbook/pb_form_pill/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_form_pill/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +2 -2
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +1 -5
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +0 -4
- data/app/pb_kits/playbook/pb_rich_text_editor/_previewer_mixin.scss +49 -13
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +0 -12
- data/app/pb_kits/playbook/pb_rich_text_editor/_tiptap_styles.scss +23 -23
- data/app/pb_kits/playbook/pb_rich_text_editor/_trix_styles.scss +19 -27
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +21 -11
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +2 -18
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +0 -4
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +18 -26
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +0 -4
- data/app/pb_kits/playbook/tokens/_colors.scss +0 -2
- data/dist/chunks/{_typeahead-BbHBDL7C.js → _typeahead-Cq7RLPBA.js} +2 -2
- data/dist/chunks/{_weekday_stacked-DEfI42pf.js → _weekday_stacked-Cykj5kLZ.js} +1 -1
- data/dist/chunks/{lib-u02fp5X7.js → lib-DErGXNy3.js} +1 -1
- data/dist/chunks/{pb_form_validation-iGj5wwU2.js → pb_form_validation-BC6kh7Hu.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +1 -1
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +6 -17
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_colors.html.erb +0 -117
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_colors.jsx +0 -227
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_colors.md +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.html.erb +0 -72
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.jsx +0 -91
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color_rails.md +0 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color_react.md +0 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +0 -31
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +0 -26
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color_rails.md +0 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color_react.md +0 -1
@@ -86,44 +86,44 @@
|
|
86
86
|
}
|
87
87
|
|
88
88
|
code {
|
89
|
-
@include
|
89
|
+
@include preview_tiptap_code;
|
90
90
|
}
|
91
91
|
|
92
92
|
pre {
|
93
|
-
@include
|
93
|
+
@include preview_tiptap_pre_codeblock;
|
94
94
|
}
|
95
95
|
a {
|
96
|
-
@include
|
96
|
+
@include preview_tiptap_a;
|
97
97
|
}
|
98
98
|
blockquote {
|
99
|
-
@include
|
99
|
+
@include preview_tiptap_blockquote;
|
100
100
|
}
|
101
101
|
&:focus-visible {
|
102
102
|
outline: unset;
|
103
103
|
@include transition_default;
|
104
104
|
}
|
105
105
|
h1 {
|
106
|
-
@include
|
106
|
+
@include preview_tiptap_h1;
|
107
107
|
}
|
108
108
|
h2 {
|
109
|
-
@include
|
109
|
+
@include preview_tiptap_h2;
|
110
110
|
}
|
111
111
|
h3 {
|
112
|
-
@include
|
112
|
+
@include preview_tiptap_h3;
|
113
113
|
}
|
114
114
|
h4,
|
115
115
|
h5,
|
116
116
|
h6 {
|
117
|
-
@include
|
117
|
+
@include preview_tiptap_smaller_headings;
|
118
118
|
}
|
119
119
|
hr {
|
120
|
-
@include
|
120
|
+
@include preview_tiptap_hr;
|
121
121
|
}
|
122
122
|
ol {
|
123
|
-
@include
|
123
|
+
@include preview_tiptap_ol;
|
124
124
|
}
|
125
125
|
ul {
|
126
|
-
@include
|
126
|
+
@include preview_tiptap_ul;
|
127
127
|
}
|
128
128
|
}
|
129
129
|
}
|
@@ -170,40 +170,40 @@
|
|
170
170
|
}
|
171
171
|
}
|
172
172
|
.tiptap-content {
|
173
|
-
@include
|
173
|
+
@include preview_tiptap_first_child;
|
174
174
|
a {
|
175
|
-
@include
|
175
|
+
@include preview_tiptap_a;
|
176
176
|
}
|
177
177
|
blockquote {
|
178
|
-
@include
|
178
|
+
@include preview_tiptap_blockquote;
|
179
179
|
}
|
180
180
|
h1 {
|
181
|
-
@include
|
181
|
+
@include preview_tiptap_h1;
|
182
182
|
}
|
183
183
|
h2 {
|
184
|
-
@include
|
184
|
+
@include preview_tiptap_h2;
|
185
185
|
}
|
186
186
|
h3 {
|
187
|
-
@include
|
187
|
+
@include preview_tiptap_h3;
|
188
188
|
}
|
189
189
|
h4,
|
190
190
|
h5,
|
191
191
|
h6 {
|
192
|
-
@include
|
192
|
+
@include preview_tiptap_smaller_headings;
|
193
193
|
}
|
194
194
|
hr {
|
195
|
-
@include
|
195
|
+
@include preview_tiptap_hr;
|
196
196
|
}
|
197
197
|
ol {
|
198
|
-
@include
|
198
|
+
@include preview_tiptap_ol;
|
199
199
|
}
|
200
200
|
p {
|
201
|
-
@include
|
201
|
+
@include preview_tiptap_p;
|
202
202
|
}
|
203
203
|
pre {
|
204
|
-
@include
|
204
|
+
@include preview_tiptap_pre_codeblock;
|
205
205
|
}
|
206
206
|
ul {
|
207
|
-
@include
|
207
|
+
@include preview_tiptap_ul;
|
208
208
|
}
|
209
209
|
}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
@import "previewer_mixin";
|
2
|
+
|
1
3
|
@charset "UTF-8";
|
2
4
|
/*
|
3
5
|
Trix 1.3.0
|
@@ -297,41 +299,31 @@ trix-editor .attachment__metadata {
|
|
297
299
|
trix-editor .attachment__metadata .attachment__size {
|
298
300
|
margin-left: 0.2em;
|
299
301
|
white-space: nowrap; }
|
302
|
+
trix-editor blockquote {
|
303
|
+
@include preview_trix_blockquote; }
|
304
|
+
trix-editor [dir=rtl] blockquote,
|
305
|
+
trix-editor blockquote[dir=rtl] {
|
306
|
+
@include preview_trix_blockquote }
|
300
307
|
@charset "UTF-8";
|
301
|
-
.trix-content {
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
308
|
+
.trix-content * {
|
309
|
+
box-sizing: border-box;
|
310
|
+
margin: 0;
|
311
|
+
padding: 0; }
|
312
|
+
.trix-content#content-preview div {
|
313
|
+
@include preview_trix_div; }
|
307
314
|
.trix-content h1 {
|
308
|
-
|
309
|
-
line-height: 1.2; }
|
315
|
+
@include preview_trix_h1; }
|
310
316
|
.trix-content blockquote {
|
311
|
-
|
312
|
-
border-left-width: 0.3em;
|
313
|
-
margin-left: 0.3em;
|
314
|
-
padding-left: 0.6em; }
|
317
|
+
@include preview_trix_blockquote; }
|
315
318
|
.trix-content [dir=rtl] blockquote,
|
316
319
|
.trix-content blockquote[dir=rtl] {
|
317
|
-
|
318
|
-
border-right-width: 0.3em;
|
319
|
-
margin-right: 0.3em;
|
320
|
-
padding-right: 0.6em; }
|
320
|
+
@include preview_trix_blockquote; }
|
321
321
|
.trix-content li {
|
322
|
-
|
322
|
+
@include preview_trix_li; }
|
323
323
|
.trix-content [dir=rtl] li {
|
324
|
-
|
324
|
+
@include preview_trix_li; }
|
325
325
|
.trix-content pre {
|
326
|
-
|
327
|
-
width: 100%;
|
328
|
-
vertical-align: top;
|
329
|
-
font-family: monospace;
|
330
|
-
font-size: 0.9em;
|
331
|
-
padding: 0.5em;
|
332
|
-
white-space: pre;
|
333
|
-
background-color: #eee;
|
334
|
-
overflow-x: auto; }
|
326
|
+
@include preview_trix_pre; }
|
335
327
|
.trix-content img {
|
336
328
|
max-width: 100%;
|
337
329
|
height: auto; }
|
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
<%= pb_rails("rich_text_editor", props: { id: "content-preview-editor" }) %>
|
3
3
|
<div id="card-obfuscation" style="display:none">
|
4
|
-
<%= pb_rails("card", props: { margin_top: "md" }) do %>
|
4
|
+
<%= pb_rails("card", props: { margin_top: "md", max_width: "md", padding: "sm" }) do %>
|
5
5
|
<div id="content-preview" class="trix-content">
|
6
6
|
</div>
|
7
7
|
<% end %>
|
@@ -11,15 +11,25 @@
|
|
11
11
|
<% end %>
|
12
12
|
|
13
13
|
<script>
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
const previewArea = document.getElementById('content-preview');
|
19
|
-
const cardDiv = document.getElementById('card-obfuscation');
|
14
|
+
document.addEventListener('DOMContentLoaded', () => {
|
15
|
+
function handleButtonClick() {
|
16
|
+
const editorContainer = [...document.querySelectorAll('[data-react-props]')]
|
17
|
+
.find(element => element.getAttribute('data-react-props')?.includes('"id":"content-preview-editor"'))
|
20
18
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
19
|
+
const editorElement = editorContainer?.querySelector('trix-editor')
|
20
|
+
const inputId = editorElement?.getAttribute('input')
|
21
|
+
const inputElement = inputId && document.getElementById(inputId)
|
22
|
+
|
23
|
+
const editorContent = inputElement?.value || ''
|
24
|
+
const previewArea = document.getElementById('content-preview')
|
25
|
+
const cardDiv = document.getElementById('card-obfuscation')
|
26
|
+
|
27
|
+
if (previewArea && cardDiv) {
|
28
|
+
previewArea.innerHTML = editorContent
|
29
|
+
cardDiv.style.display = 'block'
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
document.getElementById('preview-button')?.addEventListener('click', handleButtonClick)
|
34
|
+
})
|
25
35
|
</script>
|
@@ -63,7 +63,7 @@ test('typeahead with pills', () => {
|
|
63
63
|
)
|
64
64
|
|
65
65
|
const kit = screen.getByTestId('pills-test')
|
66
|
-
const pill = kit.querySelector(".
|
66
|
+
const pill = kit.querySelector(".pb_form_pill_kit_primary")
|
67
67
|
expect(pill).toBeInTheDocument()
|
68
68
|
})
|
69
69
|
|
@@ -89,7 +89,7 @@ test('typeahead multi select with badges and small pills', () => {
|
|
89
89
|
)
|
90
90
|
|
91
91
|
const kit = screen.getByTestId('small-pill-test')
|
92
|
-
const badge = kit.querySelector(".
|
92
|
+
const badge = kit.querySelector(".pb_form_pill_kit_primary.mr_xs.small")
|
93
93
|
expect(badge).toBeInTheDocument()
|
94
94
|
})
|
95
95
|
|
@@ -107,20 +107,4 @@ test('should pass className prop', () => {
|
|
107
107
|
|
108
108
|
const kit = screen.getByTestId('typeahead-test')
|
109
109
|
expect(kit).toHaveClass(className)
|
110
|
-
})
|
111
|
-
|
112
|
-
test('typeahead with colored pills', () => {
|
113
|
-
render(
|
114
|
-
<Typeahead
|
115
|
-
color="primary"
|
116
|
-
data={{ testid: 'pills-color-test' }}
|
117
|
-
defaultValue={[options[0]]}
|
118
|
-
isMulti
|
119
|
-
options={options}
|
120
|
-
/>
|
121
|
-
)
|
122
|
-
|
123
|
-
const kit = screen.getByTestId('pills-color-test')
|
124
|
-
const pill = kit.querySelector(".pb_form_pill_kit_primary")
|
125
|
-
expect(pill).toBeInTheDocument()
|
126
110
|
})
|
@@ -45,14 +45,12 @@ type TypeaheadProps = {
|
|
45
45
|
getOptionLabel?: string | (() => any),
|
46
46
|
getOptionValue?: string | (() => any),
|
47
47
|
name?: string,
|
48
|
-
color?: "primary" | "neutral" | "success" | "warning" | "error" | "info" | "data_1" | "data_2" | "data_3" | "data_4" | "data_5" | "data_6" | "data_7" | "data_8" | "windows" | "siding" | "roofing" | "doors" | "gutters" | "solar" | "insulation" | "accessories",
|
49
48
|
} & GlobalProps
|
50
49
|
|
51
50
|
export type SelectValueType = {
|
52
51
|
label: string,
|
53
52
|
value: string,
|
54
53
|
imageUrl?: string,
|
55
|
-
pillColor?: string,
|
56
54
|
}
|
57
55
|
|
58
56
|
type TagOnChangeValues = {
|
@@ -78,7 +76,6 @@ const Typeahead = ({
|
|
78
76
|
htmlOptions = {},
|
79
77
|
id,
|
80
78
|
loadOptions = noop,
|
81
|
-
color,
|
82
79
|
...props
|
83
80
|
}: TypeaheadProps) => {
|
84
81
|
const selectProps = {
|
@@ -108,7 +105,6 @@ const Typeahead = ({
|
|
108
105
|
onCreateOption: null as null,
|
109
106
|
plusIcon: false,
|
110
107
|
onMultiValueClick: (_option: SelectValueType): any => undefined,
|
111
|
-
pillColor: color,
|
112
108
|
...props,
|
113
109
|
}
|
114
110
|
|
@@ -8,7 +8,6 @@ import { SelectValueType } from '../_typeahead'
|
|
8
8
|
type Props = {
|
9
9
|
data: SelectValueType,
|
10
10
|
multiValueTemplate: any,
|
11
|
-
pillColor?: "neutral" | "primary" | "neutral" | "success" | "warning" | "error",
|
12
11
|
removeProps: any,
|
13
12
|
selectProps: any,
|
14
13
|
}
|
@@ -16,55 +15,48 @@ type Props = {
|
|
16
15
|
const MultiValue = (props: Props) => {
|
17
16
|
const { removeProps } = props
|
18
17
|
const { imageUrl, label } = props.data
|
19
|
-
const {
|
18
|
+
const { multiKit } = props.selectProps
|
20
19
|
|
21
20
|
const formPillProps = {
|
22
21
|
marginRight: 'xs',
|
23
22
|
name: label,
|
24
23
|
avatarUrl: '',
|
25
|
-
dark,
|
26
24
|
}
|
27
25
|
|
28
26
|
if (typeof imageUrl === 'string') formPillProps.avatarUrl = imageUrl
|
29
27
|
|
30
28
|
return (
|
31
29
|
<components.MultiValueContainer
|
32
|
-
|
33
|
-
|
30
|
+
className="text_input_multivalue_container"
|
31
|
+
{...props}
|
34
32
|
>
|
35
33
|
{multiKit === 'badge' &&
|
36
34
|
<Badge
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
35
|
+
closeProps={removeProps}
|
36
|
+
removeIcon
|
37
|
+
text={label}
|
38
|
+
variant="primary"
|
41
39
|
/>
|
42
40
|
}
|
43
41
|
|
44
42
|
{multiKit !== 'badge' && imageUrl &&
|
45
43
|
<FormPill
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
size={multiKit === 'smallPill' ? 'small' : ''}
|
53
|
-
text=''
|
54
|
-
{...props}
|
44
|
+
avatarUrl={imageUrl}
|
45
|
+
closeProps={removeProps}
|
46
|
+
marginRight="xs"
|
47
|
+
name={label}
|
48
|
+
size={multiKit === 'smallPill' ? 'small' : ''}
|
49
|
+
text=''
|
55
50
|
/>
|
56
51
|
}
|
57
52
|
|
58
53
|
{multiKit !== 'badge' && !imageUrl &&
|
59
54
|
<FormPill
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
size={multiKit === 'smallPill' ? 'small' : ''}
|
66
|
-
text={label}
|
67
|
-
{...props}
|
55
|
+
closeProps={removeProps}
|
56
|
+
marginRight="xs"
|
57
|
+
name=''
|
58
|
+
size={multiKit === 'smallPill' ? 'small' : ''}
|
59
|
+
text={label}
|
68
60
|
/>
|
69
61
|
}
|
70
62
|
</components.MultiValueContainer>
|
@@ -9,7 +9,6 @@ examples:
|
|
9
9
|
- typeahead_inline: Inline
|
10
10
|
- typeahead_multi_kit: Multi Kit Options
|
11
11
|
- typeahead_error_state: Error State
|
12
|
-
- typeahead_with_pills_color: With Pills (Custom Color)
|
13
12
|
|
14
13
|
react:
|
15
14
|
- typeahead_default: Default
|
@@ -24,4 +23,3 @@ examples:
|
|
24
23
|
- typeahead_async_createable: Createable (+ Async Data)
|
25
24
|
- typeahead_error_state: Error State
|
26
25
|
- typeahead_custom_menu_list: Custom MenuList
|
27
|
-
- typeahead_with_pills_color: With Pills (Custom Color)
|
@@ -10,4 +10,3 @@ export { default as TypeaheadCreateable } from './_typeahead_createable.jsx'
|
|
10
10
|
export { default as TypeaheadAsyncCreateable } from './_typeahead_async_createable.jsx'
|
11
11
|
export { default as TypeaheadErrorState } from './_typeahead_error_state.jsx'
|
12
12
|
export { default as TypeaheadCustomMenuList } from './_typeahead_custom_menu_list.jsx'
|
13
|
-
export { default as TypeaheadWithPillsColor } from './_typeahead_with_pills_color.jsx'
|
@@ -34,9 +34,6 @@ module Playbook
|
|
34
34
|
prop :search_term_minimum_length, default: 3
|
35
35
|
prop :search_debounce_timeout, default: 250
|
36
36
|
prop :value
|
37
|
-
prop :color, type: Playbook::Props::Enum,
|
38
|
-
values: %w[primary neutral success warning error info data_1 data_2 data_3 data_4 data_5 data_6 data_7 data_8 windows siding roofing doors gutters solar insulation accessories],
|
39
|
-
default: "neutral"
|
40
37
|
|
41
38
|
def classname
|
42
39
|
generate_classname("pb_typeahead_kit")
|
@@ -61,7 +58,6 @@ module Playbook
|
|
61
58
|
def typeahead_react_options
|
62
59
|
base_options = {
|
63
60
|
className: classname,
|
64
|
-
color: color,
|
65
61
|
dark: dark,
|
66
62
|
defaultValue: default_options,
|
67
63
|
error: error,
|
@@ -259,7 +259,6 @@ $solar: $product_4_background !default; // deprecated
|
|
259
259
|
$roofing: $product_5_background !default; // deprecated
|
260
260
|
$gutters: $product_6_background !default; // deprecated
|
261
261
|
$insulation: $product_7_background !default; // deprecated
|
262
|
-
$accessories: $product_8_background !default; // added specifically for form_pill product map
|
263
262
|
$product_colors: (
|
264
263
|
windows: $windows,
|
265
264
|
siding: $siding,
|
@@ -268,7 +267,6 @@ $product_colors: (
|
|
268
267
|
roofing: $roofing,
|
269
268
|
gutters: $gutters,
|
270
269
|
insulation: $insulation,
|
271
|
-
accessories: $accessories,
|
272
270
|
product_1_background: $product_1_background,
|
273
271
|
product_1_highlight: $product_1_highlight,
|
274
272
|
product_2_background: $product_2_background,
|