PluginProbe ʕ •ᴥ•ʔ
VK Blocks / 1.126.2
VK Blocks v1.126.2
1.126.4 1.126.3 1.126.1 1.126.2 1.126.0 1.125.0 1.124.0 1.123.0 1.122.0 1.121.0 1.120.0 1.119.2 1.119.1 1.119.0 1.118.7 1.82.0.0 1.82.0.1 1.83.0.0 1.83.0.1 1.84.0.0 1.84.0.1 1.85.0.2 1.85.0.3 1.85.1.0 1.85.1.1 1.86.0.0 1.86.0.1 1.86.1.0 1.87.0.0 1.87.0.1 1.88.0.1 1.88.0.2 1.89.0.0 1.9.2 1.90.0.0 1.90.0.1 1.90.1.1 1.91.0.0 1.91.1.1 1.92.0.0 1.92.0.1 1.92.1.0 1.92.1.1 1.93.0.0 trunk 1.93.0.1 0.1.1 1.93.1.0 0.10.3 1.93.1.1 0.11.0 1.94.0.0 0.12.6 1.94.0.1 0.15.1 1.94.1.0 0.16.2 1.94.2.1 0.17.6 1.94.2.2 0.2.2 1.95.0.3 0.22.4 1.95.0.4 0.26.7 1.96.2.0 0.3.2 1.96.2.1 0.31.0 1.97.0.1 0.35.5 1.97.0.2 0.37.5 1.99.0.0 0.38.8 1.99.0.1 0.39.4 0.4.7 0.41.0 0.42.0 0.44.13 0.45.2 0.46.1 0.47.0 0.48.0 0.49.8 0.5.2 0.50.3 0.51.0 0.52.2 0.53.2 0.54.0 0.55.0 0.56.2 0.56.3 0.57.6 0.58.10 0.59.0 0.6.0 0.60.1 0.61.2 0.7.1 0.8.2 1.0.16 1.10.0 1.100.0.0 1.100.0.1 1.102.0.0 1.102.0.1 1.103.0.0 1.104.0.0 1.104.0.1 1.105.1.0 1.105.1.1 1.106.0.0 1.106.0.1 1.107.0.0 1.107.0.1 1.107.0.2 1.108.0.0 1.108.0.1 1.109.0.0 1.109.0.1 1.11.4 1.110.0.0 1.110.0.1 1.111.0.0 1.111.0.1 1.111.0.2 1.112.0.0 1.112.0.1 1.113.0.0 1.113.0.1 1.114.0.0 1.114.0.1 1.114.2.0 1.114.2.1 1.115.0.0 1.115.0.1 1.115.1.0 1.115.1.1 1.115.2.0 1.115.2.1 1.116.0.0 1.116.0.1 1.116.1.0 1.116.1.1 1.116.2.0 1.117.0.0 1.117.0.1 1.117.1.0 1.118.2 1.118.5 1.12.0 1.13.2 1.14.1 1.15.1 1.16.11 1.17.0 1.18.6 1.19.0 1.19.1 1.2.3 1.20.7 1.21.0 1.22.4 1.23.0 1.24.5 1.25.1 1.26.2 1.27.7.2 1.28.0.1 1.29.2.0 1.3.9 1.30.0.1 1.31.0.1 1.32.0.2 1.33.2.1 1.36.1.5 1.37.0.0 1.39.2.1 1.4.6 1.40.0.1 1.40.1.0 1.40.1.1 1.41.0.0 1.41.0.1 1.41.2.2 1.41.2.3 1.43.0.0 1.43.0.1 1.43.0.2 1.44.0.0 1.44.0.1 1.45.0.0 1.45.0.1 1.46.0.0 1.46.0.1 1.47.0.0 1.47.0.1 1.47.1.0 1.48.0.0 1.48.0.1 1.48.0.2 1.48.1.0 1.48.1.1 1.5.0 1.50.0.0 1.50.0.1 1.51.0.0 1.51.0.1 1.52.0.0 1.52.0.1 1.53.0.0 1.53.0.1 1.54.0.0 1.54.0.1 1.55.0.0 1.55.0.1 1.56.0.0 1.56.0.1 1.57.0.0 1.57.0.2 1.57.0.3 1.57.0.4 1.57.0.5 1.57.1.0 1.57.1.1 1.57.1.2 1.58.0.0 1.58.0.1 1.59.0.0 1.59.0.1 1.6.0 1.60.0.0 1.60.0.1 1.63.0.0 1.63.0.1 1.64.0.0 1.64.0.1 1.64.1.0 1.64.1.2 1.67.0.0 1.67.0.1 1.68.0.0 1.68.0.1 1.69.0.0 1.69.0.1 1.69.1.1 1.69.1.2 1.7.1 1.70.0.0 1.70.0.1 1.71.0.0 1.71.0.1 1.72.0.0 1.72.1.0 1.72.1.1 1.73.0.0 1.73.0.1 1.74.0.0 1.74.0.1 1.75.0.0 1.75.1.0 1.75.1.1 1.76.0.0 1.76.0.1 1.76.1.0 1.76.1.1 1.76.2.0 1.76.2.1 1.77.0.0 1.77.0.1 1.78.0.0 1.78.0.1 1.79.0.0 1.79.0.1 1.79.0.2 1.79.0.3 1.79.1.0 1.79.1.1 1.8.2 1.80.1.0 1.80.1.1 1.80.1.2 1.81.0.1 1.81.0.2
vk-blocks / src / blocks / slider / save.js
vk-blocks / src / blocks / slider Last commit date
deprecated 2 weeks ago block.json 2 months ago edit-multiItem.js 2 months ago edit-slider.js 2 months ago edit.js 1 month ago icon.svg 3 months ago index.js 2 weeks ago index.php 3 months ago loop-min-slides.js 3 months ago pause-button.js 1 month ago save.js 2 weeks ago style.scss 3 months ago view.js 2 weeks ago
save.js
118 lines
1 import { InnerBlocks, useBlockProps } from '@wordpress/block-editor';
2 import { PauseButton } from './pause-button';
3
4 export default function save({ attributes }) {
5 const {
6 pagination,
7 blockId,
8 width,
9 autoPlay,
10 autoPlayStop,
11 autoPlayDelay,
12 pauseButton,
13 loop,
14 effect,
15 speed,
16 slidesPerViewMobile,
17 slidesPerViewTablet,
18 slidesPerViewPC,
19 slidesPerGroup,
20 navigationPosition,
21 centeredSlides,
22 zoomAnimation,
23 zoomInitialScale,
24 zoomFinalScale,
25 direction,
26 } = attributes;
27
28 const sliderData = {
29 autoPlay,
30 autoPlayStop,
31 autoPlayDelay,
32 pauseButton,
33 pagination,
34 width,
35 loop,
36 effect,
37 speed,
38 direction,
39 slidesPerViewMobile,
40 slidesPerViewTablet,
41 slidesPerViewPC,
42 slidesPerGroup,
43 centeredSlides,
44 zoomAnimation,
45 zoomInitialScale,
46 zoomFinalScale,
47 blockId,
48 };
49
50 let alignClass = '';
51 if ('full' === width) {
52 alignClass = ' alignfull';
53 } else if ('wide' === width) {
54 alignClass = ' alignwide';
55 }
56
57 // ページネーションの HTML
58 let pagination_html = '';
59 if (pagination !== 'hide') {
60 pagination_html = (
61 <div
62 className={`swiper-pagination swiper-pagination-${pagination}`}
63 ></div>
64 );
65 }
66
67 // ナビゲーションの HTML
68 let navigation_next_html = '';
69 let navigation_prev_html = '';
70 if (navigationPosition !== 'hide') {
71 navigation_next_html = (
72 <div
73 className={`swiper-button-next swiper-button-${navigationPosition}`}
74 ></div>
75 );
76 navigation_prev_html = (
77 <div
78 className={`swiper-button-prev swiper-button-${navigationPosition}`}
79 ></div>
80 );
81 }
82
83 // `swiper-container` は Swiper v7 以前の旧クラス名。v8 で `swiper` にリネームされ、
84 // 現行の Swiper では参�
85 �されないため出力しない(#3069)。
86 // 旧クラスを含む保存済みコンテンツは deprecated/save/1.124.0 で救済する。
87 // `swiper-container` is the pre-v8 legacy class name (renamed to `swiper` in v8)
88 // and is no longer referenced by Swiper, so it is not emitted anymore (#3069).
89 // Content saved with the legacy class is handled by deprecated/save/1.124.0.
90 const blockProps = useBlockProps.save({
91 className: `swiper vk_slider vk_slider_${blockId}${alignClass}`,
92 });
93
94 // 停止/再生ボタンの HTML(自動再生が有効かつ表示設定が ON の時のみ出力)。
95 // ⚠️ ボタンはスライダーのルート直下に置くこと。view.js が
96 // :scope > .swiper-pause-button で直下のみを検索するため、ラッパーで囲むと
97 // 停止/再生ボタンと「視差効果を減らす」対応が機能しなくなる
98 // (保存出力の変更になるため deprecation も�
99 要になる)。
100 // ⚠️ Keep this button a DIRECT CHILD of the slider root: view.js locates it
101 // with ':scope > .swiper-pause-button', so wrapping it breaks the pause/play
102 // button and the reduced-motion handling (changing the saved markup would
103 // also require a block deprecation).
104 const pause_button_html = autoPlay && pauseButton ? <PauseButton /> : '';
105
106 return (
107 <div {...blockProps} data-vkb-slider={JSON.stringify(sliderData)}>
108 <div className={`swiper-wrapper`}>
109 <InnerBlocks.Content />
110 </div>
111 {navigation_next_html}
112 {navigation_prev_html}
113 {pagination_html}
114 {pause_button_html}
115 </div>
116 );
117 }
118