playbook_ui 14.6.2.pre.alpha.PLAY1613darkdatetimecolors4432 → 14.6.2.pre.alpha.PLAY15814348
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 +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 %>
|