playbook_ui 14.6.2.pre.alpha.PLAY1613darkdatetimecolors4432 → 14.6.2.pre.alpha.PLAY15814348
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/_playbook.scss +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +1 -8
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +28 -21
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -37
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_custom_cell.jsx +2 -13
- data/app/pb_kits/playbook/pb_card/_card.tsx +3 -2
- data/app/pb_kits/playbook/pb_card/docs/_card_light.jsx +17 -3
- data/app/pb_kits/playbook/pb_date/_date.scss +0 -3
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +7 -8
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +2 -6
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +26 -30
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +1 -24
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +2 -25
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.md +1 -0
- data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +8 -46
- data/app/pb_kits/playbook/pb_timeline/_item.tsx +23 -59
- data/app/pb_kits/playbook/pb_timeline/_timeline.tsx +0 -8
- data/app/pb_kits/playbook/pb_timeline/docs/example.yml +1 -2
- data/app/pb_kits/playbook/pb_timeline/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_timeline/item.html.erb +21 -17
- data/app/pb_kits/playbook/pb_timeline/item.rb +0 -4
- data/app/pb_kits/playbook/pb_timeline/timeline.test.js +0 -84
- data/app/pb_kits/playbook/utilities/_hover.scss +43 -46
- data/app/pb_kits/playbook/utilities/globalPropNames.mjs +0 -1
- data/app/pb_kits/playbook/utilities/globalProps.ts +0 -5
- data/dist/chunks/_typeahead-BtdghxJo.js +22 -0
- data/dist/chunks/_weekday_stacked-D1RoR5CN.js +45 -0
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +1 -4
- 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/hover.rb +1 -4
- data/lib/playbook/kit_base.rb +15 -33
- data/lib/playbook/version.rb +1 -1
- metadata +5 -37
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_rails.md +0 -3
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_react.md +0 -1
- data/app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading.scss +0 -37
- data/app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading.tsx +0 -67
- data/app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading_mixins.scss +0 -40
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.jsx +0 -51
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.md +0 -1
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.jsx +0 -26
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.md +0 -1
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.html.erb +0 -1
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.jsx +0 -11
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.jsx +0 -59
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.md +0 -3
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.jsx +0 -20
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.md +0 -3
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/example.yml +0 -13
- data/app/pb_kits/playbook/pb_skeleton_loading/docs/index.js +0 -5
- data/app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.html.erb +0 -12
- data/app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.rb +0 -8
- data/app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.test.jsx +0 -81
- data/app/pb_kits/playbook/pb_timeline/detail.html.erb +0 -3
- data/app/pb_kits/playbook/pb_timeline/detail.rb +0 -11
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.html.erb +0 -43
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.jsx +0 -68
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.md +0 -2
- data/app/pb_kits/playbook/pb_timeline/label.html.erb +0 -12
- data/app/pb_kits/playbook/pb_timeline/label.rb +0 -13
- data/app/pb_kits/playbook/pb_timeline/step.html.erb +0 -14
- data/app/pb_kits/playbook/pb_timeline/step.rb +0 -16
- data/app/pb_kits/playbook/pb_timeline/subcomponents/Detail.tsx +0 -29
- data/app/pb_kits/playbook/pb_timeline/subcomponents/Label.tsx +0 -38
- data/app/pb_kits/playbook/pb_timeline/subcomponents/Step.tsx +0 -42
- data/app/pb_kits/playbook/pb_timeline/subcomponents/index.tsx +0 -3
- data/dist/chunks/_typeahead-DhLic2Fe.js +0 -22
- data/dist/chunks/_weekday_stacked-Mx8TYP5I.js +0 -45
data/lib/playbook/hover.rb
CHANGED
@@ -4,7 +4,6 @@ module Playbook
|
|
4
4
|
module Hover
|
5
5
|
def self.included(base)
|
6
6
|
base.prop :hover
|
7
|
-
base.prop :group_hover, type: Playbook::Props::Boolean, default: false
|
8
7
|
end
|
9
8
|
|
10
9
|
def hover_options
|
@@ -39,8 +38,7 @@ module Playbook
|
|
39
38
|
|
40
39
|
def hover_props
|
41
40
|
selected_props = hover_options.keys.select { |sk| try(sk) }
|
42
|
-
|
43
|
-
return nil if selected_props.nil? && group_hover.nil?
|
41
|
+
return nil unless selected_props.present?
|
44
42
|
|
45
43
|
responsive = selected_props.present? && try(selected_props.first).is_a?(::Hash)
|
46
44
|
css = ""
|
@@ -60,7 +58,6 @@ module Playbook
|
|
60
58
|
end
|
61
59
|
end
|
62
60
|
|
63
|
-
css += "group_hover " if group_hover
|
64
61
|
css.strip unless css.blank?
|
65
62
|
end
|
66
63
|
end
|
data/lib/playbook/kit_base.rb
CHANGED
@@ -82,6 +82,18 @@ module Playbook
|
|
82
82
|
self
|
83
83
|
end
|
84
84
|
|
85
|
+
def combined_html_options
|
86
|
+
default_html_options.merge(html_options.deep_merge(data_attributes))
|
87
|
+
end
|
88
|
+
|
89
|
+
def global_inline_props
|
90
|
+
{
|
91
|
+
height: height,
|
92
|
+
min_height: min_height,
|
93
|
+
max_height: max_height,
|
94
|
+
}.compact
|
95
|
+
end
|
96
|
+
|
85
97
|
# rubocop:disable Layout/CommentIndentation
|
86
98
|
# pb_content_tag information (potentially to be abstracted into its own dev doc in the future)
|
87
99
|
# The pb_content_tag generates HTML content tags for rails kits with flexible options.
|
@@ -110,34 +122,6 @@ module Playbook
|
|
110
122
|
end
|
111
123
|
# rubocop:enable Style/OptionalBooleanParameter
|
112
124
|
|
113
|
-
def combined_html_options
|
114
|
-
merged = default_html_options.dup
|
115
|
-
|
116
|
-
html_options.each do |key, value|
|
117
|
-
if key == :style && value.is_a?(Hash)
|
118
|
-
# Convert style hash to CSS string
|
119
|
-
merged[:style] = value.map { |k, v| "#{k.to_s.gsub('_', '-')}: #{v}" }.join("; ")
|
120
|
-
else
|
121
|
-
merged[key] = value
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
inline_styles = dynamic_inline_props
|
126
|
-
merged[:style] = if inline_styles.present?
|
127
|
-
merged[:style].present? ? "#{merged[:style]}; #{inline_styles}" : inline_styles
|
128
|
-
end
|
129
|
-
|
130
|
-
merged.deep_merge(data_attributes)
|
131
|
-
end
|
132
|
-
|
133
|
-
def global_inline_props
|
134
|
-
{
|
135
|
-
height: height,
|
136
|
-
min_height: min_height,
|
137
|
-
max_height: max_height,
|
138
|
-
}.compact
|
139
|
-
end
|
140
|
-
|
141
125
|
private
|
142
126
|
|
143
127
|
def default_options
|
@@ -147,10 +131,8 @@ module Playbook
|
|
147
131
|
class: classname,
|
148
132
|
aria: aria,
|
149
133
|
}
|
150
|
-
|
151
134
|
inline_styles = dynamic_inline_props
|
152
|
-
options[:style] = inline_styles if inline_styles.present?
|
153
|
-
|
135
|
+
options[:style] = inline_styles if inline_styles.present?
|
154
136
|
options
|
155
137
|
end
|
156
138
|
|
@@ -166,8 +148,8 @@ module Playbook
|
|
166
148
|
end
|
167
149
|
|
168
150
|
def dynamic_inline_props
|
169
|
-
styles = global_inline_props.map { |key, value| "#{key.to_s.gsub('_', '-')}: #{value}" if value.present? }.compact
|
170
|
-
styles.join("
|
151
|
+
styles = global_inline_props.map { |key, value| "#{key.to_s.gsub('_', '-')}: #{value};" if value.present? }.compact
|
152
|
+
styles.join(" ").presence
|
171
153
|
end
|
172
154
|
end
|
173
155
|
end
|
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: 14.6.2.pre.alpha.
|
4
|
+
version: 14.6.2.pre.alpha.PLAY15814348
|
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: 2024-11-
|
12
|
+
date: 2024-11-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -1385,8 +1385,7 @@ files:
|
|
1385
1385
|
- app/pb_kits/playbook/pb_form_pill/docs/_form_pill_tag.jsx
|
1386
1386
|
- app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb
|
1387
1387
|
- app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx
|
1388
|
-
- app/pb_kits/playbook/pb_form_pill/docs/
|
1389
|
-
- app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text_react.md
|
1388
|
+
- app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.md
|
1390
1389
|
- app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.html.erb
|
1391
1390
|
- app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.jsx
|
1392
1391
|
- app/pb_kits/playbook/pb_form_pill/docs/example.yml
|
@@ -2433,24 +2432,6 @@ files:
|
|
2433
2432
|
- app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js
|
2434
2433
|
- app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb
|
2435
2434
|
- app/pb_kits/playbook/pb_selectable_list/selectable_list_item.rb
|
2436
|
-
- app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading.scss
|
2437
|
-
- app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading.tsx
|
2438
|
-
- app/pb_kits/playbook/pb_skeleton_loading/_skeleton_loading_mixins.scss
|
2439
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.jsx
|
2440
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_border_radius.md
|
2441
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.jsx
|
2442
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_color.md
|
2443
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.html.erb
|
2444
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_default.jsx
|
2445
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.jsx
|
2446
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_height_width.md
|
2447
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.jsx
|
2448
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/_skeleton_loading_layout.md
|
2449
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/example.yml
|
2450
|
-
- app/pb_kits/playbook/pb_skeleton_loading/docs/index.js
|
2451
|
-
- app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.html.erb
|
2452
|
-
- app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.rb
|
2453
|
-
- app/pb_kits/playbook/pb_skeleton_loading/skeleton_loading.test.jsx
|
2454
2435
|
- app/pb_kits/playbook/pb_source/_source.scss
|
2455
2436
|
- app/pb_kits/playbook/pb_source/_source.tsx
|
2456
2437
|
- app/pb_kits/playbook/pb_source/docs/_description.md
|
@@ -2757,16 +2738,11 @@ files:
|
|
2757
2738
|
- app/pb_kits/playbook/pb_timeline/_item.tsx
|
2758
2739
|
- app/pb_kits/playbook/pb_timeline/_timeline.scss
|
2759
2740
|
- app/pb_kits/playbook/pb_timeline/_timeline.tsx
|
2760
|
-
- app/pb_kits/playbook/pb_timeline/detail.html.erb
|
2761
|
-
- app/pb_kits/playbook/pb_timeline/detail.rb
|
2762
2741
|
- app/pb_kits/playbook/pb_timeline/docs/_description.md
|
2763
2742
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_default.html.erb
|
2764
2743
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_default.jsx
|
2765
2744
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.html.erb
|
2766
2745
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.jsx
|
2767
|
-
- app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.html.erb
|
2768
|
-
- app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.jsx
|
2769
|
-
- app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.md
|
2770
2746
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.html.erb
|
2771
2747
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.jsx
|
2772
2748
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.md
|
@@ -2774,14 +2750,6 @@ files:
|
|
2774
2750
|
- app/pb_kits/playbook/pb_timeline/docs/index.js
|
2775
2751
|
- app/pb_kits/playbook/pb_timeline/item.html.erb
|
2776
2752
|
- app/pb_kits/playbook/pb_timeline/item.rb
|
2777
|
-
- app/pb_kits/playbook/pb_timeline/label.html.erb
|
2778
|
-
- app/pb_kits/playbook/pb_timeline/label.rb
|
2779
|
-
- app/pb_kits/playbook/pb_timeline/step.html.erb
|
2780
|
-
- app/pb_kits/playbook/pb_timeline/step.rb
|
2781
|
-
- app/pb_kits/playbook/pb_timeline/subcomponents/Detail.tsx
|
2782
|
-
- app/pb_kits/playbook/pb_timeline/subcomponents/Label.tsx
|
2783
|
-
- app/pb_kits/playbook/pb_timeline/subcomponents/Step.tsx
|
2784
|
-
- app/pb_kits/playbook/pb_timeline/subcomponents/index.tsx
|
2785
2753
|
- app/pb_kits/playbook/pb_timeline/timeline.html.erb
|
2786
2754
|
- app/pb_kits/playbook/pb_timeline/timeline.rb
|
2787
2755
|
- app/pb_kits/playbook/pb_timeline/timeline.test.js
|
@@ -3151,8 +3119,8 @@ files:
|
|
3151
3119
|
- app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
|
3152
3120
|
- app/pb_kits/playbook/utilities/text.ts
|
3153
3121
|
- app/pb_kits/playbook/utilities/validEmojiChecker.ts
|
3154
|
-
- dist/chunks/_typeahead-
|
3155
|
-
- dist/chunks/_weekday_stacked-
|
3122
|
+
- dist/chunks/_typeahead-BtdghxJo.js
|
3123
|
+
- dist/chunks/_weekday_stacked-D1RoR5CN.js
|
3156
3124
|
- dist/chunks/lazysizes-B7xYodB-.js
|
3157
3125
|
- dist/chunks/lib-D-mTv-kp.js
|
3158
3126
|
- dist/chunks/pb_form_validation-BkWGwJsl.js
|
@@ -1,3 +0,0 @@
|
|
1
|
-
For Form Pills with longer text, the truncate global prop can be used to truncate the label within each Form Pill. See [here](https://playbook.powerapp.cloud/visual_guidelines/truncate) for more information on the truncate global prop.
|
2
|
-
|
3
|
-
__NOTE__: For Rails Form Pills (not ones embedded within a React-rendered Typeahead or MultiLevelSelect), a unique `id` is required to enable the Tooltip functionality displaying the text or tag section of the Form Pill.
|
@@ -1 +0,0 @@
|
|
1
|
-
For Form Pills with longer text, the `truncate` global prop can be used to truncate the label within each Form Pill. Hover over the truncated Form Pill and a Tooltip containing the text or tag section of the Form Pill will appear. See [here](https://playbook.powerapp.cloud/visual_guidelines/truncate) for more information on the truncate global prop.
|
@@ -1,37 +0,0 @@
|
|
1
|
-
@import 'skeleton_loading_mixins';
|
2
|
-
|
3
|
-
.pb_skeleton_loading {
|
4
|
-
display: "flex";
|
5
|
-
flex-direction: "column";
|
6
|
-
height: 100%;
|
7
|
-
.color_default {
|
8
|
-
@include skeleton-shimmer($silver);
|
9
|
-
}
|
10
|
-
.color_white {
|
11
|
-
@include skeleton-shimmer-light($white);
|
12
|
-
}
|
13
|
-
.dark {
|
14
|
-
@include skeleton-shimmer($border_dark);
|
15
|
-
}
|
16
|
-
.gap_xxs {
|
17
|
-
margin-top: 4px;
|
18
|
-
}
|
19
|
-
.gap_xs {
|
20
|
-
margin-top: 8px;
|
21
|
-
}
|
22
|
-
.gap_sm {
|
23
|
-
margin-top: 16px;
|
24
|
-
}
|
25
|
-
.gap_md {
|
26
|
-
margin-top: 24px;
|
27
|
-
}
|
28
|
-
.gap_lg {
|
29
|
-
margin-top: 32px;
|
30
|
-
}
|
31
|
-
.gap_xl {
|
32
|
-
margin-top: 40px;
|
33
|
-
}
|
34
|
-
.gap_xxl {
|
35
|
-
margin-top: 48px;
|
36
|
-
}
|
37
|
-
}
|
@@ -1,67 +0,0 @@
|
|
1
|
-
|
2
|
-
import React from 'react'
|
3
|
-
import classnames from 'classnames'
|
4
|
-
import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props'
|
5
|
-
import { globalProps, GlobalProps } from '../utilities/globalProps'
|
6
|
-
import { Sizes } from '../types'
|
7
|
-
|
8
|
-
|
9
|
-
type SkeletonLoadingProps = {
|
10
|
-
aria?: { [key: string]: string },
|
11
|
-
className?: string,
|
12
|
-
data?: { [key: string]: string },
|
13
|
-
id?: string,
|
14
|
-
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
15
|
-
height?: string,
|
16
|
-
width?: string,
|
17
|
-
borderRadius?: string,
|
18
|
-
gap?: Sizes | "none",
|
19
|
-
stack?: number,
|
20
|
-
color?: "default" | "white",
|
21
|
-
dark?: boolean,
|
22
|
-
} & GlobalProps
|
23
|
-
|
24
|
-
const SkeletonLoading = (props: SkeletonLoadingProps): React.ReactElement => {
|
25
|
-
const {
|
26
|
-
aria = {},
|
27
|
-
className,
|
28
|
-
data = {},
|
29
|
-
id,
|
30
|
-
htmlOptions = {},
|
31
|
-
height = "16px",
|
32
|
-
width = "100%",
|
33
|
-
borderRadius = "sm",
|
34
|
-
gap = "xxs",
|
35
|
-
stack = 1,
|
36
|
-
color = "default",
|
37
|
-
dark = false,
|
38
|
-
} = props
|
39
|
-
|
40
|
-
const ariaProps = buildAriaProps(aria)
|
41
|
-
const dataProps = buildDataProps(data)
|
42
|
-
const htmlProps = buildHtmlProps(htmlOptions)
|
43
|
-
const skeletonContainerCss = classnames(buildCss('pb_skeleton_loading'), globalProps(props), className)
|
44
|
-
const gapClass = gap !== 'none' ? `gap_${gap}` : ''
|
45
|
-
const innerSkeletonCss = classnames(`border_radius_${borderRadius}`,`color_${color}`, dark && 'dark', )
|
46
|
-
const innerSizeStyle = { height, width }
|
47
|
-
|
48
|
-
return (
|
49
|
-
<div
|
50
|
-
{...ariaProps}
|
51
|
-
{...dataProps}
|
52
|
-
{...htmlProps}
|
53
|
-
className={skeletonContainerCss}
|
54
|
-
id={id}
|
55
|
-
>
|
56
|
-
{Array.from({ length: Number(stack) }).map((_, index) => (
|
57
|
-
<div
|
58
|
-
className={classnames(buildCss('pb_skeleton_loading_item'), innerSkeletonCss, index > 0 && gapClass)}
|
59
|
-
key={index}
|
60
|
-
style={innerSizeStyle}
|
61
|
-
/>
|
62
|
-
))}
|
63
|
-
</div>
|
64
|
-
)
|
65
|
-
}
|
66
|
-
|
67
|
-
export default SkeletonLoading
|
@@ -1,40 +0,0 @@
|
|
1
|
-
// Animation
|
2
|
-
@keyframes wave {
|
3
|
-
0% {
|
4
|
-
background-position: -468px 0;
|
5
|
-
}
|
6
|
-
100% {
|
7
|
-
background-position: 468px 0;
|
8
|
-
}
|
9
|
-
}
|
10
|
-
|
11
|
-
// Shimmer animation and gradient mixin based on color
|
12
|
-
@mixin skeleton-shimmer($color) {
|
13
|
-
background: $color;
|
14
|
-
background-color: $color;
|
15
|
-
background-image: linear-gradient(
|
16
|
-
to left,
|
17
|
-
$color 0%,
|
18
|
-
lighten($color, 1%) 50%,
|
19
|
-
lighten($color, 1%) 60%,
|
20
|
-
$color 80%,
|
21
|
-
$color 100%
|
22
|
-
);
|
23
|
-
background-repeat: no-repeat;
|
24
|
-
animation: wave 1.5s linear infinite forwards;
|
25
|
-
}
|
26
|
-
|
27
|
-
@mixin skeleton-shimmer-light($color) {
|
28
|
-
background: $color;
|
29
|
-
background-color: $color;
|
30
|
-
background-image: linear-gradient(
|
31
|
-
to left,
|
32
|
-
$color 0%,
|
33
|
-
darken($color, 1%) 50%,
|
34
|
-
darken($color, 1%) 60%,
|
35
|
-
$color 80%,
|
36
|
-
$color 100%
|
37
|
-
);
|
38
|
-
background-repeat: no-repeat;
|
39
|
-
animation: wave 1.5s linear infinite forwards;
|
40
|
-
}
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { Flex, SkeletonLoading } from "playbook-ui"
|
3
|
-
|
4
|
-
|
5
|
-
const SkeletonLoadingBorderRadius = (props) => (
|
6
|
-
<Flex justify="evenly">
|
7
|
-
<SkeletonLoading
|
8
|
-
borderRadius="rounded"
|
9
|
-
height="50px"
|
10
|
-
width="100px"
|
11
|
-
{...props}
|
12
|
-
/>
|
13
|
-
<SkeletonLoading
|
14
|
-
borderRadius="xl"
|
15
|
-
height="50px"
|
16
|
-
width="100px"
|
17
|
-
{...props}
|
18
|
-
/>
|
19
|
-
<SkeletonLoading
|
20
|
-
borderRadius="lg"
|
21
|
-
height="50px"
|
22
|
-
width="100px"
|
23
|
-
{...props}
|
24
|
-
/>
|
25
|
-
<SkeletonLoading
|
26
|
-
borderRadius="md"
|
27
|
-
height="50px"
|
28
|
-
width="100px"
|
29
|
-
{...props}
|
30
|
-
/>
|
31
|
-
<SkeletonLoading
|
32
|
-
height="50px"
|
33
|
-
width="100px"
|
34
|
-
{...props}
|
35
|
-
/>
|
36
|
-
<SkeletonLoading
|
37
|
-
borderRadius="xs"
|
38
|
-
height="50px"
|
39
|
-
width="100px"
|
40
|
-
{...props}
|
41
|
-
/>
|
42
|
-
<SkeletonLoading
|
43
|
-
borderRadius="none"
|
44
|
-
height="50px"
|
45
|
-
width="100px"
|
46
|
-
{...props}
|
47
|
-
/>
|
48
|
-
</Flex>
|
49
|
-
)
|
50
|
-
|
51
|
-
export default SkeletonLoadingBorderRadius
|
@@ -1 +0,0 @@
|
|
1
|
-
The `borderRadius` prop accepts all of our [BorderRadius](https://playbook.powerapp.cloud/visual_guidelines/border_radius) tokens, with `sm` as default.
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { Card, SkeletonLoading } from "playbook-ui"
|
3
|
-
|
4
|
-
|
5
|
-
const SkeletonLoadingColor = (props) => (
|
6
|
-
<div>
|
7
|
-
<Card
|
8
|
-
borderNone
|
9
|
-
{...props}
|
10
|
-
>
|
11
|
-
<SkeletonLoading {...props}/>
|
12
|
-
</Card>
|
13
|
-
<Card
|
14
|
-
background="light"
|
15
|
-
borderNone
|
16
|
-
{...props}
|
17
|
-
>
|
18
|
-
<SkeletonLoading
|
19
|
-
color="white"
|
20
|
-
{...props}
|
21
|
-
/>
|
22
|
-
</Card>
|
23
|
-
</div>
|
24
|
-
)
|
25
|
-
|
26
|
-
export default SkeletonLoadingColor
|
@@ -1 +0,0 @@
|
|
1
|
-
The SkeletonLoading component has a default and a white `color` variant.
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= pb_rails("skeleton_loading") %>
|
@@ -1,59 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { Card, SkeletonLoading } from "playbook-ui"
|
3
|
-
|
4
|
-
|
5
|
-
const SkeletonLoadingHeightWidth = (props) => (
|
6
|
-
<div>
|
7
|
-
<SkeletonLoading
|
8
|
-
height="100px"
|
9
|
-
width="50%"
|
10
|
-
{...props}
|
11
|
-
/>
|
12
|
-
<SkeletonLoading
|
13
|
-
gap="md"
|
14
|
-
height="20px"
|
15
|
-
marginY="md"
|
16
|
-
stack="3"
|
17
|
-
width="50px"
|
18
|
-
{...props}
|
19
|
-
/>
|
20
|
-
<Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
|
21
|
-
marginBottom="md"
|
22
|
-
padding="none"
|
23
|
-
>
|
24
|
-
<SkeletonLoading
|
25
|
-
borderRadius="md"
|
26
|
-
gap="xl"
|
27
|
-
height="50%"
|
28
|
-
width="300px"
|
29
|
-
{...props}
|
30
|
-
/>
|
31
|
-
</Card>
|
32
|
-
<Card htmlOptions={{ style: { height: '200px', width: '100%' }}}
|
33
|
-
padding="none"
|
34
|
-
>
|
35
|
-
<SkeletonLoading
|
36
|
-
borderRadius="md"
|
37
|
-
gap="xl"
|
38
|
-
height="30%"
|
39
|
-
stack="2"
|
40
|
-
width="70%"
|
41
|
-
{...props}
|
42
|
-
/>
|
43
|
-
</Card>
|
44
|
-
<SkeletonLoading
|
45
|
-
height="150px"
|
46
|
-
marginY="md"
|
47
|
-
width="150px"
|
48
|
-
{...props}
|
49
|
-
/>
|
50
|
-
<SkeletonLoading
|
51
|
-
borderRadius="rounded"
|
52
|
-
height="150px"
|
53
|
-
width="150px"
|
54
|
-
{...props}
|
55
|
-
/>
|
56
|
-
</div>
|
57
|
-
)
|
58
|
-
|
59
|
-
export default SkeletonLoadingHeightWidth
|
@@ -1,3 +0,0 @@
|
|
1
|
-
The `height` and `width` props accept pixel and percentage values. If using a percentage for `height`, the parent container must have a set height.
|
2
|
-
|
3
|
-
Set the `height` and `width` props to the same value to make a square. A `rounded` borderRadius will make a square a circle. If using percentages to make a square, your parent container must also be a square.
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
import { SkeletonLoading } from "playbook-ui"
|
3
|
-
|
4
|
-
|
5
|
-
const SkeletonLoadingLayout = (props) => (
|
6
|
-
<div>
|
7
|
-
<SkeletonLoading
|
8
|
-
stack="5"
|
9
|
-
{...props}
|
10
|
-
/>
|
11
|
-
<SkeletonLoading
|
12
|
-
gap="md"
|
13
|
-
paddingTop="xl"
|
14
|
-
stack="3"
|
15
|
-
{...props}
|
16
|
-
/>
|
17
|
-
</div>
|
18
|
-
)
|
19
|
-
|
20
|
-
export default SkeletonLoadingLayout
|
@@ -1,3 +0,0 @@
|
|
1
|
-
Use the `stack` and `gap` props in conjunction to layer multiple Skeleton loading bars on top of each other.
|
2
|
-
|
3
|
-
`stack` accepts a number that correlates to the number of rows (1 is default), and `gap` accepts a portion of our [spacing props](https://playbook.powerapp.cloud/visual_guidelines/spacing) (`xxs` as default, `xs`, `sm`, `md`, `lg`, `xl`, `xxl`) to set the pixel distance between each row. `gap` will not do anything if there is no corresponding `stack` prop set.
|
@@ -1,13 +0,0 @@
|
|
1
|
-
examples:
|
2
|
-
|
3
|
-
rails:
|
4
|
-
# - skeleton_loading_default: Default
|
5
|
-
|
6
|
-
|
7
|
-
react:
|
8
|
-
- skeleton_loading_default: Default
|
9
|
-
- skeleton_loading_color: Color
|
10
|
-
- skeleton_loading_layout: Layout
|
11
|
-
- skeleton_loading_border_radius: Border Radius
|
12
|
-
- skeleton_loading_height_width: Height & Width
|
13
|
-
|
@@ -1,5 +0,0 @@
|
|
1
|
-
export { default as SkeletonLoadingDefault } from './_skeleton_loading_default.jsx'
|
2
|
-
export { default as SkeletonLoadingColor } from './_skeleton_loading_color.jsx'
|
3
|
-
export { default as SkeletonLoadingLayout } from './_skeleton_loading_layout.jsx'
|
4
|
-
export { default as SkeletonLoadingBorderRadius } from './_skeleton_loading_border_radius.jsx'
|
5
|
-
export { default as SkeletonLoadingHeightWidth } from './_skeleton_loading_height_width.jsx'
|
@@ -1,12 +0,0 @@
|
|
1
|
-
<!-- Go to pb_content_tag definition in kit_base.rb for usage information. Commented out options are default (showing the default shape), and each can be deleted if not customizing that param. -->
|
2
|
-
<!-- If using nonstandard params please un-comment out and replace with your custom params. -->
|
3
|
-
<%= pb_content_tag(
|
4
|
-
# :div,
|
5
|
-
# aria: object.aria,
|
6
|
-
# class: object.classname,
|
7
|
-
# data: object.data,
|
8
|
-
# id: object.id,
|
9
|
-
# **combined_html_options
|
10
|
-
) do %>
|
11
|
-
<span>SKELETON_LOADING CONTENT</span>
|
12
|
-
<% end %>
|