PluginProbe
Block Animations, Motion & Scroll Effects – Ghost Kit / 2.25.0
Block Animations, Motion & Scroll Effects – Ghost Kit v2.25.0
3.7.2 3.7.1 3.7.0 3.6.1 trunk 1.6.3 2.25.0 3.3.0 3.3.1 3.3.2 3.3.3 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.5.0 3.5.1 3.6.0
ghostkit / gutenberg / blocks / progress / save.js

save.js in Block Animations, Motion & Scroll Effects – Ghost Kit 2.25.0, at gutenberg/blocks/progress/save.js

83 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * External dependencies
3 */
4 import classnames from 'classnames/dedupe';
5
6 /**
7 * Internal dependencies
8 */
9 import metadata from './block.json';
10
11 /**
12 * WordPress dependencies
13 */
14 const { applyFilters } = wp.hooks;
15
16 const { Component } = wp.element;
17
18 const { RichText } = wp.blockEditor;
19
20 const { name } = metadata;
21
22 /**
23 * Block Save Class.
24 */
25 class BlockSave extends Component {
26 render() {
27 const { caption, percent, striped, showCount, countPrefix, countSuffix, animateInViewport } =
28 this.props.attributes;
29
30 let className = 'ghostkit-progress';
31
32 className = applyFilters('ghostkit.blocks.className', className, {
33 ...{
34 name,
35 },
36 ...this.props,
37 });
38
39 return (
40 <div className={className}>
41 {!RichText.isEmpty(caption) ? (
42 <div className="ghostkit-progress-caption">
43 <RichText.Content value={caption} />
44 </div>
45 ) : (
46 ''
47 )}
48 {showCount ? (
49 <div className="ghostkit-progress-bar-count" style={{ width: `${percent}%` }}>
50 <div>
51 <span>{countPrefix}</span>
52 <span>{percent}</span>
53 <span>{countSuffix}</span>
54 </div>
55 </div>
56 ) : (
57 ''
58 )}
59 <div
60 className={classnames(
61 'ghostkit-progress-wrap',
62 striped ? 'ghostkit-progress-bar-striped' : ''
63 )}
64 >
65 {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}
66 <div
67 className={classnames(
68 'ghostkit-progress-bar',
69 animateInViewport ? 'ghostkit-count-up' : ''
70 )}
71 role="progressbar"
72 aria-valuenow={percent}
73 aria-valuemin="0"
74 aria-valuemax="100"
75 />
76 </div>
77 </div>
78 );
79 }
80 }
81
82 export default BlockSave;
83