playbook_ui 14.8.0.pre.alpha.PLAY1649rolloutheightglobalprops4635 → 14.8.0.pre.alpha.PLAY16254545
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/_playbook.scss +0 -1
- data/app/pb_kits/playbook/pb_background/_background.tsx +2 -8
- data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +2 -2
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +4 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +7 -84
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +1 -3
- data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +1 -4
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -1
- data/app/pb_kits/playbook/pb_dropdown/dropdown_container.html.erb +1 -0
- data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +4 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +2 -2
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_loading.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +12 -63
- data/app/pb_kits/playbook/pb_image/_image.tsx +1 -3
- data/app/pb_kits/playbook/pb_layout/_layout.tsx +3 -6
- data/app/pb_kits/playbook/pb_overlay/_overlay.tsx +1 -3
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +1 -3
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.html.erb +1 -2
- data/app/pb_kits/playbook/pb_table/_table.tsx +1 -3
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.html.erb +0 -47
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.jsx +0 -59
- data/app/pb_kits/playbook/pb_typeahead/index.ts +3 -29
- data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +2 -5
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +0 -4
- data/app/pb_kits/playbook/utilities/_max_width.scss +0 -4
- data/app/pb_kits/playbook/utilities/_min_width.scss +1 -1
- data/app/pb_kits/playbook/utilities/globalPropNames.mjs +1 -0
- data/app/pb_kits/playbook/utilities/globalProps.ts +0 -24
- data/dist/chunks/{_typeahead-PpBCdLHD.js → _typeahead-D0PihN_3.js} +3 -3
- data/dist/chunks/_weekday_stacked-uMIX8f-A.js +45 -0
- data/dist/chunks/{lib-SyD3buPZ.js → lib-BC6ESsxG.js} +1 -1
- data/dist/chunks/{pb_form_validation-Dt8UJgrJ.js → pb_form_validation-B_Z9rEbg.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +0 -321
- 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/classnames.rb +0 -3
- data/lib/playbook/forms/builder/typeahead_field.rb +0 -13
- data/lib/playbook/kit_base.rb +1 -16
- data/lib/playbook/version.rb +1 -1
- metadata +6 -12
- data/app/pb_kits/playbook/tokens/_height.scss +0 -19
- data/app/pb_kits/playbook/tokens/exports/_height.module.scss +0 -37
- data/app/pb_kits/playbook/utilities/_height.scss +0 -33
- data/dist/chunks/_weekday_stacked-fqRjy8nx.js +0 -45
- data/lib/playbook/height.rb +0 -29
- data/lib/playbook/max_height.rb +0 -29
- data/lib/playbook/min_height.rb +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b2b5ad03216b06c9f37e1792a0b208efbfd3d44b79f73696e1a3b006f89228c
|
4
|
+
data.tar.gz: 282f44cd7aee29b4bc0ca84396be2a914a3786e91c8b308c5e7f284b84d4d74c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b14587326a80d3f8a7663ab14df6c51720aae8ad3a3492370dd853a956292a7b80901b2782e6ea04fbdb37b38d7810490234b4396bc9c891158432c208578f4
|
7
|
+
data.tar.gz: a1f50ae88764cf79258478662bd9cd294b394d8c3cbd3c96580045ba2a5a67c3d924d9ee0170daf134ca9400078c4709c18dff06ea98927392f412343b5d7216
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { useEffect, useState } from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
4
|
-
import { GlobalProps, globalProps
|
4
|
+
import { GlobalProps, globalProps } from '../utilities/globalProps'
|
5
5
|
|
6
6
|
type BackgroundColors = 'gradient' |
|
7
7
|
'dark' |'light' | 'white' | 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'primary' | 'shadow' |
|
@@ -145,12 +145,6 @@ const Background = (props: BackgroundProps): React.ReactElement => {
|
|
145
145
|
} : {})
|
146
146
|
};
|
147
147
|
|
148
|
-
const dynamicInlineProps = globalInlineProps(props);
|
149
|
-
const combinedStyles = {
|
150
|
-
...backgroundStyle,
|
151
|
-
...dynamicInlineProps
|
152
|
-
};
|
153
|
-
|
154
148
|
const Tag: React.ReactElement | any = `${tag}`;
|
155
149
|
const ariaProps = buildAriaProps(aria);
|
156
150
|
const dataProps = buildDataProps(data);
|
@@ -164,7 +158,7 @@ const Background = (props: BackgroundProps): React.ReactElement => {
|
|
164
158
|
alt={alt}
|
165
159
|
className={classes}
|
166
160
|
id={id}
|
167
|
-
style={
|
161
|
+
style={backgroundStyle}
|
168
162
|
>
|
169
163
|
{children}
|
170
164
|
</Tag>
|
@@ -6,12 +6,12 @@
|
|
6
6
|
) do %>
|
7
7
|
<%= content.presence || object.input %>
|
8
8
|
<% if object.indeterminate %>
|
9
|
-
<span
|
9
|
+
<span class="pb_checkbox_indeterminate">
|
10
10
|
<%= pb_rails("icon", props: { icon: "minus", classname: "indeterminate_icon", fixed_width: true}) %>
|
11
11
|
<%= pb_rails("icon", props: { icon: "check", classname: "check_icon hidden", fixed_width: true}) %>
|
12
12
|
</span>
|
13
13
|
<% else %>
|
14
|
-
<span
|
14
|
+
<span class="pb_checkbox_checkmark">
|
15
15
|
<%= pb_rails("icon", props: { icon: "check", classname: "check_icon", fixed_width: true}) %>
|
16
16
|
<%= pb_rails("icon", props: { icon: "minus", classname: "indeterminate_icon hidden", fixed_width: true}) %>
|
17
17
|
</span>
|
@@ -18,6 +18,10 @@ module Playbook
|
|
18
18
|
prop :form_spacing, type: Playbook::Props::Boolean,
|
19
19
|
default: false
|
20
20
|
|
21
|
+
def checked_html
|
22
|
+
checked ? "checked='true'" : nil
|
23
|
+
end
|
24
|
+
|
21
25
|
def classname
|
22
26
|
generate_classname("pb_checkbox_kit", checked_class) + indeterminate_class + error_class
|
23
27
|
end
|
@@ -1,84 +1,7 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
<thead>
|
9
|
-
<tr>
|
10
|
-
<th>
|
11
|
-
<%= pb_rails("checkbox", props: {
|
12
|
-
checked: true,
|
13
|
-
text: "Uncheck All",
|
14
|
-
value: "checkbox-value",
|
15
|
-
name: "main-checkbox",
|
16
|
-
indeterminate: true,
|
17
|
-
id: "indeterminate-checkbox"
|
18
|
-
}) %>
|
19
|
-
</th>
|
20
|
-
</tr>
|
21
|
-
</thead>
|
22
|
-
|
23
|
-
<tbody>
|
24
|
-
<% checkboxes.each do |checkbox| %>
|
25
|
-
<tr>
|
26
|
-
<td>
|
27
|
-
<%= pb_rails("checkbox", props: {
|
28
|
-
checked: checkbox[:checked],
|
29
|
-
text: checkbox[:name],
|
30
|
-
value: checkbox[:id],
|
31
|
-
name: "#{checkbox[:id]}-indeterminate-checkbox",
|
32
|
-
id: "#{checkbox[:id]}-indeterminate-checkbox",
|
33
|
-
}) %>
|
34
|
-
</td>
|
35
|
-
</tr>
|
36
|
-
<% end %>
|
37
|
-
</tbody>
|
38
|
-
<% end %>
|
39
|
-
|
40
|
-
<script>
|
41
|
-
document.addEventListener('DOMContentLoaded', function() {
|
42
|
-
const mainCheckboxWrapper = document.getElementById('indeterminate-checkbox');
|
43
|
-
const mainCheckbox = document.getElementsByName("main-checkbox")[0];
|
44
|
-
const childCheckboxes = document.querySelectorAll('input[type="checkbox"][id$="indeterminate-checkbox"]');
|
45
|
-
|
46
|
-
const updateMainCheckbox = () => {
|
47
|
-
// Count the number of checked child checkboxes
|
48
|
-
const checkedCount = Array.from(childCheckboxes).filter(cb => cb.checked).length;
|
49
|
-
// Determine if the main checkbox should be in an indeterminate state
|
50
|
-
const indeterminate = checkedCount > 0 && checkedCount < childCheckboxes.length;
|
51
|
-
|
52
|
-
// Set the main checkbox states
|
53
|
-
mainCheckbox.indeterminate = indeterminate;
|
54
|
-
mainCheckbox.checked = checkedCount > 0;
|
55
|
-
|
56
|
-
// Determine the main checkbox label based on the number of checked checkboxes
|
57
|
-
const text = checkedCount === 0 ? 'Check All' : 'Uncheck All';
|
58
|
-
|
59
|
-
// Determine the icon class to add and remove based on the number of checked checkboxes
|
60
|
-
const iconClassToAdd = checkedCount === 0 ? 'pb_checkbox_checkmark' : 'pb_checkbox_indeterminate';
|
61
|
-
const iconClassToRemove = checkedCount === 0 ? 'pb_checkbox_indeterminate' : 'pb_checkbox_checkmark';
|
62
|
-
|
63
|
-
// Update main checkbox label
|
64
|
-
mainCheckboxWrapper.getElementsByClassName('pb_body_kit')[0].textContent = text;
|
65
|
-
|
66
|
-
// Add and remove the icon class to the main checkbox wrapper
|
67
|
-
mainCheckboxWrapper.querySelector('[data-pb-checkbox-icon-span]').classList.add(iconClassToAdd);
|
68
|
-
mainCheckboxWrapper.querySelector('[data-pb-checkbox-icon-span]').classList.remove(iconClassToRemove);
|
69
|
-
|
70
|
-
// Toggle the visibility of the checkbox icon based on the indeterminate state
|
71
|
-
mainCheckboxWrapper.getElementsByClassName("indeterminate_icon")[0].classList.toggle('hidden', !indeterminate);
|
72
|
-
mainCheckboxWrapper.getElementsByClassName("check_icon")[0].classList.toggle('hidden', indeterminate);
|
73
|
-
};
|
74
|
-
|
75
|
-
mainCheckbox.addEventListener('change', function() {
|
76
|
-
childCheckboxes.forEach(cb => cb.checked = this.checked);
|
77
|
-
updateMainCheckbox();
|
78
|
-
});
|
79
|
-
|
80
|
-
childCheckboxes.forEach(cb => {
|
81
|
-
cb.addEventListener('change', updateMainCheckbox);
|
82
|
-
});
|
83
|
-
});
|
84
|
-
</script>
|
1
|
+
<%= pb_rails("checkbox" , props: {
|
2
|
+
text: "Select ",
|
3
|
+
value: "checkbox-value",
|
4
|
+
name: "main",
|
5
|
+
indeterminate: true,
|
6
|
+
id: "test-indeterminate-js"
|
7
|
+
}) %>
|
@@ -2,7 +2,7 @@ import React, { useEffect, ReactElement } from 'react'
|
|
2
2
|
import classnames from 'classnames'
|
3
3
|
import useCollapsible from './useCollapsible'
|
4
4
|
|
5
|
-
import { globalProps
|
5
|
+
import { globalProps } from '../utilities/globalProps'
|
6
6
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
7
7
|
|
8
8
|
import CollapsibleContent from './child_kits/CollapsibleContent'
|
@@ -75,7 +75,6 @@ const Collapsible = ({
|
|
75
75
|
globalProps(props),
|
76
76
|
className
|
77
77
|
)
|
78
|
-
const dynamicInlineProps = globalInlineProps(props)
|
79
78
|
return (
|
80
79
|
<CollapsibleContext.Provider value={{ collapsed: isCollapsed, toggle, icon, iconSize, iconColor, onIconClick, onClick }}>
|
81
80
|
<div
|
@@ -84,7 +83,6 @@ const Collapsible = ({
|
|
84
83
|
{...htmlProps}
|
85
84
|
className={classes}
|
86
85
|
id={id}
|
87
|
-
style={dynamicInlineProps}
|
88
86
|
>
|
89
87
|
{Main ? (
|
90
88
|
<CollapsibleMain {...mainProps}>
|
@@ -7,7 +7,7 @@ import {
|
|
7
7
|
buildDataProps,
|
8
8
|
buildHtmlProps,
|
9
9
|
} from "../utilities/props";
|
10
|
-
import { globalProps
|
10
|
+
import { globalProps } from "../utilities/globalProps";
|
11
11
|
|
12
12
|
import { DialogContext } from "../pb_dialog/_dialog_context";
|
13
13
|
|
@@ -101,8 +101,6 @@ const Drawer = (props: DrawerProps): React.ReactElement => {
|
|
101
101
|
|
102
102
|
const classes = classnames(buildCss("pb_drawer_wrapper"), className);
|
103
103
|
|
104
|
-
const dynamicInlineProps = globalInlineProps(props)
|
105
|
-
|
106
104
|
const [triggerOpened, setTriggerOpened] = useState(false);
|
107
105
|
|
108
106
|
const breakpointWidths: Record<DrawerProps["breakpoint"], number> = {
|
@@ -200,7 +198,6 @@ const Drawer = (props: DrawerProps): React.ReactElement => {
|
|
200
198
|
{...dataProps}
|
201
199
|
{...htmlProps}
|
202
200
|
className={classes}
|
203
|
-
style={dynamicInlineProps}
|
204
201
|
>
|
205
202
|
{isModalVisible && (
|
206
203
|
<div
|
@@ -23,7 +23,7 @@
|
|
23
23
|
%>
|
24
24
|
|
25
25
|
<%= pb_form_with(scope: :example, url: "", method: :get) do |form| %>
|
26
|
-
<%= form.typeahead :
|
26
|
+
<%= form.typeahead :example_user, props: { data: { typeahead_example1: true, user: {} }, placeholder: "Search for a user" } %>
|
27
27
|
<%= form.text_field :example_text_field, props: { label: true } %>
|
28
28
|
<%= form.phone_number_field :example_phone_number_field, props: { label: "Example phone field" } %>
|
29
29
|
<%= form.email_field :example_email_field, props: { label: true } %>
|
@@ -92,7 +92,7 @@
|
|
92
92
|
const selectedUserData = JSON.parse(selectedUserJSON)
|
93
93
|
|
94
94
|
// set the input field's value
|
95
|
-
event.target.querySelector('input[name=
|
95
|
+
event.target.querySelector('input[name=example_user]').value = selectedUserData.login
|
96
96
|
|
97
97
|
// log the selected option's dataset
|
98
98
|
console.log('The selected user data:')
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%= pb_form_with(scope: :example, url: "", method: :get, loading: true) do |form| %>
|
2
|
-
<%= form.text_field :
|
2
|
+
<%= form.text_field :example_text_field, props: { label: true } %>
|
3
3
|
|
4
4
|
<%= form.actions do |action| %>
|
5
5
|
<%= action.submit %>
|
@@ -22,74 +22,23 @@
|
|
22
22
|
%>
|
23
23
|
|
24
24
|
<%= pb_form_with(scope: :example, method: :get, url: "", validate: true) do |form| %>
|
25
|
-
<%= form.
|
26
|
-
<%= form.
|
27
|
-
<%= form.
|
28
|
-
<%= form.
|
29
|
-
<%= form.
|
30
|
-
<%= form.
|
31
|
-
<%= form.
|
32
|
-
<%= form.
|
33
|
-
<%= form.
|
34
|
-
<%= form.
|
35
|
-
<%= form.
|
36
|
-
<%= form.collection_select :example_collection_select_validation, example_collection, :value, :name, props: { label: true, blank_selection: "Select One...", required: true } %>
|
25
|
+
<%= form.text_field :example_text_field, props: { label: true, required: true } %>
|
26
|
+
<%= form.phone_number_field :example_phone_number_field, props: { label: "Example phone field" } %>
|
27
|
+
<%= form.email_field :example_email_field, props: { label: true, required: true } %>
|
28
|
+
<%= form.number_field :example_number_field, props: { label: true, required: true } %>
|
29
|
+
<%= form.search_field :example_project_number, props: { label: true, required: true, validation: { pattern: "[0-9]{2}-[0-9]{5}", message: "Please enter a valid project number (example: 33-12345)." } } %>
|
30
|
+
<%= form.password_field :example_password_field, props: { label: true, required: true } %>
|
31
|
+
<%= form.url_field :example_url_field, props: { label: true, required: true } %>
|
32
|
+
<%= form.text_area :example_text_area, props: { label: true, required: true } %>
|
33
|
+
<%= form.dropdown_field :example_dropdown, props: { label: true, options: example_dropdown_options, required: true } %>
|
34
|
+
<%= form.select :example_select, [ ["Yes", 1], ["No", 2] ], props: { label: true, blank_selection: "Select One...", required: true } %>
|
35
|
+
<%= form.collection_select :example_collection_select, example_collection, :value, :name, props: { label: true, blank_selection: "Select One...", required: true } %>
|
37
36
|
<%= form.check_box :example_checkbox, props: { text: "Example Checkbox", label: true, required: true } %>
|
38
37
|
<%= form.date_picker :example_date_picker_2, props: { label: true, required: true } %>
|
39
|
-
<%= form.star_rating_field :
|
38
|
+
<%= form.star_rating_field :example_star_rating, props: { variant: "interactive", label: true, required: true } %>
|
40
39
|
|
41
40
|
<%= form.actions do |action| %>
|
42
41
|
<%= action.submit %>
|
43
42
|
<%= action.button props: { type: "reset", text: "Cancel", variant: "secondary" } %>
|
44
43
|
<% end %>
|
45
44
|
<% end %>
|
46
|
-
|
47
|
-
<!-- form.typeahead user results example template -->
|
48
|
-
<template data-typeahead-example-result-option>
|
49
|
-
<%= pb_rails("user", props: {
|
50
|
-
name: tag(:slot, name: "name"),
|
51
|
-
orientation: "horizontal",
|
52
|
-
align: "left",
|
53
|
-
avatar_url: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGP6zwAAAgcBApocMXEAAAAASUVORK5CYII=",
|
54
|
-
avatar: true
|
55
|
-
}) %>
|
56
|
-
</template>
|
57
|
-
|
58
|
-
<!-- form.typeahead JS example implementation -->
|
59
|
-
<%= javascript_tag defer: "defer" do %>
|
60
|
-
document.addEventListener("pb-typeahead-kit-search", function(event) {
|
61
|
-
if (!event.target.dataset || !event.target.dataset.typeaheadExample2) return
|
62
|
-
|
63
|
-
fetch(`https://api.github.com/search/users?q=${encodeURIComponent(event.detail.searchingFor)}`)
|
64
|
-
.then(response => response.json())
|
65
|
-
.then((result) => {
|
66
|
-
const resultOptionTemplate = document.querySelector("[data-typeahead-example-result-option]")
|
67
|
-
|
68
|
-
event.detail.setResults((result.items || []).map((user) => {
|
69
|
-
const wrapper = resultOptionTemplate.content.cloneNode(true)
|
70
|
-
wrapper.children[0].dataset.user = JSON.stringify(user)
|
71
|
-
wrapper.querySelector('slot[name="name"]').replaceWith(user.login)
|
72
|
-
wrapper.querySelector('img').dataset.src = user.avatar_url
|
73
|
-
return wrapper
|
74
|
-
}))
|
75
|
-
})
|
76
|
-
})
|
77
|
-
|
78
|
-
|
79
|
-
document.addEventListener("pb-typeahead-kit-result-option-selected", function(event) {
|
80
|
-
if (!event.target.dataset.typeaheadExample2) return
|
81
|
-
|
82
|
-
const selectedUserJSON = event.detail.selected.firstElementChild.dataset.user
|
83
|
-
const selectedUserData = JSON.parse(selectedUserJSON)
|
84
|
-
|
85
|
-
// set the input field's value
|
86
|
-
event.target.querySelector('input[name=example_typeahead_validation]').value = selectedUserData.login
|
87
|
-
|
88
|
-
// log the selected option's dataset
|
89
|
-
console.log('The selected user data:')
|
90
|
-
console.dir(selectedUserData)
|
91
|
-
|
92
|
-
// do even more with the data later - TBD
|
93
|
-
event.target.dataset.user = selectedUserJSON
|
94
|
-
})
|
95
|
-
<% end %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
|
-
import { GlobalProps, globalProps
|
3
|
+
import { GlobalProps, globalProps } from '../utilities/globalProps'
|
4
4
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
5
|
|
6
6
|
type ImageType = {
|
@@ -41,7 +41,6 @@ const Image = (props: ImageType): React.ReactElement => {
|
|
41
41
|
globalProps(props),
|
42
42
|
className
|
43
43
|
)
|
44
|
-
const dynamicInlineProps = globalInlineProps(props)
|
45
44
|
const dataProps = buildDataProps(data)
|
46
45
|
const htmlProps = buildHtmlProps(htmlOptions)
|
47
46
|
|
@@ -57,7 +56,6 @@ const Image = (props: ImageType): React.ReactElement => {
|
|
57
56
|
id={id}
|
58
57
|
onError={onError}
|
59
58
|
src={url}
|
60
|
-
style={dynamicInlineProps}
|
61
59
|
/>
|
62
60
|
)
|
63
61
|
}
|
@@ -2,7 +2,7 @@ import React from 'react'
|
|
2
2
|
import classnames from 'classnames'
|
3
3
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
4
4
|
|
5
|
-
import {
|
5
|
+
import { globalProps } from '../utilities/globalProps'
|
6
6
|
|
7
7
|
type LayoutPropTypes = {
|
8
8
|
aria?: {[key: string]: string},
|
@@ -19,7 +19,7 @@ type LayoutPropTypes = {
|
|
19
19
|
variant?: "light" | "dark" | "gradient",
|
20
20
|
transparent?: boolean,
|
21
21
|
layout?: "sidebar" | "collection" | "kanban" | "content" | "masonry",
|
22
|
-
}
|
22
|
+
}
|
23
23
|
|
24
24
|
type LayoutSideProps = {
|
25
25
|
children: React.ReactNode[] | React.ReactNode,
|
@@ -159,8 +159,6 @@ const Layout = (props: LayoutPropTypes) => {
|
|
159
159
|
const filteredProps = {...props}
|
160
160
|
delete filteredProps?.position
|
161
161
|
|
162
|
-
const dynamicInlineProps = globalInlineProps(props)
|
163
|
-
|
164
162
|
return (
|
165
163
|
<div
|
166
164
|
{...ariaProps}
|
@@ -173,8 +171,7 @@ const Layout = (props: LayoutPropTypes) => {
|
|
173
171
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
174
172
|
//@ts-ignore
|
175
173
|
globalProps(filteredProps)
|
176
|
-
|
177
|
-
style={dynamicInlineProps}
|
174
|
+
)}
|
178
175
|
>
|
179
176
|
{subComponentTags('Side')}
|
180
177
|
{nonSideChildren}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
4
|
-
import { globalProps
|
4
|
+
import { globalProps } from '../utilities/globalProps'
|
5
5
|
import OverlayPercentage from './subcomponents/_overlay_percentage'
|
6
6
|
import OverlayToken from './subcomponents/_overlay_token'
|
7
7
|
|
@@ -39,7 +39,6 @@ const Overlay = (props: OverlayProps) => {
|
|
39
39
|
const dataProps = buildDataProps(data)
|
40
40
|
const classes = classnames(buildCss('pb_overlay'), globalProps(props), className)
|
41
41
|
const htmlProps = buildHtmlProps(htmlOptions)
|
42
|
-
const dynamicInlineProps = globalInlineProps(props)
|
43
42
|
|
44
43
|
const getPosition = () => {
|
45
44
|
return Object.keys(layout)[0]
|
@@ -58,7 +57,6 @@ const Overlay = (props: OverlayProps) => {
|
|
58
57
|
{...htmlProps}
|
59
58
|
className={classes}
|
60
59
|
id={id}
|
61
|
-
style={dynamicInlineProps}
|
62
60
|
>
|
63
61
|
{isSizePercentage ?
|
64
62
|
OverlayPercentage({
|
@@ -2,7 +2,7 @@ import React from 'react'
|
|
2
2
|
import classnames from 'classnames'
|
3
3
|
|
4
4
|
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
|
-
import { globalProps
|
5
|
+
import { globalProps } from '../utilities/globalProps'
|
6
6
|
|
7
7
|
import Caption from '../pb_caption/_caption'
|
8
8
|
|
@@ -38,7 +38,6 @@ const SectionSeparator = (props: SectionSeparatorProps): React.ReactElement => {
|
|
38
38
|
const dataProps = buildDataProps(data)
|
39
39
|
const htmlProps = buildHtmlProps(htmlOptions)
|
40
40
|
const classes = classnames(buildCss('pb_section_separator_kit', variant, orientation, lineStyle === "dashed" ? lineStyle : ""), globalProps(props), className)
|
41
|
-
const dynamicInlineProps = globalInlineProps(props)
|
42
41
|
|
43
42
|
return (
|
44
43
|
|
@@ -48,7 +47,6 @@ const SectionSeparator = (props: SectionSeparatorProps): React.ReactElement => {
|
|
48
47
|
{...htmlProps}
|
49
48
|
className={classes}
|
50
49
|
id={id}
|
51
|
-
style={dynamicInlineProps}
|
52
50
|
>
|
53
51
|
{
|
54
52
|
children && children ||
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React, { useEffect } from 'react'
|
2
2
|
import classnames from 'classnames'
|
3
3
|
import { buildAriaProps, buildDataProps, buildHtmlProps } from '../utilities/props'
|
4
|
-
import { globalProps, GlobalProps
|
4
|
+
import { globalProps, GlobalProps } from '../utilities/globalProps'
|
5
5
|
import PbTable from '.'
|
6
6
|
import {
|
7
7
|
TableHead,
|
@@ -64,7 +64,6 @@ const Table = (props: TableProps): React.ReactElement => {
|
|
64
64
|
const spaceCssName = outerPadding !== 'none' ? 'space_' : ''
|
65
65
|
const outerPaddingCss = outerPadding ? `outer_padding_${spaceCssName}${outerPadding}` : ''
|
66
66
|
const isTableTag = tag === 'table'
|
67
|
-
const dynamicInlineProps = globalInlineProps(props)
|
68
67
|
|
69
68
|
const classNames = classnames(
|
70
69
|
'pb_table',
|
@@ -100,7 +99,6 @@ const Table = (props: TableProps): React.ReactElement => {
|
|
100
99
|
{...htmlProps}
|
101
100
|
className={classNames}
|
102
101
|
id={id}
|
103
|
-
style={dynamicInlineProps}
|
104
102
|
>
|
105
103
|
{children}
|
106
104
|
</table>
|
@@ -41,50 +41,3 @@
|
|
41
41
|
}) %>
|
42
42
|
<% end %>
|
43
43
|
<% end %>
|
44
|
-
|
45
|
-
<br /><br /><br />
|
46
|
-
|
47
|
-
<%= pb_rails("timeline", props: {orientation: "vertical", show_date: true}) do %>
|
48
|
-
<%= pb_rails("timeline/item") do |item| %>
|
49
|
-
|
50
|
-
<% item.label do %>
|
51
|
-
<%= pb_rails("timeline/label") do %>
|
52
|
-
<%= pb_rails("title", props: { text: "Any Kit", size: 4 }) %>
|
53
|
-
<% end %>
|
54
|
-
<% end %>
|
55
|
-
|
56
|
-
<% item.step do %>
|
57
|
-
<%= pb_rails("timeline/step", props: { icon: 'user', icon_color: 'royal' }) %>
|
58
|
-
<% end %>
|
59
|
-
|
60
|
-
<% item.detail do %>
|
61
|
-
<%= pb_rails("title_detail", props: {
|
62
|
-
title: "Jackson Heights",
|
63
|
-
detail: "37-27 74th Street"
|
64
|
-
}) %>
|
65
|
-
<% end %>
|
66
|
-
<% end %>
|
67
|
-
|
68
|
-
<%= pb_rails("timeline/item", props: {icon: "map-marker-alt", icon_color: "purple", date: Date.today+1, line_style: "dotted" }) do |item| %>
|
69
|
-
<%= pb_rails("title_detail", props: {
|
70
|
-
title: "Society Hill",
|
71
|
-
detail: "72 E St Astoria"
|
72
|
-
}) %>
|
73
|
-
<% end %>
|
74
|
-
|
75
|
-
<%= pb_rails("timeline/item") do |item| %>
|
76
|
-
|
77
|
-
<% item.step do %>
|
78
|
-
<%= pb_rails("timeline/step") do %>
|
79
|
-
<%= pb_rails("pill", props: { text: "3" , variant: "success" }) %>
|
80
|
-
<% end %>
|
81
|
-
<% end %>
|
82
|
-
|
83
|
-
<% item.detail do %>
|
84
|
-
<%= pb_rails("title_detail", props: {
|
85
|
-
title: "Greenpoint",
|
86
|
-
detail: "81 Gate St Brooklyn"
|
87
|
-
}) %>
|
88
|
-
<% end %>
|
89
|
-
<% end %>
|
90
|
-
<% end %>
|
@@ -62,65 +62,6 @@ const TimelineWithChildren = (props) => (
|
|
62
62
|
</Timeline.Detail>
|
63
63
|
</Timeline.Item>
|
64
64
|
</Timeline>
|
65
|
-
|
66
|
-
<br />
|
67
|
-
<br />
|
68
|
-
<br />
|
69
|
-
|
70
|
-
<Timeline orientation="vertical"
|
71
|
-
showDate
|
72
|
-
{...props}
|
73
|
-
>
|
74
|
-
<Timeline.Item lineStyle="solid"
|
75
|
-
{...props}
|
76
|
-
>
|
77
|
-
<Timeline.Label>
|
78
|
-
<Title size={4}
|
79
|
-
text='Any Kit'
|
80
|
-
/>
|
81
|
-
</Timeline.Label>
|
82
|
-
<Timeline.Step icon="user"
|
83
|
-
iconColor="royal"
|
84
|
-
/>
|
85
|
-
<Timeline.Detail>
|
86
|
-
<TitleDetail detail="37-27 74th Street"
|
87
|
-
title="Jackson Heights"
|
88
|
-
{...props}
|
89
|
-
/>
|
90
|
-
</Timeline.Detail>
|
91
|
-
</Timeline.Item>
|
92
|
-
|
93
|
-
<Timeline.Item lineStyle="dotted"
|
94
|
-
{...props}
|
95
|
-
>
|
96
|
-
<Timeline.Label date={new Date(new Date().setDate(new Date().getDate() + 1))} />
|
97
|
-
<Timeline.Step icon="map-marker-alt"
|
98
|
-
iconColor="purple"
|
99
|
-
/>
|
100
|
-
<Timeline.Detail>
|
101
|
-
<TitleDetail detail="72 E St Astoria"
|
102
|
-
title="Society Hill"
|
103
|
-
{...props}
|
104
|
-
/>
|
105
|
-
</Timeline.Detail>
|
106
|
-
</Timeline.Item>
|
107
|
-
|
108
|
-
<Timeline.Item lineStyle="solid"
|
109
|
-
{...props}
|
110
|
-
>
|
111
|
-
<Timeline.Step>
|
112
|
-
<Pill text="3"
|
113
|
-
variant="success"
|
114
|
-
/>
|
115
|
-
</Timeline.Step>
|
116
|
-
<Timeline.Detail>
|
117
|
-
<TitleDetail detail="81 Gate St Brooklyn"
|
118
|
-
title="Greenpoint"
|
119
|
-
{...props}
|
120
|
-
/>
|
121
|
-
</Timeline.Detail>
|
122
|
-
</Timeline.Item>
|
123
|
-
</Timeline>
|
124
65
|
</div>
|
125
66
|
)
|
126
67
|
|